@bigbinary/neeto-themes-frontend 4.0.17 → 4.0.19

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 +24 -14
  2. package/app/javascript/src/translations/bg.json +24 -14
  3. package/app/javascript/src/translations/ca.json +24 -14
  4. package/app/javascript/src/translations/cs.json +24 -14
  5. package/app/javascript/src/translations/da.json +24 -14
  6. package/app/javascript/src/translations/de.json +24 -14
  7. package/app/javascript/src/translations/en.json +3 -0
  8. package/app/javascript/src/translations/es-MX.json +24 -14
  9. package/app/javascript/src/translations/es.json +24 -14
  10. package/app/javascript/src/translations/et.json +24 -14
  11. package/app/javascript/src/translations/fi.json +24 -14
  12. package/app/javascript/src/translations/fil.json +24 -14
  13. package/app/javascript/src/translations/fr.json +24 -14
  14. package/app/javascript/src/translations/he.json +24 -14
  15. package/app/javascript/src/translations/hi.json +24 -14
  16. package/app/javascript/src/translations/hr.json +24 -14
  17. package/app/javascript/src/translations/hu.json +24 -14
  18. package/app/javascript/src/translations/id.json +24 -14
  19. package/app/javascript/src/translations/it.json +24 -14
  20. package/app/javascript/src/translations/ja.json +24 -14
  21. package/app/javascript/src/translations/ko.json +24 -14
  22. package/app/javascript/src/translations/nl.json +24 -14
  23. package/app/javascript/src/translations/pl.json +24 -14
  24. package/app/javascript/src/translations/pt-BR.json +24 -14
  25. package/app/javascript/src/translations/pt.json +24 -14
  26. package/app/javascript/src/translations/ro.json +24 -14
  27. package/app/javascript/src/translations/ru.json +24 -14
  28. package/app/javascript/src/translations/sk.json +24 -14
  29. package/app/javascript/src/translations/sl.json +24 -14
  30. package/app/javascript/src/translations/sv.json +24 -14
  31. package/app/javascript/src/translations/th.json +24 -14
  32. package/app/javascript/src/translations/tr.json +24 -14
  33. package/app/javascript/src/translations/uk.json +24 -14
  34. package/app/javascript/src/translations/vi.json +24 -14
  35. package/app/javascript/src/translations/zh-CN.json +24 -14
  36. package/app/javascript/src/translations/zh-TW.json +24 -14
  37. package/dist/.ready +1 -1
  38. package/dist/NeetoThemesBuilder.js +28 -17
  39. package/dist/NeetoThemesBuilder.js.map +1 -1
  40. package/dist/cjs/NeetoThemesBuilder.js +27 -16
  41. package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
  42. package/dist/cjs/hooks.js +1 -2
  43. package/dist/cjs/hooks.js.map +1 -1
  44. package/dist/cjs/index.js +2 -3
  45. package/dist/cjs/index.js.map +1 -1
  46. package/dist/hooks.js +1 -2
  47. package/dist/hooks.js.map +1 -1
  48. package/dist/index.js +2 -3
  49. package/dist/index.js.map +1 -1
  50. package/dist/{useExpandedSection-DvbcFXMx.js → useExpandedSection-B6w2AxTV.js} +40 -12
  51. package/dist/useExpandedSection-B6w2AxTV.js.map +1 -0
  52. package/dist/{useExpandedSection-BkPg-7yk.js → useExpandedSection-D9J7nzlC.js} +40 -13
  53. package/dist/useExpandedSection-D9J7nzlC.js.map +1 -0
  54. package/package.json +9 -9
  55. package/dist/useExpandedSection-BkPg-7yk.js.map +0 -1
  56. package/dist/useExpandedSection-DvbcFXMx.js.map +0 -1
package/dist/cjs/hooks.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var useExpandedSection = require('../useExpandedSection-DvbcFXMx.js');
3
+ var useExpandedSection = require('../useExpandedSection-B6w2AxTV.js');
4
4
  require('@babel/runtime/helpers/slicedToArray');
5
5
  require('zustand/shallow');
