@bigbinary/neeto-themes-frontend 4.0.14 → 4.0.16
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/app/javascript/src/translations/ar.json +4 -0
- package/app/javascript/src/translations/bg.json +4 -0
- package/app/javascript/src/translations/ca.json +4 -0
- package/app/javascript/src/translations/cs.json +4 -0
- package/app/javascript/src/translations/da.json +4 -0
- package/app/javascript/src/translations/de.json +4 -0
- package/app/javascript/src/translations/en.json +4 -0
- package/app/javascript/src/translations/es-MX.json +4 -0
- package/app/javascript/src/translations/es.json +4 -0
- package/app/javascript/src/translations/et.json +4 -0
- package/app/javascript/src/translations/fi.json +4 -0
- package/app/javascript/src/translations/fil.json +4 -0
- package/app/javascript/src/translations/fr.json +4 -0
- package/app/javascript/src/translations/he.json +4 -0
- package/app/javascript/src/translations/hi.json +4 -0
- package/app/javascript/src/translations/hr.json +4 -0
- package/app/javascript/src/translations/hu.json +4 -0
- package/app/javascript/src/translations/id.json +4 -0
- package/app/javascript/src/translations/it.json +4 -0
- package/app/javascript/src/translations/ja.json +4 -0
- package/app/javascript/src/translations/ko.json +4 -0
- package/app/javascript/src/translations/nl.json +4 -0
- package/app/javascript/src/translations/pl.json +4 -0
- package/app/javascript/src/translations/pt-BR.json +4 -0
- package/app/javascript/src/translations/pt.json +4 -0
- package/app/javascript/src/translations/ro.json +4 -0
- package/app/javascript/src/translations/ru.json +4 -0
- package/app/javascript/src/translations/sk.json +4 -0
- package/app/javascript/src/translations/sl.json +4 -0
- package/app/javascript/src/translations/sv.json +4 -0
- package/app/javascript/src/translations/th.json +4 -0
- package/app/javascript/src/translations/tr.json +4 -0
- package/app/javascript/src/translations/uk.json +4 -0
- package/app/javascript/src/translations/vi.json +4 -0
- package/app/javascript/src/translations/zh-CN.json +4 -0
- package/app/javascript/src/translations/zh-TW.json +4 -0
- package/dist/NeetoThemesBuilder.js +11 -5
- package/dist/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/NeetoThemesBuilder.js +11 -5
- package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/hooks.js +2 -1
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/hooks.js +2 -1
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/{useThemeUtils-0tkceuqS.js → useThemeUtils-BaUtDOWd.js} +18 -2
- package/dist/useThemeUtils-BaUtDOWd.js.map +1 -0
- package/dist/{useThemeUtils-BwChoJyP.js → useThemeUtils-Dc_sN2SE.js} +18 -2
- package/dist/useThemeUtils-Dc_sN2SE.js.map +1 -0
- package/package.json +7 -7
- package/dist/useThemeUtils-0tkceuqS.js.map +0 -1
- package/dist/useThemeUtils-BwChoJyP.js.map +0 -1
|
@@ -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/LogoPosition.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/commons/TextBlock.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 i18n from \"i18next\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Right, Left } from \"neetoicons\";\nimport HelpPopver from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Card = ({\n title = \"\",\n children,\n name,\n className,\n helpPopoverProps,\n required,\n isDisabled = false,\n}) => {\n const { accordionOpenState, setAccordionOpenState } = useConfigStore.pick();\n\n const isRTL = i18n.dir() === \"rtl\";\n const ToggleIcon = isRTL ? Left : Right;\n\n return (\n <div\n data-testid={`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 \"opacity-40\": isDisabled,\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 disabled={isDisabled}\n type=\"button\"\n onClick={() =>\n setAccordionOpenState({\n ...accordionOpenState,\n [name]: !accordionOpenState[name],\n })\n }\n >\n <Typography\n className=\"flex min-w-0 grow items-center gap-2 text-start\"\n component=\"span\"\n data-testid=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n {required && (\n <span aria-hidden className=\"-ms-1\">\n *\n </span>\n )}\n {isPresent(helpPopoverProps) && (\n <HelpPopver {...helpPopoverProps} />\n )}\n </Typography>\n <ToggleIcon\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-90 rtl:-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 = ({\n onEditCSSClick,\n currentScreen,\n isEnabled,\n isProFeature,\n}) => {\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 || (!isEnabled && !isProFeature)) 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 isDisabled={!isEnabled}\n name=\"customcss\"\n helpPopoverProps={\n isEnabled\n ? customCssHelpPopoverProps\n : {\n title: t(\"neetoThemes.common.proFeature.title\"),\n description: t(\"neetoThemes.common.proFeature.description\"),\n }\n }\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n {isEnabled && (\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 )}\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { useFormikContext } from \"formik\";\nimport { findIndexBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoPosition = () => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n const index = findIndexBy({ key: \"logo_position\" }, values.properties);\n // Do not show this field if the logo_position property is not present.\n if (index === -1) return null;\n\n return (\n <Radio\n stacked\n name={`properties[${index}].value`}\n label={\n <Typography\n className=\"my-3\"\n component=\"span\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.title\")}\n </Typography>\n }\n >\n <Radio.Item\n value=\"over_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography component=\"span\" style=\"body2\" weight=\"semibold\">\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.overLeft\")}\n </Typography>\n <Typography component=\"span\" style=\"body3\" weight=\"normal\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeftDescription\"\n )}\n </Typography>\n </span>\n }\n />\n <Radio.Item\n value=\"below_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography component=\"span\" style=\"body2\" weight=\"semibold\">\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeft\")}\n </Typography>\n <Typography component=\"span\" style=\"body3\" weight=\"normal\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeftDescription\"\n )}\n </Typography>\n </span>\n }\n />\n </Radio>\n );\n};\n\nexport default LogoPosition;\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 \"text_input\":\n return {\n value: defaultValue || \"\",\n kind: \"text_input\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\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 case \"logo_position\":\n return {\n value: defaultValue,\n kind: \"logo_position\",\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-testid={joinHyphenCase(label)}\n >\n <Typography data-testid=\"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-testid=\"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-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-testid=\"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 className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Input } from \"neetoui\";\n\nconst TextBlock = ({\n label,\n name,\n type = \"text\",\n value,\n onChange,\n placeholder,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Input {...{ name, onChange, placeholder, type, value }} />\n </div>\n </div>\n);\n\nexport default TextBlock;\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\";\nimport TextBlock from \"../commons/TextBlock\";\n\nconst Properties = ({ onPropertiesChange, condition, themeId }) => {\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 if (!(values?.id === themeId)) return;\n\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 \"text_input\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\n <TextBlock\n key={key}\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n value={value || \"\"}\n onChange={e =>\n setFieldValue(`properties[${index}].value`, e.target.value)\n }\n />\n );\n }\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-testid={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-testid=\"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 LogoPosition from \"./LogoPosition\";\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 {key === \"logo\" && values.coverImage?.url && <LogoPosition />}\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 required\n helpPopoverProps={nameHelpPopoverProps}\n name=\"name\"\n title={t(\"neetoThemes.common.name\")}\n >\n <Input autoFocus data-testid=\"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, isNotPresent } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Popover, Typography, Switch, Tooltip, Spinner } 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 proFeatures,\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 (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\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 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, themeId }} />\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 <CustomCSS\n {...{ currentScreen, onEditCSSClick }}\n isEnabled={enabledFeatures.customCSS}\n isProFeature={proFeatures.customCSS}\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 start-0 end-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-testid=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-testid=\"save-changes-button\"\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n disabled={\n (!dirty && themeData?.id) ||\n isSubmitting ||\n isNotPresent(values?.name?.trim())\n }\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 end-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pe-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 } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-testid={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 start-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 shrink-0 cursor-auto justify-center\"\n data-testid=\"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-testid=\"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 shrink-0 justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn shrink-0 justify-center\"\n data-testid=\"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 grow wrap-anywhere pt-1\"\n data-testid=\"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-testid=\"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-testid\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-testid\": \"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-testid\": \"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-testid\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isDisabled: isApplyingTheme,\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 } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\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, entityId } = useConfigStore.pick();\n\n const { searchTerm = \"\" } = useQueryParams();\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(searchTerm.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchTerm.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, entityId };\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 enableUrlSync\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography\n className=\"text-center\"\n data-testid=\"no-data-title\"\n style=\"body2\"\n >\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-testid=\"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-testid=\"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-testid=\"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-testid=\"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 i18next from \"i18next\";\nimport { LeftArrow, Plus, RightArrow } 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 const isRTL = i18next.dir() === \"rtl\";\n const BackButtonIcon = isRTL ? RightArrow : LeftArrow;\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-testid=\"customize-themes-back-button\"\n icon={BackButtonIcon}\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-testid=\"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-testid=\"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-testid=\"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) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name };\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 shrink-0 border-e 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 defaultThemeName,\n entityType: t(`neetoThemes.entityType.${entityType.toLowerCase()}`),\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/main.css\";\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 proFeatures = {}, // Add supported pro features here, example: { 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 proFeatures,\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.removeEventListener(\"load\", setViewportHeight);\n window.removeEventListener(\"resize\", setViewportHeight);\n window.removeEventListener(\"orientationchange\", setViewportHeight);\n window.removeEventListener(\"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","required","_ref$isDisabled","isDisabled","accordionOpenState","setAccordionOpenState","isRTL","i18n","dir","ToggleIcon","Left","Right","_jsxs","hyphenate","classnames","disabled","type","onClick","_defineProperty","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","isEnabled","isProFeature","_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","description","Button","label","customcss","LogoPosition","Radio","stacked","Item","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","translationKey","doesHelpTextExist","exists","HelpPopover","Switch","TextBlock","_ref$type","Input","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","target","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy4","toLabelAndValue","POSITION_OPTIONS","checked","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","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","_useState","useState","_useState2","_slicedToArray","popoverInstance","setPopoverInstance","isFetchingSchema","enabledFeatures","proFeatures","_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","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","_values$name","dirty","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","Tooltip","loading","ref","trim","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","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","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Search","enableUrlSync","autoComplete","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","i18next","BackButtonIcon","RightArrow","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","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","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","_ref$proFeatures","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/LogoPosition.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/commons/TextBlock.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 i18n from \"i18next\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport { Right, Left } from \"neetoicons\";\nimport HelpPopver from \"neetomolecules/HelpPopover\";\nimport { Typography } from \"neetoui\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nconst Card = ({\n title = \"\",\n children,\n name,\n className,\n helpPopoverProps,\n required,\n isDisabled = false,\n}) => {\n const { accordionOpenState, setAccordionOpenState } = useConfigStore.pick();\n\n const isRTL = i18n.dir() === \"rtl\";\n const ToggleIcon = isRTL ? Left : Right;\n\n return (\n <div\n data-testid={`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 \"opacity-40\": isDisabled,\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 disabled={isDisabled}\n type=\"button\"\n onClick={() =>\n setAccordionOpenState({\n ...accordionOpenState,\n [name]: !accordionOpenState[name],\n })\n }\n >\n <Typography\n className=\"flex min-w-0 grow items-center gap-2 text-start\"\n component=\"span\"\n data-testid=\"theme-properties\"\n lineHeight=\"normal\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {title}\n {required && (\n <span aria-hidden className=\"-ms-1\">\n *\n </span>\n )}\n {isPresent(helpPopoverProps) && (\n <HelpPopver {...helpPopoverProps} />\n )}\n </Typography>\n <ToggleIcon\n size={20}\n className={classnames(\"transition-all duration-300\", {\n \"rotate-90 rtl:-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 = ({\n onEditCSSClick,\n currentScreen,\n isEnabled,\n isProFeature,\n}) => {\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 || (!isEnabled && !isProFeature)) 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 isDisabled={!isEnabled}\n name=\"customcss\"\n helpPopoverProps={\n isEnabled\n ? customCssHelpPopoverProps\n : {\n title: t(\"neetoThemes.common.proFeature.title\"),\n description: t(\"neetoThemes.common.proFeature.description\"),\n }\n }\n title={\n isCustomCssScreen\n ? \"\"\n : t(\"neetoThemes.build.leftSideBar.themes.customCSS\")\n }\n >\n {isEnabled && (\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 )}\n </Card>\n </div>\n );\n};\n\nexport default CustomCSS;\n","import { useFormikContext } from \"formik\";\nimport { findIndexBy } from \"neetocist\";\nimport { Typography } from \"neetoui\";\nimport { Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst LogoPosition = () => {\n const { t } = useTranslation();\n\n const { values } = useFormikContext();\n const index = findIndexBy({ key: \"logo_position\" }, values.properties);\n // Do not show this field if the logo_position property is not present.\n if (index === -1) return null;\n\n return (\n <Radio\n stacked\n name={`properties[${index}].value`}\n label={\n <Typography\n className=\"my-3\"\n component=\"span\"\n style=\"body2\"\n weight=\"semibold\"\n >\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.title\")}\n </Typography>\n }\n >\n <Radio.Item\n value=\"over_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography component=\"span\" style=\"body2\" weight=\"semibold\">\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.overLeft\")}\n </Typography>\n <Typography component=\"span\" style=\"body3\" weight=\"normal\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeftDescription\"\n )}\n </Typography>\n </span>\n }\n />\n <Radio.Item\n value=\"below_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography component=\"span\" style=\"body2\" weight=\"semibold\">\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeft\")}\n </Typography>\n <Typography component=\"span\" style=\"body3\" weight=\"normal\">\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeftDescription\"\n )}\n </Typography>\n </span>\n }\n />\n </Radio>\n );\n};\n\nexport default LogoPosition;\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 \"text_input\":\n return {\n value: defaultValue || \"\",\n kind: \"text_input\",\n key,\n dependsOn,\n ...(order !== null && { order }),\n };\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 case \"logo_position\":\n return {\n value: defaultValue,\n kind: \"logo_position\",\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-testid={joinHyphenCase(label)}\n >\n <Typography data-testid=\"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-testid=\"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-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"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-testid=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Typography\n data-testid=\"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 className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n <Switch\n {...{ name, ...switchProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { joinHyphenCase } from \"neetocommons/utils\";\nimport { Typography, Input } from \"neetoui\";\n\nconst TextBlock = ({\n label,\n name,\n type = \"text\",\n value,\n onChange,\n placeholder,\n error,\n}) => (\n <div\n className=\"flex items-center justify-between\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"style-fields-labels\" style=\"body2\">\n {label}\n </Typography>\n <div className=\"w-40\">\n <Input {...{ error, name, onChange, placeholder, type, value }} />\n </div>\n </div>\n);\n\nexport default TextBlock;\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\";\nimport TextBlock from \"../commons/TextBlock\";\n\nconst Properties = ({ onPropertiesChange, condition, themeId }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values, errors } = 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 if (!(values?.id === themeId)) return;\n\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 \"text_input\": {\n const index = findIndexBy({ key }, values.properties);\n const error = errors?.properties?.[index]?.value;\n\n return (\n <TextBlock\n key={key}\n error={error}\n label={buildLabel(key, kind)}\n name={`properties[${index}].value`}\n value={value || \"\"}\n onChange={e =>\n setFieldValue(`properties[${index}].value`, e.target.value)\n }\n />\n );\n }\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-testid={`theme-style-${label ? joinHyphenCase(label) : \"image-block\"}`}\n >\n {label && (\n <div className=\"flex items-center justify-between\">\n <Typography data-testid=\"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 LogoPosition from \"./LogoPosition\";\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 {key === \"logo\" && values.coverImage?.url && <LogoPosition />}\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 required\n helpPopoverProps={nameHelpPopoverProps}\n name=\"name\"\n title={t(\"neetoThemes.common.name\")}\n >\n <Input autoFocus data-testid=\"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 { Button, Popover, Typography, Switch, Tooltip, Spinner } 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 proFeatures,\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 (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\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, isValid, values, setFieldValue }) => (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"neeto-themes-sidebar__scroll-content 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, themeId }} />\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 <CustomCSS\n {...{ currentScreen, onEditCSSClick }}\n isEnabled={enabledFeatures.customCSS}\n isProFeature={proFeatures.customCSS}\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 start-0 end-0 flex justify-end gap-x-2 px-4 py-6 lg:px-5 xl:px-6\">\n <Button\n data-testid=\"reset-button\"\n disabled={!dirty || isSubmitting}\n label={t(\"neetoThemes.buttons.reset\")}\n style=\"text\"\n type=\"reset\"\n />\n <Button\n data-testid=\"save-changes-button\"\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n disabled={(!dirty && themeData?.id) || isSubmitting || !isValid}\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 end-1 top-1 z-0\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={() => popoverInstance?.hide?.()}\n />\n <Typography className=\"w-72 pe-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 } = theme;\n\n const handleCloneTheme = () => onCloneTheme(theme);\n const handleEditTheme = () => onEditTheme(theme);\n const handleDeleteTheme = () => onDeleteTheme(id, name);\n const handleApplyGlobalTheme = () => onApplyGlobalTheme(id);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-testid={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 start-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 shrink-0 cursor-auto justify-center\"\n data-testid=\"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-testid=\"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 shrink-0 justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn shrink-0 justify-center\"\n data-testid=\"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 grow wrap-anywhere pt-1\"\n data-testid=\"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-testid=\"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-testid\": \"edit-theme-menu-item\",\n label: t(\"neetoThemes.common.edit\"),\n isVisible: isPresent(onEditTheme),\n onClick: handleEditTheme,\n },\n {\n key: \"clone\",\n \"data-testid\": \"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-testid\": \"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-testid\": \"delete-theme-menu-item\",\n label: t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.delete\"\n ),\n isDisabled: isApplyingTheme,\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 } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\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, entityId } = useConfigStore.pick();\n\n const { searchTerm = \"\" } = useQueryParams();\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(searchTerm.toLowerCase())\n );\n\n const filteredThemes = themes.filter(theme =>\n theme.name.toLowerCase().includes(searchTerm.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, entityId };\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 enableUrlSync\n autoComplete=\"off\"\n className=\"mb-4 mt-1 px-6\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n />\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography\n className=\"text-center\"\n data-testid=\"no-data-title\"\n style=\"body2\"\n >\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-testid=\"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-testid=\"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-testid=\"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-testid=\"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 i18next from \"i18next\";\nimport { LeftArrow, Plus, RightArrow } 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 const isRTL = i18next.dir() === \"rtl\";\n const BackButtonIcon = isRTL ? RightArrow : LeftArrow;\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-testid=\"customize-themes-back-button\"\n icon={BackButtonIcon}\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-testid=\"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-testid=\"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-testid=\"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) => {\n setIsDeleteAlertOpen(true);\n themeToDelete.current = { id: themeId, name };\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 shrink-0 border-e 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 defaultThemeName,\n entityType: t(`neetoThemes.entityType.${entityType.toLowerCase()}`),\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/main.css\";\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 proFeatures = {}, // Add supported pro features here, example: { 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 proFeatures,\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.removeEventListener(\"load\", setViewportHeight);\n window.removeEventListener(\"resize\", setViewportHeight);\n window.removeEventListener(\"orientationchange\", setViewportHeight);\n window.removeEventListener(\"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","required","_ref$isDisabled","isDisabled","accordionOpenState","setAccordionOpenState","isRTL","i18n","dir","ToggleIcon","Left","Right","_jsxs","hyphenate","classnames","disabled","type","onClick","_defineProperty","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","size","isScreenCustomCSS","screen","buildPathname","route","pathname","_iterator","_createForOfIteratorHelper","location","split","_step","s","n","done","segment","isEmpty","err","e","f","onEditCSSClick","currentScreen","isEnabled","isProFeature","_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","description","Button","label","customcss","LogoPosition","Radio","stacked","Item","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","translationKey","doesHelpTextExist","exists","HelpPopover","Switch","TextBlock","_ref$type","error","Input","Properties","onPropertiesChange","_useThemeStore","useThemeStore","setThemeState","errors","_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","_errors$properties","target","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy4","toLabelAndValue","POSITION_OPTIONS","checked","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","stop","_x","arguments","_createElement","ImageUploader","src","onUploadComplete","Images","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","history","useHistory","_useState","useState","_useState2","_slicedToArray","popoverInstance","setPopoverInstance","isFetchingSchema","enabledFeatures","proFeatures","_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","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","dirty","isValid","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","Tooltip","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","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","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useCloneTheme","cloneTheme","_useApplyGlobalTheme","isLoadingGlobalTheme","current","setPreviewTheme","filteredDefaultThemes","toLowerCase","includes","filteredThemes","isSearchFieldVisible","length","clonedTheme","Search","enableUrlSync","autoComplete","isNotEmpty","isActive","TitleBar","handleBackPress","handleCreateNewTheme","helpDocUrl","isCustomizeScreen","isNewThemeRoute","i18next","BackButtonIcon","RightArrow","LeftArrow","iconPosition","helpLinkProps","href","Plus","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","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","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","_ref$proFeatures","setConfigState","isFetchingCurrentTheme","isFetching","setViewportHeight","documentElement","setProperty","window","innerHeight","addEventListener","removeEventListener","PageTitle"],"mappings":"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","x_google_ignoreList":[2]}
|