@berenjena/react-dev-panel 2.0.0 → 2.2.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 (139) hide show
  1. package/README.md +75 -52
  2. package/dist/assets/index.css +1 -1
  3. package/dist/assets/{RangeControl.css → index10.css} +1 -1
  4. package/dist/assets/index11.css +1 -0
  5. package/dist/assets/index13.css +1 -0
  6. package/dist/assets/index14.css +1 -0
  7. package/dist/assets/index15.css +1 -0
  8. package/dist/assets/index2.css +1 -0
  9. package/dist/assets/index6.css +1 -0
  10. package/dist/assets/index7.css +1 -0
  11. package/dist/assets/index8.css +1 -0
  12. package/dist/components/ControlRenderer/controls/BooleanControl/index.d.ts +32 -1
  13. package/dist/components/ControlRenderer/controls/BooleanControl/index.js +24 -2
  14. package/dist/components/ControlRenderer/controls/ButtonControl/index.d.ts +33 -1
  15. package/dist/components/ControlRenderer/controls/ButtonControl/index.js +8 -2
  16. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.d.ts +37 -1
  17. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.js +20 -2
  18. package/dist/components/ControlRenderer/controls/ColorControl/index.d.ts +23 -1
  19. package/dist/components/ControlRenderer/controls/ColorControl/index.js +67 -2
  20. package/dist/components/ControlRenderer/controls/DateControl/index.d.ts +41 -1
  21. package/dist/components/ControlRenderer/controls/DateControl/index.js +29 -2
  22. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.d.ts +2 -0
  23. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.js +117 -0
  24. package/dist/components/ControlRenderer/controls/DragAndDropControl/types.d.ts +20 -0
  25. package/dist/components/ControlRenderer/controls/MultiSelectControl/index.d.ts +28 -1
  26. package/dist/components/ControlRenderer/controls/MultiSelectControl/index.js +16 -2
  27. package/dist/components/ControlRenderer/controls/NumberControl/index.d.ts +45 -1
  28. package/dist/components/ControlRenderer/controls/NumberControl/index.js +30 -2
  29. package/dist/components/ControlRenderer/controls/RangeControl/index.d.ts +46 -1
  30. package/dist/components/ControlRenderer/controls/RangeControl/index.js +38 -2
  31. package/dist/components/ControlRenderer/controls/SelectControl/index.d.ts +39 -1
  32. package/dist/components/ControlRenderer/controls/SelectControl/index.js +6 -2
  33. package/dist/components/ControlRenderer/controls/SeparatorControl/index.d.ts +39 -1
  34. package/dist/components/ControlRenderer/controls/SeparatorControl/index.js +12 -2
  35. package/dist/components/ControlRenderer/controls/TextControl/index.d.ts +40 -1
  36. package/dist/components/ControlRenderer/controls/TextControl/index.js +28 -2
  37. package/dist/components/ControlRenderer/controls/TextControl/types.d.ts +1 -0
  38. package/dist/components/ControlRenderer/controls/index.d.ts +1 -0
  39. package/dist/components/ControlRenderer/controls/index.js +2 -1
  40. package/dist/components/ControlRenderer/controls/types.d.ts +2 -0
  41. package/dist/components/ControlRenderer/index.d.ts +6 -1
  42. package/dist/components/ControlRenderer/index.js +50 -2
  43. package/dist/components/DevPanel/index.d.ts +11 -1
  44. package/dist/components/DevPanel/index.js +67 -2
  45. package/dist/components/DevPanel/types.d.ts +13 -6
  46. package/dist/components/DevPanelPortal/index.d.ts +9 -1
  47. package/dist/components/DevPanelPortal/index.js +15 -2
  48. package/dist/components/EmptyContent/index.d.ts +1 -1
  49. package/dist/components/EmptyContent/index.js +17 -2
  50. package/dist/components/Icon/index.d.ts +3 -3
  51. package/dist/components/Input/index.d.ts +1 -1
  52. package/dist/components/Input/index.js +8 -2
  53. package/dist/components/Section/index.d.ts +7 -1
  54. package/dist/components/Section/index.js +23 -2
  55. package/dist/components/Select/index.d.ts +15 -1
  56. package/dist/components/Select/index.js +176 -2
  57. package/dist/components/Textarea/index.d.ts +5 -0
  58. package/dist/components/Textarea/index.js +18 -0
  59. package/dist/components/index.js +3 -3
  60. package/dist/hooks/useDebounceCallback/index.d.ts +8 -1
  61. package/dist/hooks/useDebounceCallback/index.js +15 -2
  62. package/dist/hooks/useDevPanel/index.d.ts +29 -1
  63. package/dist/hooks/useDevPanel/index.js +22 -2
  64. package/dist/hooks/useDragAndDrop/index.d.ts +20 -1
  65. package/dist/hooks/useDragAndDrop/index.js +53 -2
  66. package/dist/hooks/{useHotkeys/useHotkey.d.ts → useHotKey/index.d.ts} +1 -1
  67. package/dist/hooks/{useHotkeys/useHotkey.js → useHotKey/index.js} +1 -1
  68. package/dist/hooks/useHotkeys/index.d.ts +37 -2
  69. package/dist/hooks/useHotkeys/index.js +29 -4
  70. package/dist/index.js +1 -1
  71. package/dist/store/UIStore.d.ts +78 -2
  72. package/dist/store/UIStore.js +95 -34
  73. package/dist/utils/getPositionAdjustment/getPositionAdjustment.d.ts +3 -2
  74. package/dist/utils/getPositionAdjustment/getPositionAdjustment.js +1 -4
  75. package/package.json +43 -29
  76. package/dist/assets/BooleanControl.css +0 -1
  77. package/dist/assets/ButtonControl.css +0 -1
  78. package/dist/assets/ButtonGroupControl.css +0 -1
  79. package/dist/assets/DevPanel.css +0 -1
  80. package/dist/assets/Input.css +0 -1
  81. package/dist/assets/MultiSelectControl.css +0 -1
  82. package/dist/assets/Select.css +0 -1
  83. package/dist/components/ControlRenderer/ControlRenderer.d.ts +0 -6
  84. package/dist/components/ControlRenderer/ControlRenderer.js +0 -52
  85. package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.d.ts +0 -32
  86. package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.js +0 -26
  87. package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.d.ts +0 -33
  88. package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.js +0 -10
  89. package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.d.ts +0 -37
  90. package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.js +0 -22
  91. package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.d.ts +0 -23
  92. package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.js +0 -69
  93. package/dist/components/ControlRenderer/controls/DateControl/DateControl.d.ts +0 -41
  94. package/dist/components/ControlRenderer/controls/DateControl/DateControl.js +0 -31
  95. package/dist/components/ControlRenderer/controls/MultiSelectControl/MultiSelectControl.d.ts +0 -28
  96. package/dist/components/ControlRenderer/controls/MultiSelectControl/MultiSelectControl.js +0 -131
  97. package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.d.ts +0 -45
  98. package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.js +0 -32
  99. package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.d.ts +0 -46
  100. package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.js +0 -40
  101. package/dist/components/ControlRenderer/controls/SelectControl/SelectControl.d.ts +0 -39
  102. package/dist/components/ControlRenderer/controls/SelectControl/SelectControl.js +0 -11
  103. package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.d.ts +0 -39
  104. package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.js +0 -14
  105. package/dist/components/ControlRenderer/controls/TextControl/TextControl.d.ts +0 -40
  106. package/dist/components/ControlRenderer/controls/TextControl/TextControl.js +0 -30
  107. package/dist/components/DevPanel/DevPanel.d.ts +0 -11
  108. package/dist/components/DevPanel/DevPanel.js +0 -72
  109. package/dist/components/DevPanelPortal/DevPanelPortal.d.ts +0 -8
  110. package/dist/components/DevPanelPortal/DevPanelPortal.js +0 -17
  111. package/dist/components/EmptyContent/EmptyContent.d.ts +0 -1
  112. package/dist/components/EmptyContent/EmptyContent.js +0 -18
  113. package/dist/components/Input/Input.d.ts +0 -1
  114. package/dist/components/Input/Input.js +0 -10
  115. package/dist/components/Section/Section.d.ts +0 -7
  116. package/dist/components/Section/Section.js +0 -25
  117. package/dist/components/Select/Select.d.ts +0 -1
  118. package/dist/components/Select/Select.js +0 -10
  119. package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +0 -8
  120. package/dist/hooks/useDebounceCallback/useDebounceCallback.js +0 -17
  121. package/dist/hooks/useDevPanel/useDevPanel.d.ts +0 -29
  122. package/dist/hooks/useDevPanel/useDevPanel.js +0 -25218
  123. package/dist/hooks/useDragAndDrop/useDragAndDrop.d.ts +0 -20
  124. package/dist/hooks/useDragAndDrop/useDragAndDrop.js +0 -55
  125. package/dist/hooks/useHotkeys/useHotkeys.d.ts +0 -37
  126. package/dist/hooks/useHotkeys/useHotkeys.js +0 -31
  127. package/dist/managers/index.d.ts +0 -1
  128. package/dist/managers/index.js +0 -4
  129. package/dist/store/ThemeStore.d.ts +0 -68
  130. package/dist/store/ThemeStore.js +0 -102
  131. package/dist/store/index.d.ts +0 -4
  132. package/dist/store/index.js +0 -18
  133. package/dist/utils/index.d.ts +0 -9
  134. package/dist/utils/index.js +0 -20
  135. /package/dist/assets/{ColorControl.css → index12.css} +0 -0
  136. /package/dist/assets/{EmptyContent.css → index3.css} +0 -0
  137. /package/dist/assets/{Section.css → index4.css} +0 -0
  138. /package/dist/assets/{ControlRenderer.css → index5.css} +0 -0
  139. /package/dist/assets/{SeparatorControl.css → index9.css} +0 -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}._input_icuc6_217{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:var(--dev-panel-input-border-width) solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);cursor:text}._input_icuc6_217::placeholder{color:var(--dev-panel-input-placeholder-color)}._input_icuc6_217:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover)}._input_icuc6_217:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._input_icuc6_217:disabled{opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color);cursor:not-allowed}._input_icuc6_217::placeholder{color:var(--dev-panel-input-placeholder-color);opacity:1}._input_icuc6_217[type=date]{cursor:pointer}._input_icuc6_217[type=date]::-webkit-calendar-picker-indicator{color:currentColor;filter:invert(1);cursor:pointer}._input_icuc6_217[type=date]::-moz-calendar-picker-indicator{color:currentColor;filter:invert(1);cursor:pointer}._input_icuc6_217[type=number]{-moz-appearance:textfield;appearance:textfield}._input_icuc6_217[type=number]::-webkit-outer-spin-button,._input_icuc6_217[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@@ -1 +1,32 @@
1
- export * from './BooleanControl';
1
+ import { BooleanControlProps } from './types';
2
+ /**
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
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * <BooleanControl control={{
16
+ * type: 'boolean',
17
+ * value: true,
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)
29
+ * }} />
30
+ * ```
31
+ */
32
+ export declare function BooleanControl({ control }: BooleanControlProps): React.ReactNode;
@@ -1,4 +1,26 @@
1
- import { BooleanControl as e } from "./BooleanControl.js";
1
+ import { jsxs as n, jsx as r } from "react/jsx-runtime";
2
+ import { useRef as c } from "react";
3
+ import '../../../../assets/index15.css';const l = "_slider_1rjjb_235", t = {
4
+ switch: "_switch_1rjjb_217",
5
+ slider: l
6
+ };
7
+ function d({ control: e }) {
8
+ const s = c(`boolean-control-${e.label || Math.ceil(Math.random() * 1e5)}`);
9
+ return /* @__PURE__ */ n("label", { className: t.switch, children: [
10
+ /* @__PURE__ */ r(
11
+ "input",
12
+ {
13
+ type: "checkbox",
14
+ id: s.current,
15
+ name: s.current,
16
+ checked: e.value,
17
+ disabled: e.disabled,
18
+ onChange: (a) => e.onChange(a.target.checked)
19
+ }
20
+ ),
21
+ /* @__PURE__ */ r("span", { className: t.slider })
22
+ ] });
23
+ }
2
24
  export {
3
- e as BooleanControl
25
+ d as BooleanControl
4
26
  };
@@ -1 +1,33 @@
1
- export * from './ButtonControl';
1
+ import { ButtonControlProps } from './types';
2
+ /**
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
+ * ```
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * <ButtonControl control={{
26
+ * type: 'button',
27
+ * label: 'Reset',
28
+ * onClick: () => console.log('Reset clicked'),
29
+ * disabled: true
30
+ * }} />
31
+ * ```
32
+ */
33
+ export declare function ButtonControl({ control }: ButtonControlProps): React.ReactNode;
@@ -1,4 +1,10 @@
1
- import { ButtonControl as r } from "./ButtonControl.js";
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import '../../../../assets/index14.css';const o = "_button_1h30c_217", s = {
3
+ button: o
4
+ };
5
+ function e({ control: t }) {
6
+ return /* @__PURE__ */ n("button", { onClick: t.onClick, disabled: t.disabled, className: s.button, children: t.label });
7
+ }
2
8
  export {
3
- r as ButtonControl
9
+ e as ButtonControl
4
10
  };
@@ -1 +1,37 @@
1
- export * from './ButtonGroupControl';
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
+ */
37
+ export declare function ButtonGroupControl({ control }: ButtonGroupControlProps): React.ReactNode;
@@ -1,4 +1,22 @@
1
- import { ButtonGroupControl as t } from "./ButtonGroupControl.js";
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { ButtonControl as e } from "../ButtonControl/index.js";
3
+ import '../../../../assets/index13.css';const i = "_buttonGroupContainer_1irhu_217", l = {
4
+ buttonGroupContainer: i
5
+ };
6
+ function p({ control: n }) {
7
+ return /* @__PURE__ */ t("div", { className: l.buttonGroupContainer, children: n.buttons.map((o, r) => /* @__PURE__ */ t(
8
+ e,
9
+ {
10
+ control: {
11
+ type: "button",
12
+ label: o.label,
13
+ onClick: o.onClick,
14
+ disabled: o.disabled
15
+ }
16
+ },
17
+ r
18
+ )) });
19
+ }
2
20
  export {
3
- t as ButtonGroupControl
21
+ p as ButtonGroupControl
4
22
  };
@@ -1 +1,23 @@
1
- export * from './ColorControl';
1
+ import { ColorControlProps } from './types';
2
+ /**
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
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * <ColorControl control={{
16
+ * type: 'color',
17
+ * value: '#ff0000',
18
+ * onChange: (value) => setColor(value),
19
+ * disabled: false
20
+ * }}/>
21
+ * ```
22
+ */
23
+ export declare function ColorControl({ control }: ColorControlProps): React.ReactNode;
@@ -1,4 +1,69 @@
1
- import { ColorControl as l } from "./ColorControl.js";
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/index.js";
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 = {
6
+ container: y,
7
+ colorPreview: x,
8
+ errorMessage: V
9
+ };
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,
53
+ {
54
+ type: "text",
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
+ }
62
+ }
63
+ ),
64
+ !s && r && /* @__PURE__ */ l("div", { className: c.errorMessage, children: "Invalid color format" })
65
+ ] });
66
+ }
2
67
  export {
3
- l as ColorControl
68
+ P as ColorControl
4
69
  };
