@blaze-cms/react-page-builder 0.128.0-core-styles.0 → 0.128.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 (95) hide show
  1. package/CHANGELOG.md +46 -369
  2. package/lib/components/Card/Card.js +1 -1
  3. package/lib/components/Card/Card.js.map +1 -1
  4. package/lib/components/Card/CardsContainer.js +53 -24
  5. package/lib/components/Card/CardsContainer.js.map +1 -1
  6. package/lib/components/DataSummary/DataSummaryFactory.js +2 -1
  7. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  8. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  9. package/lib/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  10. package/lib/components/DataSummary/helpers/get-link-props.js +23 -0
  11. package/lib/components/DataSummary/helpers/get-link-props.js.map +1 -0
  12. package/lib/components/DataSummary/helpers/get-link-to-published-content.js +7 -12
  13. package/lib/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  14. package/lib/components/DataSummary/helpers/index.js +7 -0
  15. package/lib/components/DataSummary/helpers/index.js.map +1 -1
  16. package/lib/components/Image/Image.js +1 -1
  17. package/lib/components/Image/Image.js.map +1 -1
  18. package/lib/components/List/components/Full/FullRender.js.map +1 -1
  19. package/lib/components/List/components/helpers/check-if-should-render-banner.js +27 -5
  20. package/lib/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  21. package/lib/components/List/components/helpers/index.js +8 -2
  22. package/lib/components/List/components/helpers/index.js.map +1 -1
  23. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  24. package/lib/components/SearchFilter/components/Checkbox.js +6 -1
  25. package/lib/components/SearchFilter/components/Checkbox.js.map +1 -1
  26. package/lib/components/SearchFilter/components/Range.js +9 -5
  27. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  28. package/lib/components/SearchFilter/components/Select.js +9 -5
  29. package/lib/components/SearchFilter/components/Select.js.map +1 -1
  30. package/lib/components/SearchFilter/components/TextSearch.js +9 -5
  31. package/lib/components/SearchFilter/components/TextSearch.js.map +1 -1
  32. package/lib/helpers/build-props-query.js +34 -24
  33. package/lib/helpers/build-props-query.js.map +1 -1
  34. package/lib/hooks/helpers/RenderComponent.js +3 -2
  35. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  36. package/lib-es/components/Card/Card.js +1 -1
  37. package/lib-es/components/Card/Card.js.map +1 -1
  38. package/lib-es/components/Card/CardsContainer.js +59 -35
  39. package/lib-es/components/Card/CardsContainer.js.map +1 -1
  40. package/lib-es/components/DataSummary/DataSummaryFactory.js +3 -2
  41. package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
  42. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +3 -1
  43. package/lib-es/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js.map +1 -1
  44. package/lib-es/components/DataSummary/helpers/get-link-props.js +6 -0
  45. package/lib-es/components/DataSummary/helpers/get-link-props.js.map +1 -0
  46. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js +4 -7
  47. package/lib-es/components/DataSummary/helpers/get-link-to-published-content.js.map +1 -1
  48. package/lib-es/components/DataSummary/helpers/index.js +2 -1
  49. package/lib-es/components/DataSummary/helpers/index.js.map +1 -1
  50. package/lib-es/components/Image/Image.js +1 -1
  51. package/lib-es/components/Image/Image.js.map +1 -1
  52. package/lib-es/components/List/components/Full/FullRender.js.map +1 -1
  53. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js +29 -3
  54. package/lib-es/components/List/components/helpers/check-if-should-render-banner.js.map +1 -1
  55. package/lib-es/components/List/components/helpers/index.js +3 -2
  56. package/lib-es/components/List/components/helpers/index.js.map +1 -1
  57. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  58. package/lib-es/components/SearchFilter/components/Checkbox.js +6 -1
  59. package/lib-es/components/SearchFilter/components/Checkbox.js.map +1 -1
  60. package/lib-es/components/SearchFilter/components/Range.js +9 -5
  61. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  62. package/lib-es/components/SearchFilter/components/Select.js +9 -5
  63. package/lib-es/components/SearchFilter/components/Select.js.map +1 -1
  64. package/lib-es/components/SearchFilter/components/TextSearch.js +9 -5
  65. package/lib-es/components/SearchFilter/components/TextSearch.js.map +1 -1
  66. package/lib-es/helpers/build-props-query.js +22 -9
  67. package/lib-es/helpers/build-props-query.js.map +1 -1
  68. package/lib-es/hooks/helpers/RenderComponent.js +3 -2
  69. package/lib-es/hooks/helpers/RenderComponent.js.map +1 -1
  70. package/package.json +10 -9
  71. package/src/components/Card/Card.js +2 -2
  72. package/src/components/Card/CardsContainer.js +54 -35
  73. package/src/components/DataSummary/DataSummaryFactory.js +3 -2
  74. package/src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js +1 -1
  75. package/src/components/DataSummary/helpers/get-link-props.js +7 -0
  76. package/src/components/DataSummary/helpers/get-link-to-published-content.js +4 -8
  77. package/src/components/DataSummary/helpers/index.js +3 -1
  78. package/src/components/Image/Image.js +1 -1
  79. package/src/components/List/components/Full/FullRender.js +0 -1
  80. package/src/components/List/components/helpers/check-if-should-render-banner.js +24 -3
  81. package/src/components/List/components/helpers/index.js +4 -2
  82. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +0 -1
  83. package/src/components/SearchFilter/components/Checkbox.js +4 -0
  84. package/src/components/SearchFilter/components/Range.js +7 -4
  85. package/src/components/SearchFilter/components/Select.js +23 -17
  86. package/src/components/SearchFilter/components/TextSearch.js +30 -26
  87. package/src/helpers/build-props-query.js +46 -33
  88. package/src/hooks/helpers/RenderComponent.js +19 -16
  89. package/tests/unit/src/components/Card/__snapshots__/Card.test.js.snap +10 -10
  90. package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +8 -8
  91. package/tests/unit/src/components/DataSummary/DataSummaryTypes/__snapshots__/ItemDetailsSummary.test.js.snap +24 -4
  92. package/tests/unit/src/components/DataSummary/helpers/get-link-props.test.js +35 -0
  93. package/tests/unit/src/components/DataSummary/helpers/get-link-to-published-content.test.js +0 -3
  94. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +12 -12
  95. package/tests/unit/src/components/List/components/helpers/check-if-should-render-banner.test.js +59 -28
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import { MainContext } from '@blaze-cms/nextjs-components';
7
7
  import { getSingleEntitySchema } from '../../application/query';
8
8
  import { buildPropsQuery, checkPropsToUse } from '../../helpers';
9
- import { getDataSummaryQuery } from './helpers';
9
+ import { getDataSummaryQuery, getLinkProps } from './helpers';
10
10
  import DataSummaryRender from './DataSummaryRender';
