@blockbite/ui 2.0.24 → 2.0.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","../src/Icon.tsx","../src/ButtonToggle.tsx","../src/Wrap.tsx","../src/AutocompleteDropdown.tsx","../src/Badge.tsx","../src/BitePreview.tsx","../src/Button.tsx","../src/Chapter.tsx","../src/ChapterDivider.tsx","../src/Checkbox.tsx","../../icons/jsx/ChevronDown.jsx","../../icons/jsx/ColumnSpacing.jsx","../../icons/jsx/Cross2.jsx","../../icons/jsx/Desktop.jsx","../../icons/jsx/Grid.jsx","../../icons/jsx/Pencil1.jsx","../../icons/jsx/Percentage.jsx","../../icons/jsx/Plus.jsx","../../icons/jsx/Slider.jsx","../../icons/jsx/Tailwind.jsx","../../icons/jsx/Trash.jsx","../src/TextControl.tsx","../src/DataItemList.tsx","../src/DisappearingMessage.tsx","../src/DropdownPicker.tsx","../src/EmptyState.tsx","../src/FloatingPanel.tsx","../src/FocalPointControl.tsx","../src/LinkPicker.tsx","../src/MediaPicker.tsx","../src/Popover.tsx","../src/RangeSlider.tsx","../src/MetricsControl.tsx","../src/Modal.tsx","../src/NewWindowPortal.tsx","../src/Notice.tsx","../src/PasswordInput.tsx","index.js","../src/ProjectsNavigation.tsx","../src/ResponsiveImage.tsx","../src/ResponsiveVideo.tsx","../src/ScrollList.tsx","../src/SelectControlWrapper.tsx","../src/SingleBlockTypeAppender.tsx","../src/SlideIn.tsx","../src/Spinner.tsx","../src/Tabs.tsx","../src/Tag.tsx","../src/TextControlLabel.tsx","../src/ToggleGroup.tsx","../src/ToggleSwitch.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","type IconProps = {\n icon: React.FC<React.SVGProps<SVGSVGElement>> | null; // Type it as a React Functional Component\n [x: string]: any;\n};\n\nexport const Icon = ({ icon: IconComponent, ...rest }: IconProps) => {\n if (!IconComponent) return null;\n\n return (\n <div className={`blockbite--icon`}>\n <IconComponent {...rest} />\n </div>\n );\n};\n","import { Button as WordpressButton } from '@wordpress/components';\nimport { memo, useCallback } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { Icon } from './Icon.js';\n\ntype ButtonToggleProps = {\n children?: React.ReactNode;\n className?: string;\n value: string;\n pressed: boolean;\n variant?: 'primary' | 'secondary';\n size?: 'small' | 'default' | 'compact';\n icon?: any;\n display?: 'icon' | 'label' | '' | null;\n onPressedChange: (value: string) => void;\n label?: string;\n};\n\ntype ButtonToggleGroupOptionProp = {\n value: string;\n label: string;\n tooltip?: string;\n icon?: any;\n children?: React.ReactNode;\n};\n\ntype ButtonToggleGroupProps = {\n className?: string;\n options: ButtonToggleGroupOptionProp[];\n value: string;\n toggle?: boolean;\n size?: 'small' | 'default' | 'compact';\n tabs?: boolean;\n display?: 'icon' | 'label' | '' | null;\n variant?: 'primary' | 'secondary';\n stretch?: boolean;\n icon?: any;\n onPressedChange?: (value: string) => void;\n};\n\n// ButtonToggle: now fully controlled via `pressed` prop\nexport const ButtonToggle: React.FC<\n Omit<ButtonToggleProps, 'defaultPressed'> & { pressed: boolean }\n> = memo(\n ({\n children,\n className,\n value,\n variant = 'secondary',\n pressed,\n onPressedChange,\n icon,\n size = 'compact',\n display = 'auto',\n label,\n }) => {\n const handleClick = useCallback(() => {\n onPressedChange(value);\n }, [onPressedChange, value]);\n\n return (\n <WordpressButton\n aria-label={label}\n className={classNames(className, 'blockbite-ui__button--default')}\n value={value}\n size={size}\n label={label}\n variant={variant}\n showTooltip={true}\n isPressed={pressed}\n onClick={handleClick}\n >\n {icon && <Icon icon={icon} />}\n {display !== 'icon' ? children : null}\n {label && !children && display !== 'icon' ? <span>{label}</span> : null}\n </WordpressButton>\n );\n }\n);\n\n// ButtonToggleGroup: now fully controlled via `value` prop\nexport const ButtonToggleGroup: React.FC<\n Omit<ButtonToggleGroupProps, 'defaultPressed'> & { value: string }\n> = memo(\n ({\n className,\n value,\n toggle = true,\n display = 'auto',\n options,\n size = 'compact',\n tabs = false,\n variant = 'secondary',\n stretch = false,\n onPressedChange,\n }) => {\n const handleButtonClick = useCallback(\n (optionValue: string) => {\n const newValue = toggle && value === optionValue ? '' : optionValue;\n onPressedChange?.(newValue);\n },\n [onPressedChange, toggle, value]\n );\n\n const renderContent = (option: ButtonToggleGroupOptionProp) => {\n if (display === 'icon' && option?.icon) {\n return <Icon icon={option.icon} />;\n } else if (display === 'label') {\n return <span>{option.label}</span>;\n }\n return (\n <span className=\"flex items-center justify-center gap-1\">\n {option.icon && <Icon icon={option.icon} />}\n <span>{option.label}</span>\n </span>\n );\n };\n\n return (\n <div\n className={classNames(\n 'blockbite-ui__button-group flex flex-wrap gap-1',\n className,\n tabs ? 'blockbite-ui__button-group--tabs' : ''\n )}\n >\n {options.map((option, index) => (\n <WordpressButton\n key={`ButtonToggleGroup__${option.value}__${option.label}__${index}`}\n className={classNames('blockbite-ui__button--default', {\n grow: stretch,\n 'justify-center': stretch,\n })}\n aria-label={option.label}\n showTooltip={true}\n value={option.value}\n size={size}\n label={option?.tooltip || option.label}\n variant={variant}\n isPressed={value === option.value}\n onClick={() => handleButtonClick(option.value)}\n >\n {renderContent(option)}\n {option.children && option.children}\n </WordpressButton>\n ))}\n </div>\n );\n }\n);\n","type WrapProps = {\n children: React.ReactNode;\n className?: string;\n important?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n};\n\nexport const Wrap = ({\n children,\n className,\n important = false,\n onClick,\n}: WrapProps) => {\n if (important) {\n return (\n <div onClick={onClick}>\n <div className={className}>{children}</div>\n </div>\n );\n }\n\n return <div className={className}>{children}</div>;\n};\n","import { Button, Dropdown, TextControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { ButtonToggle } from './ButtonToggle.js';\nimport type { OptionProps } from './types.js';\nimport { Wrap } from './Wrap.js';\n\ninterface OptionPanelDropdownProps {\n value: string;\n options: { label: string; value: string }[];\n onPressedChange: (value: string) => void;\n swatch?: boolean;\n}\n\nexport function AutocompleteDropdown({\n value,\n options,\n swatch,\n onPressedChange,\n}: OptionPanelDropdownProps) {\n const [activeKeyword, setActiveKeyword] = useState('');\n const [filteredOptions, setFilteredOptions] = useState<OptionProps[]>([]);\n\n useEffect(() => {\n setFilteredOptions(\n options.filter((option: OptionProps) =>\n option.label.toLowerCase().includes(activeKeyword.toLowerCase())\n )\n );\n }, [activeKeyword, options]);\n\n useEffect(() => {\n setActiveKeyword('');\n setFilteredOptions(options);\n }, [value, options]);\n\n return (\n <Dropdown\n className=\"option-panel-dropdown\"\n contentClassName=\"option-panel-dropdown-content\"\n popoverProps={{ placement: 'bottom-start' }}\n renderToggle={({ isOpen, onToggle }) => (\n <Wrap important>\n <Button\n variant=\"secondary\"\n size=\"small\"\n onClick={onToggle}\n aria-expanded={isOpen}\n >\n <div className=\"flex items-center gap-1.5 !bg-transparent !p-0 !text-[11px] !text-current\">\n {swatch && !!value && (\n <div\n className={classNames(`h-3 w-3 rounded-full bg-${value}`)}\n />\n )}\n <span>{value || 'Select option…'}</span>\n </div>\n </Button>\n </Wrap>\n )}\n renderContent={() => (\n <Wrap important>\n <div className=\"w-52\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label=\"Search options\"\n value={activeKeyword}\n onChange={(changedValue) => setActiveKeyword(changedValue)}\n autoComplete=\"off\"\n />\n <div className=\"grid grid-cols-2 gap-1 !bg-transparent p-0 !pt-2\">\n {filteredOptions.length === 0 && (\n <div className=\"!text-gray-medium col-span-2 pb-2 text-center !text-[11px]\">\n No options found.\n </div>\n )}\n {filteredOptions.map((option: OptionProps, index: Number) => (\n <ButtonToggle\n key={`ButtonToggle__${option.value}___${index}`}\n className={classNames({\n 'bg-primary': option.value,\n })}\n size=\"small\"\n value={option.value.toString()}\n pressed={value === option.value}\n onPressedChange={(pressed) => {\n onPressedChange(pressed ? option.value : '');\n }}\n >\n {swatch && (\n <div\n className={classNames(\n `mr-3 h-3 w-3 rounded-full bg-${option.value}`\n )}\n />\n )}\n {option.label}\n </ButtonToggle>\n ))}\n </div>\n </div>\n </Wrap>\n )}\n />\n );\n}\n","import classNames from 'classnames';\n\ntype BadgeProps = {\n children?: React.ReactNode;\n className?: string;\n label?: string;\n onClick?: () => void;\n};\n\nexport const Badge = ({ children, className, label, onClick }: BadgeProps) => {\n return (\n <div\n onClick={onClick}\n className={classNames(\n className,\n 'inline-flex items-center rounded-full bg-blue-100 px-2.5 py-0.5 text-xs font-medium text-blue-800'\n )}\n >\n {label && (\n <span className=\"mr-1 text-xs font-semibold text-gray-700\">\n {label}\n </span>\n )}\n {children}\n </div>\n );\n};\n","import { createPortal, useEffect, useRef, useState } from '@wordpress/element';\n\nexport const BitePreview = ({ htmlContent, cssContent, frontendAssets }) => {\n const iframeRef = useRef(null);\n const [iframeBody, setIframeBody] = useState(null);\n\n useEffect(() => {\n const iframe = iframeRef.current;\n\n if (iframe) {\n iframe.onload = () => {\n const iframeDocument =\n iframe.contentDocument || iframe.contentWindow.document;\n\n if (iframeDocument) {\n setIframeBody(iframeDocument.body); // Set the iframe body for portal\n\n // Inject CSS content directly\n const styleTag = iframeDocument.createElement('style');\n styleTag.innerHTML = cssContent;\n iframeDocument.head.appendChild(styleTag);\n\n // Adopt or Create Frontend Assets\n frontendAssets.forEach(({ type, id, url }) => {\n const existingElement = document.getElementById(id);\n\n if (existingElement) {\n // If the asset exists in the parent, move it to the iframe\n const adoptedElement = document.adoptNode(\n existingElement.cloneNode(true)\n );\n iframeDocument.head.appendChild(adoptedElement);\n } else {\n // Create a new script or style if not found\n const newElement = iframeDocument.createElement(\n type === 'script' ? 'script' : 'link'\n );\n newElement.id = id;\n\n if (type === 'script') {\n newElement.src = url;\n newElement.async = true;\n } else {\n newElement.rel = 'stylesheet';\n newElement.href = url;\n }\n\n iframeDocument.head.appendChild(newElement);\n }\n });\n }\n };\n }\n\n return () => {\n if (iframe) {\n iframe.onload = null; // Clean up event listener\n }\n };\n }, [htmlContent, cssContent, frontendAssets]);\n\n return (\n <div\n className=\"render-preview-container\"\n style={{ width: '100%', minHeight: '100%' }}\n >\n <iframe\n ref={iframeRef}\n title=\"Preview\"\n className=\"editor-styles-wrapper\"\n width=\"100%\"\n height=\"100%\"\n />\n {iframeBody &&\n createPortal(\n <div className=\"b_\">\n <div\n className=\"b_utils\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n </div>,\n iframeBody\n )}\n </div>\n );\n};\n","import { Button as WordpressButton } from '@wordpress/components';\nimport classNames from 'classnames';\nimport { Icon } from './Icon.js';\n\ntype ButtonProps = {\n children?: React.ReactNode;\n asChild?: boolean;\n className?: string;\n display?: 'icon' | 'icon-lg' | 'label' | 'auto' | '' | null;\n onClick?: () => void;\n label?: string;\n size?: 'small' | 'default' | 'compact';\n variant?: 'primary' | 'secondary' | 'link' | 'primary' | 'tertiary';\n icon?: any;\n disabled?: boolean;\n};\n\nexport const Button = ({\n children,\n size = 'default',\n label,\n className,\n onClick,\n variant = 'primary',\n display = 'auto',\n icon,\n disabled = false,\n}: ButtonProps) => {\n const isIconDisplay = display === 'icon' || display === 'icon-lg';\n\n return (\n <WordpressButton\n size={size}\n variant={variant}\n label={label}\n showTooltip={true}\n disabled={disabled}\n className={classNames(\n className,\n 'blockbite-ui__button',\n 'flex items-center justify-center gap-1',\n { 'is-primary': variant === 'primary' },\n { 'is-secondary': variant === 'secondary' },\n { 'is-link': variant === 'link' },\n { 'is-tertiary': variant === 'tertiary' },\n { 'is-icon': display === 'icon' }\n )}\n onClick={onClick}\n >\n {icon && (\n <Icon\n icon={icon}\n className={classNames({ 'h-4 w-4': display === 'icon-lg' })}\n />\n )}\n {!isIconDisplay ? children : null}\n {label && !children && !isIconDisplay ? <span>{label}</span> : null}\n </WordpressButton>\n );\n};\n","import classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype ChapterProps = {\n children?: React.ReactNode;\n className?: string;\n title?: string;\n};\n\nexport const Chapter = ({ children, title, className }: ChapterProps) => {\n return (\n <Wrap\n className={classNames(\n 'text-gray-medium my-2 flex items-center gap-1 text-[12px] font-medium',\n className\n )}\n >\n {title && <Wrap className=\"font-medium\">{title}</Wrap>}\n {children}\n </Wrap>\n );\n};\n","import classNames from 'classnames';\nimport { Badge } from './Badge.js';\n\ntype ChapterDividerProps = {\n title?: string;\n className?: string;\n help?: string;\n badge?: string;\n [key: string]: any;\n};\n\nexport const ChapterDivider = ({\n title,\n className,\n help,\n badge,\n ...props\n}: ChapterDividerProps) => {\n return (\n <div className={classNames('mb-2', className)} {...props}>\n <div className=\"flex w-full flex-wrap items-center gap-2 justify-between\">\n <span className=\"shrink-1 text-[11px] font-medium uppercase leading-snug\">\n {title}\n </span>\n\n {!!badge && <Badge className=\"text-[10px] py-px px-1\">{badge}</Badge>}\n </div>\n {help && <small className=\"w-full shrink-0 text-[11px]\">{help}</small>}\n </div>\n );\n};\n","import { CheckboxControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\ntype CheckboxProps = {\n id: string;\n label?: string;\n help?: string;\n defaultChecked?: boolean;\n onCheckedChange: (checked: boolean, id: string) => void;\n};\n\nexport const Checkbox = ({ label, help, defaultChecked }: CheckboxProps) => {\n const [isChecked, setChecked] = useState(defaultChecked);\n\n useEffect(() => {\n setChecked(defaultChecked);\n }, [defaultChecked]);\n\n return (\n <Wrap className=\"blockbite-ui__checkbox mx-1 flex items-center gap-2\">\n <CheckboxControl\n label={label}\n help={help}\n checked={isChecked}\n onChange={setChecked}\n />\n </Wrap>\n );\n};\n","const ChevronDown = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ChevronDown;\n","const ColumnSpacing = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.50012 1C7.22398 1 7.00012 1.22386 7.00012 1.5V13.5C7.00012 13.7761 7.22398 14 7.50012 14C7.77626 14 8.00012 13.7761 8.00012 13.5V1.5C8.00012 1.22386 7.77626 1 7.50012 1ZM3.31812 5.18161C3.14239 5.00587 2.85746 5.00587 2.68173 5.18161L0.681729 7.18161C0.505993 7.35734 0.505993 7.64227 0.681729 7.818L2.68173 9.818C2.85746 9.99374 3.14239 9.99374 3.31812 9.818C3.49386 9.64227 3.49386 9.35734 3.31812 9.18161L2.08632 7.9498H5.50017C5.7487 7.9498 5.95017 7.74833 5.95017 7.4998C5.95017 7.25128 5.7487 7.0498 5.50017 7.0498H2.08632L3.31812 5.818C3.49386 5.64227 3.49386 5.35734 3.31812 5.18161ZM11.6817 5.18161C11.506 5.35734 11.506 5.64227 11.6817 5.818L12.9135 7.0498H9.50017C9.25164 7.0498 9.05017 7.25128 9.05017 7.4998C9.05017 7.74833 9.25164 7.9498 9.50017 7.9498H12.9135L11.6817 9.18161C11.506 9.35734 11.506 9.64227 11.6817 9.818C11.8575 9.99374 12.1424 9.99374 12.3181 9.818L14.3181 7.818C14.4939 7.64227 14.4939 7.35734 14.3181 7.18161L12.3181 5.18161C12.1424 5.00587 11.8575 5.00587 11.6817 5.18161Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ColumnSpacing;\n","const Cross2 = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Cross2;\n","const Desktop = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M0 3.25V10.75C0 11.4404 0.559644 12 1.25 12H5.07341L4.82991 13.2986C4.76645 13.6371 5.02612 13.95 5.37049 13.95H9.62951C9.97389 13.95 10.2336 13.6371 10.1701 13.2986L9.92659 12H13.75C14.4404 12 15 11.4404 15 10.75V3.25C15 2.55964 14.4404 2 13.75 2H1.25C0.559643 2 0 2.55964 0 3.25ZM1.25 3H13.75C13.8881 3 14 3.11193 14 3.25V10.75C14 10.8881 13.8881 11 13.75 11H1.25C1.11193 11 1 10.8881 1 10.75V3.25C1 3.11193 1.11193 3 1.25 3ZM5.98909 12L5.79222 13.05H9.20778L9.01091 12H5.98909Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Desktop;\n","const Grid = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 2.5V12.5C1 13.3284 1.67157 14 2.5 14H12.5C13.3284 14 14 13.3284 14 12.5V2.5C14 1.67157 13.3284 1 12.5 1H2.5C1.67157 1 1 1.67157 1 2.5ZM8 2V7H13V2.5C13 2.22386 12.7761 2 12.5 2H8ZM8 8V13H12.5C12.7761 13 13 12.7761 13 12.5V8H8ZM7 2H2.5C2.22386 2 2 2.22386 2 2.5V7H7V2ZM2 12.5C2 12.7761 2.22386 13 2.5 13H7V8H2V12.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Grid;\n","const Pencil1 = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.1465 1.14645L3.71455 8.57836C3.62459 8.66832 3.55263 8.77461 3.50251 8.89155L2.04044 12.303C1.9599 12.491 2.00189 12.709 2.14646 12.8536C2.29103 12.9981 2.50905 13.0401 2.69697 12.9596L6.10847 11.4975C6.2254 11.4474 6.3317 11.3754 6.42166 11.2855L13.8536 3.85355C14.0488 3.65829 14.0488 3.34171 13.8536 3.14645L11.8536 1.14645C11.6583 0.951184 11.3417 0.951184 11.1465 1.14645ZM11.5 2.20711L12.7929 3.5L5.71455 10.5784L4.21924 11.2192L3.78081 10.7808L4.42166 9.28547L11.5 2.20711Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Pencil1;\n","const Percentage = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <circle cx={4.85355} cy={4.5} r={1.5} fill=\"currentColor\" />\n <circle cx={9.85355} cy={10.5} r={1.5} fill=\"currentColor\" />\n <path\n d=\"M3 11.6464L11 3.64642\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </svg>\n);\n\nexport default Percentage;\n","const Plus = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M7.5 2.25C7.22386 2.25 7 2.47386 7 2.75V7H2.75C2.47386 7 2.25 7.22386 2.25 7.5C2.25 7.77614 2.47386 8 2.75 8H7V12.25C7 12.5261 7.22386 12.75 7.5 12.75C7.77614 12.75 8 12.5261 8 12.25V8H12.25C12.5261 8 12.75 7.77614 12.75 7.5C12.75 7.22386 12.5261 7 12.25 7H8V2.75C8 2.47386 7.77614 2.25 7.5 2.25Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Plus;\n","const Slider = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.49988 10.2504C7.1516 10.2504 6.0299 9.28026 5.79473 7.99997H0.5C0.223858 7.99997 0 7.77611 0 7.49997C0 7.22383 0.223858 6.99997 0.5 6.99997H5.7947C6.0298 5.71959 7.15154 4.74939 8.49988 4.74939C9.84822 4.74939 10.97 5.71959 11.2051 6.99997H14.5C14.7761 6.99997 15 7.22383 15 7.49997C15 7.77611 14.7761 7.99997 14.5 7.99997H11.205C10.9699 9.28026 9.84816 10.2504 8.49988 10.2504ZM8.49988 9.30038C7.50549 9.30038 6.69938 8.49427 6.69938 7.49988C6.69938 6.5055 7.50549 5.69939 8.49988 5.69939C9.49426 5.69939 10.3004 6.5055 10.3004 7.49988C10.3004 8.49427 9.49426 9.30038 8.49988 9.30038Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Slider;\n","const Tailwind = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M4 5.33333C4.4 3.77778 5.4 3 7 3C9.4 3 9.7 4.75 10.9 5.04167C11.7 5.23611 12.4 4.94444 13 4.16667C12.6 5.72222 11.6 6.5 10 6.5C7.6 6.5 7.3 4.75 6.1 4.45833C5.3 4.26389 4.6 4.55556 4 5.33333ZM1 8.83333C1.4 7.27778 2.4 6.5 4 6.5C6.4 6.5 6.7 8.25 7.9 8.54167C8.7 8.73611 9.4 8.44444 10 7.66667C9.6 9.22222 8.6 10 7 10C4.6 10 4.3 8.25 3.1 7.95833C2.3 7.76389 1.6 8.05556 1 8.83333Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Tailwind;\n","const Trash = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5 1.5C5 1.77614 5.22386 2 5.5 2H9.5C9.77614 2 10 1.77614 10 1.5C10 1.22386 9.77614 1 9.5 1H5.5C5.22386 1 5 1.22386 5 1.5ZM3.5 3H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H11V12C11 12.5523 10.5523 13 10 13H5C4.44772 13 4 12.5523 4 12V4L3.5 4C3.22386 4 3 3.77614 3 3.5C3 3.22386 3.22386 3 3.5 3ZM10 4V12H5V4H10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Trash;\n","import { forwardRef } from '@wordpress/element';\nimport classNames from 'classnames';\n\ntype TextControlProps = {\n className?: string;\n inputClassName?: string;\n value: any;\n children?: React.ReactNode;\n onChange?: (value: string) => void;\n onClick?: () => void;\n readOnly?: boolean;\n placeholder?: string;\n onBlur?: (value) => void;\n type?: string;\n label?: string;\n helper?: string;\n [key: string]: any;\n};\n\nexport const TextControl = forwardRef<HTMLInputElement, TextControlProps>(\n (\n {\n onClick,\n onChange,\n className,\n value,\n children,\n inputClassName,\n readOnly,\n placeholder,\n onBlur,\n type = 'text',\n label,\n helper = '',\n ...props\n },\n ref\n ) => {\n const fieldId = `text-control-${Math.random()\n .toString(36)\n .substring(2, 15)}`;\n\n return (\n <div\n className={classNames('flex items-center p-0', className)}\n {...props}\n >\n {label ? (\n <label htmlFor={fieldId} className=\"text-primary !m-0 !mb-0 !mr-2\">\n {label}\n </label>\n ) : null}\n <input\n id={fieldId}\n className={classNames(\n 'components-text-control__input',\n inputClassName\n )}\n type={type}\n value={value}\n placeholder={placeholder}\n onFocus={() => onClick && onClick()}\n onBlur={(e) => {\n if (onClick) onClick();\n if (onBlur) onBlur(e.target.value);\n }}\n onChange={(e) => onChange && onChange(e.target.value)}\n readOnly={readOnly}\n ref={ref}\n />\n {children}\n {helper && <p className=\"text-primary !m-0 !mb-0 text-xs\">{helper}</p>}\n </div>\n );\n }\n);\n\nTextControl.displayName = 'TextControl'; // Recommended for debugging\n","import { Plus as PlusIcon, Trash as TrashIcon } from '@blockbite/icons';\nimport { Button } from '@wordpress/components';\nimport { useRef, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport type { DataItem } from '@blockbite/types';\nimport { TextControl } from './TextControl.js';\nimport { Wrap } from './Wrap.js';\n\ntype DataListProps = {\n data: DataItem[];\n active: any;\n setActive: (item: DataItem | undefined) => void;\n onCreate: () => void;\n onDelete: (id: string) => void;\n onUpdate: (id: string, updates: Partial<DataItem>) => void;\n onSwitch: (prevId: string, updates: Partial<DataItem>) => void;\n renderItemActions?: (item: DataItem) => React.ReactNode;\n addons?: JSX.Element;\n className?: string;\n footerSlot?: React.ReactNode;\n footerSlotClassName?: string;\n};\n\nexport const DataItemList = ({\n data,\n active,\n setActive,\n onCreate,\n onDelete,\n onUpdate,\n onSwitch,\n renderItemActions,\n addons,\n className = '',\n footerSlot,\n footerSlotClassName = '',\n}: DataListProps) => {\n const [rename, setRename] = useState<{ id: string; name: string }>({\n id: '',\n name: '',\n });\n const [isSaving, setIsSaving] = useState(false);\n\n const textRef = useRef<HTMLInputElement | null>(null);\n\n const handleAdd = () => {\n onCreate();\n };\n\n const handleRemove = () => {\n if (!active || data.length === 0) return;\n\n const newData = data.filter((d) => d.id !== active?.id);\n const currentIndex = data.findIndex((d) => d.id === active?.id);\n const nextActive = newData[currentIndex] || newData[0];\n\n onDelete(active?.id);\n setActive(nextActive);\n };\n\n const handleRenameBlur = (value: string) => {\n setIsSaving(true);\n if (rename.id) {\n onUpdate(rename.id, { name: value });\n }\n\n setTimeout(() => {\n setRename({ id: '', name: '' });\n setIsSaving(false);\n }, 500);\n };\n\n return (\n <Wrap important className={className}>\n <ul className=\"h-[calc(100%-80px)] divide-y overflow-auto\">\n {addons}\n {data.length > 0 && (\n <li>\n <ul className=\"divide-y divide-border border-b border-border\">\n {data.map((item) => (\n <li\n key={`data__${item.id}`}\n className={classNames(\n 'relative !mb-0 flex items-center justify-between gap-1 bg-opacity-50 hover:bg-easy',\n {\n 'bg-easy': item.id === active?.id,\n }\n )}\n >\n <div className=\"flex-1 relative\">\n <button\n className=\"text-gray-medium w-full truncate px-3 py-2 text-left text-sm/6 font-semibold hover:text-wordpress\"\n onClick={() => {\n onSwitch(active?.id, { ...active });\n setActive(item);\n }}\n onDoubleClick={() => {\n setRename({ id: item.id, name: item.name || '' });\n }}\n >\n {isSaving && rename.id === item.id ? (\n <span className=\"animate-pulse text-gray-medium\">\n {rename.name}\n </span>\n ) : (\n <span className=\"text-gray-medium\">\n {item.name || 'Untitled'}\n </span>\n )}\n </button>\n {rename.id === item.id && !isSaving && (\n <TextControl\n className=\"absolute left-1 top-0 w-[calc(100%-.5rem)] h-full\"\n inputClassName=\"w-full\"\n defaultValue={rename.name}\n onChange={(value) =>\n setRename({ ...rename, name: value })\n }\n ref={textRef}\n onBlur={handleRenameBlur}\n />\n )}\n </div>\n {renderItemActions && (\n <div className=\"flex gap-1 pr-1\">\n {renderItemActions(item)}\n </div>\n )}\n </li>\n ))}\n </ul>\n </li>\n )}\n </ul>\n <div\n className={classNames(\n 'flex flex-wrap justify-center gap-2 p-2',\n footerSlotClassName\n )}\n >\n {footerSlot}\n <Button\n onClick={handleAdd}\n icon={<PlusIcon className=\"h-4 w-4\" />}\n variant=\"tertiary\"\n size=\"compact\"\n >\n Add\n </Button>\n <Button\n onClick={handleRemove}\n icon={<TrashIcon className=\"h-4 w-4\" />}\n variant=\"tertiary\"\n size=\"compact\"\n disabled={!active || data.length === 0}\n >\n Remove\n </Button>\n </div>\n </Wrap>\n );\n};\n\nexport default DataItemList;\n","import { useEffect, useRef, useState } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { Wrap } from './Wrap.js';\n\ntype DisappearingMessageProps = {\n message?: string;\n className?: string;\n duration?: number;\n children?: React.ReactNode;\n show: boolean;\n};\n\nexport const DisappearingMessage = ({\n duration = 3000,\n className,\n children,\n show,\n message,\n}: DisappearingMessageProps) => {\n const [isShowing, setIsShowing] = useState(false);\n const hasMounted = useRef(false);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n hasMounted.current = true;\n }, []);\n\n useEffect(() => {\n if (!hasMounted.current) return;\n\n if (show) {\n setIsShowing(true);\n timeoutRef.current = setTimeout(() => {\n setIsShowing(false);\n }, duration);\n }\n\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, [show, duration]);\n\n if (!isShowing) return null;\n\n return (\n <Wrap\n important\n className={classNames('bb-ui__disappearing-message', className)}\n >\n <div className=\"bb-ui__disappearing-message__content\">\n {message ?? children}\n </div>\n </Wrap>\n );\n};\n","import { ChevronDown as ChevronDownIcon } from '@blockbite/icons';\nimport { DropdownMenu } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Icon } from './Icon.js';\n\ntype DropdownPickerProps = {\n label?: string;\n className?: string;\n value: string;\n defaultIcon?: any;\n size?: 'small' | 'medium' | 'large';\n options: {\n icon?: React.ReactElement;\n label: string;\n subtitle?: string;\n value: string;\n }[];\n onPressedChange: (value: string | null) => void; // Updated to allow `null` for reset\n [x: string]: any;\n};\n\nexport const DropdownPicker = ({\n label,\n className,\n value,\n defaultIcon = ChevronDownIcon,\n size = 'medium',\n onPressedChange,\n options,\n ...rest\n}: DropdownPickerProps) => {\n const [currentOption, setCurrentOption] = useState<string | null>(null);\n\n useEffect(() => {\n setCurrentOption(value);\n }, [value]);\n\n const allOptions = [\n ...options.map((option) => ({\n icon: option.icon,\n label: option.label,\n title: option.label,\n value: option.value,\n onClick: () => {\n setCurrentOption(option.value);\n onPressedChange(option.value);\n },\n })),\n {\n icon: <Icon icon={defaultIcon} />,\n title: 'Reset',\n value: 'reset',\n onClick: () => {\n setCurrentOption('reset');\n onPressedChange('reset');\n },\n },\n ];\n\n let iconSize = '1em';\n if (size === 'medium') {\n iconSize = '1.5em';\n } else if (size === 'large') {\n iconSize = '2em';\n }\n\n return (\n <DropdownMenu\n controls={allOptions}\n className={classNames('blockbite-ui__dropdown-picker', className)}\n icon={\n options.find((option) => option.value === currentOption)?.icon || (\n <Icon width={iconSize} height={iconSize} icon={defaultIcon} />\n )\n }\n label={label || 'Select'}\n {...rest}\n />\n );\n};\n","type Props = {\n icon?: JSX.Element;\n title: string;\n description: string;\n children?: React.ReactNode;\n [key: string]: any;\n};\n\nexport function EmptyState({\n icon,\n title,\n description,\n children = null,\n ...rest\n}: Props) {\n return (\n <div {...rest}>\n <div className=\"flex h-full w-full flex-col items-center justify-center text-center !font-sans\">\n <div className=\"max-w-sm\">\n {icon && <div className=\"mx-auto !text-gray-400\">{icon}</div>}\n <h3 className=\"text-gray-medium mt-2 !font-sans text-sm font-medium\">\n {title}\n </h3>\n <p className=\"mt-1 !font-sans text-sm !text-gray-500\">\n {description}\n </p>\n {children && <div className=\"mt-4\">{children}</div>}\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef, useState } from '@wordpress/element';\n\ntype DraggablePanelProps = {\n children: React.ReactNode;\n};\n\nexport function FloatingPanel({\n children,\n}: DraggablePanelProps & {\n children: React.ReactNode;\n}) {\n const panelRef = useRef(null);\n const [position, setPosition] = useState({ x: 100, y: 100 });\n const [dragging, setDragging] = useState(false);\n const [offset, setOffset] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const handleMouseMove = (e) => {\n if (dragging) {\n setPosition({\n x: e.clientX - offset.x,\n y: e.clientY - offset.y,\n });\n }\n };\n\n const handleMouseUp = () => setDragging(false);\n\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n };\n }, [dragging, offset]);\n\n const startDragging = (e) => {\n const rect = panelRef.current.getBoundingClientRect();\n setOffset({ x: e.clientX - rect.left, y: e.clientY - rect.top });\n setDragging(true);\n };\n\n return (\n <div>\n <div\n ref={panelRef}\n className=\"fixed bg-white shadow-xl rounded-2xl p-4 w-[400px] h-[550px] z-[9999]\"\n style={{ left: position.x, top: position.y }}\n >\n {children}\n <div\n className=\"absolute top-1 right-1 cursor-move w-5 h-5 bg-gray-300 rounded\"\n onMouseDown={startDragging}\n ></div>\n </div>\n </div>\n );\n}\n","import { FocalPointPicker } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\ntype FocalPointControlProps = {\n value: string;\n onValueChange: (value: string) => void;\n url?: string;\n};\n\nexport const FocalPointControl: React.FC<FocalPointControlProps> = ({\n value,\n onValueChange,\n url,\n}) => {\n const [focalPoint, setFocalPoint] = useState({\n x: 0.5,\n y: 0.5,\n });\n\n // Sync local state with controlled value prop\n useEffect(() => {\n if (value && value.includes('%')) {\n const [x, y] = value\n .replace('[', '')\n .replace('%]', '')\n .split('_')\n .map((v: string) => parseFloat(v) / 100);\n setFocalPoint({ x, y });\n }\n }, [value]);\n\n // Notify parent on local state change\n useEffect(() => {\n onValueChange(\n `[${(focalPoint.x * 100).toFixed(2)}%_${(focalPoint.y * 100).toFixed(2)}%]`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focalPoint]);\n\n return (\n <Wrap className=\"relative flex flex-col\">\n <FocalPointPicker\n url={url}\n value={focalPoint}\n onDrag={setFocalPoint}\n onChange={setFocalPoint}\n />\n </Wrap>\n );\n};\n\nexport default FocalPointControl;\n","import apiFetch from '@wordpress/api-fetch';\nimport { TextControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Wrap } from './Wrap.js';\n\nexport function LinkPicker(props) {\n const [activeKeyword, setActiveKeyword] = useState('');\n const [links, setLinks] = useState<\n Array<{ id: number; url: string; title: string; post_type: string }>\n >([]);\n const [activeLink, setActiveLink] = useState({\n url: '',\n title: '',\n });\n\n useEffect(() => {\n if (activeKeyword === '') return;\n setLinks(null);\n apiFetch({\n path: `/blockbite/v1/block-helpers/get-links/${activeKeyword}`,\n }).then(\n (\n fetchedLinks: Array<{\n id: number;\n url: string;\n title: string;\n post_type: string;\n }> | null\n ) => {\n if (fetchedLinks?.length) {\n setLinks([...fetchedLinks]);\n } else {\n setLinks([]);\n }\n }\n );\n }, [activeKeyword]);\n\n useEffect(() => {\n if (activeLink.url !== '') {\n props.parentCallback(activeLink);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeLink]);\n\n return (\n <Wrap className=\"blockbite--editor-linkwrap\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={__('Search link', 'blockbitelinks')}\n value={activeKeyword}\n placeholder=\"Example: About\"\n onChange={(value) => setActiveKeyword(value)}\n help={__('Type a post, page, title', 'blockbitelinks')}\n />\n {activeKeyword ? (\n <div className=\"blockbite--editor-linklist\">\n <LinkList\n links={links}\n onActiveLink={(link) => [\n setActiveLink({ ...link }),\n setActiveKeyword(''),\n ]}\n />\n </div>\n ) : null}\n </Wrap>\n );\n}\nfunction LinkList({ links, onActiveLink }) {\n if (links === null) {\n return <p>Loading...</p>;\n } else if (links.length === 0) {\n return <p>No Results</p>;\n }\n\n const list = links.map((link) => (\n <Wrap key={link.id}>\n <span\n className=\"blockbite--editor-link\"\n onClick={() => onActiveLink(link)}\n >\n <span>{link.title}</span>\n <span className=\"blockbite--preview-link\">{link.url}</span>\n <span className=\"blockbite--preview-link\">{link.post_type}</span>\n </span>\n </Wrap>\n ));\n\n return <>{list}</>; // ✅ Wrapped\n}\n","import { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\n\nimport { Button, PanelRow } from '@wordpress/components';\n\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nexport function MediaPicker({ mediaProps, mediaCallback }) {\n const allowedTypes = [\n 'image',\n 'video',\n 'image/svg+xml',\n 'svg',\n 'text/plain',\n 'application/json',\n ];\n\n // toggles\n const [stateMedia, setStateMedia] = useState({\n id: null,\n url: '',\n sizes: [],\n alt: '',\n type: '',\n width: 0,\n height: 0,\n });\n\n useEffect(() => {\n if (mediaProps) {\n setStateMedia({ ...mediaProps });\n }\n }, [mediaProps]);\n\n // image handlers\n const removeMedia = () => {\n const mediaObj = {\n mediaId: 0,\n mediaUrl: '',\n };\n mediaCallback({ ...mediaObj });\n };\n // onselect media\n const onSelectMedia = (media) => {\n const safeSizes = {\n thumbnail: null,\n medium: null,\n large: null,\n };\n\n // Normalize Sizes\n if (media?.sizes) {\n Object.keys(media.sizes).map((key) => {\n const sizeObject = media.sizes[key];\n\n if (key === 'thumbnail') {\n safeSizes.thumbnail = sizeObject.url;\n } else if (sizeObject.width < 768 || sizeObject.height < 768) {\n safeSizes.thumbnail = sizeObject.url;\n }\n\n if (key === 'medium') {\n safeSizes.medium = sizeObject.url;\n } else if (\n (sizeObject.width > 1024 && sizeObject.width < 1024) ||\n (sizeObject.height < 1536 && sizeObject.height > 1536)\n ) {\n safeSizes.medium = sizeObject.url;\n }\n\n if (key === 'large') {\n safeSizes.large = sizeObject.url;\n } else if (sizeObject.width > 1536 || sizeObject.height > 1536) {\n safeSizes.large = sizeObject.url;\n }\n\n return null;\n });\n }\n\n // if type ends .lottie then it is a lottie file\n if (media.url.endsWith('.json')) {\n media.type = 'lottie';\n }\n // if type ends with .svg then it is an svg file\n if (media.url.endsWith('.svg')) {\n media.type = 'svg';\n }\n\n const mediaObj = {\n id: media.id,\n url: media.url,\n sizes: safeSizes,\n alt: media.alt,\n type: media.type,\n width: media.width,\n height: media.height,\n };\n mediaCallback({ ...mediaObj });\n };\n\n return (\n <PanelRow>\n {stateMedia.id !== null && (\n <MediaUploadCheck>\n <MediaUpload\n onSelect={onSelectMedia}\n value={stateMedia.id}\n allowedTypes={allowedTypes}\n render={({ open }) => (\n <Button\n className={\n stateMedia.id === 0\n ? 'editor-post-featured-image__toggle'\n : 'editor-post-featured-image__preview'\n }\n onClick={open}\n >\n {stateMedia.id === 0 && __('Choose Media', 'blockbite')}\n {stateMedia.id && stateMedia.type === 'image' ? (\n <div className=\"blockbite--editor-visual-image\">\n <img\n alt={\n stateMedia.alt\n ? stateMedia.alt\n : __('Image', 'blockbite')\n }\n src={stateMedia.url}\n />\n </div>\n ) : (\n 'Add media'\n )}\n </Button>\n )}\n />\n </MediaUploadCheck>\n )}\n {stateMedia.id !== 0 && (\n <MediaUploadCheck>\n <MediaUpload\n title={__('Replace media', 'blockbite')}\n value={stateMedia.id}\n onSelect={onSelectMedia}\n allowedTypes={allowedTypes}\n render={({ open }) => (\n <Button onClick={open}>{__('Replace media', 'blockbite')}</Button>\n )}\n />\n </MediaUploadCheck>\n )}\n {stateMedia.id !== 0 && (\n <MediaUploadCheck>\n <Button onClick={() => removeMedia()} isDestructive>\n {__('Remove media', 'blockbite')}\n </Button>\n </MediaUploadCheck>\n )}\n </PanelRow>\n );\n}\n","import { Cross2 } from '@blockbite/icons';\nimport { Button, Popover as WordpressPopover } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\ntype PopoverProps = {\n children: React.ReactNode;\n className?: string;\n defaultValue?: string;\n value?: string;\n position?: any;\n visible?: boolean;\n onClick?: () => void;\n onVisibleChange?: (value: boolean) => void;\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n children,\n className,\n position,\n visible,\n onClick,\n onVisibleChange,\n}) => {\n const [isVisible, setIsVisible] = useState<boolean>(!!visible);\n\n useEffect(() => {\n if (visible !== undefined) {\n setIsVisible(visible);\n }\n }, [visible]);\n\n const toggleVisible = () => {\n const newValue = !isVisible;\n setIsVisible(newValue);\n onVisibleChange && onVisibleChange(newValue);\n };\n\n return (\n <>\n {isVisible && (\n <WordpressPopover\n position={position}\n className=\"blockbite-ui__popover\"\n onClick={onClick}\n onFocusOutside={() => {\n setIsVisible(false);\n onVisibleChange && onVisibleChange(false);\n }}\n >\n <div className={className}>\n <div className=\"relative h-full w-full p-4\">\n <Button\n onClick={toggleVisible}\n size=\"small\"\n className=\"close-button absolute right-0 top-0\"\n >\n <Cross2 />\n </Button>\n {children}\n </div>\n </div>\n </WordpressPopover>\n )}\n </>\n );\n};\n\nexport default Popover;\n","import { useEffect, useState } from '@wordpress/element';\nimport { Wrap } from './Wrap.js';\n\nimport { RangeControl as WordpressRangeControl } from '@wordpress/components';\n\nexport type RangeControlType = {\n value: string;\n label: string;\n min: number;\n max: number;\n withInputField?: boolean;\n onValueChange: (value: string) => void;\n gridMode?: boolean;\n showTooltip?: boolean;\n [key: string]: any;\n};\n\nexport const RangeSlider: React.FC<RangeControlType> = ({\n value,\n label,\n min = 0,\n max = 2000,\n withInputField = false,\n onValueChange,\n gridMode = false,\n showTooltip = false,\n ...props\n}) => {\n const [resetFallbackValue] = useState(0);\n const [rangeValue, setRangeValue] = useState<number>(0);\n\n // Sync local state with controlled value prop\n useEffect(() => {\n setRangeValue(Math.round(parseInt(value) / (gridMode ? 16 : 1)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n // convert back to arbitrary unit\n function handleRangeUpdate(val: number) {\n const gridValue = val * (gridMode ? 16 : 1);\n onValueChange(gridValue.toString());\n }\n\n return (\n <Wrap className=\"flex min-w-[240px] flex-col\">\n <WordpressRangeControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={label}\n value={rangeValue}\n min={min}\n max={max}\n showTooltip={showTooltip}\n withInputField={withInputField}\n onChange={(val) => {\n setRangeValue(val);\n handleRangeUpdate(val);\n }}\n resetFallbackValue={resetFallbackValue}\n {...props}\n />\n <span>{gridMode ? `${rangeValue * 16}px` : null} </span>\n </Wrap>\n );\n};\n","import {\n __experimentalInputControl as InputControl,\n __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { ButtonToggleGroup } from './ButtonToggle.js';\nimport { DropdownPicker } from './DropdownPicker.js';\nimport { Popover } from './Popover.js';\nimport { RangeSlider } from './RangeSlider.js';\n\nimport {\n ColumnSpacing as ColumnSpacingIcon,\n Desktop as DesktopIcon,\n Grid as GridIcon,\n Percentage as PercentageIcon,\n Slider as SliderIcon,\n Tailwind as TailwindUnitIcon,\n} from '@blockbite/icons';\n\ntype MetricsControlProps = {\n unit: string;\n value: string;\n units?:\n | string[]\n | 'native'\n | 'percent'\n | 'grid'\n | 'arbitrary'\n | 'fluid'\n | 'screen'\n | 'all';\n inputClassName?: string;\n onValueChange: (value: string) => void;\n onUnitChange: (unit: string) => void;\n};\n\nexport const MetricsControl: React.FC<MetricsControlProps> = ({\n unit,\n value,\n onValueChange,\n onUnitChange,\n inputClassName = '',\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const [currentOptions, setCurrentOptions] = useState<string[]>([]);\n const [resetValue, setResetValue] = useState<string | number>(value);\n\n // Save last value after popover close to support \"reset\" functionality\n useEffect(() => {\n if (!isVisible && unit === 'arbitrary') {\n setResetValue(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isVisible]);\n\n const showOptions = (u: string) => {\n if (u !== 'arbitrary' && bb?.codex?.units?.spacing?.[u]) {\n const options =\n bb.codex.units.spacing[u as keyof typeof bb.codex.units.spacing];\n setCurrentOptions(\n Array.isArray(options) ? options : Object.keys(options)\n );\n } else {\n setCurrentOptions([]);\n }\n setIsVisible(true);\n };\n\n const unitOptions = [\n {\n icon: <TailwindUnitIcon />,\n label: 'Tailwind CSS Units',\n value: 'native',\n },\n { icon: <PercentageIcon />, label: 'Percentage Units', value: 'percent' },\n { icon: <GridIcon />, label: 'Grid Units', value: 'grid' },\n { icon: <DesktopIcon />, label: 'Screen Units', value: 'screen' },\n { icon: <SliderIcon />, label: 'Pixel Units', value: 'arbitrary' },\n { icon: <ColumnSpacingIcon />, label: 'Fluid Units', value: 'fluid' },\n ];\n\n return (\n <div className=\"relative flex flex-col items-baseline\">\n <InputControl\n __next40pxDefaultSize\n className={inputClassName}\n value={unit === 'grid' ? value.replace('b_', '') : value}\n onClick={() => unit !== 'arbitrary' && showOptions(unit)}\n onChange={onValueChange}\n readOnly={unit !== 'arbitrary'}\n autoComplete=\"off\"\n suffix={\n <InputControlSuffixWrapper>\n <Popover\n visible={isVisible}\n position=\"bottom left\"\n className=\"w-[300px] bg-white shadow-sm\"\n onVisibleChange={setIsVisible}\n >\n {unit === 'arbitrary' ? (\n <RangeSlider\n value={value}\n label=\"Pixel Value\"\n min={0}\n max={100}\n gridMode={true}\n showTooltip={false}\n allowReset={true}\n resetFallbackValue={\n isNaN(resetValue.toString() as any)\n ? 0\n : Number(resetValue) / 16\n }\n onValueChange={onValueChange}\n />\n ) : (\n <ButtonToggleGroup\n className=\"mt-4\"\n options={currentOptions.map((option) => ({\n value: option,\n label:\n unit === 'grid'\n ? option.toString().replace('b_', '')\n : option,\n onClick: () => {\n onValueChange(option);\n },\n }))}\n size=\"small\"\n value={value?.toString() || ''}\n onPressedChange={onValueChange}\n />\n )}\n </Popover>\n <DropdownPicker\n value={unit}\n options={unitOptions}\n toggleProps={{\n className: '!p-0 !min-w-0 !h-6 w-6',\n }}\n onPressedChange={(selectedUnit) => {\n if (selectedUnit === 'reset') {\n onValueChange('');\n setIsVisible(false);\n } else {\n onUnitChange(selectedUnit);\n showOptions(selectedUnit);\n }\n }}\n />\n </InputControlSuffixWrapper>\n }\n ></InputControl>\n </div>\n );\n};\n\nexport default MetricsControl;\n","import {\n Children,\n createContext,\n isValidElement,\n useContext,\n useEffect,\n useState,\n} from '@wordpress/element';\n\nimport { Modal as WordpressModal } from '@wordpress/components';\nimport classNames from 'classnames';\n\ntype ModalContextType = {\n closeModal: () => void;\n openModal: () => void;\n};\n\nconst ModalContext = createContext<ModalContextType | null>(null);\n\nexport const useModalContext = () => {\n const context = useContext(ModalContext);\n if (!context) {\n throw new Error('useModalContext must be used within a ModalProvider');\n }\n return context;\n};\n\ntype ModalProps = {\n children: React.ReactElement | React.ReactElement[];\n defaultOpen: boolean;\n onOpenChange: (checked: boolean) => void;\n title: string;\n className?: string;\n};\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n defaultOpen,\n onOpenChange,\n title,\n className,\n}) => {\n const [isOpen, setOpen] = useState(false);\n\n // Sync `isOpen` with `defaultOpen` when `defaultOpen` changes\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const openModal = () => setOpen(true);\n const closeModal = () => setOpen(false);\n\n useEffect(() => {\n onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n return (\n <ModalContext.Provider value={{ closeModal, openModal }}>\n {/* Render MOdalTrigger */}\n {Children.map(children, (child) => {\n return isValidElement(child) && child.type === ModalTrigger\n ? child\n : null;\n })}\n {isOpen && (\n <WordpressModal\n className={classNames('blockbite-ui__modal', className)}\n onRequestClose={closeModal}\n title={title}\n >\n <div className=\"relative\">\n {/* Render ModalHeader */}\n {Children.map(children, (child) => {\n return isValidElement(child) && child.type === ModalHeader\n ? child\n : null;\n })}\n {/* Render ModalContent */}\n {Children.map(children, (child) => {\n return isValidElement(child) && child.type === ModalContent\n ? child\n : null;\n })}\n {/* Render ModalFooter */}\n {Children.map(children, (child) => {\n return isValidElement(child) && child.type === ModalFooter\n ? child\n : null;\n })}\n </div>\n </WordpressModal>\n )}\n </ModalContext.Provider>\n );\n};\n\n// Header component for modal\nexport const ModalHeader: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames(\n 'flex flex-col space-y-1.5 text-center sm:text-left',\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n// Footer component for modal\nexport const ModalFooter: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames(\n 'border-border fixed bottom-0 left-0 right-0 flex h-[4rem] flex-row items-center justify-end gap-2 border-t bg-white px-4',\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\n// Description component for modal\nexport const ModalContent: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames('text-gray-medium px-4 pb-4 text-sm', className)}\n {...props}\n >\n {children}\n </div>\n);\n\nexport const ModalClose: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const { closeModal } = useModalContext();\n return (\n <div onClick={closeModal} className=\"cursor-pointer\">\n {children}\n </div>\n );\n};\n\nexport const ModalTrigger: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const { openModal } = useModalContext();\n return (\n <div onClick={openModal} className=\"cursor-pointer\">\n {children}\n </div>\n );\n};\n","import { createPortal, useEffect, useMemo } from '@wordpress/element';\n\nfunction copyStyles(sourceDoc, targetDoc) {\n Array.from(sourceDoc.styleSheets).forEach((styleSheet: any) => {\n try {\n if (styleSheet.cssRules) {\n const newStyleEl = targetDoc.createElement('style');\n Array.from(styleSheet.cssRules).forEach((cssRule: any) => {\n newStyleEl.appendChild(targetDoc.createTextNode(cssRule.cssText));\n });\n targetDoc.head.appendChild(newStyleEl);\n } else if (styleSheet.href) {\n const newLinkEl = targetDoc.createElement('link');\n newLinkEl.rel = 'stylesheet';\n newLinkEl.href = styleSheet.href;\n targetDoc.head.appendChild(newLinkEl);\n }\n } catch (e) {\n if (styleSheet.href) {\n const newLinkEl = targetDoc.createElement('link');\n newLinkEl.rel = 'stylesheet';\n newLinkEl.href = styleSheet.href;\n targetDoc.head.appendChild(newLinkEl);\n } else {\n // eslint-disable-next-line no-console\n console.warn('Error copying styles:', e);\n }\n }\n });\n}\n\ntype Props = {\n windowInstance: Window;\n onClose: () => void;\n children: React.ReactNode;\n};\n\nexport const NewWindowPortal = ({\n windowInstance,\n onClose,\n children,\n}: Props) => {\n const containerEl = useMemo(() => document.createElement('div'), []);\n\n useEffect(() => {\n const win = windowInstance;\n\n win.document.body.innerHTML = '';\n win.document.body.appendChild(containerEl);\n copyStyles(document, win.document);\n win.document.title = document.title || 'Blockbite Editor';\n\n const handleBeforeUnload = () => {\n setTimeout(onClose, 100);\n };\n\n win.addEventListener('beforeunload', handleBeforeUnload);\n\n return () => {\n win.removeEventListener('beforeunload', handleBeforeUnload);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [windowInstance]);\n\n // Typecasting: https://github.com/vercel/next.js/discussions/64753\n return createPortal(children as any, containerEl);\n};\n","import { Notice as WordpressNotice } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype NoticeProps = {\n children: React.ReactNode;\n className?: string;\n status?: 'success' | 'error' | 'warning' | 'info';\n};\n\nexport const Notice = ({\n children,\n status = 'success',\n className,\n}: NoticeProps) => {\n const [showNotice, setShowNotice] = useState(true);\n\n return (\n <Wrap onClick={() => setShowNotice(false)}>\n {showNotice && (\n <WordpressNotice\n status={status}\n className={classNames(className)}\n onRemove={() => setShowNotice(false)}\n >\n {children}\n </WordpressNotice>\n )}\n </Wrap>\n );\n};\n","import {\n Button,\n __experimentalInputControl as InputControl,\n __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { Path, SVG } from '@wordpress/primitives';\n\ntype PasswordInputProps = {\n label: string;\n value: string;\n onChange: (value: string) => void;\n [key: string]: any;\n};\n\nexport const PasswordInput = ({\n label,\n value,\n onChange,\n ...rest\n}: PasswordInputProps) => {\n const [showPassword, setShowPassword] = useState(false);\n\n return (\n <InputControl\n label={label}\n value={value}\n type={showPassword ? 'text' : 'password'}\n suffix={\n <InputControlSuffixWrapper variant=\"control\">\n <Button\n icon={\n <SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <Path\n d={\n showPassword\n ? 'M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z'\n : 'M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z'\n }\n />\n </SVG>\n }\n label=\"Show password\"\n onClick={() => setShowPassword((prev) => !prev)}\n size=\"small\"\n />\n </InputControlSuffixWrapper>\n }\n onChange={onChange}\n {...rest}\n />\n );\n};\n","import { Button as h, Dropdown as pe, TextControl as U, CheckboxControl as fe, DropdownMenu as be, FocalPointPicker as ge, PanelRow as ve, Popover as Re, RangeControl as Ee, __experimentalInputControl as le, __experimentalInputControlSuffixWrapper as ne, Modal as he, Notice as Ce, __experimentalToggleGroupControl as O, __experimentalToggleGroupControlOptionIcon as $, __experimentalToggleGroupControlOption as j, SelectControl as xe, Spinner as we, TabPanel as ye, ToggleControl as Ne } from \"@wordpress/components\";\nimport { memo as x, useCallback as w, useState as f, useEffect as g, useRef as L, createPortal as re, forwardRef as z, createContext as y, useContext as W, Children as P, isValidElement as H, useMemo as _e } from \"@wordpress/element\";\nimport ke from \"@wordpress/api-fetch\";\nimport { __ as N } from \"@wordpress/i18n\";\nimport { MediaUploadCheck as Z, MediaUpload as q } from \"@wordpress/block-editor\";\nimport { SVG as Se, Path as Me } from \"@wordpress/primitives\";\nimport { createBlock as Te } from \"@wordpress/blocks\";\nfunction Le(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar D = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar X;\nfunction Be() {\n return X || (X = 1, function(e) {\n (function() {\n var t = {}.hasOwnProperty;\n function a() {\n for (var l = \"\", c = 0; c < arguments.length; c++) {\n var r = arguments[c];\n r && (l = s(l, n(r)));\n }\n return l;\n }\n function n(l) {\n if (typeof l == \"string\" || typeof l == \"number\")\n return l;\n if (typeof l != \"object\")\n return \"\";\n if (Array.isArray(l))\n return a.apply(null, l);\n if (l.toString !== Object.prototype.toString && !l.toString.toString().includes(\"[native code]\"))\n return l.toString();\n var c = \"\";\n for (var r in l)\n t.call(l, r) && l[r] && (c = s(c, r));\n return c;\n }\n function s(l, c) {\n return c ? l ? l + \" \" + c : l + c : l;\n }\n e.exports ? (a.default = a, e.exports = a) : window.classNames = a;\n })();\n }(D)), D.exports;\n}\nvar Pe = Be();\nconst b = /* @__PURE__ */ Le(Pe), _ = ({ icon: e, ...t }) => e ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--icon\" }, /* @__PURE__ */ React.createElement(e, { ...t })) : null, He = x(\n ({\n children: e,\n className: t,\n value: a,\n variant: n = \"secondary\",\n pressed: s,\n onPressedChange: l,\n icon: c,\n size: r = \"compact\",\n display: m = \"auto\",\n label: i\n }) => {\n const d = w(() => {\n l(a);\n }, [l, a]);\n return /* @__PURE__ */ React.createElement(\n h,\n {\n \"aria-label\": i,\n className: b(t, \"blockbite-ui__button--default\"),\n value: a,\n size: r,\n label: i,\n variant: n,\n showTooltip: !0,\n isPressed: s,\n onClick: d\n },\n c && /* @__PURE__ */ React.createElement(_, { icon: c }),\n m !== \"icon\" ? e : null,\n i && !e && m !== \"icon\" ? /* @__PURE__ */ React.createElement(\"span\", null, i) : null\n );\n }\n), Oe = x(\n ({\n className: e,\n value: t,\n toggle: a = !0,\n display: n = \"auto\",\n options: s,\n size: l = \"compact\",\n tabs: c = !1,\n variant: r = \"secondary\",\n stretch: m = !1,\n onPressedChange: i\n }) => {\n const d = w(\n (o) => {\n const u = a && t === o ? \"\" : o;\n i == null || i(u);\n },\n [i, a, t]\n ), p = (o) => n === \"icon\" && (o != null && o.icon) ? /* @__PURE__ */ React.createElement(_, { icon: o.icon }) : n === \"label\" ? /* @__PURE__ */ React.createElement(\"span\", null, o.label) : /* @__PURE__ */ React.createElement(\"span\", { className: \"flex items-center justify-center gap-1\" }, o.icon && /* @__PURE__ */ React.createElement(_, { icon: o.icon }), /* @__PURE__ */ React.createElement(\"span\", null, o.label));\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\n \"blockbite-ui__button-group flex flex-wrap gap-1\",\n e,\n c ? \"blockbite-ui__button-group--tabs\" : \"\"\n )\n },\n s.map((o, u) => /* @__PURE__ */ React.createElement(\n h,\n {\n key: `ButtonToggleGroup__${o.value}__${o.label}__${u}`,\n className: b(\"blockbite-ui__button--default\", {\n grow: m,\n \"justify-center\": m\n }),\n \"aria-label\": o.label,\n showTooltip: !0,\n value: o.value,\n size: l,\n label: (o == null ? void 0 : o.tooltip) || o.label,\n variant: r,\n isPressed: t === o.value,\n onClick: () => d(o.value)\n },\n p(o),\n o.children && o.children\n ))\n );\n }\n), E = ({\n children: e,\n className: t,\n important: a = !1,\n onClick: n\n}) => a ? /* @__PURE__ */ React.createElement(\"div\", { onClick: n }, /* @__PURE__ */ React.createElement(\"div\", { className: t }, e)) : /* @__PURE__ */ React.createElement(\"div\", { className: t }, e);\nfunction Mt({\n value: e,\n options: t,\n swatch: a,\n onPressedChange: n\n}) {\n const [s, l] = f(\"\"), [c, r] = f([]);\n return g(() => {\n r(\n t.filter(\n (m) => m.label.toLowerCase().includes(s.toLowerCase())\n )\n );\n }, [s, t]), g(() => {\n l(\"\"), r(t);\n }, [e, t]), /* @__PURE__ */ React.createElement(\n pe,\n {\n className: \"option-panel-dropdown\",\n contentClassName: \"option-panel-dropdown-content\",\n popoverProps: { placement: \"bottom-start\" },\n renderToggle: ({ isOpen: m, onToggle: i }) => /* @__PURE__ */ React.createElement(E, { important: !0 }, /* @__PURE__ */ React.createElement(\n h,\n {\n variant: \"secondary\",\n size: \"small\",\n onClick: i,\n \"aria-expanded\": m\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"flex items-center gap-1.5 !bg-transparent !p-0 !text-[11px] !text-current\" }, a && !!e && /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(`h-3 w-3 rounded-full bg-${e}`)\n }\n ), /* @__PURE__ */ React.createElement(\"span\", null, e || \"Select option…\"))\n )),\n renderContent: () => /* @__PURE__ */ React.createElement(E, { important: !0 }, /* @__PURE__ */ React.createElement(\"div\", { className: \"w-52\" }, /* @__PURE__ */ React.createElement(\n U,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n label: \"Search options\",\n value: s,\n onChange: (m) => l(m),\n autoComplete: \"off\"\n }\n ), /* @__PURE__ */ React.createElement(\"div\", { className: \"grid grid-cols-2 gap-1 !bg-transparent p-0 !pt-2\" }, c.length === 0 && /* @__PURE__ */ React.createElement(\"div\", { className: \"!text-gray-medium col-span-2 pb-2 text-center !text-[11px]\" }, \"No options found.\"), c.map((m, i) => /* @__PURE__ */ React.createElement(\n He,\n {\n key: `ButtonToggle__${m.value}___${i}`,\n className: b({\n \"bg-primary\": m.value\n }),\n size: \"small\",\n value: m.value.toString(),\n pressed: e === m.value,\n onPressedChange: (d) => {\n n(d ? m.value : \"\");\n }\n },\n a && /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\n `mr-3 h-3 w-3 rounded-full bg-${m.value}`\n )\n }\n ),\n m.label\n )))))\n }\n );\n}\nconst $e = ({ children: e, className: t, label: a, onClick: n }) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n onClick: n,\n className: b(\n t,\n \"inline-flex items-center rounded-full bg-blue-100 px-2.5 py-0.5 text-xs font-medium text-blue-800\"\n )\n },\n a && /* @__PURE__ */ React.createElement(\"span\", { className: \"mr-1 text-xs font-semibold text-gray-700\" }, a),\n e\n), Tt = ({ htmlContent: e, cssContent: t, frontendAssets: a }) => {\n const n = L(null), [s, l] = f(null);\n return g(() => {\n const c = n.current;\n return c && (c.onload = () => {\n const r = c.contentDocument || c.contentWindow.document;\n if (r) {\n l(r.body);\n const m = r.createElement(\"style\");\n m.innerHTML = t, r.head.appendChild(m), a.forEach(({ type: i, id: d, url: p }) => {\n const o = document.getElementById(d);\n if (o) {\n const u = document.adoptNode(\n o.cloneNode(!0)\n );\n r.head.appendChild(u);\n } else {\n const u = r.createElement(\n i === \"script\" ? \"script\" : \"link\"\n );\n u.id = d, i === \"script\" ? (u.src = p, u.async = !0) : (u.rel = \"stylesheet\", u.href = p), r.head.appendChild(u);\n }\n });\n }\n }), () => {\n c && (c.onload = null);\n };\n }, [e, t, a]), /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: \"render-preview-container\",\n style: { width: \"100%\", minHeight: \"100%\" }\n },\n /* @__PURE__ */ React.createElement(\n \"iframe\",\n {\n ref: n,\n title: \"Preview\",\n className: \"editor-styles-wrapper\",\n width: \"100%\",\n height: \"100%\"\n }\n ),\n s && re(\n /* @__PURE__ */ React.createElement(\"div\", { className: \"b_\" }, /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: \"b_utils\",\n dangerouslySetInnerHTML: { __html: e }\n }\n )),\n s\n )\n );\n}, Lt = ({\n children: e,\n size: t = \"default\",\n label: a,\n className: n,\n onClick: s,\n variant: l = \"primary\",\n display: c = \"auto\",\n icon: r,\n disabled: m = !1\n}) => {\n const i = c === \"icon\" || c === \"icon-lg\";\n return /* @__PURE__ */ React.createElement(\n h,\n {\n size: t,\n variant: l,\n label: a,\n showTooltip: !0,\n disabled: m,\n className: b(\n n,\n \"blockbite-ui__button\",\n \"flex items-center justify-center gap-1\",\n { \"is-primary\": l === \"primary\" },\n { \"is-secondary\": l === \"secondary\" },\n { \"is-link\": l === \"link\" },\n { \"is-tertiary\": l === \"tertiary\" },\n { \"is-icon\": c === \"icon\" }\n ),\n onClick: s\n },\n r && /* @__PURE__ */ React.createElement(\n _,\n {\n icon: r,\n className: b({ \"h-4 w-4\": c === \"icon-lg\" })\n }\n ),\n i ? null : e,\n a && !e && !i ? /* @__PURE__ */ React.createElement(\"span\", null, a) : null\n );\n}, Bt = ({ children: e, title: t, className: a }) => /* @__PURE__ */ React.createElement(\n E,\n {\n className: b(\n \"text-gray-medium my-2 flex items-center gap-1 text-[12px] font-medium\",\n a\n )\n },\n t && /* @__PURE__ */ React.createElement(E, { className: \"font-medium\" }, t),\n e\n), Pt = ({\n title: e,\n className: t,\n help: a,\n badge: n,\n ...s\n}) => /* @__PURE__ */ React.createElement(\"div\", { className: b(\"mb-2\", t), ...s }, /* @__PURE__ */ React.createElement(\"div\", { className: \"flex w-full flex-wrap items-center gap-2 justify-between\" }, /* @__PURE__ */ React.createElement(\"span\", { className: \"shrink-1 text-[11px] font-medium uppercase leading-snug\" }, e), !!n && /* @__PURE__ */ React.createElement($e, { className: \"text-[10px] py-px px-1\" }, n)), a && /* @__PURE__ */ React.createElement(\"small\", { className: \"w-full shrink-0 text-[11px]\" }, a)), Ht = ({ label: e, help: t, defaultChecked: a }) => {\n const [n, s] = f(a);\n return g(() => {\n s(a);\n }, [a]), /* @__PURE__ */ React.createElement(E, { className: \"blockbite-ui__checkbox mx-1 flex items-center gap-2\" }, /* @__PURE__ */ React.createElement(\n fe,\n {\n label: e,\n help: t,\n checked: n,\n onChange: s\n }\n ));\n}, je = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523Z\",\n fill: \"currentColor\"\n }\n )\n), ze = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.50012 1C7.22398 1 7.00012 1.22386 7.00012 1.5V13.5C7.00012 13.7761 7.22398 14 7.50012 14C7.77626 14 8.00012 13.7761 8.00012 13.5V1.5C8.00012 1.22386 7.77626 1 7.50012 1ZM3.31812 5.18161C3.14239 5.00587 2.85746 5.00587 2.68173 5.18161L0.681729 7.18161C0.505993 7.35734 0.505993 7.64227 0.681729 7.818L2.68173 9.818C2.85746 9.99374 3.14239 9.99374 3.31812 9.818C3.49386 9.64227 3.49386 9.35734 3.31812 9.18161L2.08632 7.9498H5.50017C5.7487 7.9498 5.95017 7.74833 5.95017 7.4998C5.95017 7.25128 5.7487 7.0498 5.50017 7.0498H2.08632L3.31812 5.818C3.49386 5.64227 3.49386 5.35734 3.31812 5.18161ZM11.6817 5.18161C11.506 5.35734 11.506 5.64227 11.6817 5.818L12.9135 7.0498H9.50017C9.25164 7.0498 9.05017 7.25128 9.05017 7.4998C9.05017 7.74833 9.25164 7.9498 9.50017 7.9498H12.9135L11.6817 9.18161C11.506 9.35734 11.506 9.64227 11.6817 9.818C11.8575 9.99374 12.1424 9.99374 12.3181 9.818L14.3181 7.818C14.4939 7.64227 14.4939 7.35734 14.3181 7.18161L12.3181 5.18161C12.1424 5.00587 11.8575 5.00587 11.6817 5.18161Z\",\n fill: \"currentColor\"\n }\n )\n), Ve = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184Z\",\n fill: \"currentColor\"\n }\n )\n), Ie = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 3.25V10.75C0 11.4404 0.559644 12 1.25 12H5.07341L4.82991 13.2986C4.76645 13.6371 5.02612 13.95 5.37049 13.95H9.62951C9.97389 13.95 10.2336 13.6371 10.1701 13.2986L9.92659 12H13.75C14.4404 12 15 11.4404 15 10.75V3.25C15 2.55964 14.4404 2 13.75 2H1.25C0.559643 2 0 2.55964 0 3.25ZM1.25 3H13.75C13.8881 3 14 3.11193 14 3.25V10.75C14 10.8881 13.8881 11 13.75 11H1.25C1.11193 11 1 10.8881 1 10.75V3.25C1 3.11193 1.11193 3 1.25 3ZM5.98909 12L5.79222 13.05H9.20778L9.01091 12H5.98909Z\",\n fill: \"currentColor\"\n }\n )\n), Ze = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M1 2.5V12.5C1 13.3284 1.67157 14 2.5 14H12.5C13.3284 14 14 13.3284 14 12.5V2.5C14 1.67157 13.3284 1 12.5 1H2.5C1.67157 1 1 1.67157 1 2.5ZM8 2V7H13V2.5C13 2.22386 12.7761 2 12.5 2H8ZM8 8V13H12.5C12.7761 13 13 12.7761 13 12.5V8H8ZM7 2H2.5C2.22386 2 2 2.22386 2 2.5V7H7V2ZM2 12.5C2 12.7761 2.22386 13 2.5 13H7V8H2V12.5Z\",\n fill: \"currentColor\"\n }\n )\n), De = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M11.1465 1.14645L3.71455 8.57836C3.62459 8.66832 3.55263 8.77461 3.50251 8.89155L2.04044 12.303C1.9599 12.491 2.00189 12.709 2.14646 12.8536C2.29103 12.9981 2.50905 13.0401 2.69697 12.9596L6.10847 11.4975C6.2254 11.4474 6.3317 11.3754 6.42166 11.2855L13.8536 3.85355C14.0488 3.65829 14.0488 3.34171 13.8536 3.14645L11.8536 1.14645C11.6583 0.951184 11.3417 0.951184 11.1465 1.14645ZM11.5 2.20711L12.7929 3.5L5.71455 10.5784L4.21924 11.2192L3.78081 10.7808L4.42166 9.28547L11.5 2.20711Z\",\n fill: \"currentColor\"\n }\n )\n), Ae = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\"circle\", { cx: 4.85355, cy: 4.5, r: 1.5, fill: \"currentColor\" }),\n /* @__PURE__ */ React.createElement(\"circle\", { cx: 9.85355, cy: 10.5, r: 1.5, fill: \"currentColor\" }),\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M3 11.6464L11 3.64642\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\"\n }\n )\n), Fe = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M7.5 2.25C7.22386 2.25 7 2.47386 7 2.75V7H2.75C2.47386 7 2.25 7.22386 2.25 7.5C2.25 7.77614 2.47386 8 2.75 8H7V12.25C7 12.5261 7.22386 12.75 7.5 12.75C7.77614 12.75 8 12.5261 8 12.25V8H12.25C12.5261 8 12.75 7.77614 12.75 7.5C12.75 7.22386 12.5261 7 12.25 7H8V2.75C8 2.47386 7.77614 2.25 7.5 2.25Z\",\n fill: \"currentColor\"\n }\n )\n), Ge = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.49988 10.2504C7.1516 10.2504 6.0299 9.28026 5.79473 7.99997H0.5C0.223858 7.99997 0 7.77611 0 7.49997C0 7.22383 0.223858 6.99997 0.5 6.99997H5.7947C6.0298 5.71959 7.15154 4.74939 8.49988 4.74939C9.84822 4.74939 10.97 5.71959 11.2051 6.99997H14.5C14.7761 6.99997 15 7.22383 15 7.49997C15 7.77611 14.7761 7.99997 14.5 7.99997H11.205C10.9699 9.28026 9.84816 10.2504 8.49988 10.2504ZM8.49988 9.30038C7.50549 9.30038 6.69938 8.49427 6.69938 7.49988C6.69938 6.5055 7.50549 5.69939 8.49988 5.69939C9.49426 5.69939 10.3004 6.5055 10.3004 7.49988C10.3004 8.49427 9.49426 9.30038 8.49988 9.30038Z\",\n fill: \"currentColor\"\n }\n )\n), Ue = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n d: \"M4 5.33333C4.4 3.77778 5.4 3 7 3C9.4 3 9.7 4.75 10.9 5.04167C11.7 5.23611 12.4 4.94444 13 4.16667C12.6 5.72222 11.6 6.5 10 6.5C7.6 6.5 7.3 4.75 6.1 4.45833C5.3 4.26389 4.6 4.55556 4 5.33333ZM1 8.83333C1.4 7.27778 2.4 6.5 4 6.5C6.4 6.5 6.7 8.25 7.9 8.54167C8.7 8.73611 9.4 8.44444 10 7.66667C9.6 9.22222 8.6 10 7 10C4.6 10 4.3 8.25 3.1 7.95833C2.3 7.76389 1.6 8.05556 1 8.83333Z\",\n fill: \"currentColor\"\n }\n )\n), We = (e) => /* @__PURE__ */ React.createElement(\n \"svg\",\n {\n width: e.width || \"1em\",\n height: e.height || \"1em\",\n viewBox: \"0 0 15 15\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n role: \"img\",\n ...e\n },\n /* @__PURE__ */ React.createElement(\n \"path\",\n {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 1.5C5 1.77614 5.22386 2 5.5 2H9.5C9.77614 2 10 1.77614 10 1.5C10 1.22386 9.77614 1 9.5 1H5.5C5.22386 1 5 1.22386 5 1.5ZM3.5 3H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H11V12C11 12.5523 10.5523 13 10 13H5C4.44772 13 4 12.5523 4 12V4L3.5 4C3.22386 4 3 3.77614 3 3.5C3 3.22386 3.22386 3 3.5 3ZM10 4V12H5V4H10Z\",\n fill: \"currentColor\"\n }\n )\n), ce = z(\n ({\n onClick: e,\n onChange: t,\n className: a,\n value: n,\n children: s,\n inputClassName: l,\n readOnly: c,\n placeholder: r,\n onBlur: m,\n type: i = \"text\",\n label: d,\n helper: p = \"\",\n ...o\n }, u) => {\n const R = `text-control-${Math.random().toString(36).substring(2, 15)}`;\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\"flex items-center p-0\", a),\n ...o\n },\n d ? /* @__PURE__ */ React.createElement(\"label\", { htmlFor: R, className: \"text-primary !m-0 !mb-0 !mr-2\" }, d) : null,\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n id: R,\n className: b(\n \"components-text-control__input\",\n l\n ),\n type: i,\n value: n,\n placeholder: r,\n onFocus: () => e && e(),\n onBlur: (v) => {\n e && e(), m && m(v.target.value);\n },\n onChange: (v) => t && t(v.target.value),\n readOnly: c,\n ref: u\n }\n ),\n s,\n p && /* @__PURE__ */ React.createElement(\"p\", { className: \"text-primary !m-0 !mb-0 text-xs\" }, p)\n );\n }\n);\nce.displayName = \"TextControl\";\nconst Ot = ({\n data: e,\n active: t,\n setActive: a,\n onCreate: n,\n onDelete: s,\n onUpdate: l,\n onSwitch: c,\n renderItemActions: r,\n addons: m,\n className: i = \"\",\n footerSlot: d,\n footerSlotClassName: p = \"\"\n}) => {\n const [o, u] = f({\n id: \"\",\n name: \"\"\n }), [R, v] = f(!1), B = L(null), T = () => {\n n();\n }, me = () => {\n if (!t || e.length === 0) return;\n const C = e.filter((I) => I.id !== (t == null ? void 0 : t.id)), V = e.findIndex((I) => I.id === (t == null ? void 0 : t.id)), de = C[V] || C[0];\n s(t == null ? void 0 : t.id), a(de);\n }, ue = (C) => {\n v(!0), o.id && l(o.id, { name: C }), setTimeout(() => {\n u({ id: \"\", name: \"\" }), v(!1);\n }, 500);\n };\n return /* @__PURE__ */ React.createElement(E, { important: !0, className: i }, /* @__PURE__ */ React.createElement(\"ul\", { className: \"h-[calc(100%-80px)] divide-y overflow-auto\" }, m, e.length > 0 && /* @__PURE__ */ React.createElement(\"li\", null, /* @__PURE__ */ React.createElement(\"ul\", { className: \"divide-y divide-border border-b border-border\" }, e.map((C) => /* @__PURE__ */ React.createElement(\n \"li\",\n {\n key: `data__${C.id}`,\n className: b(\n \"relative !mb-0 flex items-center justify-between gap-1 bg-opacity-50 hover:bg-easy\",\n {\n \"bg-easy\": C.id === (t == null ? void 0 : t.id)\n }\n )\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"flex-1 relative\" }, /* @__PURE__ */ React.createElement(\n \"button\",\n {\n className: \"text-gray-medium w-full truncate px-3 py-2 text-left text-sm/6 font-semibold hover:text-wordpress\",\n onClick: () => {\n c(t == null ? void 0 : t.id, { ...t }), a(C);\n },\n onDoubleClick: () => {\n u({ id: C.id, name: C.name || \"\" });\n }\n },\n R && o.id === C.id ? /* @__PURE__ */ React.createElement(\"span\", { className: \"animate-pulse text-gray-medium\" }, o.name) : /* @__PURE__ */ React.createElement(\"span\", { className: \"text-gray-medium\" }, C.name || \"Untitled\")\n ), o.id === C.id && !R && /* @__PURE__ */ React.createElement(\n ce,\n {\n className: \"absolute left-1 top-0 w-[calc(100%-.5rem)] h-full\",\n inputClassName: \"w-full\",\n defaultValue: o.name,\n onChange: (V) => u({ ...o, name: V }),\n ref: B,\n onBlur: ue\n }\n )),\n r && /* @__PURE__ */ React.createElement(\"div\", { className: \"flex gap-1 pr-1\" }, r(C))\n ))))), /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\n \"flex flex-wrap justify-center gap-2 p-2\",\n p\n )\n },\n d,\n /* @__PURE__ */ React.createElement(\n h,\n {\n onClick: T,\n icon: /* @__PURE__ */ React.createElement(Fe, { className: \"h-4 w-4\" }),\n variant: \"tertiary\",\n size: \"compact\"\n },\n \"Add\"\n ),\n /* @__PURE__ */ React.createElement(\n h,\n {\n onClick: me,\n icon: /* @__PURE__ */ React.createElement(We, { className: \"h-4 w-4\" }),\n variant: \"tertiary\",\n size: \"compact\",\n disabled: !t || e.length === 0\n },\n \"Remove\"\n )\n ));\n}, $t = ({\n duration: e = 3e3,\n className: t,\n children: a,\n show: n,\n message: s\n}) => {\n const [l, c] = f(!1), r = L(!1), m = L(null);\n return g(() => {\n r.current = !0;\n }, []), g(() => {\n if (r.current)\n return n && (c(!0), m.current = setTimeout(() => {\n c(!1);\n }, e)), () => {\n m.current && clearTimeout(m.current);\n };\n }, [n, e]), l ? /* @__PURE__ */ React.createElement(\n E,\n {\n important: !0,\n className: b(\"bb-ui__disappearing-message\", t)\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"bb-ui__disappearing-message__content\" }, s ?? a)\n ) : null;\n}, Ke = ({\n label: e,\n className: t,\n value: a,\n defaultIcon: n = je,\n size: s = \"medium\",\n onPressedChange: l,\n options: c,\n ...r\n}) => {\n var o;\n const [m, i] = f(null);\n g(() => {\n i(a);\n }, [a]);\n const d = [\n ...c.map((u) => ({\n icon: u.icon,\n label: u.label,\n title: u.label,\n value: u.value,\n onClick: () => {\n i(u.value), l(u.value);\n }\n })),\n {\n icon: /* @__PURE__ */ React.createElement(_, { icon: n }),\n title: \"Reset\",\n value: \"reset\",\n onClick: () => {\n i(\"reset\"), l(\"reset\");\n }\n }\n ];\n let p = \"1em\";\n return s === \"medium\" ? p = \"1.5em\" : s === \"large\" && (p = \"2em\"), /* @__PURE__ */ React.createElement(\n be,\n {\n controls: d,\n className: b(\"blockbite-ui__dropdown-picker\", t),\n icon: ((o = c.find((u) => u.value === m)) == null ? void 0 : o.icon) || /* @__PURE__ */ React.createElement(_, { width: p, height: p, icon: n }),\n label: e || \"Select\",\n ...r\n }\n );\n};\nfunction jt({\n icon: e,\n title: t,\n description: a,\n children: n = null,\n ...s\n}) {\n return /* @__PURE__ */ React.createElement(\"div\", { ...s }, /* @__PURE__ */ React.createElement(\"div\", { className: \"flex h-full w-full flex-col items-center justify-center text-center !font-sans\" }, /* @__PURE__ */ React.createElement(\"div\", { className: \"max-w-sm\" }, e && /* @__PURE__ */ React.createElement(\"div\", { className: \"mx-auto !text-gray-400\" }, e), /* @__PURE__ */ React.createElement(\"h3\", { className: \"text-gray-medium mt-2 !font-sans text-sm font-medium\" }, t), /* @__PURE__ */ React.createElement(\"p\", { className: \"mt-1 !font-sans text-sm !text-gray-500\" }, a), n && /* @__PURE__ */ React.createElement(\"div\", { className: \"mt-4\" }, n))));\n}\nfunction zt({\n children: e\n}) {\n const t = L(null), [a, n] = f({ x: 100, y: 100 }), [s, l] = f(!1), [c, r] = f({ x: 0, y: 0 });\n g(() => {\n const i = (p) => {\n s && n({\n x: p.clientX - c.x,\n y: p.clientY - c.y\n });\n }, d = () => l(!1);\n return window.addEventListener(\"mousemove\", i), window.addEventListener(\"mouseup\", d), () => {\n window.removeEventListener(\"mousemove\", i), window.removeEventListener(\"mouseup\", d);\n };\n }, [s, c]);\n const m = (i) => {\n const d = t.current.getBoundingClientRect();\n r({ x: i.clientX - d.left, y: i.clientY - d.top }), l(!0);\n };\n return /* @__PURE__ */ React.createElement(\"div\", null, /* @__PURE__ */ React.createElement(\n \"div\",\n {\n ref: t,\n className: \"fixed bg-white shadow-xl rounded-2xl p-4 w-[400px] h-[550px] z-[9999]\",\n style: { left: a.x, top: a.y }\n },\n e,\n /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: \"absolute top-1 right-1 cursor-move w-5 h-5 bg-gray-300 rounded\",\n onMouseDown: m\n }\n )\n ));\n}\nconst Vt = ({\n value: e,\n onValueChange: t,\n url: a\n}) => {\n const [n, s] = f({\n x: 0.5,\n y: 0.5\n });\n return g(() => {\n if (e && e.includes(\"%\")) {\n const [l, c] = e.replace(\"[\", \"\").replace(\"%]\", \"\").split(\"_\").map((r) => parseFloat(r) / 100);\n s({ x: l, y: c });\n }\n }, [e]), g(() => {\n t(\n `[${(n.x * 100).toFixed(2)}%_${(n.y * 100).toFixed(2)}%]`\n );\n }, [n]), /* @__PURE__ */ React.createElement(E, { className: \"relative flex flex-col\" }, /* @__PURE__ */ React.createElement(\n ge,\n {\n url: a,\n value: n,\n onDrag: s,\n onChange: s\n }\n ));\n};\nfunction It(e) {\n const [t, a] = f(\"\"), [n, s] = f([]), [l, c] = f({\n url: \"\",\n title: \"\"\n });\n return g(() => {\n t !== \"\" && (s(null), ke({\n path: `/blockbite/v1/block-helpers/get-links/${t}`\n }).then(\n (r) => {\n r != null && r.length ? s([...r]) : s([]);\n }\n ));\n }, [t]), g(() => {\n l.url !== \"\" && e.parentCallback(l);\n }, [l]), /* @__PURE__ */ React.createElement(E, { className: \"blockbite--editor-linkwrap\" }, /* @__PURE__ */ React.createElement(\n U,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n label: N(\"Search link\", \"blockbitelinks\"),\n value: t,\n placeholder: \"Example: About\",\n onChange: (r) => a(r),\n help: N(\"Type a post, page, title\", \"blockbitelinks\")\n }\n ), t ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--editor-linklist\" }, /* @__PURE__ */ React.createElement(\n qe,\n {\n links: n,\n onActiveLink: (r) => [\n c({ ...r }),\n a(\"\")\n ]\n }\n )) : null);\n}\nfunction qe({ links: e, onActiveLink: t }) {\n if (e === null)\n return /* @__PURE__ */ React.createElement(\"p\", null, \"Loading...\");\n if (e.length === 0)\n return /* @__PURE__ */ React.createElement(\"p\", null, \"No Results\");\n const a = e.map((n) => /* @__PURE__ */ React.createElement(E, { key: n.id }, /* @__PURE__ */ React.createElement(\n \"span\",\n {\n className: \"blockbite--editor-link\",\n onClick: () => t(n)\n },\n /* @__PURE__ */ React.createElement(\"span\", null, n.title),\n /* @__PURE__ */ React.createElement(\"span\", { className: \"blockbite--preview-link\" }, n.url),\n /* @__PURE__ */ React.createElement(\"span\", { className: \"blockbite--preview-link\" }, n.post_type)\n )));\n return /* @__PURE__ */ React.createElement(React.Fragment, null, a);\n}\nfunction Zt({ mediaProps: e, mediaCallback: t }) {\n const a = [\n \"image\",\n \"video\",\n \"image/svg+xml\",\n \"svg\",\n \"text/plain\",\n \"application/json\"\n ], [n, s] = f({\n id: null,\n url: \"\",\n sizes: [],\n alt: \"\",\n type: \"\",\n width: 0,\n height: 0\n });\n g(() => {\n e && s({ ...e });\n }, [e]);\n const l = () => {\n t({ ...{\n mediaId: 0,\n mediaUrl: \"\"\n } });\n }, c = (r) => {\n const m = {\n thumbnail: null,\n medium: null,\n large: null\n };\n r != null && r.sizes && Object.keys(r.sizes).map((d) => {\n const p = r.sizes[d];\n return (d === \"thumbnail\" || p.width < 768 || p.height < 768) && (m.thumbnail = p.url), (d === \"medium\" || p.width > 1024 && p.width < 1024 || p.height < 1536 && p.height > 1536) && (m.medium = p.url), (d === \"large\" || p.width > 1536 || p.height > 1536) && (m.large = p.url), null;\n }), r.url.endsWith(\".json\") && (r.type = \"lottie\"), r.url.endsWith(\".svg\") && (r.type = \"svg\");\n const i = {\n id: r.id,\n url: r.url,\n sizes: m,\n alt: r.alt,\n type: r.type,\n width: r.width,\n height: r.height\n };\n t({ ...i });\n };\n return /* @__PURE__ */ React.createElement(ve, null, n.id !== null && /* @__PURE__ */ React.createElement(Z, null, /* @__PURE__ */ React.createElement(\n q,\n {\n onSelect: c,\n value: n.id,\n allowedTypes: a,\n render: ({ open: r }) => /* @__PURE__ */ React.createElement(\n h,\n {\n className: n.id === 0 ? \"editor-post-featured-image__toggle\" : \"editor-post-featured-image__preview\",\n onClick: r\n },\n n.id === 0 && N(\"Choose Media\", \"blockbite\"),\n n.id && n.type === \"image\" ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--editor-visual-image\" }, /* @__PURE__ */ React.createElement(\n \"img\",\n {\n alt: n.alt ? n.alt : N(\"Image\", \"blockbite\"),\n src: n.url\n }\n )) : \"Add media\"\n )\n }\n )), n.id !== 0 && /* @__PURE__ */ React.createElement(Z, null, /* @__PURE__ */ React.createElement(\n q,\n {\n title: N(\"Replace media\", \"blockbite\"),\n value: n.id,\n onSelect: c,\n allowedTypes: a,\n render: ({ open: r }) => /* @__PURE__ */ React.createElement(h, { onClick: r }, N(\"Replace media\", \"blockbite\"))\n }\n )), n.id !== 0 && /* @__PURE__ */ React.createElement(Z, null, /* @__PURE__ */ React.createElement(h, { onClick: () => l(), isDestructive: !0 }, N(\"Remove media\", \"blockbite\"))));\n}\nconst Xe = ({\n children: e,\n className: t,\n position: a,\n visible: n,\n onClick: s,\n onVisibleChange: l\n}) => {\n const [c, r] = f(!!n);\n g(() => {\n n !== void 0 && r(n);\n }, [n]);\n const m = () => {\n const i = !c;\n r(i), l && l(i);\n };\n return /* @__PURE__ */ React.createElement(React.Fragment, null, c && /* @__PURE__ */ React.createElement(\n Re,\n {\n position: a,\n className: \"blockbite-ui__popover\",\n onClick: s,\n onFocusOutside: () => {\n r(!1), l && l(!1);\n }\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: t }, /* @__PURE__ */ React.createElement(\"div\", { className: \"relative h-full w-full p-4\" }, /* @__PURE__ */ React.createElement(\n h,\n {\n onClick: m,\n size: \"small\",\n className: \"close-button absolute right-0 top-0\"\n },\n /* @__PURE__ */ React.createElement(Ve, null)\n ), e))\n ));\n}, Ye = ({\n value: e,\n label: t,\n min: a = 0,\n max: n = 2e3,\n withInputField: s = !1,\n onValueChange: l,\n gridMode: c = !1,\n showTooltip: r = !1,\n ...m\n}) => {\n const [i] = f(0), [d, p] = f(0);\n g(() => {\n p(Math.round(parseInt(e) / (c ? 16 : 1)));\n }, [e]);\n function o(u) {\n const R = u * (c ? 16 : 1);\n l(R.toString());\n }\n return /* @__PURE__ */ React.createElement(E, { className: \"flex min-w-[240px] flex-col\" }, /* @__PURE__ */ React.createElement(\n Ee,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n label: t,\n value: d,\n min: a,\n max: n,\n showTooltip: r,\n withInputField: s,\n onChange: (u) => {\n p(u), o(u);\n },\n resetFallbackValue: i,\n ...m\n }\n ), /* @__PURE__ */ React.createElement(\"span\", null, c ? `${d * 16}px` : null, \" \"));\n}, Dt = ({\n unit: e,\n value: t,\n onValueChange: a,\n onUnitChange: n,\n inputClassName: s = \"\"\n}) => {\n const [l, c] = f(!1), [r, m] = f([]), [i, d] = f(t);\n g(() => {\n !l && e === \"arbitrary\" && d(t);\n }, [l]);\n const p = (u) => {\n var R, v, B;\n if (u !== \"arbitrary\" && ((B = (v = (R = bb == null ? void 0 : bb.codex) == null ? void 0 : R.units) == null ? void 0 : v.spacing) != null && B[u])) {\n const T = bb.codex.units.spacing[u];\n m(\n Array.isArray(T) ? T : Object.keys(T)\n );\n } else\n m([]);\n c(!0);\n }, o = [\n {\n icon: /* @__PURE__ */ React.createElement(Ue, null),\n label: \"Tailwind CSS Units\",\n value: \"native\"\n },\n { icon: /* @__PURE__ */ React.createElement(Ae, null), label: \"Percentage Units\", value: \"percent\" },\n { icon: /* @__PURE__ */ React.createElement(Ze, null), label: \"Grid Units\", value: \"grid\" },\n { icon: /* @__PURE__ */ React.createElement(Ie, null), label: \"Screen Units\", value: \"screen\" },\n { icon: /* @__PURE__ */ React.createElement(Ge, null), label: \"Pixel Units\", value: \"arbitrary\" },\n { icon: /* @__PURE__ */ React.createElement(ze, null), label: \"Fluid Units\", value: \"fluid\" }\n ];\n return /* @__PURE__ */ React.createElement(\"div\", { className: \"relative flex flex-col items-baseline\" }, /* @__PURE__ */ React.createElement(\n le,\n {\n __next40pxDefaultSize: !0,\n className: s,\n value: e === \"grid\" ? t.replace(\"b_\", \"\") : t,\n onClick: () => e !== \"arbitrary\" && p(e),\n onChange: a,\n readOnly: e !== \"arbitrary\",\n autoComplete: \"off\",\n suffix: /* @__PURE__ */ React.createElement(ne, null, /* @__PURE__ */ React.createElement(\n Xe,\n {\n visible: l,\n position: \"bottom left\",\n className: \"w-[300px] bg-white shadow-sm\",\n onVisibleChange: c\n },\n e === \"arbitrary\" ? /* @__PURE__ */ React.createElement(\n Ye,\n {\n value: t,\n label: \"Pixel Value\",\n min: 0,\n max: 100,\n gridMode: !0,\n showTooltip: !1,\n allowReset: !0,\n resetFallbackValue: isNaN(i.toString()) ? 0 : Number(i) / 16,\n onValueChange: a\n }\n ) : /* @__PURE__ */ React.createElement(\n Oe,\n {\n className: \"mt-4\",\n options: r.map((u) => ({\n value: u,\n label: e === \"grid\" ? u.toString().replace(\"b_\", \"\") : u,\n onClick: () => {\n a(u);\n }\n })),\n size: \"small\",\n value: (t == null ? void 0 : t.toString()) || \"\",\n onPressedChange: a\n }\n )\n ), /* @__PURE__ */ React.createElement(\n Ke,\n {\n value: e,\n options: o,\n toggleProps: {\n className: \"!p-0 !min-w-0 !h-6 w-6\"\n },\n onPressedChange: (u) => {\n u === \"reset\" ? (a(\"\"), c(!1)) : (n(u), p(u));\n }\n }\n ))\n }\n ));\n}, se = y(null), oe = () => {\n const e = W(se);\n if (!e)\n throw new Error(\"useModalContext must be used within a ModalProvider\");\n return e;\n}, At = ({\n children: e,\n defaultOpen: t,\n onOpenChange: a,\n title: n,\n className: s\n}) => {\n const [l, c] = f(!1);\n g(() => {\n c(t);\n }, [t]);\n const r = () => c(!0), m = () => c(!1);\n return g(() => {\n a(l);\n }, [l, a]), /* @__PURE__ */ React.createElement(se.Provider, { value: { closeModal: m, openModal: r } }, P.map(e, (i) => H(i) && i.type === tt ? i : null), l && /* @__PURE__ */ React.createElement(\n he,\n {\n className: b(\"blockbite-ui__modal\", s),\n onRequestClose: m,\n title: n\n },\n /* @__PURE__ */ React.createElement(\"div\", { className: \"relative\" }, P.map(e, (i) => H(i) && i.type === Je ? i : null), P.map(e, (i) => H(i) && i.type === et ? i : null), P.map(e, (i) => H(i) && i.type === Qe ? i : null))\n ));\n}, Je = ({ children: e, className: t = \"\", ...a }) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n t\n ),\n ...a\n },\n e\n), Qe = ({ children: e, className: t = \"\", ...a }) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\n \"border-border fixed bottom-0 left-0 right-0 flex h-[4rem] flex-row items-center justify-end gap-2 border-t bg-white px-4\",\n t\n ),\n ...a\n },\n e\n), et = ({ children: e, className: t = \"\", ...a }) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: b(\"text-gray-medium px-4 pb-4 text-sm\", t),\n ...a\n },\n e\n), Ft = ({ children: e }) => {\n const { closeModal: t } = oe();\n return /* @__PURE__ */ React.createElement(\"div\", { onClick: t, className: \"cursor-pointer\" }, e);\n}, tt = ({ children: e }) => {\n const { openModal: t } = oe();\n return /* @__PURE__ */ React.createElement(\"div\", { onClick: t, className: \"cursor-pointer\" }, e);\n};\nfunction at(e, t) {\n Array.from(e.styleSheets).forEach((a) => {\n try {\n if (a.cssRules) {\n const n = t.createElement(\"style\");\n Array.from(a.cssRules).forEach((s) => {\n n.appendChild(t.createTextNode(s.cssText));\n }), t.head.appendChild(n);\n } else if (a.href) {\n const n = t.createElement(\"link\");\n n.rel = \"stylesheet\", n.href = a.href, t.head.appendChild(n);\n }\n } catch (n) {\n if (a.href) {\n const s = t.createElement(\"link\");\n s.rel = \"stylesheet\", s.href = a.href, t.head.appendChild(s);\n } else\n console.warn(\"Error copying styles:\", n);\n }\n });\n}\nconst Gt = ({\n windowInstance: e,\n onClose: t,\n children: a\n}) => {\n const n = _e(() => document.createElement(\"div\"), []);\n return g(() => {\n const s = e;\n s.document.body.innerHTML = \"\", s.document.body.appendChild(n), at(document, s.document), s.document.title = document.title || \"Blockbite Editor\";\n const l = () => {\n setTimeout(t, 100);\n };\n return s.addEventListener(\"beforeunload\", l), () => {\n s.removeEventListener(\"beforeunload\", l);\n };\n }, [e]), re(a, n);\n}, Ut = ({\n children: e,\n status: t = \"success\",\n className: a\n}) => {\n const [n, s] = f(!0);\n return /* @__PURE__ */ React.createElement(E, { onClick: () => s(!1) }, n && /* @__PURE__ */ React.createElement(\n Ce,\n {\n status: t,\n className: b(a),\n onRemove: () => s(!1)\n },\n e\n ));\n}, Wt = ({\n label: e,\n value: t,\n onChange: a,\n ...n\n}) => {\n const [s, l] = f(!1);\n return /* @__PURE__ */ React.createElement(\n le,\n {\n label: e,\n value: t,\n type: s ? \"text\" : \"password\",\n suffix: /* @__PURE__ */ React.createElement(ne, { variant: \"control\" }, /* @__PURE__ */ React.createElement(\n h,\n {\n icon: /* @__PURE__ */ React.createElement(Se, { viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" }, /* @__PURE__ */ React.createElement(\n Me,\n {\n d: s ? \"M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z\" : \"M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z\"\n }\n )),\n label: \"Show password\",\n onClick: () => l((c) => !c),\n size: \"small\"\n }\n )),\n onChange: a,\n ...n\n }\n );\n};\nfunction lt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar Y = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar J;\nfunction nt() {\n return J || (J = 1, function(e) {\n (function() {\n var t = {}.hasOwnProperty;\n function a() {\n for (var l = \"\", c = 0; c < arguments.length; c++) {\n var r = arguments[c];\n r && (l = s(l, n(r)));\n }\n return l;\n }\n function n(l) {\n if (typeof l == \"string\" || typeof l == \"number\")\n return l;\n if (typeof l != \"object\")\n return \"\";\n if (Array.isArray(l))\n return a.apply(null, l);\n if (l.toString !== Object.prototype.toString && !l.toString.toString().includes(\"[native code]\"))\n return l.toString();\n var c = \"\";\n for (var r in l)\n t.call(l, r) && l[r] && (c = s(c, r));\n return c;\n }\n function s(l, c) {\n return c ? l ? l + \" \" + c : l + c : l;\n }\n e.exports ? (a.default = a, e.exports = a) : window.classNames = a;\n })();\n }(Y)), Y.exports;\n}\nvar rt = nt();\nconst k = /* @__PURE__ */ lt(rt), A = ({ icon: e, ...t }) => e ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--icon\" }, /* @__PURE__ */ React.createElement(e, { ...t })) : null;\nx(\n ({\n children: e,\n className: t,\n value: a,\n variant: n = \"secondary\",\n pressed: s,\n onPressedChange: l,\n icon: c,\n size: r = \"compact\",\n display: m = \"auto\",\n label: i\n }) => {\n const d = w(() => {\n l(a);\n }, [l, a]);\n return /* @__PURE__ */ React.createElement(\n h,\n {\n \"aria-label\": i,\n className: k(t, \"blockbite-ui__button--default\"),\n value: a,\n size: r,\n label: i,\n variant: n,\n showTooltip: !0,\n isPressed: s,\n onClick: d\n },\n c && /* @__PURE__ */ React.createElement(A, { icon: c }),\n m !== \"icon\" ? e : null,\n i && !e && m !== \"icon\" ? /* @__PURE__ */ React.createElement(\"span\", null, i) : null\n );\n }\n);\nx(\n ({\n className: e,\n value: t,\n toggle: a = !0,\n display: n = \"auto\",\n options: s,\n size: l = \"compact\",\n tabs: c = !1,\n variant: r = \"secondary\",\n stretch: m = !1,\n onPressedChange: i\n }) => {\n const d = w(\n (o) => {\n const u = a && t === o ? \"\" : o;\n i == null || i(u);\n },\n [i, a, t]\n ), p = (o) => n === \"icon\" && o != null && o.icon ? /* @__PURE__ */ React.createElement(A, { icon: o.icon }) : n === \"label\" ? /* @__PURE__ */ React.createElement(\"span\", null, o.label) : /* @__PURE__ */ React.createElement(\"span\", { className: \"flex items-center justify-center gap-1\" }, o.icon && /* @__PURE__ */ React.createElement(A, { icon: o.icon }), /* @__PURE__ */ React.createElement(\"span\", null, o.label));\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: k(\n \"blockbite-ui__button-group flex flex-wrap gap-1\",\n e,\n c ? \"blockbite-ui__button-group--tabs\" : \"\"\n )\n },\n s.map((o, u) => /* @__PURE__ */ React.createElement(\n h,\n {\n key: `ButtonToggleGroup__${o.value}__${o.label}__${u}`,\n className: k(\"blockbite-ui__button--default\", {\n grow: m,\n \"justify-center\": m\n }),\n \"aria-label\": o.label,\n showTooltip: !0,\n value: o.value,\n size: l,\n label: (o == null ? void 0 : o.tooltip) || o.label,\n variant: r,\n isPressed: t === o.value,\n onClick: () => d(o.value)\n },\n p(o),\n o.children && o.children\n ))\n );\n }\n);\nconst ie = ({\n children: e,\n className: t,\n important: a = !1,\n onClick: n\n}) => a ? /* @__PURE__ */ React.createElement(\"div\", { onClick: n }, /* @__PURE__ */ React.createElement(\"div\", { className: t }, e)) : /* @__PURE__ */ React.createElement(\"div\", { className: t }, e), ct = z(\n ({\n onClick: e,\n onChange: t,\n className: a,\n value: n,\n children: s,\n inputClassName: l,\n readOnly: c,\n placeholder: r,\n onBlur: m,\n type: i = \"text\",\n label: d,\n helper: p = \"\",\n ...o\n }, u) => {\n const R = `text-control-${Math.random().toString(36).substring(2, 15)}`;\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: k(\"flex items-center p-0\", a),\n ...o\n },\n d ? /* @__PURE__ */ React.createElement(\"label\", { htmlFor: R, className: \"text-primary !m-0 !mb-0 !mr-2\" }, d) : null,\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n id: R,\n className: k(\n \"components-text-control__input\",\n l\n ),\n type: i,\n value: n,\n placeholder: r,\n onFocus: () => e && e(),\n onBlur: (v) => {\n e && e(), m && m(v.target.value);\n },\n onChange: (v) => t && t(v.target.value),\n readOnly: c,\n ref: u\n }\n ),\n s,\n p && /* @__PURE__ */ React.createElement(\"p\", { className: \"text-primary !m-0 !mb-0 text-xs\" }, p)\n );\n }\n);\nct.displayName = \"TextControl\";\ny(null);\nfunction st(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar Q = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar ee;\nfunction ot() {\n return ee || (ee = 1, function(e) {\n (function() {\n var t = {}.hasOwnProperty;\n function a() {\n for (var l = \"\", c = 0; c < arguments.length; c++) {\n var r = arguments[c];\n r && (l = s(l, n(r)));\n }\n return l;\n }\n function n(l) {\n if (typeof l == \"string\" || typeof l == \"number\")\n return l;\n if (typeof l != \"object\")\n return \"\";\n if (Array.isArray(l))\n return a.apply(null, l);\n if (l.toString !== Object.prototype.toString && !l.toString.toString().includes(\"[native code]\"))\n return l.toString();\n var c = \"\";\n for (var r in l)\n t.call(l, r) && l[r] && (c = s(c, r));\n return c;\n }\n function s(l, c) {\n return c ? l ? l + \" \" + c : l + c : l;\n }\n e.exports ? (a.default = a, e.exports = a) : window.classNames = a;\n })();\n }(Q)), Q.exports;\n}\nvar it = ot();\nconst S = /* @__PURE__ */ st(it), F = ({ icon: e, ...t }) => e ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--icon\" }, /* @__PURE__ */ React.createElement(e, { ...t })) : null;\nx(\n ({\n children: e,\n className: t,\n value: a,\n variant: n = \"secondary\",\n pressed: s,\n onPressedChange: l,\n icon: c,\n size: r = \"compact\",\n display: m = \"auto\",\n label: i\n }) => {\n const d = w(() => {\n l(a);\n }, [l, a]);\n return /* @__PURE__ */ React.createElement(\n h,\n {\n \"aria-label\": i,\n className: S(t, \"blockbite-ui__button--default\"),\n value: a,\n size: r,\n label: i,\n variant: n,\n showTooltip: !0,\n isPressed: s,\n onClick: d\n },\n c && /* @__PURE__ */ React.createElement(F, { icon: c }),\n m !== \"icon\" ? e : null,\n i && !e && m !== \"icon\" ? /* @__PURE__ */ React.createElement(\"span\", null, i) : null\n );\n }\n);\nx(\n ({\n className: e,\n value: t,\n toggle: a = !0,\n display: n = \"auto\",\n options: s,\n size: l = \"compact\",\n tabs: c = !1,\n variant: r = \"secondary\",\n stretch: m = !1,\n onPressedChange: i\n }) => {\n const d = w(\n (o) => {\n const u = a && t === o ? \"\" : o;\n i == null || i(u);\n },\n [i, a, t]\n ), p = (o) => n === \"icon\" && o != null && o.icon ? /* @__PURE__ */ React.createElement(F, { icon: o.icon }) : n === \"label\" ? /* @__PURE__ */ React.createElement(\"span\", null, o.label) : /* @__PURE__ */ React.createElement(\"span\", { className: \"flex items-center justify-center gap-1\" }, o.icon && /* @__PURE__ */ React.createElement(F, { icon: o.icon }), /* @__PURE__ */ React.createElement(\"span\", null, o.label));\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: S(\n \"blockbite-ui__button-group flex flex-wrap gap-1\",\n e,\n c ? \"blockbite-ui__button-group--tabs\" : \"\"\n )\n },\n s.map((o, u) => /* @__PURE__ */ React.createElement(\n h,\n {\n key: `ButtonToggleGroup__${o.value}__${o.label}__${u}`,\n className: S(\"blockbite-ui__button--default\", {\n grow: m,\n \"justify-center\": m\n }),\n \"aria-label\": o.label,\n showTooltip: !0,\n value: o.value,\n size: l,\n label: (o == null ? void 0 : o.tooltip) || o.label,\n variant: r,\n isPressed: t === o.value,\n onClick: () => d(o.value)\n },\n p(o),\n o.children && o.children\n ))\n );\n }\n);\nconst mt = ({\n children: e,\n className: t,\n important: a = !1,\n onClick: n\n}) => a ? /* @__PURE__ */ React.createElement(\"div\", { onClick: n }, /* @__PURE__ */ React.createElement(\"div\", { className: t }, e)) : /* @__PURE__ */ React.createElement(\"div\", { className: t }, e), ut = z(\n ({\n onClick: e,\n onChange: t,\n className: a,\n value: n,\n children: s,\n inputClassName: l,\n readOnly: c,\n placeholder: r,\n onBlur: m,\n type: i = \"text\",\n label: d,\n helper: p = \"\",\n ...o\n }, u) => {\n const R = `text-control-${Math.random().toString(36).substring(2, 15)}`;\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: S(\"flex items-center p-0\", a),\n ...o\n },\n d ? /* @__PURE__ */ React.createElement(\"label\", { htmlFor: R, className: \"text-primary !m-0 !mb-0 !mr-2\" }, d) : null,\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n id: R,\n className: S(\n \"components-text-control__input\",\n l\n ),\n type: i,\n value: n,\n placeholder: r,\n onFocus: () => e && e(),\n onBlur: (v) => {\n e && e(), m && m(v.target.value);\n },\n onChange: (v) => t && t(v.target.value),\n readOnly: c,\n ref: u\n }\n ),\n s,\n p && /* @__PURE__ */ React.createElement(\"p\", { className: \"text-primary !m-0 !mb-0 text-xs\" }, p)\n );\n }\n);\nut.displayName = \"TextControl\";\ny(null);\nfunction dt(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar te = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\nvar ae;\nfunction pt() {\n return ae || (ae = 1, function(e) {\n (function() {\n var t = {}.hasOwnProperty;\n function a() {\n for (var l = \"\", c = 0; c < arguments.length; c++) {\n var r = arguments[c];\n r && (l = s(l, n(r)));\n }\n return l;\n }\n function n(l) {\n if (typeof l == \"string\" || typeof l == \"number\")\n return l;\n if (typeof l != \"object\")\n return \"\";\n if (Array.isArray(l))\n return a.apply(null, l);\n if (l.toString !== Object.prototype.toString && !l.toString.toString().includes(\"[native code]\"))\n return l.toString();\n var c = \"\";\n for (var r in l)\n t.call(l, r) && l[r] && (c = s(c, r));\n return c;\n }\n function s(l, c) {\n return c ? l ? l + \" \" + c : l + c : l;\n }\n e.exports ? (a.default = a, e.exports = a) : window.classNames = a;\n })();\n }(te)), te.exports;\n}\nvar ft = pt();\nconst M = /* @__PURE__ */ dt(ft), G = ({ icon: e, ...t }) => e ? /* @__PURE__ */ React.createElement(\"div\", { className: \"blockbite--icon\" }, /* @__PURE__ */ React.createElement(e, { ...t })) : null;\nx(\n ({\n children: e,\n className: t,\n value: a,\n variant: n = \"secondary\",\n pressed: s,\n onPressedChange: l,\n icon: c,\n size: r = \"compact\",\n display: m = \"auto\",\n label: i\n }) => {\n const d = w(() => {\n l(a);\n }, [l, a]);\n return /* @__PURE__ */ React.createElement(\n h,\n {\n \"aria-label\": i,\n className: M(t, \"blockbite-ui__button--default\"),\n value: a,\n size: r,\n label: i,\n variant: n,\n showTooltip: !0,\n isPressed: s,\n onClick: d\n },\n c && /* @__PURE__ */ React.createElement(G, { icon: c }),\n m !== \"icon\" ? e : null,\n i && !e && m !== \"icon\" ? /* @__PURE__ */ React.createElement(\"span\", null, i) : null\n );\n }\n);\nx(\n ({\n className: e,\n value: t,\n toggle: a = !0,\n display: n = \"auto\",\n options: s,\n size: l = \"compact\",\n tabs: c = !1,\n variant: r = \"secondary\",\n stretch: m = !1,\n onPressedChange: i\n }) => {\n const d = w(\n (o) => {\n const u = a && t === o ? \"\" : o;\n i == null || i(u);\n },\n [i, a, t]\n ), p = (o) => n === \"icon\" && o != null && o.icon ? /* @__PURE__ */ React.createElement(G, { icon: o.icon }) : n === \"label\" ? /* @__PURE__ */ React.createElement(\"span\", null, o.label) : /* @__PURE__ */ React.createElement(\"span\", { className: \"flex items-center justify-center gap-1\" }, o.icon && /* @__PURE__ */ React.createElement(G, { icon: o.icon }), /* @__PURE__ */ React.createElement(\"span\", null, o.label));\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: M(\n \"blockbite-ui__button-group flex flex-wrap gap-1\",\n e,\n c ? \"blockbite-ui__button-group--tabs\" : \"\"\n )\n },\n s.map((o, u) => /* @__PURE__ */ React.createElement(\n h,\n {\n key: `ButtonToggleGroup__${o.value}__${o.label}__${u}`,\n className: M(\"blockbite-ui__button--default\", {\n grow: m,\n \"justify-center\": m\n }),\n \"aria-label\": o.label,\n showTooltip: !0,\n value: o.value,\n size: l,\n label: (o == null ? void 0 : o.tooltip) || o.label,\n variant: r,\n isPressed: t === o.value,\n onClick: () => d(o.value)\n },\n p(o),\n o.children && o.children\n ))\n );\n }\n);\nconst bt = ({\n children: e,\n className: t,\n important: a = !1,\n onClick: n\n}) => a ? /* @__PURE__ */ React.createElement(\"div\", { onClick: n }, /* @__PURE__ */ React.createElement(\"div\", { className: t }, e)) : /* @__PURE__ */ React.createElement(\"div\", { className: t }, e), gt = z(\n ({\n onClick: e,\n onChange: t,\n className: a,\n value: n,\n children: s,\n inputClassName: l,\n readOnly: c,\n placeholder: r,\n onBlur: m,\n type: i = \"text\",\n label: d,\n helper: p = \"\",\n ...o\n }, u) => {\n const R = `text-control-${Math.random().toString(36).substring(2, 15)}`;\n return /* @__PURE__ */ React.createElement(\n \"div\",\n {\n className: M(\"flex items-center p-0\", a),\n ...o\n },\n d ? /* @__PURE__ */ React.createElement(\"label\", { htmlFor: R, className: \"text-primary !m-0 !mb-0 !mr-2\" }, d) : null,\n /* @__PURE__ */ React.createElement(\n \"input\",\n {\n id: R,\n className: M(\n \"components-text-control__input\",\n l\n ),\n type: i,\n value: n,\n placeholder: r,\n onFocus: () => e && e(),\n onBlur: (v) => {\n e && e(), m && m(v.target.value);\n },\n onChange: (v) => t && t(v.target.value),\n readOnly: c,\n ref: u\n }\n ),\n s,\n p && /* @__PURE__ */ React.createElement(\"p\", { className: \"text-primary !m-0 !mb-0 text-xs\" }, p)\n );\n }\n);\ngt.displayName = \"TextControl\";\ny(null);\nconst { select: Kt, dispatch: qt } = wp.data;\ny(null);\nx(\n ({\n className: e,\n options: t,\n value: a,\n display: n = \"label\",\n label: s = !1,\n onPressedChange: l\n }) => {\n const c = (r) => {\n l(r);\n };\n return /* @__PURE__ */ React.createElement(bt, { className: M(e) }, /* @__PURE__ */ React.createElement(\n O,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n isBlock: !0,\n value: a,\n ...s ? { label: s } : {}\n },\n t.map(\n (r) => n === \"icon\" ? /* @__PURE__ */ React.createElement(\n $,\n {\n icon: r.icon,\n label: r.label,\n key: `ToggleGroupControlIcon-${r.value}`,\n value: r.value,\n onClick: () => c(r.value)\n }\n ) : /* @__PURE__ */ React.createElement(\n j,\n {\n key: `ToggleGroupControlOption-${r.value}`,\n value: r.value,\n label: r.label,\n onClick: () => c(r.value)\n }\n )\n )\n ));\n }\n);\nconst { select: Xt, dispatch: Yt } = wp.data;\ny(null);\nx(\n ({\n className: e,\n options: t,\n value: a,\n display: n = \"label\",\n label: s = !1,\n onPressedChange: l\n }) => {\n const c = (r) => {\n l(r);\n };\n return /* @__PURE__ */ React.createElement(mt, { className: S(e) }, /* @__PURE__ */ React.createElement(\n O,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n isBlock: !0,\n value: a,\n ...s ? { label: s } : {}\n },\n t.map(\n (r) => n === \"icon\" ? /* @__PURE__ */ React.createElement(\n $,\n {\n icon: r.icon,\n label: r.label,\n key: `ToggleGroupControlIcon-${r.value}`,\n value: r.value,\n onClick: () => c(r.value)\n }\n ) : /* @__PURE__ */ React.createElement(\n j,\n {\n key: `ToggleGroupControlOption-${r.value}`,\n value: r.value,\n label: r.label,\n onClick: () => c(r.value)\n }\n )\n )\n ));\n }\n);\nconst { select: Jt, dispatch: Qt } = wp.data;\ny(null);\nx(\n ({\n className: e,\n options: t,\n value: a,\n display: n = \"label\",\n label: s = !1,\n onPressedChange: l\n }) => {\n const c = (r) => {\n l(r);\n };\n return /* @__PURE__ */ React.createElement(ie, { className: k(e) }, /* @__PURE__ */ React.createElement(\n O,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n isBlock: !0,\n value: a,\n ...s ? { label: s } : {}\n },\n t.map(\n (r) => n === \"icon\" ? /* @__PURE__ */ React.createElement(\n $,\n {\n icon: r.icon,\n label: r.label,\n key: `ToggleGroupControlIcon-${r.value}`,\n value: r.value,\n onClick: () => c(r.value)\n }\n ) : /* @__PURE__ */ React.createElement(\n j,\n {\n key: `ToggleGroupControlOption-${r.value}`,\n value: r.value,\n label: r.label,\n onClick: () => c(r.value)\n }\n )\n )\n ));\n }\n);\nconst ea = ({\n items: e,\n activeId: t,\n onSelect: a,\n className: n\n}) => /* @__PURE__ */ React.createElement(ie, { important: !0, className: n }, /* @__PURE__ */ React.createElement(\"div\", { className: \"w-[200px] overflow-y-auto border-r border-border gap-2\" }, e.map((s) => /* @__PURE__ */ React.createElement(\n \"div\",\n {\n key: s.id,\n onClick: () => a(s.id),\n className: `cursor-pointer p-2 border-l-4 flex gap-2 items-center ${t === s.id ? \"border-blue-500 bg-gray-100\" : \"border-transparent\"}`\n },\n /* @__PURE__ */ React.createElement(\"span\", { className: \"rounded bg-slate-300 w-12 h-12 flex items-center justify-center text-2xl font-bold text-white\" }, s.name.charAt(0).toUpperCase()),\n /* @__PURE__ */ React.createElement(\"p\", { className: \"text-sm text-center mt-1\" }, s.name)\n))));\nfunction ta(e) {\n const { media: t, mediaClass: a } = e, { url: n, alt: s, sizes: l } = t;\n if (l === void 0)\n return /* @__PURE__ */ React.createElement(\"img\", { src: n, alt: s, className: `media ${a}` });\n const { thumbnail: c, medium: r, large: m } = l, i = c || n, d = r || n, p = m || n;\n return /* @__PURE__ */ React.createElement(\"picture\", { className: \"b_responsive\" }, i ? /* @__PURE__ */ React.createElement(\n \"source\",\n {\n media: \"(max-width: 768px)\",\n srcSet: i,\n className: `b_media ${a}`\n }\n ) : null, d ? /* @__PURE__ */ React.createElement(\n \"source\",\n {\n media: \"(min-width: 1024px)\",\n srcSet: d,\n className: `b_media ${a}`\n }\n ) : null, p ? /* @__PURE__ */ React.createElement(\n \"source\",\n {\n media: \"(min-width: 1536px)\",\n srcSet: p,\n className: `b_media ${a}`\n }\n ) : null, d ? /* @__PURE__ */ React.createElement(\"img\", { src: d, alt: s, className: `b_media ${a}` }) : null);\n}\nfunction aa(e) {\n const { media: t, mediaClass: a } = e, { url: n } = t, s = n;\n return /* @__PURE__ */ React.createElement(\n \"video\",\n {\n className: `responsive-media ${a}`,\n preload: \"none\",\n playsInline: !0,\n controls: !0,\n autoPlay: !0,\n muted: !0,\n loop: !0\n },\n /* @__PURE__ */ React.createElement(\"source\", { src: s, type: \"video/mp4\" })\n );\n}\nconst la = ({\n children: e,\n className: t = \"\",\n height: a = \"large\"\n}) => /* @__PURE__ */ React.createElement(\n E,\n {\n className: b(\"scrollbar relative overflow-y-scroll\", t, {\n \"h-[400px]\": a === \"large\",\n \"h-[300px]\": a === \"medium\",\n \"h-[200px]\": a === \"small\"\n })\n },\n e\n), na = ({\n onChange: e,\n className: t,\n value: a,\n options: n,\n label: s = \"\",\n emptyLabel: l = \"No options available\"\n}) => {\n const c = (r) => {\n e && e(r);\n };\n return /* @__PURE__ */ React.createElement(\"div\", { className: t }, n && n.length > 0 && /* @__PURE__ */ React.createElement(\n xe,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n label: s || \"\",\n value: a || \"\",\n onChange: c,\n options: [{ value: \"\", label: \"Select an option\" }, ...n]\n }\n ), (!n || (n == null ? void 0 : n.length) === 0) && /* @__PURE__ */ React.createElement(\"p\", { className: \"mb-2\" }, l));\n}, { select: vt, dispatch: Rt } = wp.data, ra = ({\n buttonText: e = \"Add block\"\n}) => {\n const t = () => {\n const a = vt(\"core/block-editor\").getSelectedBlock(), { clientId: n, innerBlocks: s } = a, l = s[s.length - 1], c = Te(\n l.name,\n l.attributes,\n l.innerBlocks\n );\n Rt(\"core/block-editor\").insertBlocks(c, 0, n);\n };\n return /* @__PURE__ */ React.createElement(h, { variant: \"primary\", onClick: () => t() }, e);\n}, ca = ({ children: e, watch: t, className: a }) => {\n const [n, s] = f(0);\n return g(() => {\n setTimeout(() => {\n s(1);\n }, 250);\n }, [t]), /* @__PURE__ */ React.createElement(\n E,\n {\n className: b(\n a,\n \"duration-50 transform transition-all ease-in-out\",\n {\n \"translate-x-0\": n === 1,\n \"-translate-x-full\": n === 0\n }\n )\n },\n e\n );\n}, sa = ({ className: e, defaultValue: t }) => {\n const [a, n] = f(!1);\n return g(() => {\n setTimeout(() => {\n n(!1);\n }, 500), t && n(!0);\n }, [a, t]), a && /* @__PURE__ */ React.createElement(we, { className: b(e) });\n}, K = y(null), Et = ({\n children: e,\n defaultValue: t,\n value: a,\n onValueChange: n,\n ...s\n}) => {\n const l = a !== void 0, [c, r] = f(t || \"\"), d = {\n activeTab: l ? a : c,\n setActiveTab: (p) => {\n l || r(p), n && n(p);\n }\n };\n return /* @__PURE__ */ React.createElement(K.Provider, { value: d }, /* @__PURE__ */ React.createElement(E, { important: !0, className: s.className }, e));\n}, ht = ({\n options: e,\n children: t,\n className: a,\n onValueChange: n\n}) => {\n const s = W(K), l = n || (s == null ? void 0 : s.setActiveTab);\n return /* @__PURE__ */ React.createElement(\n ye,\n {\n className: b(\"tabs-list\", a),\n tabs: e,\n onSelect: (c) => {\n l(c);\n }\n },\n () => t\n );\n}, Ct = ({\n value: e,\n children: t,\n className: a\n}) => {\n const n = W(K);\n return (n == null ? void 0 : n.activeTab) === e ? /* @__PURE__ */ React.createElement(E, { className: a }, t) : null;\n}, oa = {\n Wrapper: Et,\n List: ht,\n Content: Ct\n}, ia = ({\n children: e,\n onClick: t,\n color: a = \"blue\",\n className: n\n}) => /* @__PURE__ */ React.createElement(\"button\", { onClick: t }, /* @__PURE__ */ React.createElement(\"div\", { color: a, className: b(n) }, e)), ma = ({\n onChange: e,\n defaultValue: t,\n children: a\n}) => /* @__PURE__ */ React.createElement(E, { className: \"blockbite-ui__text-control-label flex items-center\" }, /* @__PURE__ */ React.createElement(\"span\", { className: \"outline-b-2 relative block -outline-offset-2 outline-black\" }, /* @__PURE__ */ React.createElement(\n U,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n type: \"text\",\n value: t,\n onChange: e\n }\n), /* @__PURE__ */ React.createElement(De, { className: \"absolute right-1 top-2\" })), \" \", a), ua = x(\n ({\n className: e,\n options: t,\n value: a,\n display: n = \"label\",\n label: s = !1,\n onPressedChange: l\n }) => {\n const c = (r) => {\n l(r);\n };\n return /* @__PURE__ */ React.createElement(E, { className: b(e) }, /* @__PURE__ */ React.createElement(\n O,\n {\n __next40pxDefaultSize: !0,\n __nextHasNoMarginBottom: !0,\n isBlock: !0,\n value: a,\n ...s ? { label: s } : {}\n },\n t.map(\n (r) => n === \"icon\" ? /* @__PURE__ */ React.createElement(\n $,\n {\n icon: r.icon,\n label: r.label,\n key: `ToggleGroupControlIcon-${r.value}`,\n value: r.value,\n onClick: () => c(r.value)\n }\n ) : /* @__PURE__ */ React.createElement(\n j,\n {\n key: `ToggleGroupControlOption-${r.value}`,\n value: r.value,\n label: r.label,\n onClick: () => c(r.value)\n }\n )\n )\n ));\n }\n), da = ({\n label: e,\n className: t,\n onChange: a,\n checked: n = !1\n // Default to false if undefined, so it's always controlled\n}) => {\n const [s, l] = f(n);\n return g(() => {\n l(n);\n }, [n]), /* @__PURE__ */ React.createElement(E, { className: b(t, \"flex items-center gap-2\") }, /* @__PURE__ */ React.createElement(\n Ne,\n {\n checked: s,\n label: e,\n onChange: (c) => {\n l(c), a && a(c);\n }\n }\n ));\n};\nexport {\n Mt as AutocompleteDropdown,\n $e as Badge,\n Tt as BitePreview,\n Lt as Button,\n He as ButtonToggle,\n Oe as ButtonToggleGroup,\n Bt as Chapter,\n Pt as ChapterDivider,\n Ht as Checkbox,\n Ot as DataItemList,\n $t as DisappearingMessage,\n Ke as DropdownPicker,\n jt as EmptyState,\n zt as FloatingPanel,\n Vt as FocalPointControl,\n _ as Icon,\n It as LinkPicker,\n Zt as MediaPicker,\n Dt as MetricsControl,\n At as Modal,\n Ft as ModalClose,\n et as ModalContent,\n Qe as ModalFooter,\n Je as ModalHeader,\n tt as ModalTrigger,\n Gt as NewWindowPortal,\n Ut as Notice,\n Wt as PasswordInput,\n Xe as Popover,\n ea as ProjectsNavigation,\n Ye as RangeSlider,\n ta as ResponsiveImage,\n aa as ResponsiveVideo,\n la as ScrollList,\n na as SelectControlWrapper,\n ra as SingleBlockTypeAppender,\n ca as SlideIn,\n sa as Spinner,\n oa as Tabs,\n Ct as TabsContent,\n ht as TabsList,\n Et as TabsWrapper,\n ia as Tag,\n ce as TextControl,\n ma as TextControlLabel,\n ua as ToggleGroup,\n da as ToggleSwitch,\n E as Wrap,\n oe as useModalContext\n};\n//# sourceMappingURL=index.js.map\n","import { Wrap } from '@blockbite/ui';\n\nexport type ProjectItem = {\n id: string | number;\n name: string;\n description: string;\n};\n\ntype Props = {\n items: ProjectItem[];\n activeId: string | number;\n onSelect: (id: string | number) => void;\n className?: string;\n};\n\nexport const ProjectsNavigation = ({\n items,\n activeId,\n onSelect,\n className,\n}: Props) => {\n return (\n <Wrap important className={className}>\n <div className=\"w-[200px] overflow-y-auto border-r border-border gap-2\">\n {items.map((item) => (\n <div\n key={item.id}\n onClick={() => onSelect(item.id)}\n className={`cursor-pointer p-2 border-l-4 flex gap-2 items-center ${\n activeId === item.id\n ? 'border-blue-500 bg-gray-100'\n : 'border-transparent'\n }`}\n >\n <span className=\"rounded bg-slate-300 w-12 h-12 flex items-center justify-center text-2xl font-bold text-white\">\n {item.name.charAt(0).toUpperCase()}\n </span>\n <p className=\"text-sm text-center mt-1\">{item.name}</p>\n </div>\n ))}\n </div>\n </Wrap>\n );\n};\n","export function ResponsiveImage(props) {\n const { media, mediaClass } = props;\n const { url, alt, sizes } = media;\n\n if (sizes === undefined) {\n return <img src={url} alt={alt} className={`media ${mediaClass}`} />;\n }\n\n const { thumbnail, medium, large } = sizes;\n const thumbnailImg = thumbnail || url;\n const mediumImg = medium || url;\n const largeImg = large || url;\n\n return (\n <picture className=\"b_responsive\">\n {thumbnailImg ? (\n <source\n media=\"(max-width: 768px)\"\n srcSet={thumbnailImg}\n className={`b_media ${mediaClass}`}\n />\n ) : null}\n {mediumImg ? (\n <source\n media=\"(min-width: 1024px)\"\n srcSet={mediumImg}\n className={`b_media ${mediaClass}`}\n />\n ) : null}\n {largeImg ? (\n <source\n media=\"(min-width: 1536px)\"\n srcSet={largeImg}\n className={`b_media ${mediaClass}`}\n />\n ) : null}\n {mediumImg ? (\n <img src={mediumImg} alt={alt} className={`b_media ${mediaClass}`} />\n ) : null}\n </picture>\n );\n}\n","export function ResponsiveVideo(props: any) {\n const { media, mediaClass } = props;\n const { url } = media;\n\n const videoUrl = url;\n\n return (\n <video\n className={`responsive-media ${mediaClass}`}\n preload=\"none\"\n playsInline\n controls\n autoPlay\n muted\n loop\n >\n <source src={videoUrl} type=\"video/mp4\" />\n </video>\n );\n}\n","import classNames from 'classnames';\nimport { Wrap } from './Wrap.js';\n\ntype ScrollListProps = {\n children: React.ReactNode;\n className?: string;\n height?: 'small' | 'medium' | 'large';\n};\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n children,\n className = '',\n height = 'large',\n}) => (\n <Wrap\n className={classNames('scrollbar relative overflow-y-scroll', className, {\n 'h-[400px]': height === 'large',\n 'h-[300px]': height === 'medium',\n 'h-[200px]': height === 'small',\n })}\n >\n {children}\n </Wrap>\n);\n","import { SelectControl as WordpressSelect } from '@wordpress/components';\n\ntype SelectControlWrapperProps = {\n className?: string;\n value: string;\n children?: React.ReactNode;\n options: any[];\n label?: string;\n emptyLabel?: string;\n onChange?: (value: string) => void;\n};\n\nexport const SelectControlWrapper = ({\n onChange,\n className,\n value,\n options,\n label = '',\n emptyLabel = 'No options available',\n}: SelectControlWrapperProps) => {\n const handleChange = (val: string) => {\n if (onChange) {\n onChange(val);\n }\n };\n\n return (\n <div className={className}>\n {options && options.length > 0 && (\n <WordpressSelect\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={label || ''}\n value={value || ''}\n onChange={handleChange}\n options={[{ value: '', label: 'Select an option' }, ...options]}\n />\n )}\n {(!options || options?.length === 0) && (\n <p className=\"mb-2\">{emptyLabel}</p>\n )}\n </div>\n );\n};\n","import { createBlock } from '@wordpress/blocks';\nimport { Button } from '@wordpress/components';\n\nconst { select, dispatch } = wp.data;\n\ninterface SingleBlockTypeAppenderProps {\n buttonText?: string;\n}\n\nexport const SingleBlockTypeAppender = ({\n buttonText = 'Add block',\n}: SingleBlockTypeAppenderProps) => {\n const addLastDuplicate = () => {\n // Get the current block\n const currentBlock = select('core/block-editor').getSelectedBlock();\n const { clientId, innerBlocks } = currentBlock;\n\n // get the last block\n const lastBlock = innerBlocks[innerBlocks.length - 1];\n // duplicate the last block\n const newBlock = createBlock(\n lastBlock.name,\n lastBlock.attributes,\n lastBlock.innerBlocks\n );\n\n dispatch('core/block-editor').insertBlocks(newBlock, 0, clientId);\n };\n\n return (\n <Button variant=\"primary\" onClick={() => addLastDuplicate()}>\n {buttonText}\n </Button>\n );\n};\n","import { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype SlideInProps = {\n children: React.ReactNode;\n className?: string;\n watch?: any;\n};\n\nexport const SlideIn = ({ children, watch, className }: SlideInProps) => {\n const [slide, setSlide] = useState(0);\n\n useEffect(() => {\n setTimeout(() => {\n setSlide(1);\n }, 250);\n }, [watch]);\n\n return (\n <Wrap\n className={classNames(\n className,\n 'duration-50 transform transition-all ease-in-out',\n {\n 'translate-x-0': slide === 1,\n '-translate-x-full': slide === 0,\n }\n )}\n >\n {children}\n </Wrap>\n );\n};\n","import { Spinner as WordpressSpinner } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\ntype SpinnerProps = {\n label?: string;\n className?: string;\n defaultValue: boolean;\n};\n\nexport const Spinner = ({ className, defaultValue }: SpinnerProps) => {\n const [isLoading, setIsLoading] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setIsLoading(false);\n }, 500);\n if (defaultValue) {\n setIsLoading(true);\n }\n }, [isLoading, defaultValue]);\n\n return isLoading && <WordpressSpinner className={classNames(className)} />;\n};\n","import { TabPanel } from '@wordpress/components';\nimport { createContext, useContext, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\nconst TabsContext = createContext<{\n activeTab: string | undefined;\n setActiveTab: React.Dispatch<React.SetStateAction<string | undefined>>;\n} | null>(null);\n\ntype TabsProps = {\n className?: string;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n children?: React.ReactNode;\n};\n\nexport const TabsWrapper = ({\n children,\n defaultValue,\n value,\n onValueChange,\n ...rest\n}: TabsProps) => {\n const isControlled = value !== undefined;\n\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n const activeTab = isControlled ? value : internalValue;\n\n const handleTabChange = (newValue: string) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n\n if (onValueChange) {\n onValueChange(newValue);\n }\n };\n\n const providerValue = {\n activeTab,\n setActiveTab: handleTabChange,\n };\n\n return (\n <TabsContext.Provider value={providerValue}>\n <Wrap important className={rest.className}>\n {children}\n </Wrap>\n </TabsContext.Provider>\n );\n};\n\ntype TabsListProps = {\n options: { name: string; title: string; icon?: any }[];\n children?: React.ReactNode;\n onValueChange?: (value: string) => void;\n className?: string;\n};\n\nexport const TabsList = ({\n options,\n children,\n className,\n onValueChange,\n}: TabsListProps) => {\n const context = useContext(TabsContext);\n const setActiveTab = onValueChange ? onValueChange : context?.setActiveTab;\n\n return (\n <TabPanel\n className={classNames('tabs-list', className)}\n tabs={options}\n onSelect={(tabName) => {\n setActiveTab(tabName);\n }}\n >\n {() => children}\n </TabPanel>\n );\n};\n\ntype TabsContentProps = {\n value: string;\n children: React.ReactNode;\n className?: string;\n};\n\nexport const TabsContent = ({\n value,\n children,\n className,\n}: TabsContentProps) => {\n const context = useContext(TabsContext);\n const activeTab = context?.activeTab;\n\n return activeTab === value ? (\n <Wrap className={className}>{children}</Wrap>\n ) : null;\n};\n\nexport const Tabs = {\n Wrapper: TabsWrapper,\n List: TabsList,\n Content: TabsContent,\n};\n","import classNames from 'classnames';\n\ntype TagProps = {\n children: React.ReactNode;\n className?: string;\n color:\n | 'blue'\n | 'ruby'\n | 'tomato'\n | 'red'\n | 'crimson'\n | 'pink'\n | 'plum'\n | 'purple'\n | 'violet'\n | 'iris'\n | 'indigo'\n | 'cyan'\n | 'teal'\n | 'jade'\n | 'green'\n | 'grass'\n | 'brown'\n | 'orange'\n | 'sky'\n | 'gray';\n asButton?: boolean;\n onClick?: () => void;\n};\n\nexport const Tag = ({\n children,\n onClick,\n color = 'blue',\n className,\n}: TagProps) => {\n return (\n <button onClick={onClick}>\n <div color={color} className={classNames(className)}>\n {children}\n </div>\n </button>\n );\n};\n","import { Pencil1 as Pencil1Icon } from '@blockbite/icons';\n\nimport { TextControl } from '@wordpress/components';\nimport { Wrap } from './Wrap.js';\n\ntype TextControlLabelProps = {\n className?: string;\n defaultValue: any;\n children?: React.ReactNode;\n onChange?: (value: string) => void;\n onClick?: () => void;\n};\n\nexport const TextControlLabel = ({\n onChange,\n defaultValue,\n children,\n}: TextControlLabelProps) => {\n return (\n <Wrap className=\"blockbite-ui__text-control-label flex items-center\">\n <span className=\"outline-b-2 relative block -outline-offset-2 outline-black\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n type=\"text\"\n value={defaultValue}\n onChange={onChange}\n />\n <Pencil1Icon className=\"absolute right-1 top-2\" />\n </span>{' '}\n {children}\n </Wrap>\n );\n};\n","import { memo } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\nimport {\n __experimentalToggleGroupControlOptionIcon as ToggleGroupControlIcon,\n __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n __experimentalToggleGroupControl as WordpressToggleGroupControl,\n} from '@wordpress/components';\nimport classNames from 'classnames';\n\ntype ToggleProps = {\n className?: string;\n options: { value: string; label: string; icon?: React.ReactElement }[];\n value: string;\n label?: string | boolean;\n variant?: 'primary' | 'secondary';\n display?: 'icon' | 'label';\n size?: 'small' | 'default' | 'compact';\n onPressedChange: (value: string) => void;\n};\n\nexport const ToggleGroup: React.FC<ToggleProps> = memo(\n ({\n className,\n options,\n value,\n display = 'label',\n label = false,\n onPressedChange,\n }) => {\n const handlePressChange = (val: string) => {\n onPressedChange(val);\n };\n\n return (\n <Wrap className={classNames(className)}>\n <WordpressToggleGroupControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n isBlock\n value={value}\n {...(label ? { label } : {})}\n >\n {options.map((option) =>\n display === 'icon' ? (\n <ToggleGroupControlIcon\n icon={option.icon}\n label={option.label}\n key={`ToggleGroupControlIcon-${option.value}`}\n value={option.value}\n onClick={() => handlePressChange(option.value)}\n />\n ) : (\n <ToggleGroupControlOption\n key={`ToggleGroupControlOption-${option.value}`}\n value={option.value}\n label={option.label}\n onClick={() => handlePressChange(option.value)}\n />\n )\n )}\n </WordpressToggleGroupControl>\n </Wrap>\n );\n }\n);\n","import { ToggleControl as Switch } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype ToggleSwitchProps = {\n label?: string;\n className?: string;\n onChange?: (checked: boolean) => void;\n checked?: boolean;\n};\n\nexport const ToggleSwitch = ({\n label,\n className,\n onChange,\n checked = false, // Default to false if undefined, so it's always controlled\n}: ToggleSwitchProps) => {\n const [isChecked, setIsChecked] = useState(checked);\n\n useEffect(() => {\n setIsChecked(checked);\n }, [checked]);\n\n return (\n <Wrap className={classNames(className, 'flex items-center gap-2')}>\n <Switch\n checked={isChecked}\n label={label}\n onChange={(e) => {\n setIsChecked(e);\n onChange && onChange(e);\n }}\n ></Switch>\n </Wrap>\n );\n};\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","Icon","IconComponent","rest","ButtonToggle","memo","children","className","variant","pressed","onPressedChange","icon","size","display","label","handleClick","useCallback","WordpressButton","ButtonToggleGroup","toggle","options","tabs","stretch","handleButtonClick","optionValue","newValue","renderContent","option","index","Wrap","important","onClick","AutocompleteDropdown","swatch","activeKeyword","setActiveKeyword","useState","filteredOptions","setFilteredOptions","useEffect","Dropdown","isOpen","onToggle","Button","TextControl","changedValue","Badge","BitePreview","htmlContent","cssContent","frontendAssets","iframeRef","useRef","iframeBody","setIframeBody","iframe","iframeDocument","styleTag","type","id","url","existingElement","adoptedElement","newElement","createPortal","disabled","isIconDisplay","Chapter","title","ChapterDivider","help","badge","props","Checkbox","defaultChecked","isChecked","setChecked","CheckboxControl","ChevronDown","ColumnSpacing","Cross2","Desktop","Grid","Pencil1","Percentage","Plus","Slider","Tailwind","Trash","forwardRef","onChange","inputClassName","readOnly","placeholder","onBlur","helper","ref","fieldId","e","DataItemList","data","active","setActive","onCreate","onDelete","onUpdate","onSwitch","renderItemActions","addons","footerSlot","footerSlotClassName","rename","setRename","isSaving","setIsSaving","textRef","handleAdd","handleRemove","newData","d","currentIndex","nextActive","handleRenameBlur","item","PlusIcon","TrashIcon","DisappearingMessage","duration","show","message","isShowing","setIsShowing","hasMounted","timeoutRef","DropdownPicker","defaultIcon","ChevronDownIcon","currentOption","setCurrentOption","allOptions","iconSize","DropdownMenu","_a","EmptyState","description","FloatingPanel","panelRef","position","setPosition","dragging","setDragging","offset","setOffset","handleMouseMove","handleMouseUp","startDragging","rect","FocalPointControl","onValueChange","focalPoint","setFocalPoint","x","y","v","FocalPointPicker","LinkPicker","links","setLinks","activeLink","setActiveLink","apiFetch","fetchedLinks","__","LinkList","link","onActiveLink","list","MediaPicker","mediaProps","mediaCallback","allowedTypes","stateMedia","setStateMedia","removeMedia","onSelectMedia","media","safeSizes","sizeObject","mediaObj","PanelRow","MediaUploadCheck","MediaUpload","open","Popover","visible","onVisibleChange","isVisible","setIsVisible","toggleVisible","WordpressPopover","RangeSlider","min","max","withInputField","gridMode","showTooltip","resetFallbackValue","rangeValue","setRangeValue","handleRangeUpdate","val","gridValue","WordpressRangeControl","MetricsControl","unit","onUnitChange","currentOptions","setCurrentOptions","resetValue","setResetValue","showOptions","u","_c","_b","unitOptions","TailwindUnitIcon","PercentageIcon","GridIcon","DesktopIcon","SliderIcon","ColumnSpacingIcon","InputControl","InputControlSuffixWrapper","selectedUnit","ModalContext","createContext","useModalContext","context","useContext","Modal","defaultOpen","onOpenChange","setOpen","openModal","closeModal","Children","child","isValidElement","ModalTrigger","WordpressModal","ModalHeader","ModalContent","ModalFooter","ModalClose","copyStyles","sourceDoc","targetDoc","styleSheet","newStyleEl","cssRule","newLinkEl","NewWindowPortal","windowInstance","onClose","containerEl","useMemo","win","handleBeforeUnload","Notice","status","showNotice","setShowNotice","WordpressNotice","PasswordInput","showPassword","setShowPassword","SVG","Path","prev","Le","D","X","Be","t","a","l","c","r","n","Pe","b","_","m","w","h","E","ce","z","R","lt","Y","J","nt","rt","k","A","ie","ct","st","Q","ee","ot","it","S","F","mt","ut","dt","te","ae","pt","ft","M","G","bt","gt","Kt","qt","O","$","j","Xt","Yt","Jt","Qt","vt","Rt","ProjectsNavigation","items","activeId","onSelect","ResponsiveImage","mediaClass","alt","sizes","thumbnail","medium","large","thumbnailImg","mediumImg","largeImg","ResponsiveVideo","videoUrl","ScrollList","height","SelectControlWrapper","emptyLabel","handleChange","WordpressSelect","select","dispatch","SingleBlockTypeAppender","buttonText","addLastDuplicate","currentBlock","clientId","innerBlocks","lastBlock","newBlock","createBlock","SlideIn","watch","slide","setSlide","Spinner","defaultValue","isLoading","setIsLoading","WordpressSpinner","TabsContext","TabsWrapper","isControlled","internalValue","setInternalValue","providerValue","TabsList","setActiveTab","TabPanel","tabName","TabsContent","Tabs","Tag","color","TextControlLabel","Pencil1Icon","ToggleGroup","handlePressChange","WordpressToggleGroupControl","ToggleGroupControlIcon","ToggleGroupControlOption","ToggleSwitch","checked","setIsChecked","Switch"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/classnames@2.5.1/node_modules/classnames/index.js","../src/Icon.tsx","../src/ButtonToggle.tsx","../src/AutocompleteDropdown.tsx","../src/Badge.tsx","../src/BitePreview.tsx","../src/Button.tsx","../src/Wrap.tsx","../src/Chapter.tsx","../src/ChapterDivider.tsx","../src/Checkbox.tsx","../../icons/jsx/ChevronDown.jsx","../../icons/jsx/ColorWheel.jsx","../../icons/jsx/Cross2.jsx","../../icons/jsx/InfoCircled.jsx","../../icons/jsx/ListBullet.jsx","../../icons/jsx/Pencil1.jsx","../../icons/jsx/Percentage.jsx","../../icons/jsx/Plus.jsx","../../icons/jsx/Slider.jsx","../../icons/jsx/Tailwind.jsx","../../icons/jsx/Trash.jsx","../src/TextControl.tsx","../src/DataItemList.tsx","../src/DisappearingMessage.tsx","../src/DropdownPicker.tsx","../src/EmptyState.tsx","../src/FloatingPanel.tsx","../src/FocalPointControl.tsx","../src/Label.tsx","../src/LinkPicker.tsx","../src/MediaPicker.tsx","../src/Popover.tsx","../src/RangeSlider.tsx","../src/MetricsControl.tsx","../src/Modal.tsx","../src/NewWindowPortal.tsx","../src/Notice.tsx","../src/PasswordInput.tsx","../src/ProjectsNavigation.tsx","../src/ResponsiveImage.tsx","../src/ResponsiveVideo.tsx","../src/ScrollList.tsx","../src/SelectControlWrapper.tsx","../src/SingleBlockTypeAppender.tsx","../src/SlideIn.tsx","../src/Spinner.tsx","../../libraries/dist/libraries.js","../src/SplitPane.tsx","../src/Tabs.tsx","../src/Tag.tsx","../src/TagInput.tsx","../src/TextControlLabel.tsx","../src/ToggleGroup.tsx","../src/ToggleSwitch.tsx"],"sourcesContent":["/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export const Icon = ({ icon, ...rest }) => {\n if (!icon) return null;\n\n const IconComponent = icon;\n\n // icon should be a valid function\n if (typeof icon === 'function') {\n return <IconComponent {...rest} />;\n }\n\n /* eslint-disable no-console */\n console.error(\n `[BlockBite:Icon] You passed a JSX element (<Icon />) instead of a component reference (Icon).\nExpected: { icon: ColumnsIcon }\nReceived: { icon: <ColumnsIcon /> }`\n );\n\n return <div>⚠</div>;\n};\n","import { Button as WordpressButton } from '@wordpress/components';\nimport { memo, useCallback } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { Icon } from './Icon.js';\n\ntype ButtonToggleProps = {\n children?: React.ReactNode;\n className?: string;\n value: string;\n pressed: boolean;\n variant?: 'primary' | 'secondary';\n size?: 'small' | 'default' | 'compact';\n icon?: any;\n display?: 'icon' | 'label' | '' | null;\n onPressedChange: (value: string) => void;\n label?: string;\n};\n\ntype ButtonToggleGroupOptionProp = {\n value: string;\n label: string;\n tooltip?: string;\n icon?: any;\n children?: React.ReactNode;\n};\n\ntype ButtonToggleGroupProps = {\n className?: string;\n options: ButtonToggleGroupOptionProp[];\n value: string;\n toggle?: boolean;\n size?: 'small' | 'default' | 'compact';\n tabs?: boolean;\n display?: 'icon' | 'label' | '' | null;\n variant?: 'primary' | 'secondary';\n stretch?: boolean;\n icon?: any;\n onPressedChange?: (value: string) => void;\n};\n\n// ButtonToggle: now fully controlled via `pressed` prop\nexport const ButtonToggle: React.FC<\n Omit<ButtonToggleProps, 'defaultPressed'> & { pressed: boolean }\n> = memo(\n ({\n children,\n className,\n value,\n variant = 'secondary',\n pressed,\n onPressedChange,\n icon,\n size = 'compact',\n display = 'auto',\n label,\n }) => {\n const handleClick = useCallback(() => {\n onPressedChange(value);\n }, [onPressedChange, value]);\n\n return (\n <WordpressButton\n aria-label={label}\n className={classNames(className, 'blockbite-ui__button--default')}\n value={value}\n size={size}\n label={label}\n variant={variant}\n showTooltip={true}\n isPressed={pressed}\n onClick={handleClick}\n >\n {icon && <Icon icon={icon} />}\n {display !== 'icon' ? children : null}\n {label && !children && display !== 'icon' ? <span>{label}</span> : null}\n </WordpressButton>\n );\n }\n);\n\n// ButtonToggleGroup: now fully controlled via `value` prop\nexport const ButtonToggleGroup: React.FC<\n Omit<ButtonToggleGroupProps, 'defaultPressed'> & { value: string }\n> = memo(\n ({\n className,\n value,\n toggle = true,\n display = 'auto',\n options,\n size = 'compact',\n tabs = false,\n variant = 'secondary',\n stretch = false,\n onPressedChange,\n }) => {\n const handleButtonClick = useCallback(\n (optionValue: string) => {\n const newValue = toggle && value === optionValue ? '' : optionValue;\n onPressedChange?.(newValue);\n },\n [onPressedChange, toggle, value]\n );\n\n const renderContent = (option: ButtonToggleGroupOptionProp) => {\n if (display === 'icon' && option?.icon) {\n return <Icon icon={option.icon} />;\n } else if (display === 'label') {\n return <span>{option.label}</span>;\n }\n return (\n <span className=\"flex items-center justify-center gap-1\">\n {option.icon && <Icon icon={option.icon} />}\n <span>{option.label}</span>\n </span>\n );\n };\n\n return (\n <div\n className={classNames(\n 'blockbite-ui__button-group flex flex-wrap gap-1',\n className,\n tabs ? 'blockbite-ui__button-group--tabs' : ''\n )}\n >\n {options.map((option, index) => (\n <WordpressButton\n key={`ButtonToggleGroup__${option.value}__${option.label}__${index}`}\n className={classNames('blockbite-ui__button--default', {\n grow: stretch,\n 'justify-center': stretch,\n })}\n aria-label={option.label}\n showTooltip={true}\n value={option.value}\n size={size}\n label={option?.tooltip || option.label}\n variant={variant}\n isPressed={value === option.value}\n onClick={() => handleButtonClick(option.value)}\n >\n {renderContent(option)}\n {option.children && option.children}\n </WordpressButton>\n ))}\n </div>\n );\n }\n);\n","import { Button, Dropdown, TextControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { ButtonToggle } from './ButtonToggle.js';\nimport type { OptionProps } from './types.js';\n\ninterface OptionPanelDropdownProps {\n value: string;\n options: { label: string; value: string; style?: string }[];\n onPressedChange: (value: string) => void;\n swatch?: boolean;\n}\n\nexport function AutocompleteDropdown({\n value,\n options,\n swatch,\n onPressedChange,\n}: OptionPanelDropdownProps) {\n const [activeKeyword, setActiveKeyword] = useState('');\n const [filteredOptions, setFilteredOptions] = useState<OptionProps[]>([]);\n\n useEffect(() => {\n setFilteredOptions(\n options.filter((option: OptionProps) =>\n option.label.toLowerCase().includes(activeKeyword.toLowerCase())\n )\n );\n }, [activeKeyword, options]);\n\n useEffect(() => {\n setActiveKeyword('');\n setFilteredOptions(options);\n }, [value, options]);\n\n return (\n <Dropdown\n className=\"option-panel-dropdown\"\n contentClassName=\"option-panel-dropdown-content [&>div]:[scrollbar-width:none] [&>div]:[&::-webkit-scrollbar]:hidden\"\n popoverProps={{ placement: 'bottom-start' }}\n renderToggle={({ isOpen, onToggle }) => (\n <Button\n variant=\"secondary\"\n size=\"small\"\n onClick={onToggle}\n aria-expanded={isOpen}\n >\n <div className=\"flex items-center gap-1.5 !bg-transparent !p-0 !text-[11px] !text-current\">\n {swatch && !!value && (\n <div\n style={{\n backgroundColor: options.find((o) => o.value === value)\n ?.style,\n }}\n className=\"h-3 w-3 rounded-full\"\n />\n )}\n <span>{value || 'Select option…'}</span>\n </div>\n </Button>\n )}\n renderContent={() => (\n <div className=\"w-52\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label=\"Search options\"\n value={activeKeyword}\n onChange={(changedValue) => setActiveKeyword(changedValue)}\n autoComplete=\"off\"\n />\n <div className=\"grid grid-cols-2 gap-1 !bg-transparent p-0 !pt-2\">\n {filteredOptions.length === 0 && (\n <div className=\"!text-gray-medium col-span-2 pb-2 text-center !text-[11px]\">\n No options found.\n </div>\n )}\n {filteredOptions.map((option: OptionProps, index: Number) => (\n <ButtonToggle\n key={`ButtonToggle__${option.value}___${index}`}\n className={classNames({\n 'bg-primary': option.value,\n })}\n size=\"small\"\n value={option.value.toString()}\n pressed={value === option.value}\n onPressedChange={(pressed) => {\n onPressedChange(pressed ? option.value : '');\n }}\n >\n {swatch && (\n <div\n style={{ backgroundColor: option.style }}\n className=\"mr-3 h-3 w-3 rounded-full\"\n />\n )}\n {option.label}\n </ButtonToggle>\n ))}\n </div>\n </div>\n )}\n />\n );\n}\n","import classNames from 'classnames';\n\ntype BadgeProps = {\n children?: React.ReactNode;\n className?: string;\n label?: string;\n onClick?: () => void;\n status?: 'default' | 'info' | 'success' | 'warning' | 'error';\n};\n\nexport const Badge = ({\n children,\n className,\n label,\n onClick,\n status = 'default',\n}: BadgeProps) => {\n return (\n <div\n onClick={onClick}\n className={classNames(\n className,\n 'inline-flex items-center rounded-full px-2.5 py-0.5 text-xs font-medium',\n {\n 'bg-blue-100 text-blue-800': status === 'info',\n 'bg-green-100 text-green-800': status === 'success',\n 'bg-yellow-100 text-yellow-800': status === 'warning',\n 'bg-red-100 text-red-800': status === 'error',\n 'bg-gray-100 text-gray-800': status === 'default',\n }\n )}\n >\n {label && (\n <span className=\"mr-1 text-xs font-semibold text-gray-700\">\n {label}\n </span>\n )}\n {children}\n </div>\n );\n};\n","import { createPortal, useEffect, useRef, useState } from '@wordpress/element';\n\nexport const BitePreview = ({ htmlContent, cssContent, frontendAssets }) => {\n const iframeRef = useRef(null);\n const [iframeBody, setIframeBody] = useState(null);\n\n useEffect(() => {\n const iframe = iframeRef.current;\n\n if (iframe) {\n iframe.onload = () => {\n const iframeDocument =\n iframe.contentDocument || iframe.contentWindow.document;\n\n if (iframeDocument) {\n setIframeBody(iframeDocument.body); // Set the iframe body for portal\n\n // Inject CSS content directly\n const styleTag = iframeDocument.createElement('style');\n styleTag.innerHTML = cssContent;\n iframeDocument.head.appendChild(styleTag);\n\n // Adopt or Create Frontend Assets\n frontendAssets.forEach(({ type, id, url }) => {\n const existingElement = document.getElementById(id);\n\n if (existingElement) {\n // If the asset exists in the parent, move it to the iframe\n const adoptedElement = document.adoptNode(\n existingElement.cloneNode(true)\n );\n iframeDocument.head.appendChild(adoptedElement);\n } else {\n // Create a new script or style if not found\n const newElement = iframeDocument.createElement(\n type === 'script' ? 'script' : 'link'\n );\n newElement.id = id;\n\n if (type === 'script') {\n newElement.src = url;\n newElement.async = true;\n } else {\n newElement.rel = 'stylesheet';\n newElement.href = url;\n }\n\n iframeDocument.head.appendChild(newElement);\n }\n });\n }\n };\n }\n\n return () => {\n if (iframe) {\n iframe.onload = null; // Clean up event listener\n }\n };\n }, [htmlContent, cssContent, frontendAssets]);\n\n return (\n <div\n className=\"render-preview-container\"\n style={{ width: '100%', minHeight: '100%' }}\n >\n <iframe\n ref={iframeRef}\n title=\"Preview\"\n sandbox=\"allow-same-origin allow-scripts\"\n className=\"editor-styles-wrapper\"\n width=\"100%\"\n height=\"100%\"\n />\n {iframeBody &&\n createPortal(\n <div className=\"b_\">\n <div\n className=\"b_utils\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n </div>,\n iframeBody\n )}\n </div>\n );\n};\n","import { Button as WordpressButton } from '@wordpress/components';\nimport classNames from 'classnames';\nimport { Icon } from './Icon.js';\n\ntype ButtonProps = {\n children?: React.ReactNode;\n asChild?: boolean;\n className?: string;\n display?: 'icon' | 'icon-lg' | 'label' | 'auto' | '' | null;\n onClick?: () => void;\n label?: string;\n size?: 'small' | 'default' | 'compact';\n variant?: 'primary' | 'secondary' | 'link' | 'primary' | 'tertiary';\n icon?: any;\n disabled?: boolean;\n};\n\nexport const Button = ({\n children,\n size = 'default',\n label,\n className,\n onClick,\n variant = 'primary',\n display = 'auto',\n icon,\n disabled = false,\n}: ButtonProps) => {\n const isIconDisplay = display === 'icon' || display === 'icon-lg';\n\n return (\n <WordpressButton\n size={size}\n variant={variant}\n label={label}\n showTooltip={true}\n disabled={disabled}\n className={classNames(\n className,\n 'blockbite-ui__button',\n 'flex items-center justify-center gap-1',\n { 'is-primary': variant === 'primary' },\n { 'is-secondary': variant === 'secondary' },\n { 'is-link': variant === 'link' },\n { 'is-tertiary': variant === 'tertiary' },\n { 'is-icon': display === 'icon' }\n )}\n onClick={onClick}\n >\n {icon && (\n <Icon\n icon={icon}\n className={classNames({ 'h-4 w-4': display === 'icon-lg' })}\n />\n )}\n {!isIconDisplay ? children : null}\n {label && !children && !isIconDisplay ? <span>{label}</span> : null}\n </WordpressButton>\n );\n};\n","type WrapProps = {\n children: React.ReactNode;\n className?: string;\n important?: boolean;\n onClick?: (e: React.MouseEvent) => void;\n};\n\nexport const Wrap = ({\n children,\n className,\n important = false,\n onClick,\n}: WrapProps) => {\n if (important) {\n return (\n <div onClick={onClick}>\n <div className={className}>{children}</div>\n </div>\n );\n }\n\n return <div className={className}>{children}</div>;\n};\n","import classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype ChapterProps = {\n children?: React.ReactNode;\n className?: string;\n title?: string;\n};\n\nexport const Chapter = ({ children, title, className }: ChapterProps) => {\n return (\n <Wrap\n className={classNames(\n 'text-gray-medium my-2 flex items-center gap-1 text-[12px] font-medium',\n className\n )}\n >\n {title && <Wrap className=\"font-medium\">{title}</Wrap>}\n {children}\n </Wrap>\n );\n};\n","import classNames from 'classnames';\nimport { Badge } from './Badge.js';\n\ntype ChapterDividerProps = {\n title?: string;\n className?: string;\n help?: string;\n badge?: string;\n addon?: React.ReactNode;\n gradient?: boolean;\n [key: string]: any;\n};\n\nexport const ChapterDivider = ({\n title,\n className,\n help,\n badge,\n addon,\n line = true,\n ...props\n}: ChapterDividerProps) => {\n return (\n <div\n className={classNames(\n 'mb-1.5',\n className,\n line ? ' border-t border-easy pt-1' : ''\n )}\n {...props}\n >\n <div className=\"w-[90%] flex-wrap items-center gap-2 justify-between\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"shrink-1 text-[11px] font-medium uppercase leading-snug\">\n {title}\n </span>\n {addon}\n </div>\n\n {!!badge && (\n <Badge className=\"mt-1 text-[10px] py-px px-1\">{badge}</Badge>\n )}\n </div>\n {help && <small className=\"w-full shrink-0 text-[11px]\">{help}</small>}\n </div>\n );\n};\n","import { CheckboxControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\ntype CheckboxProps = {\n id: string;\n label?: string;\n help?: string;\n defaultChecked?: boolean;\n onCheckedChange: (checked: boolean, id: string) => void;\n};\n\nexport const Checkbox = ({ label, help, defaultChecked }: CheckboxProps) => {\n const [isChecked, setChecked] = useState(defaultChecked);\n\n useEffect(() => {\n setChecked(defaultChecked);\n }, [defaultChecked]);\n\n return (\n <Wrap className=\"blockbite-ui__checkbox mx-1 flex items-center gap-2\">\n <CheckboxControl\n label={label}\n help={help}\n checked={isChecked}\n onChange={setChecked}\n />\n </Wrap>\n );\n};\n","const ChevronDown = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ChevronDown;\n","const ColorWheel = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.49991 0.877014C11.1576 0.877014 14.1227 3.84216 14.1227 7.49985C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49985C0.877075 3.84216 3.84222 0.877014 7.49991 0.877014ZM7.09998 1.84089V6.53429L3.78135 3.21565C4.68298 2.43239 5.83429 1.92904 7.09998 1.84089ZM1.84095 7.09997H6.5343L3.21567 3.78134C2.43242 4.68298 1.92909 5.83428 1.84095 7.09997ZM1.84097 7.89997C1.92916 9.16562 2.43253 10.3169 3.21579 11.2185L6.5343 7.89997H1.84097ZM7.09998 13.1588V8.46566L3.78149 11.7842C4.6831 12.5673 5.83435 13.0707 7.09998 13.1588ZM7.89998 13.1588C9.16559 13.0706 10.3168 12.5673 11.2184 11.7841L7.89998 8.46566V13.1588ZM13.1588 7.89997H8.46567L11.7841 11.2184C12.5673 10.3168 13.0707 9.16558 13.1588 7.89997ZM13.1589 7.09997C13.0707 5.83432 12.5674 4.68305 11.7842 3.78143L8.46567 7.09997H13.1589ZM7.89998 1.8409V6.53429L11.2185 3.21573C10.3169 2.43246 9.16565 1.92909 7.89998 1.8409Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ColorWheel;\n","const Cross2 = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Cross2;\n","const InfoCircled = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.49992 5.24999C7.08571 5.24999 6.74992 4.9142 6.74992 4.49999C6.74992 4.08577 7.08571 3.74999 7.49992 3.74999C7.91413 3.74999 8.24992 4.08577 8.24992 4.49999C8.24992 4.9142 7.91413 5.24999 7.49992 5.24999ZM7.50003 5.99999C7.77618 5.99999 8.00003 6.22384 8.00003 6.49999V9.99999H9.00003V11H6.00003V9.99999H7.00003V6.99999H6.00003V5.99999H7.50003ZM0.877075 7.49972C0.877075 11.1574 3.84222 14.1226 7.49991 14.1226C11.1576 14.1226 14.1227 11.1574 14.1227 7.49972C14.1227 3.84204 11.1576 0.876892 7.49991 0.876892C3.84222 0.876892 0.877075 3.84204 0.877075 7.49972ZM7.49991 1.82689C10.6329 1.82689 13.1727 4.36671 13.1727 7.49972C13.1727 10.6327 10.6329 13.1726 7.49991 13.1726C4.36689 13.1726 1.82707 10.6327 1.82707 7.49972C1.82707 4.36671 4.36689 1.82689 7.49991 1.82689Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default InfoCircled;\n","const ListBullet = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.25 4.5C2.25 4.08579 1.91421 3.75 1.5 3.75C1.08579 3.75 0.75 4.08579 0.75 4.5C0.75 4.91421 1.08579 5.25 1.5 5.25C1.91421 5.25 2.25 4.91421 2.25 4.5ZM4.5 4H13.5C13.7761 4 14 4.22386 14 4.5C14 4.77614 13.7761 5 13.5 5H4.5C4.22386 5 4 4.77614 4 4.5C4 4.22386 4.22386 4 4.5 4ZM4 7.5C4 7.77614 4.22386 8 4.5 8H13.5C13.7761 8 14 7.77614 14 7.5C14 7.22386 13.7761 7 13.5 7H4.5C4.22386 7 4 7.22386 4 7.5ZM4 10.5C4 10.7761 4.22386 11 4.5 11H13.5C13.7761 11 14 10.7761 14 10.5C14 10.2239 13.7761 10 13.5 10H4.5C4.22386 10 4 10.2239 4 10.5ZM1.5 8.25C1.08579 8.25 0.75 7.91421 0.75 7.5C0.75 7.08579 1.08579 6.75 1.5 6.75C1.91421 6.75 2.25 7.08579 2.25 7.5C2.25 7.91421 1.91421 8.25 1.5 8.25ZM2.25 10.5C2.25 10.0858 1.91421 9.75 1.5 9.75C1.08579 9.75 0.75 10.0858 0.75 10.5C0.75 10.9142 1.08579 11.25 1.5 11.25C1.91421 11.25 2.25 10.9142 2.25 10.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default ListBullet;\n","const Pencil1 = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.1465 1.14645L3.71455 8.57836C3.62459 8.66832 3.55263 8.77461 3.50251 8.89155L2.04044 12.303C1.9599 12.491 2.00189 12.709 2.14646 12.8536C2.29103 12.9981 2.50905 13.0401 2.69697 12.9596L6.10847 11.4975C6.2254 11.4474 6.3317 11.3754 6.42166 11.2855L13.8536 3.85355C14.0488 3.65829 14.0488 3.34171 13.8536 3.14645L11.8536 1.14645C11.6583 0.951184 11.3417 0.951184 11.1465 1.14645ZM11.5 2.20711L12.7929 3.5L5.71455 10.5784L4.21924 11.2192L3.78081 10.7808L4.42166 9.28547L11.5 2.20711Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Pencil1;\n","const Percentage = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <circle cx={4.85355} cy={4.5} r={1.5} fill=\"currentColor\" />\n <circle cx={9.85355} cy={10.5} r={1.5} fill=\"currentColor\" />\n <path\n d=\"M3 11.6464L11 3.64642\"\n stroke=\"currentColor\"\n strokeLinecap=\"round\"\n />\n </svg>\n);\n\nexport default Percentage;\n","const Plus = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M7.5 2.25C7.22386 2.25 7 2.47386 7 2.75V7H2.75C2.47386 7 2.25 7.22386 2.25 7.5C2.25 7.77614 2.47386 8 2.75 8H7V12.25C7 12.5261 7.22386 12.75 7.5 12.75C7.77614 12.75 8 12.5261 8 12.25V8H12.25C12.5261 8 12.75 7.77614 12.75 7.5C12.75 7.22386 12.5261 7 12.25 7H8V2.75C8 2.47386 7.77614 2.25 7.5 2.25Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Plus;\n","const Slider = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.49988 10.2504C7.1516 10.2504 6.0299 9.28026 5.79473 7.99997H0.5C0.223858 7.99997 0 7.77611 0 7.49997C0 7.22383 0.223858 6.99997 0.5 6.99997H5.7947C6.0298 5.71959 7.15154 4.74939 8.49988 4.74939C9.84822 4.74939 10.97 5.71959 11.2051 6.99997H14.5C14.7761 6.99997 15 7.22383 15 7.49997C15 7.77611 14.7761 7.99997 14.5 7.99997H11.205C10.9699 9.28026 9.84816 10.2504 8.49988 10.2504ZM8.49988 9.30038C7.50549 9.30038 6.69938 8.49427 6.69938 7.49988C6.69938 6.5055 7.50549 5.69939 8.49988 5.69939C9.49426 5.69939 10.3004 6.5055 10.3004 7.49988C10.3004 8.49427 9.49426 9.30038 8.49988 9.30038Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Slider;\n","const Tailwind = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n d=\"M4 5.33333C4.4 3.77778 5.4 3 7 3C9.4 3 9.7 4.75 10.9 5.04167C11.7 5.23611 12.4 4.94444 13 4.16667C12.6 5.72222 11.6 6.5 10 6.5C7.6 6.5 7.3 4.75 6.1 4.45833C5.3 4.26389 4.6 4.55556 4 5.33333ZM1 8.83333C1.4 7.27778 2.4 6.5 4 6.5C6.4 6.5 6.7 8.25 7.9 8.54167C8.7 8.73611 9.4 8.44444 10 7.66667C9.6 9.22222 8.6 10 7 10C4.6 10 4.3 8.25 3.1 7.95833C2.3 7.76389 1.6 8.05556 1 8.83333Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Tailwind;\n","const Trash = (props) => (\n <svg\n width={props.width || '1em'}\n height={props.height || '1em'}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n role=\"img\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5 1.5C5 1.77614 5.22386 2 5.5 2H9.5C9.77614 2 10 1.77614 10 1.5C10 1.22386 9.77614 1 9.5 1H5.5C5.22386 1 5 1.22386 5 1.5ZM3.5 3H11.5C11.7761 3 12 3.22386 12 3.5C12 3.77614 11.7761 4 11.5 4H11V12C11 12.5523 10.5523 13 10 13H5C4.44772 13 4 12.5523 4 12V4L3.5 4C3.22386 4 3 3.77614 3 3.5C3 3.22386 3.22386 3 3.5 3ZM10 4V12H5V4H10Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport default Trash;\n","import { forwardRef } from '@wordpress/element';\nimport classNames from 'classnames';\n\ntype TextControlProps = {\n className?: string;\n inputClassName?: string;\n value: any;\n children?: React.ReactNode;\n onChange?: (value: string) => void;\n onClick?: () => void;\n readOnly?: boolean;\n placeholder?: string;\n onBlur?: (value) => void;\n type?: string;\n label?: string;\n helper?: string;\n [key: string]: any;\n};\n\nexport const TextControl = forwardRef<HTMLInputElement, TextControlProps>(\n (\n {\n onClick,\n onChange,\n className,\n value,\n children,\n inputClassName,\n readOnly,\n placeholder,\n onBlur,\n type = 'text',\n label,\n helper = '',\n ...props\n },\n ref\n ) => {\n const fieldId = `text-control-${Math.random()\n .toString(36)\n .substring(2, 15)}`;\n\n return (\n <div\n className={classNames('flex items-center p-0', className)}\n {...props}\n >\n {label ? (\n <label htmlFor={fieldId} className=\"text-primary !m-0 !mb-0 !mr-2\">\n {label}\n </label>\n ) : null}\n <input\n id={fieldId}\n className={classNames(\n 'components-text-control__input',\n inputClassName\n )}\n type={type}\n value={value}\n placeholder={placeholder}\n onFocus={() => onClick && onClick()}\n onBlur={(e) => {\n if (onClick) onClick();\n if (onBlur) onBlur(e.target.value);\n }}\n onChange={(e) => onChange && onChange(e.target.value)}\n readOnly={readOnly}\n ref={ref}\n />\n {children}\n {helper && <p className=\"text-primary !m-0 !mb-0 text-xs\">{helper}</p>}\n </div>\n );\n }\n);\n\nTextControl.displayName = 'TextControl'; // Recommended for debugging\n","import { Plus as PlusIcon, Trash as TrashIcon } from '@blockbite/icons';\nimport { Button } from '@wordpress/components';\nimport { useRef, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Badge } from './Badge.js';\nimport { TextControl } from './TextControl.js';\nimport { Wrap } from './Wrap.js';\n\ntype DataListProps<T extends { id: string | number; title?: string }> = {\n data: T[];\n active: T;\n setActive: (item: T | undefined) => void;\n onCreate: () => void;\n onDelete: (id: T['id']) => void;\n onUpdate: (id: T['id'], updates: Partial<T>) => void;\n onSwitch: (prevId: T['id'], updates: Partial<T>) => void;\n renderItemActions?: (item: T) => React.ReactNode;\n addons?: JSX.Element;\n className?: string;\n footerSlot?: React.ReactNode;\n footerSlotClassName?: string;\n badge?: string;\n};\n\nexport const DataItemList = <\n T extends { id: string | number; title?: string },\n>({\n data,\n active,\n setActive,\n onCreate,\n onDelete,\n onUpdate,\n onSwitch,\n renderItemActions,\n addons,\n className = '',\n footerSlot,\n footerSlotClassName = '',\n badge = '',\n}: DataListProps<T>) => {\n const [rename, setRename] = useState<{ id: T['id']; title: string }>({\n id: '' as T['id'],\n title: '',\n });\n const [isSaving, setIsSaving] = useState(false);\n const textRef = useRef<HTMLInputElement | null>(null);\n\n const handleAdd = () => {\n onCreate();\n };\n\n const handleRemove = () => {\n if (!active || data.length === 0) return;\n\n const newData = data.filter((d) => d.id !== active?.id);\n const currentIndex = data.findIndex((d) => d.id === active?.id);\n const nextActive = newData[currentIndex] || newData[0];\n\n onDelete(active.id);\n setActive(nextActive);\n };\n\n const handleRenameBlur = (value: string) => {\n setIsSaving(true);\n if (rename.id) {\n onUpdate(rename.id, { title: value } as Partial<T>);\n }\n\n setTimeout(() => {\n setRename({ id: '' as T['id'], title: '' });\n setIsSaving(false);\n }, 500);\n };\n\n const renderBadge = (item) => {\n if (!badge || !item[badge]) return null;\n return <Badge className=\"ml-2 max-w-[80px] text-sm\">{item[badge]}</Badge>;\n };\n\n return (\n <Wrap\n important\n className={classNames('flex flex-col justify-between h-full', className)}\n >\n <ul className=\"h-[calc(100%-80px)] divide-y overflow-auto\">\n {addons}\n {data.length > 0 && (\n <li>\n <ul className=\"divide-y divide-border border-b border-border\">\n {data.map((item) => (\n <li\n key={`data__${item.id}`}\n className={classNames(\n 'relative !mb-0 flex items-center justify-between gap-1 bg-opacity-50 hover:bg-easy',\n {\n 'bg-[#1e40af]/20': item.id === active?.id,\n }\n )}\n >\n <div className=\"flex-1 relative\">\n <button\n className=\"text-gray-medium w-full truncate px-3 py-2 text-left text-sm/6 font-semibold hover:text-wordpress\"\n onClick={() => {\n onSwitch(active?.id, { ...active });\n setActive(item);\n }}\n onDoubleClick={() => {\n setRename({ id: item.id, title: item.title || '' });\n }}\n >\n {isSaving && rename.id === item.id ? (\n <span className=\"animate-pulse text-gray-medium\">\n {rename.title} {renderBadge(item)}\n </span>\n ) : (\n <span className=\"text-gray-medium\">\n {item.title || 'Untitled'} {renderBadge(item)}\n </span>\n )}\n </button>\n {rename.id === item.id && !isSaving && (\n <TextControl\n className=\"absolute left-1 top-0 w-[calc(100%-.5rem)] h-full\"\n inputClassName=\"w-full\"\n defaultValue={rename.title}\n onChange={(value) =>\n setRename({ ...rename, title: value })\n }\n ref={textRef}\n onBlur={() => handleRenameBlur(rename.title)}\n />\n )}\n </div>\n {renderItemActions && (\n <div className=\"flex gap-1 pr-1\">\n {renderItemActions(item)}\n </div>\n )}\n </li>\n ))}\n </ul>\n </li>\n )}\n </ul>\n <div\n className={classNames(\n 'flex flex-wrap justify-center gap-2 p-2',\n footerSlotClassName\n )}\n >\n {footerSlot}\n <Button\n onClick={handleAdd}\n icon={<PlusIcon className=\"h-4 w-4\" />}\n variant=\"tertiary\"\n size=\"compact\"\n >\n Add\n </Button>\n <Button\n onClick={handleRemove}\n icon={<TrashIcon className=\"h-4 w-4\" />}\n variant=\"tertiary\"\n size=\"compact\"\n disabled={!active || data.length === 0}\n >\n Remove\n </Button>\n </div>\n </Wrap>\n );\n};\n\nexport default DataItemList;\n","import { useEffect, useRef, useState } from '@wordpress/element';\nimport classNames from 'classnames';\nimport { Wrap } from './Wrap.js';\n\ntype DisappearingMessageProps = {\n message?: string;\n className?: string;\n duration?: number;\n children?: React.ReactNode;\n show: boolean;\n onClose?: () => void;\n};\n\nexport const DisappearingMessage = ({\n duration = 3000,\n className,\n children,\n show,\n message,\n onClose,\n}: DisappearingMessageProps) => {\n const [isShowing, setIsShowing] = useState(false);\n const hasMounted = useRef(false);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n useEffect(() => {\n hasMounted.current = true;\n }, []);\n\n useEffect(() => {\n if (!hasMounted.current) return;\n\n if (show) {\n setIsShowing(true);\n timeoutRef.current = setTimeout(() => {\n setIsShowing(false);\n onClose?.();\n }, duration);\n }\n\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n }, [show, duration, onClose]);\n\n if (!isShowing) return null;\n\n return (\n <Wrap\n important\n className={classNames('bb-ui__disappearing-message', className)}\n >\n <div className=\"bb-ui__disappearing-message__content\">\n {message ?? children}\n </div>\n </Wrap>\n );\n};\n","import { ChevronDown as ChevronDownIcon } from '@blockbite/icons';\nimport { DropdownMenu } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Icon } from './Icon.js';\n\ntype DropdownPickerProps = {\n label?: string;\n className?: string;\n value: string;\n defaultIcon?: any;\n size?: 'small' | 'medium' | 'large';\n options: {\n icon?: React.ReactElement;\n label: string;\n subtitle?: string;\n value: string;\n }[];\n onPressedChange: (value: string | null) => void; // Updated to allow `null` for reset\n [x: string]: any;\n};\n\nexport const DropdownPicker = ({\n label,\n className,\n value,\n defaultIcon = ChevronDownIcon,\n size = 'medium',\n onPressedChange,\n options,\n ...rest\n}: DropdownPickerProps) => {\n const [currentOption, setCurrentOption] = useState<string | null>(null);\n\n useEffect(() => {\n setCurrentOption(value);\n }, [value]);\n\n const allOptions = [\n ...options.map((option) => ({\n icon: option.icon,\n label: option.label,\n title: option.label,\n value: option.value,\n onClick: () => {\n setCurrentOption(option.value);\n onPressedChange(option.value);\n },\n })),\n {\n icon: <Icon icon={defaultIcon} />,\n title: 'Reset',\n value: 'reset',\n onClick: () => {\n setCurrentOption('reset');\n onPressedChange('reset');\n },\n },\n ];\n\n let iconSize = '1em';\n if (size === 'medium') {\n iconSize = '1.5em';\n } else if (size === 'large') {\n iconSize = '2em';\n }\n\n return (\n <DropdownMenu\n controls={allOptions}\n className={classNames('blockbite-ui__dropdown-picker', className)}\n icon={\n options.find((option) => option.value === currentOption)?.icon || (\n <Icon width={iconSize} height={iconSize} icon={defaultIcon} />\n )\n }\n label={label || 'Select'}\n {...rest}\n />\n );\n};\n","type Props = {\n icon?: JSX.Element;\n title: string;\n description: string;\n children?: React.ReactNode;\n [key: string]: any;\n};\n\nexport function EmptyState({\n icon,\n title,\n description,\n children = null,\n ...rest\n}: Props) {\n return (\n <div {...rest}>\n <div className=\"flex h-full w-full flex-col items-center justify-center text-center !font-sans\">\n <div className=\"max-w-sm\">\n {icon && <div className=\"mx-auto !text-gray-400\">{icon}</div>}\n <h3 className=\"text-gray-medium !mt-2 !mb-0 !font-sans !text-lg !font-medium !normal-case\">\n {title}\n </h3>\n <p className=\"!mt-1 !font-sans !text-sm !text-gray-500\">\n {description}\n </p>\n {children && <div className=\"mt-4\">{children}</div>}\n </div>\n </div>\n </div>\n );\n}\n","import { useEffect, useRef, useState } from '@wordpress/element';\n\ntype DraggablePanelProps = {\n children: React.ReactNode;\n};\n\nexport function FloatingPanel({\n children,\n}: DraggablePanelProps & {\n children: React.ReactNode;\n}) {\n const panelRef = useRef(null);\n const [position, setPosition] = useState({ x: 100, y: 100 });\n const [dragging, setDragging] = useState(false);\n const [offset, setOffset] = useState({ x: 0, y: 0 });\n\n useEffect(() => {\n const handleMouseMove = (e) => {\n if (dragging) {\n setPosition({\n x: e.clientX - offset.x,\n y: e.clientY - offset.y,\n });\n }\n };\n\n const handleMouseUp = () => setDragging(false);\n\n window.addEventListener('mousemove', handleMouseMove);\n window.addEventListener('mouseup', handleMouseUp);\n\n return () => {\n window.removeEventListener('mousemove', handleMouseMove);\n window.removeEventListener('mouseup', handleMouseUp);\n };\n }, [dragging, offset]);\n\n const startDragging = (e) => {\n const rect = panelRef.current.getBoundingClientRect();\n setOffset({ x: e.clientX - rect.left, y: e.clientY - rect.top });\n setDragging(true);\n };\n\n return (\n <div>\n <div\n ref={panelRef}\n className=\"fixed bg-white shadow-xl rounded-2xl p-4 w-[400px] h-[550px] z-[9999]\"\n style={{ left: position.x, top: position.y }}\n >\n {children}\n <div\n className=\"absolute top-1 right-1 cursor-move w-5 h-5 bg-gray-300 rounded\"\n onMouseDown={startDragging}\n ></div>\n </div>\n </div>\n );\n}\n","import { FocalPointPicker } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\ntype FocalPointControlProps = {\n value: string;\n onValueChange: (value: string) => void;\n url?: string;\n};\n\nexport const FocalPointControl: React.FC<FocalPointControlProps> = ({\n value,\n onValueChange,\n url,\n}) => {\n const [focalPoint, setFocalPoint] = useState({\n x: 0.5,\n y: 0.5,\n });\n\n // Sync local state with controlled value prop\n useEffect(() => {\n if (value && value.includes('%')) {\n const [x, y] = value\n .replace('[', '')\n .replace('%]', '')\n .split('_')\n .map((v: string) => parseFloat(v) / 100);\n setFocalPoint({ x, y });\n }\n }, [value]);\n\n // Notify parent on local state change\n useEffect(() => {\n onValueChange(\n `[${(focalPoint.x * 100).toFixed(2)}%_${(focalPoint.y * 100).toFixed(2)}%]`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focalPoint]);\n\n return (\n <Wrap className=\"relative flex flex-col\">\n <FocalPointPicker\n url={url}\n value={focalPoint}\n onDrag={setFocalPoint}\n onChange={setFocalPoint}\n />\n </Wrap>\n );\n};\n\nexport default FocalPointControl;\n","import classNames from 'classnames';\n\ntype LabelProps = {\n children?: React.ReactNode;\n className?: string;\n title?: string;\n};\n\nexport const Label = ({ children, title, className }: LabelProps) => {\n return (\n <span\n className={classNames(\n 'text-[11px] font-medium uppercase leading-snug flex gap-2 items-center',\n className\n )}\n >\n {title ? title : children}\n </span>\n );\n};\n","import apiFetch from '@wordpress/api-fetch';\nimport { TextControl } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Wrap } from './Wrap.js';\n\nexport function LinkPicker(props) {\n const [activeKeyword, setActiveKeyword] = useState('');\n const [links, setLinks] = useState<\n Array<{ id: number; url: string; title: string; post_type: string }>\n >([]);\n const [activeLink, setActiveLink] = useState({\n url: '',\n title: '',\n });\n\n useEffect(() => {\n if (activeKeyword === '') return;\n setLinks(null);\n (apiFetch as any)({\n path: `/blockbite/v1/block-helpers/get-links/${activeKeyword}`,\n }).then(\n (\n fetchedLinks: Array<{\n id: number;\n url: string;\n title: string;\n post_type: string;\n }> | null\n ) => {\n if (fetchedLinks?.length) {\n setLinks([...fetchedLinks]);\n } else {\n setLinks([]);\n }\n }\n );\n }, [activeKeyword]);\n\n useEffect(() => {\n if (activeLink.url !== '') {\n props.parentCallback(activeLink);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeLink]);\n\n return (\n <Wrap className=\"blockbite--editor-linkwrap\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={__('Search link', 'blockbitelinks')}\n value={activeKeyword}\n placeholder=\"Example: About\"\n onChange={(value) => setActiveKeyword(value)}\n help={__('Type a post, page, title', 'blockbitelinks')}\n />\n {activeKeyword ? (\n <div className=\"blockbite--editor-linklist\">\n <LinkList\n links={links}\n onActiveLink={(link) => [\n setActiveLink({ ...link }),\n setActiveKeyword(''),\n ]}\n />\n </div>\n ) : null}\n </Wrap>\n );\n}\nfunction LinkList({ links, onActiveLink }) {\n if (links === null) {\n return <p>Loading...</p>;\n } else if (links.length === 0) {\n return <p>No Results</p>;\n }\n\n const list = links.map((link) => (\n <Wrap key={link.id}>\n <span\n className=\"blockbite--editor-link\"\n onClick={() => onActiveLink(link)}\n >\n dwddw\n <span>{link.title}</span>\n <span className=\"blockbite--preview-link\">{link.url}</span>\n <span className=\"blockbite--preview-link\">{link.post_type}</span>\n </span>\n </Wrap>\n ));\n\n return <>{list}</>; // ✅ Wrapped\n}\n","import { MediaUpload, MediaUploadCheck } from '@wordpress/block-editor';\nimport { Button, PanelRow } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nexport function MediaPicker({ mediaProps, mediaCallback }) {\n const allowedTypes = [\n 'image',\n 'video',\n 'image/svg+xml',\n 'svg',\n 'text/plain',\n 'application/json',\n ];\n\n // Initialize with id: 0 to match the logic in the render conditions\n const [stateMedia, setStateMedia] = useState({\n id: null,\n url: '',\n sizes: [],\n alt: '',\n type: '',\n width: 0,\n height: 0,\n });\n\n useEffect(() => {\n if (mediaProps) {\n setStateMedia({ ...mediaProps });\n }\n }, [mediaProps]);\n\n // Image handlers\n const removeMedia = () => {\n const mediaObj = {\n id: null,\n mediaId: 0,\n mediaUrl: '',\n url: '',\n alt: '',\n type: '',\n width: 0,\n height: 0,\n };\n mediaCallback({ ...mediaObj });\n };\n\n // On select media\n const onSelectMedia = (media) => {\n const safeSizes = {\n thumbnail: null,\n medium: null,\n large: null,\n };\n\n // Normalize Sizes\n if (media?.sizes) {\n Object.keys(media.sizes).forEach((key) => {\n const sizeObject = media.sizes[key];\n if (key === 'thumbnail') {\n safeSizes.thumbnail = sizeObject.url;\n } else if (sizeObject.width < 768 || sizeObject.height < 768) {\n safeSizes.thumbnail = sizeObject.url;\n }\n if (key === 'medium') {\n safeSizes.medium = sizeObject.url;\n } else if (\n (sizeObject.width > 1024 && sizeObject.width < 1024) ||\n (sizeObject.height < 1536 && sizeObject.height > 1536)\n ) {\n safeSizes.medium = sizeObject.url;\n }\n if (key === 'large') {\n safeSizes.large = sizeObject.url;\n } else if (sizeObject.width > 1536 || sizeObject.height > 1536) {\n safeSizes.large = sizeObject.url;\n }\n });\n }\n\n // Set type based on file extension\n let mediaType = media.type;\n if (media.url.endsWith('.json')) {\n mediaType = 'lottie';\n } else if (media.url.endsWith('.svg')) {\n mediaType = 'svg';\n }\n\n const mediaObj = {\n id: media.id,\n url: media.url,\n sizes: safeSizes,\n alt: media.alt,\n type: mediaType,\n width: media.width,\n height: media.height,\n };\n\n mediaCallback({ ...mediaObj });\n };\n\n return (\n <PanelRow className=\"gap-2\">\n <MediaUploadCheck>\n <MediaUpload\n onSelect={onSelectMedia}\n value={stateMedia.id}\n allowedTypes={allowedTypes}\n render={({ open }) => (\n <Button\n className={\n !stateMedia.id\n ? 'editor-post-featured-image__toggle'\n : 'editor-post-featured-image__preview'\n }\n onClick={open}\n >\n {!!stateMedia.id && stateMedia.type === 'image' ? (\n <div className=\"blockbite--editor-visual-image\">\n <img\n alt={\n stateMedia.alt ? stateMedia.alt : __('Image', 'blockbite')\n }\n src={stateMedia.url}\n />\n </div>\n ) : (\n __('Add media', 'blockbite')\n )}\n </Button>\n )}\n />\n </MediaUploadCheck>\n\n {/* Show pencil/trash icons if stateMedia.id is truthy */}\n {!!stateMedia.id && (\n <>\n <MediaUploadCheck>\n <MediaUpload\n value={stateMedia.id}\n onSelect={onSelectMedia}\n allowedTypes={allowedTypes}\n render={({ open }) => (\n <Button\n onClick={open}\n icon=\"edit\"\n title={__('Replace media', 'blockbite')}\n />\n )}\n />\n </MediaUploadCheck>\n <MediaUploadCheck>\n <Button\n onClick={() => removeMedia()}\n isDestructive\n icon=\"trash\"\n title={__('Remove media', 'blockbite')}\n />\n </MediaUploadCheck>\n </>\n )}\n </PanelRow>\n );\n}\n","// Popover.tsx\nimport { Cross2 } from '@blockbite/icons';\nimport { Button, Popover as WordpressPopover } from '@wordpress/components';\n\ntype PopoverProps = {\n children: React.ReactNode;\n className?: string;\n position?: any;\n visible: boolean; // controlled\n anchor?: HTMLElement | null; // anchor element for positioning\n onClose?: () => void; // simple close callback\n onVisibleChange?: (value: boolean) => void; // compatibility with old API\n offset?: number;\n};\n\nexport const Popover: React.FC<PopoverProps> = ({\n children,\n className,\n position,\n visible,\n anchor,\n onClose,\n onVisibleChange,\n offset,\n}) => {\n if (!visible) return null;\n\n const handleClose = () => {\n onClose?.();\n onVisibleChange?.(false);\n };\n\n return (\n <WordpressPopover\n position={position}\n className=\"blockbite-ui__popover\"\n anchor={anchor}\n onFocusOutside={handleClose}\n offset={offset}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.key === 'Escape') handleClose();\n }}\n >\n <div className={className}>\n <div className=\"relative h-full w-full p-4\">\n <Button\n onClick={handleClose}\n size=\"small\"\n className=\"close-button absolute right-2 top-2 !p-0 !min-w-0 !h-6 w-6 inline-flex items-center justify-center\"\n >\n <Cross2 className=\"w-4 h-4\" />\n </Button>\n {children}\n </div>\n </div>\n </WordpressPopover>\n );\n};\n\nexport default Popover;\n","import { useEffect, useState } from '@wordpress/element';\nimport { Wrap } from './Wrap.js';\n\nimport { RangeControl as WordpressRangeControl } from '@wordpress/components';\n\nexport type RangeControlType = {\n value: string;\n label: string;\n min: number;\n max: number;\n withInputField?: boolean;\n onValueChange: (value: string) => void;\n onReset?: () => void;\n allowReset?: boolean;\n gridMode?: boolean;\n showTooltip?: boolean;\n [key: string]: any;\n};\n\nexport const RangeSlider: React.FC<RangeControlType> = ({\n value,\n label,\n min = 0,\n max = 2000,\n withInputField = false,\n onValueChange,\n onReset,\n allowReset = false,\n gridMode = false,\n showTooltip = false,\n ...props\n}) => {\n // Use a sentinel value to detect reset button clicks\n const RESET_SENTINEL = -999;\n const [resetFallbackValue] = useState(RESET_SENTINEL);\n const [rangeValue, setRangeValue] = useState<number>(0);\n\n // Sync local state with controlled value prop\n useEffect(() => {\n setRangeValue(Math.round(parseInt(value) / (gridMode ? 16 : 1)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n // convert back to arbitrary unit\n function handleRangeUpdate(val: number) {\n // Detect reset button click via sentinel value\n if (val === RESET_SENTINEL) {\n // Call the onReset callback if provided\n if (onReset) {\n onReset();\n } else {\n onValueChange('');\n }\n return;\n }\n\n const gridValue = val * (gridMode ? 16 : 1);\n onValueChange(gridValue.toString());\n }\n\n return (\n <Wrap className=\"flex min-w-[240px] flex-col\">\n <WordpressRangeControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={label}\n value={rangeValue}\n min={min}\n max={max}\n showTooltip={showTooltip}\n withInputField={withInputField}\n allowReset={allowReset}\n onChange={(val) => {\n setRangeValue(val);\n handleRangeUpdate(val);\n }}\n resetFallbackValue={resetFallbackValue}\n {...props}\n />\n <span>{gridMode ? `${rangeValue * 16}px` : null} </span>\n </Wrap>\n );\n};\n","import {\n ColorWheel as ColorWheelIcon,\n InfoCircled as InfoCircledIcon,\n ListBullet as ListBulletIcon,\n Percentage as PercentageIcon,\n Slider as SliderIcon,\n Tailwind as TailwindUnitIcon,\n} from '@blockbite/icons';\nimport {\n Button,\n __experimentalInputControl as InputControl,\n __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useEffect, useMemo, useRef, useState } from '@wordpress/element';\nimport { ButtonToggleGroup } from './ButtonToggle.js';\nimport { ChapterDivider } from './ChapterDivider.js';\nimport { Popover } from './Popover.js';\nimport { RangeSlider } from './RangeSlider.js';\n\ntype MetricsControlProps = {\n value: string;\n inputClassName?: string;\n classGroupControl?: any;\n onValueChange: (value: string) => void;\n tailwindUi?: any;\n getThemeOptions?: any;\n};\n\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/;\nconst shadowRegex =\n /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = (value: string) => fractionRegex.test(value);\nconst isNumber = (value: string) => !!value && !Number.isNaN(Number(value));\nconst isPercent = (value: string) =>\n !!value && value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = (value: string) => tshirtUnitRegex.test(value);\nconst CSS_UNITS = [\n { value: 'px', label: 'Pixels' },\n { value: 'rem', label: 'Root EM' },\n { value: 'em', label: 'Relative to font size' },\n { value: '%', label: 'Percentage' },\n { value: 'vh', label: 'Viewport Height' },\n { value: 'vw', label: 'Viewport Width' },\n { value: 'ch', label: 'Character Width' },\n { value: 'ex', label: 'x-height' },\n { value: 'dvh', label: 'Dynamic Viewport Height' },\n { value: 'dvw', label: 'Dynamic Viewport Width' },\n { value: 'svh', label: 'Small Viewport Height' },\n { value: 'svw', label: 'Small Viewport Width' },\n { value: 'lvh', label: 'Large Viewport Height' },\n { value: 'lvw', label: 'Large Viewport Width' },\n];\n\nexport const MetricsControl: React.FC<MetricsControlProps> = ({\n value: propValue,\n onValueChange,\n inputClassName = '',\n classGroupControl,\n tailwindUi = {},\n}) => {\n const [isVisible, setIsVisible] = useState(false);\n const [localUnit, setLocalUnit] = useState<string>('arbitrary');\n const [localText, setLocalText] = useState<string>('');\n const [rawValue, setRawValue] = useState<string>('');\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n // Manual overrides from uiSchema\n const {\n manualFraction,\n manualOptions,\n manualRange,\n manualCssVars,\n manualArbitrary,\n placeholder,\n } = classGroupControl?.metadata || {\n manualFraction: true,\n manualOptions: true,\n manualRange: true,\n manualCssVars: true,\n manualArbitrary: true,\n placeholder: '0',\n };\n\n useEffect(() => {\n setLocalText(getUserFriendlyValue(propValue));\n setRawValue(propValue);\n setLocalUnit(detectUnitFromRawValue(propValue));\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n }, [propValue]);\n\n const normOptions = useMemo(\n () => classGroupControl?.options || [],\n [classGroupControl?.options]\n );\n const supportsArbitrary = useMemo(\n () =>\n hasValidator(classGroupControl?.validators, [\n 'isArbitraryVariable',\n 'isArbitraryValue',\n 'themeGetter',\n ]),\n [classGroupControl?.validators]\n );\n const supportsFraction = useMemo(\n () => hasValidator(classGroupControl?.validators, ['isFraction']),\n [classGroupControl?.validators]\n );\n const supportsTheme = useMemo(\n () => hasValidator(classGroupControl?.validators, ['themeGetter']),\n [classGroupControl?.validators]\n );\n\n function hasValidator(validators: any[] | undefined, names: string[]) {\n if (!validators) return false;\n return validators.some((v) => {\n if (typeof v === 'function' && typeof v.name === 'string') {\n return names.includes(v.name);\n }\n return false;\n });\n }\n\n const getUserFriendlyValue = (raw: string): string => {\n if (!raw) return '';\n\n const arbMatch = raw.match(arbitraryValueRegex);\n if (arbMatch) return arbMatch[2];\n const varMatch = raw.match(arbitraryVariableRegex);\n if (varMatch) return varMatch[2];\n return raw;\n };\n\n const getRawValue = (userFriendly: string): string => {\n if (!userFriendly) return '';\n\n const trimmed = userFriendly.trim();\n\n if (normOptions.some((o) => String(o.value) === trimmed)) return trimmed;\n if (trimmed.startsWith('--')) return `(${trimmed})`;\n if (isNumber(trimmed) && !lengthUnitRegex.test(trimmed)) return trimmed;\n if (lengthUnitRegex.test(trimmed)) return `[${trimmed}]`;\n return userFriendly;\n };\n\n const detectUnitFromRawValue = (raw: string): string => {\n const trimmed = (raw || '').trim();\n if (normOptions.some((o) => String(o.value) === trimmed)) return 'list';\n if (trimmed.startsWith('--')) return 'arbitrary';\n if (isFraction(trimmed)) return 'fraction';\n if (isNumber(trimmed) && !lengthUnitRegex.test(trimmed)) return 'native';\n if (isPercent(trimmed) || lengthUnitRegex.test(trimmed)) return 'arbitrary';\n if (isTshirtSize(trimmed)) return 'native';\n if (colorFunctionRegex.test(trimmed) || /^#([0-9a-f]{3,8})$/i.test(trimmed))\n return 'color';\n if (shadowRegex.test(trimmed) || imageRegex.test(trimmed))\n return 'arbitrary';\n return 'arbitrary';\n };\n\n const isValidValue = (raw: string): boolean => {\n if (isNumber(raw)) return true;\n if (arbitraryValueRegex.test(raw)) return true;\n if (arbitraryVariableRegex.test(raw)) return true;\n if (normOptions.some((o) => String(o.value) === raw)) return true;\n return false;\n };\n\n const handleInputChange = (v: string) => {\n setLocalText(v);\n };\n\n const handleBlur = () => {\n const newRaw = getRawValue(localText);\n if (isValidValue(newRaw)) {\n setRawValue(newRaw);\n onValueChange(newRaw);\n setLocalUnit(detectUnitFromRawValue(newRaw));\n } else {\n setLocalText(rawValue); // Revert to last valid value\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n const newRaw = getRawValue(localText);\n if (isValidValue(newRaw)) {\n setRawValue(newRaw);\n onValueChange(newRaw);\n setLocalUnit(detectUnitFromRawValue(newRaw));\n } else {\n setLocalText(rawValue); // Revert to last valid value\n }\n }\n };\n\n const appendToText = (insertion: string) => {\n const trimmed = localText.trim();\n const isNumeric = !isNaN(Number(trimmed));\n let newText = '';\n\n if (\n localUnit === 'list' ||\n localUnit === 'theme' ||\n trimmed.startsWith('--')\n ) {\n newText = insertion;\n } else if (isNumeric) {\n newText = `${trimmed}${insertion}`;\n } else {\n // Check if the current value has a number with a unit (e.g., \"16ex\", \"2rem\", \"100%\")\n // Extract the numeric part and append the new unit\n const numericMatch = trimmed.match(/^(-?\\d+\\.?\\d*)/);\n if (numericMatch) {\n newText = `${numericMatch[1]}${insertion}`;\n } else {\n newText = insertion;\n }\n }\n\n setLocalText(newText);\n\n // Emit the change immediately for arbitrary units\n const newRaw = getRawValue(newText);\n if (isValidValue(newRaw)) {\n setRawValue(newRaw);\n onValueChange(newRaw);\n setLocalUnit(detectUnitFromRawValue(newRaw));\n }\n\n inputRef.current?.focus();\n };\n\n const setValueDirectly = (v: string) => {\n const userFriendly = getUserFriendlyValue(v);\n const newRaw = getRawValue(userFriendly);\n if (isValidValue(newRaw)) {\n setLocalText(userFriendly);\n setRawValue(newRaw);\n onValueChange(newRaw);\n setLocalUnit(detectUnitFromRawValue(newRaw));\n } else {\n setLocalText(rawValue);\n }\n };\n\n const CurrentUnitIcon = (() => {\n switch (localUnit) {\n case 'fraction':\n return <PercentageIcon />;\n case 'list':\n return <ListBulletIcon />;\n case 'theme':\n return <ColorWheelIcon />;\n case 'arbitrary':\n return <SliderIcon />;\n default:\n return <TailwindUnitIcon />;\n }\n })();\n\n const openPicker = () => setIsVisible(true);\n\n const renderFractionBody = () => {\n if (!supportsFraction) return null;\n return (\n <ButtonToggleGroup\n options={tailwindUi?.units?.spacing?.fraction?.options || []}\n size=\"small\"\n value={localText}\n className=\"mt-0 w-[200px]\"\n onPressedChange={(v: any) => appendToText(String(v))}\n />\n );\n };\n\n const renderListBody = () => (\n <ButtonToggleGroup\n options={normOptions.map((o: any) => ({\n value: o.value,\n label: o.label,\n }))}\n size=\"small\"\n className=\"mt-0 w-[200px]\"\n value={localText}\n onPressedChange={(v: any) => setValueDirectly(String(v))}\n />\n );\n\n const getCustomCssVariables = useMemo(() => {\n // Extract custom CSS variables from computed styles on the document root\n // WordPress adds custom variables from theme.json as CSS custom properties\n try {\n const rootStyles = window.getComputedStyle(document.documentElement);\n const customVars: any[] = [];\n\n // Get all CSS custom properties from :root\n for (let i = 0; i < rootStyles.length; i++) {\n const propertyName = rootStyles[i];\n // Look for --wp--custom-- prefixed variables\n if (propertyName.startsWith('--wp--custom--')) {\n const value = rootStyles.getPropertyValue(propertyName).trim();\n customVars.push({\n value: propertyName,\n label: `${propertyName} (${value})`,\n });\n }\n }\n\n return customVars;\n } catch (error) {\n return [];\n }\n }, []);\n\n const renderThemeInsert = () => {\n // Get custom CSS variables from theme.json\n const customVars = getCustomCssVariables;\n\n // Build the options list: custom variables + placeholder\n const cssVariableOptions = [\n ...customVars,\n {\n value: '--custom-css-var',\n label: '--custom-css-var',\n },\n ];\n\n return (\n <ButtonToggleGroup\n className=\"mt-0 w-[200px]\"\n options={cssVariableOptions}\n size=\"small\"\n value={localText}\n onPressedChange={(v: any) => setValueDirectly(String(v))}\n />\n );\n };\n\n const renderArbitraryUnitButtons = () => (\n <div className=\"flex gap-2\">\n <ButtonToggleGroup\n className=\"mt-0 w-[200px]\"\n options={CSS_UNITS.map((u) => ({\n value: u.value,\n label: u.value,\n tooltip: u.label,\n }))}\n size=\"small\"\n value={localText}\n onPressedChange={(v: any) => appendToText(String(v))}\n />\n </div>\n );\n\n return (\n <div className=\"relative flex flex-col items-baseline\">\n <InputControl\n __next40pxDefaultSize\n className={`${inputClassName} ${\n !isValidValue(getRawValue(localText)) ? 'border-red-500' : ''\n }`}\n value={localText}\n onChange={handleInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n autoComplete=\"off\"\n suffix={\n <InputControlSuffixWrapper>\n <Popover\n offset={10}\n visible={isVisible}\n position=\"bottom left\"\n className=\"overflow-x-hidden w-[280px] max-h-[400px]\"\n onVisibleChange={setIsVisible}\n >\n <div className=\"flex flex-col gap-2\">\n {manualRange && (\n <RangeSlider\n value={localText}\n label=\"Number Value\"\n className=\"w-[200px] mt-4\"\n min={0}\n max={100}\n gridMode={false}\n showTooltip={false}\n // instantly render changes while sliding\n onValueChange={(v: string) => {\n const newRaw = getRawValue(v);\n if (isValidValue(newRaw)) {\n setLocalText(v);\n setRawValue(newRaw);\n onValueChange(newRaw);\n setLocalUnit(detectUnitFromRawValue(newRaw));\n } else {\n setLocalText(v); // Update local state, but don't emit\n }\n }}\n />\n )}\n {supportsFraction && manualFraction && (\n <>\n <ChapterDivider title=\"Fraction\" className=\"mt-2\" />\n {renderFractionBody()}\n </>\n )}\n {normOptions.length > 0 && manualOptions && (\n <>\n <ChapterDivider title=\"Options\" className=\"mt-2\" />\n {renderListBody()}\n </>\n )}\n {supportsArbitrary && manualArbitrary && (\n <>\n <ChapterDivider title=\"Arbitrary Units\" className=\"mt-2\" />\n {renderArbitraryUnitButtons()}\n </>\n )}\n {supportsTheme && manualCssVars && (\n <>\n <ChapterDivider\n title=\"CSS Variables\"\n className=\"mt-2\"\n help={\n getCustomCssVariables.length === 0\n ? 'Add custom CSS variables to theme.json settings.custom'\n : undefined\n }\n addon={\n <a\n href=\"https://developer.wordpress.org/news/2023/08/adding-and-using-custom-settings-in-theme-json/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center text-gray-500 hover:text-gray-700 -mt-1\"\n aria-label=\"Learn how to add custom CSS variables to theme.json\"\n >\n <InfoCircledIcon className=\"w-3.5 h-3.5\" />\n </a>\n }\n />\n {renderThemeInsert()}\n </>\n )}\n </div>\n </Popover>\n <Button\n className=\"!p-0 !min-w-0 !h-6 w-6 inline-flex items-center justify-center\"\n onClick={openPicker}\n aria-label=\"Open units\"\n >\n {CurrentUnitIcon}\n </Button>\n </InputControlSuffixWrapper>\n }\n />\n </div>\n );\n};\n\nexport default MetricsControl;\n","import { Modal as WordpressModal } from '@wordpress/components';\nimport {\n Children,\n createContext,\n isValidElement,\n useContext,\n useEffect,\n useState,\n} from '@wordpress/element';\nimport classNames from 'classnames';\n\ntype ModalContextType = {\n closeModal: () => void;\n openModal: () => void;\n};\n\nconst ModalContext = createContext<ModalContextType | null>(null);\n\nexport const useModalContext = () => {\n const context = useContext(ModalContext);\n if (!context) {\n throw new Error('useModalContext must be used within a ModalProvider');\n }\n return context;\n};\n\ntype ModalProps = {\n children: React.ReactElement | React.ReactElement[];\n onOpenChange?: (checked: boolean) => void;\n title: string;\n className?: string;\n size?: 'small' | 'medium' | 'large' | 'fill' | 'wide';\n [key: string]: any;\n};\n\nexport const Modal: React.FC<ModalProps> = ({\n children,\n onOpenChange,\n title,\n className,\n ...props\n}) => {\n const [isOpen, setOpen] = useState(false);\n\n const openModal = () => setOpen(true);\n const closeModal = () => setOpen(false);\n\n const hasModalFooter = Children.toArray(children).some(\n (child) => isValidElement(child) && child.type === ModalFooter\n );\n\n useEffect(() => {\n onOpenChange?.(isOpen); // Only call if provided\n }, [isOpen, onOpenChange]);\n\n return (\n <ModalContext.Provider value={{ closeModal, openModal }}>\n {/* Render ModalTrigger */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === ModalTrigger ? child : null\n )}\n {isOpen && (\n <WordpressModal\n className={classNames(\n 'blockbite-ui__modal',\n hasModalFooter && 'has-footer',\n props.size && `is-${props.size}`,\n className\n )}\n onRequestClose={closeModal}\n title={title}\n {...props}\n >\n <div className=\"relative\">\n {/* Render ModalHeader */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === ModalHeader ? child : null\n )}\n {/* Render ModalContent */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === ModalContent\n ? child\n : null\n )}\n {/* Render ModalFooter */}\n {Children.map(children, (child) =>\n isValidElement(child) && child.type === ModalFooter ? child : null\n )}\n </div>\n </WordpressModal>\n )}\n </ModalContext.Provider>\n );\n};\n\n// --- Subcomponents ---\n\nexport const ModalHeader: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames(\n 'flex flex-col space-y-1.5 text-center sm:text-left',\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\nexport const ModalFooter: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames(\n 'border-border fixed bottom-0 left-0 right-0 flex h-[4rem] flex-row items-center justify-end gap-2 border-t bg-white px-4',\n className\n )}\n {...props}\n >\n {children}\n </div>\n);\n\nexport const ModalContent: React.FC<{\n children: React.ReactNode;\n className?: string;\n}> = ({ children, className = '', ...props }) => (\n <div\n className={classNames('text-gray-medium px-4 pb-4 text-sm', className)}\n {...props}\n >\n {children}\n </div>\n);\n\nexport const ModalClose: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const { closeModal } = useModalContext();\n return (\n <div onClick={closeModal} className=\"cursor-pointer\">\n {children}\n </div>\n );\n};\n\nexport const ModalTrigger: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const { openModal } = useModalContext();\n return (\n <div onClick={openModal} className=\"cursor-pointer\">\n {children}\n </div>\n );\n};\n","import { createPortal, useEffect, useMemo } from '@wordpress/element';\n\nfunction copyStyles(sourceDoc, targetDoc) {\n Array.from(sourceDoc.styleSheets).forEach((styleSheet: any) => {\n try {\n if (styleSheet.cssRules) {\n const newStyleEl = targetDoc.createElement('style');\n Array.from(styleSheet.cssRules).forEach((cssRule: any) => {\n newStyleEl.appendChild(targetDoc.createTextNode(cssRule.cssText));\n });\n targetDoc.head.appendChild(newStyleEl);\n } else if (styleSheet.href) {\n const newLinkEl = targetDoc.createElement('link');\n newLinkEl.rel = 'stylesheet';\n newLinkEl.href = styleSheet.href;\n targetDoc.head.appendChild(newLinkEl);\n }\n } catch (e) {\n if (styleSheet.href) {\n const newLinkEl = targetDoc.createElement('link');\n newLinkEl.rel = 'stylesheet';\n newLinkEl.href = styleSheet.href;\n targetDoc.head.appendChild(newLinkEl);\n } else {\n // eslint-disable-next-line no-console\n console.warn('Error copying styles:', e);\n }\n }\n });\n}\n\ntype Props = {\n windowInstance: Window;\n onClose: () => void;\n children: React.ReactNode;\n};\n\nexport const NewWindowPortal = ({\n windowInstance,\n onClose,\n children,\n}: Props) => {\n const containerEl = useMemo(() => document.createElement('div'), []);\n\n useEffect(() => {\n const win = windowInstance;\n\n win.document.body.innerHTML = '';\n win.document.body.appendChild(containerEl);\n copyStyles(document, win.document);\n win.document.title = document.title || 'Blockbite Editor';\n\n const handleBeforeUnload = () => {\n setTimeout(onClose, 100);\n };\n\n win.addEventListener('beforeunload', handleBeforeUnload);\n\n return () => {\n win.removeEventListener('beforeunload', handleBeforeUnload);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [windowInstance]);\n\n // Typecasting: https://github.com/vercel/next.js/discussions/64753\n return createPortal(children as any, containerEl);\n};\n","import { Notice as WordpressNotice } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype NoticeProps = {\n children: React.ReactNode;\n className?: string;\n status?: 'success' | 'error' | 'warning' | 'info';\n};\n\nexport const Notice = ({\n children,\n status = 'success',\n className,\n}: NoticeProps) => {\n const [showNotice, setShowNotice] = useState(true);\n\n return (\n <Wrap onClick={() => setShowNotice(false)}>\n {showNotice && (\n <WordpressNotice\n status={status}\n className={classNames(className)}\n onRemove={() => setShowNotice(false)}\n >\n {children}\n </WordpressNotice>\n )}\n </Wrap>\n );\n};\n","import {\n Button,\n __experimentalInputControl as InputControl,\n __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { Path, SVG } from '@wordpress/primitives';\n\ntype PasswordInputProps = {\n label: string;\n value: string;\n onChange: (value: string) => void;\n [key: string]: any;\n};\n\nexport const PasswordInput = ({\n label,\n value,\n onChange,\n ...rest\n}: PasswordInputProps) => {\n const [showPassword, setShowPassword] = useState(false);\n\n return (\n <InputControl\n label={label}\n value={value}\n type={showPassword ? 'text' : 'password'}\n suffix={\n <InputControlSuffixWrapper variant=\"control\">\n <Button\n icon={\n <SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <Path\n d={\n showPassword\n ? 'M3.99961 13C4.67043 13.3354 4.6703 13.3357 4.67017 13.3359L4.67298 13.3305C4.67621 13.3242 4.68184 13.3135 4.68988 13.2985C4.70595 13.2686 4.7316 13.2218 4.76695 13.1608C4.8377 13.0385 4.94692 12.8592 5.09541 12.6419C5.39312 12.2062 5.84436 11.624 6.45435 11.0431C7.67308 9.88241 9.49719 8.75 11.9996 8.75C14.502 8.75 16.3261 9.88241 17.5449 11.0431C18.1549 11.624 18.6061 12.2062 18.9038 12.6419C19.0523 12.8592 19.1615 13.0385 19.2323 13.1608C19.2676 13.2218 19.2933 13.2686 19.3093 13.2985C19.3174 13.3135 19.323 13.3242 19.3262 13.3305L19.3291 13.3359C19.3289 13.3357 19.3288 13.3354 19.9996 13C20.6704 12.6646 20.6703 12.6643 20.6701 12.664L20.6697 12.6632L20.6688 12.6614L20.6662 12.6563L20.6583 12.6408C20.6517 12.6282 20.6427 12.6108 20.631 12.5892C20.6078 12.5459 20.5744 12.4852 20.5306 12.4096C20.4432 12.2584 20.3141 12.0471 20.1423 11.7956C19.7994 11.2938 19.2819 10.626 18.5794 9.9569C17.1731 8.61759 14.9972 7.25 11.9996 7.25C9.00203 7.25 6.82614 8.61759 5.41987 9.9569C4.71736 10.626 4.19984 11.2938 3.85694 11.7956C3.68511 12.0471 3.55605 12.2584 3.4686 12.4096C3.42484 12.4852 3.39142 12.5459 3.36818 12.5892C3.35656 12.6108 3.34748 12.6282 3.34092 12.6408L3.33297 12.6563L3.33041 12.6614L3.32948 12.6632L3.32911 12.664C3.32894 12.6643 3.32879 12.6646 3.99961 13ZM11.9996 16C13.9326 16 15.4996 14.433 15.4996 12.5C15.4996 10.567 13.9326 9 11.9996 9C10.0666 9 8.49961 10.567 8.49961 12.5C8.49961 14.433 10.0666 16 11.9996 16Z'\n : 'M20.7 12.7s0-.1-.1-.2c0-.2-.2-.4-.4-.6-.3-.5-.9-1.2-1.6-1.8-.7-.6-1.5-1.3-2.6-1.8l-.6 1.4c.9.4 1.6 1 2.1 1.5.6.6 1.1 1.2 1.4 1.6.1.2.3.4.3.5v.1l.7-.3.7-.3Zm-5.2-9.3-1.8 4c-.5-.1-1.1-.2-1.7-.2-3 0-5.2 1.4-6.6 2.7-.7.7-1.2 1.3-1.6 1.8-.2.3-.3.5-.4.6 0 0 0 .1-.1.2s0 0 .7.3l.7.3V13c0-.1.2-.3.3-.5.3-.4.7-1 1.4-1.6 1.2-1.2 3-2.3 5.5-2.3H13v.3c-.4 0-.8-.1-1.1-.1-1.9 0-3.5 1.6-3.5 3.5s.6 2.3 1.6 2.9l-2 4.4.9.4 7.6-16.2-.9-.4Zm-3 12.6c1.7-.2 3-1.7 3-3.5s-.2-1.4-.6-1.9L12.4 16Z'\n }\n />\n </SVG>\n }\n label=\"Show password\"\n onClick={() => setShowPassword((prev) => !prev)}\n size=\"small\"\n />\n </InputControlSuffixWrapper>\n }\n onChange={onChange}\n {...rest}\n />\n );\n};\n","export type ProjectItem = {\n id: string | number;\n name: string;\n description: string;\n};\n\ntype Props = {\n items: ProjectItem[];\n activeId: string | number;\n onSelect: (id: string | number) => void;\n};\n\nexport const ProjectsNavigation = ({ items, activeId, onSelect }: Props) => {\n return (\n <div className=\"w-[280px] max-h-[400px] overflow-y-auto\">\n {items.map((item) => (\n <div\n key={item.id}\n onClick={() => onSelect(item.id)}\n className={`cursor-pointer p-3 border-l-4 flex gap-3 items-center hover:bg-gray-50 ${\n activeId === item.id\n ? 'border-blue-500 bg-gray-100'\n : 'border-transparent'\n }`}\n >\n <span className=\"rounded bg-slate-300 w-10 h-10 flex items-center justify-center text-lg font-bold text-white shrink-0\">\n {item.name.charAt(0).toUpperCase()}\n </span>\n <div className=\"flex flex-col min-w-0\">\n <p className=\"text-sm font-medium truncate\">{item.name}</p>\n {item.description && (\n <p className=\"text-xs text-gray-500 truncate\">\n {item.description}\n </p>\n )}\n </div>\n </div>\n ))}\n </div>\n );\n};\n","export function ResponsiveImage(props) {\n const { media, bbMedia } = props;\n const { url, alt, sizes } = media;\n\n if (sizes === undefined) {\n return (\n <picture className=\"b_responsive\">\n <img src={url} alt={alt} className={`b_media ${bbMedia}`} />\n </picture>\n );\n }\n\n const { thumbnail, medium, large } = sizes;\n const thumbnailImg = thumbnail || url;\n const mediumImg = medium || url;\n const largeImg = large || url;\n\n return (\n <picture className=\"b_responsive\">\n {thumbnailImg ? (\n <source\n media=\"(max-width: 768px)\"\n srcSet={thumbnailImg}\n className={`b_media ${bbMedia}`}\n />\n ) : null}\n {mediumImg ? (\n <source\n media=\"(min-width: 1024px)\"\n srcSet={mediumImg}\n className={`b_media ${bbMedia}`}\n />\n ) : null}\n {largeImg ? (\n <source\n media=\"(min-width: 1536px)\"\n srcSet={largeImg}\n className={`b_media ${bbMedia}`}\n />\n ) : null}\n {mediumImg ? (\n <img src={mediumImg} alt={alt} className={`b_media ${bbMedia}`} />\n ) : null}\n </picture>\n );\n}\n","export function ResponsiveVideo(props: any) {\n const { media, bbMedia } = props;\n const { url } = media;\n\n const videoUrl = url;\n\n return (\n <video\n className={`responsive-media ${bbMedia}`}\n preload=\"none\"\n playsInline\n controls\n autoPlay\n muted\n loop\n >\n <source src={videoUrl} type=\"video/mp4\" />\n </video>\n );\n}\n","import classNames from 'classnames';\nimport { Wrap } from './Wrap.js';\n\ntype ScrollListProps = {\n children: React.ReactNode;\n className?: string;\n height?: 'small' | 'medium' | 'large';\n};\n\nexport const ScrollList: React.FC<ScrollListProps> = ({\n children,\n className = '',\n height = 'large',\n}) => (\n <Wrap\n className={classNames('scrollbar relative overflow-y-scroll', className, {\n 'h-[400px]': height === 'large',\n 'h-[300px]': height === 'medium',\n 'h-[200px]': height === 'small',\n })}\n >\n {children}\n </Wrap>\n);\n","import { SelectControl as WordpressSelect } from '@wordpress/components';\n\ntype SelectControlWrapperProps = {\n value: string;\n children?: any;\n options: any[];\n label?: string;\n emptyLabel?: string;\n disabled?: boolean;\n onChange?: (value: string) => void;\n className?: string; // allow styling on the wrapper\n};\n\nexport const SelectControlWrapper = ({\n onChange,\n value,\n options,\n label = '',\n disabled = false,\n emptyLabel = 'No options available',\n className,\n}: SelectControlWrapperProps) => {\n const handleChange = (val: string) => {\n if (onChange) {\n onChange(val);\n }\n };\n\n return (\n <div className={className}>\n {options && options.length > 0 ? (\n <WordpressSelect\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n label={label || ''}\n value={value || ''}\n disabled={disabled}\n onChange={handleChange}\n options={[\n { value: '', label: 'Select an option' },\n // safeguard: map options to value/label\n ...options.map((o) => ({ value: o.value, label: o.label })),\n ]}\n />\n ) : (\n <p className=\"mb-2\">{emptyLabel}</p>\n )}\n </div>\n );\n};\n","import { createBlock } from '@wordpress/blocks';\nimport { Button } from '@wordpress/components';\n\nconst { select, dispatch } = wp.data;\n\ninterface SingleBlockTypeAppenderProps {\n buttonText?: string;\n}\n\nexport const SingleBlockTypeAppender = ({\n buttonText = 'Add block',\n}: SingleBlockTypeAppenderProps) => {\n const addLastDuplicate = () => {\n // Get the current block\n const currentBlock = select('core/block-editor').getSelectedBlock();\n const { clientId, innerBlocks } = currentBlock;\n\n // get the last block\n const lastBlock = innerBlocks[innerBlocks.length - 1];\n // duplicate the last block\n const newBlock = createBlock(\n lastBlock.name,\n lastBlock.attributes,\n lastBlock.innerBlocks\n );\n\n dispatch('core/block-editor').insertBlocks(newBlock, 0, clientId);\n };\n\n return (\n <Button variant=\"primary\" onClick={() => addLastDuplicate()}>\n {buttonText}\n </Button>\n );\n};\n","import { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype SlideInProps = {\n children: React.ReactNode;\n className?: string;\n watch?: any;\n};\n\nexport const SlideIn = ({ children, watch, className }: SlideInProps) => {\n const [slide, setSlide] = useState(0);\n\n useEffect(() => {\n setTimeout(() => {\n setSlide(1);\n }, 250);\n }, [watch]);\n\n return (\n <Wrap\n className={classNames(\n className,\n 'duration-50 transform transition-all ease-in-out',\n {\n 'translate-x-0': slide === 1,\n '-translate-x-full': slide === 0,\n }\n )}\n >\n {children}\n </Wrap>\n );\n};\n","import { Spinner as WordpressSpinner } from '@wordpress/components';\n\ntype SpinnerProps = {\n [x: string]: any;\n};\n\nexport const Spinner = ({ ...props }: SpinnerProps) => {\n return <WordpressSpinner {...props} />;\n};\n","function lr() {\n return lr = Object.assign ? Object.assign.bind() : function(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = arguments[t];\n for (var s in n) ({}).hasOwnProperty.call(n, s) && (e[s] = n[s]);\n }\n return e;\n }, lr.apply(null, arguments);\n}\nvar Wt = typeof globalThis < \"u\" ? globalThis : typeof window < \"u\" ? window : typeof global < \"u\" ? global : typeof self < \"u\" ? self : {};\nfunction ur(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar xr, Er = {\n exports: {}\n};\n/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\nvar wr, Ir, Cr, on = (xr || (xr = 1, wr = Er, (function() {\n var e = {}.hasOwnProperty;\n function t() {\n for (var n = [], s = 0; s < arguments.length; s++) {\n var f = arguments[s];\n if (f) {\n var _ = typeof f;\n if (_ === \"string\" || _ === \"number\") n.push(f);\n else if (Array.isArray(f)) {\n if (f.length) {\n var E = t.apply(null, f);\n E && n.push(E);\n }\n } else if (_ === \"object\") if (f.toString === Object.prototype.toString) for (var g in f) e.call(f, g) && f[g] && n.push(g);\n else n.push(f.toString());\n }\n }\n return n.join(\" \");\n }\n wr.exports ? (t.default = t, wr.exports = t) : window.classNames = t;\n})()), Er.exports), Sr = ur(on), Pr, zt = ur((function() {\n if (Cr) return Ir;\n Cr = 1;\n var e = /^\\s+|\\s+$/g, t = /^[-+]0x[0-9a-f]+$/i, n = /^0b[01]+$/i, s = /^0o[0-7]+$/i, f = parseInt, _ = Object.prototype.toString;\n function E(i) {\n var u = typeof i;\n return !!i && (u == \"object\" || u == \"function\");\n }\n function g(i) {\n if (typeof i == \"number\") return i;\n if ((function(p) {\n return typeof p == \"symbol\" || /* @__PURE__ */ (function(y) {\n return !!y && typeof y == \"object\";\n })(p) && _.call(p) == \"[object Symbol]\";\n })(i)) return NaN;\n if (E(i)) {\n var u = typeof i.valueOf == \"function\" ? i.valueOf() : i;\n i = E(u) ? u + \"\" : u;\n }\n if (typeof i != \"string\") return i === 0 ? i : +i;\n i = i.replace(e, \"\");\n var d = n.test(i);\n return d || s.test(i) ? f(i.slice(2), d ? 2 : 8) : t.test(i) ? NaN : +i;\n }\n return Ir = function(i, u, d) {\n return d === void 0 && (d = u, u = void 0), d !== void 0 && (d = (d = g(d)) == d ? d : 0), u !== void 0 && (u = (u = g(u)) == u ? u : 0), (function(p, y, R) {\n return p == p && (R !== void 0 && (p = p <= R ? p : R), y !== void 0 && (p = p >= y ? p : y)), p;\n })(g(i), u, d);\n };\n})()), mr = {\n exports: {}\n}, an = (Pr || (Pr = 1, (function(e, t) {\n var n = \"__lodash_hash_undefined__\", s = 9007199254740991, f = \"[object Arguments]\", _ = \"[object Array]\", E = \"[object Boolean]\", g = \"[object Date]\", i = \"[object Error]\", u = \"[object Function]\", d = \"[object Map]\", p = \"[object Number]\", y = \"[object Object]\", R = \"[object Promise]\", b = \"[object RegExp]\", j = \"[object Set]\", N = \"[object String]\", S = \"[object Symbol]\", P = \"[object WeakMap]\", l = \"[object ArrayBuffer]\", M = \"[object DataView]\", K = /^\\[object .+?Constructor\\]$/, ue = /^(?:0|[1-9]\\d*)$/, w = {};\n w[\"[object Float32Array]\"] = w[\"[object Float64Array]\"] = w[\"[object Int8Array]\"] = w[\"[object Int16Array]\"] = w[\"[object Int32Array]\"] = w[\"[object Uint8Array]\"] = w[\"[object Uint8ClampedArray]\"] = w[\"[object Uint16Array]\"] = w[\"[object Uint32Array]\"] = !0, w[f] = w[_] = w[l] = w[E] = w[M] = w[g] = w[i] = w[u] = w[d] = w[p] = w[y] = w[b] = w[j] = w[N] = w[P] = !1;\n var Z = typeof Wt == \"object\" && Wt && Wt.Object === Object && Wt, Me = typeof self == \"object\" && self && self.Object === Object && self, ie = Z || Me || Function(\"return this\")(), Ye = t && !t.nodeType && t, I = Ye && e && !e.nodeType && e, W = I && I.exports === Ye, ne = W && Z.process, X = (function() {\n try {\n return ne && ne.binding && ne.binding(\"util\");\n } catch {\n }\n })(), q = X && X.isTypedArray;\n function ee(r, a) {\n for (var v = -1, C = r == null ? 0 : r.length; ++v < C; ) if (a(r[v], v, r)) return !0;\n return !1;\n }\n function fe(r) {\n var a = -1, v = Array(r.size);\n return r.forEach(function(C, te) {\n v[++a] = [te, C];\n }), v;\n }\n function We(r) {\n var a = -1, v = Array(r.size);\n return r.forEach(function(C) {\n v[++a] = C;\n }), v;\n }\n var $e, ce, Ae, F = Array.prototype, Oe = Function.prototype, Xe = Object.prototype, et = ie[\"__core-js_shared__\"], Se = Oe.toString, V = Xe.hasOwnProperty, A = ($e = /[^.]+$/.exec(et && et.keys && et.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + $e : \"\", se = Xe.toString, Q = RegExp(\"^\" + Se.call(V).replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\"), Dt = W ? ie.Buffer : void 0, De = ie.Symbol, he = ie.Uint8Array, Xt = Xe.propertyIsEnumerable, Ot = F.splice, dt = De ? De.toStringTag : void 0, pt = Object.getOwnPropertySymbols, nr = Dt ? Dt.isBuffer : void 0, kt = (ce = Object.keys, Ae = Object, function(r) {\n return ce(Ae(r));\n }), Ge = Ve(ie, \"DataView\"), rt = Ve(ie, \"Map\"), Vt = Ve(ie, \"Promise\"), Ut = Ve(ie, \"Set\"), ae = Ve(ie, \"WeakMap\"), Ke = Ve(Object, \"create\"), St = Pe(Ge), ve = Pe(rt), Re = Pe(Vt), Tt = Pe(Ut), It = Pe(ae), Rt = De ? De.prototype : void 0, ft = Rt ? Rt.valueOf : void 0;\n function Ne(r) {\n var a = -1, v = r == null ? 0 : r.length;\n for (this.clear(); ++a < v; ) {\n var C = r[a];\n this.set(C[0], C[1]);\n }\n }\n function Ce(r) {\n var a = -1, v = r == null ? 0 : r.length;\n for (this.clear(); ++a < v; ) {\n var C = r[a];\n this.set(C[0], C[1]);\n }\n }\n function nt(r) {\n var a = -1, v = r == null ? 0 : r.length;\n for (this.clear(); ++a < v; ) {\n var C = r[a];\n this.set(C[0], C[1]);\n }\n }\n function ht(r) {\n var a = -1, v = r == null ? 0 : r.length;\n for (this.__data__ = new nt(); ++a < v; ) this.add(r[a]);\n }\n function Le(r) {\n var a = this.__data__ = new Ce(r);\n this.size = a.size;\n }\n function Ct(r, a) {\n var v = jt(r), C = !v && Zt(r), te = !v && !C && At(r), B = !v && !C && !te && Ft(r), le = v || C || te || B, we = le ? (function(me, Fe) {\n for (var Te = -1, be = Array(me); ++Te < me; ) be[Te] = Fe(Te);\n return be;\n })(r.length, String) : [], Be = we.length;\n for (var re in r) !V.call(r, re) || le && (re == \"length\" || te && (re == \"offset\" || re == \"parent\") || B && (re == \"buffer\" || re == \"byteLength\" || re == \"byteOffset\") || Jt(re, Be)) || we.push(re);\n return we;\n }\n function wt(r, a) {\n for (var v = r.length; v--; ) if (gt(r[v][0], a)) return v;\n return -1;\n }\n function ke(r) {\n return r == null ? r === void 0 ? \"[object Undefined]\" : \"[object Null]\" : dt && dt in Object(r) ? (function(a) {\n var v = V.call(a, dt), C = a[dt];\n try {\n a[dt] = void 0;\n var te = !0;\n } catch {\n }\n var B = se.call(a);\n return te && (v ? a[dt] = C : delete a[dt]), B;\n })(r) : (function(a) {\n return se.call(a);\n })(r);\n }\n function Ht(r) {\n return yt(r) && ke(r) == f;\n }\n function Qe(r, a, v, C, te) {\n return r === a || (r == null || a == null || !yt(r) && !yt(a) ? r != r && a != a : (function(B, le, we, Be, re, me) {\n var Fe = jt(B), Te = jt(le), be = Fe ? _ : Ue(B), ze = Te ? _ : Ue(le), _t = (be = be == f ? y : be) == y, bt = (ze = ze == f ? y : ze) == y, c = be == ze;\n if (c && At(B)) {\n if (!At(le)) return !1;\n Fe = !0, _t = !1;\n }\n if (c && !_t) return me || (me = new Le()), Fe || Ft(B) ? $t(B, le, we, Be, re, me) : (function(U, T, _e, de, je, oe, xe) {\n switch (_e) {\n case M:\n if (U.byteLength != T.byteLength || U.byteOffset != T.byteOffset) return !1;\n U = U.buffer, T = T.buffer;\n case l:\n return !(U.byteLength != T.byteLength || !oe(new he(U), new he(T)));\n case E:\n case g:\n case p:\n return gt(+U, +T);\n case i:\n return U.name == T.name && U.message == T.message;\n case b:\n case N:\n return U == T + \"\";\n case d:\n var xt = fe;\n case j:\n var at = 1 & de;\n if (xt || (xt = We), U.size != T.size && !at) return !1;\n var Et = xe.get(U);\n if (Et) return Et == T;\n de |= 2, xe.set(U, T);\n var ir = $t(xt(U), xt(T), de, je, oe, xe);\n return xe.delete(U), ir;\n case S:\n if (ft) return ft.call(U) == ft.call(T);\n }\n return !1;\n })(B, le, be, we, Be, re, me);\n if (!(1 & we)) {\n var O = _t && V.call(B, \"__wrapped__\"), He = bt && V.call(le, \"__wrapped__\");\n if (O || He) {\n var Je = O ? B.value() : B, ot = He ? le.value() : le;\n return me || (me = new Le()), re(Je, ot, we, Be, me);\n }\n }\n return !!c && (me || (me = new Le()), (function(U, T, _e, de, je, oe) {\n var xe = 1 & _e, xt = mt(U), at = xt.length, Et = mt(T), ir = Et.length;\n if (at != ir && !xe) return !1;\n for (var Kt = at; Kt--; ) {\n var Nt = xt[Kt];\n if (!(xe ? Nt in T : V.call(T, Nt))) return !1;\n }\n var cr = oe.get(U);\n if (cr && oe.get(T)) return cr == T;\n var Qt = !0;\n oe.set(U, T), oe.set(T, U);\n for (var Yt = xe; ++Kt < at; ) {\n var qt = U[Nt = xt[Kt]], Gt = T[Nt];\n if (de) var sr = xe ? de(Gt, qt, Nt, T, U, oe) : de(qt, Gt, Nt, U, T, oe);\n if (!(sr === void 0 ? qt === Gt || je(qt, Gt, _e, de, oe) : sr)) {\n Qt = !1;\n break;\n }\n Yt || (Yt = Nt == \"constructor\");\n }\n if (Qt && !Yt) {\n var er = U.constructor, tr = T.constructor;\n er == tr || !(\"constructor\" in U) || !(\"constructor\" in T) || typeof er == \"function\" && er instanceof er && typeof tr == \"function\" && tr instanceof tr || (Qt = !1);\n }\n return oe.delete(U), oe.delete(T), Qt;\n })(B, le, we, Be, re, me));\n })(r, a, v, C, Qe, te));\n }\n function ge(r) {\n return !(!ye(r) || (function(a) {\n return !!A && A in a;\n })(r)) && (Bt(r) ? Q : K).test(Pe(r));\n }\n function Pt(r) {\n if (v = (a = r) && a.constructor, C = typeof v == \"function\" && v.prototype || Xe, a !== C) return kt(r);\n var a, v, C, te = [];\n for (var B in Object(r)) V.call(r, B) && B != \"constructor\" && te.push(B);\n return te;\n }\n function $t(r, a, v, C, te, B) {\n var le = 1 & v, we = r.length, Be = a.length;\n if (we != Be && !(le && Be > we)) return !1;\n var re = B.get(r);\n if (re && B.get(a)) return re == a;\n var me = -1, Fe = !0, Te = 2 & v ? new ht() : void 0;\n for (B.set(r, a), B.set(a, r); ++me < we; ) {\n var be = r[me], ze = a[me];\n if (C) var _t = le ? C(ze, be, me, a, r, B) : C(be, ze, me, r, a, B);\n if (_t !== void 0) {\n if (_t) continue;\n Fe = !1;\n break;\n }\n if (Te) {\n if (!ee(a, function(bt, c) {\n if (O = c, !Te.has(O) && (be === bt || te(be, bt, v, C, B))) return Te.push(c);\n var O;\n })) {\n Fe = !1;\n break;\n }\n } else if (be !== ze && !te(be, ze, v, C, B)) {\n Fe = !1;\n break;\n }\n }\n return B.delete(r), B.delete(a), Fe;\n }\n function mt(r) {\n return (function(a, v, C) {\n var te = v(a);\n return jt(a) ? te : (function(B, le) {\n for (var we = -1, Be = le.length, re = B.length; ++we < Be; ) B[re + we] = le[we];\n return B;\n })(te, C(a));\n })(r, Mt, vt);\n }\n function it(r, a) {\n var v, C, te = r.__data__;\n return ((C = typeof (v = a)) == \"string\" || C == \"number\" || C == \"symbol\" || C == \"boolean\" ? v !== \"__proto__\" : v === null) ? te[typeof a == \"string\" ? \"string\" : \"hash\"] : te.map;\n }\n function Ve(r, a) {\n var v = (function(C, te) {\n return C == null ? void 0 : C[te];\n })(r, a);\n return ge(v) ? v : void 0;\n }\n Ne.prototype.clear = function() {\n this.__data__ = Ke ? Ke(null) : {}, this.size = 0;\n }, Ne.prototype.delete = function(r) {\n var a = this.has(r) && delete this.__data__[r];\n return this.size -= a ? 1 : 0, a;\n }, Ne.prototype.get = function(r) {\n var a = this.__data__;\n if (Ke) {\n var v = a[r];\n return v === n ? void 0 : v;\n }\n return V.call(a, r) ? a[r] : void 0;\n }, Ne.prototype.has = function(r) {\n var a = this.__data__;\n return Ke ? a[r] !== void 0 : V.call(a, r);\n }, Ne.prototype.set = function(r, a) {\n var v = this.__data__;\n return this.size += this.has(r) ? 0 : 1, v[r] = Ke && a === void 0 ? n : a, this;\n }, Ce.prototype.clear = function() {\n this.__data__ = [], this.size = 0;\n }, Ce.prototype.delete = function(r) {\n var a = this.__data__, v = wt(a, r);\n return !(v < 0 || (v == a.length - 1 ? a.pop() : Ot.call(a, v, 1), --this.size, 0));\n }, Ce.prototype.get = function(r) {\n var a = this.__data__, v = wt(a, r);\n return v < 0 ? void 0 : a[v][1];\n }, Ce.prototype.has = function(r) {\n return wt(this.__data__, r) > -1;\n }, Ce.prototype.set = function(r, a) {\n var v = this.__data__, C = wt(v, r);\n return C < 0 ? (++this.size, v.push([r, a])) : v[C][1] = a, this;\n }, nt.prototype.clear = function() {\n this.size = 0, this.__data__ = {\n hash: new Ne(),\n map: new (rt || Ce)(),\n string: new Ne()\n };\n }, nt.prototype.delete = function(r) {\n var a = it(this, r).delete(r);\n return this.size -= a ? 1 : 0, a;\n }, nt.prototype.get = function(r) {\n return it(this, r).get(r);\n }, nt.prototype.has = function(r) {\n return it(this, r).has(r);\n }, nt.prototype.set = function(r, a) {\n var v = it(this, r), C = v.size;\n return v.set(r, a), this.size += v.size == C ? 0 : 1, this;\n }, ht.prototype.add = ht.prototype.push = function(r) {\n return this.__data__.set(r, n), this;\n }, ht.prototype.has = function(r) {\n return this.__data__.has(r);\n }, Le.prototype.clear = function() {\n this.__data__ = new Ce(), this.size = 0;\n }, Le.prototype.delete = function(r) {\n var a = this.__data__, v = a.delete(r);\n return this.size = a.size, v;\n }, Le.prototype.get = function(r) {\n return this.__data__.get(r);\n }, Le.prototype.has = function(r) {\n return this.__data__.has(r);\n }, Le.prototype.set = function(r, a) {\n var v = this.__data__;\n if (v instanceof Ce) {\n var C = v.__data__;\n if (!rt || C.length < 199) return C.push([r, a]), this.size = ++v.size, this;\n v = this.__data__ = new nt(C);\n }\n return v.set(r, a), this.size = v.size, this;\n };\n var vt = pt ? function(r) {\n return r == null ? [] : (r = Object(r), (function(a, v) {\n for (var C = -1, te = a == null ? 0 : a.length, B = 0, le = []; ++C < te; ) {\n var we = a[C];\n v(we, C, a) && (le[B++] = we);\n }\n return le;\n })(pt(r), function(a) {\n return Xt.call(r, a);\n }));\n } : function() {\n return [];\n }, Ue = ke;\n function Jt(r, a) {\n return !!(a = a ?? s) && (typeof r == \"number\" || ue.test(r)) && r > -1 && r % 1 == 0 && r < a;\n }\n function Pe(r) {\n if (r != null) {\n try {\n return Se.call(r);\n } catch {\n }\n try {\n return r + \"\";\n } catch {\n }\n }\n return \"\";\n }\n function gt(r, a) {\n return r === a || r != r && a != a;\n }\n (Ge && Ue(new Ge(new ArrayBuffer(1))) != M || rt && Ue(new rt()) != d || Vt && Ue(Vt.resolve()) != R || Ut && Ue(new Ut()) != j || ae && Ue(new ae()) != P) && (Ue = function(r) {\n var a = ke(r), v = a == y ? r.constructor : void 0, C = v ? Pe(v) : \"\";\n if (C) switch (C) {\n case St:\n return M;\n case ve:\n return d;\n case Re:\n return R;\n case Tt:\n return j;\n case It:\n return P;\n }\n return a;\n });\n var Zt = Ht(/* @__PURE__ */ (function() {\n return arguments;\n })()) ? Ht : function(r) {\n return yt(r) && V.call(r, \"callee\") && !Xt.call(r, \"callee\");\n }, jt = Array.isArray, At = nr || function() {\n return !1;\n };\n function Bt(r) {\n if (!ye(r)) return !1;\n var a = ke(r);\n return a == u || a == \"[object GeneratorFunction]\" || a == \"[object AsyncFunction]\" || a == \"[object Proxy]\";\n }\n function st(r) {\n return typeof r == \"number\" && r > -1 && r % 1 == 0 && r <= s;\n }\n function ye(r) {\n var a = typeof r;\n return r != null && (a == \"object\" || a == \"function\");\n }\n function yt(r) {\n return r != null && typeof r == \"object\";\n }\n var Ft = q ? /* @__PURE__ */ (function(r) {\n return function(a) {\n return r(a);\n };\n })(q) : function(r) {\n return yt(r) && st(r.length) && !!w[ke(r)];\n };\n function Mt(r) {\n return (a = r) != null && st(a.length) && !Bt(a) ? Ct(r) : Pt(r);\n var a;\n }\n e.exports = function(r, a) {\n return Qe(r, a);\n };\n})(mr, mr.exports)), mr.exports), ln = ur(an);\nfunction jr(e, t, n) {\n return e[t] ? e[t][0] ? e[t][0][n] : e[t][n] : t === \"contentBoxSize\" ? e.contentRect[n === \"inlineSize\" ? \"width\" : \"height\"] : void 0;\n}\nfunction un(e) {\n e === void 0 && (e = {});\n var t = e.onResize, n = window.React.useRef(void 0);\n n.current = t;\n var s = e.round || Math.round, f = window.React.useRef(), _ = window.React.useState({\n width: void 0,\n height: void 0\n }), E = _[0], g = _[1], i = window.React.useRef(!1);\n window.React.useEffect(function() {\n return i.current = !1, function() {\n i.current = !0;\n };\n }, []);\n var u = window.React.useRef({\n width: void 0,\n height: void 0\n }), d = (function(p, y) {\n var R = window.React.useRef(null), b = window.React.useRef(null);\n b.current = y;\n var j = window.React.useRef(null);\n window.React.useEffect(function() {\n N();\n });\n var N = window.React.useCallback(function() {\n var S = j.current, P = b.current, l = S || (P ? P instanceof Element ? P : P.current : null);\n R.current && R.current.element === l && R.current.subscriber === p || (R.current && R.current.cleanup && R.current.cleanup(), R.current = {\n element: l,\n subscriber: p,\n cleanup: l ? p(l) : void 0\n });\n }, [p]);\n return window.React.useEffect(function() {\n return function() {\n R.current && R.current.cleanup && (R.current.cleanup(), R.current = null);\n };\n }, []), window.React.useCallback(function(S) {\n j.current = S, N();\n }, [N]);\n })(window.React.useCallback(function(p) {\n return f.current && f.current.box === e.box && f.current.round === s || (f.current = {\n box: e.box,\n round: s,\n instance: new ResizeObserver(function(y) {\n var R = y[0], b = e.box === \"border-box\" ? \"borderBoxSize\" : e.box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\", j = jr(R, b, \"inlineSize\"), N = jr(R, b, \"blockSize\"), S = j ? s(j) : void 0, P = N ? s(N) : void 0;\n if (u.current.width !== S || u.current.height !== P) {\n var l = {\n width: S,\n height: P\n };\n u.current.width = S, u.current.height = P, n.current ? n.current(l) : i.current || g(l);\n }\n })\n }), f.current.instance.observe(p, {\n box: e.box\n }), function() {\n f.current && f.current.instance.unobserve(p);\n };\n }, [e.box, s]), e.ref);\n return window.React.useMemo(function() {\n return {\n ref: d,\n width: E.width,\n height: E.height\n };\n }, [d, E.width, E.height]);\n}\nvar cn = \"allotment-module_splitView__L-yRc\", dn = \"allotment-module_sashContainer__fzwJF\", pn = \"allotment-module_splitViewContainer__rQnVa\", Wr = \"allotment-module_splitViewView__MGZ6O\", fn = \"allotment-module_vertical__WSwwa\", hn = \"allotment-module_horizontal__7doS8\", wn = \"allotment-module_separatorBorder__x-rDS\";\nlet or, Xr = !1, Ur = !1;\ntypeof navigator == \"object\" && (or = navigator.userAgent, Ur = or.indexOf(\"Macintosh\") >= 0, Xr = (or.indexOf(\"Macintosh\") >= 0 || or.indexOf(\"iPad\") >= 0 || or.indexOf(\"iPhone\") >= 0) && !!navigator.maxTouchPoints && navigator.maxTouchPoints > 0);\nconst Jr = Xr, mn = Ur, Mr = typeof window < \"u\" && window.document !== void 0 && window.document.createElement !== void 0 ? window.React.useLayoutEffect : window.React.useEffect;\nclass vn {\n constructor() {\n this._size = void 0;\n }\n getSize() {\n return this._size;\n }\n setSize(t) {\n this._size = t;\n }\n}\nfunction dr(e, t) {\n const n = e.length, s = n - t.length;\n return s >= 0 && e.slice(s, n) === t;\n}\nvar Nr, Lr = {\n exports: {}\n}, Dr, Or, gn = (Nr || (Nr = 1, (function(e) {\n var t = Object.prototype.hasOwnProperty, n = \"~\";\n function s() {\n }\n function f(i, u, d) {\n this.fn = i, this.context = u, this.once = d || !1;\n }\n function _(i, u, d, p, y) {\n if (typeof d != \"function\") throw new TypeError(\"The listener must be a function\");\n var R = new f(d, p || i, y), b = n ? n + u : u;\n return i._events[b] ? i._events[b].fn ? i._events[b] = [i._events[b], R] : i._events[b].push(R) : (i._events[b] = R, i._eventsCount++), i;\n }\n function E(i, u) {\n --i._eventsCount == 0 ? i._events = new s() : delete i._events[u];\n }\n function g() {\n this._events = new s(), this._eventsCount = 0;\n }\n Object.create && (s.prototype = /* @__PURE__ */ Object.create(null), new s().__proto__ || (n = !1)), g.prototype.eventNames = function() {\n var i, u, d = [];\n if (this._eventsCount === 0) return d;\n for (u in i = this._events) t.call(i, u) && d.push(n ? u.slice(1) : u);\n return Object.getOwnPropertySymbols ? d.concat(Object.getOwnPropertySymbols(i)) : d;\n }, g.prototype.listeners = function(i) {\n var u = n ? n + i : i, d = this._events[u];\n if (!d) return [];\n if (d.fn) return [d.fn];\n for (var p = 0, y = d.length, R = new Array(y); p < y; p++) R[p] = d[p].fn;\n return R;\n }, g.prototype.listenerCount = function(i) {\n var u = n ? n + i : i, d = this._events[u];\n return d ? d.fn ? 1 : d.length : 0;\n }, g.prototype.emit = function(i, u, d, p, y, R) {\n var b = n ? n + i : i;\n if (!this._events[b]) return !1;\n var j, N, S = this._events[b], P = arguments.length;\n if (S.fn) {\n switch (S.once && this.removeListener(i, S.fn, void 0, !0), P) {\n case 1:\n return S.fn.call(S.context), !0;\n case 2:\n return S.fn.call(S.context, u), !0;\n case 3:\n return S.fn.call(S.context, u, d), !0;\n case 4:\n return S.fn.call(S.context, u, d, p), !0;\n case 5:\n return S.fn.call(S.context, u, d, p, y), !0;\n case 6:\n return S.fn.call(S.context, u, d, p, y, R), !0;\n }\n for (N = 1, j = new Array(P - 1); N < P; N++) j[N - 1] = arguments[N];\n S.fn.apply(S.context, j);\n } else {\n var l, M = S.length;\n for (N = 0; N < M; N++) switch (S[N].once && this.removeListener(i, S[N].fn, void 0, !0), P) {\n case 1:\n S[N].fn.call(S[N].context);\n break;\n case 2:\n S[N].fn.call(S[N].context, u);\n break;\n case 3:\n S[N].fn.call(S[N].context, u, d);\n break;\n case 4:\n S[N].fn.call(S[N].context, u, d, p);\n break;\n default:\n if (!j) for (l = 1, j = new Array(P - 1); l < P; l++) j[l - 1] = arguments[l];\n S[N].fn.apply(S[N].context, j);\n }\n }\n return !0;\n }, g.prototype.on = function(i, u, d) {\n return _(this, i, u, d, !1);\n }, g.prototype.once = function(i, u, d) {\n return _(this, i, u, d, !0);\n }, g.prototype.removeListener = function(i, u, d, p) {\n var y = n ? n + i : i;\n if (!this._events[y]) return this;\n if (!u) return E(this, y), this;\n var R = this._events[y];\n if (R.fn) R.fn !== u || p && !R.once || d && R.context !== d || E(this, y);\n else {\n for (var b = 0, j = [], N = R.length; b < N; b++) (R[b].fn !== u || p && !R[b].once || d && R[b].context !== d) && j.push(R[b]);\n j.length ? this._events[y] = j.length === 1 ? j[0] : j : E(this, y);\n }\n return this;\n }, g.prototype.removeAllListeners = function(i) {\n var u;\n return i ? (u = n ? n + i : i, this._events[u] && E(this, u)) : (this._events = new s(), this._eventsCount = 0), this;\n }, g.prototype.off = g.prototype.removeListener, g.prototype.addListener = g.prototype.on, g.prefixed = n, g.EventEmitter = g, e.exports = g;\n})(Lr)), Lr.exports), Rr = ur(gn);\nfunction kr(e, t) {\n const n = e.indexOf(t);\n n > -1 && (e.splice(n, 1), e.unshift(t));\n}\nfunction vr(e, t) {\n const n = e.indexOf(t);\n n > -1 && (e.splice(n, 1), e.push(t));\n}\nfunction lt(e, t, n = 1) {\n const s = Math.max(0, Math.ceil((t - e) / n)), f = new Array(s);\n let _ = -1;\n for (; ++_ < s; ) f[_] = e + _ * n;\n return f;\n}\nvar _n = ur((function() {\n if (Or) return Dr;\n Or = 1;\n var e = /^\\s+|\\s+$/g, t = /^[-+]0x[0-9a-f]+$/i, n = /^0b[01]+$/i, s = /^0o[0-7]+$/i, f = parseInt, _ = typeof Wt == \"object\" && Wt && Wt.Object === Object && Wt, E = typeof self == \"object\" && self && self.Object === Object && self, g = _ || E || Function(\"return this\")(), i = Object.prototype.toString, u = Math.max, d = Math.min, p = function() {\n return g.Date.now();\n };\n function y(b) {\n var j = typeof b;\n return !!b && (j == \"object\" || j == \"function\");\n }\n function R(b) {\n if (typeof b == \"number\") return b;\n if ((function(S) {\n return typeof S == \"symbol\" || /* @__PURE__ */ (function(P) {\n return !!P && typeof P == \"object\";\n })(S) && i.call(S) == \"[object Symbol]\";\n })(b)) return NaN;\n if (y(b)) {\n var j = typeof b.valueOf == \"function\" ? b.valueOf() : b;\n b = y(j) ? j + \"\" : j;\n }\n if (typeof b != \"string\") return b === 0 ? b : +b;\n b = b.replace(e, \"\");\n var N = n.test(b);\n return N || s.test(b) ? f(b.slice(2), N ? 2 : 8) : t.test(b) ? NaN : +b;\n }\n return Dr = function(b, j, N) {\n var S, P, l, M, K, ue, w = 0, Z = !1, Me = !1, ie = !0;\n if (typeof b != \"function\") throw new TypeError(\"Expected a function\");\n function Ye(q) {\n var ee = S, fe = P;\n return S = P = void 0, w = q, M = b.apply(fe, ee);\n }\n function I(q) {\n var ee = q - ue;\n return ue === void 0 || ee >= j || ee < 0 || Me && q - w >= l;\n }\n function W() {\n var q = p();\n if (I(q)) return ne(q);\n K = setTimeout(W, (function(ee) {\n var fe = j - (ee - ue);\n return Me ? d(fe, l - (ee - w)) : fe;\n })(q));\n }\n function ne(q) {\n return K = void 0, ie && S ? Ye(q) : (S = P = void 0, M);\n }\n function X() {\n var q = p(), ee = I(q);\n if (S = arguments, P = this, ue = q, ee) {\n if (K === void 0) return (function(fe) {\n return w = fe, K = setTimeout(W, j), Z ? Ye(fe) : M;\n })(ue);\n if (Me) return K = setTimeout(W, j), Ye(ue);\n }\n return K === void 0 && (K = setTimeout(W, j)), M;\n }\n return j = R(j) || 0, y(N) && (Z = !!N.leading, l = (Me = \"maxWait\" in N) ? u(R(N.maxWait) || 0, j) : l, ie = \"trailing\" in N ? !!N.trailing : ie), X.cancel = function() {\n K !== void 0 && clearTimeout(K), w = 0, S = ue = P = K = void 0;\n }, X.flush = function() {\n return K === void 0 ? M : ne(p());\n }, X;\n };\n})()), bn = \"sash-module_sash__K-9lB\", zn = \"sash-module_disabled__Hm-wx\", Sn = \"sash-module_mac__Jf6OJ\", Vr = \"sash-module_vertical__pB-rs\", Rn = \"sash-module_minimum__-UKxp\", yn = \"sash-module_maximum__TCWxD\", Tr = \"sash-module_horizontal__kFbiw\", gr = \"sash-module_hover__80W6I\", _r = \"sash-module_active__bJspD\";\nlet ct = (function(e) {\n return e.Vertical = \"VERTICAL\", e.Horizontal = \"HORIZONTAL\", e;\n})({}), tt = (function(e) {\n return e.Disabled = \"DISABLED\", e.Minimum = \"MINIMUM\", e.Maximum = \"MAXIMUM\", e.Enabled = \"ENABLED\", e;\n})({}), Zr = Jr ? 20 : 8;\nconst qr = new Rr();\nclass Hr extends Rr {\n get state() {\n return this._state;\n }\n set state(t) {\n this._state !== t && (this.el.classList.toggle(zn, t === tt.Disabled), this.el.classList.toggle(\"sash-disabled\", t === tt.Disabled), this.el.classList.toggle(Rn, t === tt.Minimum), this.el.classList.toggle(\"sash-minimum\", t === tt.Minimum), this.el.classList.toggle(yn, t === tt.Maximum), this.el.classList.toggle(\"sash-maximum\", t === tt.Maximum), this._state = t, this.emit(\"enablementChange\", t));\n }\n constructor(t, n, s) {\n var f;\n super(), this.el = void 0, this.layoutProvider = void 0, this.orientation = void 0, this.size = void 0, this.hoverDelay = 300, this.hoverDelayer = _n((_) => _.classList.add(\"sash-hover\", gr), this.hoverDelay), this._state = tt.Enabled, this.onPointerStart = (_) => {\n const E = _.pageX, g = _.pageY, i = {\n startX: E,\n currentX: E,\n startY: g,\n currentY: g\n };\n this.el.classList.add(\"sash-active\", _r), this.emit(\"start\", i), this.el.setPointerCapture(_.pointerId);\n const u = (p) => {\n p.preventDefault();\n const y = {\n startX: E,\n currentX: p.pageX,\n startY: g,\n currentY: p.pageY\n };\n this.emit(\"change\", y);\n }, d = (p) => {\n p.preventDefault(), this.el.classList.remove(\"sash-active\", _r), this.hoverDelayer.cancel(), this.emit(\"end\"), this.el.releasePointerCapture(p.pointerId), window.removeEventListener(\"pointermove\", u), window.removeEventListener(\"pointerup\", d);\n };\n window.addEventListener(\"pointermove\", u), window.addEventListener(\"pointerup\", d);\n }, this.onPointerDoublePress = () => {\n this.emit(\"reset\");\n }, this.onMouseEnter = () => {\n this.el.classList.contains(_r) ? (this.hoverDelayer.cancel(), this.el.classList.add(\"sash-hover\", gr)) : this.hoverDelayer(this.el);\n }, this.onMouseLeave = () => {\n this.hoverDelayer.cancel(), this.el.classList.remove(\"sash-hover\", gr);\n }, this.el = document.createElement(\"div\"), this.el.classList.add(\"sash\", bn), this.el.dataset.testid = \"sash\", t.append(this.el), mn && this.el.classList.add(\"sash-mac\", Sn), this.el.addEventListener(\"pointerdown\", this.onPointerStart), this.el.addEventListener(\"dblclick\", this.onPointerDoublePress), this.el.addEventListener(\"mouseenter\", this.onMouseEnter), this.el.addEventListener(\"mouseleave\", this.onMouseLeave), typeof s.size == \"number\" ? (this.size = s.size, s.orientation === ct.Vertical ? this.el.style.width = `${this.size}px` : this.el.style.height = `${this.size}px`) : (this.size = Zr, qr.on(\"onDidChangeGlobalSize\", (_) => {\n this.size = _, this.layout();\n })), this.layoutProvider = n, this.orientation = (f = s.orientation) != null ? f : ct.Vertical, this.orientation === ct.Horizontal ? (this.el.classList.add(\"sash-horizontal\", Tr), this.el.classList.remove(\"sash-vertical\", Vr)) : (this.el.classList.remove(\"sash-horizontal\", Tr), this.el.classList.add(\"sash-vertical\", Vr)), this.layout();\n }\n layout() {\n if (this.orientation === ct.Vertical) {\n const t = this.layoutProvider;\n this.el.style.left = t.getVerticalSashLeft(this) - this.size / 2 + \"px\", t.getVerticalSashTop && (this.el.style.top = t.getVerticalSashTop(this) + \"px\"), t.getVerticalSashHeight && (this.el.style.height = t.getVerticalSashHeight(this) + \"px\");\n } else {\n const t = this.layoutProvider;\n this.el.style.top = t.getHorizontalSashTop(this) - this.size / 2 + \"px\", t.getHorizontalSashLeft && (this.el.style.left = t.getHorizontalSashLeft(this) + \"px\"), t.getHorizontalSashWidth && (this.el.style.width = t.getHorizontalSashWidth(this) + \"px\");\n }\n }\n dispose() {\n this.el.removeEventListener(\"pointerdown\", this.onPointerStart), this.el.removeEventListener(\"dblclick\", this.onPointerDoublePress), this.el.removeEventListener(\"mouseenter\", this.onMouseEnter), this.el.removeEventListener(\"mouseleave\", () => this.onMouseLeave), this.el.remove();\n }\n}\nlet fr;\nvar br;\n(br = fr || (fr = {})).Distribute = {\n type: \"distribute\"\n}, br.Split = function(e) {\n return {\n type: \"split\",\n index: e\n };\n}, br.Invisible = function(e) {\n return {\n type: \"invisible\",\n cachedVisibleSize: e\n };\n};\nlet ut = (function(e) {\n return e.Normal = \"NORMAL\", e.Low = \"LOW\", e.High = \"HIGH\", e;\n})({});\nclass Gr {\n constructor(t, n, s) {\n this.container = void 0, this.view = void 0, this._size = void 0, this._cachedVisibleSize = void 0, this.container = t, this.view = n, this.container.classList.add(\"split-view-view\", Wr), this.container.dataset.testid = \"split-view-view\", typeof s == \"number\" ? (this._size = s, this._cachedVisibleSize = void 0, t.classList.add(\"split-view-view-visible\")) : (this._size = 0, this._cachedVisibleSize = s.cachedVisibleSize);\n }\n set size(t) {\n this._size = t;\n }\n get size() {\n return this._size;\n }\n get priority() {\n return this.view.priority;\n }\n get snap() {\n return !!this.view.snap;\n }\n get cachedVisibleSize() {\n return this._cachedVisibleSize;\n }\n get visible() {\n return this._cachedVisibleSize === void 0;\n }\n setVisible(t, n) {\n t !== this.visible && (t ? (this.size = zt(this._cachedVisibleSize, this.viewMinimumSize, this.viewMaximumSize), this._cachedVisibleSize = void 0) : (this._cachedVisibleSize = typeof n == \"number\" ? n : this.size, this.size = 0), this.container.classList.toggle(\"split-view-view-visible\", t), this.view.setVisible && this.view.setVisible(t));\n }\n get minimumSize() {\n return this.visible ? this.view.minimumSize : 0;\n }\n get viewMinimumSize() {\n return this.view.minimumSize;\n }\n get maximumSize() {\n return this.visible ? this.view.maximumSize : 0;\n }\n get viewMaximumSize() {\n return this.view.maximumSize;\n }\n set enabled(t) {\n this.container.style.pointerEvents = t ? \"\" : \"none\";\n }\n layout(t) {\n this.layoutContainer(t), this.view.layout(this.size, t);\n }\n}\nclass xn extends Gr {\n layoutContainer(t) {\n this.container.style.left = `${t}px`, this.container.style.width = `${this.size}px`;\n }\n}\nclass En extends Gr {\n layoutContainer(t) {\n this.container.style.top = `${t}px`, this.container.style.height = `${this.size}px`;\n }\n}\nclass In extends Rr {\n get startSnappingEnabled() {\n return this._startSnappingEnabled;\n }\n set startSnappingEnabled(t) {\n this._startSnappingEnabled !== t && (this._startSnappingEnabled = t, this.updateSashEnablement());\n }\n get endSnappingEnabled() {\n return this._endSnappingEnabled;\n }\n set endSnappingEnabled(t) {\n this._endSnappingEnabled !== t && (this._endSnappingEnabled = t, this.updateSashEnablement());\n }\n constructor(t, n = {}, s, f, _) {\n var E, g;\n if (super(), this.onDidChange = void 0, this.onDidDragStart = void 0, this.onDidDragEnd = void 0, this.orientation = void 0, this.sashContainer = void 0, this.size = 0, this.contentSize = 0, this.proportions = void 0, this.viewItems = [], this.sashItems = [], this.sashDragState = void 0, this.proportionalLayout = void 0, this.getSashOrthogonalSize = void 0, this._startSnappingEnabled = !0, this._endSnappingEnabled = !0, this.onSashEnd = (i) => {\n this.emit(\"sashchange\", i), this.saveProportions();\n for (const u of this.viewItems) u.enabled = !0;\n }, this.orientation = (E = n.orientation) != null ? E : ct.Vertical, this.proportionalLayout = (g = n.proportionalLayout) != null ? g : !0, this.getSashOrthogonalSize = n.getSashOrthogonalSize, s && (this.onDidChange = s), f && (this.onDidDragStart = f), _ && (this.onDidDragEnd = _), this.sashContainer = document.createElement(\"div\"), this.sashContainer.classList.add(\"sash-container\", dn), t.prepend(this.sashContainer), n.descriptor) {\n this.size = n.descriptor.size;\n for (const [i, u] of n.descriptor.views.entries()) {\n const d = u.size, p = u.container, y = u.view;\n this.addView(p, y, d, i, !0);\n }\n this.contentSize = this.viewItems.reduce((i, u) => i + u.size, 0), this.saveProportions();\n }\n }\n addView(t, n, s, f = this.viewItems.length, _) {\n let E;\n E = typeof s == \"number\" ? s : s.type === \"split\" ? this.getViewSize(s.index) / 2 : s.type === \"invisible\" ? {\n cachedVisibleSize: s.cachedVisibleSize\n } : n.minimumSize;\n const g = this.orientation === ct.Vertical ? new En(t, n, E) : new xn(t, n, E);\n if (this.viewItems.splice(f, 0, g), this.viewItems.length > 1) {\n const i = this.orientation === ct.Vertical ? new Hr(this.sashContainer, {\n getHorizontalSashTop: (p) => this.getSashPosition(p),\n getHorizontalSashWidth: this.getSashOrthogonalSize\n }, {\n orientation: ct.Horizontal\n }) : new Hr(this.sashContainer, {\n getVerticalSashLeft: (p) => this.getSashPosition(p),\n getVerticalSashHeight: this.getSashOrthogonalSize\n }, {\n orientation: ct.Vertical\n }), u = this.orientation === ct.Vertical ? (p) => ({\n sash: i,\n start: p.startY,\n current: p.currentY\n }) : (p) => ({\n sash: i,\n start: p.startX,\n current: p.currentX\n });\n i.on(\"start\", (p) => {\n var y;\n this.emit(\"sashDragStart\"), this.onSashStart(u(p));\n const R = this.viewItems.map((b) => b.size);\n (y = this.onDidDragStart) == null || y.call(this, R);\n }), i.on(\"change\", (p) => this.onSashChange(u(p))), i.on(\"end\", () => {\n var p;\n this.emit(\"sashDragEnd\"), this.onSashEnd(this.sashItems.findIndex((R) => R.sash === i));\n const y = this.viewItems.map((R) => R.size);\n (p = this.onDidDragEnd) == null || p.call(this, y);\n }), i.on(\"reset\", () => {\n const p = this.sashItems.findIndex((N) => N.sash === i), y = lt(p, -1, -1), R = lt(p + 1, this.viewItems.length), b = this.findFirstSnapIndex(y), j = this.findFirstSnapIndex(R);\n (typeof b != \"number\" || this.viewItems[b].visible) && (typeof j != \"number\" || this.viewItems[j].visible) && this.emit(\"sashreset\", p);\n });\n const d = {\n sash: i\n };\n this.sashItems.splice(f - 1, 0, d);\n }\n _ || this.relayout(), _ || typeof s == \"number\" || s.type !== \"distribute\" || this.distributeViewSizes();\n }\n removeView(t, n) {\n if (t < 0 || t >= this.viewItems.length) throw new Error(\"Index out of bounds\");\n const s = this.viewItems.splice(t, 1)[0].view;\n if (this.viewItems.length >= 1) {\n const f = Math.max(t - 1, 0);\n this.sashItems.splice(f, 1)[0].sash.dispose();\n }\n return this.relayout(), n && n.type === \"distribute\" && this.distributeViewSizes(), s;\n }\n moveView(t, n, s) {\n const f = this.getViewCachedVisibleSize(n), _ = f === void 0 ? this.getViewSize(n) : fr.Invisible(f), E = this.removeView(n);\n this.addView(t, E, _, s);\n }\n getViewCachedVisibleSize(t) {\n if (t < 0 || t >= this.viewItems.length) throw new Error(\"Index out of bounds\");\n return this.viewItems[t].cachedVisibleSize;\n }\n layout(t = this.size) {\n const n = Math.max(this.size, this.contentSize);\n if (this.size = t, this.proportions) for (let s = 0; s < this.viewItems.length; s++) {\n const f = this.viewItems[s];\n f.size = zt(Math.round(this.proportions[s] * t), f.minimumSize, f.maximumSize);\n }\n else {\n const s = lt(0, this.viewItems.length), f = s.filter((E) => this.viewItems[E].priority === ut.Low), _ = s.filter((E) => this.viewItems[E].priority === ut.High);\n this.resize(this.viewItems.length - 1, t - n, void 0, f, _);\n }\n this.distributeEmptySpace(), this.layoutViews();\n }\n resizeView(t, n) {\n if (t < 0 || t >= this.viewItems.length) return;\n const s = lt(0, this.viewItems.length).filter((g) => g !== t), f = [...s.filter((g) => this.viewItems[g].priority === ut.Low), t], _ = s.filter((g) => this.viewItems[g].priority === ut.High), E = this.viewItems[t];\n n = Math.round(n), n = zt(n, E.minimumSize, Math.min(E.maximumSize, this.size)), E.size = n, this.relayout(f, _);\n }\n resizeViews(t) {\n for (let n = 0; n < t.length; n++) {\n const s = this.viewItems[n];\n let f = t[n];\n f = Math.round(f), f = zt(f, s.minimumSize, Math.min(s.maximumSize, this.size)), s.size = f;\n }\n this.contentSize = this.viewItems.reduce((n, s) => n + s.size, 0), this.saveProportions(), this.layout(this.size);\n }\n getViewSize(t) {\n return t < 0 || t >= this.viewItems.length ? -1 : this.viewItems[t].size;\n }\n isViewVisible(t) {\n if (t < 0 || t >= this.viewItems.length) throw new Error(\"Index out of bounds\");\n return this.viewItems[t].visible;\n }\n setViewVisible(t, n) {\n if (t < 0 || t >= this.viewItems.length) throw new Error(\"Index out of bounds\");\n this.viewItems[t].setVisible(n), this.distributeEmptySpace(t), this.layoutViews(), this.saveProportions();\n }\n distributeViewSizes() {\n const t = [];\n let n = 0;\n for (const g of this.viewItems) g.maximumSize - g.minimumSize > 0 && (t.push(g), n += g.size);\n const s = Math.floor(n / t.length);\n for (const g of t) g.size = zt(s, g.minimumSize, g.maximumSize);\n const f = lt(0, this.viewItems.length), _ = f.filter((g) => this.viewItems[g].priority === ut.Low), E = f.filter((g) => this.viewItems[g].priority === ut.High);\n this.relayout(_, E);\n }\n dispose() {\n this.sashItems.forEach((t) => t.sash.dispose()), this.sashItems = [], this.sashContainer.remove();\n }\n relayout(t, n) {\n const s = this.viewItems.reduce((f, _) => f + _.size, 0);\n this.resize(this.viewItems.length - 1, this.size - s, void 0, t, n), this.distributeEmptySpace(), this.layoutViews(), this.saveProportions();\n }\n onSashStart({\n sash: t,\n start: n\n }) {\n const s = this.sashItems.findIndex((f) => f.sash === t);\n ((f) => {\n const _ = this.viewItems.map((P) => P.size);\n let E, g, i = Number.NEGATIVE_INFINITY, u = Number.POSITIVE_INFINITY;\n const d = lt(s, -1, -1), p = lt(s + 1, this.viewItems.length), y = d.reduce((P, l) => P + (this.viewItems[l].minimumSize - _[l]), 0), R = d.reduce((P, l) => P + (this.viewItems[l].viewMaximumSize - _[l]), 0), b = p.length === 0 ? Number.POSITIVE_INFINITY : p.reduce((P, l) => P + (_[l] - this.viewItems[l].minimumSize), 0), j = p.length === 0 ? Number.NEGATIVE_INFINITY : p.reduce((P, l) => P + (_[l] - this.viewItems[l].viewMaximumSize), 0);\n i = Math.max(y, j), u = Math.min(b, R);\n const N = this.findFirstSnapIndex(d), S = this.findFirstSnapIndex(p);\n if (typeof N == \"number\") {\n const P = this.viewItems[N], l = Math.floor(P.viewMinimumSize / 2);\n E = {\n index: N,\n limitDelta: P.visible ? i - l : i + l,\n size: P.size\n };\n }\n if (typeof S == \"number\") {\n const P = this.viewItems[S], l = Math.floor(P.viewMinimumSize / 2);\n g = {\n index: S,\n limitDelta: P.visible ? u + l : u - l,\n size: P.size\n };\n }\n this.sashDragState = {\n start: f,\n current: f,\n index: s,\n sizes: _,\n minDelta: i,\n maxDelta: u,\n snapBefore: E,\n snapAfter: g\n };\n })(n);\n }\n onSashChange({\n current: t\n }) {\n const {\n index: n,\n start: s,\n sizes: f,\n minDelta: _,\n maxDelta: E,\n snapBefore: g,\n snapAfter: i\n } = this.sashDragState;\n this.sashDragState.current = t;\n const u = t - s;\n this.resize(n, u, f, void 0, void 0, _, E, g, i), this.distributeEmptySpace(), this.layoutViews();\n }\n getSashPosition(t) {\n let n = 0;\n for (let s = 0; s < this.sashItems.length; s++) if (n += this.viewItems[s].size, this.sashItems[s].sash === t) return n;\n return 0;\n }\n resize(t, n, s = this.viewItems.map((d) => d.size), f, _, E = Number.NEGATIVE_INFINITY, g = Number.POSITIVE_INFINITY, i, u) {\n if (t < 0 || t >= this.viewItems.length) return 0;\n const d = lt(t, -1, -1), p = lt(t + 1, this.viewItems.length);\n if (_) for (const w of _) kr(d, w), kr(p, w);\n if (f) for (const w of f) vr(d, w), vr(p, w);\n const y = d.map((w) => this.viewItems[w]), R = d.map((w) => s[w]), b = p.map((w) => this.viewItems[w]), j = p.map((w) => s[w]), N = d.reduce((w, Z) => w + (this.viewItems[Z].minimumSize - s[Z]), 0), S = d.reduce((w, Z) => w + (this.viewItems[Z].maximumSize - s[Z]), 0), P = p.length === 0 ? Number.POSITIVE_INFINITY : p.reduce((w, Z) => w + (s[Z] - this.viewItems[Z].minimumSize), 0), l = p.length === 0 ? Number.NEGATIVE_INFINITY : p.reduce((w, Z) => w + (s[Z] - this.viewItems[Z].maximumSize), 0), M = Math.max(N, l, E), K = Math.min(P, S, g);\n let ue = !1;\n if (i) {\n const w = this.viewItems[i.index], Z = n >= i.limitDelta;\n ue = Z !== w.visible, w.setVisible(Z, i.size);\n }\n if (!ue && u) {\n const w = this.viewItems[u.index], Z = n < u.limitDelta;\n ue = Z !== w.visible, w.setVisible(Z, u.size);\n }\n if (ue) return this.resize(t, n, s, f, _, E, g);\n for (let w = 0, Z = n = zt(n, M, K); w < y.length; w++) {\n const Me = y[w], ie = zt(R[w] + Z, Me.minimumSize, Me.maximumSize);\n Z -= ie - R[w], Me.size = ie;\n }\n for (let w = 0, Z = n; w < b.length; w++) {\n const Me = b[w], ie = zt(j[w] - Z, Me.minimumSize, Me.maximumSize);\n Z += ie - j[w], Me.size = ie;\n }\n return n;\n }\n distributeEmptySpace(t) {\n const n = this.viewItems.reduce((u, d) => u + d.size, 0);\n let s = this.size - n;\n const f = lt(0, this.viewItems.length), _ = [], E = f.filter((u) => this.viewItems[u].priority === ut.Low), g = f.filter((u) => this.viewItems[u].priority === ut.Normal), i = f.filter((u) => this.viewItems[u].priority === ut.High);\n _.push(...i, ...g, ...E), typeof t == \"number\" && vr(_, t);\n for (let u = 0; s !== 0 && u < _.length; u++) {\n const d = this.viewItems[_[u]], p = zt(d.size + s, d.minimumSize, d.maximumSize);\n s -= p - d.size, d.size = p;\n }\n }\n layoutViews() {\n var t;\n this.contentSize = this.viewItems.reduce((s, f) => s + f.size, 0);\n let n = 0;\n for (const s of this.viewItems) s.layout(n), n += s.size;\n (t = this.onDidChange) != null && t.call(this, this.viewItems.map((s) => s.size)), this.sashItems.forEach((s) => s.sash.layout()), this.updateSashEnablement();\n }\n saveProportions() {\n this.proportionalLayout && this.contentSize > 0 && (this.proportions = this.viewItems.map((t) => t.size / this.contentSize));\n }\n updateSashEnablement() {\n let t = !1;\n const n = this.viewItems.map((i) => t = i.size - i.minimumSize > 0 || t);\n t = !1;\n const s = this.viewItems.map((i) => t = i.maximumSize - i.size > 0 || t), f = [...this.viewItems].reverse();\n t = !1;\n const _ = f.map((i) => t = i.size - i.minimumSize > 0 || t).reverse();\n t = !1;\n const E = f.map((i) => t = i.maximumSize - i.size > 0 || t).reverse();\n let g = 0;\n for (let i = 0; i < this.sashItems.length; i++) {\n const {\n sash: u\n } = this.sashItems[i];\n g += this.viewItems[i].size;\n const d = !(n[i] && E[i + 1]), p = !(s[i] && _[i + 1]);\n if (d && p) {\n const y = lt(i, -1, -1), R = lt(i + 1, this.viewItems.length), b = this.findFirstSnapIndex(y), j = this.findFirstSnapIndex(R), N = typeof b == \"number\" && !this.viewItems[b].visible, S = typeof j == \"number\" && !this.viewItems[j].visible;\n N && _[i] && (g > 0 || this.startSnappingEnabled) ? u.state = tt.Minimum : S && n[i] && (g < this.contentSize || this.endSnappingEnabled) ? u.state = tt.Maximum : u.state = tt.Disabled;\n } else u.state = d && !p ? tt.Minimum : !d && p ? tt.Maximum : tt.Enabled;\n }\n }\n findFirstSnapIndex(t) {\n for (const n of t) {\n const s = this.viewItems[n];\n if (s.visible && s.snap) return n;\n }\n for (const n of t) {\n const s = this.viewItems[n];\n if (s.visible && s.maximumSize - s.minimumSize > 0) return;\n if (!s.visible && s.snap) return n;\n }\n }\n}\nclass rr {\n constructor(t) {\n this.size = void 0, this.size = t;\n }\n getPreferredSize() {\n return this.size;\n }\n}\nclass $r {\n constructor(t, n) {\n this.proportion = void 0, this.layoutService = void 0, this.proportion = t, this.layoutService = n;\n }\n getPreferredSize() {\n return this.proportion * this.layoutService.getSize();\n }\n}\nclass pr {\n getPreferredSize() {\n }\n}\nclass Ar {\n get preferredSize() {\n return this.layoutStrategy.getPreferredSize();\n }\n set preferredSize(t) {\n if (typeof t == \"number\") this.layoutStrategy = new rr(t);\n else if (typeof t == \"string\") {\n const n = t.trim();\n if (dr(n, \"%\")) {\n const s = Number(n.slice(0, -1)) / 100;\n this.layoutStrategy = new $r(s, this.layoutService);\n } else if (dr(n, \"px\")) {\n const s = Number(n.slice(0, -2)) / 100;\n this.layoutStrategy = new rr(s);\n } else if (typeof Number.parseFloat(n) == \"number\") {\n const s = Number.parseFloat(n);\n this.layoutStrategy = new rr(s);\n } else this.layoutStrategy = new pr();\n } else this.layoutStrategy = new pr();\n }\n constructor(t, n) {\n var s;\n if (this.minimumSize = 0, this.maximumSize = Number.POSITIVE_INFINITY, this.element = void 0, this.priority = void 0, this.snap = void 0, this.layoutService = void 0, this.layoutStrategy = void 0, this.layoutService = t, this.element = n.element, this.minimumSize = typeof n.minimumSize == \"number\" ? n.minimumSize : 30, this.maximumSize = typeof n.maximumSize == \"number\" ? n.maximumSize : Number.POSITIVE_INFINITY, typeof n.preferredSize == \"number\") this.layoutStrategy = new rr(n.preferredSize);\n else if (typeof n.preferredSize == \"string\") {\n const f = n.preferredSize.trim();\n if (dr(f, \"%\")) {\n const _ = Number(f.slice(0, -1)) / 100;\n this.layoutStrategy = new $r(_, this.layoutService);\n } else if (dr(f, \"px\")) {\n const _ = Number(f.slice(0, -2));\n this.layoutStrategy = new rr(_);\n } else if (typeof Number.parseFloat(f) == \"number\") {\n const _ = Number.parseFloat(f);\n this.layoutStrategy = new rr(_);\n } else this.layoutStrategy = new pr();\n } else this.layoutStrategy = new pr();\n this.priority = (s = n.priority) != null ? s : ut.Normal, this.snap = typeof n.snap == \"boolean\" && n.snap;\n }\n layout(t) {\n }\n}\nfunction Br(e) {\n return e.minSize !== void 0 || e.maxSize !== void 0 || e.preferredSize !== void 0 || e.priority !== void 0 || e.visible !== void 0;\n}\nconst yr = window.React.forwardRef(({\n className: e,\n children: t\n}, n) => window.React.createElement(\"div\", {\n ref: n,\n className: Sr(\"split-view-view\", Wr, e)\n}, t));\nyr.displayName = \"Allotment.Pane\";\nconst Kr = window.React.forwardRef(({\n children: e,\n className: t,\n id: n,\n maxSize: s = 1 / 0,\n minSize: f = 30,\n proportionalLayout: _ = !0,\n separator: E = !0,\n sizes: g,\n defaultSizes: i = g,\n snap: u = !1,\n vertical: d = !1,\n onChange: p,\n onReset: y,\n onVisibleChange: R,\n onDragStart: b,\n onDragEnd: j\n}, N) => {\n const S = window.React.useRef(null), P = window.React.useRef([]), l = window.React.useRef(/* @__PURE__ */ new Map()), M = window.React.useRef(null), K = window.React.useRef(/* @__PURE__ */ new Map()), ue = window.React.useRef(new vn()), w = window.React.useRef([]), [Z, Me] = window.React.useState(!1), ie = window.React.useMemo(() => window.React.Children.toArray(e).filter(window.React.isValidElement), [e]), Ye = window.React.useCallback((I) => {\n var W, ne;\n const X = (W = w.current) == null ? void 0 : W[I];\n return typeof (X == null ? void 0 : X.preferredSize) == \"number\" && ((ne = M.current) != null && ne.resizeView(I, Math.round(X.preferredSize)), !0);\n }, []);\n return window.React.useImperativeHandle(N, () => ({\n reset: () => {\n if (y) y();\n else {\n var I;\n (I = M.current) == null || I.distributeViewSizes();\n for (let W = 0; W < w.current.length; W++) Ye(W);\n }\n },\n resize: (I) => {\n var W;\n (W = M.current) == null || W.resizeViews(I);\n }\n })), Mr(() => {\n let I = !0;\n i && K.current.size !== i.length && (I = !1, console.warn(`Expected ${i.length} children based on defaultSizes but found ${K.current.size}`)), I && i && (P.current = ie.map((X) => X.key));\n const W = lr({\n orientation: d ? ct.Vertical : ct.Horizontal,\n proportionalLayout: _\n }, I && i && {\n descriptor: {\n size: i.reduce((X, q) => X + q, 0),\n views: i.map((X, q) => {\n var ee, fe, We, $e;\n const ce = l.current.get(P.current[q]), Ae = new Ar(ue.current, lr({\n element: document.createElement(\"div\"),\n minimumSize: (ee = ce == null ? void 0 : ce.minSize) != null ? ee : f,\n maximumSize: (fe = ce == null ? void 0 : ce.maxSize) != null ? fe : s,\n priority: (We = ce == null ? void 0 : ce.priority) != null ? We : ut.Normal\n }, (ce == null ? void 0 : ce.preferredSize) && {\n preferredSize: ce == null ? void 0 : ce.preferredSize\n }, {\n snap: ($e = ce == null ? void 0 : ce.snap) != null ? $e : u\n }));\n return w.current.push(Ae), {\n container: [...K.current.values()][q],\n size: X,\n view: Ae\n };\n })\n }\n });\n M.current = new In(S.current, W, p, b, j), M.current.on(\"sashDragStart\", () => {\n var X;\n (X = S.current) == null || X.classList.add(\"split-view-sash-dragging\");\n }), M.current.on(\"sashDragEnd\", () => {\n var X;\n (X = S.current) == null || X.classList.remove(\"split-view-sash-dragging\");\n }), M.current.on(\"sashchange\", (X) => {\n if (R && M.current) {\n const q = ie.map((ee) => ee.key);\n for (let ee = 0; ee < q.length; ee++) {\n const fe = l.current.get(q[ee]);\n (fe == null ? void 0 : fe.visible) !== void 0 && fe.visible !== M.current.isViewVisible(ee) && R(ee, M.current.isViewVisible(ee));\n }\n }\n }), M.current.on(\"sashreset\", (X) => {\n if (y) y();\n else {\n var q;\n if (Ye(X) || Ye(X + 1)) return;\n (q = M.current) == null || q.distributeViewSizes();\n }\n });\n const ne = M.current;\n return () => {\n ne.dispose();\n };\n }, []), Mr(() => {\n if (Z) {\n const F = ie.map((V) => V.key), Oe = [...P.current], Xe = F.filter((V) => !P.current.includes(V)), et = F.filter((V) => P.current.includes(V)), Se = P.current.map((V) => !F.includes(V));\n for (let V = Se.length - 1; V >= 0; V--) {\n var I;\n Se[V] && ((I = M.current) != null && I.removeView(V), Oe.splice(V, 1), w.current.splice(V, 1));\n }\n for (const V of Xe) {\n var W, ne, X, q, ee;\n const A = l.current.get(V), se = new Ar(ue.current, lr({\n element: document.createElement(\"div\"),\n minimumSize: (W = A == null ? void 0 : A.minSize) != null ? W : f,\n maximumSize: (ne = A == null ? void 0 : A.maxSize) != null ? ne : s,\n priority: (X = A == null ? void 0 : A.priority) != null ? X : ut.Normal\n }, (A == null ? void 0 : A.preferredSize) && {\n preferredSize: A == null ? void 0 : A.preferredSize\n }, {\n snap: (q = A == null ? void 0 : A.snap) != null ? q : u\n }));\n (ee = M.current) != null && ee.addView(K.current.get(V), se, fr.Distribute, F.findIndex((Q) => Q === V)), Oe.splice(F.findIndex((Q) => Q === V), 0, V), w.current.splice(F.findIndex((Q) => Q === V), 0, se);\n }\n for (; !ln(F, Oe); ) for (const [V, A] of F.entries()) {\n const se = Oe.findIndex((Q) => Q === A);\n if (se !== V) {\n var fe;\n (fe = M.current) == null || fe.moveView(K.current.get(A), se, V);\n const Q = Oe[se];\n Oe.splice(se, 1), Oe.splice(V, 0, Q);\n break;\n }\n }\n for (const V of Xe) {\n var We;\n const A = F.findIndex((Q) => Q === V), se = w.current[A].preferredSize;\n se !== void 0 && ((We = M.current) == null || We.resizeView(A, se));\n }\n for (const V of [...Xe, ...et]) {\n var $e, ce;\n const A = l.current.get(V), se = F.findIndex((Q) => Q === V);\n A && Br(A) && A.visible !== void 0 && (($e = M.current) == null ? void 0 : $e.isViewVisible(se)) !== A.visible && ((ce = M.current) == null || ce.setViewVisible(se, A.visible));\n }\n for (const V of et) {\n const A = l.current.get(V), se = F.findIndex((Q) => Q === V);\n if (A && Br(A)) {\n var Ae;\n A.preferredSize !== void 0 && w.current[se].preferredSize !== A.preferredSize && (w.current[se].preferredSize = A.preferredSize);\n let Q = !1;\n A.minSize !== void 0 && w.current[se].minimumSize !== A.minSize && (w.current[se].minimumSize = A.minSize, Q = !0), A.maxSize !== void 0 && w.current[se].maximumSize !== A.maxSize && (w.current[se].maximumSize = A.maxSize, Q = !0), Q && ((Ae = M.current) == null || Ae.layout());\n }\n }\n (Xe.length > 0 || Se.length > 0) && (P.current = F);\n }\n }, [ie, Z, s, f, u]), window.React.useEffect(() => {\n M.current && (M.current.onDidChange = p);\n }, [p]), window.React.useEffect(() => {\n M.current && (M.current.onDidDragStart = b);\n }, [b]), window.React.useEffect(() => {\n M.current && (M.current.onDidDragEnd = j);\n }, [j]), un({\n ref: S,\n onResize: ({\n width: I,\n height: W\n }) => {\n var ne;\n I && W && ((ne = M.current) != null && ne.layout(d ? W : I), ue.current.setSize(d ? W : I), Me(!0));\n }\n }), window.React.useEffect(() => {\n Jr && Cn(20);\n }, []), window.React.createElement(\"div\", {\n ref: S,\n className: Sr(\"split-view\", d ? \"split-view-vertical\" : \"split-view-horizontal\", {\n \"split-view-separator-border\": E\n }, cn, d ? fn : hn, {\n [wn]: E\n }, t),\n id: n\n }, window.React.createElement(\"div\", {\n className: Sr(\"split-view-container\", pn)\n }, window.React.Children.toArray(e).map((I) => {\n if (!window.React.isValidElement(I)) return null;\n const W = I.key;\n return I.type.displayName === \"Allotment.Pane\" ? (l.current.set(W, I.props), window.React.cloneElement(I, {\n key: W,\n ref: (ne) => {\n const X = I.ref;\n X && (X.current = ne), ne ? K.current.set(W, ne) : K.current.delete(W);\n }\n })) : window.React.createElement(yr, {\n key: W,\n ref: (ne) => {\n ne ? K.current.set(W, ne) : K.current.delete(W);\n }\n }, I);\n })));\n});\nfunction Cn(e) {\n const t = zt(e, 4, 20), n = zt(e, 1, 8);\n document.documentElement.style.setProperty(\"--sash-size\", t + \"px\"), document.documentElement.style.setProperty(\"--sash-hover-size\", n + \"px\"), (function(s) {\n Zr = s, qr.emit(\"onDidChangeGlobalSize\", s);\n })(t);\n}\nKr.displayName = \"Allotment\";\nvar Dn = Object.assign(Kr, {\n Pane: yr\n});\n(function() {\n try {\n if (typeof document < \"u\") {\n var e = document.createElement(\"style\");\n e.appendChild(document.createTextNode('.grid-drag-resize{display:grid}.grid-drag-resize--dropping{background-color:#d8e9f666}.grid-drag-resize__item{position:relative}.grid-drag-resize__item--draggable-full{cursor:move;-webkit-user-select:none;user-select:none}.grid-drag-resize__item--dragging{opacity:.6}.grid-drag-resize__item--shadow{background-color:#bacbd74d}.grid-drag-resize__item--resizing>.grid-drag-resize__item__adjust{display:block}.grid-drag-resize__item--resizing>.grid-drag-resize__item__remove{transform:translate(-14px)}.grid-drag-resize__item--resizing>.grid-drag-resize__item__drop{transform:translate(-16px)}.grid-drag-resize__item__group{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%}.grid-drag-resize__item__mask{position:absolute;z-index:2;top:0;left:0;width:100%;height:100%;-webkit-user-select:none;user-select:none}.grid-drag-resize__item__border{display:none;position:absolute;z-index:3;background-color:#71c4ef}.grid-drag-resize__item__border--top{top:0;width:100%;height:2px}.grid-drag-resize__item__border--right{right:0;width:2px;height:100%}.grid-drag-resize__item__border--bottom{bottom:0;width:100%;height:2px}.grid-drag-resize__item__border--left{left:0;width:2px;height:100%}.grid-drag-resize__item--selected>.grid-drag-resize__item__border{display:block}.grid-drag-resize__item__adjust{display:none;position:absolute;z-index:4;width:10px;height:10px;border:1px solid #666;background-color:#fff;box-shadow:1px 1px 2px #0003}.grid-drag-resize__item__adjust--top{left:calc(50% - 5px);cursor:ns-resize}.grid-drag-resize__item__adjust--right{top:calc(50% - 5px);cursor:ew-resize}.grid-drag-resize__item__adjust--bottom{left:calc(50% - 5px);cursor:ns-resize}.grid-drag-resize__item__adjust--left{top:calc(50% - 5px);cursor:ew-resize}.grid-drag-resize__item__adjust--top-left{cursor:nwse-resize}.grid-drag-resize__item__adjust--top-right,.grid-drag-resize__item__adjust--bottom-left{cursor:nesw-resize}.grid-drag-resize__item__adjust--bottom-right{cursor:nwse-resize}.grid-drag-resize__item__remove{position:absolute;z-index:5;top:0;right:0;width:0;height:0;overflow:hidden;transition:transform .3s ease-in-out;border:0 solid rgba(255,0,0,.6);border-radius:50%;opacity:.8;background-color:#fff;box-shadow:0 0 2px #0003;cursor:pointer}.grid-drag-resize__item__remove:hover{opacity:1}.grid-drag-resize__item__remove:before,.grid-drag-resize__item__remove:after{content:\"\";display:block;position:absolute;top:5px;left:1px;width:9px;height:1px;transform-origin:center;background-color:#f009}.grid-drag-resize__item__remove:before{transform:rotate(-45deg)}.grid-drag-resize__item__remove:after{transform:rotate(45deg)}.grid-drag-resize__item__drop{position:absolute;z-index:5;left:calc(50% - 9px);width:0;height:0;overflow:hidden;transition:transform .3s ease-in-out;border:0 solid #666;border-radius:50%;opacity:.8;background-color:#fff;cursor:grab}.grid-drag-resize__item__drop:hover{opacity:1}.grid-drag-resize__item--hover>.grid-drag-resize__item__remove{width:13px;height:13px;border-width:1px}.grid-drag-resize__item--hover>.grid-drag-resize__item__drop{width:18px;height:18px;border-width:1px}.grid-drag-resize--sub{min-width:100%;min-height:100%}')), document.head.appendChild(e);\n }\n } catch (t) {\n console.error(\"vite-plugin-css-injected-by-js\", t);\n }\n})();\nvar Qr = { exports: {} }, ar = {};\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nvar Fr;\nfunction Pn() {\n if (Fr) return ar;\n Fr = 1;\n var e = window.React, t = Symbol.for(\"react.element\"), n = Symbol.for(\"react.fragment\"), s = Object.prototype.hasOwnProperty, f = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, _ = { key: !0, ref: !0, __self: !0, __source: !0 };\n function E(g, i, u) {\n var d, p = {}, y = null, R = null;\n u !== void 0 && (y = \"\" + u), i.key !== void 0 && (y = \"\" + i.key), i.ref !== void 0 && (R = i.ref);\n for (d in i) s.call(i, d) && !_.hasOwnProperty(d) && (p[d] = i[d]);\n if (g && g.defaultProps) for (d in i = g.defaultProps, i) p[d] === void 0 && (p[d] = i[d]);\n return { $$typeof: t, type: g, key: y, ref: R, props: p, _owner: f.current };\n }\n return ar.Fragment = n, ar.jsx = E, ar.jsxs = E, ar;\n}\nQr.exports = Pn();\nvar Ie = Qr.exports;\nconst hr = window.React.createContext(void 0);\nfunction Yr(e) {\n var t, n, s, f, _, E, g, i, u, d, p, y, R, b, j, N, S, P, l, M, K, ue, w, Z, Me, ie, Ye;\n const I = window.React.useContext(hr), W = window.React.useRef(1), ne = window.React.useRef(1), X = window.React.useRef(1), q = window.React.useRef(2), ee = window.React.useRef(1), fe = window.React.useRef(2), We = window.React.useRef(), $e = window.React.useRef(), ce = window.React.useRef(), Ae = window.React.useRef(), F = window.React.useRef(), Oe = window.React.useRef(), Xe = window.React.useRef(), et = window.React.useRef(), Se = window.React.useRef(), V = window.React.useRef(), A = window.React.useRef(), se = window.React.useRef(), Q = window.React.useRef(), Dt = window.React.useRef(), De = window.React.useRef(), he = window.React.useRef(), Xt = window.React.useRef();\n window.React.useEffect(() => {\n var c, O, He, Je, ot, U, T, _e, de, je, oe;\n W.current = e.columns || 1, ne.current = e.rows || 1, X.current = (e.columnStart ?? 0) < 1 ? 1 : e.columnStart, q.current = (e.columnEnd ?? 0) < 2 ? 2 : e.columnEnd, ee.current = (e.rowStart ?? 0) < 1 ? 1 : e.rowStart, fe.current = (e.rowEnd ?? 0) < 2 ? 2 : e.rowEnd, Se.current = e.mask ?? !1, We.current = e.dragHandler || ((c = e.parentProps) == null ? void 0 : c.dragHandler), $e.current = e.dropOutHandler || ((O = e.parentProps) == null ? void 0 : O.dropOutHandler), ce.current = e.removeHandler || ((He = e.parentProps) == null ? void 0 : He.removeHandler), Ae.current = e.overflow || ((Je = e.parentProps) == null ? void 0 : Je.overflow), F.current = e.readonly ?? ((ot = e.parentProps) == null ? void 0 : ot.readonly), Oe.current = F.current ? !1 : e.draggable ?? ((U = e.parentProps) == null ? void 0 : U.draggable), Q.current = Oe.current ?? !0, Xe.current = F.current ? !1 : e.resizable ?? ((T = e.parentProps) == null ? void 0 : T.resizable), Dt.current = Xe.current ?? !0, et.current = F.current ? !1 : e.removable ?? ((_e = e.parentProps) == null ? void 0 : _e.removable), De.current = et.current ?? !0, Se.current = e.mask ?? ((de = e.parentProps) == null ? void 0 : de.mask), he.current = Se.current ?? !1, V.current = F.current ? !1 : e.droppableOut ?? ((je = e.parentProps) == null ? void 0 : je.droppableOut), Xt.current = V.current ?? !0, A.current = e.debug ?? ((oe = e.parentProps) == null ? void 0 : oe.debug), se.current = { ...e.parentProps };\n }, [e]);\n const [Ot, dt] = window.React.useState(\n Xt.current\n ), [pt, nr] = window.React.useState($e.current), [kt, Ge] = window.React.useState(ce.current), [rt, Vt] = window.React.useState(De.current), [Ut, ae] = window.React.useState(Ae.current), [Ke, St] = window.React.useState(We.current), [ve, Re] = window.React.useState(Q.current), [Tt, It] = window.React.useState(X.current), [Rt, ft] = window.React.useState(q.current), [Ne, Ce] = window.React.useState(ee.current), [nt, ht] = window.React.useState(fe.current), [Le, Ct] = window.React.useState(ne.current), [wt, ke] = window.React.useState(W.current), [Ht, Qe] = window.React.useState(he.current);\n window.React.useEffect(() => {\n dt(V.current ?? !0);\n }, [e.droppableOut, (t = e.parentProps) == null ? void 0 : t.droppableOut]), window.React.useEffect(() => {\n nr($e.current);\n }, [e.dropOutHandler, (n = e.parentProps) == null ? void 0 : n.dropOutHandler]), window.React.useEffect(() => {\n Ge(ce.current);\n }, [e.removeHandler, (s = e.parentProps) == null ? void 0 : s.removeHandler]), window.React.useEffect(() => {\n Vt(et.current ?? !0);\n }, [e.removable, (f = e.parentProps) == null ? void 0 : f.removable]), window.React.useEffect(() => {\n Qe(Se.current ?? !1);\n }, [e.mask, (_ = e.parentProps) == null ? void 0 : _.mask]), window.React.useEffect(() => {\n ae(Ae.current);\n }, [e.overflow, (E = e.parentProps) == null ? void 0 : E.overflow]), window.React.useEffect(() => {\n St(We.current);\n }, [e.dragHandler, (g = e.parentProps) == null ? void 0 : g.dragHandler]), window.React.useEffect(() => {\n Re(Oe.current ?? !0);\n }, [e.draggable, (i = e.parentProps) == null ? void 0 : i.draggable]), window.React.useEffect(() => {\n It(X.current);\n }, [e.columnStart]), window.React.useEffect(() => {\n ft(q.current);\n }, [e.columnEnd]), window.React.useEffect(() => {\n Ce(ee.current);\n }, [e.rowStart]), window.React.useEffect(() => {\n ht(fe.current);\n }, [e.rowEnd]), window.React.useEffect(() => {\n Ct(ne.current);\n }, [e.rows]), window.React.useEffect(() => {\n ke(W.current);\n }, [e.columns]);\n const ge = window.React.useRef(null), [Pt, $t] = window.React.useState(ge.current), mt = window.React.useRef(null), [it, Ve] = window.React.useState(mt.current);\n window.React.useEffect(() => {\n $t(ge.current);\n }, []), window.React.useEffect(() => {\n Ve(mt.current);\n }, [Ht]);\n const [vt, Ue] = window.React.useState(se.current), Jt = window.React.useRef({ ...se.current });\n window.React.useEffect(() => {\n Jt.current = {\n ...se.current,\n //\n dragHandler: We.current,\n dropOutHandler: $e.current,\n removeHandler: ce.current,\n overflow: Ae.current,\n //\n readonly: F.current,\n //\n draggable: Oe.current,\n resizable: Xe.current,\n removable: et.current,\n mask: Se.current,\n droppableIn: e.droppableIn,\n droppableOut: V.current,\n //\n debug: A.current\n }, Ue(Jt.current);\n }, [\n e.dragHandler,\n (u = e.parentProps) == null ? void 0 : u.dragHandler,\n e.dropOutHandler,\n (d = e.parentProps) == null ? void 0 : d.dropOutHandler,\n e.removeHandler,\n (p = e.parentProps) == null ? void 0 : p.removeHandler,\n e.overflow,\n (y = e.parentProps) == null ? void 0 : y.overflow,\n e.readonly,\n (R = e.parentProps) == null ? void 0 : R.readonly,\n e.draggable,\n (b = e.parentProps) == null ? void 0 : b.draggable,\n e.resizable,\n (j = e.parentProps) == null ? void 0 : j.resizable,\n e.removable,\n (N = e.parentProps) == null ? void 0 : N.removable,\n e.mask,\n (S = e.parentProps) == null ? void 0 : S.mask,\n e.droppableIn,\n (P = e.parentProps) == null ? void 0 : P.droppableIn,\n e.droppableOut,\n (l = e.parentProps) == null ? void 0 : l.droppableOut,\n e.debug,\n (M = e.parentProps) == null ? void 0 : M.debug\n ]), A.current && console.log(Jt);\n const [Pe, gt] = window.React.useState(((K = e.parentProps) == null ? void 0 : K.gap) ?? 0);\n window.React.useEffect(() => {\n var c;\n const O = ((c = e.parentProps) == null ? void 0 : c.gap) ?? 0;\n gt(O < 5 ? O : 5);\n }, [(ue = e.parentProps) == null ? void 0 : ue.gap]);\n const [Zt, jt] = window.React.useState(((w = e.parentProps) == null ? void 0 : w.gap) ?? 0);\n window.React.useEffect(() => {\n var c;\n const O = ((c = e.parentProps) == null ? void 0 : c.gap) ?? 0;\n jt(O < 6.5 ? O : 6.5);\n }, [(Z = e.parentProps) == null ? void 0 : Z.gap]);\n const [At, Bt] = window.React.useState(((Me = e.parentProps) == null ? void 0 : Me.gap) ?? 0);\n window.React.useEffect(() => {\n var c;\n const O = ((c = e.parentProps) == null ? void 0 : c.gap) ?? 0;\n Bt(O < 8 ? O : 8);\n }, [(ie = e.parentProps) == null ? void 0 : ie.gap]);\n const [st, ye] = window.React.useState(I == null ? void 0 : I.state.hoverEle), [yt, Ft] = window.React.useState(st === Pt);\n window.React.useEffect(() => {\n Ft(\n st !== void 0 && (st === Pt || st === it)\n );\n }, [st, Pt, it]), window.React.useEffect(() => {\n ye(I == null ? void 0 : I.state.hoverEle);\n }, [I == null ? void 0 : I.state.hoverEle]);\n const Mt = window.React.useMemo(() => ({\n gridColumnStart: Tt ?? \"\",\n gridColumnEnd: Rt ?? \"\",\n gridRowStart: Ne ?? \"\",\n gridRowEnd: nt ?? \"\"\n }), [Tt, Rt, Ne, nt]);\n window.React.useEffect(() => {\n var c;\n e.rows !== Le && ((c = e.updateRows) == null || c.call(e, Le));\n }, [e, Le]), window.React.useEffect(() => {\n var c;\n e.columns !== wt && ((c = e.updateColumns) == null || c.call(e, wt));\n }, [e, wt]), window.React.useEffect(() => {\n var c, O, He, Je, ot, U;\n let T = e.columnStart ?? 0, _e = e.columnEnd ?? 0, de = e.columns ?? 0, je = e.rowStart ?? 0, oe = e.rowEnd ?? 0, xe = e.rows ?? 0;\n (T < 1 && _e < 1 || T > 0 && _e > 0 && _e <= T) && (T = 0, _e = 0), de < 1 && (de = 1), (je < 1 && oe < 1 || oe <= je && je > 0 && oe > 1) && (je = 0, oe = 0), xe < 1 && (xe = 1), T < 1 && _e < 1 && je < 1 && oe < 1 || (T < 1 && (T = 1), _e < T && (de < 1 ? _e = T + 1 : _e = T + de), je < 1 && (je = 1), oe < je && (xe < 1 ? oe = je + 1 : oe = je + xe), (de < 1 || de < _e - T) && T !== void 0 && _e !== void 0 && (de = _e - T), (xe < 1 || xe < oe - je) && oe !== void 0 && je !== void 0 && (xe = oe - je)), (c = e.updateColumnStart) == null || c.call(e, T), (O = e.updateColumnEnd) == null || O.call(e, _e), (He = e.updateColumns) == null || He.call(e, de), (Je = e.updateRowStart) == null || Je.call(e, je), (ot = e.updateRowEnd) == null || ot.call(e, oe), (U = e.updateRows) == null || U.call(e, xe);\n }, [e]);\n const r = window.React.useCallback(\n (c) => {\n var O, He;\n Q.current && ((He = e.startDrag) == null || He.call(e, {\n event: c,\n rect: ((O = ge == null ? void 0 : ge.current) == null ? void 0 : O.getBoundingClientRect()) ?? {\n height: 0,\n width: 0,\n x: 0,\n y: 0,\n bottom: 0,\n right: 0\n }\n }));\n },\n [e]\n ), a = window.React.useCallback(() => {\n var c;\n (c = e.dropEnd) == null || c.call(e);\n }, [e]), v = window.React.useCallback(() => {\n var c;\n (c = e.dropStart) == null || c.call(e, {\n ele: ge.current,\n remove: () => {\n var O;\n De.current && ((O = e.remove) == null || O.call(e));\n }\n });\n }, [e]), C = window.React.useCallback(\n (c) => {\n var O;\n c.stopPropagation(), (O = e.remove) == null || O.call(e);\n },\n [e]\n );\n window.React.useEffect(() => {\n if (ve && Ke && ge.current) {\n const c = ge.current.querySelector(Ke);\n c instanceof HTMLElement && (c.style.cursor = \"move\", c.addEventListener(\"mousedown\", r));\n }\n return () => {\n window.removeEventListener(\"mousedown\", r);\n };\n }, [ve, Ke, r]);\n const te = window.React.useRef(), B = window.React.useRef(), le = window.React.useRef(), we = window.React.useRef(), Be = window.React.useRef();\n window.React.useEffect(() => {\n if (Ot && pt && ge.current) {\n const c = ge.current.querySelector(pt);\n c instanceof HTMLElement && (c.style.cursor = \"grab\", c.setAttribute(\"draggable\", \"true\"), te.current && c.removeEventListener(\"mousedown\", te.current), B.current && c.removeEventListener(\"mousemove\", B.current), le.current && c.removeEventListener(\"mouseup\", le.current), we.current && c.removeEventListener(\"dragstart\", we.current), Be.current && c.removeEventListener(\"dragend\", Be.current), te.current = (O) => {\n O.stopPropagation(), v();\n }, c.addEventListener(\"mousedown\", te.current), B.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"mousemove\", B.current), le.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"mouseup\", le.current), we.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"dragstart\", we.current), Be.current = (O) => {\n O.stopPropagation(), a();\n }, c.addEventListener(\"dragend\", Be.current));\n }\n }, [pt, Ot, a, v]);\n const re = window.React.useRef(), me = window.React.useRef(), Fe = window.React.useRef(), Te = window.React.useRef();\n window.React.useEffect(() => {\n if (rt && kt && ge.current) {\n const c = ge.current.querySelector(kt);\n c instanceof HTMLElement && (c.style.cursor = \"pointer\", re.current && c.removeEventListener(\"click\", re.current), me.current && c.removeEventListener(\"mousedown\", me.current), Fe.current && c.removeEventListener(\"mousemove\", Fe.current), Te.current && c.removeEventListener(\"mouseup\", Te.current), re.current = (O) => {\n C(O);\n }, c.addEventListener(\"click\", re.current), me.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"mousedown\", me.current), Fe.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"mousemove\", Fe.current), Te.current = (O) => {\n O.stopPropagation();\n }, c.addEventListener(\"mouseup\", Te.current));\n }\n }, [rt, kt, C]);\n const be = window.React.useCallback(\n (c) => {\n var O, He;\n F.current || (c.stopPropagation(), (O = e.select) == null || O.call(e)), Dt.current && (c.stopPropagation(), (He = e.selectResizing) == null || He.call(e));\n },\n [e]\n ), ze = window.React.useCallback(\n (c, O) => {\n var He, Je;\n Dt.current && (c.stopPropagation(), (Je = e.startResize) == null || Je.call(e, {\n event: c,\n rect: ((He = ge == null ? void 0 : ge.current) == null ? void 0 : He.getBoundingClientRect()) ?? {\n height: 0,\n width: 0,\n x: 0,\n y: 0,\n bottom: 0,\n right: 0\n },\n cursor: c.target instanceof HTMLElement ? getComputedStyle(c.target).cursor : \"\",\n direction: O\n }));\n },\n [e]\n ), _t = window.React.useCallback(\n (c) => {\n c.currentTarget instanceof HTMLElement && I && (I.state.hoverEle = c.currentTarget, I.setState({ ...I.state }));\n },\n [I]\n ), bt = window.React.useCallback(() => {\n I && (I.state.hoverEle = void 0, I.setState({ ...I.state }));\n }, [I]);\n return /* @__PURE__ */ Ie.jsxs(\n \"div\",\n {\n className: `grid-drag-resize__item ${[\n ...ve ? [\"grid-drag-resize__item--draggable\"] : [],\n ...ve && !Ke ? [\"grid-drag-resize__item--draggable-full\"] : [],\n ...yt && !(I != null && I.state.dragging) && !(I != null && I.state.resizing) ? [\"grid-drag-resize__item--hover\"] : [],\n ...e.className ? [e.className] : []\n ].join(\" \")}`,\n style: { ...e.style, ...Mt },\n onMouseDown: (c) => Ke ? void 0 : r(c),\n onClick: be,\n onMouseOverCapture: _t,\n onMouseLeave: bt,\n ref: ge,\n children: [\n /* @__PURE__ */ Ie.jsx(\"div\", { className: \"grid-drag-resize__item__group\", style: { overflow: Ut }, children: e.grid ? /* @__PURE__ */ Ie.jsx(\n Ln,\n {\n ...e.grid,\n droppingChild: I == null ? void 0 : I.state.droppingChild,\n parentProps: vt,\n updateCells: () => {\n var c;\n return (c = vt == null ? void 0 : vt.updateCells) == null ? void 0 : c.call(vt, [...(vt == null ? void 0 : vt.cells) ?? []]);\n }\n }\n ) : (Ye = e.render) == null ? void 0 : Ye.call(e, e) }),\n Ht && /* @__PURE__ */ Ie.jsx(\n \"div\",\n {\n className: \"grid-drag-resize__item__mask\",\n onMouseDown: (c) => Ke ? void 0 : r(c),\n onClick: be,\n onMouseOverCapture: _t,\n onMouseLeave: bt,\n ref: mt\n }\n ),\n /* @__PURE__ */ Ie.jsx(\"b\", { className: \"grid-drag-resize__item__border grid-drag-resize__item__border--top\" }),\n /* @__PURE__ */ Ie.jsx(\"b\", { className: \"grid-drag-resize__item__border grid-drag-resize__item__border--bottom\" }),\n /* @__PURE__ */ Ie.jsx(\"b\", { className: \"grid-drag-resize__item__border grid-drag-resize__item__border--left\" }),\n /* @__PURE__ */ Ie.jsx(\"b\", { className: \"grid-drag-resize__item__border grid-drag-resize__item__border--right\" }),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--top\",\n style: { top: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"top\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--right\",\n style: { right: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"right\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--bottom\",\n style: { bottom: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"bottom\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--left\",\n style: { left: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"left\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--top-left\",\n style: { top: `${-Pe}px`, left: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"top-left\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--top-right\",\n style: { top: `${-Pe}px`, right: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"top-right\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--bottom-left\",\n style: { bottom: `${-Pe}px`, left: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"bottom-left\")\n }\n ),\n /* @__PURE__ */ Ie.jsx(\n \"i\",\n {\n className: \"grid-drag-resize__item__adjust grid-drag-resize__item__adjust--bottom-right\",\n style: { bottom: `${-Pe}px`, right: `${-Pe}px` },\n onMouseDown: (c) => ze(c, \"bottom-right\")\n }\n ),\n rt && !kt && /* @__PURE__ */ Ie.jsx(\n \"span\",\n {\n className: \"grid-drag-resize__item__remove\",\n style: { top: `${-Zt}px`, right: `${-Zt}px` },\n onClick: C,\n onMouseDown: (c) => c.stopPropagation(),\n onMouseMove: (c) => c.stopPropagation(),\n onMouseUp: (c) => c.stopPropagation()\n }\n ),\n Ot && !pt && /* @__PURE__ */ Ie.jsx(\n \"div\",\n {\n className: \"grid-drag-resize__item__drop\",\n style: { top: Ot ? `${-At}px` : \"\" },\n draggable: \"true\",\n onMouseDown: (c) => {\n c.stopPropagation(), v();\n },\n onMouseMove: (c) => c.stopPropagation(),\n onMouseUp: (c) => c.stopPropagation(),\n onDragStart: (c) => c.stopPropagation(),\n onDragEnd: (c) => c.stopPropagation()\n }\n )\n ]\n }\n );\n}\nlet jn = 0;\nconst zr = /* @__PURE__ */ new Map();\nfunction Mn(e) {\n if (zr.has(e))\n return zr.get(e);\n {\n const t = ++jn;\n return zr.set(e, t), t;\n }\n}\nfunction Nn(e) {\n var t, n, s, f, _, E, g, i, u, d, p, y, R, b, j, N, S, P;\n const l = window.React.useContext(hr), M = window.React.useMemo(() => e.parentProps !== void 0, [e.parentProps]), K = window.React.useRef(1), ue = window.React.useRef(1), w = window.React.useRef(0), Z = window.React.useRef(), Me = window.React.useRef(), ie = window.React.useRef(), Ye = window.React.useRef(), I = window.React.useRef(), W = window.React.useRef(), ne = window.React.useRef(), X = window.React.useRef(), q = window.React.useRef(), ee = window.React.useRef(), fe = window.React.useRef(), We = window.React.useRef(), $e = window.React.useRef(), ce = window.React.useRef(), Ae = window.React.useRef(\"div\"), F = window.React.useRef(), Oe = window.React.useRef();\n window.React.useEffect(() => {\n var o, m, h, x, H, z, D, Y, G, J, k, L, $, pe, Ee;\n K.current = e.columns || 1, ue.current = e.rows || 1, w.current = e.gap || 0, Z.current = e.overflow || ((o = e.parentProps) == null ? void 0 : o.overflow), Me.current = e.dragHandler || ((m = e.parentProps) == null ? void 0 : m.dragHandler), ie.current = e.dropOutHandler || ((h = e.parentProps) == null ? void 0 : h.dropOutHandler), Ye.current = e.removeHandler || ((x = e.parentProps) == null ? void 0 : x.removeHandler), I.current = e.readonly ?? ((H = e.parentProps) == null ? void 0 : H.readonly), W.current = I.current ? !1 : e.draggable ?? ((z = e.parentProps) == null ? void 0 : z.draggable), ne.current = I.current ? !1 : e.resizable ?? ((D = e.parentProps) == null ? void 0 : D.resizable), X.current = I.current ? !1 : e.removable ?? ((Y = e.parentProps) == null ? void 0 : Y.removable), q.current = I.current ? !1 : e.droppableOut ?? ((G = e.parentProps) == null ? void 0 : G.droppableOut), ee.current = e.mask ?? ((J = e.parentProps) == null ? void 0 : J.mask), fe.current = e.debug ?? ((k = e.parentProps) == null ? void 0 : k.debug), We.current = I.current ? !1 : e.droppableIn ?? ((L = e.parentProps) == null ? void 0 : L.droppableIn), Oe.current = We.current ?? !0, $e.current = e.beforeDrop ?? (($ = e.parentProps) == null ? void 0 : $.beforeDrop), ce.current = e.suffixClass || ((pe = e.parentProps) == null ? void 0 : pe.suffixClass), Ae.current = e.tagName || ((Ee = e.parentProps) == null ? void 0 : Ee.tagName) || \"div\";\n }, [e]), window.React.useEffect(() => {\n F.current = l.state.droppingChild ?? e.droppingChild;\n }, [l.state.droppingChild, e.droppingChild]);\n const [Xe, et] = window.React.useState(Ae.current), [Se, V] = window.React.useState(F.current), [A, se] = window.React.useState(ce.current), [Q, Dt] = window.React.useState(w.current);\n window.React.useEffect(() => {\n et(Ae.current);\n }, [e.tagName, (t = e.parentProps) == null ? void 0 : t.tagName]), window.React.useEffect(() => {\n V(F.current);\n }, [e.droppingChild, l.state.droppingChild]), window.React.useEffect(() => {\n se(ce.current);\n }, [e.suffixClass]), window.React.useEffect(() => {\n Dt(w.current);\n }, [e.gap]);\n const De = window.React.useRef(null), [he, Xt] = window.React.useState(De.current);\n window.React.useEffect(() => {\n Xt(De.current);\n }, []);\n const [Ot, dt] = window.React.useState(), pt = window.React.useRef();\n window.React.useEffect(() => {\n pt.current = {\n ...e,\n //\n dragHandler: Me.current,\n dropOutHandler: ie.current,\n removeHandler: Ye.current,\n overflow: Z.current,\n //\n readonly: I.current,\n //\n draggable: W.current,\n resizable: ne.current,\n removable: X.current,\n droppableOut: q.current,\n mask: ee.current,\n //\n debug: fe.current,\n //\n droppableIn: We.current,\n //\n beforeDrop: $e.current,\n //\n suffixClass: ce.current,\n tagName: Ae.current\n }, dt(pt.current);\n }, [\n e.dragHandler,\n (n = e.parentProps) == null ? void 0 : n.dragHandler,\n e.dropOutHandler,\n (s = e.parentProps) == null ? void 0 : s.dropOutHandler,\n e.removeHandler,\n (f = e.parentProps) == null ? void 0 : f.removeHandler,\n e.overflow,\n (_ = e.parentProps) == null ? void 0 : _.overflow,\n e.readonly,\n (E = e.parentProps) == null ? void 0 : E.readonly,\n e.draggable,\n (g = e.parentProps) == null ? void 0 : g.draggable,\n e.resizable,\n (i = e.parentProps) == null ? void 0 : i.resizable,\n e.removable,\n (u = e.parentProps) == null ? void 0 : u.removable,\n e.droppableOut,\n (d = e.parentProps) == null ? void 0 : d.droppableOut,\n e.mask,\n (p = e.parentProps) == null ? void 0 : p.mask,\n e.debug,\n (y = e.parentProps) == null ? void 0 : y.debug,\n e.droppableIn,\n (R = e.parentProps) == null ? void 0 : R.droppableIn,\n e.beforeDrop,\n (b = e.parentProps) == null ? void 0 : b.beforeDrop,\n e.suffixClass,\n (j = e.parentProps) == null ? void 0 : j.suffixClass,\n e.tagName,\n (N = e.parentProps) == null ? void 0 : N.tagName\n ]), fe.current && console.log(pt);\n const [nr, kt] = window.React.useState({\n columnStart: 1,\n columnEnd: 2,\n rowStart: 1,\n rowEnd: 2\n });\n window.React.useEffect(() => {\n kt({\n columnStart: (Se == null ? void 0 : Se.columnStart) ?? 1,\n columnEnd: (Se == null ? void 0 : Se.columnEnd) ?? 2,\n rowStart: (Se == null ? void 0 : Se.rowStart) ?? 1,\n rowEnd: (Se == null ? void 0 : Se.rowEnd) ?? 2\n });\n }, [Se]);\n const [Ge, rt] = window.React.useState();\n window.React.useEffect(() => {\n var o, m;\n l.state.droppingChildRaw && he ? rt(\n ((o = e.cells) == null ? void 0 : o.includes(l.state.droppingChildRaw)) || ((m = l.state.droppingChildEle) == null ? void 0 : m.contains(he))\n ) : rt(!1);\n }, [l.state.droppingChildRaw, l.state.droppingChildEle, he, e.cells]);\n const [Vt, Ut] = window.React.useState(!1);\n window.React.useEffect(() => {\n Ut(l.state.droppingEle === he && !Ge);\n }, [l.state.droppingEle, he, Ge]);\n const ae = window.React.useRef(), [Ke, St] = window.React.useState(), ve = window.React.useRef(1), Re = window.React.useRef(1), [Tt, It] = window.React.useState(ue.current), [Rt, ft] = window.React.useState(K.current);\n window.React.useEffect(() => {\n ve.current = e.rows || 1, Re.current = e.columns || 1;\n }, [e.rows, e.columns]), window.React.useEffect(() => {\n It(ve.current), ft(Re.current);\n }, [e.rows, e.columns]);\n const Ne = window.React.useMemo(\n () => e.rowExpandable && !Ge,\n [e.rowExpandable, Ge]\n ), Ce = window.React.useMemo(\n () => e.columnExpandable && !Ge,\n [e.columnExpandable, Ge]\n ), nt = window.React.useMemo(() => ({\n gridTemplateColumns: wt(\n Rt,\n e.columnExpandable ?? !1,\n e.columnSize,\n e.columnTemplate\n ),\n gridTemplateRows: wt(\n Tt,\n e.rowExpandable ?? !1,\n e.rowSize,\n e.rowTemplate\n ),\n gridGap: Q > 0 ? `${Q}px ${Q}px` : \"\"\n }), [\n Rt,\n e.columnSize,\n e.rowSize,\n Tt,\n Q,\n e.columnTemplate,\n e.rowTemplate,\n Ce,\n Ne\n ]);\n window.React.useEffect(() => {\n l.state.droppingChild !== e.droppingChild && (l.state.droppingChild = { ...e.droppingChild }, l.setState({ ...l.state }));\n }, [e.droppingChild]);\n const ht = window.React.useCallback(() => {\n var o;\n (o = e.updateDroppingChild) == null || o.call(e, void 0), l.state.droppingChild = void 0, l.state.droppingChildEle = void 0, l.state.droppingChildRaw = void 0, l.state.droppingEle = void 0, l.state.droppingChildRemove = void 0, l.setState({ ...l.state });\n }, [l, e]), Le = window.React.useCallback(\n (o) => {\n o ? l.state.actionEle = De.current ?? void 0 : l.state.actionEle = void 0;\n },\n [l.state]\n );\n function Ct(o, m, h) {\n const x = re(o), H = m - x.length, z = Number.isInteger(h) ? `${h}px` : \"1fr\";\n return o + (H > 0 ? ` repeat(${H},${z})` : \"\");\n }\n function wt(o, m, h, x) {\n return x ? m ? Ct(x, o, h) : x : `repeat(${o},${Number.isInteger(h) ? `${h}px` : \"1fr\"})`;\n }\n const ke = window.React.useCallback(\n (o, m, h = []) => {\n const x = [...e.cells ?? [], ...h].reduce((H, z) => {\n const D = { rows: z.rowEnd, columns: z.columnEnd }[o];\n D && D > 1 && D - 1 > H && (H = D - 1);\n const Y = { rows: z.rows, columns: z.columns }[o] ?? 1;\n return Math.max(H, Y);\n }, 1);\n return m === void 0 || m < x ? x : m;\n },\n [e.cells]\n );\n window.React.useEffect(() => {\n var o, m;\n const h = ke(\n \"rows\",\n Math.max(ue.current, re(e.rowTemplate ?? \"\").length)\n );\n ve.current !== h && (ve.current = h, It(ve.current), (o = e.updateRows) == null || o.call(e, ve.current));\n const x = ke(\n \"columns\",\n Math.max(K.current, re(e.columnTemplate ?? \"\").length)\n );\n Re.current !== x && (Re.current = x, ft(Re.current), (m = e.updateColumns) == null || m.call(e, Re.current));\n }, [e, ke]), window.React.useEffect(() => {\n var o, m;\n const h = (o = e.cells) == null ? void 0 : o.find(\n (x) => [x.columns, x.columnStart, x.columnEnd, x.rows, x.rowStart, x.rowEnd].every(\n (H) => H !== void 0\n ) && x.columns > 0 && x.columnStart < 1 && x.columnEnd < 1 && x.rows > 0 && x.rowStart < 1 && x.rowEnd < 1\n );\n if (h && e.cells) {\n const x = e.cells.filter(\n (J) => [J.columnStart, J.columnEnd, J.rowStart, J.rowEnd].every((k) => k !== void 0) && J.columnEnd > J.columnStart && J.rowEnd > J.rowStart\n );\n let H = !0, z = 1, D = z + h.columns, Y = 1, G = Y + h.rows;\n for (; H; Y++)\n for (G = Y + h.rows, z = 1; z + h.columns <= Re.current + 1 && H; z++) {\n D = z + h.columns;\n let J = !1;\n for (const k of x)\n if (!(!(z >= k.columnStart && z < k.columnEnd || D > k.columnStart && D <= k.columnEnd) || !(Y >= k.rowStart && Y < k.rowEnd || G > k.rowStart && G <= k.rowEnd))) {\n J = !0;\n break;\n }\n J || (H = !1);\n }\n H || (z = z - 1, Y = Y - 1, h.columnStart = z, h.columnEnd = D, h.rowStart = Y, h.rowEnd = G, (m = e.updateCells) == null || m.call(e, e.cells ? [...e.cells] : []));\n }\n }, [e, Rt]);\n function Ht(o, m, h, x) {\n const H = x.filter((D) => /\\d+px/.test(D)), z = H.map((D) => parseInt(D) + h).reduce((D, Y) => D + Y, 0);\n return (o - z - h * (m - 1 - H.length)) / (m - H.length);\n }\n const Qe = window.React.useCallback(() => {\n let o = ((he == null ? void 0 : he.getBoundingClientRect()) ?? {\n width: 0\n }).width;\n return he && (o = o - [\n parseInt(window.getComputedStyle(he).paddingLeft),\n parseInt(window.getComputedStyle(he).paddingRight)\n ].filter((m) => !isNaN(m)).reduce((m, h) => m + h, 0)), e.columnSize || Ht(\n o,\n Re.current,\n Q,\n e.columnTemplate ? re(e.columnTemplate) : []\n );\n }, [Rt, Q, e.columnSize, he, e.columnTemplate]), ge = window.React.useCallback(() => {\n let o = ((he == null ? void 0 : he.getBoundingClientRect()) ?? {\n height: 0\n }).height;\n return he && (o = o - [\n parseInt(window.getComputedStyle(he).paddingTop),\n parseInt(window.getComputedStyle(he).paddingBottom)\n ].filter((m) => !isNaN(m)).reduce((m, h) => m + h, 0)), e.rowSize || Ht(\n o,\n ve.current,\n Q,\n e.rowTemplate ? re(e.rowTemplate) : []\n );\n }, [Tt, Q, e.rowSize, he, e.rowTemplate]), Pt = window.React.useRef(0), $t = window.React.useRef(0), mt = window.React.useRef(0), it = window.React.useRef(0), Ve = window.React.useRef(), vt = window.React.useRef(), Ue = window.React.useRef(\"\"), [Jt, Pe] = window.React.useState(\n Ue.current\n ), gt = window.React.useRef(\"\"), Zt = window.React.useRef(), jt = window.React.useRef(0), At = window.React.useRef(0), Bt = window.React.useRef(0), st = window.React.useRef(0), ye = window.React.useRef(), [yt, Ft] = window.React.useState(ye.current), Mt = window.React.useRef(), r = window.React.useRef(), a = window.React.useRef(), v = window.React.useRef(0), C = window.React.useRef(0), te = window.React.useRef(0), B = window.React.useRef(0), le = window.React.useRef(0), we = window.React.useRef(0);\n function Be(o) {\n const m = o.match(/repeat\\((\\d+),(\\d+(fr|px))\\)/);\n return m ? new Array(parseInt(m[1])).fill(m[2]) : [o];\n }\n function re(o) {\n return o.trim().replace(/ {2,}/, \" \").replace(/, /, \",\").split(\" \").map((m) => Be(m)).reduce((m, h) => m.concat(h), []);\n }\n function me(o) {\n const { size: m, gap: h, span: x, max: H, offset: z, startBefore: D, expandable: Y, template: G } = o;\n if (G) {\n const J = re(G).map(($) => /\\d+px/.test($) ? parseInt($) : m);\n let k = 0, L = 0;\n for (; L < J.length && L < D && !(L > D); L++)\n k += J[L] + h;\n if (z > 0) {\n let $ = k;\n for (; L < J.length && ($ += J[L] + h, !(k + z < $)); L++)\n ;\n if (Y && k + z > $) {\n const Ee = Math.round((k + z - $) / (m + h));\n L += Ee;\n }\n let pe = L;\n return !Y && pe + x > H + 1 && (pe = H + 1 - x), {\n start: pe,\n end: pe + x\n };\n } else {\n let $ = 0, pe = D - 2, Ee = 0;\n for (; pe >= 0 && ($ += J[pe] + h, !($ > Math.abs(z))); pe--, Ee++)\n ;\n let Lt = D - Ee;\n return Lt < 1 && (Lt = 1), {\n start: Lt,\n end: Lt + x\n };\n }\n } else {\n const J = m + h ? Math.round(z / (m + h)) : 0;\n let k = D + J;\n return k < 1 && (k = 1), Y || k + x > H && (k = H - x + 1), {\n start: k,\n end: k + x\n };\n }\n }\n function Fe(o) {\n const { size: m, gap: h, span: x, max: H, pos: z, expandable: D, template: Y } = o;\n if (Y) {\n const G = re(Y).map(($) => /\\d+px/.test($) ? parseInt($) : m);\n let J = 0, k = 0;\n for (; k < G.length && (J += G[k] + h, !(z < J)); k++)\n ;\n if (D && z - J > 0) {\n const $ = Math.floor((z - J) / (m + h));\n k += $;\n }\n let L = k + 1;\n return !D && L + x > H + 1 && (L = H + 1 - x), {\n start: L,\n end: L + x\n };\n } else {\n let G = m + h ? Math.ceil((z + h / 2) / (m + h)) : 0;\n return G < 1 && (G = 1), D || G + x > H && (G = H - x + 1), {\n start: G,\n end: G + x\n };\n }\n }\n function Te(o) {\n const { size: m, gap: h, max: x, offset: H, startBefore: z, endBefore: D, target: Y, expandable: G, template: J } = o;\n if (J) {\n const k = re(J).map((L) => /\\d+px/.test(L) ? parseInt(L) : m);\n if (Y === \"start\")\n if (H > 0) {\n let L = 0, $ = 0;\n for (; $ < k.length && $ < z - 1 && !($ > z - 1); $++)\n L += k[$] + h;\n let pe = L;\n for (; $ < k.length && (pe += k[$] + h, !(L + H < pe)); $++)\n ;\n let Ee = $ + 1;\n return Ee + 1 > D && (Ee = D - 1), {\n start: Ee,\n end: D\n };\n } else {\n let L = 0, $ = z - 2, pe = 0;\n for (; $ >= 0 && (L += k[$] + h, !(L > Math.abs(H))); $--, pe++)\n ;\n let Ee = z - pe;\n return Ee + 1 > D && (Ee = D - 1), {\n start: Ee,\n end: D\n };\n }\n else if (H > 0) {\n let L = 0, $ = 0;\n for (; $ < k.length && $ < D - 1 && !($ > D - 1); $++)\n L += k[$] + h;\n let pe = L;\n for (; $ < k.length && (pe += k[$] + h, !(L + H < pe)); $++)\n ;\n if (G && L + H > pe) {\n const Lt = Math.round((L + H - pe) / (m + h));\n $ += Lt;\n }\n const Ee = $ + 1;\n return {\n start: z,\n end: Ee\n };\n } else {\n let L = 0, $ = D - 2, pe = 0;\n for (; $ >= 0 && (L += k[$] + h, !(L > Math.abs(H))); $--, pe++)\n ;\n let Ee = D - pe;\n return Ee < z && (Ee = z), {\n start: z,\n end: Ee\n };\n }\n } else {\n const k = m + h ? Math.round(H / (m + h)) : 0;\n if (Y === \"start\") {\n let L = z + k;\n return L < 1 && (L = 1), L >= D && (L = D - 1), {\n start: L,\n end: D\n };\n } else {\n let L = D + k;\n return G || L > x && (L = x + 1), L <= z && (L = z + 1), {\n start: z,\n end: L\n };\n }\n }\n }\n const be = window.React.useCallback(() => {\n l.state.resizing = !1, l.setState({ ...l.state }), Le(!1), Ve.current = void 0, vt.current = void 0, Ue.current = \"\", Pe(Ue.current), gt.current = \"\", document.body.style.cursor = \"\";\n }, [l, Le]), ze = window.React.useCallback(() => {\n l.state.dragging = !1, l.setState({ ...l.state }), Le(!1), ye.current = void 0, Ft(ye.current), Mt.current = void 0, r.current = void 0, a.current = void 0;\n }, [l, Le]);\n function _t(o) {\n const m = o.getBoundingClientRect();\n return m.top >= 0 && m.left >= 0 && m.bottom <= (window.innerHeight || document.documentElement.clientHeight) && m.right <= (window.innerWidth || document.documentElement.clientWidth);\n }\n const bt = window.React.useCallback((o) => {\n o && (_t(o) || o.scrollIntoView());\n }, []), c = (o, m) => {\n const { event: h, rect: x } = o;\n h && h.currentTarget instanceof HTMLElement && He(m, x, h.currentTarget);\n }, O = window.React.useCallback(\n (...o) => {\n const m = o[0], { event: h, rect: x, cursor: H, direction: z } = m;\n h && h.currentTarget instanceof HTMLElement && h.currentTarget.parentElement instanceof HTMLElement && (Zt.current = h.currentTarget.parentElement), Pt.current = h.clientX, $t.current = h.clientY, jt.current = h.clientX, At.current = h.clientY, ze(), l.state.resizing = !0, l.setState({ ...l.state }), Le(!0), vt.current = x, Ue.current = H, Pe(Ue.current), gt.current = z, document.body.style.cursor = H, Ve.current = { ...ae.current };\n },\n [l, ze, Le]\n );\n function He(o, m, h) {\n ye.current = o, Ft(ye.current), Mt.current = { ...o }, r.current = m, a.current = h;\n }\n const Je = window.React.useRef(e.rowTemplate), ot = window.React.useRef(e.columnTemplate), U = window.React.useCallback(\n (o) => {\n Pt.current = o.clientX, $t.current = o.clientY, I.current || ye.current && r.current && (be(), l.state.dragging = !0, l.setState({ ...l.state }), Le(!0), v.current = o.clientX, C.current = o.clientY, Je.current = e.rowTemplate ? Ct(e.rowTemplate, ve.current, ge()) : \"\", ot.current = e.columnTemplate ? Ct(e.columnTemplate, Re.current, Qe()) : \"\");\n },\n [l, be, Le]\n ), T = window.React.useCallback(\n (o) => {\n var m, h, x, H, z, D, Y, G, J, k, L, $, pe, Ee, Lt;\n if (l.state.dragging && ye.current) {\n B.current = o.clientX - v.current, te.current = o.clientY - C.current;\n let Ze = (ye.current.rowEnd ?? ye.current.rowStart ?? 1) - (ye.current.rowStart ?? 1), qe = (ye.current.columnEnd ?? ye.current.columnStart ?? 1) - (ye.current.columnStart ?? 1);\n Ze <= 0 && (Ze = 1), qe <= 0 && (qe = 1);\n const { start: tn, end: rn } = me({\n size: ge(),\n gap: w.current,\n span: Ze,\n max: ve.current ?? 1,\n offset: te.current,\n startBefore: ((m = Mt.current) == null ? void 0 : m.rowStart) ?? 1,\n direction: le.current,\n expandable: Ne ?? !1,\n template: Je.current\n });\n Ne && (ve.current = ke(\"rows\", ue.current), It(ve.current));\n const { start: nn, end: sn } = me({\n size: Qe(),\n gap: w.current,\n span: qe,\n max: Re.current ?? 1,\n offset: B.current,\n startBefore: ((h = Mt.current) == null ? void 0 : h.columnStart) ?? 1,\n direction: we.current,\n expandable: Ce ?? !1,\n template: ot.current\n });\n Ce && (Re.current = ke(\"columns\", K.current), ft(Re.current)), ye.current.columnStart = nn, ye.current.columnEnd = sn, ye.current.rowStart = tn, ye.current.rowEnd = rn, (x = e.updateCells) == null || x.call(e, e.cells ? [...e.cells] : []), bt(a.current);\n }\n if (l.state.resizing && ae.current) {\n if (st.current = o.clientX - jt.current, Bt.current = o.clientY - At.current, ae.current) {\n if (gt.current.startsWith(\"top\")) {\n const { start: Ze, end: qe } = Te({\n size: ge(),\n gap: w.current,\n max: ve.current ?? 1,\n offset: Bt.current,\n startBefore: ((H = Ve.current) == null ? void 0 : H.rowStart) ?? 1,\n endBefore: ((z = Ve.current) == null ? void 0 : z.rowEnd) ?? 1,\n target: \"start\",\n expandable: Ne ?? !1,\n template: Je.current\n });\n ae.current.rows = qe - Ze, ae.current.rowStart = Ze, ae.current.rowEnd = qe, St(ae.current), (D = e.updateCells) == null || D.call(e, e.cells ? [...e.cells] : []);\n } else if (gt.current.startsWith(\"bottom\")) {\n const { start: Ze, end: qe } = Te({\n size: ge(),\n gap: w.current,\n max: ve.current ?? 1,\n offset: Bt.current,\n startBefore: ((Y = Ve.current) == null ? void 0 : Y.rowStart) ?? 1,\n endBefore: ((G = Ve.current) == null ? void 0 : G.rowEnd) ?? 1,\n target: \"end\",\n expandable: Ne ?? !1,\n template: Je.current\n });\n ae.current.rows = qe - Ze, ae.current.rowStart = Ze, ae.current.rowEnd = qe, St(ae.current), (J = e.updateCells) == null || J.call(e, e.cells ? [...e.cells] : []), Ne && (ve.current = ke(\"rows\", ue.current), It(ve.current));\n }\n if (gt.current.endsWith(\"left\")) {\n const { start: Ze, end: qe } = Te({\n size: Qe(),\n gap: w.current,\n max: Re.current ?? 1,\n offset: st.current,\n startBefore: ((k = Ve.current) == null ? void 0 : k.columnStart) ?? 1,\n endBefore: ((L = Ve.current) == null ? void 0 : L.columnEnd) ?? 1,\n target: \"start\",\n expandable: Ce ?? !1,\n template: ot.current\n });\n ae.current.columns = qe - Ze, ae.current.columnStart = Ze, ae.current.columnEnd = qe, St(ae.current), ($ = e.updateCells) == null || $.call(e, e.cells ? [...e.cells] : []);\n } else if (gt.current.endsWith(\"right\")) {\n const { start: Ze, end: qe } = Te({\n size: Qe(),\n gap: w.current,\n max: Re.current ?? 1,\n offset: st.current,\n startBefore: ((pe = Ve.current) == null ? void 0 : pe.columnStart) ?? 1,\n endBefore: ((Ee = Ve.current) == null ? void 0 : Ee.columnEnd) ?? 1,\n target: \"end\",\n expandable: Ce ?? !1,\n template: ot.current\n });\n ae.current.columns = qe - Ze, ae.current.columnStart = Ze, ae.current.columnEnd = qe, St(ae.current), (Lt = e.updateCells) == null || Lt.call(e, e.cells ? [...e.cells] : []), Ce && (Re.current = ke(\"columns\", K.current), ft(Re.current));\n }\n }\n bt(Zt.current);\n }\n },\n [\n ke,\n Ce,\n l.state.dragging,\n l.state.resizing,\n e,\n Ne,\n bt,\n Qe,\n ge\n ]\n ), _e = window.React.useCallback(\n (o) => {\n mt.current = o.clientX - Pt.current, it.current = o.clientY - $t.current, be(), ze();\n },\n [ze, be]\n ), de = window.React.useCallback(() => {\n var o, m;\n Math.abs(mt.current) < 5 && Math.abs(it.current) < 5 && (l.state.selectedChild = void 0, l.setState({ ...l.state }), (o = e.updateSelectedChild) == null || o.call(e, void 0), (m = e.select) == null || m.call(e, void 0), ae.current = void 0, St(ae.current)), be(), ze();\n }, [l, ze, e, be]), je = window.React.useCallback(\n (o) => {\n var m, h;\n Math.abs(mt.current) < 5 && Math.abs(it.current) < 5 && (l.state.selectedChild = o, l.setState({ ...l.state }), (m = e.updateSelectedChild) == null || m.call(e, o), (h = e.select) == null || h.call(e, o));\n },\n [l, e]\n ), oe = (o) => {\n Math.abs(mt.current) < 5 && Math.abs(it.current) < 5 && (ae.current = o, St(ae.current), ye.current = void 0, Ft(ye.current), Mt.current = void 0, r.current = void 0, a.current = void 0);\n };\n window.React.useEffect(() => (window.addEventListener(\"mousedown\", U), () => {\n window.removeEventListener(\"mousedown\", U);\n }), [U]), window.React.useEffect(() => (window.addEventListener(\"mousemove\", T), () => {\n window.removeEventListener(\"mousemove\", T);\n }), [T]), window.React.useEffect(() => (window.addEventListener(\"mouseup\", _e), () => {\n window.removeEventListener(\"mouseup\", _e);\n }), [_e]), window.React.useEffect(() => (window.addEventListener(\"click\", de), () => {\n window.removeEventListener(\"click\", de);\n }), [de]);\n const xe = window.React.useCallback(\n (o) => {\n var m, h, x;\n if (Oe.current && (o.stopPropagation(), o.preventDefault(), l.state.droppingEle !== De.current && (l.state.droppingEle = De.current ?? void 0, l.setState({ ...l.state })), F.current)) {\n const H = ((m = F.current) == null ? void 0 : m.rows) ?? 1, z = ((h = F.current) == null ? void 0 : h.columns) ?? 1, D = ((x = De == null ? void 0 : De.current) == null ? void 0 : x.getBoundingClientRect()) ?? {\n height: 0,\n width: 0,\n x: 0,\n y: 0\n };\n let Y = o.clientY - D.y;\n Y < 0 ? Y = 0 : !Ne && Y > D.height && (Y = D.height);\n let G = o.clientX - D.x;\n G < 0 ? G = 0 : !Ce && G > D.width && (G = D.width);\n const { start: J, end: k } = Fe({\n size: ge(),\n gap: w.current,\n span: H,\n max: ve.current ?? 1,\n pos: Y,\n expandable: Ne ?? !1,\n template: Gt.current\n });\n F.current && (F.current.rowStart = J, F.current.rowEnd = k, V({ ...F.current })), Ne && (ve.current = ke(\n \"rows\",\n ue.current,\n F.current ? [F.current] : []\n ), It(ve.current));\n const { start: L, end: $ } = Fe({\n size: Qe(),\n gap: w.current,\n span: z,\n max: Re.current ?? 1,\n pos: G,\n expandable: Ce ?? !1,\n template: sr.current\n });\n F.current && (F.current.columnStart = L, F.current.columnEnd = $, V({ ...F.current })), Ce && (Re.current = ke(\n \"columns\",\n K.current,\n F.current ? [F.current] : []\n ), ft(Re.current));\n }\n },\n [l, ke, Ce, Ne, Qe, ge]\n ), xt = window.React.useCallback(\n (o) => {\n var m, h, x, H, z, D;\n if (Oe.current) {\n if (o.stopPropagation(), o.preventDefault(), F.current && !Ge) {\n (h = (m = l.state).droppingChildRemove) == null || h.call(m);\n let Y = { ...F.current };\n if ($e.current instanceof Function) {\n const G = $e.current(Y);\n G instanceof Promise ? G.then((J) => {\n var k, L;\n Y = J ?? Y, (k = e.cells) == null || k.push(Y), (L = e.updateCells) == null || L.call(e, e.cells ? [...e.cells] : []);\n }).catch((J) => {\n console.error(J);\n }) : (Y = G ?? Y, (x = e.cells) == null || x.push(Y), (H = e.updateCells) == null || H.call(e, e.cells ? [...e.cells] : []));\n } else\n (z = e.cells) == null || z.push(Y), (D = e.updateCells) == null || D.call(e, e.cells ? [...e.cells] : []);\n }\n ht();\n }\n },\n [l.state, ht, Ge, e]\n );\n window.React.useEffect(() => (M || window.addEventListener(\"dragover\", xe), () => {\n M || window.removeEventListener(\"dragover\", xe);\n }), [M, xe]);\n const at = window.React.useMemo(() => he && l.state && l.state.actionEle ? !l.state.actionEle.contains(he) || l.state.actionEle === he : !0, [l.state, he]), Et = window.React.useRef(!1), ir = window.React.useCallback(\n (o) => {\n Et.current = o.target === De.current, M && at && !Et.current && (o.stopPropagation(), U(o));\n },\n [M, U, at]\n ), Kt = window.React.useCallback(\n (o) => {\n M && at && !Et.current && (o.stopPropagation(), T(o));\n },\n [T, at, M]\n ), Nt = window.React.useCallback(\n (o) => {\n M && at && !Et.current && (o.stopPropagation(), _e(o)), Et.current = !1;\n },\n [_e, at, M]\n ), cr = window.React.useCallback(\n (o) => {\n M && o.target !== De.current && (o.stopPropagation(), de());\n },\n [M, de]\n ), Qt = window.React.useCallback(\n (o) => {\n var m;\n if (e.cells) {\n const h = e.cells.findIndex((x) => x === o);\n h > -1 && (e.cells.splice(h, 1), (m = e.updateCells) == null || m.call(e, e.cells ? [...e.cells] : []));\n }\n },\n [e]\n ), Yt = window.React.useCallback((o) => {\n const m = {};\n for (const h in o)\n Array.isArray(o[h]) ? m[h] = o[h].map((x) => Yt(x)) : o[h] instanceof Function ? m[h] = o[h] : o[h] instanceof Object ? m[h] = Yt(o[h]) : m[h] = o[h];\n return m;\n }, []), qt = window.React.useCallback(\n (o, m) => {\n var h;\n l.state.droppingChild = Yt(o), l.state.droppingChildEle = m.ele ?? void 0, l.state.droppingChildRaw = o, l.state.droppingChildRemove = m.remove, l.setState({ ...l.state }), (h = e.updateDroppingChild) == null || h.call(e, l.state.droppingChild);\n },\n [l, Yt, e]\n ), Gt = window.React.useRef(e.rowTemplate), sr = window.React.useRef(e.columnTemplate), er = window.React.useCallback(\n (o, m) => {\n qt(m, o), Gt.current = e.rowTemplate ? Ct(e.rowTemplate, ve.current, ge()) : \"\", sr.current = e.columnTemplate ? Ct(e.columnTemplate, Re.current, Qe()) : \"\";\n },\n [qt, e.rowTemplate, e.columnTemplate, ge, Qe]\n ), tr = window.React.useCallback(\n (o) => {\n M && Oe.current && (o.stopPropagation(), xe(o));\n },\n [xe, M]\n ), en = window.React.useCallback(() => {\n de(), ht();\n }, [de, ht]);\n return e.children ? window.React.createElement(\n Xe,\n {\n className: `grid-drag-resize ${[\n ...A ? [A] : [],\n ...M ? [\"grid-drag-resize--sub\"] : [],\n ...e.className ? [e.className] : []\n ].join(\" \")}`,\n ref: De,\n style: {\n ...e.style\n }\n },\n e.children\n ) : window.React.createElement(\n Xe,\n {\n className: `grid-drag-resize ${[\n ...A ? [A] : [],\n ...M ? [\"grid-drag-resize--sub\"] : [],\n ...Se && Vt ? [\"grid-drag-resize--dropping\"] : [],\n ...e.className ? [e.className] : []\n ].join(\" \")}`,\n ref: De,\n style: {\n ...e.style,\n ...nt\n },\n //\n onDragOver: tr,\n onDrop: xt,\n onMouseDown: ir,\n onMouseMove: Kt,\n onMouseUp: Nt,\n onClick: cr\n },\n /* @__PURE__ */ Ie.jsxs(Ie.Fragment, { children: [\n (S = e.cells) == null ? void 0 : S.map((o, m) => {\n var h, x;\n const H = Mn(o);\n return /* @__PURE__ */ Ie.jsx(\n Yr,\n {\n ...o,\n columnStart: o.columnStart,\n columnEnd: o.columnEnd,\n rowStart: o.rowStart,\n rowEnd: o.rowEnd,\n rows: o.rows,\n columns: o.columns,\n //\n updateColumnStart: (z) => {\n o.columnStart = z;\n },\n updateColumnEnd: (z) => {\n o.columnEnd = z;\n },\n updateRowStart: (z) => {\n o.rowStart = z;\n },\n updateRowEnd: (z) => {\n o.rowEnd = z;\n },\n updateRows: (z) => {\n o.rows = z;\n },\n updateColumns: (z) => {\n o.columns = z;\n },\n //\n startDrag: (z) => {\n c(z, o);\n },\n select: () => {\n je(o);\n },\n selectResizing: () => {\n oe(o);\n },\n startResize: (z) => {\n O(z);\n },\n remove: () => {\n Qt(o);\n },\n dropStart: (z) => {\n er(z, o);\n },\n dropEnd: () => {\n en();\n },\n className: [\n ...yt === o ? [\"grid-drag-resize__item--dragging\"] : [],\n ...l.state.selectedChild === o ? [\"grid-drag-resize__item--selected\"] : [],\n ...l.state.selectedChild === o && Ke === o ? [\"grid-drag-resize__item--resizing\"] : []\n ].join(\" \"),\n style: {\n zIndex: yt === o ? (((h = e.cells) == null ? void 0 : h.length) ?? 0) + 2 : l.state.selectedChild === o ? (((x = e.cells) == null ? void 0 : x.length) ?? 0) + 1 : m + 1,\n cursor: Jt\n },\n parentProps: Ot\n },\n H\n );\n }),\n Se && Vt && /* @__PURE__ */ Ie.jsx(\n Yr,\n {\n draggable: !1,\n resizable: !1,\n ...nr,\n className: \"grid-drag-resize__item--shadow\",\n style: {\n zIndex: (((P = e.cells) == null ? void 0 : P.length) ?? 0) + 3\n }\n },\n 0\n )\n ] })\n );\n}\nfunction Ln(e) {\n const [t, n] = window.React.useState({\n dragging: !1,\n resizing: !1,\n //\n droppingChild: e.droppingChild,\n droppingChildRaw: e.droppingChild,\n selectedChild: e.selectedChild\n }), s = window.React.useContext(hr) ?? {\n state: t,\n setState: n\n };\n return /* @__PURE__ */ Ie.jsx(hr.Provider, { value: s, children: /* @__PURE__ */ Ie.jsx(\n Nn,\n {\n ...e,\n parentProps: { ...e.parentProps, ...e }\n }\n ) });\n}\nexport {\n Dn as Allotment,\n Ln as GridDragResize,\n Ln as default\n};\n//# sourceMappingURL=libraries.js.map\n","import { Allotment } from '@blockbite/libraries';\nimport { useLayoutEffect, useRef } from '@wordpress/element';\n\nexport const SplitPane = ({\n pane1,\n pane2,\n handle,\n className = '',\n minSize1 = 150,\n minSize2 = 150,\n}) => {\n const allotmentRef = useRef(null);\n const hasPane2 = !!pane2;\n const prevHasPane2 = useRef(false);\n const savedSizesRef = useRef(null);\n const isFirstMount = useRef(true);\n\n // Load saved sizes from localStorage on mount\n if (isFirstMount.current && handle) {\n const savedSizes = localStorage.getItem(`splitPaneSizes-${handle}`);\n if (savedSizes) {\n try {\n savedSizesRef.current = JSON.parse(savedSizes);\n } catch (e) {\n savedSizesRef.current = [70, 30];\n }\n } else {\n savedSizesRef.current = [70, 30];\n }\n isFirstMount.current = false;\n }\n\n // Apply saved sizes when pane2 becomes visible (use layoutEffect to avoid flash)\n useLayoutEffect(() => {\n if (\n hasPane2 &&\n !prevHasPane2.current &&\n allotmentRef.current &&\n savedSizesRef.current\n ) {\n // pane2 just became visible, restore saved sizes\n requestAnimationFrame(() => {\n if (allotmentRef.current?.resize) {\n allotmentRef.current.resize(savedSizesRef.current);\n }\n });\n }\n prevHasPane2.current = hasPane2;\n }, [hasPane2]);\n\n // Save sizes to localStorage when they change\n const handleChange = (newSizes) => {\n // Only save if pane2 is visible and sizes are reasonable (not collapsed)\n if (handle && hasPane2 && newSizes[1] > 10) {\n savedSizesRef.current = newSizes;\n localStorage.setItem(\n `splitPaneSizes-${handle}`,\n JSON.stringify(newSizes)\n );\n }\n };\n\n // Get initial sizes - always use saved sizes when pane2 is visible\n let defaultSizes;\n if (!hasPane2) {\n defaultSizes = [100, 0];\n } else {\n // Always use saved sizes when pane2 is visible\n defaultSizes = savedSizesRef.current || [70, 30];\n }\n\n return (\n <Allotment\n ref={allotmentRef}\n className={className}\n onChange={handleChange}\n defaultSizes={defaultSizes}\n proportionalLayout={true}\n >\n <Allotment.Pane minSize={minSize1}>{pane1}</Allotment.Pane>\n <Allotment.Pane visible={hasPane2} minSize={minSize2}>\n {pane2}\n </Allotment.Pane>\n </Allotment>\n );\n};\n","import { TabPanel } from '@wordpress/components';\nimport { createContext, useContext, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nconst TabsContext = createContext<{\n activeTab: string | undefined;\n setActiveTab: React.Dispatch<React.SetStateAction<string | undefined>>;\n} | null>(null);\n\ntype TabsProps = {\n className?: string;\n value?: string;\n defaultValue?: string;\n onValueChange?: (value: string) => void;\n children?: React.ReactNode;\n style?: React.CSSProperties;\n};\n\nexport const TabsWrapper = ({\n children,\n defaultValue,\n value,\n onValueChange,\n ...rest\n}: TabsProps) => {\n const isControlled = value !== undefined;\n\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n const activeTab = isControlled ? value : internalValue;\n\n const handleTabChange = (newValue: string) => {\n if (!isControlled) {\n setInternalValue(newValue);\n }\n\n if (onValueChange) {\n onValueChange(newValue);\n }\n };\n\n const providerValue = {\n activeTab,\n setActiveTab: handleTabChange,\n };\n\n return (\n <TabsContext.Provider value={providerValue} {...rest}>\n {children}\n </TabsContext.Provider>\n );\n};\n\ntype TabsListProps = {\n options: { name: string; title: string; icon?: any }[];\n children?: React.ReactNode;\n onValueChange?: (value: string) => void;\n className?: string;\n};\n\nexport const TabsList = ({\n options,\n children,\n className,\n onValueChange,\n}: TabsListProps) => {\n const context = useContext(TabsContext);\n const setActiveTab = onValueChange ? onValueChange : context?.setActiveTab;\n\n return (\n <TabPanel\n className={classNames('tabs-list', className)}\n tabs={options}\n onSelect={(tabName) => {\n setActiveTab(tabName);\n }}\n >\n {() => children}\n </TabPanel>\n );\n};\n\ntype TabsContentProps = {\n value: string;\n children: React.ReactNode;\n className?: string;\n};\n\nexport const TabsContent = ({\n value,\n children,\n className,\n}: TabsContentProps) => {\n const context = useContext(TabsContext);\n const activeTab = context?.activeTab;\n\n if (activeTab !== value) {\n return null;\n }\n\n return className ? <div className={className}>{children}</div> : children;\n};\n\nexport const Tabs = {\n Wrapper: TabsWrapper,\n List: TabsList,\n Content: TabsContent,\n};\n","import classNames from 'classnames';\n\ntype TagProps = {\n children: React.ReactNode;\n className?: string;\n color:\n | 'blue'\n | 'ruby'\n | 'tomato'\n | 'red'\n | 'crimson'\n | 'pink'\n | 'plum'\n | 'purple'\n | 'violet'\n | 'iris'\n | 'indigo'\n | 'cyan'\n | 'teal'\n | 'jade'\n | 'green'\n | 'grass'\n | 'brown'\n | 'orange'\n | 'sky'\n | 'gray';\n asButton?: boolean;\n onClick?: () => void;\n};\n\nexport const Tag = ({\n children,\n onClick,\n color = 'blue',\n className,\n}: TagProps) => {\n return (\n <button onClick={onClick}>\n <div color={color} className={classNames(className)}>\n {children}\n </div>\n </button>\n );\n};\n","import { Button, Dropdown, FormTokenField } from '@wordpress/components';\nimport { useRef, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\ntype TagInputProps = {\n className?: string;\n inputClassName?: string;\n value: string[];\n label?: string;\n helper?: string;\n placeholder?: string;\n onChange?: (tokens: string[]) => void;\n onInputChange?: (inputValue: string) => void;\n suggestions?: string[];\n\n [key: string]: any;\n};\n\nexport const TagInput = ({\n className,\n inputClassName,\n value,\n label,\n helper,\n placeholder = 'Type and press Enter',\n onChange,\n onInputChange,\n suggestions = [],\n ...props\n}: TagInputProps) => {\n const [isDropdownOpen, setDropdownOpen] = useState(false);\n const [currentInput, setCurrentInput] = useState('');\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const [isSelectingSuggestion, setIsSelectingSuggestion] = useState(false);\n const [fieldKey, setFieldKey] = useState(0);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const shouldBeOpen = currentInput.length > 0 && suggestions.length > 0;\n\n const addSuggestion = (suggestion: string) => {\n // Set flag to prevent blur tokenization\n setIsSelectingSuggestion(true);\n\n onChange?.([...value, suggestion]);\n\n // Clear input and force FormTokenField to reset by changing key\n setCurrentInput('');\n onInputChange?.('');\n setFieldKey((prev) => prev + 1);\n setDropdownOpen(false);\n\n // Reset flag and refocus input after remount\n setTimeout(() => {\n setIsSelectingSuggestion(false);\n // Refocus the input after the component remounts\n const input = containerRef.current?.querySelector(\n '.components-form-token-field__input'\n ) as HTMLInputElement;\n if (input) {\n input.focus();\n }\n }, 0);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!isDropdownOpen || !shouldBeOpen) return;\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n setHighlightedIndex((prev) => Math.min(prev + 1, suggestions.length - 1));\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n setHighlightedIndex((prev) => Math.max(prev - 1, 0));\n } else if (event.key === 'Enter') {\n event.preventDefault();\n if (highlightedIndex >= 0 && suggestions[highlightedIndex]) {\n // User selected a suggestion from dropdown\n addSuggestion(suggestions[highlightedIndex]);\n } else {\n // User is manually entering a token without selecting from dropdown\n // Close dropdown and let FormTokenField handle the tokenization\n setDropdownOpen(false);\n setCurrentInput('');\n }\n } else if (event.key === ',') {\n setDropdownOpen(false);\n // Let FormTokenField handle the comma tokenization naturally\n } else if (event.key === 'Escape') {\n event.preventDefault();\n setDropdownOpen(false);\n }\n };\n\n const handleInputChange = (newInputValue: string) => {\n setCurrentInput(newInputValue);\n onInputChange?.(newInputValue);\n setHighlightedIndex(-1);\n if (newInputValue) {\n setDropdownOpen(true);\n } else {\n // Input is cleared, close dropdown\n setDropdownOpen(false);\n }\n };\n\n return (\n <div\n ref={containerRef}\n className={classNames('flex flex-col gap-1', className)}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <Dropdown\n open={isDropdownOpen && shouldBeOpen}\n onClose={() => setDropdownOpen(false)}\n renderToggle={() => (\n <FormTokenField\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n key={fieldKey}\n value={value}\n label={label || undefined}\n onChange={onChange}\n onInputChange={handleInputChange}\n onFocus={() => setDropdownOpen(true)}\n tokenizeOnBlur={\n !isSelectingSuggestion && !(isDropdownOpen && shouldBeOpen)\n }\n placeholder={placeholder}\n className={inputClassName}\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n />\n )}\n renderContent={() => (\n <div role=\"listbox\" className=\"max-h-60 min-w-32 overflow-y-auto\">\n {suggestions.map((suggestion, index) => (\n <Button\n key={suggestion}\n variant={index === highlightedIndex ? 'primary' : 'tertiary'}\n className={classNames(\n 'block w-full text-left px-3 py-2 text-sm',\n {\n 'is-active': index === highlightedIndex,\n }\n )}\n onClick={() => addSuggestion(suggestion)}\n onMouseDown={() => setIsSelectingSuggestion(true)}\n onMouseEnter={() => setHighlightedIndex(index)}\n tabIndex={-1}\n >\n {suggestion}\n </Button>\n ))}\n </div>\n )}\n />\n {helper && <p className=\"text-xs text-primary mt-1\">{helper}</p>}\n </div>\n );\n};\n\nTagInput.displayName = 'TagInput'; // Recommended for debugging\n","import { Pencil1 as Pencil1Icon } from '@blockbite/icons';\n\nimport { TextControl } from '@wordpress/components';\nimport { Wrap } from './Wrap.js';\n\ntype TextControlLabelProps = {\n className?: string;\n defaultValue: any;\n children?: React.ReactNode;\n onChange?: (value: string) => void;\n onClick?: () => void;\n};\n\nexport const TextControlLabel = ({\n onChange,\n defaultValue,\n children,\n}: TextControlLabelProps) => {\n return (\n <Wrap className=\"blockbite-ui__text-control-label flex items-center\">\n <span className=\"outline-b-2 relative block -outline-offset-2 outline-black\">\n <TextControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n type=\"text\"\n value={defaultValue}\n onChange={onChange}\n />\n <Pencil1Icon className=\"absolute right-1 top-2\" />\n </span>{' '}\n {children}\n </Wrap>\n );\n};\n","import { memo } from '@wordpress/element';\n\nimport { Wrap } from './Wrap.js';\n\nimport {\n __experimentalToggleGroupControlOptionIcon as ToggleGroupControlIcon,\n __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n __experimentalToggleGroupControl as WordpressToggleGroupControl,\n} from '@wordpress/components';\nimport classNames from 'classnames';\n\ntype ToggleProps = {\n className?: string;\n options: { value: string; label: string; icon?: React.ReactElement }[];\n value: string;\n label?: string | boolean;\n variant?: 'primary' | 'secondary';\n display?: 'icon' | 'label';\n size?: 'small' | 'default' | 'compact';\n onPressedChange: (value: string) => void;\n};\n\nexport const ToggleGroup: React.FC<ToggleProps> = memo(\n ({\n className,\n options,\n value,\n display = 'label',\n label = false,\n onPressedChange,\n }) => {\n const handlePressChange = (val: string) => {\n onPressedChange(val);\n };\n\n return (\n <Wrap className={classNames(className)}>\n <WordpressToggleGroupControl\n __next40pxDefaultSize\n __nextHasNoMarginBottom\n isBlock\n value={value}\n {...(label ? { label } : {})}\n >\n {options.map((option) =>\n display === 'icon' ? (\n <ToggleGroupControlIcon\n icon={option.icon}\n label={option.label}\n key={`ToggleGroupControlIcon-${option.value}`}\n value={option.value}\n onClick={() => handlePressChange(option.value)}\n />\n ) : (\n <ToggleGroupControlOption\n key={`ToggleGroupControlOption-${option.value}`}\n value={option.value}\n label={option.label}\n onClick={() => handlePressChange(option.value)}\n />\n )\n )}\n </WordpressToggleGroupControl>\n </Wrap>\n );\n }\n);\n","import { ToggleControl as Switch } from '@wordpress/components';\nimport { useEffect, useState } from '@wordpress/element';\nimport classNames from 'classnames';\n\nimport { Wrap } from './Wrap.js';\n\ntype ToggleSwitchProps = {\n label?: string;\n className?: string;\n onChange?: (checked: boolean) => void;\n checked?: boolean;\n};\n\nexport const ToggleSwitch = ({\n label,\n className,\n onChange,\n checked = false, // Default to false if undefined, so it's always controlled\n}: ToggleSwitchProps) => {\n const [isChecked, setIsChecked] = useState(checked);\n\n useEffect(() => {\n setIsChecked(checked);\n }, [checked]);\n\n return (\n <Wrap className={classNames(className, 'flex items-center gap-2')}>\n <Switch\n checked={isChecked}\n label={label}\n onChange={(e) => {\n setIsChecked(e);\n onChange && onChange(e);\n }}\n ></Switch>\n </Wrap>\n );\n};\n"],"names":["hasOwn","classNames","classes","i","arg","appendClass","parseValue","key","value","newClass","module","Icon","icon","rest","IconComponent","ButtonToggle","memo","children","className","variant","pressed","onPressedChange","size","display","label","handleClick","useCallback","WordpressButton","ButtonToggleGroup","toggle","options","tabs","stretch","handleButtonClick","optionValue","newValue","renderContent","option","index","AutocompleteDropdown","swatch","activeKeyword","setActiveKeyword","useState","filteredOptions","setFilteredOptions","useEffect","Dropdown","isOpen","onToggle","Button","_a","o","TextControl","changedValue","Badge","onClick","status","BitePreview","htmlContent","cssContent","frontendAssets","iframeRef","useRef","iframeBody","setIframeBody","iframe","iframeDocument","styleTag","type","id","url","existingElement","adoptedElement","newElement","createPortal","disabled","isIconDisplay","Wrap","important","Chapter","title","ChapterDivider","help","badge","addon","line","props","Checkbox","defaultChecked","isChecked","setChecked","CheckboxControl","ChevronDown","ColorWheel","Cross2","InfoCircled","ListBullet","Pencil1","Percentage","Plus","Slider","Tailwind","Trash","forwardRef","onChange","inputClassName","readOnly","placeholder","onBlur","helper","ref","fieldId","e","DataItemList","data","active","setActive","onCreate","onDelete","onUpdate","onSwitch","renderItemActions","addons","footerSlot","footerSlotClassName","rename","setRename","isSaving","setIsSaving","textRef","handleAdd","handleRemove","newData","d","currentIndex","nextActive","handleRenameBlur","renderBadge","item","PlusIcon","TrashIcon","DisappearingMessage","duration","show","message","onClose","isShowing","setIsShowing","hasMounted","timeoutRef","DropdownPicker","defaultIcon","ChevronDownIcon","currentOption","setCurrentOption","allOptions","iconSize","DropdownMenu","EmptyState","description","FloatingPanel","panelRef","position","setPosition","dragging","setDragging","offset","setOffset","handleMouseMove","handleMouseUp","startDragging","rect","FocalPointControl","onValueChange","focalPoint","setFocalPoint","x","y","v","FocalPointPicker","Label","LinkPicker","links","setLinks","activeLink","setActiveLink","apiFetch","fetchedLinks","__","LinkList","link","onActiveLink","list","MediaPicker","mediaProps","mediaCallback","allowedTypes","stateMedia","setStateMedia","removeMedia","onSelectMedia","media","safeSizes","sizeObject","mediaType","mediaObj","PanelRow","MediaUploadCheck","MediaUpload","open","Popover","visible","anchor","onVisibleChange","handleClose","WordpressPopover","RangeSlider","min","max","withInputField","onReset","allowReset","gridMode","showTooltip","resetFallbackValue","rangeValue","setRangeValue","handleRangeUpdate","val","gridValue","WordpressRangeControl","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","isPercent","isTshirtSize","CSS_UNITS","MetricsControl","propValue","classGroupControl","tailwindUi","isVisible","setIsVisible","localUnit","setLocalUnit","localText","setLocalText","rawValue","setRawValue","inputRef","manualFraction","manualOptions","manualRange","manualCssVars","manualArbitrary","getUserFriendlyValue","detectUnitFromRawValue","normOptions","useMemo","supportsArbitrary","hasValidator","supportsFraction","supportsTheme","validators","names","raw","arbMatch","varMatch","getRawValue","userFriendly","trimmed","isValidValue","handleInputChange","handleBlur","newRaw","handleKeyDown","appendToText","insertion","isNumeric","newText","numericMatch","setValueDirectly","CurrentUnitIcon","PercentageIcon","ListBulletIcon","ColorWheelIcon","SliderIcon","TailwindUnitIcon","openPicker","renderFractionBody","_c","_b","renderListBody","getCustomCssVariables","rootStyles","customVars","propertyName","renderThemeInsert","cssVariableOptions","renderArbitraryUnitButtons","u","InputControl","InputControlSuffixWrapper","InfoCircledIcon","ModalContext","createContext","useModalContext","context","useContext","Modal","onOpenChange","setOpen","openModal","closeModal","hasModalFooter","Children","child","isValidElement","ModalFooter","ModalTrigger","WordpressModal","ModalHeader","ModalContent","ModalClose","copyStyles","sourceDoc","targetDoc","styleSheet","newStyleEl","cssRule","newLinkEl","NewWindowPortal","windowInstance","containerEl","win","handleBeforeUnload","Notice","showNotice","setShowNotice","WordpressNotice","PasswordInput","showPassword","setShowPassword","SVG","Path","prev","ProjectsNavigation","items","activeId","onSelect","ResponsiveImage","bbMedia","alt","sizes","thumbnail","medium","large","thumbnailImg","mediumImg","largeImg","ResponsiveVideo","videoUrl","ScrollList","height","SelectControlWrapper","emptyLabel","handleChange","WordpressSelect","select","dispatch","SingleBlockTypeAppender","buttonText","addLastDuplicate","currentBlock","clientId","innerBlocks","lastBlock","newBlock","createBlock","SlideIn","watch","slide","setSlide","Spinner","WordpressSpinner","lr","t","n","s","Wt","ur","xr","Er","wr","Ir","Cr","on","f","_","E","g","Sr","Pr","zt","p","R","mr","an","b","j","N","S","P","l","M","K","ue","w","Z","Me","ie","Ye","I","W","ne","X","q","ee","r","a","C","fe","te","We","$e","ce","Ae","F","Oe","Xe","et","Se","V","A","se","Q","Dt","De","he","Xt","Ot","dt","pt","nr","kt","Ge","Ve","rt","Vt","Ut","ae","Ke","St","Pe","ve","Re","Tt","It","Rt","ft","Ne","Ce","nt","ht","Le","Ct","jt","Zt","At","B","Ft","le","we","me","Fe","Te","be","Be","re","Jt","wt","gt","ke","Ht","yt","Qe","Ue","ze","_t","bt","c","$t","U","T","_e","de","je","oe","xe","xt","at","Et","ir","O","He","Je","ot","mt","Kt","Nt","cr","Qt","Yt","qt","Gt","sr","er","tr","ge","ye","Bt","Pt","Mt","vt","it","st","ln","jr","un","cn","dn","pn","Wr","fn","hn","wn","or","Xr","Ur","Jr","mn","Mr","vn","dr","Nr","Lr","Dr","Or","gn","Rr","kr","vr","lt","_n","bn","zn","Sn","Vr","Rn","yn","Tr","gr","_r","ct","tt","Zr","qr","Hr","fr","br","ut","Gr","xn","En","In","rr","$r","pr","Ar","Br","yr","Kr","Cn","Dn","ar","Fr","Pn","SplitPane","pane1","pane2","handle","minSize1","minSize2","allotmentRef","hasPane2","prevHasPane2","savedSizesRef","isFirstMount","savedSizes","useLayoutEffect","newSizes","defaultSizes","Allotment","TabsContext","TabsWrapper","defaultValue","isControlled","internalValue","setInternalValue","providerValue","TabsList","setActiveTab","TabPanel","tabName","TabsContent","Tabs","Tag","color","TagInput","onInputChange","suggestions","isDropdownOpen","setDropdownOpen","currentInput","setCurrentInput","highlightedIndex","setHighlightedIndex","isSelectingSuggestion","setIsSelectingSuggestion","fieldKey","setFieldKey","containerRef","shouldBeOpen","addSuggestion","suggestion","input","event","newInputValue","FormTokenField","TextControlLabel","Pencil1Icon","ToggleGroup","handlePressChange","WordpressToggleGroupControl","ToggleGroupControlIcon","ToggleGroupControlOption","ToggleSwitch","checked","setIsChecked","Switch"],"mappings":"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","x_google_ignoreList":[0]}