@bigbinary/neeto-themes-frontend 4.0.15 → 4.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/app/javascript/src/translations/ar.json +4 -0
  2. package/app/javascript/src/translations/bg.json +4 -0
  3. package/app/javascript/src/translations/ca.json +4 -0
  4. package/app/javascript/src/translations/cs.json +4 -0
  5. package/app/javascript/src/translations/da.json +4 -0
  6. package/app/javascript/src/translations/de.json +4 -0
  7. package/app/javascript/src/translations/en.json +22 -12
  8. package/app/javascript/src/translations/es-MX.json +4 -0
  9. package/app/javascript/src/translations/es.json +4 -0
  10. package/app/javascript/src/translations/et.json +4 -0
  11. package/app/javascript/src/translations/fi.json +4 -0
  12. package/app/javascript/src/translations/fil.json +4 -0
  13. package/app/javascript/src/translations/fr.json +4 -0
  14. package/app/javascript/src/translations/he.json +4 -0
  15. package/app/javascript/src/translations/hi.json +4 -0
  16. package/app/javascript/src/translations/hr.json +4 -0
  17. package/app/javascript/src/translations/hu.json +4 -0
  18. package/app/javascript/src/translations/id.json +4 -0
  19. package/app/javascript/src/translations/it.json +4 -0
  20. package/app/javascript/src/translations/ja.json +4 -0
  21. package/app/javascript/src/translations/ko.json +4 -0
  22. package/app/javascript/src/translations/nl.json +4 -0
  23. package/app/javascript/src/translations/pl.json +4 -0
  24. package/app/javascript/src/translations/pt-BR.json +4 -0
  25. package/app/javascript/src/translations/pt.json +4 -0
  26. package/app/javascript/src/translations/ro.json +4 -0
  27. package/app/javascript/src/translations/ru.json +4 -0
  28. package/app/javascript/src/translations/sk.json +4 -0
  29. package/app/javascript/src/translations/sl.json +4 -0
  30. package/app/javascript/src/translations/sv.json +4 -0
  31. package/app/javascript/src/translations/th.json +4 -0
  32. package/app/javascript/src/translations/tr.json +4 -0
  33. package/app/javascript/src/translations/uk.json +4 -0
  34. package/app/javascript/src/translations/vi.json +4 -0
  35. package/app/javascript/src/translations/zh-CN.json +4 -0
  36. package/app/javascript/src/translations/zh-TW.json +4 -0
  37. package/dist/.ready +1 -0
  38. package/dist/NeetoThemesBuilder.js +353 -228
  39. package/dist/NeetoThemesBuilder.js.map +1 -1
  40. package/dist/cjs/NeetoThemesBuilder.js +393 -268
  41. package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
  42. package/dist/cjs/hooks.js +4 -2
  43. package/dist/cjs/hooks.js.map +1 -1
  44. package/dist/cjs/index.js +9 -4
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/hooks.js +2 -1
  47. package/dist/hooks.js.map +1 -1
  48. package/dist/index.js +8 -3
  49. package/dist/index.js.map +1 -1
  50. package/dist/{useThemeUtils-BaUtDOWd.js → useExpandedSection-BkPg-7yk.js} +26 -3
  51. package/dist/useExpandedSection-BkPg-7yk.js.map +1 -0
  52. package/dist/{useThemeUtils-Dc_sN2SE.js → useExpandedSection-DvbcFXMx.js} +26 -1
  53. package/dist/useExpandedSection-DvbcFXMx.js.map +1 -0
  54. package/package.json +32 -31
  55. package/dist/useThemeUtils-BaUtDOWd.js.map +0 -1
  56. package/dist/useThemeUtils-Dc_sN2SE.js.map +0 -1
package/dist/cjs/hooks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var useThemeUtils = require('../useThemeUtils-Dc_sN2SE.js');
3
+ var useExpandedSection = require('../useExpandedSection-DvbcFXMx.js');
4
4
  require('@babel/runtime/helpers/slicedToArray');
5
5
  require('zustand/shallow');
6
6
  require('react');
@@ -16,8 +16,10 @@ require('@babel/runtime/regenerator');
16
16
  require('@bigbinary/neetoui/Toastr');
17
17
  require('@tanstack/react-query');
18
18
  require('axios');
19
+ require('react-router-dom');
19
20
 
20
21
 
21
22
 
22
- exports.useThemeUtils = useThemeUtils.useThemeUtils;
23
+ exports.useExpandedSection = useExpandedSection.useExpandedSection;
24
+ exports.useThemeUtils = useExpandedSection.useThemeUtils;
23
25
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/cjs/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var NeetoThemesBuilder = require('./NeetoThemesBuilder.js');
4
- var useThemeUtils = require('../useThemeUtils-Dc_sN2SE.js');
4
+ var useExpandedSection = require('../useExpandedSection-DvbcFXMx.js');
5
5
  var utils = require('../index-BP-ka0mC.js');
