@bigbinary/neeto-themes-frontend 3.1.20 → 3.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/app/javascript/src/translations/ar.json +135 -0
- package/app/javascript/src/translations/bg.json +135 -0
- package/app/javascript/src/translations/ca.json +135 -0
- package/app/javascript/src/translations/cs.json +135 -0
- package/app/javascript/src/translations/da.json +135 -0
- package/app/javascript/src/translations/es-MX.json +135 -0
- package/app/javascript/src/translations/et.json +135 -0
- package/app/javascript/src/translations/fi.json +135 -0
- package/app/javascript/src/translations/fil.json +135 -0
- package/app/javascript/src/translations/hr.json +135 -0
- package/app/javascript/src/translations/id.json +135 -0
- package/app/javascript/src/translations/it.json +135 -0
- package/app/javascript/src/translations/ja.json +135 -0
- package/app/javascript/src/translations/ko.json +135 -0
- package/app/javascript/src/translations/nl.json +135 -0
- package/app/javascript/src/translations/pl.json +135 -0
- package/app/javascript/src/translations/pt-BR.json +135 -0
- package/app/javascript/src/translations/pt.json +135 -0
- package/app/javascript/src/translations/ro.json +135 -0
- package/app/javascript/src/translations/ru.json +135 -0
- package/app/javascript/src/translations/sk.json +135 -0
- package/app/javascript/src/translations/sl.json +135 -0
- package/app/javascript/src/translations/sv.json +135 -0
- package/app/javascript/src/translations/th.json +135 -0
- package/app/javascript/src/translations/tr.json +135 -0
- package/app/javascript/src/translations/uk.json +135 -0
- package/app/javascript/src/translations/vi.json +135 -0
- package/app/javascript/src/translations/zh-CN.json +135 -0
- package/app/javascript/src/translations/zh-TW.json +135 -0
- package/dist/NeetoThemesBuilder.js +22 -8
- package/dist/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/NeetoThemesBuilder.js +22 -8
- package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/apis/entities.js","../app/javascript/src/hooks/reactQuery/useEntitiesApi.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/apis/themes.js","../app/javascript/src/hooks/reactQuery/useThemesApi.js","../app/javascript/src/routes.js","../app/javascript/src/apis/global_themes.js","../app/javascript/src/hooks/reactQuery/useGlobalThemesApi.js","../app/javascript/src/components/NeetoThemesBuilder/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Editor.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityId => axios.get(`${BASE_URL}/api/v1/entities/${entityId}`);\n\nconst entitiesApi = { show };\n\nexport default entitiesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport entitiesApi from \"apis/entities\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowThemeEntity = entityId =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_ENTITY_DETAILS, entityId],\n queryFn: () => entitiesApi.show(entityId),\n enabled: !!entityId,\n });\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = entityId =>\n axios.get(`${BASE_URL}/api/v1/themes`, { params: { entity_id: entityId } });\n\nconst show = id => axios.get(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/themes`, { theme: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/themes/${id}`, { theme: payload });\n\nconst destroy = id => axios.delete(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst clone = id => axios.post(`${BASE_URL}/api/v1/themes/${id}/clone`);\n\nconst apply = ({ themeId, ...payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply`, { entity: payload });\n\nconst applyGlobalTheme = ({ themeId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply_global_theme`, {\n theme: payload,\n });\n\nconst themesApi = {\n list,\n show,\n create,\n update,\n destroy,\n clone,\n apply,\n applyGlobalTheme,\n};\n\nexport default themesApi;\n","import { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport themesApi from \"apis/themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nexport const useListThemes = entityId => {\n const { isTemplateThemesEnabled } = useConfigStore.pick();\n\n const queryKey = isTemplateThemesEnabled\n ? [QUERY_KEYS.THEMES_LIST, entityId]\n : [QUERY_KEYS.THEMES_LIST];\n\n return useQuery({\n queryKey,\n queryFn: () => themesApi.list(entityId),\n });\n};\n\nexport const useFetchTheme = (themeId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_DETAILS, themeId],\n queryFn: () => themesApi.show(themeId),\n ...options,\n });\n\nexport const useCreateTheme = () =>\n useMutationWithInvalidation(themesApi.create, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n });\n\nexport const useUpdateTheme = themeId => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(\n payload => themesApi.update({ id: themeId, payload }),\n {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.THEME_DETAILS, themeId],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n onSuccess: ({ theme }) => {\n queryClient.setQueryData([QUERY_KEYS.THEME_DETAILS, themeId], theme);\n },\n }\n );\n};\n\nexport const useDeleteTheme = () =>\n useMutationWithInvalidation(themesApi.destroy, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n\nexport const useCloneTheme = () =>\n useMutationWithInvalidation(themesApi.clone, {\n keysToInvalidate: [QUERY_KEYS.THEMES_LIST],\n });\n\nexport const useApplyTheme = ({ onSuccess }) =>\n useMutationWithInvalidation(themesApi.apply, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n onSuccess,\n });\n\nexport const useApplyGlobalTheme = () =>\n useMutationWithInvalidation(themesApi.applyGlobalTheme, {\n keysToInvalidate: [\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n","const routes = {\n themes: {\n index: \"/themes\",\n edit: \"/themes/:themeId/edit\",\n new: \"/themes/new\",\n },\n};\nexport default routes;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityType =>\n axios.get(`${BASE_URL}/api/v1/global_theme`, {\n params: { entity_type: entityType },\n });\n\nconst globalThemesApi = { show };\nexport default globalThemesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport globalThemesApi from \"apis/global_themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowGlobalTheme = entityType =>\n useQuery({\n queryKey: [QUERY_KEYS.GLOBAL_THEME_DETAILS, entityType],\n queryFn: () => globalThemesApi.show(entityType),\n enabled: !!entityType,\n });\n","export const DESIGN_SCREENS = {\n THEMES: \"Themes\",\n Customize: \"Customize\",\n CustomCSS: \"CustomCSS\",\n};\n\nexport const ONE_MEGABYTE = 1;\n","import { lazy, Suspense } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Spinner } from \"neetoui\";\n\nconst MonacoEditor = lazy(() => import(\"@monaco-editor/react\"));\n\nconst Editor = ({ value, isCustomCssScreen, onChange }) => (\n <Suspense fallback={<Spinner />}>\n <MonacoEditor\n {...{ onChange, value }}\n language=\"css\"\n theme=\"vs-dark\"\n className={classNames({\n rounded: true,\n \"css-editor-height__expanded\": isCustomCssScreen,\n \"css-editor-height__regular\": !isCustomCssScreen,\n })}\n options={{\n scrollBeyondLastLine: false,\n minimap: { enabled: false },\n }}\n />\n </Suspense>\n);\n\nexport default Editor;\n","import classnames from \"classnames\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Right } from \"neetoicons\";\nimport HelpPopver from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Card = ({ title = \"\", children, name, className, helpPopoverProps }) => {\n const { accordionOpenState, setAccordionOpenState } = useConfigStore.pick();\n\n return (\n <div\n data-cy={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section neeto-ui-border-gray-200 border-b pt-2 transition-all duration-300 last:border-none\",\n className,\n {\n \"pb-2\": !accordionOpenState[name],\n \"pb-3\": accordionOpenState[name],\n }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={() =>\n setAccordionOpenState({\n ...accordionOpenState,\n [name]: !accordionOpenState[name],\n })\n }\n >\n <Typography\n className=\"flex min-w-0 flex-grow items-center gap-2 text-left\"\n component=\"span\"\n data-cy=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n {isPresent(helpPopoverProps) && (\n <HelpPopver {...helpPopoverProps} />\n )}\n </Typography>\n <Right\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-90\": accordionOpenState[name],\n })}\n />\n </button>\n )}\n {children && (\n <div\n className={classnames(\n \"neeto-themes-nano-section__content w-full space-y-3 overflow-hidden px-1 transition-all duration-300\",\n {\n \"neeto-themes-nano-section__content--closed\":\n !accordionOpenState[name],\n \"neeto-themes-nano-section__content--open pb-1\":\n accordionOpenState[name],\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nexport const isScreenCustomCSS = screen => screen === DESIGN_SCREENS.CustomCSS;\n\nexport const buildPathname = route => {\n let pathname = \"\";\n for (const segment of location.pathname.split(\"/\")) {\n if (isEmpty(segment)) {\n continue;\n }\n\n if (segment === \"themes\") {\n break;\n }\n pathname += `/${segment}`;\n }\n\n return `${pathname}${route}`;\n};\n","import { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\n\nimport Editor from \"./Editor\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS } from \"../utils\";\n\nconst CustomCSS = ({ onEditCSSClick, currentScreen }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n const { themePropertiesSchema, accordionOpenState, helpPopoverProps } =\n useConfigStore.pick();\n const { customCss: customCssHelpPopoverProps = {} } = helpPopoverProps;\n\n const customCSS = findBy({ kind: \"custom_css\" }, values.properties);\n\n if (!customCSS) return null;\n\n const parentElementClass = findBy(\n { kind: \"custom_css\" },\n themePropertiesSchema\n ).parentClass;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleEditorToggle = () => {\n if (!isCustomCssScreen) return onEditCSSClick(DESIGN_SCREENS.CustomCSS);\n onEditCSSClick(DESIGN_SCREENS.Customize);\n\n return setTimeout(() => {\n scrollElementIntoView(\"css-editor\");\n }, 400);\n };\n\n const handleChange = value => {\n const index = findIndexBy({ key: customCSS.key }, values.properties);\n\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n setCustomCSS({\n css: value,\n elementId: customCSS.key,\n parentElementClass,\n });\n }\n };\n\n return (\n <div className=\"neeto-themes-sidebar__custom-css-wrapper\" id=\"css-editor\">\n <Card\n helpPopoverProps={customCssHelpPopoverProps}\n name=\"customcss\"\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n <div className=\"w-full\">\n <div className=\"neeto-themes-sidebar__custom-css-editor-header w-full justify-end gap-1 rounded-b-none p-2\">\n <Button\n size=\"small\"\n style=\"secondary\"\n label={\n isCustomCssScreen\n ? t(\"neetoThemes.buttons.minimizeEditor\")\n : t(\"neetoThemes.buttons.expandEditor\")\n }\n onClick={handleEditorToggle}\n />\n </div>\n {accordionOpenState.customcss && (\n <Editor\n {...{ isCustomCssScreen }}\n value={customCSS.value}\n onChange={handleChange}\n />\n )}\n </div>\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { t } from \"i18next\";\nimport {\n findBy,\n isNot,\n filterBy,\n isPresent,\n snakeToCamelCase,\n isNotPresent,\n} from \"neetocist\";\n\nexport const generateRandomColor = () => {\n const letters = \"0123456789ABCDEF\";\n let color = \"#\";\n for (let i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n\n return color;\n};\n\nexport const buildInitialValues = (theme, themePropertiesSchema) => {\n if (isPresent(theme)) return theme;\n\n return {\n name: t(\"neetoThemes.build.leftSideBar.themes.createTheme.newThemeName\"),\n properties: themePropertiesSchema\n .map(({ key, kind, defaultValue, order = null, dependsOn }) => {\n switch (kind) {\n case \"color\":\n return {\n value: defaultValue,\n kind: \"color\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"font_family\":\n return {\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n kind: \"font_family\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"overlay_opacity\":\n return {\n value: 0,\n kind: \"overlay_opacity\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"slider\":\n return {\n value: 0,\n kind: \"slider\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"radius\":\n return {\n value: defaultValue,\n kind: \"radius\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"boolean\":\n return {\n value: String(defaultValue),\n kind: \"boolean\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"order_selector\":\n return {\n value: defaultValue,\n kind: \"order_selector\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"alignment_block\":\n return {\n value: defaultValue,\n kind: \"alignment_block\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"custom_css\":\n return {\n value: defaultValue,\n kind: \"custom_css\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n default:\n return null;\n }\n })\n .filter(isNot(null)),\n };\n};\n\nexport const buildImageData = (values, themePropertiesSchema) =>\n filterBy({ kind: \"image\" }, themePropertiesSchema).reduce((acc, item) => {\n const signedId = values[snakeToCamelCase(item.key)]?.signedId;\n acc[item.key] = signedId;\n\n return acc;\n }, {});\n\nexport const isPropertyVisible = (key, formikValues, themePropertiesSchema) => {\n const property = findBy({ key }, themePropertiesSchema);\n\n if (isNotPresent(property)) return false;\n\n if (property?.hidden) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy(\n { key: conditionalKey },\n themePropertiesSchema\n );\n\n const dependentProperty = findBy(\n { key: conditionalKey },\n formikValues.properties\n );\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(formikValues[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const buildLabel = (key, kind) =>\n t(\n `neetoThemes.properties.${snakeToCamelCase(kind)}.${snakeToCamelCase(key)}`\n );\n\nexport const buildProperties = (values, condition, themePropertiesSchema) => {\n values.forEach(value => {\n themePropertiesSchema.forEach(theme => {\n if (!(value.key === theme.key)) return;\n value.dependsOn = theme.dependsOn;\n });\n });\n\n if (condition) {\n return filterBy({ dependsOn: condition }, values);\n }\n\n const imageKeys = new Set();\n filterBy({ kind: \"image\" }, themePropertiesSchema).forEach(ele =>\n imageKeys.add(ele.key)\n );\n\n return values?.filter(({ dependsOn }) => !imageKeys.has(dependsOn));\n};\n","import classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { CenterAlign, LeftAlign } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst AlignmentBlock = ({ label, name }) => (\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy={joinHyphenCase(label)}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"neeto-ui-border-gray-300 neeto-themes-nano-alignment-block flex items-center border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-cy=\"alignment-left\"\n size=\"medium\"\n style={value === \"left\" ? \"primary\" : \"text\"}\n icon={() => (\n <LeftAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"left\",\n \"neeto-ui-text-gray-600\": value !== \"left\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Left align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"left\")}\n />\n <div className=\"neeto-themes-nano-alignment-divider\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-cy=\"alignment-center\"\n size=\"medium\"\n style={value === \"center\" ? \"primary\" : \"text\"}\n icon={() => (\n <CenterAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"center\",\n \"neeto-ui-text-gray-600\": value !== \"center\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Center align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"center\")}\n />\n </div>\n )}\n </Field>\n </div>\n);\n\nexport default AlignmentBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { ColorPicker, Typography } from \"neetoui\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst FontPickerBlock = ({\n label,\n placeholder = \"\",\n value,\n options,\n onChange,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n menuPosition=\"fixed\"\n styles={{\n option: (styles, { data }) => ({\n ...styles,\n fontFamily: data.value,\n }),\n }}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select {...{ onChange, options, placeholder, value }} />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Slider } from \"antd\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nconst SliderBlock = ({ label, onChange, value, min, max, marks }) => (\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Slider\n {...{ marks, max, min, onChange, value }}\n className=\"my-2 w-20\"\n tooltip={{ formatter: null }}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography, Switch } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, ...switchProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n return (\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-cy=\"style-fields-labels\"\n style=\"body2\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Typography>\n {doesHelpTextExist && (\n <HelpPopover\n className=\"flex-shrink-0\"\n description={t(translationKey)}\n />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-cy=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport {\n toLabelAndValue,\n snakeToCamelCase,\n findIndexBy,\n findBy,\n} from \"neetocist\";\nimport { negate } from \"ramda\";\n\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport {\n OVERLAY_OPACITY_SLIDER_MARKS,\n FONT_OPTIONS,\n HUNDRED,\n POSITION_OPTIONS,\n} from \"./constants\";\nimport { buildLabel, buildProperties, isPropertyVisible } from \"./utils\";\n\nimport AlignmentBlock from \"../commons/AlignmentBlock\";\nimport ColorBlock from \"../commons/ColorBlock\";\nimport FontPickerBlock from \"../commons/FontPickerBlock\";\nimport SelectBlock from \"../commons/SelectBlock\";\nimport SliderBlock from \"../commons/SliderBlock\";\nimport SwitchBlock from \"../commons/SwitchBlock\";\n\nconst Properties = ({ onPropertiesChange, condition }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n if (name === \"background_color\") {\n const isDominantBackgroundColorEnabled =\n findBy(\n { key: \"is_dominant_background_color_enabled\" },\n values.properties\n )?.value === \"true\";\n\n const hasImageWithDominantColor =\n values?.backgroundImage?.dominantColor;\n\n if (isDominantBackgroundColorEnabled && hasImageWithDominantColor) {\n return;\n }\n }\n\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"font_family\":\n return (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={findBy({ value: value || null }, FONT_OPTIONS)}\n onChange={({ value }) => handleChange(key, value)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toLabelAndValue);\n\n return (\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toLabelAndValue(value)}\n onChange={option =>\n setFieldValue(`properties[${index}].value`, option.value)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <SwitchBlock\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onChange={e =>\n setFieldValue(\n `properties[${index}].value`,\n String(e.target.checked)\n )\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <AlignmentBlock\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n />\n );\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n};\n\nexport default Properties;\n","import { ImageUploader } from \"@bigbinary/neeto-image-uploader-frontend\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, toLabelAndValue, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Toastr, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDominantColorFromUrl } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport SelectBlock from \"./SelectBlock\";\n\nimport { ONE_MEGABYTE } from \"../../constants\";\nimport { POSITION_OPTIONS } from \"../Customize/constants\";\nimport { buildLabel } from \"../Customize/utils\";\n\nconst ImageBlock = ({\n label,\n name,\n imageData = {},\n uploadConfig = { maxImageSize: ONE_MEGABYTE },\n attribute,\n defaultImageSize,\n useDefaultImageSize,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const propertySchema = findBy({ key: attribute }, themePropertiesSchema);\n\n const enablePositionChanger = propertySchema?.enablePositionChanger || false;\n const options = propertySchema?.options;\n\n const positionKeyInSchema = findBy(\n { key: `${name}_position` },\n themePropertiesSchema\n );\n\n const isPositionChangerVisible =\n enablePositionChanger && imageData?.url && isPresent(positionKeyInSchema);\n\n const positionKeyIndex = findIndexBy(\n { key: `${name}_position` },\n values.properties\n );\n\n const handleImageChange = async image => {\n try {\n if (isEmpty(image.signedId) || isEmpty(image.url)) {\n setFieldValue(name, { signedId: null, url: image.url });\n\n return;\n }\n\n const dominantColor = await getDominantColorFromUrl(image.url);\n\n setFieldValue(name, {\n signedId: image.signedId,\n url: image.url,\n dominantColor,\n });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n return (\n <div\n className=\"space-y-3\"\n data-cy={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n </div>\n )}\n <div className=\"space-y-3\">\n <ImageUploader\n {...{ uploadConfig }}\n className=\"h-40 w-full\"\n defaultImageSize={useDefaultImageSize ? defaultImageSize : {}}\n key={imageData?.url}\n src={imageData?.url}\n onUploadComplete={handleImageChange}\n />\n {isPositionChangerVisible && (\n <SelectBlock\n label={buildLabel(`${name}Position`, \"image\")}\n options={options || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toLabelAndValue(\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n )}\n onChange={option =>\n setFieldValue(\n `properties[${positionKeyIndex}].value`,\n option.value\n )\n }\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ImageBlock;\n","import { useFormikContext } from \"formik\";\nimport { snakeToCamelCase } from \"neetocist\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport Properties from \"./Properties\";\nimport { buildLabel } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport ImageBlock from \"../commons/ImageBlock\";\n\nconst Images = ({\n attribute,\n className,\n onPropertiesChange,\n defaultImageSize,\n useDefaultImageSize,\n}) => {\n const { values } = useFormikContext();\n const { helpPopoverProps } = useConfigStore.pick();\n\n const key = snakeToCamelCase(attribute);\n const title = buildLabel(key, \"image\");\n const imageData = values[key];\n\n return (\n <Card\n {...{ className, title }}\n helpPopoverProps={helpPopoverProps[key]}\n name={key}\n >\n <ImageBlock\n {...{ attribute, defaultImageSize, imageData, useDefaultImageSize }}\n name={key}\n />\n <Properties {...{ onPropertiesChange }} condition={attribute} />\n </Card>\n );\n};\n\nexport default Images;\n","import { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport Card from \"../commons/Card\";\n\nconst ThemeMeta = ({ className }) => {\n const { t } = useTranslation();\n const { helpPopoverProps } = useConfigStore.pick();\n\n const { name: nameHelpPopoverProps = {} } = helpPopoverProps;\n\n return (\n <Card\n {...{ className }}\n helpPopoverProps={nameHelpPopoverProps}\n name=\"name\"\n title={t(\"neetoThemes.common.name\")}\n >\n <Input autoFocus data-cy=\"theme-name-property\" name=\"name\" />\n </Card>\n );\n};\n\nexport default ThemeMeta;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Button, Popover, Typography, Switch, Tooltip } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport routes from \"routes\";\nimport {\n useCreateTheme,\n useUpdateTheme,\n} from \"src/hooks/reactQuery/useThemesApi\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { THEME_VALIDATION_SCHEMA } from \"./constants\";\nimport CustomCSS from \"./CustomCSS\";\nimport Images from \"./Images\";\nimport Properties from \"./Properties\";\nimport ThemeMeta from \"./ThemeMeta\";\nimport { buildImageData, buildInitialValues } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS, buildPathname } from \"../utils\";\n\nconst Customize = ({\n theme,\n onCreateTheme,\n onApplyTheme,\n onUpdateTheme,\n isApplyingTheme,\n onPropertiesChange,\n defaultImageSize,\n onEditCSSClick,\n currentScreen,\n}) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const [popoverInstance, setPopoverInstance] = useState({});\n const {\n themePropertiesSchema,\n entityType,\n isFetchingSchema,\n helpPopoverProps,\n enabledFeatures,\n } = useConfigStore.pick();\n\n const { themeId } = useParams();\n\n const { currentTheme, setThemeState } = useThemeStore.pick();\n\n const { data: { globalTheme = {} } = {} } = useShowGlobalTheme(entityType);\n\n const { data: themeData = {}, isLoadingTheme } = useFetchTheme(themeId, {\n enabled: isEditThemeRoute() && isNotNil(themeId),\n initialData: theme ?? undefined,\n });\n\n const isLoading = isFetchingSchema || isLoadingTheme;\n const isThemeGlobalTheme = themeId && globalTheme?.id === themeId;\n const isCurrentThemeAndGlobalThemeSame = currentTheme?.id === globalTheme?.id;\n const { style: styleHelpPopoverProps = {} } = helpPopoverProps;\n\n const isEditingCurrentlyAppliedTheme = themeId === currentTheme?.id;\n\n const submitBtnRef = useRef(null);\n\n const { mutate: createTheme, isPending: isCreating } = useCreateTheme();\n const { mutate: updateTheme, isPending: isUpdating } =\n useUpdateTheme(themeId);\n\n const isSubmitting = isCreating || isUpdating;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleGlobalThemeSwitchChange = (e, setFieldValue) => {\n setFieldValue(\"shouldSetAsGlobalTheme\", e.target.checked);\n };\n\n const onSubmit = (values, { resetForm }) => {\n const imageData = buildImageData(values, themePropertiesSchema);\n const themeToSave = {\n propertiesAttributes: values.properties,\n name: values.name,\n shouldSetAsGlobalTheme: values.shouldSetAsGlobalTheme,\n entityType: values.entityType,\n ...imageData,\n };\n\n if (!themeId) {\n return createTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n resetForm({ values: theme });\n onCreateTheme(theme);\n history.replace(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n },\n });\n }\n\n return updateTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n onUpdateTheme(theme);\n resetForm({ values: theme });\n },\n });\n };\n\n useEffect(() => {\n if (isNotNil(themeId) && !isLoadingTheme) {\n setThemeState({ previewingTheme: themeData });\n }\n }, [isLoadingTheme]);\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Form\n formikProps={{\n initialValues: {\n ...buildInitialValues(themeData, themePropertiesSchema),\n shouldSetAsGlobalTheme: isThemeGlobalTheme,\n entityType,\n },\n validationSchema: THEME_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit,\n }}\n >\n {({ dirty, values, setFieldValue }) => (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"neeto-themes-sidebar__scroll-content flex flex-grow flex-col px-4 pb-4 lg:px-5\">\n {!isSubmitting && <BlockNavigation />}\n <ThemeMeta className={classNames({ hidden: isCustomCssScreen })} />\n <Card\n className={classNames({ hidden: isCustomCssScreen })}\n helpPopoverProps={styleHelpPopoverProps}\n name=\"style\"\n title={t(\"neetoThemes.common.style\")}\n >\n <Properties {...{ onPropertiesChange }} />\n </Card>\n {filterBy({ kind: \"image\" }, themePropertiesSchema).map(\n ({ key, useDefaultImageSize }) => (\n <Images\n {...{\n defaultImageSize,\n onPropertiesChange,\n useDefaultImageSize,\n }}\n attribute={key}\n className={classNames({ hidden: isCustomCssScreen })}\n key={key}\n />\n )\n )}\n {enabledFeatures.customCSS && (\n <CustomCSS {...{ currentScreen, onEditCSSClick }} />\n )}\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 mt-2 flex flex-col space-y-2 border p-2\">\n <Tooltip\n disabled={!isThemeGlobalTheme}\n content={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.tooltipContent\"\n )}\n >\n <Switch\n checked={values.shouldSetAsGlobalTheme}\n disabled={isThemeGlobalTheme}\n name=\"shouldSetAsGlobalTheme\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onChange={e =>\n handleGlobalThemeSwitchChange(e, setFieldValue)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" style=\"body2\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.helpText\",\n { entityType }\n )}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-shadow-s sticky bottom-0 left-0 right-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-cy=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-cy=\"save-changes-button\"\n disabled={(!dirty && themeData?.id) || isSubmitting}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute right-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pr-5\" style=\"body2\" weight=\"normal\">\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoThemes.build.leftSideBar.themes.notAppliedYet\"\n values={{ entityType }}\n />\n </Typography>\n <Button\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.buttons.applyThisTheme\")}\n loading={isApplyingTheme}\n onClick={() => onApplyTheme(themeData)}\n />\n </div>\n }\n disabled={\n isEditingCurrentlyAppliedTheme ||\n (isCurrentThemeAndGlobalThemeSame &&\n values.shouldSetAsGlobalTheme)\n }\n onMount={setPopoverInstance}\n />\n </div>\n )}\n </Form>\n );\n};\n\nexport default Customize;\n","import classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Thumbnail = ({ active, isPreviewing, isHighLightedTheme, theme }) => {\n const { themePropertiesSchema = [] } = useConfigStore.pick();\n\n const [colorObject1, colorObject2] = themePropertiesSchema;\n\n const primaryLabel = humanize(colorObject1?.key);\n const secondaryLabel = humanize(colorObject2?.key);\n\n const primaryColor = findBy(\n { key: colorObject1.key },\n theme.properties\n ).value;\n\n const secondaryColor = findBy(\n { key: colorObject2.key },\n theme.properties\n ).value;\n\n const backgroundImageUrl =\n theme[\n snakeToCamelCase(\n findBy({ useAsCardBackground: true }, themePropertiesSchema).key\n )\n ]?.url;\n\n const buttonBackgroundColor = findBy(\n {\n key: findBy({ useAsCardButtonBackground: true }, themePropertiesSchema)\n ?.key,\n },\n theme.properties\n )?.value;\n\n return (\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !active,\n \"neeto-ui-border-gray-800 neeto-themes-theme-thumbnail--active\":\n active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\": isHighLightedTheme,\n }\n )}\n style={{\n backgroundImage: backgroundImageUrl\n ? `url(${backgroundImageUrl})`\n : \"initial\",\n backgroundSize: \"cover\",\n }}\n >\n <div className=\"neeto-ui-rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"neeto-ui-rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography style=\"h3\" weight=\"semibold\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"neeto-ui-rounded-lg h-5 w-12\"\n style={{ backgroundColor: buttonBackgroundColor }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default Thumbnail;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Rating } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\n\nimport DefaultThumbnail from \"./Thumbnail\";\n\nconst Card = ({\n active = false,\n isPreviewing,\n onSetPreviewTheme,\n onDeleteTheme,\n onEditTheme,\n theme,\n isApplyingTheme,\n onCloneTheme,\n isHighLightedTheme,\n isGlobalTheme,\n onApplyTheme,\n onApplyGlobalTheme,\n thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n\n const { id, name, appliedCount } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name, appliedCount);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-cy={active ? \"active-theme-card\" : \"theme-card\"}\n id={theme.id}\n >\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg relative cursor-pointer border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-200\": !active,\n \"neeto-themes-theme-thumbnail--active\": active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\":\n isHighLightedTheme,\n }\n )}\n onClick={() => onSetPreviewTheme(theme)}\n >\n <div className=\"neeto-ui-rounded-lg relative overflow-hidden rounded-bl-none rounded-br-none transition-all duration-300 ease-in-out\">\n <div className=\"absolute left-0 top-0 z-10 flex h-full w-full items-center justify-center gap-1 p-3\">\n {active ? (\n <span\n className=\"neeto-ui-btn neeto-themes-theme-thumbnail__active-label neeto-ui-btn--style-primary neeto-ui-btn--size-medium neeto-ui-rounded-full flex-shrink-0 cursor-auto justify-center\"\n data-cy=\"active-theme-label\"\n >\n {t(\"neetoThemes.common.activeTheme\")}\n </span>\n ) : (\n <div\n className={classnames({\n hidden: !isPreviewing,\n \"group-hover:block\": true,\n })}\n >\n <div className=\"relative flex w-full flex-col gap-2\">\n <Button\n data-cy=\"preview-theme-button\"\n disabled={isPreviewing}\n label={t(\"neetoThemes.common.previewTheme\")}\n size=\"medium\"\n style=\"tertiary\"\n className={classnames({\n \"neeto-themes-theme-thumbnail__preview-btn--disabled opacity-100\":\n isPreviewing,\n \"neeto-themes-theme-thumbnail__preview-btn flex-shrink-0 justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn flex-shrink-0 justify-center\"\n data-cy=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.useTheme\")}\n loading={isApplyingTheme}\n size=\"medium\"\n style=\"primary\"\n onClick={() => onApplyTheme(theme)}\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-themes-theme-thumbnail__overlay w-full transition-all duration-300 ease-in-out\">\n {Thumbnail ? (\n <Thumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n ) : (\n <DefaultThumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n )}\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-100 flex items-start justify-between gap-1 border-t p-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow break-words pt-1\"\n data-cy=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Rating\n className=\"neeto-themes-nano-global-theme-icon\"\n data-cy=\"global-theme-icon\"\n size={18}\n />\n )}\n </div>\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n \"data-cy\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-cy\": \"clone-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.clone\"\n ),\n onClick: handleCloneTheme,\n },\n {\n key: \"set-as-global-theme\",\n \"data-cy\": \"set-as-global-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n ),\n isVisible: !isGlobalTheme,\n onClick: handleApplyGlobalTheme,\n },\n {\n key: \"divider\",\n type: \"divider\",\n isVisible: isFunction(onDeleteTheme),\n },\n {\n key: \"delete\",\n \"data-cy\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isVisible: isFunction(onDeleteTheme),\n onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(Card);\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport {\n useCloneTheme,\n useApplyGlobalTheme,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Card from \"./Card\";\n\nconst Themes = ({\n onEditTheme,\n themes = [],\n defaultThemes = [],\n onDeleteTheme,\n themeToHighlight,\n didScrollActiveThemeIntoView,\n isLoading,\n currentTheme,\n isCurrentThemeLoading,\n thumbnail,\n themeBeingApplied,\n onApplyTheme,\n onApplyGlobalThemeSuccess,\n isApplyingTheme,\n}) => {\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n const { setThemeState, previewingTheme } = useThemeStore.pick();\n const { entityType } = useConfigStore.pick();\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const { mutate: cloneTheme } = useCloneTheme();\n const { mutate: applyGlobalTheme } = useApplyGlobalTheme();\n\n const { data: { globalTheme = {} } = {}, isLoading: isLoadingGlobalTheme } =\n useShowGlobalTheme(entityType);\n\n useEffect(() => {\n if (didScrollActiveThemeIntoView.current || !currentTheme?.id) return;\n\n didScrollActiveThemeIntoView.current = true;\n setTimeout(() => {\n scrollElementIntoView(currentTheme?.id);\n }, 100);\n }, [didScrollActiveThemeIntoView, currentTheme?.id]);\n\n const setPreviewTheme = theme => {\n setThemeState({ previewingTheme: theme });\n setTheme(theme);\n };\n\n const filteredDefaultThemes = defaultThemes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const isSearchFieldVisible = themes?.length + defaultThemes?.length > 10;\n\n const handleCloneTheme = data => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n onEditTheme(clonedTheme);\n },\n });\n };\n\n const handleApplyGlobalTheme = themeId => {\n const payload = { entityType };\n applyGlobalTheme(\n { themeId, payload },\n {\n onSuccess: () => {\n onApplyGlobalThemeSuccess?.();\n },\n }\n );\n };\n\n if (isLoading || isCurrentThemeLoading || isLoadingGlobalTheme) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchFieldVisible && (\n <Search\n autoFocus\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n onSearch={setSearchQuery}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoThemes.common.noResultsFound\")}\n </Typography>\n )}\n {isNotEmpty(filteredDefaultThemes) && (\n <>\n <Typography\n className=\"my-4 px-6 uppercase lg:px-5 xl:px-6\"\n data-cy=\"system-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.systemThemes\")}\n </Typography>\n <div\n className=\"flex flex-col gap-4 px-6 pb-10 lg:px-5 xl:px-6\"\n data-cy=\"system-themes\"\n >\n {filteredDefaultThemes.map(theme => (\n <Card\n {...{ onApplyTheme, theme, thumbnail }}\n active={currentTheme?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </>\n )}\n </div>\n {isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\n <Typography\n className=\"my-4 px-6 uppercase\"\n data-cy=\"custom-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.customThemes\")}\n </Typography>\n <div className=\"flex flex-col gap-4 px-6\" data-cy=\"custom-themes\">\n {filteredThemes.map(theme => {\n const isActive = currentTheme?.id === theme.id;\n const isPreviewing = previewingTheme?.id === theme.id;\n\n return (\n <Card\n {...{\n isPreviewing,\n onApplyTheme,\n onEditTheme,\n theme,\n thumbnail,\n }}\n active={isActive}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Themes;\n","import { LeftArrow, Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute, isNewThemeRoute } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { isScreenCustomCSS } from \"./utils\";\n\nconst TitleBar = ({ currentScreen, handleBackPress, handleCreateNewTheme }) => {\n const { t } = useTranslation();\n\n const { previewingTheme } = useThemeStore.pick();\n const themeId = previewingTheme?.id;\n const { entityType, helpDocUrl } = useConfigStore.pick();\n\n const isCustomizeScreen = isEditThemeRoute() || isNewThemeRoute();\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4\">\n <div className=\"flex items-center justify-start space-x-2\">\n <Button\n data-cy=\"customize-themes-back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"top\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {isCustomizeScreen &&\n !isCustomCssScreen &&\n (isNewThemeRoute()\n ? t(\"neetoThemes.build.leftSideBar.themes.createTheme.title\")\n : t(\"neetoThemes.build.leftSideBar.themes.editTheme.title\"))}\n {isCustomCssScreen &&\n t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n </Typography>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__header px-6 lg:px-5 xl:px-6\">\n <div className=\"flex items-center justify-between space-x-2\">\n <div className=\"flex space-x-2\">\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.headerTabs.themes\")}\n </Typography>\n <HelpPopover\n helpLinkProps={helpDocUrl && { href: helpDocUrl }}\n title={t(\"neetoThemes.build.leftSideBar.helpPopover.title\")}\n description={t(\n \"neetoThemes.build.leftSideBar.helpPopover.description\",\n { entityType }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-cy=\"customize-themes-add-theme-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.buttons.addNewTheme\"),\n position: \"top\",\n }}\n onClick={handleCreateNewTheme}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { memo, useCallback, useRef, useState, useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Alert, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport {\n useApplyTheme,\n useDeleteTheme,\n useListThemes,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport routes from \"routes\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { isScreenCustomCSS, buildPathname } from \"./utils\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nconst MemoizedAlert = memo(Alert);\n\nconst Sidebar = ({\n thumbnail,\n onPropertiesChange,\n defaultImageSize,\n onApplyThemeSuccess,\n onUpdateThemeSuccess,\n onApplyGlobalThemeSuccess,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(DESIGN_SCREENS.THEMES);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [themeToHighlight, setThemeToHighlight] = useState(null);\n const [themeBeingApplied, setThemeBeingApplied] = useState({});\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isThemesSidebarCollapsed, setIsThemesSidebarCollapsed] = useState(\n !isLargerScreen\n );\n\n const history = useHistory();\n\n useEffect(() => {\n setIsThemesSidebarCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n const { entityType, entityId, isFetchingSchema, defaultThemeName } =\n useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n\n const didScrollActiveThemeIntoView = useRef(null);\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n\n const { data: { themes = [], defaultThemes = [] } = {}, isLoading } =\n useListThemes(entityId);\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading: isCurrentThemeLoading,\n } = useShowThemeEntity(entityId);\n\n const { mutate: deleteTheme, isPending: isDeleting } = useDeleteTheme();\n\n const { mutate: applyTheme, isPending: isApplyingTheme } = useApplyTheme({\n onSuccess: ({ theme }) => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleCreateNewTheme = () => {\n history.push(buildUrl(buildPathname(routes.themes.new)));\n };\n\n const handleEditTheme = theme => {\n themeToEdit.current = theme;\n history.push(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n };\n\n const onApplyTheme = theme => {\n if (isApplyingTheme) return;\n\n setThemeBeingApplied(theme);\n applyTheme({ themeId: theme.id, entityId, entityType });\n };\n\n const navigateToThemesScreen = themeId => {\n highlightTheme(isPresent(themeId) ? themeId : currentTheme?.id);\n history.push(buildUrl(buildPathname(routes.themes.index)));\n\n themeToEdit.current = null;\n };\n\n const handleBackPress = themeId => {\n if (isCustomCssScreen) {\n setCurrentScreen(DESIGN_SCREENS.Customize);\n\n return;\n }\n\n navigateToThemesScreen(themeId);\n };\n\n const highlightTheme = themeIdToHighlight => {\n setTimeout(() => {\n scrollElementIntoView(themeIdToHighlight);\n }, 1500);\n\n setTimeout(() => {\n setThemeToHighlight(null);\n }, 4000);\n\n setThemeToHighlight(themeIdToHighlight);\n };\n\n const onCreateTheme = createdTheme => {\n themeToEdit.current = createdTheme;\n setTheme(createdTheme);\n setThemeState({ previewingTheme: createdTheme });\n };\n\n const onUpdateTheme = updatedTheme => {\n themeToEdit.current = updatedTheme;\n onUpdateThemeSuccess?.(updatedTheme);\n };\n\n const handleDelete = (themeId, name, appliedCount) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name, appliedCount };\n };\n\n const handleCloseDeleteAlert = useCallback(() => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n }, [themeToDelete]);\n\n const handleDeleteTheme = useCallback(() => {\n deleteTheme(themeToDelete.current?.id, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n },\n });\n }, [deleteTheme, themeToDelete]);\n\n return (\n <>\n {!isThemesSidebarCollapsed && (\n <div\n className=\"neeto-themes-sidebar__backdrop\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n )}\n <div\n className={classNames(\n \"neeto-themes-sidebar neeto-ui-border-gray-200 flex-shrink-0 border-r transition-all duration-300\",\n { \"neeto-themes-sidebar--expanded\": isCustomCssScreen },\n {\n \"neeto-themes-sidebar--collapsed\": isThemesSidebarCollapsed,\n }\n )}\n >\n <TitleBar\n {...{ currentScreen, handleBackPress, handleCreateNewTheme }}\n />\n <Switch>\n <Route\n exact\n path={buildPathname(routes.themes.index)}\n render={() => (\n <Themes\n {...{\n currentTheme,\n defaultThemes,\n didScrollActiveThemeIntoView,\n highlightTheme,\n isApplyingTheme,\n isCurrentThemeLoading,\n onApplyGlobalThemeSuccess,\n onApplyTheme,\n themeBeingApplied,\n themeToHighlight,\n themes,\n thumbnail,\n }}\n isLoading={isLoading || isFetchingSchema}\n onDeleteTheme={handleDelete}\n onEditTheme={handleEditTheme}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.new)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n defaultImageSize,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.edit)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n defaultImageSize,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n </Switch>\n <MemoizedAlert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n title={t(\"neetoThemes.alerts.title.deleteTheme\")}\n message={t(\"neetoThemes.alerts.message.deleteTheme\", {\n name: themeToDelete.current?.name,\n count: themeToDelete.current?.appliedCount,\n defaultThemeName,\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: themeToDelete.current?.appliedCount }\n ),\n })}\n onClose={handleCloseDeleteAlert}\n onSubmit={handleDeleteTheme}\n />\n <Button\n className=\"neeto-themes-sidebar__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect } from \"react\";\n\nimport { noop, isNotPresent } from \"neetocist\";\nimport { PageTitle } from \"neetocommons/react-utils\";\nimport { Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/themes.scss\";\n\nimport Sidebar from \"./Sidebar\";\n\nconst NeetoThemesBuilder = ({\n children,\n entityType,\n entityId,\n thumbnail,\n onPropertiesChange,\n defaultImageSize = {},\n helpDocUrl = null,\n isTemplateThemesEnabled = false,\n pageTitle = null,\n onApplyThemeSuccess = noop,\n onUpdateThemeSuccess = noop,\n onApplyGlobalThemeSuccess = noop,\n helpPopoverProps = {},\n enabledFeatures = { customCSS: true },\n}) => {\n const { setThemeState } = useThemeStore.pick();\n const { setTheme } = useThemeUtils();\n const { setConfigState } = useConfigStore.pick();\n const { t } = useTranslation();\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading,\n isFetching: isFetchingCurrentTheme,\n } = useShowThemeEntity(entityId);\n\n const isCurrentThemeLoading = isLoading || isFetchingCurrentTheme;\n\n useEffect(() => {\n setConfigState({\n entityType,\n entityId,\n isTemplateThemesEnabled,\n helpDocUrl,\n helpPopoverProps,\n enabledFeatures,\n });\n }, []);\n\n useEffect(() => {\n if (isNotPresent(currentTheme) || isEditThemeRoute()) {\n return;\n }\n\n setThemeState({ previewingTheme: currentTheme });\n setTheme(currentTheme);\n }, [isLoading, entityId, currentTheme]);\n\n useEffect(() => {\n if (isNotPresent(currentTheme)) return;\n\n setThemeState({ currentTheme, isCurrentThemeLoading });\n }, [currentTheme, isCurrentThemeLoading]);\n\n useEffect(() => {\n const setViewportHeight = () => {\n document.documentElement.style.setProperty(\n \"--viewport-height\",\n `${window.innerHeight}px`\n );\n };\n\n setViewportHeight();\n window.addEventListener(\"load\", setViewportHeight);\n window.addEventListener(\"resize\", setViewportHeight);\n window.addEventListener(\"orientationchange\", setViewportHeight);\n window.addEventListener(\"scroll\", setViewportHeight);\n\n return () => {\n window.addEventListener(\"load\", setViewportHeight);\n window.removeEventListener(\"resize\", setViewportHeight);\n window.removeEventListener(\"orientationchange\", setViewportHeight);\n window.addEventListener(\"scroll\", setViewportHeight);\n };\n }, []);\n\n return (\n <div className=\"neeto-themes__wrapper\">\n <PageTitle title={pageTitle || t(\"neetoThemes.common.theme\")} />\n <Sidebar\n {...{\n defaultImageSize,\n onApplyGlobalThemeSuccess,\n onApplyThemeSuccess,\n onPropertiesChange,\n onUpdateThemeSuccess,\n thumbnail,\n }}\n />\n <div className=\"neeto-themes-preview__wrapper\">\n {isCurrentThemeLoading ? (\n <div className=\"m-auto flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n children\n )}\n </div>\n </div>\n );\n};\n\nexport default NeetoThemesBuilder;\n"],"names":["show","entityId","axios","get","concat","BASE_URL","entitiesApi","useShowThemeEntity","useQuery","queryKey","QUERY_KEYS","THEME_ENTITY_DETAILS","queryFn","enabled","list","params","entity_id","id","create","payload","post","theme","update","_ref","put","destroy","clone","apply","_ref2","themeId","_objectWithoutProperties","_excluded","entity","applyGlobalTheme","_ref3","themesApi","useListThemes","_useConfigStore","useConfigStore","store","isTemplateThemesEnabled","shallow","THEMES_LIST","useFetchTheme","options","_objectSpread","THEME_DETAILS","useCreateTheme","useMutationWithInvalidation","keysToInvalidate","GLOBAL_THEME_DETAILS","useUpdateTheme","queryClient","useQueryClient","onSuccess","setQueryData","useDeleteTheme","useCloneTheme","useApplyTheme","useApplyGlobalTheme","routes","themes","index","edit","entityType","entity_type","globalThemesApi","useShowGlobalTheme","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","value","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","className","classNames","rounded","scrollBeyondLastLine","minimap","Card","_ref$title","title","name","helpPopoverProps","accordionOpenState","setAccordionOpenState","_jsxs","hyphenate","classnames","type","onClick","_defineProperty","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","Right","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","themePropertiesSchema","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","customCSS","findBy","kind","properties","parentElementClass","parentClass","handleEditorToggle","setTimeout","scrollElementIntoView","handleChange","findIndexBy","key","setCustomCSS","css","elementId","Button","label","customcss","buildInitialValues","map","defaultValue","_ref$order","order","dependsOn","String","filter","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","forEach","imageKeys","Set","ele","add","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","LeftAlign","tooltipProps","content","position","CenterAlign","ColorBlock","_ref$color","color","showTransparencyControl","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","menuPosition","styles","option","data","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","SwitchBlock","switchProps","i18n","translationKey","doesHelpTextExist","exists","HelpPopover","description","Switch","Properties","onPropertiesChange","_useThemeStore","useThemeStore","setThemeState","_useThemeUtils","useThemeUtils","setVariable","setTheme","handleColorChange","hex","rgb","_findBy","_values$backgroundIma","isDominantBackgroundColorEnabled","hasImageWithDominantColor","backgroundImage","dominantColor","r","g","b","a","variableValue","handleOverlayChange","overlayColorVariable","Math","abs","useEffect","previewingTheme","_Fragment","sort","_findBy2","Infinity","_findBy3","isCurrentPropertyVisible","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy4","toLabelAndValue","POSITION_OPTIONS","checked","target","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","wrap","_callee$","_context","prev","next","abrupt","getDominantColorFromUrl","sent","t0","Toastr","error","stop","_x","arguments","_createElement","ImageUploader","src","onUploadComplete","Images","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","Input","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","_useState","useState","_useState2","_slicedToArray","popoverInstance","setPopoverInstance","isFetchingSchema","enabledFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","isEditThemeRoute","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","replace","buildUrl","PageLoader","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","dirty","BlockNavigation","_ref6","Tooltip","disabled","loading","ref","Popover","appendTo","document","body","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","Thumbnail","_theme$snakeToCamelCa","active","isPreviewing","isHighLightedTheme","_useConfigStore$theme","_themePropertiesSchem","colorObject1","colorObject2","primaryLabel","humanize","secondaryLabel","primaryColor","secondaryColor","backgroundImageUrl","useAsCardBackground","buttonBackgroundColor","useAsCardButtonBackground","backgroundSize","backgroundColor","_ref$active","onSetPreviewTheme","onDeleteTheme","onEditTheme","onCloneTheme","isGlobalTheme","onApplyGlobalTheme","thumbnail","appliedCount","handleCloneTheme","handleEditTheme","handleDeleteTheme","handleApplyGlobalTheme","DefaultThumbnail","Rating","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","stopPropagation","menuItems","isVisible","isFunction","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyGlobalThemeSuccess","searchQuery","setSearchQuery","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Search","autoComplete","onSearch","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","_themeToDelete$curren3","_themeToDelete$curren4","onApplyThemeSuccess","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","deleteTheme","isDeleting","_useApplyTheme","highlightTheme","applyTheme","themeToDelete","themeToEdit","push","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","isOpen","message","count","onClose","Collapse","NeetoThemesBuilder","_ref$defaultImageSize","_ref$helpDocUrl","_ref$isTemplateThemes","_ref$pageTitle","pageTitle","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$onApplyGlobalThe","_ref$helpPopoverProps","_ref$enabledFeatures","setConfigState","isFetchingCurrentTheme","isFetching","setViewportHeight","documentElement","setProperty","window","innerHeight","addEventListener","removeEventListener","PageTitle"],"mappings":"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","x_google_ignoreList":[2]}
|
|
1
|
+
{"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/apis/entities.js","../app/javascript/src/hooks/reactQuery/useEntitiesApi.js","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/apis/themes.js","../app/javascript/src/hooks/reactQuery/useThemesApi.js","../app/javascript/src/routes.js","../app/javascript/src/apis/global_themes.js","../app/javascript/src/hooks/reactQuery/useGlobalThemesApi.js","../app/javascript/src/components/NeetoThemesBuilder/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Editor.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/index.jsx","../app/javascript/src/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityId => axios.get(`${BASE_URL}/api/v1/entities/${entityId}`);\n\nconst entitiesApi = { show };\n\nexport default entitiesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport entitiesApi from \"apis/entities\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowThemeEntity = entityId =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_ENTITY_DETAILS, entityId],\n queryFn: () => entitiesApi.show(entityId),\n enabled: !!entityId,\n });\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst list = entityId =>\n axios.get(`${BASE_URL}/api/v1/themes`, { params: { entity_id: entityId } });\n\nconst show = id => axios.get(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst create = payload =>\n axios.post(`${BASE_URL}/api/v1/themes`, { theme: payload });\n\nconst update = ({ id, payload }) =>\n axios.put(`${BASE_URL}/api/v1/themes/${id}`, { theme: payload });\n\nconst destroy = id => axios.delete(`${BASE_URL}/api/v1/themes/${id}`);\n\nconst clone = id => axios.post(`${BASE_URL}/api/v1/themes/${id}/clone`);\n\nconst apply = ({ themeId, ...payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply`, { entity: payload });\n\nconst applyGlobalTheme = ({ themeId, payload }) =>\n axios.post(`${BASE_URL}/api/v1/themes/${themeId}/apply_global_theme`, {\n theme: payload,\n });\n\nconst themesApi = {\n list,\n show,\n create,\n update,\n destroy,\n clone,\n apply,\n applyGlobalTheme,\n};\n\nexport default themesApi;\n","import { useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport themesApi from \"apis/themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nexport const useListThemes = entityId => {\n const { isTemplateThemesEnabled } = useConfigStore.pick();\n\n const queryKey = isTemplateThemesEnabled\n ? [QUERY_KEYS.THEMES_LIST, entityId]\n : [QUERY_KEYS.THEMES_LIST];\n\n return useQuery({\n queryKey,\n queryFn: () => themesApi.list(entityId),\n });\n};\n\nexport const useFetchTheme = (themeId, options) =>\n useQuery({\n queryKey: [QUERY_KEYS.THEME_DETAILS, themeId],\n queryFn: () => themesApi.show(themeId),\n ...options,\n });\n\nexport const useCreateTheme = () =>\n useMutationWithInvalidation(themesApi.create, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n });\n\nexport const useUpdateTheme = themeId => {\n const queryClient = useQueryClient();\n\n return useMutationWithInvalidation(\n payload => themesApi.update({ id: themeId, payload }),\n {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n [QUERY_KEYS.THEME_DETAILS, themeId],\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n ],\n onSuccess: ({ theme }) => {\n queryClient.setQueryData([QUERY_KEYS.THEME_DETAILS, themeId], theme);\n },\n }\n );\n};\n\nexport const useDeleteTheme = () =>\n useMutationWithInvalidation(themesApi.destroy, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n\nexport const useCloneTheme = () =>\n useMutationWithInvalidation(themesApi.clone, {\n keysToInvalidate: [QUERY_KEYS.THEMES_LIST],\n });\n\nexport const useApplyTheme = ({ onSuccess }) =>\n useMutationWithInvalidation(themesApi.apply, {\n keysToInvalidate: [\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n onSuccess,\n });\n\nexport const useApplyGlobalTheme = () =>\n useMutationWithInvalidation(themesApi.applyGlobalTheme, {\n keysToInvalidate: [\n [QUERY_KEYS.GLOBAL_THEME_DETAILS],\n [QUERY_KEYS.THEMES_LIST],\n [QUERY_KEYS.THEME_ENTITY_DETAILS],\n ],\n });\n","const routes = {\n themes: {\n index: \"/themes\",\n edit: \"/themes/:themeId/edit\",\n new: \"/themes/new\",\n },\n};\nexport default routes;\n","import axios from \"axios\";\n\nimport { BASE_URL } from \"src/constants\";\n\nconst show = entityType =>\n axios.get(`${BASE_URL}/api/v1/global_theme`, {\n params: { entity_type: entityType },\n });\n\nconst globalThemesApi = { show };\nexport default globalThemesApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport globalThemesApi from \"apis/global_themes\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nexport const useShowGlobalTheme = entityType =>\n useQuery({\n queryKey: [QUERY_KEYS.GLOBAL_THEME_DETAILS, entityType],\n queryFn: () => globalThemesApi.show(entityType),\n enabled: !!entityType,\n });\n","export const DESIGN_SCREENS = {\n THEMES: \"Themes\",\n Customize: \"Customize\",\n CustomCSS: \"CustomCSS\",\n};\n\nexport const ONE_MEGABYTE = 1;\n","import { lazy, Suspense } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Spinner } from \"neetoui\";\n\nconst MonacoEditor = lazy(() => import(\"@monaco-editor/react\"));\n\nconst Editor = ({ value, isCustomCssScreen, onChange }) => (\n <Suspense fallback={<Spinner />}>\n <MonacoEditor\n {...{ onChange, value }}\n language=\"css\"\n theme=\"vs-dark\"\n className={classNames({\n rounded: true,\n \"css-editor-height__expanded\": isCustomCssScreen,\n \"css-editor-height__regular\": !isCustomCssScreen,\n })}\n options={{\n scrollBeyondLastLine: false,\n minimap: { enabled: false },\n }}\n />\n </Suspense>\n);\n\nexport default Editor;\n","import classnames from \"classnames\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Right } from \"neetoicons\";\nimport HelpPopver from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Card = ({ title = \"\", children, name, className, helpPopoverProps }) => {\n const { accordionOpenState, setAccordionOpenState } = useConfigStore.pick();\n\n return (\n <div\n data-cy={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section neeto-ui-border-gray-200 border-b pt-2 transition-all duration-300 last:border-none\",\n className,\n {\n \"pb-2\": !accordionOpenState[name],\n \"pb-3\": accordionOpenState[name],\n }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={() =>\n setAccordionOpenState({\n ...accordionOpenState,\n [name]: !accordionOpenState[name],\n })\n }\n >\n <Typography\n className=\"flex min-w-0 flex-grow items-center gap-2 text-left\"\n component=\"span\"\n data-cy=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n {isPresent(helpPopoverProps) && (\n <HelpPopver {...helpPopoverProps} />\n )}\n </Typography>\n <Right\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-90\": accordionOpenState[name],\n })}\n />\n </button>\n )}\n {children && (\n <div\n className={classnames(\n \"neeto-themes-nano-section__content w-full space-y-3 overflow-hidden px-1 transition-all duration-300\",\n {\n \"neeto-themes-nano-section__content--closed\":\n !accordionOpenState[name],\n \"neeto-themes-nano-section__content--open pb-1\":\n accordionOpenState[name],\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nexport const isScreenCustomCSS = screen => screen === DESIGN_SCREENS.CustomCSS;\n\nexport const buildPathname = route => {\n let pathname = \"\";\n for (const segment of location.pathname.split(\"/\")) {\n if (isEmpty(segment)) {\n continue;\n }\n\n if (segment === \"themes\") {\n break;\n }\n pathname += `/${segment}`;\n }\n\n return `${pathname}${route}`;\n};\n","import { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\n\nimport Editor from \"./Editor\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS } from \"../utils\";\n\nconst CustomCSS = ({ onEditCSSClick, currentScreen }) => {\n const { t } = useTranslation();\n const { values, setFieldValue } = useFormikContext();\n const { themePropertiesSchema, accordionOpenState, helpPopoverProps } =\n useConfigStore.pick();\n const { customCss: customCssHelpPopoverProps = {} } = helpPopoverProps;\n\n const customCSS = findBy({ kind: \"custom_css\" }, values.properties);\n\n if (!customCSS) return null;\n\n const parentElementClass = findBy(\n { kind: \"custom_css\" },\n themePropertiesSchema\n ).parentClass;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleEditorToggle = () => {\n if (!isCustomCssScreen) return onEditCSSClick(DESIGN_SCREENS.CustomCSS);\n onEditCSSClick(DESIGN_SCREENS.Customize);\n\n return setTimeout(() => {\n scrollElementIntoView(\"css-editor\");\n }, 400);\n };\n\n const handleChange = value => {\n const index = findIndexBy({ key: customCSS.key }, values.properties);\n\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n setCustomCSS({\n css: value,\n elementId: customCSS.key,\n parentElementClass,\n });\n }\n };\n\n return (\n <div className=\"neeto-themes-sidebar__custom-css-wrapper\" id=\"css-editor\">\n <Card\n helpPopoverProps={customCssHelpPopoverProps}\n name=\"customcss\"\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n <div className=\"w-full\">\n <div className=\"neeto-themes-sidebar__custom-css-editor-header w-full justify-end gap-1 rounded-b-none p-2\">\n <Button\n size=\"small\"\n style=\"secondary\"\n label={\n isCustomCssScreen\n ? t(\"neetoThemes.buttons.minimizeEditor\")\n : t(\"neetoThemes.buttons.expandEditor\")\n }\n onClick={handleEditorToggle}\n />\n </div>\n {accordionOpenState.customcss && (\n <Editor\n {...{ isCustomCssScreen }}\n value={customCSS.value}\n onChange={handleChange}\n />\n )}\n </div>\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { t } from \"i18next\";\nimport {\n findBy,\n isNot,\n filterBy,\n isPresent,\n snakeToCamelCase,\n isNotPresent,\n} from \"neetocist\";\n\nexport const generateRandomColor = () => {\n const letters = \"0123456789ABCDEF\";\n let color = \"#\";\n for (let i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n\n return color;\n};\n\nexport const buildInitialValues = (theme, themePropertiesSchema) => {\n if (isPresent(theme)) return theme;\n\n return {\n name: t(\"neetoThemes.build.leftSideBar.themes.createTheme.newThemeName\"),\n properties: themePropertiesSchema\n .map(({ key, kind, defaultValue, order = null, dependsOn }) => {\n switch (kind) {\n case \"color\":\n return {\n value: defaultValue,\n kind: \"color\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"font_family\":\n return {\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n kind: \"font_family\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"overlay_opacity\":\n return {\n value: 0,\n kind: \"overlay_opacity\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"slider\":\n return {\n value: 0,\n kind: \"slider\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"radius\":\n return {\n value: defaultValue,\n kind: \"radius\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"boolean\":\n return {\n value: String(defaultValue),\n kind: \"boolean\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"order_selector\":\n return {\n value: defaultValue,\n kind: \"order_selector\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"alignment_block\":\n return {\n value: defaultValue,\n kind: \"alignment_block\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n case \"custom_css\":\n return {\n value: defaultValue,\n kind: \"custom_css\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\n default:\n return null;\n }\n })\n .filter(isNot(null)),\n };\n};\n\nexport const buildImageData = (values, themePropertiesSchema) =>\n filterBy({ kind: \"image\" }, themePropertiesSchema).reduce((acc, item) => {\n const signedId = values[snakeToCamelCase(item.key)]?.signedId;\n acc[item.key] = signedId;\n\n return acc;\n }, {});\n\nexport const isPropertyVisible = (key, formikValues, themePropertiesSchema) => {\n const property = findBy({ key }, themePropertiesSchema);\n\n if (isNotPresent(property)) return false;\n\n if (property?.hidden) return false;\n\n const conditionalKey = property?.dependsOn;\n if (isNotPresent(conditionalKey)) return true;\n\n const dependentPropertySchema = findBy(\n { key: conditionalKey },\n themePropertiesSchema\n );\n\n const dependentProperty = findBy(\n { key: conditionalKey },\n formikValues.properties\n );\n\n if (dependentPropertySchema.kind === \"image\") {\n return isPresent(formikValues[snakeToCamelCase(conditionalKey)]?.url);\n } else if (dependentPropertySchema.kind === \"boolean\") {\n return dependentProperty?.value !== \"false\";\n }\n\n return isPresent(dependentProperty?.value);\n};\n\nexport const buildLabel = (key, kind) =>\n t(\n `neetoThemes.properties.${snakeToCamelCase(kind)}.${snakeToCamelCase(key)}`\n );\n\nexport const buildProperties = (values, condition, themePropertiesSchema) => {\n values.forEach(value => {\n themePropertiesSchema.forEach(theme => {\n if (!(value.key === theme.key)) return;\n value.dependsOn = theme.dependsOn;\n });\n });\n\n if (condition) {\n return filterBy({ dependsOn: condition }, values);\n }\n\n const imageKeys = new Set();\n filterBy({ kind: \"image\" }, themePropertiesSchema).forEach(ele =>\n imageKeys.add(ele.key)\n );\n\n return values?.filter(({ dependsOn }) => !imageKeys.has(dependsOn));\n};\n","import classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { CenterAlign, LeftAlign } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nconst AlignmentBlock = ({ label, name }) => (\n <div\n className=\"flex items-center justify-between gap-2\"\n data-cy={joinHyphenCase(label)}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"neeto-ui-border-gray-300 neeto-themes-nano-alignment-block flex items-center border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-cy=\"alignment-left\"\n size=\"medium\"\n style={value === \"left\" ? \"primary\" : \"text\"}\n icon={() => (\n <LeftAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"left\",\n \"neeto-ui-text-gray-600\": value !== \"left\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Left align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"left\")}\n />\n <div className=\"neeto-themes-nano-alignment-divider\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-cy=\"alignment-center\"\n size=\"medium\"\n style={value === \"center\" ? \"primary\" : \"text\"}\n icon={() => (\n <CenterAlign\n size={20}\n className={classnames({\n rounded: true,\n \"neeto-ui-text-primary-800\": value === \"center\",\n \"neeto-ui-text-gray-600\": value !== \"center\",\n })}\n />\n )}\n tooltipProps={{\n content: \"Center align\",\n position: \"bottom\",\n }}\n onClick={() => setFieldValue(name, \"center\")}\n />\n </div>\n )}\n </Field>\n </div>\n);\n\nexport default AlignmentBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { ColorPicker, Typography } from \"neetoui\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst FontPickerBlock = ({\n label,\n placeholder = \"\",\n value,\n options,\n onChange,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n menuPosition=\"fixed\"\n styles={{\n option: (styles, { data }) => ({\n ...styles,\n fontFamily: data.value,\n }),\n }}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Select } from \"neetoui\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex items-center justify-between\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Select {...{ onChange, options, placeholder, value }} />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Slider } from \"antd\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography } from \"neetoui\";\n\nconst SliderBlock = ({ label, onChange, value, min, max, marks }) => (\n <div\n className=\"flex items-center justify-between gap-3\"\n data-cy={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <Slider\n {...{ marks, max, min, onChange, value }}\n className=\"my-2 w-20\"\n tooltip={{ formatter: null }}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Typography, Switch } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, ...switchProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n return (\n <div\n className=\"flex items-center justify-between\"\n data-cy=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-cy=\"style-fields-labels\"\n style=\"body2\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Typography>\n {doesHelpTextExist && (\n <HelpPopover\n className=\"flex-shrink-0\"\n description={t(translationKey)}\n />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-cy=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport {\n toLabelAndValue,\n snakeToCamelCase,\n findIndexBy,\n findBy,\n} from \"neetocist\";\nimport { negate } from \"ramda\";\n\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport {\n OVERLAY_OPACITY_SLIDER_MARKS,\n FONT_OPTIONS,\n HUNDRED,\n POSITION_OPTIONS,\n} from \"./constants\";\nimport { buildLabel, buildProperties, isPropertyVisible } from \"./utils\";\n\nimport AlignmentBlock from \"../commons/AlignmentBlock\";\nimport ColorBlock from \"../commons/ColorBlock\";\nimport FontPickerBlock from \"../commons/FontPickerBlock\";\nimport SelectBlock from \"../commons/SelectBlock\";\nimport SliderBlock from \"../commons/SliderBlock\";\nimport SwitchBlock from \"../commons/SwitchBlock\";\n\nconst Properties = ({ onPropertiesChange, condition }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n if (name === \"background_color\") {\n const isDominantBackgroundColorEnabled =\n findBy(\n { key: \"is_dominant_background_color_enabled\" },\n values.properties\n )?.value === \"true\";\n\n const hasImageWithDominantColor =\n values?.backgroundImage?.dominantColor;\n\n if (isDominantBackgroundColorEnabled && hasImageWithDominantColor) {\n return;\n }\n }\n\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"font_family\":\n return (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={findBy({ value: value || null }, FONT_OPTIONS)}\n onChange={({ value }) => handleChange(key, value)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toLabelAndValue);\n\n return (\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toLabelAndValue(value)}\n onChange={option =>\n setFieldValue(`properties[${index}].value`, option.value)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <SwitchBlock\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onChange={e =>\n setFieldValue(\n `properties[${index}].value`,\n String(e.target.checked)\n )\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <AlignmentBlock\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n />\n );\n }\n\n default:\n return null;\n }\n })}\n </>\n );\n};\n\nexport default Properties;\n","import { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, toLabelAndValue, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils\";\nimport { ImageUploader } from \"neetoimageuploader\";\nimport { Toastr, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getDominantColorFromUrl } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport SelectBlock from \"./SelectBlock\";\n\nimport { ONE_MEGABYTE } from \"../../constants\";\nimport { POSITION_OPTIONS } from \"../Customize/constants\";\nimport { buildLabel } from \"../Customize/utils\";\n\nconst ImageBlock = ({\n label,\n name,\n imageData = {},\n uploadConfig = { maxImageSize: ONE_MEGABYTE },\n attribute,\n defaultImageSize,\n useDefaultImageSize,\n fixedAspectRatio,\n}) => {\n const { t } = useTranslation();\n const { setFieldValue, values } = useFormikContext();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const propertySchema = findBy({ key: attribute }, themePropertiesSchema);\n\n const enablePositionChanger = propertySchema?.enablePositionChanger || false;\n const options = propertySchema?.options;\n\n const positionKeyInSchema = findBy(\n { key: `${name}_position` },\n themePropertiesSchema\n );\n\n const isPositionChangerVisible =\n enablePositionChanger && imageData?.url && isPresent(positionKeyInSchema);\n\n const positionKeyIndex = findIndexBy(\n { key: `${name}_position` },\n values.properties\n );\n\n const handleImageChange = async image => {\n try {\n if (isEmpty(image.signedId) || isEmpty(image.url)) {\n setFieldValue(name, { signedId: null, url: image.url });\n\n return;\n }\n\n const dominantColor = await getDominantColorFromUrl(image.url);\n\n setFieldValue(name, {\n signedId: image.signedId,\n url: image.url,\n dominantColor,\n });\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n return (\n <div\n className=\"space-y-3\"\n data-cy={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-cy=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n </div>\n )}\n <div className=\"space-y-3\">\n <ImageUploader\n {...{ fixedAspectRatio, uploadConfig }}\n className=\"h-40 w-full\"\n defaultImageSize={useDefaultImageSize ? defaultImageSize : {}}\n key={imageData?.url}\n src={imageData?.url}\n onUploadComplete={handleImageChange}\n />\n {isPositionChangerVisible && (\n <SelectBlock\n label={buildLabel(`${name}Position`, \"image\")}\n options={options || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toLabelAndValue(\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n )}\n onChange={option =>\n setFieldValue(\n `properties[${positionKeyIndex}].value`,\n option.value\n )\n }\n />\n )}\n </div>\n </div>\n );\n};\n\nexport default ImageBlock;\n","import { useFormikContext } from \"formik\";\nimport { snakeToCamelCase } from \"neetocist\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport Properties from \"./Properties\";\nimport { buildLabel } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport ImageBlock from \"../commons/ImageBlock\";\n\nconst Images = ({\n attribute,\n className,\n onPropertiesChange,\n defaultImageSize,\n useDefaultImageSize,\n fixedAspectRatio,\n}) => {\n const { values } = useFormikContext();\n const { helpPopoverProps } = useConfigStore.pick();\n\n const key = snakeToCamelCase(attribute);\n const title = buildLabel(key, \"image\");\n const imageData = values[key];\n\n return (\n <Card\n {...{ className, title }}\n helpPopoverProps={helpPopoverProps[key]}\n name={key}\n >\n <ImageBlock\n {...{\n attribute,\n defaultImageSize,\n fixedAspectRatio,\n imageData,\n useDefaultImageSize,\n }}\n name={key}\n />\n <Properties {...{ onPropertiesChange }} condition={attribute} />\n </Card>\n );\n};\n\nexport default Images;\n","import { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport Card from \"../commons/Card\";\n\nconst ThemeMeta = ({ className }) => {\n const { t } = useTranslation();\n const { helpPopoverProps } = useConfigStore.pick();\n\n const { name: nameHelpPopoverProps = {} } = helpPopoverProps;\n\n return (\n <Card\n {...{ className }}\n helpPopoverProps={nameHelpPopoverProps}\n name=\"name\"\n title={t(\"neetoThemes.common.name\")}\n >\n <Input autoFocus data-cy=\"theme-name-property\" name=\"name\" />\n </Card>\n );\n};\n\nexport default ThemeMeta;\n","import { useEffect, useRef, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { Button, Popover, Typography, Switch, Tooltip } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport routes from \"routes\";\nimport {\n useCreateTheme,\n useUpdateTheme,\n} from \"src/hooks/reactQuery/useThemesApi\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { THEME_VALIDATION_SCHEMA } from \"./constants\";\nimport CustomCSS from \"./CustomCSS\";\nimport Images from \"./Images\";\nimport Properties from \"./Properties\";\nimport ThemeMeta from \"./ThemeMeta\";\nimport { buildImageData, buildInitialValues } from \"./utils\";\n\nimport Card from \"../commons/Card\";\nimport { isScreenCustomCSS, buildPathname } from \"../utils\";\n\nconst Customize = ({\n theme,\n onCreateTheme,\n onApplyTheme,\n onUpdateTheme,\n isApplyingTheme,\n onPropertiesChange,\n defaultImageSize,\n fixedAspectRatio,\n onEditCSSClick,\n currentScreen,\n}) => {\n const { t } = useTranslation();\n\n const history = useHistory();\n\n const [popoverInstance, setPopoverInstance] = useState({});\n const {\n themePropertiesSchema,\n entityType,\n isFetchingSchema,\n helpPopoverProps,\n enabledFeatures,\n } = useConfigStore.pick();\n\n const { themeId } = useParams();\n\n const { currentTheme, setThemeState } = useThemeStore.pick();\n\n const { data: { globalTheme = {} } = {} } = useShowGlobalTheme(entityType);\n\n const { data: themeData = {}, isLoadingTheme } = useFetchTheme(themeId, {\n enabled: isEditThemeRoute() && isNotNil(themeId),\n initialData: theme ?? undefined,\n });\n\n const isLoading = isFetchingSchema || isLoadingTheme;\n const isThemeGlobalTheme = themeId && globalTheme?.id === themeId;\n const isCurrentThemeAndGlobalThemeSame = currentTheme?.id === globalTheme?.id;\n const { style: styleHelpPopoverProps = {} } = helpPopoverProps;\n\n const isEditingCurrentlyAppliedTheme = themeId === currentTheme?.id;\n\n const submitBtnRef = useRef(null);\n\n const { mutate: createTheme, isPending: isCreating } = useCreateTheme();\n const { mutate: updateTheme, isPending: isUpdating } =\n useUpdateTheme(themeId);\n\n const isSubmitting = isCreating || isUpdating;\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleGlobalThemeSwitchChange = (e, setFieldValue) => {\n setFieldValue(\"shouldSetAsGlobalTheme\", e.target.checked);\n };\n\n const onSubmit = (values, { resetForm }) => {\n const imageData = buildImageData(values, themePropertiesSchema);\n const themeToSave = {\n propertiesAttributes: values.properties,\n name: values.name,\n shouldSetAsGlobalTheme: values.shouldSetAsGlobalTheme,\n entityType: values.entityType,\n ...imageData,\n };\n\n if (!themeId) {\n return createTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n resetForm({ values: theme });\n onCreateTheme(theme);\n history.replace(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n },\n });\n }\n\n return updateTheme(themeToSave, {\n onSuccess: ({ theme }) => {\n onUpdateTheme(theme);\n resetForm({ values: theme });\n },\n });\n };\n\n useEffect(() => {\n if (isNotNil(themeId) && !isLoadingTheme) {\n setThemeState({ previewingTheme: themeData });\n }\n }, [isLoadingTheme]);\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Form\n formikProps={{\n initialValues: {\n ...buildInitialValues(themeData, themePropertiesSchema),\n shouldSetAsGlobalTheme: isThemeGlobalTheme,\n entityType,\n },\n validationSchema: THEME_VALIDATION_SCHEMA,\n enableReinitialize: true,\n onSubmit,\n }}\n >\n {({ dirty, values, setFieldValue }) => (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"neeto-themes-sidebar__scroll-content flex flex-grow flex-col px-4 pb-4 lg:px-5\">\n {!isSubmitting && <BlockNavigation />}\n <ThemeMeta className={classNames({ hidden: isCustomCssScreen })} />\n <Card\n className={classNames({ hidden: isCustomCssScreen })}\n helpPopoverProps={styleHelpPopoverProps}\n name=\"style\"\n title={t(\"neetoThemes.common.style\")}\n >\n <Properties {...{ onPropertiesChange }} />\n </Card>\n {filterBy({ kind: \"image\" }, themePropertiesSchema).map(\n ({\n key,\n useDefaultImageSize,\n defaultImageSize: propertyDefaultSize,\n fixedAspectRatio: propertyFixedAspectRatio,\n }) => (\n <Images\n {...{\n fixedAspectRatio,\n onPropertiesChange,\n useDefaultImageSize,\n }}\n attribute={key}\n className={classNames({ hidden: isCustomCssScreen })}\n defaultImageSize={propertyDefaultSize || defaultImageSize}\n key={key}\n fixedAspectRatio={\n propertyFixedAspectRatio || fixedAspectRatio\n }\n />\n )\n )}\n {enabledFeatures.customCSS && (\n <CustomCSS {...{ currentScreen, onEditCSSClick }} />\n )}\n <div className=\"neeto-ui-bg-gray-50 neeto-ui-border-gray-200 mt-2 flex flex-col space-y-2 border p-2\">\n <Tooltip\n disabled={!isThemeGlobalTheme}\n content={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.tooltipContent\"\n )}\n >\n <Switch\n checked={values.shouldSetAsGlobalTheme}\n disabled={isThemeGlobalTheme}\n name=\"shouldSetAsGlobalTheme\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onChange={e =>\n handleGlobalThemeSwitchChange(e, setFieldValue)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" style=\"body2\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.helpText\",\n { entityType }\n )}\n </Typography>\n </div>\n </div>\n <div className=\"neeto-ui-bg-white neeto-ui-shadow-s sticky bottom-0 left-0 right-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-cy=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-cy=\"save-changes-button\"\n disabled={(!dirty && themeData?.id) || isSubmitting}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute right-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pr-5\" style=\"body2\" weight=\"normal\">\n <Trans\n components={{ bold: <strong /> }}\n i18nKey=\"neetoThemes.build.leftSideBar.themes.notAppliedYet\"\n values={{ entityType }}\n />\n </Typography>\n <Button\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.buttons.applyThisTheme\")}\n loading={isApplyingTheme}\n onClick={() => onApplyTheme(themeData)}\n />\n </div>\n }\n disabled={\n isEditingCurrentlyAppliedTheme ||\n (isCurrentThemeAndGlobalThemeSame &&\n values.shouldSetAsGlobalTheme)\n }\n onMount={setPopoverInstance}\n />\n </div>\n )}\n </Form>\n );\n};\n\nexport default Customize;\n","import classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Thumbnail = ({ active, isPreviewing, isHighLightedTheme, theme }) => {\n const { themePropertiesSchema = [] } = useConfigStore.pick();\n\n const [colorObject1, colorObject2] = themePropertiesSchema;\n\n const primaryLabel = humanize(colorObject1?.key);\n const secondaryLabel = humanize(colorObject2?.key);\n\n const primaryColor = findBy(\n { key: colorObject1.key },\n theme.properties\n ).value;\n\n const secondaryColor = findBy(\n { key: colorObject2.key },\n theme.properties\n ).value;\n\n const backgroundImageUrl =\n theme[\n snakeToCamelCase(\n findBy({ useAsCardBackground: true }, themePropertiesSchema).key\n )\n ]?.url;\n\n const buttonBackgroundColor = findBy(\n {\n key: findBy({ useAsCardButtonBackground: true }, themePropertiesSchema)\n ?.key,\n },\n theme.properties\n )?.value;\n\n return (\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !active,\n \"neeto-ui-border-gray-800 neeto-themes-theme-thumbnail--active\":\n active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\": isHighLightedTheme,\n }\n )}\n style={{\n backgroundImage: backgroundImageUrl\n ? `url(${backgroundImageUrl})`\n : \"initial\",\n backgroundSize: \"cover\",\n }}\n >\n <div className=\"neeto-ui-rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"neeto-ui-rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography style=\"h3\" weight=\"semibold\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography className=\"neeto-ui-text-gray-600\" style=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"neeto-ui-rounded-lg h-5 w-12\"\n style={{ backgroundColor: buttonBackgroundColor }}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default Thumbnail;\n","import { memo } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { Rating } from \"neetoicons\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\n\nimport DefaultThumbnail from \"./Thumbnail\";\n\nconst Card = ({\n active = false,\n isPreviewing,\n onSetPreviewTheme,\n onDeleteTheme,\n onEditTheme,\n theme,\n isApplyingTheme,\n onCloneTheme,\n isHighLightedTheme,\n isGlobalTheme,\n onApplyTheme,\n onApplyGlobalTheme,\n thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n\n const { id, name, appliedCount } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name, appliedCount);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-cy={active ? \"active-theme-card\" : \"theme-card\"}\n id={theme.id}\n >\n <div\n className={classnames(\n \"neeto-themes-theme-thumbnail neeto-ui-rounded-lg relative cursor-pointer border transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-200\": !active,\n \"neeto-themes-theme-thumbnail--active\": active,\n \"neeto-themes-theme-thumbnail--preview-active\": isPreviewing,\n \"neeto-themes-theme-thumbnail--highlight-active\":\n isHighLightedTheme,\n }\n )}\n onClick={() => onSetPreviewTheme(theme)}\n >\n <div className=\"neeto-ui-rounded-lg relative overflow-hidden rounded-bl-none rounded-br-none transition-all duration-300 ease-in-out\">\n <div className=\"absolute left-0 top-0 z-10 flex h-full w-full items-center justify-center gap-1 p-3\">\n {active ? (\n <span\n className=\"neeto-ui-btn neeto-themes-theme-thumbnail__active-label neeto-ui-btn--style-primary neeto-ui-btn--size-medium neeto-ui-rounded-full flex-shrink-0 cursor-auto justify-center\"\n data-cy=\"active-theme-label\"\n >\n {t(\"neetoThemes.common.activeTheme\")}\n </span>\n ) : (\n <div\n className={classnames({\n hidden: !isPreviewing,\n \"group-hover:block\": true,\n })}\n >\n <div className=\"relative flex w-full flex-col gap-2\">\n <Button\n data-cy=\"preview-theme-button\"\n disabled={isPreviewing}\n label={t(\"neetoThemes.common.previewTheme\")}\n size=\"medium\"\n style=\"tertiary\"\n className={classnames({\n \"neeto-themes-theme-thumbnail__preview-btn--disabled opacity-100\":\n isPreviewing,\n \"neeto-themes-theme-thumbnail__preview-btn flex-shrink-0 justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn flex-shrink-0 justify-center\"\n data-cy=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.useTheme\")}\n loading={isApplyingTheme}\n size=\"medium\"\n style=\"primary\"\n onClick={() => onApplyTheme(theme)}\n />\n </div>\n </div>\n )}\n </div>\n <div className=\"neeto-themes-theme-thumbnail__overlay w-full transition-all duration-300 ease-in-out\">\n {Thumbnail ? (\n <Thumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n ) : (\n <DefaultThumbnail\n {...{ active, isHighLightedTheme, isPreviewing, theme }}\n />\n )}\n </div>\n </div>\n <div className=\"neeto-ui-border-gray-100 flex items-start justify-between gap-1 border-t p-2\">\n <div className=\"flex items-center space-x-2\">\n <Typography\n className=\"line-clamp-2 min-w-0 flex-grow break-words pt-1\"\n data-cy=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Rating\n className=\"neeto-themes-nano-global-theme-icon\"\n data-cy=\"global-theme-icon\"\n size={18}\n />\n )}\n </div>\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\n {\n key: \"edit\",\n \"data-cy\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-cy\": \"clone-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.clone\"\n ),\n onClick: handleCloneTheme,\n },\n {\n key: \"set-as-global-theme\",\n \"data-cy\": \"set-as-global-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n ),\n isVisible: !isGlobalTheme,\n onClick: handleApplyGlobalTheme,\n },\n {\n key: \"divider\",\n type: \"divider\",\n isVisible: isFunction(onDeleteTheme),\n },\n {\n key: \"delete\",\n \"data-cy\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isVisible: isFunction(onDeleteTheme),\n onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default memo(Card);\n","import { useEffect, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport Search from \"neetomolecules/Search\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport {\n useCloneTheme,\n useApplyGlobalTheme,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Card from \"./Card\";\n\nconst Themes = ({\n onEditTheme,\n themes = [],\n defaultThemes = [],\n onDeleteTheme,\n themeToHighlight,\n didScrollActiveThemeIntoView,\n isLoading,\n currentTheme,\n isCurrentThemeLoading,\n thumbnail,\n themeBeingApplied,\n onApplyTheme,\n onApplyGlobalThemeSuccess,\n isApplyingTheme,\n}) => {\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n const { setThemeState, previewingTheme } = useThemeStore.pick();\n const { entityType } = useConfigStore.pick();\n\n const [searchQuery, setSearchQuery] = useState(\"\");\n\n const { mutate: cloneTheme } = useCloneTheme();\n const { mutate: applyGlobalTheme } = useApplyGlobalTheme();\n\n const { data: { globalTheme = {} } = {}, isLoading: isLoadingGlobalTheme } =\n useShowGlobalTheme(entityType);\n\n useEffect(() => {\n if (didScrollActiveThemeIntoView.current || !currentTheme?.id) return;\n\n didScrollActiveThemeIntoView.current = true;\n setTimeout(() => {\n scrollElementIntoView(currentTheme?.id);\n }, 100);\n }, [didScrollActiveThemeIntoView, currentTheme?.id]);\n\n const setPreviewTheme = theme => {\n setThemeState({ previewingTheme: theme });\n setTheme(theme);\n };\n\n const filteredDefaultThemes = defaultThemes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchQuery.toLowerCase())\n );\n\n const isSearchFieldVisible = themes?.length + defaultThemes?.length > 10;\n\n const handleCloneTheme = data => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n onEditTheme(clonedTheme);\n },\n });\n };\n\n const handleApplyGlobalTheme = themeId => {\n const payload = { entityType };\n applyGlobalTheme(\n { themeId, payload },\n {\n onSuccess: () => {\n onApplyGlobalThemeSuccess?.();\n },\n }\n );\n };\n\n if (isLoading || isCurrentThemeLoading || isLoadingGlobalTheme) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchFieldVisible && (\n <Search\n autoFocus\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n onSearch={setSearchQuery}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography className=\"text-center\" style=\"body2\">\n {t(\"neetoThemes.common.noResultsFound\")}\n </Typography>\n )}\n {isNotEmpty(filteredDefaultThemes) && (\n <>\n <Typography\n className=\"my-4 px-6 uppercase lg:px-5 xl:px-6\"\n data-cy=\"system-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.systemThemes\")}\n </Typography>\n <div\n className=\"flex flex-col gap-4 px-6 pb-10 lg:px-5 xl:px-6\"\n data-cy=\"system-themes\"\n >\n {filteredDefaultThemes.map(theme => (\n <Card\n {...{ onApplyTheme, theme, thumbnail }}\n active={currentTheme?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </>\n )}\n </div>\n {isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\n <Typography\n className=\"my-4 px-6 uppercase\"\n data-cy=\"custom-themes-header\"\n style=\"h6\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.customThemes\")}\n </Typography>\n <div className=\"flex flex-col gap-4 px-6\" data-cy=\"custom-themes\">\n {filteredThemes.map(theme => {\n const isActive = currentTheme?.id === theme.id;\n const isPreviewing = previewingTheme?.id === theme.id;\n\n return (\n <Card\n {...{\n isPreviewing,\n onApplyTheme,\n onEditTheme,\n theme,\n thumbnail,\n }}\n active={isActive}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n isApplyingTheme={\n isApplyingTheme && themeBeingApplied?.id === theme.id\n }\n onApplyGlobalTheme={handleApplyGlobalTheme}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n )}\n </div>\n );\n};\n\nexport default Themes;\n","import { LeftArrow, Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute, isNewThemeRoute } from \"components/utils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport { isScreenCustomCSS } from \"./utils\";\n\nconst TitleBar = ({ currentScreen, handleBackPress, handleCreateNewTheme }) => {\n const { t } = useTranslation();\n\n const { previewingTheme } = useThemeStore.pick();\n const themeId = previewingTheme?.id;\n const { entityType, helpDocUrl } = useConfigStore.pick();\n\n const isCustomizeScreen = isEditThemeRoute() || isNewThemeRoute();\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4\">\n <div className=\"flex items-center justify-start space-x-2\">\n <Button\n data-cy=\"customize-themes-back-button\"\n icon={LeftArrow}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"top\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {isCustomizeScreen &&\n !isCustomCssScreen &&\n (isNewThemeRoute()\n ? t(\"neetoThemes.build.leftSideBar.themes.createTheme.title\")\n : t(\"neetoThemes.build.leftSideBar.themes.editTheme.title\"))}\n {isCustomCssScreen &&\n t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n </Typography>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"neeto-themes-sidebar__header px-6 lg:px-5 xl:px-6\">\n <div className=\"flex items-center justify-between space-x-2\">\n <div className=\"flex space-x-2\">\n <Typography\n data-cy=\"themes-header\"\n lineHeight=\"normal\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.headerTabs.themes\")}\n </Typography>\n <HelpPopover\n helpLinkProps={helpDocUrl && { href: helpDocUrl }}\n title={t(\"neetoThemes.build.leftSideBar.helpPopover.title\")}\n description={t(\n \"neetoThemes.build.leftSideBar.helpPopover.description\",\n { entityType }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-cy=\"customize-themes-add-theme-button\"\n icon={Plus}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.buttons.addNewTheme\"),\n position: \"top\",\n }}\n onClick={handleCreateNewTheme}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default TitleBar;\n","import { memo, useCallback, useRef, useState, useEffect } from \"react\";\n\nimport classNames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Collapse } from \"neetoicons\";\nimport { Alert, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\nimport { scrollElementIntoView } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport {\n useApplyTheme,\n useDeleteTheme,\n useListThemes,\n} from \"hooks/reactQuery/useThemesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport routes from \"routes\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { isScreenCustomCSS, buildPathname } from \"./utils\";\n\nimport { DESIGN_SCREENS } from \"../constants\";\n\nconst MemoizedAlert = memo(Alert);\n\nconst Sidebar = ({\n thumbnail,\n onPropertiesChange,\n defaultImageSize,\n fixedAspectRatio,\n onApplyThemeSuccess,\n onUpdateThemeSuccess,\n onApplyGlobalThemeSuccess,\n}) => {\n const [currentScreen, setCurrentScreen] = useState(DESIGN_SCREENS.THEMES);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [themeToHighlight, setThemeToHighlight] = useState(null);\n const [themeBeingApplied, setThemeBeingApplied] = useState({});\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const [isThemesSidebarCollapsed, setIsThemesSidebarCollapsed] =\n useState(!isLargerScreen);\n\n const history = useHistory();\n\n useEffect(() => {\n setIsThemesSidebarCollapsed(!isLargerScreen);\n }, [isLargerScreen]);\n\n const { entityType, entityId, isFetchingSchema, defaultThemeName } =\n useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n\n const didScrollActiveThemeIntoView = useRef(null);\n const { t } = useTranslation();\n const { setTheme } = useThemeUtils();\n\n const { data: { themes = [], defaultThemes = [] } = {}, isLoading } =\n useListThemes(entityId);\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading: isCurrentThemeLoading,\n } = useShowThemeEntity(entityId);\n\n const { mutate: deleteTheme, isPending: isDeleting } = useDeleteTheme();\n\n const { mutate: applyTheme, isPending: isApplyingTheme } = useApplyTheme({\n onSuccess: ({ theme }) => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const handleCreateNewTheme = () => {\n history.push(buildPathname(routes.themes.new));\n };\n\n const handleEditTheme = theme => {\n themeToEdit.current = theme;\n history.push(\n buildUrl(buildPathname(routes.themes.edit), { themeId: theme.id })\n );\n };\n\n const onApplyTheme = theme => {\n if (isApplyingTheme) return;\n\n setThemeBeingApplied(theme);\n applyTheme({ themeId: theme.id, entityId, entityType });\n };\n\n const navigateToThemesScreen = themeId => {\n highlightTheme(isPresent(themeId) ? themeId : currentTheme?.id);\n history.push(buildPathname(routes.themes.index));\n\n themeToEdit.current = null;\n };\n\n const handleBackPress = themeId => {\n if (isCustomCssScreen) {\n setCurrentScreen(DESIGN_SCREENS.Customize);\n\n return;\n }\n\n navigateToThemesScreen(themeId);\n };\n\n const highlightTheme = themeIdToHighlight => {\n setTimeout(() => {\n scrollElementIntoView(themeIdToHighlight);\n }, 1500);\n\n setTimeout(() => {\n setThemeToHighlight(null);\n }, 4000);\n\n setThemeToHighlight(themeIdToHighlight);\n };\n\n const onCreateTheme = createdTheme => {\n themeToEdit.current = createdTheme;\n setTheme(createdTheme);\n setThemeState({ previewingTheme: createdTheme });\n };\n\n const onUpdateTheme = updatedTheme => {\n themeToEdit.current = updatedTheme;\n onUpdateThemeSuccess?.(updatedTheme);\n };\n\n const handleDelete = (themeId, name, appliedCount) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name, appliedCount };\n };\n\n const handleCloseDeleteAlert = useCallback(() => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n }, [themeToDelete]);\n\n const handleDeleteTheme = useCallback(() => {\n deleteTheme(themeToDelete.current?.id, {\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n themeToDelete.current = null;\n },\n });\n }, [deleteTheme, themeToDelete]);\n\n return (\n <>\n {!isThemesSidebarCollapsed && (\n <div\n className=\"neeto-themes-sidebar__backdrop\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n )}\n <div\n className={classNames(\n \"neeto-themes-sidebar neeto-ui-border-gray-200 flex-shrink-0 border-r transition-all duration-300\",\n { \"neeto-themes-sidebar--expanded\": isCustomCssScreen },\n {\n \"neeto-themes-sidebar--collapsed\": isThemesSidebarCollapsed,\n }\n )}\n >\n <TitleBar\n {...{ currentScreen, handleBackPress, handleCreateNewTheme }}\n />\n <Switch>\n <Route\n exact\n path={buildPathname(routes.themes.index)}\n render={() => (\n <Themes\n {...{\n currentTheme,\n defaultThemes,\n didScrollActiveThemeIntoView,\n highlightTheme,\n isApplyingTheme,\n isCurrentThemeLoading,\n onApplyGlobalThemeSuccess,\n onApplyTheme,\n themeBeingApplied,\n themeToHighlight,\n themes,\n thumbnail,\n }}\n isLoading={isLoading || isFetchingSchema}\n onDeleteTheme={handleDelete}\n onEditTheme={handleEditTheme}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.new)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n defaultImageSize,\n fixedAspectRatio,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n <Route\n path={buildPathname(routes.themes.edit)}\n render={() => (\n <Customize\n {...{\n currentScreen,\n defaultImageSize,\n fixedAspectRatio,\n isApplyingTheme,\n onApplyTheme,\n onCreateTheme,\n onPropertiesChange,\n onUpdateTheme,\n }}\n theme={themeToEdit.current}\n onEditCSSClick={setCurrentScreen}\n />\n )}\n />\n </Switch>\n <MemoizedAlert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n title={t(\"neetoThemes.alerts.title.deleteTheme\")}\n message={t(\"neetoThemes.alerts.message.deleteTheme\", {\n name: themeToDelete.current?.name,\n count: themeToDelete.current?.appliedCount,\n defaultThemeName,\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: themeToDelete.current?.appliedCount }\n ),\n })}\n onClose={handleCloseDeleteAlert}\n onSubmit={handleDeleteTheme}\n />\n <Button\n className=\"neeto-themes-sidebar__toggler\"\n icon={Collapse}\n style=\"secondary\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect } from \"react\";\n\nimport { noop, isNotPresent } from \"neetocist\";\nimport { PageTitle } from \"neetocommons/react-utils\";\nimport { Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isEditThemeRoute } from \"components/utils\";\nimport { useShowThemeEntity } from \"hooks/reactQuery/useEntitiesApi\";\nimport useThemeUtils from \"hooks/useThemeUtils\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\n// eslint-disable-next-line import/extensions\nimport \"stylesheets/components/themes.scss\";\n\nimport Sidebar from \"./Sidebar\";\n\nconst NeetoThemesBuilder = ({\n children,\n entityType,\n entityId,\n thumbnail,\n onPropertiesChange,\n defaultImageSize = {},\n fixedAspectRatio = {},\n helpDocUrl = null,\n isTemplateThemesEnabled = false,\n pageTitle = null,\n onApplyThemeSuccess = noop,\n onUpdateThemeSuccess = noop,\n onApplyGlobalThemeSuccess = noop,\n helpPopoverProps = {},\n enabledFeatures = { customCSS: true },\n}) => {\n const { setThemeState } = useThemeStore.pick();\n const { setTheme } = useThemeUtils();\n const { setConfigState } = useConfigStore.pick();\n const { t } = useTranslation();\n\n const {\n data: { theme: currentTheme = {} } = {},\n isLoading,\n isFetching: isFetchingCurrentTheme,\n } = useShowThemeEntity(entityId);\n\n const isCurrentThemeLoading = isLoading || isFetchingCurrentTheme;\n\n useEffect(() => {\n setConfigState({\n entityType,\n entityId,\n isTemplateThemesEnabled,\n helpDocUrl,\n helpPopoverProps,\n enabledFeatures,\n });\n }, []);\n\n useEffect(() => {\n if (isNotPresent(currentTheme) || isEditThemeRoute()) {\n return;\n }\n\n setThemeState({ previewingTheme: currentTheme });\n setTheme(currentTheme);\n }, [isLoading, entityId, currentTheme]);\n\n useEffect(() => {\n if (isNotPresent(currentTheme)) return;\n\n setThemeState({ currentTheme, isCurrentThemeLoading });\n }, [currentTheme, isCurrentThemeLoading]);\n\n useEffect(() => {\n const setViewportHeight = () => {\n document.documentElement.style.setProperty(\n \"--viewport-height\",\n `${window.innerHeight}px`\n );\n };\n\n setViewportHeight();\n window.addEventListener(\"load\", setViewportHeight);\n window.addEventListener(\"resize\", setViewportHeight);\n window.addEventListener(\"orientationchange\", setViewportHeight);\n window.addEventListener(\"scroll\", setViewportHeight);\n\n return () => {\n window.addEventListener(\"load\", setViewportHeight);\n window.removeEventListener(\"resize\", setViewportHeight);\n window.removeEventListener(\"orientationchange\", setViewportHeight);\n window.addEventListener(\"scroll\", setViewportHeight);\n };\n }, []);\n\n return (\n <div className=\"neeto-themes__wrapper\">\n <PageTitle title={pageTitle || t(\"neetoThemes.common.theme\")} />\n <Sidebar\n {...{\n defaultImageSize,\n fixedAspectRatio,\n onApplyGlobalThemeSuccess,\n onApplyThemeSuccess,\n onPropertiesChange,\n onUpdateThemeSuccess,\n thumbnail,\n }}\n />\n <div className=\"neeto-themes-preview__wrapper\">\n {isCurrentThemeLoading ? (\n <div className=\"m-auto flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n children\n )}\n </div>\n </div>\n );\n};\n\nexport default NeetoThemesBuilder;\n"],"names":["show","entityId","axios","get","concat","BASE_URL","entitiesApi","useShowThemeEntity","useQuery","queryKey","QUERY_KEYS","THEME_ENTITY_DETAILS","queryFn","enabled","list","params","entity_id","id","create","payload","post","theme","update","_ref","put","destroy","clone","apply","_ref2","themeId","_objectWithoutProperties","_excluded","entity","applyGlobalTheme","_ref3","themesApi","useListThemes","_useConfigStore","useConfigStore","store","isTemplateThemesEnabled","shallow","THEMES_LIST","useFetchTheme","options","_objectSpread","THEME_DETAILS","useCreateTheme","useMutationWithInvalidation","keysToInvalidate","GLOBAL_THEME_DETAILS","useUpdateTheme","queryClient","useQueryClient","onSuccess","setQueryData","useDeleteTheme","useCloneTheme","useApplyTheme","useApplyGlobalTheme","routes","themes","index","edit","entityType","entity_type","globalThemesApi","useShowGlobalTheme","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","value","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","className","classNames","rounded","scrollBeyondLastLine","minimap","Card","_ref$title","title","name","helpPopoverProps","accordionOpenState","setAccordionOpenState","_jsxs","hyphenate","classnames","type","onClick","_defineProperty","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","Right","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","themePropertiesSchema","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","customCSS","findBy","kind","properties","parentElementClass","parentClass","handleEditorToggle","setTimeout","scrollElementIntoView","handleChange","findIndexBy","key","setCustomCSS","css","elementId","Button","label","customcss","buildInitialValues","map","defaultValue","_ref$order","order","dependsOn","String","filter","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","forEach","imageKeys","Set","ele","add","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","LeftAlign","tooltipProps","content","position","CenterAlign","ColorBlock","_ref$color","color","showTransparencyControl","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","menuPosition","styles","option","data","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","SwitchBlock","switchProps","i18n","translationKey","doesHelpTextExist","exists","HelpPopover","description","Switch","Properties","onPropertiesChange","_useThemeStore","useThemeStore","setThemeState","_useThemeUtils","useThemeUtils","setVariable","setTheme","handleColorChange","hex","rgb","_findBy","_values$backgroundIma","isDominantBackgroundColorEnabled","hasImageWithDominantColor","backgroundImage","dominantColor","r","g","b","a","variableValue","handleOverlayChange","overlayColorVariable","Math","abs","useEffect","previewingTheme","_Fragment","sort","_findBy2","Infinity","_findBy3","isCurrentPropertyVisible","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy4","toLabelAndValue","POSITION_OPTIONS","checked","target","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","fixedAspectRatio","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","image","wrap","_callee$","_context","prev","next","abrupt","getDominantColorFromUrl","sent","t0","Toastr","error","stop","_x","arguments","_createElement","ImageUploader","src","onUploadComplete","Images","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","Input","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","_useState","useState","_useState2","_slicedToArray","popoverInstance","setPopoverInstance","isFetchingSchema","enabledFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","isEditThemeRoute","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","replace","buildUrl","PageLoader","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","dirty","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","Tooltip","disabled","loading","ref","Popover","appendTo","document","body","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","Thumbnail","_theme$snakeToCamelCa","active","isPreviewing","isHighLightedTheme","_useConfigStore$theme","_themePropertiesSchem","colorObject1","colorObject2","primaryLabel","humanize","secondaryLabel","primaryColor","secondaryColor","backgroundImageUrl","useAsCardBackground","buttonBackgroundColor","useAsCardButtonBackground","backgroundSize","backgroundColor","_ref$active","onSetPreviewTheme","onDeleteTheme","onEditTheme","onCloneTheme","isGlobalTheme","onApplyGlobalTheme","thumbnail","appliedCount","handleCloneTheme","handleEditTheme","handleDeleteTheme","handleApplyGlobalTheme","DefaultThumbnail","Rating","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","stopPropagation","menuItems","isVisible","isFunction","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyGlobalThemeSuccess","searchQuery","setSearchQuery","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Search","autoComplete","onSearch","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","_themeToDelete$curren3","_themeToDelete$curren4","onApplyThemeSuccess","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","deleteTheme","isDeleting","_useApplyTheme","highlightTheme","applyTheme","themeToDelete","themeToEdit","push","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","isOpen","message","count","onClose","Collapse","NeetoThemesBuilder","_ref$defaultImageSize","_ref$fixedAspectRatio","_ref$helpDocUrl","_ref$isTemplateThemes","_ref$pageTitle","pageTitle","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$onApplyGlobalThe","_ref$helpPopoverProps","_ref$enabledFeatures","setConfigState","isFetchingCurrentTheme","isFetching","setViewportHeight","documentElement","setProperty","window","innerHeight","addEventListener","removeEventListener","PageTitle"],"mappings":"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","x_google_ignoreList":[2]}
|