@bigbinary/neeto-themes-frontend 3.1.12 → 3.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/hooks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var useThemeUtils = require('../useThemeUtils-7t8QA7GV.js');
3
+ var useThemeUtils = require('../useThemeUtils-Dx-g0zNJ.js');
4
4
  require('@babel/runtime/helpers/slicedToArray');
5
5
  require('zustand/shallow');
6
6
  require('react');
@@ -8,7 +8,7 @@ require('ramda');
8
8
  require('@bigbinary/neeto-commons-frontend/react-utils');
9
9
  require('zustand');
10
10
  require('yup');
11
- require('../index-BCC98npS.js');
11
+ require('../index-D6OhrVJO.js');
12
12
  require('@bigbinary/neeto-cist');
13
13
  require('@babel/runtime/helpers/asyncToGenerator');
14
14
  require('@babel/runtime/regenerator');
package/dist/cjs/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var NeetoThemesBuilder = require('./NeetoThemesBuilder.js');
4
- var useThemeUtils = require('../useThemeUtils-7t8QA7GV.js');
5
- var utils = require('../index-BCC98npS.js');
4
+ var useThemeUtils = require('../useThemeUtils-Dx-g0zNJ.js');
5
+ var utils = require('../index-D6OhrVJO.js');
6
6
  require('zustand/shallow');
7
7
  require('react');
8
8
  require('@bigbinary/neeto-cist');
@@ -31,14 +31,14 @@ require('@bigbinary/neetoui/formik/BlockNavigation');
31
31
  require('ramda');
32
32
  require('formik');
33
33
  require('react/jsx-runtime');
34
- require('@bigbinary/neeto-icons/Down');
34
+ require('@bigbinary/neeto-icons/Right');
35
+ require('@bigbinary/neeto-molecules/HelpPopover');
35
36
  require('i18next');
36
37
  require('@bigbinary/neeto-icons/CenterAlign');
37
38
  require('@bigbinary/neeto-icons/LeftAlign');
38
39
  require('@bigbinary/neetoui/ColorPicker');
39
40
  require('@bigbinary/neetoui/Select');
40
41
  require('antd');
41
- require('@bigbinary/neeto-molecules/HelpPopover');
42
42
  require('@babel/runtime/helpers/asyncToGenerator');
43
43
  require('@babel/runtime/regenerator');
44
44
  require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
package/dist/cjs/utils.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('@bigbinary/neeto-cist');
4
- var utils = require('../index-BCC98npS.js');
4
+ var utils = require('../index-D6OhrVJO.js');
5
5
  require('@babel/runtime/helpers/asyncToGenerator');
6
6
  require('@babel/runtime/regenerator');
7
7
  require('@bigbinary/neetoui/Toastr');
package/dist/hooks.js CHANGED
@@ -1,4 +1,4 @@
1
- export { u as useThemeUtils } from './useThemeUtils-fDozYz5F.js';
1
+ export { u as useThemeUtils } from './useThemeUtils-Do1vR9LD.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import 'zustand/shallow';
4
4
  import 'react';
@@ -6,7 +6,7 @@ import 'ramda';
6
6
  import '@bigbinary/neeto-commons-frontend/react-utils';
7
7
  import 'zustand';
8
8
  import 'yup';
9
- import './index-i8lxlWVz.js';
9
+ import './index-Bxlleq-V.js';
10
10
  import '@bigbinary/neeto-cist';
11
11
  import '@babel/runtime/helpers/asyncToGenerator';
12
12
  import '@babel/runtime/regenerator';
@@ -51,7 +51,13 @@ var getDominantColorFromUrl = /*#__PURE__*/function () {
51
51
  }();
