@easy-editor/setters 0.1.2 → 0.1.4

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/lib/popover.tsx","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../src/lib/utils.ts","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/defaultAttributes.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/Icon.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-end-horizontal.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-end-vertical.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-horizontal-distribute-center.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-start-horizontal.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-start-vertical.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/align-vertical-distribute-center.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/arrow-right.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/check.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevron-down.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/code.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/database.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/file-braces.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/grip-vertical.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/link-2.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/link.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/maximize-2.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/plus.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/settings-2.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/trash-2.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/unlink.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/upload.js","../../../node_modules/.pnpm/lucide-react@0.561.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/x.js","../src/basic/align-setter/index.tsx","../src/basic/array-setter/index.tsx","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/extends.js","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../../../node_modules/.pnpm/@uiw+color-convert@2.9.2_@babel+runtime@7.28.4/node_modules/@uiw/color-convert/esm/index.js","../../../node_modules/.pnpm/@uiw+react-drag-event-inter_d5f728b5f55192767ab96b2d0d7fcc3a/node_modules/@uiw/react-drag-event-interactive/esm/utils.js","../../../node_modules/.pnpm/@uiw+react-drag-event-inter_d5f728b5f55192767ab96b2d0d7fcc3a/node_modules/@uiw/react-drag-event-interactive/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-saturation_8216b62520c30d5ea7d170d351512b33/node_modules/@uiw/react-color-saturation/esm/Pointer.js","../../../node_modules/.pnpm/@uiw+react-color-saturation_8216b62520c30d5ea7d170d351512b33/node_modules/@uiw/react-color-saturation/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-alpha@2.9._619913fcbc8213ba1f7be7f8c1f19ad2/node_modules/@uiw/react-color-alpha/esm/Pointer.js","../../../node_modules/.pnpm/@uiw+react-color-alpha@2.9._619913fcbc8213ba1f7be7f8c1f19ad2/node_modules/@uiw/react-color-alpha/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-editable-i_210419129ad9c6c340bb62901866df9f/node_modules/@uiw/react-color-editable-input/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-editable-i_3a326f881d1eeaa72edc47417e05a0be/node_modules/@uiw/react-color-editable-input-rgba/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-hue@2.9.2__25e8fd7111ac1a0694ffb9a3979fba60/node_modules/@uiw/react-color-hue/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-swatch@2.9_4f07c5f3d19a8724672b900546356e8d/node_modules/@uiw/react-color-swatch/esm/index.js","../../../node_modules/.pnpm/@uiw+react-color-sketch@2.9_21a5722c15cd24a622567997874764e6/node_modules/@uiw/react-color-sketch/esm/index.js","../src/basic/color-setter/index.tsx","../src/basic/data-binding-setter/index.tsx","../src/basic/data-mapping-setter/index.tsx","../src/basic/json-setter/index.tsx","../src/basic/node-id-setter/index.tsx","../src/basic/number-setter/index.tsx","../src/basic/object-setter/index.tsx","../src/basic/rect-setter/index.tsx","../src/basic/segmented-setter/index.tsx","../src/basic/select-setter/index.tsx","../src/basic/slider-setter/index.tsx","../src/basic/spacing-setter/index.tsx","../src/basic/string-setter/index.tsx","../src/basic/switch-setter/index.tsx","../src/basic/textarea-setter/index.tsx","../src/basic/upload-setter/index.tsx","../src/group/collapse-setter/index.tsx","../src/group/tab-setter/index.tsx","../src/index.ts"],"sourcesContent":["/**\n * Popover - 共享弹窗组件\n * - 使用 Portal 渲染到 document.body,避免被父容器遮挡\n * - 自动匹配触发器宽度\n */\nimport { useEffect, useRef, useState } from 'react'\nimport { createPortal } from 'react-dom'\n\nexport interface PopoverProps {\n open: boolean\n onClose: () => void\n trigger: React.ReactNode\n children: React.ReactNode\n width?: number | 'trigger' // 弹窗宽度,'trigger' 表示匹配触发器宽度\n}\n\nconst Popover = (props: PopoverProps) => {\n const { open, onClose, trigger, children, width = 'trigger' } = props\n\n const triggerRef = useRef<HTMLDivElement>(null)\n const [position, setPosition] = useState({ top: 0, left: 0 })\n const [popoverWidth, setPopoverWidth] = useState(0)\n\n // 计算弹窗位置\n useEffect(() => {\n if (open && triggerRef.current) {\n const triggerRect = triggerRef.current.getBoundingClientRect()\n const triggerWidth = triggerRect.width\n\n // 设置弹窗宽度\n if (width === 'trigger') {\n setPopoverWidth(triggerWidth)\n }\n\n setPosition({\n top: triggerRect.bottom + 4,\n left: triggerRect.left,\n })\n }\n }, [open, width])\n\n // 点击外部关闭\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const target = event.target as Element\n const popoverEl = document.querySelector('.es-popover-portal')\n if (popoverEl && !popoverEl.contains(target) && triggerRef.current && !triggerRef.current.contains(target)) {\n onClose()\n }\n }\n\n if (open) {\n document.addEventListener('mousedown', handleClickOutside)\n return () => document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [open, onClose])\n\n return (\n <>\n <div ref={triggerRef}>{trigger}</div>\n {open\n ? createPortal(\n <div\n className='es-popover-portal'\n style={{\n position: 'fixed',\n top: position.top,\n left: position.left,\n width: popoverWidth || 'auto',\n zIndex: 1000,\n }}\n >\n {children}\n </div>,\n document.body,\n )\n : ''}\n </>\n )\n}\n\nexport default Popover\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\nconst hasA11yProp = (props) => {\n for (const prop in props) {\n if (prop.startsWith(\"aria-\") || prop === \"role\" || prop === \"title\") {\n return true;\n }\n }\n};\n\nexport { hasA11yProp, mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses, hasA11yProp } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...!children && !hasA11yProp(rest) && { \"aria-hidden\": \"true\" },\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className\n ),\n ...props\n })\n );\n Component.displayName = toPascalCase(iconName);\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"6\", height: \"16\", x: \"4\", y: \"2\", rx: \"2\", key: \"z5wdxg\" }],\n [\"rect\", { width: \"6\", height: \"9\", x: \"14\", y: \"9\", rx: \"2\", key: \"um7a8w\" }],\n [\"path\", { d: \"M22 22H2\", key: \"19qnx5\" }]\n];\nconst AlignEndHorizontal = createLucideIcon(\"align-end-horizontal\", __iconNode);\n\nexport { __iconNode, AlignEndHorizontal as default };\n//# sourceMappingURL=align-end-horizontal.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"16\", height: \"6\", x: \"2\", y: \"4\", rx: \"2\", key: \"10wcwx\" }],\n [\"rect\", { width: \"9\", height: \"6\", x: \"9\", y: \"14\", rx: \"2\", key: \"4p5bwg\" }],\n [\"path\", { d: \"M22 22V2\", key: \"12ipfv\" }]\n];\nconst AlignEndVertical = createLucideIcon(\"align-end-vertical\", __iconNode);\n\nexport { __iconNode, AlignEndVertical as default };\n//# sourceMappingURL=align-end-vertical.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"6\", height: \"14\", x: \"4\", y: \"5\", rx: \"2\", key: \"1wwnby\" }],\n [\"rect\", { width: \"6\", height: \"10\", x: \"14\", y: \"7\", rx: \"2\", key: \"1fe6j6\" }],\n [\"path\", { d: \"M17 22v-5\", key: \"4b6g73\" }],\n [\"path\", { d: \"M17 7V2\", key: \"hnrr36\" }],\n [\"path\", { d: \"M7 22v-3\", key: \"1r4jpn\" }],\n [\"path\", { d: \"M7 5V2\", key: \"liy1u9\" }]\n];\nconst AlignHorizontalDistributeCenter = createLucideIcon(\n \"align-horizontal-distribute-center\",\n __iconNode\n);\n\nexport { __iconNode, AlignHorizontalDistributeCenter as default };\n//# sourceMappingURL=align-horizontal-distribute-center.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"6\", height: \"16\", x: \"4\", y: \"6\", rx: \"2\", key: \"1n4dg1\" }],\n [\"rect\", { width: \"6\", height: \"9\", x: \"14\", y: \"6\", rx: \"2\", key: \"17khns\" }],\n [\"path\", { d: \"M22 2H2\", key: \"fhrpnj\" }]\n];\nconst AlignStartHorizontal = createLucideIcon(\"align-start-horizontal\", __iconNode);\n\nexport { __iconNode, AlignStartHorizontal as default };\n//# sourceMappingURL=align-start-horizontal.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"rect\", { width: \"9\", height: \"6\", x: \"6\", y: \"14\", rx: \"2\", key: \"lpm2y7\" }],\n [\"rect\", { width: \"16\", height: \"6\", x: \"6\", y: \"4\", rx: \"2\", key: \"rdj6ps\" }],\n [\"path\", { d: \"M2 2v20\", key: \"1ivd8o\" }]\n];\nconst AlignStartVertical = createLucideIcon(\"align-start-vertical\", __iconNode);\n\nexport { __iconNode, AlignStartVertical as default };\n//# sourceMappingURL=align-start-vertical.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M22 17h-3\", key: \"1lwga1\" }],\n [\"path\", { d: \"M22 7h-5\", key: \"o2endc\" }],\n [\"path\", { d: \"M5 17H2\", key: \"1gx9xc\" }],\n [\"path\", { d: \"M7 7H2\", key: \"6bq26l\" }],\n [\"rect\", { x: \"5\", y: \"14\", width: \"14\", height: \"6\", rx: \"2\", key: \"1qrzuf\" }],\n [\"rect\", { x: \"7\", y: \"4\", width: \"10\", height: \"6\", rx: \"2\", key: \"we8e9z\" }]\n];\nconst AlignVerticalDistributeCenter = createLucideIcon(\n \"align-vertical-distribute-center\",\n __iconNode\n);\n\nexport { __iconNode, AlignVerticalDistributeCenter as default };\n//# sourceMappingURL=align-vertical-distribute-center.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"m12 5 7 7-7 7\", key: \"xquz4c\" }]\n];\nconst ArrowRight = createLucideIcon(\"arrow-right\", __iconNode);\n\nexport { __iconNode, ArrowRight as default };\n//# sourceMappingURL=arrow-right.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]];\nconst Check = createLucideIcon(\"check\", __iconNode);\n\nexport { __iconNode, Check as default };\n//# sourceMappingURL=check.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [[\"path\", { d: \"m6 9 6 6 6-6\", key: \"qrunsl\" }]];\nconst ChevronDown = createLucideIcon(\"chevron-down\", __iconNode);\n\nexport { __iconNode, ChevronDown as default };\n//# sourceMappingURL=chevron-down.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n];\nconst ChevronsUpDown = createLucideIcon(\"chevrons-up-down\", __iconNode);\n\nexport { __iconNode, ChevronsUpDown as default };\n//# sourceMappingURL=chevrons-up-down.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m16 18 6-6-6-6\", key: \"eg8j8\" }],\n [\"path\", { d: \"m8 6-6 6 6 6\", key: \"ppft3o\" }]\n];\nconst Code = createLucideIcon(\"code\", __iconNode);\n\nexport { __iconNode, Code as default };\n//# sourceMappingURL=code.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"ellipse\", { cx: \"12\", cy: \"5\", rx: \"9\", ry: \"3\", key: \"msslwz\" }],\n [\"path\", { d: \"M3 5V19A9 3 0 0 0 21 19V5\", key: \"1wlel7\" }],\n [\"path\", { d: \"M3 12A9 3 0 0 0 21 12\", key: \"mv7ke4\" }]\n];\nconst Database = createLucideIcon(\"database\", __iconNode);\n\nexport { __iconNode, Database as default };\n//# sourceMappingURL=database.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\",\n key: \"1oefj6\"\n }\n ],\n [\"path\", { d: \"M14 2v5a1 1 0 0 0 1 1h5\", key: \"wfsgrz\" }],\n [\n \"path\",\n { d: \"M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1\", key: \"1oajmo\" }\n ],\n [\n \"path\",\n { d: \"M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1\", key: \"mpwhp6\" }\n ]\n];\nconst FileBraces = createLucideIcon(\"file-braces\", __iconNode);\n\nexport { __iconNode, FileBraces as default };\n//# sourceMappingURL=file-braces.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"circle\", { cx: \"9\", cy: \"12\", r: \"1\", key: \"1vctgf\" }],\n [\"circle\", { cx: \"9\", cy: \"5\", r: \"1\", key: \"hp0tcf\" }],\n [\"circle\", { cx: \"9\", cy: \"19\", r: \"1\", key: \"fkjjf6\" }],\n [\"circle\", { cx: \"15\", cy: \"12\", r: \"1\", key: \"1tmaij\" }],\n [\"circle\", { cx: \"15\", cy: \"5\", r: \"1\", key: \"19l28e\" }],\n [\"circle\", { cx: \"15\", cy: \"19\", r: \"1\", key: \"f4zoj3\" }]\n];\nconst GripVertical = createLucideIcon(\"grip-vertical\", __iconNode);\n\nexport { __iconNode, GripVertical as default };\n//# sourceMappingURL=grip-vertical.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M9 17H7A5 5 0 0 1 7 7h2\", key: \"8i5ue5\" }],\n [\"path\", { d: \"M15 7h2a5 5 0 1 1 0 10h-2\", key: \"1b9ql8\" }],\n [\"line\", { x1: \"8\", x2: \"16\", y1: \"12\", y2: \"12\", key: \"1jonct\" }]\n];\nconst Link2 = createLucideIcon(\"link-2\", __iconNode);\n\nexport { __iconNode, Link2 as default };\n//# sourceMappingURL=link-2.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\", key: \"1cjeqo\" }],\n [\"path\", { d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\", key: \"19qd67\" }]\n];\nconst Link = createLucideIcon(\"link\", __iconNode);\n\nexport { __iconNode, Link as default };\n//# sourceMappingURL=link.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M15 3h6v6\", key: \"1q9fwt\" }],\n [\"path\", { d: \"m21 3-7 7\", key: \"1l2asr\" }],\n [\"path\", { d: \"m3 21 7-7\", key: \"tjx5ai\" }],\n [\"path\", { d: \"M9 21H3v-6\", key: \"wtvkvv\" }]\n];\nconst Maximize2 = createLucideIcon(\"maximize-2\", __iconNode);\n\nexport { __iconNode, Maximize2 as default };\n//# sourceMappingURL=maximize-2.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M5 12h14\", key: \"1ays0h\" }],\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }]\n];\nconst Plus = createLucideIcon(\"plus\", __iconNode);\n\nexport { __iconNode, Plus as default };\n//# sourceMappingURL=plus.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M14 17H5\", key: \"gfn3mx\" }],\n [\"path\", { d: \"M19 7h-9\", key: \"6i9tg\" }],\n [\"circle\", { cx: \"17\", cy: \"17\", r: \"3\", key: \"18b49y\" }],\n [\"circle\", { cx: \"7\", cy: \"7\", r: \"3\", key: \"dfmy0x\" }]\n];\nconst Settings2 = createLucideIcon(\"settings-2\", __iconNode);\n\nexport { __iconNode, Settings2 as default };\n//# sourceMappingURL=settings-2.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M10 11v6\", key: \"nco0om\" }],\n [\"path\", { d: \"M14 11v6\", key: \"outv1u\" }],\n [\"path\", { d: \"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\", key: \"miytrc\" }],\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\", key: \"e791ji\" }]\n];\nconst Trash2 = createLucideIcon(\"trash-2\", __iconNode);\n\nexport { __iconNode, Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71\",\n key: \"yqzxt4\"\n }\n ],\n [\n \"path\",\n {\n d: \"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71\",\n key: \"4qinb0\"\n }\n ],\n [\"line\", { x1: \"8\", x2: \"8\", y1: \"2\", y2: \"5\", key: \"1041cp\" }],\n [\"line\", { x1: \"2\", x2: \"5\", y1: \"8\", y2: \"8\", key: \"14m1p5\" }],\n [\"line\", { x1: \"16\", x2: \"16\", y1: \"19\", y2: \"22\", key: \"rzdirn\" }],\n [\"line\", { x1: \"19\", x2: \"22\", y1: \"16\", y2: \"16\", key: \"ox905f\" }]\n];\nconst Unlink = createLucideIcon(\"unlink\", __iconNode);\n\nexport { __iconNode, Unlink as default };\n//# sourceMappingURL=unlink.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 3v12\", key: \"1x0j5s\" }],\n [\"path\", { d: \"m17 8-5-5-5 5\", key: \"7q97r8\" }],\n [\"path\", { d: \"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\", key: \"ih7n3h\" }]\n];\nconst Upload = createLucideIcon(\"upload\", __iconNode);\n\nexport { __iconNode, Upload as default };\n//# sourceMappingURL=upload.js.map\n","/**\n * @license lucide-react v0.561.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n];\nconst X = createLucideIcon(\"x\", __iconNode);\n\nexport { __iconNode, X as default };\n//# sourceMappingURL=x.js.map\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport {\n AlignEndHorizontal,\n AlignEndVertical,\n AlignHorizontalDistributeCenter,\n AlignStartHorizontal,\n AlignStartVertical,\n AlignVerticalDistributeCenter,\n Maximize2,\n} from 'lucide-react'\nimport { useCallback } from 'react'\nimport styles from './styles.module.css'\n\nexport interface AlignValue {\n horizontal: 'left' | 'center' | 'right' | 'stretch'\n vertical: 'top' | 'center' | 'bottom' | 'stretch'\n}\n\nexport interface AlignSetterProps extends SetterProps<AlignValue> {\n showHorizontal?: boolean\n showVertical?: boolean\n mode?: 'flex' | 'text'\n}\n\nconst defaultValue: AlignValue = {\n horizontal: 'left',\n vertical: 'top',\n}\n\nconst horizontalOptions: Array<{\n value: AlignValue['horizontal']\n icon: React.ComponentType<{ className?: string }>\n label: string\n}> = [\n { value: 'left', icon: AlignStartVertical, label: '左对齐' },\n { value: 'center', icon: AlignVerticalDistributeCenter, label: '水平居中' },\n { value: 'right', icon: AlignEndVertical, label: '右对齐' },\n { value: 'stretch', icon: Maximize2, label: '水平拉伸' },\n]\n\nconst verticalOptions: Array<{\n value: AlignValue['vertical']\n icon: React.ComponentType<{ className?: string }>\n label: string\n}> = [\n { value: 'top', icon: AlignStartHorizontal, label: '顶部对齐' },\n { value: 'center', icon: AlignHorizontalDistributeCenter, label: '垂直居中' },\n { value: 'bottom', icon: AlignEndHorizontal, label: '底部对齐' },\n { value: 'stretch', icon: Maximize2, label: '垂直拉伸' },\n]\n\n// 9宫格位置映射\nconst gridPositions: Array<{ h: AlignValue['horizontal']; v: AlignValue['vertical'] }> = [\n { h: 'left', v: 'top' },\n { h: 'center', v: 'top' },\n { h: 'right', v: 'top' },\n { h: 'left', v: 'center' },\n { h: 'center', v: 'center' },\n { h: 'right', v: 'center' },\n { h: 'left', v: 'bottom' },\n { h: 'center', v: 'bottom' },\n { h: 'right', v: 'bottom' },\n]\n\n// 获取元素在容器中的位置样式\nconst getElementPosition = (h: AlignValue['horizontal'], v: AlignValue['vertical']) => {\n const style: React.CSSProperties = {\n position: 'absolute',\n }\n\n // 水平位置\n if (h === 'left') {\n style.left = '4px'\n style.width = '30%'\n } else if (h === 'center') {\n style.left = '50%'\n style.transform = 'translateX(-50%)'\n style.width = '30%'\n } else if (h === 'right') {\n style.right = '4px'\n style.width = '30%'\n } else {\n style.left = '4px'\n style.right = '4px'\n style.width = 'auto'\n }\n\n // 垂直位置\n if (v === 'top') {\n style.top = '4px'\n style.height = '30%'\n } else if (v === 'center') {\n style.top = '50%'\n style.transform = h === 'center' ? 'translate(-50%, -50%)' : 'translateY(-50%)'\n style.height = '30%'\n } else if (v === 'bottom') {\n style.bottom = '4px'\n style.height = '30%'\n } else {\n style.top = '4px'\n style.bottom = '4px'\n style.height = 'auto'\n }\n\n return style\n}\n\nconst AlignSetter = (props: AlignSetterProps) => {\n const { value, initialValue, onChange, showHorizontal = true, showVertical = true } = props\n\n const currentValue = value ?? initialValue ?? defaultValue\n\n const updateAlign = useCallback(\n (updates: Partial<AlignValue>) => {\n onChange({ ...currentValue, ...updates })\n },\n [currentValue, onChange],\n )\n\n const handleGridClick = useCallback(\n (h: AlignValue['horizontal'], v: AlignValue['vertical']) => {\n onChange({ horizontal: h, vertical: v })\n },\n [onChange],\n )\n\n const isGridSelected = (h: AlignValue['horizontal'], v: AlignValue['vertical']) =>\n currentValue.horizontal === h && currentValue.vertical === v\n\n return (\n <div className={styles.container}>\n {/* 可视化对齐预览 + 9宫格选择器 */}\n {showHorizontal === true && showVertical === true ? (\n <div className={styles.visualWrapper}>\n {/* 预览区域 */}\n <div className={styles.previewBox}>\n <div\n className={styles.previewElement}\n style={getElementPosition(currentValue.horizontal, currentValue.vertical)}\n />\n </div>\n\n {/* 9宫格选择器 */}\n <div className={styles.grid}>\n {gridPositions.map(pos => (\n <button\n aria-label={`Align ${pos.h} ${pos.v}`}\n className={cn(styles.gridButton, isGridSelected(pos.h, pos.v) ? styles.gridButtonSelected : '')}\n key={`${pos.h}-${pos.v}`}\n onClick={() => handleGridClick(pos.h, pos.v)}\n type='button'\n />\n ))}\n </div>\n </div>\n ) : null}\n\n {/* 水平对齐 */}\n {showHorizontal === true ? (\n <div className={styles.section}>\n <span className={styles.sectionLabel}>水平对齐</span>\n <div className={styles.buttonGroup}>\n {horizontalOptions.map(option => {\n const Icon = option.icon\n const isRotated = option.value === 'stretch'\n return (\n <button\n aria-label={option.label}\n className={cn(\n styles.alignButton,\n currentValue.horizontal === option.value ? styles.alignButtonSelected : '',\n )}\n key={option.value}\n onClick={() => updateAlign({ horizontal: option.value })}\n title={option.label}\n type='button'\n >\n <Icon className={cn(styles.alignIcon, isRotated ? styles.alignIconRotated : '')} />\n </button>\n )\n })}\n </div>\n </div>\n ) : null}\n\n {/* 垂直对齐 */}\n {showVertical === true ? (\n <div className={styles.section}>\n <span className={styles.sectionLabel}>垂直对齐</span>\n <div className={styles.buttonGroup}>\n {verticalOptions.map(option => {\n const Icon = option.icon\n return (\n <button\n aria-label={option.label}\n className={cn(\n styles.alignButton,\n currentValue.vertical === option.value ? styles.alignButtonSelected : '',\n )}\n key={option.value}\n onClick={() => updateAlign({ vertical: option.value })}\n title={option.label}\n type='button'\n >\n <Icon className={styles.alignIcon} />\n </button>\n )\n })}\n </div>\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default AlignSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport { GripVertical, Plus, Trash2 } from 'lucide-react'\nimport { useCallback } from 'react'\nimport styles from './styles.module.css'\n\nexport interface ArraySetterProps extends SetterProps<unknown[]> {\n itemSetter?: 'string' | 'number'\n maxItems?: number\n minItems?: number\n placeholder?: string\n addButtonText?: string\n}\n\nconst ArraySetter = (props: ArraySetterProps) => {\n const {\n value,\n initialValue,\n itemSetter = 'string',\n maxItems,\n minItems = 0,\n placeholder,\n addButtonText = '添加项',\n onChange,\n } = props\n\n const items = value ?? initialValue ?? []\n\n const handleAdd = useCallback(() => {\n if (maxItems && items.length >= maxItems) {\n return\n }\n const newItem = itemSetter === 'number' ? 0 : ''\n onChange([...items, newItem])\n }, [items, maxItems, itemSetter, onChange])\n\n const handleRemove = useCallback(\n (index: number) => {\n if (items.length <= minItems) {\n return\n }\n const newItems = items.filter((_, i) => i !== index)\n onChange(newItems)\n },\n [items, minItems, onChange],\n )\n\n const handleChange = useCallback(\n (index: number, newValue: unknown) => {\n const newItems = [...items]\n newItems[index] = newValue\n onChange(newItems)\n },\n [items, onChange],\n )\n\n const canAdd = !maxItems || items.length < maxItems\n const canRemove = items.length > minItems\n\n return (\n <div className={styles.container}>\n {items.map((item, index) => (\n <div className={styles.item} key={`item-${String(item)}-${index}`}>\n <GripVertical className={styles.dragHandle} />\n <input\n className={styles.input}\n onChange={e => {\n const val = itemSetter === 'number' ? +e.target.value : e.target.value\n handleChange(index, val)\n }}\n placeholder={placeholder}\n type={itemSetter === 'number' ? 'number' : 'text'}\n value={item as string | number}\n />\n <button\n className={styles.removeButton}\n disabled={!canRemove}\n onClick={() => handleRemove(index)}\n type='button'\n >\n <Trash2 className={styles.removeIcon} />\n </button>\n </div>\n ))}\n <button className={styles.addButton} disabled={!canAdd} onClick={handleAdd} type='button'>\n <Plus className={styles.addIcon} />\n {addButtonText}\n </button>\n </div>\n )\n}\n\nexport default ArraySetter\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import _extends from \"@babel/runtime/helpers/extends\";\nvar RGB_MAX = 255;\nvar HUE_MAX = 360;\nvar SV_MAX = 100;\n/**\n * ```js\n * rgbaToHsva({ r: 255, g: 255, b: 255, a: 1 }) //=> { h: 0, s: 0, v: 100, a: 1 }\n * ```\n */\nexport var rgbaToHsva = _ref => {\n var {\n r,\n g,\n b,\n a\n } = _ref;\n var max = Math.max(r, g, b);\n var delta = max - Math.min(r, g, b);\n\n // prettier-ignore\n var hh = delta ? max === r ? (g - b) / delta : max === g ? 2 + (b - r) / delta : 4 + (r - g) / delta : 0;\n return {\n h: 60 * (hh < 0 ? hh + 6 : hh),\n s: max ? delta / max * SV_MAX : 0,\n v: max / RGB_MAX * SV_MAX,\n a\n };\n};\nexport var hsvaToHslString = hsva => {\n var {\n h,\n s,\n l\n } = hsvaToHsla(hsva);\n // return `hsl(${h}, ${s}%, ${l}%)`;\n return \"hsl(\" + h + \", \" + Math.round(s) + \"%, \" + Math.round(l) + \"%)\";\n};\nexport var hsvaToHsvString = _ref2 => {\n var {\n h,\n s,\n v\n } = _ref2;\n return \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\";\n};\nexport var hsvaToHsvaString = _ref3 => {\n var {\n h,\n s,\n v,\n a\n } = _ref3;\n return \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + a + \")\";\n};\nexport var hsvaToHslaString = hsva => {\n var {\n h,\n s,\n l,\n a\n } = hsvaToHsla(hsva);\n return \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + a + \")\";\n};\nexport var hslStringToHsla = str => {\n var [h, s, l, a] = (str.match(/\\d+/g) || []).map(Number);\n return {\n h,\n s,\n l,\n a\n };\n};\nexport var hslaStringToHsva = hslString => {\n var matcher = /hsla?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n var match = matcher.exec(hslString);\n if (!match) return {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n };\n return hslaToHsva({\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n l: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1)\n });\n};\nexport var hslStringToHsva = hslaStringToHsva;\nexport var hslaToHsva = _ref4 => {\n var {\n h,\n s,\n l,\n a\n } = _ref4;\n s *= (l < 50 ? l : SV_MAX - l) / SV_MAX;\n return {\n h: h,\n s: s > 0 ? 2 * s / (l + s) * SV_MAX : 0,\n v: l + s,\n a\n };\n};\nexport var hsvaToHsla = _ref5 => {\n var {\n h,\n s,\n v,\n a\n } = _ref5;\n var hh = (200 - s) * v / SV_MAX;\n return {\n h,\n s: hh > 0 && hh < 200 ? s * v / SV_MAX / (hh <= SV_MAX ? hh : 200 - hh) * SV_MAX : 0,\n l: hh / 2,\n a\n };\n};\nexport var hsvaStringToHsva = hsvString => {\n var matcher = /hsva?\\(?\\s*(-?\\d*\\.?\\d+)(deg|rad|grad|turn)?[,\\s]+(-?\\d*\\.?\\d+)%?[,\\s]+(-?\\d*\\.?\\d+)%?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n var match = matcher.exec(hsvString);\n if (!match) return {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n };\n return {\n h: parseHue(match[1], match[2]),\n s: Number(match[3]),\n v: Number(match[4]),\n a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? SV_MAX : 1)\n };\n};\n\n/**\n * Valid CSS <angle> units.\n * https://developer.mozilla.org/en-US/docs/Web/CSS/angle\n */\nvar angleUnits = {\n grad: HUE_MAX / 400,\n turn: HUE_MAX,\n rad: HUE_MAX / (Math.PI * 2)\n};\nexport var parseHue = function parseHue(value, unit) {\n if (unit === void 0) {\n unit = 'deg';\n }\n return Number(value) * (angleUnits[unit] || 1);\n};\nexport var hsvStringToHsva = hsvaStringToHsva;\nexport var rgbaStringToHsva = rgbaString => {\n var matcher = /rgba?\\(?\\s*(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?[,\\s]+(-?\\d*\\.?\\d+)(%)?,?\\s*[/\\s]*(-?\\d*\\.?\\d+)?(%)?\\s*\\)?/i;\n var match = matcher.exec(rgbaString);\n if (!match) return {\n h: 0,\n s: 0,\n v: 0,\n a: 1\n };\n return rgbaToHsva({\n r: Number(match[1]) / (match[2] ? SV_MAX / RGB_MAX : 1),\n g: Number(match[3]) / (match[4] ? SV_MAX / RGB_MAX : 1),\n b: Number(match[5]) / (match[6] ? SV_MAX / RGB_MAX : 1),\n a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? SV_MAX : 1)\n });\n};\nexport var rgbStringToHsva = rgbaStringToHsva;\n\n/** Converts an RGBA color plus alpha transparency to hex */\nexport var rgbaToHex = _ref6 => {\n var {\n r,\n g,\n b\n } = _ref6;\n return rgbToHex({\n r,\n g,\n b\n });\n};\nexport var rgbToHex = _ref7 => {\n var {\n r,\n g,\n b\n } = _ref7;\n var bin = r << 16 | g << 8 | b;\n return \"#\" + (h => new Array(7 - h.length).join('0') + h)(bin.toString(16));\n};\nexport var rgbaToHexa = _ref8 => {\n var {\n r,\n g,\n b,\n a\n } = _ref8;\n var alpha = typeof a === 'number' && (a * 255 | 1 << 8).toString(16).slice(1);\n return \"\" + rgbToHex({\n r,\n g,\n b\n }) + (alpha ? alpha : '');\n};\nexport var hexToHsva = hex => rgbaToHsva(hexToRgba(hex));\nexport var hexToRgba = hex => {\n var htemp = hex.replace('#', '');\n if (/^#?/.test(hex) && htemp.length === 3) {\n hex = \"#\" + htemp.charAt(0) + htemp.charAt(0) + htemp.charAt(1) + htemp.charAt(1) + htemp.charAt(2) + htemp.charAt(2);\n }\n var reg = new RegExp(\"[A-Za-z0-9]{2}\", 'g');\n var [r, g, b = 0, a] = hex.match(reg).map(v => parseInt(v, 16));\n return {\n r,\n g,\n b,\n a: (a != null ? a : 255) / RGB_MAX\n };\n};\n\n/**\n * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV\n * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1]\n */\nexport var hsvaToRgba = _ref9 => {\n var {\n h,\n s,\n v,\n a\n } = _ref9;\n var _h = h / 60,\n _s = s / SV_MAX,\n _v = v / SV_MAX,\n hi = Math.floor(_h) % 6;\n var f = _h - Math.floor(_h),\n _p = RGB_MAX * _v * (1 - _s),\n _q = RGB_MAX * _v * (1 - _s * f),\n _t = RGB_MAX * _v * (1 - _s * (1 - f));\n _v *= RGB_MAX;\n var rgba = {};\n switch (hi) {\n case 0:\n rgba.r = _v;\n rgba.g = _t;\n rgba.b = _p;\n break;\n case 1:\n rgba.r = _q;\n rgba.g = _v;\n rgba.b = _p;\n break;\n case 2:\n rgba.r = _p;\n rgba.g = _v;\n rgba.b = _t;\n break;\n case 3:\n rgba.r = _p;\n rgba.g = _q;\n rgba.b = _v;\n break;\n case 4:\n rgba.r = _t;\n rgba.g = _p;\n rgba.b = _v;\n break;\n case 5:\n rgba.r = _v;\n rgba.g = _p;\n rgba.b = _q;\n break;\n }\n rgba.r = Math.round(rgba.r);\n rgba.g = Math.round(rgba.g);\n rgba.b = Math.round(rgba.b);\n return _extends({}, rgba, {\n a\n });\n};\nexport var hsvaToRgbString = hsva => {\n var {\n r,\n g,\n b\n } = hsvaToRgba(hsva);\n return \"rgb(\" + r + \", \" + g + \", \" + b + \")\";\n};\nexport var hsvaToRgbaString = hsva => {\n var {\n r,\n g,\n b,\n a\n } = hsvaToRgba(hsva);\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n};\nexport var rgbaToRgb = _ref0 => {\n var {\n r,\n g,\n b\n } = _ref0;\n return {\n r,\n g,\n b\n };\n};\nexport var hslaToHsl = _ref1 => {\n var {\n h,\n s,\n l\n } = _ref1;\n return {\n h,\n s,\n l\n };\n};\nexport var hsvaToHex = hsva => rgbToHex(hsvaToRgba(hsva));\nexport var hsvaToHexa = hsva => rgbaToHexa(hsvaToRgba(hsva));\nexport var hsvaToHsv = _ref10 => {\n var {\n h,\n s,\n v\n } = _ref10;\n return {\n h,\n s,\n v\n };\n};\nexport var hexToXY = hex => rgbToXY(rgbaToRgb(hexToRgba(hex)));\nexport var xyToHex = xy => rgbToHex(_extends({}, xyToRgb(xy)));\n\n/**\n * Converts XY to RGB. Based on formula from https://developers.meethue.com/develop/application-design-guidance/color-conversion-formulas-rgb-to-xy-and-back/\n * @param color XY color and brightness as an array [0-1, 0-1, 0-1]\n */\nexport var xyToRgb = _ref11 => {\n var {\n x,\n y,\n bri = 255\n } = _ref11;\n var red = x * 3.2406255 + y * -1.537208 + bri * -0.4986286;\n var green = x * -0.9689307 + y * 1.8757561 + bri * 0.0415175;\n var blue = x * 0.0557101 + y * -0.2040211 + bri * 1.0569959;\n var translate = function translate(color) {\n return color <= 0.0031308 ? 12.92 * color : 1.055 * Math.pow(color, 1 / 2.4) - 0.055;\n };\n return {\n r: Math.round(255 * translate(red)),\n g: Math.round(255 * translate(green)),\n b: Math.round(255 * translate(blue))\n };\n};\n\n/**\n * Converts RGB to XY. Based on formula from https://developers.meethue.com/develop/application-design-guidance/color-conversion-formulas-rgb-to-xy-and-back/\n * @param color RGB color as an array [0-255, 0-255, 0-255]\n */\nexport var rgbToXY = _ref12 => {\n var {\n r,\n g,\n b\n } = _ref12;\n var translateColor = function translateColor(color) {\n return color <= 0.04045 ? color / 12.92 : Math.pow((color + 0.055) / 1.055, 2.4);\n };\n var red = translateColor(r / 255);\n var green = translateColor(g / 255);\n var blue = translateColor(b / 255);\n var xyz = {};\n xyz.x = red * 0.4124 + green * 0.3576 + blue * 0.1805;\n xyz.y = red * 0.2126 + green * 0.7152 + blue * 0.0722;\n xyz.bri = red * 0.0193 + green * 0.1192 + blue * 0.9505;\n return xyz;\n};\nexport var color = str => {\n var rgb;\n var hsl;\n var hsv;\n var rgba;\n var hsla;\n var hsva;\n var xy;\n var hex;\n var hexa;\n if (typeof str === 'string' && validHex(str)) {\n hsva = hexToHsva(str);\n hex = str;\n } else if (typeof str !== 'string') {\n hsva = str;\n }\n if (hsva) {\n hsv = hsvaToHsv(hsva);\n hsla = hsvaToHsla(hsva);\n rgba = hsvaToRgba(hsva);\n hexa = rgbaToHexa(rgba);\n hex = hsvaToHex(hsva);\n hsl = hslaToHsl(hsla);\n rgb = rgbaToRgb(rgba);\n xy = rgbToXY(rgb);\n }\n return {\n rgb,\n hsl,\n hsv,\n rgba,\n hsla,\n hsva,\n hex,\n hexa,\n xy\n };\n};\nexport var getContrastingColor = str => {\n if (!str) {\n return '#ffffff';\n }\n var col = color(str);\n var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000;\n return yiq >= 128 ? '#000000' : '#ffffff';\n};\nexport var equalColorObjects = (first, second) => {\n if (first === second) return true;\n for (var prop in first) {\n // The following allows for a type-safe calling of this function (first & second have to be HSL, HSV, or RGB)\n // with type-unsafe iterating over object keys. TS does not allow this without an index (`[key: string]: number`)\n // on an object to define how iteration is normally done. To ensure extra keys are not allowed on our types,\n // we must cast our object to unknown (as RGB demands `r` be a key, while `Record<string, x>` does not care if\n // there is or not), and then as a type TS can iterate over.\n if (first[prop] !== second[prop]) return false;\n }\n return true;\n};\nexport var equalColorString = (first, second) => {\n return first.replace(/\\s/g, '') === second.replace(/\\s/g, '');\n};\nexport var equalHex = (first, second) => {\n if (first.toLowerCase() === second.toLowerCase()) return true;\n\n // To compare colors like `#FFF` and `ffffff` we convert them into RGB objects\n return equalColorObjects(hexToRgba(first), hexToRgba(second));\n};\nexport var validHex = hex => /^#?([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);","import { useRef, useEffect, useCallback } from 'react';\n\n// Saves incoming handler to the ref in order to avoid \"useCallback hell\"\nexport function useEventCallback(handler) {\n var callbackRef = useRef(handler);\n useEffect(() => {\n callbackRef.current = handler;\n });\n return useCallback((value, event) => callbackRef.current && callbackRef.current(value, event), []);\n}\n\n// Check if an event was triggered by touch\nexport var isTouch = event => 'touches' in event;\n\n// Browsers introduced an intervention, making touch events passive by default.\n// This workaround removes `preventDefault` call from the touch handlers.\n// https://github.com/facebook/react/issues/19651\nexport var preventDefaultMove = event => {\n !isTouch(event) && event.preventDefault && event.preventDefault();\n};\n// Clamps a value between an upper and lower bound.\n// We use ternary operators because it makes the minified code\n// 2 times shorter then `Math.min(Math.max(a,b),c)`\nexport var clamp = function clamp(number, min, max) {\n if (min === void 0) {\n min = 0;\n }\n if (max === void 0) {\n max = 1;\n }\n return number > max ? max : number < min ? min : number;\n};\n// Returns a relative position of the pointer inside the node's bounding box\nexport var getRelativePosition = (node, event) => {\n var rect = node.getBoundingClientRect();\n\n // Get user's pointer position from `touches` array if it's a `TouchEvent`\n var pointer = isTouch(event) ? event.touches[0] : event;\n return {\n left: clamp((pointer.pageX - (rect.left + window.pageXOffset)) / rect.width),\n top: clamp((pointer.pageY - (rect.top + window.pageYOffset)) / rect.height),\n width: rect.width,\n height: rect.height,\n x: pointer.pageX - (rect.left + window.pageXOffset),\n y: pointer.pageY - (rect.top + window.pageYOffset)\n };\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"onMove\", \"onDown\"];\nimport React, { useRef, useState, useCallback, useEffect } from 'react';\nimport { isTouch, preventDefaultMove, getRelativePosition, useEventCallback } from \"./utils.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport * from \"./utils.js\";\nvar Interactive = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-interactive',\n className,\n onMove,\n onDown\n } = props,\n reset = _objectWithoutPropertiesLoose(props, _excluded);\n var container = useRef(null);\n var hasTouched = useRef(false);\n var [isDragging, setDragging] = useState(false);\n var onMoveCallback = useEventCallback(onMove);\n var onKeyCallback = useEventCallback(onDown);\n\n // Prevent mobile browsers from handling mouse events (conflicting with touch ones).\n // If we detected a touch interaction before, we prefer reacting to touch events only.\n var isValid = event => {\n if (hasTouched.current && !isTouch(event)) return false;\n hasTouched.current = isTouch(event);\n return true;\n };\n var handleMove = useCallback(event => {\n preventDefaultMove(event);\n if (!container.current) return;\n var isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0;\n if (!isDown) {\n setDragging(false);\n return;\n }\n onMoveCallback == null || onMoveCallback(getRelativePosition(container.current, event), event);\n }, [onMoveCallback]);\n var handleMoveEnd = useCallback(() => setDragging(false), []);\n var toggleDocumentEvents = useCallback(state => {\n if (state) {\n window.addEventListener(hasTouched.current ? 'touchmove' : 'mousemove', handleMove);\n window.addEventListener(hasTouched.current ? 'touchend' : 'mouseup', handleMoveEnd);\n } else {\n window.removeEventListener('mousemove', handleMove);\n window.removeEventListener('mouseup', handleMoveEnd);\n window.removeEventListener('touchmove', handleMove);\n window.removeEventListener('touchend', handleMoveEnd);\n }\n }, [handleMove, handleMoveEnd]);\n useEffect(() => {\n toggleDocumentEvents(isDragging);\n return () => {\n toggleDocumentEvents(false);\n };\n }, [isDragging, handleMove, handleMoveEnd, toggleDocumentEvents]);\n var handleMoveStart = useCallback(event => {\n var activeEl = document.activeElement;\n activeEl == null || activeEl.blur();\n preventDefaultMove(event.nativeEvent);\n if (!isValid(event.nativeEvent)) return;\n if (!container.current) return;\n onKeyCallback == null || onKeyCallback(getRelativePosition(container.current, event.nativeEvent), event.nativeEvent);\n setDragging(true);\n }, [onKeyCallback]);\n return /*#__PURE__*/_jsx(\"div\", _extends({}, reset, {\n className: [prefixCls, className || ''].filter(Boolean).join(' '),\n style: _extends({}, reset.style, {\n touchAction: 'none'\n }),\n ref: container,\n tabIndex: 0,\n onMouseDown: handleMoveStart,\n onTouchStart: handleMoveStart\n }));\n});\nInteractive.displayName = 'Interactive';\nexport default Interactive;","import React, { useMemo } from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Pointer = _ref => {\n var {\n className,\n color,\n left,\n top,\n prefixCls\n } = _ref;\n var style = {\n position: 'absolute',\n top,\n left\n };\n var stylePointer = {\n '--saturation-pointer-box-shadow': 'rgb(255 255 255) 0px 0px 0px 1.5px, rgb(0 0 0 / 30%) 0px 0px 1px 1px inset, rgb(0 0 0 / 40%) 0px 0px 1px 2px',\n width: 6,\n height: 6,\n transform: 'translate(-3px, -3px)',\n boxShadow: 'var(--saturation-pointer-box-shadow)',\n borderRadius: '50%',\n backgroundColor: color\n };\n return useMemo(() => /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-pointer \" + (className || ''),\n style: style,\n children: /*#__PURE__*/_jsx(\"div\", {\n className: prefixCls + \"-fill\",\n style: stylePointer\n })\n }), [top, left, color, className, prefixCls]);\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"radius\", \"pointer\", \"className\", \"hue\", \"style\", \"hsva\", \"onChange\"];\nimport React, { useCallback, useMemo } from 'react';\nimport { hsvaToHslaString } from '@uiw/color-convert';\nimport Interactive from '@uiw/react-drag-event-interactive';\nimport { Pointer } from \"./Pointer.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Saturation = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _hsva$h;\n var {\n prefixCls = 'w-color-saturation',\n radius = 0,\n pointer,\n className,\n hue = 0,\n style,\n hsva,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var containerStyle = _extends({\n width: 200,\n height: 200,\n borderRadius: radius\n }, style, {\n position: 'relative'\n });\n var handleChange = (interaction, event) => {\n onChange && hsva && onChange({\n h: hsva.h,\n s: interaction.left * 100,\n v: (1 - interaction.top) * 100,\n a: hsva.a\n // source: 'hsv',\n });\n };\n var handleKeyDown = useCallback(event => {\n if (!hsva || !onChange) return;\n var step = 1; // 1% step for saturation and value\n var newS = hsva.s;\n var newV = hsva.v;\n var changed = false;\n switch (event.key) {\n case 'ArrowLeft':\n newS = Math.max(0, hsva.s - step);\n changed = true;\n event.preventDefault();\n break;\n case 'ArrowRight':\n newS = Math.min(100, hsva.s + step);\n changed = true;\n event.preventDefault();\n break;\n case 'ArrowUp':\n newV = Math.min(100, hsva.v + step);\n changed = true;\n event.preventDefault();\n break;\n case 'ArrowDown':\n newV = Math.max(0, hsva.v - step);\n changed = true;\n event.preventDefault();\n break;\n default:\n return;\n }\n if (changed) {\n onChange({\n h: hsva.h,\n s: newS,\n v: newV,\n a: hsva.a\n });\n }\n }, [hsva, onChange]);\n var pointerElement = useMemo(() => {\n if (!hsva) return null;\n var comProps = {\n top: 100 - hsva.v + \"%\",\n left: hsva.s + \"%\",\n color: hsvaToHslaString(hsva)\n };\n if (pointer && typeof pointer === 'function') {\n return pointer(_extends({\n prefixCls\n }, comProps));\n }\n return /*#__PURE__*/_jsx(Pointer, _extends({\n prefixCls: prefixCls\n }, comProps));\n }, [hsva, pointer, prefixCls]);\n var handleClick = useCallback(event => {\n event.target.focus();\n }, []);\n return /*#__PURE__*/_jsx(Interactive, _extends({\n className: [prefixCls, className || ''].filter(Boolean).join(' ')\n }, other, {\n style: _extends({\n position: 'absolute',\n inset: 0,\n cursor: 'crosshair',\n backgroundImage: \"linear-gradient(0deg, #000, transparent), linear-gradient(90deg, #fff, hsl(\" + ((_hsva$h = hsva == null ? void 0 : hsva.h) != null ? _hsva$h : hue) + \", 100%, 50%))\"\n }, containerStyle, {\n outline: 'none'\n }),\n ref: ref,\n onMove: handleChange,\n onDown: handleChange,\n onKeyDown: handleKeyDown,\n onClick: handleClick,\n children: pointerElement\n }));\n});\nSaturation.displayName = 'Saturation';\nexport default Saturation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"className\", \"prefixCls\", \"left\", \"top\", \"style\", \"fillProps\"];\nimport React from 'react';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport var Pointer = _ref => {\n var {\n className,\n prefixCls,\n left,\n top,\n style,\n fillProps\n } = _ref,\n reset = _objectWithoutPropertiesLoose(_ref, _excluded);\n var styleWrapper = _extends({}, style, {\n position: 'absolute',\n left,\n top\n });\n var stylePointer = _extends({\n width: 18,\n height: 18,\n boxShadow: 'var(--alpha-pointer-box-shadow)',\n borderRadius: '50%',\n backgroundColor: 'var(--alpha-pointer-background-color)'\n }, fillProps == null ? void 0 : fillProps.style, {\n transform: left ? 'translate(-9px, -1px)' : 'translate(-1px, -9px)'\n });\n return /*#__PURE__*/_jsx(\"div\", _extends({\n className: prefixCls + \"-pointer \" + (className || ''),\n style: styleWrapper\n }, reset, {\n children: /*#__PURE__*/_jsx(\"div\", _extends({\n className: prefixCls + \"-fill\"\n }, fillProps, {\n style: stylePointer\n }))\n }));\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"hsva\", \"background\", \"bgProps\", \"innerProps\", \"pointerProps\", \"radius\", \"width\", \"height\", \"direction\", \"style\", \"onChange\", \"pointer\"];\nimport React, { useCallback } from 'react';\nimport { hsvaToHslaString } from '@uiw/color-convert';\nimport Interactive from '@uiw/react-drag-event-interactive';\nimport { Pointer } from \"./Pointer.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport * from \"./Pointer.js\";\nexport var BACKGROUND_IMG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==';\nvar Alpha = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-alpha',\n className,\n hsva,\n background,\n bgProps = {},\n innerProps = {},\n pointerProps = {},\n radius = 0,\n width,\n height = 16,\n direction = 'horizontal',\n style,\n onChange,\n pointer\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var handleChange = offset => {\n onChange && onChange(_extends({}, hsva, {\n a: direction === 'horizontal' ? offset.left : offset.top\n }), offset);\n };\n var colorTo = hsvaToHslaString(Object.assign({}, hsva, {\n a: 1\n }));\n var innerBackground = \"linear-gradient(to \" + (direction === 'horizontal' ? 'right' : 'bottom') + \", rgba(244, 67, 54, 0) 0%, \" + colorTo + \" 100%)\";\n var comProps = {};\n if (direction === 'horizontal') {\n comProps.left = hsva.a * 100 + \"%\";\n } else {\n comProps.top = hsva.a * 100 + \"%\";\n }\n var styleWrapper = _extends({\n '--alpha-background-color': '#fff',\n '--alpha-pointer-background-color': 'rgb(248, 248, 248)',\n '--alpha-pointer-box-shadow': 'rgb(0 0 0 / 37%) 0px 1px 4px 0px',\n borderRadius: radius,\n background: \"url(\" + BACKGROUND_IMG + \") left center\",\n backgroundColor: 'var(--alpha-background-color)'\n }, {\n width,\n height\n }, style, {\n position: 'relative'\n });\n var handleKeyDown = useCallback(event => {\n var step = 0.01; // 1% step\n var currentAlpha = hsva.a;\n var newAlpha = currentAlpha;\n switch (event.key) {\n case 'ArrowLeft':\n if (direction === 'horizontal') {\n newAlpha = Math.max(0, currentAlpha - step);\n event.preventDefault();\n }\n break;\n case 'ArrowRight':\n if (direction === 'horizontal') {\n newAlpha = Math.min(1, currentAlpha + step);\n event.preventDefault();\n }\n break;\n case 'ArrowUp':\n if (direction === 'vertical') {\n newAlpha = Math.max(0, currentAlpha - step);\n event.preventDefault();\n }\n break;\n case 'ArrowDown':\n if (direction === 'vertical') {\n newAlpha = Math.min(1, currentAlpha + step);\n event.preventDefault();\n }\n break;\n default:\n return;\n }\n if (newAlpha !== currentAlpha) {\n var syntheticOffset = {\n left: direction === 'horizontal' ? newAlpha : hsva.a,\n top: direction === 'vertical' ? newAlpha : hsva.a,\n width: 0,\n height: 0,\n x: 0,\n y: 0\n };\n onChange && onChange(_extends({}, hsva, {\n a: newAlpha\n }), syntheticOffset);\n }\n }, [hsva, direction, onChange]);\n var handleClick = useCallback(event => {\n event.target.focus();\n }, []);\n var pointerElement = pointer && typeof pointer === 'function' ? pointer(_extends({\n prefixCls\n }, pointerProps, comProps)) : /*#__PURE__*/_jsx(Pointer, _extends({}, pointerProps, {\n prefixCls: prefixCls\n }, comProps));\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n className: [prefixCls, prefixCls + \"-\" + direction, className || ''].filter(Boolean).join(' '),\n style: styleWrapper,\n ref: ref,\n children: [/*#__PURE__*/_jsx(\"div\", _extends({}, bgProps, {\n style: _extends({\n inset: 0,\n position: 'absolute',\n background: background || innerBackground,\n borderRadius: radius\n }, bgProps.style)\n })), /*#__PURE__*/_jsx(Interactive, _extends({}, innerProps, {\n style: _extends({}, innerProps.style, {\n inset: 0,\n zIndex: 1,\n position: 'absolute',\n outline: 'none'\n }),\n onMove: handleChange,\n onDown: handleChange,\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n children: pointerElement\n }))]\n }));\n});\nAlpha.displayName = 'Alpha';\nexport default Alpha;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"placement\", \"label\", \"value\", \"className\", \"style\", \"labelStyle\", \"inputStyle\", \"onChange\", \"onBlur\", \"renderInput\"];\nimport React from 'react';\nimport { useRef, useEffect, useState } from 'react';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar validHex = hex => /^#?([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\nvar getNumberValue = value => Number(String(value).replace(/%/g, ''));\nvar EditableInput = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-editable-input',\n placement = 'bottom',\n label,\n value: initValue,\n className,\n style,\n labelStyle,\n inputStyle,\n onChange,\n onBlur,\n renderInput\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [value, setValue] = useState(initValue);\n var isFocus = useRef(false);\n useEffect(() => {\n if (props.value !== value) {\n if (!isFocus.current) {\n setValue(props.value);\n }\n }\n }, [props.value]);\n function handleChange(evn, valInit) {\n var value = (valInit || evn.target.value).trim().replace(/^#/, '');\n if (validHex(value)) {\n onChange && onChange(evn, value);\n }\n var val = getNumberValue(value);\n if (!isNaN(val)) {\n onChange && onChange(evn, val);\n }\n setValue(value);\n }\n function handleBlur(evn) {\n isFocus.current = false;\n setValue(props.value);\n onBlur && onBlur(evn);\n }\n var placementStyle = {};\n if (placement === 'bottom') {\n placementStyle['flexDirection'] = 'column';\n }\n if (placement === 'top') {\n placementStyle['flexDirection'] = 'column-reverse';\n }\n if (placement === 'left') {\n placementStyle['flexDirection'] = 'row-reverse';\n }\n var wrapperStyle = _extends({\n '--editable-input-label-color': 'rgb(153, 153, 153)',\n '--editable-input-box-shadow': 'rgb(204 204 204) 0px 0px 0px 1px inset',\n '--editable-input-color': '#666',\n position: 'relative',\n alignItems: 'center',\n display: 'flex',\n fontSize: 11\n }, placementStyle, style);\n var editableStyle = _extends({\n width: '100%',\n paddingTop: 2,\n paddingBottom: 2,\n paddingLeft: 3,\n paddingRight: 3,\n fontSize: 11,\n background: 'transparent',\n boxSizing: 'border-box',\n border: 'none',\n color: 'var(--editable-input-color)',\n boxShadow: 'var(--editable-input-box-shadow)'\n }, inputStyle);\n var inputProps = _extends({\n value,\n onChange: handleChange,\n onBlur: handleBlur,\n autoComplete: 'off',\n onFocus: () => isFocus.current = true\n }, other, {\n style: editableStyle,\n onFocusCapture: e => {\n var elm = e.target;\n elm.setSelectionRange(elm.value.length, elm.value.length);\n }\n });\n return /*#__PURE__*/_jsxs(\"div\", {\n className: [prefixCls, className || ''].filter(Boolean).join(' '),\n style: wrapperStyle,\n children: [renderInput ? renderInput(inputProps, ref) : /*#__PURE__*/_jsx(\"input\", _extends({\n ref: ref\n }, inputProps)), label && /*#__PURE__*/_jsx(\"span\", {\n style: _extends({\n color: 'var(--editable-input-label-color)',\n textTransform: 'capitalize'\n }, labelStyle),\n children: label\n })]\n });\n});\nEditableInput.displayName = 'EditableInput';\nexport default EditableInput;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"hsva\", \"placement\", \"rProps\", \"gProps\", \"bProps\", \"aProps\", \"className\", \"style\", \"onChange\"];\nimport React from 'react';\nimport EditableInput from '@uiw/react-color-editable-input';\nimport { color as handleColor, hsvaToRgba, rgbaToHsva } from '@uiw/color-convert';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar EditableInputRGBA = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-editable-input-rgba',\n hsva,\n placement = 'bottom',\n rProps = {},\n gProps = {},\n bProps = {},\n aProps = {},\n className,\n style,\n onChange\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var rgba = hsva ? hsvaToRgba(hsva) : {};\n function handleBlur(evn) {\n var value = Number(evn.target.value);\n if (value && value > 255) {\n evn.target.value = '255';\n }\n if (value && value < 0) {\n evn.target.value = '0';\n }\n }\n var handleAlphaBlur = evn => {\n var value = Number(evn.target.value);\n if (value && value > 100) {\n evn.target.value = '100';\n }\n if (value && value < 0) {\n evn.target.value = '0';\n }\n };\n var handleChange = (value, type, evn) => {\n if (typeof value === 'number') {\n if (type === 'a') {\n if (value < 0) value = 0;\n if (value > 100) value = 100;\n onChange && onChange(handleColor(rgbaToHsva(_extends({}, rgba, {\n a: value / 100\n }))));\n }\n if (value > 255) {\n value = 255;\n evn.target.value = '255';\n }\n if (value < 0) {\n value = 0;\n evn.target.value = '0';\n }\n if (type === 'r') {\n onChange && onChange(handleColor(rgbaToHsva(_extends({}, rgba, {\n r: value\n }))));\n }\n if (type === 'g') {\n onChange && onChange(handleColor(rgbaToHsva(_extends({}, rgba, {\n g: value\n }))));\n }\n if (type === 'b') {\n onChange && onChange(handleColor(rgbaToHsva(_extends({}, rgba, {\n b: value\n }))));\n }\n }\n };\n var roundedAlpha = rgba.a ? Math.round(rgba.a * 100) / 100 : 0;\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: ref,\n className: [prefixCls, className || ''].filter(Boolean).join(' ')\n }, other, {\n style: _extends({\n fontSize: 11,\n display: 'flex'\n }, style),\n children: [/*#__PURE__*/_jsx(EditableInput, _extends({\n label: \"R\",\n value: rgba.r || 0,\n onBlur: handleBlur,\n placement: placement,\n onChange: (evn, val) => handleChange(val, 'r', evn)\n }, rProps, {\n style: _extends({}, rProps.style)\n })), /*#__PURE__*/_jsx(EditableInput, _extends({\n label: \"G\",\n value: rgba.g || 0,\n onBlur: handleBlur,\n placement: placement,\n onChange: (evn, val) => handleChange(val, 'g', evn)\n }, gProps, {\n style: _extends({\n marginLeft: 5\n }, rProps.style)\n })), /*#__PURE__*/_jsx(EditableInput, _extends({\n label: \"B\",\n value: rgba.b || 0,\n onBlur: handleBlur,\n placement: placement,\n onChange: (evn, val) => handleChange(val, 'b', evn)\n }, bProps, {\n style: _extends({\n marginLeft: 5\n }, bProps.style)\n })), aProps && /*#__PURE__*/_jsx(EditableInput, _extends({\n label: \"A\",\n value: parseInt(String(roundedAlpha * 100), 10),\n onBlur: handleAlphaBlur,\n placement: placement,\n onChange: (evn, val) => handleChange(val, 'a', evn)\n }, aProps, {\n style: _extends({\n marginLeft: 5\n }, aProps.style)\n }))]\n }));\n});\nEditableInputRGBA.displayName = 'EditableInputRGBA';\nexport default EditableInputRGBA;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"hue\", \"onChange\", \"direction\"];\nimport React from 'react';\nimport Alpha from '@uiw/react-color-alpha';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Hue = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-hue',\n className,\n hue = 0,\n onChange: _onChange,\n direction = 'horizontal'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/_jsx(Alpha, _extends({\n ref: ref,\n className: prefixCls + \" \" + (className || '')\n }, other, {\n direction: direction,\n background: \"linear-gradient(to \" + (direction === 'horizontal' ? 'right' : 'bottom') + \", rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)\",\n hsva: {\n h: hue,\n s: 100,\n v: 100,\n a: hue / 360\n },\n onChange: (_, interaction) => {\n _onChange && _onChange({\n h: direction === 'horizontal' ? 360 * interaction.left : 360 * interaction.top\n });\n }\n }));\n});\nHue.displayName = 'Hue';\nexport default Hue;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"color\", \"colors\", \"style\", \"rectProps\", \"onChange\", \"addonAfter\", \"addonBefore\", \"rectRender\"];\nimport React, { Fragment } from 'react';\nimport { hexToHsva, color as handleColor } from '@uiw/color-convert';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar Swatch = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-swatch',\n className,\n color,\n colors = [],\n style,\n rectProps = {},\n onChange,\n addonAfter,\n addonBefore,\n rectRender\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var rectStyle = _extends({\n '--swatch-background-color': 'rgb(144, 19, 254)',\n background: 'var(--swatch-background-color)',\n height: 15,\n width: 15,\n marginRight: 5,\n marginBottom: 5,\n cursor: 'pointer',\n position: 'relative',\n outline: 'none',\n borderRadius: 2\n }, rectProps.style);\n var handleClick = (hex, evn) => {\n onChange && onChange(hexToHsva(hex), handleColor(hexToHsva(hex)), evn);\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({\n ref: ref\n }, other, {\n className: [prefixCls, className || ''].filter(Boolean).join(' '),\n style: _extends({\n display: 'flex',\n flexWrap: 'wrap',\n position: 'relative'\n }, style),\n children: [addonBefore && /*#__PURE__*/React.isValidElement(addonBefore) && addonBefore, colors && Array.isArray(colors) && colors.map((item, idx) => {\n var title = '';\n var background = '';\n if (typeof item === 'string') {\n title = item;\n background = item;\n }\n if (typeof item === 'object' && item.color) {\n title = item.title || item.color;\n background = item.color;\n }\n var checked = color && color.toLocaleLowerCase() === background.toLocaleLowerCase();\n var render = rectRender && rectRender({\n title,\n color: background,\n checked: !!checked,\n style: _extends({}, rectStyle, {\n background\n }),\n onClick: evn => handleClick(background, evn)\n });\n if (render) {\n return /*#__PURE__*/_jsx(Fragment, {\n children: render\n }, idx);\n }\n var child = rectProps.children && /*#__PURE__*/React.isValidElement(rectProps.children) ? /*#__PURE__*/React.cloneElement(rectProps.children, {\n color: background,\n checked\n }) : null;\n return /*#__PURE__*/_jsx(\"div\", _extends({\n tabIndex: 0,\n title: title,\n onClick: evn => handleClick(background, evn)\n }, rectProps, {\n children: child,\n style: _extends({}, rectStyle, {\n background\n })\n }), idx);\n }), addonAfter && /*#__PURE__*/React.isValidElement(addonAfter) && addonAfter]\n }));\n});\nSwatch.displayName = 'Swatch';\nexport default Swatch;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"className\", \"onChange\", \"width\", \"presetColors\", \"color\", \"editableDisable\", \"disableAlpha\", \"style\"];\nimport React, { useState, Fragment } from 'react';\nimport Saturation from '@uiw/react-color-saturation';\nimport Alpha from '@uiw/react-color-alpha';\nimport EditableInput from '@uiw/react-color-editable-input';\nimport RGBA from '@uiw/react-color-editable-input-rgba';\nimport Hue from '@uiw/react-color-hue';\nimport { validHex, hsvaToHex, hsvaToRgbaString, hexToHsva, color as handleColor } from '@uiw/color-convert';\nimport Swatch from '@uiw/react-color-swatch';\nimport { useEffect } from 'react';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nvar PRESET_COLORS = ['#D0021B', '#F5A623', '#f8e61b', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF'];\nvar Bar = props => /*#__PURE__*/_jsx(\"div\", {\n style: {\n boxShadow: 'rgb(0 0 0 / 60%) 0px 0px 2px',\n width: 4,\n top: 1,\n bottom: 1,\n left: props.left,\n borderRadius: 1,\n position: 'absolute',\n backgroundColor: '#fff'\n }\n});\nvar Sketch = /*#__PURE__*/React.forwardRef((props, ref) => {\n var {\n prefixCls = 'w-color-sketch',\n className,\n onChange,\n width = 218,\n presetColors = PRESET_COLORS,\n color,\n editableDisable = true,\n disableAlpha = false,\n style\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var [hsva, setHsva] = useState({\n h: 209,\n s: 36,\n v: 90,\n a: 1\n });\n useEffect(() => {\n if (typeof color === 'string' && validHex(color)) {\n setHsva(hexToHsva(color));\n }\n if (typeof color === 'object') {\n setHsva(color);\n }\n }, [color]);\n var handleChange = hsv => {\n setHsva(hsv);\n onChange && onChange(handleColor(hsv));\n };\n var handleHex = (value, evn) => {\n if (typeof value === 'string' && validHex(value) && /(3|6)/.test(String(value.length))) {\n handleChange(hexToHsva(value));\n }\n };\n var handleAlphaChange = newAlpha => handleChange(_extends({}, hsva, {\n a: newAlpha.a\n }));\n var handleSaturationChange = newColor => handleChange(_extends({}, hsva, newColor, {\n a: hsva.a\n }));\n var styleMain = _extends({\n '--sketch-background': 'rgb(255, 255, 255)',\n '--sketch-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px, rgb(0 0 0 / 15%) 0px 8px 16px',\n '--sketch-swatch-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px inset',\n '--sketch-alpha-box-shadow': 'rgb(0 0 0 / 15%) 0px 0px 0px 1px inset, rgb(0 0 0 / 25%) 0px 0px 4px inset',\n '--sketch-swatch-border-top': '1px solid rgb(238, 238, 238)',\n background: 'var(--sketch-background)',\n borderRadius: 4,\n boxShadow: 'var(--sketch-box-shadow)',\n width\n }, style);\n var styleAlpha = {\n borderRadius: 2,\n background: hsvaToRgbaString(hsva),\n boxShadow: 'var(--sketch-alpha-box-shadow)'\n };\n var styleSwatch = {\n borderTop: 'var(--sketch-swatch-border-top)',\n paddingTop: 10,\n paddingLeft: 10\n };\n var styleSwatchRect = {\n marginRight: 10,\n marginBottom: 10,\n borderRadius: 3,\n boxShadow: 'var(--sketch-swatch-box-shadow)'\n };\n return /*#__PURE__*/_jsxs(\"div\", _extends({}, other, {\n className: prefixCls + \" \" + (className || ''),\n ref: ref,\n style: styleMain,\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n padding: '10px 10px 8px'\n },\n children: [/*#__PURE__*/_jsx(Saturation, {\n hsva: hsva,\n style: {\n width: 'auto',\n height: 150\n },\n onChange: handleSaturationChange\n }), /*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex',\n marginTop: 4\n },\n children: [/*#__PURE__*/_jsxs(\"div\", {\n style: {\n flex: 1\n },\n children: [/*#__PURE__*/_jsx(Hue, {\n width: \"auto\",\n height: 10,\n hue: hsva.h,\n pointer: Bar,\n innerProps: {\n style: {\n marginLeft: 1,\n marginRight: 5\n }\n },\n onChange: newHue => handleChange(_extends({}, hsva, newHue))\n }), !disableAlpha && /*#__PURE__*/_jsx(Alpha, {\n width: \"auto\",\n height: 10,\n hsva: hsva,\n pointer: Bar,\n style: {\n marginTop: 4\n },\n innerProps: {\n style: {\n marginLeft: 1,\n marginRight: 5\n }\n },\n onChange: handleAlphaChange\n })]\n }), !disableAlpha && /*#__PURE__*/_jsx(Alpha, {\n width: 24,\n height: 24,\n hsva: hsva,\n radius: 2,\n style: {\n marginLeft: 4\n },\n bgProps: {\n style: {\n background: 'transparent'\n }\n },\n innerProps: {\n style: styleAlpha\n },\n pointer: () => /*#__PURE__*/_jsx(Fragment, {})\n })]\n })]\n }), editableDisable && /*#__PURE__*/_jsxs(\"div\", {\n style: {\n display: 'flex',\n margin: '0 10px 3px 10px'\n },\n children: [/*#__PURE__*/_jsx(EditableInput, {\n label: \"Hex\",\n value: hsvaToHex(hsva).replace(/^#/, '').toLocaleUpperCase(),\n onChange: (evn, val) => handleHex(val, evn),\n style: {\n minWidth: 58\n }\n }), /*#__PURE__*/_jsx(RGBA, {\n hsva: hsva,\n style: {\n marginLeft: 6\n },\n aProps: !disableAlpha ? {} : false,\n onChange: result => handleChange(result.hsva)\n })]\n }), presetColors && presetColors.length > 0 && /*#__PURE__*/_jsx(Swatch, {\n style: styleSwatch,\n colors: presetColors,\n color: hsvaToHex(hsva),\n onChange: hsvColor => handleChange(hsvColor),\n rectProps: {\n style: styleSwatchRect\n }\n })]\n }));\n});\nSketch.displayName = 'Sketch';\nexport default Sketch;","import type { SetterProps } from '@easy-editor/core'\nimport Popover from '@/lib/popover'\nimport Sketch from '@uiw/react-color-sketch'\nimport { useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface ColorSetterProps extends SetterProps<string> {\n disableAlpha?: boolean\n}\n\nconst ColorSetter = (props: ColorSetterProps) => {\n const { value, initialValue, onChange, disableAlpha = false } = props\n const [open, setOpen] = useState(false)\n\n return (\n <Popover\n onClose={() => setOpen(false)}\n open={open}\n trigger={\n <button aria-label='Select color' className={styles.trigger} onClick={() => setOpen(true)} type='button'>\n <div\n aria-label='Current color'\n className={styles.colorPreview}\n style={{ backgroundColor: value ?? initialValue }}\n />\n <span className={styles.colorValue}>{value ?? initialValue}</span>\n </button>\n }\n >\n <div className={styles.popover}>\n <Sketch color={value} disableAlpha={disableAlpha} onChange={res => onChange(res.hexa)} presetColors={[]} />\n </div>\n </Popover>\n )\n}\n\nexport default ColorSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport Popover from '@/lib/popover'\nimport { Database, FileJson, Link2 } from 'lucide-react'\nimport { useCallback, useMemo, useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface DataBindingValue {\n type: 'static' | 'datasource'\n staticValue?: unknown\n datasourceId?: string\n datasourcePath?: string\n}\n\nexport interface DataBindingSetterProps extends SetterProps<DataBindingValue> {\n dataType?: 'string' | 'number' | 'boolean' | 'array' | 'object' | 'any'\n showPreview?: boolean\n staticSetter?: string\n dataSources?: Array<{ id: string; name: string }>\n}\n\nconst defaultValue: DataBindingValue = {\n type: 'static',\n staticValue: '',\n}\n\nconst DataBindingSetter = (props: DataBindingSetterProps) => {\n const { value, initialValue, onChange, dataType = 'any', showPreview = true, dataSources = [] } = props\n\n const currentValue = value ?? initialValue ?? defaultValue\n const [open, setOpen] = useState(false)\n const [activeTab, setActiveTab] = useState<'static' | 'datasource'>(currentValue.type)\n\n const updateBinding = useCallback(\n (updates: Partial<DataBindingValue>) => {\n onChange({ ...currentValue, ...updates })\n },\n [currentValue, onChange],\n )\n\n const handleTypeChange = useCallback(\n (type: 'static' | 'datasource') => {\n setActiveTab(type)\n updateBinding({ type })\n },\n [updateBinding],\n )\n\n const handleStaticValueChange = useCallback(\n (staticValue: unknown) => {\n updateBinding({ staticValue })\n },\n [updateBinding],\n )\n\n const handleDatasourceChange = useCallback(\n (datasourceId: string) => {\n updateBinding({ datasourceId, datasourcePath: '' })\n },\n [updateBinding],\n )\n\n const handlePathChange = useCallback(\n (datasourcePath: string) => {\n updateBinding({ datasourcePath })\n },\n [updateBinding],\n )\n\n // 渲染静态值输入\n const renderStaticInput = useMemo(() => {\n switch (dataType) {\n case 'number':\n return (\n <input\n className={styles.input}\n onChange={e => handleStaticValueChange(Number(e.target.value))}\n placeholder='输入数值'\n type='number'\n value={(currentValue.staticValue as number) ?? ''}\n />\n )\n case 'boolean':\n return (\n <div className={styles.booleanButtons}>\n <button\n className={cn(styles.booleanButton, currentValue.staticValue === true ? styles.booleanButtonActive : '')}\n onClick={() => handleStaticValueChange(true)}\n type='button'\n >\n True\n </button>\n <button\n className={cn(styles.booleanButton, currentValue.staticValue === false ? styles.booleanButtonActive : '')}\n onClick={() => handleStaticValueChange(false)}\n type='button'\n >\n False\n </button>\n </div>\n )\n case 'array':\n case 'object':\n return (\n <textarea\n className={styles.textarea}\n onChange={e => {\n try {\n const parsed = JSON.parse(e.target.value)\n handleStaticValueChange(parsed)\n } catch {\n handleStaticValueChange(e.target.value)\n }\n }}\n placeholder={dataType === 'array' ? '[\"item1\", \"item2\"]' : '{\"key\": \"value\"}'}\n value={\n typeof currentValue.staticValue === 'string'\n ? currentValue.staticValue\n : (JSON.stringify(currentValue.staticValue, null, 2) ?? '')\n }\n />\n )\n default:\n return (\n <input\n className={styles.input}\n onChange={e => handleStaticValueChange(e.target.value)}\n placeholder='输入值'\n type='text'\n value={(currentValue.staticValue as string) ?? ''}\n />\n )\n }\n }, [dataType, currentValue.staticValue, handleStaticValueChange])\n\n // 绑定状态显示\n const bindingStatus = useMemo(() => {\n if (currentValue.type === 'datasource' && currentValue.datasourceId) {\n const ds = dataSources.find(d => d.id === currentValue.datasourceId)\n return {\n icon: <Link2 className={cn(styles.triggerIcon, styles.triggerIconPrimary)} />,\n text: `${ds?.name ?? currentValue.datasourceId}${currentValue.datasourcePath ? `.${currentValue.datasourcePath}` : ''}`,\n }\n }\n return {\n icon: <FileJson className={cn(styles.triggerIcon, styles.triggerIconMuted)} />,\n text: '静态数据',\n }\n }, [currentValue, dataSources])\n\n return (\n <Popover\n onClose={() => setOpen(false)}\n open={open}\n trigger={\n <button aria-label='Data binding' className={styles.trigger} onClick={() => setOpen(true)} type='button'>\n {bindingStatus.icon}\n <span className={styles.triggerText}>{bindingStatus.text}</span>\n </button>\n }\n width={300}\n >\n <div className={styles.popoverContent}>\n {/* Tabs */}\n <div className={styles.tabsList} role='tablist'>\n <button\n aria-selected={activeTab === 'static'}\n className={cn(styles.tabTrigger, activeTab === 'static' ? styles.tabTriggerActive : '')}\n onClick={() => handleTypeChange('static')}\n role='tab'\n type='button'\n >\n <FileJson className={styles.tabTriggerIcon} />\n 静态数据\n </button>\n <button\n aria-selected={activeTab === 'datasource'}\n className={cn(styles.tabTrigger, activeTab === 'datasource' ? styles.tabTriggerActive : '')}\n onClick={() => handleTypeChange('datasource')}\n role='tab'\n type='button'\n >\n <Database className={styles.tabTriggerIcon} />\n 数据源\n </button>\n </div>\n\n {/* Static Tab Content */}\n <div className={cn(styles.tabContent, activeTab === 'static' ? styles.tabContentActive : '')} role='tabpanel'>\n <div className={styles.section}>\n <span className={styles.sectionLabel}>值 ({dataType})</span>\n {renderStaticInput}\n </div>\n </div>\n\n {/* Datasource Tab Content */}\n <div\n className={cn(styles.tabContent, activeTab === 'datasource' ? styles.tabContentActive : '')}\n role='tabpanel'\n >\n <div className={styles.section}>\n {/* 数据源选择 */}\n <span className={styles.sectionLabel}>数据源</span>\n {dataSources.length > 0 ? (\n <div className={styles.datasourceList}>\n {dataSources.map(ds => (\n <button\n className={cn(\n styles.datasourceButton,\n currentValue.datasourceId === ds.id ? styles.datasourceButtonActive : '',\n )}\n key={ds.id}\n onClick={() => handleDatasourceChange(ds.id)}\n type='button'\n >\n <Database className={styles.datasourceIcon} />\n {ds.name}\n </button>\n ))}\n </div>\n ) : (\n <div className={styles.emptyState}>暂无可用数据源</div>\n )}\n\n {/* 数据路径 */}\n {currentValue.datasourceId ? (\n <>\n <span className={styles.sectionLabel}>数据路径</span>\n <input\n className={cn(styles.input, styles.inputMono)}\n onChange={e => handlePathChange(e.target.value)}\n placeholder='data.list[0].name'\n type='text'\n value={currentValue.datasourcePath ?? ''}\n />\n <span className={styles.hint}>使用点号访问嵌套属性,如: data.items[0].value</span>\n </>\n ) : null}\n\n {/* 数据预览 */}\n {showPreview === true && currentValue.datasourceId ? (\n <>\n <span className={styles.sectionLabel}>数据预览</span>\n <div className={styles.preview}>绑定后可在预览模式查看数据</div>\n </>\n ) : null}\n </div>\n </div>\n </div>\n </Popover>\n )\n}\n\nexport default DataBindingSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport Popover from '@/lib/popover'\nimport { ArrowRight, Code, Settings2 } from 'lucide-react'\nimport { useCallback, useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface DataMappingItem {\n targetField: string\n sourceField: string\n transform?: string\n}\n\nexport interface DataMappingValue {\n mappings: DataMappingItem[]\n}\n\nexport interface TargetFieldConfig {\n name: string\n label: string\n type: 'string' | 'number' | 'boolean' | 'array'\n required?: boolean\n}\n\nexport interface DataMappingSetterProps extends SetterProps<DataMappingValue> {\n targetFields: TargetFieldConfig[]\n sourceFields?: string[]\n}\n\nconst defaultValue: DataMappingValue = {\n mappings: [],\n}\n\nconst DataMappingSetter = (props: DataMappingSetterProps) => {\n const { value, initialValue, onChange, targetFields, sourceFields = [] } = props\n\n const currentValue = value ?? initialValue ?? defaultValue\n const [open, setOpen] = useState(false)\n\n // 获取字段的映射\n const getMapping = useCallback(\n (targetField: string): DataMappingItem | undefined =>\n currentValue.mappings.find(m => m.targetField === targetField),\n [currentValue.mappings],\n )\n\n // 更新映射\n const updateMapping = useCallback(\n (targetField: string, updates: Partial<Omit<DataMappingItem, 'targetField'>>) => {\n const existingIndex = currentValue.mappings.findIndex(m => m.targetField === targetField)\n const newMappings = [...currentValue.mappings]\n\n if (existingIndex >= 0) {\n newMappings[existingIndex] = { ...newMappings[existingIndex], ...updates }\n } else {\n newMappings.push({\n targetField,\n sourceField: updates.sourceField ?? '',\n transform: updates.transform,\n })\n }\n\n onChange({ mappings: newMappings })\n },\n [currentValue.mappings, onChange],\n )\n\n // 清除映射\n const clearMapping = useCallback(\n (targetField: string) => {\n const newMappings = currentValue.mappings.filter(m => m.targetField !== targetField)\n onChange({ mappings: newMappings })\n },\n [currentValue.mappings, onChange],\n )\n\n // 统计已映射字段数\n const mappedCount = currentValue.mappings.filter(m => m.sourceField).length\n\n return (\n <Popover\n onClose={() => setOpen(false)}\n open={open}\n trigger={\n <button aria-label='Data mapping' className={styles.trigger} onClick={() => setOpen(true)} type='button'>\n <Settings2 className={styles.triggerIcon} />\n <span className={styles.triggerText}>\n 字段映射 ({mappedCount}/{targetFields.length})\n </span>\n </button>\n }\n width={320}\n >\n <div className={styles.popoverContent}>\n <div className={styles.header}>\n <span className={styles.headerTitle}>字段映射配置</span>\n <span className={styles.headerCount}>\n {mappedCount}/{targetFields.length} 已映射\n </span>\n </div>\n\n {/* 映射列表 */}\n <div className={styles.mappingList}>\n {targetFields.map(field => {\n const mapping = getMapping(field.name)\n return (\n <div className={styles.mappingItem} key={field.name}>\n {/* 字段标题 */}\n <div className={styles.mappingHeader}>\n <span className={styles.mappingTitle}>\n {field.label}\n {field.required ? <span className={styles.mappingRequired}>*</span> : null}\n </span>\n <span className={styles.mappingType}>{field.type}</span>\n </div>\n\n {/* 映射配置 */}\n <div className={styles.mappingRow}>\n {/* 源字段 */}\n {sourceFields.length > 0 ? (\n <select\n className={styles.select}\n onChange={e => updateMapping(field.name, { sourceField: e.target.value })}\n value={mapping?.sourceField ?? ''}\n >\n <option value=''>选择字段</option>\n {sourceFields.map(sf => (\n <option key={sf} value={sf}>\n {sf}\n </option>\n ))}\n </select>\n ) : (\n <input\n className={styles.input}\n onChange={e => updateMapping(field.name, { sourceField: e.target.value })}\n placeholder='源字段路径'\n type='text'\n value={mapping?.sourceField ?? ''}\n />\n )}\n\n <ArrowRight className={styles.arrowIcon} />\n\n {/* 目标字段 (只读) */}\n <div className={styles.targetField}>{field.name}</div>\n </div>\n\n {/* 转换表达式 */}\n {mapping?.sourceField ? (\n <div className={styles.transformRow}>\n <Code className={styles.transformIcon} />\n <input\n className={styles.transformInput}\n onChange={e => updateMapping(field.name, { transform: e.target.value })}\n placeholder='转换表达式 (可选)'\n type='text'\n value={mapping?.transform ?? ''}\n />\n </div>\n ) : null}\n\n {/* 清除按钮 */}\n {mapping?.sourceField ? (\n <button className={styles.clearButton} onClick={() => clearMapping(field.name)} type='button'>\n 清除映射\n </button>\n ) : null}\n </div>\n )\n })}\n </div>\n\n {/* 帮助文本 */}\n <div className={styles.helpText}>\n <p>• 源字段: 数据源中的字段路径</p>\n <p>• 转换表达式: 如 value * 100, value.toFixed(2)</p>\n </div>\n </div>\n </Popover>\n )\n}\n\nexport default DataMappingSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport { useCallback, useEffect, useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface JsonSetterProps extends SetterProps<unknown> {\n placeholder?: string\n rows?: number\n}\n\nconst JsonSetter = (props: JsonSetterProps) => {\n const { value, initialValue, placeholder, rows = 6, onChange } = props\n\n const [text, setText] = useState('')\n const [error, setError] = useState<string | null>(null)\n\n // Sync value to text\n useEffect(() => {\n const currentValue = value ?? initialValue\n if (currentValue !== undefined) {\n try {\n setText(JSON.stringify(currentValue, null, 2))\n setError(null)\n } catch {\n setText(String(currentValue))\n }\n } else {\n setText('')\n }\n }, [value, initialValue])\n\n const handleChange = useCallback(\n (newText: string) => {\n setText(newText)\n if (!newText.trim()) {\n setError(null)\n onChange(undefined)\n return\n }\n try {\n const parsed = JSON.parse(newText)\n setError(null)\n onChange(parsed)\n } catch (e) {\n setError((e as Error).message)\n }\n },\n [onChange],\n )\n\n const lineHeight = 1.5\n const minHeight = rows * lineHeight * 14 // 14px base font size\n\n return (\n <div className={styles.container}>\n <textarea\n className={cn(styles.textarea, error ? styles.textareaError : null)}\n onChange={e => handleChange(e.target.value)}\n placeholder={placeholder || '输入 JSON 数据'}\n spellCheck={false}\n style={{ minHeight }}\n value={text}\n />\n {error ? <div className={styles.error}>{error}</div> : null}\n </div>\n )\n}\n\nexport default JsonSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface NodeIdSetterProps extends SetterProps<string> {}\n\nconst NodeIdSetter = (props: NodeIdSetterProps) => {\n const { selected } = props\n\n return (\n <div className={styles.container}>\n <p className={styles.id}>{selected.id}</p>\n <p className={styles.title}>{selected.componentMeta.title}</p>\n </div>\n )\n}\n\nexport default NodeIdSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface NumberSetterProps extends SetterProps<number> {\n placeholder?: string\n suffix?: string\n}\n\nconst NumberSetter = (props: NumberSetterProps) => {\n const { value, initialValue, placeholder, onChange, suffix } = props\n\n return (\n <div className={styles.container}>\n <input\n className={cn(styles.input, suffix ? styles.inputWithSuffix : '')}\n onChange={e => onChange(+e.target.value)}\n placeholder={placeholder || ''}\n type='number'\n value={value ?? initialValue ?? ''}\n />\n {suffix ? (\n <span aria-label={`Unit: ${suffix}`} className={styles.suffix}>\n {suffix}\n </span>\n ) : null}\n </div>\n )\n}\n\nexport default NumberSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport { Plus, Trash2 } from 'lucide-react'\nimport { useCallback } from 'react'\nimport styles from './styles.module.css'\n\nexport interface ObjectField {\n key: string\n label: string\n type?: 'string' | 'number'\n placeholder?: string\n}\n\nexport interface ObjectSetterProps extends SetterProps<Record<string, unknown>> {\n fields?: ObjectField[]\n allowCustomFields?: boolean\n addFieldText?: string\n}\n\nconst ObjectSetter = (props: ObjectSetterProps) => {\n const { value, initialValue, fields = [], allowCustomFields = false, addFieldText = '添加字段', onChange } = props\n\n const currentValue = value ?? initialValue ?? {}\n\n const handleFieldChange = useCallback(\n (key: string, newValue: unknown) => {\n onChange({ ...currentValue, [key]: newValue })\n },\n [currentValue, onChange],\n )\n\n const handleAddField = useCallback(() => {\n const newKey = `field_${Date.now()}`\n onChange({ ...currentValue, [newKey]: '' })\n }, [currentValue, onChange])\n\n const handleRemoveField = useCallback(\n (key: string) => {\n const newValue = { ...currentValue }\n delete newValue[key]\n onChange(newValue)\n },\n [currentValue, onChange],\n )\n\n // Get all keys: defined fields + custom fields\n const definedKeys = fields.map(f => f.key)\n const customKeys = Object.keys(currentValue).filter(k => !definedKeys.includes(k))\n\n return (\n <div className={styles.container}>\n {/* Defined fields */}\n {fields.map(field => (\n <div className={styles.field} key={field.key}>\n <span className={styles.label}>{field.label}</span>\n <input\n className={styles.input}\n onChange={e => {\n const val = field.type === 'number' ? +e.target.value : e.target.value\n handleFieldChange(field.key, val)\n }}\n placeholder={field.placeholder}\n type={field.type === 'number' ? 'number' : 'text'}\n value={(currentValue[field.key] as string | number) ?? ''}\n />\n </div>\n ))}\n\n {/* Custom fields */}\n {customKeys.map(key => (\n <div className={styles.customField} key={key}>\n <div className={styles.customFieldInputs}>\n <input\n className={styles.keyInput}\n onChange={e => {\n const newKey = e.target.value\n if (newKey && newKey !== key) {\n const newValue = { ...currentValue }\n newValue[newKey] = newValue[key]\n delete newValue[key]\n onChange(newValue)\n }\n }}\n placeholder='字段名'\n type='text'\n value={key}\n />\n <input\n className={styles.input}\n onChange={e => handleFieldChange(key, e.target.value)}\n placeholder='值'\n type='text'\n value={(currentValue[key] as string) ?? ''}\n />\n </div>\n <button className={styles.removeButton} onClick={() => handleRemoveField(key)} type='button'>\n <Trash2 className={styles.removeIcon} />\n </button>\n </div>\n ))}\n\n {/* Add custom field button */}\n {allowCustomFields ? (\n <button className={styles.addButton} onClick={handleAddField} type='button'>\n <Plus className={styles.addIcon} />\n {addFieldText}\n </button>\n ) : null}\n </div>\n )\n}\n\nexport default ObjectSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface RectSetterProps extends SetterProps<DOMRect> {}\n\nconst RectSetter = (props: RectSetterProps) => {\n const { value, onChange } = props\n\n const handleChange = (key: keyof DOMRect, newValue: number) => {\n onChange({ ...value, [key]: newValue })\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.inputWrapper}>\n <input\n className={styles.input}\n onChange={e => handleChange('x', Number(e.target.value))}\n type='number'\n value={formatDecimal(value.x)}\n />\n <span aria-label='Unit: X' className={styles.suffix}>\n X\n </span>\n </div>\n <div className={styles.inputWrapper}>\n <input\n className={styles.input}\n onChange={e => handleChange('y', Number(e.target.value))}\n type='number'\n value={formatDecimal(value.y)}\n />\n <span aria-label='Unit: Y' className={styles.suffix}>\n Y\n </span>\n </div>\n <div className={styles.inputWrapper}>\n <input\n className={styles.input}\n onChange={e => handleChange('width', Number(e.target.value))}\n type='number'\n value={formatDecimal(value.width)}\n />\n <span aria-label='Unit: W' className={styles.suffix}>\n W\n </span>\n </div>\n <div className={styles.inputWrapper}>\n <input\n className={styles.input}\n onChange={e => handleChange('height', Number(e.target.value))}\n type='number'\n value={formatDecimal(value.height)}\n />\n <span aria-label='Unit: H' className={styles.suffix}>\n H\n </span>\n </div>\n </div>\n )\n}\n\nexport default RectSetter\n\nconst decimalRegex = /(\\.\\d{2})\\d+$/\nconst formatDecimal = (num: number) => num.toString().replace(decimalRegex, '$1')\n","/**\n * SegmentedSetter - 分段控制器\n * 用于在多个选项之间切换,类似于 iOS 的 UISegmentedControl\n */\nimport { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface SegmentedOption {\n label: string\n value: string\n disabled?: boolean\n}\n\nexport interface SegmentedSetterProps extends SetterProps<string> {\n options?: SegmentedOption[]\n size?: 'sm' | 'md'\n}\n\nconst SegmentedSetter = (props: SegmentedSetterProps) => {\n const { value, initialValue, options = [], onChange, size = 'md' } = props\n\n const currentValue = value ?? initialValue ?? options[0]?.value ?? ''\n\n return (\n <div className={cn(styles.container, size === 'sm' ? styles.containerSm : '')}>\n {options.map(option => (\n <button\n className={cn(\n styles.segment,\n currentValue === option.value ? styles.segmentSelected : '',\n option.disabled === true ? styles.segmentDisabled : '',\n )}\n disabled={option.disabled}\n key={option.value}\n onClick={() => !option.disabled && onChange(option.value)}\n type='button'\n >\n {option.label}\n </button>\n ))}\n </div>\n )\n}\n\nexport default SegmentedSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport Popover from '@/lib/popover'\nimport { ChevronDown } from 'lucide-react'\nimport { useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface SelectOption {\n label: string\n value: string\n disabled?: boolean\n}\n\nexport interface SelectSetterProps extends SetterProps<string> {\n options?: SelectOption[]\n placeholder?: string\n}\n\nconst SelectSetter = (props: SelectSetterProps) => {\n const { value, initialValue, options = [], placeholder, onChange } = props\n const [open, setOpen] = useState(false)\n\n const currentValue = value ?? initialValue ?? ''\n const selectedOption = options.find(opt => opt.value === currentValue)\n\n const handleSelect = (optionValue: string, disabled?: boolean) => {\n if (disabled) {\n return\n }\n onChange(optionValue)\n setOpen(false)\n }\n\n return (\n <Popover\n onClose={() => setOpen(false)}\n open={open}\n trigger={\n <button\n aria-expanded={open}\n aria-haspopup='listbox'\n className={styles.trigger}\n onClick={() => setOpen(true)}\n type='button'\n >\n <span className={cn(styles.triggerValue, selectedOption ? '' : styles.placeholder)}>\n {selectedOption?.label || placeholder || '请选择'}\n </span>\n <ChevronDown className={cn(styles.chevron, open ? styles.chevronOpen : '')} />\n </button>\n }\n >\n <div className={styles.dropdown} role='listbox'>\n {options.map(option => (\n <button\n aria-selected={option.value === currentValue}\n className={cn(\n styles.option,\n option.value === currentValue ? styles.optionSelected : '',\n option.disabled === true ? styles.optionDisabled : '',\n )}\n key={option.value}\n onClick={() => handleSelect(option.value, option.disabled)}\n role='option'\n type='button'\n >\n {option.label}\n </button>\n ))}\n </div>\n </Popover>\n )\n}\n\nexport default SelectSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport { useRef, useCallback } from 'react'\nimport styles from './styles.module.css'\n\nexport interface SliderSetterProps extends SetterProps<number> {\n min?: number\n max?: number\n step?: number\n showValue?: boolean\n suffix?: string\n}\n\nconst SliderSetter = (props: SliderSetterProps) => {\n const { value, initialValue, min = 0, max = 100, step = 1, showValue = true, suffix, onChange } = props\n\n const currentValue = value ?? initialValue ?? min\n const trackRef = useRef<HTMLDivElement>(null)\n\n const percentage = ((currentValue - min) / (max - min)) * 100\n\n const handleChange = useCallback(\n (clientX: number) => {\n if (!trackRef.current) {\n return\n }\n const rect = trackRef.current.getBoundingClientRect()\n const percent = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width))\n const rawValue = min + percent * (max - min)\n const steppedValue = Math.round(rawValue / step) * step\n const clampedValue = Math.max(min, Math.min(max, steppedValue))\n onChange(clampedValue)\n },\n [min, max, step, onChange],\n )\n\n const handleMouseDown = (event: React.MouseEvent) => {\n handleChange(event.clientX)\n\n const handleMouseMove = (moveEvent: MouseEvent) => {\n handleChange(moveEvent.clientX)\n }\n\n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.slider}>\n <div className={styles.track} onMouseDown={handleMouseDown} ref={trackRef} role='presentation'>\n <div className={styles.range} style={{ width: `${percentage}%` }} />\n <div\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n className={styles.thumb}\n role='slider'\n style={{ left: `${percentage}%` }}\n tabIndex={0}\n />\n </div>\n </div>\n {showValue === true ? (\n <span className={styles.value}>\n {currentValue}\n {suffix}\n </span>\n ) : null}\n </div>\n )\n}\n\nexport default SliderSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport { Link, Unlink } from 'lucide-react'\nimport { useCallback, useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface SpacingValue {\n top: number\n right: number\n bottom: number\n left: number\n}\n\nexport interface SpacingSetterProps extends SetterProps<SpacingValue> {\n mode?: 'padding' | 'margin'\n linked?: boolean\n min?: number\n max?: number\n}\n\nconst defaultValue: SpacingValue = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n}\n\nconst presetValues = [0, 4, 8, 12, 16, 24, 32]\n\nconst SpacingSetter = (props: SpacingSetterProps) => {\n const { value, initialValue, onChange, mode = 'padding', linked: initialLinked = false, min = 0, max = 100 } = props\n\n const currentValue = value ?? initialValue ?? defaultValue\n const [isLinked, setIsLinked] = useState(initialLinked)\n\n const updateSpacing = useCallback(\n (updates: Partial<SpacingValue>) => {\n if (isLinked) {\n const newValue = Object.values(updates)[0] as number\n onChange({ top: newValue, right: newValue, bottom: newValue, left: newValue })\n } else {\n onChange({ ...currentValue, ...updates })\n }\n },\n [currentValue, isLinked, onChange],\n )\n\n const handlePresetClick = useCallback(\n (presetValue: number) => {\n onChange({ top: presetValue, right: presetValue, bottom: presetValue, left: presetValue })\n },\n [onChange],\n )\n\n const toggleLinked = useCallback(() => {\n setIsLinked(prev => !prev)\n }, [])\n\n return (\n <div className={styles.container}>\n {/* 可视化盒模型 */}\n <div className={styles.boxModel}>\n {/* 上 */}\n <div className={styles.inputTop}>\n <input\n className={styles.spacingInput}\n max={max}\n min={min}\n onChange={e => updateSpacing({ top: Number(e.target.value) })}\n type='number'\n value={currentValue.top}\n />\n </div>\n\n {/* 右 */}\n <div className={styles.inputRight}>\n <input\n className={styles.spacingInput}\n max={max}\n min={min}\n onChange={e => updateSpacing({ right: Number(e.target.value) })}\n type='number'\n value={currentValue.right}\n />\n </div>\n\n {/* 下 */}\n <div className={styles.inputBottom}>\n <input\n className={styles.spacingInput}\n max={max}\n min={min}\n onChange={e => updateSpacing({ bottom: Number(e.target.value) })}\n type='number'\n value={currentValue.bottom}\n />\n </div>\n\n {/* 左 */}\n <div className={styles.inputLeft}>\n <input\n className={styles.spacingInput}\n max={max}\n min={min}\n onChange={e => updateSpacing({ left: Number(e.target.value) })}\n type='number'\n value={currentValue.left}\n />\n </div>\n\n {/* 中心区域 - 联动按钮 */}\n <button\n aria-label={isLinked ? 'Unlink values' : 'Link values'}\n className={cn(styles.linkButton, isLinked ? styles.linkButtonActive : '')}\n onClick={toggleLinked}\n type='button'\n >\n {isLinked ? <Link className={styles.linkIcon} /> : <Unlink className={styles.linkIcon} />}\n </button>\n </div>\n\n {/* 快捷预设 */}\n <div className={styles.presets}>\n {presetValues.map(presetValue => (\n <button\n className={styles.presetButton}\n key={presetValue}\n onClick={() => handlePresetClick(presetValue)}\n type='button'\n >\n {presetValue}\n </button>\n ))}\n </div>\n\n {/* 模式标签 */}\n <div className={styles.modeLabel}>{mode === 'padding' ? '内边距' : '外边距'} (px)</div>\n </div>\n )\n}\n\nexport default SpacingSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface StringSetterProps extends SetterProps<string> {\n placeholder?: string\n suffix?: string\n}\n\nconst StringSetter = (props: StringSetterProps) => {\n const { value, initialValue, placeholder, onChange, suffix } = props\n\n return (\n <div className={styles.container}>\n <input\n className={cn(styles.input, suffix ? styles.inputWithSuffix : '')}\n onChange={e => onChange(e.target.value)}\n placeholder={placeholder || ''}\n type='text'\n value={value || initialValue || ''}\n />\n {suffix ? (\n <span aria-label={`Unit: ${suffix}`} className={styles.suffix}>\n {suffix}\n </span>\n ) : null}\n </div>\n )\n}\n\nexport default StringSetter\n","/**\n * SwitchSetter - 布尔值设置器\n * 提供多种 UI 模式:switch(开关)、checkbox(复选框)、segmented(分段)\n */\nimport { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport { Check } from 'lucide-react'\nimport styles from './styles.module.css'\n\nexport interface SwitchSetterProps extends SetterProps<boolean> {\n mode?: 'switch' | 'checkbox' | 'segmented'\n trueLabel?: string\n falseLabel?: string\n}\n\nconst SwitchSetter = (props: SwitchSetterProps) => {\n const { value, initialValue, onChange, mode = 'switch', trueLabel = '是', falseLabel = '否' } = props\n\n const currentValue = value ?? initialValue ?? false\n\n // 分段模式\n if (mode === 'segmented') {\n return (\n <div className={styles.segmented}>\n <button\n className={cn(styles.segmentedButton, currentValue === false ? styles.segmentedButtonSelected : '')}\n onClick={() => onChange(false)}\n type='button'\n >\n {falseLabel}\n </button>\n <button\n className={cn(styles.segmentedButton, currentValue === true ? styles.segmentedButtonSelected : '')}\n onClick={() => onChange(true)}\n type='button'\n >\n {trueLabel}\n </button>\n </div>\n )\n }\n\n // 复选框模式\n if (mode === 'checkbox') {\n return (\n <label className={styles.checkboxWrapper}>\n <input\n checked={currentValue}\n className={styles.checkboxInput}\n onChange={e => onChange(e.target.checked)}\n type='checkbox'\n />\n <span className={cn(styles.checkbox, currentValue ? styles.checkboxChecked : '')}>\n {currentValue ? <Check className={styles.checkIcon} /> : null}\n </span>\n </label>\n )\n }\n\n // 开关模式(默认)\n return (\n <button\n aria-checked={currentValue}\n className={cn(styles.switch, currentValue ? styles.switchChecked : '')}\n onClick={() => onChange(!currentValue)}\n role='switch'\n type='button'\n >\n <span className={cn(styles.switchThumb, currentValue ? styles.switchThumbChecked : '')} />\n </button>\n )\n}\n\nexport default SwitchSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport styles from './styles.module.css'\n\nexport interface TextAreaSetterProps extends SetterProps<string> {\n placeholder?: string\n rows?: number\n maxLength?: number\n}\n\nconst TextAreaSetter = (props: TextAreaSetterProps) => {\n const { value, initialValue, placeholder, rows = 3, maxLength, onChange } = props\n\n return (\n <div className={styles.container}>\n <textarea\n className={styles.textarea}\n maxLength={maxLength}\n onChange={e => onChange(e.target.value)}\n placeholder={placeholder || ''}\n rows={rows}\n value={value ?? initialValue ?? ''}\n />\n {maxLength ? (\n <div className={styles.counter}>\n {(value ?? initialValue ?? '').length}/{maxLength}\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default TextAreaSetter\n","import type { SetterProps } from '@easy-editor/core'\nimport { Upload, X } from 'lucide-react'\nimport { useRef, useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface UploadValue {\n raw: {\n name: string\n size: number\n type: string\n width: number\n height: number\n }\n base64: string\n}\n\nexport interface UploadSetterProps extends SetterProps<UploadValue | null> {\n accept?: string\n maxSize?: number\n}\n\nconst UploadSetter = (props: UploadSetterProps) => {\n const { value, onChange, accept = '.jpg,.jpeg,.png,.gif', maxSize = 10 * 1024 * 1024 } = props\n const [error, setError] = useState('')\n const inputRef = useRef<HTMLInputElement>(null)\n\n const handleFileChange = async (e: React.ChangeEvent<HTMLInputElement>) => {\n const file = e.target.files?.[0]\n setError('')\n\n if (!file) {\n onChange(null)\n return\n }\n\n const ext = `.${file.name.split('.').pop()?.toLowerCase()}`\n if (!accept.includes(ext)) {\n setError(`仅支持 ${accept} 格式文件`)\n onChange(null)\n return\n }\n\n if (file.size > maxSize) {\n setError(`文件大小不能超过 ${maxSize / 1024 / 1024}MB`)\n onChange(null)\n return\n }\n\n try {\n const [base64, dimensions] = await Promise.all([\n new Promise<string>((resolve, reject) => {\n const reader = new FileReader()\n reader.onload = () => resolve(reader.result as string)\n reader.onerror = err => reject(err)\n reader.readAsDataURL(file)\n }),\n new Promise<{ width: number; height: number }>((resolve, reject) => {\n const img = new Image()\n img.onload = () =>\n resolve({\n width: img.naturalWidth,\n height: img.naturalHeight,\n })\n img.onerror = reject\n img.src = URL.createObjectURL(file)\n }),\n ])\n\n onChange({\n raw: {\n name: file.name,\n size: file.size,\n type: file.type,\n width: dimensions.width,\n height: dimensions.height,\n },\n base64,\n })\n } catch (_) {\n setError('文件读取失败,请重试')\n onChange(null)\n }\n }\n\n const handleClear = () => {\n onChange(null)\n if (inputRef.current) {\n inputRef.current.value = ''\n }\n }\n\n return (\n <div className={styles.container}>\n <div className={styles.row}>\n <label className={styles.label}>\n <input\n accept={accept}\n className={styles.hiddenInput}\n onChange={handleFileChange}\n ref={inputRef}\n type='file'\n />\n <div className={styles.uploadArea}>\n <Upload className={styles.uploadIcon} />\n <span>{value ? '更换文件' : '点击上传'}</span>\n </div>\n </label>\n\n {value ? (\n <button aria-label='清除文件' className={styles.clearButton} onClick={handleClear} type='button'>\n <X className={styles.clearIcon} />\n </button>\n ) : null}\n </div>\n\n {value ? (\n <div className={styles.fileInfo}>\n <span className={styles.fileName}>{value.raw?.name}</span>\n <span className={styles.fileSize}>{(value.raw?.size / 1024).toFixed(1)}KB</span>\n </div>\n ) : null}\n\n {error ? (\n <p className={styles.error} role='alert'>\n {error}\n </p>\n ) : null}\n </div>\n )\n}\n\nexport default UploadSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport { ChevronsUpDown } from 'lucide-react'\nimport type { PropsWithChildren } from 'react'\nimport { useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface CollapseSetterProps extends SetterProps<boolean>, PropsWithChildren {\n icon?: boolean\n}\n\nconst CollapseSetter = (props: CollapseSetterProps) => {\n const { field, children, initialValue, icon = true } = props\n const [isOpen, setIsOpen] = useState(initialValue ?? true)\n\n return (\n <div className={styles.container}>\n <div className={styles.header}>\n <h4 className={styles.title}>{field.title}</h4>\n {icon ? (\n <button\n aria-expanded={isOpen}\n className={styles.toggleButton}\n onClick={() => setIsOpen(!isOpen)}\n type='button'\n >\n <ChevronsUpDown className={styles.toggleIcon} />\n <span className={styles.srOnly}>Toggle</span>\n </button>\n ) : null}\n </div>\n <div className={cn(styles.content, isOpen === false ? styles.contentHidden : '')}>{children}</div>\n </div>\n )\n}\n\nexport default CollapseSetter\n","import { cn } from '@/lib/utils'\nimport type { SetterProps } from '@easy-editor/core'\nimport type { PropsWithChildren } from 'react'\nimport React, { useState } from 'react'\nimport styles from './styles.module.css'\n\nexport interface TabSetterProps extends SetterProps<string>, PropsWithChildren {\n tabs?: {\n label: string\n value: string\n }[]\n}\n\nconst TabSetter = (props: TabSetterProps) => {\n const { tabs, initialValue, children } = props\n\n const tabsList = React.useMemo(() => {\n if (tabs) {\n return tabs\n }\n if (Array.isArray(children) && children.length > 0) {\n return children.map(child => ({\n label: child.props.field.config.title,\n value: child.props.field.config.key,\n }))\n }\n throw new Error('TabSetter: children or tabs must be an array')\n }, [tabs, children])\n\n const firstTabValue = React.useMemo(() => tabsList[0]?.value, [tabsList])\n const [activeTab, setActiveTab] = useState(initialValue ?? firstTabValue)\n\n return (\n <div className={styles.container}>\n <div\n className={styles.tabsList}\n role='tablist'\n style={{\n gridTemplateColumns: `repeat(${tabsList.length}, minmax(0, 1fr))`,\n }}\n >\n {tabsList.map(tab => (\n <button\n aria-selected={activeTab === tab.value}\n className={cn(styles.tabTrigger, activeTab === tab.value ? styles.tabTriggerActive : '')}\n key={tab.value}\n onClick={() => setActiveTab(tab.value)}\n role='tab'\n type='button'\n >\n {tab.label}\n </button>\n ))}\n </div>\n {Array.isArray(children)\n ? children.map(child => (\n <div\n className={cn(\n styles.tabContent,\n activeTab === child.props.field.config.key ? styles.tabContentActive : '',\n )}\n key={child.props.field.config.key}\n role='tabpanel'\n >\n {child}\n </div>\n ))\n : null}\n </div>\n )\n}\n\nexport default TabSetter\n","/**\n * @easy-editor/setters\n * Official setters library for EasyEditor\n */\n\n// Import styles\nimport './styles/variables.css'\n\n// Shared components\nexport { default as Popover } from './lib/popover'\n\n// Setters\nexport { default as AlignSetter } from './basic/align-setter'\nexport { default as ArraySetter } from './basic/array-setter'\nexport { default as ColorSetter } from './basic/color-setter'\nexport { default as DataBindingSetter } from './basic/data-binding-setter'\nexport { default as DataMappingSetter } from './basic/data-mapping-setter'\nexport { default as JsonSetter } from './basic/json-setter'\nexport { default as NodeIdSetter } from './basic/node-id-setter'\nexport { default as NumberSetter } from './basic/number-setter'\nexport { default as ObjectSetter } from './basic/object-setter'\nexport { default as RectSetter } from './basic/rect-setter'\nexport { default as SegmentedSetter } from './basic/segmented-setter'\nexport { default as SelectSetter } from './basic/select-setter'\nexport { default as SliderSetter } from './basic/slider-setter'\nexport { default as SpacingSetter } from './basic/spacing-setter'\nexport { default as StringSetter } from './basic/string-setter'\nexport { default as SwitchSetter } from './basic/switch-setter'\nexport { default as TextAreaSetter } from './basic/textarea-setter'\nexport { default as UploadSetter } from './basic/upload-setter'\n\nexport { default as CollapseSetter } from './group/collapse-setter'\nexport { default as TabSetter } from './group/tab-setter'\n\n// Export Setter Props types\nexport type { AlignSetterProps, AlignValue } from './basic/align-setter'\nexport type { ArraySetterProps } from './basic/array-setter'\nexport type { ColorSetterProps } from './basic/color-setter'\nexport type { DataBindingSetterProps, DataBindingValue } from './basic/data-binding-setter'\nexport type {\n DataMappingItem,\n DataMappingSetterProps,\n DataMappingValue,\n TargetFieldConfig,\n} from './basic/data-mapping-setter'\nexport type { JsonSetterProps } from './basic/json-setter'\nexport type { NodeIdSetterProps } from './basic/node-id-setter'\nexport type { NumberSetterProps } from './basic/number-setter'\nexport type { ObjectField, ObjectSetterProps } from './basic/object-setter'\nexport type { RectSetterProps } from './basic/rect-setter'\nexport type { SegmentedOption, SegmentedSetterProps } from './basic/segmented-setter'\nexport type { SelectOption, SelectSetterProps } from './basic/select-setter'\nexport type { SliderSetterProps } from './basic/slider-setter'\nexport type { SpacingSetterProps, SpacingValue } from './basic/spacing-setter'\nexport type { StringSetterProps } from './basic/string-setter'\nexport type { SwitchSetterProps } from './basic/switch-setter'\nexport type { TextAreaSetterProps } from './basic/textarea-setter'\nexport type { UploadSetterProps, UploadValue } from './basic/upload-setter'\n\nexport type { CollapseSetterProps } from './group/collapse-setter'\nexport type { TabSetterProps } from './group/tab-setter'\n\n// Default setter map\nimport AlignSetter from './basic/align-setter'\nimport ArraySetter from './basic/array-setter'\nimport ColorSetter from './basic/color-setter'\nimport DataBindingSetter from './basic/data-binding-setter'\nimport DataMappingSetter from './basic/data-mapping-setter'\nimport JsonSetter from './basic/json-setter'\nimport NodeIdSetter from './basic/node-id-setter'\nimport NumberSetter from './basic/number-setter'\nimport ObjectSetter from './basic/object-setter'\nimport RectSetter from './basic/rect-setter'\nimport SegmentedSetter from './basic/segmented-setter'\nimport SelectSetter from './basic/select-setter'\nimport SliderSetter from './basic/slider-setter'\nimport SpacingSetter from './basic/spacing-setter'\nimport StringSetter from './basic/string-setter'\nimport SwitchSetter from './basic/switch-setter'\nimport TextAreaSetter from './basic/textarea-setter'\nimport UploadSetter from './basic/upload-setter'\nimport CollapseSetter from './group/collapse-setter'\nimport TabSetter from './group/tab-setter'\n\nexport const setterMap = {\n ColorSetter,\n NodeIdSetter,\n NumberSetter,\n RectSetter,\n StringSetter,\n SwitchSetter,\n UploadSetter,\n SegmentedSetter,\n CollapseSetter,\n TabSetter,\n SpacingSetter,\n AlignSetter,\n DataBindingSetter,\n DataMappingSetter,\n SelectSetter,\n SliderSetter,\n TextAreaSetter,\n ArraySetter,\n JsonSetter,\n ObjectSetter,\n}\n\nexport default setterMap\n"],"names":["Popover","props","open","onClose","trigger","children","width","triggerRef","useRef","position","setPosition","useState","top","left","popoverWidth","setPopoverWidth","useEffect","current","triggerRect","getBoundingClientRect","triggerWidth","bottom","handleClickOutside","event","target","popoverEl","document","querySelector","contains","addEventListener","removeEventListener","React","createElement","Fragment","ref","createPortal","className","style","zIndex","body","cn","inputs","clsx","toKebabCase","string","replace","toLowerCase","toCamelCase","match","p1","p2","toUpperCase","toPascalCase","camelCase","charAt","slice","mergeClasses","classes","filter","index","array","Boolean","trim","indexOf","join","hasA11yProp","prop","startsWith","defaultAttributes","xmlns","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","Icon","forwardRef","color","size","absoluteStrokeWidth","iconNode","rest","Number","map","tag","attrs","Array","isArray","createLucideIcon","iconName","Component","displayName","__iconNode","x","y","rx","key","d","AlignEndHorizontal","AlignEndVertical","AlignHorizontalDistributeCenter","AlignStartHorizontal","AlignStartVertical","AlignVerticalDistributeCenter","ArrowRight","Check","ChevronDown","ChevronsUpDown","Code","cx","cy","ry","Database","FileBraces","r","GripVertical","x1","x2","y1","y2","Link2","Link","Maximize2","Plus","Settings2","Trash2","Unlink","Upload","X","defaultValue","horizontal","vertical","horizontalOptions","value","icon","label","verticalOptions","gridPositions","h","v","getElementPosition","transform","right","AlignSetter","initialValue","onChange","showHorizontal","showVertical","currentValue","updateAlign","useCallback","updates","handleGridClick","isGridSelected","styles","container","visualWrapper","previewBox","previewElement","grid","pos","gridButton","gridButtonSelected","onClick","type","section","sectionLabel","buttonGroup","option","isRotated","alignButton","alignButtonSelected","title","alignIcon","alignIconRotated","ArraySetter","itemSetter","maxItems","minItems","placeholder","addButtonText","items","handleAdd","length","newItem","handleRemove","newItems","_","i","handleChange","newValue","canAdd","canRemove","item","String","dragHandle","input","e","val","removeButton","disabled","removeIcon","addButton","addIcon","_extends","Object","assign","bind","n","arguments","t","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","RGB_MAX","SV_MAX","rgbaToHsva","_ref","g","b","a","max","Math","delta","min","hh","s","hsvaToHslaString","hsva","l","hsvaToHsla","_ref5","rgbToHex","_ref7","bin","toString","rgbaToHexa","_ref8","alpha","hexToHsva","hex","hexToRgba","htemp","test","reg","RegExp","parseInt","hsvaToRgba","_ref9","_h","_s","_v","hi","floor","f","_p","_q","_t","rgba","round","hsvaToRgbaString","rgbaToRgb","_ref0","hslaToHsl","_ref1","hsvaToHex","hsvaToHsv","_ref10","rgbToXY","_ref12","translateColor","pow","red","green","blue","xyz","bri","str","rgb","hsl","hsv","hsla","xy","hexa","validHex","useEventCallback","handler","callbackRef","isTouch","preventDefaultMove","preventDefault","clamp","number","getRelativePosition","node","rect","pointer","touches","pageX","window","pageXOffset","pageY","pageYOffset","_excluded","Interactive","prefixCls","onMove","onDown","reset","hasTouched","isDragging","setDragging","onMoveCallback","onKeyCallback","isValid","handleMove","isDown","buttons","handleMoveEnd","toggleDocumentEvents","state","handleMoveStart","activeEl","activeElement","blur","nativeEvent","_jsx","touchAction","tabIndex","onMouseDown","onTouchStart","Pointer","stylePointer","boxShadow","borderRadius","backgroundColor","useMemo","Saturation","_hsva$h","radius","hue","other","containerStyle","interaction","handleKeyDown","step","newS","newV","changed","pointerElement","comProps","handleClick","focus","inset","cursor","backgroundImage","outline","onKeyDown","fillProps","styleWrapper","BACKGROUND_IMG","Alpha","background","bgProps","innerProps","pointerProps","direction","offset","colorTo","innerBackground","currentAlpha","newAlpha","syntheticOffset","_jsxs","getNumberValue","EditableInput","placement","initValue","labelStyle","inputStyle","onBlur","renderInput","setValue","isFocus","evn","valInit","isNaN","handleBlur","placementStyle","wrapperStyle","alignItems","display","fontSize","editableStyle","paddingTop","paddingBottom","paddingLeft","paddingRight","boxSizing","border","inputProps","autoComplete","onFocus","onFocusCapture","elm","setSelectionRange","textTransform","EditableInputRGBA","rProps","gProps","bProps","aProps","handleAlphaBlur","handleColor","roundedAlpha","marginLeft","Hue","_onChange","Swatch","colors","rectProps","addonAfter","addonBefore","rectRender","rectStyle","marginRight","marginBottom","flexWrap","isValidElement","idx","checked","toLocaleLowerCase","render","child","cloneElement","PRESET_COLORS","Bar","Sketch","presetColors","editableDisable","disableAlpha","setHsva","handleHex","handleAlphaChange","handleSaturationChange","newColor","styleMain","styleAlpha","styleSwatch","borderTop","styleSwatchRect","padding","marginTop","flex","newHue","margin","toLocaleUpperCase","minWidth","RGBA","result","hsvColor","ColorSetter","setOpen","colorPreview","colorValue","popover","res","staticValue","DataBindingSetter","dataType","showPreview","dataSources","activeTab","setActiveTab","updateBinding","handleTypeChange","handleStaticValueChange","handleDatasourceChange","datasourceId","datasourcePath","handlePathChange","renderStaticInput","booleanButtons","booleanButton","booleanButtonActive","textarea","parsed","JSON","parse","stringify","bindingStatus","ds","find","id","triggerIcon","triggerIconPrimary","text","name","FileJson","triggerIconMuted","triggerText","popoverContent","tabsList","role","tabTrigger","tabTriggerActive","tabTriggerIcon","tabContent","tabContentActive","datasourceList","datasourceButton","datasourceButtonActive","datasourceIcon","emptyState","inputMono","hint","preview","mappings","DataMappingSetter","targetFields","sourceFields","getMapping","targetField","m","updateMapping","existingIndex","findIndex","newMappings","push","sourceField","clearMapping","mappedCount","header","headerTitle","headerCount","mappingList","field","mapping","mappingItem","mappingHeader","mappingTitle","required","mappingRequired","mappingType","mappingRow","select","sf","arrowIcon","transformRow","transformIcon","transformInput","clearButton","helpText","JsonSetter","rows","setText","error","setError","undefined","newText","message","lineHeight","minHeight","textareaError","spellCheck","NodeIdSetter","selected","componentMeta","NumberSetter","suffix","inputWithSuffix","ObjectSetter","fields","allowCustomFields","addFieldText","handleFieldChange","handleAddField","newKey","Date","now","handleRemoveField","definedKeys","customKeys","keys","k","includes","customField","customFieldInputs","keyInput","RectSetter","inputWrapper","formatDecimal","decimalRegex","num","SegmentedSetter","options","containerSm","segment","segmentSelected","segmentDisabled","SelectSetter","selectedOption","opt","handleSelect","optionValue","triggerValue","chevron","chevronOpen","dropdown","optionSelected","optionDisabled","SliderSetter","showValue","trackRef","percentage","clientX","percent","rawValue","steppedValue","clampedValue","handleMouseDown","handleMouseMove","moveEvent","handleMouseUp","slider","track","range","thumb","presetValues","SpacingSetter","mode","linked","initialLinked","isLinked","setIsLinked","updateSpacing","values","handlePresetClick","presetValue","toggleLinked","prev","boxModel","inputTop","spacingInput","inputRight","inputBottom","inputLeft","linkButton","linkButtonActive","linkIcon","presets","presetButton","modeLabel","StringSetter","SwitchSetter","trueLabel","falseLabel","segmented","segmentedButton","segmentedButtonSelected","checkboxWrapper","checkboxInput","checkbox","checkboxChecked","checkIcon","switch","switchChecked","switchThumb","switchThumbChecked","TextAreaSetter","maxLength","counter","UploadSetter","accept","maxSize","inputRef","handleFileChange","file","files","ext","split","pop","base64","dimensions","Promise","all","resolve","reject","reader","FileReader","onload","onerror","err","readAsDataURL","img","Image","naturalWidth","naturalHeight","src","URL","createObjectURL","raw","handleClear","row","hiddenInput","uploadArea","uploadIcon","clearIcon","fileInfo","fileName","fileSize","toFixed","CollapseSetter","isOpen","setIsOpen","toggleButton","toggleIcon","srOnly","content","contentHidden","TabSetter","tabs","config","Error","firstTabValue","gridTemplateColumns","tab","setterMap"],"mappings":"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","x_google_ignoreList":[1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,34,35,36,37,38,39,40,41,42,43,44,45]}