@bigbinary/neeto-themes-frontend 4.0.29 → 4.0.30

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 (46) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/NeetoThemesBuilder.js +74 -6
  3. package/dist/NeetoThemesBuilder.js.map +1 -1
  4. package/dist/cjs/NeetoThemesBuilder.js +83 -15
  5. package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
  6. package/dist/cjs/hooks.js +2 -5
  7. package/dist/cjs/hooks.js.map +1 -1
  8. package/dist/cjs/index.js +6 -6
  9. package/dist/cjs/utils.js +1 -4
  10. package/dist/cjs/utils.js.map +1 -1
  11. package/dist/cjs/v2/NeetoThemesBuilder.js +3 -4
  12. package/dist/cjs/v2/NeetoThemesBuilder.js.map +1 -1
  13. package/dist/cjs/v2/hooks.js +2 -5
  14. package/dist/cjs/v2/hooks.js.map +1 -1
  15. package/dist/cjs/v2/index.js +3 -4
  16. package/dist/cjs/v2/index.js.map +1 -1
  17. package/dist/cjs/v2/utils.js +1 -4
  18. package/dist/cjs/v2/utils.js.map +1 -1
  19. package/dist/hooks.js +2 -5
  20. package/dist/hooks.js.map +1 -1
  21. package/dist/{index-BUeeI0XI.js → index-CZdpMMBb.js} +8 -80
  22. package/dist/index-CZdpMMBb.js.map +1 -0
  23. package/dist/{index-BZB12oJt.js → index-CzRk-Wf1.js} +9 -76
  24. package/dist/index-CzRk-Wf1.js.map +1 -0
  25. package/dist/index.js +6 -6
  26. package/dist/{useExpandedSection-GpzbAxmE.js → useExpandedSection-BTBI4UqP.js} +2 -2
  27. package/dist/{useExpandedSection-GpzbAxmE.js.map → useExpandedSection-BTBI4UqP.js.map} +1 -1
  28. package/dist/{useExpandedSection-CelNLEKQ.js → useExpandedSection-MjgB7rh6.js} +2 -2
  29. package/dist/{useExpandedSection-CelNLEKQ.js.map → useExpandedSection-MjgB7rh6.js.map} +1 -1
  30. package/dist/{useGlobalThemesApi-NQA1B1Zs.js → useGlobalThemesApi-BTyTasTb.js} +3 -3
  31. package/dist/{useGlobalThemesApi-NQA1B1Zs.js.map → useGlobalThemesApi-BTyTasTb.js.map} +1 -1
  32. package/dist/{useGlobalThemesApi-DOH4EK5Q.js → useGlobalThemesApi-BUsKyTn_.js} +3 -3
  33. package/dist/{useGlobalThemesApi-DOH4EK5Q.js.map → useGlobalThemesApi-BUsKyTn_.js.map} +1 -1
  34. package/dist/utils.js +1 -4
  35. package/dist/utils.js.map +1 -1
  36. package/dist/v2/NeetoThemesBuilder.js +3 -4
  37. package/dist/v2/NeetoThemesBuilder.js.map +1 -1
  38. package/dist/v2/hooks.js +2 -5
  39. package/dist/v2/hooks.js.map +1 -1
  40. package/dist/v2/index.js +3 -4
  41. package/dist/v2/index.js.map +1 -1
  42. package/dist/v2/utils.js +1 -4
  43. package/dist/v2/utils.js.map +1 -1
  44. package/package.json +3 -3
  45. package/dist/index-BUeeI0XI.js.map +0 -1
  46. package/dist/index-BZB12oJt.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var useExpandedSection = require('../../useExpandedSection-GpzbAxmE.js');
3
+ var useExpandedSection = require('../../useExpandedSection-BTBI4UqP.js');
4
4
  require('@babel/runtime/helpers/slicedToArray');
5
5
  require('zustand/shallow');
6
6
  require('react');
