{"version":3,"file":"component---src-pages-browse-tsx-711c96bc7a1b0040ecd1.js","mappings":"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","sources":["webpack://gatsby-starter-typescript-plus/./node_modules/@material-ui/core/esm/Grid/Grid.js","webpack://gatsby-starter-typescript-plus/./src/layouts/browse.tsx","webpack://gatsby-starter-typescript-plus/./src/pages/browse.tsx"],"sourcesContent":["import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\"; // A grid component using the following libs as inspiration.\n//\n// For the implementation:\n// - https://getbootstrap.com/docs/4.3/layout/grid/\n// - https://github.com/kristoferjoseph/flexboxgrid/blob/master/src/css/flexboxgrid.css\n// - https://github.com/roylee0704/react-flexbox-grid\n// - https://material.angularjs.org/latest/layout/introduction\n//\n// Follow this flexbox Guide to better understand the underlying model:\n// - https://css-tricks.com/snippets/css/a-guide-to-flexbox/\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport withStyles from '../styles/withStyles';\nimport requirePropFactory from '../utils/requirePropFactory';\nvar SPACINGS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar GRID_SIZES = ['auto', true, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nfunction generateGrid(globalStyles, theme, breakpoint) {\n var styles = {};\n GRID_SIZES.forEach(function (size) {\n var key = \"grid-\".concat(breakpoint, \"-\").concat(size);\n\n if (size === true) {\n // For the auto layouting\n styles[key] = {\n flexBasis: 0,\n flexGrow: 1,\n maxWidth: '100%'\n };\n return;\n }\n\n if (size === 'auto') {\n styles[key] = {\n flexBasis: 'auto',\n flexGrow: 0,\n maxWidth: 'none'\n };\n return;\n } // Keep 7 significant numbers.\n\n\n var width = \"\".concat(Math.round(size / 12 * 10e7) / 10e5, \"%\"); // Close to the bootstrap implementation:\n // https://github.com/twbs/bootstrap/blob/8fccaa2439e97ec72a4b7dc42ccc1f649790adb0/scss/mixins/_grid.scss#L41\n\n styles[key] = {\n flexBasis: width,\n flexGrow: 0,\n maxWidth: width\n };\n }); // No need for a media query for the first size.\n\n if (breakpoint === 'xs') {\n _extends(globalStyles, styles);\n } else {\n globalStyles[theme.breakpoints.up(breakpoint)] = styles;\n }\n}\n\nfunction getOffset(val) {\n var div = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var parse = parseFloat(val);\n return \"\".concat(parse / div).concat(String(val).replace(String(parse), '') || 'px');\n}\n\nfunction generateGutter(theme, breakpoint) {\n var styles = {};\n SPACINGS.forEach(function (spacing) {\n var themeSpacing = theme.spacing(spacing);\n\n if (themeSpacing === 0) {\n return;\n }\n\n styles[\"spacing-\".concat(breakpoint, \"-\").concat(spacing)] = {\n margin: \"-\".concat(getOffset(themeSpacing, 2)),\n width: \"calc(100% + \".concat(getOffset(themeSpacing), \")\"),\n '& > $item': {\n padding: getOffset(themeSpacing, 2)\n }\n };\n });\n return styles;\n} // Default CSS values\n// flex: '0 1 auto',\n// flexDirection: 'row',\n// alignItems: 'flex-start',\n// flexWrap: 'nowrap',\n// justifyContent: 'flex-start',\n\n\nexport var styles = function styles(theme) {\n return _extends({\n /* Styles applied to the root element. */\n root: {},\n\n /* Styles applied to the root element if `container={true}`. */\n container: {\n boxSizing: 'border-box',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%'\n },\n\n /* Styles applied to the root element if `item={true}`. */\n item: {\n boxSizing: 'border-box',\n margin: '0' // For instance, it's useful when used with a `figure` element.\n\n },\n\n /* Styles applied to the root element if `zeroMinWidth={true}`. */\n zeroMinWidth: {\n minWidth: 0\n },\n\n /* Styles applied to the root element if `direction=\"column\"`. */\n 'direction-xs-column': {\n flexDirection: 'column'\n },\n\n /* Styles applied to the root element if `direction=\"column-reverse\"`. */\n 'direction-xs-column-reverse': {\n flexDirection: 'column-reverse'\n },\n\n /* Styles applied to the root element if `direction=\"row-reverse\"`. */\n 'direction-xs-row-reverse': {\n flexDirection: 'row-reverse'\n },\n\n /* Styles applied to the root element if `wrap=\"nowrap\"`. */\n 'wrap-xs-nowrap': {\n flexWrap: 'nowrap'\n },\n\n /* Styles applied to the root element if `wrap=\"reverse\"`. */\n 'wrap-xs-wrap-reverse': {\n flexWrap: 'wrap-reverse'\n },\n\n /* Styles applied to the root element if `alignItems=\"center\"`. */\n 'align-items-xs-center': {\n alignItems: 'center'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-start\"`. */\n 'align-items-xs-flex-start': {\n alignItems: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignItems=\"flex-end\"`. */\n 'align-items-xs-flex-end': {\n alignItems: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignItems=\"baseline\"`. */\n 'align-items-xs-baseline': {\n alignItems: 'baseline'\n },\n\n /* Styles applied to the root element if `alignContent=\"center\"`. */\n 'align-content-xs-center': {\n alignContent: 'center'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-start\"`. */\n 'align-content-xs-flex-start': {\n alignContent: 'flex-start'\n },\n\n /* Styles applied to the root element if `alignContent=\"flex-end\"`. */\n 'align-content-xs-flex-end': {\n alignContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-between\"`. */\n 'align-content-xs-space-between': {\n alignContent: 'space-between'\n },\n\n /* Styles applied to the root element if `alignContent=\"space-around\"`. */\n 'align-content-xs-space-around': {\n alignContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"center\"`. */\n 'justify-xs-center': {\n justifyContent: 'center'\n },\n\n /* Styles applied to the root element if `justify=\"flex-end\"`. */\n 'justify-xs-flex-end': {\n justifyContent: 'flex-end'\n },\n\n /* Styles applied to the root element if `justify=\"space-between\"`. */\n 'justify-xs-space-between': {\n justifyContent: 'space-between'\n },\n\n /* Styles applied to the root element if `justify=\"space-around\"`. */\n 'justify-xs-space-around': {\n justifyContent: 'space-around'\n },\n\n /* Styles applied to the root element if `justify=\"space-evenly\"`. */\n 'justify-xs-space-evenly': {\n justifyContent: 'space-evenly'\n }\n }, generateGutter(theme, 'xs'), theme.breakpoints.keys.reduce(function (accumulator, key) {\n // Use side effect over immutability for better performance.\n generateGrid(accumulator, theme, key);\n return accumulator;\n }, {}));\n};\nvar Grid = /*#__PURE__*/React.forwardRef(function Grid(props, ref) {\n var _props$alignContent = props.alignContent,\n alignContent = _props$alignContent === void 0 ? 'stretch' : _props$alignContent,\n _props$alignItems = props.alignItems,\n alignItems = _props$alignItems === void 0 ? 'stretch' : _props$alignItems,\n classes = props.classes,\n classNameProp = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n _props$container = props.container,\n container = _props$container === void 0 ? false : _props$container,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'row' : _props$direction,\n _props$item = props.item,\n item = _props$item === void 0 ? false : _props$item,\n _props$justify = props.justify,\n justify = _props$justify === void 0 ? 'flex-start' : _props$justify,\n _props$lg = props.lg,\n lg = _props$lg === void 0 ? false : _props$lg,\n _props$md = props.md,\n md = _props$md === void 0 ? false : _props$md,\n _props$sm = props.sm,\n sm = _props$sm === void 0 ? false : _props$sm,\n _props$spacing = props.spacing,\n spacing = _props$spacing === void 0 ? 0 : _props$spacing,\n _props$wrap = props.wrap,\n wrap = _props$wrap === void 0 ? 'wrap' : _props$wrap,\n _props$xl = props.xl,\n xl = _props$xl === void 0 ? false : _props$xl,\n _props$xs = props.xs,\n xs = _props$xs === void 0 ? false : _props$xs,\n _props$zeroMinWidth = props.zeroMinWidth,\n zeroMinWidth = _props$zeroMinWidth === void 0 ? false : _props$zeroMinWidth,\n other = _objectWithoutProperties(props, [\"alignContent\", \"alignItems\", \"classes\", \"className\", \"component\", \"container\", \"direction\", \"item\", \"justify\", \"lg\", \"md\", \"sm\", \"spacing\", \"wrap\", \"xl\", \"xs\", \"zeroMinWidth\"]);\n\n var className = clsx(classes.root, classNameProp, container && [classes.container, spacing !== 0 && classes[\"spacing-xs-\".concat(String(spacing))]], item && classes.item, zeroMinWidth && classes.zeroMinWidth, direction !== 'row' && classes[\"direction-xs-\".concat(String(direction))], wrap !== 'wrap' && classes[\"wrap-xs-\".concat(String(wrap))], alignItems !== 'stretch' && classes[\"align-items-xs-\".concat(String(alignItems))], alignContent !== 'stretch' && classes[\"align-content-xs-\".concat(String(alignContent))], justify !== 'flex-start' && classes[\"justify-xs-\".concat(String(justify))], xs !== false && classes[\"grid-xs-\".concat(String(xs))], sm !== false && classes[\"grid-sm-\".concat(String(sm))], md !== false && classes[\"grid-md-\".concat(String(md))], lg !== false && classes[\"grid-lg-\".concat(String(lg))], xl !== false && classes[\"grid-xl-\".concat(String(xl))]);\n return /*#__PURE__*/React.createElement(Component, _extends({\n className: className,\n ref: ref\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? void 0 : void 0;\nvar StyledGrid = withStyles(styles, {\n name: 'MuiGrid'\n})(Grid);\n\nif (process.env.NODE_ENV !== 'production') {\n var requireProp = requirePropFactory('Grid');\n StyledGrid.propTypes = _extends({}, StyledGrid.propTypes, {\n alignContent: requireProp('container'),\n alignItems: requireProp('container'),\n direction: requireProp('container'),\n justify: requireProp('container'),\n lg: requireProp('item'),\n md: requireProp('item'),\n sm: requireProp('item'),\n spacing: requireProp('container'),\n wrap: requireProp('container'),\n xs: requireProp('item'),\n zeroMinWidth: requireProp('item')\n });\n}\n\nexport default StyledGrid;","import * as React from 'react';\nimport { Container, Grid, Typography, Paper, IconButton } from '@material-ui/core';\nimport { graphql, useStaticQuery } from 'gatsby';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { defaultLocation, Languages } from '../utils/getAllSupportedLanguages';\nimport FilterSortDialogMobile from '../components/FilterSortDialogMobile';\nimport SearchResultTable from '../components/SearchResultTable';\nimport Seo from '../components/Seo';\nimport FilterSortFields from '../components/FilterSortFields';\nimport { FilterSort, LocationLanguageContextType, BrowseQueryProps } from '../typings';\nimport { filterTemplates } from '../utils/filterTemplates';\nimport { sortTemplates } from '../utils/sortTemplates';\nimport {\n getTemplateCategoryByLocale,\n getCategoriesWithTemplates,\n setLanguageFilterByGeo,\n getDefaultFilters\n} from '../utils/getFilterOptions';\nimport { LocationLanguageContext } from '../contexts/LocationLanguageContext';\nimport { matchesMobile } from '../utils/mediaQuery';\n\nconst BrowseLayout: React.FC = ({ filterQuery, locationState }) => {\n const data = useStaticQuery(\n graphql`\n query BrowseLayoutQuery {\n allStrapiBrowsePage {\n nodes {\n Title\n locale\n }\n }\n allStrapiTemplate(sort: { fields: Title }) {\n nodes {\n id\n published_at\n Title\n Description\n SeoContent\n Keywords\n Author\n Slug\n countries {\n name\n Localizations {\n locale\n localeName\n displayName\n }\n }\n categories {\n name\n }\n trades {\n name\n }\n template_language {\n name\n }\n }\n }\n allStrapiCategories(sort: { fields: rank, order: ASC }) {\n nodes {\n name\n rank\n Localizations {\n displayName\n locale\n localeName\n }\n templates {\n id\n }\n }\n }\n allStrapiTrades {\n nodes {\n name\n Localizations {\n displayName\n locale\n localeName\n }\n templates {\n id\n }\n }\n }\n allStrapiTemplateLanguage {\n nodes {\n Localizations {\n displayName\n locale\n localeName\n }\n name\n templates {\n id\n }\n }\n }\n }\n `\n );\n /** Set state for initial language filter. Default as 'English' */\n const [initialLangFilter, setInitialLangFilter] = React.useState([Languages.English]);\n const initialFilterValues = getDefaultFilters();\n const getInitialFilters = () => {\n if (!filterQuery) return initialFilterValues;\n return {\n filters: {\n language: initialLangFilter ?? [],\n categories: filterQuery.split(':')[0] === 'category' ? [filterQuery.split(':')[1]] : [],\n trades: []\n },\n sort: 'titleasc'\n };\n };\n const initialFilterSortObj: FilterSort = getInitialFilters();\n\n const templates = data.allStrapiTemplate.nodes;\n const [templateResult, setTemplateResult] = React.useState(templates);\n const [filterSortValue, setFilterSortValue] = React.useState(initialFilterSortObj);\n const [isOpenFilterSortDialog, setIsOpenFilterSortDialog] = React.useState(false);\n const locationLanguage = React.useContext(LocationLanguageContext);\n const language: string = locationLanguage?.language ?? Languages.English;\n const country = locationLanguage?.country ?? defaultLocation;\n\n const browsePageContent = data.allStrapiBrowsePage.nodes.find((x: any) => x.locale === language);\n\n // Redirect back to the browse page when 'browse' is clicked\n React.useEffect(() => {\n if (locationState) {\n const defaultFilters = getDefaultFilters(initialLangFilter);\n setFilterSortValue(defaultFilters);\n }\n }, [locationState]);\n\n const categories = getTemplateCategoryByLocale(getCategoriesWithTemplates(data.allStrapiCategories.nodes), language);\n const trades = getTemplateCategoryByLocale(getCategoriesWithTemplates(data.allStrapiTrades.nodes), language);\n const allTemplateLanguages = getTemplateCategoryByLocale(getCategoriesWithTemplates(data.allStrapiTemplateLanguage.nodes), language);\n\n // Trigger to update the language filter value when the country is changed.\n React.useEffect(() => {\n const countryLang = setLanguageFilterByGeo(country, allTemplateLanguages);\n setInitialLangFilter(countryLang);\n filterSortValue.filters.language = countryLang;\n setFilterSortValue(filterSortValue);\n }, [country]);\n\n React.useEffect(() => {\n let tempResult = filterTemplates(templates, filterSortValue.filters);\n tempResult = sortTemplates(tempResult, filterSortValue.sort);\n setTemplateResult([...tempResult]);\n return () => {\n setTemplateResult([]);\n };\n }, [filterSortValue.filters, filterSortValue.sort]);\n\n const openFilterSortDialog = () => {\n setIsOpenFilterSortDialog(true);\n };\n const handleFilterSortDialogClose = (value: any) => {\n if (value) {\n setFilterSortValue(value);\n }\n setIsOpenFilterSortDialog(false);\n };\n const handleFilterSortChange = (filteredValue: FilterSort) => {\n setFilterSortValue(filteredValue);\n };\n const isMobile = matchesMobile();\n if (browsePageContent) {\n return (\n <>\n \n \n \n {isMobile ? null : (\n \n \n \n \n \n )}\n \n
\n \n {browsePageContent.Title}\n \n {isMobile ? (\n \n \n \n ) : null}\n
\n {templateResult ? (\n
\n \n
\n ) : null}\n \n
\n
\n
\n \n );\n }\n\n return null;\n};\nexport default BrowseLayout;\n","import * as React from 'react';\nimport type { PageProps } from 'gatsby';\nimport { LocationState } from '../typings';\nimport BrowseLayout from '../layouts/browse';\n\ninterface ExtendedPageProps extends Omit {\n location: {\n host: string;\n hostname: string;\n href: string;\n port: string;\n protocol: string;\n pathname: string;\n search: string;\n hash: string;\n key?: string | undefined;\n state: LocationState;\n };\n}\n\nconst BrowsePage = (data: ExtendedPageProps) => {\n const { location } = data;\n const { state } = location;\n const browseFilter = new URLSearchParams(location.search).get('filters') || '';\n return ;\n};\n\nexport default BrowsePage;\n"],"names":["SPACINGS","GRID_SIZES","getOffset","val","div","arguments","length","undefined","parse","parseFloat","concat","String","replace","Grid","props","ref","_props$alignContent","alignContent","_props$alignItems","alignItems","classes","classNameProp","className","_props$component","component","Component","_props$container","container","_props$direction","direction","_props$item","item","_props$justify","justify","_props$lg","lg","_props$md","md","_props$sm","sm","_props$spacing","spacing","_props$wrap","wrap","_props$xl","xl","_props$xs","xs","_props$zeroMinWidth","zeroMinWidth","other","root","StyledGrid","theme","boxSizing","display","flexWrap","width","margin","minWidth","flexDirection","justifyContent","breakpoint","styles","forEach","themeSpacing","padding","generateGutter","breakpoints","keys","reduce","accumulator","key","globalStyles","size","Math","round","flexBasis","flexGrow","maxWidth","up","generateGrid","name","filterQuery","locationState","data","useStaticQuery","React","Languages","initialLangFilter","setInitialLangFilter","initialFilterValues","getDefaultFilters","initialFilterSortObj","filters","language","categories","split","trades","sort","templates","allStrapiTemplate","nodes","templateResult","setTemplateResult","filterSortValue","setFilterSortValue","isOpenFilterSortDialog","setIsOpenFilterSortDialog","locationLanguage","LocationLanguageContext","country","defaultLocation","browsePageContent","allStrapiBrowsePage","find","x","locale","defaultFilters","getTemplateCategoryByLocale","getCategoriesWithTemplates","allStrapiCategories","allStrapiTrades","allTemplateLanguages","allStrapiTemplateLanguage","countryLang","setLanguageFilterByGeo","tempResult","filterTemplates","sortTemplates","isMobile","matchesMobile","Seo","title","isTemplatePage","Container","style","marginTop","Paper","FilterSortFields","filterSortObj","onFilterSortChange","filteredValue","isBrowsePage","languages","Typography","marginBottom","fontSize","fontWeight","variant","Title","IconButton","onClick","FilterList","SearchResultTable","searchResults","FilterSortDialogMobile","open","onDialogClose","value","location","state","browseFilter","URLSearchParams","search","get"],"sourceRoot":""}