6
6
  require('zustand/shallow');
7
7
  require('react');
@@ -34,6 +34,8 @@ require('i18next');
34
34
  require('@bigbinary/neeto-icons/Right');
35
35
  require('@bigbinary/neeto-icons/Left');
36
36
  require('@bigbinary/neeto-molecules/HelpPopover');
37
+ require('@babel/runtime/helpers/toConsumableArray');
38
+ require('react-dom');
37
39
  require('@bigbinary/neetoui/formik/Radio');
38
40
  require('@bigbinary/neeto-icons/CenterAlign');
39
41
  require('@bigbinary/neeto-icons/LeftAlign');
@@ -47,17 +49,20 @@ require('@bigbinary/neeto-image-uploader-frontend/ImageUploader');
47
49
  require('@bigbinary/neetoui/Toastr');
48
50
  require('@bigbinary/neetoui/formik/Input');
49
51
  require('@bigbinary/neeto-molecules/Search');
50
- require('@bigbinary/neeto-icons/Rating');
52
+ require('@bigbinary/neeto-icons/AddImage');
53
+ require('@bigbinary/neeto-icons/CodeBlock');
54
+ require('@bigbinary/neeto-icons/ColorPicker');
55
+ require('@bigbinary/neeto-icons/Image');
51
56
  require('@bigbinary/neeto-molecules/MoreDropdown');
52
57
  require('@bigbinary/neeto-icons/LeftArrow');
53
- require('@bigbinary/neeto-icons/Plus');
54
58
  require('@bigbinary/neeto-icons/RightArrow');
59
+ require('@bigbinary/neeto-icons/Search');
55
60
  require('zustand');
56
61
  require('yup');
57
62
 
58
63
 
59
64
 
60
65
  exports.NeetoThemesBuilder = NeetoThemesBuilder;
61
- exports.useThemeUtils = useThemeUtils.useThemeUtils;
66
+ exports.useThemeUtils = useExpandedSection.useThemeUtils;
62
67
  exports.setTheme = utils.setTheme;
63
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/hooks.js CHANGED
@@ -1,4 +1,4 @@
1
- export { u as useThemeUtils } from './useThemeUtils-BaUtDOWd.js';
1
+ export { a as useExpandedSection, u as useThemeUtils } from './useExpandedSection-BkPg-7yk.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import 'zustand/shallow';
4
4
  import 'react';
@@ -14,4 +14,5 @@ import '@babel/runtime/regenerator';
14
14
  import '@bigbinary/neetoui/Toastr';
15
15
  import '@tanstack/react-query';
16
16
  import 'axios';
17
+ import 'react-router-dom';
17
18
  //# 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":";;;;;;;;;;;;;;;;"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { default as NeetoThemesBuilder } from './NeetoThemesBuilder.js';
2
- export { u as useThemeUtils } from './useThemeUtils-BaUtDOWd.js';
2
+ export { u as useThemeUtils } from './useExpandedSection-BkPg-7yk.js';
3
3
  export { s as setTheme } from './index-JpAFUrB8.js';
4
4
  import 'zustand/shallow';
5
5
  import 'react';
@@ -32,6 +32,8 @@ import 'i18next';
32
32
  import '@bigbinary/neeto-icons/Right';
33
33
  import '@bigbinary/neeto-icons/Left';
34
34
  import '@bigbinary/neeto-molecules/HelpPopover';
35
+ import '@babel/runtime/helpers/toConsumableArray';
36
+ import 'react-dom';
35
37
  import '@bigbinary/neetoui/formik/Radio';
36
38
  import '@bigbinary/neeto-icons/CenterAlign';
37
39
  import '@bigbinary/neeto-icons/LeftAlign';
@@ -45,11 +47,14 @@ import '@bigbinary/neeto-image-uploader-frontend/ImageUploader';
45
47
  import '@bigbinary/neetoui/Toastr';
46
48
  import '@bigbinary/neetoui/formik/Input';
47
49
  import '@bigbinary/neeto-molecules/Search';
48
- import '@bigbinary/neeto-icons/Rating';
50
+ import '@bigbinary/neeto-icons/AddImage';
51
+ import '@bigbinary/neeto-icons/CodeBlock';
52
+ import '@bigbinary/neeto-icons/ColorPicker';
53
+ import '@bigbinary/neeto-icons/Image';
49
54
  import '@bigbinary/neeto-molecules/MoreDropdown';
50
55
  import '@bigbinary/neeto-icons/LeftArrow';
51
- import '@bigbinary/neeto-icons/Plus';
52
56
  import '@bigbinary/neeto-icons/RightArrow';