@@ -9,11 +9,8 @@ require('@bigbinary/neeto-commons-frontend/react-utils');
9
9
  require('zustand');
10
10
  require('i18next');
11
11
  require('yup');
12
- require('../../index-BUeeI0XI.js');
12
+ require('../../index-CZdpMMBb.js');
13
13
  require('@bigbinary/neeto-cist');
14
- require('@babel/runtime/helpers/asyncToGenerator');
15
- require('@babel/runtime/regenerator');
16
- require('@bigbinary/neetoui/Toastr');
17
14
  require('@tanstack/react-query');
18
15
  require('axios');
19
16
 
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var v2_NeetoThemesBuilder = require('./NeetoThemesBuilder.js');
4
- var useExpandedSection = require('../../useExpandedSection-GpzbAxmE.js');
5
- var useGlobalThemesApi = require('../../useGlobalThemesApi-DOH4EK5Q.js');
6
- var utils = require('../../index-BUeeI0XI.js');
4
+ var useExpandedSection = require('../../useExpandedSection-BTBI4UqP.js');
5
+ var useGlobalThemesApi = require('../../useGlobalThemesApi-BUsKyTn_.js');
6
+ var utils = require('../../index-CZdpMMBb.js');
7
7
  require('zustand/shallow');
8
8
  require('react');
9
9
  require('@bigbinary/neeto-atoms');
@@ -47,7 +47,6 @@ require('@bigbinary/neeto-commons-frontend/react-utils');
47
47
  require('zustand');
48
48
  require('@tanstack/react-query');
49
49
  require('axios');
50
- require('@bigbinary/neetoui/Toastr');
51
50
 
52
51
 
53
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('@bigbinary/neeto-cist');
4
- var utils = require('../../index-BUeeI0XI.js');
5
- require('@babel/runtime/helpers/asyncToGenerator');
6
- require('@babel/runtime/regenerator');
7
- require('@bigbinary/neetoui/Toastr');
4
+ var utils = require('../../index-CZdpMMBb.js');
8
5
 
9
6
 
10
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/dist/hooks.js CHANGED
@@ -1,4 +1,4 @@
1
- export { a as useExpandedSection, u as useThemeUtils } from './useExpandedSection-CelNLEKQ.js';
1
+ export { a as useExpandedSection, u as useThemeUtils } from './useExpandedSection-MjgB7rh6.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import 'zustand/shallow';
4
4
  import 'react';
@@ -7,11 +7,8 @@ import '@bigbinary/neeto-commons-frontend/react-utils';
7
7
  import 'zustand';
8
8
  import 'i18next';
9
9
  import 'yup';
10
- import './index-BZB12oJt.js';
10
+ import './index-CzRk-Wf1.js';
11
11
  import '@bigbinary/neeto-cist';
12
- import '@babel/runtime/helpers/asyncToGenerator';
13
- import '@babel/runtime/regenerator';
14
- import '@bigbinary/neetoui/Toastr';
15
12
  import '@tanstack/react-query';
16
13
  import 'axios';
17
14
  //# sourceMappingURL=hooks.js.map
package/dist/hooks.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,71 +1,14 @@
1
1
  'use strict';
2
2
 
3
3
  var neetoCist = require('@bigbinary/neeto-cist');
4
- var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
5
- var _regeneratorRuntime = require('@babel/runtime/regenerator');
6
- var Toastr = require('@bigbinary/neetoui/Toastr');
7
4
 
