@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.
- package/CHANGELOG.md +21 -0
- package/README.md +23 -0
- package/lib/components/List/ListRender.js +10 -1
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/helpers/build-query-booster.js +57 -0
- package/lib/components/List/helpers/build-query-booster.js.map +1 -0
- package/lib/components/List/helpers/index.js +7 -0
- package/lib/components/List/helpers/index.js.map +1 -1
- package/lib/components/Menu/Menu.js +2 -4
- package/lib/components/Menu/Menu.js.map +1 -1
- package/lib/components/MenuItem/MenuItem.js +2 -1
- package/lib/components/MenuItem/MenuItem.js.map +1 -1
- package/lib/hooks/index.js +7 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-app-sync-event-hook.js +31 -0
- package/lib/hooks/use-app-sync-event-hook.js.map +1 -0
- package/lib-es/components/List/ListRender.js +11 -1
- package/lib-es/components/List/ListRender.js.map +1 -1
- package/lib-es/components/List/helpers/build-query-booster.js +41 -0
- package/lib-es/components/List/helpers/build-query-booster.js.map +1 -0
- package/lib-es/components/List/helpers/index.js +1 -0
- package/lib-es/components/List/helpers/index.js.map +1 -1
- package/lib-es/components/Menu/Menu.js +2 -4
- package/lib-es/components/Menu/Menu.js.map +1 -1
- package/lib-es/components/MenuItem/MenuItem.js +2 -1
- package/lib-es/components/MenuItem/MenuItem.js.map +1 -1
- package/lib-es/hooks/index.js +1 -0
- package/lib-es/hooks/index.js.map +1 -1
- package/lib-es/hooks/use-app-sync-event-hook.js +25 -0
- package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -0
- package/package.json +5 -5
- package/src/components/List/ListRender.js +11 -1
- package/src/components/List/helpers/build-query-booster.js +35 -0
- package/src/components/List/helpers/index.js +1 -0
- package/src/components/Menu/Menu.js +2 -4
- package/src/components/MenuItem/MenuItem.js +5 -2
- package/src/hooks/index.js +1 -0
- package/src/hooks/use-app-sync-event-hook.js +19 -0
- package/tests/unit/src/components/List/ListRender.test.js +9 -0
- package/tests/unit/src/components/List/helpers/build-query-booster.test.js +33 -0
- package/tests/unit/src/components/MenuItem/__snapshots__/MenuItem.test.js.snap +2 -0
- package/tests/unit/src/components/PlaceholderIcon/__snapshots__/index.test.js.snap +3 -1
- 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:
|
|
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","
|
|
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":"
|
|
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
|
|
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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"}
|
package/lib/hooks/index.js
CHANGED
|
@@ -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
|
package/lib/hooks/index.js.map
CHANGED
|
@@ -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":"
|
|
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":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,cAAc,MAAM,yBAAyB;AACpD,OAAOC,UAAU,MAAM,qBAAqB;AAC5C,SAASC,gBAAgB,QAAQ,eAAe;AAChD,SAASC,SAAS,QAAQ,iBAAiB;
|
|
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","
|
|
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":"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"}
|
|
@@ -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
|
|
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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"}
|
package/lib-es/hooks/index.js
CHANGED
|
@@ -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.
|
|
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": "
|
|
35
|
-
"@blaze-cms/plugin-search-ui": "
|
|
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": "
|
|
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": "
|
|
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
|
|
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
|
)}
|
package/src/hooks/index.js
CHANGED
|
@@ -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="
|
|
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
|
+
});
|