57
+ import '@bigbinary/neeto-icons/Search';
53
58
  import 'zustand';
54
59
  import 'yup';
55
60
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,13 +2,14 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
2
2
  import { shallow } from 'zustand/shallow';
3
3
  import { useState, useEffect } from 'react';
4
4
  import { mergeDeepLeft, prop, isNil } from 'ramda';
5
- import { withImmutableActions } from '@bigbinary/neeto-commons-frontend/react-utils';
5
+ import { withImmutableActions, useQueryParams } from '@bigbinary/neeto-commons-frontend/react-utils';
6
6
  import { create } from 'zustand';
7
7
  import { t } from 'i18next';
8
8
  import * as yup from 'yup';
9
9
  import { B as BASE_URL, s as setTheme, a as setVariable } from './index-JpAFUrB8.js';
10
10
  import { useQuery } from '@tanstack/react-query';
11
11
  import axios from 'axios';
12
+ import { useHistory } from 'react-router-dom';
12
13
 
13
14
  var QUERY_KEYS = {
14
15
  THEMES_LIST: "themes-list",
@@ -227,5 +228,27 @@ var useThemeUtils = function useThemeUtils() {
227
228
  };
228
229
  };
229
230
 
230
- 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 };
231
- //# sourceMappingURL=useThemeUtils-BaUtDOWd.js.map
231
+ // Keeps the spinner visible a bit longer so the apply feels deliberate,
232
+ // before the card glides into the pinned active section.
233
+ var APPLY_SPINNER_DELAY = 900;
234
+ var DEFAULT_OPEN_SECTION = "style";
235
+
236
+ var useExpandedSection = function useExpandedSection() {
237
+ var queryParams = useQueryParams();
238
+ var history = useHistory();
239
+ var expandedSection = "section" in queryParams ? queryParams.section : DEFAULT_OPEN_SECTION;
240
+ var setExpandedSection = function setExpandedSection(next) {
241
+ var newParams = new URLSearchParams(history.location.search);
242
+ if (next) newParams.set("section", next);else newParams.set("section", "");
243
+ history.replace({
244
+ search: newParams.toString()
245
+ });
246
+ };
247
+ return {
248
+ expandedSection: expandedSection,
249
+ setExpandedSection: setExpandedSection
250
+ };
251
+ };
252
+
253
+ 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, useThemeUtils as u };
254
+ //# sourceMappingURL=useExpandedSection-BkPg-7yk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedSection-BkPg-7yk.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 { useQueryParams } from \"neetocommons/react-utils\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\nconst useExpandedSection = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const expandedSection =\n \"section\" in queryParams ? queryParams.section : DEFAULT_OPEN_SECTION;\n\n const setExpandedSection = next => {\n const newParams = new URLSearchParams(history.location.search);\n if (next) newParams.set(\"section\", next);\n else newParams.set(\"section\", \"\");\n history.replace({ search: newParams.toString() });\n };\n\n return { expandedSection, setExpandedSection };\n};\n\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","useExpandedSection","queryParams","useQueryParams","history","useHistory","expandedSection","section","setExpandedSection","next","newParams","URLSearchParams","location","search","replace","toString"],"mappings":";;;;;;;;;;;;;AAAO,IAAMA,UAAU,GAAG;AACxBC,EAAAA,WAAW,EAAE,aAAa;AAC1BC,EAAAA,aAAa,EAAE,eAAe;AAC9BC,EAAAA,cAAc,EAAE,gBAAgB;AAChCC,EAAAA,oBAAoB,EAAE,sBAAsB;AAC5CC,EAAAA,oBAAoB,EAAE;AACxB;;ACCO,IAAMC,gBAAgB,GAAG,CAC9B;AAAEC,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAO,CAAC,EAChC;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE;AAAQ,CAAC;AAG7B,IAAMC,YAAY,GAAG,CAC1B;AACEF,EAAAA,KAAK,EAAE,WAAW;AAClBC,EAAAA,KAAK,EACH;AACJ,CAAC,EACD;AACED,EAAAA,KAAK,EAAE,oBAAoB;AAC3BC,EAAAA,KAAK,EAAE;AACT,CAAC,EACD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE;AAAqB,CAAC,EAChD;AAAED,EAAAA,KAAK,EAAE,WAAW;AAAEC,EAAAA,KAAK,EAAE;AAAwB,CAAC,EACtD;AAAED,EAAAA,KAAK,EAAE,YAAY;AAAEC,EAAAA,KAAK,EAAE;AAAyB,CAAC,EACxD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,WAAW;AAAEC,EAAAA,KAAK,EAAE;AAAwB,CAAC,EACtD;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE;AAAoB,CAAC,EAC9C;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAsB,CAAC,EAClD;AAAED,EAAAA,KAAK,EAAE,eAAe;AAAEC,EAAAA,KAAK,EAAE;AAA4B,CAAC,EAC9D;AAAED,EAAAA,KAAK,EAAE,cAAc;AAAEC,EAAAA,KAAK,EAAE;AAA2B,CAAC,EAC5D;AAAED,EAAAA,KAAK,EAAE,iBAAiB;AAAEC,EAAAA,KAAK,EAAE;AAA8B,CAAC,EAClE;AAAED,EAAAA,KAAK,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE;AAAc,CAAC,EACvC;AAAED,EAAAA,KAAK,EAAE,cAAc;AAAEC,EAAAA,KAAK,EAAE;AAAsB,CAAC,EACvD;AAAED,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,KAAK,EAAE;AAAe,CAAC,EACzC;AAAED,EAAAA,KAAK,EAAE,kBAAkB;AAAEC,EAAAA,KAAK,EAAE;AAA0B,CAAC,EAC/D;AAAED,EAAAA,KAAK,EAAE,aAAa;AAAEC,EAAAA,KAAK,EAAE;AAAqB,CAAC,EACrD;AAAED,EAAAA,KAAK,EAAE,gBAAgB;AAAEC,EAAAA,KAAK,EAAE;AAA0B,CAAC,EAC7D;AAAED,EAAAA,KAAK,EAAE,SAAS;AAAEC,EAAAA,KAAK,EAAE;AAAgC,CAAC,EAC5D;AAAED,EAAAA,KAAK,EAAE,YAAY;AAAEC,EAAAA,KAAK,EAAE;AAAyB,CAAC;AAGnD,IAAME,uBAAuB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACxDC,IAAI,EAAEH,GAAG,CACNI,MAAM,EAAE,CACRC,QAAQ,CAAC,YAAA;IAAA,OAAMC,CAAC,CAAC,sCAAsC,CAAC;EAAA,CAAA,CAAC;AAC5DC,EAAAA,UAAU,EAAEP,GAAG,CAACQ,KAAK,EAAE,CAACC,EAAE,CACxBT,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBQ,IAAAA,GAAG,EAAEV,GAAG,CAACI,MAAM,EAAE;IACjBP,KAAK,EAAEG,GAAG,CAACI,MAAM,EAAE,CAACO,IAAI,CAAC,KAAK,EAAE;AAC9BC,MAAAA,EAAE,EAAE,SAAJA,EAAEA,CAAEF,GAAG,EAAA;QAAA,OAAIA,GAAG,aAAHA,GAAG,KAAA,MAAA,GAAA,MAAA,GAAHA,GAAG,CAAEG,QAAQ,CAAC,MAAM,CAAC;AAAA,MAAA,CAAA;AAChCC,MAAAA,IAAI,EAAE,SAANA,IAAIA,CAAEC,MAAM,EAAA;QAAA,OACVA,MAAM,CAACC,GAAG,CAAC,YAAA;UAAA,OAAMV,CAAC,CAAC,oCAAoC,CAAC;QAAA,CAAA,CAAC;AAAA,MAAA;KAC5D;AACH,GAAC,CACH;AACF,CAAC;AAEM,IAAMW,4BAA4B,GAAG;AAAE,EAAA,CAAC,EAAE;AAAI;AAC9C,IAAMC,OAAO,GAAG;AAEhB,IAAMC,oBAAoB,GAAG;AAClChB,EAAAA,IAAI,EAAE,IAAI;AACViB,EAAAA,KAAK,EAAE,IAAI;AACXC,EAAAA,MAAM,EAAE,KAAK;AACbC,EAAAA,SAAS,EAAE;AACb,CAAC;;AC9DD;AACA,IAAMC,cAAc,GAAGC,MAAM,CAC3BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3BC,IAAAA,qBAAqB,EAAE,EAAE;AACzBC,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,QAAQ,EAAE,EAAE;IACZC,gBAAgB,EAAE,EAAE;AACpBC,IAAAA,gBAAgB,EAAE,YAAY;AAC9BC,IAAAA,gBAAgB,EAAE,IAAI;AACtBC,IAAAA,uBAAuB,EAAE,KAAK;AAC9BC,IAAAA,kBAAkB,EAAEf,oBAAoB;IACxCgB,gBAAgB,EAAE,EAAE;AAEpBC,IAAAA,cAAc,EAAEV,GAAG;AACnBW,IAAAA,qBAAqB,EAAE,SAAvBA,qBAAqBA,CAAEC,OAAO,EAAA;MAAA,OAC5BZ,GAAG,CAACa,aAAa,CAAC;AAAEL,QAAAA,kBAAkB,EAAEI;AAAQ,OAAC,CAAC,CAAC;AAAA,IAAA;GACtD;AAAA,CAAC,CACJ;;ACpBA;AACA,IAAME,aAAa,GAAGhB,MAAM,CAC1BC,oBAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;IAC3Be,YAAY,EAAE,EAAE;AAChBC,IAAAA,qBAAqB,EAAE,IAAI;IAC3BC,eAAe,EAAE,EAAE;AAEnBC,IAAAA,aAAa,EAAElB;GAChB;AAAA,CAAC,CACJ;;ACRA,IAAMmB,IAAI,GAAG,SAAPA,IAAIA,GAAA;EAAA,OAASC,KAAK,CAACC,GAAG,CAAA,EAAA,CAAAC,MAAA,CAAIC,QAAQ,mBAAgB,CAAC;AAAA,CAAA;AAEzD,IAAMC,UAAU,GAAG;AAAEL,EAAAA,IAAI,EAAJA;AAAK,CAAC;;ACDpB,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,GAAA;AAAA,EAAA,OACxBC,QAAQ,CAAC;AACPC,IAAAA,QAAQ,EAAE,CAAChE,UAAU,CAACG,cAAc,CAAC;IACrC8D,OAAO,EAAEJ,UAAU,CAACL;AACtB,GAAC,CAAC;AAAA,CAAA;;ACIJ,IAAMU,aAAa,GAAG,SAAhBA,aAAaA,GAAS;AAC1B,EAAA,IAAAC,SAAA,GAAgDC,QAAQ,CAAC,IAAI,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAvDI,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,mBAAmB,GAAAH,UAAA,CAAA,CAAA,CAAA;EAC5C,IAAMtB,cAAc,GAAGb,cAAc,CAACuC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC7D,EAAA,IAAAC,cAAA,GAAAvB,aAAA,CAAA,UAAAwB,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQrB,QAAAA,eAAe,EAAAqB,KAAA,CAAA,iBAAA,CAAA;AAAEvB,QAAAA,YAAY,EAAAuB,KAAA,CAAA,cAAA;AAAA,OAAA;AAAA,IAAA,CAAA,EAAAC,OAAA,CAAA;IAA7BtB,eAAe,GAAAoB,cAAA,CAAfpB,eAAe;IAAEF,YAAY,GAAAsB,cAAA,CAAZtB,YAAY;AAErC,EAAA,IAAAyB,cAAA,GAA8Cf,aAAa,EAAE;IAA1CnB,gBAAgB,GAAAkC,cAAA,CAA3BC,SAAS;IAAoBC,IAAI,GAAAF,cAAA,CAAJE,IAAI;AAEzC,EAAA,IAAAC,IAAA,GACED,IAAI,IAAI,EAAE;IAAAE,WAAA,GAAAD,IAAA,CADJtD,MAAM;AAAEY,IAAAA,qBAAqB,GAAA2C,WAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,WAAA;IAAAC,qBAAA,GAAAF,IAAA,CAAEvC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAyC,qBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,qBAAA;AAGjE,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAIC,KAAK,EAA4C;IAAA,IAA1CC,eAAe,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG;AAAEG,MAAAA,SAAS,EAAE;KAAM;AAClEjB,IAAAA,mBAAmB,CAAC;AAAEY,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,eAAe,EAAfA;AAAgB,KAAC,CAAC;EACjD,CAAC;AAEDK,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIX,IAAI,EAAE;AACRhC,MAAAA,cAAc,CAAC;AACbT,QAAAA,qBAAqB,EAAEyC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErD,MAAM;AACnCe,QAAAA,gBAAgB,EAAEsC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAEtC,gBAAgB;AACxCC,QAAAA,gBAAgB,EAAEqC,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJA,IAAI,CAAErC;AAC1B,OAAC,CAAC;AACJ,IAAA;AACF,EAAA,CAAC,EAAE,CAACqC,IAAI,CAAC,CAAC;AAEVW,EAAAA,SAAS,CAAC,YAAA;AAAA,IAAA,OAAM3C,cAAc,CAAC;AAAEJ,MAAAA,gBAAgB,EAAhBA;AAAiB,KAAC,CAAC;EAAA,CAAA,EAAE,CAACA,gBAAgB,CAAC,CAAC;AAEzE+C,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIC,KAAK,CAACpB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEa,KAAK,CAAC,IAAIzC,gBAAgB,EAAE;IAExDiD,QAAY,CACVrB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEa,KAAK,EACvB3C,gBAAgB,EAChBH,qBAAqB,EACrBiC,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,uBAAhBA,gBAAgB,CAAEc,eACpB,CAAC;AACH,EAAA,CAAC,EAAE,CAACd,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEa,KAAK,EAAEzC,gBAAgB,CAAC,CAAC;AAE/C,EAAA,IAAMkD,aAAW,GAAG,SAAdA,aAAWA,CAAI/E,IAAI,EAAEN,KAAK,EAAA;AAAA,IAAA,OAC9BsF,WAAe,CAAChF,IAAI,EAAEN,KAAK,EAAEiC,gBAAgB,CAAC;AAAA,EAAA,CAAA;EAEhD,OAAO;AACLsD,IAAAA,QAAQ,EAAEZ,cAAc;AACxBU,IAAAA,WAAW,EAAXA,aAAW;AACXvC,IAAAA,eAAe,EAAfA,eAAe;AACfF,IAAAA,YAAY,EAAZA,YAAY;AACZT,IAAAA,gBAAgB,EAAhBA;GACD;AACH;;AC5DA;AACA;AACO,IAAMqD,mBAAmB,GAAG;AAE5B,IAAMC,oBAAoB,GAAG,OAAO;;ACC3C,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAC/B,EAAA,IAAMC,WAAW,GAAGC,cAAc,EAAE;AACpC,EAAA,IAAMC,OAAO,GAAGC,UAAU,EAAE;EAE5B,IAAMC,eAAe,GACnB,SAAS,IAAIJ,WAAW,GAAGA,WAAW,CAACK,OAAO,GAAGP,oBAAoB;AAEvE,EAAA,IAAMQ,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,IAAI,EAAI;IACjC,IAAMC,SAAS,GAAG,IAAIC,eAAe,CAACP,OAAO,CAACQ,QAAQ,CAACC,MAAM,CAAC;AAC9D,IAAA,IAAIJ,IAAI,EAAEC,SAAS,CAACtE,GAAG,CAAC,SAAS,EAAEqE,IAAI,CAAC,CAAC,KACpCC,SAAS,CAACtE,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC;IACjCgE,OAAO,CAACU,OAAO,CAAC;AAAED,MAAAA,MAAM,EAAEH,SAAS,CAACK,QAAQ;AAAG,KAAC,CAAC;EACnD,CAAC;EAED,OAAO;AAAET,IAAAA,eAAe,EAAfA,eAAe;AAAEE,IAAAA,kBAAkB,EAAlBA;GAAoB;AAChD;;;;"}
@@ -11,6 +11,7 @@ var yup = require('yup');
11
11
  var utils = require('./index-BP-ka0mC.js');