8
- var getImageFromUrl = function getImageFromUrl(source) {
9
- var image = new Image();
10
- image.crossOrigin = "anonymous";
11
- image.src = source;
12
- return new Promise(function (resolve) {
13
- image.onload = function () {
14
- resolve(image);
15
- };
16
- });
17
- };
18
- var getDominantColorFromUrl = /*#__PURE__*/function () {
19
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(imageUrl) {
20
- var image, context, c;
21
- return _regeneratorRuntime.wrap(function _callee$(_context) {
22
- while (1) switch (_context.prev = _context.next) {
23
- case 0:
24
- _context.prev = 0;
25
- _context.next = 3;
26
- return getImageFromUrl(imageUrl);
27
- case 3:
28
- image = _context.sent;
29
- context = document.createElement("canvas").getContext("2d");
30
- context === null || context === void 0 || context.drawImage(image, 0, 0, 1, 1);
31
- c = context === null || context === void 0 ? void 0 : context.getImageData(0, 0, 1, 1).data;
32
- if (!c) {
33
- _context.next = 9;
34
- break;
35
- }
36
- return _context.abrupt("return", "#".concat(((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2]).toString(16).slice(1)));
37
- case 9:
38
- return _context.abrupt("return", null);
39
- case 12:
40
- _context.prev = 12;
41
- _context.t0 = _context["catch"](0);
42
- Toastr.error(_context.t0);
43
- return _context.abrupt("return", null);
44
- case 16:
45
- case "end":
46
- return _context.stop();
47
- }
48
- }, _callee, null, [[0, 12]]);
49
- }));
50
- return function getDominantColorFromUrl(_x) {
51
- return _ref.apply(this, arguments);
52
- };
53
- }();
54
- var scrollElementIntoView = function scrollElementIntoView(elementId) {
55
- var elementToScroll = document.getElementById(elementId);
56
- var sidebarContainer = document.querySelector(".neeto-themes-sidebar__scroll");
57
- if (!elementToScroll || !sidebarContainer) return;
58
- var elementRect = elementToScroll.getBoundingClientRect();
59
- var sidebarContainerRect = sidebarContainer.getBoundingClientRect();
60
- var offset = elementRect.top - sidebarContainerRect.top + sidebarContainer.scrollTop;
61
- sidebarContainer.scrollTo({
62
- top: offset,
63
- behavior: "smooth"
64
- });
65
- };
66
- var isFunction = function isFunction(obj) {
67
- return typeof obj === "function";
68
- };
5
+ var BASE_URL = "neeto_themes";
6
+ var WHITE = "255, 255, 255";
7
+ var BLACK = "0, 0, 0";
8
+
9
+ // neetoui-free color helpers used by the shared `setTheme` util. Kept separate
10
+ // from `components/utils` (which pulls in neetoui Toastr) so the v2 utils/hooks
11
+ // bundles stay free of neetoui.
69
12
  var hexToRgba = function hexToRgba(hex) {
70
13
  var result = /^#?(?:([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?|([a-f\d]{2})([a-f\d]{2})([a-f\d]{2}))$/i.exec(hex);
71
14
  if (!result) return null;
@@ -75,16 +18,6 @@ var hexToRgba = function hexToRgba(hex) {
75
18
  var a = result[4] ? Math.round(parseInt(result[4], 16) / 2.55) / 100 : undefined;
76
19
  return "".concat(r, ", ").concat(g, ", ").concat(b).concat(a !== undefined ? ", ".concat(a) : "");
77
20
  };
78
- var isNewThemeRoute = function isNewThemeRoute() {
79
- return location.pathname.endsWith("new");
80
- };
81
- var isEditThemeRoute = function isEditThemeRoute() {
82
- return location.pathname.endsWith("edit");
83
- };
84
-
85
- var BASE_URL = "neeto_themes";
86
- var WHITE = "255, 255, 255";
87
- var BLACK = "0, 0, 0";
88
21
 
89
22
  var root = document.documentElement;
90
23
  var setVariable = function setVariable(name, value, variableNamesMap) {
@@ -172,13 +105,8 @@ var setTheme = function setTheme(theme, variableNamesMap, themeConfig) {
172
105
  };
173
106
 
174
107
  exports.BASE_URL = BASE_URL;
175
- exports.getDominantColorFromUrl = getDominantColorFromUrl;
176
- exports.isEditThemeRoute = isEditThemeRoute;
177
- exports.isFunction = isFunction;
178
- exports.isNewThemeRoute = isNewThemeRoute;
179
108
  exports.isPropertyIndependent = isPropertyIndependent;
180
- exports.scrollElementIntoView = scrollElementIntoView;
181
109
  exports.setCustomCSS = setCustomCSS;
182
110
  exports.setTheme = setTheme;
183
111
  exports.setVariable = setVariable;
184
- //# sourceMappingURL=index-BUeeI0XI.js.map
112
+ //# sourceMappingURL=index-CZdpMMBb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CZdpMMBb.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/utils/colors.js","../app/javascript/src/utils/index.js"],"sourcesContent":["export const BASE_URL = \"neeto_themes\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","// neetoui-free color helpers used by the shared `setTheme` util. Kept separate\n// from `components/utils` (which pulls in neetoui Toastr) so the v2 utils/hooks\n// bundles stay free of neetoui.\nexport const hexToRgba = hex => {\n const result =\n /^#?(?:([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?|([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2}))$/i.exec(\n hex\n );\n\n if (!result) return null;\n\n const r = parseInt(result[1] || result[5], 16);\n const g = parseInt(result[2] || result[6], 16);\n const b = parseInt(result[3] || result[7], 16);\n const a = result[4]\n ? Math.round(parseInt(result[4], 16) / 2.55) / 100\n : undefined;\n\n return `${r}, ${g}, ${b}${a !== undefined ? `, ${a}` : \"\"}`;\n};\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { BLACK, WHITE } from \"src/constants\";\n\nimport { hexToRgba } from \"./colors\";\n\nconst root = document.documentElement;\n\nexport const setVariable = (name, value, variableNamesMap) => {\n const variableName = variableNamesMap[name];\n if (!variableName) return;\n\n root.style.setProperty(variableName, value);\n};\n\nexport const isPropertyIndependent = (key, theme, schema) => {\n const property = findBy({ key }, schema);\n\n if (isNotPresent(property)) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy({ key: conditionalKey }, schema);\n\n const dependentProperty = findBy({ key: conditionalKey }, theme.properties);\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(theme[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const setCustomCSS = ({ css, elementId, parentElementClass }) => {\n const wrapper = document.querySelector(`.${parentElementClass}`);\n if (!wrapper) return;\n\n let styleTag = wrapper.querySelector(`#${elementId}`);\n if (!styleTag) {\n styleTag = document.createElement(\"style\");\n }\n\n styleTag.textContent = css;\n styleTag.id = elementId;\n wrapper.appendChild(styleTag);\n};\n\nexport const setTheme = (\n theme,\n variableNamesMap,\n themeConfig,\n enabledFeatures = { customCSS: true }\n) => {\n if (isNotPresent(theme?.properties)) return;\n\n theme.properties.forEach(property => {\n const attribute = snakeToCamelCase(property.key);\n\n if (\n property.kind !== \"overlay_opacity\" &&\n !isPropertyIndependent(property.key, theme, themeConfig)\n ) {\n setVariable(attribute, \"\", variableNamesMap);\n\n return;\n }\n\n if (property.kind === \"color\") {\n setVariable(attribute, hexToRgba(property.value), variableNamesMap);\n } else if (property.kind === \"overlay_opacity\") {\n const overlayOpacity = Number(property.value);\n\n setVariable(\n snakeToCamelCase(`${property.key}_overlay_opacity`),\n Math.abs(overlayOpacity / 100),\n variableNamesMap\n );\n\n setVariable(\n snakeToCamelCase(`${property.key}_overlay_color`),\n overlayOpacity < 0 ? BLACK : WHITE,\n variableNamesMap\n );\n } else if (property.kind === \"radius\") {\n setVariable(attribute, `${property.value}px`, variableNamesMap);\n } else if (property.kind === \"custom_css\") {\n if (!enabledFeatures?.customCSS) return;\n\n setCustomCSS({\n css: property.value,\n elementId: property.key,\n parentElementClass: findBy({ kind: \"custom_css\" }, themeConfig)\n ?.parentClass,\n });\n } else {\n setVariable(attribute, property.value, variableNamesMap);\n }\n });\n\n filterBy({ kind: \"image\" }, themeConfig).forEach(({ key }) => {\n const attribute = snakeToCamelCase(key);\n const imageUrl = theme[attribute]?.url;\n\n setVariable(\n attribute,\n imageUrl ? `url(${imageUrl})` : \"none\",\n variableNamesMap\n );\n });\n};\n"],"names":["BASE_URL","WHITE","BLACK","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","concat","root","document","documentElement","setVariable","name","value","variableNamesMap","variableName","style","setProperty","isPropertyIndependent","key","theme","schema","property","findBy","isNotPresent","conditionalKey","dependsOn","dependentPropertySchema","dependentProperty","properties","kind","_theme$snakeToCamelCa","isPresent","snakeToCamelCase","url","setCustomCSS","_ref","css","elementId","parentElementClass","wrapper","querySelector","styleTag","createElement","textContent","id","appendChild","setTheme","themeConfig","enabledFeatures","arguments","length","customCSS","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute","imageUrl"],"mappings":"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"}
@@ -1,69 +1,12 @@
1
1
  import { isNotPresent, snakeToCamelCase, findBy, filterBy, isPresent } from '@bigbinary/neeto-cist';
2
- import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
- import _regeneratorRuntime from '@babel/runtime/regenerator';
4
- import Toastr from '@bigbinary/neetoui/Toastr';
5
2
 
6
- var getImageFromUrl = function getImageFromUrl(source) {
7
- var image = new Image();
8
- image.crossOrigin = "anonymous";
9
- image.src = source;
10
- return new Promise(function (resolve) {
11
- image.onload = function () {
12
- resolve(image);
13
- };
14
- });
15
- };
16
- var getDominantColorFromUrl = /*#__PURE__*/function () {
17
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(imageUrl) {
18
- var image, context, c;
19
- return _regeneratorRuntime.wrap(function _callee$(_context) {
20
- while (1) switch (_context.prev = _context.next) {
21
- case 0:
22
- _context.prev = 0;
23
- _context.next = 3;
24
- return getImageFromUrl(imageUrl);
25
- case 3:
26
- image = _context.sent;
27
- context = document.createElement("canvas").getContext("2d");
28
- context === null || context === void 0 || context.drawImage(image, 0, 0, 1, 1);
29
- c = context === null || context === void 0 ? void 0 : context.getImageData(0, 0, 1, 1).data;
30
- if (!c) {
31
- _context.next = 9;
32
- break;
33
- }
34
- return _context.abrupt("return", "#".concat(((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2]).toString(16).slice(1)));
35
- case 9:
36
- return _context.abrupt("return", null);
37
- case 12:
38
- _context.prev = 12;
39
- _context.t0 = _context["catch"](0);
40
- Toastr.error(_context.t0);
41
- return _context.abrupt("return", null);
42
- case 16:
43
- case "end":
44
- return _context.stop();
45
- }
46
- }, _callee, null, [[0, 12]]);
47
- }));
48
- return function getDominantColorFromUrl(_x) {
49
- return _ref.apply(this, arguments);
50
- };
51
- }();
52
- var scrollElementIntoView = function scrollElementIntoView(elementId) {
53
- var elementToScroll = document.getElementById(elementId);
54
- var sidebarContainer = document.querySelector(".neeto-themes-sidebar__scroll");
55
- if (!elementToScroll || !sidebarContainer) return;
56
- var elementRect = elementToScroll.getBoundingClientRect();
57
- var sidebarContainerRect = sidebarContainer.getBoundingClientRect();
58
- var offset = elementRect.top - sidebarContainerRect.top + sidebarContainer.scrollTop;
59
- sidebarContainer.scrollTo({
60
- top: offset,
61
- behavior: "smooth"
62
- });
63
- };
64
- var isFunction = function isFunction(obj) {
65
- return typeof obj === "function";
66
- };
3
+ var BASE_URL = "neeto_themes";
4
+ var WHITE = "255, 255, 255";
5
+ var BLACK = "0, 0, 0";
6
+
7
+ // neetoui-free color helpers used by the shared `setTheme` util. Kept separate
8
+ // from `components/utils` (which pulls in neetoui Toastr) so the v2 utils/hooks
9
+ // bundles stay free of neetoui.
67
10
  var hexToRgba = function hexToRgba(hex) {
68
11
  var result = /^#?(?:([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?|([a-f\d]{2})([a-f\d]{2})([a-f\d]{2}))$/i.exec(hex);
69
12
  if (!result) return null;
@@ -73,16 +16,6 @@ var hexToRgba = function hexToRgba(hex) {
73
16
  var a = result[4] ? Math.round(parseInt(result[4], 16) / 2.55) / 100 : undefined;
74
17
  return "".concat(r, ", ").concat(g, ", ").concat(b).concat(a !== undefined ? ", ".concat(a) : "");
75
18
  };
76
- var isNewThemeRoute = function isNewThemeRoute() {
77
- return location.pathname.endsWith("new");
78
- };
79
- var isEditThemeRoute = function isEditThemeRoute() {
80
- return location.pathname.endsWith("edit");
81
- };
82
-
83
- var BASE_URL = "neeto_themes";
84
- var WHITE = "255, 255, 255";
85
- var BLACK = "0, 0, 0";
86
19
 
87
20
  var root = document.documentElement;
88
21
  var setVariable = function setVariable(name, value, variableNamesMap) {
@@ -169,5 +102,5 @@ var setTheme = function setTheme(theme, variableNamesMap, themeConfig) {
169
102
  });
170
103
  };
