@blaze-cms/react-page-builder 0.133.0-admin-updates.1 → 0.133.0-admin-updates.6

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 (41) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/lib/components/Banner/AdSlotRender.js +12 -3
  3. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  4. package/lib/components/Banner/Banner.js +4 -7
  5. package/lib/components/Banner/Banner.js.map +1 -1
  6. package/lib/components/Banner/BannerRender.js +5 -1
  7. package/lib/components/Banner/BannerRender.js.map +1 -1
  8. package/lib/components/Button.js +1 -1
  9. package/lib/components/Button.js.map +1 -1
  10. package/lib/components/List/helpers/get-sort-props.js +9 -6
  11. package/lib/components/List/helpers/get-sort-props.js.map +1 -1
  12. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
  13. package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  14. package/lib/helpers/get-generic-render-variables.js +17 -12
  15. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  16. package/lib-es/components/Banner/AdSlotRender.js +12 -3
  17. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  18. package/lib-es/components/Banner/Banner.js +4 -7
  19. package/lib-es/components/Banner/Banner.js.map +1 -1
  20. package/lib-es/components/Banner/BannerRender.js +6 -2
  21. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  22. package/lib-es/components/Button.js +1 -1
  23. package/lib-es/components/Button.js.map +1 -1
  24. package/lib-es/components/List/helpers/get-sort-props.js +9 -6
  25. package/lib-es/components/List/helpers/get-sort-props.js.map +1 -1
  26. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
  27. package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
  28. package/lib-es/helpers/get-generic-render-variables.js +2 -1
  29. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  30. package/package.json +2 -2
  31. package/src/components/Banner/AdSlotRender.js +9 -5
  32. package/src/components/Banner/Banner.js +9 -11
  33. package/src/components/Banner/BannerRender.js +4 -0
  34. package/src/components/Button.js +1 -1
  35. package/src/components/List/helpers/get-sort-props.js +4 -6
  36. package/src/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
  37. package/src/helpers/get-generic-render-variables.js +2 -1
  38. package/tests/unit/src/components/Banner/AdSlotRender.test.js +6 -11
  39. package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +45 -25
  40. package/tests/unit/src/components/Banner/__snapshots__/BannerRender.test.js.snap +8 -3
  41. package/tests/unit/src/components/List/helpers/get-sort-props.test.js +23 -0