6
6
  require('react');
@@ -16,7 +16,6 @@ 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');
20
19
 
21
20
 
22
21
 
@@ -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 useExpandedSection = require('../useExpandedSection-DvbcFXMx.js');
4
+ var useExpandedSection = require('../useExpandedSection-B6w2AxTV.js');
5
5
  var utils = require('../index-BP-ka0mC.js');
6
6
  require('zustand/shallow');
7
7
  require('react');
@@ -21,13 +21,13 @@ require('react-router-dom');
21
21
  require('@babel/runtime/helpers/defineProperty');
22
22
  require('@babel/runtime/helpers/objectWithoutProperties');
23
23
  require('@bigbinary/neeto-icons/Close');
24
+ require('ramda');
24
25
  require('@bigbinary/neetoui/Popover');
25
26
  require('@bigbinary/neetoui/Typography');
26
27
  require('@bigbinary/neetoui/Switch');
27
28
  require('@bigbinary/neetoui/Tooltip');
28
29
  require('@bigbinary/neetoui/formik/Form');
29
30
  require('@bigbinary/neetoui/formik/BlockNavigation');
30
- require('ramda');
31
31
  require('formik');
32
32
  require('react/jsx-runtime');
33
33
  require('i18next');
@@ -52,7 +52,6 @@ require('@bigbinary/neeto-molecules/Search');
52
52
  require('@bigbinary/neeto-icons/AddImage');
53
53
  require('@bigbinary/neeto-icons/CodeBlock');
54
54
  require('@bigbinary/neeto-icons/ColorPicker');
55
- require('@bigbinary/neeto-icons/Image');
56
55
  require('@bigbinary/neeto-molecules/MoreDropdown');
57
56
  require('@bigbinary/neeto-icons/LeftArrow');
58
57
  require('@bigbinary/neeto-icons/RightArrow');
@@ -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 { a as useExpandedSection, u as useThemeUtils } from './useExpandedSection-BkPg-7yk.js';
1
+ export { a as useExpandedSection, u as useThemeUtils } from './useExpandedSection-D9J7nzlC.js';
2
2
  import '@babel/runtime/helpers/slicedToArray';
3
3
  import 'zustand/shallow';
4
4
  import 'react';
@@ -14,5 +14,4 @@ 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';
18
17
  //# 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 './useExpandedSection-BkPg-7yk.js';
2
+ export { u as useThemeUtils } from './useExpandedSection-D9J7nzlC.js';
3
3
  export { s as setTheme } from './index-JpAFUrB8.js';
4
4
  import 'zustand/shallow';
5
5
  import 'react';
@@ -19,13 +19,13 @@ import 'react-router-dom';
19
19
  import '@babel/runtime/helpers/defineProperty';
20
20
  import '@babel/runtime/helpers/objectWithoutProperties';
21
21
  import '@bigbinary/neeto-icons/Close';
22
+ import 'ramda';
22
23
  import '@bigbinary/neetoui/Popover';
23
24
  import '@bigbinary/neetoui/Typography';
24
25
  import '@bigbinary/neetoui/Switch';
25
26
  import '@bigbinary/neetoui/Tooltip';
26
27
  import '@bigbinary/neetoui/formik/Form';
27
28
  import '@bigbinary/neetoui/formik/BlockNavigation';
28
- import 'ramda';
29
29
  import 'formik';
30
30
  import 'react/jsx-runtime';
31
31
  import 'i18next';
@@ -50,7 +50,6 @@ import '@bigbinary/neeto-molecules/Search';
50
50
  import '@bigbinary/neeto-icons/AddImage';
51
51
  import '@bigbinary/neeto-icons/CodeBlock';
52
52
  import '@bigbinary/neeto-icons/ColorPicker';
53
- import '@bigbinary/neeto-icons/Image';
54
53
  import '@bigbinary/neeto-molecules/MoreDropdown';
55
54
  import '@bigbinary/neeto-icons/LeftArrow';
56
55
  import '@bigbinary/neeto-icons/RightArrow';
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -11,7 +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
+ var neetoCist = require('@bigbinary/neeto-cist');
15
15
 
