@blaze-cms/react-page-builder 0.140.3 → 0.141.0-alpha.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 (43) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +23 -0
  3. package/lib/components/List/ListRender.js +10 -1
  4. package/lib/components/List/ListRender.js.map +1 -1
  5. package/lib/components/List/helpers/build-query-booster.js +57 -0
  6. package/lib/components/List/helpers/build-query-booster.js.map +1 -0
  7. package/lib/components/List/helpers/index.js +7 -0
  8. package/lib/components/List/helpers/index.js.map +1 -1
  9. package/lib/components/Menu/Menu.js +2 -4
  10. package/lib/components/Menu/Menu.js.map +1 -1
  11. package/lib/components/MenuItem/MenuItem.js +2 -1
  12. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  13. package/lib/hooks/index.js +7 -0
  14. package/lib/hooks/index.js.map +1 -1
  15. package/lib/hooks/use-app-sync-event-hook.js +31 -0
  16. package/lib/hooks/use-app-sync-event-hook.js.map +1 -0
  17. package/lib-es/components/List/ListRender.js +11 -1
  18. package/lib-es/components/List/ListRender.js.map +1 -1
  19. package/lib-es/components/List/helpers/build-query-booster.js +41 -0
  20. package/lib-es/components/List/helpers/build-query-booster.js.map +1 -0
  21. package/lib-es/components/List/helpers/index.js +1 -0
  22. package/lib-es/components/List/helpers/index.js.map +1 -1
  23. package/lib-es/components/Menu/Menu.js +2 -4
  24. package/lib-es/components/Menu/Menu.js.map +1 -1
  25. package/lib-es/components/MenuItem/MenuItem.js +2 -1
  26. package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
  27. package/lib-es/hooks/index.js +1 -0
  28. package/lib-es/hooks/index.js.map +1 -1
  29. package/lib-es/hooks/use-app-sync-event-hook.js +25 -0
  30. package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -0
  31. package/package.json +5 -5
  32. package/src/components/List/ListRender.js +11 -1
  33. package/src/components/List/helpers/build-query-booster.js +35 -0
  34. package/src/components/List/helpers/index.js +1 -0
  35. package/src/components/Menu/Menu.js +2 -4
  36. package/src/components/MenuItem/MenuItem.js +5 -2
  37. package/src/hooks/index.js +1 -0
  38. package/src/hooks/use-app-sync-event-hook.js +19 -0
  39. package/tests/unit/src/components/List/ListRender.test.js +9 -0
  40. package/tests/unit/src/components/List/helpers/build-query-booster.test.js +33 -0
  41. package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +2 -0
  42. package/tests/unit/src/components/PlaceholderIcon/__snapshots__/index.test.js.snap +3 -1
  43. package/tests/unit/src/hooks/use-app-sync-evet-hook.test.js +50 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.141.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.140.3...v0.141.0-alpha.0) (2024-04-24)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * adds style fixes to admin ([ace61c1](https://github.com/thebyte9/blaze/commit/ace61c15d06b58a86ca4cadf2a435e51e142608f))
12
+ * adds style fixes to admin ([696ff96](https://github.com/thebyte9/blaze/commit/696ff96fb9ad36e4b1b09a80af21d1c846475405))
13
+ * lint and updates snapshots ([60db1bf](https://github.com/thebyte9/blaze/commit/60db1bffbfe937da7357ac79805015e5073a4ab0))
14
+
15
+
16
+ ### Features
17
+
18
+ * add recency boost option to card/list pagebuilder components ([#4306](https://github.com/thebyte9/blaze/issues/4306)) ([6385d97](https://github.com/thebyte9/blaze/commit/6385d972895b50ad82b5b1662368f05dbfa73630))
19
+ * page builder component app event hook ([#4290](https://github.com/thebyte9/blaze/issues/4290)) ([547de36](https://github.com/thebyte9/blaze/commit/547de36ae792a4deb403e8dea60a54a8aa1e4858))
20
+ * page builder component app event hook ([#4290](https://github.com/thebyte9/blaze/issues/4290)) ([f97ae66](https://github.com/thebyte9/blaze/commit/f97ae66eb03aff3837f67e089334ba4128f50081))
21
+ * use classic pagination in the listing ([#4148](https://github.com/thebyte9/blaze/issues/4148)) ([4b96d20](https://github.com/thebyte9/blaze/commit/4b96d20b288bc75a16a93c950ae951e84e5f2055))
22
+
23
+
24
+
25
+
26
+
6
27
  ## [0.140.3](https://github.com/thebyte9/blaze/compare/v0.140.2...v0.140.3) (2024-04-04)
7
28
 
8
29
  **Note:** Version bump only for package @blaze-cms/react-page-builder
package/README.md CHANGED
@@ -336,6 +336,29 @@ Has the following internal functions that can be accessed `get` `getAll` `add`
336
336
 
337
337
  # Hooks
338
338
 
339
+ ### useAppSyncEventHook
340
+ This hook will emit a syc app event based on the eventName passed and will pass forward any data recieved
341
+ It recieves the following props
342
+
343
+ eventName
344
+ The event ame to be triggered by the hook ie. list:query-variables
345
+
346
+ data
347
+ This data will be passed forward to the event
348
+
349
+ props
350
+ Extra props that will be passed forward to the event
351
+
352
+ Here is an example event:
353
+
354
+ app.events.once('plugin:page-builder:test-event:sync', ({ data, props }) => {
355
+ // check props if needed
356
+ data.modifiedProp = true;
357
+ // here the data is modified as needed
358
+ // it returns no value
359
+ });
360
+
361
+
339
362
  ## helpers
340
363
 
341
364
  ### buildPBComponents
@@ -15,6 +15,8 @@ var _Pagination = _interopRequireDefault(require("./components/Pagination"));
15
15
  var _Header = _interopRequireDefault(require("./components/Header"));
16
16
  var _helpers = require("../../helpers");
17
17
  var _constants = require("../../constants");
18
+ var _hooks = require("../../hooks");
19
+ var _helpers2 = require("./helpers");
18
20
  var ListRender = function ListRender(props) {
19
21
  var variables = props.variables,
20
22
  actionKey = props.actionKey,
@@ -34,8 +36,15 @@ var ListRender = function ListRender(props) {
34
36
  isAZ = props.isAZ,
35
37
  azFilter = props.azFilter,
36
38
  displayTotal = props.displayTotal;
39
+ var _useAppSyncEventHook = (0, _hooks.useAppSyncEventHook)({
40
+ eventName: 'list:query-variables',
41
+ data: variables,
42
+ props: props
43
+ }),
44
+ updatedVariables = _useAppSyncEventHook.data;
45
+ var boostedVariables = (0, _helpers2.buildQueryBooster)(props, updatedVariables);
37
46
  var _useQuery = (0, _client.useQuery)(action, {
38
- variables: variables
47
+ variables: boostedVariables
39
48
  }),
40
49
  _useQuery$data = _useQuery.data,
41
50
  data = _useQuery$data === void 0 ? {} : _useQuery$data,
@@ -1 +1 @@
1
- {"version":3,"file":"ListRender.js","names":["_react","_interopRequireDefault","require","_client","_propTypes","_Pagination","_Header","_helpers","_constants","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useQuery","useQuery","_useQuery$data","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","sortResponseData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends2","LOAD_MORE","itemsPerPage","propTypes","PropTypes","string","isRequired","object","number","bool","func","array","defaultProps","_default","exports"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["_react","_interopRequireDefault","require","_client","_propTypes","_Pagination","_Header","_helpers","_constants","_hooks","_helpers2","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useAppSyncEventHook","useAppSyncEventHook","eventName","data","updatedVariables","boostedVariables","buildQueryBooster","_useQuery","useQuery","_useQuery$data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","sortResponseData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends2","LOAD_MORE","itemsPerPage","propTypes","PropTypes","string","isRequired","object","number","bool","func","array","defaultProps","_default","exports"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\nimport { buildQueryBooster } from './helpers';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n const boostedVariables = buildQueryBooster(props, updatedVariables);\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: boostedVariables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.object.to-string.js");
6
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
7
+ require("core-js/modules/es.array.for-each.js");
8
+ require("core-js/modules/web.dom-collections.for-each.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.define-properties.js");
11
+ require("core-js/modules/es.object.define-property.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ Object.defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+ exports["default"] = void 0;
17
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ require("core-js/modules/es.object.keys.js");
20
+ require("core-js/modules/es.array.map.js");
21
+ require("core-js/modules/es.array.concat.js");
22
+ 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; }
23
+ 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) { (0, _defineProperty2["default"])(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; }
24
+ var buildQueryBooster = function buildQueryBooster(props, data) {
25
+ var recencyBoostProperty = props.recencyBoostProperty;
26
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
27
+ var _data$rawQueryStringi = data.rawQueryStringified,
28
+ rawQueryStringified = _data$rawQueryStringi === void 0 ? '' : _data$rawQueryStringi;
29
+ var parsedRawQuery = JSON.parse(rawQueryStringified);
30
+ var _parsedRawQuery$funct = parsedRawQuery.function_score,
31
+ _parsedRawQuery$funct2 = _parsedRawQuery$funct === void 0 ? {} : _parsedRawQuery$funct,
32
+ query = _parsedRawQuery$funct2.query,
33
+ _parsedRawQuery$funct3 = _parsedRawQuery$funct2.functions,
34
+ functions = _parsedRawQuery$funct3 === void 0 ? [] : _parsedRawQuery$funct3;
35
+ var boostedPropsFunctios = recencyBoostProperty.map(function (propToBoost) {
36
+ return {
37
+ gauss: (0, _defineProperty2["default"])({}, propToBoost, {
38
+ origin: 'now',
39
+ scale: '30d',
40
+ offset: '7d',
41
+ decay: 0.5
42
+ })
43
+ };
44
+ });
45
+ var updatedData = {
46
+ function_score: {
47
+ query: functions.length ? query : parsedRawQuery,
48
+ functions: [].concat((0, _toConsumableArray2["default"])(functions), (0, _toConsumableArray2["default"])(boostedPropsFunctios)),
49
+ boost_mode: 'multiply'
50
+ }
51
+ };
52
+ return _objectSpread(_objectSpread({}, data), {}, {
53
+ rawQueryStringified: JSON.stringify(updatedData)
54
+ });
55
+ };
56
+ var _default = exports["default"] = buildQueryBooster;
57
+ //# sourceMappingURL=build-query-booster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-query-booster.js","names":["buildQueryBooster","props","data","recencyBoostProperty","length","_data$rawQueryStringi","rawQueryStringified","parsedRawQuery","JSON","parse","_parsedRawQuery$funct","function_score","_parsedRawQuery$funct2","query","_parsedRawQuery$funct3","functions","boostedPropsFunctios","map","propToBoost","gauss","_defineProperty2","origin","scale","offset","decay","updatedData","concat","_toConsumableArray2","boost_mode","_objectSpread","stringify","_default","exports"],"sources":["../../../../src/components/List/helpers/build-query-booster.js"],"sourcesContent":["const buildQueryBooster = (props, data) => {\n const { recencyBoostProperty } = props;\n\n if (!recencyBoostProperty || !recencyBoostProperty.length) return data;\n const { rawQueryStringified = '' } = data;\n\n const parsedRawQuery = JSON.parse(rawQueryStringified);\n const { function_score: { query, functions = [] } = {} } = parsedRawQuery;\n\n const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({\n gauss: {\n [propToBoost]: {\n origin: 'now',\n scale: '30d',\n offset: '7d',\n decay: 0.5\n }\n }\n }));\n\n const updatedData = {\n function_score: {\n query: functions.length ? query : parsedRawQuery,\n functions: [...functions, ...boostedPropsFunctios],\n boost_mode: 'multiply'\n }\n };\n\n return {\n ...data,\n rawQueryStringified: JSON.stringify(updatedData)\n };\n};\n\nexport default buildQueryBooster;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAEC,IAAI,EAAK;EACzC,IAAQC,oBAAoB,GAAKF,KAAK,CAA9BE,oBAAoB;EAE5B,IAAI,CAACA,oBAAoB,IAAI,CAACA,oBAAoB,CAACC,MAAM,EAAE,OAAOF,IAAI;EACtE,IAAAG,qBAAA,GAAqCH,IAAI,CAAjCI,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAEhC,IAAME,cAAc,GAAGC,IAAI,CAACC,KAAK,CAACH,mBAAmB,CAAC;EACtD,IAAAI,qBAAA,GAA2DH,cAAc,CAAjEI,cAAc;IAAAC,sBAAA,GAAAF,qBAAA,cAA8B,CAAC,CAAC,GAAAA,qBAAA;IAA5BG,KAAK,GAAAD,sBAAA,CAALC,KAAK;IAAAC,sBAAA,GAAAF,sBAAA,CAAEG,SAAS;IAATA,SAAS,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAE/C,IAAME,oBAAoB,GAAGb,oBAAoB,CAACc,GAAG,CAAC,UAAAC,WAAW;IAAA,OAAK;MACpEC,KAAK,MAAAC,gBAAA,iBACFF,WAAW,EAAG;QACbG,MAAM,EAAE,KAAK;QACbC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,IAAI;QACZC,KAAK,EAAE;MACT,CAAC;IAEL,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMC,WAAW,GAAG;IAClBd,cAAc,EAAE;MACdE,KAAK,EAAEE,SAAS,CAACX,MAAM,GAAGS,KAAK,GAAGN,cAAc;MAChDQ,SAAS,KAAAW,MAAA,KAAAC,mBAAA,aAAMZ,SAAS,OAAAY,mBAAA,aAAKX,oBAAoB,EAAC;MAClDY,UAAU,EAAE;IACd;EACF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA,KACK3B,IAAI;IACPI,mBAAmB,EAAEE,IAAI,CAACsB,SAAS,CAACL,WAAW;EAAC;AAEpD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEahC,iBAAiB"}
@@ -23,6 +23,12 @@ Object.defineProperty(exports, "buildPaginationItems", {
23
23
  return _buildPaginationItems["default"];
24
24
  }
25
25
  });
26
+ Object.defineProperty(exports, "buildQueryBooster", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _buildQueryBooster["default"];
30
+ }
31
+ });
26
32
  Object.defineProperty(exports, "getAzQueryFilter", {
27
33
  enumerable: true,
28
34
  get: function get() {
@@ -82,4 +88,5 @@ var _hasRequiredItemListDetails = _interopRequireDefault(require("./has-required
82
88
  var _getListComponent = _interopRequireDefault(require("./get-list-component"));
83
89
  var _getListQuery = _interopRequireDefault(require("./get-list-query"));
84
90
  var _getListSpecificSearchFilter = _interopRequireDefault(require("./get-list-specific-search-filter"));
91
+ var _buildQueryBooster = _interopRequireDefault(require("./build-query-booster"));
85
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_buildPaginationItems","_interopRequireDefault","require","_getAzQueryFilter","_buildAzAggregations","_buildAzUrl","_sortAggs","_getItemsPerPageToUse","_getSortProps","_hasRequiredItemListDetails","_getListComponent","_getListQuery","_getListSpecificSearchFilter"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,2BAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,iBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,4BAAA,GAAAX,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_buildPaginationItems","_interopRequireDefault","require","_getAzQueryFilter","_buildAzAggregations","_buildAzUrl","_sortAggs","_getItemsPerPageToUse","_getSortProps","_hasRequiredItemListDetails","_getListComponent","_getListQuery","_getListSpecificSearchFilter","_buildQueryBooster"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\nexport { default as buildQueryBooster } from './build-query-booster';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,2BAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,iBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,4BAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,kBAAA,GAAAZ,sBAAA,CAAAC,OAAA"}
@@ -41,7 +41,6 @@ var Menu = function Menu(_ref) {
41
41
  logoOnMobileAlt = _ref.logoOnMobileAlt,
42
42
  logoOnMobileModifier = _ref.logoOnMobileModifier,
43
43
  logoOnDesktopModifier = _ref.logoOnDesktopModifier,
44
- logoOnDesktopAlignment = _ref.logoOnDesktopAlignment,
45
44
  closeIconModifier = _ref.closeIconModifier;
46
45
  var router = (0, _router.useRouter)();
47
46
  var _useState = (0, _react.useState)(false),
@@ -78,7 +77,8 @@ var Menu = function Menu(_ref) {
78
77
  className: "menu--mobile-button ".concat(mobileButtonModifier),
79
78
  onClick: function onClick() {
80
79
  return setShowMobileMenu(!showMobileMenu);
81
- }
80
+ },
81
+ "aria-label": showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'
82
82
  }, /*#__PURE__*/_react["default"].createElement("i", null, showMobileMenu ? /*#__PURE__*/_react["default"].createElement(_md.MdClose, {
83
83
  className: closeIconModifier
84
84
  }) : /*#__PURE__*/_react["default"].createElement(_md.MdMenu, {
@@ -110,7 +110,6 @@ Menu.propTypes = {
110
110
  logoOnMobileAlt: _propTypes["default"].string,
111
111
  logoOnMobileModifier: _propTypes["default"].string,
112
112
  logoOnDesktopModifier: _propTypes["default"].string,
113
- logoOnDesktopAlignment: _propTypes["default"].string,
114
113
  hamburgerIconModifier: _propTypes["default"].string,
115
114
  closeIconModifier: _propTypes["default"].string,
116
115
  mobileButtonModifier: _propTypes["default"].string,
@@ -132,7 +131,6 @@ Menu.defaultProps = {
132
131
  mobileIconAlignment: '',
133
132
  mobileMenuModifier: '',
134
133
  mobileMenuChildrenModifier: '',
135
- logoOnDesktopAlignment: 'left',
136
134
  modifier: '',
137
135
  children: []
138
136
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","MdClose","MdMenu","Link","href","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n logoOnDesktopAlignment,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n logoOnDesktopAlignment: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_button","_classnames2","_router","_md","_nextjsComponents","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Menu","_ref","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","useRouter","_useState","useState","_useState2","_slicedToArray2","showMobileMenu","setShowMobileMenu","useEffect","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","classnames","_defineProperty2","isMobileMenuExpanded","concat","menuWrapperClasses","createElement","Provider","value","className","onClick","MdClose","MdMenu","Link","href","src","alt","propTypes","PropTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n aria-label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
@@ -55,7 +55,8 @@ var MenuItem = function MenuItem(_ref) {
55
55
  return /*#__PURE__*/_react["default"].createElement("li", {
56
56
  className: modifier,
57
57
  onMouseEnter: handleItemEvent,
58
- onMouseLeave: handleItemEvent
58
+ onMouseLeave: handleItemEvent,
59
+ "aria-label": text
59
60
  }, /*#__PURE__*/_react["default"].createElement("div", {
60
61
  className: "menu--item--link"
61
62
  }, url ? /*#__PURE__*/_react["default"].createElement(_BlazeLink["default"], {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_constants","_helpers","_BlazeLink","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MenuItem","_ref","children","eventType","text","modifier","url","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","useEffect","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","hasValidChildren","hasChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_fa","_constants","_helpers","_BlazeLink","_MenuContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","MenuItem","_ref","children","eventType","text","modifier","url","_useState","useState","_useState2","_slicedToArray2","displayChildren","setDisplayChildren","_useContext","useContext","MenuContext","showMobileMenu","useEffect","isHoverEvent","HOVER","childrenDisplayClass","HIDDEN","handleItemEvent","_ref2","type","MOUSE_ENTER","MOUSE_LEAVE","hasValidChildren","hasChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","FaChevronUp","FaChevronDown","concat","propTypes","PropTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps","_default","exports"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li\n className={modifier}\n onMouseEnter={handleItemEvent}\n onMouseLeave={handleItemEvent}\n aria-label={text}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "useAppSyncEventHook", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _useAppSyncEventHook["default"];
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "useBannerInsertion", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -61,4 +67,5 @@ var _usePageBuilder = _interopRequireDefault(require("./use-page-builder"));
61
67
  var _useGetSingleEntitySchema = _interopRequireDefault(require("./use-get-single-entity-schema"));
62
68
  var _useCheckMobileScreen = _interopRequireDefault(require("./use-check-mobile-screen"));
63
69
  var _useBannerInsertion = _interopRequireDefault(require("./use-banner-insertion"));
70
+ var _useAppSyncEventHook = _interopRequireDefault(require("./use-app-sync-event-hook"));
64
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.array.concat.js");
9
+ var _react = require("react");
10
+ var _nextjsComponents = require("@blaze-cms/nextjs-components");
11
+ var EVENET_PREFIX = 'plugin:page-builder:';
12
+ var EVENET_SUFIX = ':sync';
13
+ var useAppSyncEventHook = function useAppSyncEventHook(_ref) {
14
+ var eventName = _ref.eventName,
15
+ data = _ref.data,
16
+ props = _ref.props;
17
+ var _useContext = (0, _react.useContext)(_nextjsComponents.AppContext),
18
+ blazeApp = _useContext.blazeApp;
19
+ if (!blazeApp) return {
20
+ data: data
21
+ };
22
+ blazeApp.events.emit("".concat(EVENET_PREFIX).concat(eventName).concat(EVENET_SUFIX), {
23
+ data: data,
24
+ props: props
25
+ });
26
+ return {
27
+ data: data
28
+ };
29
+ };
30
+ var _default = exports["default"] = useAppSyncEventHook;
31
+ //# sourceMappingURL=use-app-sync-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-sync-event-hook.js","names":["_react","require","_nextjsComponents","EVENET_PREFIX","EVENET_SUFIX","useAppSyncEventHook","_ref","eventName","data","props","_useContext","useContext","AppContext","blazeApp","events","emit","concat","_default","exports"],"sources":["../../src/hooks/use-app-sync-event-hook.js"],"sourcesContent":["import { useContext } from 'react';\nimport { AppContext } from '@blaze-cms/nextjs-components';\n\nconst EVENET_PREFIX = 'plugin:page-builder:';\nconst EVENET_SUFIX = ':sync';\n\nconst useAppSyncEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n if (!blazeApp) return { data };\n\n blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {\n data,\n props\n });\n\n return { data };\n};\n\nexport default useAppSyncEventHook;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAME,aAAa,GAAG,sBAAsB;AAC5C,IAAMC,YAAY,GAAG,OAAO;AAE5B,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAmC;EAAA,IAA7BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;EACnD,IAAAC,WAAA,GAAqB,IAAAC,iBAAU,EAACC,4BAAU,CAAC;IAAnCC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;EAChB,IAAI,CAACA,QAAQ,EAAE,OAAO;IAAEL,IAAI,EAAJA;EAAK,CAAC;EAE9BK,QAAQ,CAACC,MAAM,CAACC,IAAI,IAAAC,MAAA,CAAIb,aAAa,EAAAa,MAAA,CAAGT,SAAS,EAAAS,MAAA,CAAGZ,YAAY,GAAI;IAClEI,IAAI,EAAJA,IAAI;IACJC,KAAK,EAALA;EACF,CAAC,CAAC;EAEF,OAAO;IAAED,IAAI,EAAJA;EAAK,CAAC;AACjB,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,cAEab,mBAAmB"}
@@ -6,6 +6,8 @@ import ListPagination from './components/Pagination';
6
6
  import ListHeader from './components/Header';
7
7
  import { sortResponseData } from '../../helpers';
8
8
  import { LOAD_MORE } from '../../constants';
9
+ import { useAppSyncEventHook } from '../../hooks';
10
+ import { buildQueryBooster } from './helpers';
9
11
  const ListRender = props => {
10
12
  const {
11
13
  variables,
@@ -27,13 +29,21 @@ const ListRender = props => {
27
29
  azFilter,
28
30
  displayTotal
29
31
  } = props;
32
+ const {
33
+ data: updatedVariables
34
+ } = useAppSyncEventHook({
35
+ eventName: 'list:query-variables',
36
+ data: variables,
37
+ props
38
+ });
39
+ const boostedVariables = buildQueryBooster(props, updatedVariables);
30
40
  const {
31
41
  data = {},
32
42
  error,
33
43
  loading,
34
44
  fetchMore
35
45
  } = useQuery(action, {
36
- variables
46
+ variables: boostedVariables
37
47
  });
38
48
  if (loading) return '';
39
49
  if (error) return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends","itemsPerPage","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","useAppSyncEventHook","buildQueryBooster","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","updatedVariables","eventName","boostedVariables","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends","itemsPerPage","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\nimport { buildQueryBooster } from './helpers';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n const boostedVariables = buildQueryBooster(props, updatedVariables);\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: boostedVariables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ 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; }
3
+ 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; }
4
+ const buildQueryBooster = (props, data) => {
5
+ const {
6
+ recencyBoostProperty
7
+ } = props;
8
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
9
+ const {
10
+ rawQueryStringified = ''
11
+ } = data;
12
+ const parsedRawQuery = JSON.parse(rawQueryStringified);
13
+ const {
14
+ function_score: {
15
+ query,
16
+ functions = []
17
+ } = {}
18
+ } = parsedRawQuery;
19
+ const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({
20
+ gauss: {
21
+ [propToBoost]: {
22
+ origin: 'now',
23
+ scale: '30d',
24
+ offset: '7d',
25
+ decay: 0.5
26
+ }
27
+ }
28
+ }));
29
+ const updatedData = {
30
+ function_score: {
31
+ query: functions.length ? query : parsedRawQuery,
32
+ functions: [...functions, ...boostedPropsFunctios],
33
+ boost_mode: 'multiply'
34
+ }
35
+ };
36
+ return _objectSpread(_objectSpread({}, data), {}, {
37
+ rawQueryStringified: JSON.stringify(updatedData)
38
+ });
39
+ };
40
+ export default buildQueryBooster;
41
+ //# sourceMappingURL=build-query-booster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-query-booster.js","names":["buildQueryBooster","props","data","recencyBoostProperty","length","rawQueryStringified","parsedRawQuery","JSON","parse","function_score","query","functions","boostedPropsFunctios","map","propToBoost","gauss","origin","scale","offset","decay","updatedData","boost_mode","_objectSpread","stringify"],"sources":["../../../../src/components/List/helpers/build-query-booster.js"],"sourcesContent":["const buildQueryBooster = (props, data) => {\n const { recencyBoostProperty } = props;\n\n if (!recencyBoostProperty || !recencyBoostProperty.length) return data;\n const { rawQueryStringified = '' } = data;\n\n const parsedRawQuery = JSON.parse(rawQueryStringified);\n const { function_score: { query, functions = [] } = {} } = parsedRawQuery;\n\n const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({\n gauss: {\n [propToBoost]: {\n origin: 'now',\n scale: '30d',\n offset: '7d',\n decay: 0.5\n }\n }\n }));\n\n const updatedData = {\n function_score: {\n query: functions.length ? query : parsedRawQuery,\n functions: [...functions, ...boostedPropsFunctios],\n boost_mode: 'multiply'\n }\n };\n\n return {\n ...data,\n rawQueryStringified: JSON.stringify(updatedData)\n };\n};\n\nexport default buildQueryBooster;\n"],"mappings":";;;AAAA,MAAMA,iBAAiB,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACzC,MAAM;IAAEC;EAAqB,CAAC,GAAGF,KAAK;EAEtC,IAAI,CAACE,oBAAoB,IAAI,CAACA,oBAAoB,CAACC,MAAM,EAAE,OAAOF,IAAI;EACtE,MAAM;IAAEG,mBAAmB,GAAG;EAAG,CAAC,GAAGH,IAAI;EAEzC,MAAMI,cAAc,GAAGC,IAAI,CAACC,KAAK,CAACH,mBAAmB,CAAC;EACtD,MAAM;IAAEI,cAAc,EAAE;MAAEC,KAAK;MAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGL,cAAc;EAEzE,MAAMM,oBAAoB,GAAGT,oBAAoB,CAACU,GAAG,CAACC,WAAW,KAAK;IACpEC,KAAK,EAAE;MACL,CAACD,WAAW,GAAG;QACbE,MAAM,EAAE,KAAK;QACbC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,IAAI;QACZC,KAAK,EAAE;MACT;IACF;EACF,CAAC,CAAC,CAAC;EAEH,MAAMC,WAAW,GAAG;IAClBX,cAAc,EAAE;MACdC,KAAK,EAAEC,SAAS,CAACP,MAAM,GAAGM,KAAK,GAAGJ,cAAc;MAChDK,SAAS,EAAE,CAAC,GAAGA,SAAS,EAAE,GAAGC,oBAAoB,CAAC;MAClDS,UAAU,EAAE;IACd;EACF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA,KACKpB,IAAI;IACPG,mBAAmB,EAAEE,IAAI,CAACgB,SAAS,CAACH,WAAW;EAAC;AAEpD,CAAC;AAED,eAAepB,iBAAiB"}
@@ -9,4 +9,5 @@ export { default as hasRequiredItemListDetails } from './has-required-item-list-
9
9
  export { default as getListComponent } from './get-list-component';
10
10
  export { default as getListQuery } from './get-list-query';
11
11
  export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
12
+ export { default as buildQueryBooster } from './build-query-booster';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent","getListQuery","getListSpecificSearchFilter"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB;AAClE,SAAST,OAAO,IAAIU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,OAAO,IAAIW,2BAA2B,QAAQ,mCAAmC"}
1
+ {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent","getListQuery","getListSpecificSearchFilter","buildQueryBooster"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\nexport { default as buildQueryBooster } from './build-query-booster';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB;AAClE,SAAST,OAAO,IAAIU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,OAAO,IAAIW,2BAA2B,QAAQ,mCAAmC;AAC1F,SAASX,OAAO,IAAIY,iBAAiB,QAAQ,uBAAuB"}
@@ -21,7 +21,6 @@ const Menu = ({
21
21
  logoOnMobileAlt,
22
22
  logoOnMobileModifier,
23
23
  logoOnDesktopModifier,
24
- logoOnDesktopAlignment,
25
24
  closeIconModifier
26
25
  }) => {
27
26
  const router = useRouter();
@@ -55,7 +54,8 @@ const Menu = ({
55
54
  className: `flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`
56
55
  }, /*#__PURE__*/React.createElement(BlazeButton, {
57
56
  className: `menu--mobile-button ${mobileButtonModifier}`,
58
- onClick: () => setShowMobileMenu(!showMobileMenu)
57
+ onClick: () => setShowMobileMenu(!showMobileMenu),
58
+ "aria-label": showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'
59
59
  }, /*#__PURE__*/React.createElement("i", null, showMobileMenu ? /*#__PURE__*/React.createElement(MdClose, {
60
60
  className: closeIconModifier
61
61
  }) : /*#__PURE__*/React.createElement(MdMenu, {
@@ -87,7 +87,6 @@ Menu.propTypes = {
87
87
  logoOnMobileAlt: PropTypes.string,
88
88
  logoOnMobileModifier: PropTypes.string,
89
89
  logoOnDesktopModifier: PropTypes.string,
90
- logoOnDesktopAlignment: PropTypes.string,
91
90
  hamburgerIconModifier: PropTypes.string,
92
91
  closeIconModifier: PropTypes.string,
93
92
  mobileButtonModifier: PropTypes.string,
@@ -109,7 +108,6 @@ Menu.defaultProps = {
109
108
  mobileIconAlignment: '',
110
109
  mobileMenuModifier: '',
111
110
  mobileMenuChildrenModifier: '',
112
- logoOnDesktopAlignment: 'left',
113
111
  modifier: '',
114
112
  children: []
115
113
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","logoOnDesktopAlignment","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","href","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n logoOnDesktopAlignment,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n logoOnDesktopAlignment: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n logoOnDesktopAlignment: 'left',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","useState","useEffect","PropTypes","BlazeButton","classnames","useRouter","MdMenu","MdClose","Link","MenuContext","Menu","children","collapse","modifier","mobileMenuModifier","mobileMenuChildrenModifier","mobileIconAlignment","mobileButtonModifier","hamburgerIconModifier","logoOnMobile","logoOnDesktop","logoOnMobileUrl","logoOnMobileAlt","logoOnMobileModifier","logoOnDesktopModifier","closeIconModifier","router","showMobileMenu","setShowMobileMenu","handleRouteChange","events","on","off","shouldDisplayChildren","childModifiers","isMobileMenuExpanded","menuWrapperClasses","createElement","Provider","value","className","onClick","href","src","alt","propTypes","bool","isRequired","string","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/Menu/Menu.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport BlazeButton from '@blaze-react/button';\nimport classnames from 'classnames';\nimport { useRouter } from 'next/router';\nimport { MdMenu, MdClose } from 'react-icons/md';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport MenuContext from './MenuContext';\n\nconst Menu = ({\n children,\n collapse,\n modifier,\n mobileMenuModifier,\n mobileMenuChildrenModifier,\n mobileIconAlignment,\n mobileButtonModifier,\n hamburgerIconModifier,\n logoOnMobile,\n logoOnDesktop,\n logoOnMobileUrl,\n logoOnMobileAlt,\n logoOnMobileModifier,\n logoOnDesktopModifier,\n closeIconModifier\n}) => {\n const router = useRouter();\n const [showMobileMenu, setShowMobileMenu] = useState(false);\n\n useEffect(\n () => {\n const handleRouteChange = () => setShowMobileMenu(false);\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n },\n [router.events]\n );\n\n const shouldDisplayChildren = collapse ? showMobileMenu : true;\n\n const childModifiers = classnames({\n [mobileMenuChildrenModifier]: shouldDisplayChildren,\n [modifier]: !showMobileMenu\n });\n\n const isMobileMenuExpanded = showMobileMenu ? `${mobileMenuModifier}` : '';\n const menuWrapperClasses = classnames('menu--wrapper', {\n 'menu--wrapper--mobile-open': showMobileMenu,\n 'menu--wrapper--mobile-closed': collapse && !showMobileMenu\n });\n\n return (\n <MenuContext.Provider value={{ showMobileMenu }}>\n <div className={menuWrapperClasses}>\n {collapse && (\n <div className=\"menu--mobile-wrapper\">\n <div\n className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>\n <BlazeButton\n className={`menu--mobile-button ${mobileButtonModifier}`}\n onClick={() => setShowMobileMenu(!showMobileMenu)}\n aria-label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>\n <i>\n {showMobileMenu ? (\n <MdClose className={closeIconModifier} />\n ) : (\n <MdMenu className={hamburgerIconModifier} />\n )}\n </i>\n </BlazeButton>\n </div>\n </div>\n )}\n {logoOnMobile &&\n !showMobileMenu && (\n <Link href=\"/\">\n <img src={logoOnMobileUrl} alt={logoOnMobileAlt} className={logoOnMobileModifier} />\n </Link>\n )}\n\n <div className=\"menu--desktop-wrapper\">\n <ul className={childModifiers}>\n {logoOnDesktop && (\n <a href=\"/\" className=\"\">\n <img\n src={logoOnMobileUrl}\n alt={logoOnMobileAlt}\n className={logoOnDesktopModifier}\n />\n </a>\n )}\n {children}\n </ul>\n </div>\n </div>\n </MenuContext.Provider>\n );\n};\n\nMenu.propTypes = {\n collapse: PropTypes.bool.isRequired,\n logoOnMobile: PropTypes.bool.isRequired,\n logoOnDesktop: PropTypes.bool,\n logoOnMobileUrl: PropTypes.string,\n logoOnMobileAlt: PropTypes.string,\n logoOnMobileModifier: PropTypes.string,\n logoOnDesktopModifier: PropTypes.string,\n hamburgerIconModifier: PropTypes.string,\n closeIconModifier: PropTypes.string,\n mobileButtonModifier: PropTypes.string,\n mobileMenuModifier: PropTypes.string,\n mobileMenuChildrenModifier: PropTypes.string,\n modifier: PropTypes.string,\n mobileIconAlignment: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenu.defaultProps = {\n logoOnDesktop: false,\n logoOnMobileUrl: '',\n logoOnMobileAlt: '',\n logoOnMobileModifier: '',\n logoOnDesktopModifier: '',\n hamburgerIconModifier: '',\n closeIconModifier: '',\n mobileButtonModifier: '',\n mobileIconAlignment: '',\n mobileMenuModifier: '',\n mobileMenuChildrenModifier: '',\n modifier: '',\n children: []\n};\n\nexport default Menu;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,qBAAqB;AAC7C,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,MAAM,EAAEC,OAAO,QAAQ,gBAAgB;AAChD,SAASC,IAAI,QAAQ,8BAA8B;AACnD,OAAOC,WAAW,MAAM,eAAe;AAEvC,MAAMC,IAAI,GAAGA,CAAC;EACZC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,kBAAkB;EAClBC,0BAA0B;EAC1BC,mBAAmB;EACnBC,oBAAoB;EACpBC,qBAAqB;EACrBC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,oBAAoB;EACpBC,qBAAqB;EACrBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGrB,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACsB,cAAc,EAAEC,iBAAiB,CAAC,GAAG5B,QAAQ,CAAC,KAAK,CAAC;EAE3DC,SAAS,CACP,MAAM;IACJ,MAAM4B,iBAAiB,GAAGA,CAAA,KAAMD,iBAAiB,CAAC,KAAK,CAAC;IACxDF,MAAM,CAACI,MAAM,CAACC,EAAE,CAAC,kBAAkB,EAAEF,iBAAiB,CAAC;IAEvD,OAAO,MAAM;MACXH,MAAM,CAACI,MAAM,CAACE,GAAG,CAAC,kBAAkB,EAAEH,iBAAiB,CAAC;IAC1D,CAAC;EACH,CAAC,EACD,CAACH,MAAM,CAACI,MAAM,CAChB,CAAC;EAED,MAAMG,qBAAqB,GAAGrB,QAAQ,GAAGe,cAAc,GAAG,IAAI;EAE9D,MAAMO,cAAc,GAAG9B,UAAU,CAAC;IAChC,CAACW,0BAA0B,GAAGkB,qBAAqB;IACnD,CAACpB,QAAQ,GAAG,CAACc;EACf,CAAC,CAAC;EAEF,MAAMQ,oBAAoB,GAAGR,cAAc,GAAI,GAAEb,kBAAmB,EAAC,GAAG,EAAE;EAC1E,MAAMsB,kBAAkB,GAAGhC,UAAU,CAAC,eAAe,EAAE;IACrD,4BAA4B,EAAEuB,cAAc;IAC5C,8BAA8B,EAAEf,QAAQ,IAAI,CAACe;EAC/C,CAAC,CAAC;EAEF,oBACE5B,KAAA,CAAAsC,aAAA,CAAC5B,WAAW,CAAC6B,QAAQ;IAACC,KAAK,EAAE;MAAEZ;IAAe;EAAE,gBAC9C5B,KAAA,CAAAsC,aAAA;IAAKG,SAAS,EAAEJ;EAAmB,GAChCxB,QAAQ,iBACPb,KAAA,CAAAsC,aAAA;IAAKG,SAAS,EAAC;EAAsB,gBACnCzC,KAAA,CAAAsC,aAAA;IACEG,SAAS,EAAG,8BAA6BxB,mBAAoB,IAAGmB,oBAAqB;EAAE,gBACvFpC,KAAA,CAAAsC,aAAA,CAAClC,WAAW;IACVqC,SAAS,EAAG,uBAAsBvB,oBAAqB,EAAE;IACzDwB,OAAO,EAAEA,CAAA,KAAMb,iBAAiB,CAAC,CAACD,cAAc,CAAE;IAClD,cAAYA,cAAc,GAAG,mBAAmB,GAAG;EAAmB,gBACtE5B,KAAA,CAAAsC,aAAA,YACGV,cAAc,gBACb5B,KAAA,CAAAsC,aAAA,CAAC9B,OAAO;IAACiC,SAAS,EAAEf;EAAkB,CAAE,CAAC,gBAEzC1B,KAAA,CAAAsC,aAAA,CAAC/B,MAAM;IAACkC,SAAS,EAAEtB;EAAsB,CAAE,CAE5C,CACQ,CACV,CACF,CACN,EACAC,YAAY,IACX,CAACQ,cAAc,iBACb5B,KAAA,CAAAsC,aAAA,CAAC7B,IAAI;IAACkC,IAAI,EAAC;EAAG,gBACZ3C,KAAA,CAAAsC,aAAA;IAAKM,GAAG,EAAEtB,eAAgB;IAACuB,GAAG,EAAEtB,eAAgB;IAACkB,SAAS,EAAEjB;EAAqB,CAAE,CAC/E,CACP,eAEHxB,KAAA,CAAAsC,aAAA;IAAKG,SAAS,EAAC;EAAuB,gBACpCzC,KAAA,CAAAsC,aAAA;IAAIG,SAAS,EAAEN;EAAe,GAC3Bd,aAAa,iBACZrB,KAAA,CAAAsC,aAAA;IAAGK,IAAI,EAAC,GAAG;IAACF,SAAS,EAAC;EAAE,gBACtBzC,KAAA,CAAAsC,aAAA;IACEM,GAAG,EAAEtB,eAAgB;IACrBuB,GAAG,EAAEtB,eAAgB;IACrBkB,SAAS,EAAEhB;EAAsB,CAClC,CACA,CACJ,EACAb,QACC,CACD,CACF,CACe,CAAC;AAE3B,CAAC;AAEDD,IAAI,CAACmC,SAAS,GAAG;EACfjC,QAAQ,EAAEV,SAAS,CAAC4C,IAAI,CAACC,UAAU;EACnC5B,YAAY,EAAEjB,SAAS,CAAC4C,IAAI,CAACC,UAAU;EACvC3B,aAAa,EAAElB,SAAS,CAAC4C,IAAI;EAC7BzB,eAAe,EAAEnB,SAAS,CAAC8C,MAAM;EACjC1B,eAAe,EAAEpB,SAAS,CAAC8C,MAAM;EACjCzB,oBAAoB,EAAErB,SAAS,CAAC8C,MAAM;EACtCxB,qBAAqB,EAAEtB,SAAS,CAAC8C,MAAM;EACvC9B,qBAAqB,EAAEhB,SAAS,CAAC8C,MAAM;EACvCvB,iBAAiB,EAAEvB,SAAS,CAAC8C,MAAM;EACnC/B,oBAAoB,EAAEf,SAAS,CAAC8C,MAAM;EACtClC,kBAAkB,EAAEZ,SAAS,CAAC8C,MAAM;EACpCjC,0BAA0B,EAAEb,SAAS,CAAC8C,MAAM;EAC5CnC,QAAQ,EAAEX,SAAS,CAAC8C,MAAM;EAC1BhC,mBAAmB,EAAEd,SAAS,CAAC8C,MAAM;EACrCrC,QAAQ,EAAET,SAAS,CAAC+C,SAAS,CAAC,CAAC/C,SAAS,CAACgD,OAAO,CAAChD,SAAS,CAACiD,IAAI,CAAC,EAAEjD,SAAS,CAACiD,IAAI,CAAC;AACnF,CAAC;AAEDzC,IAAI,CAAC0C,YAAY,GAAG;EAClBhC,aAAa,EAAE,KAAK;EACpBC,eAAe,EAAE,EAAE;EACnBC,eAAe,EAAE,EAAE;EACnBC,oBAAoB,EAAE,EAAE;EACxBC,qBAAqB,EAAE,EAAE;EACzBN,qBAAqB,EAAE,EAAE;EACzBO,iBAAiB,EAAE,EAAE;EACrBR,oBAAoB,EAAE,EAAE;EACxBD,mBAAmB,EAAE,EAAE;EACvBF,kBAAkB,EAAE,EAAE;EACtBC,0BAA0B,EAAE,EAAE;EAC9BF,QAAQ,EAAE,EAAE;EACZF,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeD,IAAI"}
@@ -37,7 +37,8 @@ const MenuItem = ({
37
37
  return /*#__PURE__*/React.createElement("li", {
38
38
  className: modifier,
39
39
  onMouseEnter: handleItemEvent,
40
- onMouseLeave: handleItemEvent
40
+ onMouseLeave: handleItemEvent,
41
+ "aria-label": text
41
42
  }, /*#__PURE__*/React.createElement("div", {
42
43
  className: "menu--item--link"
43
44
  }, url ? /*#__PURE__*/React.createElement(BlazeLink, {
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","names":["React","useState","useContext","useEffect","PropTypes","FaChevronDown","FaChevronUp","HOVER","MOUSE_ENTER","MOUSE_LEAVE","HIDDEN","hasChildren","BlazeLink","MenuContext","MenuItem","children","eventType","text","modifier","url","displayChildren","setDisplayChildren","showMobileMenu","isHoverEvent","childrenDisplayClass","handleItemEvent","type","hasValidChildren","createElement","className","onMouseEnter","onMouseLeave","href","role","onClick","propTypes","string","isRequired","oneOfType","arrayOf","node","defaultProps"],"sources":["../../../src/components/MenuItem/MenuItem.js"],"sourcesContent":["import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaChevronDown, FaChevronUp } from 'react-icons/fa';\nimport { HOVER, MOUSE_ENTER, MOUSE_LEAVE, HIDDEN } from '../../constants';\nimport { hasChildren } from '../../helpers';\nimport BlazeLink from '../BlazeLink';\nimport MenuContext from '../Menu/MenuContext';\n\nconst MenuItem = ({ children, eventType, text, modifier, url }) => {\n const [displayChildren, setDisplayChildren] = useState(false);\n const { showMobileMenu } = useContext(MenuContext);\n\n useEffect(\n () => {\n if (!showMobileMenu) setDisplayChildren(false);\n },\n [showMobileMenu]\n );\n\n const isHoverEvent = eventType === HOVER;\n const childrenDisplayClass = displayChildren ? '' : HIDDEN;\n\n const handleItemEvent = ({ type }) => {\n if (isHoverEvent) {\n if (type === MOUSE_ENTER) {\n setDisplayChildren(true);\n }\n if (type === MOUSE_LEAVE) {\n setDisplayChildren(false);\n }\n }\n };\n const hasValidChildren = hasChildren(children);\n\n return (\n <li\n className={modifier}\n onMouseEnter={handleItemEvent}\n onMouseLeave={handleItemEvent}\n aria-label={text}>\n <div className=\"menu--item--link\">\n {url ? (\n <BlazeLink href={url}>{text}</BlazeLink>\n ) : (\n <span role=\"button\" onClick={handleItemEvent}>\n {text}\n </span>\n )}\n {hasValidChildren && (\n <i\n role=\"button\"\n className=\"menu--item--link--icon\"\n onClick={() => setDisplayChildren(!displayChildren)}>\n {displayChildren ? <FaChevronUp /> : <FaChevronDown />}\n </i>\n )}\n </div>\n {hasValidChildren && (\n <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>\n )}\n </li>\n );\n};\n\nMenuItem.propTypes = {\n modifier: PropTypes.string,\n text: PropTypes.string,\n url: PropTypes.string,\n eventType: PropTypes.string.isRequired,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nMenuItem.defaultProps = {\n url: '',\n modifier: '',\n text: '',\n children: null\n};\n\nexport default MenuItem;\n"],"mappings":"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"}
@@ -6,4 +6,5 @@ export { default as usePageBuilder } from './use-page-builder';
6
6
  export { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';
7
7
  export { default as useCheckMobileScreen } from './use-check-mobile-screen';
8
8
  export { default as useBannerInsertion } from './use-banner-insertion';
9
+ export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASD,OAAO,IAAIE,wBAAwB,QAAQ,iCAAiC;AACrF,SAASF,OAAO,IAAIG,yBAAyB,QAAQ,kCAAkC;AACvF,SAASH,OAAO,IAAII,YAAY,QAAQ,kBAAkB;AAC1D,SAASJ,OAAO,IAAIK,cAAc,QAAQ,oBAAoB;AAC9D,SAASL,OAAO,IAAIM,wBAAwB,QAAQ,gCAAgC;AACpF,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASP,OAAO,IAAIQ,kBAAkB,QAAQ,wBAAwB"}
1
+ {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion","useAppSyncEventHook"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASD,OAAO,IAAIE,wBAAwB,QAAQ,iCAAiC;AACrF,SAASF,OAAO,IAAIG,yBAAyB,QAAQ,kCAAkC;AACvF,SAASH,OAAO,IAAII,YAAY,QAAQ,kBAAkB;AAC1D,SAASJ,OAAO,IAAIK,cAAc,QAAQ,oBAAoB;AAC9D,SAASL,OAAO,IAAIM,wBAAwB,QAAQ,gCAAgC;AACpF,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASP,OAAO,IAAIQ,kBAAkB,QAAQ,wBAAwB;AACtE,SAASR,OAAO,IAAIS,mBAAmB,QAAQ,2BAA2B"}
@@ -0,0 +1,25 @@
1
+ import { useContext } from 'react';
2
+ import { AppContext } from '@blaze-cms/nextjs-components';
3
+ const EVENET_PREFIX = 'plugin:page-builder:';
4
+ const EVENET_SUFIX = ':sync';
5
+ const useAppSyncEventHook = ({
6
+ eventName,
7
+ data,
8
+ props
9
+ }) => {
10
+ const {
11
+ blazeApp
12
+ } = useContext(AppContext);
13
+ if (!blazeApp) return {
14
+ data
15
+ };
16
+ blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {
17
+ data,
18
+ props
19
+ });
20
+ return {
21
+ data
22
+ };
23
+ };
24
+ export default useAppSyncEventHook;
25
+ //# sourceMappingURL=use-app-sync-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-sync-event-hook.js","names":["useContext","AppContext","EVENET_PREFIX","EVENET_SUFIX","useAppSyncEventHook","eventName","data","props","blazeApp","events","emit"],"sources":["../../src/hooks/use-app-sync-event-hook.js"],"sourcesContent":["import { useContext } from 'react';\nimport { AppContext } from '@blaze-cms/nextjs-components';\n\nconst EVENET_PREFIX = 'plugin:page-builder:';\nconst EVENET_SUFIX = ':sync';\n\nconst useAppSyncEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n if (!blazeApp) return { data };\n\n blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {\n data,\n props\n });\n\n return { data };\n};\n\nexport default useAppSyncEventHook;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,MAAMC,aAAa,GAAG,sBAAsB;AAC5C,MAAMC,YAAY,GAAG,OAAO;AAE5B,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGR,UAAU,CAACC,UAAU,CAAC;EAC3C,IAAI,CAACO,QAAQ,EAAE,OAAO;IAAEF;EAAK,CAAC;EAE9BE,QAAQ,CAACC,MAAM,CAACC,IAAI,CAAE,GAAER,aAAc,GAAEG,SAAU,GAAEF,YAAa,EAAC,EAAE;IAClEG,IAAI;IACJC;EACF,CAAC,CAAC;EAEF,OAAO;IAAED;EAAK,CAAC;AACjB,CAAC;AAED,eAAeF,mBAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.140.3",
3
+ "version": "0.141.0-alpha.0",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -31,11 +31,11 @@
31
31
  "@blaze-cms/core-errors": "^0.140.3",
32
32
  "@blaze-cms/core-errors-ui": "^0.140.3",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.6",
34
- "@blaze-cms/nextjs-components": "^0.140.3",
35
- "@blaze-cms/plugin-search-ui": "^0.140.3",
34
+ "@blaze-cms/nextjs-components": "0.141.0-alpha.0",
35
+ "@blaze-cms/plugin-search-ui": "0.141.0-alpha.0",
36
36
  "@blaze-cms/setup-ui": "^0.140.3",
37
37
  "@blaze-cms/utils": "^0.140.3",
38
- "@blaze-cms/utils-handlebars": "^0.140.3",
38
+ "@blaze-cms/utils-handlebars": "0.141.0-alpha.0",
39
39
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
40
40
  "@blaze-react/button": "0.5.19",
41
41
  "@blaze-react/checkboxes": "0.5.31",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "f62fd2bbc9cd4f2d1d3e77e679551b1a6ee72b81"
92
+ "gitHead": "f94b31b8daf51e3f2b2e9a420742b373a3a4e4ea"
93
93
  }
@@ -5,6 +5,8 @@ import ListPagination from './components/Pagination';
5
5
  import ListHeader from './components/Header';
6
6
  import { sortResponseData } from '../../helpers';
7
7
  import { LOAD_MORE } from '../../constants';
8
+ import { useAppSyncEventHook } from '../../hooks';
9
+ import { buildQueryBooster } from './helpers';
8
10
 
9
11
  const ListRender = props => {
10
12
  const {
@@ -27,9 +29,17 @@ const ListRender = props => {
27
29
  azFilter,
28
30
  displayTotal
29
31
  } = props;
32
+ const { data: updatedVariables } = useAppSyncEventHook({
33
+ eventName: 'list:query-variables',
34
+ data: variables,
35
+ props
36
+ });
37
+ const boostedVariables = buildQueryBooster(props, updatedVariables);
38
+
30
39
  const { data = {}, error, loading, fetchMore } = useQuery(action, {
31
- variables
40
+ variables: boostedVariables
32
41
  });
42
+
33
43
  if (loading) return '';
34
44
  if (error) return error.message;
35
45
  if (!data[actionKey] || !data[actionKey].results) return null;
@@ -0,0 +1,35 @@
1
+ const buildQueryBooster = (props, data) => {
2
+ const { recencyBoostProperty } = props;
3
+
4
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
5
+ const { rawQueryStringified = '' } = data;
6
+
7
+ const parsedRawQuery = JSON.parse(rawQueryStringified);
8
+ const { function_score: { query, functions = [] } = {} } = parsedRawQuery;
9
+
10
+ const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({
11
+ gauss: {
12
+ [propToBoost]: {
13
+ origin: 'now',
14
+ scale: '30d',
15
+ offset: '7d',
16
+ decay: 0.5
17
+ }
18
+ }
19
+ }));
20
+
21
+ const updatedData = {
22
+ function_score: {
23
+ query: functions.length ? query : parsedRawQuery,
24
+ functions: [...functions, ...boostedPropsFunctios],
25
+ boost_mode: 'multiply'
26
+ }
27
+ };
28
+
29
+ return {
30
+ ...data,
31
+ rawQueryStringified: JSON.stringify(updatedData)
32
+ };
33
+ };
34
+
35
+ export default buildQueryBooster;
@@ -9,3 +9,4 @@ export { default as hasRequiredItemListDetails } from './has-required-item-list-
9
9
  export { default as getListComponent } from './get-list-component';
10
10
  export { default as getListQuery } from './get-list-query';
11
11
  export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
12
+ export { default as buildQueryBooster } from './build-query-booster';
@@ -22,7 +22,6 @@ const Menu = ({
22
22
  logoOnMobileAlt,
23
23
  logoOnMobileModifier,
24
24
  logoOnDesktopModifier,
25
- logoOnDesktopAlignment,
26
25
  closeIconModifier
27
26
  }) => {
28
27
  const router = useRouter();
@@ -62,7 +61,8 @@ const Menu = ({
62
61
  className={`flex w-screen z-50 justify-${mobileIconAlignment} ${isMobileMenuExpanded}`}>
63
62
  <BlazeButton
64
63
  className={`menu--mobile-button ${mobileButtonModifier}`}
65
- onClick={() => setShowMobileMenu(!showMobileMenu)}>
64
+ onClick={() => setShowMobileMenu(!showMobileMenu)}
65
+ aria-label={showMobileMenu ? 'Close mobile menu' : 'Open mobile menu'}>
66
66
  <i>
67
67
  {showMobileMenu ? (
68
68
  <MdClose className={closeIconModifier} />
@@ -108,7 +108,6 @@ Menu.propTypes = {
108
108
  logoOnMobileAlt: PropTypes.string,
109
109
  logoOnMobileModifier: PropTypes.string,
110
110
  logoOnDesktopModifier: PropTypes.string,
111
- logoOnDesktopAlignment: PropTypes.string,
112
111
  hamburgerIconModifier: PropTypes.string,
113
112
  closeIconModifier: PropTypes.string,
114
113
  mobileButtonModifier: PropTypes.string,
@@ -131,7 +130,6 @@ Menu.defaultProps = {
131
130
  mobileIconAlignment: '',
132
131
  mobileMenuModifier: '',
133
132
  mobileMenuChildrenModifier: '',
134
- logoOnDesktopAlignment: 'left',
135
133
  modifier: '',
136
134
  children: []
137
135
  };
@@ -33,7 +33,11 @@ const MenuItem = ({ children, eventType, text, modifier, url }) => {
33
33
  const hasValidChildren = hasChildren(children);
34
34
 
35
35
  return (
36
- <li className={modifier} onMouseEnter={handleItemEvent} onMouseLeave={handleItemEvent}>
36
+ <li
37
+ className={modifier}
38
+ onMouseEnter={handleItemEvent}
39
+ onMouseLeave={handleItemEvent}
40
+ aria-label={text}>
37
41
  <div className="menu--item--link">
38
42
  {url ? (
39
43
  <BlazeLink href={url}>{text}</BlazeLink>
@@ -51,7 +55,6 @@ const MenuItem = ({ children, eventType, text, modifier, url }) => {
51
55
  </i>
52
56
  )}
53
57
  </div>
54
-
55
58
  {hasValidChildren && (
56
59
  <div className={`menu--item-children ${childrenDisplayClass}`}>{children}</div>
57
60
  )}
@@ -6,3 +6,4 @@ export { default as usePageBuilder } from './use-page-builder';
6
6
  export { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';
7
7
  export { default as useCheckMobileScreen } from './use-check-mobile-screen';
8
8
  export { default as useBannerInsertion } from './use-banner-insertion';
9
+ export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
@@ -0,0 +1,19 @@
1
+ import { useContext } from 'react';
2
+ import { AppContext } from '@blaze-cms/nextjs-components';
3
+
4
+ const EVENET_PREFIX = 'plugin:page-builder:';
5
+ const EVENET_SUFIX = ':sync';
6
+
7
+ const useAppSyncEventHook = ({ eventName, data, props }) => {
8
+ const { blazeApp } = useContext(AppContext);
9
+ if (!blazeApp) return { data };
10
+
11
+ blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {
12
+ data,
13
+ props
14
+ });
15
+
16
+ return { data };
17
+ };
18
+
19
+ export default useAppSyncEventHook;
@@ -14,8 +14,17 @@ jest.mock('../../../../../src/components/List/components/Pagination/ListPaginati
14
14
  jest.fn().mockImplementation(() => <div>Pagination Mock</div>)
15
15
  );
16
16
 
17
+ jest.mock('../../../../../src/hooks/use-app-sync-event-hook', () =>
18
+ jest.fn().mockImplementation(({ data }) => ({ data }))
19
+ );
20
+
17
21
  const mockedOptions = {
18
22
  variables: { variable: 1 },
23
+ blazeApp: {
24
+ events: {
25
+ emit: () => {}
26
+ }
27
+ },
19
28
  actionKey: 'actionKey',
20
29
  action: {
21
30
  data: { actionKey: { results: [{ id: 1 }, { id: 2 }] } },
@@ -0,0 +1,33 @@
1
+ import buildQueryBooster from '../../../../../../src/components/List/helpers/build-query-booster';
2
+
3
+ describe('buildQueryBooster helper function', () => {
4
+ it('should return unmodified variables if no recencyBoostProperty is present in props', () => {
5
+ const noRecencyBoostProperty = buildQueryBooster({}, { rawQueryStringified: `{"test":"t"}` });
6
+ expect(noRecencyBoostProperty).toEqual({ rawQueryStringified: '{"test":"t"}' });
7
+ });
8
+
9
+ it('should return update rawQueryStringified with recency boosted props', () => {
10
+ const noRecencyBoostProperty = buildQueryBooster(
11
+ { recencyBoostProperty: ['date'] },
12
+ { rawQueryStringified: `{"test":"t"}` }
13
+ );
14
+ expect(noRecencyBoostProperty).toEqual({
15
+ rawQueryStringified:
16
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"date":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
17
+ });
18
+ });
19
+
20
+ it('should return update rawQueryStringified with recency boosted props and existing functions if present', () => {
21
+ const noRecencyBoostProperty = buildQueryBooster(
22
+ { recencyBoostProperty: ['date'] },
23
+ {
24
+ rawQueryStringified:
25
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"test":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
26
+ }
27
+ );
28
+ expect(noRecencyBoostProperty).toEqual({
29
+ rawQueryStringified:
30
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"test":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}},{"gauss":{"date":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
31
+ });
32
+ });
33
+ });
@@ -3,6 +3,7 @@
3
3
  exports[`MenuItem component should render link if url is passed 1`] = `
4
4
  <DocumentFragment>
5
5
  <li
6
+ aria-label="Item 1"
6
7
  class="menu-item-mod"
7
8
  >
8
9
  <div
@@ -49,6 +50,7 @@ exports[`MenuItem component should render link if url is passed 1`] = `
49
50
  exports[`MenuItem component should render without throwing an error and match snapshot 1`] = `
50
51
  <DocumentFragment>
51
52
  <li
53
+ aria-label="Item 1"
52
54
  class="menu-item-mod"
53
55
  >
54
56
  <div
@@ -7,8 +7,10 @@ exports[`Placeholder component should render PlaceholderIcon 1`] = `
7
7
  data-testid="placeholder-icon"
8
8
  >
9
9
  <svg
10
+ height="25px"
10
11
  version="1.1"
11
12
  viewBox="0 0 20 20"
13
+ width="25px"
12
14
  xmlns="http://www.w3.org/2000/svg"
13
15
  xmlns:xlink="http://www.w3.org/1999/xlink"
14
16
  >
@@ -37,7 +39,7 @@ exports[`Placeholder component should render PlaceholderIcon 1`] = `
37
39
  d="M1.07,10 C3.04212623,8.18723771 4.14171262,7.28085657 4.36875916,7.28085657 C4.79707626,7.28085657 7,9 7.5,9 C8.40867615,9 12.0764465,4.56171314 12.9,4.56171314 C13.4490356,4.56171314 14.8390356,5.81447543 17.07,8.32"
38
40
  fill-rule="nonzero"
39
41
  id="Path-3"
40
- stroke="none"
42
+ stroke="#899BBC"
41
43
  stroke-width="1.3"
42
44
  />
43
45
  <path
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
+ import { AppContext } from '@blaze-cms/nextjs-components';
4
+ import { useAppSyncEventHook } from '../../../../src/hooks';
5
+
6
+ describe('useAppSyncEventHook', () => {
7
+ test('should emit event with correct event name and data', () => {
8
+ const blazeAppMock = {
9
+ events: {
10
+ emit: jest.fn()
11
+ }
12
+ };
13
+
14
+ const eventName = 'testEvent';
15
+ const data = { key: 'value' };
16
+ const props = { someProp: 'value' };
17
+
18
+ const wrapper = ({ children }) => (
19
+ <AppContext.Provider value={{ blazeApp: blazeAppMock }}>{children}</AppContext.Provider>
20
+ );
21
+
22
+ const { result } = renderHook(() => useAppSyncEventHook({ eventName, data, props }), {
23
+ wrapper
24
+ });
25
+
26
+ expect(blazeAppMock.events.emit).toHaveBeenCalledWith(`plugin:page-builder:${eventName}:sync`, {
27
+ data,
28
+ props
29
+ });
30
+
31
+ expect(result.current.data).toEqual(data);
32
+ });
33
+
34
+ test('should return correct data', () => {
35
+ const blazeAppMock = {
36
+ events: {
37
+ emit: jest.fn()
38
+ }
39
+ };
40
+
41
+ const data = { key: 'value' };
42
+
43
+ const wrapper = ({ children }) => (
44
+ <AppContext.Provider value={{ blazeApp: blazeAppMock }}>{children}</AppContext.Provider>
45
+ );
46
+ const { result } = renderHook(() => useAppSyncEventHook({ data }), { wrapper });
47
+
48
+ expect(result.current.data).toEqual(data);
49
+ });
50
+ });