@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.4 → 0.146.0-node18-core-styles-tooltips.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +1 -0
  3. package/lib/components/SearchContent/SearchContent.js +19 -11
  4. package/lib/components/SearchContent/SearchContent.js.map +1 -1
  5. package/lib/components/SearchFilter/SearchFilter/FiltersList.js +3 -1
  6. package/lib/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  7. package/lib/components/SearchFilter/components/Range.js +11 -4
  8. package/lib/components/SearchFilter/components/Range.js.map +1 -1
  9. package/lib/hooks/helpers/RenderComponent.js +6 -4
  10. package/lib/hooks/helpers/RenderComponent.js.map +1 -1
  11. package/lib/hooks/use-app-sync-event-hook.js +17 -5
  12. package/lib/hooks/use-app-sync-event-hook.js.map +1 -1
  13. package/lib/system-components/EditorMode/BlazeLogo.js +83 -0
  14. package/lib/system-components/EditorMode/BlazeLogo.js.map +1 -0
  15. package/lib/system-components/EditorMode/PbWrapper.js +46 -0
  16. package/lib/system-components/EditorMode/PbWrapper.js.map +1 -0
  17. package/lib/system-components/EditorMode/constants.js +10 -0
  18. package/lib/system-components/EditorMode/constants.js.map +1 -0
  19. package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +127 -0
  20. package/lib/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -0
  21. package/lib/system-components/index.js +25 -0
  22. package/lib/system-components/index.js.map +1 -0
  23. package/lib-es/components/SearchContent/SearchContent.js +22 -12
  24. package/lib-es/components/SearchContent/SearchContent.js.map +1 -1
  25. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js +4 -2
  26. package/lib-es/components/SearchFilter/SearchFilter/FiltersList.js.map +1 -1
  27. package/lib-es/components/SearchFilter/components/Range.js +11 -4
  28. package/lib-es/components/SearchFilter/components/Range.js.map +1 -1
  29. package/lib-es/hooks/helpers/RenderComponent.js +6 -4
  30. package/lib-es/hooks/helpers/RenderComponent.js.map +1 -1
  31. package/lib-es/hooks/use-app-sync-event-hook.js +18 -6
  32. package/lib-es/hooks/use-app-sync-event-hook.js.map +1 -1
  33. package/lib-es/system-components/EditorMode/BlazeLogo.js +64 -0
  34. package/lib-es/system-components/EditorMode/BlazeLogo.js.map +1 -0
  35. package/lib-es/system-components/EditorMode/PbWrapper.js +34 -0
  36. package/lib-es/system-components/EditorMode/PbWrapper.js.map +1 -0
  37. package/lib-es/system-components/EditorMode/constants.js +3 -0
  38. package/lib-es/system-components/EditorMode/constants.js.map +1 -0
  39. package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +80 -0
  40. package/lib-es/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js.map +1 -0
  41. package/lib-es/system-components/index.js +3 -0
  42. package/lib-es/system-components/index.js.map +1 -0
  43. package/package.json +3 -3
  44. package/src/components/SearchContent/SearchContent.js +21 -12
  45. package/src/components/SearchFilter/SearchFilter/FiltersList.js +75 -72
  46. package/src/components/SearchFilter/components/Range.js +12 -4
  47. package/src/hooks/helpers/RenderComponent.js +3 -2
  48. package/src/hooks/use-app-sync-event-hook.js +20 -6
  49. package/src/system-components/EditorMode/BlazeLogo.js +48 -0
  50. package/src/system-components/EditorMode/PbWrapper.js +30 -0
  51. package/src/system-components/EditorMode/constants.js +2 -0
  52. package/src/system-components/EditorMode/helpers/add-editor-mode-event-listeners.js +83 -0
  53. package/src/system-components/index.js +3 -0
  54. package/tests/unit/src/components/SearchFilter/components/Range.test.js +10 -0
  55. package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +50 -0
  56. package/tests/unit/src/hooks/use-app-sync-evet-hook.test.js +35 -15