12
12
  var reactQuery = require('@tanstack/react-query');
13
13
  var axios = require('axios');
14
+ var reactRouterDom = require('react-router-dom');
14
15
 
15
16
  function _interopNamespaceDefault(e) {
16
17
  var n = Object.create(null);
@@ -248,6 +249,29 @@ var useThemeUtils = function useThemeUtils() {
248
249
  };
249
250
  };
250
251
 
252
+ // Keeps the spinner visible a bit longer so the apply feels deliberate,
253
+ // before the card glides into the pinned active section.
254
+ var APPLY_SPINNER_DELAY = 900;
255
+ var DEFAULT_OPEN_SECTION = "style";
256
+
257
+ var useExpandedSection = function useExpandedSection() {
258
+ var queryParams = reactUtils.useQueryParams();
259
+ var history = reactRouterDom.useHistory();
260
+ var expandedSection = "section" in queryParams ? queryParams.section : DEFAULT_OPEN_SECTION;
261
+ var setExpandedSection = function setExpandedSection(next) {
262
+ var newParams = new URLSearchParams(history.location.search);
263
+ if (next) newParams.set("section", next);else newParams.set("section", "");
264
+ history.replace({
265
+ search: newParams.toString()
266
+ });
267
+ };
268
+ return {
269
+ expandedSection: expandedSection,
270
+ setExpandedSection: setExpandedSection
271
+ };
272
+ };
273
+
274
+ exports.APPLY_SPINNER_DELAY = APPLY_SPINNER_DELAY;
251
275
  exports.FONT_OPTIONS = FONT_OPTIONS;