16
16
  function _interopNamespaceDefault(e) {
17
17
  var n = Object.create(null);
@@ -254,23 +254,50 @@ var useThemeUtils = function useThemeUtils() {
254
254
  var APPLY_SPINNER_DELAY = 900;
255
255
  var DEFAULT_OPEN_SECTION = "style";
256
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
- });
257
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
258
+ var useExpandedSectionStore = zustand.create(reactUtils.withImmutableActions(function (set) {
259
+ return {
260
+ expandedSection: DEFAULT_OPEN_SECTION,
261
+ setExpandedSection: function setExpandedSection(section) {
262
+ return set({
263
+ expandedSection: section !== null && section !== void 0 ? section : ""
264
+ });
265
+ }
267
266
  };
267
+ }));
268
+ var useExpandedSection = function useExpandedSection() {
269
+ var _useExpandedSectionSt = useExpandedSectionStore(function (store) {
270
+ return {
271
+ expandedSection: store["expandedSection"],
272
+ setExpandedSection: store["setExpandedSection"]
273
+ };
274
+ }, shallow.shallow),
275
+ expandedSection = _useExpandedSectionSt.expandedSection,
276
+ setExpandedSection = _useExpandedSectionSt.setExpandedSection;
268
277
  return {
269
278
  expandedSection: expandedSection,
270
279
  setExpandedSection: setExpandedSection
271
280
  };
272
281
  };
273
282
 
283
+ // Toggles call `setExpandedSection` directly on the store rather than
284
+ // updating the URL, so opening another accordion inside a dirty form does
285
+ // not trigger `BlockNavigation`. The `?section=` query param is still
286
+ // honored as a deep-link via the effect below.
287
+ var useSyncExpandedSectionFromUrl = function useSyncExpandedSectionFromUrl() {
288
+ var queryParams = reactUtils.useQueryParams();
289
+ var _useExpandedSectionSt2 = useExpandedSectionStore(function (store) {
290
+ return {
291
+ setExpandedSection: store["setExpandedSection"]
292
+ };
293
+ }, shallow.shallow),
294
+ setExpandedSection = _useExpandedSectionSt2.setExpandedSection;
295
+ var urlSection = queryParams.section;
296
+ react.useEffect(function () {
297
+ if (neetoCist.isPresent(urlSection)) setExpandedSection(urlSection);
298
+ }, [urlSection, setExpandedSection]);
299
+ };
300
+
274
301
  exports.APPLY_SPINNER_DELAY = APPLY_SPINNER_DELAY;
275
302
  exports.FONT_OPTIONS = FONT_OPTIONS;
276
303
  exports.HUNDRED = HUNDRED;
@@ -280,6 +307,7 @@ exports.QUERY_KEYS = QUERY_KEYS;
280
307
  exports.THEME_VALIDATION_SCHEMA = THEME_VALIDATION_SCHEMA;
281
308
  exports.useConfigStore = useConfigStore;
282
309
  exports.useExpandedSection = useExpandedSection;
310
+ exports.useSyncExpandedSectionFromUrl = useSyncExpandedSectionFromUrl;
283
311
  exports.useThemeStore = useThemeStore;
284
312
  exports.useThemeUtils = useThemeUtils;
