@blaze-cms/react-page-builder 0.131.0-project-admin-customisations.2 → 0.132.0-admin-updates.0

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 (87) hide show
  1. package/CHANGELOG.md +22 -11
  2. package/lib/HOC/recreateOnNavigation.js +29 -0
  3. package/lib/HOC/recreateOnNavigation.js.map +1 -0
  4. package/lib/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  5. package/lib/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
  6. package/lib/components/ContentGroupSection/ContentGroupSection.js +4 -1
  7. package/lib/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  8. package/lib/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  9. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  10. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +2 -0
  11. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  12. package/lib/components/Layout/Layout.js +3 -2
  13. package/lib/components/Layout/Layout.js.map +1 -1
  14. package/lib/components/Layout/LayoutFactory.js +35 -0
  15. package/lib/components/Layout/LayoutFactory.js.map +1 -0
  16. package/lib/components/Layout/LayoutWithStickyTimer.js +66 -0
  17. package/lib/components/Layout/LayoutWithStickyTimer.js.map +1 -0
  18. package/lib/components/Layout/index.js +2 -2
  19. package/lib/components/Layout/index.js.map +1 -1
  20. package/lib/components/SearchContent/SearchContent.js +0 -2
  21. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  22. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -3
  23. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  24. package/lib/components/SearchFilter/SearchFilterContainer.js +5 -2
  25. package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  26. package/lib/components/SearchFilter/helpers/build-url-query.js +1 -0
  27. package/lib/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  28. package/lib/components/SearchFilter/searchFilterReducer.js +1 -3
  29. package/lib/components/SearchFilter/searchFilterReducer.js.map +1 -1
  30. package/lib/helpers/get-entities-with-banner.js +8 -2
  31. package/lib/helpers/get-entities-with-banner.js.map +1 -1
  32. package/lib/utils/get-class-modifiers.js +1 -1
  33. package/lib/utils/get-class-modifiers.js.map +1 -1
  34. package/lib-es/HOC/recreateOnNavigation.js +20 -0
  35. package/lib-es/HOC/recreateOnNavigation.js.map +1 -0
  36. package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  37. package/lib-es/components/CarouselWrapper/SmoothScrollCarousel.js.map +1 -1
  38. package/lib-es/components/ContentGroupSection/ContentGroupSection.js +8 -4
  39. package/lib-es/components/ContentGroupSection/ContentGroupSection.js.map +1 -1
  40. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  41. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -1
  42. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +2 -1
  43. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  44. package/lib-es/components/Layout/Layout.js +3 -2
  45. package/lib-es/components/Layout/Layout.js.map +1 -1
  46. package/lib-es/components/Layout/LayoutFactory.js +14 -0
  47. package/lib-es/components/Layout/LayoutFactory.js.map +1 -0
  48. package/lib-es/components/Layout/LayoutWithStickyTimer.js +42 -0
  49. package/lib-es/components/Layout/LayoutWithStickyTimer.js.map +1 -0
  50. package/lib-es/components/Layout/index.js +2 -2
  51. package/lib-es/components/Layout/index.js.map +1 -1
  52. package/lib-es/components/SearchContent/SearchContent.js +0 -2
  53. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  54. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +2 -4
  55. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  56. package/lib-es/components/SearchFilter/SearchFilterContainer.js +5 -2
  57. package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
  58. package/lib-es/components/SearchFilter/helpers/build-url-query.js +1 -0
  59. package/lib-es/components/SearchFilter/helpers/build-url-query.js.map +1 -1
  60. package/lib-es/components/SearchFilter/searchFilterReducer.js +1 -3
  61. package/lib-es/components/SearchFilter/searchFilterReducer.js.map +1 -1
  62. package/lib-es/helpers/get-entities-with-banner.js +9 -2
  63. package/lib-es/helpers/get-entities-with-banner.js.map +1 -1
  64. package/lib-es/utils/get-class-modifiers.js +1 -1
  65. package/lib-es/utils/get-class-modifiers.js.map +1 -1
  66. package/package.json +10 -10
  67. package/src/HOC/recreateOnNavigation.js +21 -0
  68. package/src/components/CarouselWrapper/SmoothScrollCarousel.js +2 -2
  69. package/src/components/ContentGroupSection/ContentGroupSection.js +1 -1
  70. package/src/components/DataSummary/helpers/build-loop-props-content.js +3 -2
  71. package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -1
  72. package/src/components/Layout/Layout.js +29 -32
  73. package/src/components/Layout/LayoutFactory.js +17 -0
  74. package/src/components/Layout/LayoutWithStickyTimer.js +40 -0
  75. package/src/components/Layout/index.js +2 -2
  76. package/src/components/SearchContent/SearchContent.js +0 -2
  77. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +3 -9
  78. package/src/components/SearchFilter/SearchFilterContainer.js +6 -2
  79. package/src/components/SearchFilter/helpers/build-url-query.js +2 -0
  80. package/src/components/SearchFilter/searchFilterReducer.js +1 -1
  81. package/src/helpers/get-entities-with-banner.js +3 -2
  82. package/src/utils/get-class-modifiers.js +1 -1
  83. package/tests/unit/src/HOC/recreateOnNavigation.test.js +28 -0
  84. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +41 -0
  85. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +21 -0
  86. package/tests/unit/src/components/Layout/Layout.test.js +1 -1
  87. package/tests/unit/src/components/Layout/LayoutFactory.test.js +53 -0
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import dynamic from 'next/dynamic';
3
+ import Layout from './Layout';
4
+ const LayoutWithStickyTimer = dynamic(() => import( /* webpackChunkName: "blazePbLayoutWithStickyTimer" */'./LayoutWithStickyTimer'));
5
+ const LayoutFactory = props => {
6
+ const {
7
+ sticky,
8
+ stickyTimer
9
+ } = props;
10
+ if (sticky && stickyTimer) return /*#__PURE__*/React.createElement(LayoutWithStickyTimer, props);
11
+ return /*#__PURE__*/React.createElement(Layout, props);
12
+ };
13
+ export default LayoutFactory;
14
+ //# sourceMappingURL=LayoutFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutFactory.js","names":["React","dynamic","Layout","LayoutWithStickyTimer","LayoutFactory","props","sticky","stickyTimer","createElement"],"sources":["../../../src/components/Layout/LayoutFactory.js"],"sourcesContent":["import React from 'react';\nimport dynamic from 'next/dynamic';\nimport Layout from './Layout';\n\nconst LayoutWithStickyTimer = dynamic(() =>\n import(/* webpackChunkName: \"blazePbLayoutWithStickyTimer\" */ './LayoutWithStickyTimer')\n);\n\nconst LayoutFactory = props => {\n const { sticky, stickyTimer } = props;\n\n if (sticky && stickyTimer) return <LayoutWithStickyTimer {...props} />;\n\n return <Layout {...props} />;\n};\n\nexport default LayoutFactory;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,cAAc;AAClC,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,qBAAqB,GAAGF,OAAO,CAAC,MACpC,MAAM,EAAC,sDAAuD,yBAAyB,CACzF,CAAC;AAED,MAAMG,aAAa,GAAGC,KAAK,IAAI;EAC7B,MAAM;IAAEC,MAAM;IAAEC;EAAY,CAAC,GAAGF,KAAK;EAErC,IAAIC,MAAM,IAAIC,WAAW,EAAE,oBAAOP,KAAA,CAAAQ,aAAA,CAACL,qBAAqB,EAAKE,KAAQ,CAAC;EAEtE,oBAAOL,KAAA,CAAAQ,aAAA,CAACN,MAAM,EAAKG,KAAQ,CAAC;AAC9B,CAAC;AAED,eAAeD,aAAa"}
@@ -0,0 +1,42 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ const _excluded = ["sticky", "stickyTimer"];
4
+ import React, { useEffect, useState } from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { useInView } from '@blaze-react/utils/lib/customHooks';
7
+ import recreateOnNavigation from '../../HOC/recreateOnNavigation';
8
+ import Layout from './Layout';
9
+ const LayoutWithStickyTimer = _ref => {
10
+ let {
11
+ sticky,
12
+ stickyTimer
13
+ } = _ref,
14
+ otherProps = _objectWithoutProperties(_ref, _excluded);
15
+ const [isIntersecting, outerRef] = useInView({});
16
+ const [isSticky, setIsSticky] = useState(sticky);
17
+ useEffect(() => {
18
+ if (isIntersecting && sticky && !!stickyTimer) {
19
+ setIsSticky(true);
20
+ const timer = setTimeout(() => {
21
+ setIsSticky(false);
22
+ }, stickyTimer);
23
+ return () => {
24
+ clearTimeout(timer);
25
+ };
26
+ }
27
+ }, [isIntersecting, stickyTimer, sticky]);
28
+ return /*#__PURE__*/React.createElement(Layout, _extends({}, otherProps, {
29
+ sticky: isSticky,
30
+ ref: sticky ? outerRef : null
31
+ }));
32
+ };
33
+ LayoutWithStickyTimer.propTypes = {
34
+ sticky: PropTypes.bool,
35
+ stickyTimer: PropTypes.number
36
+ };
37
+ LayoutWithStickyTimer.defaultProps = {
38
+ sticky: false,
39
+ stickyTimer: 0
40
+ };
41
+ export default recreateOnNavigation(LayoutWithStickyTimer);
42
+ //# sourceMappingURL=LayoutWithStickyTimer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutWithStickyTimer.js","names":["React","useEffect","useState","PropTypes","useInView","recreateOnNavigation","Layout","LayoutWithStickyTimer","_ref","sticky","stickyTimer","otherProps","_objectWithoutProperties","_excluded","isIntersecting","outerRef","isSticky","setIsSticky","timer","setTimeout","clearTimeout","createElement","_extends","ref","propTypes","bool","number","defaultProps"],"sources":["../../../src/components/Layout/LayoutWithStickyTimer.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport recreateOnNavigation from '../../HOC/recreateOnNavigation';\nimport Layout from './Layout';\n\nconst LayoutWithStickyTimer = ({ sticky, stickyTimer, ...otherProps }) => {\n const [isIntersecting, outerRef] = useInView({});\n const [isSticky, setIsSticky] = useState(sticky);\n\n useEffect(\n () => {\n if (isIntersecting && sticky && !!stickyTimer) {\n setIsSticky(true);\n const timer = setTimeout(() => {\n setIsSticky(false);\n }, stickyTimer);\n\n return () => {\n clearTimeout(timer);\n };\n }\n },\n [isIntersecting, stickyTimer, sticky]\n );\n\n return <Layout {...otherProps} sticky={isSticky} ref={sticky ? outerRef : null} />;\n};\n\nLayoutWithStickyTimer.propTypes = {\n sticky: PropTypes.bool,\n stickyTimer: PropTypes.number\n};\n\nLayoutWithStickyTimer.defaultProps = {\n sticky: false,\n stickyTimer: 0\n};\n\nexport default recreateOnNavigation(LayoutWithStickyTimer);\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,OAAOC,oBAAoB,MAAM,gCAAgC;AACjE,OAAOC,MAAM,MAAM,UAAU;AAE7B,MAAMC,qBAAqB,GAAGC,IAAA,IAA4C;EAAA,IAA3C;MAAEC,MAAM;MAAEC;IAA2B,CAAC,GAAAF,IAAA;IAAZG,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA;EACjE,MAAM,CAACC,cAAc,EAAEC,QAAQ,CAAC,GAAGX,SAAS,CAAC,CAAC,CAAC,CAAC;EAChD,MAAM,CAACY,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CAACO,MAAM,CAAC;EAEhDR,SAAS,CACP,MAAM;IACJ,IAAIa,cAAc,IAAIL,MAAM,IAAI,CAAC,CAACC,WAAW,EAAE;MAC7CO,WAAW,CAAC,IAAI,CAAC;MACjB,MAAMC,KAAK,GAAGC,UAAU,CAAC,MAAM;QAC7BF,WAAW,CAAC,KAAK,CAAC;MACpB,CAAC,EAAEP,WAAW,CAAC;MAEf,OAAO,MAAM;QACXU,YAAY,CAACF,KAAK,CAAC;MACrB,CAAC;IACH;EACF,CAAC,EACD,CAACJ,cAAc,EAAEJ,WAAW,EAAED,MAAM,CACtC,CAAC;EAED,oBAAOT,KAAA,CAAAqB,aAAA,CAACf,MAAM,EAAAgB,QAAA,KAAKX,UAAU;IAAEF,MAAM,EAAEO,QAAS;IAACO,GAAG,EAAEd,MAAM,GAAGM,QAAQ,GAAG;EAAK,EAAE,CAAC;AACpF,CAAC;AAEDR,qBAAqB,CAACiB,SAAS,GAAG;EAChCf,MAAM,EAAEN,SAAS,CAACsB,IAAI;EACtBf,WAAW,EAAEP,SAAS,CAACuB;AACzB,CAAC;AAEDnB,qBAAqB,CAACoB,YAAY,GAAG;EACnClB,MAAM,EAAE,KAAK;EACbC,WAAW,EAAE;AACf,CAAC;AAED,eAAeL,oBAAoB,CAACE,qBAAqB,CAAC"}
@@ -1,3 +1,3 @@
1
- import Layout from './Layout';
2
- export default Layout;
1
+ import LayoutFactory from './LayoutFactory';
2
+ export default LayoutFactory;
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Layout"],"sources":["../../../src/components/Layout/index.js"],"sourcesContent":["import Layout from './Layout';\n\nexport default Layout;\n"],"mappings":"AAAA,OAAOA,MAAM,MAAM,UAAU;AAE7B,eAAeA,MAAM"}
1
+ {"version":3,"file":"index.js","names":["LayoutFactory"],"sources":["../../../src/components/Layout/index.js"],"sourcesContent":["import LayoutFactory from './LayoutFactory';\n\nexport default LayoutFactory;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,iBAAiB;AAE3C,eAAeA,aAAa"}
@@ -104,7 +104,6 @@ SearchContent.propTypes = {
104
104
  searchInputWrapperDesktop: PropTypes.string,
105
105
  placeholder: PropTypes.string,
106
106
  isMobile: PropTypes.bool,
107
- collapsible: PropTypes.bool,
108
107
  entities: PropTypes.array.isRequired,
109
108
  modifier: PropTypes.string,
110
109
  collapsedSearch: PropTypes.bool
@@ -115,7 +114,6 @@ SearchContent.defaultProps = {
115
114
  searchInputWrapperDesktop: '',
116
115
  placeholder: '',
117
116
  isMobile: false,
118
- collapsible: false,
119
117
  modifier: '',
120
118
  collapsedSearch: false
121
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","collapsible","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } 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';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch\n}) => {\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsedSearch) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n collapsible: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n collapsible: false,\n modifier: '',\n collapsedSearch: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputAlignment","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","collapsed","setCollapsed","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","responsiveClasses","handleClick","e","url","preventDefault","push","handleKeyPress","key","target","value","handleOnBlur","handleClearSearchResults","className","filter","Boolean","join","createElement","viewBox","fillRule","d","clipRule","onFocus","onChange","type","name","Fragment","onClear","onKeyPress","onBlur","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect } 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';\n\nconst SearchContent = ({\n entities,\n searchInputAlignment,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch\n}) => {\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(\n () => {\n const handleRouteChange = () => setSearchTerm('');\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events, setSearchTerm]\n );\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleClick = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyPress = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n router.push(`/search?search_term=${e.target.value}`);\n }\n };\n\n const handleOnBlur = () => {\n if (!collapsedSearch) return;\n if (!debouncedSearchTerm || debouncedSearchTerm === '') setCollapsed(true);\n };\n\n const handleClearSearchResults = () => {\n setSearchTerm('');\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n return collapsed ? (\n <div className={className}>\n <div className=\"search-content--collapse__wrapper\">\n <label className=\"search-content--collapse__label\">\n <span className=\"search-content--collapse__icon_wrapper\">\n <svg className=\"search-content--collapse__icon\" viewBox=\"0 0 20 20\">\n <path\n fillRule=\"evenodd\"\n d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </span>\n <input\n onFocus={() => setCollapsed(false)}\n onChange={e => setSearchTerm(e.target.value)}\n type=\"text\"\n name=\"search\"\n className=\"search-content--collapse__input\"\n />\n </label>\n </div>\n </div>\n ) : (\n <>\n <div className={className}>\n <div className=\"search-content--expanded__wrapper\">\n <label className=\"search-content--expanded__label\">\n <span className=\"search-content--expanded__icon_wrapper\">\n <SearchContentToggleIcon results={results} onClear={handleClearSearchResults} />\n </span>\n <input\n type=\"text\"\n name=\"search\"\n onChange={e => setSearchTerm(e.target.value)}\n onKeyPress={handleKeyPress}\n className=\"search-content--expanded__input\"\n placeholder={placeholder}\n value={searchTerm}\n onBlur={handleOnBlur}\n />\n </label>\n </div>\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleClick}\n />\n </div>\n </>\n );\n};\n\nSearchContent.propTypes = {\n searchInputAlignment: PropTypes.string,\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};\n\nSearchContent.defaultProps = {\n searchInputAlignment: '',\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false\n};\n\nexport default SearchContent;\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import classnames from 'classnames';
4
4
  import debounce from 'lodash.debounce';
5
5
  import FiltersList from './FiltersList';
6
- import { isDeviceDesktop, buildUrlQuery, getFilterValues, getResponsiveFilterClassnames } from '../helpers';
6
+ import { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';
7
7
  import CloseMobileForm from './CloseMobileForm';
8
8
  import ResetDesktopForm from './ResetDesktopForm';
9
9
  import MobileFormToolbar from './MobileFormToolbar';
@@ -57,12 +57,10 @@ const SearchFilter = ({
57
57
  } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);
58
58
  const formId = `filter-${name}-form`;
59
59
  const handleReset = () => {
60
- const newValues = getFilterValues(null, filters, {});
61
60
  setAppliedFilters({
62
- newValues,
63
61
  type: 'reset'
64
62
  });
65
- doSubmit(newValues);
63
+ doSubmit();
66
64
  };
67
65
  const updateFilterValues = (newValues, shouldSubmit) => {
68
66
  setAppliedFilters({
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport {\n isDeviceDesktop,\n buildUrlQuery,\n getFilterValues,\n getResponsiveFilterClassnames\n} from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n const newValues = getFilterValues(null, filters, {});\n setAppliedFilters({ newValues, type: 'reset' });\n doSubmit(newValues);\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -89,13 +89,14 @@ const SearchFilterContainer = ({
89
89
  } = {}
90
90
  } = {}
91
91
  } = data || {};
92
- if (!filterValues && !loading && filterData) {
92
+ if (!filterValues && !loading && (filterData || !rawQueryStringified)) {
93
93
  const newValues = getFilterValues(filterData, filters, updatedQuery);
94
94
  dispatch({
95
95
  newValues,
96
96
  shouldSearch: false,
97
97
  type: 'update'
98
98
  });
99
+ return null;
99
100
  }
100
101
  const handleSearch = newQuery => {
101
102
  setDisplaySearchFilter(false);
@@ -104,6 +105,7 @@ const SearchFilterContainer = ({
104
105
  scrollToFirstList();
105
106
  if (!newQuery) {
106
107
  const baseQuery = `${currentUrl}${parsedHashBit}`;
108
+ setUrlPath(baseQuery);
107
109
  return router.push('/Resolver', baseQuery, {
108
110
  shallow: !url,
109
111
  scroll: false
@@ -113,6 +115,7 @@ const SearchFilterContainer = ({
113
115
  }
114
116
 
115
117
  const newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);
118
+ setUrlPath(newUrl);
116
119
  return router.push('/Resolver', newUrl, {
117
120
  shallow: !url,
118
121
  scroll: false
@@ -130,7 +133,7 @@ const SearchFilterContainer = ({
130
133
  window.scrollTo(0, 0);
131
134
  }
132
135
  };
133
- if (!filterValues || filterValues.dataNotSet) return null;
136
+ if (!filterValues) return null;
134
137
  return /*#__PURE__*/React.createElement(SearchFilter, {
135
138
  key: key,
136
139
  setAppliedFilters: dispatch,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","buildNewUrl","buildRawQueryStringified","getFilterValues","buildFiltersQuery","getFilterRangesAndCheckboxesValues","getEntityData","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","getFiltersUrlQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","filterValues","dispatch","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","rawQueryStringified","data","error","loading","variables","limit","skip","message","searchPublishedContent","rawResults","aggregations","filterData","newValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","dataNotSet","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\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 } from '../../application/query';\nimport {\n buildNewUrl,\n buildRawQueryStringified,\n getFilterValues,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\n};\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}) => {\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 { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\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,\n filterByProperty,\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\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 && filterData) {\n const newValues = getFilterValues(filterData, filters, updatedQuery);\n dispatch({ newValues, shouldSearch: false, type: 'update' });\n }\n\n const handleSearch = newQuery => {\n setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${parsedHashBit}`;\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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\n } else {\n window.scrollTo(0, 0);\n }\n };\n if (!filterValues || filterValues.dataNotSet) 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 />\n );\n};\n\nSearchFilterContainer.propTypes = {\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};\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};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,MAAM,EAAEC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AACtE,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,cAAc;AACvC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,SAASC,SAAS,QAAQ,WAAW;AACrC,SAASC,yBAAyB,QAAQ,yBAAyB;AACnE,SACEC,WAAW,EACXC,wBAAwB,EACxBC,eAAe,EACfC,iBAAiB,EACjBC,kCAAkC,QAC7B,WAAW;AAClB,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,mBAAmB,MAAM,uBAAuB;AAEvD,MAAMC,kBAAkB,GAAGA,CAACC,KAAK,EAAEC,QAAQ,KAAK;EAC9C,IAAI,CAACA,QAAQ,EAAE,OAAOD,KAAK;EAC3B,MAAME,YAAY,GAAG,CAAC,CAAC;EACvB,MAAMC,OAAO,GAAI,MAAKF,QAAS,GAAE;EACjCG,MAAM,CAACC,IAAI,CAACL,KAAK,CAAC,CAACM,OAAO,CAACC,QAAQ,IAAI;IACrC,MAAMC,SAAS,GAAGD,QAAQ,CAACE,OAAO,CAAE,GAAER,QAAS,EAAC,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAACO,SAAS,EAAE;IAChB,MAAME,iBAAiB,GAAGC,KAAK,CAACC,OAAO,CAACZ,KAAK,CAACO,QAAQ,CAAC,CAAC,GACpDP,KAAK,CAACO,QAAQ,CAAC,CAACM,GAAG,CAACC,KAAK,IAAIC,kBAAkB,CAACD,KAAK,CAAC,CAAC,GACvDC,kBAAkB,CAACf,KAAK,CAACO,QAAQ,CAAC,CAAC;IACvC,MAAMS,WAAW,GAAGT,QAAQ,CAACU,SAAS,CAACd,OAAO,CAACe,MAAM,GAAG,CAAC,EAAEX,QAAQ,CAACW,MAAM,GAAG,CAAC,CAAC;IAC/E,IAAIV,SAAS,EAAEN,YAAY,CAACc,WAAW,CAAC,GAAGN,iBAAiB;EAC9D,CAAC,CAAC;EAEF,OAAOR,YAAY;AACrB,CAAC;AAED,MAAMiB,qBAAqB,GAAGA,CAAC;EAC7BC,MAAM;EACNC,GAAG;EACHC,OAAO;EACPC,IAAI;EACJC,uBAAuB;EACvBC,gBAAgB;EAChBC,iBAAiB;EACjBC,QAAQ;EACRC,gBAAgB;EAChBC,gBAAgB;EAChBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGhD,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEiD;EAAO,CAAC,GAAGD,MAAM;EACzB,MAAME,eAAe,GAAGrD,MAAM,CAAC,IAAI,CAAC;EACpC,MAAM,CAACsD,GAAG,EAAEC,MAAM,CAAC,GAAGxD,QAAQ,CAAE,UAAS4C,IAAK,EAAC,CAAC;EAChD,MAAM,CAACa,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG1D,QAAQ,CAAC,KAAK,CAAC;EACrE,MAAM,CAAC2D,OAAO,EAAEC,UAAU,CAAC,GAAG5D,QAAQ,CAACqD,MAAM,CAAC,CAAC,CAAC;EAChD,MAAM;IAAEX,GAAG,EAAEmB,UAAU;IAAExC;EAAM,CAAC,GAAGd,QAAQ,CAACoD,OAAO,CAAC;EACpD,MAAMpC,YAAY,GAAGH,kBAAkB,CAACC,KAAK,EAAE8B,iBAAiB,CAAC;EAEjE,MAAM,CAACW,YAAY,EAAEC,QAAQ,CAAC,GAAG7D,UAAU,CAACiB,mBAAmB,EAAE,IAAI,CAAC;EAEtEhB,SAAS,CACP,MAAM;IACJ,IAAIkD,MAAM,EAAEO,UAAU,CAACP,MAAM,CAAC;EAChC,CAAC,EACD,CAACA,MAAM,CACT,CAAC;EAED,MAAMW,MAAM,GAAGtD,yBAAyB,CAACO,WAAW,CAAC;EACrD,MAAM,CAACgD,oBAAoB,EAAEC,WAAW,CAAC,GAAGnD,kCAAkC,CAAC4B,OAAO,CAAC;EAEvF,MAAM;IAAEwB;EAAQ,CAAC,GAAGnD,aAAa,CAACyB,MAAM,CAAC;EAEzC,MAAM2B,YAAY,GAAGtD,iBAAiB,CAAC;IACrCoC,gBAAgB;IAChB7B,KAAK,EAAEyC,YAAY,IAAI,CAAC,CAAC;IACzBd,QAAQ;IACRC,gBAAgB;IAChBiB,WAAW;IACXG,SAAS,EAAE5C,MAAM,CAACC,IAAI,CAACH,YAAY;EACrC,CAAC,CAAC;EAEF,MAAM+C,mBAAmB,GAAG1D,wBAAwB,CAClDqD,oBAAoB,EACpBC,WAAW,EACXC,OAAO,EACPC,YACF,CAAC;EAED,MAAM;IAAEG,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGpE,QAAQ,CAAC2D,MAAM,EAAE;IAChDU,SAAS,EAAE;MAAEJ,mBAAmB;MAAEK,KAAK,EAAE;IAAE,CAAC;IAAE;IAC9CC,IAAI,EAAE,CAACN;EACT,CAAC,CAAC;EAEF,IAAIE,KAAK,EAAE,OAAOA,KAAK,CAACK,OAAO;EAC/B,IAAI,CAAClC,OAAO,CAACJ,MAAM,EAAE,OAAO,IAAI;EAEhC,MAAM;IAAEuC,sBAAsB,EAAE;MAAEC,UAAU,EAAE;QAAEC,YAAY,EAAEC;MAAW,CAAC,GAAG,CAAC;IAAE,CAAC,GAAG,CAAC;EAAE,CAAC,GACtFV,IAAI,IAAI,CAAC,CAAC;EAEZ,IAAI,CAACT,YAAY,IAAI,CAACW,OAAO,IAAIQ,UAAU,EAAE;IAC3C,MAAMC,SAAS,GAAGrE,eAAe,CAACoE,UAAU,EAAEtC,OAAO,EAAEpB,YAAY,CAAC;IACpEwC,QAAQ,CAAC;MAAEmB,SAAS;MAAEC,YAAY,EAAE,KAAK;MAAEC,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9D;EAEA,MAAMC,YAAY,GAAGC,QAAQ,IAAI;IAC/B5B,sBAAsB,CAAC,KAAK,CAAC;IAC7B,MAAM6B,OAAO,GAAGlC,MAAM,CAACmC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;IAC1C,MAAMC,aAAa,GAAGF,OAAO,GAAI,IAAGA,OAAQ,EAAC,GAAG,EAAE;IAClDG,iBAAiB,CAAC,CAAC;IACnB,IAAI,CAACJ,QAAQ,EAAE;MACb,MAAMK,SAAS,GAAI,GAAE9B,UAAW,GAAE4B,aAAc,EAAC;MACjD,OAAOrC,MAAM,CAACwC,IAAI,CAAC,WAAW,EAAED,SAAS,EAAE;QAAEE,OAAO,EAAE,CAACnD,GAAG;QAAEoD,MAAM,EAAE;MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;QACtFvC,MAAM,CAAE,UAASZ,IAAK,IAAGoD,IAAI,CAACC,GAAG,CAAC,CAAE,EAAC,CAAC,CAAC,CAAC;MAC1C,CAAC,CAAC;IACJ;;IACA,MAAMC,MAAM,GAAGvF,WAAW,CAAC+B,GAAG,EAAEmB,UAAU,EAAEyB,QAAQ,EAAEC,OAAO,CAAC;IAC9D,OAAOnC,MAAM,CAACwC,IAAI,CAAC,WAAW,EAAEM,MAAM,EAAE;MAAEL,OAAO,EAAE,CAACnD,GAAG;MAAEoD,MAAM,EAAE;IAAM,CAAC,CAAC;EAC3E,CAAC;EAED,MAAMJ,iBAAiB,GAAGA,CAAA,KAAM;IAC9B,MAAM,CAACS,IAAI,CAAC,GAAGC,QAAQ,CAACC,sBAAsB,CAAC,UAAU,CAAC;IAC1D,MAAMC,uBAAuB,GAAG,CAAC5D,GAAG,IAAIyD,IAAI;IAE5C,IAAIG,uBAAuB,EAAE;MAC3BC,MAAM,CAACC,QAAQ,CAAC;QACdC,IAAI,EAAE,CAAC;QACPC,GAAG,EAAEH,MAAM,CAACI,WAAW,GAAGzF,aAAa,GAAGiF,IAAI,CAACS,qBAAqB,CAAC,CAAC,CAACF;MACzE,CAAC,CAAC;IACJ,CAAC,MAAM;MACLH,MAAM,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IACvB;EACF,CAAC;EACD,IAAI,CAAC1C,YAAY,IAAIA,YAAY,CAAC+C,UAAU,EAAE,OAAO,IAAI;EAEzD,oBACE9G,KAAA,CAAA+G,aAAA,CAACtG,YAAY;IACX+C,GAAG,EAAEA,GAAI;IACTwD,iBAAiB,EAAEhD,QAAS;IAC5B1C,KAAK,EAAEE,YAAa;IACpB4B,iBAAiB,EAAEA,iBAAkB;IACrCG,eAAe,EAAEA,eAAgB;IACjCiB,IAAI,EAAEU,UAAW;IACjBtC,OAAO,EAAEA,OAAQ;IACjBqE,MAAM,EAAE,CAAC,CAACtE,GAAI;IACdD,MAAM,EAAEA,MAAO;IACf4C,YAAY,EAAEA,YAAa;IAC3BvB,YAAY,EAAEA,YAAa;IAC3BlB,IAAI,EAAEA,IAAK;IACXC,uBAAuB,EAAEA,uBAAwB;IACjDY,mBAAmB,EAAEA,mBAAoB;IACzCC,sBAAsB,EAAEA,sBAAuB;IAC/CZ,gBAAgB,EAAEA,gBAAiB;IACnCC,iBAAiB,EAAEA;EAAkB,CACtC,CAAC;AAEN,CAAC;AAEDP,qBAAqB,CAACyE,SAAS,GAAG;EAChCxE,MAAM,EAAEnC,SAAS,CAAC4G,MAAM;EACxBxE,GAAG,EAAEpC,SAAS,CAAC4G,MAAM;EACrBvE,OAAO,EAAErC,SAAS,CAAC6G,KAAK;EACxBvE,IAAI,EAAEtC,SAAS,CAAC4G,MAAM,CAACE,UAAU;EACjCvE,uBAAuB,EAAEvC,SAAS,CAAC+G,IAAI;EACvCvE,gBAAgB,EAAExC,SAAS,CAACgH,MAAM;EAClCvE,iBAAiB,EAAEzC,SAAS,CAACgH,MAAM;EACnCtE,QAAQ,EAAE1C,SAAS,CAAC6G,KAAK;EACzBlE,gBAAgB,EAAE3C,SAAS,CAAC6G,KAAK;EACjCjE,gBAAgB,EAAE5C,SAAS,CAAC+G,IAAI;EAChClE,iBAAiB,EAAE7C,SAAS,CAAC4G;AAC/B,CAAC;AAED1E,qBAAqB,CAAC+E,YAAY,GAAG;EACnC7E,GAAG,EAAE,IAAI;EACTC,OAAO,EAAE,EAAE;EACXF,MAAM,EAAE,EAAE;EACVI,uBAAuB,EAAE,IAAI;EAC7BC,gBAAgB,EAAE,CAAC;EACnBC,iBAAiB,EAAE,CAAC;EACpBC,QAAQ,EAAE,EAAE;EACZC,gBAAgB,EAAE,EAAE;EACpBC,gBAAgB,EAAE,KAAK;EACvBC,iBAAiB,EAAE;AACrB,CAAC;AAED,eAAe1C,SAAS,CAAC+B,qBAAqB,CAAC"}
1
+ {"version":3,"file":"SearchFilterContainer.js","names":["React","useState","useRef","useReducer","useEffect","useRouter","useQuery","PropTypes","parseUrl","SearchFilter","withTitle","getSearchPublishedContent","buildNewUrl","buildRawQueryStringified","getFilterValues","buildFiltersQuery","getFilterRangesAndCheckboxesValues","getEntityData","RAW_RESULTS","SCROLL_OFFSET","searchFilterReducer","getFiltersUrlQuery","query","listName","updatedQuery","listKey","Object","keys","forEach","queryKey","isListKey","indexOf","decodedQueryValue","Array","isArray","map","value","decodeURIComponent","strippedKey","substring","length","SearchFilterContainer","entity","url","filters","name","isCollapsedOnResponsive","groupAfterMobile","groupAfterDesktop","filterBy","filterByProperty","shouldAddFilters","listComponentName","router","asPath","searchFilterRef","key","setKey","displaySearchFilter","setDisplaySearchFilter","urlPath","setUrlPath","currentUrl","filterValues","dispatch","action","checkboxSelectValues","rangeValues","docType","filtersQuery","queryKeys","rawQueryStringified","data","error","loading","variables","limit","skip","message","searchPublishedContent","rawResults","aggregations","filterData","newValues","shouldSearch","type","handleSearch","newQuery","hashBit","split","parsedHashBit","scrollToFirstList","baseQuery","push","shallow","scroll","then","Date","now","newUrl","list","document","getElementsByClassName","shouldScrollToFirstList","window","scrollTo","left","top","pageYOffset","getBoundingClientRect","createElement","setAppliedFilters","hasUrl","propTypes","string","array","isRequired","bool","number","defaultProps"],"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"sourcesContent":["import React, { useState, useRef, useReducer, useEffect } from 'react';\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 } from '../../application/query';\nimport {\n buildNewUrl,\n buildRawQueryStringified,\n getFilterValues,\n buildFiltersQuery,\n getFilterRangesAndCheckboxesValues\n} from './helpers';\nimport { getEntityData } from '../../helpers';\nimport { RAW_RESULTS } from './constants';\nimport { SCROLL_OFFSET } from '../../constants';\nimport searchFilterReducer from './searchFilterReducer';\n\nconst getFiltersUrlQuery = (query, listName) => {\n if (!listName) return query;\n const updatedQuery = {};\n const listKey = `pb[${listName}]`;\n Object.keys(query).forEach(queryKey => {\n const isListKey = queryKey.indexOf(`${listName}`) !== -1;\n if (!isListKey) return;\n const decodedQueryValue = Array.isArray(query[queryKey])\n ? query[queryKey].map(value => decodeURIComponent(value))\n : decodeURIComponent(query[queryKey]);\n const strippedKey = queryKey.substring(listKey.length + 1, queryKey.length - 1);\n if (isListKey) updatedQuery[strippedKey] = decodedQueryValue;\n });\n\n return updatedQuery;\n};\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}) => {\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 { url: currentUrl, query } = parseUrl(urlPath);\n const updatedQuery = getFiltersUrlQuery(query, listComponentName);\n\n const [filterValues, dispatch] = useReducer(searchFilterReducer, null);\n\n useEffect(\n () => {\n if (asPath) setUrlPath(asPath);\n },\n [asPath]\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,\n filterByProperty,\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\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 && (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 setDisplaySearchFilter(false);\n const hashBit = asPath.split('#')[1] || '';\n const parsedHashBit = hashBit ? `#${hashBit}` : '';\n scrollToFirstList();\n if (!newQuery) {\n const baseQuery = `${currentUrl}${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 newUrl = buildNewUrl(url, currentUrl, newQuery, hashBit);\n setUrlPath(newUrl);\n return router.push('/Resolver', newUrl, { shallow: !url, scroll: false });\n };\n\n const scrollToFirstList = () => {\n const [list] = document.getElementsByClassName('list-top');\n const shouldScrollToFirstList = !url && list;\n\n if (shouldScrollToFirstList) {\n window.scrollTo({\n left: 0,\n top: window.pageYOffset - SCROLL_OFFSET + list.getBoundingClientRect().top\n });\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 />\n );\n};\n\nSearchFilterContainer.propTypes = {\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};\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};\n\nexport default withTitle(SearchFilterContainer);\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import { SEARCH_TERM, TEXT_SEARCH } from '../constants';
2
2
  import parseFilterValue from './parse-filter-value';
3
3
  import { buildQueryKey } from '../../../helpers';
4
4
  const buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {
5
+ if (!filterValues) return '';
5
6
  const newQuery = [];
6
7
  const queryKeys = [];
7
8
  const searchValue = filterValues[SEARCH_TERM];
@@ -1 +1 @@
1
- {"version":3,"file":"build-url-query.js","names":["SEARCH_TERM","TEXT_SEARCH","parseFilterValue","buildQueryKey","buildUrlQuery","filterValues","filters","listComponentName","query","newQuery","queryKeys","searchValue","searchKey","push","forEach","propsToDisplay","type","prop","value","filterKey","parsedValue","includes","Object","keys","key","indexOf","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-url-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\nimport { buildQueryKey } from '../../../helpers';\n\nconst buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {\n const newQuery = [];\n const queryKeys = [];\n const searchValue = filterValues[SEARCH_TERM];\n const searchKey = buildQueryKey(SEARCH_TERM, listComponentName);\n queryKeys.push(searchKey);\n if (searchValue) newQuery.push(`${searchKey}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const filterKey = buildQueryKey(prop, listComponentName);\n queryKeys.push(filterKey);\n const parsedValue = parseFilterValue(filterKey, type, value, newQuery);\n if (parsedValue && !newQuery.includes(parsedValue)) newQuery.push(parsedValue);\n });\n });\n\n Object.keys(query).forEach(key => {\n if (queryKeys.indexOf(key) === -1) newQuery.push(`${key}=${query[key]}`);\n });\n\n return newQuery.join('&');\n};\n\nexport default buildUrlQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAa,GAAGA,CAACC,YAAY,EAAEC,OAAO,EAAEC,iBAAiB,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EACnF,MAAMC,QAAQ,GAAG,EAAE;EACnB,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,WAAW,GAAGN,YAAY,CAACL,WAAW,CAAC;EAC7C,MAAMY,SAAS,GAAGT,aAAa,CAACH,WAAW,EAAEO,iBAAiB,CAAC;EAC/DG,SAAS,CAACG,IAAI,CAACD,SAAS,CAAC;EACzB,IAAID,WAAW,EAAEF,QAAQ,CAACI,IAAI,CAAE,GAAED,SAAU,IAAGD,WAAY,EAAC,CAAC;EAE7DL,OAAO,CAACQ,OAAO,CAAC,CAAC;IAAEC,cAAc;IAAEC;EAAK,CAAC,KAAK;IAC5C,IAAIA,IAAI,KAAKf,WAAW,EAAE;IAC1Bc,cAAc,CAACD,OAAO,CAACG,IAAI,IAAI;MAC7B,MAAMC,KAAK,GAAGb,YAAY,CAACY,IAAI,CAAC;MAChC,MAAME,SAAS,GAAGhB,aAAa,CAACc,IAAI,EAAEV,iBAAiB,CAAC;MACxDG,SAAS,CAACG,IAAI,CAACM,SAAS,CAAC;MACzB,MAAMC,WAAW,GAAGlB,gBAAgB,CAACiB,SAAS,EAAEH,IAAI,EAAEE,KAAK,EAAET,QAAQ,CAAC;MACtE,IAAIW,WAAW,IAAI,CAACX,QAAQ,CAACY,QAAQ,CAACD,WAAW,CAAC,EAAEX,QAAQ,CAACI,IAAI,CAACO,WAAW,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFE,MAAM,CAACC,IAAI,CAACf,KAAK,CAAC,CAACM,OAAO,CAACU,GAAG,IAAI;IAChC,IAAId,SAAS,CAACe,OAAO,CAACD,GAAG,CAAC,KAAK,CAAC,CAAC,EAAEf,QAAQ,CAACI,IAAI,CAAE,GAAEW,GAAI,IAAGhB,KAAK,CAACgB,GAAG,CAAE,EAAC,CAAC;EAC1E,CAAC,CAAC;EAEF,OAAOf,QAAQ,CAACiB,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,eAAetB,aAAa"}
1
+ {"version":3,"file":"build-url-query.js","names":["SEARCH_TERM","TEXT_SEARCH","parseFilterValue","buildQueryKey","buildUrlQuery","filterValues","filters","listComponentName","query","newQuery","queryKeys","searchValue","searchKey","push","forEach","propsToDisplay","type","prop","value","filterKey","parsedValue","includes","Object","keys","key","indexOf","join"],"sources":["../../../../src/components/SearchFilter/helpers/build-url-query.js"],"sourcesContent":["import { SEARCH_TERM, TEXT_SEARCH } from '../constants';\nimport parseFilterValue from './parse-filter-value';\nimport { buildQueryKey } from '../../../helpers';\n\nconst buildUrlQuery = (filterValues, filters, listComponentName = '', query = {}) => {\n if (!filterValues) return '';\n\n const newQuery = [];\n const queryKeys = [];\n const searchValue = filterValues[SEARCH_TERM];\n const searchKey = buildQueryKey(SEARCH_TERM, listComponentName);\n queryKeys.push(searchKey);\n if (searchValue) newQuery.push(`${searchKey}=${searchValue}`);\n\n filters.forEach(({ propsToDisplay, type }) => {\n if (type === TEXT_SEARCH) return;\n propsToDisplay.forEach(prop => {\n const value = filterValues[prop];\n const filterKey = buildQueryKey(prop, listComponentName);\n queryKeys.push(filterKey);\n const parsedValue = parseFilterValue(filterKey, type, value, newQuery);\n if (parsedValue && !newQuery.includes(parsedValue)) newQuery.push(parsedValue);\n });\n });\n\n Object.keys(query).forEach(key => {\n if (queryKeys.indexOf(key) === -1) newQuery.push(`${key}=${query[key]}`);\n });\n\n return newQuery.join('&');\n};\n\nexport default buildUrlQuery;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,WAAW,QAAQ,cAAc;AACvD,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,SAASC,aAAa,QAAQ,kBAAkB;AAEhD,MAAMC,aAAa,GAAGA,CAACC,YAAY,EAAEC,OAAO,EAAEC,iBAAiB,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EACnF,IAAI,CAACH,YAAY,EAAE,OAAO,EAAE;EAE5B,MAAMI,QAAQ,GAAG,EAAE;EACnB,MAAMC,SAAS,GAAG,EAAE;EACpB,MAAMC,WAAW,GAAGN,YAAY,CAACL,WAAW,CAAC;EAC7C,MAAMY,SAAS,GAAGT,aAAa,CAACH,WAAW,EAAEO,iBAAiB,CAAC;EAC/DG,SAAS,CAACG,IAAI,CAACD,SAAS,CAAC;EACzB,IAAID,WAAW,EAAEF,QAAQ,CAACI,IAAI,CAAE,GAAED,SAAU,IAAGD,WAAY,EAAC,CAAC;EAE7DL,OAAO,CAACQ,OAAO,CAAC,CAAC;IAAEC,cAAc;IAAEC;EAAK,CAAC,KAAK;IAC5C,IAAIA,IAAI,KAAKf,WAAW,EAAE;IAC1Bc,cAAc,CAACD,OAAO,CAACG,IAAI,IAAI;MAC7B,MAAMC,KAAK,GAAGb,YAAY,CAACY,IAAI,CAAC;MAChC,MAAME,SAAS,GAAGhB,aAAa,CAACc,IAAI,EAAEV,iBAAiB,CAAC;MACxDG,SAAS,CAACG,IAAI,CAACM,SAAS,CAAC;MACzB,MAAMC,WAAW,GAAGlB,gBAAgB,CAACiB,SAAS,EAAEH,IAAI,EAAEE,KAAK,EAAET,QAAQ,CAAC;MACtE,IAAIW,WAAW,IAAI,CAACX,QAAQ,CAACY,QAAQ,CAACD,WAAW,CAAC,EAAEX,QAAQ,CAACI,IAAI,CAACO,WAAW,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFE,MAAM,CAACC,IAAI,CAACf,KAAK,CAAC,CAACM,OAAO,CAACU,GAAG,IAAI;IAChC,IAAId,SAAS,CAACe,OAAO,CAACD,GAAG,CAAC,KAAK,CAAC,CAAC,EAAEf,QAAQ,CAACI,IAAI,CAAE,GAAEW,GAAI,IAAGhB,KAAK,CAACgB,GAAG,CAAE,EAAC,CAAC;EAC1E,CAAC,CAAC;EAEF,OAAOf,QAAQ,CAACiB,IAAI,CAAC,GAAG,CAAC;AAC3B,CAAC;AAED,eAAetB,aAAa"}
@@ -17,9 +17,7 @@ const searchFilterReducer = (state, action) => {
17
17
  shouldSearch: false
18
18
  });
19
19
  case 'reset':
20
- return _objectSpread(_objectSpread({}, newValues), {}, {
21
- shouldSearch: false
22
- });
20
+ return null;
23
21
  default:
24
22
  throw new Error();
25
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"searchFilterReducer.js","names":["searchFilterReducer","state","action","newValues","type","shouldSearch","_objectSpread","Error"],"sources":["../../../src/components/SearchFilter/searchFilterReducer.js"],"sourcesContent":["const searchFilterReducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return { ...newValues, shouldSearch: false };\n default:\n throw new Error();\n }\n};\n\nexport default searchFilterReducer;\n"],"mappings":";;;AAAA,MAAMA,mBAAmB,GAAGA,CAACC,KAAK,EAAEC,MAAM,KAAK;EAC7C,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC,YAAY,GAAG;EAAK,CAAC,GAAGH,MAAM;EACvD,QAAQE,IAAI;IACV,KAAK,QAAQ;MACX,OAAAE,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAYL,KAAK,GAAKE,SAAS;QAAEE;MAAY;IAC/C,KAAK,aAAa;MAChB,OAAAC,aAAA,CAAAA,aAAA,KAAYL,KAAK;QAAEI,YAAY,EAAE;MAAK;IACxC,KAAK,OAAO;MACV,OAAAC,aAAA,CAAAA,aAAA,KAAYH,SAAS;QAAEE,YAAY,EAAE;MAAK;IAC5C;MACE,MAAM,IAAIE,KAAK,CAAC,CAAC;EACrB;AACF,CAAC;AAED,eAAeP,mBAAmB"}
1
+ {"version":3,"file":"searchFilterReducer.js","names":["searchFilterReducer","state","action","newValues","type","shouldSearch","_objectSpread","Error"],"sources":["../../../src/components/SearchFilter/searchFilterReducer.js"],"sourcesContent":["const searchFilterReducer = (state, action) => {\n const { newValues, type, shouldSearch = true } = action;\n switch (type) {\n case 'update':\n return { ...state, ...newValues, shouldSearch };\n case 'resetSearch':\n return { ...state, shouldSearch: false };\n case 'reset':\n return null;\n default:\n throw new Error();\n }\n};\n\nexport default searchFilterReducer;\n"],"mappings":";;;AAAA,MAAMA,mBAAmB,GAAGA,CAACC,KAAK,EAAEC,MAAM,KAAK;EAC7C,MAAM;IAAEC,SAAS;IAAEC,IAAI;IAAEC,YAAY,GAAG;EAAK,CAAC,GAAGH,MAAM;EACvD,QAAQE,IAAI;IACV,KAAK,QAAQ;MACX,OAAAE,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAYL,KAAK,GAAKE,SAAS;QAAEE;MAAY;IAC/C,KAAK,aAAa;MAChB,OAAAC,aAAA,CAAAA,aAAA,KAAYL,KAAK;QAAEI,YAAY,EAAE;MAAK;IACxC,KAAK,OAAO;MACV,OAAO,IAAI;IACb;MACE,MAAM,IAAIE,KAAK,CAAC,CAAC;EACrB;AACF,CAAC;AAED,eAAeP,mBAAmB"}
@@ -11,12 +11,19 @@ export default function getEntitiesWithBanner(entities, options, hasNewBannerSet
11
11
  const {
12
12
  parent,
13
13
  transform,
14
- limit
14
+ limit,
15
+ banner
15
16
  } = options;
17
+ const {
18
+ adunit,
19
+ baseAdunit
20
+ } = banner || {};
16
21
  return _objectSpread(_objectSpread({}, currentEntity), {}, {
17
22
  parent,
18
23
  limit,
19
- transform
24
+ transform,
25
+ adunit,
26
+ baseAdunit
20
27
  });
21
28
  });
22
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-entities-with-banner.js","names":["injectBannersToEntities","getEntitiesWithBanner","entities","options","hasNewBannerSettings","hasBanner","map","currentEntity","parent","transform","limit","_objectSpread"],"sources":["../../src/helpers/get-entities-with-banner.js"],"sourcesContent":["import injectBannersToEntities from './inject-banners-to-entities';\n\nexport default function getEntitiesWithBanner(entities, options, hasNewBannerSettings) {\n const { hasBanner } = options;\n if (hasNewBannerSettings) {\n return entities.map(currentEntity => {\n const { parent, transform, limit } = options;\n return { ...currentEntity, parent, limit, transform };\n });\n }\n if (!hasBanner) return entities;\n\n return injectBannersToEntities(entities, options);\n}\n"],"mappings":";;;AAAA,OAAOA,uBAAuB,MAAM,8BAA8B;AAElE,eAAe,SAASC,qBAAqBA,CAACC,QAAQ,EAAEC,OAAO,EAAEC,oBAAoB,EAAE;EACrF,MAAM;IAAEC;EAAU,CAAC,GAAGF,OAAO;EAC7B,IAAIC,oBAAoB,EAAE;IACxB,OAAOF,QAAQ,CAACI,GAAG,CAACC,aAAa,IAAI;MACnC,MAAM;QAAEC,MAAM;QAAEC,SAAS;QAAEC;MAAM,CAAC,GAAGP,OAAO;MAC5C,OAAAQ,aAAA,CAAAA,aAAA,KAAYJ,aAAa;QAAEC,MAAM;QAAEE,KAAK;QAAED;MAAS;IACrD,CAAC,CAAC;EACJ;EACA,IAAI,CAACJ,SAAS,EAAE,OAAOH,QAAQ;EAE/B,OAAOF,uBAAuB,CAACE,QAAQ,EAAEC,OAAO,CAAC;AACnD"}
1
+ {"version":3,"file":"get-entities-with-banner.js","names":["injectBannersToEntities","getEntitiesWithBanner","entities","options","hasNewBannerSettings","hasBanner","map","currentEntity","parent","transform","limit","banner","adunit","baseAdunit","_objectSpread"],"sources":["../../src/helpers/get-entities-with-banner.js"],"sourcesContent":["import injectBannersToEntities from './inject-banners-to-entities';\n\nexport default function getEntitiesWithBanner(entities, options, hasNewBannerSettings) {\n const { hasBanner } = options;\n if (hasNewBannerSettings) {\n return entities.map(currentEntity => {\n const { parent, transform, limit, banner } = options;\n const { adunit, baseAdunit } = banner || {};\n return { ...currentEntity, parent, limit, transform, adunit, baseAdunit };\n });\n }\n if (!hasBanner) return entities;\n\n return injectBannersToEntities(entities, options);\n}\n"],"mappings":";;;AAAA,OAAOA,uBAAuB,MAAM,8BAA8B;AAElE,eAAe,SAASC,qBAAqBA,CAACC,QAAQ,EAAEC,OAAO,EAAEC,oBAAoB,EAAE;EACrF,MAAM;IAAEC;EAAU,CAAC,GAAGF,OAAO;EAC7B,IAAIC,oBAAoB,EAAE;IACxB,OAAOF,QAAQ,CAACI,GAAG,CAACC,aAAa,IAAI;MACnC,MAAM;QAAEC,MAAM;QAAEC,SAAS;QAAEC,KAAK;QAAEC;MAAO,CAAC,GAAGR,OAAO;MACpD,MAAM;QAAES,MAAM;QAAEC;MAAW,CAAC,GAAGF,MAAM,IAAI,CAAC,CAAC;MAC3C,OAAAG,aAAA,CAAAA,aAAA,KAAYP,aAAa;QAAEC,MAAM;QAAEE,KAAK;QAAED,SAAS;QAAEG,MAAM;QAAEC;MAAU;IACzE,CAAC,CAAC;EACJ;EACA,IAAI,CAACR,SAAS,EAAE,OAAOH,QAAQ;EAE/B,OAAOF,uBAAuB,CAACE,QAAQ,EAAEC,OAAO,CAAC;AACnD"}
@@ -29,7 +29,7 @@ const commonAttributes = {
29
29
  };
30
30
  const supportedTypes = {
31
31
  row: {
32
- props: [WIDTH, ...responsiveProps, ...commonProps]
32
+ props: [WIDTH, STICKY, ...responsiveProps, ...commonProps]
33
33
  },
34
34
  column: {
35
35
  props: [WIDTH, STICKY, ...responsiveProps, ...commonProps]
@@ -1 +1 @@
1
- {"version":3,"file":"get-class-modifiers.js","names":["BUTTON","BUTTON_ICON","CLASS_MODIFIERS","ICON_BUTTON","LINK","CODE","COMPONENTS_DEFAULT_VALUES","BUTTON_TYPE","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","icon","textBlock","_objectSpread","banner","image","hero","video","list","code","getClassModifiers","type","supportedProps","defaultValues","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","undefined","filter","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-class-modifiers.js","names":["BUTTON","BUTTON_ICON","CLASS_MODIFIERS","ICON_BUTTON","LINK","CODE","COMPONENTS_DEFAULT_VALUES","BUTTON_TYPE","DEFAULT","DESKTOP","GTM_CLASS_NAME","HIDE","ICON","MOBILE","MODIFIER","SIZE","STICKY","STYLE","TABLET","WIDTH","ALIGNMENT","commonProps","responsiveProps","buttonProps","iconProps","commonAttributes","props","prefix","supportedTypes","row","column","button","icon","textBlock","_objectSpread","banner","image","hero","video","list","code","getClassModifiers","type","supportedProps","defaultValues","modifiers","map","prop","propValue","stringValue","isResponsiveProp","includes","undefined","filter","Boolean","unshift","join"],"sources":["../../src/utils/get-class-modifiers.js"],"sourcesContent":["import { BUTTON, BUTTON_ICON, CLASS_MODIFIERS, ICON_BUTTON, LINK, CODE } from '../constants';\nimport COMPONENTS_DEFAULT_VALUES from '../constants/componentsDefaultValues';\n\nconst {\n BUTTON_TYPE,\n DEFAULT,\n DESKTOP,\n GTM_CLASS_NAME,\n HIDE,\n ICON,\n MOBILE,\n MODIFIER,\n SIZE,\n STICKY,\n STYLE,\n TABLET,\n WIDTH,\n ALIGNMENT\n} = CLASS_MODIFIERS;\nconst commonProps = [GTM_CLASS_NAME, MODIFIER];\nconst responsiveProps = [DESKTOP, TABLET, MOBILE];\nconst buttonProps = [SIZE, BUTTON_TYPE, ICON, STYLE, ALIGNMENT, ...commonProps];\nconst iconProps = [BUTTON_TYPE, ...commonProps];\n\nconst commonAttributes = { props: commonProps, prefix: null };\n\nconst supportedTypes = {\n row: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n column: { props: [WIDTH, STICKY, ...responsiveProps, ...commonProps] },\n button: {\n props: buttonProps,\n prefix: BUTTON\n },\n icon: { props: iconProps, prefix: ICON_BUTTON },\n textBlock: { ...commonAttributes },\n banner: { ...commonAttributes },\n image: { ...commonAttributes },\n hero: { ...commonAttributes },\n video: { ...commonAttributes },\n list: { ...commonAttributes },\n code: { ...commonAttributes, prefix: CODE }\n};\n\nexport default function getClassModifiers(type, props) {\n const { props: supportedProps, prefix } = supportedTypes[type] || {};\n const defaultValues = COMPONENTS_DEFAULT_VALUES[type] || {};\n if (!supportedProps) return '';\n\n const modifiers = supportedProps\n .map(prop => {\n const propValue = props[prop];\n const stringValue = typeof propValue === 'boolean' ? prop : propValue;\n const isResponsiveProp = responsiveProps.includes(prop);\n if (prop === ICON) return propValue ? BUTTON_ICON : '';\n if (prop === MODIFIER && propValue) return `${propValue}`;\n if (propValue === DEFAULT || stringValue === type) return '';\n if (isResponsiveProp) return propValue ? '' : `${HIDE}-${prop}`;\n if (propValue === null || propValue === undefined) return defaultValues[prop] || '';\n if (prop === WIDTH || prop === LINK) return `${type}--${propValue}`;\n if (prop === GTM_CLASS_NAME) return `${propValue}`;\n if (prop === STICKY) return propValue ? `${type}--${stringValue}` : '';\n\n return stringValue ? `${type}--${stringValue}` : '';\n })\n .filter(Boolean);\n if (prefix) modifiers.unshift(prefix);\n\n return modifiers.join(' ');\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.131.0-project-admin-customisations.2",
3
+ "version": "0.132.0-admin-updates.0",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,15 +27,15 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.131.0-project-admin-customisations.0",
31
- "@blaze-cms/core-errors": "0.131.0-project-admin-customisations.0",
32
- "@blaze-cms/core-errors-ui": "0.131.0-project-admin-customisations.0",
30
+ "@blaze-cms/core-auth-ui": "0.132.0-admin-updates.0",
31
+ "@blaze-cms/core-errors": "0.132.0-admin-updates.0",
32
+ "@blaze-cms/core-errors-ui": "0.132.0-admin-updates.0",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.5",
34
- "@blaze-cms/nextjs-components": "0.131.0-project-admin-customisations.0",
35
- "@blaze-cms/plugin-search-ui": "0.131.0-project-admin-customisations.2",
36
- "@blaze-cms/setup-ui": "0.131.0-project-admin-customisations.0",
37
- "@blaze-cms/utils": "0.131.0-project-admin-customisations.0",
38
- "@blaze-cms/utils-handlebars": "0.131.0-project-admin-customisations.0",
34
+ "@blaze-cms/nextjs-components": "0.132.0-admin-updates.0",
35
+ "@blaze-cms/plugin-search-ui": "0.132.0-admin-updates.0",
36
+ "@blaze-cms/setup-ui": "0.132.0-admin-updates.0",
37
+ "@blaze-cms/utils": "0.132.0-admin-updates.0",
38
+ "@blaze-cms/utils-handlebars": "0.132.0-admin-updates.0",
39
39
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
40
40
  "@blaze-react/button": "0.5.19",
41
41
  "@blaze-react/checkboxes": "0.5.31",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "afa5f3dedb77eefe1ca4d1e043a8c88d4771e982"
92
+ "gitHead": "fd6ece22f357131c0b0e5201e5e1df825389b860"
93
93
  }
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { useRouter } from 'next/router';
3
+
4
+ const recreateOnNavigation = Component => {
5
+ const InnerComponent = props => {
6
+ const { name } = props;
7
+ const router = useRouter();
8
+ const key = `${router.asPath}:${name}`;
9
+ return <Component {...props} key={key} />;
10
+ };
11
+
12
+ InnerComponent.WrappedComponent = Component;
13
+
14
+ InnerComponent.displayName = `recreateOnNavigation(${Component.displayName ||
15
+ Component.name ||
16
+ 'Component'})`;
17
+
18
+ return InnerComponent;
19
+ };
20
+
21
+ export default recreateOnNavigation;
@@ -10,8 +10,8 @@ const SmoothScrollCarousel = ({
10
10
  }) => {
11
11
  const wrapperClassName = `cards-carousel-smooth${bannerModifier}`;
12
12
  const contentClassName = `cards-carousel--content smooth-scroll items-per-row-${itemsPerRow}`;
13
- const aimationTime = (autoScrollTimer * numberOfCards) / 1000;
14
- const animationDuration = `${aimationTime < 1 ? 1 : aimationTime}s`;
13
+ const animationTime = (autoScrollTimer * numberOfCards) / 1000;
14
+ const animationDuration = `${animationTime < 1 ? 1 : animationTime}s`;
15
15
 
16
16
  return (
17
17
  <div className={wrapperClassName}>
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { hasChildren } from '../../helpers';
4
4
 
5
- const ContentGroupSection = ({ children, name }) => {
5
+ const ContentGroupSection = ({ children, name, ...props }) => {
6
6
  if (!hasChildren(children)) return null;
7
7
 
8
8
  return (
@@ -45,11 +45,12 @@ const buildLoopPropsContent = (loopProps = [], propsToDisplay = [], limit = 0, d
45
45
 
46
46
  return propertiesToDisplay.map(key => {
47
47
  const loopValue = loopValues[key];
48
- const propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];
48
+ const loopValueItem = loopValue && loopValue[i];
49
+ const propValue = loopValueItem ? getLoopValue(loopValueItem) : regularValues[key];
49
50
  if (!propValue) return null;
50
51
 
51
52
  const processedValue = processDataSummaryValue(propValue, options);
52
- const linkToPublishedContent = getLinkToPublishedContent(key, data);
53
+ const linkToPublishedContent = getLinkToPublishedContent(key, data, loopValueItem);
53
54
  return [upperFirst(label), processedValue, linkToPublishedContent, modifier];
54
55
  });
55
56
  })