@berenjena/react-dev-panel 1.0.4 → 2.1.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/index10.css +1 -0
  4. package/dist/assets/index11.css +1 -0
  5. package/dist/assets/index12.css +1 -0
  6. package/dist/assets/index13.css +1 -0
  7. package/dist/assets/index2.css +1 -1
  8. package/dist/assets/index3.css +1 -0
  9. package/dist/assets/index4.css +1 -0
  10. package/dist/assets/index5.css +1 -0
  11. package/dist/assets/index6.css +1 -0
  12. package/dist/assets/index7.css +1 -0
  13. package/dist/assets/index8.css +1 -0
  14. package/dist/assets/index9.css +1 -0
  15. package/dist/components/ControlRenderer/controls/BooleanControl/index.d.ts +32 -1
  16. package/dist/components/ControlRenderer/controls/BooleanControl/index.js +24 -2
  17. package/dist/components/ControlRenderer/controls/ButtonControl/index.d.ts +33 -1
  18. package/dist/components/ControlRenderer/controls/ButtonControl/index.js +8 -2
  19. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.d.ts +37 -1
  20. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.js +20 -2
  21. package/dist/components/ControlRenderer/controls/ColorControl/index.d.ts +23 -1
  22. package/dist/components/ControlRenderer/controls/ColorControl/index.js +67 -2
  23. package/dist/components/ControlRenderer/controls/ColorControl/types.d.ts +14 -0
  24. package/dist/components/ControlRenderer/controls/DateControl/index.d.ts +41 -1
  25. package/dist/components/ControlRenderer/controls/DateControl/index.js +29 -2
  26. package/dist/components/ControlRenderer/controls/MultiSelectControl/index.d.ts +28 -0
  27. package/dist/components/ControlRenderer/controls/MultiSelectControl/index.js +18 -0
  28. package/dist/components/ControlRenderer/controls/MultiSelectControl/types.d.ts +11 -0
  29. package/dist/components/ControlRenderer/controls/NumberControl/index.d.ts +45 -1
  30. package/dist/components/ControlRenderer/controls/NumberControl/index.js +30 -2
  31. package/dist/components/ControlRenderer/controls/RangeControl/index.d.ts +46 -1
  32. package/dist/components/ControlRenderer/controls/RangeControl/index.js +38 -2
  33. package/dist/components/ControlRenderer/controls/SelectControl/index.d.ts +39 -1
  34. package/dist/components/ControlRenderer/controls/SelectControl/index.js +6 -2
  35. package/dist/components/ControlRenderer/controls/SeparatorControl/index.d.ts +39 -1
  36. package/dist/components/ControlRenderer/controls/SeparatorControl/index.js +12 -2
  37. package/dist/components/ControlRenderer/controls/TextControl/index.d.ts +40 -1
  38. package/dist/components/ControlRenderer/controls/TextControl/index.js +28 -2
  39. package/dist/components/ControlRenderer/controls/index.d.ts +2 -0
  40. package/dist/components/ControlRenderer/controls/index.js +1 -0
  41. package/dist/components/ControlRenderer/controls/types.d.ts +2 -0
  42. package/dist/components/ControlRenderer/index.d.ts +6 -1
  43. package/dist/components/ControlRenderer/index.js +50 -2
  44. package/dist/components/DevPanel/index.d.ts +11 -1
  45. package/dist/components/DevPanel/index.js +69 -2
  46. package/dist/components/DevPanel/types.d.ts +36 -5
  47. package/dist/components/DevPanelPortal/index.d.ts +9 -0
  48. package/dist/components/DevPanelPortal/index.js +17 -0
  49. package/dist/components/EmptyContent/index.d.ts +1 -1
  50. package/dist/components/EmptyContent/index.js +17 -2
  51. package/dist/components/Icon/index.d.ts +16 -0
  52. package/dist/components/Icon/index.js +31 -0
  53. package/dist/components/Input/index.d.ts +1 -1
  54. package/dist/components/Input/index.js +8 -2
  55. package/dist/components/Section/index.d.ts +7 -1
  56. package/dist/components/Section/index.js +23 -2
  57. package/dist/components/Select/index.d.ts +15 -1
  58. package/dist/components/Select/index.js +176 -2
  59. package/dist/components/index.d.ts +3 -2
  60. package/dist/components/index.js +8 -6
  61. package/dist/hooks/useDebounceCallback/index.d.ts +8 -1
  62. package/dist/hooks/useDebounceCallback/index.js +15 -2
  63. package/dist/hooks/useDevPanel/index.d.ts +29 -1
  64. package/dist/hooks/useDevPanel/index.js +22 -2
  65. package/dist/hooks/useDragAndDrop/index.d.ts +20 -1
  66. package/dist/hooks/useDragAndDrop/index.js +53 -2
  67. package/dist/hooks/{useHotkeys/useHotkey.d.ts → useHotKey/index.d.ts} +1 -1
  68. package/dist/hooks/{useHotkeys/useHotkey.js → useHotKey/index.js} +1 -1
  69. package/dist/hooks/useHotkeys/index.d.ts +37 -2
  70. package/dist/hooks/useHotkeys/index.js +29 -4
  71. package/dist/index.d.ts +0 -1
  72. package/dist/index.js +2 -8
  73. package/dist/managers/DevPanelManager.d.ts +85 -0
  74. package/dist/managers/DevPanelManager.js +119 -0
  75. package/dist/store/SectionsStore.js +112 -5
  76. package/dist/store/UIStore.d.ts +78 -2
  77. package/dist/store/UIStore.js +176 -9
  78. package/dist/utils/getPositionAdjustment/getPositionAdjustment.d.ts +3 -2
  79. package/dist/utils/getPositionAdjustment/getPositionAdjustment.js +1 -4
  80. package/package.json +53 -30
  81. package/dist/UIStore-CQdr4U-2.js +0 -227
  82. package/dist/assets/BooleanControl.css +0 -1
  83. package/dist/assets/ButtonControl.css +0 -1
  84. package/dist/assets/ButtonGroupControl.css +0 -1
  85. package/dist/assets/ColorControl.css +0 -1
  86. package/dist/assets/ControlRenderer.css +0 -1
  87. package/dist/assets/DevPanel.css +0 -1
  88. package/dist/assets/EmptyContent.css +0 -1
  89. package/dist/assets/Input.css +0 -1
  90. package/dist/assets/RangeControl.css +0 -1
  91. package/dist/assets/Section.css +0 -1
  92. package/dist/assets/Select.css +0 -1
  93. package/dist/assets/SeparatorControl.css +0 -1
  94. package/dist/components/ControlRenderer/ControlRenderer.d.ts +0 -6
  95. package/dist/components/ControlRenderer/ControlRenderer.js +0 -32
  96. package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.d.ts +0 -16
  97. package/dist/components/ControlRenderer/controls/BooleanControl/BooleanControl.js +0 -24
  98. package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.d.ts +0 -16
  99. package/dist/components/ControlRenderer/controls/ButtonControl/ButtonControl.js +0 -10
  100. package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.d.ts +0 -2
  101. package/dist/components/ControlRenderer/controls/ButtonGroupControl/ButtonGroupControl.js +0 -22
  102. package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.d.ts +0 -16
  103. package/dist/components/ControlRenderer/controls/ColorControl/ColorControl.js +0 -27
  104. package/dist/components/ControlRenderer/controls/DateControl/DateControl.d.ts +0 -29
  105. package/dist/components/ControlRenderer/controls/DateControl/DateControl.js +0 -31
  106. package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.d.ts +0 -30
  107. package/dist/components/ControlRenderer/controls/NumberControl/NumberControl.js +0 -32
  108. package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.d.ts +0 -30
  109. package/dist/components/ControlRenderer/controls/RangeControl/RangeControl.js +0 -40
  110. package/dist/components/ControlRenderer/controls/SelectControl/SelectControl.d.ts +0 -15
  111. package/dist/components/ControlRenderer/controls/SelectControl/SelectControl.js +0 -11
  112. package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.d.ts +0 -30
  113. package/dist/components/ControlRenderer/controls/SeparatorControl/SeparatorControl.js +0 -14
  114. package/dist/components/ControlRenderer/controls/TextControl/TextControl.d.ts +0 -29
  115. package/dist/components/ControlRenderer/controls/TextControl/TextControl.js +0 -30
  116. package/dist/components/DevPanel/DevPanel.d.ts +0 -11
  117. package/dist/components/DevPanel/DevPanel.js +0 -67
  118. package/dist/components/EmptyContent/EmptyContent.d.ts +0 -1
  119. package/dist/components/EmptyContent/EmptyContent.js +0 -18
  120. package/dist/components/Input/Input.d.ts +0 -1
  121. package/dist/components/Input/Input.js +0 -10
  122. package/dist/components/Logger/index.d.ts +0 -20
  123. package/dist/components/Logger/index.js +0 -85
  124. package/dist/components/Section/Section.d.ts +0 -7
  125. package/dist/components/Section/Section.js +0 -24
  126. package/dist/components/Select/Select.d.ts +0 -1
  127. package/dist/components/Select/Select.js +0 -10
  128. package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +0 -8
  129. package/dist/hooks/useDebounceCallback/useDebounceCallback.js +0 -17
  130. package/dist/hooks/useDevPanel/useDevPanel.d.ts +0 -24
  131. package/dist/hooks/useDevPanel/useDevPanel.js +0 -15
  132. package/dist/hooks/useDragAndDrop/useDragAndDrop.d.ts +0 -16
  133. package/dist/hooks/useDragAndDrop/useDragAndDrop.js +0 -55
  134. package/dist/hooks/useHotkeys/useHotkeys.d.ts +0 -37
  135. package/dist/hooks/useHotkeys/useHotkeys.js +0 -31
  136. package/dist/store/index.d.ts +0 -3
  137. package/dist/store/index.js +0 -13
  138. package/dist/utils/index.d.ts +0 -9
  139. package/dist/utils/index.js +0 -20