285
- //# sourceMappingURL=useExpandedSection-DvbcFXMx.js.map
313
+ //# sourceMappingURL=useExpandedSection-B6w2AxTV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedSection-B6w2AxTV.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;EACxDC,IAAI,EAAEH,cAAG,CACNI,MAAM,EAAE,CACRC,QAAQ,CAAC,YAAA;IAAA,OAAMC,MAAC,CAAC,sCAAsC,CAAC;EAAA,CAAA,CAAC;AAC5DC,EAAAA,UAAU,EAAEP,cAAG,CAACQ,KAAK,EAAE,CAACC,EAAE,CACxBT,cAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACjBQ,IAAAA,GAAG,EAAEV,cAAG,CAACI,MAAM,EAAE;IACjBP,KAAK,EAAEG,cAAG,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,MAAC,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,cAAM,CAC3BC,+BAAoB,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,mBAAa,CAAC;AAAEL,QAAAA,kBAAkB,EAAEI;AAAQ,OAAC,CAAC,CAAC;AAAA,IAAA;GACtD;AAAA,CAAC,CACJ;;ACpBA;AACA,IAAME,aAAa,GAAGhB,cAAM,CAC1BC,+BAAoB,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,cAAQ,mBAAgB,CAAC;AAAA,CAAA;AAEzD,IAAMC,UAAU,GAAG;AAAEL,EAAAA,IAAI,EAAJA;AAAK,CAAC;;ACDpB,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,GAAA;AAAA,EAAA,OACxBC,mBAAQ,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,cAAQ,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,UAAI,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,eAAA,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,eAAS,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,eAAS,CAAC,YAAA;AAAA,IAAA,OAAM3C,cAAc,CAAC;AAAEJ,MAAAA,gBAAgB,EAAhBA;AAAiB,KAAC,CAAC;EAAA,CAAA,EAAE,CAACA,gBAAgB,CAAC,CAAC;AAEzE+C,EAAAA,eAAS,CAAC,YAAM;AACd,IAAA,IAAIC,WAAK,CAACpB,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAA,MAAA,GAAA,MAAA,GAAhBA,gBAAgB,CAAEa,KAAK,CAAC,IAAIzC,gBAAgB,EAAE;IAExDiD,cAAY,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,WAAW,GAAG,SAAdA,WAAWA,CAAI/E,IAAI,EAAEN,KAAK,EAAA;AAAA,IAAA,OAC9BsF,iBAAe,CAAChF,IAAI,EAAEN,KAAK,EAAEiC,gBAAgB,CAAC;AAAA,EAAA,CAAA;EAEhD,OAAO;AACLsD,IAAAA,QAAQ,EAAEZ,cAAc;AACxBU,IAAAA,WAAW,EAAXA,WAAW;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;;ACI3C;AACA,IAAMC,uBAAuB,GAAG/D,cAAM,CACpCC,+BAAoB,CAAC,UAAAC,GAAG,EAAA;EAAA,OAAK;AAC3B8D,IAAAA,eAAe,EAAEF,oBAAoB;AACrCG,IAAAA,kBAAkB,EAAE,SAApBA,kBAAkBA,CAAEC,OAAO,EAAA;AAAA,MAAA,OAAIhE,GAAG,CAAC;AAAE8D,QAAAA,eAAe,EAAEE,OAAO,KAAA,IAAA,IAAPA,OAAO,KAAA,MAAA,GAAPA,OAAO,GAAI;AAAG,OAAC,CAAC;AAAA,IAAA;GACvE;AAAA,CAAC,CACJ,CAAC;AAED,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,GAAS;AAC/B,EAAA,IAAAC,qBAAA,GAAAL,uBAAA,CAAA,UAAAvB,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQwB,QAAAA,eAAe,EAAAxB,KAAA,CAAA,iBAAA,CAAA;AAAEyB,QAAAA,kBAAkB,EAAAzB,KAAA,CAAA,oBAAA;AAAA,OAAA;AAAA,IAAA,CAAA,EAAAC,eAAA,CAAA;IAAnCuB,eAAe,GAAAI,qBAAA,CAAfJ,eAAe;IAAEC,kBAAkB,GAAAG,qBAAA,CAAlBH,kBAAkB;EAG3C,OAAO;AAAED,IAAAA,eAAe,EAAfA,eAAe;AAAEC,IAAAA,kBAAkB,EAAlBA;GAAoB;AAChD;;AAEA;AACA;AACA;AACA;AACA,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,GAAS;AAC1C,EAAA,IAAMC,WAAW,GAAGC,yBAAc,EAAE;AACpC,EAAA,IAAAC,sBAAA,GAAAT,uBAAA,CAAA,UAAAvB,KAAA,EAAA;AAAA,MAAA,OAAA;AAAQyB,QAAAA,kBAAkB,EAAAzB,KAAA,CAAA,oBAAA;AAAA,OAAA;AAAA,IAAA,CAAA,EAAAC,eAAA,CAAA;IAAlBwB,kBAAkB,GAAAO,sBAAA,CAAlBP,kBAAkB;AAC1B,EAAA,IAAMQ,UAAU,GAAGH,WAAW,CAACJ,OAAO;AAEtCX,EAAAA,eAAS,CAAC,YAAM;IACd,IAAImB,mBAAS,CAACD,UAAU,CAAC,EAAER,kBAAkB,CAACQ,UAAU,CAAC;AAC3D,EAAA,CAAC,EAAE,CAACA,UAAU,EAAER,kBAAkB,CAAC,CAAC;AACtC;;;;;;;;;;;;;;;"}
@@ -9,7 +9,7 @@ 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
+ import { isPresent } from '@bigbinary/neeto-cist';
13
13
 