11
11
  const DataSummaryFactory = _ref => {
12
12
  let {
@@ -40,7 +40,8 @@ const DataSummaryFactory = _ref => {
40
40
  if (!data) return null;
41
41
  if (!propsToDisplay || !propsToDisplay.length) return null;
42
42
  const propsToDisplayValues = checkPropsToUse(propsToDisplay);
43
- const propsQueryString = buildPropsQuery(data, propsToDisplayValues);
43
+ const linkProps = getLinkProps(propsToDisplay);
44
+ const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);
44
45
  const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);
45
46
  const recordId = dataRecordId[0] || dataSummaryProps.parent.itemId;
46
47
  return /*#__PURE__*/React.createElement(DataSummaryRender, {
@@ -1 +1 @@
1
- {"version":3,"file":"DataSummaryFactory.js","names":["React","useContext","useQuery","PropTypes","MainContext","getSingleEntitySchema","buildPropsQuery","checkPropsToUse","getDataSummaryQuery","DataSummaryRender","DataSummaryFactory","_ref","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","dataSummaryProps","_objectWithoutProperties","_excluded","entityForQuery","parent","itemEntity","data","error","loading","variables","id","isPreview","message","length","propsToDisplayValues","propsQueryString","dataSummaryQuery","recordId","itemId","createElement","query","htmlTag","propTypes","string","array","bool","number","defaultProps"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n ...dataSummaryProps\n}) => {\n const entityForQuery = useSelectedEntity ? entity : dataSummaryProps.parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n const { isPreview } = useContext(MainContext);\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || dataSummaryProps.parent.itemId;\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0\n};\n\nexport default DataSummaryFactory;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,qBAAqB,QAAQ,yBAAyB;AAC/D,SAASC,eAAe,EAAEC,eAAe,QAAQ,eAAe;AAChE,SAASC,mBAAmB,QAAQ,WAAW;AAC/C,OAAOC,iBAAiB,MAAM,qBAAqB;AAEnD,MAAMC,kBAAkB,GAAGC,IAAA,IAYrB;EAAA,IAZsB;MAC1BC,MAAM;MACNC,YAAY;MACZC,cAAc;MACdC,IAAI;MACJC,iBAAiB;MACjBC,YAAY;MACZC,QAAQ;MACRC,YAAY;MACZC,cAAc;MACdC;IAEF,CAAC,GAAAV,IAAA;IADIW,gBAAgB,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEnB,MAAMC,cAAc,GAAGT,iBAAiB,GAAGJ,MAAM,GAAGU,gBAAgB,CAACI,MAAM,CAACC,UAAU;EACtF,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG5B,QAAQ,CAACG,qBAAqB,EAAE;IAC/D0B,SAAS,EAAE;MAAEC,EAAE,EAAEP;IAAe;EAClC,CAAC,CAAC;EACF,MAAM;IAAEQ;EAAU,CAAC,GAAGhC,UAAU,CAACG,WAAW,CAAC;EAE7C,IAAI0B,OAAO,EAAE,OAAO,EAAE;EACtB,IAAID,KAAK,EAAE,OAAOA,KAAK,CAACK,OAAO;EAC/B,IAAI,CAACN,IAAI,EAAE,OAAO,IAAI;EACtB,IAAI,CAACd,cAAc,IAAI,CAACA,cAAc,CAACqB,MAAM,EAAE,OAAO,IAAI;EAC1D,MAAMC,oBAAoB,GAAG7B,eAAe,CAACO,cAAc,CAAC;EAC5D,MAAMuB,gBAAgB,GAAG/B,eAAe,CAACsB,IAAI,EAAEQ,oBAAoB,CAAC;EACpE,MAAME,gBAAgB,GAAG9B,mBAAmB,CAACoB,IAAI,EAAEK,SAAS,EAAEI,gBAAgB,CAAC;EAC/E,MAAME,QAAQ,GAAG1B,YAAY,CAAC,CAAC,CAAC,IAAIS,gBAAgB,CAACI,MAAM,CAACc,MAAM;EAElE,oBACExC,KAAA,CAAAyC,aAAA,CAAChC,iBAAiB;IAChB8B,QAAQ,EAAEA,QAAS;IACnBzB,cAAc,EAAEA,cAAe;IAC/BM,cAAc,EAAEA,cAAe;IAC/BC,SAAS,EAAEA,SAAU;IACrBqB,KAAK,EAAEJ,gBAAiB;IACxBvB,IAAI,EAAEA,IAAK;IACXE,YAAY,EAAEA,YAAa;IAC3BC,QAAQ,EAAEA,QAAS;IACnByB,OAAO,EAAExB;EAAa,EACtB;AAEN,CAAC;AAEDT,kBAAkB,CAACkC,SAAS,GAAG;EAC7B7B,IAAI,EAAEZ,SAAS,CAAC0C,MAAM;EACtBhC,YAAY,EAAEV,SAAS,CAAC2C,KAAK;EAC7BhC,cAAc,EAAEX,SAAS,CAAC2C,KAAK;EAC/BlC,MAAM,EAAET,SAAS,CAAC0C,MAAM;EACxB7B,iBAAiB,EAAEb,SAAS,CAAC4C,IAAI;EACjC9B,YAAY,EAAEd,SAAS,CAAC0C,MAAM;EAC9B3B,QAAQ,EAAEf,SAAS,CAAC0C,MAAM;EAC1B1B,YAAY,EAAEhB,SAAS,CAAC0C,MAAM;EAC9BzB,cAAc,EAAEjB,SAAS,CAAC2C,KAAK;EAC/BzB,SAAS,EAAElB,SAAS,CAAC6C;AACvB,CAAC;AAEDtC,kBAAkB,CAACuC,YAAY,GAAG;EAChClC,IAAI,EAAE,MAAM;EACZF,YAAY,EAAE,EAAE;EAChBC,cAAc,EAAE,EAAE;EAClBE,iBAAiB,EAAE,IAAI;EACvBJ,MAAM,EAAE,EAAE;EACVK,YAAY,EAAE,EAAE;EAChBC,QAAQ,EAAE,EAAE;EACZC,YAAY,EAAE,IAAI;EAClBC,cAAc,EAAE,EAAE;EAClBC,SAAS,EAAE;AACb,CAAC;AAED,eAAeX,kBAAkB"}
1
+ {"version":3,"file":"DataSummaryFactory.js","names":["React","useContext","useQuery","PropTypes","MainContext","getSingleEntitySchema","buildPropsQuery","checkPropsToUse","getDataSummaryQuery","getLinkProps","DataSummaryRender","DataSummaryFactory","_ref","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","dataSummaryProps","_objectWithoutProperties","_excluded","entityForQuery","parent","itemEntity","data","error","loading","variables","id","isPreview","message","length","propsToDisplayValues","linkProps","propsQueryString","dataSummaryQuery","recordId","itemId","createElement","query","htmlTag","propTypes","string","array","bool","number","defaultProps"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery, getLinkProps } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n ...dataSummaryProps\n}) => {\n const entityForQuery = useSelectedEntity ? entity : dataSummaryProps.parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n const { isPreview } = useContext(MainContext);\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const linkProps = getLinkProps(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || dataSummaryProps.parent.itemId;\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0\n};\n\nexport default DataSummaryFactory;\n"],"mappings":"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"}
@@ -16,7 +16,9 @@ const ItemDetailsSummaryContent = ({
16
16
  return /*#__PURE__*/React.createElement("span", {
17
17
  className: modifier,
18
18
  key: dynamicKey
19
- }, wrappedValue);
19
+ }, key && /*#__PURE__*/React.createElement("span", {
20
+ className: "item-details-summary-label"
21
+ }, key), " ", wrappedValue);
20
22
  });
21
23
  };
22
24
  ItemDetailsSummaryContent.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"ItemDetailsSummaryContent.js","names":["React","useContext","PropTypes","MainContext","getWrappedValueWithLink","parseBooleanValues","withTitle","ItemDetailsSummaryContent","summaryPropsWithContent","itemId","map","key","value","link","modifier","index","dynamicKey","join","wrappedValue","createElement","className","propTypes","array","isRequired"],"sources":["../../../../../src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getWrappedValueWithLink } from '../../../../helpers';\nimport { parseBooleanValues } from '../../helpers';\nimport { withTitle } from '../../../../HOC';\n\nconst ItemDetailsSummaryContent = ({ summaryPropsWithContent }) => {\n const { itemId } = useContext(MainContext);\n return summaryPropsWithContent.map(([key, value, link, modifier], index) => {\n const dynamicKey = [itemId, index, value].join('-');\n const wrappedValue = parseBooleanValues(getWrappedValueWithLink(value, link, itemId), key);\n\n return (\n <span className={modifier} key={dynamicKey}>\n {wrappedValue}\n </span>\n );\n });\n};\n\nItemDetailsSummaryContent.propTypes = {\n summaryPropsWithContent: PropTypes.array.isRequired\n};\n\nexport default withTitle(ItemDetailsSummaryContent);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,uBAAuB,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,yBAAyB,GAAGA,CAAC;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGR,UAAU,CAACE,WAAW,CAAC;EAC1C,OAAOK,uBAAuB,CAACE,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,CAAC,EAAEC,KAAK,KAAK;IAC1E,MAAMC,UAAU,GAAG,CAACP,MAAM,EAAEM,KAAK,EAAEH,KAAK,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IACnD,MAAMC,YAAY,GAAGb,kBAAkB,CAACD,uBAAuB,CAACQ,KAAK,EAAEC,IAAI,EAAEJ,MAAM,CAAC,EAAEE,GAAG,CAAC;IAE1F,oBACEX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAEN,QAAS;MAACH,GAAG,EAAEK;IAAW,GACxCE,YAAY,CACR;EAEX,CAAC,CAAC;AACJ,CAAC;AAEDX,yBAAyB,CAACc,SAAS,GAAG;EACpCb,uBAAuB,EAAEN,SAAS,CAACoB,KAAK,CAACC;AAC3C,CAAC;AAED,eAAejB,SAAS,CAACC,yBAAyB,CAAC"}
