@berenjena/react-dev-panel 1.0.3 → 2.0.0
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/README.md +32 -171
- package/dist/assets/BooleanControl.css +1 -1
- package/dist/assets/ButtonControl.css +1 -1
- package/dist/assets/ButtonGroupControl.css +1 -1
- package/dist/assets/ColorControl.css +1 -1
- package/dist/assets/ControlRenderer.css +1 -1
- package/dist/assets/DevPanel.css +1 -1
- package/dist/assets/EmptyContent.css +1 -1
- package/dist/assets/Input.css +1 -1
- package/dist/assets/MultiSelectControl.css +1 -0
- package/dist/assets/RangeControl.css +1 -1
- package/dist/assets/Section.css +1 -1
- package/dist/assets/Select.css +1 -1
- package/dist/assets/SeparatorControl.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/components/ControlRenderer/ControlRenderer.js +38 -18
- package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.d.ts +20 -4
- package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.js +16 -14
- package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.d.ts +22 -5
- package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.js +2 -2
- package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.d.ts +35 -0
- package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.js +2 -2
- package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.d.ts +13 -6
- package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.js +61 -15
- package/dist/components/ControlRenderer/controls/ColorControl/types.d.ts +14 -0
- package/dist/components/ControlRenderer/controls/DateControl/DateControl.d.ts +17 -5
- package/dist/components/ControlRenderer/controls/DateControl/DateControl.js +12 -12
- package/dist/components/ControlRenderer/controls/MultiSelectControl/MultiSelectControl.d.ts +28 -0
- package/dist/components/ControlRenderer/controls/MultiSelectControl/MultiSelectControl.js +131 -0
- package/dist/components/ControlRenderer/controls/MultiSelectControl/index.d.ts +1 -0
- package/dist/components/ControlRenderer/controls/MultiSelectControl/index.js +4 -0
- package/dist/components/ControlRenderer/controls/MultiSelectControl/types.d.ts +11 -0
- package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.d.ts +26 -11
- package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.js +14 -14
- package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.d.ts +27 -11
- package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.js +19 -19
- package/dist/components/ControlRenderer/controls/SelectControl/SelectControl.d.ts +29 -5
- package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.d.ts +16 -7
- package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.js +6 -6
- package/dist/components/ControlRenderer/controls/TextControl/TextControl.d.ts +24 -13
- package/dist/components/ControlRenderer/controls/TextControl/TextControl.js +15 -15
- package/dist/components/ControlRenderer/controls/index.d.ts +2 -0
- package/dist/components/ControlRenderer/controls/index.js +1 -0
- package/dist/components/ControlRenderer/controls/types.d.ts +2 -0
- package/dist/components/DevPanel/DevPanel.js +45 -40
- package/dist/components/DevPanel/types.d.ts +26 -0
- package/dist/components/DevPanelPortal/DevPanelPortal.d.ts +8 -0
- package/dist/components/DevPanelPortal/DevPanelPortal.js +17 -0
- package/dist/components/DevPanelPortal/index.d.ts +1 -0
- package/dist/components/DevPanelPortal/index.js +4 -0
- package/dist/components/EmptyContent/EmptyContent.js +5 -5
- package/dist/components/Icon/index.d.ts +16 -0
- package/dist/components/Icon/index.js +31 -0
- package/dist/components/Input/Input.js +4 -4
- package/dist/components/Section/Section.js +17 -16
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/index.d.ts +3 -2
- package/dist/components/index.js +8 -6
- package/dist/hooks/useDebounceCallback/index.d.ts +1 -0
- package/dist/hooks/useDebounceCallback/index.js +4 -0
- package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +8 -0
- package/dist/hooks/useDebounceCallback/useDebounceCallback.js +17 -0
- package/dist/hooks/useDevPanel/useDevPanel.d.ts +10 -5
- package/dist/hooks/useDevPanel/useDevPanel.js +25215 -12
- package/dist/hooks/useDragAndDrop/useDragAndDrop.d.ts +5 -1
- package/dist/hooks/useDragAndDrop/useDragAndDrop.js +24 -24
- package/dist/index.d.ts +0 -1
- package/dist/index.js +2 -8
- package/dist/managers/DevPanelManager.d.ts +85 -0
- package/dist/managers/DevPanelManager.js +119 -0
- package/dist/managers/index.d.ts +1 -0
- package/dist/managers/index.js +4 -0
- package/dist/store/BaseStoreService.d.ts +90 -0
- package/dist/store/BaseStoreService.js +90 -0
- package/dist/store/SectionsStore.d.ts +40 -0
- package/dist/store/SectionsStore.js +114 -0
- package/dist/store/ThemeStore.d.ts +68 -0
- package/dist/store/ThemeStore.js +102 -0
- package/dist/store/{store.d.ts → UIStore.d.ts} +17 -35
- package/dist/store/UIStore.js +117 -0
- package/dist/store/index.d.ts +4 -1
- package/dist/store/index.js +16 -7
- package/package.json +12 -3
- package/dist/assets/index2.css +0 -1
- package/dist/components/Logger/index.d.ts +0 -20
- package/dist/components/Logger/index.js +0 -85
- package/dist/store/store.js +0 -239
package/dist/assets/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--dev-panel-font-family: Helvetica, Arial, Sans-Serif;--dev-panel-font-size-xs: 12px;--dev-panel-font-size-sm: 14px;--dev-panel-font-size-md: 16px;--dev-panel-font-size-lg: 18px;--dev-panel-accent-color: #6663fd;--dev-panel-primary-color: #6663fd;--dev-panel-secondary-color: #1c1c1c;--dev-panel-background-color: #3e3d40;--dev-panel-highlight-color: #f0f0f0;--dev-panel-foreground-color: #313133;--dev-panel-border-color: #a1a1a1;--dev-panel-text-color: #e0e0e0;--dev-panel-text-color-muted: #b0b0b0;--dev-panel-input-background-color: #302f32;--dev-panel-text-color-highlight: #fbfffa;--dev-panel-spacing-xs: 4px;--dev-panel-spacing-sm: 8px;--dev-panel-spacing-md: 10px;--dev-panel-spacing-lg: 14px;--dev-panel-shadow: 0 8px 24px rgba(0, 0, 0, .2);--dev-panel-max-width: 320px;--dev-panel-max-height: 80vh;--dev-panel-inputs-height: 24px;--dev-panel-border-radius: 6px;--dev-panel-transition: all .2s cubic-bezier(.4, 0, .2, 1)}
|
|
1
|
+
:root{--dev-panel-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--dev-panel-font-weight-normal: 400;--dev-panel-font-weight-medium: 500;--dev-panel-font-weight-semibold: 600;--dev-panel-font-weight-bold: 700;--dev-panel-font-size-xs: 10px;--dev-panel-font-size-sm: 12px;--dev-panel-font-size-md: 14px;--dev-panel-font-size-lg: 16px;--dev-panel-font-size-xl: 18px;--dev-panel-line-height-tight: 1.25;--dev-panel-line-height-normal: 1.5;--dev-panel-line-height-relaxed: 1.75;--dev-panel-accent-color: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}@media (prefers-color-scheme: light){:root{--dev-panel-accent-color: #6366f1 !important;--dev-panel-accent-color-hover: #5855eb !important;--dev-panel-accent-color-active: #4f46e5 !important;--dev-panel-accent-color-disabled: #6366f130 !important;--dev-panel-primary-color: #6366f1 !important;--dev-panel-primary-color-hover: #5855eb !important;--dev-panel-primary-color-active: #4f46e5 !important;--dev-panel-secondary-color: #64748b !important;--dev-panel-secondary-color-hover: #475569 !important;--dev-panel-secondary-color-active: #334155 !important;--dev-panel-background-color: #f8fafc !important;--dev-panel-background-color-secondary: #f1f5f9 !important;--dev-panel-background-color-tertiary: #e2e8f0 !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #ffffff !important;--dev-panel-surface-color-hover: #f8fafc !important;--dev-panel-surface-color-active: #f1f5f9 !important;--dev-panel-text-color: #0f172a !important;--dev-panel-text-color-secondary: #334155 !important;--dev-panel-text-color-muted: #64748b !important;--dev-panel-text-color-disabled: #94a3b8 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #0f172a !important;--dev-panel-border-color: #e2e8f0 !important;--dev-panel-border-color-light: #cbd5e1 !important;--dev-panel-border-color-strong: #94a3b8 !important;--dev-panel-border-color-accent: #6366f1 !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #f8fafc !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #d1d5db !important;--dev-panel-input-border-color-hover: #9ca3af !important;--dev-panel-input-border-color-focus: #6366f1 !important;--dev-panel-input-text-color: #111827 !important;--dev-panel-input-placeholder-color: #9ca3af !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary) !important;--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light) !important;--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong) !important}}:root[data-dev-panel-theme=dark]{color-scheme:dark!important;--dev-panel-background-color: #1e293b !important;--dev-panel-background-color-secondary: #334155 !important;--dev-panel-background-color-tertiary: #475569 !important;--dev-panel-foreground-color: #0f172a !important;--dev-panel-surface-color: #334155 !important;--dev-panel-surface-color-hover: #475569 !important;--dev-panel-surface-color-active: #64748b !important;--dev-panel-text-color: #f1f5f9 !important;--dev-panel-text-color-secondary: #cbd5e1 !important;--dev-panel-text-color-muted: #94a3b8 !important;--dev-panel-text-color-disabled: #64748b !important;--dev-panel-text-color-on-surface: #f1f5f9 !important;--dev-panel-border-color: #475569 !important;--dev-panel-border-color-light: #64748b !important;--dev-panel-border-color-strong: #334155 !important;--dev-panel-input-background-color: #0f172a !important;--dev-panel-input-background-color-hover: #1e293b !important;--dev-panel-input-background-color-focus: #1e293b !important;--dev-panel-input-border-color: #475569 !important;--dev-panel-input-border-color-hover: #64748b !important;--dev-panel-input-text-color: #f1f5f9 !important;--dev-panel-input-placeholder-color: #64748b !important;--dev-panel-scrollbar-track-color: #334155 !important;--dev-panel-scrollbar-thumb-color: #475569 !important;--dev-panel-scrollbar-thumb-hover-color: #64748b !important}:root[data-dev-panel-theme=light]{color-scheme:light!important;--dev-panel-background-color: #f8fafc !important;--dev-panel-background-color-secondary: #f1f5f9 !important;--dev-panel-background-color-tertiary: #e2e8f0 !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #ffffff !important;--dev-panel-surface-color-hover: #f8fafc !important;--dev-panel-surface-color-active: #f1f5f9 !important;--dev-panel-text-color: #0f172a !important;--dev-panel-text-color-secondary: #334155 !important;--dev-panel-text-color-muted: #64748b !important;--dev-panel-text-color-disabled: #94a3b8 !important;--dev-panel-text-color-on-surface: #0f172a !important;--dev-panel-border-color: #e2e8f0 !important;--dev-panel-border-color-light: #cbd5e1 !important;--dev-panel-border-color-strong: #94a3b8 !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #f8fafc !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #d1d5db !important;--dev-panel-input-border-color-hover: #9ca3af !important;--dev-panel-input-text-color: #111827 !important;--dev-panel-input-placeholder-color: #9ca3af !important;--dev-panel-scrollbar-track-color: #f1f5f9 !important;--dev-panel-scrollbar-thumb-color: #cbd5e1 !important;--dev-panel-scrollbar-thumb-hover-color: #94a3b8 !important}:root[data-dev-panel-theme=orange]{color-scheme:dark!important;--dev-panel-accent-color: #ff6200 !important;--dev-panel-accent-color-hover: #e55a00 !important;--dev-panel-accent-color-active: #cc5100 !important;--dev-panel-accent-color-disabled: #ff620030 !important;--dev-panel-primary-color: #ff6200 !important;--dev-panel-primary-color-hover: #e55a00 !important;--dev-panel-primary-color-active: #cc5100 !important;--dev-panel-secondary-color: #666666 !important;--dev-panel-secondary-color-hover: #555555 !important;--dev-panel-secondary-color-active: #444444 !important;--dev-panel-background-color: #1a1a1a !important;--dev-panel-background-color-secondary: #2a2a2a !important;--dev-panel-background-color-tertiary: #3a3a3a !important;--dev-panel-foreground-color: #0f0f0f !important;--dev-panel-surface-color: #2a2a2a !important;--dev-panel-surface-color-hover: #3a3a3a !important;--dev-panel-surface-color-active: #4a4a4a !important;--dev-panel-text-color: #ffffff !important;--dev-panel-text-color-secondary: #e6e6e6 !important;--dev-panel-text-color-muted: #cccccc !important;--dev-panel-text-color-disabled: #999999 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #ffffff !important;--dev-panel-border-color: #333333 !important;--dev-panel-border-color-light: #444444 !important;--dev-panel-border-color-strong: #222222 !important;--dev-panel-border-color-accent: #ff6200 !important;--dev-panel-input-background-color: #2a2a2a !important;--dev-panel-input-background-color-hover: #3a3a3a !important;--dev-panel-input-background-color-focus: #2a2a2a !important;--dev-panel-input-border-color: #444444 !important;--dev-panel-input-border-color-hover: #555555 !important;--dev-panel-input-border-color-focus: #ff6200 !important;--dev-panel-input-text-color: #ffffff !important;--dev-panel-input-placeholder-color: #999999 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .5) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .6), 0 1px 2px -1px rgb(0 0 0 / .6) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .6), 0 2px 4px -2px rgb(0 0 0 / .6) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .6), 0 4px 6px -4px rgb(0 0 0 / .6) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .6), 0 8px 10px -6px rgb(0 0 0 / .6) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .7) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #2a2a2a !important;--dev-panel-scrollbar-thumb-color: #444444 !important;--dev-panel-scrollbar-thumb-hover-color: #555555 !important}:root[data-dev-panel-theme=purple]{color-scheme:dark!important;--dev-panel-accent-color: #8b5cf6 !important;--dev-panel-accent-color-hover: #7c3aed !important;--dev-panel-accent-color-active: #6d28d9 !important;--dev-panel-accent-color-disabled: #8b5cf630 !important;--dev-panel-primary-color: #8b5cf6 !important;--dev-panel-primary-color-hover: #7c3aed !important;--dev-panel-primary-color-active: #6d28d9 !important;--dev-panel-secondary-color: #6b7280 !important;--dev-panel-secondary-color-hover: #4b5563 !important;--dev-panel-secondary-color-active: #374151 !important;--dev-panel-background-color: #1e1b4b !important;--dev-panel-background-color-secondary: #312e81 !important;--dev-panel-background-color-tertiary: #4c1d95 !important;--dev-panel-foreground-color: #0f0c29 !important;--dev-panel-surface-color: #312e81 !important;--dev-panel-surface-color-hover: #4c1d95 !important;--dev-panel-surface-color-active: #5b21b6 !important;--dev-panel-text-color: #f3f4f6 !important;--dev-panel-text-color-secondary: #e5e7eb !important;--dev-panel-text-color-muted: #d1d5db !important;--dev-panel-text-color-disabled: #9ca3af !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #f3f4f6 !important;--dev-panel-border-color: #4c1d95 !important;--dev-panel-border-color-light: #5b21b6 !important;--dev-panel-border-color-strong: #3730a3 !important;--dev-panel-border-color-accent: #8b5cf6 !important;--dev-panel-input-background-color: #1e1b4b !important;--dev-panel-input-background-color-hover: #312e81 !important;--dev-panel-input-background-color-focus: #1e1b4b !important;--dev-panel-input-border-color: #4c1d95 !important;--dev-panel-input-border-color-hover: #5b21b6 !important;--dev-panel-input-border-color-focus: #8b5cf6 !important;--dev-panel-input-text-color: #f3f4f6 !important;--dev-panel-input-placeholder-color: #9ca3af !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(139 92 246 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(139 92 246 / .2), 0 1px 2px -1px rgb(139 92 246 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(139 92 246 / .2), 0 2px 4px -2px rgb(139 92 246 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(139 92 246 / .2), 0 4px 6px -4px rgb(139 92 246 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(139 92 246 / .2), 0 8px 10px -6px rgb(139 92 246 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(139 92 246 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #312e81 !important;--dev-panel-scrollbar-thumb-color: #4c1d95 !important;--dev-panel-scrollbar-thumb-hover-color: #5b21b6 !important}:root[data-dev-panel-theme=green]{color-scheme:dark!important;--dev-panel-accent-color: #10b981 !important;--dev-panel-accent-color-hover: #059669 !important;--dev-panel-accent-color-active: #047857 !important;--dev-panel-accent-color-disabled: #10b98130 !important;--dev-panel-primary-color: #10b981 !important;--dev-panel-primary-color-hover: #059669 !important;--dev-panel-primary-color-active: #047857 !important;--dev-panel-secondary-color: #6b7280 !important;--dev-panel-secondary-color-hover: #4b5563 !important;--dev-panel-secondary-color-active: #374151 !important;--dev-panel-background-color: #064e3b !important;--dev-panel-background-color-secondary: #065f46 !important;--dev-panel-background-color-tertiary: #047857 !important;--dev-panel-foreground-color: #022c22 !important;--dev-panel-surface-color: #065f46 !important;--dev-panel-surface-color-hover: #047857 !important;--dev-panel-surface-color-active: #059669 !important;--dev-panel-text-color: #ecfdf5 !important;--dev-panel-text-color-secondary: #d1fae5 !important;--dev-panel-text-color-muted: #a7f3d0 !important;--dev-panel-text-color-disabled: #6ee7b7 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #ecfdf5 !important;--dev-panel-border-color: #047857 !important;--dev-panel-border-color-light: #059669 !important;--dev-panel-border-color-strong: #065f46 !important;--dev-panel-border-color-accent: #10b981 !important;--dev-panel-input-background-color: #064e3b !important;--dev-panel-input-background-color-hover: #065f46 !important;--dev-panel-input-background-color-focus: #064e3b !important;--dev-panel-input-border-color: #047857 !important;--dev-panel-input-border-color-hover: #059669 !important;--dev-panel-input-border-color-focus: #10b981 !important;--dev-panel-input-text-color: #ecfdf5 !important;--dev-panel-input-placeholder-color: #a7f3d0 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(6 78 59 / .5) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(6 78 59 / .6), 0 1px 2px -1px rgb(6 78 59 / .6) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(6 78 59 / .6), 0 2px 4px -2px rgb(6 78 59 / .6) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(6 78 59 / .6), 0 4px 6px -4px rgb(6 78 59 / .6) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(6 78 59 / .6), 0 8px 10px -6px rgb(6 78 59 / .6) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(6 78 59 / .7) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #065f46 !important;--dev-panel-scrollbar-thumb-color: #047857 !important;--dev-panel-scrollbar-thumb-hover-color: #059669 !important}:root[data-dev-panel-theme=neon]{color-scheme:dark!important;--dev-panel-accent-color: #00ff41 !important;--dev-panel-accent-color-hover: #00e63c !important;--dev-panel-accent-color-active: #00cc33 !important;--dev-panel-accent-color-disabled: #00ff4130 !important;--dev-panel-primary-color: #00ff41 !important;--dev-panel-primary-color-hover: #00e63c !important;--dev-panel-primary-color-active: #00cc33 !important;--dev-panel-secondary-color: #333333 !important;--dev-panel-secondary-color-hover: #444444 !important;--dev-panel-secondary-color-active: #555555 !important;--dev-panel-background-color: #0a0a0a !important;--dev-panel-background-color-secondary: #111111 !important;--dev-panel-background-color-tertiary: #1a1a1a !important;--dev-panel-foreground-color: #000000 !important;--dev-panel-surface-color: #111111 !important;--dev-panel-surface-color-hover: #1a1a1a !important;--dev-panel-surface-color-active: #222222 !important;--dev-panel-text-color: #00ff41 !important;--dev-panel-text-color-secondary: #00e63c !important;--dev-panel-text-color-muted: #00cc33 !important;--dev-panel-text-color-disabled: #009926 !important;--dev-panel-text-color-on-accent: #000000 !important;--dev-panel-text-color-on-surface: #00ff41 !important;--dev-panel-border-color: #003d10 !important;--dev-panel-border-color-light: #004d15 !important;--dev-panel-border-color-strong: #002d0b !important;--dev-panel-border-color-accent: #00ff41 !important;--dev-panel-input-background-color: #000000 !important;--dev-panel-input-background-color-hover: #0a0a0a !important;--dev-panel-input-background-color-focus: #000000 !important;--dev-panel-input-border-color: #003d10 !important;--dev-panel-input-border-color-hover: #004d15 !important;--dev-panel-input-border-color-focus: #00ff41 !important;--dev-panel-input-text-color: #00ff41 !important;--dev-panel-input-placeholder-color: #00cc33 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgba(0, 255, 65, .2) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgba(0, 255, 65, .3), 0 1px 2px -1px rgba(0, 255, 65, .3) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgba(0, 255, 65, .3), 0 2px 4px -2px rgba(0, 255, 65, .3) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgba(0, 255, 65, .3), 0 4px 6px -4px rgba(0, 255, 65, .3) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgba(0, 255, 65, .3), 0 8px 10px -6px rgba(0, 255, 65, .3) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgba(0, 255, 65, .4) !important;--dev-panel-shadow: 0 0 20px rgba(0, 255, 65, .3) !important;--dev-panel-scrollbar-track-color: #111111 !important;--dev-panel-scrollbar-thumb-color: #003d10 !important;--dev-panel-scrollbar-thumb-hover-color: #004d15 !important}:root[data-dev-panel-theme=corporate]{color-scheme:light!important;--dev-panel-accent-color: #0066cc !important;--dev-panel-accent-color-hover: #0052a3 !important;--dev-panel-accent-color-active: #003d7a !important;--dev-panel-accent-color-disabled: #0066cc30 !important;--dev-panel-primary-color: #0066cc !important;--dev-panel-primary-color-hover: #0052a3 !important;--dev-panel-primary-color-active: #003d7a !important;--dev-panel-secondary-color: #6c757d !important;--dev-panel-secondary-color-hover: #5a6268 !important;--dev-panel-secondary-color-active: #495057 !important;--dev-panel-background-color: #f8f9fa !important;--dev-panel-background-color-secondary: #e9ecef !important;--dev-panel-background-color-tertiary: #dee2e6 !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #ffffff !important;--dev-panel-surface-color-hover: #f8f9fa !important;--dev-panel-surface-color-active: #e9ecef !important;--dev-panel-text-color: #212529 !important;--dev-panel-text-color-secondary: #495057 !important;--dev-panel-text-color-muted: #6c757d !important;--dev-panel-text-color-disabled: #adb5bd !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #212529 !important;--dev-panel-border-color: #dee2e6 !important;--dev-panel-border-color-light: #e9ecef !important;--dev-panel-border-color-strong: #adb5bd !important;--dev-panel-border-color-accent: #0066cc !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #f8f9fa !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #ced4da !important;--dev-panel-input-border-color-hover: #adb5bd !important;--dev-panel-input-border-color-focus: #0066cc !important;--dev-panel-input-text-color: #212529 !important;--dev-panel-input-placeholder-color: #6c757d !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #e9ecef !important;--dev-panel-scrollbar-thumb-color: #dee2e6 !important;--dev-panel-scrollbar-thumb-hover-color: #adb5bd !important}:root[data-dev-panel-theme=high-contrast]{color-scheme:dark!important;--dev-panel-accent-color: #ffff00 !important;--dev-panel-accent-color-hover: #e6e600 !important;--dev-panel-accent-color-active: #cccc00 !important;--dev-panel-accent-color-disabled: #ffff0030 !important;--dev-panel-primary-color: #ffff00 !important;--dev-panel-primary-color-hover: #e6e600 !important;--dev-panel-primary-color-active: #cccc00 !important;--dev-panel-secondary-color: #cccccc !important;--dev-panel-secondary-color-hover: #ffffff !important;--dev-panel-secondary-color-active: #aaaaaa !important;--dev-panel-background-color: #000000 !important;--dev-panel-background-color-secondary: #1a1a1a !important;--dev-panel-background-color-tertiary: #333333 !important;--dev-panel-foreground-color: #000000 !important;--dev-panel-surface-color: #1a1a1a !important;--dev-panel-surface-color-hover: #333333 !important;--dev-panel-surface-color-active: #4d4d4d !important;--dev-panel-text-color: #ffffff !important;--dev-panel-text-color-secondary: #ffffff !important;--dev-panel-text-color-muted: #cccccc !important;--dev-panel-text-color-disabled: #808080 !important;--dev-panel-text-color-on-accent: #000000 !important;--dev-panel-text-color-on-surface: #ffffff !important;--dev-panel-border-color: #ffffff !important;--dev-panel-border-color-light: #cccccc !important;--dev-panel-border-color-strong: #ffffff !important;--dev-panel-border-color-accent: #ffff00 !important;--dev-panel-input-background-color: #000000 !important;--dev-panel-input-background-color-hover: #1a1a1a !important;--dev-panel-input-background-color-focus: #000000 !important;--dev-panel-input-border-color: #ffffff !important;--dev-panel-input-border-color-hover: #cccccc !important;--dev-panel-input-border-color-focus: #ffff00 !important;--dev-panel-input-text-color: #ffffff !important;--dev-panel-input-placeholder-color: #cccccc !important;--dev-panel-shadow-xs: none !important;--dev-panel-shadow-sm: none !important;--dev-panel-shadow-md: none !important;--dev-panel-shadow-lg: none !important;--dev-panel-shadow-xl: none !important;--dev-panel-shadow-2xl: none !important;--dev-panel-shadow: none !important;--dev-panel-scrollbar-track-color: #1a1a1a !important;--dev-panel-scrollbar-thumb-color: #ffffff !important;--dev-panel-scrollbar-thumb-hover-color: #cccccc !important}:root[data-dev-panel-theme=sunset]{color-scheme:dark!important;--dev-panel-accent-color: #ff8a65 !important;--dev-panel-accent-color-hover: #ff7043 !important;--dev-panel-accent-color-active: #ff5722 !important;--dev-panel-accent-color-disabled: #ff8a6530 !important;--dev-panel-primary-color: #ff8a65 !important;--dev-panel-primary-color-hover: #ff7043 !important;--dev-panel-primary-color-active: #ff5722 !important;--dev-panel-secondary-color: #8b4513 !important;--dev-panel-secondary-color-hover: #a0522d !important;--dev-panel-secondary-color-active: #d2691e !important;--dev-panel-background-color: #1a0e0a !important;--dev-panel-background-color-secondary: #2d1b14 !important;--dev-panel-background-color-tertiary: #4a2c1e !important;--dev-panel-foreground-color: #0f0704 !important;--dev-panel-surface-color: #2d1b14 !important;--dev-panel-surface-color-hover: #4a2c1e !important;--dev-panel-surface-color-active: #5d3624 !important;--dev-panel-text-color: #ffeaa7 !important;--dev-panel-text-color-secondary: #fed18c !important;--dev-panel-text-color-muted: #fab1a0 !important;--dev-panel-text-color-disabled: #e17055 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #ffeaa7 !important;--dev-panel-border-color: #8b4513 !important;--dev-panel-border-color-light: #a0522d !important;--dev-panel-border-color-strong: #704020 !important;--dev-panel-border-color-accent: #ff8a65 !important;--dev-panel-input-background-color: #1a0e0a !important;--dev-panel-input-background-color-hover: #2d1b14 !important;--dev-panel-input-background-color-focus: #1a0e0a !important;--dev-panel-input-border-color: #8b4513 !important;--dev-panel-input-border-color-hover: #a0522d !important;--dev-panel-input-border-color-focus: #ff8a65 !important;--dev-panel-input-text-color: #ffeaa7 !important;--dev-panel-input-placeholder-color: #fab1a0 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(255 138 101 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(255 138 101 / .2), 0 1px 2px -1px rgb(255 138 101 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(255 138 101 / .2), 0 2px 4px -2px rgb(255 138 101 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(255 138 101 / .2), 0 4px 6px -4px rgb(255 138 101 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(255 138 101 / .2), 0 8px 10px -6px rgb(255 138 101 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(255 138 101 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #2d1b14 !important;--dev-panel-scrollbar-thumb-color: #8b4513 !important;--dev-panel-scrollbar-thumb-hover-color: #a0522d !important}:root[data-dev-panel-theme=ocean]{color-scheme:dark!important;--dev-panel-accent-color: #00acc1 !important;--dev-panel-accent-color-hover: #0097a7 !important;--dev-panel-accent-color-active: #00838f !important;--dev-panel-accent-color-disabled: #00acc130 !important;--dev-panel-primary-color: #00acc1 !important;--dev-panel-primary-color-hover: #0097a7 !important;--dev-panel-primary-color-active: #00838f !important;--dev-panel-secondary-color: #457b9d !important;--dev-panel-secondary-color-hover: #1d3557 !important;--dev-panel-secondary-color-active: #1e2328 !important;--dev-panel-background-color: #0d1b2a !important;--dev-panel-background-color-secondary: #1b263b !important;--dev-panel-background-color-tertiary: #415a77 !important;--dev-panel-foreground-color: #0a1120 !important;--dev-panel-surface-color: #1b263b !important;--dev-panel-surface-color-hover: #415a77 !important;--dev-panel-surface-color-active: #778da9 !important;--dev-panel-text-color: #a8dadc !important;--dev-panel-text-color-secondary: #f1faee !important;--dev-panel-text-color-muted: #457b9d !important;--dev-panel-text-color-disabled: #1d3557 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #a8dadc !important;--dev-panel-border-color: #1d3557 !important;--dev-panel-border-color-light: #457b9d !important;--dev-panel-border-color-strong: #0d1b2a !important;--dev-panel-border-color-accent: #00acc1 !important;--dev-panel-input-background-color: #0d1b2a !important;--dev-panel-input-background-color-hover: #1b263b !important;--dev-panel-input-background-color-focus: #0d1b2a !important;--dev-panel-input-border-color: #1d3557 !important;--dev-panel-input-border-color-hover: #457b9d !important;--dev-panel-input-border-color-focus: #00acc1 !important;--dev-panel-input-text-color: #a8dadc !important;--dev-panel-input-placeholder-color: #457b9d !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 172 193 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 172 193 / .2), 0 1px 2px -1px rgb(0 172 193 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 172 193 / .2), 0 2px 4px -2px rgb(0 172 193 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 172 193 / .2), 0 4px 6px -4px rgb(0 172 193 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 172 193 / .2), 0 8px 10px -6px rgb(0 172 193 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 172 193 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #1b263b !important;--dev-panel-scrollbar-thumb-color: #1d3557 !important;--dev-panel-scrollbar-thumb-hover-color: #457b9d !important}:root[data-dev-panel-theme=forest]{color-scheme:dark!important;--dev-panel-accent-color: #52b788 !important;--dev-panel-accent-color-hover: #40916c !important;--dev-panel-accent-color-active: #2d6a4f !important;--dev-panel-accent-color-disabled: #52b78830 !important;--dev-panel-primary-color: #52b788 !important;--dev-panel-primary-color-hover: #40916c !important;--dev-panel-primary-color-active: #2d6a4f !important;--dev-panel-secondary-color: #2d5016 !important;--dev-panel-secondary-color-hover: #52b788 !important;--dev-panel-secondary-color-active: #95d5b2 !important;--dev-panel-background-color: #081c15 !important;--dev-panel-background-color-secondary: #1b4332 !important;--dev-panel-background-color-tertiary: #2d6a4f !important;--dev-panel-foreground-color: #04110a !important;--dev-panel-surface-color: #1b4332 !important;--dev-panel-surface-color-hover: #2d6a4f !important;--dev-panel-surface-color-active: #40916c !important;--dev-panel-text-color: #d8f3dc !important;--dev-panel-text-color-secondary: #b7e4c7 !important;--dev-panel-text-color-muted: #95d5b2 !important;--dev-panel-text-color-disabled: #74c69d !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #d8f3dc !important;--dev-panel-border-color: #2d5016 !important;--dev-panel-border-color-light: #40916c !important;--dev-panel-border-color-strong: #1b4332 !important;--dev-panel-border-color-accent: #52b788 !important;--dev-panel-input-background-color: #081c15 !important;--dev-panel-input-background-color-hover: #1b4332 !important;--dev-panel-input-background-color-focus: #081c15 !important;--dev-panel-input-border-color: #2d5016 !important;--dev-panel-input-border-color-hover: #40916c !important;--dev-panel-input-border-color-focus: #52b788 !important;--dev-panel-input-text-color: #d8f3dc !important;--dev-panel-input-placeholder-color: #95d5b2 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(82 183 136 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(82 183 136 / .2), 0 1px 2px -1px rgb(82 183 136 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(82 183 136 / .2), 0 2px 4px -2px rgb(82 183 136 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(82 183 136 / .2), 0 4px 6px -4px rgb(82 183 136 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(82 183 136 / .2), 0 8px 10px -6px rgb(82 183 136 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(82 183 136 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #1b4332 !important;--dev-panel-scrollbar-thumb-color: #2d5016 !important;--dev-panel-scrollbar-thumb-hover-color: #40916c !important}:root[data-dev-panel-theme=midnight]{color-scheme:dark!important;--dev-panel-accent-color: #7c3aed !important;--dev-panel-accent-color-hover: #6d28d9 !important;--dev-panel-accent-color-active: #5b21b6 !important;--dev-panel-accent-color-disabled: #7c3aed30 !important;--dev-panel-primary-color: #7c3aed !important;--dev-panel-primary-color-hover: #6d28d9 !important;--dev-panel-primary-color-active: #5b21b6 !important;--dev-panel-secondary-color: #2d2d5f !important;--dev-panel-secondary-color-hover: #3d3d7f !important;--dev-panel-secondary-color-active: #4d4d9f !important;--dev-panel-background-color: #0f0f23 !important;--dev-panel-background-color-secondary: #1e1e3f !important;--dev-panel-background-color-tertiary: #2d2d5f !important;--dev-panel-foreground-color: #0a0a1a !important;--dev-panel-surface-color: #1e1e3f !important;--dev-panel-surface-color-hover: #2d2d5f !important;--dev-panel-surface-color-active: #3d3d7f !important;--dev-panel-text-color: #e2e8f0 !important;--dev-panel-text-color-secondary: #cbd5e1 !important;--dev-panel-text-color-muted: #94a3b8 !important;--dev-panel-text-color-disabled: #64748b !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #e2e8f0 !important;--dev-panel-border-color: #2d2d5f !important;--dev-panel-border-color-light: #3d3d7f !important;--dev-panel-border-color-strong: #1e1e3f !important;--dev-panel-border-color-accent: #7c3aed !important;--dev-panel-input-background-color: #0f0f23 !important;--dev-panel-input-background-color-hover: #1e1e3f !important;--dev-panel-input-background-color-focus: #0f0f23 !important;--dev-panel-input-border-color: #2d2d5f !important;--dev-panel-input-border-color-hover: #3d3d7f !important;--dev-panel-input-border-color-focus: #7c3aed !important;--dev-panel-input-text-color: #e2e8f0 !important;--dev-panel-input-placeholder-color: #94a3b8 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(124 58 237 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(124 58 237 / .2), 0 1px 2px -1px rgb(124 58 237 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(124 58 237 / .2), 0 2px 4px -2px rgb(124 58 237 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(124 58 237 / .2), 0 4px 6px -4px rgb(124 58 237 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(124 58 237 / .2), 0 8px 10px -6px rgb(124 58 237 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(124 58 237 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #1e1e3f !important;--dev-panel-scrollbar-thumb-color: #2d2d5f !important;--dev-panel-scrollbar-thumb-hover-color: #3d3d7f !important}:root[data-dev-panel-theme=cherry]{color-scheme:light!important;--dev-panel-accent-color: #ec4899 !important;--dev-panel-accent-color-hover: #db2777 !important;--dev-panel-accent-color-active: #be185d !important;--dev-panel-accent-color-disabled: #ec489930 !important;--dev-panel-primary-color: #ec4899 !important;--dev-panel-primary-color-hover: #db2777 !important;--dev-panel-primary-color-active: #be185d !important;--dev-panel-secondary-color: #be185d !important;--dev-panel-secondary-color-hover: #9d174d !important;--dev-panel-secondary-color-active: #831843 !important;--dev-panel-background-color: #fdf2f8 !important;--dev-panel-background-color-secondary: #fce7f3 !important;--dev-panel-background-color-tertiary: #fbcfe8 !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #fce7f3 !important;--dev-panel-surface-color-hover: #fbcfe8 !important;--dev-panel-surface-color-active: #f9a8d4 !important;--dev-panel-text-color: #831843 !important;--dev-panel-text-color-secondary: #9d174d !important;--dev-panel-text-color-muted: #be185d !important;--dev-panel-text-color-disabled: #f3e8ff !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #831843 !important;--dev-panel-border-color: #f9a8d4 !important;--dev-panel-border-color-light: #fbcfe8 !important;--dev-panel-border-color-strong: #f472b6 !important;--dev-panel-border-color-accent: #ec4899 !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #fdf2f8 !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #f9a8d4 !important;--dev-panel-input-border-color-hover: #f472b6 !important;--dev-panel-input-border-color-focus: #ec4899 !important;--dev-panel-input-text-color: #831843 !important;--dev-panel-input-placeholder-color: #be185d !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(236 72 153 / .05) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(236 72 153 / .1), 0 1px 2px -1px rgb(236 72 153 / .1) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(236 72 153 / .1), 0 2px 4px -2px rgb(236 72 153 / .1) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(236 72 153 / .1), 0 4px 6px -4px rgb(236 72 153 / .1) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(236 72 153 / .1), 0 8px 10px -6px rgb(236 72 153 / .1) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(236 72 153 / .25) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #fce7f3 !important;--dev-panel-scrollbar-thumb-color: #f9a8d4 !important;--dev-panel-scrollbar-thumb-hover-color: #f472b6 !important}:root[data-dev-panel-theme=gold]{color-scheme:dark!important;--dev-panel-accent-color: #fbbf24 !important;--dev-panel-accent-color-hover: #f59e0b !important;--dev-panel-accent-color-active: #d97706 !important;--dev-panel-accent-color-disabled: #fbbf2430 !important;--dev-panel-primary-color: #fbbf24 !important;--dev-panel-primary-color-hover: #f59e0b !important;--dev-panel-primary-color-active: #d97706 !important;--dev-panel-secondary-color: #374151 !important;--dev-panel-secondary-color-hover: #4b5563 !important;--dev-panel-secondary-color-active: #6b7280 !important;--dev-panel-background-color: #111827 !important;--dev-panel-background-color-secondary: #1f2937 !important;--dev-panel-background-color-tertiary: #374151 !important;--dev-panel-foreground-color: #0f172a !important;--dev-panel-surface-color: #1f2937 !important;--dev-panel-surface-color-hover: #374151 !important;--dev-panel-surface-color-active: #4b5563 !important;--dev-panel-text-color: #f9fafb !important;--dev-panel-text-color-secondary: #f3f4f6 !important;--dev-panel-text-color-muted: #d1d5db !important;--dev-panel-text-color-disabled: #9ca3af !important;--dev-panel-text-color-on-accent: #111827 !important;--dev-panel-text-color-on-surface: #f9fafb !important;--dev-panel-border-color: #374151 !important;--dev-panel-border-color-light: #4b5563 !important;--dev-panel-border-color-strong: #1f2937 !important;--dev-panel-border-color-accent: #fbbf24 !important;--dev-panel-input-background-color: #111827 !important;--dev-panel-input-background-color-hover: #1f2937 !important;--dev-panel-input-background-color-focus: #111827 !important;--dev-panel-input-border-color: #374151 !important;--dev-panel-input-border-color-hover: #4b5563 !important;--dev-panel-input-border-color-focus: #fbbf24 !important;--dev-panel-input-text-color: #f9fafb !important;--dev-panel-input-placeholder-color: #d1d5db !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(251 191 36 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(251 191 36 / .2), 0 1px 2px -1px rgb(251 191 36 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(251 191 36 / .2), 0 2px 4px -2px rgb(251 191 36 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(251 191 36 / .2), 0 4px 6px -4px rgb(251 191 36 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(251 191 36 / .2), 0 8px 10px -6px rgb(251 191 36 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(251 191 36 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #1f2937 !important;--dev-panel-scrollbar-thumb-color: #374151 !important;--dev-panel-scrollbar-thumb-hover-color: #4b5563 !important}:root[data-dev-panel-theme=retro]{color-scheme:dark!important;--dev-panel-accent-color: #00ff00 !important;--dev-panel-accent-color-hover: #00e600 !important;--dev-panel-accent-color-active: #00cc00 !important;--dev-panel-accent-color-disabled: #00ff0030 !important;--dev-panel-primary-color: #00ff00 !important;--dev-panel-primary-color-hover: #00e600 !important;--dev-panel-primary-color-active: #00cc00 !important;--dev-panel-secondary-color: #008000 !important;--dev-panel-secondary-color-hover: #009900 !important;--dev-panel-secondary-color-active: #00b300 !important;--dev-panel-background-color: #000000 !important;--dev-panel-background-color-secondary: #1a1a1a !important;--dev-panel-background-color-tertiary: #333333 !important;--dev-panel-foreground-color: #000000 !important;--dev-panel-surface-color: #1a1a1a !important;--dev-panel-surface-color-hover: #333333 !important;--dev-panel-surface-color-active: #4d4d4d !important;--dev-panel-text-color: #00ff00 !important;--dev-panel-text-color-secondary: #00e600 !important;--dev-panel-text-color-muted: #00cc00 !important;--dev-panel-text-color-disabled: #008000 !important;--dev-panel-text-color-on-accent: #000000 !important;--dev-panel-text-color-on-surface: #00ff00 !important;--dev-panel-border-color: #008000 !important;--dev-panel-border-color-light: #009900 !important;--dev-panel-border-color-strong: #006600 !important;--dev-panel-border-color-accent: #00ff00 !important;--dev-panel-input-background-color: #000000 !important;--dev-panel-input-background-color-hover: #1a1a1a !important;--dev-panel-input-background-color-focus: #000000 !important;--dev-panel-input-border-color: #008000 !important;--dev-panel-input-border-color-hover: #009900 !important;--dev-panel-input-border-color-focus: #00ff00 !important;--dev-panel-input-text-color: #00ff00 !important;--dev-panel-input-placeholder-color: #00cc00 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 255 0 / .2) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 255 0 / .3), 0 1px 2px -1px rgb(0 255 0 / .3) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 255 0 / .3), 0 2px 4px -2px rgb(0 255 0 / .3) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 255 0 / .3), 0 4px 6px -4px rgb(0 255 0 / .3) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 255 0 / .3), 0 8px 10px -6px rgb(0 255 0 / .3) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 255 0 / .4) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #1a1a1a !important;--dev-panel-scrollbar-thumb-color: #008000 !important;--dev-panel-scrollbar-thumb-hover-color: #009900 !important;--dev-panel-font-family: "Monaco", "Menlo", "Ubuntu Mono", "Courier New", monospace !important}:root[data-dev-panel-theme=pastel]{color-scheme:light!important;--dev-panel-accent-color: #a78bfa !important;--dev-panel-accent-color-hover: #8b5cf6 !important;--dev-panel-accent-color-active: #7c3aed !important;--dev-panel-accent-color-disabled: #a78bfa30 !important;--dev-panel-primary-color: #a78bfa !important;--dev-panel-primary-color-hover: #8b5cf6 !important;--dev-panel-primary-color-active: #7c3aed !important;--dev-panel-secondary-color: #7c3aed !important;--dev-panel-secondary-color-hover: #6d28d9 !important;--dev-panel-secondary-color-active: #581c87 !important;--dev-panel-background-color: #fef7ff !important;--dev-panel-background-color-secondary: #f3e8ff !important;--dev-panel-background-color-tertiary: #e9d5ff !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #f3e8ff !important;--dev-panel-surface-color-hover: #e9d5ff !important;--dev-panel-surface-color-active: #ddd6fe !important;--dev-panel-text-color: #581c87 !important;--dev-panel-text-color-secondary: #6d28d9 !important;--dev-panel-text-color-muted: #7c3aed !important;--dev-panel-text-color-disabled: #c4b5fd !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #581c87 !important;--dev-panel-border-color: #ddd6fe !important;--dev-panel-border-color-light: #e9d5ff !important;--dev-panel-border-color-strong: #c4b5fd !important;--dev-panel-border-color-accent: #a78bfa !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #fef7ff !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #ddd6fe !important;--dev-panel-input-border-color-hover: #c4b5fd !important;--dev-panel-input-border-color-focus: #a78bfa !important;--dev-panel-input-text-color: #581c87 !important;--dev-panel-input-placeholder-color: #7c3aed !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(167 139 250 / .05) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(167 139 250 / .1), 0 1px 2px -1px rgb(167 139 250 / .1) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(167 139 250 / .1), 0 2px 4px -2px rgb(167 139 250 / .1) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(167 139 250 / .1), 0 4px 6px -4px rgb(167 139 250 / .1) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(167 139 250 / .1), 0 8px 10px -6px rgb(167 139 250 / .1) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(167 139 250 / .25) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #f3e8ff !important;--dev-panel-scrollbar-thumb-color: #ddd6fe !important;--dev-panel-scrollbar-thumb-hover-color: #c4b5fd !important}:root[data-dev-panel-theme=cyberpunk]{color-scheme:dark!important;--dev-panel-accent-color: #ff0080 !important;--dev-panel-accent-color-hover: #e6006b !important;--dev-panel-accent-color-active: #cc0056 !important;--dev-panel-accent-color-disabled: #ff008030 !important;--dev-panel-primary-color: #ff0080 !important;--dev-panel-primary-color-hover: #e6006b !important;--dev-panel-primary-color-active: #cc0056 !important;--dev-panel-secondary-color: #00ffff !important;--dev-panel-secondary-color-hover: #00e6e6 !important;--dev-panel-secondary-color-active: #00cccc !important;--dev-panel-background-color: #0a0014 !important;--dev-panel-background-color-secondary: #1a0033 !important;--dev-panel-background-color-tertiary: #330066 !important;--dev-panel-foreground-color: #05000a !important;--dev-panel-surface-color: #1a0033 !important;--dev-panel-surface-color-hover: #330066 !important;--dev-panel-surface-color-active: #4a0066 !important;--dev-panel-text-color: #00ffff !important;--dev-panel-text-color-secondary: #00e6e6 !important;--dev-panel-text-color-muted: #ff0080 !important;--dev-panel-text-color-disabled: #6600cc !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #00ffff !important;--dev-panel-border-color: #4a0066 !important;--dev-panel-border-color-light: #6600cc !important;--dev-panel-border-color-strong: #330066 !important;--dev-panel-border-color-accent: #ff0080 !important;--dev-panel-input-background-color: #0a0014 !important;--dev-panel-input-background-color-hover: #1a0033 !important;--dev-panel-input-background-color-focus: #0a0014 !important;--dev-panel-input-border-color: #4a0066 !important;--dev-panel-input-border-color-hover: #6600cc !important;--dev-panel-input-border-color-focus: #ff0080 !important;--dev-panel-input-text-color: #00ffff !important;--dev-panel-input-placeholder-color: #ff0080 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgba(255, 0, 128, .2) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgba(255, 0, 128, .3), 0 1px 2px -1px rgba(255, 0, 128, .3) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgba(255, 0, 128, .3), 0 2px 4px -2px rgba(255, 0, 128, .3) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgba(255, 0, 128, .3), 0 4px 6px -4px rgba(255, 0, 128, .3) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgba(255, 0, 128, .3), 0 8px 10px -6px rgba(255, 0, 128, .3) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgba(255, 0, 128, .4) !important;--dev-panel-shadow: 0 0 20px rgba(255, 0, 128, .3) !important;--dev-panel-scrollbar-track-color: #1a0033 !important;--dev-panel-scrollbar-thumb-color: #4a0066 !important;--dev-panel-scrollbar-thumb-hover-color: #6600cc !important}:root[data-dev-panel-theme=autumn]{color-scheme:dark!important;--dev-panel-accent-color: #d97706 !important;--dev-panel-accent-color-hover: #b45309 !important;--dev-panel-accent-color-active: #92400e !important;--dev-panel-accent-color-disabled: #d9770630 !important;--dev-panel-primary-color: #d97706 !important;--dev-panel-primary-color-hover: #b45309 !important;--dev-panel-primary-color-active: #92400e !important;--dev-panel-secondary-color: #f59e0b !important;--dev-panel-secondary-color-hover: #d97706 !important;--dev-panel-secondary-color-active: #b45309 !important;--dev-panel-background-color: #1c1917 !important;--dev-panel-background-color-secondary: #292524 !important;--dev-panel-background-color-tertiary: #451a03 !important;--dev-panel-foreground-color: #0c0a09 !important;--dev-panel-surface-color: #292524 !important;--dev-panel-surface-color-hover: #451a03 !important;--dev-panel-surface-color-active: #7c2d12 !important;--dev-panel-text-color: #fbbf24 !important;--dev-panel-text-color-secondary: #f59e0b !important;--dev-panel-text-color-muted: #f59e0b !important;--dev-panel-text-color-disabled: #d97706 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #fbbf24 !important;--dev-panel-border-color: #451a03 !important;--dev-panel-border-color-light: #7c2d12 !important;--dev-panel-border-color-strong: #292524 !important;--dev-panel-border-color-accent: #d97706 !important;--dev-panel-input-background-color: #1c1917 !important;--dev-panel-input-background-color-hover: #292524 !important;--dev-panel-input-background-color-focus: #1c1917 !important;--dev-panel-input-border-color: #451a03 !important;--dev-panel-input-border-color-hover: #7c2d12 !important;--dev-panel-input-border-color-focus: #d97706 !important;--dev-panel-input-text-color: #fbbf24 !important;--dev-panel-input-placeholder-color: #f59e0b !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(217 119 6 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(217 119 6 / .2), 0 1px 2px -1px rgb(217 119 6 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(217 119 6 / .2), 0 2px 4px -2px rgb(217 119 6 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(217 119 6 / .2), 0 4px 6px -4px rgb(217 119 6 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(217 119 6 / .2), 0 8px 10px -6px rgb(217 119 6 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(217 119 6 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #292524 !important;--dev-panel-scrollbar-thumb-color: #451a03 !important;--dev-panel-scrollbar-thumb-hover-color: #7c2d12 !important}:root[data-dev-panel-theme=arctic]{color-scheme:light!important;--dev-panel-accent-color: #38bdf8 !important;--dev-panel-accent-color-hover: #0ea5e9 !important;--dev-panel-accent-color-active: #0284c7 !important;--dev-panel-accent-color-disabled: #38bdf830 !important;--dev-panel-primary-color: #38bdf8 !important;--dev-panel-primary-color-hover: #0ea5e9 !important;--dev-panel-primary-color-active: #0284c7 !important;--dev-panel-secondary-color: #0369a1 !important;--dev-panel-secondary-color-hover: #0284c7 !important;--dev-panel-secondary-color-active: #0c4a6e !important;--dev-panel-background-color: #f0f9ff !important;--dev-panel-background-color-secondary: #e0f2fe !important;--dev-panel-background-color-tertiary: #bae6fd !important;--dev-panel-foreground-color: #ffffff !important;--dev-panel-surface-color: #e0f2fe !important;--dev-panel-surface-color-hover: #bae6fd !important;--dev-panel-surface-color-active: #7dd3fc !important;--dev-panel-text-color: #0c4a6e !important;--dev-panel-text-color-secondary: #0369a1 !important;--dev-panel-text-color-muted: #0369a1 !important;--dev-panel-text-color-disabled: #7dd3fc !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #0c4a6e !important;--dev-panel-border-color: #bae6fd !important;--dev-panel-border-color-light: #e0f2fe !important;--dev-panel-border-color-strong: #7dd3fc !important;--dev-panel-border-color-accent: #38bdf8 !important;--dev-panel-input-background-color: #ffffff !important;--dev-panel-input-background-color-hover: #f0f9ff !important;--dev-panel-input-background-color-focus: #ffffff !important;--dev-panel-input-border-color: #bae6fd !important;--dev-panel-input-border-color-hover: #7dd3fc !important;--dev-panel-input-border-color-focus: #38bdf8 !important;--dev-panel-input-text-color: #0c4a6e !important;--dev-panel-input-placeholder-color: #0369a1 !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(56 189 248 / .05) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(56 189 248 / .1), 0 1px 2px -1px rgb(56 189 248 / .1) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(56 189 248 / .1), 0 2px 4px -2px rgb(56 189 248 / .1) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(56 189 248 / .1), 0 4px 6px -4px rgb(56 189 248 / .1) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(56 189 248 / .1), 0 8px 10px -6px rgb(56 189 248 / .1) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(56 189 248 / .25) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #e0f2fe !important;--dev-panel-scrollbar-thumb-color: #bae6fd !important;--dev-panel-scrollbar-thumb-hover-color: #7dd3fc !important}:root[data-dev-panel-theme=volcano]{color-scheme:dark!important;--dev-panel-accent-color: #dc2626 !important;--dev-panel-accent-color-hover: #b91c1c !important;--dev-panel-accent-color-active: #991b1b !important;--dev-panel-accent-color-disabled: #dc262630 !important;--dev-panel-primary-color: #dc2626 !important;--dev-panel-primary-color-hover: #b91c1c !important;--dev-panel-primary-color-active: #991b1b !important;--dev-panel-secondary-color: #fb923c !important;--dev-panel-secondary-color-hover: #f97316 !important;--dev-panel-secondary-color-active: #ea580c !important;--dev-panel-background-color: #1f1410 !important;--dev-panel-background-color-secondary: #451a03 !important;--dev-panel-background-color-tertiary: #7c2d12 !important;--dev-panel-foreground-color: #0c0804 !important;--dev-panel-surface-color: #451a03 !important;--dev-panel-surface-color-hover: #7c2d12 !important;--dev-panel-surface-color-active: #9a3412 !important;--dev-panel-text-color: #fed7aa !important;--dev-panel-text-color-secondary: #fdba74 !important;--dev-panel-text-color-muted: #fb923c !important;--dev-panel-text-color-disabled: #f97316 !important;--dev-panel-text-color-on-accent: #ffffff !important;--dev-panel-text-color-on-surface: #fed7aa !important;--dev-panel-border-color: #7c2d12 !important;--dev-panel-border-color-light: #9a3412 !important;--dev-panel-border-color-strong: #451a03 !important;--dev-panel-border-color-accent: #dc2626 !important;--dev-panel-input-background-color: #1f1410 !important;--dev-panel-input-background-color-hover: #451a03 !important;--dev-panel-input-background-color-focus: #1f1410 !important;--dev-panel-input-border-color: #7c2d12 !important;--dev-panel-input-border-color-hover: #9a3412 !important;--dev-panel-input-border-color-focus: #dc2626 !important;--dev-panel-input-text-color: #fed7aa !important;--dev-panel-input-placeholder-color: #fb923c !important;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(220 38 38 / .1) !important;--dev-panel-shadow-sm: 0 1px 3px 0 rgb(220 38 38 / .2), 0 1px 2px -1px rgb(220 38 38 / .2) !important;--dev-panel-shadow-md: 0 4px 6px -1px rgb(220 38 38 / .2), 0 2px 4px -2px rgb(220 38 38 / .2) !important;--dev-panel-shadow-lg: 0 10px 15px -3px rgb(220 38 38 / .2), 0 4px 6px -4px rgb(220 38 38 / .2) !important;--dev-panel-shadow-xl: 0 20px 25px -5px rgb(220 38 38 / .2), 0 8px 10px -6px rgb(220 38 38 / .2) !important;--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(220 38 38 / .3) !important;--dev-panel-shadow: var(--dev-panel-shadow-xl) !important;--dev-panel-scrollbar-track-color: #451a03 !important;--dev-panel-scrollbar-thumb-color: #7c2d12 !important;--dev-panel-scrollbar-thumb-hover-color: #9a3412 !important}.dev-panel-scrollbar{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color)}.dev-panel-scrollbar::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}.dev-panel-scrollbar::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}.dev-panel-scrollbar::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}.dev-panel-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}.dev-panel-scrollbar::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}.dev-panel-focus-ring:focus{outline:2px solid var(--dev-panel-accent-color);outline-offset:2px}.dev-panel-focus-ring:focus:not(:focus-visible){outline:none}.dev-panel-interactive{transition:var(--dev-panel-transition);cursor:pointer}.dev-panel-interactive:hover{opacity:var(--dev-panel-opacity-80)}.dev-panel-interactive:active{transform:scale(.98)}.dev-panel-interactive:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}
|
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
import { jsxs as t, jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import { Suspense as
|
|
3
|
-
import { className as
|
|
2
|
+
import { Suspense as c } from "react";
|
|
3
|
+
import { className as s } from "../../utils/className/className.js";
|
|
4
4
|
import { controls as d } from "./controls/index.js";
|
|
5
|
-
import '../../assets/ControlRenderer.css';const p = "
|
|
5
|
+
import '../../assets/ControlRenderer.css';const p = "_controlRendererContainer_1s60v_1", _ = "_controlContainer_1s60v_4", u = "_hoverable_1s60v_13", v = "_fullWidth_1s60v_16", f = "_label_1s60v_19", h = "_controlWrapper_1s60v_22", b = "_justifyStart_1s60v_26", C = "_description_1s60v_42", m = "_loading_1s60v_51", y = "_error_1s60v_70", r = {
|
|
6
6
|
controlRendererContainer: p,
|
|
7
7
|
controlContainer: _,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
label:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
hoverable: u,
|
|
9
|
+
fullWidth: v,
|
|
10
|
+
label: f,
|
|
11
|
+
controlWrapper: h,
|
|
12
|
+
justifyStart: b,
|
|
13
|
+
description: C,
|
|
14
|
+
loading: m,
|
|
15
|
+
error: y
|
|
16
|
+
}, W = ["button", "buttonGroup", "separator"], j = ["separator"], N = ["button", "separator"];
|
|
17
|
+
function L({ name: l, control: e }) {
|
|
18
|
+
const i = e?.label || l;
|
|
19
|
+
function a() {
|
|
17
20
|
if (!e || !e.type)
|
|
18
21
|
return /* @__PURE__ */ n("div", { className: r.error, children: "Control type is not defined" });
|
|
19
22
|
const o = d[e.type];
|
|
20
|
-
return o ? /* @__PURE__ */ n(
|
|
23
|
+
return o ? /* @__PURE__ */ n(c, { fallback: /* @__PURE__ */ n("div", { className: r.loading, children: "Loading control..." }), children: /* @__PURE__ */ n(o, { control: e }) }) : /* @__PURE__ */ n("div", { children: "Unknown control type" });
|
|
21
24
|
}
|
|
22
25
|
return /* @__PURE__ */ t("div", { className: r.controlRendererContainer, children: [
|
|
23
|
-
/* @__PURE__ */ t(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
/* @__PURE__ */ t(
|
|
27
|
+
"div",
|
|
28
|
+
{
|
|
29
|
+
...s(r.controlContainer, {
|
|
30
|
+
[r.fullWidth]: W.includes(e.type),
|
|
31
|
+
[r.hoverable]: !j.includes(e.type)
|
|
32
|
+
}),
|
|
33
|
+
children: [
|
|
34
|
+
!N.includes(e.type) && /* @__PURE__ */ n("label", { className: r.label, children: i }),
|
|
35
|
+
/* @__PURE__ */ n(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
...s(r.controlWrapper, {
|
|
39
|
+
[r.justifyStart]: e.type === "separator"
|
|
40
|
+
}),
|
|
41
|
+
children: a()
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
),
|
|
27
47
|
e?.description && /* @__PURE__ */ n("span", { className: r.description, children: e.description })
|
|
28
48
|
] });
|
|
29
49
|
}
|
|
30
50
|
export {
|
|
31
|
-
|
|
51
|
+
L as ControlRenderer
|
|
32
52
|
};
|
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
import { BooleanControlProps } from './types';
|
|
2
2
|
/**
|
|
3
|
-
* Component that renders a boolean control
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
3
|
+
* Component that renders a boolean toggle switch control
|
|
4
|
+
*
|
|
5
|
+
* @param props - The component props
|
|
6
|
+
* @param props.control - The boolean control configuration object
|
|
7
|
+
* @param props.control.type - The control type, must be 'boolean'
|
|
8
|
+
* @param props.control.value - The current boolean state (true/false)
|
|
9
|
+
* @param props.control.onChange - Callback function triggered when toggle state changes
|
|
10
|
+
* @param props.control.disabled - Optional flag to disable the control
|
|
11
|
+
* @returns JSX element representing a toggle switch control
|
|
6
12
|
*
|
|
7
13
|
* @example
|
|
8
14
|
* ```typescript
|
|
9
15
|
* <BooleanControl control={{
|
|
10
16
|
* type: 'boolean',
|
|
11
17
|
* value: true,
|
|
12
|
-
* onChange: (value) =>
|
|
18
|
+
* onChange: (value) => setIsEnabled(value),
|
|
19
|
+
* disabled: false
|
|
20
|
+
* }} />
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* <BooleanControl control={{
|
|
26
|
+
* type: 'boolean',
|
|
27
|
+
* value: false,
|
|
28
|
+
* onChange: (value) => console.log('Toggle changed:', value)
|
|
13
29
|
* }} />
|
|
14
30
|
* ```
|
|
15
31
|
*/
|
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import '../../../../assets/BooleanControl.css';const
|
|
4
|
-
switch: "
|
|
5
|
-
slider:
|
|
1
|
+
import { jsxs as c, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as l } from "react";
|
|
3
|
+
import '../../../../assets/BooleanControl.css';const r = "_slider_1wuj3_150", a = {
|
|
4
|
+
switch: "_switch_1wuj3_132",
|
|
5
|
+
slider: r
|
|
6
6
|
};
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
function d({ control: e }) {
|
|
8
|
+
const s = l(`boolean-control-${e.label || Math.ceil(Math.random() * 1e5)}`);
|
|
9
|
+
return /* @__PURE__ */ c("label", { className: a.switch, children: [
|
|
10
|
+
/* @__PURE__ */ t(
|
|
10
11
|
"input",
|
|
11
12
|
{
|
|
12
13
|
type: "checkbox",
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
id: s.current,
|
|
15
|
+
name: s.current,
|
|
16
|
+
checked: e.value,
|
|
17
|
+
disabled: e.disabled,
|
|
18
|
+
onChange: (n) => e.onChange(n.target.checked)
|
|
17
19
|
}
|
|
18
20
|
),
|
|
19
|
-
/* @__PURE__ */
|
|
21
|
+
/* @__PURE__ */ t("span", { className: a.slider })
|
|
20
22
|
] });
|
|
21
23
|
}
|
|
22
24
|
export {
|
|
23
|
-
|
|
25
|
+
d as BooleanControl
|
|
24
26
|
};
|
|
@@ -1,15 +1,32 @@
|
|
|
1
1
|
import { ButtonControlProps } from './types';
|
|
2
2
|
/**
|
|
3
|
-
* Component that renders a button control
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
3
|
+
* Component that renders a clickable button control
|
|
4
|
+
*
|
|
5
|
+
* @param props - The component props
|
|
6
|
+
* @param props.control - The button control configuration object
|
|
7
|
+
* @param props.control.type - The control type, must be 'button'
|
|
8
|
+
* @param props.control.label - The text displayed on the button
|
|
9
|
+
* @param props.control.onClick - Callback function triggered when button is clicked
|
|
10
|
+
* @param props.control.disabled - Optional flag to disable the button
|
|
11
|
+
* @returns JSX element representing a clickable button
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* <ButtonControl control={{
|
|
16
|
+
* type: 'button',
|
|
17
|
+
* label: 'Save Changes',
|
|
18
|
+
* onClick: () => handleSave(),
|
|
19
|
+
* disabled: false
|
|
20
|
+
* }} />
|
|
21
|
+
* ```
|
|
6
22
|
*
|
|
7
23
|
* @example
|
|
8
24
|
* ```typescript
|
|
9
25
|
* <ButtonControl control={{
|
|
10
26
|
* type: 'button',
|
|
11
|
-
* label: '
|
|
12
|
-
* onClick: () => console.log('
|
|
27
|
+
* label: 'Reset',
|
|
28
|
+
* onClick: () => console.log('Reset clicked'),
|
|
29
|
+
* disabled: true
|
|
13
30
|
* }} />
|
|
14
31
|
* ```
|
|
15
32
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
-
import '../../../../assets/ButtonControl.css';const o = "
|
|
2
|
+
import '../../../../assets/ButtonControl.css';const o = "_button_b8ouv_132", b = {
|
|
3
3
|
button: o
|
|
4
4
|
};
|
|
5
5
|
function u({ control: t }) {
|
|
6
|
-
return /* @__PURE__ */ n("button", { onClick: t.onClick, disabled: t.disabled, className:
|
|
6
|
+
return /* @__PURE__ */ n("button", { onClick: t.onClick, disabled: t.disabled, className: b.button, children: t.label });
|
|
7
7
|
}
|
|
8
8
|
export {
|
|
9
9
|
u as ButtonControl
|
|
@@ -1,2 +1,37 @@
|
|
|
1
1
|
import { ButtonGroupControlProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Component that renders a group of related buttons in a horizontal layout
|
|
4
|
+
*
|
|
5
|
+
* @param props - The component props
|
|
6
|
+
* @param props.control - The button group control configuration object
|
|
7
|
+
* @param props.control.type - The control type, must be 'buttonGroup'
|
|
8
|
+
* @param props.control.buttons - Array of button configurations to render
|
|
9
|
+
* @param props.control.buttons[].label - The text label displayed on the button
|
|
10
|
+
* @param props.control.buttons[].onClick - Callback function triggered when button is clicked
|
|
11
|
+
* @param props.control.buttons[].disabled - Optional flag to disable individual buttons
|
|
12
|
+
* @returns JSX element representing a group of buttons
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* <ButtonGroupControl control={{
|
|
17
|
+
* type: 'buttonGroup',
|
|
18
|
+
* buttons: [
|
|
19
|
+
* { label: 'Save', onClick: () => save() },
|
|
20
|
+
* { label: 'Cancel', onClick: () => cancel() },
|
|
21
|
+
* { label: 'Delete', onClick: () => delete(), disabled: true }
|
|
22
|
+
* ]
|
|
23
|
+
* }} />
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* <ButtonGroupControl control={{
|
|
29
|
+
* type: 'buttonGroup',
|
|
30
|
+
* buttons: [
|
|
31
|
+
* { label: 'Previous', onClick: () => goToPrevious() },
|
|
32
|
+
* { label: 'Next', onClick: () => goToNext() }
|
|
33
|
+
* ]
|
|
34
|
+
* }} />
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
2
37
|
export declare function ButtonGroupControl({ control }: ButtonGroupControlProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { ButtonControl as e } from "../ButtonControl/ButtonControl.js";
|
|
3
|
-
import '../../../../assets/ButtonGroupControl.css';const l = "
|
|
3
|
+
import '../../../../assets/ButtonGroupControl.css';const l = "_buttonGroupContainer_1642u_132", u = {
|
|
4
4
|
buttonGroupContainer: l
|
|
5
5
|
};
|
|
6
6
|
function p({ control: n }) {
|
|
7
|
-
return /* @__PURE__ */ t("div", { className:
|
|
7
|
+
return /* @__PURE__ */ t("div", { className: u.buttonGroupContainer, children: n.buttons.map((o, r) => /* @__PURE__ */ t(
|
|
8
8
|
e,
|
|
9
9
|
{
|
|
10
10
|
control: {
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { ColorControlProps } from './types';
|
|
2
2
|
/**
|
|
3
|
-
* Component that renders a color control
|
|
4
|
-
*
|
|
5
|
-
* @
|
|
3
|
+
* Component that renders a color control with both visual color picker and text input
|
|
4
|
+
*
|
|
5
|
+
* @param props - The component props
|
|
6
|
+
* @param props.control - The color control configuration object
|
|
7
|
+
* @param props.control.type - The control type, must be 'color'
|
|
8
|
+
* @param props.control.value - The current color value (hex, rgb, hsl, or named color)
|
|
9
|
+
* @param props.control.onChange - Callback function triggered when color value changes
|
|
10
|
+
* @param props.control.disabled - Optional flag to disable the control
|
|
11
|
+
* @returns JSX element representing the color control with picker and text input
|
|
6
12
|
*
|
|
7
13
|
* @example
|
|
8
14
|
* ```typescript
|
|
9
15
|
* <ColorControl control={{
|
|
10
16
|
* type: 'color',
|
|
11
|
-
* value: '#
|
|
12
|
-
* onChange: (value) =>
|
|
13
|
-
*
|
|
17
|
+
* value: '#ff0000',
|
|
18
|
+
* onChange: (value) => setColor(value),
|
|
19
|
+
* disabled: false
|
|
20
|
+
* }}/>
|
|
14
21
|
* ```
|
|
15
22
|
*/
|
|
16
23
|
export declare function ColorControl({ control }: ColorControlProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,23 +1,69 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
1
|
+
import { jsxs as m, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { useState as v, useEffect as C } from "react";
|
|
3
|
+
import { Input as p } from "../../../Input/Input.js";
|
|
4
|
+
import { useDebouncedCallback as b } from "../../../../hooks/useDebounceCallback/useDebounceCallback.js";
|
|
5
|
+
import '../../../../assets/ColorControl.css';const y = "_container_1oo6z_1", x = "_colorPreview_1oo6z_7", V = "_errorMessage_1oo6z_52", c = {
|
|
6
|
+
container: y,
|
|
7
|
+
colorPreview: x,
|
|
8
|
+
errorMessage: V
|
|
5
9
|
};
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
function P({ control: n }) {
|
|
11
|
+
const [r, o] = v(n.value), [s, i] = v(!0), u = b(n.onChange, 300);
|
|
12
|
+
function d(e) {
|
|
13
|
+
if (!e) return !1;
|
|
14
|
+
const t = document.createElement("div");
|
|
15
|
+
return t.style.color = e, t.style.color !== "";
|
|
16
|
+
}
|
|
17
|
+
function f(e) {
|
|
18
|
+
if (!e) return "#000000";
|
|
19
|
+
if (e.startsWith("#") && (e.length === 4 || e.length === 7))
|
|
20
|
+
return e.length === 4 ? `#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}` : e;
|
|
21
|
+
try {
|
|
22
|
+
const a = document.createElement("canvas").getContext("2d");
|
|
23
|
+
return a ? (a.fillStyle = e, a.fillStyle) : "#000000";
|
|
24
|
+
} catch {
|
|
25
|
+
return "#000000";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function g(e) {
|
|
29
|
+
const t = e.target.value;
|
|
30
|
+
o(t), i(!0), u(t);
|
|
31
|
+
}
|
|
32
|
+
function h(e) {
|
|
33
|
+
const t = e.target.value;
|
|
34
|
+
o(t);
|
|
35
|
+
const a = d(t);
|
|
36
|
+
i(a), (a || t === "") && u(t);
|
|
37
|
+
}
|
|
38
|
+
return C(() => {
|
|
39
|
+
o(n.value), i(d(n.value));
|
|
40
|
+
}, [n.value]), /* @__PURE__ */ m("div", { className: c.container, children: [
|
|
41
|
+
/* @__PURE__ */ l("div", { className: c.colorPreview, style: { backgroundColor: s ? r : "transparent" }, children: /* @__PURE__ */ l(
|
|
42
|
+
"input",
|
|
43
|
+
{
|
|
44
|
+
type: "color",
|
|
45
|
+
value: f(r),
|
|
46
|
+
disabled: n.disabled,
|
|
47
|
+
onChange: g,
|
|
48
|
+
title: "Open color picker"
|
|
49
|
+
}
|
|
50
|
+
) }),
|
|
51
|
+
/* @__PURE__ */ l(
|
|
52
|
+
p,
|
|
11
53
|
{
|
|
12
54
|
type: "text",
|
|
13
|
-
value:
|
|
14
|
-
disabled:
|
|
15
|
-
onChange:
|
|
16
|
-
placeholder: "Enter color value"
|
|
55
|
+
value: r || "",
|
|
56
|
+
disabled: n.disabled,
|
|
57
|
+
onChange: h,
|
|
58
|
+
placeholder: "Enter color value (hex, rgb, hsl, named)",
|
|
59
|
+
style: {
|
|
60
|
+
borderColor: !s && r ? "var(--dev-panel-danger-color)" : void 0
|
|
61
|
+
}
|
|
17
62
|
}
|
|
18
|
-
)
|
|
63
|
+
),
|
|
64
|
+
!s && r && /* @__PURE__ */ l("div", { className: c.errorMessage, children: "Invalid color format" })
|
|
19
65
|
] });
|
|
20
66
|
}
|
|
21
67
|
export {
|
|
22
|
-
|
|
68
|
+
P as ColorControl
|
|
23
69
|
};
|
|
@@ -3,6 +3,20 @@ export interface ColorControl extends BaseControl {
|
|
|
3
3
|
type: "color";
|
|
4
4
|
value: string;
|
|
5
5
|
onChange: (value: string) => void;
|
|
6
|
+
/**
|
|
7
|
+
* Format to display/parse colors
|
|
8
|
+
* @default "any" - Accepts any valid CSS color format
|
|
9
|
+
*/
|
|
10
|
+
format?: "hex" | "rgb" | "hsl" | "any";
|
|
11
|
+
/**
|
|
12
|
+
* Predefined color palette for quick selection
|
|
13
|
+
*/
|
|
14
|
+
presets?: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Allow transparency/alpha values
|
|
17
|
+
* @default false
|
|
18
|
+
*/
|
|
19
|
+
allowAlpha?: boolean;
|
|
6
20
|
}
|
|
7
21
|
|
|
8
22
|
export interface ColorControlProps {
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import { DateControlProps } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* Component that renders a date control with configurable event handling
|
|
4
|
-
*
|
|
5
|
-
* @param
|
|
6
|
-
* @
|
|
4
|
+
*
|
|
5
|
+
* @param props - The component props
|
|
6
|
+
* @param props.control - The date control configuration object
|
|
7
|
+
* @param props.control.type - The control type, must be 'date'
|
|
8
|
+
* @param props.control.value - The current date value in ISO format (YYYY-MM-DD)
|
|
9
|
+
* @param props.control.min - Optional minimum allowed date in ISO format
|
|
10
|
+
* @param props.control.max - Optional maximum allowed date in ISO format
|
|
11
|
+
* @param props.control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onBlur"
|
|
12
|
+
* @param props.control.onChange - Callback function triggered when date value changes
|
|
13
|
+
* @param props.control.disabled - Optional flag to disable the control
|
|
14
|
+
* @returns JSX element representing the date input control
|
|
7
15
|
*
|
|
8
16
|
* @example
|
|
9
17
|
* ```typescript
|
|
@@ -14,15 +22,19 @@ import { DateControlProps } from './types';
|
|
|
14
22
|
* min: '2025-01-01',
|
|
15
23
|
* max: '2025-12-31',
|
|
16
24
|
* event: 'onChange',
|
|
17
|
-
* onChange: (value) =>
|
|
25
|
+
* onChange: (value) => setSelectedDate(value),
|
|
26
|
+
* disabled: false
|
|
18
27
|
* }} />
|
|
28
|
+
* ```
|
|
19
29
|
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
20
32
|
* // Updates only when losing focus (default)
|
|
21
33
|
* <DateControl control={{
|
|
22
34
|
* type: 'date',
|
|
23
35
|
* value: '2025-07-26',
|
|
24
36
|
* event: 'onBlur',
|
|
25
|
-
* onChange: (value) =>
|
|
37
|
+
* onChange: (value) => console.log('Date changed:', value)
|
|
26
38
|
* }} />
|
|
27
39
|
* ```
|
|
28
40
|
*/
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
-
import { useState as o, useEffect as
|
|
3
|
-
import { Input as
|
|
2
|
+
import { useState as o, useEffect as s } from "react";
|
|
3
|
+
import { Input as r } from "../../../Input/Input.js";
|
|
4
4
|
function h({ control: e }) {
|
|
5
5
|
const n = e.event || "onBlur", [l, t] = o(e.value);
|
|
6
|
-
|
|
7
|
-
t(e.value);
|
|
8
|
-
}, [e.value]);
|
|
9
|
-
const s = (u) => {
|
|
6
|
+
function i(u) {
|
|
10
7
|
const a = u.target.value;
|
|
11
8
|
t(a), n === "onChange" && e.onChange(a);
|
|
12
|
-
}
|
|
9
|
+
}
|
|
10
|
+
function f(u) {
|
|
13
11
|
const a = u.target.value;
|
|
14
12
|
n === "onBlur" && e.onChange(a);
|
|
15
|
-
}
|
|
16
|
-
return
|
|
17
|
-
|
|
13
|
+
}
|
|
14
|
+
return s(() => {
|
|
15
|
+
t(e.value);
|
|
16
|
+
}, [e.value]), /* @__PURE__ */ m(
|
|
17
|
+
r,
|
|
18
18
|
{
|
|
19
19
|
type: "date",
|
|
20
20
|
value: l,
|
|
21
21
|
min: e.min,
|
|
22
22
|
max: e.max,
|
|
23
23
|
disabled: e.disabled,
|
|
24
|
-
onChange:
|
|
25
|
-
...n === "onBlur" && { onBlur:
|
|
24
|
+
onChange: i,
|
|
25
|
+
...n === "onBlur" && { onBlur: f }
|
|
26
26
|
}
|
|
27
27
|
);
|
|
28
28
|
}
|