@berenjena/react-dev-panel 2.1.0 → 2.3.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 (37) hide show
  1. package/README.md +26 -5
  2. package/dist/assets/index10.css +1 -1
  3. package/dist/assets/index11.css +1 -1
  4. package/dist/assets/index12.css +1 -1
  5. package/dist/assets/index13.css +1 -1
  6. package/dist/assets/index14.css +1 -0
  7. package/dist/assets/index15.css +1 -0
  8. package/dist/assets/index2.css +1 -1
  9. package/dist/assets/index5.css +1 -1
  10. package/dist/assets/index6.css +1 -1
  11. package/dist/assets/index7.css +1 -1
  12. package/dist/assets/index8.css +1 -1
  13. package/dist/assets/index9.css +1 -1
  14. package/dist/components/ControlRenderer/controls/BooleanControl/index.js +1 -1
  15. package/dist/components/ControlRenderer/controls/ButtonControl/index.js +1 -1
  16. package/dist/components/ControlRenderer/controls/ButtonGroupControl/index.js +1 -1
  17. package/dist/components/ControlRenderer/controls/ColorControl/index.js +1 -1
  18. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.d.ts +2 -0
  19. package/dist/components/ControlRenderer/controls/DragAndDropControl/index.js +117 -0
  20. package/dist/components/ControlRenderer/controls/DragAndDropControl/types.d.ts +20 -0
  21. package/dist/components/ControlRenderer/controls/RangeControl/index.js +1 -1
  22. package/dist/components/ControlRenderer/controls/SeparatorControl/index.js +1 -1
  23. package/dist/components/ControlRenderer/controls/TextControl/index.js +16 -16
  24. package/dist/components/ControlRenderer/controls/TextControl/types.d.ts +1 -0
  25. package/dist/components/ControlRenderer/controls/index.d.ts +1 -0
  26. package/dist/components/ControlRenderer/controls/index.js +2 -1
  27. package/dist/components/ControlRenderer/controls/types.d.ts +3 -0
  28. package/dist/components/ControlRenderer/index.js +26 -26
  29. package/dist/components/DevPanel/index.js +33 -35
  30. package/dist/components/Input/index.js +1 -1
  31. package/dist/components/Select/index.js +53 -53
  32. package/dist/components/Textarea/index.d.ts +5 -0
  33. package/dist/components/Textarea/index.js +18 -0
  34. package/dist/hooks/useDevPanel/index.js +45 -17
  35. package/dist/store/ControlPersistenceService.d.ts +33 -0
  36. package/dist/store/ControlPersistenceService.js +61 -0
  37. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import '../../../../assets/index12.css';const o = "_button_1h30c_217", s = {
2
+ import '../../../../assets/index14.css';const o = "_button_1h30c_217", s = {
3
3
  button: o
4
4
  };
5
5
  function e({ control: t }) {
@@ -1,6 +1,6 @@
1
1
  import { jsx as t } from "react/jsx-runtime";
2
2
  import { ButtonControl as e } from "../ButtonControl/index.js";
3
- import '../../../../assets/index11.css';const i = "_buttonGroupContainer_1irhu_217", l = {
3
+ import '../../../../assets/index13.css';const i = "_buttonGroupContainer_1irhu_217", l = {
4
4
  buttonGroupContainer: i
5
5
  };
6
6
  function p({ control: n }) {
@@ -2,7 +2,7 @@ import { jsxs as m, jsx as l } from "react/jsx-runtime";
2
2
  import { useState as v, useEffect as C } from "react";
3
3
  import { Input as p } from "../../../Input/index.js";
4
4
  import { useDebouncedCallback as b } from "../../../../hooks/useDebounceCallback/index.js";
5
- import '../../../../assets/index10.css';const y = "_container_1oo6z_1", x = "_colorPreview_1oo6z_7", V = "_errorMessage_1oo6z_52", c = {
5
+ import '../../../../assets/index12.css';const y = "_container_1oo6z_1", x = "_colorPreview_1oo6z_7", V = "_errorMessage_1oo6z_52", c = {
6
6
  container: y,
7
7
  colorPreview: x,
8
8
  errorMessage: V
@@ -0,0 +1,2 @@
1
+ import { DragAndDropControlProps } from './types';
2
+ export declare function DragAndDropControl({ control }: DragAndDropControlProps): React.ReactNode;
@@ -0,0 +1,117 @@
1
+ import { jsxs as u, Fragment as k, jsx as r } from "react/jsx-runtime";
2
+ import { useState as n, useRef as R, useCallback as t } from "react";
3
+ import { className as M } from "../../../../utils/className/className.js";
4
+ import '../../../../assets/index11.css';const I = "_dropZone_p0d3i_9", Z = "_disabled_p0d3i_26", j = "_active_p0d3i_45", A = "_supportedFormats_p0d3i_60", P = "_dropText_p0d3i_66", N = "_droppedFile_p0d3i_71", E = "_droppedText_p0d3i_79", L = "_errorMessage_p0d3i_86", d = {
5
+ dropZone: I,
6
+ disabled: Z,
7
+ active: j,
8
+ supportedFormats: A,
9
+ dropText: P,
10
+ droppedFile: N,
11
+ droppedText: E,
12
+ errorMessage: L
13
+ };
14
+ function V({ control: s }) {
15
+ const [D, i] = n(!1), [o, f] = n(null), [v, b] = n(!0), [g, l] = n(""), c = R(null), _ = t(
16
+ (e) => {
17
+ if (!s.allowedFileTypes)
18
+ return !0;
19
+ const a = e.toLowerCase().substring(e.lastIndexOf("."));
20
+ return s.allowedFileTypes.some((m) => m.toLowerCase() === a);
21
+ },
22
+ [s.allowedFileTypes]
23
+ ), p = t(
24
+ (e) => {
25
+ if (s.allowedFileTypes && !_(e.name)) {
26
+ l(`File type not allowed.
27
+ Supported formats: ${s.allowedFileTypes.join(", ")}`), i(!1);
28
+ return;
29
+ }
30
+ l("");
31
+ const a = new FileReader();
32
+ a.onload = () => {
33
+ i(!1);
34
+ const F = {
35
+ base64: a.result,
36
+ file: e,
37
+ name: e.name,
38
+ size: e.size,
39
+ type: e.type,
40
+ lastModified: e.lastModified,
41
+ webkitRelativePath: e.webkitRelativePath
42
+ };
43
+ f(F), b(!1), s.onDrop(F);
44
+ }, a.readAsDataURL(e);
45
+ },
46
+ [s, _, l, f, b, i]
47
+ ), h = t(() => {
48
+ !o && c.current && !s.disabled && c.current.click();
49
+ }, [o, s.disabled]), T = t(
50
+ (e) => {
51
+ const a = e.target.files;
52
+ a && a.length > 0 && p(a[0]), e.target.value = "";
53
+ },
54
+ [p]
55
+ ), w = t(
56
+ (e) => {
57
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!0), l(""));
58
+ },
59
+ [s.disabled]
60
+ ), y = t(
61
+ (e) => {
62
+ if (s.disabled) return;
63
+ e.preventDefault(), e.stopPropagation();
64
+ const a = e.dataTransfer.files;
65
+ a.length > 0 && p(a[0]);
66
+ },
67
+ [p, s.disabled]
68
+ ), x = t(
69
+ (e) => {
70
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!0), l(""));
71
+ },
72
+ [s.disabled]
73
+ ), C = t(
74
+ (e) => {
75
+ s.disabled || (e.preventDefault(), e.stopPropagation(), i(!1));
76
+ },
77
+ [s.disabled]
78
+ );
79
+ return /* @__PURE__ */ u(k, { children: [
80
+ /* @__PURE__ */ r(
81
+ "input",
82
+ {
83
+ ref: c,
84
+ type: "file",
85
+ style: { display: "none" },
86
+ accept: s.allowedFileTypes?.join(","),
87
+ onChange: T,
88
+ disabled: s.disabled
89
+ }
90
+ ),
91
+ /* @__PURE__ */ r(
92
+ "div",
93
+ {
94
+ ...M(d.dropZone, {
95
+ [d.active]: D,
96
+ [d.disabled]: !!s.disabled
97
+ }),
98
+ onDragEnter: w,
99
+ onDragOver: x,
100
+ onDragLeave: C,
101
+ onDrop: y,
102
+ onClick: h,
103
+ children: g ? /* @__PURE__ */ r("div", { className: d.errorMessage, children: /* @__PURE__ */ r("p", { children: g }) }) : o ? /* @__PURE__ */ r("div", { className: d.droppedFile, children: /* @__PURE__ */ u("p", { className: d.droppedText, children: [
104
+ "Dropped '",
105
+ o.name,
106
+ "'"
107
+ ] }) }) : v ? /* @__PURE__ */ u("div", { children: [
108
+ /* @__PURE__ */ r("p", { className: d.dropText, children: "Drag & Drop a file here or click to browse" }),
109
+ /* @__PURE__ */ r("p", { className: d.supportedFormats, children: s.allowedFileTypes ? `Supported formats: ${s.allowedFileTypes.join(", ")}` : "All file types are supported" })
110
+ ] }) : null
111
+ }
112
+ )
113
+ ] });
114
+ }
115
+ export {
116
+ V as DragAndDropControl
117
+ };
@@ -0,0 +1,20 @@
1
+ import { BaseControl } from '../types';
2
+ export type FileInfo = {
3
+ name: string;
4
+ size: number;
5
+ type: string;
6
+ file: File;
7
+ base64: string;
8
+ lastModified: number;
9
+ webkitRelativePath: string;
10
+ };
11
+
12
+ export interface DragAndDropControl extends BaseControl {
13
+ type: "dragAndDrop";
14
+ onDrop: (value: FileInfo) => void;
15
+ allowedFileTypes?: string[];
16
+ }
17
+
18
+ export interface DragAndDropControlProps {
19
+ control: DragAndDropControl;
20
+ }
@@ -1,6 +1,6 @@
1
1
  import { jsxs as g, jsx as i } from "react/jsx-runtime";
2
2
  import { useState as o, useEffect as m } from "react";
3
- import '../../../../assets/index9.css';const v = "_container_1a1cs_1", h = "_range_1a1cs_9", d = "_value_1a1cs_115", u = {
3
+ import '../../../../assets/index10.css';const v = "_container_1a1cs_1", h = "_range_1a1cs_9", d = "_value_1a1cs_115", u = {
4
4
  container: v,
5
5
  range: h,
6
6
  value: d
@@ -1,5 +1,5 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import '../../../../assets/index8.css';const s = "_line_174q4_1", t = "_space_174q4_9", i = "_labelContainer_174q4_14", c = "_label_174q4_14", l = {
2
+ import '../../../../assets/index9.css';const s = "_line_174q4_1", t = "_space_174q4_9", i = "_labelContainer_174q4_14", c = "_label_174q4_14", l = {
3
3
  line: s,
4
4
  space: t,
5
5
  labelContainer: i,
@@ -1,27 +1,27 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import { useState as h, useEffect as i } from "react";
3
- import { Input as s } from "../../../Input/index.js";
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { useState as s, useEffect as r } from "react";
3
+ import { Textarea as f } from "../../../Textarea/index.js";
4
4
  function v({ control: e }) {
5
- const n = e.event || "onChange", [l, u] = h(e.value);
6
- function o(t) {
7
- const a = t.target.value;
8
- u(a), n === "onChange" && e.onChange(a);
5
+ const n = e.event || "onChange", [t, l] = s(e.value);
6
+ function o(u) {
7
+ const a = u.target.value;
8
+ l(a), n === "onChange" && e.onChange(a);
9
9
  }
10
- function r(t) {
11
- const a = t.target.value;
10
+ function d(u) {
11
+ const a = u.target.value;
12
12
  n === "onBlur" && e.onChange(a);
13
13
  }
14
- return i(() => {
15
- u(e.value);
16
- }, [e.value]), /* @__PURE__ */ f(
17
- s,
14
+ return r(() => {
15
+ l(e.value);
16
+ }, [e.value]), /* @__PURE__ */ i(
17
+ f,
18
18
  {
19
- type: "text",
20
- value: l,
19
+ value: t,
21
20
  placeholder: e.placeholder,
22
21
  disabled: e.disabled,
23
22
  onChange: o,
24
- ...n === "onBlur" && { onBlur: r }
23
+ disableAutoExpand: e.disableAutoExpand,
24
+ ...n === "onBlur" && { onBlur: d }
25
25
  }
26
26
  );
27
27
  }
@@ -3,6 +3,7 @@ export interface TextControl extends BaseInputControl {
3
3
  type: "text";
4
4
  value: string;
5
5
  placeholder?: string;
6
+ disableAutoExpand?: boolean;
6
7
  }
7
8
 
8
9
  export interface TextControlProps {
@@ -15,4 +15,5 @@ export declare const controls: Readonly<{
15
15
  separator: import('react').LazyExoticComponent<typeof import('./SeparatorControl').SeparatorControl>;
16
16
  text: import('react').LazyExoticComponent<typeof import('./TextControl').TextControl>;
17
17
  buttonGroup: import('react').LazyExoticComponent<typeof import('./ButtonGroupControl').ButtonGroupControl>;
18
+ dragAndDrop: import('react').LazyExoticComponent<typeof import('./DragAndDropControl').DragAndDropControl>;
18
19
  }>;
@@ -10,7 +10,8 @@ const r = Object.freeze({
10
10
  multiselect: o(() => import("./MultiSelectControl/index.js").then((t) => ({ default: t.MultiSelectControl }))),
11
11
  separator: o(() => import("./SeparatorControl/index.js").then((t) => ({ default: t.SeparatorControl }))),
12
12
  text: o(() => import("./TextControl/index.js").then((t) => ({ default: t.TextControl }))),
13
- buttonGroup: o(() => import("./ButtonGroupControl/index.js").then((t) => ({ default: t.ButtonGroupControl })))
13
+ buttonGroup: o(() => import("./ButtonGroupControl/index.js").then((t) => ({ default: t.ButtonGroupControl }))),
14
+ dragAndDrop: o(() => import("./DragAndDropControl/index.js").then((t) => ({ default: t.DragAndDropControl })))
14
15
  });
15
16
  export {
16
17
  r as controls
@@ -3,6 +3,7 @@ import { ButtonControl } from './ButtonControl/types';
3
3
  import { ButtonGroupControl } from './ButtonGroupControl/types';
4
4
  import { ColorControl } from './ColorControl/types';
5
5
  import { DateControl } from './DateControl/types';
6
+ import { DragAndDropControl } from './DragAndDropControl/types';
6
7
  import { MultiSelectControl } from './MultiSelectControl/types';
7
8
  import { NumberControl } from './NumberControl/types';
8
9
  import { RangeControl } from './RangeControl/types';
@@ -13,6 +14,7 @@ export interface BaseControl {
13
14
  label?: string;
14
15
  description?: string;
15
16
  disabled?: boolean;
17
+ persist?: boolean;
16
18
  }
17
19
 
18
20
  export interface BaseInputControl extends BaseControl {
@@ -32,6 +34,7 @@ export type Controls = {
32
34
  date: DateControl;
33
35
  separator: SeparatorControl;
34
36
  buttonGroup: ButtonGroupControl;
37
+ dragAndDrop: DragAndDropControl;
35
38
  };
36
39
 
37
40
  export type ControlsNames = keyof Controls;
@@ -1,52 +1,52 @@
1
1
  import { jsxs as t, jsx as n } from "react/jsx-runtime";
2
2
  import { Suspense as c } from "react";
3
- import { className as s } from "../../utils/className/className.js";
3
+ import { className as l } from "../../utils/className/className.js";
4
4
  import { controls as d } from "./controls/index.js";
5
- import '../../assets/index5.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 = {
5
+ import '../../assets/index5.css';const p = "_controlRendererContainer_jru2l_1", u = "_controlContainer_jru2l_5", _ = "_hoverable_jru2l_15", f = "_fullWidth_jru2l_18", h = "_label_jru2l_21", b = "_controlWrapper_jru2l_24", j = "_justifyStart_jru2l_30", C = "_description_jru2l_46", m = "_loading_jru2l_55", y = "_error_jru2l_74", e = {
6
6
  controlRendererContainer: p,
7
- controlContainer: _,
8
- hoverable: u,
9
- fullWidth: v,
10
- label: f,
11
- controlWrapper: h,
12
- justifyStart: b,
7
+ controlContainer: u,
8
+ hoverable: _,
9
+ fullWidth: f,
10
+ label: h,
11
+ controlWrapper: b,
12
+ justifyStart: j,
13
13
  description: C,
14
14
  loading: m,
15
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" });
16
+ }, v = ["button", "buttonGroup", "separator", "dragAndDrop"], g = ["separator", "dragAndDrop"], W = ["button", "separator", "dragAndDrop"];
17
+ function A({ name: i, control: r }) {
18
+ const a = r?.label || i;
19
+ function s() {
20
+ if (!r || !r.type)
21
+ return /* @__PURE__ */ n("div", { className: e.error, children: "Control type is not defined" });
22
+ const o = d[r.type];
23
+ return o ? /* @__PURE__ */ n(c, { fallback: /* @__PURE__ */ n("div", { className: e.loading, children: "Loading control..." }), children: /* @__PURE__ */ n(o, { control: r }) }) : /* @__PURE__ */ n("div", { children: "Unknown control type" });
24
24
  }
25
- return /* @__PURE__ */ t("div", { className: r.controlRendererContainer, children: [
25
+ return /* @__PURE__ */ t("div", { className: e.controlRendererContainer, children: [
26
26
  /* @__PURE__ */ t(
27
27
  "div",
28
28
  {
29
- ...s(r.controlContainer, {
30
- [r.fullWidth]: W.includes(e.type),
31
- [r.hoverable]: !j.includes(e.type)
29
+ ...l(e.controlContainer, {
30
+ [e.fullWidth]: v.includes(r.type),
31
+ [e.hoverable]: !g.includes(r.type)
32
32
  }),
33
33
  children: [
34
- !N.includes(e.type) && /* @__PURE__ */ n("label", { className: r.label, children: i }),
34
+ !W.includes(r.type) && /* @__PURE__ */ n("label", { className: e.label, children: a }),
35
35
  /* @__PURE__ */ n(
36
36
  "div",
37
37
  {
38
- ...s(r.controlWrapper, {
39
- [r.justifyStart]: e.type === "separator"
38
+ ...l(e.controlWrapper, {
39
+ [e.justifyStart]: r.type === "separator"
40
40
  }),
41
- children: a()
41
+ children: s()
42
42
  }
43
43
  )
44
44
  ]
45
45
  }
46
46
  ),
47
- e?.description && /* @__PURE__ */ n("span", { className: r.description, children: e.description })
47
+ r?.description && /* @__PURE__ */ n("span", { className: e.description, children: r.description })
48
48
  ] });
49
49
  }
50
50
  export {
51
- L as ControlRenderer
51
+ A as ControlRenderer
52
52
  };
@@ -1,71 +1,69 @@
1
- import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
- import { useCallback as D, useEffect as y } from "react";
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { useCallback as y, useEffect as D } from "react";
3
3
  import { useDragAndDrop as b } from "../../hooks/useDragAndDrop/index.js";
4
- import { useHotkey as w } from "../../hooks/useHotKey/index.js";
5
- import { useDevPanelSections as K } from "../../store/SectionsStore.js";
6
- import { useDevPanelUI as N, useDevPanelThemeActions as k } from "../../store/UIStore.js";
7
- import { className as x } from "../../utils/className/className.js";
8
- import { EmptyContent as E } from "../EmptyContent/index.js";
4
+ import { useHotkey as g } from "../../hooks/useHotKey/index.js";
5
+ import { useDevPanelSections as w } from "../../store/SectionsStore.js";
6
+ import { useDevPanelUI as K, useDevPanelThemeActions as N } from "../../store/UIStore.js";
7
+ import { className as k } from "../../utils/className/className.js";
8
+ import { EmptyContent as x } from "../EmptyContent/index.js";
9
9
  import { Icon as f } from "../Icon/index.js";
10
- import { Section as j } from "../Section/index.js";
11
- import '../../assets/index2.css';const A = "_devPanelContainer_1089m_217", S = "_header_1089m_256", H = "_title_1089m_271", I = "_button_1089m_282", T = "_collapsed_1089m_318", V = "_content_1089m_325", t = {
12
- devPanelContainer: A,
13
- header: S,
14
- title: H,
15
- button: I,
16
- collapsed: T,
17
- content: V
18
- }, O = {
10
+ import { Section as E } from "../Section/index.js";
11
+ import '../../assets/index2.css';const j = "_devPanelContainer_11dce_217", A = "_header_11dce_256", S = "_title_11dce_271", H = "_button_11dce_283", I = "_collapsed_11dce_319", T = "_content_11dce_326", t = {
12
+ devPanelContainer: j,
13
+ header: A,
14
+ title: S,
15
+ button: H,
16
+ collapsed: I,
17
+ content: T
18
+ }, V = {
19
19
  ctrlKey: !0,
20
20
  shiftKey: !0,
21
21
  key: "a",
22
22
  altKey: !1,
23
23
  metaKey: !1
24
24
  };
25
- function M({ panelTitle: h = "Dev panel", ...o }) {
26
- const { isVisible: i, isCollapsed: n, position: l, setVisible: a, setCollapsed: u, setPosition: r } = N(), { setTheme: c } = k(), p = K(), _ = D(
25
+ function L({ panelTitle: h = "Dev panel", ...o }) {
26
+ const { isVisible: i, isCollapsed: n, position: l, setVisible: a, setCollapsed: u, setPosition: c } = K(), { setTheme: r } = N(), p = w(), _ = y(
27
27
  (s) => {
28
- r(s);
28
+ c(s);
29
29
  },
30
- [r]
31
- ), { isDragging: v, elementRef: C, handlePointerDown: g } = b({
30
+ [c]
31
+ ), { elementRef: v, handlePointerDown: C } = b({
32
32
  onPositionChange: _
33
33
  });
34
- if (w({
34
+ if (g({
35
35
  description: "Show Dev Panel",
36
36
  preventDefault: !0,
37
37
  action: () => a(!i),
38
- ...O,
38
+ ...V,
39
39
  ...o.hotKeyConfig,
40
40
  target: window
41
- }), y(() => {
42
- o.theme && c(o.theme);
43
- }, [o.theme, c]), !i)
41
+ }), D(() => {
42
+ o.theme && r(o.theme);
43
+ }, [o.theme, r]), !i)
44
44
  return null;
45
- const m = Object.entries(p);
46
- return /* @__PURE__ */ d(
45
+ const d = Object.entries(p);
46
+ return /* @__PURE__ */ m(
47
47
  "div",
48
48
  {
49
- ref: C,
50
- ...x(t.devPanelContainer, {
51
- [t.dragging]: v
52
- }),
49
+ ref: v,
50
+ ...k(t.devPanelContainer),
53
51
  style: {
54
52
  left: l.x,
55
53
  top: l.y,
56
54
  height: n ? "auto" : void 0
57
55
  },
58
56
  children: [
59
- /* @__PURE__ */ d("div", { className: t.header, onPointerDown: g, children: [
57
+ /* @__PURE__ */ m("div", { className: t.header, onPointerDown: C, children: [
60
58
  /* @__PURE__ */ e("button", { className: t.button, onClick: () => u(!n), title: n ? "Expand" : "Collapse", children: /* @__PURE__ */ e(f, { name: "ArrowDown", className: n ? t.collapsed : void 0 }) }),
61
59
  /* @__PURE__ */ e("div", { className: t.title, children: h }),
62
60
  /* @__PURE__ */ e("button", { className: t.button, onClick: () => a(!1), title: "Close", children: /* @__PURE__ */ e(f, { name: "Close" }) })
63
61
  ] }),
64
- !n && /* @__PURE__ */ e("div", { className: t.content, children: m.length ? m.map(([s, P]) => /* @__PURE__ */ e(j, { sectionName: s, section: P }, `section-${s}`)) : /* @__PURE__ */ e(E, {}) })
62
+ !n && /* @__PURE__ */ e("div", { className: t.content, children: d.length ? d.map(([s, P]) => /* @__PURE__ */ e(E, { sectionName: s, section: P }, `section-${s}`)) : /* @__PURE__ */ e(x, {}) })
65
63
  ]
66
64
  }
67
65
  );
68
66
  }
69
67
  export {
70
- M as DevPanel
68
+ L as DevPanel
71
69
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as n } from "react/jsx-runtime";
2
- import '../../assets/index7.css';const u = "_input_icuc6_217", i = {
2
+ import '../../assets/index8.css';const u = "_input_icuc6_217", i = {
3
3
  input: u
4
4
  };
5
5
  function s(t) {