package/CHANGELOG.md CHANGED
@@ -3,6 +3,26 @@
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.146.0-node18-core-styles-tooltips.11](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.10...v0.146.0-node18-core-styles-tooltips.11) (2025-08-27)
7
+
8
+
9
+ ### Features
10
+
11
+ * add hook for search content component ([#4866](https://github.com/thebyte9/blaze/issues/4866)) ([2fe2fb9](https://github.com/thebyte9/blaze/commit/2fe2fb91a13199b2c7cabbd734c3b79f9c962cad))
12
+ * add unit support to range filters ([fabc125](https://github.com/thebyte9/blaze/commit/fabc125355a4097c0fbe71e8419f207f93929926))
13
+
14
+
15
+
16
+
17
+
18
+ # [0.146.0-node18-core-styles-tooltips.5](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.4...v0.146.0-node18-core-styles-tooltips.5) (2025-07-18)
19
+
20
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
21
+
22
+
23
+
24
+
25
+
6
26
  # [0.146.0-node18-core-styles-tooltips.4](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.3...v0.146.0-node18-core-styles-tooltips.4) (2025-07-10)
7
27
 
8
28
 
package/README.md CHANGED
@@ -146,6 +146,7 @@ Search filter works by appending the query params to the url, this way you can l
146
146
 
147
147
  In the admin, different filter types can be set - text search, checkbox, select, range. Some fields are shown just for specific fitler types. Checkbox and select have a limit in the propsToDisplay to one, so only one propsToDisplay can be selected.
148
148
  Range can have multiple props, in cases where there is a prop that can be represented with different values (e.g. price: $/€/£, length: m/inch etc.). Then in addition to the range slider, a select is also displayed for the user to choose the unit.
149
+ Range filters now support a `unit` prop that allows displaying specified units (e.g., "m" for meters, "$" for currency) in the filter label between parentheses, providing clear context about what the values represent.
149
150
  Range interval field is displayed only if range filter chosen. Operator is used only for checkbox and text-search filter.
150
151
  Checkbox takes advantage of the operator in case there are more values checked (but for the same prop), operator sets the connections between them (is it OR or AND). While the text-search uses the operator as well, it does in the opposite way - user can choose multiple props in admin but enter only one value in FE so the operator defines the connections between the value for one and the other chosen prop.
151
152
 
@@ -23,18 +23,19 @@ var _router = require("next/router");
23
23
  var _pluginSearchUi = require("@blaze-cms/plugin-search-ui");
24
24
  var _SearchContentResults = _interopRequireDefault(require("./SearchContentResults"));
25
25
  var _SearchContentToggleIcon = _interopRequireDefault(require("./SearchContentToggleIcon"));
26
+ var _hooks = require("../../hooks");
26
27
  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); }
27
28
  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; }
28
- var SearchContent = function SearchContent(_ref) {
29
- var entities = _ref.entities,
30
- searchInputWrapperMobile = _ref.searchInputWrapperMobile,
31
- searchInputWrapperDesktop = _ref.searchInputWrapperDesktop,
32
- isMobile = _ref.isMobile,
33
- placeholder = _ref.placeholder,
34
- modifier = _ref.modifier,
35
- collapsedSearch = _ref.collapsedSearch,
36
- searchUrl = _ref.searchUrl,
37
- navigateToSingleSearchResult = _ref.navigateToSingleSearchResult;
29
+ var SearchContent = function SearchContent(props) {
30
+ var entities = props.entities,
31
+ searchInputWrapperMobile = props.searchInputWrapperMobile,
32
+ searchInputWrapperDesktop = props.searchInputWrapperDesktop,
33
+ isMobile = props.isMobile,
34
+ placeholder = props.placeholder,
35
+ modifier = props.modifier,
36
+ collapsedSearch = props.collapsedSearch,
37
+ searchUrl = props.searchUrl,
38
+ navigateToSingleSearchResult = props.navigateToSingleSearchResult;
38
39
  var searchContentRef = (0, _react.useRef)(null);
39
40
  var _useState = (0, _react.useState)(collapsedSearch),
40
41
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -45,10 +46,17 @@ var SearchContent = function SearchContent(_ref) {
45
46
  showResults = _useState4[0],
46
47
  setShowResults = _useState4[1];
47
48
  var router = (0, _router.useRouter)();
49
+ var _useAppSyncEventHook = (0, _hooks.useAppSyncEventHook)({
50
+ eventName: 'searchcontent:query-variables',
51
+ props: props,
52
+ returnFunction: true
53
+ }),
54
+ runHook = _useAppSyncEventHook.runHook;
48
55
  var _useDebounceSearch = (0, _pluginSearchUi.useDebounceSearch)({
49
56
  entities: entities,
50
57
  initialSearchTerm: '',
51
- resultKeys: 'id, name, image { url }, url'
58
+ resultKeys: 'id, name, image { url }, url',
59
+ queryHook: runHook
52
60
  }),
53
61
  results = _useDebounceSearch.results,
54
62
  searchTerm = _useDebounceSearch.searchTerm,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchContent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","_ref","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"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","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_pluginSearchUi","_SearchContentResults","_SearchContentToggleIcon","_hooks","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SearchContent","props","entities","searchInputWrapperMobile","searchInputWrapperDesktop","isMobile","placeholder","modifier","collapsedSearch","searchUrl","navigateToSingleSearchResult","searchContentRef","useRef","_useState","useState","_useState2","_slicedToArray2","collapsed","setCollapsed","_useState3","_useState4","showResults","setShowResults","router","useRouter","_useAppSyncEventHook","useAppSyncEventHook","eventName","returnFunction","runHook","_useDebounceSearch","useDebounceSearch","initialSearchTerm","resultKeys","queryHook","results","searchTerm","setSearchTerm","debouncedSearchTerm","useEffect","handleRouteChange","events","on","off","handleClickOutside","event","current","contains","target","document","addEventListener","removeEventListener","responsiveClasses","handleNavigation","url","preventDefault","push","handleKeyDown","key","value","length","concat","handleIconClick","isCloseIcon","className","filter","Boolean","join","searchModifier","createElement","ref","onClick","useCloseIcon","type","name","onChange","onKeyDown","onFocus","handleClick","propTypes","PropTypes","string","bool","array","isRequired","defaultProps","_default","exports"],"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":[]}
@@ -23,7 +23,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
23
23
  var _nextjsComponents = require("@blaze-cms/nextjs-components");
24
24
  var _components = require("../components");
25
25
  var _constants = require("../constants");
26
- var _excluded = ["type", "label", "propsToDisplay", "elementTitle"];
26
+ var _excluded = ["type", "label", "propsToDisplay", "elementTitle", "unit"];
27
27
  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); }