252
276
  exports.HUNDRED = HUNDRED;
253
277
  exports.OVERLAY_OPACITY_SLIDER_MARKS = OVERLAY_OPACITY_SLIDER_MARKS;
@@ -255,6 +279,7 @@ exports.POSITION_OPTIONS = POSITION_OPTIONS;
255
279
  exports.QUERY_KEYS = QUERY_KEYS;
256
280
  exports.THEME_VALIDATION_SCHEMA = THEME_VALIDATION_SCHEMA;
257
281
  exports.useConfigStore = useConfigStore;
282
+ exports.useExpandedSection = useExpandedSection;
258
283
  exports.useThemeStore = useThemeStore;
259
284
  exports.useThemeUtils = useThemeUtils;
260
- //# sourceMappingURL=useThemeUtils-Dc_sN2SE.js.map
285
+ //# sourceMappingURL=useExpandedSection-DvbcFXMx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedSection-DvbcFXMx.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 { useQueryParams } from \"neetocommons/react-utils\";\nimport { useHistory } from \"react-router-dom\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\nconst useExpandedSection = () => {\n const queryParams = useQueryParams();\n const history = useHistory();\n\n const expandedSection =\n \"section\" in queryParams ? queryParams.section : DEFAULT_OPEN_SECTION;\n\n const setExpandedSection = next => {\n const newParams = new URLSearchParams(history.location.search);\n if (next) newParams.set(\"section\", next);\n else newParams.set(\"section\", \"\");\n history.replace({ search: newParams.toString() });\n };\n\n return { expandedSection, setExpandedSection };\n};\n\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","useExpandedSection","queryParams","useQueryParams","history","useHistory","expandedSection","section","setExpandedSection","next","newParams","URLSearchParams","location","search","replace","toString"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-themes-frontend",
3
- "version": "4.0.15",
3
+ "version": "4.0.17",
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",
@@ -59,24 +59,24 @@
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.28.6",
62
+ "@babel/runtime": "7.29.2",
63
63
  "@bigbinary/babel-preset-neeto": "^1.0.3",
