@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
@@ -1,16 +1,17 @@
1
- import { useSyncExternalStore as i } from "react";
2
- import { BaseStoreService as r } from "./BaseStoreService.js";
3
- const l = "dev-panel-ui-storage", a = { x: 20, y: 20 }, o = {
1
+ import { useSyncExternalStore as r } from "react";
2
+ import { BaseStoreService as o } from "./BaseStoreService.js";
3
+ const u = "dev-panel-ui-storage", h = { x: 20, y: 20 }, n = {
4
4
  isVisible: !1,
5
5
  isCollapsed: !1,
6
- position: a
6
+ position: h,
7
+ currentTheme: "auto"
7
8
  };
8
- class u extends r {
9
+ class a extends o {
9
10
  /**
10
11
  * Creates a new DevPanelUIService instance and loads persisted state from localStorage.
11
12
  */
12
13
  constructor() {
13
- super(l, o, !0, !0);
14
+ super(u, n, !0, !0), this.applyTheme(this.getSnapshot().currentTheme);
14
15
  }
15
16
  /**
16
17
  * Transforms current state to persistable format.
@@ -19,9 +20,12 @@ class u extends r {
19
20
  * @returns The state in persistable format
20
21
  * @protected
21
22
  */
22
- toPersistableState(s) {
23
+ toPersistableState(t) {
23
24
  return {
24
- ...s
25
+ isVisible: t.isVisible,
26
+ isCollapsed: t.isCollapsed,
27
+ position: t.position,
28
+ currentTheme: t.currentTheme
25
29
  };
26
30
  }
27
31
  /**
@@ -32,10 +36,10 @@ class u extends r {
32
36
  * @returns The state in current format
33
37
  * @protected
34
38
  */
35
- fromPersistedState(s, t) {
39
+ fromPersistedState(t, s) {
36
40
  return {
37
- ...t,
38
- ...s
41
+ ...s,
42
+ ...t
39
43
  };
40
44
  }
41
45
  /**
@@ -47,71 +51,128 @@ class u extends r {
47
51
  getServiceName() {
48
52
  return "UI";
49
53
  }
54
+ /**
55
+ * Applies the theme to the document root element using data attributes.
56
+ *
57
+ * @param theme - Theme name to apply
58
+ * @private
59
+ */
60
+ applyTheme(t) {
61
+ const s = document.documentElement;
62
+ t === "auto" || t === "" ? s.removeAttribute("data-dev-panel-theme") : s.setAttribute("data-dev-panel-theme", t);
63
+ }
50
64
  /**
51
65
  * Sets the visibility state of the dev panel.
52
66
  *
53
67
  * @param visible - Whether the panel should be visible
54
68
  */
55
- setVisible = (s) => {
56
- this.setState((t) => ({ ...t, isVisible: s }));
69
+ setVisible = (t) => {
70
+ this.setState((s) => ({ ...s, isVisible: t }));
57
71
  };
58
72
  /**
59
73
  * Sets the collapsed state of the dev panel.
60
74
  *
61
75
  * @param collapsed - Whether the panel should be collapsed
62
76
  */
63
- setCollapsed = (s) => {
64
- this.setState((t) => ({ ...t, isCollapsed: s }));
77
+ setCollapsed = (t) => {
78
+ this.setState((s) => ({ ...s, isCollapsed: t }));
65
79
  };
66
80
  /**
67
81
  * Updates the position of the dev panel.
68
82
  *
69
83
  * @param position - New position coordinates {x, y}
70
84
  */
71
- setPosition = (s) => {
72
- this.setState((t) => ({ ...t, position: s }));
85
+ setPosition = (t) => {
86
+ this.setState((s) => ({ ...s, position: t }));
87
+ };
88
+ /**
89
+ * Sets the current theme and applies it to the document.
90
+ *
91
+ * @param theme - Theme name to set
92
+ */
93
+ setTheme = (t) => {
94
+ this.setState((s) => ({ ...s, currentTheme: t })), this.applyTheme(t);
95
+ };
96
+ /**
97
+ * Resets the theme to the default "auto" theme.
98
+ */
99
+ resetTheme = () => {
100
+ this.setTheme("auto");
73
101
  };
102
+ /**
103
+ * Gets the current theme name.
104
+ *
105
+ * @returns The current theme name
106
+ */
107
+ getCurrentTheme = () => this.getSnapshot().currentTheme;
74
108
  /**
75
109
  * Resets the dev panel UI to its default state.
76
- * Resets position and sets visibility and collapse to false.
110
+ * Resets position, theme, and sets visibility and collapse to false.
77
111
  */
78
112
  reset = () => {
79
- this.setState(() => ({ ...o }));
113
+ this.setState(() => ({ ...n })), this.applyTheme(n.currentTheme);
80
114
  };
81
115
  }
82
- const e = new u();
83
- function c() {
116
+ const e = new a();
117
+ function l() {
84
118
  return {
85
- ...i(e.subscribe, e.getSnapshot),
119
+ ...r(e.subscribe, e.getSnapshot),
86
120
  setVisible: e.setVisible,
87
121
  setCollapsed: e.setCollapsed,
88
122
  setPosition: e.setPosition,
123
+ setTheme: e.setTheme,
124
+ resetTheme: e.resetTheme,
125
+ getCurrentTheme: e.getCurrentTheme,
89
126
  reset: e.reset
90
127
  };
91
128
  }
129
+ function c() {
130
+ return r(e.subscribe, () => e.getSnapshot().isVisible);
131
+ }
132
+ function p() {
133
+ return r(e.subscribe, () => e.getSnapshot().isCollapsed);
134
+ }
92
135
  function b() {
93
- return i(e.subscribe, () => e.getSnapshot().isVisible);
136
+ return r(e.subscribe, () => e.getSnapshot().position);
94
137
  }
95
- function P() {
96
- return i(e.subscribe, () => e.getSnapshot().isCollapsed);
138
+ function S() {
139
+ return r(e.subscribe, () => e.getSnapshot().currentTheme);
97
140
  }
98
141
  function d() {
99
- return i(e.subscribe, () => e.getSnapshot().position);
142
+ return {
143
+ currentTheme: r(e.subscribe, () => e.getSnapshot().currentTheme),
144
+ setTheme: e.setTheme,
145
+ resetTheme: e.resetTheme,
146
+ getCurrentTheme: e.getCurrentTheme
147
+ };
100
148
  }
101
- function v() {
149
+ function C() {
102
150
  return {
103
151
  setVisible: e.setVisible,
104
152
  setCollapsed: e.setCollapsed,
105
153
  setPosition: e.setPosition,
154
+ setTheme: e.setTheme,
155
+ resetTheme: e.resetTheme,
156
+ getCurrentTheme: e.getCurrentTheme,
106
157
  reset: e.reset
107
158
  };
108
159
  }
109
- const f = c;
160
+ function g() {
161
+ return {
162
+ setTheme: e.setTheme,
163
+ resetTheme: e.resetTheme,
164
+ getCurrentTheme: e.getCurrentTheme
165
+ };
166
+ }
167
+ const P = l;
110
168
  export {
111
- P as useDevPanelCollapsed,
112
- d as useDevPanelPosition,
113
- f as useDevPanelStore,
114
- c as useDevPanelUI,
115
- v as useDevPanelUIActions,
116
- b as useDevPanelVisible
169
+ S as useCurrentTheme,
170
+ p as useDevPanelCollapsed,
171
+ b as useDevPanelPosition,
172
+ P as useDevPanelStore,
173
+ d as useDevPanelTheme,
174
+ g as useDevPanelThemeActions,
175
+ l as useDevPanelUI,
176
+ C as useDevPanelUIActions,
177
+ c as useDevPanelVisible
117
178
  };
@@ -1,10 +1,11 @@
1
+ import { Position } from '../../components/DevPanel/types';
1
2
  /**
2
3
  * Checks if a position adjustment is needed after window resize
3
4
  * @param element - The HTML element to check
4
5
  * @returns Object containing the current position, constrained position, and whether adjustment is needed
5
6
  */
6
7
  export declare function getPositionAdjustment(element: HTMLElement): {
7
- currentPosition: import('../../components/DevPanel/types').Position;
8
- constrainedPosition: import('../../components/DevPanel/types').Position;
8
+ currentPosition: Position;
9
+ constrainedPosition: Position;
9
10
  needsAdjustment: boolean;
10
11
  };
@@ -1,10 +1,7 @@
1
1
  import { getConstrainedPosition as r } from "../getConstrainedPosition/getConstrainedPosition.js";
2
2
  import { getCurrentElementPosition as s } from "../getCurrentElementPosition/getCurrentElementPosition.js";
3
3
  function m(n) {
4
- const t = s(n), o = r(
5
- t,
6
- n
7
- ), i = o.x !== t.x || o.y !== t.y;
4
+ const t = s(n), o = r(t, n), i = o.x !== t.x || o.y !== t.y;
8
5
  return {
9
6
  currentPosition: t,
10
7
  constrainedPosition: o,
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "private": false,
3
- "version": "2.0.0",
4
- "type": "module",
5
- "module": "./dist/index.js",
3
+ "version": "2.2.0",
4
+ "license": "MIT",
6
5
  "name": "@berenjena/react-dev-panel",
7
6
  "description": "A React development panel with various tools and utilities.",
7
+ "type": "module",
8
+ "homepage": "https://github.com/Berenjenas/react-dev-panel",
9
+ "bugs": "https://github.com/Berenjenas/react-dev-panel/issues",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/Berenjenas/react-dev-panel.git"
13
+ },
8
14
  "keywords": [
9
15
  "react",
10
16
  "development",
@@ -14,12 +20,7 @@
14
20
  "gui",
15
21
  "devtools"
16
22
  ],
17
- "homepage": "https://github.com/Berenjenas/react-dev-panel",
18
- "bugs": "https://github.com/Berenjenas/react-dev-panel/issues",
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/Berenjenas/react-dev-panel.git"
22
- },
23
+ "module": "./dist/index.js",
23
24
  "exports": {
24
25
  ".": {
25
26
  "import": "./dist/index.js",
@@ -33,7 +34,6 @@
33
34
  "dist"
34
35
  ],
35
36
  "types": "./dist/index.d.ts",
36
- "license": "MIT",
37
37
  "contributors": [
38
38
  {
39
39
  "name": "David Gallegos",
@@ -57,8 +57,8 @@
57
57
  "lint:fix": "eslint . --ext ts,tsx --fix",
58
58
  "format": "prettier --check .",
59
59
  "format:fix": "prettier --write .",
60
- "stylelint": "stylelint **/*.css",
61
- "stylelint:fix": "stylelint **/*.css --fix",
60
+ "stylelint": "stylelint **/*.scss",
61
+ "stylelint:fix": "stylelint **/*.scss --fix",
62
62
  "storybook": "storybook dev -p 6006",
63
63
  "build-storybook": "storybook build --output-dir docs",
64
64
  "deploy-storybook": "npm run build-storybook && gh-pages -d docs",
@@ -68,7 +68,9 @@
68
68
  "prepublishOnly": "vitest run && npm run build",
69
69
  "changeset": "changeset",
70
70
  "prerelease": "vitest run && npm run build",
71
- "release": "changeset publish"
71
+ "release": "changeset publish",
72
+ "prepare": "npx husky",
73
+ "commit": "git-cz"
72
74
  },
73
75
  "publishConfig": {
74
76
  "access": "public"
@@ -79,34 +81,46 @@
79
81
  },
80
82
  "devDependencies": {
81
83
  "@changesets/cli": "^2.29.5",
82
- "@eslint/js": "^9.30.1",
84
+ "@commitlint/cli": "^19.8.1",
85
+ "@commitlint/config-conventional": "^19.8.1",
86
+ "@commitlint/cz-commitlint": "^19.8.1",
87
+ "@eslint/js": "^9.32.0",
83
88
  "@rollup/plugin-terser": "^0.4.4",
84
- "@storybook/addon-docs": "^9.0.17",
85
- "@storybook/react-vite": "^9.0.17",
86
- "@types/node": "^24.0.15",
87
- "@types/react": "^19.1.8",
88
- "@types/react-dom": "^19.1.6",
89
- "@vitejs/plugin-react-swc": "^3.10.2",
89
+ "@storybook/addon-docs": "^9.1.0",
90
+ "@storybook/react-vite": "^9.1.0",
91
+ "@types/node": "^24.1.0",
92
+ "@types/react": "^19.1.9",
93
+ "@types/react-dom": "^19.1.7",
94
+ "@vitejs/plugin-react-swc": "^3.11.0",
90
95
  "@vitest/coverage-v8": "^3.2.4",
91
96
  "@vitest/ui": "^3.2.4",
92
- "eslint": "^9.30.1",
97
+ "commitizen": "^4.3.1",
98
+ "eslint": "^9.32.0",
99
+ "eslint-plugin-react": "^7.37.5",
93
100
  "eslint-plugin-react-hooks": "^5.2.0",
94
- "eslint-plugin-react-refresh": "^0.4.20",
95
101
  "eslint-plugin-simple-import-sort": "^12.1.1",
96
- "eslint-plugin-storybook": "^9.0.17",
102
+ "eslint-plugin-storybook": "^9.1.0",
97
103
  "gh-pages": "^6.3.0",
98
104
  "glob": "^11.0.3",
99
105
  "globals": "^16.3.0",
100
106
  "happy-dom": "^18.0.1",
101
- "react": "^19.1.0",
102
- "react-dom": "^19.1.0",
107
+ "husky": "^9.1.7",
108
+ "inquirer": "^9.3.7",
109
+ "react": "^19.1.1",
110
+ "react-dom": "^19.1.1",
103
111
  "sass-embedded": "^1.89.2",
104
- "storybook": "^9.0.17",
105
- "typescript": "~5.8.3",
106
- "typescript-eslint": "^8.35.1",
107
- "vite": "^7.0.4",
112
+ "storybook": "^9.1.0",
113
+ "stylelint": "^16.23.0",
114
+ "typescript": "^5.9.2",
115
+ "typescript-eslint": "^8.39.0",
116
+ "vite": "^7.0.6",
108
117
  "vite-plugin-dts": "^4.5.4",
109
118
  "vite-plugin-lib-inject-css": "^2.2.2",
110
119
  "vitest": "^3.2.4"
120
+ },
121
+ "config": {
122
+ "commitizen": {
123
+ "path": "@commitlint/cz-commitlint"
124
+ }
111
125
  }
112
126
  }
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._switch_1wuj3_132{--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_1wuj3_132 input{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}._switch_1wuj3_132 input:checked+._slider_1wuj3_150{background-color:var(--dev-panel-accent-color, #6366f1);border-color:var(--dev-panel-accent-color, #6366f1)}._switch_1wuj3_132 input:checked+._slider_1wuj3_150:before{left:calc(100% - var(--thumb-size) - var(--thumb-margin));background-color:var(--dev-panel-text-color-on-accent, #ffffff)}._switch_1wuj3_132 input:focus+._slider_1wuj3_150{box-shadow:0 0 0 3px #6366f133}._switch_1wuj3_132 input:focus:not(:focus-visible)+._slider_1wuj3_150{box-shadow:none}._switch_1wuj3_132 input:disabled+._slider_1wuj3_150{opacity:var(--dev-panel-opacity-50, .5);cursor:not-allowed}._switch_1wuj3_132 input:disabled+._slider_1wuj3_150:before{opacity:var(--dev-panel-opacity-70, .7)}._switch_1wuj3_132 ._slider_1wuj3_150{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_1wuj3_132 ._slider_1wuj3_150: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_1wuj3_132 ._slider_1wuj3_150:hover{border-color:var(--dev-panel-input-border-color-hover, #64748b)}._switch_1wuj3_132 ._slider_1wuj3_150:hover:before{box-shadow:var(--dev-panel-shadow-md, 0 4px 6px rgba(0, 0, 0, .1))}._switch_1wuj3_132 input:disabled+._slider_1wuj3_150:hover{border-color:var(--dev-panel-input-border-color, #475569)}._switch_1wuj3_132 input:disabled+._slider_1wuj3_150:hover:before{box-shadow:var(--dev-panel-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._button_b8ouv_132{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_b8ouv_132:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;pointer-events:none}._button_b8ouv_132: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_b8ouv_132: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_b8ouv_132:focus{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--dev-panel-accent-color) 30%,transparent)}._button_b8ouv_132:focus:not(:focus-visible){box-shadow:none}._button_b8ouv_132: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_b8ouv_132._secondary_b8ouv_189{background-color:transparent;color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color)}._button_b8ouv_132._secondary_b8ouv_189: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_b8ouv_132._secondary_b8ouv_189: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_b8ouv_132._secondary_b8ouv_189:disabled{background-color:transparent;color:var(--dev-panel-text-color-disabled);border-color:var(--dev-panel-border-color)}._button_b8ouv_132._small_b8ouv_209{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_b8ouv_132._large_b8ouv_214{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)}
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._buttonGroupContainer_1642u_132{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);width:100%;display:flex;gap:var(--dev-panel-spacing-sm);background:var(--dev-panel-surface-color);border:1px solid var(--dev-panel-border-color);border-radius:var(--dev-panel-border-radius);padding:var(--dev-panel-spacing-sm);overflow-x:auto;container-type:inline-size}._buttonGroupContainer_1642u_132::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._buttonGroupContainer_1642u_132::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._buttonGroupContainer_1642u_132::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._buttonGroupContainer_1642u_132::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._buttonGroupContainer_1642u_132::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}@container (max-width: 300px){._buttonGroupContainer_1642u_132{gap:var(--dev-panel-spacing-xs);padding:var(--dev-panel-spacing-xs)}._buttonGroupContainer_1642u_132 ._button_1642u_132{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs)}}._buttonGroupContainer_1642u_132 ._button_1642u_132{padding:0;margin:0;border:none;background:none;font:inherit;color:inherit;flex:0 0 auto;min-width:max-content;background:var(--dev-panel-input-background-color);color:var(--dev-panel-text-color);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-medium);padding:var(--dev-panel-spacing-sm) var(--dev-panel-spacing-lg);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);transition:var(--dev-panel-transition);min-height:var(--dev-panel-inputs-height);display:flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer}._buttonGroupContainer_1642u_132 ._button_1642u_132:hover:not(:disabled):not(._active_1642u_200){background:var(--dev-panel-surface-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._buttonGroupContainer_1642u_132 ._button_1642u_132:active:not(:disabled){transform:scale(.98)}._buttonGroupContainer_1642u_132 ._button_1642u_132:focus{outline:none;border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._buttonGroupContainer_1642u_132 ._button_1642u_132:focus:not(:focus-visible){box-shadow:none}._buttonGroupContainer_1642u_132 ._button_1642u_132._active_1642u_200{background:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);border-color:var(--dev-panel-accent-color)}._buttonGroupContainer_1642u_132 ._button_1642u_132._active_1642u_200:hover{background:var(--dev-panel-accent-color-hover);border-color:var(--dev-panel-accent-color-hover)}._buttonGroupContainer_1642u_132 ._button_1642u_132:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;background:var(--dev-panel-surface-color)}._buttonGroupContainer_1642u_132._compact_1642u_229 ._button_1642u_132{padding:var(--dev-panel-spacing-xs) var(--dev-panel-spacing-md);font-size:var(--dev-panel-font-size-xs);min-height:calc(var(--dev-panel-inputs-height) - 4px)}
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._devPanelContainer_vacct_132{scrollbar-width:thin;scrollbar-color:var(--dev-panel-scrollbar-thumb-color) var(--dev-panel-scrollbar-track-color);position:fixed;z-index:var(--dev-panel-z-index);border-radius:var(--dev-panel-border-radius);box-shadow:var(--dev-panel-shadow);width:var(--dev-panel-max-width);min-width:var(--dev-panel-min-width);user-select:none;font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);line-height:var(--dev-panel-line-height-normal);touch-action:none;background:var(--dev-panel-foreground-color);border:1px solid var(--dev-panel-border-color)}._devPanelContainer_vacct_132::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._devPanelContainer_vacct_132::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._devPanelContainer_vacct_132::-webkit-scrollbar-thumb{background:var(--dev-panel-scrollbar-thumb-color);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition-fast)}._devPanelContainer_vacct_132::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._devPanelContainer_vacct_132::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}._devPanelContainer_vacct_132 *{box-sizing:border-box}._devPanelContainer_vacct_132 ._header_vacct_171{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:var(--dev-panel-spacing-md) var(--dev-panel-spacing-lg);background:var(--dev-panel-foreground-color);color:var(--dev-panel-text-color);cursor:move;border-bottom:1px solid var(--dev-panel-border-color);height:var(--dev-panel-header-height);border-radius:var(--dev-panel-border-radius) var(--dev-panel-border-radius) 0 0;z-index:1}._devPanelContainer_vacct_132 ._title_vacct_186{font-size:var(--dev-panel-font-size-sm);font-weight:var(--dev-panel-font-weight-semibold);display:flex;align-items:center;gap:var(--dev-panel-spacing-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dev-panel-text-color)}._devPanelContainer_vacct_132 ._button_vacct_197{background:none;border:none;color:var(--dev-panel-text-color-muted);font-size:var(--dev-panel-font-size-md);cursor:pointer;padding:var(--dev-panel-spacing-sm);border-radius:var(--dev-panel-border-radius-md);transition:var(--dev-panel-transition);display:flex;align-items:center;justify-content:center;min-width:24px;min-height:24px}._devPanelContainer_vacct_132 ._button_vacct_197:hover{background:var(--dev-panel-surface-color-hover);color:var(--dev-panel-text-color)}._devPanelContainer_vacct_132 ._button_vacct_197:active{transform:scale(.95);background:var(--dev-panel-surface-color-active)}._devPanelContainer_vacct_132 ._button_vacct_197:focus{outline:2px solid var(--dev-panel-accent-color);outline-offset:2px}._devPanelContainer_vacct_132 ._button_vacct_197:focus:not(:focus-visible){outline:none}._devPanelContainer_vacct_132 ._button_vacct_197>svg{display:block;width:16px;height:16px;transition:transform var(--dev-panel-transition)}._devPanelContainer_vacct_132 ._button_vacct_197>svg._collapsed_vacct_233{transform:rotate(180deg)}._devPanelContainer_vacct_132 ._button_vacct_197>svg path{fill:currentColor}._content_vacct_240{max-height:calc(var(--dev-panel-max-height) - var(--dev-panel-header-height));background-color:var(--dev-panel-background-color);border-radius:0 0 var(--dev-panel-border-radius) var(--dev-panel-border-radius);overflow-x:hidden;overflow-y:auto;max-height:var(--dev-panel-max-height)}
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._input_pspvf_132{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_pspvf_132::placeholder{color:var(--dev-panel-input-placeholder-color)}._input_pspvf_132:hover:not(:disabled){background-color:var(--dev-panel-input-background-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._input_pspvf_132:focus{outline:none;background-color:var(--dev-panel-input-background-color-focus);border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._input_pspvf_132:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color)}._input_pspvf_132::placeholder{color:var(--dev-panel-input-placeholder-color);opacity:1}._input_pspvf_132[type=date]{cursor:pointer}._input_pspvf_132[type=date]::-webkit-calendar-picker-indicator{color:currentColor;filter:invert(1);cursor:pointer}._input_pspvf_132[type=date]::-moz-calendar-picker-indicator{color:currentColor;filter:invert(1);cursor:pointer}._input_pspvf_132[type=number]{-moz-appearance:textfield;appearance:textfield}._input_pspvf_132[type=number]::-webkit-outer-spin-button,._input_pspvf_132[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@@ -1 +0,0 @@
1
- ._multiselect_1agkw_1{position:relative;width:100%}._trigger_1agkw_6{display:flex;align-items:center;justify-content:space-between;width:100%;height:var(--dev-panel-inputs-height);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius);background-color:var(--dev-panel-input-background-color);color:var(--dev-panel-input-text-color);padding:0 var(--dev-panel-spacing-md);transition:var(--dev-panel-transition);font-family:var(--dev-panel-font-family);font-size:var(--dev-panel-font-size-sm);cursor:pointer}._trigger_1agkw_6:hover:not(:disabled){border-color:var(--dev-panel-input-border-color-hover);background-color:var(--dev-panel-input-background-color-hover)}._trigger_1agkw_6: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_1agkw_6:disabled{cursor:not-allowed;opacity:var(--dev-panel-opacity-50);background-color:var(--dev-panel-surface-color)}._trigger_1agkw_6._open_1agkw_36{border-color:var(--dev-panel-input-border-color-focus)}._value_1agkw_40{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_1agkw_40._placeholder_1agkw_49{color:var(--dev-panel-input-placeholder-color)}._arrow_1agkw_53{display:block;width:16px;height:16px;margin-left:var(--dev-panel-spacing-sm);transition:var(--dev-panel-transition);flex-shrink:0}._open_1agkw_36 ._arrow_1agkw_53{transform:rotate(180deg)}._arrow_1agkw_53 path{fill:var(--dev-panel-text-color-muted)}._dropdownPortal_1agkw_68{position:fixed;z-index:9999}._dropdown_1agkw_68{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);box-shadow:var(--dev-panel-shadow-lg);overflow-y:auto;animation:_dropdownFadeIn_1agkw_1 .15s ease-out}._dropdown_1agkw_68::-webkit-scrollbar{width:var(--dev-panel-scrollbar-width);height:var(--dev-panel-scrollbar-width)}._dropdown_1agkw_68::-webkit-scrollbar-track{background:var(--dev-panel-scrollbar-track-color);border-radius:var(--dev-panel-border-radius-md)}._dropdown_1agkw_68::-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_1agkw_68::-webkit-scrollbar-thumb:hover{background:var(--dev-panel-scrollbar-thumb-hover-color)}._dropdown_1agkw_68::-webkit-scrollbar-corner{background:var(--dev-panel-scrollbar-track-color)}@keyframes _dropdownFadeIn_1agkw_1{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}._option_1agkw_115{display:flex;align-items:center;padding:var(--dev-panel-spacing-md);user-select:none;transition:var(--dev-panel-transition);cursor:pointer;border-bottom:1px solid var(--dev-panel-border-color)}._option_1agkw_115:last-child{border-bottom:none}._option_1agkw_115:hover:not(._disabled_1agkw_127){background-color:var(--dev-panel-surface-color-hover)}._option_1agkw_115:active:not(._disabled_1agkw_127){background-color:var(--dev-panel-surface-color-active)}._checkbox_1agkw_134{position:absolute;opacity:0;pointer-events:none}._checkbox_1agkw_134:checked~._checkmark_1agkw_139{background-color:var(--dev-panel-accent-color);border-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent);opacity:1}._checkbox_1agkw_134:checked~._checkmark_1agkw_139 svg{opacity:1}._checkmark_1agkw_139{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:var(--dev-panel-spacing-md);border:1px solid var(--dev-panel-input-border-color);border-radius:var(--dev-panel-border-radius-sm);transition:var(--dev-panel-transition);flex-shrink:0;opacity:0}._checkmark_1agkw_139 svg{width:14px;height:14px;fill:currentColor;opacity:0;transition:var(--dev-panel-transition)}._label_1agkw_170{flex:1;font-size:var(--dev-panel-font-size-sm);color:var(--dev-panel-text-color);font-family:var(--dev-panel-font-family)}._disabled_1agkw_127{opacity:var(--dev-panel-opacity-50);cursor:not-allowed!important}._disabled_1agkw_127 ._label_1agkw_170{color:var(--dev-panel-text-color-disabled)}._disabled_1agkw_127 ._checkmark_1agkw_139{border-color:var(--dev-panel-border-color)}
@@ -1 +0,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: #6366f1;--dev-panel-accent-color-hover: #5855eb;--dev-panel-accent-color-active: #4f46e5;--dev-panel-accent-color-disabled: #6366f150;--dev-panel-primary-color: #6366f1;--dev-panel-primary-color-hover: #5855eb;--dev-panel-primary-color-active: #4f46e5;--dev-panel-secondary-color: #64748b;--dev-panel-secondary-color-hover: #475569;--dev-panel-secondary-color-active: #334155;--dev-panel-success-color: #10b981;--dev-panel-success-color-hover: #059669;--dev-panel-success-color-active: #047857;--dev-panel-warning-color: #f59e0b;--dev-panel-warning-color-hover: #d97706;--dev-panel-warning-color-active: #b45309;--dev-panel-error-color: #ef4444;--dev-panel-error-color-hover: #dc2626;--dev-panel-error-color-active: #b91c1c;--dev-panel-info-color: #06b6d4;--dev-panel-info-color-hover: #0891b2;--dev-panel-info-color-active: #0e7490;--dev-panel-background-color: #1e293b;--dev-panel-background-color-secondary: #334155;--dev-panel-background-color-tertiary: #475569;--dev-panel-foreground-color: #0f172a;--dev-panel-surface-color: #334155;--dev-panel-surface-color-hover: #475569;--dev-panel-surface-color-active: #64748b;--dev-panel-text-color: #f1f5f9;--dev-panel-text-color-secondary: #cbd5e1;--dev-panel-text-color-muted: #94a3b8;--dev-panel-text-color-disabled: #64748b;--dev-panel-text-color-on-accent: #ffffff;--dev-panel-text-color-on-surface: #f1f5f9;--dev-panel-border-color: #475569;--dev-panel-border-color-light: #64748b;--dev-panel-border-color-strong: #334155;--dev-panel-border-color-accent: #6366f1;--dev-panel-input-background-color: #0f172a;--dev-panel-input-background-color-hover: #1e293b;--dev-panel-input-background-color-focus: #1e293b;--dev-panel-input-border-color: #475569;--dev-panel-input-border-color-hover: #64748b;--dev-panel-input-border-color-focus: #6366f1;--dev-panel-input-text-color: #f1f5f9;--dev-panel-input-placeholder-color: #64748b;--dev-panel-input-border-width: 1px;--dev-panel-spacing-xs: 2px;--dev-panel-spacing-sm: 4px;--dev-panel-spacing-md: 8px;--dev-panel-spacing-lg: 12px;--dev-panel-spacing-xl: 16px;--dev-panel-spacing-2xl: 20px;--dev-panel-spacing-3xl: 24px;--dev-panel-spacing-4xl: 32px;--dev-panel-shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05);--dev-panel-shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--dev-panel-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--dev-panel-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--dev-panel-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--dev-panel-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--dev-panel-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--dev-panel-shadow: var(--dev-panel-shadow-xl);--dev-panel-border-radius-none: 0;--dev-panel-border-radius-sm: 2px;--dev-panel-border-radius-md: 4px;--dev-panel-border-radius-lg: 6px;--dev-panel-border-radius-xl: 8px;--dev-panel-border-radius-2xl: 12px;--dev-panel-border-radius-full: 9999px;--dev-panel-border-radius: var(--dev-panel-border-radius-lg);--dev-panel-max-width: 320px;--dev-panel-min-width: 280px;--dev-panel-max-height: 80vh;--dev-panel-min-height: auto;--dev-panel-header-height: auto;--dev-panel-inputs-height: 32px;--dev-panel-inputs-height-sm: 28px;--dev-panel-inputs-height-lg: 36px;--dev-panel-button-height: 32px;--dev-panel-button-height-sm: 28px;--dev-panel-button-height-lg: 36px;--dev-panel-transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-normal: all .2s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition-slow: all .3s cubic-bezier(.4, 0, .2, 1);--dev-panel-transition: var(--dev-panel-transition-normal);--dev-panel-z-index-dropdown: 1000;--dev-panel-z-index-sticky: 1020;--dev-panel-z-index-fixed: 1030;--dev-panel-z-index-modal-backdrop: 1040;--dev-panel-z-index-modal: 1050;--dev-panel-z-index-popover: 1060;--dev-panel-z-index-tooltip: 1070;--dev-panel-z-index-toast: 1080;--dev-panel-z-index: var(--dev-panel-z-index-modal);--dev-panel-opacity-0: 0;--dev-panel-opacity-5: .05;--dev-panel-opacity-10: .1;--dev-panel-opacity-20: .2;--dev-panel-opacity-25: .25;--dev-panel-opacity-30: .3;--dev-panel-opacity-40: .4;--dev-panel-opacity-50: .5;--dev-panel-opacity-60: .6;--dev-panel-opacity-70: .7;--dev-panel-opacity-75: .75;--dev-panel-opacity-80: .8;--dev-panel-opacity-90: .9;--dev-panel-opacity-95: .95;--dev-panel-opacity-100: 1;--dev-panel-scrollbar-width: 6px;--dev-panel-scrollbar-track-color: var(--dev-panel-background-color-secondary);--dev-panel-scrollbar-thumb-color: var(--dev-panel-border-color);--dev-panel-scrollbar-thumb-hover-color: var(--dev-panel-border-color-light)}._select_ia86w_132{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:pointer;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--dev-panel-spacing-md) center;background-repeat:no-repeat;background-size:16px 16px;padding-right:calc(var(--dev-panel-spacing-md) + 20px)}._select_ia86w_132::placeholder{color:var(--dev-panel-input-placeholder-color)}._select_ia86w_132:hover:not(:disabled){background-color:var(--dev-panel-input-background-color-hover);border-color:var(--dev-panel-input-border-color-hover)}._select_ia86w_132:focus{outline:none;background-color:var(--dev-panel-input-background-color-focus);border-color:var(--dev-panel-input-border-color-focus);box-shadow:0 0 0 3px #6366f133}._select_ia86w_132:disabled{opacity:var(--dev-panel-opacity-50);cursor:not-allowed;background-color:var(--dev-panel-surface-color);border-color:var(--dev-panel-border-color)}._select_ia86w_132 option{background-color:var(--dev-panel-input-background-color);color:var(--dev-panel-input-text-color);padding:var(--dev-panel-spacing-sm)}._select_ia86w_132 option:checked{background-color:var(--dev-panel-accent-color);color:var(--dev-panel-text-color-on-accent)}._select_ia86w_132 option:hover{background-color:var(--dev-panel-surface-color-hover)}
@@ -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,52 +0,0 @@
1
- import { jsxs as t, jsx as n } from "react/jsx-runtime";
2
- import { Suspense as c } from "react";
3
- import { className as s } from "../../utils/className/className.js";
4
- import { controls as d } from "./controls/index.js";
5
- import '../../assets/ControlRenderer.css';const p = "_controlRendererContainer_1s60v_1", _ = "_controlContainer_1s60v_4", u = "_hoverable_1s60v_13", v = "_fullWidth_1s60v_16", f = "_label_1s60v_19", h = "_controlWrapper_1s60v_22", b = "_justifyStart_1s60v_26", C = "_description_1s60v_42", m = "_loading_1s60v_51", y = "_error_1s60v_70", r = {
6
- controlRendererContainer: p,
7
- controlContainer: _,
8
- hoverable: u,
9
- fullWidth: v,
10
- label: f,
11
- controlWrapper: h,
12
- justifyStart: b,
13
- description: C,
14
- loading: m,
15
- error: y
16
- }, W = ["button", "buttonGroup", "separator"], j = ["separator"], N = ["button", "separator"];
17
- function L({ name: l, control: e }) {
18
- const i = e?.label || l;
19
- function a() {
20
- if (!e || !e.type)
21
- return /* @__PURE__ */ n("div", { className: r.error, children: "Control type is not defined" });
22
- const o = d[e.type];
23
- return o ? /* @__PURE__ */ n(c, { fallback: /* @__PURE__ */ n("div", { className: r.loading, children: "Loading control..." }), children: /* @__PURE__ */ n(o, { control: e }) }) : /* @__PURE__ */ n("div", { children: "Unknown control type" });
24
- }
25
- return /* @__PURE__ */ t("div", { className: r.controlRendererContainer, children: [
26
- /* @__PURE__ */ t(
27
- "div",
28
- {
29
- ...s(r.controlContainer, {
30
- [r.fullWidth]: W.includes(e.type),
31
- [r.hoverable]: !j.includes(e.type)
32
- }),
33
- children: [
34
- !N.includes(e.type) && /* @__PURE__ */ n("label", { className: r.label, children: i }),
35
- /* @__PURE__ */ n(
36
- "div",
37
- {
38
- ...s(r.controlWrapper, {
39
- [r.justifyStart]: e.type === "separator"
40
- }),
41
- children: a()
42
- }
43
- )
44
- ]
45
- }
46
- ),
47
- e?.description && /* @__PURE__ */ n("span", { className: r.description, children: e.description })
48
- ] });
49
- }
50
- export {
51
- L as ControlRenderer
52
- };
@@ -1,32 +0,0 @@
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): import("react/jsx-runtime").JSX.Element;
@@ -1,26 +0,0 @@
1
- import { jsxs as c, jsx as t } from "react/jsx-runtime";
2
- import { useRef as l } from "react";
3
- import '../../../../assets/BooleanControl.css';const r = "_slider_1wuj3_150", a = {
4
- switch: "_switch_1wuj3_132",
5
- slider: r
6
- };
7
- function d({ control: e }) {
8
- const s = l(`boolean-control-${e.label || Math.ceil(Math.random() * 1e5)}`);
9
- return /* @__PURE__ */ c("label", { className: a.switch, children: [
10
- /* @__PURE__ */ t(
11
- "input",
12
- {
13
- type: "checkbox",
14
- id: s.current,
15
- name: s.current,
16
- checked: e.value,
17
- disabled: e.disabled,
18
- onChange: (n) => e.onChange(n.target.checked)
19
- }
20
- ),
21
- /* @__PURE__ */ t("span", { className: a.slider })
22
- ] });
23
- }
24
- export {
25
- d as BooleanControl
26
- };
@@ -1,33 +0,0 @@
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): import("react/jsx-runtime").JSX.Element;