@bigbinary/neeto-themes-frontend 4.0.30 → 4.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.ready +1 -1
- package/dist/NeetoThemesBuilder.js +4 -1
- package/dist/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/NeetoThemesBuilder.js +4 -1
- package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/v2/NeetoThemesBuilder.js +158 -152
- package/dist/cjs/v2/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/v2/index.js +2 -14
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/useGlobalThemesApi-CuO0V6wS.js +8144 -0
- package/dist/{useGlobalThemesApi-BUsKyTn_.js.map → useGlobalThemesApi-CuO0V6wS.js.map} +1 -1
- package/dist/useGlobalThemesApi-llxHjPOu.js +8131 -0
- package/dist/{useGlobalThemesApi-BTyTasTb.js.map → useGlobalThemesApi-llxHjPOu.js.map} +1 -1
- package/dist/v2/NeetoThemesBuilder.js +158 -152
- package/dist/v2/NeetoThemesBuilder.js.map +1 -1
- package/dist/v2/index.js +2 -14
- package/dist/v2/index.js.map +1 -1
- package/package.json +3 -1
- package/dist/useGlobalThemesApi-BTyTasTb.js +0 -8134
- package/dist/useGlobalThemesApi-BUsKyTn_.js +0 -8146
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/components/utils.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/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ContentBackgroundHelpModal.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/QuickActionRow.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 { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n const sidebarContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n if (!elementToScroll || !sidebarContainer) return;\n\n const elementRect = elementToScroll.getBoundingClientRect();\n const sidebarContainerRect = sidebarContainer.getBoundingClientRect();\n const offset =\n elementRect.top - sidebarContainerRect.top + sidebarContainer.scrollTop;\n\n sidebarContainer.scrollTo({ top: offset, behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\nexport const hexToRgba = hex => {\n const result =\n /^#?(?:([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?|([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2}))$/i.exec(\n hex\n );\n\n if (!result) return null;\n\n const r = parseInt(result[1] || result[5], 16);\n const g = parseInt(result[2] || result[6], 16);\n const b = parseInt(result[3] || result[7], 16);\n const a = result[4]\n ? Math.round(parseInt(result[4], 16) / 2.55) / 100\n : undefined;\n\n return `${r}, ${g}, ${b}${a !== undefined ? `, ${a}` : \"\"}`;\n};\n\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const 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 useExpandedSection from \"hooks/useExpandedSection\";\n\nconst Card = ({\n title = \"\",\n children,\n name,\n className,\n helpPopoverProps,\n required,\n}) => {\n const { expandedSection, setExpandedSection } = useExpandedSection();\n const isOpen = expandedSection === name;\n\n const isRTL = i18n.dir() === \"rtl\";\n const ToggleIcon = isRTL ? Left : Right;\n\n const handleToggle = () => setExpandedSection(isOpen ? \"\" : name);\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 { \"pb-2\": !isOpen, \"pb-3\": isOpen }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={handleToggle}\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\": isOpen,\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\": !isOpen,\n \"neeto-themes-nano-section__content--open pb-1\": isOpen,\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\nimport { flushSync } from \"react-dom\";\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\n// FLIP: measure each theme card's position, apply the React update, then\n// transform every card back to its old spot and let a CSS transition glide\n// it to the new one. The animation itself is CSS (.neeto-themes-flip-animating).\nexport const animateThemeReorder = updateFn => {\n const prefersReducedMotion = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n ).matches;\n const cards = [...document.querySelectorAll(\"[data-flip-id]\")];\n const scrollContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n\n if (prefersReducedMotion || cards.length === 0) {\n updateFn();\n if (scrollContainer) scrollContainer.scrollTop = 0;\n\n return;\n }\n\n const oldRects = new Map(\n cards.map(card => [card.dataset.flipId, card.getBoundingClientRect()])\n );\n\n flushSync(updateFn);\n\n // Move the viewport to the top — the applied theme is now the first card.\n // The FLIP deltas below are measured after this, so the scroll is folded\n // into the glide instead of showing as an instant jump.\n if (scrollContainer) scrollContainer.scrollTop = 0;\n\n const flips = [...document.querySelectorAll(\"[data-flip-id]\")]\n .map(card => {\n const oldRect = oldRects.get(card.dataset.flipId);\n if (!oldRect) return null;\n\n const newRect = card.getBoundingClientRect();\n const dx = oldRect.left - newRect.left;\n const dy = oldRect.top - newRect.top;\n\n return dx || dy ? { card, dx, dy } : null;\n })\n .filter(Boolean);\n\n if (flips.length === 0) return;\n\n flips.forEach(({ card, dx, dy }) => {\n card.style.transform = `translate(${dx}px, ${dy}px)`;\n });\n\n // Force a reflow so the starting transform is committed before animating.\n document.body.offsetHeight;\n\n flips.forEach(({ card }) => {\n card.classList.add(\"neeto-themes-flip-animating\");\n card.style.transform = \"\";\n card.addEventListener(\n \"transitionend\",\n () => {\n card.classList.remove(\"neeto-themes-flip-animating\");\n },\n { once: true }\n );\n });\n};\n","import { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useExpandedSection from \"hooks/useExpandedSection\";\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, helpPopoverProps } = useConfigStore.pick();\n const { customCss: customCssHelpPopoverProps = {} } = helpPopoverProps;\n const { expandedSection } = useExpandedSection();\n const isExpanded = expandedSection === \"customcss\";\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 name=\"customcss\"\n helpPopoverProps={\n isEnabled\n ? customCssHelpPopoverProps\n : {\n title: t(\"neetoThemes.common.proFeature.customCSS.title\"),\n description: t(\n \"neetoThemes.common.proFeature.customCSS.description\"\n ),\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 {isExpanded && (\n <Editor\n {...{ isCustomCssScreen }}\n value={customCSS.value}\n onChange={handleChange}\n />\n )}\n </div>\n ) : (\n <div className=\"px-1 py-2\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoThemes.common.proFeature.customCSS.description\")}\n </Typography>\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 toLabelAndValue,\n capitalize,\n} from \"neetocist\";\n\n// Capitalizes the first letter of the displayed label while keeping the\n// underlying value untouched (position values like \"top left\" are used\n// verbatim as CSS background-position, so they must stay lowercase).\nexport const toCapitalizedOption = value => {\n const { label, value: optionValue } = toLabelAndValue(value);\n\n return { label: label ? capitalize(label) : label, value: optionValue };\n};\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=\"neeto-ui-border-gray-200 flex flex-col gap-2 border-t pt-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <Select {...{ onChange, options, placeholder, value }} />\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","export const CONTENT_BACKGROUND_PROPERTY_NAME = \"isContentBackgroundEnabled\";\nexport const CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY =\n \"neetoThemes.properties.boolean.contentBackgroundHelp\";\n","import { withT } from \"neetocommons/react-utils\";\nimport { Typography, Modal } from \"neetoui\";\n\nimport { CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY } from \"./constants\";\n\nconst ContentBackgroundHelpModal = ({ isOpen, onClose, t }) => (\n <Modal {...{ isOpen, onClose }} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.title`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"neeto-themes-content-background-help-modal\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(`${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.description`)}\n </Typography>\n <ol className=\"neeto-themes-content-background-help-modal__list\">\n <li className=\"neeto-themes-content-background-help-modal__section\">\n <Typography style=\"h4\">\n {t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.notEnabledTitle`\n )}\n </Typography>\n <div\n className=\"neeto-themes-content-background-help-modal__image neeto-themes-content-background-help-modal__image--disabled\"\n role=\"img\"\n aria-label={t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.notEnabledImageAlt`\n )}\n />\n </li>\n <li className=\"neeto-themes-content-background-help-modal__section\">\n <Typography style=\"h4\">\n {t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.enabledTitle`\n )}\n </Typography>\n <div\n className=\"neeto-themes-content-background-help-modal__image neeto-themes-content-background-help-modal__image--enabled\"\n role=\"img\"\n aria-label={t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.enabledImageAlt`\n )}\n />\n </li>\n </ol>\n </div>\n </Modal.Body>\n </Modal>\n);\n\nexport default withT(ContentBackgroundHelpModal);\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Help } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography, Switch, Checkbox } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CONTENT_BACKGROUND_PROPERTY_NAME } from \"./constants\";\nimport ContentBackgroundHelpModal from \"./ContentBackgroundHelpModal\";\n\nconst SwitchBlock = ({ label, name, asCheckbox = false, ...inputProps }) => {\n const { t, i18n } = useTranslation();\n const [isContentBackgroundHelpOpen, setIsContentBackgroundHelpOpen] =\n useState(false);\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n const shouldShowContentBackgroundHelp =\n name === CONTENT_BACKGROUND_PROPERTY_NAME;\n\n const shouldShowHelpPopover =\n doesHelpTextExist && !shouldShowContentBackgroundHelp;\n const shouldRenderAsCheckbox = asCheckbox || shouldShowContentBackgroundHelp;\n\n const renderHelpIcon = () => {\n if (shouldShowContentBackgroundHelp) {\n return (\n <>\n <Button\n className=\"neeto-themes-content-background-help-modal__trigger shrink-0\"\n data-testid=\"content-background-help-button\"\n icon={Help}\n size=\"small\"\n style=\"text\"\n aria-label={t(\n \"neetoThemes.properties.boolean.contentBackgroundHelp.title\"\n )}\n onClick={() => setIsContentBackgroundHelpOpen(true)}\n />\n <ContentBackgroundHelpModal\n isOpen={isContentBackgroundHelpOpen}\n onClose={() => setIsContentBackgroundHelpOpen(false)}\n />\n </>\n );\n }\n\n if (shouldShowHelpPopover) {\n return (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n );\n }\n\n return null;\n };\n\n if (shouldRenderAsCheckbox) {\n return (\n <div\n data-testid=\"theme-style-content-background\"\n className={classnames(\"flex items-center gap-2\", {\n \"neeto-themes-content-background-checkbox-row\":\n shouldShowContentBackgroundHelp,\n })}\n >\n <Checkbox\n {...{ label, name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n {renderHelpIcon()}\n </div>\n );\n }\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 || shouldShowContentBackgroundHelp,\n \"w-auto\": !doesHelpTextExist && !shouldShowContentBackgroundHelp,\n })}\n >\n {label}\n </Typography>\n {renderHelpIcon()}\n </div>\n <Switch\n {...{ name, ...inputProps }}\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 { snakeToCamelCase, findIndexBy, findBy } 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 {\n buildLabel,\n buildProperties,\n isPropertyVisible,\n toCapitalizedOption,\n} 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 DependentPropertyConnector = () => (\n <svg\n className=\"neeto-themes-dependent-property__connector\"\n fill=\"none\"\n height=\"32\"\n viewBox=\"0 0 36 32\"\n width=\"36\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 1V22C4 25.5 7 28 13 28H34\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\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 propertySchema = findBy({ key }, themePropertiesSchema);\n const isDependentProperty = Boolean(propertySchema?.dependsOn);\n\n const wrapProperty = property => {\n if (!isDependentProperty) return property;\n\n return (\n <div className=\"neeto-themes-dependent-property\" key={key}>\n <DependentPropertyConnector />\n {property}\n </div>\n );\n };\n\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 wrapProperty(\n <TextBlock\n {...{ error }}\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 wrapProperty(\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 wrapProperty(\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n propertySchema?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return wrapProperty(\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 wrapProperty(\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(toCapitalizedOption);\n\n return wrapProperty(\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toCapitalizedOption(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 const renderAsCheckbox =\n propertySchema?.renderAsCheckbox || false;\n\n return wrapProperty(\n <SwitchBlock\n asCheckbox={renderAsCheckbox}\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 wrapProperty(\n <AlignmentBlock\n key={key}\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, 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, toCapitalizedOption } 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?.map(toCapitalizedOption) || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toCapitalizedOption(\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 { 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 { useSyncExpandedSectionFromUrl } from \"hooks/useExpandedSection\";\nimport { Button, Popover, Typography, Switch, Tooltip, Spinner } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\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 useSyncExpandedSectionFromUrl();\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 {\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: 2 }\n ),\n }\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 disabled={(!dirty && themeData?.id) || isSubmitting || !isValid}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute 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={{\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`\n ),\n }}\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 { Typography } from \"neetoui\";\n\nconst QuickActionRow = ({ icon: Icon, label, onClick, testId }) => (\n <button\n {...{ onClick }}\n className=\"neeto-ui-border-gray-100 hover:neeto-ui-bg-gray-100 flex w-full cursor-pointer items-center gap-3 border-t px-3 py-2 text-start transition-colors\"\n data-testid={testId}\n type=\"button\"\n >\n <Icon size={16} />\n <Typography lineHeight=\"normal\" style=\"body2\">\n {label}\n </Typography>\n </button>\n);\n\nexport default QuickActionRow;\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 { capitalize, filterBy, hyphenate, isPresent, snakeToCamelCase } from \"neetocist\";\nimport { AddImage, CodeBlock, ColorPicker } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport QuickActionRow from \"./QuickActionRow\";\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 thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const { id, name } = theme;\n\n const imageProperties = filterBy({ kind: \"image\" }, themePropertiesSchema);\n\n const handleDeleteTheme = () => onDeleteTheme(id, name);\n\n const handleQuickEdit = section => e => {\n e.stopPropagation();\n if (isPresent(onEditTheme)) onEditTheme(theme, section);\n else onCloneTheme(theme, section);\n };\n\n const showMoreDropdown = isFunction(onDeleteTheme);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-flip-id={theme.id}\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-2 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !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 {active ? (\n <div\n className=\"neeto-themes-theme-thumbnail__active-banner absolute start-0 top-0 z-10 w-full py-1 text-center text-xs font-semibold uppercase tracking-wide\"\n data-testid=\"active-theme-label\"\n >\n {t(\"neetoThemes.common.activeTheme\")}\n </div>\n ) : (\n <div className=\"absolute start-0 top-0 z-10 flex h-full w-full items-center justify-center px-3 pb-3 pt-3\">\n <div\n className={classnames(\n \"-translate-y-9 flex w-full items-center justify-between gap-2\",\n { hidden: !isPreviewing, \"group-hover:flex\": true }\n )}\n >\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 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=\"neeto-ui-text-gray-500 line-clamp-2 min-w-0 grow wrap-anywhere pt-1 italic\"\n data-testid=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Typography\n className=\"neeto-ui-text-gray-500 shrink-0 pt-1 italic\"\n data-testid=\"default-theme-label\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {t(\"neetoThemes.common.defaultTheme\")}\n </Typography>\n )}\n </div>\n {showMoreDropdown && (\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\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 onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n )}\n </div>\n {active && (\n <div className=\"flex flex-col\">\n <QuickActionRow\n icon={ColorPicker}\n label={t(\"neetoThemes.common.customizeStyle\")}\n testId=\"quick-customize-style\"\n onClick={handleQuickEdit(\"style\")}\n />\n {imageProperties.map(({ key }) => {\n const camelKey = snakeToCamelCase(key);\n const hasImage = isPresent(theme[camelKey]?.url);\n const action = hasImage ? \"change\" : \"add\";\n const specificKey = `neetoThemes.common.${action}${capitalize(\n camelKey\n )}`;\n\n return (\n <QuickActionRow\n icon={AddImage}\n key={key}\n label={t([specificKey, \"neetoThemes.common.addImage\"])}\n testId={`quick-add-${hyphenate(key)}`}\n onClick={handleQuickEdit(camelKey)}\n />\n );\n })}\n <QuickActionRow\n icon={CodeBlock}\n label={t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n testId=\"quick-custom-css\"\n onClick={handleQuickEdit(\"customcss\")}\n />\n </div>\n )}\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 { useApplyTheme, useCloneTheme } 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 onApplyThemeSuccess,\n isSearchVisible = false,\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: applyClonedTheme } = useApplyTheme({});\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 activeThemeId = currentTheme?.id;\n\n const lowerSearchTerm = searchTerm.toLowerCase();\n const matchesSearch = theme =>\n theme.name.toLowerCase().includes(lowerSearchTerm);\n\n const activeTheme = activeThemeId\n ? [...defaultThemes, ...themes].find(theme => theme.id === activeThemeId)\n : null;\n\n const isActiveThemeCustom = themes.some(theme => theme.id === activeThemeId);\n\n const filteredDefaultThemes = defaultThemes.filter(\n theme => theme.id !== activeThemeId && matchesSearch(theme)\n );\n\n const filteredThemes = themes.filter(\n theme => theme.id !== activeThemeId && matchesSearch(theme)\n );\n\n const showActiveThemeSection = activeTheme && matchesSearch(activeTheme);\n\n const handleCloneTheme = (data, section) => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n // A system theme is cloned when the user customizes it. Apply the\n // clone right away so it becomes the active theme — the editor then\n // won't prompt \"apply this theme?\" on save.\n applyClonedTheme(\n { themeId: clonedTheme.id, entityId, entityType },\n {\n onSuccess: () => {\n onApplyThemeSuccess?.(clonedTheme);\n onEditTheme(clonedTheme, section);\n },\n }\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 const activeThemeSection = showActiveThemeSection && (\n <div className=\"neeto-ui-border-gray-200 mb-6 border-b px-6 pb-6 lg:px-5 xl:px-6\">\n <Card\n {...{ onApplyTheme, thumbnail }}\n active\n isApplyingTheme={themeBeingApplied?.id === activeTheme.id}\n isGlobalTheme={globalTheme?.id === activeTheme.id}\n isHighLightedTheme={activeTheme.id === themeToHighlight}\n isPreviewing={previewingTheme?.id === activeTheme.id}\n theme={activeTheme}\n onCloneTheme={handleCloneTheme}\n onEditTheme={isActiveThemeCustom ? onEditTheme : undefined}\n onSetPreviewTheme={setPreviewTheme}\n />\n </div>\n );\n\n const systemThemesSection = isNotEmpty(filteredDefaultThemes) && (\n <div className=\"mb-6 space-y-3\">\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 isApplyingTheme={themeBeingApplied?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </div>\n );\n\n const customThemesSection = isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\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 isApplyingTheme={themeBeingApplied?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n );\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchVisible && (\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 </div>\n {activeThemeSection}\n {systemThemesSection}\n {customThemesSection}\n </div>\n );\n};\n\nexport default Themes;\n","import i18next from \"i18next\";\nimport { LeftArrow, RightArrow, Search } 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, handleToggleSearch }) => {\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 {\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`\n ),\n }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-testid=\"themes-search-toggle-button\"\n icon={Search}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.common.searchThemes\"),\n position: \"top\",\n }}\n onClick={handleToggleSearch}\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 { APPLY_SPINNER_DELAY } from \"./constants\";\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { animateThemeReorder, buildPathname, isScreenCustomCSS } 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}) => {\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 const applyUpdates = () => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n };\n\n // Keep the spinner visible a bit longer so the apply feels deliberate,\n // then glide the card into the pinned active section.\n setTimeout(() => animateThemeReorder(applyUpdates), APPLY_SPINNER_DELAY);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const [isSearchVisible, setIsSearchVisible] = useState(false);\n\n const handleToggleSearch = () => {\n setIsSearchVisible(prev => {\n const next = !prev;\n if (!next) {\n const params = new URLSearchParams(history.location.search);\n params.delete(\"searchTerm\");\n history.replace({ search: params.toString() });\n }\n\n return next;\n });\n };\n\n const handleEditTheme = (theme, section) => {\n themeToEdit.current = theme;\n const pathname = buildUrl(buildPathname(routes.themes.edit), {\n themeId: theme.id,\n });\n\n history.push({\n pathname,\n search: section ? `?section=${section}` : \"\",\n });\n };\n\n const onApplyTheme = theme => {\n if (themeBeingApplied?.id) return;\n\n setThemeBeingApplied(theme);\n applyTheme(\n { themeId: theme.id, entityId, entityType },\n { onError: () => setThemeBeingApplied({}) }\n );\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 {...{ currentScreen, handleBackPress, handleToggleSearch }} />\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 isCurrentThemeLoading,\n isSearchVisible,\n onApplyTheme,\n onApplyThemeSuccess,\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, useMemo } 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\";\nimport { registerNeetoThemesTranslations } from \"src/translations\";\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 helpPopoverProps = {},\n enabledFeatures = { customCSS: true },\n proFeatures = {}, // Add supported pro features here, example: { customCSS: true }\n}) => {\n useMemo(registerNeetoThemesTranslations, []);\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 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":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","sidebarContainer","querySelector","elementRect","getBoundingClientRect","sidebarContainerRect","offset","top","scrollTop","scrollTo","behavior","isFunction","obj","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","value","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","theme","className","classNames","rounded","options","scrollBeyondLastLine","minimap","enabled","Card","_ref$title","title","name","helpPopoverProps","required","_useExpandedSection","useExpandedSection","expandedSection","setExpandedSection","isOpen","isRTL","i18n","dir","ToggleIcon","Left","Right","handleToggle","_jsxs","hyphenate","classnames","type","onClick","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","_objectSpread","size","isScreenCustomCSS","screen","buildPathname","route","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","segment","isEmpty","err","e","f","animateThemeReorder","updateFn","prefersReducedMotion","window","matchMedia","matches","cards","_toConsumableArray","querySelectorAll","scrollContainer","length","oldRects","Map","map","card","dataset","flipId","flushSync","flips","oldRect","get","newRect","dx","left","dy","filter","Boolean","forEach","transform","body","offsetHeight","_ref2","classList","add","addEventListener","remove","once","onEditCSSClick","currentScreen","isEnabled","isProFeature","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","_useConfigStore","useConfigStore","store","themePropertiesSchema","shallow","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","isExpanded","customCSS","findBy","kind","properties","parentElementClass","parentClass","handleEditorToggle","setTimeout","handleChange","index","findIndexBy","key","setCustomCSS","css","id","description","Button","label","LogoPosition","Radio","stacked","Item","toCapitalizedOption","_toLabelAndValue","toLabelAndValue","optionValue","capitalize","buildInitialValues","defaultValue","_ref$order","order","dependsOn","String","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","imageKeys","Set","ele","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","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","CONTENT_BACKGROUND_PROPERTY_NAME","CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY","ContentBackgroundHelpModal","onClose","Modal","Header","Body","role","withT","SwitchBlock","_ref$asCheckbox","asCheckbox","inputProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isContentBackgroundHelpOpen","setIsContentBackgroundHelpOpen","translationKey","doesHelpTextExist","exists","shouldShowContentBackgroundHelp","shouldShowHelpPopover","shouldRenderAsCheckbox","renderHelpIcon","_Fragment","Help","HelpPopover","Checkbox","Switch","TextBlock","_ref$type","Input","DependentPropertyConnector","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeWidth","Properties","onPropertiesChange","themeId","_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","sort","_findBy2","Infinity","_ref3","propertySchema","isDependentProperty","wrapProperty","isCurrentPropertyVisible","_errors$properties","_createElement","target","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy3","POSITION_OPTIONS","renderAsCheckbox","checked","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","fixedAspectRatio","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","ImageUploader","onUploadComplete","Images","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","useSyncExpandedSectionFromUrl","history","useHistory","popoverInstance","setPopoverInstance","entityType","isFetchingSchema","enabledFeatures","proFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","useFetchTheme","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","onSuccess","replace","buildUrl","routes","themes","edit","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","dirty","isValid","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","_defineProperty","Tooltip","disabled","toLowerCase","count","loading","ref","Popover","appendTo","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","QuickActionRow","Icon","testId","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","thumbnail","imageProperties","handleDeleteTheme","handleQuickEdit","section","stopPropagation","showMoreDropdown","DefaultThumbnail","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","menuItems","isDisabled","_theme$camelKey","camelKey","hasImage","action","specificKey","AddImage","CodeBlock","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyThemeSuccess","_ref$isSearchVisible","isSearchVisible","entityId","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useCloneTheme","useCloneTheme","cloneTheme","_useApplyTheme","useApplyTheme","applyClonedTheme","isLoadingGlobalTheme","current","setPreviewTheme","activeThemeId","lowerSearchTerm","matchesSearch","includes","activeTheme","find","isActiveThemeCustom","some","filteredDefaultThemes","filteredThemes","showActiveThemeSection","handleCloneTheme","clonedTheme","activeThemeSection","systemThemesSection","isNotEmpty","customThemesSection","isActive","Search","enableUrlSync","autoComplete","TitleBar","handleBackPress","handleToggleSearch","helpDocUrl","isCustomizeScreen","i18next","BackButtonIcon","RightArrow","LeftArrow","iconPosition","helpLinkProps","href","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","useDeleteTheme","deleteTheme","isDeleting","applyUpdates","highlightTheme","APPLY_SPINNER_DELAY","applyTheme","themeToDelete","themeToEdit","_useState11","_useState12","setIsSearchVisible","params","URLSearchParams","search","handleEditTheme","push","onError","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","message","Collapse","NeetoThemesBuilder","_ref$defaultImageSize","_ref$fixedAspectRatio","_ref$helpDocUrl","_ref$isTemplateThemes","isTemplateThemesEnabled","_ref$pageTitle","pageTitle","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$helpPopoverProps","_ref$enabledFeatures","_ref$proFeatures","useMemo","registerNeetoThemesTranslations","setConfigState","isFetchingCurrentTheme","isFetching","setViewportHeight","documentElement","setProperty","innerHeight","removeEventListener","PageTitle"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NeetoThemesBuilder.js","sources":["../app/javascript/src/components/utils.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/constants.js","../app/javascript/src/components/NeetoThemesBuilder/Sidebar/commons/ContentBackgroundHelpModal.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/QuickActionRow.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 { Toastr } from \"neetoui\";\n\nexport const getImageFromUrl = source => {\n const image = new Image();\n image.crossOrigin = \"anonymous\";\n image.src = source;\n\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image);\n };\n });\n};\n\nexport const getDominantColorFromUrl = async imageUrl => {\n try {\n const image = await getImageFromUrl(imageUrl);\n const context = document.createElement(\"canvas\").getContext(\"2d\");\n context?.drawImage(image, 0, 0, 1, 1);\n const c = context?.getImageData(0, 0, 1, 1).data;\n\n if (c) {\n return `#${((1 << 24) + (c[0] << 16) + (c[1] << 8) + c[2])\n .toString(16)\n .slice(1)}`;\n }\n\n return null;\n } catch (error) {\n Toastr.error(error);\n\n return null;\n }\n};\n\nexport const scrollElementIntoView = elementId => {\n const elementToScroll = document.getElementById(elementId);\n const sidebarContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n if (!elementToScroll || !sidebarContainer) return;\n\n const elementRect = elementToScroll.getBoundingClientRect();\n const sidebarContainerRect = sidebarContainer.getBoundingClientRect();\n const offset =\n elementRect.top - sidebarContainerRect.top + sidebarContainer.scrollTop;\n\n sidebarContainer.scrollTo({ top: offset, behavior: \"smooth\" });\n};\n\nexport const isFunction = obj => typeof obj === \"function\";\n\nexport const hexToRgba = hex => {\n const result =\n /^#?(?:([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?|([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2}))$/i.exec(\n hex\n );\n\n if (!result) return null;\n\n const r = parseInt(result[1] || result[5], 16);\n const g = parseInt(result[2] || result[6], 16);\n const b = parseInt(result[3] || result[7], 16);\n const a = result[4]\n ? Math.round(parseInt(result[4], 16) / 2.55) / 100\n : undefined;\n\n return `${r}, ${g}, ${b}${a !== undefined ? `, ${a}` : \"\"}`;\n};\n\nexport const hexToRgb = hex => hexToRgba(hex?.slice(0, 7));\n\nexport const isNewThemeRoute = () => location.pathname.endsWith(\"new\");\nexport const isEditThemeRoute = () => location.pathname.endsWith(\"edit\");\n","export const 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 useExpandedSection from \"hooks/useExpandedSection\";\n\nconst Card = ({\n title = \"\",\n children,\n name,\n className,\n helpPopoverProps,\n required,\n}) => {\n const { expandedSection, setExpandedSection } = useExpandedSection();\n const isOpen = expandedSection === name;\n\n const isRTL = i18n.dir() === \"rtl\";\n const ToggleIcon = isRTL ? Left : Right;\n\n const handleToggle = () => setExpandedSection(isOpen ? \"\" : name);\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 { \"pb-2\": !isOpen, \"pb-3\": isOpen }\n )}\n >\n {title && (\n <button\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between px-1 py-2 focus:outline-none\"\n type=\"button\"\n onClick={handleToggle}\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\": isOpen,\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\": !isOpen,\n \"neeto-themes-nano-section__content--open pb-1\": isOpen,\n }\n )}\n >\n {children}\n </div>\n )}\n </div>\n );\n};\n\nexport default Card;\n","import { isEmpty } from \"ramda\";\nimport { flushSync } from \"react-dom\";\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\n// FLIP: measure each theme card's position, apply the React update, then\n// transform every card back to its old spot and let a CSS transition glide\n// it to the new one. The animation itself is CSS (.neeto-themes-flip-animating).\nexport const animateThemeReorder = updateFn => {\n const prefersReducedMotion = window.matchMedia(\n \"(prefers-reduced-motion: reduce)\"\n ).matches;\n const cards = [...document.querySelectorAll(\"[data-flip-id]\")];\n const scrollContainer = document.querySelector(\n \".neeto-themes-sidebar__scroll\"\n );\n\n if (prefersReducedMotion || cards.length === 0) {\n updateFn();\n if (scrollContainer) scrollContainer.scrollTop = 0;\n\n return;\n }\n\n const oldRects = new Map(\n cards.map(card => [card.dataset.flipId, card.getBoundingClientRect()])\n );\n\n flushSync(updateFn);\n\n // Move the viewport to the top — the applied theme is now the first card.\n // The FLIP deltas below are measured after this, so the scroll is folded\n // into the glide instead of showing as an instant jump.\n if (scrollContainer) scrollContainer.scrollTop = 0;\n\n const flips = [...document.querySelectorAll(\"[data-flip-id]\")]\n .map(card => {\n const oldRect = oldRects.get(card.dataset.flipId);\n if (!oldRect) return null;\n\n const newRect = card.getBoundingClientRect();\n const dx = oldRect.left - newRect.left;\n const dy = oldRect.top - newRect.top;\n\n return dx || dy ? { card, dx, dy } : null;\n })\n .filter(Boolean);\n\n if (flips.length === 0) return;\n\n flips.forEach(({ card, dx, dy }) => {\n card.style.transform = `translate(${dx}px, ${dy}px)`;\n });\n\n // Force a reflow so the starting transform is committed before animating.\n document.body.offsetHeight;\n\n flips.forEach(({ card }) => {\n card.classList.add(\"neeto-themes-flip-animating\");\n card.style.transform = \"\";\n card.addEventListener(\n \"transitionend\",\n () => {\n card.classList.remove(\"neeto-themes-flip-animating\");\n },\n { once: true }\n );\n });\n};\n","import { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { Button, Typography } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DESIGN_SCREENS } from \"components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"components/utils\";\nimport useExpandedSection from \"hooks/useExpandedSection\";\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, helpPopoverProps } = useConfigStore.pick();\n const { customCss: customCssHelpPopoverProps = {} } = helpPopoverProps;\n const { expandedSection } = useExpandedSection();\n const isExpanded = expandedSection === \"customcss\";\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 name=\"customcss\"\n helpPopoverProps={\n isEnabled\n ? customCssHelpPopoverProps\n : {\n title: t(\"neetoThemes.common.proFeature.customCSS.title\"),\n description: t(\n \"neetoThemes.common.proFeature.customCSS.description\"\n ),\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 {isExpanded && (\n <Editor\n {...{ isCustomCssScreen }}\n value={customCSS.value}\n onChange={handleChange}\n />\n )}\n </div>\n ) : (\n <div className=\"px-1 py-2\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(\"neetoThemes.common.proFeature.customCSS.description\")}\n </Typography>\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 toLabelAndValue,\n capitalize,\n} from \"neetocist\";\n\n// Capitalizes the first letter of the displayed label while keeping the\n// underlying value untouched (position values like \"top left\" are used\n// verbatim as CSS background-position, so they must stay lowercase).\nexport const toCapitalizedOption = value => {\n const { label, value: optionValue } = toLabelAndValue(value);\n\n return { label: label ? capitalize(label) : label, value: optionValue };\n};\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=\"neeto-ui-border-gray-200 flex flex-col gap-2 border-t pt-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Typography data-testid=\"logo-field-labels\" style=\"body2\">\n {label}\n </Typography>\n <Select {...{ onChange, options, placeholder, value }} />\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","export const CONTENT_BACKGROUND_PROPERTY_NAME = \"isContentBackgroundEnabled\";\nexport const CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY =\n \"neetoThemes.properties.boolean.contentBackgroundHelp\";\n","import { withT } from \"neetocommons/react-utils\";\nimport { Typography, Modal } from \"neetoui\";\n\nimport { CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY } from \"./constants\";\n\nconst ContentBackgroundHelpModal = ({ isOpen, onClose, t }) => (\n <Modal {...{ isOpen, onClose }} size=\"large\">\n <Modal.Header>\n <Typography style=\"h2\">\n {t(`${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.title`)}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <div className=\"neeto-themes-content-background-help-modal\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {t(`${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.description`)}\n </Typography>\n <ol className=\"neeto-themes-content-background-help-modal__list\">\n <li className=\"neeto-themes-content-background-help-modal__section\">\n <Typography style=\"h4\">\n {t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.notEnabledTitle`\n )}\n </Typography>\n <div\n className=\"neeto-themes-content-background-help-modal__image neeto-themes-content-background-help-modal__image--disabled\"\n role=\"img\"\n aria-label={t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.notEnabledImageAlt`\n )}\n />\n </li>\n <li className=\"neeto-themes-content-background-help-modal__section\">\n <Typography style=\"h4\">\n {t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.enabledTitle`\n )}\n </Typography>\n <div\n className=\"neeto-themes-content-background-help-modal__image neeto-themes-content-background-help-modal__image--enabled\"\n role=\"img\"\n aria-label={t(\n `${CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY}.enabledImageAlt`\n )}\n />\n </li>\n </ol>\n </div>\n </Modal.Body>\n </Modal>\n);\n\nexport default withT(ContentBackgroundHelpModal);\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Help } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport { Button, Typography, Switch, Checkbox } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { CONTENT_BACKGROUND_PROPERTY_NAME } from \"./constants\";\nimport ContentBackgroundHelpModal from \"./ContentBackgroundHelpModal\";\n\nconst SwitchBlock = ({ label, name, asCheckbox = false, ...inputProps }) => {\n const { t, i18n } = useTranslation();\n const [isContentBackgroundHelpOpen, setIsContentBackgroundHelpOpen] =\n useState(false);\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n const shouldShowContentBackgroundHelp =\n name === CONTENT_BACKGROUND_PROPERTY_NAME;\n\n const shouldShowHelpPopover =\n doesHelpTextExist && !shouldShowContentBackgroundHelp;\n const shouldRenderAsCheckbox = asCheckbox || shouldShowContentBackgroundHelp;\n\n const renderHelpIcon = () => {\n if (shouldShowContentBackgroundHelp) {\n return (\n <>\n <Button\n className=\"neeto-themes-content-background-help-modal__trigger shrink-0\"\n data-testid=\"content-background-help-button\"\n icon={Help}\n size=\"small\"\n style=\"text\"\n aria-label={t(\n \"neetoThemes.properties.boolean.contentBackgroundHelp.title\"\n )}\n onClick={() => setIsContentBackgroundHelpOpen(true)}\n />\n <ContentBackgroundHelpModal\n isOpen={isContentBackgroundHelpOpen}\n onClose={() => setIsContentBackgroundHelpOpen(false)}\n />\n </>\n );\n }\n\n if (shouldShowHelpPopover) {\n return (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n );\n }\n\n return null;\n };\n\n if (shouldRenderAsCheckbox) {\n return (\n <div\n data-testid=\"theme-style-content-background\"\n className={classnames(\"flex items-center gap-2\", {\n \"neeto-themes-content-background-checkbox-row\":\n shouldShowContentBackgroundHelp,\n })}\n >\n <Checkbox\n {...{ label, name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n {renderHelpIcon()}\n </div>\n );\n }\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 || shouldShowContentBackgroundHelp,\n \"w-auto\": !doesHelpTextExist && !shouldShowContentBackgroundHelp,\n })}\n >\n {label}\n </Typography>\n {renderHelpIcon()}\n </div>\n <Switch\n {...{ name, ...inputProps }}\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 { snakeToCamelCase, findIndexBy, findBy } 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 {\n buildLabel,\n buildProperties,\n isPropertyVisible,\n toCapitalizedOption,\n} 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 DependentPropertyConnector = () => (\n <svg\n className=\"neeto-themes-dependent-property__connector\"\n fill=\"none\"\n height=\"32\"\n viewBox=\"0 0 36 32\"\n width=\"36\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M4 1V22C4 25.5 7 28 13 28H34\"\n stroke=\"rgb(var(--neeto-ui-gray-300))\"\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n);\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 propertySchema = findBy({ key }, themePropertiesSchema);\n const isDependentProperty = Boolean(propertySchema?.dependsOn);\n\n const wrapProperty = property => {\n if (!isDependentProperty) return property;\n\n return (\n <div className=\"neeto-themes-dependent-property\" key={key}>\n <DependentPropertyConnector />\n {property}\n </div>\n );\n };\n\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 wrapProperty(\n <TextBlock\n {...{ error }}\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 wrapProperty(\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 wrapProperty(\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n propertySchema?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return wrapProperty(\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 wrapProperty(\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(toCapitalizedOption);\n\n return wrapProperty(\n <SelectBlock\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n value={toCapitalizedOption(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 const renderAsCheckbox =\n propertySchema?.renderAsCheckbox || false;\n\n return wrapProperty(\n <SwitchBlock\n asCheckbox={renderAsCheckbox}\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 wrapProperty(\n <AlignmentBlock\n key={key}\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, 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, toCapitalizedOption } 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?.map(toCapitalizedOption) || POSITION_OPTIONS}\n placeholder={t(\"neetoThemes.common.left\")}\n value={toCapitalizedOption(\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 { 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 { useSyncExpandedSectionFromUrl } from \"hooks/useExpandedSection\";\nimport { Button, Popover, Typography, Switch, Tooltip, Spinner } from \"neetoui\";\nimport { Form, BlockNavigation } from \"neetoui/formik\";\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 useSyncExpandedSectionFromUrl();\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 {\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`,\n { count: 2 }\n ),\n }\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 disabled={(!dirty && themeData?.id) || isSubmitting || !isValid}\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n ref={submitBtnRef}\n type=\"submit\"\n />\n </div>\n <Popover\n appendTo={() => document.body}\n position=\"top\"\n reference={submitBtnRef}\n trigger=\"click\"\n content={\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute 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={{\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`\n ),\n }}\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 { Typography } from \"neetoui\";\n\nconst QuickActionRow = ({ icon: Icon, label, onClick, testId }) => (\n <button\n {...{ onClick }}\n className=\"neeto-ui-border-gray-100 hover:neeto-ui-bg-gray-100 flex w-full cursor-pointer items-center gap-3 border-t px-3 py-2 text-start transition-colors\"\n data-testid={testId}\n type=\"button\"\n >\n <Icon size={16} />\n <Typography lineHeight=\"normal\" style=\"body2\">\n {label}\n </Typography>\n </button>\n);\n\nexport default QuickActionRow;\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 { capitalize, filterBy, hyphenate, isPresent, snakeToCamelCase } from \"neetocist\";\nimport { AddImage, CodeBlock, ColorPicker } from \"neetoicons\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { isFunction } from \"components/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Typography, Button } from \"neetoui\";\nimport useConfigStore from \"src/stores/useConfigStore\";\n\nimport QuickActionRow from \"./QuickActionRow\";\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 thumbnail: Thumbnail,\n}) => {\n const { t } = useTranslation();\n const { themePropertiesSchema } = useConfigStore.pick();\n\n const { id, name } = theme;\n\n const imageProperties = filterBy({ kind: \"image\" }, themePropertiesSchema);\n\n const handleDeleteTheme = () => onDeleteTheme(id, name);\n\n const handleQuickEdit = section => e => {\n e.stopPropagation();\n if (isPresent(onEditTheme)) onEditTheme(theme, section);\n else onCloneTheme(theme, section);\n };\n\n const showMoreDropdown = isFunction(onDeleteTheme);\n\n return (\n <div\n className=\"group space-y-2 pt-0.5\"\n data-flip-id={theme.id}\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-2 transition-all duration-300 ease-in-out\",\n {\n \"neeto-ui-border-gray-400\": !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 {active ? (\n <div\n className=\"neeto-themes-theme-thumbnail__active-banner absolute start-0 top-0 z-10 w-full py-1 text-center text-xs font-semibold uppercase tracking-wide\"\n data-testid=\"active-theme-label\"\n >\n {t(\"neetoThemes.common.activeTheme\")}\n </div>\n ) : (\n <div className=\"absolute start-0 top-0 z-10 flex h-full w-full items-center justify-center px-3 pb-3 pt-3\">\n <div\n className={classnames(\n \"-translate-y-9 flex w-full items-center justify-between gap-2\",\n { hidden: !isPreviewing, \"group-hover:flex\": true }\n )}\n >\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 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=\"neeto-ui-text-gray-500 line-clamp-2 min-w-0 grow wrap-anywhere pt-1 italic\"\n data-testid=\"theme-name\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Typography\n className=\"neeto-ui-text-gray-500 shrink-0 pt-1 italic\"\n data-testid=\"default-theme-label\"\n lineHeight=\"snug\"\n style=\"body2\"\n >\n {t(\"neetoThemes.common.defaultTheme\")}\n </Typography>\n )}\n </div>\n {showMoreDropdown && (\n <MoreDropdown\n dropdownButtonProps={{ size: \"small\" }}\n dropdownProps={{\n strategy: \"fixed\",\n onClick: e => e.stopPropagation(),\n }}\n menuItems={[\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 onClick: e => {\n e.stopPropagation();\n handleDeleteTheme();\n },\n },\n ]}\n />\n )}\n </div>\n {active && (\n <div className=\"flex flex-col\">\n <QuickActionRow\n icon={ColorPicker}\n label={t(\"neetoThemes.common.customizeStyle\")}\n testId=\"quick-customize-style\"\n onClick={handleQuickEdit(\"style\")}\n />\n {imageProperties.map(({ key }) => {\n const camelKey = snakeToCamelCase(key);\n const hasImage = isPresent(theme[camelKey]?.url);\n const action = hasImage ? \"change\" : \"add\";\n const specificKey = `neetoThemes.common.${action}${capitalize(\n camelKey\n )}`;\n\n return (\n <QuickActionRow\n icon={AddImage}\n key={key}\n label={t([specificKey, \"neetoThemes.common.addImage\"])}\n testId={`quick-add-${hyphenate(key)}`}\n onClick={handleQuickEdit(camelKey)}\n />\n );\n })}\n <QuickActionRow\n icon={CodeBlock}\n label={t(\"neetoThemes.build.leftSideBar.themes.customCSS\")}\n testId=\"quick-custom-css\"\n onClick={handleQuickEdit(\"customcss\")}\n />\n </div>\n )}\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 { useApplyTheme, useCloneTheme } 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 onApplyThemeSuccess,\n isSearchVisible = false,\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: applyClonedTheme } = useApplyTheme({});\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 activeThemeId = currentTheme?.id;\n\n const lowerSearchTerm = searchTerm.toLowerCase();\n const matchesSearch = theme =>\n theme.name.toLowerCase().includes(lowerSearchTerm);\n\n const activeTheme = activeThemeId\n ? [...defaultThemes, ...themes].find(theme => theme.id === activeThemeId)\n : null;\n\n const isActiveThemeCustom = themes.some(theme => theme.id === activeThemeId);\n\n const filteredDefaultThemes = defaultThemes.filter(\n theme => theme.id !== activeThemeId && matchesSearch(theme)\n );\n\n const filteredThemes = themes.filter(\n theme => theme.id !== activeThemeId && matchesSearch(theme)\n );\n\n const showActiveThemeSection = activeTheme && matchesSearch(activeTheme);\n\n const handleCloneTheme = (data, section) => {\n cloneTheme(data.id, {\n onSuccess: ({ theme: clonedTheme }) => {\n // A system theme is cloned when the user customizes it. Apply the\n // clone right away so it becomes the active theme — the editor then\n // won't prompt \"apply this theme?\" on save.\n applyClonedTheme(\n { themeId: clonedTheme.id, entityId, entityType },\n {\n onSuccess: () => {\n onApplyThemeSuccess?.(clonedTheme);\n onEditTheme(clonedTheme, section);\n },\n }\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 const activeThemeSection = showActiveThemeSection && (\n <div className=\"neeto-ui-border-gray-200 mb-6 border-b px-6 pb-6 lg:px-5 xl:px-6\">\n <Card\n {...{ onApplyTheme, thumbnail }}\n active\n isApplyingTheme={themeBeingApplied?.id === activeTheme.id}\n isGlobalTheme={globalTheme?.id === activeTheme.id}\n isHighLightedTheme={activeTheme.id === themeToHighlight}\n isPreviewing={previewingTheme?.id === activeTheme.id}\n theme={activeTheme}\n onCloneTheme={handleCloneTheme}\n onEditTheme={isActiveThemeCustom ? onEditTheme : undefined}\n onSetPreviewTheme={setPreviewTheme}\n />\n </div>\n );\n\n const systemThemesSection = isNotEmpty(filteredDefaultThemes) && (\n <div className=\"mb-6 space-y-3\">\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 isApplyingTheme={themeBeingApplied?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isPreviewing={previewingTheme?.id === theme.id}\n key={theme.id}\n onCloneTheme={handleCloneTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n ))}\n </div>\n </div>\n );\n\n const customThemesSection = isNotEmpty(filteredThemes) && (\n <div className=\"mb-6 space-y-3\">\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 isApplyingTheme={themeBeingApplied?.id === theme.id}\n isGlobalTheme={globalTheme?.id === theme.id}\n isHighLightedTheme={theme.id === themeToHighlight}\n key={theme.id}\n onCloneTheme={handleCloneTheme}\n onDeleteTheme={!isActive && onDeleteTheme}\n onSetPreviewTheme={setPreviewTheme}\n />\n );\n })}\n </div>\n </div>\n );\n\n return (\n <div className=\"neeto-themes-sidebar__scroll\">\n <div className=\"mb-6 space-y-3\">\n {isSearchVisible && (\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 </div>\n {activeThemeSection}\n {systemThemesSection}\n {customThemesSection}\n </div>\n );\n};\n\nexport default Themes;\n","import i18next from \"i18next\";\nimport { LeftArrow, RightArrow, Search } 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, handleToggleSearch }) => {\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 {\n entityType: t(\n `neetoThemes.entityType.${entityType.toLowerCase()}`\n ),\n }\n )}\n />\n </div>\n <div className=\"self-end\">\n <Button\n data-testid=\"themes-search-toggle-button\"\n icon={Search}\n iconPosition=\"left\"\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoThemes.common.searchThemes\"),\n position: \"top\",\n }}\n onClick={handleToggleSearch}\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 { APPLY_SPINNER_DELAY } from \"./constants\";\nimport Customize from \"./Customize\";\nimport Themes from \"./Themes\";\nimport TitleBar from \"./TitleBar\";\nimport { animateThemeReorder, buildPathname, isScreenCustomCSS } 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}) => {\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 const applyUpdates = () => {\n setTheme(theme);\n highlightTheme(theme);\n setThemeState({ previewingTheme: theme });\n setThemeBeingApplied({});\n setCurrentScreen(DESIGN_SCREENS.THEMES);\n onApplyThemeSuccess?.(theme);\n };\n\n // Keep the spinner visible a bit longer so the apply feels deliberate,\n // then glide the card into the pinned active section.\n setTimeout(() => animateThemeReorder(applyUpdates), APPLY_SPINNER_DELAY);\n },\n });\n\n const themeToDelete = useRef(null);\n const themeToEdit = useRef(null);\n\n const isCustomCssScreen = isScreenCustomCSS(currentScreen);\n\n const [isSearchVisible, setIsSearchVisible] = useState(false);\n\n const handleToggleSearch = () => {\n setIsSearchVisible(prev => {\n const next = !prev;\n if (!next) {\n const params = new URLSearchParams(history.location.search);\n params.delete(\"searchTerm\");\n history.replace({ search: params.toString() });\n }\n\n return next;\n });\n };\n\n const handleEditTheme = (theme, section) => {\n themeToEdit.current = theme;\n const pathname = buildUrl(buildPathname(routes.themes.edit), {\n themeId: theme.id,\n });\n\n history.push({\n pathname,\n search: section ? `?section=${section}` : \"\",\n });\n };\n\n const onApplyTheme = theme => {\n if (themeBeingApplied?.id) return;\n\n setThemeBeingApplied(theme);\n applyTheme(\n { themeId: theme.id, entityId, entityType },\n { onError: () => setThemeBeingApplied({}) }\n );\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 {...{ currentScreen, handleBackPress, handleToggleSearch }} />\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 isCurrentThemeLoading,\n isSearchVisible,\n onApplyTheme,\n onApplyThemeSuccess,\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, useMemo } 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\";\nimport { registerNeetoThemesTranslations } from \"src/translations\";\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 helpPopoverProps = {},\n enabledFeatures = { customCSS: true },\n proFeatures = {}, // Add supported pro features here, example: { customCSS: true }\n}) => {\n useMemo(registerNeetoThemesTranslations, []);\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 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":["getImageFromUrl","source","image","Image","crossOrigin","src","Promise","resolve","onload","getDominantColorFromUrl","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","imageUrl","context","c","wrap","_callee$","_context","prev","next","sent","document","createElement","getContext","drawImage","getImageData","data","abrupt","concat","toString","slice","t0","Toastr","error","stop","_x","apply","arguments","scrollElementIntoView","elementId","elementToScroll","getElementById","sidebarContainer","querySelector","elementRect","getBoundingClientRect","sidebarContainerRect","offset","top","scrollTop","scrollTo","behavior","isFunction","obj","isNewThemeRoute","location","pathname","endsWith","isEditThemeRoute","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","value","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","theme","className","classNames","rounded","options","scrollBeyondLastLine","minimap","enabled","Card","_ref$title","title","name","helpPopoverProps","required","_useExpandedSection","useExpandedSection","expandedSection","setExpandedSection","isOpen","isRTL","i18n","dir","ToggleIcon","Left","Right","handleToggle","_jsxs","hyphenate","classnames","type","onClick","Typography","component","lineHeight","style","weight","isPresent","HelpPopver","_objectSpread","size","isScreenCustomCSS","screen","buildPathname","route","_iterator","_createForOfIteratorHelper","split","_step","s","n","done","segment","isEmpty","err","e","f","animateThemeReorder","updateFn","prefersReducedMotion","window","matchMedia","matches","cards","_toConsumableArray","querySelectorAll","scrollContainer","length","oldRects","Map","map","card","dataset","flipId","flushSync","flips","oldRect","get","newRect","dx","left","dy","filter","Boolean","forEach","transform","body","offsetHeight","_ref2","classList","add","addEventListener","remove","once","onEditCSSClick","currentScreen","isEnabled","isProFeature","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","values","setFieldValue","_useConfigStore","useConfigStore","store","themePropertiesSchema","shallow","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","isExpanded","customCSS","findBy","kind","properties","parentElementClass","parentClass","handleEditorToggle","setTimeout","handleChange","index","findIndexBy","key","setCustomCSS","css","id","description","Button","label","LogoPosition","Radio","stacked","Item","toCapitalizedOption","_toLabelAndValue","toLabelAndValue","optionValue","capitalize","buildInitialValues","defaultValue","_ref$order","order","dependsOn","String","isNot","buildImageData","filterBy","reduce","acc","item","_values$snakeToCamelC","signedId","snakeToCamelCase","isPropertyVisible","formikValues","property","isNotPresent","hidden","conditionalKey","dependentPropertySchema","dependentProperty","_formikValues$snakeTo","url","buildLabel","buildProperties","condition","imageKeys","Set","ele","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","fontFamily","SelectBlock","SliderBlock","min","max","marks","Slider","tooltip","formatter","CONTENT_BACKGROUND_PROPERTY_NAME","CONTENT_BACKGROUND_HELP_TRANSLATION_BASE_KEY","ContentBackgroundHelpModal","onClose","Modal","Header","Body","role","withT","SwitchBlock","_ref$asCheckbox","asCheckbox","inputProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","isContentBackgroundHelpOpen","setIsContentBackgroundHelpOpen","translationKey","doesHelpTextExist","exists","shouldShowContentBackgroundHelp","shouldShowHelpPopover","shouldRenderAsCheckbox","renderHelpIcon","_Fragment","Help","HelpPopover","Checkbox","Switch","TextBlock","_ref$type","Input","DependentPropertyConnector","fill","height","viewBox","width","xmlns","d","stroke","strokeLinecap","strokeWidth","Properties","onPropertiesChange","themeId","_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","sort","_findBy2","Infinity","_ref3","propertySchema","isDependentProperty","wrapProperty","isCurrentPropertyVisible","_errors$properties","_createElement","target","FONT_OPTIONS","_ref4","Number","radius","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","negate","opacity","_findBy3","POSITION_OPTIONS","renderAsCheckbox","checked","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","fixedAspectRatio","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","ImageUploader","onUploadComplete","Images","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","useSyncExpandedSectionFromUrl","history","useHistory","popoverInstance","setPopoverInstance","entityType","isFetchingSchema","enabledFeatures","proFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","useFetchTheme","isNotNil","initialData","undefined","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","submitBtnRef","useRef","_useCreateTheme","useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","useUpdateTheme","updateTheme","isUpdating","isSubmitting","handleGlobalThemeSwitchChange","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","onSuccess","replace","buildUrl","routes","themes","edit","Form","formikProps","initialValues","validationSchema","THEME_VALIDATION_SCHEMA","enableReinitialize","_ref5","dirty","isValid","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","_defineProperty","Tooltip","disabled","toLowerCase","count","loading","ref","Popover","appendTo","reference","trigger","Close","_popoverInstance$hide","hide","call","Trans","components","bold","i18nKey","onMount","QuickActionRow","Icon","testId","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","thumbnail","imageProperties","handleDeleteTheme","handleQuickEdit","section","stopPropagation","showMoreDropdown","DefaultThumbnail","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","menuItems","isDisabled","_theme$camelKey","camelKey","hasImage","action","specificKey","AddImage","CodeBlock","memo","Themes","_ref$themes","_ref$defaultThemes","defaultThemes","themeToHighlight","didScrollActiveThemeIntoView","isCurrentThemeLoading","themeBeingApplied","onApplyThemeSuccess","_ref$isSearchVisible","isSearchVisible","entityId","_useQueryParams","useQueryParams","_useQueryParams$searc","searchTerm","_useCloneTheme","useCloneTheme","cloneTheme","_useApplyTheme","useApplyTheme","applyClonedTheme","isLoadingGlobalTheme","current","setPreviewTheme","activeThemeId","lowerSearchTerm","matchesSearch","includes","activeTheme","find","isActiveThemeCustom","some","filteredDefaultThemes","filteredThemes","showActiveThemeSection","handleCloneTheme","clonedTheme","activeThemeSection","systemThemesSection","isNotEmpty","customThemesSection","isActive","Search","enableUrlSync","autoComplete","TitleBar","handleBackPress","handleToggleSearch","helpDocUrl","isCustomizeScreen","i18next","BackButtonIcon","RightArrow","LeftArrow","iconPosition","helpLinkProps","href","MemoizedAlert","Alert","Sidebar","_themeToDelete$curren2","onUpdateThemeSuccess","setCurrentScreen","_useState3","_useState4","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState5","_useState6","setThemeToHighlight","_useState7","_useState8","setThemeBeingApplied","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_useState9","_useState10","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","_useListThemes","useListThemes","_useListThemes$data","_useListThemes$data2","_useListThemes$data2$","_useListThemes$data2$2","_useShowThemeEntity","useShowThemeEntity","_useShowThemeEntity$d","_useShowThemeEntity$d2","_useShowThemeEntity$d3","_useDeleteTheme","useDeleteTheme","deleteTheme","isDeleting","applyUpdates","highlightTheme","APPLY_SPINNER_DELAY","applyTheme","themeToDelete","themeToEdit","_useState11","_useState12","setIsSearchVisible","params","URLSearchParams","search","handleEditTheme","push","onError","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","message","Collapse","NeetoThemesBuilder","_ref$defaultImageSize","_ref$fixedAspectRatio","_ref$helpDocUrl","_ref$isTemplateThemes","isTemplateThemesEnabled","_ref$pageTitle","pageTitle","_ref$onApplyThemeSucc","noop","_ref$onUpdateThemeSuc","_ref$helpPopoverProps","_ref$enabledFeatures","_ref$proFeatures","useMemo","registerNeetoThemesTranslations","setConfigState","isFetchingCurrentTheme","isFetching","setViewportHeight","documentElement","setProperty","innerHeight","removeEventListener","PageTitle"],"mappings":"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"}
|