64
64
  "@bigbinary/eslint-plugin-neeto": "1.9.0",
65
65
  "@bigbinary/neeto-cist": "1.0.17",
66
- "@bigbinary/neeto-commons-frontend": "4.13.114",
67
- "@bigbinary/neeto-filters-frontend": "4.3.32",
68
- "@bigbinary/neeto-icons": "1.20.86",
69
- "@bigbinary/neeto-image-uploader-frontend": "4.0.0",
70
- "@bigbinary/neeto-molecules": "4.1.42",
71
- "@bigbinary/neetoui": "8.4.1",
66
+ "@bigbinary/neeto-commons-frontend": "4.13.127",
67
+ "@bigbinary/neeto-filters-frontend": "4.3.38",
68
+ "@bigbinary/neeto-icons": "1.20.88",
69
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.3",
70
+ "@bigbinary/neeto-molecules": "5.1.5",
71
+ "@bigbinary/neetoui": "8.8.0",
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",
75
75
  "@honeybadger-io/react": "6.1.25",
76
76
  "@monaco-editor/react": "4.6.0",
77
77
  "@rollup/plugin-alias": "5.1.1",
78
- "@rollup/plugin-babel": "6.0.4",
79
- "@rollup/plugin-commonjs": "25.0.7",
78
+ "@rollup/plugin-babel": "6.1.0",
79
+ "@rollup/plugin-commonjs": "25.0.8",
80
80
  "@rollup/plugin-json": "6.1.0",