52
52
  var scrollElementIntoView = function scrollElementIntoView(elementId) {
53
53
  var elementToScroll = document.getElementById(elementId);
54
- elementToScroll === null || elementToScroll === void 0 || elementToScroll.scrollIntoView({
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;
59
+ sidebarContainer.scrollTo({
60
+ top: offset,
55
61
  behavior: "smooth"
56
62
  });
57
63
  };
@@ -159,4 +165,4 @@ var setTheme = function setTheme(theme, variableNamesMap, themeConfig) {
159
165
  };
160
166
 
161
167
  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 };
162
- //# sourceMappingURL=index-i8lxlWVz.js.map
168
+ //# sourceMappingURL=index-Bxlleq-V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Bxlleq-V.js","sources":["../app/javascript/src/components/utils.js","../app/javascript/src/constants/index.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n const sidebarContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n if (!elementToScroll || !sidebarContainer) return;\n\n const elementRect = elementToScroll.getBoundingClientRect();\n const sidebarContainerRect = sidebarContainer.getBoundingClientRect();\n const offset = elementRect.top - sidebarContainerRect.top;\n\n sidebarContainer.scrollTo({ top: offset, behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\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\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const BASE_URL = \"neeto_themes_engine\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { hexToRgba } from \"components/utils\";\nimport { BLACK, WHITE } from \"src/constants\";\n\nconst root = document.querySelector(\":root\");\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 = (theme, variableNamesMap, themeConfig) => {\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 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 setVariable(attribute, `url(${theme[attribute]?.url})`, variableNamesMap);\n });\n};\n"],"names":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","sidebarContainer","querySelector","elementRect","getBoundingClientRect","sidebarContainerRect","offset","top","scrollTo","behavior","isFunction","obj","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","BASE_URL","WHITE","BLACK","root","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","css","parentElementClass","wrapper","styleTag","textContent","id","appendChild","setTheme","themeConfig","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute"],"mappings":"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"}
@@ -53,7 +53,13 @@ var getDominantColorFromUrl = /*#__PURE__*/function () {
53
53
  }();
54
54
  var scrollElementIntoView = function scrollElementIntoView(elementId) {
55
55
  var elementToScroll = document.getElementById(elementId);
56
- elementToScroll === null || elementToScroll === void 0 || elementToScroll.scrollIntoView({
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;
61
+ sidebarContainer.scrollTo({
62
+ top: offset,
57
63
  behavior: "smooth"
58
64
  });
59
65
  };
@@ -170,4 +176,4 @@ exports.scrollElementIntoView = scrollElementIntoView;
170
176
  exports.setCustomCSS = setCustomCSS;
171
177
  exports.setTheme = setTheme;
172
178
  exports.setVariable = setVariable;
173
- //# sourceMappingURL=index-BCC98npS.js.map
179
+ //# sourceMappingURL=index-D6OhrVJO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-D6OhrVJO.js","sources":["../app/javascript/src/components/utils.js","../app/javascript/src/constants/index.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n const sidebarContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n if (!elementToScroll || !sidebarContainer) return;\n\n const elementRect = elementToScroll.getBoundingClientRect();\n const sidebarContainerRect = sidebarContainer.getBoundingClientRect();\n const offset = elementRect.top - sidebarContainerRect.top;\n\n sidebarContainer.scrollTo({ top: offset, behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\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\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const BASE_URL = \"neeto_themes_engine\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { hexToRgba } from \"components/utils\";\nimport { BLACK, WHITE } from \"src/constants\";\n\nconst root = document.querySelector(\":root\");\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 = (theme, variableNamesMap, themeConfig) => {\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 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 setVariable(attribute, `url(${theme[attribute]?.url})`, variableNamesMap);\n });\n};\n"],"names":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","sidebarContainer","querySelector","elementRect","getBoundingClientRect","sidebarContainerRect","offset","top","scrollTo","behavior","isFunction","obj","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","BASE_URL","WHITE","BLACK","root","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","css","parentElementClass","wrapper","styleTag","textContent","id","appendChild","setTheme","themeConfig","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { default as NeetoThemesBuilder } from './NeetoThemesBuilder.js';
2
- export { u as useThemeUtils } from './useThemeUtils-fDozYz5F.js';
3
- export { s as setTheme } from './index-i8lxlWVz.js';
2
+ export { u as useThemeUtils } from './useThemeUtils-Do1vR9LD.js';
3
+ export { s as setTheme } from './index-Bxlleq-V.js';
4
4
  import 'zustand/shallow';
5
5
  import 'react';
6
6
  import '@bigbinary/neeto-cist';
@@ -29,14 +29,14 @@ import '@bigbinary/neetoui/formik/BlockNavigation';
29
29
  import 'ramda';
30
30
  import 'formik';
31
31
  import 'react/jsx-runtime';
32
- import '@bigbinary/neeto-icons/Down';
32
+ import '@bigbinary/neeto-icons/Right';
33
+ import '@bigbinary/neeto-molecules/HelpPopover';
33
34
  import 'i18next';
34
35
  import '@bigbinary/neeto-icons/CenterAlign';
35
36
  import '@bigbinary/neeto-icons/LeftAlign';
36
37
  import '@bigbinary/neetoui/ColorPicker';
37
38
  import '@bigbinary/neetoui/Select';
38
39
  import 'antd';
39
- import '@bigbinary/neeto-molecules/HelpPopover';
40
40
  import '@babel/runtime/helpers/asyncToGenerator';
41
41
  import '@babel/runtime/regenerator';
42
42
  import '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
@@ -5,7 +5,7 @@ import { mergeDeepLeft, prop, isNil } from 'ramda';
5
5
  import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import { create } from 'zustand';
7
7
  import * as yup from 'yup';
8
- import { B as BASE_URL, s as setTheme, a as setVariable } from './index-i8lxlWVz.js';
8
+ import { B as BASE_URL, s as setTheme, a as setVariable } from './index-Bxlleq-V.js';
9
9
  import { useQuery } from '@tanstack/react-query';
10
10
  import axios from 'axios';
11
11
 
@@ -116,6 +116,7 @@ var useConfigStore = create(withImmutableActions(function (set) {
116
116
  isFetchingSchema: true,
117
117
  isTemplateThemesEnabled: false,
118
118
  accordionOpenState: ACCORDION_OPEN_STATE,
119
+ helpPopoverProps: {},
119
120
  setConfigState: set,
120
121
  setAccordionOpenState: function setAccordionOpenState(payload) {
121
122
  return set(mergeDeepLeft({
@@ -202,4 +203,4 @@ var useThemeUtils = function useThemeUtils() {
202
203
  };
203
204
 
204
205
  export { 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, useConfigStore as a, useThemeStore as b, useThemeUtils as u };
205
- //# sourceMappingURL=useThemeUtils-fDozYz5F.js.map
206
+ //# sourceMappingURL=useThemeUtils-Do1vR9LD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemeUtils-Do1vR9LD.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"],"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 * 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.string().required(\"Name is required\"),\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 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) || isFetchingSchema) return;\n\n setThemeUtil(themeToBeApplied, variableNamesMap, themePropertiesSchema);\n }, [themeToBeApplied, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: setThemeToBeApplied,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\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","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","schema","_ref$variableNamesMap","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme"],"mappings":"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"}
@@ -7,7 +7,7 @@ var ramda = require('ramda');
7
7
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
8
8
  var zustand = require('zustand');
9
9
  var yup = require('yup');
10
- var utils = require('./index-BCC98npS.js');
10
+ var utils = require('./index-D6OhrVJO.js');
11
11
  var reactQuery = require('@tanstack/react-query');
12
12
  var axios = require('axios');
13
13
 
@@ -137,6 +137,7 @@ var useConfigStore = zustand.create(reactUtils.withImmutableActions(function (se
137
137
  isFetchingSchema: true,
138
138
  isTemplateThemesEnabled: false,
139
139
  accordionOpenState: ACCORDION_OPEN_STATE,
140
+ helpPopoverProps: {},
140
141
  setConfigState: set,
141
142
  setAccordionOpenState: function setAccordionOpenState(payload) {
142
143
  return set(ramda.mergeDeepLeft({
@@ -231,4 +232,4 @@ exports.THEME_VALIDATION_SCHEMA = THEME_VALIDATION_SCHEMA;
231
232
  exports.useConfigStore = useConfigStore;
232
233
  exports.useThemeStore = useThemeStore;
233
234
  exports.useThemeUtils = useThemeUtils;
234
- //# sourceMappingURL=useThemeUtils-7t8QA7GV.js.map
235
+ //# sourceMappingURL=useThemeUtils-Dx-g0zNJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useThemeUtils-Dx-g0zNJ.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"],"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 * 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.string().required(\"Name is required\"),\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 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) || isFetchingSchema) return;\n\n setThemeUtil(themeToBeApplied, variableNamesMap, themePropertiesSchema);\n }, [themeToBeApplied, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: setThemeToBeApplied,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\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","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","schema","_ref$variableNamesMap","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme"],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import '@bigbinary/neeto-cist';
2
- export { f as isPropertyIndependent, c as setCustomCSS, s as setTheme, a as setVariable } from './index-i8lxlWVz.js';
2
+ export { f as isPropertyIndependent, c as setCustomCSS, s as setTheme, a as setVariable } from './index-Bxlleq-V.js';
3
3
  import '@babel/runtime/helpers/asyncToGenerator';
4
4
  import '@babel/runtime/regenerator';
5
5
  import '@bigbinary/neetoui/Toastr';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-themes-frontend",
3
- "version": "3.1.12",
3
+ "version": "3.1.14",
4
4
  "description": "A repo acts as the source of truth for the new nano's structure, configs, data etc.",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-themes-nano",
@@ -29,11 +29,11 @@
29
29
  ],
30
30
  "./**/app/javascript/**/*.{js,jsx,json}": [
31
31
  "prettier --write",
32
- "eslint --fix"
32
+ "eslint --cache --fix --no-warn-ignored"
33
33
  ],
34
34
  "./test/dummy/**/app/javascript/**/*.{js,jsx,json}": [
35
35
  "prettier --write",
36
- "eslint --fix"
36
+ "eslint --cache --fix --no-warn-ignored"
37
37
  ],
38
38
  "{Gemfile,Rakefile,config.ru}": [
39
39
  "bundle exec rubocop -a --force-exclusion"
@@ -59,16 +59,16 @@
59
59
  "@babel/preset-env": "7.26.0",
60
60
  "@babel/preset-react": "7.25.9",
61
61
  "@babel/preset-typescript": "7.26.0",
62
- "@babel/runtime": "7.26.0",
62
+ "@babel/runtime": "7.26.10",
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
- "@bigbinary/eslint-plugin-neeto": "1.5.7",
65
- "@bigbinary/neeto-cist": "1.0.15",
66
- "@bigbinary/neeto-commons-frontend": "4.13.23",
67
- "@bigbinary/neeto-filters-frontend": "4.3.15",
68
- "@bigbinary/neeto-icons": "1.20.26",
69
- "@bigbinary/neeto-image-uploader-frontend": "2.3.15",
70
- "@bigbinary/neeto-molecules": "3.15.38",
71
- "@bigbinary/neetoui": "8.2.65",
64
+ "@bigbinary/eslint-plugin-neeto": "1.6.1",
65
+ "@bigbinary/neeto-cist": "1.0.17",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.38",
67
+ "@bigbinary/neeto-filters-frontend": "4.3.19",
68
+ "@bigbinary/neeto-icons": "1.20.47",
69
+ "@bigbinary/neeto-image-uploader-frontend": "2.3.18",
70
+ "@bigbinary/neeto-molecules": "3.16.48",
71
+ "@bigbinary/neetoui": "8.3.4",
72
72
  "@emotion/is-prop-valid": "1.2.0",
73
73
  "@faker-js/faker": "8.2.0",
74
74
  "@honeybadger-io/js": "6.10.1",
@@ -86,7 +86,7 @@
86
86
  "@tanstack/react-query-devtools": "5.59.20",
87
87
  "antd": "5.22.0",
88
88
  "autoprefixer": "^10.4.5",
89
- "axios": "1.7.7",
89
+ "axios": "1.8.2",
90
90
  "babel-loader": "^8.2.5",
91
91
  "babel-plugin-istanbul": "^6.1.1",
92
92
  "babel-plugin-js-logger": "1.0.17",
@@ -101,23 +101,24 @@
101
101
  "classnames": "2.5.1",
102
102
  "crypto-browserify": "3.12.1",
103
103
  "css-loader": "6.8.1",
104
- "dompurify": "^2.4.0",
104
+ "dompurify": "^3.2.4",
105
105
  "dotenv-webpack": "^8.0.1",
106
- "eslint": "8.14.0",
107
- "eslint-config-prettier": "8.5.0",
108
- "eslint-plugin-cypress": "2.12.1",
109
- "eslint-plugin-import": "2.31.0",
110
- "eslint-plugin-jam3": "0.2.3",
111
- "eslint-plugin-json": "3.1.0",
112
- "eslint-plugin-prettier": "4.0.0",
113
- "eslint-plugin-promise": "6.0.0",
114
- "eslint-plugin-react": "7.37.2",
115
- "eslint-plugin-react-hooks": "4.5.0",
116
- "eslint-plugin-security": "^1.7.1",
117
- "eslint-plugin-sonarjs": "^0.21.0",
118
- "eslint-plugin-unused-imports": "2.0.0",
106
+ "eslint": "^9.25.1",
107
+ "eslint-config-prettier": "^10.1.2",
108
+ "eslint-plugin-cypress": "^4.3.0",
109
+ "eslint-plugin-import": "^2.31.0",
110
+ "eslint-plugin-jam3": "^0.2.3",
111
+ "eslint-plugin-json": "^4.0.1",
112
+ "eslint-plugin-prettier": "^5.2.6",
113
+ "eslint-plugin-promise": "^7.2.1",
114
+ "eslint-plugin-react": "^7.37.5",
115
+ "eslint-plugin-react-hooks": "^5.2.0",
116
+ "eslint-plugin-security": "^3.0.1",
117
+ "eslint-plugin-sonarjs": "^3.0.2",
118
+ "eslint-plugin-unused-imports": "^4.1.4",
119
119
  "eslint-plugin-xss": "^0.1.12",
120
120
  "formik": "2.4.6",
121
+ "globals": "16.0.0",
121
122
  "html-webpack-plugin": "5.5.3",
122
123
  "https-browserify": "1.0.0",
123
124
  "husky": "7.0.4",
@@ -133,7 +134,7 @@
133
134
  "postcss-import": "^15.0.0",
134
135
  "postcss-loader": "^7.0.1",
135
136
  "postcss-preset-env": "7.8.2",
136
- "prettier": "2.6.2",
137
+ "prettier": "3",
137
138
  "prettier-plugin-tailwindcss": "0.1.10",
138
139
  "process": "0.11.10",
139
140
  "qs": "^6.11.2",
@@ -151,7 +152,7 @@
151
152
  "rollup-plugin-copy": "3.5.0",
152
153
  "rollup-plugin-peer-deps-external": "2.2.4",
153
154
  "rollup-plugin-styles": "4.0.0",
154
- "sass": "^1.54.9",
155
+ "sass": "1.89.0",
155
156
  "sass-loader": "^13.0.2",
156
157
  "shakapacker": "6.6.0",
157
158
  "source-map-loader": "4.0.1",
@@ -168,17 +169,17 @@
168
169
  "webpack-cli": "5.1.4",
169
170
  "webpack-dev-server": "4.15.1",
170
171
  "yup": "0.32.11",
171
- "zustand": "4.3.2"
172
+ "zustand": "4.4.2"
172
173
  },
173
174
  "peerDependencies": {
174
- "@babel/runtime": "7.26.0",
175
- "@bigbinary/neeto-cist": "1.0.15",
176
- "@bigbinary/neeto-commons-frontend": "4.13.23",
177
- "@bigbinary/neeto-filters-frontend": "4.3.15",
178
- "@bigbinary/neeto-icons": "1.20.26",
179
- "@bigbinary/neeto-image-uploader-frontend": "2.3.15",
180
- "@bigbinary/neeto-molecules": "3.15.38",
181
- "@bigbinary/neetoui": "8.2.65",
175
+ "@babel/runtime": "7.26.10",
176
+ "@bigbinary/neeto-cist": "1.0.17",
177
+ "@bigbinary/neeto-commons-frontend": "4.13.38",
178
+ "@bigbinary/neeto-filters-frontend": "4.3.19",
179
+ "@bigbinary/neeto-icons": "1.20.47",
180
+ "@bigbinary/neeto-image-uploader-frontend": "2.3.18",
181
+ "@bigbinary/neeto-molecules": "3.16.48",
182
+ "@bigbinary/neetoui": "8.3.4",
182
183
  "@honeybadger-io/js": "6.10.1",
183
184
  "@honeybadger-io/react": "6.1.25",
184
185
  "@monaco-editor/react": "4.6.0",
@@ -186,11 +187,11 @@
186
187
  "@tanstack/react-query": "5.59.20",
187
188
  "@tanstack/react-query-devtools": "5.59.20",
188
189
  "antd": "5.22.0",
189
- "axios": "1.7.7",
190
+ "axios": "1.8.2",
190
191
  "buffer": "^6.0.3",
191
192
  "classnames": "2.5.1",
192
193
  "crypto-browserify": "3.12.1",
193
- "dompurify": "^2.4.0",
194
+ "dompurify": "^3.2.4",
194
195
  "formik": "2.4.6",
195
196
  "https-browserify": "1.0.0",
196
197
  "i18next": "22.5.1",
@@ -215,7 +216,7 @@
215
216
  "util": "^0.12.5",
216
217
  "vm-browserify": "1.1.2",
217
218
  "yup": "0.32.11",
218
- "zustand": "4.3.2"
219
+ "zustand": "4.4.2"
219
220
  },
220
221
  "resolutions": {
221
222
  "postcss": "^8",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-BCC98npS.js","sources":["../app/javascript/src/components/utils.js","../app/javascript/src/constants/index.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n elementToScroll?.scrollIntoView({ behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\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\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const BASE_URL = \"neeto_themes_engine\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { hexToRgba } from \"components/utils\";\nimport { BLACK, WHITE } from \"src/constants\";\n\nconst root = document.querySelector(\":root\");\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 = (theme, variableNamesMap, themeConfig) => {\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 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 setVariable(attribute, `url(${theme[attribute]?.url})`, variableNamesMap);\n });\n};\n"],"names":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","scrollIntoView","behavior","isFunction","obj","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","BASE_URL","WHITE","BLACK","root","querySelector","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","css","parentElementClass","wrapper","styleTag","textContent","id","appendChild","setTheme","themeConfig","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-i8lxlWVz.js","sources":["../app/javascript/src/components/utils.js","../app/javascript/src/constants/index.js","../app/javascript/src/utils/index.js"],"sourcesContent":["import { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n elementToScroll?.scrollIntoView({ behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\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\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const BASE_URL = \"neeto_themes_engine\";\nexport const WHITE = \"255, 255, 255\";\nexport const BLACK = \"0, 0, 0\";\n","import {\n filterBy,\n findBy,\n isNotPresent,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\n\nimport { hexToRgba } from \"components/utils\";\nimport { BLACK, WHITE } from \"src/constants\";\n\nconst root = document.querySelector(\":root\");\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 = (theme, variableNamesMap, themeConfig) => {\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 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 setVariable(attribute, `url(${theme[attribute]?.url})`, variableNamesMap);\n });\n};\n"],"names":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","scrollIntoView","behavior","isFunction","obj","hexToRgba","hex","result","exec","r","parseInt","g","b","a","Math","round","undefined","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","BASE_URL","WHITE","BLACK","root","querySelector","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","css","parentElementClass","wrapper","styleTag","textContent","id","appendChild","setTheme","themeConfig","forEach","attribute","overlayOpacity","Number","abs","_findBy","parentClass","filterBy","_ref2","_theme$attribute"],"mappings":";;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,MAAM,EAAI;AACvC,EAAA,IAAMC,KAAK,GAAG,IAAIC,KAAK,EAAE;EACzBD,KAAK,CAACE,WAAW,GAAG,WAAW;EAC/BF,KAAK,CAACG,GAAG,GAAGJ,MAAM;AAElB,EAAA,OAAO,IAAIK,OAAO,CAAC,UAAAC,OAAO,EAAI;IAC5BL,KAAK,CAACM,MAAM,GAAG,YAAM;MACnBD,OAAO,CAACL,KAAK,CAAC;KACf;AACH,GAAC,CAAC;AACJ,CAAC;IAEYO,uBAAuB,gBAAA,YAAA;EAAA,IAAAC,IAAA,GAAAC,iBAAA,cAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAMC,QAAQ,EAAA;AAAA,IAAA,IAAAb,KAAA,EAAAc,OAAA,EAAAC,CAAA;AAAA,IAAA,OAAAL,mBAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,MAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,QAAA,KAAA,CAAA;AAAAF,UAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA;AAAAD,UAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;UAAA,OAE7BtB,eAAe,CAACe,QAAQ,CAAC;AAAA,QAAA,KAAA,CAAA;UAAvCb,KAAK,GAAAkB,QAAA,CAAAG,IAAA;UACLP,OAAO,GAAGQ,QAAQ,CAACC,aAAa,CAAC,QAAQ,CAAC,CAACC,UAAU,CAAC,IAAI,CAAC;AACjEV,UAAAA,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,IAAPA,OAAO,CAAEW,SAAS,CAACzB,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/Be,UAAAA,CAAC,GAAGD,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEY,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACC,IAAI;AAAA,UAAA,IAAA,CAE5CZ,CAAC,EAAA;AAAAG,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA;AAAA,YAAA;AAAA;AAAA,UAAA,OAAAF,QAAA,CAAAU,MAAA,eAAAC,MAAA,CACQ,CAAC,CAAC,CAAC,IAAI,EAAE,KAAKd,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EACtDe,QAAQ,CAAC,EAAE,CAAC,CACZC,KAAK,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,QAAA,KAAA,CAAA;AAAA,UAAA,OAAAb,QAAA,CAAAU,MAAA,CAAA,QAAA,EAGN,IAAI,CAAA;AAAA,QAAA,KAAA,EAAA;AAAAV,UAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA;UAAAD,QAAA,CAAAc,EAAA,GAAAd,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAEXe,UAAAA,MAAM,CAACC,KAAK,CAAAhB,QAAA,CAAAc,EAAM,CAAC;AAAC,UAAA,OAAAd,QAAA,CAAAU,MAAA,CAAA,QAAA,EAEb,IAAI,CAAA;AAAA,QAAA,KAAA,EAAA;AAAA,QAAA,KAAA,KAAA;UAAA,OAAAV,QAAA,CAAAiB,IAAA,EAAA;AAAA;AAAA,KAAA,EAAAvB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;GAEd,CAAA,CAAA;EAAA,OAnBYL,SAAAA,uBAAuBA,CAAA6B,EAAA,EAAA;AAAA,IAAA,OAAA5B,IAAA,CAAA6B,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA;AAAA,GAAA;AAAA,CAmBnC;IAEYC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,SAAS,EAAI;AAChD,EAAA,IAAMC,eAAe,GAAGnB,QAAQ,CAACoB,cAAc,CAACF,SAAS,CAAC;AAC1DC,EAAAA,eAAe,aAAfA,eAAe,KAAA,KAAA,CAAA,IAAfA,eAAe,CAAEE,cAAc,CAAC;AAAEC,IAAAA,QAAQ,EAAE;AAAS,GAAC,CAAC;AACzD;IAEaC,UAAU,GAAG,SAAbA,UAAUA,CAAGC,GAAG,EAAA;EAAA,OAAI,OAAOA,GAAG,KAAK,UAAU;AAAA;AAEnD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,GAAG,EAAI;AAC9B,EAAA,IAAMC,MAAM,GACV,iGAAiG,CAACC,IAAI,CACpGF,GACF,CAAC;AAEH,EAAA,IAAI,CAACC,MAAM,EAAE,OAAO,IAAI;AAExB,EAAA,IAAME,CAAC,GAAGC,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9C,EAAA,IAAMI,CAAC,GAAGD,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9C,EAAA,IAAMK,CAAC,GAAGF,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,IAAIA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EAC9C,IAAMM,CAAC,GAAGN,MAAM,CAAC,CAAC,CAAC,GACfO,IAAI,CAACC,KAAK,CAACL,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,GAChDS,SAAS;EAEb,OAAA7B,EAAAA,CAAAA,MAAA,CAAUsB,CAAC,EAAA,IAAA,CAAA,CAAAtB,MAAA,CAAKwB,CAAC,EAAAxB,IAAAA,CAAAA,CAAAA,MAAA,CAAKyB,CAAC,EAAAzB,MAAA,CAAG0B,CAAC,KAAKG,SAAS,QAAA7B,MAAA,CAAQ0B,CAAC,CAAA,GAAK,EAAE,CAAA;AAC3D,CAAC;AAIYI,IAAAA,eAAe,GAAG,SAAlBA,eAAeA,GAAA;AAAA,EAAA,OAASC,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,KAAK,CAAC;AAAA;AACzDC,IAAAA,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,EAAA,OAASH,QAAQ,CAACC,QAAQ,CAACC,QAAQ,CAAC,MAAM,CAAC;AAAA;;AC/DjE,IAAME,QAAQ,GAAG;AACjB,IAAMC,KAAK,GAAG,eAAe;AAC7B,IAAMC,KAAK,GAAG,SAAS;;ACS9B,IAAMC,IAAI,GAAG7C,QAAQ,CAAC8C,aAAa,CAAC,OAAO,CAAC;AAErC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAI,EAAEC,KAAK,EAAEC,gBAAgB,EAAK;AAC5D,EAAA,IAAMC,YAAY,GAAGD,gBAAgB,CAACF,IAAI,CAAC;EAC3C,IAAI,CAACG,YAAY,EAAE;EAEnBN,IAAI,CAACO,KAAK,CAACC,WAAW,CAACF,YAAY,EAAEF,KAAK,CAAC;AAC7C;AAEO,IAAMK,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,GAAG,EAAEC,KAAK,EAAEC,MAAM,EAAK;EAC3D,IAAMC,QAAQ,GAAGC,MAAM,CAAC;AAAEJ,IAAAA,GAAG,EAAHA;GAAK,EAAEE,MAAM,CAAC;AAExC,EAAA,IAAIG,YAAY,CAACF,QAAQ,CAAC,EAAE,OAAO,KAAK;EAExC,IAAMG,cAAc,GAAGH,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEI,SAAS;AAC1C,EAAA,IAAIF,YAAY,CAACC,cAAc,CAAC,EAAE,OAAO,IAAI;EAE7C,IAAME,uBAAuB,GAAGJ,MAAM,CAAC;AAAEJ,IAAAA,GAAG,EAAEM;GAAgB,EAAEJ,MAAM,CAAC;EAEvE,IAAMO,iBAAiB,GAAGL,MAAM,CAAC;AAAEJ,IAAAA,GAAG,EAAEM;AAAe,GAAC,EAAEL,KAAK,CAACS,UAAU,CAAC;AAE3E,EAAA,IAAIF,uBAAuB,CAACG,IAAI,KAAK,OAAO,EAAE;AAAA,IAAA,IAAAC,qBAAA;AAC5C,IAAA,OAAOC,SAAS,CAAAD,CAAAA,qBAAA,GAACX,KAAK,CAACa,gBAAgB,CAACR,cAAc,CAAC,CAAC,MAAAM,IAAAA,IAAAA,qBAAA,uBAAvCA,qBAAA,CAAyCG,GAAG,CAAC;AAChE,GAAC,MAAM,IAAIP,uBAAuB,CAACG,IAAI,KAAK,SAAS,EAAE;IACrD,OAAO,CAAAF,iBAAiB,KAAjBA,IAAAA,IAAAA,iBAAiB,uBAAjBA,iBAAiB,CAAEf,KAAK,MAAK,OAAO;AAC7C;EAEA,OAAOmB,SAAS,CAACJ,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAEf,KAAK,CAAC;AAC5C;IAEasB,YAAY,GAAG,SAAfA,YAAYA,CAAArF,IAAA,EAA+C;AAAA,EAAA,IAAzCsF,GAAG,GAAAtF,IAAA,CAAHsF,GAAG;IAAEtD,SAAS,GAAAhC,IAAA,CAATgC,SAAS;IAAEuD,kBAAkB,GAAAvF,IAAA,CAAlBuF,kBAAkB;EAC/D,IAAMC,OAAO,GAAG1E,QAAQ,CAAC8C,aAAa,KAAAvC,MAAA,CAAKkE,kBAAkB,CAAE,CAAC;EAChE,IAAI,CAACC,OAAO,EAAE;EAEd,IAAIC,QAAQ,GAAGD,OAAO,CAAC5B,aAAa,KAAAvC,MAAA,CAAKW,SAAS,CAAE,CAAC;EACrD,IAAI,CAACyD,QAAQ,EAAE;AACbA,IAAAA,QAAQ,GAAG3E,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;AAC5C;EAEA0E,QAAQ,CAACC,WAAW,GAAGJ,GAAG;EAC1BG,QAAQ,CAACE,EAAE,GAAG3D,SAAS;AACvBwD,EAAAA,OAAO,CAACI,WAAW,CAACH,QAAQ,CAAC;AAC/B;AAEO,IAAMI,QAAQ,GAAG,SAAXA,QAAQA,CAAIvB,KAAK,EAAEN,gBAAgB,EAAE8B,WAAW,EAAK;EAChE,IAAIpB,YAAY,CAACJ,KAAK,KAALA,IAAAA,IAAAA,KAAK,uBAALA,KAAK,CAAES,UAAU,CAAC,EAAE;AAErCT,EAAAA,KAAK,CAACS,UAAU,CAACgB,OAAO,CAAC,UAAAvB,QAAQ,EAAI;AACnC,IAAA,IAAMwB,SAAS,GAAGb,gBAAgB,CAACX,QAAQ,CAACH,GAAG,CAAC;AAEhD,IAAA,IACEG,QAAQ,CAACQ,IAAI,KAAK,iBAAiB,IACnC,CAACZ,qBAAqB,CAACI,QAAQ,CAACH,GAAG,EAAEC,KAAK,EAAEwB,WAAW,CAAC,EACxD;AACAjC,MAAAA,WAAW,CAACmC,SAAS,EAAE,EAAE,EAAEhC,gBAAgB,CAAC;AAE5C,MAAA;AACF;AAEA,IAAA,IAAIQ,QAAQ,CAACQ,IAAI,KAAK,OAAO,EAAE;MAC7BnB,WAAW,CAACmC,SAAS,EAAEzD,SAAS,CAACiC,QAAQ,CAACT,KAAK,CAAC,EAAEC,gBAAgB,CAAC;AACrE,KAAC,MAAM,IAAIQ,QAAQ,CAACQ,IAAI,KAAK,iBAAiB,EAAE;AAC9C,MAAA,IAAMiB,cAAc,GAAGC,MAAM,CAAC1B,QAAQ,CAACT,KAAK,CAAC;MAE7CF,WAAW,CACTsB,gBAAgB,CAAA9D,EAAAA,CAAAA,MAAA,CAAImD,QAAQ,CAACH,GAAG,EAAkB,kBAAA,CAAA,CAAC,EACnDrB,IAAI,CAACmD,GAAG,CAACF,cAAc,GAAG,GAAG,CAAC,EAC9BjC,gBACF,CAAC;MAEDH,WAAW,CACTsB,gBAAgB,CAAA9D,EAAAA,CAAAA,MAAA,CAAImD,QAAQ,CAACH,GAAG,EAAgB,gBAAA,CAAA,CAAC,EACjD4B,cAAc,GAAG,CAAC,GAAGvC,KAAK,GAAGD,KAAK,EAClCO,gBACF,CAAC;AACH,KAAC,MAAM,IAAIQ,QAAQ,CAACQ,IAAI,KAAK,QAAQ,EAAE;MACrCnB,WAAW,CAACmC,SAAS,EAAA,EAAA,CAAA3E,MAAA,CAAKmD,QAAQ,CAACT,KAAK,EAAMC,IAAAA,CAAAA,EAAAA,gBAAgB,CAAC;AACjE,KAAC,MAAM,IAAIQ,QAAQ,CAACQ,IAAI,KAAK,YAAY,EAAE;AAAA,MAAA,IAAAoB,OAAA;AACzCf,MAAAA,YAAY,CAAC;QACXC,GAAG,EAAEd,QAAQ,CAACT,KAAK;QACnB/B,SAAS,EAAEwC,QAAQ,CAACH,GAAG;AACvBkB,QAAAA,kBAAkB,EAAAa,CAAAA,OAAA,GAAE3B,MAAM,CAAC;AAAEO,UAAAA,IAAI,EAAE;AAAa,SAAC,EAAEc,WAAW,CAAC,cAAAM,OAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA3CA,OAAA,CAChBC;AACN,OAAC,CAAC;AACJ,KAAC,MAAM;MACLxC,WAAW,CAACmC,SAAS,EAAExB,QAAQ,CAACT,KAAK,EAAEC,gBAAgB,CAAC;AAC1D;AACF,GAAC,CAAC;AAEFsC,EAAAA,QAAQ,CAAC;AAAEtB,IAAAA,IAAI,EAAE;GAAS,EAAEc,WAAW,CAAC,CAACC,OAAO,CAAC,UAAAQ,KAAA,EAAa;AAAA,IAAA,IAAAC,gBAAA;AAAA,IAAA,IAAVnC,GAAG,GAAAkC,KAAA,CAAHlC,GAAG;AACrD,IAAA,IAAM2B,SAAS,GAAGb,gBAAgB,CAACd,GAAG,CAAC;AACvCR,IAAAA,WAAW,CAACmC,SAAS,EAAA,MAAA,CAAA3E,MAAA,CAAAmF,CAAAA,gBAAA,GAASlC,KAAK,CAAC0B,SAAS,CAAC,MAAA,IAAA,IAAAQ,gBAAA,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAA,CAAkBpB,GAAG,EAAA,GAAA,CAAA,EAAKpB,gBAAgB,CAAC;AAC3E,GAAC,CAAC;AACJ;;;;"}