@@ -1 +1,41 @@
1
- export * from './DateControl';
1
+ import { DateControlProps } from './types';
2
+ /**
3
+ * Component that renders a date control with configurable event handling
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
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * // Real-time updates
19
+ * <DateControl control={{
20
+ * type: 'date',
21
+ * value: '2025-07-26',
22
+ * min: '2025-01-01',
23
+ * max: '2025-12-31',
24
+ * event: 'onChange',
25
+ * onChange: (value) => setSelectedDate(value),
26
+ * disabled: false
27
+ * }} />
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Updates only when losing focus (default)
33
+ * <DateControl control={{
34
+ * type: 'date',
35
+ * value: '2025-07-26',
36
+ * event: 'onBlur',
37
+ * onChange: (value) => console.log('Date changed:', value)
38
+ * }} />
39
+ * ```
40
+ */
41
+ export declare function DateControl({ control }: DateControlProps): React.ReactNode;
@@ -1,4 +1,31 @@
1
- import { DateControl as t } from "./DateControl.js";
1
+ import { jsx as m } from "react/jsx-runtime";
2
+ import { useState as o, useEffect as s } from "react";
3
+ import { Input as r } from "../../../Input/index.js";
4
+ function h({ control: e }) {
5
+ const n = e.event || "onBlur", [l, t] = o(e.value);
6
+ function i(u) {
7
+ const a = u.target.value;
8
+ t(a), n === "onChange" && e.onChange(a);
9
+ }
10
+ function f(u) {
11
+ const a = u.target.value;
12
+ n === "onBlur" && e.onChange(a);
13
+ }
14
+ return s(() => {
15
+ t(e.value);
16
+ }, [e.value]), /* @__PURE__ */ m(
17
+ r,
18
+ {
19
+ type: "date",
20
+ value: l,
21
+ min: e.min,
22
+ max: e.max,
23
+ disabled: e.disabled,
24
+ onChange: i,
25
+ ...n === "onBlur" && { onBlur: f }
26
+ }
27
+ );
28
+ }
2
29
  export {
3
- t as DateControl
30
+ h as DateControl
4
31
  };