81
81
  "@rollup/plugin-node-resolve": "15.3.0",
82
82
  "@rollup/plugin-replace": "5.0.4",
@@ -87,12 +87,12 @@
87
87
  "@tanstack/react-query-devtools": "5.59.20",
88
88
  "antd": "5.22.1",
89
89
  "autoprefixer": "^10.4.5",
90
- "axios": "1.13.6",
90
+ "axios": "1.16.0",
91
91
  "babel-loader": "^8.2.5",
92
92
  "babel-plugin-istanbul": "^6.1.1",
93
93
  "babel-plugin-js-logger": "1.0.17",
94
94
  "babel-plugin-macros": "3.1.0",
95
- "babel-plugin-module-resolver": "^5.0.0",
95
+ "babel-plugin-module-resolver": "5.0.3",
96
96
  "babel-plugin-preval": "^5.1.0",
97
97
  "babel-plugin-transform-react-remove-prop-types": "0.4.24",
98
98
  "babel-preset-react": "6.24.1",
@@ -102,7 +102,7 @@
102
102
  "classnames": "2.5.1",
103
103
  "crypto-browserify": "3.12.1",
104
104
  "css-loader": "6.8.1",
105
- "dompurify": "3.3.2",
105
+ "dompurify": "3.4.1",
106
106
  "dotenv-webpack": "^8.0.1",
107
107
  "eslint": "^9.25.1",
108
108
  "eslint-config-prettier": "^10.1.2",
@@ -115,11 +115,12 @@
115
115
  "eslint-plugin-react": "^7.37.5",
116
116
  "eslint-plugin-react-hooks": "^5.2.0",
117
117
  "eslint-plugin-security": "^3.0.1",
118
- "eslint-plugin-sonarjs": "^3.0.2",
118
+ "eslint-plugin-sonarjs": "^4.0.2",
119
119
  "eslint-plugin-unused-imports": "^4.1.4",
120
120
  "eslint-plugin-xss": "^0.1.12",
121
121
  "formik": "2.4.6",
122
122
  "globals": "16.0.0",
123
+ "globby": "^14.1.0",
123
124
  "html-webpack-plugin": "5.5.3",
124
125
  "https-browserify": "1.0.0",