171
104
 
172
- export { BASE_URL as B, setVariable as a, scrollElementIntoView as b, setCustomCSS as c, isFunction as d, isNewThemeRoute as e, isPropertyIndependent as f, getDominantColorFromUrl as g, isEditThemeRoute as i, setTheme as s };
173
- //# sourceMappingURL=index-BZB12oJt.js.map
105
+ export { BASE_URL as B, setVariable as a, setCustomCSS as b, isPropertyIndependent as i, setTheme as s };
106
+ //# sourceMappingURL=index-CzRk-Wf1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CzRk-Wf1.js","sources":["../app/javascript/src/constants/index.js","../app/javascript/src/utils/colors.js","../app/javascript/src/utils/index.js"],"sourcesContent":["export const BASE_URL = \"neeto_themes\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","// neetoui-free color helpers used by the shared `setTheme` util. Kept separate\n// from `components/utils` (which pulls in neetoui Toastr) so the v2 utils/hooks\n// bundles stay free of neetoui.\nexport const hexToRgba = hex => {\n const result =\n /^#?(?:([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?|([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2}))$/i.exec(\n hex\n );\n\n if (!result) return null;\n\n const r = parseInt(result[1] || result[5], 16);\n const g = parseInt(result[2] || result[6], 16);\n const b = parseInt(result[3] || result[7], 16);\n const a = result[4]\n ? Math.round(parseInt(result[4], 16) / 2.55) / 100\n : undefined;\n\n return `${r}, ${g}, ${b}${a !== undefined ? `, ${a}` : \"\"}`;\n};\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { BLACK, WHITE } from \"src/constants\";\n\nimport { hexToRgba } from \"./colors\";\n\nconst root = document.documentElement;\n\nexport const setVariable = (name, value, variableNamesMap) => {\n const variableName = variableNamesMap[name];\n if (!variableName) return;\n\n root.style.setProperty(variableName, value);\n};\n\nexport const isPropertyIndependent = (key, theme, schema) => {\n const property = findBy({ key }, schema);\n\n if (isNotPresent(property)) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy({ key: conditionalKey }, schema);\n\n const dependentProperty = findBy({ key: conditionalKey }, theme.properties);\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(theme[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const setCustomCSS = ({ css, elementId, parentElementClass }) => {\n const wrapper = document.querySelector(`.${parentElementClass}`);\n if (!wrapper) return;\n\n let styleTag = wrapper.querySelector(`#${elementId}`);\n if (!styleTag) {\n styleTag = document.createElement(\"style\");\n }\n\n styleTag.textContent = css;\n styleTag.id = elementId;\n wrapper.appendChild(styleTag);\n};\n\nexport const setTheme = (\n theme,\n variableNamesMap,\n themeConfig,\n enabledFeatures = { customCSS: true }\n) => {\n if (isNotPresent(theme?.properties)) return;\n\n theme.properties.forEach(property => {\n const attribute = snakeToCamelCase(property.key);\n\n if (\n property.kind !== \"overlay_opacity\" &&\n !isPropertyIndependent(property.key, theme, themeConfig)\n ) {\n setVariable(attribute, \"\", variableNamesMap);\n\n return;\n }\n\n if (property.kind === \"color\") {\n setVariable(attribute, hexToRgba(property.value), variableNamesMap);\n } else if (property.kind === \"overlay_opacity\") {\n const overlayOpacity = Number(property.value);\n\n setVariable(\n snakeToCamelCase(`${property.key}_overlay_opacity`),\n Math.abs(overlayOpacity / 100),\n variableNamesMap\n );\n\n setVariable(\n snakeToCamelCase(`${property.key}_overlay_color`),\n overlayOpacity < 0 ? BLACK : WHITE,\n variableNamesMap\n );\n } else if (property.kind === \"radius\") {\n setVariable(attribute, `${property.value}px`, variableNamesMap);\n } else if (property.kind === \"custom_css\") {\n if (!enabledFeatures?.customCSS) return;\n\n setCustomCSS({\n css: property.value,\n elementId: property.key,\n parentElementClass: findBy({ kind: \"custom_css\" }, themeConfig)\n ?.parentClass,\n });\n } else {\n setVariable(attribute, property.value, variableNamesMap);\n }\n });\n\n filterBy({ kind: \"image\" }, themeConfig).forEach(({ key }) => {\n const attribute = snakeToCamelCase(key);\n const imageUrl = theme[attribute]?.url;\n\n setVariable(\n attribute,\n imageUrl ? `url(${imageUrl})` : \"none\",\n variableNamesMap\n );\n });\n};\n"],"names":["BASE_URL","WHITE","BLACK","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","concat","root","document","documentElement","setVariable","name","value","variableNamesMap","variableName","style","setProperty","isPropertyIndependent","key","theme","schema","property","findBy","isNotPresent","conditionalKey","dependsOn","dependentPropertySchema","dependentProperty","properties","kind","_theme$snakeToCamelCa","isPresent","snakeToCamelCase","url","setCustomCSS","_ref","css","elementId","parentElementClass","wrapper","querySelector","styleTag","createElement","textContent","id","appendChild","setTheme","themeConfig","enabledFeatures","arguments","length","customCSS","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute","imageUrl"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,13 +1,16 @@
1
1
  export { default as NeetoThemesBuilder } from './NeetoThemesBuilder.js';
