@bigbinary/neeto-themes-frontend 4.0.32 → 4.0.33
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 +7 -7
- package/dist/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/NeetoThemesBuilder.js +7 -7
- package/dist/cjs/NeetoThemesBuilder.js.map +1 -1
- package/dist/cjs/v2/NeetoThemesBuilder.js +9 -9
- package/dist/cjs/v2/NeetoThemesBuilder.js.map +1 -1
- package/dist/v2/NeetoThemesBuilder.js +9 -9
- package/dist/v2/NeetoThemesBuilder.js.map +1 -1
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoThemesBuilder.js","sources":["../../app/javascript/src/v2/components/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Editor.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/LogoPosition.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/TextBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/QuickActionRow.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\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","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport i18n from \"i18next\";\nimport { ChevronRight, ChevronLeft } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\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 ? ChevronLeft : ChevronRight;\n\n const handleToggle = () => setExpandedSection(isOpen ? \"\" : name);\n\n const sectionId = name || hyphenate(title);\n const triggerId = `neeto-themes-section-${sectionId}-trigger`;\n const contentId = `neeto-themes-section-${sectionId}-content`;\n\n return (\n <div\n data-testid={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section border-border 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 aria-controls={contentId}\n aria-expanded={isOpen}\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between rounded-md px-1 py-2 focus:outline-none\"\n id={triggerId}\n type=\"button\"\n onClick={handleToggle}\n >\n <Typography\n asChild\n className=\"flex min-w-0 grow items-center gap-2 text-start\"\n data-testid=\"theme-properties\"\n variant=\"h6\"\n >\n <span>\n {title}\n {required && (\n <span aria-hidden className=\"-ms-1\">\n *\n </span>\n )}\n {isPresent(helpPopoverProps) && (\n <HelpPopover {...helpPopoverProps} />\n )}\n </span>\n </Typography>\n <ToggleIcon\n aria-hidden\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 aria-labelledby={title ? triggerId : undefined}\n id={contentId}\n role={title ? \"region\" : undefined}\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useExpandedSection from \"hooks/useExpandedSection\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\nimport { DESIGN_SCREENS } from \"v2/components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"v2/components/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=\"sm\"\n variant=\"outline\"\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 color=\"muted\" variant=\"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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { RadioGroup } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy } from \"neetocist\";\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 <RadioGroup\n name={`properties[${index}].value`}\n orientation=\"vertical\"\n label={\n <Typography asChild className=\"my-3\" variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.title\")}\n </span>\n </Typography>\n }\n >\n <RadioGroup.Item\n value=\"over_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeft\"\n )}\n </span>\n </Typography>\n <Typography asChild variant=\"body3\" weight=\"normal\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeftDescription\"\n )}\n </span>\n </Typography>\n </span>\n }\n />\n <RadioGroup.Item\n value=\"below_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeft\"\n )}\n </span>\n </Typography>\n <Typography asChild variant=\"body3\" weight=\"normal\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeftDescription\"\n )}\n </span>\n </Typography>\n </span>\n }\n />\n </RadioGroup>\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { AlignCenter, AlignLeft } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\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\" variant=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"border-border neeto-themes-nano-alignment-block flex items-center rounded-md border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-testid=\"alignment-left\"\n variant={value === \"left\" ? \"default\" : \"ghost\"}\n icon={() => (\n <AlignLeft\n size={20}\n className={classnames({\n rounded: true,\n \"text-primary-foreground\": value === \"left\",\n \"text-muted-foreground\": 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 bg-border h-8 w-px\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-testid=\"alignment-center\"\n variant={value === \"center\" ? \"default\" : \"ghost\"}\n icon={() => (\n <AlignCenter\n size={20}\n className={classnames({\n rounded: true,\n \"text-primary-foreground\": value === \"center\",\n \"text-muted-foreground\": 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 { ColorPicker, Label } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex min-h-9 items-center justify-between\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { Label, Select } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\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 <Label data-testid=\"style-fields-labels\">{label}</Label>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n contentProps={{ className: \"min-w-max\" }}\n formatOptionLabel={option => (\n <span style={{ fontFamily: option.value }}>{option.label}</span>\n )}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { Label, Select } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex min-h-9 items-center justify-between gap-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"logo-field-labels\">{label}</Label>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n contentProps={{ className: \"min-w-max\" }}\n />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Label, Slider } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst SliderBlock = ({ label, onChange, value, min, max }) => (\n <div\n className=\"flex min-h-9 items-center justify-between gap-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <Slider\n {...{ max, min, value }}\n className=\"my-2 w-20\"\n onValueChange={onChange}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import { Label, Switch, Checkbox } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, asCheckbox = false, ...inputProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n if (asCheckbox) {\n return (\n <div\n className=\"flex min-h-9 items-center gap-2\"\n data-testid=\"theme-style-content-background\"\n >\n <Checkbox\n {...{ label, name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n {doesHelpTextExist && (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n );\n }\n\n return (\n <div\n className=\"flex min-h-9 items-center justify-between\"\n data-testid=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Label\n data-testid=\"style-fields-labels\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Label>\n {doesHelpTextExist && (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n <Switch\n {...{ name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n size=\"default\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { Label, Input } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst TextBlock = ({\n label,\n name,\n type = \"text\",\n value,\n onChange,\n placeholder,\n error,\n}) => (\n <div\n className=\"flex flex-col gap-2\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <Input {...{ error, name, onChange, placeholder, type, value }} />\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 Properties = ({ onPropertiesChange, condition, themeId }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values, errors } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n if (name === \"background_color\") {\n const isDominantBackgroundColorEnabled =\n findBy(\n { key: \"is_dominant_background_color_enabled\" },\n values.properties\n )?.value === \"true\";\n\n const hasImageWithDominantColor =\n values?.backgroundImage?.dominantColor;\n\n if (isDominantBackgroundColorEnabled && hasImageWithDominantColor) {\n return;\n }\n }\n\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n if (!(values?.id === themeId)) return;\n\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"text_input\": {\n const index = findIndexBy({ key }, values.properties);\n const error = errors?.properties?.[index]?.value;\n\n return (\n <TextBlock\n {...{ 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 (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={value || \"\"}\n onChange={newValue => handleChange(key, newValue)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toCapitalizedOption);\n\n return (\n <SelectBlock\n {...{ value }}\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n onChange={newValue =>\n setFieldValue(`properties[${index}].value`, newValue)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n const renderAsCheckbox =\n findBy({ key }, themePropertiesSchema)?.renderAsCheckbox ||\n false;\n\n return (\n <SwitchBlock\n asCheckbox={renderAsCheckbox}\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onCheckedChange={checked =>\n setFieldValue(`properties[${index}].value`, String(checked))\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\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 { Toastr, Label } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { getDominantColorFromUrl } from \"v2/components/utils\";\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 <Label data-testid=\"style-fields-labels\">{label}</Label>\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={\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n }\n onChange={newValue =>\n setFieldValue(`properties[${positionKeyIndex}].value`, newValue)\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 \"@bigbinary/neeto-atoms/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, useState } from \"react\";\n\nimport {\n Button,\n Popover,\n Typography,\n Switch,\n Tooltip,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Form, BlockNavigation } from \"@bigbinary/neeto-atoms/formik\";\nimport classNames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport { useSyncExpandedSectionFromUrl } from \"hooks/useExpandedSection\";\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\";\nimport { isEditThemeRoute } from \"v2/components/utils\";\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 [isNotAppliedPopoverOpen, setIsNotAppliedPopoverOpen] = useState(false);\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 { 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 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 const isNotAppliedCondition =\n !isEditingCurrentlyAppliedTheme &&\n !(isCurrentThemeAndGlobalThemeSame && values.shouldSetAsGlobalTheme);\n\n return (\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\n className={classNames({ hidden: isCustomCssScreen })}\n />\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-themes-default-theme-toggle border-border mt-4 flex flex-col space-y-2 rounded-lg 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 size=\"lg\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onCheckedChange={checked =>\n setFieldValue(\"shouldSetAsGlobalTheme\", checked)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" color=\"muted\" variant=\"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=\"bg-background border-border sticky bottom-0 start-0 end-0 flex justify-end gap-x-2 border-t 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 type=\"reset\"\n variant=\"ghost\"\n />\n <Popover\n disabled={!isNotAppliedCondition}\n open={isNotAppliedPopoverOpen}\n position=\"top\"\n trigger={\n <Button\n data-testid=\"save-changes-button\"\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n type=\"submit\"\n disabled={\n (!dirty && themeData?.id) || isSubmitting || !isValid\n }\n onClick={() => {\n if (isNotAppliedCondition) {\n setIsNotAppliedPopoverOpen(true);\n }\n }}\n />\n }\n onOpenChange={setIsNotAppliedPopoverOpen}\n >\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute end-1 top-1 z-0\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setIsNotAppliedPopoverOpen(false)}\n />\n <Typography\n className=\"w-72 pe-5\"\n variant=\"body2\"\n weight=\"normal\"\n >\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 </Popover>\n </div>\n </div>\n );\n }}\n </Form>\n );\n};\n\nexport default Customize;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\n\nconst QuickActionRow = ({ icon: Icon, label, onClick, testId }) => (\n <button\n {...{ onClick }}\n className=\"border-border hover:bg-muted flex w-full cursor-pointer items-center gap-2 border-t px-3 py-1.5 text-start transition-colors\"\n data-testid={testId}\n type=\"button\"\n >\n <Icon className=\"text-muted-foreground\" size={16} />\n <Typography className=\"text-sm\" variant=\"body2\">\n {label}\n </Typography>\n </button>\n);\n\nexport default QuickActionRow;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\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 rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"border-border\": !active,\n \"border-foreground neeto-themes-theme-thumbnail--active\": 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=\"rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography variant=\"h5\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"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 { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Code, ImagePlus, Pipette } from \"lucide-react\";\nimport {\n capitalize,\n filterBy,\n hyphenate,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { isFunction } from \"v2/components/utils\";\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 group/thumbnail rounded-lg relative cursor-pointer overflow-hidden border-2 transition-all duration-300 ease-in-out\",\n {\n \"border-border\": !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=\"relative overflow-hidden transition-all duration-300 ease-in-out\">\n {active ? (\n <div\n className=\"neeto-themes-theme-thumbnail__active-banner bg-primary text-primary-foreground 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 variant=\"secondary\"\n className={classnames({\n \"neeto-themes-theme-thumbnail__preview-btn--disabled opacity-100\":\n isPreviewing,\n \"neeto-themes-theme-thumbnail__preview-btn w-[8.125rem] max-w-full shrink-0 justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn w-[8.125rem] max-w-full shrink-0 justify-center disabled:opacity-100!\"\n data-testid=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.useTheme\")}\n loading={isApplyingTheme}\n variant=\"default\"\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 group-hover/thumbnail:opacity-60\">\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=\"border-border flex items-start justify-between gap-1 border-t px-2 py-1.5\">\n <div\n className={classnames(\"flex items-center space-x-2\", {\n grow: !showMoreDropdown,\n })}\n >\n <Typography\n color=\"muted\"\n data-testid=\"theme-name\"\n variant=\"body2\"\n className={classnames(\n \"line-clamp-2 min-w-0 grow wrap-anywhere text-sm italic\",\n { \"pt-1\": showMoreDropdown }\n )}\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Typography\n color=\"muted\"\n data-testid=\"default-theme-label\"\n variant=\"body2\"\n className={classnames(\"shrink-0 text-sm italic\", {\n \"pt-1\": showMoreDropdown,\n })}\n >\n {t(\"neetoThemes.common.defaultTheme\")}\n </Typography>\n )}\n </div>\n {showMoreDropdown && (\n <MoreDropdown\n dropdownButtonProps={{ size: \"sm\" }}\n dropdownProps={{\n className: \"w-max\",\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={Pipette}\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={ImagePlus}\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={Code}\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 { Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\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\";\nimport { scrollElementIntoView } from \"v2/components/utils\";\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 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=\"border-border 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 <div className=\"mb-4 mt-1 px-6 lg:px-5 xl:px-6\">\n <Search\n autoFocus\n enableUrlSync\n autoComplete=\"off\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n />\n </div>\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography\n className=\"text-center\"\n color=\"muted\"\n data-testid=\"no-data-title\"\n variant=\"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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport i18next from \"i18next\";\nimport { ArrowLeft, ArrowRight, Search } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport { isEditThemeRoute, isNewThemeRoute } from \"v2/components/utils\";\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 ? ArrowRight : ArrowLeft;\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4 pt-4 pb-2\">\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 variant=\"ghost\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"bottom\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography data-testid=\"themes-header\" variant=\"h5\">\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 pt-4 pb-2 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 data-testid=\"themes-header\" variant=\"h5\">\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 variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoThemes.common.searchThemes\"),\n position: \"bottom\",\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 { Alert, Button } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { ChevronsLeft, ChevronsRight } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\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\";\nimport { scrollElementIntoView } from \"v2/components/utils\";\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, i18n } = useTranslation();\n const ToggleIcon = i18n.dir() === \"rtl\" ? ChevronsRight : ChevronsLeft;\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 border-border 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={ToggleIcon}\n variant=\"outline\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useMemo } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { noop, isNotPresent } from \"neetocist\";\nimport { PageTitle } from \"neetocommons/v2/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\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/v2/main.css\";\nimport { isEditThemeRoute } from \"v2/components/utils\";\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","APPLY_SPINNER_DELAY","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","theme","className","classNames","rounded","options","scrollBeyondLastLine","minimap","enabled","Card","_ref$title","title","helpPopoverProps","_useExpandedSection","useExpandedSection","expandedSection","setExpandedSection","isOpen","isRTL","i18n","dir","ToggleIcon","ChevronLeft","ChevronRight","handleToggle","sectionId","hyphenate","triggerId","contentId","_jsxs","classnames","id","type","onClick","Typography","asChild","variant","isPresent","HelpPopover","_objectSpread","size","undefined","role","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","style","transform","body","offsetHeight","_ref2","classList","add","addEventListener","remove","once","onEditCSSClick","currentScreen","isEnabled","isProFeature","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","setFieldValue","_useConfigStore","useConfigStore","store","themePropertiesSchema","shallow","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","isExpanded","customCSS","findBy","kind","parentElementClass","parentClass","handleEditorToggle","setTimeout","handleChange","index","findIndexBy","setCustomCSS","css","description","Button","color","LogoPosition","RadioGroup","orientation","weight","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","buildLabel","buildProperties","condition","imageKeys","Set","ele","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","AlignLeft","tooltipProps","content","position","AlignCenter","ColorBlock","_ref$color","showTransparencyControl","Label","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","contentProps","formatOptionLabel","option","fontFamily","SelectBlock","SliderBlock","min","max","Slider","onValueChange","SwitchBlock","_ref$asCheckbox","asCheckbox","inputProps","_objectWithoutProperties","_excluded","translationKey","doesHelpTextExist","exists","Checkbox","Switch","TextBlock","_ref$type","Input","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","_Fragment","sort","_findBy2","Infinity","_ref3","_findBy3","isCurrentPropertyVisible","_errors$properties","_createElement","target","newValue","Number","radius","marks","negate","opacity","_findBy4","_findBy5","renderAsCheckbox","checked","onCheckedChange","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","fixedAspectRatio","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","ImageUploader","onUploadComplete","Images","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","useSyncExpandedSectionFromUrl","history","useHistory","_useState","useState","_useState2","_slicedToArray","isNotAppliedPopoverOpen","setIsNotAppliedPopoverOpen","entityType","isFetchingSchema","enabledFeatures","proFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","useFetchTheme","isNotNil","initialData","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","_useCreateTheme","useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","useUpdateTheme","updateTheme","isUpdating","isSubmitting","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","onSuccess","replace","buildUrl","routes","themes","edit","_ref4","Form","formikProps","initialValues","validationSchema","enableReinitialize","_ref5","dirty","isValid","isNotAppliedCondition","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","_defineProperty","Tooltip","disabled","toLowerCase","count","Popover","open","trigger","loading","onOpenChange","X","Trans","components","bold","i18nKey","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","grow","MoreDropdown","dropdownButtonProps","dropdownProps","menuItems","isDisabled","Pipette","_theme$camelKey","camelKey","hasImage","action","specificKey","ImagePlus","Code","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","ArrowRight","ArrowLeft","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","useRef","ChevronsRight","ChevronsLeft","_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","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","onClose","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/v2/components/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/constants.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Editor.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/Card.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/CustomCSS.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/LogoPosition.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/utils.js","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/AlignmentBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/ColorBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/FontPickerBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SelectBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SliderBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/SwitchBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/TextBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Properties.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/commons/ImageBlock.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/Images.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/ThemeMeta.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Customize/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/QuickActionRow.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/Thumbnail.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/Card.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/Themes/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/TitleBar.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/Sidebar/index.jsx","../../app/javascript/src/v2/components/NeetoThemesBuilder/index.jsx"],"sourcesContent":["import { Toastr } from \"@bigbinary/neeto-atoms\";\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","// Keeps the spinner visible a bit longer so the apply feels deliberate,\n// before the card glides into the pinned active section.\nexport const APPLY_SPINNER_DELAY = 900;\n\nexport const DEFAULT_OPEN_SECTION = \"style\";\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const FIVE_MEGABYTES = 5;\n\nexport const IMAGE_UPLOAD_CONFIG = { maxImageSize: FIVE_MEGABYTES };\n\nexport const POSITION_OPTIONS = [\n { label: \"Left\", value: \"left\" },\n { label: \"Right\", value: \"right\" },\n];\n\nexport const FONT_OPTIONS = [\n {\n label: \"System UI\",\n value:\n '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n },\n {\n label: \"Cedarville Cursive\",\n value: \"'Cedarville Cursive', cursive\",\n },\n { label: \"Poppins\", value: \"Poppins, sans-serif\" },\n { label: \"Roboto\", value: \"Roboto, sans-serif\" },\n { label: \"Open Sans\", value: \"Open Sans, sans-serif\" },\n { label: \"Montserrat\", value: \"Montserrat, sans-serif\" },\n { label: \"Raleway\", value: \"Raleway, sans-serif\" },\n { label: \"Quicksand\", value: \"Quicksand, sans-serif\" },\n { label: \"Inter\", value: \"Inter, sans-serif\" },\n { label: \"Satoshi\", value: \"Satoshi, sans-serif\" },\n { label: \"Chillax\", value: \"Chillax, sans-serif\" },\n { label: \"Clash Display\", value: \"Clash Display, sans-serif\" },\n { label: \"General Sans\", value: \"General Sans, sans-serif\" },\n { label: \"Cabinet Grotesk\", value: \"Cabinet Grotesk, sans-serif\" },\n { label: \"Lora\", value: \"Lora, serif\" },\n { label: \"Merriweather\", value: \"Merriweather, serif\" },\n { label: \"Boska\", value: \"Boska, serif\" },\n { label: \"Playfair Display\", value: \"Playfair Display, serif\" },\n { label: \"Roboto Slab\", value: \"Roboto Slab, serif\" },\n { label: \"Dancing Script\", value: \"Dancing Script, cursive\" },\n { label: \"Tw Cent\", value: \"Tw Cen MT, Tahoma, sans-serif\" },\n { label: \"Comic Sans\", value: \"Comic Sans MS, cursive\" },\n];\n\nexport const THEME_VALIDATION_SCHEMA = yup.object().shape({\n name: yup.string().required(() => t(\"neetoThemes.validations.nameRequired\")),\n properties: yup.array().of(\n yup.object().shape({\n key: yup.string(),\n value: yup.string().when(\"key\", {\n is: key => key?.endsWith(\"_url\"),\n then: schema =>\n schema.url(() => t(\"neetoThemes.validations.invalidUrl\")),\n }),\n })\n ),\n});\n\nexport const OVERLAY_OPACITY_SLIDER_MARKS = { 0: \" \" };\nexport const HUNDRED = 100;\n\nexport const ACCORDION_OPEN_STATE = {\n name: true,\n style: true,\n images: false,\n customcss: false,\n};\n","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 { Spinner } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport i18n from \"i18next\";\nimport { ChevronRight, ChevronLeft } from \"lucide-react\";\nimport { hyphenate, isPresent } from \"neetocist\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\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 ? ChevronLeft : ChevronRight;\n\n const handleToggle = () => setExpandedSection(isOpen ? \"\" : name);\n\n const sectionId = name || hyphenate(title);\n const triggerId = `neeto-themes-section-${sectionId}-trigger`;\n const contentId = `neeto-themes-section-${sectionId}-content`;\n\n return (\n <div\n data-testid={`theme-${hyphenate(title)}-properties`}\n className={classnames(\n \"neeto-themes-nano-section border-border 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 aria-controls={contentId}\n aria-expanded={isOpen}\n className=\"neeto-themes-nano-section__title flex w-full cursor-pointer items-center justify-between rounded-md px-1 py-2 focus:outline-none\"\n id={triggerId}\n type=\"button\"\n onClick={handleToggle}\n >\n <Typography\n asChild\n className=\"flex min-w-0 grow items-center gap-2 text-start\"\n data-testid=\"theme-properties\"\n variant=\"h6\"\n >\n <span>\n {title}\n {required && (\n <span aria-hidden className=\"-ms-1\">\n *\n </span>\n )}\n {isPresent(helpPopoverProps) && (\n <HelpPopover {...helpPopoverProps} />\n )}\n </span>\n </Typography>\n <ToggleIcon\n aria-hidden\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 aria-labelledby={title ? triggerId : undefined}\n id={contentId}\n role={title ? \"region\" : undefined}\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findBy, findIndexBy } from \"neetocist\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useExpandedSection from \"hooks/useExpandedSection\";\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { setCustomCSS } from \"utils\";\nimport { DESIGN_SCREENS } from \"v2/components/NeetoThemesBuilder/constants\";\nimport { scrollElementIntoView } from \"v2/components/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=\"sm\"\n variant=\"outline\"\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 color=\"muted\" variant=\"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 { Typography } from \"@bigbinary/neeto-atoms\";\nimport { RadioGroup } from \"@bigbinary/neeto-atoms/formik\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy } from \"neetocist\";\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 <RadioGroup\n name={`properties[${index}].value`}\n orientation=\"vertical\"\n label={\n <Typography asChild className=\"my-3\" variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\"neetoThemes.build.leftSideBar.themes.logoPosition.title\")}\n </span>\n </Typography>\n }\n >\n <RadioGroup.Item\n value=\"over_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeft\"\n )}\n </span>\n </Typography>\n <Typography asChild variant=\"body3\" weight=\"normal\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.overLeftDescription\"\n )}\n </span>\n </Typography>\n </span>\n }\n />\n <RadioGroup.Item\n value=\"below_left\"\n label={\n <span className=\"flex flex-col gap-1\">\n <Typography asChild variant=\"body2\" weight=\"semibold\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeft\"\n )}\n </span>\n </Typography>\n <Typography asChild variant=\"body3\" weight=\"normal\">\n <span>\n {t(\n \"neetoThemes.build.leftSideBar.themes.logoPosition.belowLeftDescription\"\n )}\n </span>\n </Typography>\n </span>\n }\n />\n </RadioGroup>\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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Field } from \"formik\";\nimport { AlignCenter, AlignLeft } from \"lucide-react\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\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\" variant=\"body2\">\n {label}\n </Typography>\n <Field {...{ name }}>\n {({ field: { value }, form: { setFieldValue } }) => (\n <div className=\"border-border neeto-themes-nano-alignment-block flex items-center rounded-md border\">\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-left\"\n data-testid=\"alignment-left\"\n variant={value === \"left\" ? \"default\" : \"ghost\"}\n icon={() => (\n <AlignLeft\n size={20}\n className={classnames({\n rounded: true,\n \"text-primary-foreground\": value === \"left\",\n \"text-muted-foreground\": 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 bg-border h-8 w-px\" />\n <Button\n className=\"neeto-themes-nano-alignment-button neeto-themes-nano-alignment-button__alignment-center\"\n data-testid=\"alignment-center\"\n variant={value === \"center\" ? \"default\" : \"ghost\"}\n icon={() => (\n <AlignCenter\n size={20}\n className={classnames({\n rounded: true,\n \"text-primary-foreground\": value === \"center\",\n \"text-muted-foreground\": 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 { ColorPicker, Label } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst ColorBlock = ({\n label,\n color = \"#FFFFFF\",\n onChange,\n showTransparencyControl,\n}) => (\n <div\n className=\"flex min-h-9 items-center justify-between\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <ColorPicker\n {...{ color, onChange, showTransparencyControl }}\n showEyeDropper\n size=\"medium\"\n />\n </div>\n);\n\nexport default ColorBlock;\n","import { Label, Select } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\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 <Label data-testid=\"style-fields-labels\">{label}</Label>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n contentProps={{ className: \"min-w-max\" }}\n formatOptionLabel={option => (\n <span style={{ fontFamily: option.value }}>{option.label}</span>\n )}\n />\n </div>\n </div>\n);\n\nexport default FontPickerBlock;\n","import { Label, Select } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst SelectBlock = ({ label, placeholder = \"\", value, options, onChange }) => (\n <div\n className=\"flex min-h-9 items-center justify-between gap-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"logo-field-labels\">{label}</Label>\n <div className=\"w-40\">\n <Select\n {...{ onChange, options, placeholder, value }}\n contentProps={{ className: \"min-w-max\" }}\n />\n </div>\n </div>\n);\n\nexport default SelectBlock;\n","import { Label, Slider } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst SliderBlock = ({ label, onChange, value, min, max }) => (\n <div\n className=\"flex min-h-9 items-center justify-between gap-3\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <Slider\n {...{ max, min, value }}\n className=\"my-2 w-20\"\n onValueChange={onChange}\n />\n </div>\n);\n\nexport default SliderBlock;\n","import { Label, Switch, Checkbox } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nconst SwitchBlock = ({ label, name, asCheckbox = false, ...inputProps }) => {\n const { t, i18n } = useTranslation();\n\n const translationKey = `neetoThemes.properties.boolean.${name}HelpText`;\n const doesHelpTextExist = i18n.exists(translationKey);\n\n if (asCheckbox) {\n return (\n <div\n className=\"flex min-h-9 items-center gap-2\"\n data-testid=\"theme-style-content-background\"\n >\n <Checkbox\n {...{ label, name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n />\n {doesHelpTextExist && (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n );\n }\n\n return (\n <div\n className=\"flex min-h-9 items-center justify-between\"\n data-testid=\"theme-style-content-background\"\n >\n <div className=\"inline-flex items-center gap-4\">\n <Label\n data-testid=\"style-fields-labels\"\n className={classnames({\n \"w-32\": doesHelpTextExist,\n \"w-auto\": !doesHelpTextExist,\n })}\n >\n {label}\n </Label>\n {doesHelpTextExist && (\n <HelpPopover className=\"shrink-0\" description={t(translationKey)} />\n )}\n </div>\n <Switch\n {...{ name, ...inputProps }}\n data-testid=\"enable-background-color-toggle\"\n size=\"default\"\n />\n </div>\n );\n};\n\nexport default SwitchBlock;\n","import { Label, Input } from \"@bigbinary/neeto-atoms\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\n\nconst TextBlock = ({\n label,\n name,\n type = \"text\",\n value,\n onChange,\n placeholder,\n error,\n}) => (\n <div\n className=\"flex flex-col gap-2\"\n data-testid={`theme-style-${joinHyphenCase(label)}`}\n >\n <Label data-testid=\"style-fields-labels\">{label}</Label>\n <Input {...{ error, name, onChange, placeholder, type, value }} />\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 Properties = ({ onPropertiesChange, condition, themeId }) => {\n const { themePropertiesSchema } = useConfigStore.pick();\n const { setThemeState } = useThemeStore.pick();\n const { setFieldValue, values, errors } = useFormikContext();\n const { setVariable, setTheme } = useThemeUtils();\n\n const handleColorChange =\n name =>\n ({ hex, rgb }) => {\n if (name === \"background_color\") {\n const isDominantBackgroundColorEnabled =\n findBy(\n { key: \"is_dominant_background_color_enabled\" },\n values.properties\n )?.value === \"true\";\n\n const hasImageWithDominantColor =\n values?.backgroundImage?.dominantColor;\n\n if (isDominantBackgroundColorEnabled && hasImageWithDominantColor) {\n return;\n }\n }\n\n handleChange(name, hex, `${rgb.r}, ${rgb.g}, ${rgb.b}, ${rgb.a}`);\n };\n\n const handleChange = (name, value, variableValue) => {\n const index = findIndexBy({ key: name }, values.properties);\n if (index !== -1 && values.properties[index].value !== value) {\n setFieldValue(`properties[${index}].value`, value);\n }\n setVariable(snakeToCamelCase(name), variableValue ?? value);\n };\n\n const handleOverlayChange = (key, value) => {\n const index = findIndexBy({ key }, values.properties);\n const overlayColorVariable = `${key}_overlay_color`;\n\n setFieldValue(`properties[${index}].value`, value);\n setVariable(`${key}_overlay_opacity`, Math.abs(value / 100));\n if (value < 0) {\n handleChange(overlayColorVariable, \"#000000\", \"0, 0, 0\");\n } else {\n handleChange(overlayColorVariable, \"#ffffff\", \"255, 255, 255\");\n }\n };\n\n useEffect(() => {\n if (!(values?.id === themeId)) return;\n\n onPropertiesChange?.(values, handleChange, handleColorChange);\n setTheme(values);\n setThemeState({ previewingTheme: values });\n }, [values]);\n\n return (\n <>\n {buildProperties(values?.properties, condition, themePropertiesSchema)\n .sort((a, b) => {\n const order = key =>\n findBy({ key }, themePropertiesSchema)?.order || Infinity;\n\n return order(a.key) - order(b.key);\n })\n .map(({ key, value, kind }) => {\n const isCurrentPropertyVisible = isPropertyVisible(\n key,\n values,\n themePropertiesSchema\n );\n\n if (!isCurrentPropertyVisible) return null;\n\n switch (kind) {\n case \"text_input\": {\n const index = findIndexBy({ key }, values.properties);\n const error = errors?.properties?.[index]?.value;\n\n return (\n <TextBlock\n {...{ 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 (\n <FontPickerBlock\n key={key}\n label={buildLabel(key, kind)}\n options={FONT_OPTIONS}\n value={value || \"\"}\n onChange={newValue => handleChange(key, newValue)}\n />\n );\n\n case \"color\":\n return (\n <ColorBlock\n color={value}\n key={key}\n label={buildLabel(key, kind)}\n showTransparencyControl={\n findBy({ key }, themePropertiesSchema)\n ?.showTransparencyControl || false\n }\n onChange={handleColorChange(key)}\n />\n );\n\n case \"radius\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n max={50}\n min={0}\n value={Number(value) || 0}\n onChange={radius => handleChange(key, radius, `${radius}px`)}\n />\n );\n\n case \"overlay_opacity\":\n return (\n <SliderBlock\n key={key}\n label={buildLabel(key, kind)}\n marks={OVERLAY_OPACITY_SLIDER_MARKS}\n max={HUNDRED}\n min={negate(HUNDRED)}\n value={Number(value) || 0}\n onChange={opacity => handleOverlayChange(key, opacity)}\n />\n );\n\n case \"position_selector\": {\n const index = findIndexBy({ key }, values.properties);\n const options = findBy(\n { key },\n themePropertiesSchema\n )?.options?.map(toCapitalizedOption);\n\n return (\n <SelectBlock\n {...{ value }}\n key={key}\n label={buildLabel(key, kind)}\n options={options || POSITION_OPTIONS}\n placeholder=\"left\"\n onChange={newValue =>\n setFieldValue(`properties[${index}].value`, newValue)\n }\n />\n );\n }\n\n case \"boolean\": {\n const index = findIndexBy({ key }, values.properties);\n const renderAsCheckbox =\n findBy({ key }, themePropertiesSchema)?.renderAsCheckbox ||\n false;\n\n return (\n <SwitchBlock\n asCheckbox={renderAsCheckbox}\n checked={value !== \"false\"}\n key={key}\n label={buildLabel(key, kind)}\n name={snakeToCamelCase(key)}\n onCheckedChange={checked =>\n setFieldValue(`properties[${index}].value`, String(checked))\n }\n />\n );\n }\n\n case \"alignment_block\": {\n const index = findIndexBy({ key }, values.properties);\n\n return (\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 { Toastr, Label } from \"@bigbinary/neeto-atoms\";\nimport { useFormikContext } from \"formik\";\nimport { findIndexBy, isPresent, findBy } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/v2/utils\";\nimport { ImageUploader } from \"neetoimageuploader/v2\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { getDominantColorFromUrl } from \"v2/components/utils\";\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 <Label data-testid=\"style-fields-labels\">{label}</Label>\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={\n findBy({ key: `${name}_position` }, values.properties)?.value ||\n positionKeyInSchema?.defaultValue\n }\n onChange={newValue =>\n setFieldValue(`properties[${positionKeyIndex}].value`, newValue)\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 \"@bigbinary/neeto-atoms/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, useState } from \"react\";\n\nimport {\n Button,\n Popover,\n Typography,\n Switch,\n Tooltip,\n Spinner,\n} from \"@bigbinary/neeto-atoms\";\nimport { Form, BlockNavigation } from \"@bigbinary/neeto-atoms/formik\";\nimport classNames from \"classnames\";\nimport { X } from \"lucide-react\";\nimport { filterBy } from \"neetocist\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { isNotNil } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { useShowGlobalTheme } from \"hooks/reactQuery/useGlobalThemesApi\";\nimport { useFetchTheme } from \"hooks/reactQuery/useThemesApi\";\nimport { useSyncExpandedSectionFromUrl } from \"hooks/useExpandedSection\";\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\";\nimport { isEditThemeRoute } from \"v2/components/utils\";\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 [isNotAppliedPopoverOpen, setIsNotAppliedPopoverOpen] = useState(false);\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 { 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 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 const isNotAppliedCondition =\n !isEditingCurrentlyAppliedTheme &&\n !(isCurrentThemeAndGlobalThemeSame && values.shouldSetAsGlobalTheme);\n\n return (\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\n className={classNames({ hidden: isCustomCssScreen })}\n />\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-themes-default-theme-toggle border-border mt-4 flex flex-col space-y-2 rounded-lg 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 size=\"lg\"\n label={t(\n \"neetoThemes.build.leftSideBar.themes.themeOptions.setAsGlobalTheme.label\"\n )}\n onCheckedChange={checked =>\n setFieldValue(\"shouldSetAsGlobalTheme\", checked)\n }\n />\n </Tooltip>\n <Typography className=\"text-sm\" color=\"muted\" variant=\"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=\"bg-background border-border sticky bottom-0 start-0 end-0 flex justify-end gap-x-2 border-t 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 type=\"reset\"\n variant=\"ghost\"\n />\n <Popover\n disabled={!isNotAppliedCondition}\n open={isNotAppliedPopoverOpen}\n position=\"top\"\n trigger={\n <Button\n data-testid=\"save-changes-button\"\n label={t(\"neetoThemes.buttons.save\")}\n loading={isSubmitting}\n type=\"submit\"\n disabled={\n (!dirty && themeData?.id) || isSubmitting || !isValid\n }\n onClick={() => {\n if (isNotAppliedCondition) {\n setIsNotAppliedPopoverOpen(true);\n }\n }}\n />\n }\n onOpenChange={setIsNotAppliedPopoverOpen}\n >\n <div className=\"flex flex-col items-start gap-2\">\n <Button\n className=\"absolute end-1 top-1 z-0\"\n icon={X}\n size=\"sm\"\n variant=\"ghost\"\n onClick={() => setIsNotAppliedPopoverOpen(false)}\n />\n <Typography\n className=\"w-72 pe-5\"\n variant=\"body2\"\n weight=\"normal\"\n >\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 </Popover>\n </div>\n </div>\n );\n }}\n </Form>\n );\n};\n\nexport default Customize;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\n\nconst QuickActionRow = ({ icon: Icon, label, onClick, testId }) => (\n <button\n {...{ onClick }}\n className=\"border-border hover:bg-muted flex w-full cursor-pointer items-center gap-2 border-t px-3 py-1.5 text-start transition-colors\"\n data-testid={testId}\n type=\"button\"\n >\n <Icon className=\"text-muted-foreground\" size={16} />\n <Typography className=\"text-sm\" variant=\"body2\">\n {label}\n </Typography>\n </button>\n);\n\nexport default QuickActionRow;\n","import { Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { findBy, humanize, snakeToCamelCase } from \"neetocist\";\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 rounded-lg border transition-all duration-300 ease-in-out\",\n {\n \"border-border\": !active,\n \"border-foreground neeto-themes-theme-thumbnail--active\": 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=\"rounded-lg cursor-pointer p-3 transition-all duration-300 ease-in-out group-hover:opacity-85\">\n <div className=\"rounded-lg p-3\">\n <div className=\"mb-3\">\n <Typography variant=\"h5\">\n <span style={{ color: primaryColor }}>{primaryLabel}</span>\n </Typography>\n <Typography color=\"muted\" variant=\"body2\">\n <span style={{ color: secondaryColor }}>{secondaryLabel}</span>\n </Typography>\n </div>\n <div\n className=\"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 { Typography, Button } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { Code, ImagePlus, Pipette } from \"lucide-react\";\nimport {\n capitalize,\n filterBy,\n hyphenate,\n isPresent,\n snakeToCamelCase,\n} from \"neetocist\";\nimport MoreDropdown from \"neetomolecules/v2/MoreDropdown\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport { isFunction } from \"v2/components/utils\";\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 group/thumbnail rounded-lg relative cursor-pointer overflow-hidden border-2 transition-all duration-300 ease-in-out\",\n {\n \"border-border\": !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=\"relative overflow-hidden transition-all duration-300 ease-in-out\">\n {active ? (\n <div\n className=\"neeto-themes-theme-thumbnail__active-banner bg-primary text-primary-foreground 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 variant=\"secondary\"\n className={classnames({\n \"neeto-themes-theme-thumbnail__preview-btn--disabled opacity-100\":\n isPreviewing,\n \"neeto-themes-theme-thumbnail__preview-btn w-[8.125rem] max-w-full min-w-0 shrink justify-center\": true,\n })}\n onClick={() => onSetPreviewTheme(theme)}\n />\n <Button\n className=\"neeto-themes-theme-thumbnail__apply-btn w-[8.125rem] max-w-full min-w-0 shrink justify-center disabled:opacity-100!\"\n data-testid=\"apply-theme-button\"\n disabled={isApplyingTheme}\n label={t(\"neetoThemes.common.useTheme\")}\n loading={isApplyingTheme}\n variant=\"default\"\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 group-hover/thumbnail:opacity-60\">\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=\"border-border flex items-start justify-between gap-1 border-t px-2 py-1.5\">\n <div\n className={classnames(\"flex items-center space-x-2\", {\n grow: !showMoreDropdown,\n })}\n >\n <Typography\n color=\"muted\"\n data-testid=\"theme-name\"\n variant=\"body2\"\n className={classnames(\n \"line-clamp-2 min-w-0 grow wrap-anywhere text-sm italic\",\n { \"pt-1\": showMoreDropdown }\n )}\n >\n {name}\n </Typography>\n {isGlobalTheme && (\n <Typography\n color=\"muted\"\n data-testid=\"default-theme-label\"\n variant=\"body2\"\n className={classnames(\"shrink-0 text-sm italic\", {\n \"pt-1\": showMoreDropdown,\n })}\n >\n {t(\"neetoThemes.common.defaultTheme\")}\n </Typography>\n )}\n </div>\n {showMoreDropdown && (\n <MoreDropdown\n dropdownButtonProps={{ size: \"sm\" }}\n dropdownProps={{\n className: \"w-max\",\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={Pipette}\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={ImagePlus}\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={Code}\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 { Spinner, Typography } from \"@bigbinary/neeto-atoms\";\nimport { isNotEmpty } from \"neetocist\";\nimport { useQueryParams } from \"neetocommons/v2/react-utils\";\nimport Search from \"neetomolecules/v2/Search\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\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\";\nimport { scrollElementIntoView } from \"v2/components/utils\";\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 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=\"border-border 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 <div className=\"mb-4 mt-1 px-6 lg:px-5 xl:px-6\">\n <Search\n autoFocus\n enableUrlSync\n autoComplete=\"off\"\n placeholder={t(\"neetoThemes.common.searchThemes\")}\n />\n </div>\n )}\n {isEmpty(filteredThemes) && isEmpty(filteredDefaultThemes) && (\n <Typography\n className=\"text-center\"\n color=\"muted\"\n data-testid=\"no-data-title\"\n variant=\"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 { Button, Typography } from \"@bigbinary/neeto-atoms\";\nimport i18next from \"i18next\";\nimport { ArrowLeft, ArrowRight, Search } from \"lucide-react\";\nimport HelpPopover from \"neetomolecules/v2/HelpPopover\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useConfigStore from \"src/stores/useConfigStore\";\nimport useThemeStore from \"src/stores/useThemeStore\";\nimport { isEditThemeRoute, isNewThemeRoute } from \"v2/components/utils\";\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 ? ArrowRight : ArrowLeft;\n\n if (isCustomizeScreen) {\n return (\n <div className=\"neeto-themes-sidebar__header px-4 pt-4 pb-2\">\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 variant=\"ghost\"\n tooltipProps={{\n content: isCustomCssScreen\n ? t(\"neetoThemes.buttons.backToEdit\")\n : t(\"neetoThemes.buttons.backToThemes\"),\n position: \"bottom\",\n }}\n onClick={() => handleBackPress(themeId)}\n />\n <Typography data-testid=\"themes-header\" variant=\"h5\">\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 pt-4 pb-2 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 data-testid=\"themes-header\" variant=\"h5\">\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 variant=\"ghost\"\n tooltipProps={{\n content: t(\"neetoThemes.common.searchThemes\"),\n position: \"bottom\",\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 { Alert, Button } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { ChevronsLeft, ChevronsRight } from \"lucide-react\";\nimport { isPresent } from \"neetocist\";\nimport { useBreakpoints } from \"neetocommons/v2/react-utils\";\nimport { buildUrl } from \"neetocommons/v2/utils\";\nimport { useTranslation } from \"react-i18next\";\nimport { Route, Switch, useHistory } from \"react-router-dom\";\n\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\";\nimport { scrollElementIntoView } from \"v2/components/utils\";\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, i18n } = useTranslation();\n const ToggleIcon = i18n.dir() === \"rtl\" ? ChevronsRight : ChevronsLeft;\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 border-border 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={ToggleIcon}\n variant=\"outline\"\n onClick={() => {\n setIsThemesSidebarCollapsed(!isThemesSidebarCollapsed);\n }}\n />\n </div>\n </>\n );\n};\n\nexport default Sidebar;\n","import { useEffect, useMemo } from \"react\";\n\nimport { Spinner } from \"@bigbinary/neeto-atoms\";\nimport { noop, isNotPresent } from \"neetocist\";\nimport { PageTitle } from \"neetocommons/v2/react-utils\";\nimport { useTranslation } from \"react-i18next\";\n\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/v2/main.css\";\nimport { isEditThemeRoute } from \"v2/components/utils\";\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","APPLY_SPINNER_DELAY","POSITION_OPTIONS","label","value","FONT_OPTIONS","THEME_VALIDATION_SCHEMA","yup","object","shape","name","string","required","t","properties","array","of","key","when","is","then","schema","url","OVERLAY_OPACITY_SLIDER_MARKS","HUNDRED","DESIGN_SCREENS","THEMES","Customize","CustomCSS","ONE_MEGABYTE","MonacoEditor","lazy","Editor","isCustomCssScreen","onChange","_jsx","Suspense","fallback","Spinner","children","language","theme","className","classNames","rounded","options","scrollBeyondLastLine","minimap","enabled","Card","_ref$title","title","helpPopoverProps","_useExpandedSection","useExpandedSection","expandedSection","setExpandedSection","isOpen","isRTL","i18n","dir","ToggleIcon","ChevronLeft","ChevronRight","handleToggle","sectionId","hyphenate","triggerId","contentId","_jsxs","classnames","id","type","onClick","Typography","asChild","variant","isPresent","HelpPopover","_objectSpread","size","undefined","role","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","style","transform","body","offsetHeight","_ref2","classList","add","addEventListener","remove","once","onEditCSSClick","currentScreen","isEnabled","isProFeature","_useTranslation","useTranslation","_useFormikContext","useFormikContext","values","setFieldValue","_useConfigStore","useConfigStore","store","themePropertiesSchema","shallow","_helpPopoverProps$cus","customCss","customCssHelpPopoverProps","isExpanded","customCSS","findBy","kind","parentElementClass","parentClass","handleEditorToggle","setTimeout","handleChange","index","findIndexBy","setCustomCSS","css","description","Button","color","LogoPosition","RadioGroup","orientation","weight","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","buildLabel","buildProperties","condition","imageKeys","Set","ele","has","AlignmentBlock","joinHyphenCase","Field","field","form","icon","AlignLeft","tooltipProps","content","position","AlignCenter","ColorBlock","_ref$color","showTransparencyControl","Label","ColorPicker","showEyeDropper","FontPickerBlock","_ref$placeholder","placeholder","Select","contentProps","formatOptionLabel","option","fontFamily","SelectBlock","SliderBlock","min","max","Slider","onValueChange","SwitchBlock","_ref$asCheckbox","asCheckbox","inputProps","_objectWithoutProperties","_excluded","translationKey","doesHelpTextExist","exists","Checkbox","Switch","TextBlock","_ref$type","Input","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","_Fragment","sort","_findBy2","Infinity","_ref3","_findBy3","isCurrentPropertyVisible","_errors$properties","_createElement","target","newValue","Number","radius","marks","negate","opacity","_findBy4","_findBy5","renderAsCheckbox","checked","onCheckedChange","ImageBlock","_ref$imageData","imageData","_ref$uploadConfig","uploadConfig","maxImageSize","attribute","defaultImageSize","useDefaultImageSize","fixedAspectRatio","propertySchema","enablePositionChanger","positionKeyInSchema","isPositionChangerVisible","positionKeyIndex","handleImageChange","ImageUploader","onUploadComplete","Images","_values$coverImage","coverImage","ThemeMeta","_helpPopoverProps$nam","nameHelpPopoverProps","autoFocus","onCreateTheme","onApplyTheme","onUpdateTheme","isApplyingTheme","useSyncExpandedSectionFromUrl","history","useHistory","_useState","useState","_useState2","_slicedToArray","isNotAppliedPopoverOpen","setIsNotAppliedPopoverOpen","entityType","isFetchingSchema","enabledFeatures","proFeatures","_useParams","useParams","currentTheme","_useShowGlobalTheme","useShowGlobalTheme","_useShowGlobalTheme$d","_useShowGlobalTheme$d2","_useShowGlobalTheme$d3","globalTheme","_useFetchTheme","useFetchTheme","isNotNil","initialData","_useFetchTheme$data","themeData","isLoadingTheme","isLoading","isThemeGlobalTheme","isCurrentThemeAndGlobalThemeSame","_helpPopoverProps$sty","styleHelpPopoverProps","isEditingCurrentlyAppliedTheme","_useCreateTheme","useCreateTheme","createTheme","mutate","isCreating","isPending","_useUpdateTheme","useUpdateTheme","updateTheme","isUpdating","isSubmitting","onSubmit","resetForm","themeToSave","propertiesAttributes","shouldSetAsGlobalTheme","onSuccess","replace","buildUrl","routes","themes","edit","_ref4","Form","formikProps","initialValues","validationSchema","enableReinitialize","_ref5","dirty","isValid","isNotAppliedCondition","BlockNavigation","_ref6","propertyDefaultSize","propertyFixedAspectRatio","_defineProperty","Tooltip","disabled","toLowerCase","count","Popover","open","trigger","loading","onOpenChange","X","Trans","components","bold","i18nKey","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","grow","MoreDropdown","dropdownButtonProps","dropdownProps","menuItems","isDisabled","Pipette","_theme$camelKey","camelKey","hasImage","action","specificKey","ImagePlus","Code","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","ArrowRight","ArrowLeft","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","_useState0","isThemesSidebarCollapsed","setIsThemesSidebarCollapsed","defaultThemeName","useRef","ChevronsRight","ChevronsLeft","_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","applyTheme","themeToDelete","themeToEdit","_useState1","_useState10","setIsSearchVisible","params","URLSearchParams","search","handleEditTheme","push","onError","navigateToThemesScreen","themeIdToHighlight","createdTheme","updatedTheme","handleDelete","handleCloseDeleteAlert","useCallback","_themeToDelete$curren","Route","exact","path","render","message","onClose","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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"}
|