@blaze-cms/react-page-builder 0.146.0-node18-tooltips.21 → 0.146.0-node18-tooltips.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/components/SearchContent/SearchContent.js +2 -1
  3. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  4. package/lib/components/SearchFilter/SearchFilterContainer.js +1 -1
  5. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  6. package/lib/components/SearchFilter/components/Range.js +1 -1
  7. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  8. package/lib/variants/Infographic/Infographic.js +4 -8
  9. package/lib/variants/Infographic/Infographic.js.map +1 -1
  10. package/lib-es/components/SearchContent/SearchContent.js +2 -1
  11. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  12. package/lib-es/components/SearchFilter/SearchFilterContainer.js +1 -1
  13. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  14. package/lib-es/components/SearchFilter/components/Range.js +1 -1
  15. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  16. package/lib-es/variants/Infographic/Infographic.js +4 -8
  17. package/lib-es/variants/Infographic/Infographic.js.map +1 -1
  18. package/package.json +5 -5
  19. package/src/components/SearchContent/SearchContent.js +2 -1
  20. package/src/components/SearchFilter/SearchFilterContainer.js +1 -1
  21. package/src/components/SearchFilter/components/Range.js +1 -1
  22. package/src/variants/Infographic/Infographic.js +2 -2
  23. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Checkbox.test.js.snap +6 -6
  24. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +10 -4
  25. package/tests/unit/src/variants/Infographic/Infographic.test.js +30 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,33 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.146.0-node18-tooltips.23](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.22...v0.146.0-node18-tooltips.23) (2025-10-20)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * content group variant should render passed props ([#4960](https://github.com/thebyte9/blaze/issues/4960)) ([6c947bb](https://github.com/thebyte9/blaze/commit/6c947bba61283b03185fb6a8865a96b55b8246a6))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.146.0-node18-tooltips.22](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.21...v0.146.0-node18-tooltips.22) (2025-10-17)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * remove anchor links when search filters are applied ([#4957](https://github.com/thebyte9/blaze/issues/4957)) ([a5d4148](https://github.com/thebyte9/blaze/commit/a5d4148d1c122db654fe015f4892359ab0f9963c))
23
+
24
+
25
+ ### Features
26
+
27
+ * update @blaze-react/checkboxes to 0.8.0-alpha.106 ([#4874](https://github.com/thebyte9/blaze/issues/4874)) ([0877a34](https://github.com/thebyte9/blaze/commit/0877a341086ff50d9243e2e2fda05ab2716d949c))
28
+
29
+
30
+
31
+
32
+
6
33
  # [0.146.0-node18-tooltips.21](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.20...v0.146.0-node18-tooltips.21) (2025-10-14)
7
34
 
8
35
 
@@ -98,7 +98,8 @@ var SearchContent = function SearchContent(props) {
98
98
  if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {
99
99
  router.push(results[0].url);
100
100
  } else {
101
- router.push("".concat(searchUrl || '/search', "?search_term=").concat(e.target.value));
101
+ var searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];
102
+ router.push("".concat(searchUrlWithoutHash, "?search_term=").concat(e.target.value));
102
103
  }
103
104
  }
104
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useAppSyncEventHook","useAppSyncEventHook","eventName","returnFunction","runHook","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","queryHook","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchContent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useAppSyncEventHook","useAppSyncEventHook","eventName","returnFunction","runHook","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","queryHook","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","searchUrlWithoutHash","split","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];\n router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
@@ -179,7 +179,7 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
179
179
  setKey("filter-".concat(name, ":").concat(Date.now())); // remove after range component update
180
180
  });
181
181
  }
182
- var hashToUse = hashBit || componentId;
182
+ var hashToUse = componentId;
183
183
  var newUrl = (0, _helpers.buildNewUrl)(url, currentUrl, newQuery, hashToUse);
184
184
  setUrlPath(newUrl);
