@berenjena/react-dev-panel 2.2.0 → 2.4.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.
Files changed (41) hide show
  1. package/README.md +97 -239
  2. package/dist/assets/index11.css +1 -1
  3. package/dist/assets/index12.css +1 -1
  4. package/dist/assets/index13.css +1 -1
  5. package/dist/assets/index14.css +1 -1
  6. package/dist/assets/index15.css +1 -1
  7. package/dist/assets/index16.css +1 -0
  8. package/dist/assets/index5.css +1 -1
  9. package/dist/assets/index7.css +1 -1
  10. package/dist/components/ControlRenderer/controls/BooleanControl/index.js +1 -1
  11. package/dist/components/ControlRenderer/controls/ButtonControl/index.js +1 -1
  12. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.js +1 -1
  13. package/dist/components/ControlRenderer/controls/ColorControl/index.js +1 -1
  14. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.js +1 -1
  15. package/dist/components/ControlRenderer/controls/LocalStorageControl/index.d.ts +23 -0
  16. package/dist/components/ControlRenderer/controls/LocalStorageControl/index.js +252 -0
  17. package/dist/components/ControlRenderer/controls/LocalStorageControl/types.d.ts +14 -0
  18. package/dist/components/ControlRenderer/controls/SelectControl/index.js +15 -5
  19. package/dist/components/ControlRenderer/controls/SelectControl/types.d.ts +2 -0
  20. package/dist/components/ControlRenderer/controls/index.d.ts +1 -0
  21. package/dist/components/ControlRenderer/controls/index.js +2 -1
  22. package/dist/components/ControlRenderer/controls/types.d.ts +3 -0
  23. package/dist/components/ControlRenderer/index.js +23 -23
  24. package/dist/components/Select/index.d.ts +3 -1
  25. package/dist/components/Select/index.js +132 -97
  26. package/dist/hooks/useDevPanel/index.js +45 -17
  27. package/dist/store/ControlPersistenceService.d.ts +33 -0
  28. package/dist/store/ControlPersistenceService.js +61 -0
  29. package/dist/utils/copyToClipboard/copyToClipboard.d.ts +17 -0
  30. package/dist/utils/copyToClipboard/copyToClipboard.js +10 -0
  31. package/dist/utils/copyToClipboard/index.d.ts +1 -0
  32. package/dist/utils/copyToClipboard/index.js +4 -0
  33. package/dist/utils/getStringPreview/getStringPreview.d.ts +14 -0
  34. package/dist/utils/getStringPreview/getStringPreview.js +6 -0
  35. package/dist/utils/getStringPreview/index.d.ts +1 -0
  36. package/dist/utils/getStringPreview/index.js +4 -0
  37. package/dist/utils/prettifyJson/index.d.ts +1 -0
  38. package/dist/utils/prettifyJson/index.js +4 -0
  39. package/dist/utils/prettifyJson/prettifyJson.d.ts +13 -0
  40. package/dist/utils/prettifyJson/prettifyJson.js +11 -0
  41. package/package.json +9 -3