1
+ {"version":3,"file":"ItemDetailsSummaryContent.js","names":["React","useContext","PropTypes","MainContext","getWrappedValueWithLink","parseBooleanValues","withTitle","ItemDetailsSummaryContent","summaryPropsWithContent","itemId","map","key","value","link","modifier","index","dynamicKey","join","wrappedValue","createElement","className","propTypes","array","isRequired"],"sources":["../../../../../src/components/DataSummary/DataSummaryTypes/ItemDetailsSummary/ItemDetailsSummaryContent.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getWrappedValueWithLink } from '../../../../helpers';\nimport { parseBooleanValues } from '../../helpers';\nimport { withTitle } from '../../../../HOC';\n\nconst ItemDetailsSummaryContent = ({ summaryPropsWithContent }) => {\n const { itemId } = useContext(MainContext);\n return summaryPropsWithContent.map(([key, value, link, modifier], index) => {\n const dynamicKey = [itemId, index, value].join('-');\n const wrappedValue = parseBooleanValues(getWrappedValueWithLink(value, link, itemId), key);\n\n return (\n <span className={modifier} key={dynamicKey}>\n {key && <span className=\"item-details-summary-label\">{key}</span>} {wrappedValue}\n </span>\n );\n });\n};\n\nItemDetailsSummaryContent.propTypes = {\n summaryPropsWithContent: PropTypes.array.isRequired\n};\n\nexport default withTitle(ItemDetailsSummaryContent);\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,uBAAuB,QAAQ,qBAAqB;AAC7D,SAASC,kBAAkB,QAAQ,eAAe;AAClD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,yBAAyB,GAAGA,CAAC;EAAEC;AAAwB,CAAC,KAAK;EACjE,MAAM;IAAEC;EAAO,CAAC,GAAGR,UAAU,CAACE,WAAW,CAAC;EAC1C,OAAOK,uBAAuB,CAACE,GAAG,CAAC,CAAC,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,CAAC,EAAEC,KAAK,KAAK;IAC1E,MAAMC,UAAU,GAAG,CAACP,MAAM,EAAEM,KAAK,EAAEH,KAAK,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC;IACnD,MAAMC,YAAY,GAAGb,kBAAkB,CAACD,uBAAuB,CAACQ,KAAK,EAAEC,IAAI,EAAEJ,MAAM,CAAC,EAAEE,GAAG,CAAC;IAE1F,oBACEX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAEN,QAAS;MAACH,GAAG,EAAEK;IAAW,GACxCL,GAAG,iBAAIX,KAAA,CAAAmB,aAAA;MAAMC,SAAS,EAAC;IAA4B,GAAET,GAAG,CAAQ,EAAC,GAAC,EAACO,YAAY,CAC3E;EAEX,CAAC,CAAC;AACJ,CAAC;AAEDX,yBAAyB,CAACc,SAAS,GAAG;EACpCb,uBAAuB,EAAEN,SAAS,CAACoB,KAAK,CAACC;AAC3C,CAAC;AAED,eAAejB,SAAS,CAACC,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ const getLinkProps = (props = []) => props.map(({
2
+ propertiesToDisplay,
3
+ enableLink
4
+ }) => enableLink && propertiesToDisplay).flat().filter(Boolean);
5
+ export default getLinkProps;
6
+ //# sourceMappingURL=get-link-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-link-props.js","names":["getLinkProps","props","map","propertiesToDisplay","enableLink","flat","filter","Boolean"],"sources":["../../../../src/components/DataSummary/helpers/get-link-props.js"],"sourcesContent":["const getLinkProps = (props = []) =>\n props\n .map(({ propertiesToDisplay, enableLink }) => enableLink && propertiesToDisplay)\n .flat()\n .filter(Boolean);\n\nexport default getLinkProps;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAACC,KAAK,GAAG,EAAE,KAC9BA,KAAK,CACFC,GAAG,CAAC,CAAC;EAAEC,mBAAmB;EAAEC;AAAW,CAAC,KAAKA,UAAU,IAAID,mBAAmB,CAAC,CAC/EE,IAAI,EAAE,CACNC,MAAM,CAACC,OAAO,CAAC;AAEpB,eAAeP,YAAY"}
@@ -1,11 +1,8 @@
1
1
  const getLinkToPublishedContent = (key = '', props = {}) => {
2
- if (key.includes('published')) {
3
- const [baseKey] = key.split('.');
4
- if (!props[baseKey]) return '';
5
- const content = Array.isArray(props[baseKey]) ? props[baseKey][0] : props[baseKey];
6
- return content && content.url ? content.url : '';
7
- }
8
- return '';
2
+ const [baseKey] = key.split('.');
3
+ if (!props[baseKey]) return '';
4
+ const content = Array.isArray(props[baseKey]) ? props[baseKey][0] : props[baseKey];
5
+ return content && content.url ? content.url : '';
9
6
  };
10
7
  export default getLinkToPublishedContent;
11
8
  //# sourceMappingURL=get-link-to-published-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-link-to-published-content.js","names":["getLinkToPublishedContent","key","props","includes","baseKey","split","content","Array","isArray","url"],"sources":["../../../../src/components/DataSummary/helpers/get-link-to-published-content.js"],"sourcesContent":["const getLinkToPublishedContent = (key = '', props = {}) => {\n if (key.includes('published')) {\n const [baseKey] = key.split('.');\n if (!props[baseKey]) return '';\n\n const content = Array.isArray(props[baseKey]) ? props[baseKey][0] : props[baseKey];\n return content && content.url ? content.url : '';\n }\n return '';\n};\n\nexport default getLinkToPublishedContent;\n"],"mappings":"AAAA,MAAMA,yBAAyB,GAAGA,CAACC,GAAG,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAC1D,IAAID,GAAG,CAACE,QAAQ,CAAC,WAAW,CAAC,EAAE;IAC7B,MAAM,CAACC,OAAO,CAAC,GAAGH,GAAG,CAACI,KAAK,CAAC,GAAG,CAAC;IAChC,IAAI,CAACH,KAAK,CAACE,OAAO,CAAC,EAAE,OAAO,EAAE;IAE9B,MAAME,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACN,KAAK,CAACE,OAAO,CAAC,CAAC,GAAGF,KAAK,CAACE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGF,KAAK,CAACE,OAAO,CAAC;IAClF,OAAOE,OAAO,IAAIA,OAAO,CAACG,GAAG,GAAGH,OAAO,CAACG,GAAG,GAAG,EAAE;EAClD;EACA,OAAO,EAAE;AACX,CAAC;AAED,eAAeT,yBAAyB"}
1
+ {"version":3,"file":"get-link-to-published-content.js","names":["getLinkToPublishedContent","key","props","baseKey","split","content","Array","isArray","url"],"sources":["../../../../src/components/DataSummary/helpers/get-link-to-published-content.js"],"sourcesContent":["const getLinkToPublishedContent = (key = '', props = {}) => {\n const [baseKey] = key.split('.');\n if (!props[baseKey]) return '';\n const content = Array.isArray(props[baseKey]) ? props[baseKey][0] : props[baseKey];\n return content && content.url ? content.url : '';\n};\n\nexport default getLinkToPublishedContent;\n"],"mappings":"AAAA,MAAMA,yBAAyB,GAAGA,CAACC,GAAG,GAAG,EAAE,EAAEC,KAAK,GAAG,CAAC,CAAC,KAAK;EAC1D,MAAM,CAACC,OAAO,CAAC,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC;EAChC,IAAI,CAACF,KAAK,CAACC,OAAO,CAAC,EAAE,OAAO,EAAE;EAC9B,MAAME,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACL,KAAK,CAACC,OAAO,CAAC,CAAC,GAAGD,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGD,KAAK,CAACC,OAAO,CAAC;EAClF,OAAOE,OAAO,IAAIA,OAAO,CAACG,GAAG,GAAGH,OAAO,CAACG,GAAG,GAAG,EAAE;AAClD,CAAC;AAED,eAAeR,yBAAyB"}
@@ -5,5 +5,6 @@ import stripSummaryPropsContent from './strip-summary-props-content';
5
5
  import buildLoopPropsContent from './build-loop-props-content';
6
6
  import parseBooleanValues from './parse-boolean-values';
7
7
  import getLinkBasedOnValue from './get-link-based-on-value';