185
185
  return router.push('/Resolver', newUrl, {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_nextjsComponents","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","_useContext","useContext","MainContext","isPreview","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","concat","_useState2","_slicedToArray2","key","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_useReducer","useReducer","searchFilterReducer","_useReducer2","filterValues","dispatch","_parseUrl","parseUrl","currentUrl","query","updatedQuery","buildListNameQuery","parentId","itemId","parentEntity","itemEntity","useEffect","_parseUrl2","newQuery","updatedNewQuery","newValues","getFilterValues","filterData","shouldSearch","type","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","schemasLoading","loading","_mainSchemas$parentEn","parentSchema","_mainSchemas$entity","filterEntitySchema","_ref2","_ref2$actions","actions","getAction","getPublished","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","length","_useQuery$data","_useQuery$data2","parentData","entityData","parentQueryLoading","_getUpdatedFilterBy","getUpdatedFilterBy","updatedFilterBy","updatedFilterByProperty","action","getSearchPublishedContent","RAW_RESULTS","_getFilterRangesAndCh","getFilterRangesAndCheckboxesValues","_getFilterRangesAndCh2","checkboxSelectValues","rangeValues","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","keys","rawQueryStringified","buildRawQueryStringified","_useQuery2","limit","error","message","_ref3","_ref3$searchPublished","searchPublishedContent","_ref3$searchPublished2","_ref3$searchPublished3","rawResults","_ref3$searchPublished4","aggregations","handleSearch","componentId","getComponentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","buildNewUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","createElement","setAppliedFilters","hasUrl","propTypes","PropTypes","string","array","isRequired","bool","number","object","defaultProps","_default","exports","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery,\n getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashToUse = hashBit || componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["_react","_interopRequireWildcard","require","_nextjsComponents","_router","_client","_propTypes","_interopRequireDefault","_queryString","_SearchFilter","_HOC","_query","_helpers","_helpers2","_constants","_searchFilterReducer","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchFilterContainer","_ref","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","_useContext","useContext","MainContext","isPreview","router","useRouter","asPath","searchFilterRef","useRef","_useState","useState","concat","_useState2","_slicedToArray2","key","setKey","_useState3","_useState4","displaySearchFilter","setDisplaySearchFilter","_useState5","_useState6","urlPath","setUrlPath","_useReducer","useReducer","searchFilterReducer","_useReducer2","filterValues","dispatch","_parseUrl","parseUrl","currentUrl","query","updatedQuery","buildListNameQuery","parentId","itemId","parentEntity","itemEntity","useEffect","_parseUrl2","newQuery","updatedNewQuery","newValues","getFilterValues","filterData","shouldSearch","type","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","schemasLoading","loading","_mainSchemas$parentEn","parentSchema","_mainSchemas$entity","filterEntitySchema","_ref2","_ref2$actions","actions","getAction","getPublished","inheritedFilters","getInheritedFilters","queryProps","getQueryProps","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","length","_useQuery$data","_useQuery$data2","parentData","entityData","parentQueryLoading","_getUpdatedFilterBy","getUpdatedFilterBy","updatedFilterBy","updatedFilterByProperty","action","getSearchPublishedContent","RAW_RESULTS","_getFilterRangesAndCh","getFilterRangesAndCheckboxesValues","_getFilterRangesAndCh2","checkboxSelectValues","rangeValues","_getEntityData","getEntityData","docType","filtersQuery","buildFiltersQuery","queryKeys","keys","rawQueryStringified","buildRawQueryStringified","_useQuery2","limit","error","message","_ref3","_ref3$searchPublished","searchPublishedContent","_ref3$searchPublished2","_ref3$searchPublished3","rawResults","_ref3$searchPublished4","aggregations","handleSearch","componentId","getComponentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","buildNewUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","createElement","setAppliedFilters","hasUrl","propTypes","PropTypes","string","array","isRequired","bool","number","object","defaultProps","_default","exports","withTitle"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery,\n getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashToUse = componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
@@ -106,7 +106,7 @@ var Range = function Range(_ref) {
106
106
  '--unit': "\"".concat(unit, "\"")
107
107
  } : {}
108
108
  }, /*#__PURE__*/_react["default"].createElement(_rangeFilter["default"], {
109
- key: "".concat(rangeOption, "-").concat(minValue, "-").concat(maxValue),
109
+ key: "".concat(rangeOption, "-").concat(min, "-").concat(max),
110
110
  name: rangeOption,
111
111
  label: displayLabel,
112
112
  value: valueToUse,
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_classnames","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_calculateMinMax2","aggMin","aggMax","initValue","getRangeValue","classNames","style","concat","key","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_classnames","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_calculateMinMax2","aggMin","aggMax","initValue","getRangeValue","classNames","style","concat","key","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${min}-${max}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
@@ -6,22 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _react = _interopRequireDefault(require("react"));
10
11
  var _useInfographic2 = _interopRequireDefault(require("./useInfographic"));
11
12
  var Infographic = function Infographic(props) {
12
13
  var _useInfographic = (0, _useInfographic2["default"])(props),
13
14
  contentRef = _useInfographic.contentRef,
14
- id = _useInfographic.id,
15
15
  className = _useInfographic.className,
16
- tabId = _useInfographic.tabId,
17
16
  children = _useInfographic.children;
18
- return /*#__PURE__*/_react["default"].createElement("div", {
17
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, props, {
19
18
  ref: contentRef,
20
- id: id,
21
- className: className,
22
- role: "tabpanel",
23
- "aria-labelledby": tabId
24
- }, children);
19
+ className: className
20
+ }), children);
25
21
  };
26
22
  var _default = exports["default"] = Infographic;
27
23
  //# sourceMappingURL=Infographic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Infographic.js","names":["_react","_interopRequireDefault","require","_useInfographic2","Infographic","props","_useInfographic","useInfographic","contentRef","id","className","tabId","children","createElement","ref","role","_default","exports"],"sources":["../../../src/variants/Infographic/Infographic.js"],"sourcesContent":["import React from 'react';\nimport useInfographic from './useInfographic';\n\nconst Infographic = props => {\n const { contentRef, id, className, tabId, children } = useInfographic(props);\n\n return (\n <div ref={contentRef} id={id} className={className} role=\"tabpanel\" aria-labelledby={tabId}>\n {children}\n </div>\n );\n};\n\nexport default Infographic;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;EAC3B,IAAAC,eAAA,GAAuD,IAAAC,2BAAc,EAACF,KAAK,CAAC;IAApEG,UAAU,GAAAF,eAAA,CAAVE,UAAU;IAAEC,EAAE,GAAAH,eAAA,CAAFG,EAAE;IAAEC,SAAS,GAAAJ,eAAA,CAATI,SAAS;IAAEC,KAAK,GAAAL,eAAA,CAALK,KAAK;IAAEC,QAAQ,GAAAN,eAAA,CAARM,QAAQ;EAElD,oBACEZ,MAAA,YAAAa,aAAA;IAAKC,GAAG,EAAEN,UAAW;IAACC,EAAE,EAAEA,EAAG;IAACC,SAAS,EAAEA,SAAU;IAACK,IAAI,EAAC,UAAU;IAAC,mBAAiBJ;EAAM,GACxFC,QACE,CAAC;AAEV,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEab,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"Infographic.js","names":["_react","_interopRequireDefault","require","_useInfographic2","Infographic","props","_useInfographic","useInfographic","contentRef","className","children","createElement","_extends2","ref","_default","exports"],"sources":["../../../src/variants/Infographic/Infographic.js"],"sourcesContent":["import React from 'react';\nimport useInfographic from './useInfographic';\n\nconst Infographic = props => {\n const { contentRef, className, children } = useInfographic(props);\n\n return (\n <div {...props} ref={contentRef} className={className}>\n {children}\n </div>\n );\n};\n\nexport default Infographic;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;EAC3B,IAAAC,eAAA,GAA4C,IAAAC,2BAAc,EAACF,KAAK,CAAC;IAAzDG,UAAU,GAAAF,eAAA,CAAVE,UAAU;IAAEC,SAAS,GAAAH,eAAA,CAATG,SAAS;IAAEC,QAAQ,GAAAJ,eAAA,CAARI,QAAQ;EAEvC,oBACEV,MAAA,YAAAW,aAAA,YAAAC,SAAA,iBAASP,KAAK;IAAEQ,GAAG,EAAEL,UAAW;IAACC,SAAS,EAAEA;EAAU,IACnDC,QACE,CAAC;AAEV,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,cAEaX,WAAW","ignoreList":[]}
@@ -75,7 +75,8 @@ const SearchContent = props => {
75
75
  if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {
76
76
  router.push(results[0].url);
77
77
  } else {
78
- router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);
78
+ const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];
79
+ router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);
79
80
  }