@@ -1 +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: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--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: #2563eb;--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: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--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: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--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{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._switch_1rjjb_217{--switch-width: 44px;--switch-height: 24px;--thumb-size: 20px;--thumb-margin: 1px;position:relative;display:inline-block;width:var(--switch-width);height:var(--switch-height)}._switch_1rjjb_217 input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}._switch_1rjjb_217 input:checked+._slider_1rjjb_235{background-color:var(--dev-panel-accent-color, #6366f1);border-color:var(--dev-panel-accent-color, #6366f1)}._switch_1rjjb_217 input:checked+._slider_1rjjb_235:before{left:calc(100% - var(--thumb-size) - var(--thumb-margin));background-color:var(--dev-panel-text-color-on-accent, #ffffff)}._switch_1rjjb_217 input:focus+._slider_1rjjb_235{box-shadow:0 0 0 3px #6366f133}._switch_1rjjb_217 input:focus:not(:focus-visible)+._slider_1rjjb_235{box-shadow:none}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235{opacity:var(--dev-panel-opacity-50, .5);cursor:not-allowed}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:before{opacity:var(--dev-panel-opacity-70, .7)}._switch_1rjjb_217 ._slider_1rjjb_235{position:absolute;inset:0;background-color:var(--dev-panel-input-background-color, #0f172a);border:1px solid var(--dev-panel-input-border-color, #475569);border-radius:var(--dev-panel-border-radius-full, 9999px);transition:var(--dev-panel-transition, all .2s cubic-bezier(.4, 0, .2, 1));cursor:pointer}._switch_1rjjb_217 ._slider_1rjjb_235:before{content:"";position:absolute;top:var(--thumb-margin);left:var(--thumb-margin);width:var(--thumb-size);height:var(--thumb-size);background-color:var(--dev-panel-text-color-muted, #94a3b8);border-radius:var(--dev-panel-border-radius-full, 9999px);transition:var(--dev-panel-transition, all .2s cubic-bezier(.4, 0, .2, 1));box-shadow:var(--dev-panel-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}._switch_1rjjb_217 ._slider_1rjjb_235:hover{border-color:var(--dev-panel-input-border-color-hover, #64748b)}._switch_1rjjb_217 ._slider_1rjjb_235:hover:before{box-shadow:var(--dev-panel-shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:hover{border-color:var(--dev-panel-input-border-color, #475569)}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:hover:before{box-shadow:var(--dev-panel-shadow-sm, 0 1px 3px rgba(0, 0, 0, .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: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--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: #2563eb;--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: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--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: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--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{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._button_1h30c_217{display:inline-flex;align-items:center;justify-content:center;gap:var(--dev-panel-spacing-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);line-height:var(--dev-panel-line-height-tight);border:var(--dev-panel-input-border-width) solid transparent;border-radius:var(--dev-panel-border-radius);background:transparent;color:inherit;text-decoration:none;white-space:nowrap;user-select:none;transition:var(--dev-panel-transition);cursor:pointer;width:100%;min-height:var(--dev-panel-button-height);border-color:var(--dev-panel-accent-color);background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);text-align:center}._button_1h30c_217:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._button_1h30c_217:hover:not(:disabled){background-color:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover);box-shadow:var(--dev-panel-shadow-md)}._button_1h30c_217:active:not(:disabled){background-color:var(--dev-panel-accent-color-active);border-color:var(--dev-panel-accent-color-active);box-shadow:var(--dev-panel-shadow-sm)}._button_1h30c_217:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 30%,transparent)}._button_1h30c_217:focus:not(:focus-visible){box-shadow:none}._button_1h30c_217:disabled{background-color:var(--dev-panel-accent-color-disabled);border-color:var(--dev-panel-accent-color-disabled);color:var(--dev-panel-text-color-disabled);transform:none;box-shadow:none;opacity:var(--dev-panel-opacity-50);cursor:not-allowed}._button_1h30c_217._secondary_1h30c_274{background-color:transparent;color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color)}._button_1h30c_217._secondary_1h30c_274:hover:not(:disabled){background-color:color-mix(in srgb,var(--dev-panel-accent-color) 10%,transparent);color:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._button_1h30c_217._secondary_1h30c_274:active:not(:disabled){background-color:color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent);color:var(--dev-panel-accent-color-active);border-color:var(--dev-panel-accent-color-active)}._button_1h30c_217._secondary_1h30c_274:disabled{background-color:transparent;color:var(--dev-panel-text-color-disabled);border-color:var(--dev-panel-border-color)}._button_1h30c_217._small_1h30c_294{min-height:var(--dev-panel-button-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs)}._button_1h30c_217._large_1h30c_299{min-height:var(--dev-panel-button-height-lg);padding:var(--dev-panel-spacing-lg) var(--dev-panel-spacing-xl);font-size:var(--dev-panel-font-size-md)}
@@ -0,0 +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: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--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: #2563eb;--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: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--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: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--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{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._switch_1rjjb_217{--switch-width: 44px;--switch-height: 24px;--thumb-size: 20px;--thumb-margin: 1px;position:relative;display:inline-block;width:var(--switch-width);height:var(--switch-height)}._switch_1rjjb_217 input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}._switch_1rjjb_217 input:checked+._slider_1rjjb_235{background-color:var(--dev-panel-accent-color, #6366f1);border-color:var(--dev-panel-accent-color, #6366f1)}._switch_1rjjb_217 input:checked+._slider_1rjjb_235:before{left:calc(100% - var(--thumb-size) - var(--thumb-margin));background-color:var(--dev-panel-text-color-on-accent, #ffffff)}._switch_1rjjb_217 input:focus+._slider_1rjjb_235{box-shadow:0 0 0 3px #6366f133}._switch_1rjjb_217 input:focus:not(:focus-visible)+._slider_1rjjb_235{box-shadow:none}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235{opacity:var(--dev-panel-opacity-50, .5);cursor:not-allowed}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:before{opacity:var(--dev-panel-opacity-70, .7)}._switch_1rjjb_217 ._slider_1rjjb_235{position:absolute;inset:0;background-color:var(--dev-panel-input-background-color, #0f172a);border:1px solid var(--dev-panel-input-border-color, #475569);border-radius:var(--dev-panel-border-radius-full, 9999px);transition:var(--dev-panel-transition, all .2s cubic-bezier(.4, 0, .2, 1));cursor:pointer}._switch_1rjjb_217 ._slider_1rjjb_235:before{content:"";position:absolute;top:var(--thumb-margin);left:var(--thumb-margin);width:var(--thumb-size);height:var(--thumb-size);background-color:var(--dev-panel-text-color-muted, #94a3b8);border-radius:var(--dev-panel-border-radius-full, 9999px);transition:var(--dev-panel-transition, all .2s cubic-bezier(.4, 0, .2, 1));box-shadow:var(--dev-panel-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}._switch_1rjjb_217 ._slider_1rjjb_235:hover{border-color:var(--dev-panel-input-border-color-hover, #64748b)}._switch_1rjjb_217 ._slider_1rjjb_235:hover:before{box-shadow:var(--dev-panel-shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:hover{border-color:var(--dev-panel-input-border-color, #475569)}._switch_1rjjb_217 input:disabled+._slider_1rjjb_235:hover:before{box-shadow:var(--dev-panel-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}
@@ -1 +1 @@
1
- ._controlRendererContainer_1s60v_1{display:grid}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4{gap:var(--dev-panel-spacing-md);display:grid;align-items:center;color:var(--dev-panel-text-color);padding:var(--dev-panel-spacing-xs);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition)}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4._hoverable_1s60v_13:hover{background:var(--dev-panel-surface-color-hover)}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4:not(._fullWidth_1s60v_16){grid-template-columns:120px 1fr}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4._fullWidth_1s60v_16 ._label_1s60v_19{margin-bottom:var(--dev-panel-spacing-sm)}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4 ._controlWrapper_1s60v_22{display:flex;align-items:center}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4 ._controlWrapper_1s60v_22._justifyStart_1s60v_26{justify-content:flex-start}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4 ._controlWrapper_1s60v_22:not(._justifyStart_1s60v_26){justify-content:flex-end}._controlRendererContainer_1s60v_1 ._controlContainer_1s60v_4 ._label_1s60v_19{text-align:start;font-weight:var(--dev-panel-font-weight-medium);font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:var(--dev-panel-line-height-tight)}._controlRendererContainer_1s60v_1 ._description_1s60v_42{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-muted);line-height:var(--dev-panel-line-height-normal);padding-inline:var(--dev-panel-spacing-xs);margin-top:var(--dev-panel-spacing-sm);font-style:italic;text-align:right}._controlRendererContainer_1s60v_1 ._loading_1s60v_51{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-muted);text-align:center;padding:var(--dev-panel-spacing-lg);display:flex;align-items:center;justify-content:center;gap:var(--dev-panel-spacing-sm)}._controlRendererContainer_1s60v_1 ._loading_1s60v_51:before{content:"";width:12px;height:12px;border:2px solid var(--dev-panel-border-color);border-top:2px solid var(--dev-panel-accent-color);border-radius:var(--dev-panel-border-radius-full);animation:_spin_1s60v_1 1s linear infinite}._controlRendererContainer_1s60v_1 ._error_1s60v_70{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-error-color);text-align:center;padding:var(--dev-panel-spacing-lg);background:color-mix(in srgb,var(--dev-panel-error-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--dev-panel-error-color) 30%,transparent);border-radius:var(--dev-panel-border-radius);margin:var(--dev-panel-spacing-sm) 0}@keyframes _spin_1s60v_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
1
+ ._controlRendererContainer_jru2l_1{display:grid;word-break:break-word}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5{gap:var(--dev-panel-spacing-md);display:grid;align-items:center;color:var(--dev-panel-text-color);padding:var(--dev-panel-spacing-xs);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);min-width:1px}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5._hoverable_jru2l_15:hover{background:var(--dev-panel-surface-color-hover)}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5:not(._fullWidth_jru2l_18){grid-template-columns:120px calc(100% - 120px - var(--dev-panel-spacing-md))}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5._fullWidth_jru2l_18 ._label_jru2l_21{margin-bottom:var(--dev-panel-spacing-sm)}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5 ._controlWrapper_jru2l_24{display:flex;align-items:center;word-break:break-word;overflow-wrap:break-word}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5 ._controlWrapper_jru2l_24._justifyStart_jru2l_30{justify-content:flex-start}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5 ._controlWrapper_jru2l_24:not(._justifyStart_jru2l_30){justify-content:flex-end}._controlRendererContainer_jru2l_1 ._controlContainer_jru2l_5 ._label_jru2l_21{text-align:start;font-weight:var(--dev-panel-font-weight-medium);font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:var(--dev-panel-line-height-tight)}._controlRendererContainer_jru2l_1 ._description_jru2l_46{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-muted);line-height:var(--dev-panel-line-height-normal);padding-inline:var(--dev-panel-spacing-xs);margin-top:var(--dev-panel-spacing-sm);font-style:italic;text-align:right}._controlRendererContainer_jru2l_1 ._loading_jru2l_55{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-muted);text-align:center;padding:var(--dev-panel-spacing-lg);display:flex;align-items:center;justify-content:center;gap:var(--dev-panel-spacing-sm)}._controlRendererContainer_jru2l_1 ._loading_jru2l_55:before{content:"";width:12px;height:12px;border:2px solid var(--dev-panel-border-color);border-top:2px solid var(--dev-panel-accent-color);border-radius:var(--dev-panel-border-radius-full);animation:_spin_jru2l_1 1s linear infinite}._controlRendererContainer_jru2l_1 ._error_jru2l_74{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-error-color);text-align:center;padding:var(--dev-panel-spacing-lg);background:color-mix(in srgb,var(--dev-panel-error-color) 10%,transparent);border:1px solid color-mix(in srgb,var(--dev-panel-error-color) 30%,transparent);border-radius:var(--dev-panel-border-radius);margin:var(--dev-panel-spacing-sm) 0}@keyframes _spin_jru2l_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@@ -1 +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: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--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: #2563eb;--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: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--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: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--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{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._select_1hbiz_217{position:relative;width:100%}._trigger_1hbiz_222{display:block;width:100%;height:var(--dev-panel-inputs-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);line-height:var(--dev-panel-line-height-normal);color:var(--dev-panel-input-text-color);background-color:var(--dev-panel-input-background-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);display:flex;align-items:center;justify-content:space-between;border:var(--dev-panel-input-border-width) solid var(--dev-panel-input-border-color);cursor:pointer}._trigger_1hbiz_222::placeholder{color:var(--dev-panel-input-placeholder-color)}._trigger_1hbiz_222:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._trigger_1hbiz_222:disabled{opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color);cursor:not-allowed}._trigger_1hbiz_222:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover)}._trigger_1hbiz_222:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._trigger_1hbiz_222:disabled{cursor:not-allowed;opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color)}._trigger_1hbiz_222._open_1hbiz_271{border-color:var(--dev-panel-input-border-color-focus)}._value_1hbiz_275{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dev-panel-input-text-color);font-size:var(--dev-panel-font-size-sm)}._value_1hbiz_275._placeholder_1hbiz_284{color:var(--dev-panel-input-placeholder-color)}._arrow_1hbiz_288{display:block;width:16px;height:16px;margin-left:var(--dev-panel-spacing-sm);transition:var(--dev-panel-transition);flex-shrink:0}._open_1hbiz_271 ._arrow_1hbiz_288{transform:rotate(180deg)}._arrow_1hbiz_288 path{fill:var(--dev-panel-text-color-muted)}._dropdownPortal_1hbiz_303{position:fixed;z-index:9999}._dropdownPortal_1hbiz_303 *{box-sizing:border-box}._dropdown_1hbiz_303{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);max-height:200px;background-color:var(--dev-panel-foreground-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);overflow-y:auto;box-shadow:var(--dev-panel-shadow-lg);animation:_dropdown-fade-in_1hbiz_1 .15s ease-out}._dropdown_1hbiz_303::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._dropdown_1hbiz_303::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._dropdown_1hbiz_303::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._dropdown_1hbiz_303::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._dropdown_1hbiz_303::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}._option_1hbiz_342{position:relative;display:flex;align-items:center;padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);transition:var(--dev-panel-transition);background-color:var(--dev-panel-foreground-color);color:var(--dev-panel-text-color);border:none;width:100%;text-align:left;font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);cursor:pointer}._option_1hbiz_342:hover{background-color:var(--dev-panel-surface-color-hover)}._option_1hbiz_342._selected_1hbiz_360{background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent)}._option_1hbiz_342:focus{outline:none;background-color:var(--dev-panel-surface-color-hover)}._checkbox_1hbiz_369{appearance:none;width:16px;height:16px;border:1px solid var(--dev-panel-border-color);border-radius:3px;margin-right:var(--dev-panel-spacing-sm);position:relative;background-color:var(--dev-panel-input-background-color);flex-shrink:0;cursor:pointer}._checkbox_1hbiz_369:checked{background-color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color)}._checkbox_1hbiz_369:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._label_1hbiz_390{flex:1;pointer-events:none}@keyframes _dropdown-fade-in_1hbiz_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
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: #2563eb;--dev-panel-accent-color-hover: #1d4ed8;--dev-panel-accent-color-active: #1e40af;--dev-panel-accent-color-disabled: #2563eb30;--dev-panel-primary-color: #2563eb;--dev-panel-primary-color-hover: #1d4ed8;--dev-panel-primary-color-active: #1e40af;--dev-panel-primary-color-disabled: #2563eb30;--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: #2563eb;--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: #2563eb;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-base: 4px;--dev-panel-spacing-xs: calc(var(--dev-panel-spacing-base) * .5);--dev-panel-spacing-sm: var(--dev-panel-spacing-base);--dev-panel-spacing-md: calc(var(--dev-panel-spacing-base) * 2);--dev-panel-spacing-lg: calc(var(--dev-panel-spacing-base) * 3);--dev-panel-spacing-xl: calc(var(--dev-panel-spacing-base) * 4);--dev-panel-spacing-2xl: calc(var(--dev-panel-spacing-base) * 5);--dev-panel-spacing-3xl: calc(var(--dev-panel-spacing-base) * 6);--dev-panel-spacing-4xl: calc(var(--dev-panel-spacing-base) * 8);--dev-panel-spacing: var(--dev-panel-spacing-lg);--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: 400px;--dev-panel-min-width: 280px;--dev-panel-max-height: 600px;--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{color-scheme:light;--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong)}}:root[data-dev-panel-theme=dark]{color-scheme:dark}:root[data-dev-panel-theme=light]{--dev-panel-background-color: #f8fafc;--dev-panel-background-color-secondary: #f1f5f9;--dev-panel-background-color-tertiary: #e2e8f0;--dev-panel-foreground-color: #ffffff;--dev-panel-surface-color: #ffffff;--dev-panel-surface-color-hover: #e2e8f0;--dev-panel-surface-color-active: #e2e8f0;--dev-panel-text-color: #0f172a;--dev-panel-text-color-secondary: #334155;--dev-panel-text-color-muted: #64748b;--dev-panel-text-color-disabled: #94a3b8;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #0f172a;--dev-panel-border-color: #e2e8f0;--dev-panel-border-color-light: #cbd5e1;--dev-panel-border-color-strong: #94a3b8;--dev-panel-border-color-accent: #2563eb;--dev-panel-input-background-color: #ffffff;--dev-panel-input-background-color-hover: #ffcccc;--dev-panel-input-background-color-focus: #ffffff;--dev-panel-input-border-color: #e2e8f0;--dev-panel-input-border-color-hover: #cbd5e1;--dev-panel-input-border-color-focus: #2563eb;--dev-panel-input-text-color: #0f172a;--dev-panel-input-placeholder-color: #64748b;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .03);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .08), 0 1px 2px -1px rgb(0 0 0 / .08);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .08), 0 2px 4px -2px rgb(0 0 0 / .08);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .08), 0 8px 10px -6px rgb(0 0 0 / .08);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .15);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .03);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color-light);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-strong);color-scheme:light}._select_15gl5_217{position:relative;width:100%}._trigger_15gl5_222{display:block;width:100%;height:var(--dev-panel-inputs-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);line-height:var(--dev-panel-line-height-normal);color:var(--dev-panel-input-text-color);background-color:var(--dev-panel-input-background-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);display:flex;align-items:center;justify-content:space-between;border:var(--dev-panel-input-border-width) solid var(--dev-panel-input-border-color);cursor:pointer}._trigger_15gl5_222::placeholder{color:var(--dev-panel-input-placeholder-color)}._trigger_15gl5_222:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._trigger_15gl5_222:disabled{opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color);cursor:not-allowed}._trigger_15gl5_222:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover)}._trigger_15gl5_222:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._trigger_15gl5_222:disabled{cursor:not-allowed;opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color)}._trigger_15gl5_222._open_15gl5_271{border-color:var(--dev-panel-input-border-color-focus)}._value_15gl5_275{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dev-panel-input-text-color);font-size:var(--dev-panel-font-size-sm)}._value_15gl5_275._placeholder_15gl5_284{color:var(--dev-panel-input-placeholder-color)}._arrow_15gl5_288{display:block;width:16px;height:16px;margin-left:var(--dev-panel-spacing-sm);transition:var(--dev-panel-transition);flex-shrink:0}._open_15gl5_271 ._arrow_15gl5_288{transform:rotate(180deg)}._arrow_15gl5_288 path{fill:var(--dev-panel-text-color-muted)}._dropdownPortal_15gl5_303{position:fixed;z-index:9999}._dropdownPortal_15gl5_303 *{box-sizing:border-box}._dropdown_15gl5_303{display:flex;flex-direction:column;max-height:200px;background-color:var(--dev-panel-foreground-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);overflow:hidden;box-shadow:var(--dev-panel-shadow-lg);animation:_dropdown-fade-in_15gl5_1 .15s ease-out}._searchContainer_15gl5_323{padding:var(--dev-panel-spacing-sm);border-bottom:1px solid var(--dev-panel-border-color);flex-shrink:0}._searchInput_15gl5_329{display:block;height:var(--dev-panel-inputs-height-sm);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);line-height:var(--dev-panel-line-height-normal);color:var(--dev-panel-input-text-color);background-color:var(--dev-panel-input-background-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);width:100%;border:var(--dev-panel-input-border-width) solid var(--dev-panel-input-border-color)}._searchInput_15gl5_329:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover)}._searchInput_15gl5_329:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._searchInput_15gl5_329:disabled{opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color);cursor:not-allowed}._searchInput_15gl5_329:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 2px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._searchInput_15gl5_329::placeholder{color:var(--dev-panel-input-placeholder-color)}._optionsList_15gl5_371{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);flex:1;overflow-y:auto}._optionsList_15gl5_371::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._optionsList_15gl5_371::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._optionsList_15gl5_371::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._optionsList_15gl5_371::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._optionsList_15gl5_371::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}._noResults_15gl5_397{padding:var(--dev-panel-spacing-md);text-align:center;color:var(--dev-panel-text-color-muted);font-size:var(--dev-panel-font-size-sm)}._option_15gl5_371{position:relative;display:flex;align-items:center;padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-md);transition:var(--dev-panel-transition);background-color:var(--dev-panel-foreground-color);color:var(--dev-panel-text-color);border:none;width:100%;text-align:left;font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);cursor:pointer;overflow-wrap:anywhere}._option_15gl5_371:hover{background-color:var(--dev-panel-surface-color-hover)}._option_15gl5_371._selected_15gl5_423{background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent)}._option_15gl5_371:focus{outline:none;background-color:var(--dev-panel-surface-color-hover)}._checkbox_15gl5_432{appearance:none;width:16px;height:16px;border:1px solid var(--dev-panel-border-color);border-radius:3px;margin-right:var(--dev-panel-spacing-sm);position:relative;background-color:var(--dev-panel-input-background-color);flex-shrink:0;cursor:pointer}._checkbox_15gl5_432:checked{background-color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color)}._checkbox_15gl5_432:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--dev-panel-accent-color) 20%,transparent)}._label_15gl5_453{flex:1;pointer-events:none}@keyframes _dropdown-fade-in_15gl5_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
2
  import { useRef as c } from "react";