@@ -0,0 +1,2 @@
1
+ import { DragAndDropControlProps } from './types';
2
+ export declare function DragAndDropControl({ control }: DragAndDropControlProps): React.ReactNode;
@@ -0,0 +1,117 @@
1
+ import { jsxs as u, Fragment as k, jsx as r } from "react/jsx-runtime";
2
+ import { useState as n, useRef as R, useCallback as t } from "react";
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 = {
5
+ dropZone: I,
6
+ disabled: Z,
7
+ active: j,
8
+ supportedFormats: A,
9
+ dropText: P,
10
+ droppedFile: N,
11
+ droppedText: E,
12
+ errorMessage: L
13
+ };
14
+ function V({ control: s }) {
15
+ const [D, i] = n(!1), [o, f] = n(null), [v, b] = n(!0), [g, l] = n(""), c = R(null), _ = t(
16
+ (e) => {
17
+ if (!s.allowedFileTypes)
18
+ return !0;
19
+ const a = e.toLowerCase().substring(e.lastIndexOf("."));
20
+ return s.allowedFileTypes.some((m) => m.toLowerCase() === a);
21
+ },
22
+ [s.allowedFileTypes]
23
+ ), p = t(
24
+ (e) => {
25
+ if (s.allowedFileTypes && !_(e.name)) {
26
+ l(`File type not allowed.
27
+ Supported formats: ${s.allowedFileTypes.join(", ")}`), i(!1);
28
+ return;
29
+ }
30
+ l("");
31
+ const a = new FileReader();
32
+ a.onload = () => {
33
+ i(!1);
34
+ const F = {
35
+ base64: a.result,
36
+ file: e,
37
+ name: e.name,
38
+ size: e.size,
39
+ type: e.type,
40
+ lastModified: e.lastModified,
41
+ webkitRelativePath: e.webkitRelativePath
42
+ };
43
+ f(F), b(!1), s.onDrop(F);
44
+ }, a.readAsDataURL(e);
45
+ },
46
+ [s, _, l, f, b, i]
47
+ ), h = t(() => {
48
+ !o && c.current && !s.disabled && c.current.click();
49
+ }, [o, s.disabled]), T = t(
50
+ (e) => {
51
+ const a = e.target.files;
52
+ a && a.length > 0 && p(a[0]), e.target.value = "";
53
+ },
54
+ [p]
55
+ ), w = t(
56
+ (e) => {
57
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!0), l(""));
58
+ },
59
+ [s.disabled]
60
+ ), y = t(
61
+ (e) => {
62
+ if (s.disabled) return;
63
+ e.preventDefault(), e.stopPropagation();
64
+ const a = e.dataTransfer.files;
65
+ a.length > 0 && p(a[0]);
66
+ },
67
+ [p, s.disabled]
68
+ ), x = t(
69
+ (e) => {
70
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!0), l(""));
71
+ },
72
+ [s.disabled]
73
+ ), C = t(
74
+ (e) => {
75
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!1));
76
+ },
77
+ [s.disabled]
78
+ );
79
+ return /* @__PURE__ */ u(k, { children: [
80
+ /* @__PURE__ */ r(
81
+ "input",
82
+ {
83
+ ref: c,
84
+ type: "file",
85
+ style: { display: "none" },
86
+ accept: s.allowedFileTypes?.join(","),
87
+ onChange: T,
88
+ disabled: s.disabled
89
+ }
90
+ ),
91
+ /* @__PURE__ */ r(
92
+ "div",
93
+ {
94
+ ...M(d.dropZone, {
95
+ [d.active]: D,
96
+ [d.disabled]: !!s.disabled
97
+ }),
98
+ onDragEnter: w,
99
+ onDragOver: x,
100
+ onDragLeave: C,
101
+ onDrop: y,
102
+ onClick: h,
103
+ children: g ? /* @__PURE__ */ r("div", { className: d.errorMessage, children: /* @__PURE__ */ r("p", { children: g }) }) : o ? /* @__PURE__ */ r("div", { className: d.droppedFile, children: /* @__PURE__ */ u("p", { className: d.droppedText, children: [
104
+ "Dropped '",
105
+ o.name,
106
+ "'"
107
+ ] }) }) : v ? /* @__PURE__ */ u("div", { children: [
108
+ /* @__PURE__ */ r("p", { className: d.dropText, children: "Drag & Drop a file here or click to browse" }),
109
+ /* @__PURE__ */ r("p", { className: d.supportedFormats, children: s.allowedFileTypes ? `Supported formats: ${s.allowedFileTypes.join(", ")}` : "All file types are supported" })
110
+ ] }) : null
111
+ }
112
+ )
113
+ ] });
114
+ }
115
+ export {
116
+ V as DragAndDropControl
117
+ };
@@ -0,0 +1,20 @@
1
+ import { BaseControl } from '../types';
2
+ export type FileInfo = {
3
+ name: string;
4
+ size: number;
5
+ type: string;
6
+ file: File;
7
+ base64: string;
8
+ lastModified: number;
9
+ webkitRelativePath: string;
10
+ };
11
+
12
+ export interface DragAndDropControl extends BaseControl {
13
+ type: "dragAndDrop";
14
+ onDrop: (value: FileInfo) => void;
15
+ allowedFileTypes?: string[];
16
+ }
17
+
18
+ export interface DragAndDropControlProps {
19
+ control: DragAndDropControl;
20
+ }
@@ -1 +1,28 @@
1
- export * from './MultiSelectControl';
1
+ import { MultiSelectControlProps } from './types';
2
+ /**
3
+ * Component that renders a multi-select control with checkbox options
4
+ *
5
+ * @param props - The component props
6
+ * @param props.control - The multi-select control configuration object
7
+ * @param props.control.type - The control type, must be 'multiselect'
8
+ * @param props.control.value - Array of currently selected option values
9
+ * @param props.control.options - Array of available options (strings or objects with label/value)
10
+ * @param props.control.onChange - Callback function triggered when selection changes
11
+ * @param props.control.disabled - Optional flag to disable the control
12
+ * @returns JSX element representing the multi-select control
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * <MultiSelectControl control={{
17
+ * type: 'multiselect',
18
+ * value: ['red', 'blue'],
19
+ * options: [
20
+ * { label: 'Red Color', value: 'red' },
21
+ * { label: 'Blue Color', value: 'blue' },
22
+ * { label: 'Green Color', value: 'green' }
23
+ * ],
24
+ * onChange: (values) => setSelectedColors(values)
25
+ * }} />
26
+ * ```
27
+ */
28
+ export declare function MultiSelectControl({ control }: MultiSelectControlProps): React.ReactNode;
@@ -1,4 +1,18 @@
1
- import { MultiSelectControl as e } from "./MultiSelectControl.js";
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { Select as i } from "../../../Select/index.js";
3
+ function p({ control: e }) {
4
+ return /* @__PURE__ */ o(
5
+ i,
6
+ {
7
+ multiple: !0,
8
+ value: e.value,
9
+ options: e.options,
10
+ disabled: e.disabled,
11
+ placeholder: "Select options...",
12
+ onChange: (t) => e.onChange(t)
13
+ }
14
+ );
15
+ }
2
16
  export {
3
- e as MultiSelectControl
17
+ p as MultiSelectControl
4
18
  };