2
- export { u as useThemeUtils } from './useExpandedSection-CelNLEKQ.js';
3
- export { r as registerNeetoThemesTranslations } from './useGlobalThemesApi-NQA1B1Zs.js';
4
- export { s as setTheme } from './index-BZB12oJt.js';
2
+ export { u as useThemeUtils } from './useExpandedSection-MjgB7rh6.js';
3
+ export { r as registerNeetoThemesTranslations } from './useGlobalThemesApi-BTyTasTb.js';
4
+ export { s as setTheme } from './index-CzRk-Wf1.js';
5
5
  import 'zustand/shallow';
6
6
  import 'react';
7
7
  import '@bigbinary/neeto-cist';
8
8
  import '@bigbinary/neeto-commons-frontend/react-utils';
9
9
  import '@bigbinary/neetoui/Spinner';
10
10
  import 'react-i18next';
11
+ import '@babel/runtime/helpers/asyncToGenerator';
12
+ import '@babel/runtime/regenerator';
13
+ import '@bigbinary/neetoui/Toastr';
11
14
  import '@babel/runtime/helpers/slicedToArray';
12
15
  import 'classnames';
13
16
  import '@bigbinary/neeto-commons-frontend/utils';
@@ -43,10 +46,7 @@ import '@bigbinary/neeto-icons/Help';
43
46
  import '@bigbinary/neetoui/Checkbox';