14
14
  var QUERY_KEYS = {
15
15
  THEMES_LIST: "themes-list",
@@ -233,22 +233,49 @@ var useThemeUtils = function useThemeUtils() {
233
233
  var APPLY_SPINNER_DELAY = 900;
234
234
  var DEFAULT_OPEN_SECTION = "style";
235
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
- });
236
+ /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
237
+ var useExpandedSectionStore = create(withImmutableActions(function (set) {
238
+ return {
239
+ expandedSection: DEFAULT_OPEN_SECTION,
240
+ setExpandedSection: function setExpandedSection(section) {
241
+ return set({
242
+ expandedSection: section !== null && section !== void 0 ? section : ""
243
+ });
244
+ }
246
245
  };
246
+ }));
247
+ var useExpandedSection = function useExpandedSection() {
248
+ var _useExpandedSectionSt = useExpandedSectionStore(function (store) {
249
+ return {
250
+ expandedSection: store["expandedSection"],
251
+ setExpandedSection: store["setExpandedSection"]
252
+ };
253
+ }, shallow),
254
+ expandedSection = _useExpandedSectionSt.expandedSection,
255
+ setExpandedSection = _useExpandedSectionSt.setExpandedSection;
247
256
  return {
248
257
  expandedSection: expandedSection,
249
258
  setExpandedSection: setExpandedSection
250
259
  };
251
260
  };