28
28
  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; }
29
29
  var FiltersList = function FiltersList(_ref) {
@@ -41,6 +41,7 @@ var FiltersList = function FiltersList(_ref) {
41
41
  label = _ref2.label,
42
42
  propsToDisplay = _ref2.propsToDisplay,
43
43
  elementTitle = _ref2.elementTitle,
44
+ unit = _ref2.unit,
44
45
  otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
45
46
  if (!propsToDisplay && !propsToDisplay.length) return null;
46
47
  var dynamicKey = [itemId, index].join('-');
@@ -96,6 +97,7 @@ var FiltersList = function FiltersList(_ref) {
96
97
  propsToDisplay: propsToDisplay,
97
98
  label: label,
98
99
  elementTitle: elementTitle,
100
+ unit: unit,
99
101
  entity: entity,
100
102
  filterValues: filterValues,
101
103
  updateFilterValues: updateFilterValues,
@@ -1 +1 @@
1
- {"version":3,"file":"FiltersList.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_nextjsComponents","_components","_constants","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FiltersList","_ref","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","_useContext","useContext","MainContext","itemId","map","_ref2","index","type","label","propsToDisplay","elementTitle","otherProps","_objectWithoutProperties2","length","dynamicKey","join","isDataAvailable","keys","dataAggregations","areAggregationsAvailable","TEXT_SEARCH","createElement","key","className","TextSearch","_extends2","searchValue","SEARCH_TERM","CHECKBOX","Checkbox","prop","SELECT","SelectFilter","RANGE","Range","propTypes","PropTypes","bool","isRequired","string","object","func","array","defaultProps","_default","exports"],"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 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 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\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":[]}
1
+ {"version":3,"file":"FiltersList.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_nextjsComponents","_components","_constants","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","FiltersList","_ref","data","filters","hasUrl","entity","filterValues","updateFilterValues","shouldSearch","_useContext","useContext","MainContext","itemId","map","_ref2","index","type","label","propsToDisplay","elementTitle","unit","otherProps","_objectWithoutProperties2","length","dynamicKey","join","isDataAvailable","keys","dataAggregations","areAggregationsAvailable","TEXT_SEARCH","createElement","key","className","TextSearch","_extends2","searchValue","SEARCH_TERM","CHECKBOX","Checkbox","prop","SELECT","SelectFilter","RANGE","Range","propTypes","PropTypes","bool","isRequired","string","object","func","array","defaultProps","_default","exports"],"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":[]}
@@ -38,7 +38,8 @@ var Range = function Range(_ref) {
38
38
  updateFilterValues = _ref.updateFilterValues,
39
39
  filterValues = _ref.filterValues,
40
40
  shouldSearch = _ref.shouldSearch,
41
- elementTitle = _ref.elementTitle;
41
+ elementTitle = _ref.elementTitle,
42
+ unit = _ref.unit;
42
43
  var router = (0, _router.useRouter)();
43
44
  var debounceAmount = shouldSearch ? 1200 : 400;
44
45
  var _parseUrl = (0, _queryString.parseUrl)((0, _decodeEncode.decodeValue)(router.asPath)),
@@ -72,6 +73,10 @@ var Range = function Range(_ref) {
72
73
  selectedOption: rangeOption
73
74
  })), shouldSearch);