3
- import '../../../../assets/index15.css';const l = "_slider_1rjjb_235", t = {
3
+ import '../../../../assets/index16.css';const l = "_slider_1rjjb_235", t = {
4
4
  switch: "_switch_1rjjb_217",
5
5
  slider: l
6
6
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import '../../../../assets/index14.css';const o = "_button_1h30c_217", s = {
2
+ import '../../../../assets/index15.css';const o = "_button_1h30c_217", s = {
3
3
  button: o
4
4
  };
5
5
  function e({ control: t }) {
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { ButtonControl as e } from "../ButtonControl/index.js";
3
- import '../../../../assets/index13.css';const i = "_buttonGroupContainer_1irhu_217", l = {
3
+ import '../../../../assets/index14.css';const i = "_buttonGroupContainer_1irhu_217", l = {
4
4
  buttonGroupContainer: i
5
5
  };
6
6
  function p({ control: n }) {
@@ -2,7 +2,7 @@ import { jsxs as m, jsx as l } from "react/jsx-runtime";
2
2
  import { useState as v, useEffect as C } from "react";
3
3
  import { Input as p } from "../../../Input/index.js";
4
4
  import { useDebouncedCallback as b } from "../../../../hooks/useDebounceCallback/index.js";
5
- import '../../../../assets/index12.css';const y = "_container_1oo6z_1", x = "_colorPreview_1oo6z_7", V = "_errorMessage_1oo6z_52", c = {
5
+ import '../../../../assets/index13.css';const y = "_container_1oo6z_1", x = "_colorPreview_1oo6z_7", V = "_errorMessage_1oo6z_52", c = {
6
6
  container: y,
7
7
  colorPreview: x,
8
8
  errorMessage: V
@@ -1,7 +1,7 @@
1
1
  import { jsxs as u, Fragment as k, jsx as r } from "react/jsx-runtime";
2
2
  import { useState as n, useRef as R, useCallback as t } from "react";
3
3
  import { className as M } from "../../../../utils/className/className.js";
4
- import '../../../../assets/index11.css';const I = "_dropZone_p0d3i_9", Z = "_disabled_p0d3i_26", j = "_active_p0d3i_45", A = "_supportedFormats_p0d3i_60", P = "_dropText_p0d3i_66", N = "_droppedFile_p0d3i_71", E = "_droppedText_p0d3i_79", L = "_errorMessage_p0d3i_86", d = {
4
+ import '../../../../assets/index12.css';const I = "_dropZone_p0d3i_9", Z = "_disabled_p0d3i_26", j = "_active_p0d3i_45", A = "_supportedFormats_p0d3i_60", P = "_dropText_p0d3i_66", N = "_droppedFile_p0d3i_71", E = "_droppedText_p0d3i_79", L = "_errorMessage_p0d3i_86", d = {
5
5
  dropZone: I,
6
6
  disabled: Z,
7
7
  active: j,
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ import { LocalStorageControlProps } from './types';
3
+ /**
4
+ * Component that renders a table displaying all localStorage items
5
+ * Allows viewing, editing, and deleting localStorage entries
6
+ *
7
+ * @param props - The component props
8
+ * @param props.control - The localStorage control configuration object
9
+ * @param props.control.type - The control type, must be 'localStorage'
10
+ * @param props.control.onRefresh - Optional callback triggered when data is refreshed
11
+ * @param props.control.disabled - Optional flag to disable the control
12
+ * @returns JSX element representing a localStorage management table
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * <LocalStorageControl control={{
17
+ * type: 'localStorage',
18
+ * onRefresh: () => console.log('LocalStorage refreshed'),
19
+ * disabled: false
20
+ * }} />
21
+ * ```
22
+ */
23
+ export declare function LocalStorageControl({ control }: LocalStorageControlProps): React.ReactNode;
@@ -0,0 +1,252 @@
1
+ import { jsxs as s, jsx as t, Fragment as f } from "react/jsx-runtime";
2
+ import l from "react";
3
+ import { copyToClipboard as H } from "../../../../utils/copyToClipboard/copyToClipboard.js";
4
+ import { getStringPreview as $ } from "../../../../utils/getStringPreview/getStringPreview.js";
5
+ import { prettifyJson as M } from "../../../../utils/prettifyJson/prettifyJson.js";
6
+ import '../../../../assets/index11.css';const j = "_container_cgfc3_217", P = "_header_cgfc3_224", J = "_count_cgfc3_230", q = "_actions_cgfc3_236", z = "_btnRefresh_cgfc3_241", G = "_btnAdd_cgfc3_242", O = "_itemsList_cgfc3_279", Q = "_card_cgfc3_285", U = "_cardHeader_cgfc3_297", W = "_clickable_cgfc3_308", X = "_collapseIcon_cgfc3_312", Y = "_cardTitle_cgfc3_323", Z = "_keyCode_cgfc3_329", ee = "_cardBody_cgfc3_337", ae = "_field_cgfc3_344", te = "_valueActions_cgfc3_354", le = "_fieldLabel_cgfc3_359", ce = "_input_cgfc3_367", se = "_textarea_cgfc3_399", ne = "_valueText_cgfc3_445", de = "_btnToggle_cgfc3_461", oe = "_cardActions_cgfc3_492", ie = "_btnSave_cgfc3_498", re = "_btnCancel_cgfc3_499", ue = "_btnEdit_cgfc3_500", be = "_btnDelete_cgfc3_501", _e = "_empty_cgfc3_567", a = {
7
+ container: j,
8
+ header: P,
9
+ count: J,
10
+ actions: q,
11
+ btnRefresh: z,
12
+ btnAdd: G,
13
+ itemsList: O,
14
+ card: Q,
15
+ cardHeader: U,
16
+ clickable: W,
17
+ collapseIcon: X,
18
+ cardTitle: Y,
19
+ keyCode: Z,
20
+ cardBody: ee,
21
+ field: ae,
22
+ valueActions: te,
23
+ fieldLabel: le,
24
+ input: ce,
25
+ textarea: se,
26
+ valueText: ne,
27
+ btnToggle: de,
28
+ cardActions: oe,
29
+ btnSave: ie,
30
+ btnCancel: re,
31
+ btnEdit: ue,
32
+ btnDelete: be,
33
+ empty: _e
34
+ };
35
+ function ve({ control: n }) {
36
+ const [_, E] = l.useState([]), [C, m] = l.useState(null), [y, g] = l.useState(""), [r, N] = l.useState(""), [v, S] = l.useState(""), [k, p] = l.useState(!1), [u, w] = l.useState(/* @__PURE__ */ new Map()), [A, x] = l.useState(null), o = l.useCallback(() => {
37
+ const e = [];
38
+ for (let d = 0; d < localStorage.length; d++) {
39
+ const i = localStorage.key(d);
40
+ if (i) {
41
+ const F = localStorage.getItem(i);
42
+ e.push({ key: i, value: F || "" });
43
+ }
44
+ }
45
+ const c = e.sort((d, i) => d.key.localeCompare(i.key));
46
+ E(c);
47
+ const b = /* @__PURE__ */ new Map();
48
+ c.forEach((d) => {
49
+ b.set(d.key, {
50
+ collapsed: !0,
51
+ valueExpanded: !1,
52
+ formattedValue: M(d.value)
53
+ });
54
+ }), w(b), n.onRefresh?.();
55
+ }, [n]), I = l.useCallback(
56
+ (e) => {
57
+ confirm(`Delete "${e}" from localStorage?`) && (localStorage.removeItem(e), o());
58
+ },
59
+ [o]
60
+ ), T = l.useCallback((e, c) => {
61
+ m(e), g(c);
62
+ }, []), L = l.useCallback(
63
+ (e) => {
64
+ localStorage.setItem(e, y), m(null), g(""), o();
65
+ },
66
+ [y, o]
67
+ ), D = l.useCallback(() => {
68
+ m(null), g("");
69
+ }, []), K = l.useCallback(() => {
70
+ if (r.trim() === "") {
71
+ alert("The key cannot be empty");
72
+ return;
73
+ }
74
+ localStorage.getItem(r) !== null && !confirm(`The key "${r}" already exists. Do you want to overwrite it?`) || (localStorage.setItem(r, v), N(""), S(""), p(!1), o());
75
+ }, [r, v, o]), V = l.useCallback(async (e, c) => {
76
+ try {
77
+ await H(c), x(e), setTimeout(() => {
78
+ x(null);
79
+ }, 2e3);
80
+ } catch {
81
+ alert("Failed to copy to clipboard");
82
+ }
83
+ }, []), h = l.useCallback((e, c) => {
84
+ w((b) => {
85
+ const d = new Map(b), i = d.get(e);
86
+ return i ? (d.set(e, {
87
+ ...i,
88
+ [c]: !i[c]
89
+ }), d) : b;
90
+ });
91
+ }, []), R = l.useCallback(
92
+ (e, c) => {
93
+ (e.key === "Enter" || e.key === " ") && h(c, "collapsed");
94
+ },
95
+ [h]
96
+ ), B = l.useCallback((e, c = 100) => $(e, c), []);
97
+ return l.useEffect(() => {
98
+ o();
99
+ function e() {
100
+ o();
101
+ }
102
+ return window.addEventListener("storage", e), () => {
103
+ window.removeEventListener("storage", e);
104
+ };
105
+ }, []), /* @__PURE__ */ s("div", { className: a.container, children: [
106
+ /* @__PURE__ */ s("div", { className: a.header, children: [
107
+ /* @__PURE__ */ s("span", { className: a.count, children: [
108
+ _.length,
109
+ _.length === 1 ? " item" : " items"
110
+ ] }),
111
+ /* @__PURE__ */ s("div", { className: a.actions, children: [
112
+ /* @__PURE__ */ t("button", { className: a.btnRefresh, onClick: o, disabled: n.disabled, title: "Refresh", children: "🔄" }),
113
+ /* @__PURE__ */ t("button", { className: a.btnAdd, onClick: () => p(!k), disabled: n.disabled, title: "Add new", children: k ? "✕" : "+" })
114
+ ] })
115
+ ] }),
116
+ k && /* @__PURE__ */ s("div", { className: a.card, children: [
117
+ /* @__PURE__ */ t("div", { className: a.cardHeader, children: /* @__PURE__ */ t("span", { className: a.cardTitle, children: "New entry" }) }),
118
+ /* @__PURE__ */ s("div", { className: a.cardBody, children: [
119
+ /* @__PURE__ */ s("div", { className: a.field, children: [
120
+ /* @__PURE__ */ t("label", { className: a.fieldLabel, children: "Key" }),
121
+ /* @__PURE__ */ t(
122
+ "input",
123
+ {
124
+ type: "text",
125
+ className: a.input,
126
+ placeholder: "key_name",
127
+ value: r,
128
+ onChange: (e) => N(e.target.value),
129
+ disabled: n.disabled
130
+ }
131
+ )
132
+ ] }),
133
+ /* @__PURE__ */ s("div", { className: a.field, children: [
134
+ /* @__PURE__ */ t("label", { className: a.fieldLabel, children: "Value" }),
135
+ /* @__PURE__ */ t(
136
+ "textarea",
137
+ {
138
+ className: a.textarea,
139
+ placeholder: '{"example": "value"}',
140
+ value: v,
141
+ onChange: (e) => S(e.target.value),
142
+ disabled: n.disabled,
143
+ rows: 3
144
+ }
145
+ )
146
+ ] })
147
+ ] }),
148
+ /* @__PURE__ */ s("div", { className: a.cardActions, children: [
149
+ /* @__PURE__ */ t("button", { className: a.btnSave, onClick: K, disabled: n.disabled, children: "Save" }),
150
+ /* @__PURE__ */ t("button", { className: a.btnCancel, onClick: () => p(!1), disabled: n.disabled, children: "Cancel" })
151
+ ] })
152
+ ] }),
153
+ /* @__PURE__ */ t("div", { className: a.itemsList, children: _.length === 0 ? /* @__PURE__ */ t("div", { className: a.empty, children: "No data in localStorage" }) : _.map((e) => /* @__PURE__ */ s("div", { className: a.card, children: [
154
+ /* @__PURE__ */ s(
155
+ "div",
156
+ {
157
+ className: `${a.cardHeader} ${a.clickable}`,
158
+ onClick: () => h(e.key, "collapsed"),
159
+ role: "button",
160
+ tabIndex: 0,
161
+ onKeyDown: (c) => R(c, e.key),
162
+ children: [
163
+ /* @__PURE__ */ t("span", { className: a.collapseIcon, children: u.get(e.key)?.collapsed ? "▶" : "▼" }),
164
+ /* @__PURE__ */ t("code", { className: a.keyCode, children: e.key })
165
+ ]
166
+ }
167
+ ),
168
+ !u.get(e.key)?.collapsed && /* @__PURE__ */ s(f, { children: [
169
+ /* @__PURE__ */ t("div", { className: a.cardBody, children: C === e.key ? /* @__PURE__ */ t(
170
+ "textarea",
171
+ {
172
+ className: a.textarea,
173
+ value: y,
174
+ onChange: (c) => g(c.target.value),
175
+ disabled: n.disabled,
176
+ rows: 6,
177
+ autoFocus: !0
178
+ }
179
+ ) : /* @__PURE__ */ s(f, { children: [
180
+ /* @__PURE__ */ t("pre", { className: a.valueText, children: u.get(e.key)?.valueExpanded ? u.get(e.key)?.formattedValue : B(u.get(e.key)?.formattedValue || e.value) }),
181
+ /* @__PURE__ */ s("div", { className: a.valueActions, children: [
182
+ e.value.length > 100 && /* @__PURE__ */ t(
183
+ "button",
184
+ {
185
+ className: a.btnToggle,
186
+ onClick: () => h(e.key, "valueExpanded"),
187
+ disabled: n.disabled,
188
+ children: u.get(e.key)?.valueExpanded ? "▲ Show less" : "▼ Show more"
189
+ }
190
+ ),
191
+ /* @__PURE__ */ t(
192
+ "button",
193
+ {
194
+ className: a.btnToggle,
195
+ onClick: () => V(e.key, e.value),
196
+ disabled: n.disabled,
197
+ title: "Copy content",
198
+ children: A === e.key ? "✓ Copied" : "📎 Copy"
199
+ }
200
+ )
201
+ ] })
202
+ ] }) }),
203
+ /* @__PURE__ */ t("div", { className: a.cardActions, children: C === e.key ? /* @__PURE__ */ s(f, { children: [
204
+ /* @__PURE__ */ t(
205
+ "button",
206
+ {
207
+ className: a.btnSave,
208
+ onClick: () => L(e.key),
209
+ disabled: n.disabled,
210
+ title: "Save",
211
+ children: "💾 Save"
212
+ }
213
+ ),
214
+ /* @__PURE__ */ t(
215
+ "button",
216
+ {
217
+ className: a.btnCancel,
218
+ onClick: D,
219
+ disabled: n.disabled,
220
+ title: "Cancel",
221
+ children: "✕ Cancel"
222
+ }
223
+ )
224
+ ] }) : /* @__PURE__ */ s(f, { children: [
225
+ /* @__PURE__ */ t(
226
+ "button",
227
+ {
228
+ className: a.btnEdit,
229
+ onClick: () => T(e.key, e.value),
230
+ disabled: n.disabled,
231
+ title: "Edit",
232
+ children: "✏️ Edit"
233
+ }
234
+ ),
235
+ /* @__PURE__ */ t(
236
+ "button",
237
+ {
238
+ className: a.btnDelete,
239
+ onClick: () => I(e.key),
240
+ disabled: n.disabled,
241
+ title: "Delete",
242
+ children: "🗑️ Delete"
243
+ }
244
+ )
245
+ ] }) })
246
+ ] })
247
+ ] }, e.key)) })
248
+ ] });
249
+ }
250
+ export {
251
+ ve as LocalStorageControl
252
+ };
@@ -0,0 +1,14 @@
1
+ import { BaseControl } from '../types';
2
+ export interface LocalStorageControl extends BaseControl {
3
+ type: "localStorage";
4
+ onRefresh?: () => void;
5
+ }
6
+
7
+ export interface LocalStorageControlProps {
8
+ control: LocalStorageControl;
9
+ }
10
+
11
+ export interface LocalStorageItem {
12
+ key: string;
13
+ value: string;
14
+ }
@@ -1,8 +1,18 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { Select as n } from "../../../Select/index.js";
3
- function p({ control: e }) {
4
- return /* @__PURE__ */ i(n, { value: e.value, options: e.options, disabled: e.disabled, onChange: (o) => e.onChange(o) });
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Select as s } from "../../../Select/index.js";
3
+ function i({ control: e }) {
4
+ return /* @__PURE__ */ r(
5
+ s,
6
+ {
7
+ value: e.value,
8
+ options: e.options,
9
+ disabled: e.disabled,
10
+ searchable: e.searchable,
11
+ searchPlaceholder: e.searchPlaceholder,
12
+ onChange: (a) => e.onChange(a)
13
+ }
14
+ );
5
15
  }
6
16
  export {
7
- p as SelectControl
17
+ i as SelectControl
8
18
  };
@@ -3,6 +3,8 @@ export interface SelectControl extends BaseControl {
3
3
  type: "select";
4
4
  value: string;
5
5
  options: string[] | { label: string; value: string }[];
6
+ searchable?: boolean;
7
+ searchPlaceholder?: string;
6
8
  onChange: (value: string) => void;
7
9
  }
8
10
 
@@ -16,4 +16,5 @@ export declare const controls: Readonly<{
16
16
  text: import('react').LazyExoticComponent<typeof import('./TextControl').TextControl>;
17
17
  buttonGroup: import('react').LazyExoticComponent<typeof import('./ButtonGroupControl').ButtonGroupControl>;
18
18
  dragAndDrop: import('react').LazyExoticComponent<typeof import('./DragAndDropControl').DragAndDropControl>;
19
+ localStorage: import('react').LazyExoticComponent<typeof import('./LocalStorageControl').LocalStorageControl>;
19
20
  }>;
@@ -11,7 +11,8 @@ const r = Object.freeze({
11
11
  separator: o(() => import("./SeparatorControl/index.js").then((t) => ({ default: t.SeparatorControl }))),
12
12
  text: o(() => import("./TextControl/index.js").then((t) => ({ default: t.TextControl }))),
13
13
  buttonGroup: o(() => import("./ButtonGroupControl/index.js").then((t) => ({ default: t.ButtonGroupControl }))),
14
- dragAndDrop: o(() => import("./DragAndDropControl/index.js").then((t) => ({ default: t.DragAndDropControl })))
14
+ dragAndDrop: o(() => import("./DragAndDropControl/index.js").then((t) => ({ default: t.DragAndDropControl }))),
15
+ localStorage: o(() => import("./LocalStorageControl/index.js").then((t) => ({ default: t.LocalStorageControl })))
15
16
  });
16
17
  export {
17
18
  r as controls
@@ -4,6 +4,7 @@ import { ButtonGroupControl } from './ButtonGroupControl/types';
4
4
  import { ColorControl } from './ColorControl/types';
5
5
  import { DateControl } from './DateControl/types';
6
6
  import { DragAndDropControl } from './DragAndDropControl/types';
7
+ import { LocalStorageControl } from './LocalStorageControl/types';
7
8
  import { MultiSelectControl } from './MultiSelectControl/types';
8
9
  import { NumberControl } from './NumberControl/types';
9
10
  import { RangeControl } from './RangeControl/types';
@@ -14,6 +15,7 @@ export interface BaseControl {
14
15
  label?: string;
15
16
  description?: string;
16
17
  disabled?: boolean;
18
+ persist?: boolean;
17
19
  }
18
20
 
19
21
  export interface BaseInputControl extends BaseControl {
@@ -34,6 +36,7 @@ export type Controls = {
34
36
  separator: SeparatorControl;
35
37
  buttonGroup: ButtonGroupControl;
36
38
  dragAndDrop: DragAndDropControl;
39
+ localStorage: LocalStorageControl;
37
40
  };
38
41
 
39
42
  export type ControlsNames = keyof Controls;