252
261
 
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
262
+ // Toggles call `setExpandedSection` directly on the store rather than
263
+ // updating the URL, so opening another accordion inside a dirty form does
264
+ // not trigger `BlockNavigation`. The `?section=` query param is still
265
+ // honored as a deep-link via the effect below.
266
+ var useSyncExpandedSectionFromUrl = function useSyncExpandedSectionFromUrl() {
267
+ var queryParams = useQueryParams();
268
+ var _useExpandedSectionSt2 = useExpandedSectionStore(function (store) {
269
+ return {
270
+ setExpandedSection: store["setExpandedSection"]
271
+ };
272
+ }, shallow),
273
+ setExpandedSection = _useExpandedSectionSt2.setExpandedSection;
274
+ var urlSection = queryParams.section;
275
+ useEffect(function () {
276
+ if (isPresent(urlSection)) setExpandedSection(urlSection);
277
+ }, [urlSection, setExpandedSection]);
278
+ };
279
+
280
+ export { APPLY_SPINNER_DELAY as A, FONT_OPTIONS as F, HUNDRED as H, OVERLAY_OPACITY_SLIDER_MARKS as O, POSITION_OPTIONS as P, QUERY_KEYS as Q, THEME_VALIDATION_SCHEMA as T, useExpandedSection as a, useConfigStore as b, useThemeStore as c, useSyncExpandedSectionFromUrl as d, useThemeUtils as u };
281
+ //# sourceMappingURL=useExpandedSection-D9J7nzlC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedSection-D9J7nzlC.js","sources":["../app/javascript/src/constants/query.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../app/javascript/src/stores/useConfigStore.js","../app/javascript/src/stores/useThemeStore.js","../app/javascript/src/apis/schemas.js","../app/javascript/src/hooks/reactQuery/useSchemasApi.js","../app/javascript/src/hooks/useThemeUtils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/constants.js","../app/javascript/src/hooks/useExpandedSection.js"],"sourcesContent":["export const QUERY_KEYS = {\n THEMES_LIST: \"themes-list\",\n THEME_DETAILS: \"theme-details\",\n SCHEMA_DETAILS: \"schema-details\",\n THEME_ENTITY_DETAILS: \"theme-entity-details\",\n GLOBAL_THEME_DETAILS: \"global-theme-details\",\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup\n .string()\n .required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { create } from \"zustand\";\n\nimport { ACCORDION_OPEN_STATE } from \"components/NeetoThemesBuilder/Sidebar/Customize/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useConfigStore = create(\n withImmutableActions(set => ({\n themePropertiesSchema: [],\n entityType: \"\",\n entityId: \"\",\n variableNamesMap: {},\n defaultThemeName: \"Plain blue\",\n isFetchingSchema: true,\n isTemplateThemesEnabled: false,\n accordionOpenState: ACCORDION_OPEN_STATE,\n helpPopoverProps: {},\n\n setConfigState: set,\n setAccordionOpenState: payload =>\n set(mergeDeepLeft({ accordionOpenState: payload })),\n }))\n);\n\nexport default useConfigStore;\n","import { withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useThemeStore = create(\n withImmutableActions(set => ({\n currentTheme: {},\n isCurrentThemeLoading: true,\n previewingTheme: {},\n\n setThemeState: set,\n }))\n);\n\nexport default useThemeStore;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = () => axios.get(`${BASE_URL}/api/v1/schema`);\n\nconst schemasApi = { list };\n\nexport default schemasApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport schemasApi from \"apis/schemas\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useListSchema = () =>\n useQuery({\n queryKey: [QUERY_KEYS.SCHEMA_DETAILS],\n queryFn: schemasApi.list,\n });\n","import { useEffect, useState } from \"react\";\n\nimport { isNil, prop } from \"ramda\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport {\n setVariable as setVariableUtil,\n setTheme as setThemeUtil,\n} from \"utils\";\n\nimport { useListSchema } from \"./reactQuery/useSchemasApi\";\n\nconst useThemeUtils = () => {\n const [themeToBeApplied, setThemeToBeApplied] = useState(null);\n const setConfigState = useConfigStore(prop(\"setConfigState\"));\n const { previewingTheme, currentTheme } = useThemeStore.pick();\n\n const { isLoading: isFetchingSchema, data } = useListSchema();\n\n const { schema: themePropertiesSchema = [], variableNamesMap = {} } =\n data || {};\n\n const handleSetTheme = (theme, enabledFeatures = { customCSS: true }) => {\n setThemeToBeApplied({ theme, enabledFeatures });\n };\n\n useEffect(() => {\n if (data) {\n setConfigState({\n themePropertiesSchema: data?.schema,\n variableNamesMap: data?.variableNamesMap,\n defaultThemeName: data?.defaultThemeName,\n });\n }\n }, [data]);\n\n useEffect(() => setConfigState({ isFetchingSchema }), [isFetchingSchema]);\n\n useEffect(() => {\n if (isNil(themeToBeApplied?.theme) || isFetchingSchema) return;\n\n setThemeUtil(\n themeToBeApplied?.theme,\n variableNamesMap,\n themePropertiesSchema,\n themeToBeApplied?.enabledFeatures\n );\n }, [themeToBeApplied?.theme, isFetchingSchema]);\n\n const setVariable = (name, value) =>\n setVariableUtil(name, value, variableNamesMap);\n\n return {\n setTheme: handleSetTheme,\n setVariable,\n previewingTheme,\n currentTheme,\n isFetchingSchema,\n };\n};\n\nexport default useThemeUtils;\n","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { useEffect } from \"react\";\n\nimport { isPresent } from \"neetocist\";\nimport { useQueryParams, withImmutableActions } from \"neetocommons/react-utils\";\nimport { create } from \"zustand\";\n\nimport { DEFAULT_OPEN_SECTION } from \"components/NeetoThemesBuilder/Sidebar/constants\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useExpandedSectionStore = create(\n withImmutableActions(set => ({\n expandedSection: DEFAULT_OPEN_SECTION,\n setExpandedSection: section => set({ expandedSection: section ?? \"\" }),\n }))\n);\n\nconst useExpandedSection = () => {\n const { expandedSection, setExpandedSection } =\n useExpandedSectionStore.pick();\n\n return { expandedSection, setExpandedSection };\n};\n\n// Toggles call `setExpandedSection` directly on the store rather than\n// updating the URL, so opening another accordion inside a dirty form does\n// not trigger `BlockNavigation`. The `?section=` query param is still\n// honored as a deep-link via the effect below.\nconst useSyncExpandedSectionFromUrl = () => {\n const queryParams = useQueryParams();\n const { setExpandedSection } = useExpandedSectionStore.pick();\n const urlSection = queryParams.section;\n\n useEffect(() => {\n if (isPresent(urlSection)) setExpandedSection(urlSection);\n }, [urlSection, setExpandedSection]);\n};\n\nexport { useExpandedSectionStore, useSyncExpandedSectionFromUrl };\nexport default useExpandedSection;\n"],"names":["QUERY_KEYS","THEMES_LIST","THEME_DETAILS","SCHEMA_DETAILS","THEME_ENTITY_DETAILS","GLOBAL_THEME_DETAILS","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","endsWith","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","ACCORDION_OPEN_STATE","style","images","customcss","useConfigStore","create","withImmutableActions","set","themePropertiesSchema","entityType","entityId","variableNamesMap","defaultThemeName","isFetchingSchema","isTemplateThemesEnabled","accordionOpenState","helpPopoverProps","setConfigState","setAccordionOpenState","payload","mergeDeepLeft","useThemeStore","currentTheme","isCurrentThemeLoading","previewingTheme","setThemeState","list","axios","get","concat","BASE_URL","schemasApi","useListSchema","useQuery","queryKey","queryFn","useThemeUtils","_useState","useState","_useState2","_slicedToArray","themeToBeApplied","setThemeToBeApplied","prop","_useThemeStore","store","shallow","_useListSchema","isLoading","data","_ref","_ref$schema","_ref$variableNamesMap","handleSetTheme","theme","enabledFeatures","arguments","length","undefined","customCSS","useEffect","isNil","setThemeUtil","setVariable","setVariableUtil","setTheme","APPLY_SPINNER_DELAY","DEFAULT_OPEN_SECTION","useExpandedSectionStore","expandedSection","setExpandedSection","section","useExpandedSection","_useExpandedSectionSt","useSyncExpandedSectionFromUrl","queryParams","useQueryParams","_useExpandedSectionSt2","urlSection","isPresent"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-themes-frontend",
3
- "version": "4.0.17",
3
+ "version": "4.0.19",
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",
@@ -65,10 +65,10 @@
65
65
  "@bigbinary/neeto-cist": "1.0.17",
66
66
  "@bigbinary/neeto-commons-frontend": "4.13.127",
67
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",
68
+ "@bigbinary/neeto-icons": "1.20.89",
69
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.6",
70
+ "@bigbinary/neeto-molecules": "5.1.11",
71
+ "@bigbinary/neetoui": "8.8.1",
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",
@@ -176,10 +176,10 @@
176
176
  "@bigbinary/neeto-cist": "1.0.17",
177
177
  "@bigbinary/neeto-commons-frontend": "4.13.127",
178
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",
179
+ "@bigbinary/neeto-icons": "1.20.89",
180
+ "@bigbinary/neeto-image-uploader-frontend": "4.0.6",
181
+ "@bigbinary/neeto-molecules": "5.1.11",
182
+ "@bigbinary/neetoui": "8.8.1",
183
183
  "@honeybadger-io/js": "6.10.1",
184
184
  "@honeybadger-io/react": "6.1.25",
185
185
  "@monaco-editor/react": "4.6.0",
@@ -1 +0,0 @@
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":"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"}
@@ -1 +0,0 @@
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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"}