@@ -1 +1 @@
1
- {"version":3,"file":"get-generic-render-variables.js","names":["_constants","require","_buildSortValues","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","_filterProps$sortProp","sortProperties","buildSortValues","propsToDisplay","concat","_toConsumableArray2","getGenericRenderVariables","_ref","_ref$filterProps","_ref$stringProps","_ref$rawQuery","rawQuery","_ref$useRandomSort","useRandomSort","rawQueryCopy","_filterProps$limit","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode","_default","exports"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":"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"}
1
+ {"version":3,"file":"get-generic-render-variables.js","names":["_constants","require","_buildSortValues","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","_filterProps$sortProp","sortProperties","_ref","_ref2","_slicedToArray2","_ref2$","sortProperty","buildSortValues","propsToDisplay","concat","getGenericRenderVariables","_ref3","_ref3$filterProps","_ref3$stringProps","_ref3$rawQuery","rawQuery","_ref3$useRandomSort","useRandomSort","rawQueryCopy","_filterProps$limit","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode","_toConsumableArray2","_default","exports"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n const [sortProperty = []] = sortProperties || [];\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...[sortProperty]],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":"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"}
@@ -2,12 +2,14 @@ import React, { useState } from 'react';
2
2
  import { AdSlot } from 'react-dfp';
3
3
  import PropTypes from 'prop-types';
4
4
  import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
5
+ import Wrapper from '../Wrapper';
5
6
  const AdSlotRender = ({
6
7
  shouldShowBanner,
7
8
  sizeMapping,
8
9
  sizeId,
9
10
  parsedAdunit,
10
11
  parsedSizes,
12
+ modifiers,
11
13
  targetingArguments
12
14
  }) => {
13
15
  const [{
@@ -23,11 +25,16 @@ const AdSlotRender = ({
23
25
  return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;
24
26
  }).sort();
25
27
  const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
26
- return /*#__PURE__*/React.createElement(React.Fragment, null, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
28
+ const newModifers = `${modifiers} banner-${loadingStatus}`;
29
+ return /*#__PURE__*/React.createElement(Wrapper, {
30
+ className: "banner",
31
+ modifiers: newModifers
32
+ }, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
27
33
  className: className,
28
34
  style: {
29
35
  minHeight
30
- }
36
+ },
37
+ "data-testid": "ad-slot"
31
38
  }, shouldShowBanner && /*#__PURE__*/React.createElement(AdSlot, {
32
39
  adUnit: parsedAdunit,
33
40
  sizes: parsedSizes,
@@ -55,10 +62,12 @@ AdSlotRender.propTypes = {
55
62
  sizeId: PropTypes.string.isRequired,
56
63
  parsedAdunit: PropTypes.string.isRequired,
57
64
  parsedSizes: PropTypes.array,
65
+ modifiers: PropTypes.string,
58
66
  targetingArguments: PropTypes.object.isRequired
59
67
  };
60
68
  AdSlotRender.defaultProps = {
61
- parsedSizes: null
69
+ parsedSizes: null,
70
+ modifiers: ''
62
71
  };
63
72
  export default AdSlotRender;
64
73
  //# sourceMappingURL=AdSlotRender.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","createElement","Fragment","join","style","adUnit","onSlotRender","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"sources":["../../../src/components/Banner/AdSlotRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n\n return (\n <>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }}>\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null\n};\n\nexport default AdSlotRender;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,MAAM,QAAQ,WAAW;AAClC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,cAAc,EAAEC,YAAY,EAAEC,aAAa,QAAQ,iBAAiB;AAE7E,MAAMC,YAAY,GAAGA,CAAC;EACpBC,gBAAgB;EAChBC,WAAW;EACXC,MAAM;EACNC,YAAY;EACZC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAM,CAAC;IAAEC,aAAa,GAAGV,cAAc;IAAEW;EAAU,CAAC,EAAEC,gBAAgB,CAAC,GAAGf,QAAQ,CAAC,CAAC,CAAC,CAAC;EAEtF,MAAMgB,WAAW,GAAI,UAASP,MAAO,EAAC;EAEtC,MAAMQ,MAAM,GACVJ,aAAa,KAAKV,cAAc,IAChCK,WAAW,CACRU,GAAG,CAAC,CAAC;IAAEC,KAAK,EAAEC,UAAU;IAAEC,QAAQ,EAAE,CAACC,QAAQ;EAAE,CAAC,KAAK;IACpD,MAAMC,aAAa,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGL,UAAU,CAACF,GAAG,CAAC,CAAC,GAAGQ,MAAM,CAAC,KAAKA,MAAM,CAAC,CAAC;IACzE,OAAQ,oBAAmBJ,QAAS,QAAON,WAAY,eAAcO,aAAc,MAAK;EAC1F,CAAC,CAAC,CACDI,IAAI,CAAC,CAAC;EACX,MAAMC,SAAS,GAAI,mBAAkBf,aAAc,IAAGG,WAAY,EAAC;EAEnE,oBACEjB,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAA+B,QAAA,QACGb,MAAM,iBAAIlB,KAAA,CAAA8B,aAAA,gBAAQZ,MAAM,CAACc,IAAI,CAAC,IAAI,CAAS,CAAC,eAC7ChC,KAAA,CAAA8B,aAAA;IAAKD,SAAS,EAAEA,SAAU;IAACI,KAAK,EAAE;MAAElB;IAAU;EAAE,GAC7CP,gBAAgB,iBACfR,KAAA,CAAA8B,aAAA,CAAC5B,MAAM;IACLgC,MAAM,EAAEvB,YAAa;IACrBS,KAAK,EAAER,WAAY;IACnBC,kBAAkB,EAAEA,kBAAmB;IACvCJ,WAAW,EAAEA,WAAY;IACzB0B,YAAY,EAAEC,QAAQ,IAAI;MACxB,MAAM;QACJC,KAAK,EAAE;UAAEC,OAAO;UAAEC;QAAK;MACzB,CAAC,GAAGH,QAAQ;MACZ,MAAMI,UAAU,GAAGD,IAAI,IAAIA,IAAI,CAACE,MAAM,GAAGF,IAAI,CAAC,CAAC,CAAC,GAAGG,SAAS;MAC5D,MAAMC,gBAAgB,GAAGL,OAAO,GAAGjC,YAAY,GAAGC,aAAa;MAC/DU,gBAAgB,CAAC;QAAEF,aAAa,EAAE6B,gBAAgB;QAAE5B,SAAS,EAAEyB;MAAW,CAAC,CAAC;IAC9E;EAAE,CACH,CAEA,CACL,CAAC;AAEP,CAAC;AAEDjC,YAAY,CAACqC,SAAS,GAAG;EACvBpC,gBAAgB,EAAEL,SAAS,CAAC0C,IAAI,CAACC,UAAU;EAC3CrC,WAAW,EAAEN,SAAS,CAAC4C,KAAK,CAACD,UAAU;EACvCpC,MAAM,EAAEP,SAAS,CAAC6C,MAAM,CAACF,UAAU;EACnCnC,YAAY,EAAER,SAAS,CAAC6C,MAAM,CAACF,UAAU;EACzClC,WAAW,EAAET,SAAS,CAAC4C,KAAK;EAC5BlC,kBAAkB,EAAEV,SAAS,CAAC8C,MAAM,CAACH;AACvC,CAAC;AAEDvC,YAAY,CAAC2C,YAAY,GAAG;EAC1BtC,WAAW,EAAE;AACf,CAAC;AAED,eAAeL,YAAY"}
1
+ {"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","Wrapper","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","modifiers","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","newModifers","createElement","join","style","adUnit","onSlotRender","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"sources":["../../../src/components/Banner/AdSlotRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\nimport Wrapper from '../Wrapper';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n modifiers,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n const newModifers = `${modifiers} banner-${loadingStatus}`;\n return (\n <Wrapper className=\"banner\" modifiers={newModifers}>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }} data-testid=\"ad-slot\">\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </Wrapper>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n modifiers: PropTypes.string,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null,\n modifiers: ''\n};\n\nexport default AdSlotRender;\n"],"mappings":"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"}
@@ -10,7 +10,6 @@ import { useQuery } from '@apollo/client';
10
10
  import { useRouter } from 'next/router';
11
11
  import { buildUserQuery, buildPropsData } from './helpers';
12
12
  import { getSingleEntitySchema, getUser } from '../../application/query';
13
- import Wrapper from '../Wrapper';
14
13
  import BannerRender from './BannerRender';
15
14
  import buildPropsQuery from '../../helpers/build-props-query';
16
15
  import { getClassModifiers } from '../../utils';
@@ -75,17 +74,15 @@ const Banner = _ref => {
75
74
  action
76
75
  } = getEntityRenderProps(queryProps, data, isPreview);
77
76
  const bannerKey = `${sizeId}${asPath}`;
78
- return /*#__PURE__*/React.createElement(Wrapper, {
79
- className: type,
80
- modifiers: modifiers
81
- }, /*#__PURE__*/React.createElement(BannerRender, _extends({
77
+ return /*#__PURE__*/React.createElement(BannerRender, _extends({
82
78
  key: bannerKey
83
79
  }, otherProps, {
84
80
  action: action,
85
81
  actionKey: actionKey,
86
82
  asPath: asPath,
87
- userPropsData: userPropsData
88
- })));
83
+ userPropsData: userPropsData,
84
+ modifiers: modifiers
85
+ }));
89
86
  };
90
87
  Banner.propTypes = {
91
88
  type: PropTypes.string
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","Wrapper","BannerRender","buildPropsQuery","getClassModifiers","getEntityRenderProps","Banner","_ref","type","otherProps","_objectWithoutProperties","_excluded","router","isPreview","id","userId","asPath","parent","entity","sizeId","propsToDisplay","userPropsToDisplay","userQuery","itemEntity","data","error","loading","variables","userData","userLoading","skip","length","message","modifiers","queryProps","map","propertiesToDisplay","userPropsData","actionKey","action","bannerKey","createElement","className","_extends","key","propTypes","string","defaultProps"],"sources":["../../../src/components/Banner/Banner.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport flatten from 'lodash.flatten';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { buildUserQuery, buildPropsData } from './helpers';\nimport { getSingleEntitySchema, getUser } from '../../application/query';\nimport Wrapper from '../Wrapper';\nimport BannerRender from './BannerRender';\nimport buildPropsQuery from '../../helpers/build-props-query';\nimport { getClassModifiers } from '../../utils';\nimport getEntityRenderProps from '../../helpers/get-entity-render-props';\n\nconst Banner = ({ type, ...otherProps }) => {\n const router = useRouter();\n const { isPreview } = useContext(MainContext);\n const { id: userId } = checkIfLoggedIn();\n const { asPath } = router;\n const { parent, entity, sizeId, propsToDisplay = [], userPropsToDisplay = [] } = otherProps;\n const userQuery = buildUserQuery(userPropsToDisplay);\n const { itemEntity } = parent;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity || itemEntity }\n });\n const { data: { getUser: userData } = {}, loading: userLoading } = useQuery(getUser(userQuery), {\n variables: { id: userId },\n skip: !userPropsToDisplay.length || !userId\n });\n\n if (loading || userLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!sizeId) return null;\n\n const modifiers = getClassModifiers('banner', otherProps);\n const queryProps = buildPropsQuery(\n data,\n propsToDisplay.length\n ? flatten(propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay))\n : []\n );\n\n const userPropsData = buildPropsData(userData, userPropsToDisplay);\n const { actionKey, action } = getEntityRenderProps(queryProps, data, isPreview);\n const bannerKey = `${sizeId}${asPath}`;\n\n return (\n <Wrapper className={type} modifiers={modifiers}>\n <BannerRender\n key={bannerKey}\n {...otherProps}\n action={action}\n actionKey={actionKey}\n asPath={asPath}\n userPropsData={userPropsData}\n />\n </Wrapper>\n );\n};\n\nBanner.propTypes = {\n type: PropTypes.string\n};\n\nBanner.defaultProps = {\n type: 'banner'\n};\n\nexport default Banner;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,eAAe,QAAQ,yBAAyB;AACzD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,gBAAgB;AACpC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,EAAEC,cAAc,QAAQ,WAAW;AAC1D,SAASC,qBAAqB,EAAEC,OAAO,QAAQ,yBAAyB;AACxE,OAAOC,OAAO,MAAM,YAAY;AAChC,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,eAAe,MAAM,iCAAiC;AAC7D,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,OAAOC,oBAAoB,MAAM,uCAAuC;AAExE,MAAMC,MAAM,GAAGC,IAAA,IAA6B;EAAA,IAA5B;MAAEC;IAAoB,CAAC,GAAAD,IAAA;IAAZE,UAAU,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,MAAMC,MAAM,GAAGhB,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEiB;EAAU,CAAC,GAAGvB,UAAU,CAACC,WAAW,CAAC;EAC7C,MAAM;IAAEuB,EAAE,EAAEC;EAAO,CAAC,GAAGvB,eAAe,CAAC,CAAC;EACxC,MAAM;IAAEwB;EAAO,CAAC,GAAGJ,MAAM;EACzB,MAAM;IAAEK,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,cAAc,GAAG,EAAE;IAAEC,kBAAkB,GAAG;EAAG,CAAC,GAAGZ,UAAU;EAC3F,MAAMa,SAAS,GAAGzB,cAAc,CAACwB,kBAAkB,CAAC;EACpD,MAAM;IAAEE;EAAW,CAAC,GAAGN,MAAM;EAC7B,MAAM;IAAEO,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG/B,QAAQ,CAACI,qBAAqB,EAAE;IAC/D4B,SAAS,EAAE;MAAEb,EAAE,EAAEI,MAAM,IAAIK;IAAW;EACxC,CAAC,CAAC;EACF,MAAM;IAAEC,IAAI,EAAE;MAAExB,OAAO,EAAE4B;IAAS,CAAC,GAAG,CAAC,CAAC;IAAEF,OAAO,EAAEG;EAAY,CAAC,GAAGlC,QAAQ,CAACK,OAAO,CAACsB,SAAS,CAAC,EAAE;IAC9FK,SAAS,EAAE;MAAEb,EAAE,EAAEC;IAAO,CAAC;IACzBe,IAAI,EAAE,CAACT,kBAAkB,CAACU,MAAM,IAAI,CAAChB;EACvC,CAAC,CAAC;EAEF,IAAIW,OAAO,IAAIG,WAAW,EAAE,OAAO,EAAE;EACrC,IAAIJ,KAAK,EAAE,OAAOA,KAAK,CAACO,OAAO;EAC/B,IAAI,CAACR,IAAI,EAAE,OAAO,IAAI;EACtB,IAAI,CAACL,MAAM,EAAE,OAAO,IAAI;EAExB,MAAMc,SAAS,GAAG7B,iBAAiB,CAAC,QAAQ,EAAEK,UAAU,CAAC;EACzD,MAAMyB,UAAU,GAAG/B,eAAe,CAChCqB,IAAI,EACJJ,cAAc,CAACW,MAAM,GACjBrC,OAAO,CAAC0B,cAAc,CAACe,GAAG,CAAC,CAAC;IAAEC;EAAoB,CAAC,KAAKA,mBAAmB,CAAC,CAAC,GAC7E,EACN,CAAC;EAED,MAAMC,aAAa,GAAGvC,cAAc,CAAC8B,QAAQ,EAAEP,kBAAkB,CAAC;EAClE,MAAM;IAAEiB,SAAS;IAAEC;EAAO,CAAC,GAAGlC,oBAAoB,CAAC6B,UAAU,EAAEV,IAAI,EAAEX,SAAS,CAAC;EAC/E,MAAM2B,SAAS,GAAI,GAAErB,MAAO,GAAEH,MAAO,EAAC;EAEtC,oBACE3B,KAAA,CAAAoD,aAAA,CAACxC,OAAO;IAACyC,SAAS,EAAElC,IAAK;IAACyB,SAAS,EAAEA;EAAU,gBAC7C5C,KAAA,CAAAoD,aAAA,CAACvC,YAAY,EAAAyC,QAAA;IACXC,GAAG,EAAEJ;EAAU,GACX/B,UAAU;IACd8B,MAAM,EAAEA,MAAO;IACfD,SAAS,EAAEA,SAAU;IACrBtB,MAAM,EAAEA,MAAO;IACfqB,aAAa,EAAEA;EAAc,EAC9B,CACM,CAAC;AAEd,CAAC;AAED/B,MAAM,CAACuC,SAAS,GAAG;EACjBrC,IAAI,EAAEf,SAAS,CAACqD;AAClB,CAAC;AAEDxC,MAAM,CAACyC,YAAY,GAAG;EACpBvC,IAAI,EAAE;AACR,CAAC;AAED,eAAeF,MAAM"}
1
+ {"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","BannerRender","buildPropsQuery","getClassModifiers","getEntityRenderProps","Banner","_ref","type","otherProps","_objectWithoutProperties","_excluded","router","isPreview","id","userId","asPath","parent","entity","sizeId","propsToDisplay","userPropsToDisplay","userQuery","itemEntity","data","error","loading","variables","userData","userLoading","skip","length","message","modifiers","queryProps","map","propertiesToDisplay","userPropsData","actionKey","action","bannerKey","createElement","_extends","key","propTypes","string","defaultProps"],"sources":["../../../src/components/Banner/Banner.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport flatten from 'lodash.flatten';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { buildUserQuery, buildPropsData } from './helpers';\nimport { getSingleEntitySchema, getUser } from '../../application/query';\nimport BannerRender from './BannerRender';\nimport buildPropsQuery from '../../helpers/build-props-query';\nimport { getClassModifiers } from '../../utils';\nimport getEntityRenderProps from '../../helpers/get-entity-render-props';\n\nconst Banner = ({ type, ...otherProps }) => {\n const router = useRouter();\n const { isPreview } = useContext(MainContext);\n const { id: userId } = checkIfLoggedIn();\n const { asPath } = router;\n const { parent, entity, sizeId, propsToDisplay = [], userPropsToDisplay = [] } = otherProps;\n const userQuery = buildUserQuery(userPropsToDisplay);\n const { itemEntity } = parent;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity || itemEntity }\n });\n const { data: { getUser: userData } = {}, loading: userLoading } = useQuery(getUser(userQuery), {\n variables: { id: userId },\n skip: !userPropsToDisplay.length || !userId\n });\n\n if (loading || userLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!sizeId) return null;\n\n const modifiers = getClassModifiers('banner', otherProps);\n const queryProps = buildPropsQuery(\n data,\n propsToDisplay.length\n ? flatten(propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay))\n : []\n );\n\n const userPropsData = buildPropsData(userData, userPropsToDisplay);\n const { actionKey, action } = getEntityRenderProps(queryProps, data, isPreview);\n const bannerKey = `${sizeId}${asPath}`;\n\n return (\n <BannerRender\n key={bannerKey}\n {...otherProps}\n action={action}\n actionKey={actionKey}\n asPath={asPath}\n userPropsData={userPropsData}\n modifiers={modifiers}\n />\n );\n};\n\nBanner.propTypes = {\n type: PropTypes.string\n};\n\nBanner.defaultProps = {\n type: 'banner'\n};\n\nexport default Banner;\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,eAAe,QAAQ,yBAAyB;AACzD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,OAAO,MAAM,gBAAgB;AACpC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,EAAEC,cAAc,QAAQ,WAAW;AAC1D,SAASC,qBAAqB,EAAEC,OAAO,QAAQ,yBAAyB;AACxE,OAAOC,YAAY,MAAM,gBAAgB;AACzC,OAAOC,eAAe,MAAM,iCAAiC;AAC7D,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,OAAOC,oBAAoB,MAAM,uCAAuC;AAExE,MAAMC,MAAM,GAAGC,IAAA,IAA6B;EAAA,IAA5B;MAAEC;IAAoB,CAAC,GAAAD,IAAA;IAAZE,UAAU,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EACnC,MAAMC,MAAM,GAAGf,SAAS,CAAC,CAAC;EAC1B,MAAM;IAAEgB;EAAU,CAAC,GAAGtB,UAAU,CAACC,WAAW,CAAC;EAC7C,MAAM;IAAEsB,EAAE,EAAEC;EAAO,CAAC,GAAGtB,eAAe,CAAC,CAAC;EACxC,MAAM;IAAEuB;EAAO,CAAC,GAAGJ,MAAM;EACzB,MAAM;IAAEK,MAAM;IAAEC,MAAM;IAAEC,MAAM;IAAEC,cAAc,GAAG,EAAE;IAAEC,kBAAkB,GAAG;EAAG,CAAC,GAAGZ,UAAU;EAC3F,MAAMa,SAAS,GAAGxB,cAAc,CAACuB,kBAAkB,CAAC;EACpD,MAAM;IAAEE;EAAW,CAAC,GAAGN,MAAM;EAC7B,MAAM;IAAEO,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG9B,QAAQ,CAACI,qBAAqB,EAAE;IAC/D2B,SAAS,EAAE;MAAEb,EAAE,EAAEI,MAAM,IAAIK;IAAW;EACxC,CAAC,CAAC;EACF,MAAM;IAAEC,IAAI,EAAE;MAAEvB,OAAO,EAAE2B;IAAS,CAAC,GAAG,CAAC,CAAC;IAAEF,OAAO,EAAEG;EAAY,CAAC,GAAGjC,QAAQ,CAACK,OAAO,CAACqB,SAAS,CAAC,EAAE;IAC9FK,SAAS,EAAE;MAAEb,EAAE,EAAEC;IAAO,CAAC;IACzBe,IAAI,EAAE,CAACT,kBAAkB,CAACU,MAAM,IAAI,CAAChB;EACvC,CAAC,CAAC;EAEF,IAAIW,OAAO,IAAIG,WAAW,EAAE,OAAO,EAAE;EACrC,IAAIJ,KAAK,EAAE,OAAOA,KAAK,CAACO,OAAO;EAC/B,IAAI,CAACR,IAAI,EAAE,OAAO,IAAI;EACtB,IAAI,CAACL,MAAM,EAAE,OAAO,IAAI;EAExB,MAAMc,SAAS,GAAG7B,iBAAiB,CAAC,QAAQ,EAAEK,UAAU,CAAC;EACzD,MAAMyB,UAAU,GAAG/B,eAAe,CAChCqB,IAAI,EACJJ,cAAc,CAACW,MAAM,GACjBpC,OAAO,CAACyB,cAAc,CAACe,GAAG,CAAC,CAAC;IAAEC;EAAoB,CAAC,KAAKA,mBAAmB,CAAC,CAAC,GAC7E,EACN,CAAC;EAED,MAAMC,aAAa,GAAGtC,cAAc,CAAC6B,QAAQ,EAAEP,kBAAkB,CAAC;EAClE,MAAM;IAAEiB,SAAS;IAAEC;EAAO,CAAC,GAAGlC,oBAAoB,CAAC6B,UAAU,EAAEV,IAAI,EAAEX,SAAS,CAAC;EAC/E,MAAM2B,SAAS,GAAI,GAAErB,MAAO,GAAEH,MAAO,EAAC;EAEtC,oBACE1B,KAAA,CAAAmD,aAAA,CAACvC,YAAY,EAAAwC,QAAA;IACXC,GAAG,EAAEH;EAAU,GACX/B,UAAU;IACd8B,MAAM,EAAEA,MAAO;IACfD,SAAS,EAAEA,SAAU;IACrBtB,MAAM,EAAEA,MAAO;IACfqB,aAAa,EAAEA,aAAc;IAC7BJ,SAAS,EAAEA;EAAU,EACtB,CAAC;AAEN,CAAC;AAED3B,MAAM,CAACsC,SAAS,GAAG;EACjBpC,IAAI,EAAEd,SAAS,CAACmD;AAClB,CAAC;AAEDvC,MAAM,CAACwC,YAAY,GAAG;EACpBtC,IAAI,EAAE;AACR,CAAC;AAED,eAAeF,MAAM"}
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData"];
3
+ const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData", "modifiers"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  import React from 'react';
@@ -25,7 +25,8 @@ const BannerRender = _ref => {
25
25
  action,
26
26
  actionKey,
27
27
  renderCounter,
28
- userPropsData
28
+ userPropsData,
29
+ modifiers
29
30
  } = _ref,
30
31
  otherProps = _objectWithoutProperties(_ref, _excluded);
31
32
  const {
@@ -88,6 +89,7 @@ const BannerRender = _ref => {
88
89
  sizeId: sizeId,
89
90
  parsedAdunit: parsedAdunit,
90
91
  parsedSizes: parsedSizes,
92
+ modifiers: modifiers,
91
93
  targetingArguments: targetingArguments
92
94
  });
93
95
  };
@@ -104,6 +106,7 @@ BannerRender.propTypes = {
104
106
  targetings: PropTypes.string,
105
107
  sizes: PropTypes.string,
106
108
  renderCounter: PropTypes.number,
109
+ modifiers: PropTypes.string,
107
110
  userPropsData: PropTypes.object
108
111
  };
109
112
  BannerRender.defaultProps = {
@@ -115,6 +118,7 @@ BannerRender.defaultProps = {
115
118
  targetings: '',
116
119
  sizes: '',
117
120
  renderCounter: null,
121
+ modifiers: '',
118
122
  userPropsData: {}
119
123
  };
120
124
  export default withTitle(BannerRender);
@@ -1 +1 @@
1
- {"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","otherProps","_objectWithoutProperties","_excluded","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","_objectSpread","createElement","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n renderCounter,\n userPropsData,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n renderCounter: PropTypes.number,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":"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"}
1
+ {"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","modifiers","otherProps","_objectWithoutProperties","_excluded","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","_objectSpread","createElement","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n renderCounter,\n userPropsData,\n modifiers,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n modifiers={modifiers}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n renderCounter: PropTypes.number,\n modifiers: PropTypes.string,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n modifiers: '',\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":"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"}
@@ -56,7 +56,7 @@ const Button = props => {
56
56
  const logout = () => {
57
57
  handleLogout(client);
58
58
  if (hasChildren(children)) return setShowChildren(true);
59
- return url ? router.reload(urlToUse) : router.reload();
59
+ return url ? window.location.href = urlToUse : router.reload();
60
60
  };
61
61
  const handleClick = () => {
62
62
  if (isLogoutButton) logout();
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","_objectSpread","currentProps","href","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n if (hasChildren(children)) return setShowChildren(true);\n return url ? router.reload(urlToUse) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","window","location","href","reload","handleClick","buttonType","modifiers","_objectSpread","currentProps","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n if (hasChildren(children)) return setShowChildren(true);\n return url ? (window.location.href = urlToUse) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
@@ -6,16 +6,19 @@ const getSortProps = ({
6
6
  defaultSortBy,
7
7
  isTextSearchFilterApplied
8
8
  }) => {
9
- const sort = querySort || (sortProperties.length ? null : defaultSort);
10
- let sortby = null;
11
- if (querySortBy) sortby = [querySortBy];else if (!sortProperties.length) sortby = defaultSortBy;
12
9
  const updatedSortProperties = [...sortProperties];
10
+ if (!querySort && !sortProperties.length) {
11
+ updatedSortProperties.unshift({
12
+ sort: defaultSort,
13
+ propsToDisplay: defaultSortBy
14
+ });
15
+ }
13
16
  if (isTextSearchFilterApplied) updatedSortProperties.unshift({
14
17
  isScore: true
15
18
  });
16
- if (sort) updatedSortProperties.unshift({
17
- sort,
18
- propsToDisplay: sortby
19
+ if (querySort) updatedSortProperties.unshift({
20
+ sort: querySort,
21
+ propsToDisplay: [querySortBy]
19
22
  });
20
23
  const sortbyFilters = updatedSortProperties.map(({
21
24
  propsToDisplay: filterProps
@@ -1 +1 @@
1
- {"version":3,"file":"get-sort-props.js","names":["getSortProps","querySort","sortProperties","defaultSort","querySortBy","defaultSortBy","isTextSearchFilterApplied","sort","length","sortby","updatedSortProperties","unshift","isScore","propsToDisplay","sortbyFilters","map","filterProps","filter","Boolean","flat"],"sources":["../../../../src/components/List/helpers/get-sort-props.js"],"sourcesContent":["const getSortProps = ({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n}) => {\n const sort = querySort || (sortProperties.length ? null : defaultSort);\n let sortby = null;\n if (querySortBy) sortby = [querySortBy];\n else if (!sortProperties.length) sortby = defaultSortBy;\n\n const updatedSortProperties = [...sortProperties];\n if (isTextSearchFilterApplied) updatedSortProperties.unshift({ isScore: true });\n if (sort) updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay: filterProps }) => filterProps)\n .filter(Boolean)\n .flat();\n return { sortbyFilters, updatedSortProperties };\n};\n\nexport default getSortProps;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC;EACpBC,SAAS;EACTC,cAAc;EACdC,WAAW;EACXC,WAAW;EACXC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,IAAI,GAAGN,SAAS,KAAKC,cAAc,CAACM,MAAM,GAAG,IAAI,GAAGL,WAAW,CAAC;EACtE,IAAIM,MAAM,GAAG,IAAI;EACjB,IAAIL,WAAW,EAAEK,MAAM,GAAG,CAACL,WAAW,CAAC,CAAC,KACnC,IAAI,CAACF,cAAc,CAACM,MAAM,EAAEC,MAAM,GAAGJ,aAAa;EAEvD,MAAMK,qBAAqB,GAAG,CAAC,GAAGR,cAAc,CAAC;EACjD,IAAII,yBAAyB,EAAEI,qBAAqB,CAACC,OAAO,CAAC;IAAEC,OAAO,EAAE;EAAK,CAAC,CAAC;EAC/E,IAAIL,IAAI,EAAEG,qBAAqB,CAACC,OAAO,CAAC;IAAEJ,IAAI;IAAEM,cAAc,EAAEJ;EAAO,CAAC,CAAC;EAEzE,MAAMK,aAAa,GAAGJ,qBAAqB,CACxCK,GAAG,CAAC,CAAC;IAAEF,cAAc,EAAEG;EAAY,CAAC,KAAKA,WAAW,CAAC,CACrDC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,CAAC;EACT,OAAO;IAAEL,aAAa;IAAEJ;EAAsB,CAAC;AACjD,CAAC;AAED,eAAeV,YAAY"}
1
+ {"version":3,"file":"get-sort-props.js","names":["getSortProps","querySort","sortProperties","defaultSort","querySortBy","defaultSortBy","isTextSearchFilterApplied","updatedSortProperties","length","unshift","sort","propsToDisplay","isScore","sortbyFilters","map","filterProps","filter","Boolean","flat"],"sources":["../../../../src/components/List/helpers/get-sort-props.js"],"sourcesContent":["const getSortProps = ({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n}) => {\n const updatedSortProperties = [...sortProperties];\n if (!querySort && !sortProperties.length) {\n updatedSortProperties.unshift({ sort: defaultSort, propsToDisplay: defaultSortBy });\n }\n if (isTextSearchFilterApplied) updatedSortProperties.unshift({ isScore: true });\n if (querySort) updatedSortProperties.unshift({ sort: querySort, propsToDisplay: [querySortBy] });\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay: filterProps }) => filterProps)\n .filter(Boolean)\n .flat();\n return { sortbyFilters, updatedSortProperties };\n};\n\nexport default getSortProps;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC;EACpBC,SAAS;EACTC,cAAc;EACdC,WAAW;EACXC,WAAW;EACXC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,qBAAqB,GAAG,CAAC,GAAGL,cAAc,CAAC;EACjD,IAAI,CAACD,SAAS,IAAI,CAACC,cAAc,CAACM,MAAM,EAAE;IACxCD,qBAAqB,CAACE,OAAO,CAAC;MAAEC,IAAI,EAAEP,WAAW;MAAEQ,cAAc,EAAEN;IAAc,CAAC,CAAC;EACrF;EACA,IAAIC,yBAAyB,EAAEC,qBAAqB,CAACE,OAAO,CAAC;IAAEG,OAAO,EAAE;EAAK,CAAC,CAAC;EAC/E,IAAIX,SAAS,EAAEM,qBAAqB,CAACE,OAAO,CAAC;IAAEC,IAAI,EAAET,SAAS;IAAEU,cAAc,EAAE,CAACP,WAAW;EAAE,CAAC,CAAC;EAEhG,MAAMS,aAAa,GAAGN,qBAAqB,CACxCO,GAAG,CAAC,CAAC;IAAEH,cAAc,EAAEI;EAAY,CAAC,KAAKA,WAAW,CAAC,CACrDC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,CAAC;EACT,OAAO;IAAEL,aAAa;IAAEN;EAAsB,CAAC;AACjD,CAAC;AAED,eAAeP,YAAY"}
@@ -125,7 +125,7 @@ const SearchFilter = ({
125
125
  className: moreFiltersDesktopTogglerClass,
126
126
  type: "button",
127
127
  onClick: () => setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)
128
- }, "More filters"), /*#__PURE__*/React.createElement("div", {
128
+ }, moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'), /*#__PURE__*/React.createElement("div", {
129
129
  className: moreFiltersDesktopWrapperClass
130
130
  }, /*#__PURE__*/React.createElement("div", {
131
131
  className: MORE_FILTERS_CLASSES.DESKTOP_CONTENT
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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,SAASC,eAAe,EAAEC,aAAa,EAAEC,6BAA6B,QAAQ,YAAY;AAC1F,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,iBAAiB;EACjBC,IAAI;EACJC,OAAO;EACPC,MAAM;EACNC,MAAM;EACNC,YAAY;EACZC,IAAI;EACJC,uBAAuB;EACvBC,mBAAmB;EACnBC,sBAAsB;EACtBC,iBAAiB;EACjBC,gBAAgB;EAChBC,YAAY;EACZC,iBAAiB;EACjBC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAAGjC,QAAQ,CAAC,IAAI,CAAC;EAClF,MAAM,CAACkC,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGnC,QAAQ,CAAC,IAAI,CAAC;EAEpF,MAAMoC,QAAQ,GAAGC,SAAS,IAAI;IAC5B,MAAMC,QAAQ,GAAG/B,aAAa,CAAC8B,SAAS,EAAElB,OAAO,EAAEF,iBAAiB,EAAEc,KAAK,CAAC;IAC5ET,YAAY,CAACgB,QAAQ,CAAC;IACtBH,8BAA8B,CAAC,IAAI,CAAC;IACpCF,6BAA6B,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,MAAMM,YAAY,GAAGnC,QAAQ,CAACiC,SAAS,IAAI;IACzCD,QAAQ,CAACC,SAAS,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEPpC,SAAS,CACP,MAAM;IACJ,IAAI4B,YAAY,CAACW,YAAY,EAAE;MAC7BD,YAAY,CAACV,YAAY,CAAC;MAC1BC,iBAAiB,CAAC;QAAEW,IAAI,EAAE;MAAc,CAAC,CAAC;IAC5C;EACF,CAAC,EACD,CAACZ,YAAY,EAAEU,YAAY,EAAET,iBAAiB,CAChD,CAAC;EAED,MAAMY,SAAS,GAAGvC,UAAU,CAAC,oCAAoC,EAAE;IACjE,sBAAsB,EAAEqB,uBAAuB,IAAIC,mBAAmB;IACtE,2BAA2B,EAAED;EAC/B,CAAC,CAAC;EAEF,MAAM;IACJmB,6BAA6B;IAC7BC,6BAA6B;IAC7BC,8BAA8B;IAC9BC;EACF,CAAC,GAAGtC,6BAA6B,CAAC0B,2BAA2B,EAAEF,0BAA0B,CAAC;EAE1F,MAAMe,MAAM,GAAI,UAASxB,IAAK,OAAM;EAEpC,MAAMyB,WAAW,GAAGA,CAAA,KAAM;IACxBlB,iBAAiB,CAAC;MAAEW,IAAI,EAAE;IAAQ,CAAC,CAAC;IACpCL,QAAQ,CAAC,CAAC;EACZ,CAAC;EAED,MAAMa,kBAAkB,GAAGA,CAACZ,SAAS,EAAEa,YAAY,KAAK;IACtDpB,iBAAiB,CAAC;MAAEO,SAAS;MAAEG,YAAY,EAAEU,YAAY;MAAET,IAAI,EAAE;IAAS,CAAC,CAAC;EAC9E,CAAC;EAED,MAAMU,WAAW,GAAG,CAAC,EAAExB,iBAAiB,IAAIC,gBAAgB,CAAC;EAE7D,oBACE7B,KAAA,CAAAqD,aAAA,CAAArD,KAAA,CAAAsD,QAAA,qBACEtD,KAAA,CAAAqD,aAAA;IACEE,GAAG,EAAEtC,eAAgB;IACrBuC,SAAS,EAAEb,SAAU;IACrB,eAAaK,MAAO;IACpBS,EAAE,EAAET,MAAO;IACXU,QAAQ,EAAEC,CAAC,IAAI;MACbA,CAAC,CAACC,cAAc,CAAC,CAAC;MAClBvB,QAAQ,CAACP,YAAY,CAAC;IACxB;EAAE,GACDJ,mBAAmB,iBAClB1B,KAAA,CAAAqD,aAAA,CAAC3C,eAAe;IAACmD,WAAW,EAAEA,CAAA,KAAMlC,sBAAsB,CAAC,KAAK;EAAE,CAAE,CACrE,eAED3B,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAC;EAA8B,gBAC3CxD,KAAA,CAAAqD,aAAA,CAAC1C,gBAAgB;IAACsC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9CjD,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAC;EAAgD,GAC5D,CAACJ,WAAW,iBACXpD,KAAA,CAAAqD,aAAA,CAAC/C,WAAW;IACVmC,YAAY,EAAE,CAACpB,MAAO;IACtBF,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoB,kBAAkB,EAAEA;EAAmB,CACxC,CACF,EAEAE,WAAW,iBACVpD,KAAA,CAAAqD,aAAA,CAAArD,KAAA,CAAAsD,QAAA,qBACEtD,KAAA,CAAAqD,aAAA,CAAC/C,WAAW;IACVmC,YAAY,EAAE,CAACpB,MAAO;IACtBF,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0C,KAAK,CAAC,CAAC,EAAEjC,gBAAgB,CAAE;IAC5CR,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoB,kBAAkB,EAAEA;EAAmB,CACxC,CAAC,EAED,CAAC,CAACrB,gBAAgB,iBACjB7B,KAAA,CAAAqD,aAAA;IACE,eAAY,8BAA8B;IAC1CG,SAAS,EAAEX,6BAA8B;IACzCH,IAAI,EAAC,QAAQ;IACbqB,OAAO,EAAEA,CAAA,KAAM7B,6BAA6B,CAAC,CAACD,0BAA0B;EAAE,GAAC,SAErE,CACT,eAEDjC,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEZ;EAA8B,gBAC5C5C,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEzC,oBAAoB,CAACiD;EAAe,gBAClDhE,KAAA,CAAAqD,aAAA,CAAC/C,WAAW;IACVmC,YAAY,EAAE,CAACpB,MAAM,IAAId,eAAe,CAAC,CAAE;IAC3CY,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0C,KAAK,CACpBjC,gBAAgB,EAChBD,iBAAiB,GAAGA,iBAAiB,GAAG,CAAC,GAAG,CAC9C,CAAE;IACFP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoB,kBAAkB,EAAEA;EAAmB,CACxC,CAAC,EAED,CAAC,CAACtB,iBAAiB,iBAClB5B,KAAA,CAAAqD,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,cAEI,CACT,eAEDnC,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEV;EAA+B,gBAC7C9C,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEzC,oBAAoB,CAACkD;EAAgB,gBACnDjE,KAAA,CAAAqD,aAAA,CAAC/C,WAAW;IACVmC,YAAY,EAAE,KAAM;IACpBtB,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAO,CAAC0C,KAAK,CAAClC,iBAAiB,CAAE;IAC1CP,MAAM,EAAEA,MAAO;IACfC,MAAM,EAAEA,MAAO;IACfQ,YAAY,EAAEA,YAAa;IAC3BoB,kBAAkB,EAAEA;EAAmB,CACxC,CACE,CAAC,eAENlD,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEzC,oBAAoB,CAACmD;EAAgB,gBACnDlE,KAAA,CAAAqD,aAAA,CAAC1C,gBAAgB;IAACsC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9CjD,KAAA,CAAAqD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD7B,MACK,CACL,CACF,CACF,CAAC,eAENb,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAEzC,oBAAoB,CAACoD;EAAe,gBAClDnE,KAAA,CAAAqD,aAAA,CAAC1C,gBAAgB;IAACsC,WAAW,EAAEA;EAAY,CAAE,CAAC,eAE9CjD,KAAA,CAAAqD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD7B,MACK,CACL,CACF,CACL,CACH,eAEDb,KAAA,CAAAqD,aAAA,WAAK,CAAC,EAEL,CAAC3B,mBAAmB,iBACnB1B,KAAA,CAAAqD,aAAA;IAAQG,SAAS,EAAC,2BAA2B;IAACd,IAAI,EAAC;EAAQ,GACxD7B,MACK,CAEP,CACF,CAAC,EAELa,mBAAmB,iBAAI1B,KAAA,CAAAqD,aAAA,CAACzC,iBAAiB;IAACoC,MAAM,EAAEA,MAAO;IAACC,WAAW,EAAEA;EAAY,CAAE,CAClF,CAAC,EAENxB,uBAAuB,IACtB,CAACC,mBAAmB,iBAClB1B,KAAA,CAAAqD,aAAA;IAAKG,SAAS,EAAC,6CAA6C;IAAC,eAAY;EAAe,gBACtFxD,KAAA,CAAAqD,aAAA;IAAKe,IAAI,EAAC,QAAQ;IAACL,OAAO,EAAEA,CAAA,KAAMpC,sBAAsB,CAAC,IAAI;EAAE,GAC5Db,MACE,CACF,CAET,CAAC;AAEP,CAAC;AAEDE,YAAY,CAACqD,SAAS,GAAG;EACvBlD,IAAI,EAAEhB,SAAS,CAACmE,MAAM,CAACC,UAAU;EACjCnD,OAAO,EAAEjB,SAAS,CAACqE,KAAK,CAACD,UAAU;EACnCtD,eAAe,EAAEd,SAAS,CAACmE,MAAM,CAACC,UAAU;EAC5ClD,MAAM,EAAElB,SAAS,CAACsE,IAAI,CAACF,UAAU;EACjCjD,MAAM,EAAEnB,SAAS,CAACuE,MAAM,CAACH,UAAU;EACnChD,YAAY,EAAEpB,SAAS,CAACwE,IAAI,CAACJ,UAAU;EACvC/C,IAAI,EAAErB,SAAS,CAACuE,MAAM,CAACH,UAAU;EACjC7C,mBAAmB,EAAEvB,SAAS,CAACsE,IAAI,CAACF,UAAU;EAC9C5C,sBAAsB,EAAExB,SAAS,CAACwE,IAAI,CAACJ,UAAU;EACjD9C,uBAAuB,EAAEtB,SAAS,CAACsE,IAAI,CAACF,UAAU;EAClD3C,iBAAiB,EAAEzB,SAAS,CAACyE,MAAM,CAACL,UAAU;EAC9C1C,gBAAgB,EAAE1B,SAAS,CAACyE,MAAM,CAACL,UAAU;EAC7CzC,YAAY,EAAE3B,SAAS,CAACmE,MAAM,CAACC,UAAU;EACzCxC,iBAAiB,EAAE5B,SAAS,CAACwE,IAAI,CAACJ,UAAU;EAC5CrD,iBAAiB,EAAEf,SAAS,CAACuE,MAAM;EACnC1C,KAAK,EAAE7B,SAAS,CAACmE;AACnB,CAAC;AAEDtD,YAAY,CAAC6D,YAAY,GAAG;EAC1B3D,iBAAiB,EAAE,EAAE;EACrBc,KAAK,EAAE,CAAC;AACV,CAAC;AAED,eAAehB,YAAY"}
1
+ {"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
@@ -9,10 +9,11 @@ const getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {
9
9
  sortby,
10
10
  sortProperties = []
11
11
  } = filterProps;
12
+ const [sortProperty = []] = sortProperties || [];
12
13
  return buildSortValues([{
13
14
  sort,
14
15
  propsToDisplay: sortby
15
- }, ...sortProperties], relations, stringProps, useSortObject);
16
+ }, ...[sortProperty]], relations, stringProps, useSortObject);
16
17
  };
17
18
  const getGenericRenderVariables = ({
18
19
  relations,
@@ -1 +1 @@
1
- {"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAC5D,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,cAAc,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,KAAK;EAC7E,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,cAAc,GAAG;EAAG,CAAC,GAAGL,WAAW;EAEzD,OAAOH,eAAe,CACpB,CAAC;IAAEM,IAAI;IAAEG,cAAc,EAAEF;EAAO,CAAC,EAAE,GAAGC,cAAc,CAAC,EACrDN,SAAS,EACTE,WAAW,EACXC,aACF,CAAC;AACH,CAAC;AAED,MAAMK,yBAAyB,GAAGA,CAAC;EACjCR,SAAS;EACTC,WAAW,GAAG,CAAC,CAAC;EAChBC,WAAW,GAAG,EAAE;EAChBO,QAAQ,GAAG,CAAC,CAAC;EACbC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAAC,aAAA,KAAQH,QAAQ,CAAE;EACpC,MAAM;IAAEI,KAAK,GAAGjB,aAAa;IAAEkB;EAAO,CAAC,GAAGb,WAAW;EACrD,MAAMc,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIjB,aAAa,CAAC;EACjD,MAAMqB,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIjB,cAAc,CAAC;EAEpD,IAAIa,aAAa,EAAE;IACjB,MAAMQ,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAAC;MACzCC,KAAK,EAAE;QACLC,cAAc,EAAE;UACdD,KAAK,EAAEV,YAAY,IAAIA,YAAY,CAACU,KAAK,GAAGV,YAAY,CAACU,KAAK,GAAGV,YAAY;UAC7EY,YAAY,EAAE,CAAC,CAAC;UAChBC,UAAU,EAAE;QACd;MACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLX,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC;IACF,CAAC;EACH;EAEA,MAAMd,IAAI,GAAGL,cAAc,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAE,CAAC,CAACS,YAAY,CAACP,IAAI,CAAC;EAErF,IAAIO,YAAY,CAACP,IAAI,IAAIA,IAAI,EAAE;IAC7BO,YAAY,CAACP,IAAI,GAAG,CAAC,GAAGO,YAAY,CAACP,IAAI,EAAEA,IAAI,CAAC;IAEhD,OAAO;MACLS,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;IAClD,CAAC;EACH;EAEA,OAAAC,aAAA,CAAAA,aAAA;IACEC,KAAK,EAAEE,UAAU;IACjBD,MAAM,EAAEG;EAAW,GAChBb,IAAI;IACPc,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;EAAC;AAErD,CAAC;AAED,eAAeH,yBAAyB"}
1
+ {"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","sortProperty","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n const [sortProperty = []] = sortProperties || [];\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...[sortProperty]],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAC5D,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,cAAc,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,KAAK;EAC7E,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,cAAc,GAAG;EAAG,CAAC,GAAGL,WAAW;EACzD,MAAM,CAACM,YAAY,GAAG,EAAE,CAAC,GAAGD,cAAc,IAAI,EAAE;EAEhD,OAAOR,eAAe,CACpB,CAAC;IAAEM,IAAI;IAAEI,cAAc,EAAEH;EAAO,CAAC,EAAE,GAAG,CAACE,YAAY,CAAC,CAAC,EACrDP,SAAS,EACTE,WAAW,EACXC,aACF,CAAC;AACH,CAAC;AAED,MAAMM,yBAAyB,GAAGA,CAAC;EACjCT,SAAS;EACTC,WAAW,GAAG,CAAC,CAAC;EAChBC,WAAW,GAAG,EAAE;EAChBQ,QAAQ,GAAG,CAAC,CAAC;EACbC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAAC,aAAA,KAAQH,QAAQ,CAAE;EACpC,MAAM;IAAEI,KAAK,GAAGlB,aAAa;IAAEmB;EAAO,CAAC,GAAGd,WAAW;EACrD,MAAMe,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIlB,aAAa,CAAC;EACjD,MAAMsB,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIlB,cAAc,CAAC;EAEpD,IAAIc,aAAa,EAAE;IACjB,MAAMQ,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAAC;MACzCC,KAAK,EAAE;QACLC,cAAc,EAAE;UACdD,KAAK,EAAEV,YAAY,IAAIA,YAAY,CAACU,KAAK,GAAGV,YAAY,CAACU,KAAK,GAAGV,YAAY;UAC7EY,YAAY,EAAE,CAAC,CAAC;UAChBC,UAAU,EAAE;QACd;MACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLX,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC;IACF,CAAC;EACH;EAEA,MAAMf,IAAI,GAAGL,cAAc,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAE,CAAC,CAACU,YAAY,CAACR,IAAI,CAAC;EAErF,IAAIQ,YAAY,CAACR,IAAI,IAAIA,IAAI,EAAE;IAC7BQ,YAAY,CAACR,IAAI,GAAG,CAAC,GAAGQ,YAAY,CAACR,IAAI,EAAEA,IAAI,CAAC;IAEhD,OAAO;MACLU,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;IAClD,CAAC;EACH;EAEA,OAAAC,aAAA,CAAAA,aAAA;IACEC,KAAK,EAAEE,UAAU;IACjBD,MAAM,EAAEG;EAAW,GAChBd,IAAI;IACPe,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;EAAC;AAErD,CAAC;AAED,eAAeH,yBAAyB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.133.0-admin-updates.1",
3
+ "version": "0.133.0-admin-updates.6",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "88859485b7c7c151accd57ce8ab8b8d2c8c1b6da"
92
+ "gitHead": "686c556bde89083f3cb2f23c101c8d87951c5221"
93
93
  }
@@ -2,6 +2,7 @@ import React, { useState } from 'react';
2
2
  import { AdSlot } from 'react-dfp';
3
3
  import PropTypes from 'prop-types';
4
4
  import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
5
+ import Wrapper from '../Wrapper';
5
6
 
6
7
  const AdSlotRender = ({
7
8
  shouldShowBanner,
@@ -9,6 +10,7 @@ const AdSlotRender = ({
9
10
  sizeId,
10
11
  parsedAdunit,
11
12
  parsedSizes,
13
+ modifiers,
12
14
  targetingArguments
13
15
  }) => {
14
16
  const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});
@@ -24,11 +26,11 @@ const AdSlotRender = ({
24
26
  })
25
27
  .sort();
26
28
  const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
27
-
29
+ const newModifers = `${modifiers} banner-${loadingStatus}`;
28
30
  return (
29
- <>
31
+ <Wrapper className="banner" modifiers={newModifers}>
30
32
  {styles && <style>{styles.join('\n')}</style>}
31
- <div className={className} style={{ minHeight }}>
33
+ <div className={className} style={{ minHeight }} data-testid="ad-slot">
32
34
  {shouldShowBanner && (
33
35
  <AdSlot
34
36
  adUnit={parsedAdunit}
@@ -46,7 +48,7 @@ const AdSlotRender = ({
46
48
  />
47
49
  )}
48
50
  </div>
49
- </>
51
+ </Wrapper>
50
52
  );
51
53
  };
52
54
 
@@ -56,11 +58,13 @@ AdSlotRender.propTypes = {
56
58
  sizeId: PropTypes.string.isRequired,
57
59
  parsedAdunit: PropTypes.string.isRequired,
58
60
  parsedSizes: PropTypes.array,
61
+ modifiers: PropTypes.string,
59
62
  targetingArguments: PropTypes.object.isRequired
60
63
  };
61
64
 
62
65
  AdSlotRender.defaultProps = {
63
- parsedSizes: null
66
+ parsedSizes: null,
67
+ modifiers: ''
64
68
  };
65
69
 
66
70
  export default AdSlotRender;