44
47
  import '@bigbinary/neetoui/Modal';
45
48
  import '@bigbinary/neetoui/Input';
46
- import '@babel/runtime/helpers/asyncToGenerator';
47
- import '@babel/runtime/regenerator';
48
49
  import '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
49
- import '@bigbinary/neetoui/Toastr';
50
50
  import '@bigbinary/neetoui/formik/Input';
51
51
  import '@bigbinary/neeto-molecules/Search';
52
52
  import '@bigbinary/neeto-icons/AddImage';
@@ -8,7 +8,7 @@ var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
8
8
  var zustand = require('zustand');
9
9
  var i18n = require('i18next');
10
10
  var yup = require('yup');
11
- var utils = require('./index-BUeeI0XI.js');
11
+ var utils = require('./index-CZdpMMBb.js');
12
12
  var reactQuery = require('@tanstack/react-query');
13
13
  var axios = require('axios');
14
14
  var neetoCist = require('@bigbinary/neeto-cist');
@@ -310,4 +310,4 @@ exports.useExpandedSection = useExpandedSection;
310
310
  exports.useSyncExpandedSectionFromUrl = useSyncExpandedSectionFromUrl;
311
311
  exports.useThemeStore = useThemeStore;
312
312
  exports.useThemeUtils = useThemeUtils;