74
75
  }, debounceAmount);
76
+ var displayLabel = '';
77
+ if (!hasMultipleOptions) {
78
+ displayLabel = unit ? "".concat(label, " (").concat(unit, ")") : label;
79
+ }
75
80
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, elementTitle && /*#__PURE__*/_react["default"].createElement("div", {
76
81
  className: "heading heading--section"
77
82
  }, elementTitle), hasMultipleOptions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("label", null, label), /*#__PURE__*/_react["default"].createElement(_select["default"], {
@@ -96,7 +101,7 @@ var Range = function Range(_ref) {
96
101
  })), /*#__PURE__*/_react["default"].createElement(_rangeFilter["default"], {
97
102
  key: "".concat(rangeOption, "-").concat(minValue, "-").concat(maxValue),
98
103
  name: rangeOption,
99
- label: hasMultipleOptions ? '' : label,
104
+ label: displayLabel,
100
105
  value: valueToUse,
101
106
  id: rangeOption,
102
107
  onChange: function onChange(_ref3) {
@@ -114,13 +119,15 @@ Range.propTypes = {
114
119
  rangeInterval: _propTypes["default"].number,
115
120
  label: _propTypes["default"].string,
116
121
  elementTitle: _propTypes["default"].string,
117
- dataAggregations: _propTypes["default"].object.isRequired
122
+ dataAggregations: _propTypes["default"].object.isRequired,
123
+ unit: _propTypes["default"].string
118
124
  };
119
125
  Range.defaultProps = {
120
126
  shouldSearch: false,
121
127
  rangeInterval: 1,
122
128
  label: '',
123
- elementTitle: ''
129
+ elementTitle: '',
130
+ unit: ''
124
131
  };
125
132
  var _default = exports["default"] = Range;
126
133
  //# sourceMappingURL=Range.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_filterValues$prop","eMin","eMax","initValue","getRangeValue","key","concat","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"sources":["../../../../src/components/SearchFilter/components/Range.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport RangeFilter from '@blaze-react/range-filter';\nimport { useRouter } from 'next/router';\nimport Select from '@blaze-react/select';\nimport { parseUrl } from 'query-string';\nimport { useGetSingleEntitySchema } from '../../../hooks';\nimport { getSelectOptions, getIntersectedProp, getRangeValue, calculateMinMax } from '../helpers';\nimport { decodeValue } from '../helpers/decode-encode';\n\nconst Range = ({\n rangeInterval,\n label,\n entity,\n propsToDisplay,\n dataAggregations,\n updateFilterValues,\n filterValues,\n shouldSearch,\n elementTitle\n}) => {\n const router = useRouter();\n const debounceAmount = shouldSearch ? 1200 : 400;\n const { query } = parseUrl(decodeValue(router.asPath));\n const hasMultipleOptions = propsToDisplay.length > 1;\n const initialRangeOption = getIntersectedProp(query, propsToDisplay) || propsToDisplay[0];\n const rangeOption =\n (filterValues[initialRangeOption] && filterValues[initialRangeOption].selectedOption) ||\n initialRangeOption;\n const rangeValue = filterValues[rangeOption];\n\n const { data: { getEntitySchema = {} } = {}, loading } = useGetSingleEntitySchema(\n entity,\n !hasMultipleOptions\n );\n\n if (loading || !rangeOption || !rangeValue) return '';\n\n const options = getSelectOptions(getEntitySchema, propsToDisplay);\n // get range from aggregations so it updates\n const { min, max } = calculateMinMax(dataAggregations[rangeOption], rangeInterval);\n const minValue = rangeValue.minValue < min ? min : rangeValue.minValue;\n const maxValue = rangeValue.maxValue > max ? max : rangeValue.maxValue;\n const valueToUse = { ...rangeValue, min, max, minValue, maxValue };\n\n const handleChange = debounce((option, value) => {\n updateFilterValues({ [option]: { ...value, selectedOption: rangeOption } }, shouldSearch);\n }, debounceAmount);\n\n return (\n <>\n {elementTitle && <div className=\"heading heading--section\">{elementTitle}</div>}\n {hasMultipleOptions && (\n <>\n <label>{label}</label>\n <Select\n value={rangeOption}\n id={rangeOption}\n options={options}\n required\n onChange={({ value }) => {\n const updatedOptions = {};\n propsToDisplay.forEach(prop => {\n const { min: eMin, max: eMax } = filterValues[prop];\n const initValue = getRangeValue(null, rangeInterval, eMin, eMax);\n updatedOptions[prop] = { ...initValue, selectedOption: value };\n });\n\n updateFilterValues(updatedOptions, false);\n }}\n />\n </>\n )}\n <RangeFilter\n key={`${rangeOption}-${minValue}-${maxValue}`}\n name={rangeOption}\n label={hasMultipleOptions ? '' : label}\n value={valueToUse}\n id={rangeOption}\n onChange={({ value }) => {\n handleChange(rangeOption, value);\n }}\n />\n </>\n );\n};\n\nRange.propTypes = {\n propsToDisplay: PropTypes.array.isRequired,\n entity: PropTypes.string.isRequired,\n filterValues: PropTypes.object.isRequired,\n updateFilterValues: PropTypes.func.isRequired,\n shouldSearch: PropTypes.bool,\n rangeInterval: PropTypes.number,\n label: PropTypes.string,\n elementTitle: PropTypes.string,\n dataAggregations: PropTypes.object.isRequired\n};\n\nRange.defaultProps = {\n shouldSearch: false,\n rangeInterval: 1,\n label: '',\n elementTitle: ''\n};\n\nexport default Range;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Range.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_rangeFilter","_router","_select","_queryString","_hooks","_helpers","_decodeEncode","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","Range","_ref","rangeInterval","label","entity","propsToDisplay","dataAggregations","updateFilterValues","filterValues","shouldSearch","elementTitle","unit","router","useRouter","debounceAmount","_parseUrl","parseUrl","decodeValue","asPath","query","hasMultipleOptions","initialRangeOption","getIntersectedProp","rangeOption","selectedOption","rangeValue","_useGetSingleEntitySc","useGetSingleEntitySchema","_useGetSingleEntitySc2","data","_useGetSingleEntitySc3","_useGetSingleEntitySc4","getEntitySchema","loading","options","getSelectOptions","_calculateMinMax","calculateMinMax","min","max","minValue","maxValue","valueToUse","handleChange","debounce","option","value","displayLabel","concat","createElement","Fragment","className","id","required","onChange","_ref2","updatedOptions","prop","_filterValues$prop","eMin","eMax","initValue","getRangeValue","key","name","_ref3","propTypes","PropTypes","array","isRequired","string","object","func","bool","number","defaultProps","_default","exports"],"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":[]}
@@ -21,6 +21,7 @@ var _getVariant3 = _interopRequireDefault(require("./getVariant"));
21
21
  var _appendGtmClassname = _interopRequireDefault(require("./append-gtm-classname"));
22
22
  var _constants = require("./constants");
23
23
  var _BannerContext = require("../../BannerContext");
24
+ var _systemComponents = require("../../system-components");
24
25
  var _excluded = ["component", "imageProps", "childComponents", "options", "textBlockBanners", "hasTextBlockBanners", "siblings"];
25
26
  var RenderComponent = function RenderComponent(_ref) {
26
27
  var component = _ref.component,
@@ -49,8 +50,8 @@ var RenderComponent = function RenderComponent(_ref) {
49
50
  _getVariant2 = (0, _slicedToArray2["default"])(_getVariant, 2),
50
51
  VariantComponent = _getVariant2[0],
51
52
  variantSettings = _getVariant2[1];
52
- return /*#__PURE__*/_react["default"].createElement(_coreErrorsUi["default"], null, editorModeEnabled && /*#__PURE__*/_react["default"].createElement("pb-wrapper-start", {
53
- "pb-component-name": name
53
+ return /*#__PURE__*/_react["default"].createElement(_coreErrorsUi["default"], null, editorModeEnabled && /*#__PURE__*/_react["default"].createElement(_systemComponents.PbWrapper, {
54
+ name: name
54
55
  }), /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
55
56
  key: id,
56
57
  type: type,
@@ -61,8 +62,9 @@ var RenderComponent = function RenderComponent(_ref) {
61
62
  siblings: siblings,
62
63
  banners: textBlockBanners,
63
64
  pbOptions: options
64
- }, childComponents) : childComponents), editorModeEnabled && /*#__PURE__*/_react["default"].createElement("pb-wrapper-end", {
65
- "pb-component-name": name
65
+ }, childComponents) : childComponents), editorModeEnabled && /*#__PURE__*/_react["default"].createElement(_systemComponents.PbWrapper, {
66
+ name: name,
67
+ type: "end"
66
68
  }));
67
69
  };
68
70
  RenderComponent.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"RenderComponent.js","names":["_react","_interopRequireDefault","require","_propTypes","_coreErrorsUi","_nextjsComponents","_getComponent","_getVariant3","_appendGtmClassname","_constants","_BannerContext","_excluded","RenderComponent","_ref","component","imageProps","childComponents","_ref$options","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties2","_useMainContext","useMainContext","_useMainContext$debug","debugOptions","_useMainContext$debug2","editorModeEnabled","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","_getVariant","getVariant","_getVariant2","_slicedToArray2","VariantComponent","variantSettings","createElement","_extends2","key","BannerContextProvider","banners","pbOptions","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps","_default","exports"],"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 && <pb-wrapper-start pb-component-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 && <pb-wrapper-end pb-component-name={name} />}\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":[]}
1
+ {"version":3,"file":"RenderComponent.js","names":["_react","_interopRequireDefault","require","_propTypes","_coreErrorsUi","_nextjsComponents","_getComponent","_getVariant3","_appendGtmClassname","_constants","_BannerContext","_systemComponents","_excluded","RenderComponent","_ref","component","imageProps","childComponents","_ref$options","options","textBlockBanners","hasTextBlockBanners","siblings","nestedComponentsProps","_objectWithoutProperties2","_useMainContext","useMainContext","_useMainContext$debug","debugOptions","_useMainContext$debug2","editorModeEnabled","type","settings","id","name","Component","getComponent","isImage","PB_TYPE_IMAGE","PB_TYPE_BANNER","PB_TYPE_TEXTBLOCK","PB_TYPE_CAROUSEL","includes","imageOptions","updatedSettings","appendGtmClassName","_getVariant","getVariant","_getVariant2","_slicedToArray2","VariantComponent","variantSettings","createElement","PbWrapper","_extends2","key","BannerContextProvider","banners","pbOptions","propTypes","PropTypes","shape","string","object","items","array","isRequired","node","bool","defaultProps","_default","exports"],"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":[]}
@@ -13,16 +13,28 @@ var EVENET_SUFIX = ':sync';
13
13
  var useAppSyncEventHook = function useAppSyncEventHook(_ref) {
14
14
  var eventName = _ref.eventName,
15
15
  data = _ref.data,
16
- props = _ref.props;
16
+ props = _ref.props,
17
+ returnFunction = _ref.returnFunction;
17
18
  var _useContext = (0, _react.useContext)(_nextjsComponents.AppContext),
18
19
  blazeApp = _useContext.blazeApp;
20
+ var runHook = (0, _react.useCallback)(function (newData) {
21
+ var eventData = newData || data;
22
+ blazeApp.events.emit("".concat(EVENET_PREFIX).concat(eventName).concat(EVENET_SUFIX), {
23
+ data: eventData,
24
+ props: props
25
+ });
26
+ return eventData;
27
+ }, [blazeApp, eventName, data, props]);
19
28
  if (!blazeApp) return {
20
29
  data: data
21
30
  };
22
- blazeApp.events.emit("".concat(EVENET_PREFIX).concat(eventName).concat(EVENET_SUFIX), {
23
- data: data,
24
- props: props
25
- });
31
+ if (returnFunction) {
32
+ return {
33
+ data: data,
34
+ runHook: runHook
35
+ };
36
+ }
37
+ runHook();
26
38
  return {
27
39
  data: data
28
40
  };
@@ -1 +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","ignoreList":[]}
1
+ {"version":3,"file":"use-app-sync-event-hook.js","names":["_react","require","_nextjsComponents","EVENET_PREFIX","EVENET_SUFIX","useAppSyncEventHook","_ref","eventName","data","props","returnFunction","_useContext","useContext","AppContext","blazeApp","runHook","useCallback","newData","eventData","events","emit","concat","_default","exports"],"sources":["../../src/hooks/use-app-sync-event-hook.js"],"sourcesContent":["import { useContext, useCallback } 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, returnFunction }) => {\n const { blazeApp } = useContext(AppContext);\n\n const runHook = useCallback(\n newData => {\n const eventData = newData || data;\n blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {\n data: eventData,\n props\n });\n\n return eventData;\n },\n [blazeApp, eventName, data, props]\n );\n\n if (!blazeApp) return { data };\n\n if (returnFunction) {\n return { data, runHook };\n }\n\n runHook();\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,EAAmD;EAAA,IAA7CC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAEC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;EACnE,IAAAC,WAAA,GAAqB,IAAAC,iBAAU,EAACC,4BAAU,CAAC;IAAnCC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;EAEhB,IAAMC,OAAO,GAAG,IAAAC,kBAAW,EACzB,UAAAC,OAAO,EAAI;IACT,IAAMC,SAAS,GAAGD,OAAO,IAAIT,IAAI;IACjCM,QAAQ,CAACK,MAAM,CAACC,IAAI,IAAAC,MAAA,CAAIlB,aAAa,EAAAkB,MAAA,CAAGd,SAAS,EAAAc,MAAA,CAAGjB,YAAY,GAAI;MAClEI,IAAI,EAAEU,SAAS;MACfT,KAAK,EAALA;IACF,CAAC,CAAC;IAEF,OAAOS,SAAS;EAClB,CAAC,EACD,CAACJ,QAAQ,EAAEP,SAAS,EAAEC,IAAI,EAAEC,KAAK,CACnC,CAAC;EAED,IAAI,CAACK,QAAQ,EAAE,OAAO;IAAEN,IAAI,EAAJA;EAAK,CAAC;EAE9B,IAAIE,cAAc,EAAE;IAClB,OAAO;MAAEF,IAAI,EAAJA,IAAI;MAAEO,OAAO,EAAPA;IAAQ,CAAC;EAC1B;EAEAA,OAAO,CAAC,CAAC;EACT,OAAO;IAAEP,IAAI,EAAJA;EAAK,CAAC;AACjB,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,cAEalB,mBAAmB","ignoreList":[]}
@@ -0,0 +1,83 @@
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.define-properties.js");
6
+ require("core-js/modules/es.object.define-property.js");
7
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
9
+ require("core-js/modules/es.object.keys.js");
10
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ exports["default"] = void 0;
15
+ require("core-js/modules/es.array.for-each.js");
16
+ require("core-js/modules/es.object.to-string.js");
17
+ require("core-js/modules/web.dom-collections.for-each.js");
18
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
20
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
22
+ var _react = require("react");
23
+ var _constants = require("./constants");
24
+ var _excluded = ["childNode"];
25
+ 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; }
26
+ 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; }
27
+ var BlazeLogo = function BlazeLogo(_ref) {
28
+ var childNode = _ref.childNode,
29
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
30
+ var id = props.id;
31
+ var _useState = (0, _react.useState)({}),
32
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
33
+ style = _useState2[0],
34
+ setStyle = _useState2[1];
35
+ (0, _react.useEffect)(function () {
36
+ if (!childNode) return;
37
+ var rect = childNode.getBoundingClientRect();
38
+ var left = rect.width / 2 + rect.left + window.scrollX;
39
+ var top = rect.top - 20 + window.scrollY;
40
+ var display = childNode.classList.contains(_constants.EDITOR_MODE_HIGHLIGHT_CLASS) ? null : 'none';
41
+ var newStyle = {
42
+ display: display,
43
+ top: top,
44
+ left: left
45
+ };
46
+ setStyle(newStyle);
47
+ var observer = new MutationObserver(function (mutations) {
48
+ mutations.forEach(function (mutation) {
49
+ if (mutation.type === 'attributes' && mutation.attributeName === 'class') {
50
+ var isHighlighted = childNode.classList.contains(_constants.EDITOR_MODE_HIGHLIGHT_CLASS);
51
+ setStyle(_objectSpread(_objectSpread({}, newStyle), {}, {
52
+ display: isHighlighted ? null : 'none'
53
+ }));
54
+ }
55
+ });
56
+ });
57
+ observer.observe(childNode, {
58
+ attributes: true
59
+ });
60
+ return function () {
61
+ return observer.disconnect();
62
+ };
63
+ }, [childNode, id]);
64
+
65
+ // todo: fix icon hover/click activation while using position absolute
66
+ return /*#__PURE__*/React.createElement("button", (0, _extends2["default"])({
67
+ type: "button",
68
+ className: _constants.EDITOR_MODE_ICON_CLASS
69
+ }, props, {
70
+ style: style
71
+ }), /*#__PURE__*/React.createElement("svg", {
72
+ xmlns: "http://www.w3.org/2000/svg",
73
+ width: "22",
74
+ height: "33"
75
+ }, /*#__PURE__*/React.createElement("path", {
76
+ fill: "currentColor",
77
+ transform: "translate(1.0415 1.85962)",
78
+ d: "M7.0214715 6.2017469C7.0214715 6.2017469 4.6948299 13.380771 5.2965479 15.065234C5.6174636 15.947572 6.3796396 16.18821 7.3022733 15.386085C9.1074257 13.781834 13.078762 6.3621721 9.949831 0.42644304C8.7463951 -1.8596147 18.293648 5.1589837 16.328037 18.755013C16.087351 20.559793 16.809412 19.998306 17.250671 19.236286C19.176168 15.947572 17.972733 11.616095 17.972733 10.894181C17.972733 10.172268 19.657541 12.939602 19.777885 18.353949C19.89823 23.768295 17.050098 29.022219 11.393953 29.98477C10.03006 30.225407 13.199106 27.578392 13.640366 24.610529C13.68048 24.329784 10.39109 28.300306 9.5888004 27.738817C9.2277699 27.49818 15.36529 19.877987 13.199106 13.300558C13.158992 13.140133 11.754984 24.409996 6.3796396 27.097116C3.3309369 28.621155 0.60315031 25.051697 0.12177619 21.963514C-1.0415446 13.862046 6.4999828 8.7284422 7.0214715 6.2017469Z",
79
+ fillRule: "evenodd"
80
+ })));
81
+ };
82
+ var _default = exports["default"] = BlazeLogo;
83
+ //# sourceMappingURL=BlazeLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlazeLogo.js","names":["_react","require","_constants","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","BlazeLogo","_ref","childNode","props","_objectWithoutProperties2","id","_useState","useState","_useState2","_slicedToArray2","style","setStyle","useEffect","rect","getBoundingClientRect","left","width","window","scrollX","top","scrollY","display","classList","contains","EDITOR_MODE_HIGHLIGHT_CLASS","newStyle","observer","MutationObserver","mutations","mutation","type","attributeName","isHighlighted","observe","attributes","disconnect","React","createElement","_extends2","className","EDITOR_MODE_ICON_CLASS","xmlns","height","fill","transform","d","fillRule","_default","exports"],"sources":["../../../src/system-components/EditorMode/BlazeLogo.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { EDITOR_MODE_ICON_CLASS, EDITOR_MODE_HIGHLIGHT_CLASS } from './constants';\n\nconst BlazeLogo = ({ childNode, ...props }) => {\n const { id } = props;\n const [style, setStyle] = useState({});\n\n useEffect(\n () => {\n if (!childNode) return;\n\n const rect = childNode.getBoundingClientRect();\n const left = rect.width / 2 + rect.left + window.scrollX;\n const top = rect.top - 20 + window.scrollY;\n const display = childNode.classList.contains(EDITOR_MODE_HIGHLIGHT_CLASS) ? null : 'none';\n const newStyle = { display, top, left };\n setStyle(newStyle);\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === 'attributes' && mutation.attributeName === 'class') {\n const isHighlighted = childNode.classList.contains(EDITOR_MODE_HIGHLIGHT_CLASS);\n setStyle({ ...newStyle, display: isHighlighted ? null : 'none' });\n }\n });\n });\n observer.observe(childNode, { attributes: true });\n return () => observer.disconnect();\n },\n [childNode, id]\n );\n\n // todo: fix icon hover/click activation while using position absolute\n return (\n <button type=\"button\" className={EDITOR_MODE_ICON_CLASS} {...props} style={style}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"22\" height=\"33\">\n <path\n fill=\"currentColor\"\n transform=\"translate(1.0415 1.85962)\"\n d=\"M7.0214715 6.2017469C7.0214715 6.2017469 4.6948299 13.380771 5.2965479 15.065234C5.6174636 15.947572 6.3796396 16.18821 7.3022733 15.386085C9.1074257 13.781834 13.078762 6.3621721 9.949831 0.42644304C8.7463951 -1.8596147 18.293648 5.1589837 16.328037 18.755013C16.087351 20.559793 16.809412 19.998306 17.250671 19.236286C19.176168 15.947572 17.972733 11.616095 17.972733 10.894181C17.972733 10.172268 19.657541 12.939602 19.777885 18.353949C19.89823 23.768295 17.050098 29.022219 11.393953 29.98477C10.03006 30.225407 13.199106 27.578392 13.640366 24.610529C13.68048 24.329784 10.39109 28.300306 9.5888004 27.738817C9.2277699 27.49818 15.36529 19.877987 13.199106 13.300558C13.158992 13.140133 11.754984 24.409996 6.3796396 27.097116C3.3309369 28.621155 0.60315031 25.051697 0.12177619 21.963514C-1.0415446 13.862046 6.4999828 8.7284422 7.0214715 6.2017469Z\"\n fillRule=\"evenodd\"\n />\n </svg>\n </button>\n );\n};\n\nexport default BlazeLogo;\n"],"mappings":"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","ignoreList":[]}