8
- export { getDataSummaryQuery, buildPropsToDisplayWithContent, getLinkToPublishedContent, stripSummaryPropsContent, buildLoopPropsContent, parseBooleanValues, getLinkBasedOnValue };
8
+ import getLinkProps from './get-link-props';
9
+ export { getDataSummaryQuery, buildPropsToDisplayWithContent, getLinkToPublishedContent, stripSummaryPropsContent, buildLoopPropsContent, parseBooleanValues, getLinkBasedOnValue, getLinkProps };
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getDataSummaryQuery","buildPropsToDisplayWithContent","getLinkToPublishedContent","stripSummaryPropsContent","buildLoopPropsContent","parseBooleanValues","getLinkBasedOnValue"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue\n};\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,8BAA8B,MAAM,uCAAuC;AAClF,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,mBAAmB,MAAM,2BAA2B;AAE3D,SACEN,mBAAmB,EACnBC,8BAA8B,EAC9BC,yBAAyB,EACzBC,wBAAwB,EACxBC,qBAAqB,EACrBC,kBAAkB,EAClBC,mBAAmB"}
1
+ {"version":3,"file":"index.js","names":["getDataSummaryQuery","buildPropsToDisplayWithContent","getLinkToPublishedContent","stripSummaryPropsContent","buildLoopPropsContent","parseBooleanValues","getLinkBasedOnValue","getLinkProps"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\nimport getLinkProps from './get-link-props';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue,\n getLinkProps\n};\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,8BAA8B,MAAM,uCAAuC;AAClF,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,mBAAmB,MAAM,2BAA2B;AAC3D,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,SACEP,mBAAmB,EACnBC,8BAA8B,EAC9BC,yBAAyB,EACzBC,wBAAwB,EACxBC,qBAAqB,EACrBC,kBAAkB,EAClBC,mBAAmB,EACnBC,YAAY"}
@@ -89,7 +89,7 @@ const Image = _ref => {
89
89
  ref: outerRef,
90
90
  className: wrapperClassName,
91
91
  modifiers: modifiers
92
- }, otherProps), elementTitle && /*#__PURE__*/React.createElement("h2", {
92
+ }, otherProps), elementTitle && /*#__PURE__*/React.createElement("div", {
93
93
  className: "heading heading--section"
94
94
  }, elementTitle), shouldDisplayImage && /*#__PURE__*/React.createElement(ImgWrapper, imgWrapperProps, /*#__PURE__*/React.createElement(ImageRender, _extends({}, otherProps, {
95
95
  alt: altText,
@@ -1 +1 @@
1
- {"version":3,"file":"Image.js","names":["React","useState","PropTypes","useInView","Wrapper","ImageRender","ImageDetails","getClassModifiers","getImageData","getDisplayCountData","shouldShowProperty","buildImageProperties","IMAGE","HERO","IN_VIEW_CONFIG","Image","_ref","url","modifier","_modifier","imageId","enableLightbox","name","toggleModal","handleSelectedImage","displayCount","lightboxImages","isHero","priority","type","areImageCreditsDisplayed","isCaptionDisplayed","images","imageData","imageUrl","elementTitle","credits","imageCredits","otherProps","_objectWithoutProperties","_excluded","displayLightbox","setDisplayLightbox","isIntersecting","outerRef","caption","altText","hrefUrl","imageDataCredits","href","ImgWrapper","imgWrapperProps","lightboxImgProps","modifiers","_objectSpread","wrapperClassName","toggleLightbox","handleEnableLightbox","shouldDisplayCaption","isDisplayed","value","creditsValue","shouldDisplayCredits","shouldDisplayCount","countMessage","sizeKey","filter","Boolean","join","shouldDisplayImage","createElement","_extends","ref","className","alt","role","onClick","propTypes","string","bool","func","array","object","defaultProps"],"sources":["../../../src/components/Image/Image.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport Wrapper from '../Wrapper';\nimport ImageRender from './ImageRender';\nimport ImageDetails from './ImageDetails';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { getImageData } from '../../utils';\nimport { getDisplayCountData, shouldShowProperty, buildImageProperties } from '../../helpers';\nimport { IMAGE, HERO, IN_VIEW_CONFIG } from '../../constants';\n\nconst Image = ({\n url,\n modifier: _modifier,\n imageId,\n enableLightbox,\n name,\n toggleModal,\n handleSelectedImage,\n displayCount,\n lightboxImages,\n isHero,\n priority,\n type,\n areImageCreditsDisplayed,\n isCaptionDisplayed,\n images,\n imageData,\n imageUrl,\n elementTitle,\n credits,\n imageCredits,\n ...otherProps\n}) => {\n const [displayLightbox, setDisplayLightbox] = useState(false);\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n\n const { caption, altText, hrefUrl, credits: imageDataCredits } = getImageData(\n otherProps,\n imageData\n );\n\n const href = url || hrefUrl;\n\n const { ImgWrapper, imgWrapperProps, lightboxImgProps } = buildImageProperties({\n href,\n name,\n enableLightbox,\n isHero\n });\n\n const modifier = _modifier || '';\n const modifiers = getClassModifiers(type, { modifier, ...otherProps });\n const wrapperClassName = isHero ? HERO : IMAGE;\n const toggleLightbox = () => setDisplayLightbox(!displayLightbox);\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const creditsValue = credits || imageCredits || imageDataCredits;\n\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: creditsValue\n });\n const { shouldDisplayCount, countMessage } = getDisplayCountData(displayCount, images);\n const sizeKey = [IMAGE, isHero ? HERO : '', _modifier].filter(Boolean).join(':');\n const shouldDisplayImage = !!imageUrl && (priority || isIntersecting);\n\n return (\n <Wrapper ref={outerRef} className={wrapperClassName} modifiers={modifiers} {...otherProps}>\n {elementTitle && <h2 className=\"heading heading--section\">{elementTitle}</h2>}\n {shouldDisplayImage && (\n <ImgWrapper {...imgWrapperProps}>\n <ImageRender\n {...otherProps}\n alt={altText}\n imageUrl={imageUrl}\n handleEnableLightbox={handleEnableLightbox}\n toggleLightbox={toggleLightbox}\n displayLightbox={displayLightbox}\n caption={caption}\n enableLightbox={enableLightbox}\n lightboxImgProps={lightboxImgProps}\n name={name}\n displayCount={displayCount}\n lightboxImages={lightboxImages}\n isHero={isHero}\n priority={priority}\n sizeKey={sizeKey}\n />\n </ImgWrapper>\n )}\n {shouldDisplayCount && (\n <div\n className=\"image__button image__button--count\"\n role=\"button\"\n onClick={handleEnableLightbox}>\n <p>{countMessage}</p>\n <div className=\"arrow arrow--right\" />\n </div>\n )}\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={creditsValue}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </Wrapper>\n );\n};\n\nImage.propTypes = {\n url: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n imageId: PropTypes.string,\n enableLightbox: PropTypes.bool,\n toggleModal: PropTypes.func,\n handleSelectedImage: PropTypes.func,\n displayCount: PropTypes.bool,\n lightboxImages: PropTypes.array,\n images: PropTypes.array,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n type: PropTypes.string,\n areImageCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n imageData: PropTypes.object,\n imageUrl: PropTypes.string,\n credits: PropTypes.string,\n imageCredits: PropTypes.string,\n elementTitle: PropTypes.string\n};\n\nImage.defaultProps = {\n modifier: '',\n url: null,\n name: '',\n credits: '',\n imageCredits: '',\n enableLightbox: false,\n imageId: '',\n handleSelectedImage: () => {},\n toggleModal: () => {},\n displayCount: false,\n lightboxImages: [],\n images: [],\n isHero: false,\n priority: false,\n type: '',\n areImageCreditsDisplayed: false,\n isCaptionDisplayed: true,\n imageData: {},\n imageUrl: '',\n elementTitle: ''\n};\n\nexport default Image;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Image.js","names":["React","useState","PropTypes","useInView","Wrapper","ImageRender","ImageDetails","getClassModifiers","getImageData","getDisplayCountData","shouldShowProperty","buildImageProperties","IMAGE","HERO","IN_VIEW_CONFIG","Image","_ref","url","modifier","_modifier","imageId","enableLightbox","name","toggleModal","handleSelectedImage","displayCount","lightboxImages","isHero","priority","type","areImageCreditsDisplayed","isCaptionDisplayed","images","imageData","imageUrl","elementTitle","credits","imageCredits","otherProps","_objectWithoutProperties","_excluded","displayLightbox","setDisplayLightbox","isIntersecting","outerRef","caption","altText","hrefUrl","imageDataCredits","href","ImgWrapper","imgWrapperProps","lightboxImgProps","modifiers","_objectSpread","wrapperClassName","toggleLightbox","handleEnableLightbox","shouldDisplayCaption","isDisplayed","value","creditsValue","shouldDisplayCredits","shouldDisplayCount","countMessage","sizeKey","filter","Boolean","join","shouldDisplayImage","createElement","_extends","ref","className","alt","role","onClick","propTypes","string","bool","func","array","object","defaultProps"],"sources":["../../../src/components/Image/Image.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport Wrapper from '../Wrapper';\nimport ImageRender from './ImageRender';\nimport ImageDetails from './ImageDetails';\nimport getClassModifiers from '../../utils/get-class-modifiers';\nimport { getImageData } from '../../utils';\nimport { getDisplayCountData, shouldShowProperty, buildImageProperties } from '../../helpers';\nimport { IMAGE, HERO, IN_VIEW_CONFIG } from '../../constants';\n\nconst Image = ({\n url,\n modifier: _modifier,\n imageId,\n enableLightbox,\n name,\n toggleModal,\n handleSelectedImage,\n displayCount,\n lightboxImages,\n isHero,\n priority,\n type,\n areImageCreditsDisplayed,\n isCaptionDisplayed,\n images,\n imageData,\n imageUrl,\n elementTitle,\n credits,\n imageCredits,\n ...otherProps\n}) => {\n const [displayLightbox, setDisplayLightbox] = useState(false);\n const [isIntersecting, outerRef] = useInView(IN_VIEW_CONFIG);\n\n const { caption, altText, hrefUrl, credits: imageDataCredits } = getImageData(\n otherProps,\n imageData\n );\n\n const href = url || hrefUrl;\n\n const { ImgWrapper, imgWrapperProps, lightboxImgProps } = buildImageProperties({\n href,\n name,\n enableLightbox,\n isHero\n });\n\n const modifier = _modifier || '';\n const modifiers = getClassModifiers(type, { modifier, ...otherProps });\n const wrapperClassName = isHero ? HERO : IMAGE;\n const toggleLightbox = () => setDisplayLightbox(!displayLightbox);\n\n const handleEnableLightbox = () => {\n if (!enableLightbox) return;\n toggleModal();\n handleSelectedImage(imageId);\n };\n\n const shouldDisplayCaption = shouldShowProperty({\n isDisplayed: isCaptionDisplayed,\n value: caption\n });\n\n // deprecated: imageCredits is deprecated. This code is to handle legacy data. check before changing/removing\n const creditsValue = credits || imageCredits || imageDataCredits;\n\n const shouldDisplayCredits = shouldShowProperty({\n isDisplayed: areImageCreditsDisplayed,\n value: creditsValue\n });\n const { shouldDisplayCount, countMessage } = getDisplayCountData(displayCount, images);\n const sizeKey = [IMAGE, isHero ? HERO : '', _modifier].filter(Boolean).join(':');\n const shouldDisplayImage = !!imageUrl && (priority || isIntersecting);\n\n return (\n <Wrapper ref={outerRef} className={wrapperClassName} modifiers={modifiers} {...otherProps}>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {shouldDisplayImage && (\n <ImgWrapper {...imgWrapperProps}>\n <ImageRender\n {...otherProps}\n alt={altText}\n imageUrl={imageUrl}\n handleEnableLightbox={handleEnableLightbox}\n toggleLightbox={toggleLightbox}\n displayLightbox={displayLightbox}\n caption={caption}\n enableLightbox={enableLightbox}\n lightboxImgProps={lightboxImgProps}\n name={name}\n displayCount={displayCount}\n lightboxImages={lightboxImages}\n isHero={isHero}\n priority={priority}\n sizeKey={sizeKey}\n />\n </ImgWrapper>\n )}\n {shouldDisplayCount && (\n <div\n className=\"image__button image__button--count\"\n role=\"button\"\n onClick={handleEnableLightbox}>\n <p>{countMessage}</p>\n <div className=\"arrow arrow--right\" />\n </div>\n )}\n {(shouldDisplayCaption || shouldDisplayCredits) && (\n <ImageDetails\n caption={caption}\n credits={creditsValue}\n shouldDisplayCaption={shouldDisplayCaption}\n shouldDisplayCredits={shouldDisplayCredits}\n />\n )}\n </Wrapper>\n );\n};\n\nImage.propTypes = {\n url: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n imageId: PropTypes.string,\n enableLightbox: PropTypes.bool,\n toggleModal: PropTypes.func,\n handleSelectedImage: PropTypes.func,\n displayCount: PropTypes.bool,\n lightboxImages: PropTypes.array,\n images: PropTypes.array,\n isHero: PropTypes.bool,\n priority: PropTypes.bool,\n type: PropTypes.string,\n areImageCreditsDisplayed: PropTypes.bool,\n isCaptionDisplayed: PropTypes.bool,\n imageData: PropTypes.object,\n imageUrl: PropTypes.string,\n credits: PropTypes.string,\n imageCredits: PropTypes.string,\n elementTitle: PropTypes.string\n};\n\nImage.defaultProps = {\n modifier: '',\n url: null,\n name: '',\n credits: '',\n imageCredits: '',\n enableLightbox: false,\n imageId: '',\n handleSelectedImage: () => {},\n toggleModal: () => {},\n displayCount: false,\n lightboxImages: [],\n images: [],\n isHero: false,\n priority: false,\n type: '',\n areImageCreditsDisplayed: false,\n isCaptionDisplayed: true,\n imageData: {},\n imageUrl: '',\n elementTitle: ''\n};\n\nexport default Image;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FullRender.js","names":["React","Fragment","useContext","MainContext","MainContextProvider","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","Wrapper","checkIfShouldRenderBanner","FullRender","_ref","orderedListData","omitWrappers","paginationType","props","_objectWithoutProperties","_excluded","contextProps","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","_objectSpread","type","bannerIndex","WrapperToUse","createElement","value","isPreview","className","map","_ref2","i","id","entityProps","_excluded2","shouldRenderBanner","_extends","key","index","itemId","propTypes","array","isRequired","string","object","bool","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"sourcesContent":["import React, { Fragment, useContext } from 'react';\nimport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, omitWrappers, paginationType, ...props }) => {\n const contextProps = useContext(MainContext);\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <MainContextProvider value={{ ...contextProps, isPreview: false }}>\n <WrapperToUse className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </MainContextProvider>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n omitWrappers: false,\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FullRender.js","names":["React","Fragment","useContext","MainContext","MainContextProvider","PropTypes","uuid","FullRenderItem","ListPagination","LOAD_MORE","BANNER","Wrapper","checkIfShouldRenderBanner","FullRender","_ref","orderedListData","omitWrappers","paginationType","props","_objectWithoutProperties","_excluded","contextProps","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","_objectSpread","type","bannerIndex","WrapperToUse","createElement","value","isPreview","className","map","_ref2","i","id","entityProps","_excluded2","shouldRenderBanner","_extends","key","index","itemId","propTypes","array","isRequired","string","object","bool","defaultProps"],"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"sourcesContent":["import React, { Fragment, useContext } from 'react';\nimport { MainContext, MainContextProvider } from '@blaze-cms/nextjs-components';\nimport PropTypes from 'prop-types';\nimport uuid from 'uuid/v1';\nimport FullRenderItem from './FullRenderItem';\nimport ListPagination from '../Pagination';\nimport { LOAD_MORE } from '../../../../constants';\nimport { BANNER } from '../../constants';\nimport Wrapper from '../../../Wrapper';\nimport { checkIfShouldRenderBanner } from '../helpers';\n\nconst FullRender = ({ orderedListData, omitWrappers, paginationType, ...props }) => {\n const contextProps = useContext(MainContext);\n const pageBuilderID = uuid();\n const { parent, entity, propsToDisplay, banner, hasBanner } = props;\n const bannerProps = banner\n ? { hasBanner, parent, entity, propsToDisplay, ...banner, type: BANNER }\n : null;\n let bannerIndex = 0;\n const WrapperToUse = omitWrappers ? Fragment : Wrapper;\n\n return (\n <MainContextProvider value={{ ...contextProps, isPreview: false }}>\n <WrapperToUse className=\"list list--full\">\n {orderedListData.map(({ id, ...entityProps }, i) => {\n const shouldRenderBanner = !!bannerProps && checkIfShouldRenderBanner(i, bannerProps);\n if (shouldRenderBanner) bannerIndex += 1;\n\n return (\n <FullRenderItem\n key={id}\n {...props}\n {...entityProps}\n index={i}\n itemId={id}\n pageBuilderID={pageBuilderID}\n entityProps={entityProps}\n shouldRenderBanner={shouldRenderBanner}\n bannerProps={bannerProps}\n bannerIndex={bannerIndex}\n />\n );\n })}\n </WrapperToUse>\n\n {paginationType === LOAD_MORE && (\n <ListPagination paginationType={paginationType} {...props} />\n )}\n </MainContextProvider>\n );\n};\n\nFullRender.propTypes = {\n orderedListData: PropTypes.array.isRequired,\n paginationType: PropTypes.string.isRequired,\n parent: PropTypes.object.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n omitWrappers: PropTypes.bool,\n hasBanner: PropTypes.bool,\n banner: PropTypes.object\n};\n\nFullRender.defaultProps = {\n omitWrappers: false,\n hasBanner: false,\n banner: null\n};\n\nexport default FullRender;\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- const checkIfShouldRenderBanner = (elementIndex, banner) => {
2
- if (!banner) return false;
1
+ const legacyCheckIfShouldRenderBanner = (elementIndex, banner) => {
3
2
  const {
4
3
  interval,
5
4
  repeat,
@@ -12,5 +11,32 @@ const checkIfShouldRenderBanner = (elementIndex, banner) => {
12
11
  if (repeat && repeatMatch) return true;
13
12
  return false;
14
13
  };
15
- export default checkIfShouldRenderBanner;
14
+ const checkNewBannerSettings = banner => {
15
+ if (!banner) return false;
16
+ const {
17
+ repeatEvery,
18
+ startingPoint,
19
+ maxRepetitions
20
+ } = banner;
21
+ return repeatEvery > 0 || startingPoint > 0 || maxRepetitions > 0;
22
+ };
23
+ const checkIfShouldRenderBanner = (elementIndex, banner) => {
24
+ if (!banner) return false;
25
+ if (!checkNewBannerSettings(banner)) return legacyCheckIfShouldRenderBanner(elementIndex, banner);
26
+ const {
27
+ repeatEvery,
28
+ startingPoint,
29
+ maxRepetitions
30
+ } = banner;
31
+ const position = elementIndex + 1;
32
+ if (position < startingPoint) return false;
33
+ if (position === startingPoint) return true;
34
+ const positionDifference = position - startingPoint;
35
+ if (positionDifference < repeatEvery) return false;
36
+ const timesRepeated = positionDifference / repeatEvery;
37
+ const repeatMatch = Number.isInteger(timesRepeated);
38
+ if (!repeatMatch) return false;
39
+ return timesRepeated < maxRepetitions;
40
+ };
41
+ export { checkIfShouldRenderBanner, checkNewBannerSettings };
16
42
  //# sourceMappingURL=check-if-should-render-banner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-if-should-render-banner.js","names":["checkIfShouldRenderBanner","elementIndex","banner","interval","repeat","hasBanner","position","repeatMatch","Number","isInteger"],"sources":["../../../../../src/components/List/components/helpers/check-if-should-render-banner.js"],"sourcesContent":["const checkIfShouldRenderBanner = (elementIndex, banner) => {\n if (!banner) return false;\n const { interval, repeat, hasBanner } = banner;\n if (!hasBanner || !interval) return false;\n const position = elementIndex + 1;\n if (position === interval) return true;\n const repeatMatch = Number.isInteger(position / interval);\n if (repeat && repeatMatch) return true;\n return false;\n};\n\nexport default checkIfShouldRenderBanner;\n"],"mappings":"AAAA,MAAMA,yBAAyB,GAAGA,CAACC,YAAY,EAAEC,MAAM,KAAK;EAC1D,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EACzB,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAC9C,IAAI,CAACG,SAAS,IAAI,CAACF,QAAQ,EAAE,OAAO,KAAK;EACzC,MAAMG,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,KAAKH,QAAQ,EAAE,OAAO,IAAI;EACtC,MAAMI,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACH,QAAQ,GAAGH,QAAQ,CAAC;EACzD,IAAIC,MAAM,IAAIG,WAAW,EAAE,OAAO,IAAI;EACtC,OAAO,KAAK;AACd,CAAC;AAED,eAAeP,yBAAyB"}
1
+ {"version":3,"file":"check-if-should-render-banner.js","names":["legacyCheckIfShouldRenderBanner","elementIndex","banner","interval","repeat","hasBanner","position","repeatMatch","Number","isInteger","checkNewBannerSettings","repeatEvery","startingPoint","maxRepetitions","checkIfShouldRenderBanner","positionDifference","timesRepeated"],"sources":["../../../../../src/components/List/components/helpers/check-if-should-render-banner.js"],"sourcesContent":["const legacyCheckIfShouldRenderBanner = (elementIndex, banner) => {\n const { interval, repeat, hasBanner } = banner;\n if (!hasBanner || !interval) return false;\n const position = elementIndex + 1;\n if (position === interval) return true;\n const repeatMatch = Number.isInteger(position / interval);\n if (repeat && repeatMatch) return true;\n return false;\n};\nconst checkNewBannerSettings = banner => {\n if (!banner) return false;\n\n const { repeatEvery, startingPoint, maxRepetitions } = banner;\n return repeatEvery > 0 || startingPoint > 0 || maxRepetitions > 0;\n};\n\nconst checkIfShouldRenderBanner = (elementIndex, banner) => {\n if (!banner) return false;\n if (!checkNewBannerSettings(banner)) return legacyCheckIfShouldRenderBanner(elementIndex, banner);\n\n const { repeatEvery, startingPoint, maxRepetitions } = banner;\n const position = elementIndex + 1;\n if (position < startingPoint) return false;\n if (position === startingPoint) return true;\n const positionDifference = position - startingPoint;\n if (positionDifference < repeatEvery) return false;\n const timesRepeated = positionDifference / repeatEvery;\n const repeatMatch = Number.isInteger(timesRepeated);\n if (!repeatMatch) return false;\n return timesRepeated < maxRepetitions;\n};\n\nexport { checkIfShouldRenderBanner, checkNewBannerSettings };\n"],"mappings":"AAAA,MAAMA,+BAA+B,GAAGA,CAACC,YAAY,EAAEC,MAAM,KAAK;EAChE,MAAM;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAGH,MAAM;EAC9C,IAAI,CAACG,SAAS,IAAI,CAACF,QAAQ,EAAE,OAAO,KAAK;EACzC,MAAMG,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,KAAKH,QAAQ,EAAE,OAAO,IAAI;EACtC,MAAMI,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACH,QAAQ,GAAGH,QAAQ,CAAC;EACzD,IAAIC,MAAM,IAAIG,WAAW,EAAE,OAAO,IAAI;EACtC,OAAO,KAAK;AACd,CAAC;AACD,MAAMG,sBAAsB,GAAGR,MAAM,IAAI;EACvC,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EAEzB,MAAM;IAAES,WAAW;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGX,MAAM;EAC7D,OAAOS,WAAW,GAAG,CAAC,IAAIC,aAAa,GAAG,CAAC,IAAIC,cAAc,GAAG,CAAC;AACnE,CAAC;AAED,MAAMC,yBAAyB,GAAGA,CAACb,YAAY,EAAEC,MAAM,KAAK;EAC1D,IAAI,CAACA,MAAM,EAAE,OAAO,KAAK;EACzB,IAAI,CAACQ,sBAAsB,CAACR,MAAM,CAAC,EAAE,OAAOF,+BAA+B,CAACC,YAAY,EAAEC,MAAM,CAAC;EAEjG,MAAM;IAAES,WAAW;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGX,MAAM;EAC7D,MAAMI,QAAQ,GAAGL,YAAY,GAAG,CAAC;EACjC,IAAIK,QAAQ,GAAGM,aAAa,EAAE,OAAO,KAAK;EAC1C,IAAIN,QAAQ,KAAKM,aAAa,EAAE,OAAO,IAAI;EAC3C,MAAMG,kBAAkB,GAAGT,QAAQ,GAAGM,aAAa;EACnD,IAAIG,kBAAkB,GAAGJ,WAAW,EAAE,OAAO,KAAK;EAClD,MAAMK,aAAa,GAAGD,kBAAkB,GAAGJ,WAAW;EACtD,MAAMJ,WAAW,GAAGC,MAAM,CAACC,SAAS,CAACO,aAAa,CAAC;EACnD,IAAI,CAACT,WAAW,EAAE,OAAO,KAAK;EAC9B,OAAOS,aAAa,GAAGH,cAAc;AACvC,CAAC;AAED,SAASC,yBAAyB,EAAEJ,sBAAsB"}
@@ -1,3 +1,4 @@
1
- export { default as checkIfShouldRenderGtm } from './check-if-should-render-gtm';
2
- export { default as checkIfShouldRenderBanner } from './check-if-should-render-banner';
1
+ import { checkIfShouldRenderBanner, checkNewBannerSettings } from './check-if-should-render-banner';
2
+ import checkIfShouldRenderGtm from './check-if-should-render-gtm';
3
+ export { checkIfShouldRenderBanner, checkNewBannerSettings, checkIfShouldRenderGtm };
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","checkIfShouldRenderGtm","checkIfShouldRenderBanner"],"sources":["../../../../../src/components/List/components/helpers/index.js"],"sourcesContent":["export { default as checkIfShouldRenderGtm } from './check-if-should-render-gtm';\nexport { default as checkIfShouldRenderBanner } from './check-if-should-render-banner';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,sBAAsB,QAAQ,8BAA8B;AAChF,SAASD,OAAO,IAAIE,yBAAyB,QAAQ,iCAAiC"}
1
+ {"version":3,"file":"index.js","names":["checkIfShouldRenderBanner","checkNewBannerSettings","checkIfShouldRenderGtm"],"sources":["../../../../../src/components/List/components/helpers/index.js"],"sourcesContent":["import { checkIfShouldRenderBanner, checkNewBannerSettings } from './check-if-should-render-banner';\nimport checkIfShouldRenderGtm from './check-if-should-render-gtm';\n\nexport { checkIfShouldRenderBanner, checkNewBannerSettings, checkIfShouldRenderGtm };\n"],"mappings":"AAAA,SAASA,yBAAyB,EAAEC,sBAAsB,QAAQ,iCAAiC;AACnG,OAAOC,sBAAsB,MAAM,8BAA8B;AAEjE,SAASF,yBAAyB,EAAEC,sBAAsB,EAAEC,sBAAsB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","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"],"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 buildQuery,\n getInitialFilterValues,\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 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}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\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 = getInitialFilterValues(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 const shouldSearch = !hasUrl;\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();\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={shouldSearch}\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={shouldSearch}\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={shouldSearch && 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};\n\nexport default SearchFilter;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,WAAW,MAAM,eAAe;AACvC,SACEC,eAAe,EACfC,UAAU,EACVC,sBAAsB,EACtBC,6BAA6B,QACxB,YAAY;AACnB,OAAOC,eAAe,MAAM,mBAAmB;AAC/C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,MAAM,EAAEC,MAAM,EAAEC,oBAAoB,QAAQ,cAAc;AAEnE,MAAMC,YAAY,GAAGA,CAAC;EACpBC,eAAe;EACfC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,IAAI;EACJC,uBAAuB;EACvBC,mBAAmB;EACnBC,sBAAsB;EACtBC,iBAAiB;EACjBC,gBAAgB;EAChBC,YAAY;EACZC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAAGhC,QAAQ,CAAC,IAAI,CAAC;EAClF,MAAM,CAACiC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGlC,QAAQ,CAAC,IAAI,CAAC;EAEpF,MAAMmC,QAAQ,GAAGA,CAACC,SAAS,GAAGP,YAAY,KAAK;IAC7C,MAAMQ,QAAQ,GAAG9B,UAAU,CAAC6B,SAAS,EAAEjB,OAAO,CAAC;IAC/CG,YAAY,CAACe,QAAQ,CAAC;IACtBH,8BAA8B,CAAC,IAAI,CAAC;IACpCF,6BAA6B,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,MAAMM,YAAY,GAAGlC,QAAQ,CAACgC,SAAS,IAAI;IACzCD,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEPnC,SAAS,CACP,MAAM;IACJ,IAAI4B,YAAY,CAACU,YAAY,EAAE;MAC7BD,YAAY,CAACT,YAAY,CAAC;MAC1BC,iBAAiB,CAAC;QAAEU,IAAI,EAAE;MAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EACD,CAACX,YAAY,EAAES,YAAY,EAAER,iBAAiB,CAAC,CAChD;EAED,MAAMW,SAAS,GAAGtC,UAAU,CAAC,oCAAoC,EAAE;IACjE,sBAAsB,EAAEqB,uBAAuB,IAAIC,mBAAmB;IACtE,2BAA2B,EAAED;EAC/B,CAAC,CAAC;EAEF,MAAM;IACJkB,6BAA6B;IAC7BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC;EACF,CAAC,GAAGpC,6BAA6B,CAACwB,2BAA2B,EAAEF,0BAA0B,CAAC;EAE1F,MAAMe,MAAM,GAAI,UAASvB,IAAK,OAAM;EAEpC,MAAMwB,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMX,SAAS,GAAG5B,sBAAsB,CAAC,IAAI,EAAEW,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3DW,iBAAiB,CAAC;MAAEM,SAAS;MAAEI,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC/CL,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC;EAED,MAAMY,kBAAkB,GAAGA,CAACZ,SAAS,EAAEa,YAAY,KAAK;IACtDnB,iBAAiB,CAAC;MAAEM,SAAS;MAAEG,YAAY,EAAEU,YAAY;MAAET,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMU,WAAW,GAAG,CAAC,EAAEvB,iBAAiB,IAAIC,gBAAgB,CAAC;EAC7D,MAAMW,YAAY,GAAG,CAACnB,MAAM;EAE5B,oBACErB,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA;IACEE,GAAG,EAAEpC,eAAgB;IACrBqC,SAAS,EAAEb,SAAU;IACrB,eAAaK,MAAO;IACpBS,EAAE,EAAET,MAAO;IACXU,QAAQ,EAAEC,CAAC,IAAI;MACbA,CAAC,CAACC,cAAc,EAAE;MAClBvB,QAAQ,EAAE;IACZ;EAAE,GACDV,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA,CAACzC,eAAe;IAACiD,WAAW,EAAEA,CAAA,KAAMjC,sBAAsB,CAAC,KAAK;EAAE,EACnE,eAED3B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAA8B,gBAC3CvD,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC;EAAgD,GAC5D,CAACJ,WAAW,iBACXnD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EAE1C,EAEAE,WAAW,iBACVnD,KAAA,CAAAoD,aAAA,CAAApD,KAAA,CAAAqD,QAAA,qBACErD,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAa;IAC3BrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAAC,CAAC,EAAEhC,gBAAgB,CAAE;IAC5CR,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACpB,gBAAgB,iBACjB7B,KAAA,CAAAoD,aAAA;IACE,eAAY,8BAA8B;IAC1CG,SAAS,EAAEX,6BAA8B;IACzCH,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KAAM7B,6BAA6B,CAAC,CAACD,0BAA0B;EAAE,GAAC,SAE7E,CACD,eAEDhC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEZ;EAA8B,gBAC5C3C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAAC+C;EAAe,gBAClD/D,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAEA,YAAY,IAAIjC,eAAe,EAAG;IAChDY,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CACpBhC,gBAAgB,EAChBD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAC7C;IACFP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,EAED,CAAC,CAACrB,iBAAiB,iBAClB5B,KAAA,CAAAoD,aAAA;IACE,eAAY,+BAA+B;IAC3CG,SAAS,EAAET,8BAA+B;IAC1CL,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KACP3B,8BAA8B,CAAC,CAACD,2BAA2B;EAC5D,GAAC,cAEJ,CACD,eAEDlC,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEV;EAA+B,gBAC7C7C,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACgD;EAAgB,gBACnDhE,KAAA,CAAAoD,aAAA,CAAC9C,WAAW;IACVkC,YAAY,EAAE,KAAM;IACpBrB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAACyC,KAAK,CAACjC,iBAAiB,CAAE;IAC1CP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BmB,kBAAkB,EAAEA;EAAmB,EACvC,CACE,eAENjD,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACiD;EAAgB,gBACnDjE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CACA,CACL,CACF,CACF,eAENd,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAEvC,oBAAoB,CAACkD;EAAe,gBAClDlE,KAAA,CAAAoD,aAAA,CAACxC,gBAAgB;IAACoC,WAAW,EAAEA;EAAY,EAAG,eAE9ChD,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CACA,CACL,CACF,CAET,eAEDd,KAAA,CAAAoD,aAAA,YAAM,EAEL,CAAC1B,mBAAmB,iBACnB1B,KAAA,CAAAoD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD3B,MAAM,CAEV,CACG,CACF,EAELY,mBAAmB,iBAAI1B,KAAA,CAAAoD,aAAA,CAACvC,iBAAiB;IAACkC,MAAM,EAAEA,MAAO;IAACC,WAAW,EAAEA;EAAY,EAAG,CAClF,EAENvB,uBAAuB,IACtB,CAACC,mBAAmB,iBAClB1B,KAAA,CAAAoD,aAAA;IAAKG,SAAS,EAAC,6CAA6C;IAAC,eAAY;EAAe,gBACtFvD,KAAA,CAAAoD,aAAA;IAAKe,IAAI,EAAC,QAAQ;IAACL,OAAO,EAAEA,CAAA,KAAMnC,sBAAsB,CAAC,IAAI;EAAE,GAC5DZ,MAAM,CACH,CAET,CACF;AAEP,CAAC;AAEDE,YAAY,CAACmD,SAAS,GAAG;EACvBjD,IAAI,EAAEhB,SAAS,CAACkE,MAAM,CAACC,UAAU;EACjClD,OAAO,EAAEjB,SAAS,CAACoE,KAAK,CAACD,UAAU;EACnCpD,eAAe,EAAEf,SAAS,CAACkE,MAAM,CAACC,UAAU;EAC5CjD,MAAM,EAAElB,SAAS,CAACqE,IAAI,CAACF,UAAU;EACjChD,MAAM,EAAEnB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACnC/C,YAAY,EAAEpB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACvC9C,IAAI,EAAErB,SAAS,CAACsE,MAAM,CAACH,UAAU;EACjC5C,mBAAmB,EAAEvB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAC9C3C,sBAAsB,EAAExB,SAAS,CAACuE,IAAI,CAACJ,UAAU;EACjD7C,uBAAuB,EAAEtB,SAAS,CAACqE,IAAI,CAACF,UAAU;EAClD1C,iBAAiB,EAAEzB,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC9CzC,gBAAgB,EAAE1B,SAAS,CAACwE,MAAM,CAACL,UAAU;EAC7CxC,YAAY,EAAE3B,SAAS,CAACkE,MAAM,CAACC,UAAU;EACzCvC,iBAAiB,EAAE5B,SAAS,CAACuE,IAAI,CAACJ;AACpC,CAAC;AAED,eAAerD,YAAY"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildQuery","getInitialFilterValues","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","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"],"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 buildQuery,\n getInitialFilterValues,\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 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}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = (newValues = filterValues) => {\n const newQuery = buildQuery(newValues, filters);\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 = getInitialFilterValues(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 const shouldSearch = !hasUrl;\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();\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={shouldSearch}\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={shouldSearch}\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={shouldSearch && 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};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -12,6 +12,7 @@ const Checkbox = ({
12
12
  updateFilterValues,
13
13
  filterValues,
14
14
  label,
15
+ elementTitle,
15
16
  shouldSearch,
16
17
  displayFilterCount
17
18
  }) => {
@@ -55,7 +56,9 @@ const Checkbox = ({
55
56
  disabled: value[2]
56
57
  }));
57
58
  const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;
58
- return /*#__PURE__*/React.createElement(React.Fragment, null, label ? /*#__PURE__*/React.createElement("p", null, label) : '', /*#__PURE__*/React.createElement(Checkboxes, {
59
+ return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
60
+ className: "heading heading--section"
61
+ }, elementTitle), label ? /*#__PURE__*/React.createElement("p", null, label) : '', /*#__PURE__*/React.createElement(Checkboxes, {
59
62
  className: "form-checkbox",
60
63
  options: multiple,
61
64
  onChange: ({
@@ -87,11 +90,13 @@ Checkbox.propTypes = {
87
90
  updateFilterValues: PropTypes.func.isRequired,
88
91
  shouldSearch: PropTypes.bool,
89
92
  label: PropTypes.string,
93
+ elementTitle: PropTypes.string,
90
94
  displayFilterCount: PropTypes.bool
91
95
  };
92
96
  Checkbox.defaultProps = {
93
97
  shouldSearch: false,
94
98
  label: '',
99
+ elementTitle: '',
95
100
  displayFilterCount: false
96
101
  };
97
102
  export default withTitle(Checkbox);
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","names":["React","useState","PropTypes","upperFirst","Checkboxes","FaChevronDown","FaChevronUp","withTitle","decodeValue","LIMIT_MIN","LIMIT_MAX","MORE","LESS","Checkbox","data","prop","updateFilterValues","filterValues","label","elementTitle","shouldSearch","displayFilterCount","checkboxLimit","setCheckboxLimit","handleCheckboxOptions","checkboxQueryParams","map","val","multiple","sortedValues","buckets","key","doc_count","count","optionLabel","filter","Boolean","sort","forEach","value","i","push","name","checked","includes","id","disabled","shouldDisplayMore","createElement","Fragment","className","options","onChange","eData","newCheckboxValues","length","role","onClick","propTypes","object","isRequired","string","func","bool","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Checkbox.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport upperFirst from 'lodash.upperfirst';\nimport { Checkboxes } from '@blaze-react/checkboxes';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { withTitle } from '../../../HOC';\nimport { decodeValue } from '../helpers';\nimport { LIMIT_MIN, LIMIT_MAX, MORE, LESS } from '../constants';\n\nconst Checkbox = ({\n data,\n prop,\n updateFilterValues,\n filterValues,\n label,\n elementTitle,\n shouldSearch,\n displayFilterCount\n}) => {\n const [checkboxLimit, setCheckboxLimit] = useState(null);\n if (!data[prop]) return null;\n\n const handleCheckboxOptions = () => {\n if (checkboxLimit[prop] === LIMIT_MIN) {\n setCheckboxLimit({ [prop]: LIMIT_MAX });\n } else {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n };\n\n if (!checkboxLimit) {\n setCheckboxLimit({ [prop]: LIMIT_MIN });\n }\n\n if (!checkboxLimit) return null;\n\n let checkboxQueryParams = [];\n\n if (filterValues && filterValues[prop]) {\n checkboxQueryParams =\n typeof filterValues[prop] === 'string'\n ? [decodeValue(filterValues[prop])]\n : filterValues[prop].map(val => decodeValue(val));\n }\n const multiple = [];\n\n const sortedValues = data[prop].buckets\n .map(({ key, doc_count: count }) => {\n const optionLabel = displayFilterCount ? `${key} (${count})` : key;\n return [key, optionLabel, !count];\n })\n .filter(Boolean)\n .sort();\n\n sortedValues.forEach(\n (value, i) =>\n i < checkboxLimit[prop] &&\n multiple.push({\n label: upperFirst(value[1]),\n value: value[0],\n name: prop,\n checked: checkboxQueryParams.includes(value[0]),\n id: value[0],\n disabled: value[2]\n })\n );\n\n const shouldDisplayMore = !checkboxLimit || checkboxLimit[prop] === LIMIT_MIN;\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {label ? <p>{label}</p> : ''}\n <Checkboxes\n className=\"form-checkbox\"\n options={multiple}\n onChange={({ data: eData }) => {\n const newCheckboxValues = eData\n .filter(({ checked }) => checked)\n .map(({ value }) => value);\n updateFilterValues({ [prop]: newCheckboxValues }, shouldSearch);\n }}\n />\n {data[prop].buckets.length > LIMIT_MIN && (\n <div role=\"button\" className=\"see-more\" onClick={handleCheckboxOptions}>\n {shouldDisplayMore ? (\n <>\n <i>\n <FaChevronDown className=\"inline-icon\" />\n </i>\n {` See ${MORE}`}\n </>\n ) : (\n <>\n <i>\n <FaChevronUp className=\"inline-icon\" />\n </i>\n {` See ${LESS}`}\n </>\n )}\n </div>\n )}\n </>\n );\n};\n\nCheckbox.propTypes = {\n data: PropTypes.object.isRequired,\n prop: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n displayFilterCount: PropTypes.bool\n};\n\nCheckbox.defaultProps = {\n shouldSearch: false,\n label: '',\n elementTitle: '',\n displayFilterCount: false\n};\n\nexport default withTitle(Checkbox);\n"],"mappings":"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"}
@@ -9,7 +9,6 @@ import { useRouter } from 'next/router';
9
9
  import Select from '@blaze-react/select';
10
10
  import { parseUrl } from 'query-string';
11
11
  import { useGetSingleEntitySchema } from '../../../hooks';
12
- import { withTitle } from '../../../HOC';
13
12
  import { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';
14
13
  import { decodeValue } from '../helpers/decode-encode';
15
14
  const Range = ({
@@ -20,7 +19,8 @@ const Range = ({
20
19
  dataAggregations,
21
20
  updateFilterValues,
22
21
  filterValues,
23
- shouldSearch
22
+ shouldSearch,
23
+ elementTitle
24
24
  }) => {
25
25
  const router = useRouter();
26
26
  const debounceAmount = shouldSearch ? 1200 : 400;
@@ -59,7 +59,9 @@ const Range = ({
59
59
  })
60
60
  }, shouldSearch);
61
61
  }, debounceAmount);
62
- return /*#__PURE__*/React.createElement(React.Fragment, null, hasMultipleOptions && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, label), /*#__PURE__*/React.createElement(Select, {
62
+ return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
63
+ className: "heading heading--section"
64
+ }, elementTitle), hasMultipleOptions && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, label), /*#__PURE__*/React.createElement(Select, {
63
65
  value: rangeOption,
64
66
  id: rangeOption,
65
67
  options: options,
@@ -101,12 +103,14 @@ Range.propTypes = {
101
103
  shouldSearch: PropTypes.bool,
102
104
  rangeInterval: PropTypes.number,
103
105
  label: PropTypes.string,
106
+ elementTitle: PropTypes.string,
104
107
  dataAggregations: PropTypes.object.isRequired
105
108
  };
106
109
  Range.defaultProps = {
107
110
  shouldSearch: false,
108
111
  rangeInterval: 1,
109
- label: ''
112
+ label: '',
113
+ elementTitle: ''
110
114
  };
111
- export default withTitle(Range);
115
+ export default Range;
112
116
  //# sourceMappingURL=Range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","withTitle","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","createElement","Fragment","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","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 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 { withTitle } from '../../../HOC';\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}) => {\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 // get range from aggregations so it updates\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 return (\n <>\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: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\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 dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: ''\n};\n\nexport default withTitle(Range);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","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 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}) => {\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 // get range from aggregations so it updates\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 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: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\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};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: ''\n};\n\nexport default Range;\n"],"mappings":"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"}