@@ -1 +1,45 @@
1
- export * from './NumberControl';
1
+ import { NumberControlProps } from './types';
2
+ /**
3
+ * Component that renders a number control with configurable event handling
4
+ *
5
+ * @param props - The component props
6
+ * @param props.control - The number control configuration object
7
+ * @param props.control.type - The control type, must be 'number'
8
+ * @param props.control.value - The current numeric value
9
+ * @param props.control.min - Optional minimum allowed value
10
+ * @param props.control.max - Optional maximum allowed value
11
+ * @param props.control.step - Optional step increment for the number input (defaults to 1)
12
+ * @param props.control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onChange"
13
+ * @param props.control.onChange - Callback function triggered when numeric value changes
14
+ * @param props.control.disabled - Optional flag to disable the control
15
+ * @returns JSX element representing the number input control
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // Real-time updates with constraints
20
+ * <NumberControl control={{
21
+ * type: 'number',
22
+ * value: 50,
23
+ * min: 0,
24
+ * max: 100,
25
+ * step: 5,
26
+ * event: 'onChange',
27
+ * onChange: (value) => setProgress(value),
28
+ * disabled: false
29
+ * }} />
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * // Updates only when losing focus
35
+ * <NumberControl control={{
36
+ * type: 'number',
37
+ * value: 42,
38
+ * min: 1,
39
+ * step: 0.1,
40
+ * event: 'onBlur',
41
+ * onChange: (value) => console.log('Value changed:', value)
42
+ * }} />
43
+ * ```
44
+ */
45
+ export declare function NumberControl({ control }: NumberControlProps): React.ReactNode;
@@ -1,4 +1,32 @@
1
- import { NumberControl as e } from "./NumberControl.js";
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import { useState as r, useEffect as f } from "react";
3
+ import { Input as p } from "../../../Input/index.js";
4
+ function v({ control: e }) {
5
+ const n = e.event || "onChange", [m, t] = r(e.value);
6
+ function l(u) {
7
+ const a = Number(u.target.value);
8
+ t(a), n === "onChange" && e.onChange(a);
9
+ }
10
+ function i(u) {
11
+ const a = Number(u.target.value);
12
+ n === "onBlur" && e.onChange(a);
13
+ }
14
+ return f(() => {
15
+ t(e.value);
16
+ }, [e.value]), /* @__PURE__ */ s(
17
+ p,
18
+ {
19
+ type: "number",
20
+ value: m,
21
+ min: e.min,
22
+ max: e.max,
23
+ step: e.step,
24
+ disabled: e.disabled,
25
+ onChange: l,
26
+ ...n === "onBlur" && { onBlur: i }
27
+ }
28
+ );
29
+ }
2
30
  export {
3
- e as NumberControl
31
+ v as NumberControl
4
32
  };