313
- //# sourceMappingURL=useExpandedSection-GpzbAxmE.js.map
313
+ //# sourceMappingURL=useExpandedSection-BTBI4UqP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExpandedSection-GpzbAxmE.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":"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"}
1
+ {"version":3,"file":"useExpandedSection-BTBI4UqP.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { withImmutableActions, useQueryParams } from '@bigbinary/neeto-commons-f
6
6
  import { create } from 'zustand';
7
7
  import { t } from 'i18next';
8
8
  import * as yup from 'yup';
9
- import { B as BASE_URL, s as setTheme, a as setVariable } from './index-BZB12oJt.js';
9
+ import { B as BASE_URL, s as setTheme, a as setVariable } from './index-CzRk-Wf1.js';
10
10
  import { useQuery } from '@tanstack/react-query';
11
11
  import axios from 'axios';
12
12
  import { isPresent } from '@bigbinary/neeto-cist';
@@ -278,4 +278,4 @@ var useSyncExpandedSectionFromUrl = function useSyncExpandedSectionFromUrl() {
278
278
  };
279
279
 
280
280
  export { APPLY_SPINNER_DELAY as A, FONT_OPTIONS as F, HUNDRED as H, OVERLAY_OPACITY_SLIDER_MARKS as O, POSITION_OPTIONS as P, QUERY_KEYS as Q, THEME_VALIDATION_SCHEMA as T, useExpandedSection as a, useConfigStore as b, useThemeStore as c, useSyncExpandedSectionFromUrl as d, useThemeUtils as u };
281
- //# sourceMappingURL=useExpandedSection-CelNLEKQ.js.map
281
+ //# sourceMappingURL=useExpandedSection-MjgB7rh6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExpandedSection-CelNLEKQ.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":"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"}
1
+ {"version":3,"file":"useExpandedSection-MjgB7rh6.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":"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"}