125
126
  "husky": "7.0.4",
@@ -131,7 +132,7 @@
131
132
  "mixpanel-browser": "2.47.0",
132
133
  "os-browserify": "0.3.0",
133
134
  "path-browserify": "^1.0.1",
134
- "postcss": "8.4.49",
135
+ "postcss": "8.5.11",
135
136
  "postcss-import": "^15.0.0",
136
137
  "postcss-loader": "^7.0.1",
137
138
  "postcss-preset-env": "7.8.2",
@@ -152,7 +153,7 @@
152
153
  "rollup-plugin-copy": "3.5.0",
153
154
  "rollup-plugin-peer-deps-external": "2.2.4",
154
155
  "rollup-plugin-styles": "4.0.0",
155
- "sass": "1.89.0",
156
+ "sass": "1.98.0",
156
157
  "sass-loader": "^13.0.2",
157
158
  "source-map-loader": "4.0.1",
158
159
  "stream-browserify": "^3.0.0",
@@ -160,42 +161,42 @@
160
161
  "style-loader": "^3.3.1",
161
162
  "tailwindcss": "^4.1.17",
162
163
  "tty-browserify": "0.0.1",
163
- "url": "^0.11.0",
164
+ "url": "0.11.4",
164
165
  "util": "^0.12.5",
165
166
  "vm-browserify": "1.1.2",
166
167
  "webpack": "5.104.1",
167
168
  "webpack-assets-manifest": "5.1.0",
168
169
  "webpack-cli": "5.1.4",
169
- "webpack-dev-server": "5.2.3",
170
+ "webpack-dev-server": "5.2.4",
170
171
  "yup": "0.32.11",
171
172
  "zustand": "4.4.2"
172
173
  },
173
174
  "peerDependencies": {
174
- "@babel/runtime": "7.28.6",
175
+ "@babel/runtime": "7.29.2",
175
176
  "@bigbinary/neeto-cist": "1.0.17",
176
- "@bigbinary/neeto-commons-frontend": "4.13.114",
177
- "@bigbinary/neeto-filters-frontend": "4.3.32",
178
- "@bigbinary/neeto-icons": "1.20.86",
179
- "@bigbinary/neeto-image-uploader-frontend": "4.0.0",
180
- "@bigbinary/neeto-molecules": "4.1.42",
181
- "@bigbinary/neetoui": "8.4.1",
177
+ "@bigbinary/neeto-commons-frontend": "4.13.127",
178
+ "@bigbinary/neeto-filters-frontend": "4.3.38",
179
+ "@bigbinary/neeto-icons": "1.20.88",
180
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.3",
181
+ "@bigbinary/neeto-molecules": "5.1.5",
182
+ "@bigbinary/neetoui": "8.8.0",
182
183
  "@honeybadger-io/js": "6.10.1",
183
184
  "@honeybadger-io/react": "6.1.25",
184
185
  "@monaco-editor/react": "4.6.0",
185
- "@tailwindcss/container-queries": "^0.1.1",
186
+ "@tailwindcss/container-queries": "0.1.1",
186
187
  "@tanstack/react-query": "5.59.20",
187
188
  "@tanstack/react-query-devtools": "5.59.20",
188
189
  "antd": "5.22.1",
189
- "axios": "1.13.6",
190
+ "axios": "1.16.0",
190
191
  "buffer": "^6.0.3",
191
192
  "classnames": "2.5.1",
192
193
  "crypto-browserify": "3.12.1",
193
- "dompurify": "3.3.2",
194
+ "dompurify": "3.4.1",
194
195
  "formik": "2.4.6",
195
196
  "https-browserify": "1.0.0",
196
197
  "i18next": "22.5.1",
197
198
  "js-logger": "1.6.1",
198
- "mixpanel-browser": "^2.45.0",
199
+ "mixpanel-browser": "2.45.0",
199
200
  "os-browserify": "0.3.0",
200
201
  "path-browserify": "^1.0.1",
201
202
  "qs": "6.15.0",
@@ -209,9 +210,9 @@
209
210
  "source-map-loader": "4.0.1",
210
211
  "stream-browserify": "^3.0.0",
211
212
  "stream-http": "3.2.0",
212
- "tailwindcss": "^4.1.17",
213
+ "tailwindcss": "4.1.17",
213
214
  "tty-browserify": "0.0.1",
214
- "url": "^0.11.0",
215
+ "url": "0.11.4",
215
216
  "util": "^0.12.5",
216
217
  "vm-browserify": "1.1.2",
217
218
  "yup": "0.32.11",
@@ -1 +0,0 @@
1
- {"version":3,"file":"useThemeUtils-BaUtDOWd.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 { 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"],"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"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useThemeUtils-Dc_sN2SE.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 { 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"],"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"],"mappings":"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"}