@@ -1 +0,0 @@
1
- ._button_1cetu_1{width:100%;min-height:var(--dev-panel-inputs-height);padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-sm);border:none;border-radius:4px;font-size:11px;font-weight:500;background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-highlight);cursor:pointer;transition:var(--dev-panel-transition)}._button_1cetu_1:hover:not(:disabled){background-color:color-mix(in srgb,var(--dev-panel-accent-color) 80%,transparent)}._button_1cetu_1:disabled{background-color:color-mix(in srgb,var(--dev-panel-accent-color) 20%,var(--dev-panel-background-color));cursor:not-allowed}
@@ -1 +0,0 @@
1
- ._buttonGroupContainer_99d3t_1{width:100%;display:grid;grid-auto-columns:1fr;grid-auto-flow:column;gap:1px}._buttonGroupContainer_99d3t_1 button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}._buttonGroupContainer_99d3t_1 button:not(:last-child):not(:first-child){border-radius:0}._buttonGroupContainer_99d3t_1 button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}
@@ -1 +0,0 @@
1
- ._container_ds1no_1{display:grid;grid-template-columns:var(--dev-panel-inputs-height) 1fr;gap:8px}._container_ds1no_1 label{overflow:hidden;width:auto;height:var(--dev-panel-inputs-height);cursor:pointer;border-radius:var(--dev-panel-border-radius)}._container_ds1no_1 input[type=color]{background:none;border:0;width:150%;height:150%;margin:-25%}._container_ds1no_1 input[type=color]:focus{border-radius:0;outline:none}
@@ -1 +0,0 @@
1
- ._controlRendererContainer_eix3y_1{gap:var(--dev-panel-spacing-xs);display:grid}._controlRendererContainer_eix3y_1 ._controlContainer_eix3y_5{gap:var(--dev-panel-spacing-sm);display:grid;height:100%;align-items:center;overflow:hidden;color:var(--dev-panel-text-color)}._controlRendererContainer_eix3y_1 ._controlContainer_eix3y_5:not(._fullWidth_eix3y_13){grid-template-columns:100px 1fr}._controlRendererContainer_eix3y_1 ._controlContainer_eix3y_5 ._controlWrapper_eix3y_16{display:flex;justify-content:flex-end}._controlRendererContainer_eix3y_1 ._controlContainer_eix3y_5 ._label_eix3y_20{text-align:start;font-weight:500;font-size:var(--dev-panel-font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._controlRendererContainer_eix3y_1 ._description_eix3y_28,._controlRendererContainer_eix3y_1 ._loading_eix3y_29{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color-muted)}._controlRendererContainer_eix3y_1 ._description_eix3y_28{text-align:right}
@@ -1 +0,0 @@
1
- ._devPanelContainer_1vath_1{position:fixed;z-index:9998;border-radius:var(--dev-panel-border-radius);box-shadow:0 8px 24px #0003;width:var(--dev-panel-max-width);max-height:var(--dev-panel-max-height);overflow:hidden;user-select:none;font-family:var(--dev-panel-font-family)}._devPanelContainer_1vath_1 ._header_1vath_12{display:flex;align-items:center;justify-content:space-between;padding:var(--dev-panel-spacing-xs);background:var(--dev-panel-foreground-color);cursor:move;color:var(--dev-panel-text-color)}._devPanelContainer_1vath_1 ._title_1vath_21{font-size:var(--dev-panel-font-size-xs);font-weight:600;display:flex;align-items:center;gap:var(--dev-panel-spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._devPanelContainer_1vath_1 ._button_1vath_31{background:none;border:none;color:inherit;font-size:var(--dev-panel-font-size-sm);cursor:pointer;padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-sm);border-radius:4px;transition:all .2s ease}._devPanelContainer_1vath_1 ._button_1vath_31:hover{background:var(--dev-panel-highlight-color);color:#333}._devPanelContainer_1vath_1 ._button_1vath_31:active{transform:scale(.95)}._devPanelContainer_1vath_1 ._button_1vath_31>svg{display:block;height:1rem;transition:transform ease .2s}._devPanelContainer_1vath_1 ._button_1vath_31>svg._collapsed_1vath_53{transform:rotate(180deg)}._devPanelContainer_1vath_1 ._button_1vath_31>svg path{fill:currentColor}._content_1vath_60{max-height:calc(var(--dev-panel-max-height) - 48px);overflow-y:auto;background-color:var(--dev-panel-background-color)}._content_1vath_60::-webkit-scrollbar{width:6px}._content_1vath_60::-webkit-scrollbar-track{background:#f1f1f1}._content_1vath_60::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}._content_1vath_60::-webkit-scrollbar-thumb:hover{background:#a8a8a8}
@@ -1 +0,0 @@
1
- ._empty_1xo8g_1{text-align:center;color:#888;font-size:12px;padding:30px 0}._empty_1xo8g_1 code{background:#f8f9fa;padding:2px 4px;border-radius:3px}@media (prefers-color-scheme: dark){._empty_1xo8g_1{color:#b0b0b0}._empty_1xo8g_1 code{background:#333;color:#e0e0e0}}
@@ -1 +0,0 @@
1
- ._input_161wd_1{width:100%;height:var(--dev-panel-inputs-height);border:0;border-radius:var(--dev-panel-border-radius);cursor:pointer;padding:0;background-color:transparent;color:var(--dev-panel-text-color-highlight)}._input_161wd_1:last-of-type{background-color:var(--dev-panel-input-background-color);padding-left:var(--dev-panel-spacing-xs)}._input_161wd_1:focus{outline:none}._input_161wd_1:disabled{cursor:not-allowed;opacity:.6}._input_161wd_1::placeholder{color:var(--dev-panel-text-color-muted)}._input_161wd_1[type=date]::-webkit-calendar-picker-indicator{color:currentColor;opacity:1;filter:invert(1)}._input_161wd_1[type=date]::-moz-calendar-picker-indicator{color:currentColor;opacity:1}
@@ -1 +0,0 @@
1
- ._container_1ewrb_1{display:grid;grid-template-columns:1fr auto;gap:var(--dev-panel-spacing-sm);align-items:center;width:100%}._range_1ewrb_9{-webkit-appearance:none;appearance:none;width:100%;height:4px;border-radius:2px;background:var(--dev-panel-input-background-color);outline:none;cursor:pointer;transition:var(--dev-panel-transition)}._range_1ewrb_9::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--dev-panel-accent-color);cursor:pointer;border:2px solid var(--dev-panel-background-color);box-shadow:0 1px 3px #0003;transition:var(--dev-panel-transition)}._range_1ewrb_9::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}._range_1ewrb_9::-webkit-slider-thumb:active{transform:scale(.95)}._range_1ewrb_9::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--dev-panel-accent-color);cursor:pointer;border:2px solid var(--dev-panel-background-color);box-shadow:0 1px 3px #0003;transition:var(--dev-panel-transition)}._range_1ewrb_9::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}._range_1ewrb_9::-moz-range-thumb:active{transform:scale(.95)}._range_1ewrb_9::-moz-range-track{width:100%;height:4px;border-radius:2px;background:var(--dev-panel-input-background-color);border:none}._range_1ewrb_9::-ms-track{width:100%;height:4px;background:transparent;border-color:transparent;color:transparent}._range_1ewrb_9::-ms-fill-lower{background:var(--dev-panel-accent-color);border-radius:2px}._range_1ewrb_9::-ms-fill-upper{background:var(--dev-panel-input-background-color);border-radius:2px}._range_1ewrb_9::-ms-thumb{width:16px;height:16px;border-radius:50%;background:var(--dev-panel-accent-color);cursor:pointer;border:2px solid var(--dev-panel-background-color);box-shadow:0 1px 3px #0003}._range_1ewrb_9:disabled{cursor:not-allowed;opacity:.6}._range_1ewrb_9:disabled::-webkit-slider-thumb{cursor:not-allowed;background:var(--dev-panel-text-color-muted)}._range_1ewrb_9:disabled::-moz-range-thumb{cursor:not-allowed;background:var(--dev-panel-text-color-muted)}._range_1ewrb_9:disabled::-ms-thumb{cursor:not-allowed;background:var(--dev-panel-text-color-muted)}._range_1ewrb_9:focus{outline:none}._range_1ewrb_9:focus::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(var(--dev-panel-accent-color-rgb),.3)}._range_1ewrb_9:focus::-moz-range-thumb{box-shadow:0 0 0 3px rgba(var(--dev-panel-accent-color-rgb),.3)}._range_1ewrb_9:focus::-ms-thumb{box-shadow:0 0 0 3px rgba(var(--dev-panel-accent-color-rgb),.3)}._value_1ewrb_116{font-size:var(--dev-panel-font-size-xs);color:var(--dev-panel-text-color);font-weight:500;min-width:2ch;text-align:right;user-select:none}
@@ -1 +0,0 @@
1
- ._section_1vgul_1{padding:var(--dev-panel-spacing-sm);overflow:hidden}._section_1vgul_1:last-child{margin-bottom:0}._section_1vgul_1 ._header_1vgul_8{display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .2s ease}._section_1vgul_1 ._header_1vgul_8 ._title_1vgul_15{font-size:11px;font-weight:600;color:var(--dev-panel-text-color)}._section_1vgul_1 ._header_1vgul_8 ._toggle_1vgul_20{font-size:10px;color:var(--dev-panel-border-color)}._section_1vgul_1 ._header_1vgul_8 ._toggle_1vgul_20>svg{display:block;height:1rem;transition:transform .2s ease}._section_1vgul_1 ._header_1vgul_8 ._toggle_1vgul_20>svg._collapsed_1vgul_29{transform:rotate(90deg)}._section_1vgul_1 ._header_1vgul_8 ._toggle_1vgul_20>svg path{fill:currentColor}._section_1vgul_1 ._content_1vgul_35{position:relative;padding:var(--dev-panel-spacing-sm) 0 0 var(--dev-panel-spacing-sm);display:grid;grid-template-columns:100%;gap:var(--dev-panel-spacing-sm);transition:opacity .25s}._section_1vgul_1 ._content_1vgul_35:after{content:"";position:absolute;left:0;bottom:0;width:2px;height:calc(100% - var(--dev-panel-spacing-sm));background-color:var(--dev-panel-border-color);transform:translate(-50%)}@media (prefers-color-scheme: dark){._section_1vgul_1,._section_1vgul_1 ._header_1vgul_8{border-color:#555}._section_1vgul_1 ._header_1vgul_8 ._title_1vgul_15{color:#e0e0e0}._section_1vgul_1 ._toggle_1vgul_20{color:#b0b0b0}}
@@ -1 +0,0 @@
1
- ._select_12f91_1{width:100%;height:var(--dev-panel-inputs-height);border:0;border-radius:var(--dev-panel-border-radius);cursor:pointer;padding:0;background-color:transparent;color:var(--dev-panel-text-color-highlight)}._select_12f91_1:last-of-type{background-color:var(--dev-panel-input-background-color);padding-left:var(--dev-panel-spacing-xs)}._select_12f91_1:focus{outline:none}._select_12f91_1:disabled{cursor:not-allowed;opacity:.6}._select_12f91_1::placeholder{color:var(--dev-panel-text-color-muted)}
@@ -1 +0,0 @@
1
- ._line_12cvo_1{width:100%;height:1px;background-color:var(--dev-panel-border-color);margin:var(--dev-panel-spacing-sm) 0;opacity:.3}._space_12cvo_9{height:var(--dev-panel-spacing-md);width:100%}._labelContainer_12cvo_14{display:flex;align-items:center;margin:var(--dev-panel-spacing-md) 0 var(--dev-panel-spacing-sm) 0;position:relative}._labelContainer_12cvo_14:before{content:"";flex:1;height:1px;background-color:var(--dev-panel-border-color);opacity:.3;margin-right:var(--dev-panel-spacing-sm)}._labelContainer_12cvo_14:after{content:"";flex:1;height:1px;background-color:var(--dev-panel-border-color);opacity:.3;margin-left:var(--dev-panel-spacing-sm)}._label_12cvo_14{font-size:var(--dev-panel-font-size-xs);font-weight:600;color:var(--dev-panel-text-color-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;padding:0 var(--dev-panel-spacing-xs)}
@@ -1,6 +0,0 @@
1
- import { ControlsNames } from './controls/types';
2
- import { ControlRendererProps } from './types';
3
- /**
4
- * Component that renders different types of controls based on the control type
5
- */
6
- export declare function ControlRenderer<Name extends ControlsNames>({ name, control }: ControlRendererProps<Name>): import("react/jsx-runtime").JSX.Element;
@@ -1,32 +0,0 @@
1
- import { jsxs as t, jsx as n } from "react/jsx-runtime";
2
- import { Suspense as a } from "react";
3
- import { className as c } from "../../utils/className/className.js";
4
- import { controls as d } from "./controls/index.js";
5
- import '../../assets/ControlRenderer.css';const p = "_controlRendererContainer_eix3y_1", _ = "_controlContainer_eix3y_5", m = "_fullWidth_eix3y_13", u = "_controlWrapper_eix3y_16", y = "_label_eix3y_20", f = "_description_eix3y_28", C = "_loading_eix3y_29", r = {
6
- controlRendererContainer: p,
7
- controlContainer: _,
8
- fullWidth: m,
9
- controlWrapper: u,
10
- label: y,
11
- description: f,
12
- loading: C
13
- }, h = ["button", "buttonGroup", "separator"];
14
- function v({ name: i, control: e }) {
15
- const l = e?.label || i;
16
- function s() {
17
- if (!e || !e.type)
18
- return /* @__PURE__ */ n("div", { className: r.error, children: "Control type is not defined" });
19
- const o = d[e.type];
20
- return o ? /* @__PURE__ */ n(a, { fallback: /* @__PURE__ */ n("div", { className: r.loading, children: "Loading control..." }), children: /* @__PURE__ */ n(o, { control: e }) }) : /* @__PURE__ */ n("div", { children: "Unknown control type" });
21
- }
22
- return /* @__PURE__ */ t("div", { className: r.controlRendererContainer, children: [
23
- /* @__PURE__ */ t("div", { ...c(r.controlContainer, { [r.fullWidth]: h.includes(e.type) }), children: [
24
- e?.type !== "button" && e?.type !== "separator" && /* @__PURE__ */ n("label", { className: r.label, children: l }),
25
- /* @__PURE__ */ n("div", { className: r.controlWrapper, children: s() })
26
- ] }),
27
- e?.description && /* @__PURE__ */ n("span", { className: r.description, children: e.description })
28
- ] });
29
- }
30
- export {
31
- v as ControlRenderer
32
- };
@@ -1,16 +0,0 @@
1
- import { BooleanControlProps } from './types';
2
- /**
3
- * Component that renders a boolean control
4
- * @param control - The control to render
5
- * @returns The boolean control component
6
- *
7
- * @example
8
- * ```typescript
9
- * <BooleanControl control={{
10
- * type: 'boolean',
11
- * value: true,
12
- * onChange: (value) => setValue(value)
13
- * }} />
14
- * ```
15
- */
16
- export declare function BooleanControl({ control }: BooleanControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,24 +0,0 @@
1
- import { jsxs as i, jsx as a } from "react/jsx-runtime";
2
- import { className as l } from "../../../../utils/className/className.js";
3
- import '../../../../assets/BooleanControl.css';const t = "_slider_1i71a_25", e = {
4
- switch: "_switch_1i71a_1",
5
- slider: t
6
- };
7
- function r({ control: s }) {
8
- return /* @__PURE__ */ i("label", { className: e.switch, children: [
9
- /* @__PURE__ */ a(
10
- "input",
11
- {
12
- type: "checkbox",
13
- checked: s.value,
14
- disabled: s.disabled,
15
- onChange: (c) => s.onChange(c.target.checked),
16
- className: e.checkbox
17
- }
18
- ),
19
- /* @__PURE__ */ a("span", { ...l(e.slider, e.round) })
20
- ] });
21
- }
22
- export {
23
- r as BooleanControl
24
- };
@@ -1,16 +0,0 @@
1
- import { ButtonControlProps } from './types';
2
- /**
3
- * Component that renders a button control
4
- * @param control - The control to render
5
- * @returns The button control component
6
- *
7
- * @example
8
- * ```typescript
9
- * <ButtonControl control={{
10
- * type: 'button',
11
- * label: 'Click me',
12
- * onClick: () => console.log('Button clicked')
13
- * }} />
14
- * ```
15
- */
16
- export declare function ButtonControl({ control }: ButtonControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,10 +0,0 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import '../../../../assets/ButtonControl.css';const o = "_button_1cetu_1", e = {
3
- button: o
4
- };
5
- function u({ control: t }) {
6
- return /* @__PURE__ */ n("button", { onClick: t.onClick, disabled: t.disabled, className: e.button, children: t.label });
7
- }
8
- export {
9
- u as ButtonControl
10
- };
@@ -1,2 +0,0 @@
1
- import { ButtonGroupControlProps } from './types';
2
- export declare function ButtonGroupControl({ control }: ButtonGroupControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,22 +0,0 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { ButtonControl as e } from "../ButtonControl/ButtonControl.js";
3
- import '../../../../assets/ButtonGroupControl.css';const l = "_buttonGroupContainer_99d3t_1", i = {
4
- buttonGroupContainer: l
5
- };
6
- function p({ control: n }) {
7
- return /* @__PURE__ */ t("div", { className: i.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
- }
20
- export {
21
- p as ButtonGroupControl
22
- };
@@ -1,16 +0,0 @@
1
- import { ColorControlProps } from './types';
2
- /**
3
- * Component that renders a color control
4
- * @param control - The control to render
5
- * @returns The color control component
6
- *
7
- * @example
8
- * ```typescript
9
- * <ColorControl control={{
10
- * type: 'color',
11
- * value: '#000000',
12
- * onChange: (value) => setValue(value)
13
- * }} />
14
- * ```
15
- */
16
- export declare function ColorControl({ control }: ColorControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,27 +0,0 @@
1
- import { jsxs as r, jsx as n } from "react/jsx-runtime";
2
- import { Input as o } from "../../../Input/Input.js";
3
- import { useDebouncedCallback as d } from "../../../../hooks/useDebounceCallback/useDebounceCallback.js";
4
- import '../../../../assets/ColorControl.css';const s = "_container_ds1no_1", i = {
5
- container: s
6
- };
7
- function C({ control: e }) {
8
- const l = d(e.onChange, 100), t = (a) => {
9
- l(a.target.value);
10
- };
11
- return /* @__PURE__ */ r("div", { className: i.container, children: [
12
- /* @__PURE__ */ n("label", { children: /* @__PURE__ */ n(o, { type: "color", value: e.value, disabled: e.disabled, onChange: t }) }),
13
- /* @__PURE__ */ n(
14
- o,
15
- {
16
- type: "text",
17
- value: e.value,
18
- disabled: e.disabled,
19
- onChange: (a) => e.onChange(a.target.value),
20
- placeholder: "Enter color value"
21
- }
22
- )
23
- ] });
24
- }
25
- export {
26
- C as ColorControl
27
- };
@@ -1,29 +0,0 @@
1
- import { DateControlProps } from './types';
2
- /**
3
- * Component that renders a date control with configurable event handling
4
- * @param control - The control to render
5
- * @param control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onBlur"
6
- * @returns The date control component
7
- *
8
- * @example
9
- * ```typescript
10
- * // Real-time updates
11
- * <DateControl control={{
12
- * type: 'date',
13
- * value: '2025-07-26',
14
- * min: '2025-01-01',
15
- * max: '2025-12-31',
16
- * event: 'onChange',
17
- * onChange: (value) => setValue(value)
18
- * }} />
19
- *
20
- * // Updates only when losing focus (default)
21
- * <DateControl control={{
22
- * type: 'date',
23
- * value: '2025-07-26',
24
- * event: 'onBlur',
25
- * onChange: (value) => setValue(value)
26
- * }} />
27
- * ```
28
- */
29
- export declare function DateControl({ control }: DateControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,31 +0,0 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import { useState as o, useEffect as r } from "react";
3
- import { Input as f } from "../../../Input/Input.js";
4
- function h({ control: e }) {
5
- const n = e.event || "onBlur", [l, t] = o(e.value);
6
- r(() => {
7
- t(e.value);
8
- }, [e.value]);
9
- const s = (u) => {
10
- const a = u.target.value;
11
- t(a), n === "onChange" && e.onChange(a);
12
- }, i = (u) => {
13
- const a = u.target.value;
14
- n === "onBlur" && e.onChange(a);
15
- };
16
- return /* @__PURE__ */ m(
17
- f,
18
- {
19
- type: "date",
20
- value: l,
21
- min: e.min,
22
- max: e.max,
23
- disabled: e.disabled,
24
- onChange: s,
25
- ...n === "onBlur" && { onBlur: i }
26
- }
27
- );
28
- }
29
- export {
30
- h as DateControl
31
- };
@@ -1,30 +0,0 @@
1
- import { NumberControlProps } from './types';
2
- /**
3
- * Component that renders a number control with configurable event handling
4
- * @param control - The control to render
5
- * @param control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onBlur"
6
- * @returns The number control component
7
- *
8
- * @example
9
- * ```typescript
10
- * // Real-time updates
11
- * <NumberControl control={{
12
- * type: 'number',
13
- * value: 10,
14
- * min: 0,
15
- * max: 100,
16
- * step: 1,
17
- * event: 'onChange',
18
- * onChange: (value) => setValue(value)
19
- * }} />
20
- *
21
- * // Updates only when losing focus (default behavior)
22
- * <NumberControl control={{
23
- * type: 'number',
24
- * value: 10,
25
- * event: 'onBlur', // or omit for default
26
- * onChange: (value) => setValue(value)
27
- * }} />
28
- * ```
29
- */
30
- export declare function NumberControl({ control }: NumberControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,32 +0,0 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { useState as i, useEffect as p } from "react";
3
- import { Input as f } from "../../../Input/Input.js";
4
- function v({ control: e }) {
5
- const n = e.event || "onChange", [m, t] = i(e.value);
6
- p(() => {
7
- t(e.value);
8
- }, [e.value]);
9
- const s = (u) => {
10
- const a = Number(u.target.value);
11
- t(a), n === "onChange" && e.onChange(a);
12
- }, l = (u) => {
13
- const a = Number(u.target.value);
14
- n === "onBlur" && e.onChange(a);
15
- };
16
- return /* @__PURE__ */ r(
17
- f,
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: s,
26
- ...n === "onBlur" && { onBlur: l }
27
- }
28
- );
29
- }
30
- export {
31
- v as NumberControl
32
- };
@@ -1,30 +0,0 @@
1
- import { RangeControlProps } from './types';
2
- /**
3
- * Component that renders a range/slider control with configurable event handling
4
- * @param control - The control to render
5
- * @param control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onChange"
6
- * @returns The range control component
7
- *
8
- * @example
9
- * ```typescript
10
- * // Real-time updates (default)
11
- * <RangeControl control={{
12
- * type: 'range',
13
- * value: 50,
14
- * min: 0,
15
- * max: 100,
16
- * step: 1,
17
- * event: 'onChange',
18
- * onChange: (value) => setValue(value)
19
- * }} />
20
- *
21
- * // Updates only when losing focus
22
- * <RangeControl control={{
23
- * type: 'range',
24
- * value: 50,
25
- * event: 'onBlur',
26
- * onChange: (value) => setValue(value)
27
- * }} />
28
- * ```
29
- */
30
- export declare function RangeControl({ control }: RangeControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,40 +0,0 @@
1
- import { jsxs as g, jsx as r } from "react/jsx-runtime";
2
- import { useState as o, useEffect as m } from "react";
3
- import '../../../../assets/RangeControl.css';const v = "_container_1ewrb_1", h = "_range_1ewrb_9", d = "_value_1ewrb_116", t = {
4
- container: v,
5
- range: h,
6
- value: d
7
- };
8
- function b({ control: e }) {
9
- const n = e.event || "onChange", [u, l] = o(e.value);
10
- m(() => {
11
- l(e.value);
12
- }, [e.value]);
13
- const i = (s) => {
14
- const a = Number(s.target.value);
15
- l(a), n === "onChange" && e.onChange(a);
16
- }, c = (s) => {
17
- const a = Number(s.target.value);
18
- n === "onBlur" && e.onChange(a);
19
- };
20
- return /* @__PURE__ */ g("div", { className: t.container, children: [
21
- /* @__PURE__ */ r(
22
- "input",
23
- {
24
- type: "range",
25
- value: u,
26
- min: e.min,
27
- max: e.max,
28
- step: e.step,
29
- disabled: e.disabled,
30
- onChange: i,
31
- ...n === "onBlur" && { onBlur: c },
32
- className: t.range
33
- }
34
- ),
35
- /* @__PURE__ */ r("span", { className: t.value, children: u })
36
- ] });
37
- }
38
- export {
39
- b as RangeControl
40
- };
@@ -1,15 +0,0 @@
1
- import { SelectControlProps } from './types';
2
- /**
3
- * Component that renders a select control
4
- * @param control - The control to render
5
- * @returns The select control component
6
- *
7
- * @example
8
- * ```typescript
9
- * <SelectControl control={{
10
- * type: 'select',
11
- * value: 'option1',
12
- * options: ['option1', 'option2', 'option3'],
13
- * }} />
14
- */
15
- export declare function SelectControl({ control }: SelectControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +0,0 @@
1
- import { jsx as t } from "react/jsx-runtime";
2
- import { Select as n } from "../../../Select/Select.js";
3
- function s({ control: a }) {
4
- return /* @__PURE__ */ t(n, { value: a.value, disabled: a.disabled, onChange: (e) => a.onChange(e.target.value), children: a.options.map((e) => {
5
- const l = typeof e == "string" ? e : e.value, r = typeof e == "string" ? e : e.label;
6
- return /* @__PURE__ */ t("option", { value: l, children: r }, l);
7
- }) });
8
- }
9
- export {
10
- s as SelectControl
11
- };
@@ -1,30 +0,0 @@
1
- import { SeparatorControlProps } from './types';
2
- /**
3
- * Component that renders a visual separator to organize control groups
4
- * @param control - The control to render
5
- * @param control.style - The style of separator: "line" (default), "space", or "label"
6
- * @param control.label - Optional label text (only shown when style is "label")
7
- * @returns The separator control component
8
- *
9
- * @example
10
- * ```typescript
11
- * // Simple line separator
12
- * <SeparatorControl control={{
13
- * type: 'separator'
14
- * }} />
15
- *
16
- * // Separator with label
17
- * <SeparatorControl control={{
18
- * type: 'separator',
19
- * style: 'label',
20
- * label: 'Advanced Settings'
21
- * }} />
22
- *
23
- * // Space separator
24
- * <SeparatorControl control={{
25
- * type: 'separator',
26
- * style: 'space'
27
- * }} />
28
- * ```
29
- */
30
- export declare function SeparatorControl({ control }: SeparatorControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,14 +0,0 @@
1
- import { jsx as e } from "react/jsx-runtime";
2
- import '../../../../assets/SeparatorControl.css';const s = "_line_12cvo_1", c = "_space_12cvo_9", t = "_labelContainer_12cvo_14", i = "_label_12cvo_14", l = {
3
- line: s,
4
- space: c,
5
- labelContainer: t,
6
- label: i
7
- };
8
- function r({ control: a }) {
9
- const n = a.style || "line";
10
- return n === "space" ? /* @__PURE__ */ e("div", { className: l.space }) : n === "label" && a.label ? /* @__PURE__ */ e("div", { className: l.labelContainer, children: /* @__PURE__ */ e("span", { className: l.label, children: a.label }) }) : /* @__PURE__ */ e("div", { className: l.line });
11
- }
12
- export {
13
- r as SeparatorControl
14
- };
@@ -1,29 +0,0 @@
1
- import { TextControlProps } from './types';
2
- /**
3
- * Component that renders a text control with configurable event handling
4
- * @param control - The control to render
5
- * @param control.event - When to trigger onChange: "onChange" (real-time) or "onBlur" (on focus loss). Defaults to "onBlur"
6
- * @returns The text control component
7
- *
8
- * @example
9
- * ```typescript
10
- * // Real-time updates
11
- * <TextControl control={{
12
- * type: 'text',
13
- * value: 'Hello',
14
- * placeholder: 'Enter your name',
15
- * event: 'onChange',
16
- * onChange: (value) => setValue(value)
17
- * }} />
18
- *
19
- * // Updates only when losing focus (default behavior)
20
- * <TextControl control={{
21
- * type: 'text',
22
- * value: 'Hello',
23
- * placeholder: 'Enter your name',
24
- * event: 'onBlur', // or omit for default
25
- * onChange: (value) => setValue(value)
26
- * }} />
27
- * ```
28
- */
29
- export declare function TextControl({ control }: TextControlProps): import("react/jsx-runtime").JSX.Element;
@@ -1,30 +0,0 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { useState as h, useEffect as p } from "react";
3
- import { Input as d } from "../../../Input/Input.js";
4
- function v({ control: e }) {
5
- const n = e.event || "onChange", [u, l] = h(e.value);
6
- p(() => {
7
- l(e.value);
8
- }, [e.value]);
9
- const o = (t) => {
10
- const a = t.target.value;
11
- l(a), n === "onChange" && e.onChange(a);
12
- }, s = (t) => {
13
- const a = t.target.value;
14
- n === "onBlur" && e.onChange(a);
15
- };
16
- return /* @__PURE__ */ r(
17
- d,
18
- {
19
- type: "text",
20
- value: u,
21
- placeholder: e.placeholder,
22
- disabled: e.disabled,
23
- onChange: o,
24
- ...n === "onBlur" && { onBlur: s }
25
- }
26
- );
27
- }
28
- export {
29
- v as TextControl
30
- };
@@ -1,11 +0,0 @@
1
- import { DevPanelProps } from './types';
2
- /**
3
- * Development panel component
4
- * @returns The development panel component, if the environment is not development, it will return null
5
- *
6
- * @example
7
- * ```typescript
8
- * <DevPanel />
9
- * ```
10
- */
11
- export declare function DevPanel({ panelTitle, ...props }: DevPanelProps): import("react/jsx-runtime").JSX.Element | null;