@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.5 → 0.146.0-node18-core-styles-tooltips.12
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 +23 -0
- package/README.md +1 -0
- package/lib/components/SearchContent/SearchContent.js +19 -11
- package/lib/components/SearchContent/SearchContent.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js +3 -1
- package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib/components/SearchFilter/components/Range.js +11 -4
- package/lib/components/SearchFilter/components/Range.js.map +1 -1
- package/lib/hooks/helpers/RenderComponent.js +6 -4
- package/lib/hooks/helpers/RenderComponent.js.map +1 -1
- package/lib/hooks/use-app-sync-event-hook.js +17 -5
- package/lib/hooks/use-app-sync-event-hook.js.map +1 -1
- package/lib/system-components/EditorMode/BlazeLogo.js +90 -0
- package/lib/system-components/EditorMode/BlazeLogo.js.map +1 -0
- package/lib/system-components/EditorMode/PbWrapper.js +55 -0
- package/lib/system-components/EditorMode/PbWrapper.js.map +1 -0
- package/lib/system-components/EditorMode/constants.js +10 -0
- package/lib/system-components/EditorMode/constants.js.map +1 -0
- package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +127 -0
- package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -0
- package/lib/system-components/index.js +25 -0
- package/lib/system-components/index.js.map +1 -0
- package/lib-es/components/SearchContent/SearchContent.js +22 -12
- package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +4 -2
- package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
- package/lib-es/components/SearchFilter/components/Range.js +11 -4
- package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
- package/lib-es/hooks/helpers/RenderComponent.js +6 -4
- package/lib-es/hooks/helpers/RenderComponent.js.map +1 -1
- package/lib-es/hooks/use-app-sync-event-hook.js +18 -6
- package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -1
- package/lib-es/system-components/EditorMode/BlazeLogo.js +64 -0
- package/lib-es/system-components/EditorMode/BlazeLogo.js.map +1 -0
- package/lib-es/system-components/EditorMode/PbWrapper.js +34 -0
- package/lib-es/system-components/EditorMode/PbWrapper.js.map +1 -0
- package/lib-es/system-components/EditorMode/constants.js +3 -0
- package/lib-es/system-components/EditorMode/constants.js.map +1 -0
- package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +80 -0
- package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -0
- package/lib-es/system-components/index.js +3 -0
- package/lib-es/system-components/index.js.map +1 -0
- package/package.json +3 -3
- package/src/components/SearchContent/SearchContent.js +21 -12
- package/src/components/SearchFilter/SearchFilter/FiltersList.js +75 -72
- package/src/components/SearchFilter/components/Range.js +12 -4
- package/src/hooks/helpers/RenderComponent.js +3 -2
- package/src/hooks/use-app-sync-event-hook.js +20 -6
- package/src/system-components/EditorMode/BlazeLogo.js +45 -0
- package/src/system-components/EditorMode/PbWrapper.js +27 -0
- package/src/system-components/EditorMode/constants.js +2 -0
- package/src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +83 -0
- package/src/system-components/index.js +3 -0
- package/tests/unit/src/components/SearchFilter/components/Range.test.js +10 -0
- package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +50 -0
- package/tests/unit/src/hooks/use-app-sync-evet-hook.test.js +35 -15
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.array.iterator.js");
|
|
4
|
+
require("core-js/modules/es.object.define-property.js");
|
|
5
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
+
require("core-js/modules/es.object.to-string.js");
|
|
7
|
+
require("core-js/modules/es.string.iterator.js");
|
|
8
|
+
require("core-js/modules/es.weak-map.js");
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
12
|
+
Object.defineProperty(exports, "__esModule", {
|
|
13
|
+
value: true
|
|
14
|
+
});
|
|
15
|
+
exports["default"] = void 0;
|
|
16
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
+
require("core-js/modules/es.function.name.js");
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
var _reactDom = require("react-dom");
|
|
20
|
+
var _nextjsComponents = require("@blaze-cms/nextjs-components");
|
|
21
|
+
var _addEditorModeEventListeners = _interopRequireDefault(require("./helpers/add-editor-mode-event-listeners"));
|
|
22
|
+
var _BlazeLogo = _interopRequireDefault(require("./BlazeLogo"));
|
|
23
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
24
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
25
|
+
var PbWrapper = function PbWrapper(_ref) {
|
|
26
|
+
var name = _ref.name,
|
|
27
|
+
_ref$type = _ref.type,
|
|
28
|
+
type = _ref$type === void 0 ? 'start' : _ref$type;
|
|
29
|
+
var ref = (0, _react.useRef)(null);
|
|
30
|
+
var _useState = (0, _react.useState)(null),
|
|
31
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
32
|
+
logoProps = _useState2[0],
|
|
33
|
+
setLogoProps = _useState2[1];
|
|
34
|
+
var _useMainContext = (0, _nextjsComponents.useMainContext)(),
|
|
35
|
+
_useMainContext$debug = _useMainContext.debugOptions,
|
|
36
|
+
_useMainContext$debug2 = _useMainContext$debug === void 0 ? {} : _useMainContext$debug,
|
|
37
|
+
adminHref = _useMainContext$debug2.adminHref;
|
|
38
|
+
(0, _react.useEffect)(function () {
|
|
39
|
+
var unmount = (0, _addEditorModeEventListeners["default"])({
|
|
40
|
+
ref: ref,
|
|
41
|
+
name: name,
|
|
42
|
+
adminHref: adminHref,
|
|
43
|
+
type: type,
|
|
44
|
+
setLogoProps: setLogoProps
|
|
45
|
+
});
|
|
46
|
+
return unmount;
|
|
47
|
+
}, [adminHref, name, type]);
|
|
48
|
+
var TagName = "pb-wrapper-".concat(type);
|
|
49
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(TagName, {
|
|
50
|
+
ref: ref,
|
|
51
|
+
"pb-component-name": name
|
|
52
|
+
}), logoProps && /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react["default"].createElement(_BlazeLogo["default"], logoProps), document.body));
|
|
53
|
+
};
|
|
54
|
+
var _default = exports["default"] = PbWrapper;
|
|
55
|
+
//# sourceMappingURL=PbWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PbWrapper.js","names":["_react","_interopRequireWildcard","require","_reactDom","_nextjsComponents","_addEditorModeEventListeners","_interopRequireDefault","_BlazeLogo","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PbWrapper","_ref","name","_ref$type","type","ref","useRef","_useState","useState","_useState2","_slicedToArray2","logoProps","setLogoProps","_useMainContext","useMainContext","_useMainContext$debug","debugOptions","_useMainContext$debug2","adminHref","useEffect","unmount","addEditorModeEventListeners","TagName","concat","createElement","Fragment","createPortal","document","body","_default","exports"],"sources":["../../../src/system-components/EditorMode/PbWrapper.js"],"sourcesContent":["import React, { useRef, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useMainContext } from '@blaze-cms/nextjs-components';\nimport addEditorModeEventListeners from './helpers/add-editor-mode-event-listeners';\nimport BlazeLogo from './BlazeLogo';\n\nconst PbWrapper = ({ name, type = 'start' }) => {\n const ref = useRef(null);\n const [logoProps, setLogoProps] = useState(null);\n const { debugOptions: { adminHref } = {} } = useMainContext();\n\n useEffect(() => {\n const unmount = addEditorModeEventListeners({ ref, name, adminHref, type, setLogoProps });\n\n return unmount;\n }, [adminHref, name, type]);\n\n const TagName = `pb-wrapper-${type}`;\n return (\n <>\n <TagName ref={ref} pb-component-name={name} />\n {logoProps && createPortal(<BlazeLogo {...logoProps} />, document.body)}\n </>\n );\n};\n\nexport default PbWrapper;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
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.EDITOR_MODE_ICON_CLASS = exports.EDITOR_MODE_HIGHLIGHT_CLASS = void 0;
|
|
8
|
+
var EDITOR_MODE_HIGHLIGHT_CLASS = exports.EDITOR_MODE_HIGHLIGHT_CLASS = 'blaze-pb-editor-highlight';
|
|
9
|
+
var EDITOR_MODE_ICON_CLASS = exports.EDITOR_MODE_ICON_CLASS = 'blaze-pb-editor-icon';
|
|
10
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["EDITOR_MODE_HIGHLIGHT_CLASS","exports","EDITOR_MODE_ICON_CLASS"],"sources":["../../../src/system-components/EditorMode/constants.js"],"sourcesContent":["export const EDITOR_MODE_HIGHLIGHT_CLASS = 'blaze-pb-editor-highlight';\nexport const EDITOR_MODE_ICON_CLASS = 'blaze-pb-editor-icon';\n"],"mappings":";;;;;;;AAAO,IAAMA,2BAA2B,GAAAC,OAAA,CAAAD,2BAAA,GAAG,2BAA2B;AAC/D,IAAME,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,GAAG,sBAAsB","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
require("core-js/modules/es.symbol.description.js");
|
|
5
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
6
|
+
require("core-js/modules/es.array.from.js");
|
|
7
|
+
require("core-js/modules/es.array.is-array.js");
|
|
8
|
+
require("core-js/modules/es.array.iterator.js");
|
|
9
|
+
require("core-js/modules/es.array.slice.js");
|
|
10
|
+
require("core-js/modules/es.date.to-string.js");
|
|
11
|
+
require("core-js/modules/es.object.define-property.js");
|
|
12
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
13
|
+
require("core-js/modules/es.regexp.to-string.js");
|
|
14
|
+
require("core-js/modules/es.string.iterator.js");
|
|
15
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
16
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
17
|
+
Object.defineProperty(exports, "__esModule", {
|
|
18
|
+
value: true
|
|
19
|
+
});
|
|
20
|
+
exports["default"] = void 0;
|
|
21
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
22
|
+
require("core-js/modules/es.array.concat.js");
|
|
23
|
+
require("core-js/modules/es.array.for-each.js");
|
|
24
|
+
require("core-js/modules/es.array.map.js");
|
|
25
|
+
require("core-js/modules/es.function.name.js");
|
|
26
|
+
require("core-js/modules/es.object.entries.js");
|
|
27
|
+
require("core-js/modules/es.object.to-string.js");
|
|
28
|
+
require("core-js/modules/es.object.values.js");
|
|
29
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
30
|
+
var _helpers = require("../../../helpers");
|
|
31
|
+
var _constants = require("../constants");
|
|
32
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
33
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
34
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
35
|
+
var addEditorModeEventListeners = function addEditorModeEventListeners(_ref) {
|
|
36
|
+
var ref = _ref.ref,
|
|
37
|
+
name = _ref.name,
|
|
38
|
+
adminHref = _ref.adminHref,
|
|
39
|
+
type = _ref.type,
|
|
40
|
+
setLogoProps = _ref.setLogoProps;
|
|
41
|
+
var listeners = [];
|
|
42
|
+
|
|
43
|
+
// ignore start tags and if parent not found
|
|
44
|
+
if (type !== 'end' || !ref.current || !ref.current.parentNode) return listeners;
|
|
45
|
+
var siblings = ref.current.parentNode.children;
|
|
46
|
+
var foundChildren = [];
|
|
47
|
+
var foundStart = false;
|
|
48
|
+
// eslint-disable-next-line no-restricted-syntax, no-unused-vars
|
|
49
|
+
var _iterator = _createForOfIteratorHelper(siblings),
|
|
50
|
+
_step;
|
|
51
|
+
try {
|
|
52
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
53
|
+
var child = _step.value;
|
|
54
|
+
if (!foundStart) {
|
|
55
|
+
// find start tag
|
|
56
|
+
if (child.getAttribute('pb-component-name') === name) {
|
|
57
|
+
foundStart = true;
|
|
58
|
+
}
|
|
59
|
+
// eslint-disable-next-line no-continue
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (child === ref.current) {
|
|
63
|
+
// end tag found
|
|
64
|
+
break;
|
|
65
|
+
}
|
|
66
|
+
foundChildren.push(child); // all nodes between start and end tags - PB component nodes
|
|
67
|
+
}
|
|
68
|
+
} catch (err) {
|
|
69
|
+
_iterator.e(err);
|
|
70
|
+
} finally {
|
|
71
|
+
_iterator.f();
|
|
72
|
+
}
|
|
73
|
+
var cleanUpFunctions = Object.values(siblings).map(function (childNode) {
|
|
74
|
+
var componentId = (0, _helpers.getComponentId)(name);
|
|
75
|
+
var clickItemId = "click-".concat(componentId);
|
|
76
|
+
var click = function click(e) {
|
|
77
|
+
e.stopPropagation();
|
|
78
|
+
e.preventDefault();
|
|
79
|
+
window.open("".concat(adminHref, "#").concat(componentId), adminHref);
|
|
80
|
+
};
|
|
81
|
+
var mouseenter = function mouseenter(e) {
|
|
82
|
+
document.querySelectorAll(".".concat(_constants.EDITOR_MODE_HIGHLIGHT_CLASS)).forEach(function (node) {
|
|
83
|
+
node.classList.remove(_constants.EDITOR_MODE_HIGHLIGHT_CLASS);
|
|
84
|
+
});
|
|
85
|
+
childNode.classList.add(_constants.EDITOR_MODE_HIGHLIGHT_CLASS);
|
|
86
|
+
setLogoProps({
|
|
87
|
+
id: clickItemId,
|
|
88
|
+
'aria-label': "Edit ".concat(name),
|
|
89
|
+
childNode: childNode,
|
|
90
|
+
onclick: click
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
var mouseleave = function mouseleave(e) {
|
|
94
|
+
childNode.classList.remove(_constants.EDITOR_MODE_HIGHLIGHT_CLASS);
|
|
95
|
+
setLogoProps(null);
|
|
96
|
+
};
|
|
97
|
+
childNode.addEventListener('click', click); // todo: remove listener and trigger on icon click
|
|
98
|
+
childNode.addEventListener('mouseenter', mouseenter);
|
|
99
|
+
childNode.addEventListener('mouseleave', mouseleave);
|
|
100
|
+
listeners.push([childNode, {
|
|
101
|
+
click: click,
|
|
102
|
+
mouseenter: mouseenter,
|
|
103
|
+
mouseleave: mouseleave
|
|
104
|
+
}]);
|
|
105
|
+
var nodeCleanup = function nodeCleanup() {
|
|
106
|
+
listeners.forEach(function (_ref2) {
|
|
107
|
+
var _ref3 = (0, _slicedToArray2["default"])(_ref2, 2),
|
|
108
|
+
events = _ref3[1];
|
|
109
|
+
Object.entries(events).forEach(function (_ref4) {
|
|
110
|
+
var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
|
|
111
|
+
event = _ref5[0],
|
|
112
|
+
handler = _ref5[1];
|
|
113
|
+
childNode.removeEventListener(event, handler);
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
return nodeCleanup;
|
|
118
|
+
});
|
|
119
|
+
var unmount = function unmount() {
|
|
120
|
+
cleanUpFunctions.forEach(function (fn) {
|
|
121
|
+
return fn();
|
|
122
|
+
});
|
|
123
|
+
};
|
|
124
|
+
return unmount;
|
|
125
|
+
};
|
|
126
|
+
var _default = exports["default"] = addEditorModeEventListeners;
|
|
127
|
+
//# sourceMappingURL=add-editor-mode-event-listeners.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-editor-mode-event-listeners.js","names":["_helpers","require","_constants","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","addEditorModeEventListeners","_ref","ref","adminHref","type","setLogoProps","listeners","current","parentNode","siblings","children","foundChildren","foundStart","_iterator","_step","child","getAttribute","push","err","cleanUpFunctions","Object","values","map","childNode","componentId","getComponentId","clickItemId","concat","click","stopPropagation","preventDefault","window","open","mouseenter","document","querySelectorAll","EDITOR_MODE_HIGHLIGHT_CLASS","forEach","node","classList","remove","add","id","onclick","mouseleave","addEventListener","nodeCleanup","_ref2","_ref3","_slicedToArray2","events","entries","_ref4","_ref5","event","handler","removeEventListener","unmount","fn","_default","exports"],"sources":["../../../../src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js"],"sourcesContent":["import { getComponentId } from '../../../helpers';\nimport { EDITOR_MODE_HIGHLIGHT_CLASS } from '../constants';\n\nconst addEditorModeEventListeners = ({ ref, name, adminHref, type, setLogoProps }) => {\n const listeners = [];\n\n // ignore start tags and if parent not found\n if (type !== 'end' || !ref.current || !ref.current.parentNode) return listeners;\n\n const siblings = ref.current.parentNode.children;\n\n const foundChildren = [];\n let foundStart = false;\n // eslint-disable-next-line no-restricted-syntax, no-unused-vars\n for (const child of siblings) {\n if (!foundStart) {\n // find start tag\n if (child.getAttribute('pb-component-name') === name) {\n foundStart = true;\n }\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (child === ref.current) {\n // end tag found\n break;\n }\n\n foundChildren.push(child); // all nodes between start and end tags - PB component nodes\n }\n\n const cleanUpFunctions = Object.values(siblings).map(childNode => {\n const componentId = getComponentId(name);\n const clickItemId = `click-${componentId}`;\n const click = e => {\n e.stopPropagation();\n e.preventDefault();\n window.open(`${adminHref}#${componentId}`, adminHref);\n };\n const mouseenter = e => {\n document.querySelectorAll(`.${EDITOR_MODE_HIGHLIGHT_CLASS}`).forEach(node => {\n node.classList.remove(EDITOR_MODE_HIGHLIGHT_CLASS);\n });\n childNode.classList.add(EDITOR_MODE_HIGHLIGHT_CLASS);\n\n setLogoProps({\n id: clickItemId,\n 'aria-label': `Edit ${name}`,\n childNode,\n onclick: click\n });\n };\n const mouseleave = e => {\n childNode.classList.remove(EDITOR_MODE_HIGHLIGHT_CLASS);\n setLogoProps(null);\n };\n\n childNode.addEventListener('click', click); // todo: remove listener and trigger on icon click\n childNode.addEventListener('mouseenter', mouseenter);\n childNode.addEventListener('mouseleave', mouseleave);\n\n listeners.push([childNode, { click, mouseenter, mouseleave }]);\n\n const nodeCleanup = () => {\n listeners.forEach(([, events]) => {\n Object.entries(events).forEach(([event, handler]) => {\n childNode.removeEventListener(event, handler);\n });\n });\n };\n\n return nodeCleanup;\n });\n\n const unmount = () => {\n cleanUpFunctions.forEach(fn => fn());\n };\n\n return unmount;\n};\n\nexport default addEditorModeEventListeners;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.PbWrapper = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
require("core-js/modules/es.array.iterator.js");
|
|
10
|
+
require("core-js/modules/es.object.define-property.js");
|
|
11
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
require("core-js/modules/es.promise.js");
|
|
14
|
+
require("core-js/modules/es.string.iterator.js");
|
|
15
|
+
require("core-js/modules/es.weak-map.js");
|
|
16
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
17
|
+
var _dynamic = _interopRequireDefault(require("next/dynamic"));
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2["default"])(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
20
|
+
var PbWrapper = exports.PbWrapper = (0, _dynamic["default"])(function () {
|
|
21
|
+
return Promise.resolve().then(function () {
|
|
22
|
+
return _interopRequireWildcard(require('./EditorMode/PbWrapper'));
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_dynamic","_interopRequireDefault","require","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","_typeof2","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","PbWrapper","exports","dynamic","Promise","resolve","then"],"sources":["../../src/system-components/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\n\nexport const PbWrapper = dynamic(() => import('./EditorMode/PbWrapper'));\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAI,wBAAAJ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,eAAAA,CAAA,oBAAAM,QAAA,aAAAN,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAI,GAAA,CAAAP,CAAA,UAAAG,CAAA,CAAAK,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,cAAAT,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAE5B,IAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,IAAAE,mBAAO,EAAC;EAAA,OAAAC,OAAA,CAAAC,OAAA,GAAAC,IAAA;IAAA,OAAArB,uBAAA,CAAAN,OAAA,CAAa,wBAAwB;EAAA;AAAA,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,21 +4,30 @@ import { useRouter } from 'next/router';
|
|
|
4
4
|
import { useDebounceSearch } from '@blaze-cms/plugin-search-ui';
|
|
5
5
|
import SearchContentResults from './SearchContentResults';
|
|
6
6
|
import SearchContentToggleIcon from './SearchContentToggleIcon';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
import { useAppSyncEventHook } from '../../hooks';
|
|
8
|
+
const SearchContent = props => {
|
|
9
|
+
const {
|
|
10
|
+
entities,
|
|
11
|
+
searchInputWrapperMobile,
|
|
12
|
+
searchInputWrapperDesktop,
|
|
13
|
+
isMobile,
|
|
14
|
+
placeholder,
|
|
15
|
+
modifier,
|
|
16
|
+
collapsedSearch,
|
|
17
|
+
searchUrl,
|
|
18
|
+
navigateToSingleSearchResult
|
|
19
|
+
} = props;
|
|
18
20
|
const searchContentRef = useRef(null);
|
|
19
21
|
const [collapsed, setCollapsed] = useState(collapsedSearch);
|
|
20
22
|
const [showResults, setShowResults] = useState(false);
|
|
21
23
|
const router = useRouter();
|
|
24
|
+
const {
|
|
25
|
+
runHook
|
|
26
|
+
} = useAppSyncEventHook({
|
|
27
|
+
eventName: 'searchcontent:query-variables',
|
|
28
|
+
props,
|
|
29
|
+
returnFunction: true
|
|
30
|
+
});
|
|
22
31
|
const {
|
|
23
32
|
results,
|
|
24
33
|
searchTerm,
|
|
@@ -27,7 +36,8 @@ const SearchContent = ({
|
|
|
27
36
|
} = useDebounceSearch({
|
|
28
37
|
entities,
|
|
29
38
|
initialSearchTerm: '',
|
|
30
|
-
resultKeys: 'id, name, image { url }, url'
|
|
39
|
+
resultKeys: 'id, name, image { url }, url',
|
|
40
|
+
queryHook: runHook
|
|
31
41
|
});
|
|
32
42
|
useEffect(() => {
|
|
33
43
|
const handleRouteChange = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","SearchContent","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\n\nconst SearchContent = ({\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n}) => {\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url'\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n if (collapsedSearch) {\n setCollapsed(true);\n setSearchTerm('');\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchContent.js","names":["React","useState","useEffect","useRef","PropTypes","useRouter","useDebounceSearch","SearchContentResults","SearchContentToggleIcon","useAppSyncEventHook","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","collapsed","setCollapsed","showResults","setShowResults","router","runHook","eventName","returnFunction","results","searchTerm","setSearchTerm","debouncedSearchTerm","initialSearchTerm","resultKeys","queryHook","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","e","url","preventDefault","push","handleKeyDown","key","value","length","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","string","bool","array","isRequired","defaultProps"],"sources":["../../../src/components/SearchContent/SearchContent.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { useDebounceSearch } from '@blaze-cms/plugin-search-ui';\nimport SearchContentResults from './SearchContentResults';\nimport SearchContentToggleIcon from './SearchContentToggleIcon';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst SearchContent = props => {\n const {\n entities,\n searchInputWrapperMobile,\n searchInputWrapperDesktop,\n isMobile,\n placeholder,\n modifier,\n collapsedSearch,\n searchUrl,\n navigateToSingleSearchResult\n } = props;\n const searchContentRef = useRef(null);\n const [collapsed, setCollapsed] = useState(collapsedSearch);\n const [showResults, setShowResults] = useState(false);\n const router = useRouter();\n\n const { runHook } = useAppSyncEventHook({\n eventName: 'searchcontent:query-variables',\n props,\n returnFunction: true\n });\n\n const { results, searchTerm, setSearchTerm, debouncedSearchTerm } = useDebounceSearch({\n entities,\n initialSearchTerm: '',\n resultKeys: 'id, name, image { url }, url',\n queryHook: runHook\n });\n\n useEffect(() => {\n const handleRouteChange = () => {\n setSearchTerm('');\n setShowResults(false);\n if (collapsedSearch) setCollapsed(true);\n };\n router.events.on('routeChangeStart', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeStart', handleRouteChange);\n };\n }, [collapsedSearch, router.events, setSearchTerm]);\n\n useEffect(() => {\n const handleClickOutside = event => {\n if (searchContentRef.current && !searchContentRef.current.contains(event.target)) {\n setShowResults(false);\n if (collapsedSearch) {\n setCollapsed(true);\n setSearchTerm('');\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, [collapsedSearch, setSearchTerm]);\n\n const responsiveClasses = isMobile ? searchInputWrapperMobile : searchInputWrapperDesktop;\n\n const handleNavigation = (e, url) => {\n e.preventDefault();\n router.push(url);\n };\n\n const handleKeyDown = e => {\n if (e.key === 'Enter' && e.target.value !== '') {\n if (navigateToSingleSearchResult && results && results.length === 1 && results[0].url) {\n router.push(results[0].url);\n } else {\n router.push(`${searchUrl || '/search'}?search_term=${e.target.value}`);\n }\n }\n };\n\n const handleIconClick = () => {\n const isCloseIcon = collapsedSearch ? !collapsed : debouncedSearchTerm;\n\n if (collapsedSearch) setCollapsed(!collapsed);\n\n if (isCloseIcon) {\n setSearchTerm('');\n setShowResults(false);\n } else {\n setShowResults(true);\n }\n };\n\n const className = ['search-content', modifier, responsiveClasses].filter(Boolean).join(' ');\n const searchModifier = collapsed ? 'search-content--collapse' : 'search-content--expanded';\n\n return (\n <div className={className} ref={searchContentRef}>\n <div className={`${searchModifier}__wrapper`}>\n <label className={`${searchModifier}__label`}>\n <span className={`${searchModifier}__icon_wrapper`}>\n <SearchContentToggleIcon\n searchTerm={debouncedSearchTerm}\n onClick={handleIconClick}\n useCloseIcon={collapsedSearch ? !collapsed : debouncedSearchTerm}\n />\n </span>\n {!collapsed && (\n <input\n className={`${searchModifier}__input`}\n type=\"text\"\n name=\"search\"\n placeholder={placeholder}\n value={searchTerm}\n onChange={e => setSearchTerm(e.target.value)}\n onKeyDown={handleKeyDown}\n onFocus={() => setShowResults(true)}\n data-testid=\"search-content-input\"\n />\n )}\n </label>\n </div>\n {showResults && (\n <SearchContentResults\n results={results}\n debouncedSearchTerm={debouncedSearchTerm}\n handleClick={handleNavigation}\n />\n )}\n </div>\n );\n};\n\nSearchContent.propTypes = {\n searchInputWrapperMobile: PropTypes.string,\n searchInputWrapperDesktop: PropTypes.string,\n placeholder: PropTypes.string,\n isMobile: PropTypes.bool,\n entities: PropTypes.array.isRequired,\n modifier: PropTypes.string,\n collapsedSearch: PropTypes.bool,\n searchUrl: PropTypes.string,\n navigateToSingleSearchResult: PropTypes.bool\n};\n\nSearchContent.defaultProps = {\n searchInputWrapperMobile: '',\n searchInputWrapperDesktop: '',\n placeholder: '',\n isMobile: false,\n modifier: '',\n collapsedSearch: false,\n searchUrl: '',\n navigateToSingleSearchResult: false\n};\n\nexport default SearchContent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["type", "label", "propsToDisplay", "elementTitle"];
|
|
3
|
+
const _excluded = ["type", "label", "propsToDisplay", "elementTitle", "unit"];
|
|
4
4
|
import React, { useContext } from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
@@ -23,7 +23,8 @@ const FiltersList = ({
|
|
|
23
23
|
type,
|
|
24
24
|
label,
|
|
25
25
|
propsToDisplay,
|
|
26
|
-
elementTitle
|
|
26
|
+
elementTitle,
|
|
27
|
+
unit
|
|
27
28
|
} = _ref,
|
|
28
29
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
29
30
|
if (!propsToDisplay && !propsToDisplay.length) return null;
|
|
@@ -80,6 +81,7 @@ const FiltersList = ({
|
|
|
80
81
|
propsToDisplay: propsToDisplay,
|
|
81
82
|
label: label,
|
|
82
83
|
elementTitle: elementTitle,
|
|
84
|
+
unit: unit,
|
|
83
85
|
entity: entity,
|
|
84
86
|
filterValues: filterValues,
|
|
85
87
|
updateFilterValues: updateFilterValues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(({ type, label, propsToDisplay, elementTitle, ...otherProps }, index) => {\n
|
|
1
|
+
{"version":3,"file":"FiltersList.js","names":["React","useContext","PropTypes","MainContext","TextSearch","Checkbox","SelectFilter","Range","CHECKBOX","SELECT","TEXT_SEARCH","RANGE","SEARCH_TERM","FiltersList","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","itemId","map","_ref","index","type","label","propsToDisplay","elementTitle","unit","otherProps","_objectWithoutProperties","_excluded","length","dynamicKey","join","isDataAvailable","Object","keys","dataAggregations","areAggregationsAvailable","createElement","key","className","_extends","searchValue","prop","propTypes","bool","isRequired","string","object","func","array","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/FiltersList.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { TextSearch, Checkbox, SelectFilter, Range } from '../components';\nimport { CHECKBOX, SELECT, TEXT_SEARCH, RANGE, SEARCH_TERM } from '../constants';\n\nconst FiltersList = ({\n data,\n filters,\n hasUrl,\n entity,\n filterValues,\n updateFilterValues,\n shouldSearch\n}) => {\n const { itemId } = useContext(MainContext);\n\n return filters.map(\n ({ type, label, propsToDisplay, elementTitle, unit, ...otherProps }, index) => {\n if (!propsToDisplay && !propsToDisplay.length) return null;\n const dynamicKey = [itemId, index].join('-');\n const isDataAvailable = !!data && Object.keys(data).length;\n const dataAggregations = isDataAvailable ? data : null;\n const areAggregationsAvailable = isDataAvailable && !!dataAggregations;\n\n switch (type) {\n case TEXT_SEARCH:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--search\">\n <TextSearch\n {...otherProps}\n label={label}\n elementTitle={elementTitle}\n searchValue={filterValues[SEARCH_TERM]}\n updateFilterValues={updateFilterValues}\n filterValues={filterValues}\n />\n </div>\n );\n\n case CHECKBOX:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--checkboxes\">\n <Checkbox\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case SELECT:\n return (\n <div\n key={dynamicKey}\n className=\"filter__section filter__section--search-refine filter__section--selects\">\n <SelectFilter\n {...otherProps}\n data={data}\n prop={propsToDisplay[0]}\n label={label}\n elementTitle={elementTitle}\n hasUrl={hasUrl}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n );\n\n case RANGE:\n return (\n !!areAggregationsAvailable && (\n <div key={dynamicKey} className=\"range-slider__wrapper\">\n <Range\n {...otherProps}\n dataAggregations={dataAggregations}\n propsToDisplay={propsToDisplay}\n label={label}\n elementTitle={elementTitle}\n unit={unit}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n shouldSearch={shouldSearch}\n />\n </div>\n )\n );\n default:\n return null;\n }\n }\n );\n};\n\nFiltersList.propTypes = {\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n data: PropTypes.object,\n filters: PropTypes.array,\n shouldSearch: PropTypes.bool\n};\n\nFiltersList.defaultProps = {\n shouldSearch: false,\n data: {},\n filters: []\n};\n\nexport default FiltersList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,8 @@ const Range = ({
|
|
|
20
20
|
updateFilterValues,
|
|
21
21
|
filterValues,
|
|
22
22
|
shouldSearch,
|
|
23
|
-
elementTitle
|
|
23
|
+
elementTitle,
|
|
24
|
+
unit
|
|
24
25
|
}) => {
|
|
25
26
|
const router = useRouter();
|
|
26
27
|
const debounceAmount = shouldSearch ? 1200 : 400;
|
|
@@ -59,6 +60,10 @@ const Range = ({
|
|
|
59
60
|
})
|
|
60
61
|
}, shouldSearch);
|
|
61
62
|
}, debounceAmount);
|
|
63
|
+
let displayLabel = '';
|
|
64
|
+
if (!hasMultipleOptions) {
|
|
65
|
+
displayLabel = unit ? `${label} (${unit})` : label;
|
|
66
|
+
}
|
|
62
67
|
return /*#__PURE__*/React.createElement(React.Fragment, null, elementTitle && /*#__PURE__*/React.createElement("div", {
|
|
63
68
|
className: "heading heading--section"
|
|
64
69
|
}, elementTitle), hasMultipleOptions && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("label", null, label), /*#__PURE__*/React.createElement(Select, {
|
|
@@ -85,7 +90,7 @@ const Range = ({
|
|
|
85
90
|
})), /*#__PURE__*/React.createElement(RangeFilter, {
|
|
86
91
|
key: `${rangeOption}-${minValue}-${maxValue}`,
|
|
87
92
|
name: rangeOption,
|
|
88
|
-
label:
|
|
93
|
+
label: displayLabel,
|
|
89
94
|
value: valueToUse,
|
|
90
95
|
id: rangeOption,
|
|
91
96
|
onChange: ({
|
|
@@ -104,13 +109,15 @@ Range.propTypes = {
|
|
|
104
109
|
rangeInterval: PropTypes.number,
|
|
105
110
|
label: PropTypes.string,
|
|
106
111
|
elementTitle: PropTypes.string,
|
|
107
|
-
dataAggregations: PropTypes.object.isRequired
|
|
112
|
+
dataAggregations: PropTypes.object.isRequired,
|
|
113
|
+
unit: PropTypes.string
|
|
108
114
|
};
|
|
109
115
|
Range.defaultProps = {
|
|
110
116
|
shouldSearch: false,
|
|
111
117
|
rangeInterval: 1,
|
|
112
118
|
label: '',
|
|
113
|
-
elementTitle: ''
|
|
119
|
+
elementTitle: '',
|
|
120
|
+
unit: ''
|
|
114
121
|
};
|
|
115
122
|
export default Range;
|
|
116
123
|
//# sourceMappingURL=Range.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","key","name","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={
|
|
1
|
+
{"version":3,"file":"Range.js","names":["React","PropTypes","debounce","RangeFilter","useRouter","Select","parseUrl","useGetSingleEntitySchema","getSelectOptions","getIntersectedProp","getRangeValue","calculateMinMax","decodeValue","Range","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","debounceAmount","query","asPath","hasMultipleOptions","length","initialRangeOption","rangeOption","selectedOption","rangeValue","data","getEntitySchema","loading","options","min","max","minValue","maxValue","valueToUse","_objectSpread","handleChange","option","value","displayLabel","createElement","Fragment","className","id","required","onChange","updatedOptions","forEach","prop","eMin","eMax","initValue","key","name","propTypes","array","isRequired","string","object","func","bool","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle,\n unit\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n let displayLabel = '';\n if (!hasMultipleOptions) {\n displayLabel = unit ? `${label} (${unit})` : label;\n }\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={displayLabel}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired,\n unit: PropTypes.string\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: '',\n unit: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ import getVariant from './getVariant';
|
|
|
10
10
|
import appendGtmClassName from './append-gtm-classname';
|
|
11
11
|
import { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';
|
|
12
12
|
import { BannerContextProvider } from '../../BannerContext';
|
|
13
|
+
import { PbWrapper } from '../../system-components';
|
|
13
14
|
const RenderComponent = _ref => {
|
|
14
15
|
let {
|
|
15
16
|
component,
|
|
@@ -38,8 +39,8 @@ const RenderComponent = _ref => {
|
|
|
38
39
|
if (!Component) return null;
|
|
39
40
|
const updatedSettings = appendGtmClassName(settings, childComponents);
|
|
40
41
|
const [VariantComponent, variantSettings] = getVariant(settings);
|
|
41
|
-
return /*#__PURE__*/React.createElement(ErrorBoundary, null, editorModeEnabled && /*#__PURE__*/React.createElement(
|
|
42
|
-
|
|
42
|
+
return /*#__PURE__*/React.createElement(ErrorBoundary, null, editorModeEnabled && /*#__PURE__*/React.createElement(PbWrapper, {
|
|
43
|
+
name: name
|
|
43
44
|
}), /*#__PURE__*/React.createElement(Component, _extends({
|
|
44
45
|
key: id,
|
|
45
46
|
type: type,
|
|
@@ -50,8 +51,9 @@ const RenderComponent = _ref => {
|
|
|
50
51
|
siblings: siblings,
|
|
51
52
|
banners: textBlockBanners,
|
|
52
53
|
pbOptions: options
|
|
53
|
-
}, childComponents) : childComponents), editorModeEnabled && /*#__PURE__*/React.createElement(
|
|
54
|
-
|
|
54
|
+
}, childComponents) : childComponents), editorModeEnabled && /*#__PURE__*/React.createElement(PbWrapper, {
|
|
55
|
+
name: name,
|
|
56
|
+
type: "end"
|
|
55
57
|
}));
|
|
56
58
|
};
|
|
57
59
|
RenderComponent.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RenderComponent.js","names":["React","PropTypes","ErrorBoundary","useMainContext","getComponent","getVariant","appendGtmClassName","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","BannerContextProvider","RenderComponent","_ref","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties","_excluded","debugOptions","editorModeEnabled","type","settings","id","name","Component","isImage","includes","imageOptions","updatedSettings","VariantComponent","variantSettings","createElement","_extends","key","banners","pbOptions","propTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ErrorBoundary from '@blaze-cms/core-errors-ui';\nimport { useMainContext } from '@blaze-cms/nextjs-components';\nimport getComponent from './getComponent';\nimport getVariant from './getVariant';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { debugOptions: { editorModeEnabled } = {} } = useMainContext();\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n const [VariantComponent, variantSettings] = getVariant(settings);\n\n return (\n <ErrorBoundary>\n {editorModeEnabled && <
|
|
1
|
+
{"version":3,"file":"RenderComponent.js","names":["React","PropTypes","ErrorBoundary","useMainContext","getComponent","getVariant","appendGtmClassName","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","BannerContextProvider","PbWrapper","RenderComponent","_ref","component","imageProps","childComponents","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties","_excluded","debugOptions","editorModeEnabled","type","settings","id","name","Component","isImage","includes","imageOptions","updatedSettings","VariantComponent","variantSettings","createElement","_extends","key","banners","pbOptions","propTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps"],"sources":["../../../src/hooks/helpers/RenderComponent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ErrorBoundary from '@blaze-cms/core-errors-ui';\nimport { useMainContext } from '@blaze-cms/nextjs-components';\nimport getComponent from './getComponent';\nimport getVariant from './getVariant';\nimport appendGtmClassName from './append-gtm-classname';\nimport { PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL } from './constants';\nimport { BannerContextProvider } from '../../BannerContext';\nimport { PbWrapper } from '../../system-components';\n\nconst RenderComponent = ({\n component,\n imageProps,\n childComponents,\n options = {},\n textBlockBanners,\n hasTextBlockBanners,\n siblings,\n ...nestedComponentsProps\n}) => {\n const { debugOptions: { editorModeEnabled } = {} } = useMainContext();\n const { type, settings, id, name } = component;\n const Component = getComponent(type);\n const isImage = [PB_TYPE_IMAGE, PB_TYPE_BANNER, PB_TYPE_TEXTBLOCK, PB_TYPE_CAROUSEL].includes(\n type\n );\n const imageOptions = isImage ? imageProps : {};\n if (!Component) return null;\n const updatedSettings = appendGtmClassName(settings, childComponents);\n const [VariantComponent, variantSettings] = getVariant(settings);\n\n return (\n <ErrorBoundary>\n {editorModeEnabled && <PbWrapper name={name} />}\n <Component\n key={id}\n type={type}\n VariantComponent={VariantComponent}\n {...options}\n {...imageOptions}\n {...nestedComponentsProps}\n {...updatedSettings}\n {...variantSettings}\n name={name || settings.name}>\n {hasTextBlockBanners ? (\n <BannerContextProvider siblings={siblings} banners={textBlockBanners} pbOptions={options}>\n {childComponents}\n </BannerContextProvider>\n ) : (\n childComponents\n )}\n </Component>\n {editorModeEnabled && <PbWrapper name={name} type=\"end\" />}\n </ErrorBoundary>\n );\n};\n\nRenderComponent.propTypes = {\n component: PropTypes.shape({\n type: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n settings: PropTypes.object,\n items: PropTypes.array\n }).isRequired,\n imageProps: PropTypes.object.isRequired,\n options: PropTypes.object.isRequired,\n childComponents: PropTypes.node.isRequired,\n textBlockBanners: PropTypes.array,\n hasTextBlockBanners: PropTypes.bool,\n siblings: PropTypes.array\n};\n\nRenderComponent.defaultProps = { textBlockBanners: null, hasTextBlockBanners: false, siblings: [] };\n\nexport default RenderComponent;\n"],"mappings":"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","ignoreList":[]}
|