80
81
  }
81
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","useAppSyncEventHook","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","runHook","eventName","returnFunction","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","queryHook","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","useAppSyncEventHook","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","runHook","eventName","returnFunction","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","queryHook","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","activeElement","querySelector","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","searchUrlWithoutHash","split","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n setSearchTerm('');\n if (\n collapsedSearch &&\n document.activeElement !== searchContentRef.current.querySelector('input')\n ) {\n setCollapsed(true);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];\n router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
@@ -155,7 +155,7 @@ const SearchFilterContainer = ({
155
155
  setKey(`filter-${name}:${Date.now()}`); // remove after range component update
156
156
  });
157
157
  }
158
- const hashToUse = hashBit || componentId;
158
+ const hashToUse = componentId;
159
159
  const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);
160
160
  setUrlPath(newUrl);
161
161
  return router.push('/Resolver', newUrl, {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","getComponentId","RAW_RESULTS","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","filterData","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","handleSearch","componentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery,\n getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashToUse = hashBit || componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useEffect","useRef","useReducer","useContext","MainContext","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","generateSingleItemQuery","buildNewUrl","getFilterValues","getFilterRangesAndCheckboxesValues","getUpdatedFilterBy","buildListNameQuery","getEntityData","getInheritedFilters","getQueryProps","buildRawQueryStringified","buildFiltersQuery","getComponentId","RAW_RESULTS","searchFilterReducer","useGetEntitySchemasAsObj","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","parent","mobileRefineButtonText","isPreview","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","filterValues","dispatch","currentUrl","query","updatedQuery","itemId","parentId","itemEntity","parentEntity","newQuery","updatedNewQuery","newValues","filterData","shouldSearch","type","data","mainSchemas","loading","schemasLoading","parentSchema","filterEntitySchema","actions","getAction","get","getPublished","inheritedFilters","queryProps","entityData","parentData","parentQueryLoading","variables","id","skip","length","updatedFilterBy","updatedFilterByProperty","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","Object","keys","rawQueryStringified","error","limit","message","searchPublishedContent","rawResults","aggregations","handleSearch","componentId","hashBit","split","parsedHashBit","scrollToFirstList","baseUrl","baseQuery","push","shallow","scroll","then","Date","now","hashToUse","newUrl","list","document","getElementById","getElementsByClassName","shouldScrollToFirstList","scrollIntoView","window","scrollTo","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","object","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useReducer, useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { useRouter } from 'next/router';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { parseUrl } from 'query-string';\nimport SearchFilter from './SearchFilter';\nimport { withTitle } from '../../HOC';\nimport { getSearchPublishedContent, generateSingleItemQuery } from '../../application/query';\nimport {\n buildNewUrl,\n getFilterValues,\n getFilterRangesAndCheckboxesValues,\n getUpdatedFilterBy,\n buildListNameQuery\n} from './helpers';\nimport {\n getEntityData,\n getInheritedFilters,\n getQueryProps,\n buildRawQueryStringified,\n buildFiltersQuery,\n getComponentId\n} from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport searchFilterReducer from './searchFilterReducer';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\n\nconst SearchFilterContainer = ({\n entity,\n url,\n filters,\n name,\n isCollapsedOnResponsive,\n groupAfterMobile,\n groupAfterDesktop,\n filterBy,\n filterByProperty,\n shouldAddFilters,\n listComponentName,\n parent,\n mobileRefineButtonText\n}) => {\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const searchFilterRef = useRef(null);\n const [key, setKey] = useState(`filter-${name}`);\n const [displaySearchFilter, setDisplaySearchFilter] = useState(false);\n const [urlPath, setUrlPath] = useState(asPath); // used as asPath can take too long to update\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n const { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = buildListNameQuery(query, listComponentName);\n const { itemId: parentId, itemEntity: parentEntity } = parent;\n\n useEffect(\n () => {\n if (asPath === urlPath) return;\n\n const { query: newQuery } = parseUrl(asPath);\n const updatedNewQuery = buildListNameQuery(newQuery, listComponentName);\n const newValues = getFilterValues(filterData, filters, updatedNewQuery);\n if (newValues)\n dispatch({\n newValues,\n shouldSearch: false,\n type: 'update'\n });\n setUrlPath(asPath);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [asPath]\n );\n\n const { data: mainSchemas = {}, loading: schemasLoading } = useGetEntitySchemasAsObj([\n parentEntity,\n entity\n ]);\n const { [parentEntity]: parentSchema = {}, [entity]: filterEntitySchema = {} } = mainSchemas;\n const { actions = {} } = parentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, parentSchema, filterEntitySchema);\n const { data: { entityData: parentData } = {}, loading: parentQueryLoading } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: parentId },\n skip: schemasLoading || !inheritedFilters.length\n }\n );\n const { updatedFilterBy, updatedFilterByProperty } = getUpdatedFilterBy(\n filterBy,\n filterByProperty,\n parentData\n );\n\n const action = getSearchPublishedContent(RAW_RESULTS);\n const [checkboxSelectValues, rangeValues] = getFilterRangesAndCheckboxesValues(filters);\n\n const { docType } = getEntityData(entity);\n\n const filtersQuery = buildFiltersQuery({\n shouldAddFilters,\n query: filterValues,\n filterBy: updatedFilterBy,\n filterByProperty: updatedFilterByProperty,\n rangeValues,\n queryKeys: Object.keys(updatedQuery)\n });\n\n const rawQueryStringified = buildRawQueryStringified(\n checkboxSelectValues,\n rangeValues,\n docType,\n filtersQuery\n );\n\n const { data, error, loading } = useQuery(action, {\n variables: { rawQueryStringified, limit: 0 }, // we only want aggs so limit=0 for no search results\n skip: !rawQueryStringified || parentQueryLoading\n });\n\n if (error) return error.message;\n if (!filters.length) return null;\n\n const { searchPublishedContent: { rawResults: { aggregations: filterData } = {} } = {} } =\n data || {};\n\n if (!filterValues && !loading && !parentQueryLoading && (filterData || !rawQueryStringified)) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n return null;\n }\n\n const handleSearch = newQuery => {\n const componentId = listComponentName ? getComponentId(listComponentName) : '';\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n let parsedHashBit = hashBit ? `#${hashBit}` : '';\n parsedHashBit = parsedHashBit || (componentId ? `#${componentId}` : '');\n\n scrollToFirstList(componentId);\n if (!newQuery) {\n const baseUrl = url || currentUrl;\n const baseQuery = `${baseUrl}${parsedHashBit}`;\n setUrlPath(baseQuery);\n return router.push('/Resolver', baseQuery, { shallow: !url, scroll: false }).then(() => {\n setKey(`filter-${name}:${Date.now()}`); // remove after range component update\n });\n }\n const hashToUse = componentId;\n const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = componentId => {\n const list = componentId\n ? document.getElementById(componentId)\n : document.getElementsByClassName('list-top')[0];\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n list.scrollIntoView();\n } else {\n window.scrollTo(0, 0);\n }\n };\n\n if (!filterValues) return null;\n\n return (\n <SearchFilter\n key={key}\n setAppliedFilters={dispatch}\n query={updatedQuery}\n listComponentName={listComponentName}\n searchFilterRef={searchFilterRef}\n data={filterData}\n filters={filters}\n hasUrl={!!url}\n entity={entity}\n handleSearch={handleSearch}\n filterValues={filterValues}\n name={name}\n isCollapsedOnResponsive={isCollapsedOnResponsive}\n displaySearchFilter={displaySearchFilter}\n setDisplaySearchFilter={setDisplaySearchFilter}\n groupAfterMobile={groupAfterMobile}\n groupAfterDesktop={groupAfterDesktop}\n mobileRefineButtonText={mobileRefineButtonText}\n />\n );\n};\n\nSearchFilterContainer.propTypes = {\n mobileRefineButtonText: PropTypes.string,\n entity: PropTypes.string,\n url: PropTypes.string,\n filters: PropTypes.array,\n name: PropTypes.string.isRequired,\n isCollapsedOnResponsive: PropTypes.bool,\n groupAfterMobile: PropTypes.number,\n groupAfterDesktop: PropTypes.number,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n shouldAddFilters: PropTypes.bool,\n listComponentName: PropTypes.string,\n parent: PropTypes.object\n};\n\nSearchFilterContainer.defaultProps = {\n url: null,\n filters: [],\n entity: '',\n isCollapsedOnResponsive: true,\n groupAfterMobile: 0,\n groupAfterDesktop: 0,\n filterBy: [],\n filterByProperty: [],\n shouldAddFilters: false,\n listComponentName: '',\n parent: {},\n mobileRefineButtonText: ''\n};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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","ignoreList":[]}
@@ -95,7 +95,7 @@ const Range = ({
95
95
  '--unit': `"${unit}"`
96
96
  } : {}
97
97
  }, /*#__PURE__*/React.createElement(RangeFilter, {
98
- key: `${rangeOption}-${minValue}-${maxValue}`,
98
+ key: `${rangeOption}-${min}-${max}`,
99
99
  name: rangeOption,
100
100
  label: displayLabel,
101
101
  value: valueToUse,
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","classNames","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","aggMin","aggMax","initValue","style","key","name","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","classNames","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","aggMin","aggMax","initValue","style","key","name","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport classNames from 'classnames';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: aggMin, max: aggMax } = calculateMinMax(\n dataAggregations[prop],\n rangeInterval\n );\n const initValue = getRangeValue(null, rangeInterval, aggMin, aggMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <div\n className={classNames('range-filter-wrapper', {\n 'has-unit': unit\n })}\n style={unit ? { '--unit': `\"${unit}\"` } : {}}>\n <RangeFilter\n key={`${rangeOption}-${min}-${max}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </div>\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,16 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import React from 'react';
2
3
  import useInfographic from './useInfographic';
3
4
  const Infographic = props => {
4
5
  const {
5
6
  contentRef,
6
- id,
7
7
  className,
8
- tabId,
9
8
  children
10
9
  } = useInfographic(props);
11
- return /*#__PURE__*/React.createElement("div", {
10
+ return /*#__PURE__*/React.createElement("div", _extends({}, props, {
12
11
  ref: contentRef,
13
- id: id,
14
- className: className,
15
- role: "tabpanel",
16
- "aria-labelledby": tabId
17
- }, children);
12
+ className: className
13
+ }), children);
18
14
  };
19
15
  export default Infographic;
20
16
  //# sourceMappingURL=Infographic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Infographic.js","names":["React","useInfographic","Infographic","props","contentRef","id","className","tabId","children","createElement","ref","role"],"sources":["../../../src/variants/Infographic/Infographic.js"],"sourcesContent":["import React from 'react';\nimport useInfographic from './useInfographic';\n\nconst Infographic = props => {\n const { contentRef, id, className, tabId, children } = useInfographic(props);\n\n return (\n <div ref={contentRef} id={id} className={className} role=\"tabpanel\" aria-labelledby={tabId}>\n {children}\n </div>\n );\n};\n\nexport default Infographic;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IAAEC,UAAU;IAAEC,EAAE;IAAEC,SAAS;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGP,cAAc,CAACE,KAAK,CAAC;EAE5E,oBACEH,KAAA,CAAAS,aAAA;IAAKC,GAAG,EAAEN,UAAW;IAACC,EAAE,EAAEA,EAAG;IAACC,SAAS,EAAEA,SAAU;IAACK,IAAI,EAAC,UAAU;IAAC,mBAAiBJ;EAAM,GACxFC,QACE,CAAC;AAEV,CAAC;AAED,eAAeN,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"Infographic.js","names":["React","useInfographic","Infographic","props","contentRef","className","children","createElement","_extends","ref"],"sources":["../../../src/variants/Infographic/Infographic.js"],"sourcesContent":["import React from 'react';\nimport useInfographic from './useInfographic';\n\nconst Infographic = props => {\n const { contentRef, className, children } = useInfographic(props);\n\n return (\n <div {...props} ref={contentRef} className={className}>\n {children}\n </div>\n );\n};\n\nexport default Infographic;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,WAAW,GAAGC,KAAK,IAAI;EAC3B,MAAM;IAAEC,UAAU;IAAEC,SAAS;IAAEC;EAAS,CAAC,GAAGL,cAAc,CAACE,KAAK,CAAC;EAEjE,oBACEH,KAAA,CAAAO,aAAA,QAAAC,QAAA,KAASL,KAAK;IAAEM,GAAG,EAAEL,UAAW;IAACC,SAAS,EAAEA;EAAU,IACnDC,QACE,CAAC;AAEV,CAAC;AAED,eAAeJ,WAAW","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-node18-tooltips.21",
3
+ "version": "0.146.0-node18-tooltips.23",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,17 +32,17 @@
32
32
  "@blaze-cms/core-errors-ui": "0.146.0-node18-tooltips.0",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.7",
34
34
  "@blaze-cms/nextjs-components": "0.146.0-node18-tooltips.0",
35
- "@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.11",
35
+ "@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.22",
36
36
  "@blaze-cms/setup-ui": "0.146.0-node18-tooltips.0",
37
37
  "@blaze-cms/utils": "0.146.0-node18-tooltips.4",
38
38
  "@blaze-cms/utils-handlebars": "0.146.0-node18-tooltips.0",
39
39
  "@blaze-react/badge": "^0.7.0",
40
40
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
41
41
  "@blaze-react/button": "0.8.0-alpha.82",
42
- "@blaze-react/checkboxes": "0.5.31",
42
+ "@blaze-react/checkboxes": "0.8.0-alpha.112",
43
43
  "@blaze-react/input": "0.8.0-alpha.78",
44
44
  "@blaze-react/modal": "0.5.19",
45
- "@blaze-react/range-filter": "0.7.2",
45
+ "@blaze-react/range-filter": "0.8.0-alpha.113",
46
46
  "@blaze-react/select": "0.8.0-alpha.80",
47
47
  "@blaze-react/utils": "0.5.15",
48
48
  "core-js": "^3.2.1",
@@ -92,5 +92,5 @@
92
92
  "lib/*",
93
93
  "lib-es/*"
94
94
  ],
95
- "gitHead": "43d3c41070c5180b46069b98b933e05192dbf31b"
95
+ "gitHead": "b2247e324c855cff8a8c745e848948b104fbc3d8"
96
96
  }
@@ -81,7 +81,8 @@ const SearchContent = props => {
81
81
  if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {
82
82
  router.push(results[0].url);
83
83
  } else {
84
- router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);
84
+ const searchUrlWithoutHash = (searchUrl || '/search').split('#')[0];
85
+ router.push(`${searchUrlWithoutHash}?search_term=${e.target.value}`);
85
86
  }
86
87
  }
87
88
  };
@@ -148,7 +148,7 @@ const SearchFilterContainer = ({
148
148
  setKey(`filter-${name}:${Date.now()}`); // remove after range component update
149
149
  });
150
150
  }
151
- const hashToUse = hashBit || componentId;
151
+ const hashToUse = componentId;
152
152
  const newUrl = buildNewUrl(url, currentUrl, newQuery, hashToUse);
153
153
  setUrlPath(newUrl);
154
154
  return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });
@@ -87,7 +87,7 @@ const Range = ({
87
87
  })}
88
88
  style={unit ? { '--unit': `"${unit}"` } : {}}>
89
89
  <RangeFilter
90
- key={`${rangeOption}-${minValue}-${maxValue}`}
90
+ key={`${rangeOption}-${min}-${max}`}
91
91
  name={rangeOption}
92
92
  label={displayLabel}
93
93
  value={valueToUse}
@@ -2,10 +2,10 @@ import React from 'react';
2
2
  import useInfographic from './useInfographic';
3
3
 
4
4
  const Infographic = props => {
5
- const { contentRef, id, className, tabId, children } = useInfographic(props);
5
+ const { contentRef, className, children } = useInfographic(props);
6
6
 
7
7
  return (
8
- <div ref={contentRef} id={id} className={className} role="tabpanel" aria-labelledby={tabId}>
8
+ <div {...props} ref={contentRef} className={className}>
9
9
  {children}
10
10
  </div>
11
11
  );
@@ -8,20 +8,20 @@ exports[`Checkbox component should render without throwing an error match snapsh
8
8
  >
9
9
  <input
10
10
  class="form-checkbox"
11
- data-cy="checkbox-cy-1"
12
- data-testid="checkbox-1"
11
+ data-testid="name1"
13
12
  disabled=""
14
13
  id="name1-checkbox"
15
14
  name="name"
16
- readonly=""
17
15
  type="checkbox"
18
16
  value="name1"
19
17
  />
20
18
  <div
21
19
  class=""
20
+ data-testid="form-field-wrapper"
22
21
  >
23
22
  <label
24
23
  for="name1-checkbox"
24
+ style="cursor: pointer;"
25
25
  >
26
26
  <span>
27
27
  Name1
@@ -35,20 +35,20 @@ exports[`Checkbox component should render without throwing an error match snapsh
35
35
  >
36
36
  <input
37
37
  class="form-checkbox"
38
- data-cy="checkbox-cy-2"
39
- data-testid="checkbox-2"
38
+ data-testid="name2"
40
39
  disabled=""
41
40
  id="name2-checkbox"
42
41
  name="name"
43
- readonly=""
44
42
  type="checkbox"
45
43
  value="name2"
46
44
  />
47
45
  <div
48
46
  class=""
47
+ data-testid="form-field-wrapper"
49
48
  >
50
49
  <label
51
50
  for="name2-checkbox"
51
+ style="cursor: pointer;"
52
52
  >
53
53
  <span>
54
54
  Name2
@@ -10,6 +10,7 @@ exports[`Range component should match snapshot 1`] = `
10
10
  >
11
11
  <label
12
12
  className=""
13
+ htmlFor="name"
13
14
  >
14
15
  GLabel
15
16
  </label>
@@ -20,7 +21,7 @@ exports[`Range component should match snapshot 1`] = `
20
21
  0
21
22
  </span>
22
23
  <span>
23
- 6600
24
+ 6,600
24
25
  </span>
25
26
  </div>
26
27
  <div
@@ -62,6 +63,7 @@ exports[`Range component should match snapshot large values formatted correctly
62
63
  >
63
64
  <label
64
65
  className=""
66
+ htmlFor="name"
65
67
  >
66
68
  GLabel
67
69
  </label>
@@ -69,7 +71,7 @@ exports[`Range component should match snapshot large values formatted correctly
69
71
  className="values"
70
72
  >
71
73
  <span>
72
- 9999
74
+ 9,999
73
75
  </span>
74
76
  <span>
75
77
  10,000
@@ -114,6 +116,7 @@ exports[`Range component should match snapshot with adjusted min & max values ba
114
116
  >
115
117
  <label
116
118
  className=""
119
+ htmlFor="name"
117
120
  >
118
121
  GLabel
119
122
  </label>
@@ -166,6 +169,7 @@ exports[`Range component should match snapshot with interval 1`] = `
166
169
  >
167
170
  <label
168
171
  className=""
172
+ htmlFor="name"
169
173
  >
170
174
  GLabel
171
175
  </label>
@@ -176,7 +180,7 @@ exports[`Range component should match snapshot with interval 1`] = `
176
180
  0
177
181
  </span>
178
182
  <span>
179
- 6600
183
+ 6,600
180
184
  </span>
181
185
  </div>
182
186
  <div
@@ -218,6 +222,7 @@ exports[`Range component should match snapshot with interval and rounded min & m
218
222
  >
219
223
  <label
220
224
  className=""
225
+ htmlFor="name"
221
226
  >
222
227
  GLabel
223
228
  </label>
@@ -274,6 +279,7 @@ exports[`Range component should match snapshot with unit prop 1`] = `
274
279
  >
275
280
  <label
276
281
  className=""
282
+ htmlFor="name"
277
283
  >
278
284
  GLabel
279
285
  </label>
@@ -284,7 +290,7 @@ exports[`Range component should match snapshot with unit prop 1`] = `
284
290
  0
285
291
  </span>
286
292
  <span>
287
- 6600
293
+ 6,600
288
294
  </span>
289
295
  </div>
290
296
  <div
@@ -0,0 +1,30 @@
1
+ /*
2
+ * @jest-environment jsdom
3
+ */
4
+
5
+ import React from 'react';
6
+ import { render } from '@testing-library/react';
7
+ import '@testing-library/jest-dom/extend-expect';
8
+ import Infographic from '../../../../../src/variants/Infographic/Infographic';
9
+
10
+ describe('Infographic Component', () => {
11
+ it('renders children correctly', () => {
12
+ const { getByText } = render(
13
+ <Infographic>
14
+ <span>Test Child</span>
15
+ </Infographic>
16
+ );
17
+
18
+ expect(getByText('Test Child')).toBeInTheDocument();
19
+ });
20
+
21
+ it('applies passed props to the container', () => {
22
+ const { container } = render(
23
+ <Infographic data-testid="infographic" className="custom-class" />
24
+ );
25
+
26
+ const infographicElement = container.firstChild;
27
+ expect(infographicElement).toHaveClass('custom-class');
28
+ expect(infographicElement).toHaveAttribute('data-testid', 'infographic');
29
+ });
30
+ });