@objectifthunes/whiteboard 0.2.7 → 0.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.
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { jsx as n, jsxs as d, Fragment as re } from "react/jsx-runtime";
2
- import { useEffect as Y, useRef as k, useCallback as B, memo as Re, useId as We, useState as Me, useLayoutEffect as Xe, Component as Ye, useMemo as ye, forwardRef as me, createElement as T } from "react";
3
- import { create as De } from "zustand";
4
- import { createPortal as Ie } from "react-dom";
5
- const D = (e = 14) => ({
1
+ import { jsx as r, jsxs as m, Fragment as et } from "react/jsx-runtime";
2
+ import { useEffect as Y, useRef as M, useCallback as $, memo as Ct, useId as Tt, useState as vt, useLayoutEffect as Rt, Component as Wt, useMemo as bt, forwardRef as dt, createElement as W } from "react";
3
+ import { create as Xt } from "zustand";
4
+ import { createPortal as Yt } from "react-dom";
5
+ const D = (t = 14) => ({
6
6
  xmlns: "http://www.w3.org/2000/svg",
7
- width: e,
8
- height: e,
7
+ width: t,
8
+ height: t,
9
9
  viewBox: "0 0 24 24",
10
10
  fill: "none",
11
11
  stroke: "currentColor",
@@ -13,166 +13,166 @@ const D = (e = 14) => ({
13
13
  strokeLinecap: "round",
14
14
  strokeLinejoin: "round"
15
15
  });
16
- function Fe({ size: e, ...t }) {
17
- return /* @__PURE__ */ n("svg", { ...D(e), ...t, children: /* @__PURE__ */ n("path", { d: "M5 12h14" }) });
16
+ function Dt({ size: t, ...e }) {
17
+ return /* @__PURE__ */ r("svg", { ...D(t), ...e, children: /* @__PURE__ */ r("path", { d: "M5 12h14" }) });
18
18
  }
19
- function Ge({ size: e, ...t }) {
20
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
21
- /* @__PURE__ */ n("path", { d: "M5 12h14" }),
22
- /* @__PURE__ */ n("path", { d: "M12 5v14" })
19
+ function It({ size: t, ...e }) {
20
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
21
+ /* @__PURE__ */ r("path", { d: "M5 12h14" }),
22
+ /* @__PURE__ */ r("path", { d: "M12 5v14" })
23
23
  ] });
24
24
  }
25
- function Le({ size: e, ...t }) {
26
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
27
- /* @__PURE__ */ n("path", { d: "M3 7V5a2 2 0 0 1 2-2h2" }),
28
- /* @__PURE__ */ n("path", { d: "M17 3h2a2 2 0 0 1 2 2v2" }),
29
- /* @__PURE__ */ n("path", { d: "M21 17v2a2 2 0 0 1-2 2h-2" }),
30
- /* @__PURE__ */ n("path", { d: "M7 21H5a2 2 0 0 1-2-2v-2" }),
31
- /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "3" }),
32
- /* @__PURE__ */ n("path", { d: "m16 16-1.9-1.9" })
25
+ function Ft({ size: t, ...e }) {
26
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
27
+ /* @__PURE__ */ r("path", { d: "M3 7V5a2 2 0 0 1 2-2h2" }),
28
+ /* @__PURE__ */ r("path", { d: "M17 3h2a2 2 0 0 1 2 2v2" }),
29
+ /* @__PURE__ */ r("path", { d: "M21 17v2a2 2 0 0 1-2 2h-2" }),
30
+ /* @__PURE__ */ r("path", { d: "M7 21H5a2 2 0 0 1-2-2v-2" }),
31
+ /* @__PURE__ */ r("circle", { cx: "12", cy: "12", r: "3" }),
32
+ /* @__PURE__ */ r("path", { d: "m16 16-1.9-1.9" })
33
33
  ] });
34
34
  }
35
- function Ee({ size: e, ...t }) {
36
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
37
- /* @__PURE__ */ n("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
38
- /* @__PURE__ */ n("path", { d: "M3 3v5h5" })
35
+ function Gt({ size: t, ...e }) {
36
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
37
+ /* @__PURE__ */ r("path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" }),
38
+ /* @__PURE__ */ r("path", { d: "M3 3v5h5" })
39
39
  ] });
40
40
  }
41
- function Ae({ size: e, ...t }) {
42
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
43
- /* @__PURE__ */ n("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
44
- /* @__PURE__ */ n("path", { d: "M3 9h18" }),
45
- /* @__PURE__ */ n("path", { d: "M3 15h18" }),
46
- /* @__PURE__ */ n("path", { d: "M9 3v18" }),
47
- /* @__PURE__ */ n("path", { d: "M15 3v18" })
41
+ function Et({ size: t, ...e }) {
42
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
43
+ /* @__PURE__ */ r("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
44
+ /* @__PURE__ */ r("path", { d: "M3 9h18" }),
45
+ /* @__PURE__ */ r("path", { d: "M3 15h18" }),
46
+ /* @__PURE__ */ r("path", { d: "M9 3v18" }),
47
+ /* @__PURE__ */ r("path", { d: "M15 3v18" })
48
48
  ] });
49
49
  }
50
- function Oe({ size: e, ...t }) {
51
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
52
- /* @__PURE__ */ n("polyline", { points: "15 3 21 3 21 9" }),
53
- /* @__PURE__ */ n("polyline", { points: "9 21 3 21 3 15" }),
54
- /* @__PURE__ */ n("line", { x1: "21", x2: "14", y1: "3", y2: "10" }),
55
- /* @__PURE__ */ n("line", { x1: "3", x2: "10", y1: "21", y2: "14" })
50
+ function Lt({ size: t, ...e }) {
51
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
52
+ /* @__PURE__ */ r("polyline", { points: "15 3 21 3 21 9" }),
53
+ /* @__PURE__ */ r("polyline", { points: "9 21 3 21 3 15" }),
54
+ /* @__PURE__ */ r("line", { x1: "21", x2: "14", y1: "3", y2: "10" }),
55
+ /* @__PURE__ */ r("line", { x1: "3", x2: "10", y1: "21", y2: "14" })
56
56
  ] });
57
57
  }
58
- function pe({ size: e, ...t }) {
59
- return /* @__PURE__ */ n("svg", { ...D(e), ...t, children: /* @__PURE__ */ n("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
58
+ function ht({ size: t, ...e }) {
59
+ return /* @__PURE__ */ r("svg", { ...D(t), ...e, children: /* @__PURE__ */ r("path", { d: "M21 12a9 9 0 1 1-6.219-8.56" }) });
60
60
  }
61
- function Be({ size: e, ...t }) {
62
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
63
- /* @__PURE__ */ n("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
64
- /* @__PURE__ */ n("path", { d: "M12 9v4" }),
65
- /* @__PURE__ */ n("path", { d: "M12 17h.01" })
61
+ function Ot({ size: t, ...e }) {
62
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
63
+ /* @__PURE__ */ r("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
64
+ /* @__PURE__ */ r("path", { d: "M12 9v4" }),
65
+ /* @__PURE__ */ r("path", { d: "M12 17h.01" })
66
66
  ] });
67
67
  }
68
- function He({ size: e, ...t }) {
69
- return /* @__PURE__ */ n("svg", { ...D(e), ...t, children: /* @__PURE__ */ n("path", { d: "M20 6 9 17l-5-5" }) });
68
+ function At({ size: t, ...e }) {
69
+ return /* @__PURE__ */ r("svg", { ...D(t), ...e, children: /* @__PURE__ */ r("path", { d: "M20 6 9 17l-5-5" }) });
70
70
  }
71
- function Pe({ size: e, ...t }) {
72
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
73
- /* @__PURE__ */ n("path", { d: "M18 6 6 18" }),
74
- /* @__PURE__ */ n("path", { d: "m6 6 12 12" })
71
+ function Nt({ size: t, ...e }) {
72
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
73
+ /* @__PURE__ */ r("path", { d: "M18 6 6 18" }),
74
+ /* @__PURE__ */ r("path", { d: "m6 6 12 12" })
75
75
  ] });
76
76
  }
77
- function $e({ size: e, ...t }) {
78
- return /* @__PURE__ */ n("svg", { ...D(e), ...t, children: /* @__PURE__ */ n("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }) });
79
- }
80
- function Ve({ size: e, ...t }) {
81
- return /* @__PURE__ */ d("svg", { ...D(e), ...t, children: [
82
- /* @__PURE__ */ n("circle", { cx: "12", cy: "12", r: "4" }),
83
- /* @__PURE__ */ n("path", { d: "M12 2v2" }),
84
- /* @__PURE__ */ n("path", { d: "M12 20v2" }),
85
- /* @__PURE__ */ n("path", { d: "m4.93 4.93 1.41 1.41" }),
86
- /* @__PURE__ */ n("path", { d: "m17.66 17.66 1.41 1.41" }),
87
- /* @__PURE__ */ n("path", { d: "M2 12h2" }),
88
- /* @__PURE__ */ n("path", { d: "M20 12h2" }),
89
- /* @__PURE__ */ n("path", { d: "m6.34 17.66-1.41 1.41" }),
90
- /* @__PURE__ */ n("path", { d: "m19.07 4.93-1.41 1.41" })
77
+ function $t({ size: t, ...e }) {
78
+ return /* @__PURE__ */ r("svg", { ...D(t), ...e, children: /* @__PURE__ */ r("path", { d: "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z" }) });
79
+ }
80
+ function Bt({ size: t, ...e }) {
81
+ return /* @__PURE__ */ m("svg", { ...D(t), ...e, children: [
82
+ /* @__PURE__ */ r("circle", { cx: "12", cy: "12", r: "4" }),
83
+ /* @__PURE__ */ r("path", { d: "M12 2v2" }),
84
+ /* @__PURE__ */ r("path", { d: "M12 20v2" }),
85
+ /* @__PURE__ */ r("path", { d: "m4.93 4.93 1.41 1.41" }),
86
+ /* @__PURE__ */ r("path", { d: "m17.66 17.66 1.41 1.41" }),
87
+ /* @__PURE__ */ r("path", { d: "M2 12h2" }),
88
+ /* @__PURE__ */ r("path", { d: "M20 12h2" }),
89
+ /* @__PURE__ */ r("path", { d: "m6.34 17.66-1.41 1.41" }),
90
+ /* @__PURE__ */ r("path", { d: "m19.07 4.93-1.41 1.41" })
91
91
  ] });
92
92
  }
93
- const he = 20;
94
- function ue(e) {
95
- return Math.round(e / he) * he;
93
+ const ut = 20;
94
+ function ct(t) {
95
+ return Math.round(t / ut) * ut;
96
96
  }
97
- function Se(e, t, r = 60) {
98
- if (e.size === 0) return null;
99
- let s = 1 / 0, a = 1 / 0, u = -1 / 0, m = -1 / 0;
100
- for (const v of e.values())
101
- s = Math.min(s, v.x), a = Math.min(a, v.y), u = Math.max(u, v.x + v.width), m = Math.max(m, v.y + v.height);
102
- const f = u - s + r * 2, p = m - a + r * 2, w = t.width || window.innerWidth, h = t.height || window.innerHeight, N = Math.min(w / f, h / p, 1.5), M = (s + u) / 2, P = (a + m) / 2;
97
+ function gt(t, e, n = 60) {
98
+ if (t.size === 0) return null;
99
+ let s = 1 / 0, a = 1 / 0, u = -1 / 0, h = -1 / 0;
100
+ for (const v of t.values())
101
+ s = Math.min(s, v.x), a = Math.min(a, v.y), u = Math.max(u, v.x + v.width), h = Math.max(h, v.y + v.height);
102
+ const f = u - s + n * 2, p = h - a + n * 2, w = e.width || window.innerWidth, d = e.height || window.innerHeight, N = Math.min(w / f, d / p, 1.5), k = (s + u) / 2, P = (a + h) / 2;
103
103
  return {
104
104
  scale: Math.min(3, Math.max(0.2, N)),
105
105
  offset: {
106
- x: w / 2 - M * N,
107
- y: h / 2 - P * N
106
+ x: w / 2 - k * N,
107
+ y: d / 2 - P * N
108
108
  }
109
109
  };
110
110
  }
111
- function je(e, t, r = 40, s = 1.5) {
112
- const a = t.width || window.innerWidth, u = t.height || window.innerHeight, m = Math.max(1, e.width), f = Math.max(1, e.height), p = Math.min(
113
- (a - r * 2) / m,
114
- (u - r * 2) / f,
111
+ function Ht(t, e, n = 40, s = 1.5) {
112
+ const a = e.width || window.innerWidth, u = e.height || window.innerHeight, h = Math.max(1, t.width), f = Math.max(1, t.height), p = Math.min(
113
+ (a - n * 2) / h,
114
+ (u - n * 2) / f,
115
115
  s
116
116
  ), w = Math.min(3, Math.max(0.2, p));
117
117
  return {
118
118
  scale: w,
119
119
  offset: {
120
- x: a / 2 - (e.x + m / 2) * w,
121
- y: u / 2 - (e.y + f / 2) * w
120
+ x: a / 2 - (t.x + h / 2) * w,
121
+ y: u / 2 - (t.y + f / 2) * w
122
122
  }
123
123
  };
124
124
  }
125
- const b = De((e, t) => ({
125
+ const b = Xt((t, e) => ({
126
126
  offset: { x: 0, y: 0 },
127
127
  scale: 1,
128
128
  viewportSize: { width: 0, height: 0 },
129
129
  snapToGrid: !1,
130
- snapGridSize: he,
130
+ snapGridSize: ut,
131
131
  panels: /* @__PURE__ */ new Map(),
132
132
  resetFns: /* @__PURE__ */ new Map(),
133
133
  registryVersion: 0,
134
- setOffset: (r) => e((s) => ({ offset: typeof r == "function" ? r(s.offset) : r })),
135
- setScale: (r) => e((s) => ({ scale: typeof r == "function" ? r(s.scale) : r })),
136
- setViewportSize: (r) => e({ viewportSize: r }),
137
- setSnapToGrid: (r) => e((s) => ({ snapToGrid: typeof r == "function" ? r(s.snapToGrid) : r })),
138
- register: (r, s) => {
139
- t().panels.set(r, s), e((a) => ({ registryVersion: a.registryVersion + 1 }));
134
+ setOffset: (n) => t((s) => ({ offset: typeof n == "function" ? n(s.offset) : n })),
135
+ setScale: (n) => t((s) => ({ scale: typeof n == "function" ? n(s.scale) : n })),
136
+ setViewportSize: (n) => t({ viewportSize: n }),
137
+ setSnapToGrid: (n) => t((s) => ({ snapToGrid: typeof n == "function" ? n(s.snapToGrid) : n })),
138
+ register: (n, s) => {
139
+ e().panels.set(n, s), t((a) => ({ registryVersion: a.registryVersion + 1 }));
140
140
  },
141
- unregister: (r) => {
142
- t().panels.delete(r), e((s) => ({ registryVersion: s.registryVersion + 1 }));
141
+ unregister: (n) => {
142
+ e().panels.delete(n), t((s) => ({ registryVersion: s.registryVersion + 1 }));
143
143
  },
144
- registerReset: (r, s) => {
145
- t().resetFns.set(r, s);
144
+ registerReset: (n, s) => {
145
+ e().resetFns.set(n, s);
146
146
  },
147
- unregisterReset: (r) => {
148
- t().resetFns.delete(r);
147
+ unregisterReset: (n) => {
148
+ e().resetFns.delete(n);
149
149
  },
150
150
  fitToContent: () => {
151
- const { panels: r, viewportSize: s } = t(), a = Se(r, s);
152
- a && e({ scale: a.scale, offset: a.offset });
151
+ const { panels: n, viewportSize: s } = e(), a = gt(n, s);
152
+ a && t({ scale: a.scale, offset: a.offset });
153
153
  },
154
- focusPanel: (r, s) => {
155
- const { viewportSize: a } = t(), u = je(
156
- r,
154
+ focusPanel: (n, s) => {
155
+ const { viewportSize: a } = e(), u = Ht(
156
+ n,
157
157
  a,
158
158
  (s == null ? void 0 : s.padding) ?? 40,
159
159
  (s == null ? void 0 : s.maxScale) ?? 1.5
160
160
  );
161
- e({ scale: u.scale, offset: u.offset });
161
+ t({ scale: u.scale, offset: u.offset });
162
162
  },
163
163
  resetWidgets: () => {
164
- for (const s of t().resetFns.values()) s();
165
- const r = (s = 0) => {
166
- const { panels: a, viewportSize: u } = t(), m = Se(a, u);
167
- if (m) {
168
- e({ scale: m.scale, offset: m.offset });
164
+ for (const s of e().resetFns.values()) s();
165
+ const n = (s = 0) => {
166
+ const { panels: a, viewportSize: u } = e(), h = gt(a, u);
167
+ if (h) {
168
+ t({ scale: h.scale, offset: h.offset });
169
169
  return;
170
170
  }
171
- s < 6 && requestAnimationFrame(() => r(s + 1));
171
+ s < 6 && requestAnimationFrame(() => n(s + 1));
172
172
  };
173
- requestAnimationFrame(() => requestAnimationFrame(() => r()));
173
+ requestAnimationFrame(() => requestAnimationFrame(() => n()));
174
174
  },
175
- resetSession: () => e({
175
+ resetSession: () => t({
176
176
  offset: { x: 0, y: 0 },
177
177
  scale: 1,
178
178
  viewportSize: { width: 0, height: 0 },
@@ -182,102 +182,102 @@ const b = De((e, t) => ({
182
182
  resetFns: /* @__PURE__ */ new Map()
183
183
  })
184
184
  }));
185
- function Ue({ extraActions: e }) {
186
- const t = b((h) => h.scale), r = b((h) => h.viewportSize), s = b((h) => h.snapToGrid), a = b((h) => h.setScale), u = b((h) => h.setOffset), m = b((h) => h.setSnapToGrid), f = b((h) => h.fitToContent), p = b((h) => h.resetWidgets);
185
+ function Vt({ extraActions: t }) {
186
+ const e = b((d) => d.scale), n = b((d) => d.viewportSize), s = b((d) => d.snapToGrid), a = b((d) => d.setScale), u = b((d) => d.setOffset), h = b((d) => d.setSnapToGrid), f = b((d) => d.fitToContent), p = b((d) => d.resetWidgets);
187
187
  Y(() => {
188
188
  s && window.dispatchEvent(new Event("whiteboard-snap-now"));
189
189
  }, [s]);
190
- const w = (h) => {
191
- const N = Math.min(3, Math.max(0.2, h)), M = N / t, P = (r.width || window.innerWidth) / 2, v = (r.height || window.innerHeight) / 2;
192
- u((z) => ({
193
- x: P - (P - z.x) * M,
194
- y: v - (v - z.y) * M
190
+ const w = (d) => {
191
+ const N = Math.min(3, Math.max(0.2, d)), k = N / e, P = (n.width || window.innerWidth) / 2, v = (n.height || window.innerHeight) / 2;
192
+ u((_) => ({
193
+ x: P - (P - _.x) * k,
194
+ y: v - (v - _.y) * k
195
195
  })), a(N);
196
196
  };
197
- return /* @__PURE__ */ d(
197
+ return /* @__PURE__ */ m(
198
198
  "div",
199
199
  {
200
200
  className: "zoom-bar",
201
- onPointerDown: (h) => h.stopPropagation(),
202
- onWheel: (h) => h.stopPropagation(),
201
+ onPointerDown: (d) => d.stopPropagation(),
202
+ onWheel: (d) => d.stopPropagation(),
203
203
  children: [
204
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__icon", onClick: () => w(t * 0.8), title: "Zoom out", "aria-label": "Zoom out", children: /* @__PURE__ */ n(Fe, { size: 14 }) }),
205
- /* @__PURE__ */ d("span", { className: "zoom-bar__value", children: [
206
- Math.round(t * 100),
204
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__icon", onClick: () => w(e * 0.8), title: "Zoom out", "aria-label": "Zoom out", children: /* @__PURE__ */ r(Dt, { size: 14 }) }),
205
+ /* @__PURE__ */ m("span", { className: "zoom-bar__value", children: [
206
+ Math.round(e * 100),
207
207
  "%"
208
208
  ] }),
209
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__icon", onClick: () => w(t * 1.2), title: "Zoom in", "aria-label": "Zoom in", children: /* @__PURE__ */ n(Ge, { size: 14 }) }),
210
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__action", onClick: f, title: "Fit camera to all panels", "aria-label": "Fit camera to all panels", children: /* @__PURE__ */ n(Le, { size: 14 }) }),
211
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__action", onClick: p, title: "Reset panel positions", "aria-label": "Reset panel positions", children: /* @__PURE__ */ n(Ee, { size: 14 }) }),
212
- /* @__PURE__ */ n(
209
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__icon", onClick: () => w(e * 1.2), title: "Zoom in", "aria-label": "Zoom in", children: /* @__PURE__ */ r(It, { size: 14 }) }),
210
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__action", onClick: f, title: "Fit camera to all panels", "aria-label": "Fit camera to all panels", children: /* @__PURE__ */ r(Ft, { size: 14 }) }),
211
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__action", onClick: p, title: "Reset panel positions", "aria-label": "Reset panel positions", children: /* @__PURE__ */ r(Gt, { size: 14 }) }),
212
+ /* @__PURE__ */ r(
213
213
  "button",
214
214
  {
215
215
  type: "button",
216
216
  className: `wb-btn wb-btn--secondary wb-btn--icon-only zoom-bar__action${s ? " is-active" : ""}`,
217
- onClick: () => m((h) => !h),
217
+ onClick: () => h((d) => !d),
218
218
  title: s ? "Disable snap to grid" : "Enable snap to grid",
219
219
  "aria-label": s ? "Disable snap to grid" : "Enable snap to grid",
220
- children: /* @__PURE__ */ n(Ae, { size: 14 })
220
+ children: /* @__PURE__ */ r(Et, { size: 14 })
221
221
  }
222
222
  ),
223
- e
223
+ t
224
224
  ]
225
225
  }
226
226
  );
227
227
  }
228
- const ee = 200, te = 150, de = 40, ke = 1;
229
- function Ze({ loading: e = !1 }) {
228
+ const Q = 200, tt = 150, lt = 40, yt = 1;
229
+ function jt({ loading: t = !1 }) {
230
230
  b((i) => i.registryVersion);
231
- const t = b((i) => i.offset), r = b((i) => i.scale), s = b((i) => i.viewportSize), a = b((i) => i.panels), u = b((i) => i.setOffset), m = b((i) => i.setScale), f = b((i) => i.focusPanel), p = k(null), w = k(!1), h = k(null), M = Array.from(a.entries()).filter(([, i]) => Number.isFinite(i.width) && Number.isFinite(i.height)), P = M.map(([, i]) => i);
232
- if (e || P.length === 0)
233
- return /* @__PURE__ */ n("div", { className: "minimap minimap--loading", style: { width: ee, height: te }, children: /* @__PURE__ */ n("div", { className: "minimap__loading", children: /* @__PURE__ */ n(pe, { size: 14, className: "icon-spin" }) }) });
234
- const v = s.width || window.innerWidth, z = s.height || window.innerHeight, L = v / r, H = z / r, $ = -t.x / r, V = -t.y / r;
235
- let I = 1 / 0, c = 1 / 0, R = -1 / 0, W = -1 / 0;
231
+ const e = b((i) => i.offset), n = b((i) => i.scale), s = b((i) => i.viewportSize), a = b((i) => i.panels), u = b((i) => i.setOffset), h = b((i) => i.setScale), f = b((i) => i.focusPanel), p = M(null), w = M(!1), d = M(null), k = Array.from(a.entries()).filter(([, i]) => Number.isFinite(i.width) && Number.isFinite(i.height)), P = k.map(([, i]) => i);
232
+ if (t || P.length === 0)
233
+ return /* @__PURE__ */ r("div", { className: "minimap minimap--loading", style: { width: Q, height: tt }, children: /* @__PURE__ */ r("div", { className: "minimap__loading", children: /* @__PURE__ */ r(ht, { size: 14, className: "icon-spin" }) }) });
234
+ const v = s.width || window.innerWidth, _ = s.height || window.innerHeight, E = v / n, B = _ / n, H = -e.x / n, V = -e.y / n;
235
+ let I = 1 / 0, c = 1 / 0, T = -1 / 0, R = -1 / 0;
236
236
  for (const i of P)
237
- I = Math.min(I, i.x), c = Math.min(c, i.y), R = Math.max(R, i.x + i.width), W = Math.max(W, i.y + i.height);
238
- I -= de, c -= de, R += de, W += de;
239
- const _ = Math.max(ke, R - I), O = Math.max(ke, W - c), C = Math.min(ee / _, te / O), E = _ * C, Z = O * C, q = (ee - E) / 2, X = (te - Z) / 2, K = (i) => q + (i - I) * C, j = (i) => X + (i - c) * C, Q = (i, y) => {
237
+ I = Math.min(I, i.x), c = Math.min(c, i.y), T = Math.max(T, i.x + i.width), R = Math.max(R, i.y + i.height);
238
+ I -= lt, c -= lt, T += lt, R += lt;
239
+ const z = Math.max(yt, T - I), A = Math.max(yt, R - c), C = Math.min(Q / z, tt / A), L = z * C, Z = A * C, U = (Q - L) / 2, X = (tt - Z) / 2, q = (i) => U + (i - I) * C, j = (i) => X + (i - c) * C, J = (i, y) => {
240
240
  if (!p.current) return;
241
- const S = p.current.getBoundingClientRect(), F = Math.min(ee, Math.max(0, i - S.left)), A = Math.min(te, Math.max(0, y - S.top)), ae = Math.min(E + q, Math.max(q, F)), ie = Math.min(Z + X, Math.max(X, A)), oe = (ae - q) / C + I, ce = (ie - X) / C + c;
242
- return { worldX: oe, worldY: ce };
243
- }, J = (i, y, S) => {
241
+ const S = p.current.getBoundingClientRect(), F = Math.min(Q, Math.max(0, i - S.left)), O = Math.min(tt, Math.max(0, y - S.top)), rt = Math.min(L + U, Math.max(U, F)), st = Math.min(Z + X, Math.max(X, O)), at = (rt - U) / C + I, it = (st - X) / C + c;
242
+ return { worldX: at, worldY: it };
243
+ }, K = (i, y, S) => {
244
244
  const F = Math.min(3, Math.max(0.2, S));
245
- m(F), u({
245
+ h(F), u({
246
246
  x: v / 2 - i * F,
247
- y: z / 2 - y * F
247
+ y: _ / 2 - y * F
248
248
  });
249
- }, se = (i, y) => {
250
- const S = Q(i, y);
251
- S && J(S.worldX, S.worldY, r);
252
- }, ge = (i) => {
253
- i.stopPropagation(), i.preventDefault(), w.current = !0, i.currentTarget.setPointerCapture(i.pointerId), se(i.clientX, i.clientY);
249
+ }, nt = (i, y) => {
250
+ const S = J(i, y);
251
+ S && K(S.worldX, S.worldY, n);
252
+ }, ft = (i) => {
253
+ i.stopPropagation(), i.preventDefault(), w.current = !0, i.currentTarget.setPointerCapture(i.pointerId), nt(i.clientX, i.clientY);
254
254
  }, o = (i) => {
255
- w.current && se(i.clientX, i.clientY);
255
+ w.current && nt(i.clientX, i.clientY);
256
256
  }, g = () => {
257
257
  w.current = !1;
258
258
  };
259
- return /* @__PURE__ */ d(
259
+ return /* @__PURE__ */ m(
260
260
  "div",
261
261
  {
262
262
  ref: p,
263
- onPointerDown: ge,
263
+ onPointerDown: ft,
264
264
  onPointerMove: o,
265
265
  onPointerUp: g,
266
266
  onPointerCancel: g,
267
267
  onWheel: (i) => {
268
268
  i.preventDefault(), i.stopPropagation();
269
- const y = Q(i.clientX, i.clientY);
269
+ const y = J(i.clientX, i.clientY);
270
270
  if (!y) return;
271
271
  const S = i.deltaY > 0 ? 0.9 : 1.1;
272
- J(y.worldX, y.worldY, r * S);
272
+ K(y.worldX, y.worldY, n * S);
273
273
  },
274
274
  className: "minimap",
275
275
  style: {
276
- width: ee,
277
- height: te
276
+ width: Q,
277
+ height: tt
278
278
  },
279
279
  children: [
280
- M.map(([i, y]) => /* @__PURE__ */ n(
280
+ k.map(([i, y]) => /* @__PURE__ */ r(
281
281
  "div",
282
282
  {
283
283
  className: "minimap__panel",
@@ -286,18 +286,18 @@ function Ze({ loading: e = !1 }) {
286
286
  },
287
287
  onPointerUp: (S) => {
288
288
  S.stopPropagation();
289
- const F = Date.now(), A = h.current;
290
- if (A && A.id === i && F - A.time < 300) {
291
- S.preventDefault(), f(y, { padding: y.focusPadding, maxScale: y.focusMaxScale }), h.current = null;
289
+ const F = Date.now(), O = d.current;
290
+ if (O && O.id === i && F - O.time < 300) {
291
+ S.preventDefault(), f(y, { padding: y.focusPadding, maxScale: y.focusMaxScale }), d.current = null;
292
292
  return;
293
293
  }
294
- h.current = { id: i, time: F };
294
+ d.current = { id: i, time: F };
295
295
  },
296
296
  onDoubleClick: (S) => {
297
297
  S.preventDefault(), S.stopPropagation(), f(y, { padding: y.focusPadding, maxScale: y.focusMaxScale });
298
298
  },
299
299
  style: {
300
- left: K(y.x),
300
+ left: q(y.x),
301
301
  top: j(y.y),
302
302
  width: Math.max(1, y.width * C),
303
303
  height: Math.max(1, y.height * C)
@@ -305,15 +305,15 @@ function Ze({ loading: e = !1 }) {
305
305
  },
306
306
  i
307
307
  )),
308
- /* @__PURE__ */ n(
308
+ /* @__PURE__ */ r(
309
309
  "div",
310
310
  {
311
311
  className: "minimap__viewport",
312
312
  style: {
313
- left: K($),
313
+ left: q(H),
314
314
  top: j(V),
315
- width: L * C,
316
- height: H * C
315
+ width: E * C,
316
+ height: B * C
317
317
  }
318
318
  }
319
319
  )
@@ -321,98 +321,98 @@ function Ze({ loading: e = !1 }) {
321
321
  }
322
322
  );
323
323
  }
324
- function xt({ children: e, showMinimap: t = !0, minimapLoading: r = !1, extraActions: s }) {
325
- const a = b((c) => c.offset), u = b((c) => c.scale), m = b((c) => c.registryVersion), f = b((c) => c.viewportSize), p = b((c) => c.setOffset), w = b((c) => c.setScale), h = b((c) => c.setViewportSize), N = k(null), M = k(!1), P = k({ x: 0, y: 0 }), v = k(null), z = k(u), L = k(!1);
324
+ function fe({ children: t, showMinimap: e = !0, minimapLoading: n = !1, extraActions: s }) {
325
+ const a = b((c) => c.offset), u = b((c) => c.scale), h = b((c) => c.registryVersion), f = b((c) => c.viewportSize), p = b((c) => c.setOffset), w = b((c) => c.setScale), d = b((c) => c.setViewportSize), N = M(null), k = M(!1), P = M({ x: 0, y: 0 }), v = M(null), _ = M(u), E = M(!1);
326
326
  Y(() => () => {
327
327
  b.getState().resetSession();
328
328
  }, []), Y(() => {
329
- z.current = u;
329
+ _.current = u;
330
330
  }, [u]), Y(() => {
331
331
  const c = N.current;
332
332
  if (!c) return;
333
- const R = () => {
334
- const _ = c.getBoundingClientRect();
335
- h({
336
- width: Math.max(0, _.width),
337
- height: Math.max(0, _.height)
333
+ const T = () => {
334
+ const z = c.getBoundingClientRect();
335
+ d({
336
+ width: Math.max(0, z.width),
337
+ height: Math.max(0, z.height)
338
338
  });
339
339
  };
340
- if (R(), typeof ResizeObserver > "u") return;
341
- const W = new ResizeObserver(R);
342
- return W.observe(c), () => W.disconnect();
343
- }, [h]), Y(() => {
344
- if (L.current) return;
340
+ if (T(), typeof ResizeObserver > "u") return;
341
+ const R = new ResizeObserver(T);
342
+ return R.observe(c), () => R.disconnect();
343
+ }, [d]), Y(() => {
344
+ if (E.current) return;
345
345
  const { panels: c } = b.getState();
346
- c.size === 0 || f.width <= 0 || f.height <= 0 || (L.current = !0, requestAnimationFrame(() => {
346
+ c.size === 0 || f.width <= 0 || f.height <= 0 || (E.current = !0, requestAnimationFrame(() => {
347
347
  b.getState().fitToContent();
348
348
  }));
349
- }, [m, f]);
350
- const H = B((c) => {
351
- c.target === c.currentTarget && (c.button === 0 || c.button === 1) && (M.current = !0, v.current = c.pointerId, P.current = { x: c.clientX, y: c.clientY }, c.currentTarget.setPointerCapture(c.pointerId), c.preventDefault());
352
- }, []), $ = B((c) => {
353
- if (!M.current || v.current !== c.pointerId) return;
354
- const R = c.movementX ?? c.clientX - P.current.x, W = c.movementY ?? c.clientY - P.current.y;
355
- p((_) => ({ x: _.x + R, y: _.y + W })), P.current = { x: c.clientX, y: c.clientY };
356
- }, [p]), V = B((c) => {
349
+ }, [h, f]);
350
+ const B = $((c) => {
351
+ c.target === c.currentTarget && (c.button === 0 || c.button === 1) && (k.current = !0, v.current = c.pointerId, P.current = { x: c.clientX, y: c.clientY }, c.currentTarget.setPointerCapture(c.pointerId), c.preventDefault());
352
+ }, []), H = $((c) => {
353
+ if (!k.current || v.current !== c.pointerId) return;
354
+ const T = c.movementX ?? c.clientX - P.current.x, R = c.movementY ?? c.clientY - P.current.y;
355
+ p((z) => ({ x: z.x + T, y: z.y + R })), P.current = { x: c.clientX, y: c.clientY };
356
+ }, [p]), V = $((c) => {
357
357
  if (v.current !== null)
358
358
  try {
359
359
  c.currentTarget.releasePointerCapture(v.current);
360
360
  } catch {
361
361
  }
362
- M.current = !1, v.current = null;
363
- }, []), I = B((c) => {
364
- const R = z.current, W = c.currentTarget.getBoundingClientRect(), _ = { x: c.clientX - W.left, y: c.clientY - W.top }, O = Math.min(3, Math.max(0.2, R * (c.deltaY > 0 ? 0.9 : 1.1))), C = O / R;
365
- p((E) => ({
366
- x: _.x - (_.x - E.x) * C,
367
- y: _.y - (_.y - E.y) * C
368
- })), w(O);
362
+ k.current = !1, v.current = null;
363
+ }, []), I = $((c) => {
364
+ const T = _.current, R = c.currentTarget.getBoundingClientRect(), z = { x: c.clientX - R.left, y: c.clientY - R.top }, A = Math.min(3, Math.max(0.2, T * (c.deltaY > 0 ? 0.9 : 1.1))), C = A / T;
365
+ p((L) => ({
366
+ x: z.x - (z.x - L.x) * C,
367
+ y: z.y - (z.y - L.y) * C
368
+ })), w(A);
369
369
  }, [p, w]);
370
- return /* @__PURE__ */ d(re, { children: [
371
- /* @__PURE__ */ n(
370
+ return /* @__PURE__ */ m(et, { children: [
371
+ /* @__PURE__ */ r(
372
372
  "div",
373
373
  {
374
374
  ref: N,
375
- onPointerDown: H,
376
- onPointerMove: $,
375
+ onPointerDown: B,
376
+ onPointerMove: H,
377
377
  onPointerUp: V,
378
378
  onPointerCancel: V,
379
379
  onWheel: I,
380
380
  onContextMenu: (c) => c.preventDefault(),
381
381
  className: "whiteboard-shell",
382
- children: /* @__PURE__ */ d(
382
+ children: /* @__PURE__ */ m(
383
383
  "div",
384
384
  {
385
385
  className: "whiteboard-canvas",
386
386
  style: { transform: `translate(${a.x}px, ${a.y}px) scale(${u})` },
387
387
  children: [
388
- /* @__PURE__ */ n("div", { className: "whiteboard-grid", "aria-hidden": !0 }),
389
- e
388
+ /* @__PURE__ */ r("div", { className: "whiteboard-grid", "aria-hidden": !0 }),
389
+ t
390
390
  ]
391
391
  }
392
392
  )
393
393
  }
394
394
  ),
395
- /* @__PURE__ */ n(Ue, { extraActions: s }),
396
- t ? /* @__PURE__ */ n(Ze, { loading: r }) : null
395
+ /* @__PURE__ */ r(Vt, { extraActions: s }),
396
+ e ? /* @__PURE__ */ r(jt, { loading: n }) : null
397
397
  ] });
398
398
  }
399
- const St = Re(function({
400
- title: t,
401
- defaultPosition: r,
399
+ const be = Ct(function({
400
+ title: e,
401
+ defaultPosition: n,
402
402
  width: s = 300,
403
403
  className: a,
404
404
  trackRect: u,
405
- focusable: m,
405
+ focusable: h,
406
406
  focusPadding: f = 40,
407
407
  focusMaxScale: p = 1.5,
408
408
  headerActions: w,
409
- children: h
409
+ children: d
410
410
  }) {
411
- const N = We(), [M, P] = Me(r), v = k(!1), z = k(M), L = k(null), H = k(null), $ = b((o) => o.scale), V = b((o) => o.snapToGrid), I = b((o) => o.snapGridSize), c = b((o) => o.register), R = b((o) => o.unregister), W = b((o) => o.registerReset), _ = b((o) => o.unregisterReset), O = b((o) => o.focusPanel), C = k($), E = k(!1), Z = k(20), q = k(r), X = k(null), K = k(null);
411
+ const N = Tt(), [k, P] = vt(n), v = M(!1), _ = M(k), E = M(null), B = M(null), H = b((o) => o.scale), V = b((o) => o.snapToGrid), I = b((o) => o.snapGridSize), c = b((o) => o.register), T = b((o) => o.unregister), R = b((o) => o.registerReset), z = b((o) => o.unregisterReset), A = b((o) => o.focusPanel), C = M(H), L = M(!1), Z = M(20), U = M(n), X = M(null), q = M(null);
412
412
  Y(() => {
413
- C.current = $;
414
- }, [$]), Y(() => {
415
- E.current = V, Z.current = I;
413
+ C.current = H;
414
+ }, [H]), Y(() => {
415
+ L.current = V, Z.current = I;
416
416
  }, [V, I]), Y(() => {
417
417
  const o = () => {
418
418
  const g = Z.current;
@@ -426,156 +426,156 @@ const St = Re(function({
426
426
  };
427
427
  return window.addEventListener("whiteboard-snap-now", o), () => window.removeEventListener("whiteboard-snap-now", o);
428
428
  }, []), Y(() => {
429
- z.current = M;
430
- }, [M]);
431
- const j = B(() => {
432
- const o = L.current;
429
+ _.current = k;
430
+ }, [k]);
431
+ const j = $(() => {
432
+ const o = E.current;
433
433
  if (!o) return;
434
434
  const g = {
435
- x: z.current.x,
436
- y: z.current.y,
435
+ x: _.current.x,
436
+ y: _.current.y,
437
437
  width: o.offsetWidth,
438
438
  height: o.offsetHeight,
439
439
  focusPadding: f,
440
440
  focusMaxScale: p
441
- }, x = H.current;
442
- x && x.x === g.x && x.y === g.y && x.width === g.width && x.height === g.height && x.focusPadding === g.focusPadding && x.focusMaxScale === g.focusMaxScale || (H.current = g, c(N, g), u && (u.current = g));
443
- }, [p, f, N, c, u]), Q = B(() => {
444
- const o = L.current;
441
+ }, x = B.current;
442
+ x && x.x === g.x && x.y === g.y && x.width === g.width && x.height === g.height && x.focusPadding === g.focusPadding && x.focusMaxScale === g.focusMaxScale || (B.current = g, c(N, g), u && (u.current = g));
443
+ }, [p, f, N, c, u]), J = $(() => {
444
+ const o = E.current;
445
445
  return o ? {
446
- x: z.current.x,
447
- y: z.current.y,
446
+ x: _.current.x,
447
+ y: _.current.y,
448
448
  width: o.offsetWidth,
449
449
  height: o.offsetHeight,
450
450
  focusPadding: f,
451
451
  focusMaxScale: p
452
452
  } : null;
453
- }, [p, f]), J = B(() => {
454
- const o = Q();
455
- o && O(o, { padding: f, maxScale: p });
456
- }, [O, f, p, Q]);
457
- Y(() => (W(N, () => P(q.current)), () => {
453
+ }, [p, f]), K = $(() => {
454
+ const o = J();
455
+ o && A(o, { padding: f, maxScale: p });
456
+ }, [A, f, p, J]);
457
+ Y(() => (R(N, () => P(U.current)), () => {
458
458
  var o;
459
- (o = X.current) == null || o.call(X), R(N), _(N), H.current = null;
460
- }), [N, W, R, _]), Xe(() => {
459
+ (o = X.current) == null || o.call(X), T(N), z(N), B.current = null;
460
+ }), [N, R, T, z]), Rt(() => {
461
461
  j();
462
- }, [M.x, M.y, s, j]), Y(() => {
463
- const o = L.current;
462
+ }, [k.x, k.y, s, j]), Y(() => {
463
+ const o = E.current;
464
464
  if (!o || typeof ResizeObserver > "u") return;
465
465
  const g = new ResizeObserver(() => {
466
466
  j();
467
467
  });
468
468
  return g.observe(o), () => g.disconnect();
469
469
  }, [j]);
470
- const se = B((o) => {
471
- var ae;
470
+ const nt = $((o) => {
471
+ var rt;
472
472
  if (o.button !== 0) return;
473
473
  v.current = !0;
474
- const g = o.clientX, x = o.clientY, i = z.current.x, y = z.current.y, S = C.current;
474
+ const g = o.clientX, x = o.clientY, i = _.current.x, y = _.current.y, S = C.current;
475
475
  o.preventDefault(), o.stopPropagation(), o.target.setPointerCapture(o.pointerId);
476
- const F = (ie) => {
476
+ const F = (st) => {
477
477
  if (!v.current) return;
478
- const oe = i + (ie.clientX - g) / S, ce = y + (ie.clientY - x) / S, le = Z.current, Ce = E.current ? Math.round(oe / le) * le : oe, Te = E.current ? Math.round(ce / le) * le : ce;
478
+ const at = i + (st.clientX - g) / S, it = y + (st.clientY - x) / S, ot = Z.current, _t = L.current ? Math.round(at / ot) * ot : at, zt = L.current ? Math.round(it / ot) * ot : it;
479
479
  P({
480
- x: Ce,
481
- y: Te
480
+ x: _t,
481
+ y: zt
482
482
  });
483
- }, A = () => {
484
- v.current = !1, window.removeEventListener("pointermove", F), window.removeEventListener("pointerup", A), X.current = null;
483
+ }, O = () => {
484
+ v.current = !1, window.removeEventListener("pointermove", F), window.removeEventListener("pointerup", O), X.current = null;
485
485
  };
486
- (ae = X.current) == null || ae.call(X), window.addEventListener("pointermove", F), window.addEventListener("pointerup", A), X.current = A;
487
- }, []), ge = a ? `floating-panel ${a}` : "floating-panel";
488
- return /* @__PURE__ */ d(
486
+ (rt = X.current) == null || rt.call(X), window.addEventListener("pointermove", F), window.addEventListener("pointerup", O), X.current = O;
487
+ }, []), ft = a ? `floating-panel ${a}` : "floating-panel";
488
+ return /* @__PURE__ */ m(
489
489
  "div",
490
490
  {
491
- ref: L,
492
- className: ge,
493
- style: { left: M.x, top: M.y, width: s },
491
+ ref: E,
492
+ className: ft,
493
+ style: { left: k.x, top: k.y, width: s },
494
494
  onPointerDown: (o) => o.stopPropagation(),
495
495
  onPointerUp: (o) => {
496
496
  if (v.current) return;
497
- const g = Date.now(), x = K.current;
497
+ const g = Date.now(), x = q.current;
498
498
  if (x && g - x.time < 300) {
499
499
  const i = o.clientX - x.x, y = o.clientY - x.y;
500
500
  if (i * i + y * y < 100) {
501
- o.stopPropagation(), J(), K.current = null;
501
+ o.stopPropagation(), K(), q.current = null;
502
502
  return;
503
503
  }
504
504
  }
505
- K.current = { time: g, x: o.clientX, y: o.clientY };
505
+ q.current = { time: g, x: o.clientX, y: o.clientY };
506
506
  },
507
507
  onWheel: (o) => o.stopPropagation(),
508
508
  onDoubleClick: (o) => {
509
- o.stopPropagation(), J();
509
+ o.stopPropagation(), K();
510
510
  },
511
511
  children: [
512
- /* @__PURE__ */ d("div", { onPointerDown: se, className: "floating-panel__header", children: [
513
- /* @__PURE__ */ n("strong", { className: "floating-panel__title", children: t }),
512
+ /* @__PURE__ */ m("div", { onPointerDown: nt, className: "floating-panel__header", children: [
513
+ /* @__PURE__ */ r("strong", { className: "floating-panel__title", children: e }),
514
514
  w,
515
- m && /* @__PURE__ */ n(
515
+ h && /* @__PURE__ */ r(
516
516
  "button",
517
517
  {
518
518
  type: "button",
519
519
  className: "wb-btn wb-btn--secondary wb-btn--icon-only floating-panel__focus",
520
- onClick: J,
520
+ onClick: K,
521
521
  onPointerDown: (o) => o.stopPropagation(),
522
522
  title: "Focus on this panel",
523
523
  "aria-label": "Focus on this panel",
524
- children: /* @__PURE__ */ n(Oe, { size: 14 })
524
+ children: /* @__PURE__ */ r(Lt, { size: 14 })
525
525
  }
526
526
  )
527
527
  ] }),
528
- /* @__PURE__ */ n("div", { className: "floating-panel__body", children: h })
528
+ /* @__PURE__ */ r("div", { className: "floating-panel__body", children: d })
529
529
  ]
530
530
  }
531
531
  );
532
532
  });
533
- function kt(e) {
534
- return k({ ...e, width: 0, height: 0 });
533
+ function we(t) {
534
+ return M({ ...t, width: 0, height: 0 });
535
535
  }
536
- function Mt(e, t = he) {
537
- return { x: e.x, y: e.y + e.height + t };
536
+ function ge(t, e = ut) {
537
+ return { x: t.x, y: t.y + t.height + e };
538
538
  }
539
- function Pt({
540
- open: e,
541
- title: t,
542
- message: r,
539
+ function ye({
540
+ open: t,
541
+ title: e,
542
+ message: n,
543
543
  onConfirm: s,
544
544
  onCancel: a,
545
545
  confirmLabel: u = "Confirm",
546
- loadingLabel: m,
546
+ loadingLabel: h,
547
547
  loading: f,
548
548
  error: p
549
549
  }) {
550
550
  return Y(() => {
551
- if (!e) return;
552
- const w = (h) => {
553
- h.key === "Escape" && a();
551
+ if (!t) return;
552
+ const w = (d) => {
553
+ d.key === "Escape" && a();
554
554
  };
555
555
  return window.addEventListener("keydown", w), () => window.removeEventListener("keydown", w);
556
- }, [e, a]), !e || typeof document > "u" ? null : Ie(
557
- /* @__PURE__ */ n("div", { className: "confirm-modal-overlay", onMouseDown: a, children: /* @__PURE__ */ d(
556
+ }, [t, a]), !t || typeof document > "u" ? null : Yt(
557
+ /* @__PURE__ */ r("div", { className: "confirm-modal-overlay", onMouseDown: a, children: /* @__PURE__ */ m(
558
558
  "div",
559
559
  {
560
560
  className: "confirm-modal",
561
561
  role: "dialog",
562
562
  "aria-modal": "true",
563
- "aria-label": t,
563
+ "aria-label": e,
564
564
  onMouseDown: (w) => w.stopPropagation(),
565
565
  children: [
566
- /* @__PURE__ */ d("div", { className: "confirm-modal__header", children: [
567
- /* @__PURE__ */ d("span", { className: "confirm-modal__title", children: [
568
- /* @__PURE__ */ n(Be, { size: 16 }),
569
- t
566
+ /* @__PURE__ */ m("div", { className: "confirm-modal__header", children: [
567
+ /* @__PURE__ */ m("span", { className: "confirm-modal__title", children: [
568
+ /* @__PURE__ */ r(Ot, { size: 16 }),
569
+ e
570
570
  ] }),
571
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only", onClick: a, "aria-label": "Close dialog", children: /* @__PURE__ */ n(Pe, { size: 14 }) })
571
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary wb-btn--icon-only", onClick: a, "aria-label": "Close dialog", children: /* @__PURE__ */ r(Nt, { size: 14 }) })
572
572
  ] }),
573
- /* @__PURE__ */ n("p", { className: "confirm-modal__message", children: r }),
574
- p && /* @__PURE__ */ n("div", { className: "wb-alert wb-alert--error", children: p }),
575
- /* @__PURE__ */ d("div", { className: "wb-btn-row", children: [
576
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--secondary", onClick: a, children: "Cancel" }),
577
- /* @__PURE__ */ n("button", { type: "button", className: "wb-btn wb-btn--danger", onClick: s, disabled: f, children: f ? m ?? `${u}…` : /* @__PURE__ */ d(re, { children: [
578
- /* @__PURE__ */ n(He, { size: 14 }),
573
+ /* @__PURE__ */ r("p", { className: "confirm-modal__message", children: n }),
574
+ p && /* @__PURE__ */ r("div", { className: "wb-alert wb-alert--error", children: p }),
575
+ /* @__PURE__ */ m("div", { className: "wb-btn-row", children: [
576
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--secondary", onClick: a, children: "Cancel" }),
577
+ /* @__PURE__ */ r("button", { type: "button", className: "wb-btn wb-btn--danger", onClick: s, disabled: f, children: f ? h ?? `${u}…` : /* @__PURE__ */ m(et, { children: [
578
+ /* @__PURE__ */ r(At, { size: 14 }),
579
579
  u
580
580
  ] }) })
581
581
  ] })
@@ -585,17 +585,17 @@ function Pt({
585
585
  document.body
586
586
  );
587
587
  }
588
- class zt extends Ye {
588
+ class ve extends Wt {
589
589
  constructor() {
590
590
  super(...arguments), this.state = { error: null };
591
591
  }
592
- static getDerivedStateFromError(t) {
593
- return { error: t };
592
+ static getDerivedStateFromError(e) {
593
+ return { error: e };
594
594
  }
595
595
  render() {
596
- return this.state.error ? /* @__PURE__ */ d("div", { className: "wb-stack wb-stack--sm", children: [
597
- /* @__PURE__ */ n("div", { className: "wb-alert wb-alert--error", children: this.props.fallbackMessage ?? "This panel crashed." }),
598
- /* @__PURE__ */ n(
596
+ return this.state.error ? /* @__PURE__ */ m("div", { className: "wb-stack wb-stack--sm", children: [
597
+ /* @__PURE__ */ r("div", { className: "wb-alert wb-alert--error", children: this.props.fallbackMessage ?? "This panel crashed." }),
598
+ /* @__PURE__ */ r(
599
599
  "button",
600
600
  {
601
601
  type: "button",
@@ -607,634 +607,604 @@ class zt extends Ye {
607
607
  ] }) : this.props.children;
608
608
  }
609
609
  }
610
- function _t({
611
- widths: e,
612
- startX: t = 20,
613
- y: r = 40,
610
+ function Ne({
611
+ widths: t,
612
+ startX: e = 20,
613
+ y: n = 40,
614
614
  gap: s = 20
615
615
  }) {
616
- const a = ye(() => {
616
+ const a = bt(() => {
617
617
  const f = {};
618
- for (const [p, w] of Object.entries(e))
619
- f[p] = ue(w);
618
+ for (const [p, w] of Object.entries(t))
619
+ f[p] = ct(w);
620
620
  return f;
621
- }, [e]), u = ye(
621
+ }, [t]), u = bt(
622
622
  () => ({
623
- startX: ue(t),
624
- y: ue(r),
625
- gap: ue(s)
623
+ startX: ct(e),
624
+ y: ct(n),
625
+ gap: ct(s)
626
626
  }),
627
- [t, r, s]
628
- ), m = ye(() => {
627
+ [e, n, s]
628
+ ), h = bt(() => {
629
629
  const f = {};
630
630
  let p = u.startX;
631
- for (const [w, h] of Object.entries(a))
632
- f[w] = { x: p, y: u.y }, p += h + u.gap;
631
+ for (const [w, d] of Object.entries(a))
632
+ f[w] = { x: p, y: u.y }, p += d + u.gap;
633
633
  return f;
634
634
  }, [u.gap, u.startX, u.y, a]);
635
- return { layout: u, panelWidth: a, positions: m };
635
+ return { layout: u, panelWidth: a, positions: h };
636
636
  }
637
- function l(...e) {
638
- return e.filter(Boolean).join(" ");
637
+ function l(...t) {
638
+ return t.filter(Boolean).join(" ");
639
639
  }
640
- const qe = {
640
+ const Zt = {
641
641
  error: "wb-alert wb-alert--error",
642
642
  muted: "wb-alert wb-alert--muted",
643
643
  info: "wb-alert wb-alert--info",
644
644
  success: "wb-alert wb-alert--success"
645
645
  };
646
- function Ct({ tone: e = "info", className: t, ...r }) {
647
- return /* @__PURE__ */ n("p", { className: l(qe[e], t), ...r });
646
+ function xe({ tone: t = "info", className: e, ...n }) {
647
+ return /* @__PURE__ */ r("p", { className: l(Zt[t], e), ...n });
648
648
  }
649
- function Tt({ className: e, ...t }) {
650
- return /* @__PURE__ */ n("span", { className: l("avatar-badge", e), ...t });
649
+ function Se({ className: t, ...e }) {
650
+ return /* @__PURE__ */ r("span", { className: l("avatar-badge", t), ...e });
651
651
  }
652
- const Ke = {
652
+ const Ut = {
653
653
  primary: "",
654
654
  secondary: "wb-btn--secondary",
655
655
  danger: "wb-btn--danger"
656
- }, ze = me(function({
657
- variant: t = "primary",
658
- fullWidth: r = !1,
656
+ }, xt = dt(function({
657
+ variant: e = "primary",
658
+ fullWidth: n = !1,
659
659
  iconOnly: s = !1,
660
660
  loading: a = !1,
661
661
  type: u = "button",
662
- disabled: m,
662
+ disabled: h,
663
663
  className: f,
664
664
  children: p,
665
665
  loadingText: w,
666
- ...h
666
+ ...d
667
667
  }, N) {
668
- return /* @__PURE__ */ n(
668
+ return /* @__PURE__ */ r(
669
669
  "button",
670
670
  {
671
671
  ref: N,
672
672
  type: u,
673
- className: l("wb-btn", Ke[t], r && "wb-btn--full-width", s && "wb-btn--icon-only", f),
674
- disabled: m || a,
675
- ...h,
676
- children: a ? /* @__PURE__ */ d(re, { children: [
677
- /* @__PURE__ */ n(pe, { size: 14, className: "icon-spin" }),
673
+ className: l("wb-btn", Ut[e], n && "wb-btn--full-width", s && "wb-btn--icon-only", f),
674
+ disabled: h || a,
675
+ ...d,
676
+ children: a ? /* @__PURE__ */ m(et, { children: [
677
+ /* @__PURE__ */ r(ht, { size: 14, className: "icon-spin" }),
678
678
  w || p
679
679
  ] }) : p
680
680
  }
681
681
  );
682
682
  });
683
- function Je({ as: e = "div", className: t, ...r }) {
684
- return T(e, {
685
- className: l("button-row", t),
686
- ...r
683
+ function qt({ as: t = "div", className: e, ...n }) {
684
+ return W(t, {
685
+ className: l("button-row", e),
686
+ ...n
687
687
  });
688
688
  }
689
- function Rt({ children: e, hint: t, className: r, ...s }) {
690
- return /* @__PURE__ */ n("div", { className: "canvas-wrap", children: /* @__PURE__ */ d("div", { className: l("canvas-stage", r), ...s, children: [
691
- e,
692
- t && /* @__PURE__ */ n("p", { className: "canvas-hint", children: t })
689
+ function Me({ children: t, hint: e, className: n, ...s }) {
690
+ return /* @__PURE__ */ r("div", { className: "canvas-wrap", children: /* @__PURE__ */ m("div", { className: l("canvas-stage", n), ...s, children: [
691
+ t,
692
+ e && /* @__PURE__ */ r("p", { className: "canvas-hint", children: e })
693
693
  ] }) });
694
694
  }
695
- function Wt({ className: e, ...t }) {
696
- return /* @__PURE__ */ n("span", { className: l("chip", e), ...t });
695
+ function ke({ className: t, ...e }) {
696
+ return /* @__PURE__ */ r("span", { className: l("chip", t), ...e });
697
697
  }
698
- function Qe({ active: e = !1, className: t, ...r }) {
699
- return /* @__PURE__ */ n(
698
+ function Kt({ active: t = !1, className: e, ...n }) {
699
+ return /* @__PURE__ */ r(
700
700
  "button",
701
701
  {
702
702
  type: "button",
703
- className: l("choice-card", t),
704
- "data-active": e,
705
- ...r
703
+ className: l("choice-card", e),
704
+ "data-active": t,
705
+ ...n
706
706
  }
707
707
  );
708
708
  }
709
- function fe({ as: e = "ul", reset: t = !0, className: r, ...s }) {
710
- return T(e, {
711
- className: l(t && "list-reset", r),
709
+ function mt({ as: t = "ul", reset: e = !0, className: n, ...s }) {
710
+ return W(t, {
711
+ className: l(e && "list-reset", n),
712
712
  ...s
713
713
  });
714
714
  }
715
- const et = {
715
+ const Jt = {
716
716
  sm: "",
717
717
  md: "skeleton--md",
718
718
  pill: "skeleton--pill"
719
719
  };
720
- function G({ as: e = "div", radius: t = "sm", className: r, ...s }) {
721
- return T(e, {
722
- className: l("skeleton", et[t], r),
720
+ function G({ as: t = "div", radius: e = "sm", className: n, ...s }) {
721
+ return W(t, {
722
+ className: l("skeleton", Jt[e], n),
723
723
  "aria-hidden": !0,
724
724
  ...s
725
725
  });
726
726
  }
727
- function tt(e) {
728
- const { className: t, ...r } = e;
729
- return /* @__PURE__ */ n(G, { className: l("skeleton-input", t), ...r });
727
+ function Qt(t) {
728
+ const { className: e, ...n } = t;
729
+ return /* @__PURE__ */ r(G, { className: l("skeleton-input", e), ...n });
730
730
  }
731
- function ve(e) {
732
- const { className: t, ...r } = e;
733
- return /* @__PURE__ */ n(G, { className: l("skeleton-btn", t), ...r });
731
+ function St(t) {
732
+ const { className: e, ...n } = t;
733
+ return /* @__PURE__ */ r(G, { className: l("skeleton-btn", e), ...n });
734
734
  }
735
- function Xt(e) {
736
- const { className: t, ...r } = e;
737
- return /* @__PURE__ */ n(G, { className: l("skeleton-icon-btn", t), ...r });
735
+ function Pe(t) {
736
+ const { className: e, ...n } = t;
737
+ return /* @__PURE__ */ r(G, { className: l("skeleton-icon-btn", e), ...n });
738
738
  }
739
- function nt(e) {
740
- const { className: t, ...r } = e;
741
- return /* @__PURE__ */ n(G, { className: l("skeleton-select", t), ...r });
739
+ function _e(t) {
740
+ const { className: e, ...n } = t;
741
+ return /* @__PURE__ */ r(G, { className: l("skeleton-select", e), ...n });
742
742
  }
743
- function Yt(e) {
744
- const { className: t, ...r } = e;
745
- return /* @__PURE__ */ n(G, { className: l("skeleton-textarea", t), ...r });
743
+ function ze(t) {
744
+ const { className: e, ...n } = t;
745
+ return /* @__PURE__ */ r(G, { className: l("skeleton-textarea", e), ...n });
746
746
  }
747
- function Ne(e) {
748
- const { className: t, ...r } = e;
749
- return /* @__PURE__ */ n(G, { className: l("skeleton-thumb", t), ...r });
747
+ function Mt(t) {
748
+ const { className: e, ...n } = t;
749
+ return /* @__PURE__ */ r(G, { className: l("skeleton-thumb", e), ...n });
750
750
  }
751
- function ne(e) {
752
- const { className: t, ...r } = e;
753
- return /* @__PURE__ */ n(G, { radius: "pill", className: l("skeleton-chip", t), ...r });
751
+ function te(t) {
752
+ const { className: e, ...n } = t;
753
+ return /* @__PURE__ */ r(G, { radius: "pill", className: l("skeleton-chip", e), ...n });
754
754
  }
755
- function be(e) {
756
- const { className: t, ...r } = e;
757
- return /* @__PURE__ */ n(G, { className: l("skeleton-title", t), ...r });
755
+ function kt(t) {
756
+ const { className: e, ...n } = t;
757
+ return /* @__PURE__ */ r(G, { className: l("skeleton-title", e), ...n });
758
758
  }
759
- function we({ short: e = !1, className: t, ...r }) {
760
- return /* @__PURE__ */ n(G, { className: l("skeleton-line", e && "skeleton-line--short", t), ...r });
759
+ function wt({ short: t = !1, className: e, ...n }) {
760
+ return /* @__PURE__ */ r(G, { className: l("skeleton-line", t && "skeleton-line--short", e), ...n });
761
761
  }
762
- function rt(e) {
763
- const { className: t, ...r } = e;
764
- return /* @__PURE__ */ n(G, { radius: "pill", className: l("skeleton-avatar", t), ...r });
762
+ function Ce(t) {
763
+ const { className: e, ...n } = t;
764
+ return /* @__PURE__ */ r(G, { radius: "pill", className: l("skeleton-avatar", e), ...n });
765
765
  }
766
- function Dt(e) {
767
- const { className: t, ...r } = e;
768
- return /* @__PURE__ */ n(G, { className: l("skeleton-canvas", t), ...r });
766
+ function Te(t) {
767
+ const { className: e, ...n } = t;
768
+ return /* @__PURE__ */ r(G, { className: l("skeleton-canvas", e), ...n });
769
769
  }
770
- function It({
771
- options: e,
772
- value: t,
773
- onChange: r,
770
+ function Re({
771
+ options: t,
772
+ value: e,
773
+ onChange: n,
774
774
  className: s
775
775
  }) {
776
- return /* @__PURE__ */ n(fe, { className: l("choice-list", s), children: e.map((a) => /* @__PURE__ */ n("li", { children: /* @__PURE__ */ n(
777
- Qe,
776
+ return /* @__PURE__ */ r(mt, { className: l("choice-list", s), children: t.map((a) => /* @__PURE__ */ r("li", { children: /* @__PURE__ */ r(
777
+ Kt,
778
778
  {
779
- active: t === a.value,
780
- onClick: () => r(a.value),
779
+ active: e === a.value,
780
+ onClick: () => n(a.value),
781
781
  disabled: a.disabled,
782
782
  "data-has-description": a.description ? "true" : "false",
783
- children: a.description ? /* @__PURE__ */ d("span", { className: "choice-card__row", children: [
784
- /* @__PURE__ */ n("span", { className: "choice-card__label", children: a.label }),
785
- /* @__PURE__ */ n("span", { className: "choice-card__description", children: a.description })
786
- ] }) : /* @__PURE__ */ n("span", { className: "choice-card__label", children: a.label })
783
+ children: a.description ? /* @__PURE__ */ m("span", { className: "choice-card__row", children: [
784
+ /* @__PURE__ */ r("span", { className: "choice-card__label", children: a.label }),
785
+ /* @__PURE__ */ r("span", { className: "choice-card__description", children: a.description })
786
+ ] }) : /* @__PURE__ */ r("span", { className: "choice-card__label", children: a.label })
787
787
  }
788
788
  ) }, a.value)) });
789
789
  }
790
- function Ft({ count: e = 4, className: t, withDescription: r = !1 }) {
791
- return /* @__PURE__ */ n(fe, { className: l("choice-list", t), "aria-hidden": !0, children: Array.from({ length: e }).map((s, a) => /* @__PURE__ */ n("li", { children: /* @__PURE__ */ d("div", { className: "choice-card", children: [
792
- /* @__PURE__ */ n(be, { className: l("skeleton-title--sm", !r && "skeleton-choice-label") }),
793
- r ? /* @__PURE__ */ n(we, { short: !0 }) : null
790
+ function We({ count: t = 4, className: e, withDescription: n = !1 }) {
791
+ return /* @__PURE__ */ r(mt, { className: l("choice-list", e), "aria-hidden": !0, children: Array.from({ length: t }).map((s, a) => /* @__PURE__ */ r("li", { children: /* @__PURE__ */ m("div", { className: "choice-card", children: [
792
+ /* @__PURE__ */ r(kt, { className: l("skeleton-title--sm", !n && "skeleton-choice-label") }),
793
+ n ? /* @__PURE__ */ r(wt, { short: !0 }) : null
794
794
  ] }) }, `choice-skeleton-${a}`)) });
795
795
  }
796
- function Gt({ className: e, ...t }) {
797
- return /* @__PURE__ */ n("div", { className: l("coord-grid", e), ...t });
796
+ function Xe({ className: t, ...e }) {
797
+ return /* @__PURE__ */ r("div", { className: l("coord-grid", t), ...e });
798
798
  }
799
- function Lt({ axis: e, className: t, ...r }) {
800
- return /* @__PURE__ */ d("label", { className: l("coord-input", t), children: [
801
- e,
799
+ function Ye({ axis: t, className: e, ...n }) {
800
+ return /* @__PURE__ */ m("label", { className: l("coord-input", e), children: [
801
+ t,
802
802
  " ",
803
- /* @__PURE__ */ n("input", { type: "number", step: "0.01", ...r })
803
+ /* @__PURE__ */ r("input", { type: "number", step: "0.01", ...n })
804
804
  ] });
805
805
  }
806
- function U({
807
- as: e,
808
- size: t = "md",
809
- className: r,
806
+ function pt({
807
+ as: t,
808
+ size: e = "md",
809
+ className: n,
810
810
  ...s
811
811
  }) {
812
- return T(e ?? "div", {
813
- className: l(t === "sm" ? "panel-stack-sm" : "panel-stack", r),
812
+ return W(t ?? "div", {
813
+ className: l(e === "sm" ? "panel-stack-sm" : "panel-stack", n),
814
814
  ...s
815
815
  });
816
816
  }
817
- const st = {
817
+ const ee = {
818
818
  xs: "text-xs",
819
819
  sm: "text-sm",
820
820
  md: ""
821
821
  };
822
- function at({ as: e = "p", clamp: t = !1, className: r, ...s }) {
823
- return T(e, {
824
- className: l("asset-title", t && "asset-title--clamp", r),
822
+ function ne({ as: t = "p", clamp: e = !1, className: n, ...s }) {
823
+ return W(t, {
824
+ className: l("card-title", e && "card-title--clamp", n),
825
825
  ...s
826
826
  });
827
827
  }
828
- function Et({ as: e = "h3", className: t, ...r }) {
829
- return T(e, {
830
- className: l("story-title", t),
831
- ...r
828
+ function De({ as: t = "h1", className: e, ...n }) {
829
+ return W(t, {
830
+ className: l("page-title", e),
831
+ ...n
832
832
  });
833
833
  }
834
- function _e({ as: e = "p", size: t = "sm", className: r, ...s }) {
835
- return T(e, {
836
- className: l(st[t], "text-muted", r),
837
- ...s
838
- });
839
- }
840
- function At({ as: e = "h1", className: t, ...r }) {
841
- return T(e, {
842
- className: l("page-title", t),
843
- ...r
834
+ function re({ as: t = "span", className: e, ...n }) {
835
+ return W(t, {
836
+ className: l("widget-section__title", e),
837
+ ...n
844
838
  });
845
839
  }
846
- function it({ as: e = "span", className: t, ...r }) {
847
- return T(e, {
848
- className: l("widget-section__title", t),
849
- ...r
840
+ function se({ as: t = "p", className: e, ...n }) {
841
+ return W(t, {
842
+ className: l("widget-section__description", e),
843
+ ...n
850
844
  });
851
845
  }
852
- function ot({ as: e = "p", className: t, ...r }) {
853
- return T(e, {
854
- className: l("widget-section__description", t),
855
- ...r
846
+ function Pt({ as: t = "p", size: e = "sm", className: n, ...s }) {
847
+ return W(t, {
848
+ className: l(ee[e], "text-muted", n),
849
+ ...s
856
850
  });
857
851
  }
858
- function Ot({ title: e, description: t, action: r }) {
859
- return /* @__PURE__ */ d(U, { size: "sm", children: [
860
- /* @__PURE__ */ n(at, { children: e }),
861
- t ? /* @__PURE__ */ n(_e, { children: t }) : null,
862
- r
852
+ function Ie({ title: t, description: e, action: n }) {
853
+ return /* @__PURE__ */ m(pt, { size: "sm", children: [
854
+ /* @__PURE__ */ r(ne, { children: t }),
855
+ e ? /* @__PURE__ */ r(Pt, { children: e }) : null,
856
+ n
863
857
  ] });
864
858
  }
865
- function ct({ className: e, ...t }) {
866
- return /* @__PURE__ */ n("label", { className: l("widget-label", e), ...t });
859
+ function ae({ className: t, ...e }) {
860
+ return /* @__PURE__ */ r("label", { className: l("widget-label", t), ...e });
867
861
  }
868
- function Bt({
869
- as: e,
870
- label: t,
871
- htmlFor: r,
862
+ function Fe({
863
+ as: t,
864
+ label: e,
865
+ htmlFor: n,
872
866
  hint: s,
873
867
  error: a,
874
868
  layout: u = "stack",
875
- className: m,
869
+ className: h,
876
870
  children: f,
877
871
  ...p
878
872
  }) {
879
- return T(
880
- e ?? "div",
873
+ return W(
874
+ t ?? "div",
881
875
  {
882
- className: l(u === "control" ? "widget-control" : "panel-stack-sm", m),
876
+ className: l(u === "control" ? "widget-control" : "panel-stack-sm", h),
883
877
  ...p
884
878
  },
885
- /* @__PURE__ */ d(re, { children: [
886
- t ? /* @__PURE__ */ n(ct, { htmlFor: r, children: t }) : null,
879
+ /* @__PURE__ */ m(et, { children: [
880
+ e ? /* @__PURE__ */ r(ae, { htmlFor: n, children: e }) : null,
887
881
  f,
888
- s ? /* @__PURE__ */ n(_e, { size: "xs", children: s }) : null,
889
- a ? /* @__PURE__ */ n("p", { className: "field-error", children: a }) : null
882
+ s ? /* @__PURE__ */ r(Pt, { size: "xs", children: s }) : null,
883
+ a ? /* @__PURE__ */ r("p", { className: "field-error", children: a }) : null
890
884
  ] })
891
885
  );
892
886
  }
893
- function Ht({ isGenerating: e, children: t, message: r }) {
894
- return /* @__PURE__ */ d("div", { className: "generating-overlay-wrap", children: [
895
- t,
896
- e && /* @__PURE__ */ d("div", { className: "generating-overlay", "aria-live": "polite", children: [
897
- /* @__PURE__ */ n(pe, { size: 20, className: "icon-spin" }),
898
- /* @__PURE__ */ n("span", { children: r ?? "Generating, please wait…" })
887
+ function Ge({ isGenerating: t, children: e, message: n }) {
888
+ return /* @__PURE__ */ m("div", { className: "generating-overlay-wrap", children: [
889
+ e,
890
+ t && /* @__PURE__ */ m("div", { className: "generating-overlay", "aria-live": "polite", children: [
891
+ /* @__PURE__ */ r(ht, { size: 20, className: "icon-spin" }),
892
+ /* @__PURE__ */ r("span", { children: n ?? "Generating, please wait…" })
899
893
  ] })
900
894
  ] });
901
895
  }
902
- function $t({ as: e = "span", icon: t, className: r, children: s, ...a }) {
903
- return T(
904
- e,
896
+ function Ee({ as: t = "span", icon: e, className: n, children: s, ...a }) {
897
+ return W(
898
+ t,
905
899
  {
906
- className: l("inline-row", r),
900
+ className: l("inline-row", n),
907
901
  ...a
908
902
  },
909
- /* @__PURE__ */ d(re, { children: [
910
- t,
903
+ /* @__PURE__ */ m(et, { children: [
904
+ e,
911
905
  s
912
906
  ] })
913
907
  );
914
908
  }
915
- function Vt({
916
- src: e,
917
- alt: t,
918
- placeholder: r = "No image",
909
+ function Le({
910
+ src: t,
911
+ alt: e,
912
+ placeholder: n = "No image",
919
913
  size: s = "md",
920
914
  fit: a = "contain",
921
915
  onImageError: u,
922
- className: m,
916
+ className: h,
923
917
  ...f
924
918
  }) {
925
- const [p, w] = Me(null), h = !!(e && p === e), N = l("image-thumb", `image-thumb--${s}`, `image-thumb--fit-${a}`, m);
926
- return /* @__PURE__ */ n("div", { className: N, ...f, children: e && !h ? /* @__PURE__ */ n(
919
+ const [p, w] = vt(null), d = !!(t && p === t), N = l("image-thumb", `image-thumb--${s}`, `image-thumb--fit-${a}`, h);
920
+ return /* @__PURE__ */ r("div", { className: N, ...f, children: t && !d ? /* @__PURE__ */ r(
927
921
  "img",
928
922
  {
929
- src: e,
930
- alt: t,
923
+ src: t,
924
+ alt: e,
931
925
  className: "image-thumb__img",
932
926
  style: { objectFit: a, objectPosition: "center" },
933
927
  onError: () => {
934
- w(e), u == null || u();
928
+ w(t), u == null || u();
935
929
  }
936
930
  }
937
- ) : /* @__PURE__ */ n("span", { className: "image-thumb__placeholder", children: r }) });
931
+ ) : /* @__PURE__ */ r("span", { className: "image-thumb__placeholder", children: n }) });
938
932
  }
939
- function lt({
940
- as: e,
941
- justify: t = "start",
942
- className: r,
933
+ function Oe({
934
+ as: t,
935
+ justify: e = "start",
936
+ className: n,
943
937
  ...s
944
938
  }) {
945
- return T(e ?? "div", {
946
- className: l(t === "between" ? "space-between" : t === "end" ? "space-end" : "inline-row", r),
939
+ return W(t ?? "div", {
940
+ className: l(e === "between" ? "space-between" : e === "end" ? "space-end" : "inline-row", n),
947
941
  ...s
948
942
  });
949
943
  }
950
- const jt = me(function({ className: t, ...r }, s) {
951
- return /* @__PURE__ */ n("input", { ref: s, className: l(t), ...r });
944
+ const Ae = dt(function({ className: e, ...n }, s) {
945
+ return /* @__PURE__ */ r("input", { ref: s, className: l(e), ...n });
952
946
  });
953
- function xe({ as: e = "div", className: t, ...r }) {
954
- return T(e, {
955
- className: l("item-card", t),
956
- ...r
947
+ function ie({ as: t = "div", className: e, ...n }) {
948
+ return W(t, {
949
+ className: l("item-card", e),
950
+ ...n
957
951
  });
958
952
  }
959
- function ut({ as: e = "div", className: t, ...r }) {
960
- return T(e, {
961
- className: l("item-list", t),
962
- ...r
953
+ function $e({ as: t = "div", className: e, ...n }) {
954
+ return W(t, {
955
+ className: l("item-list", e),
956
+ ...n
963
957
  });
964
958
  }
965
- function Ut({ label: e = "Loading...", className: t }) {
966
- return /* @__PURE__ */ d("span", { className: l("status-inline", t), children: [
967
- /* @__PURE__ */ n(pe, { size: 14, className: "icon-spin" }),
968
- e
959
+ function Be({ label: t = "Loading...", className: e }) {
960
+ return /* @__PURE__ */ m("span", { className: l("status-inline", e), children: [
961
+ /* @__PURE__ */ r(ht, { size: 14, className: "icon-spin" }),
962
+ t
969
963
  ] });
970
964
  }
971
- function Zt({
972
- className: e,
973
- placement: t,
974
- onPointerDown: r,
965
+ function He({
966
+ className: t,
967
+ placement: e,
968
+ onPointerDown: n,
975
969
  onWheel: s,
976
970
  onContextMenu: a,
977
971
  ...u
978
972
  }) {
979
- return /* @__PURE__ */ n(
980
- ze,
973
+ return /* @__PURE__ */ r(
974
+ xt,
981
975
  {
982
976
  variant: "secondary",
983
977
  iconOnly: !0,
984
- className: l("overlay-icon-btn", t && `overlay-icon-btn--${t}`, e),
985
- onPointerDown: (m) => {
986
- m.stopPropagation(), r == null || r(m);
978
+ className: l("overlay-icon-btn", e && `overlay-icon-btn--${e}`, t),
979
+ onPointerDown: (h) => {
980
+ h.stopPropagation(), n == null || n(h);
987
981
  },
988
- onWheel: (m) => {
989
- m.stopPropagation(), s == null || s(m);
982
+ onWheel: (h) => {
983
+ h.stopPropagation(), s == null || s(h);
990
984
  },
991
- onContextMenu: (m) => {
992
- m.stopPropagation(), a == null || a(m);
985
+ onContextMenu: (h) => {
986
+ h.stopPropagation(), a == null || a(h);
993
987
  },
994
988
  ...u
995
989
  }
996
990
  );
997
991
  }
998
- function qt({ children: e, className: t, ...r }) {
999
- return /* @__PURE__ */ n("main", { className: l("page-shell", t), ...r, children: e });
992
+ function Ve({ children: t, className: e, ...n }) {
993
+ return /* @__PURE__ */ r("main", { className: l("page-shell", e), ...n, children: t });
1000
994
  }
1001
- function Kt({ children: e, className: t, ...r }) {
1002
- return /* @__PURE__ */ n("div", { className: l("page-card", t), ...r, children: e });
995
+ function je({ children: t, className: e, ...n }) {
996
+ return /* @__PURE__ */ r("div", { className: l("page-card", e), ...n, children: t });
1003
997
  }
1004
- function Jt({ onClick: e, label: t = "Close" }) {
1005
- return /* @__PURE__ */ d(ze, { variant: "secondary", className: "panel-close-btn", onClick: e, children: [
1006
- /* @__PURE__ */ n(Pe, { size: 14 }),
1007
- t
998
+ function Ze({ onClick: t, label: e = "Close" }) {
999
+ return /* @__PURE__ */ m(xt, { variant: "secondary", className: "panel-close-btn", onClick: t, children: [
1000
+ /* @__PURE__ */ r(Nt, { size: 14 }),
1001
+ e
1008
1002
  ] });
1009
1003
  }
1010
- function Qt({ heading: e, description: t, actions: r, className: s, children: a, ...u }) {
1011
- return /* @__PURE__ */ d("section", { className: l("widget-section", s), ...u, children: [
1012
- e || r ? /* @__PURE__ */ d("header", { className: r ? "title-row" : void 0, children: [
1013
- e ? /* @__PURE__ */ n(it, { children: e }) : null,
1014
- r
1004
+ function Ue({ heading: t, description: e, actions: n, className: s, children: a, ...u }) {
1005
+ return /* @__PURE__ */ m("section", { className: l("widget-section", s), ...u, children: [
1006
+ t || n ? /* @__PURE__ */ m("header", { className: n ? "title-row" : void 0, children: [
1007
+ t ? /* @__PURE__ */ r(re, { children: t }) : null,
1008
+ n
1015
1009
  ] }) : null,
1016
- t ? /* @__PURE__ */ n(ot, { children: t }) : null,
1010
+ e ? /* @__PURE__ */ r(se, { children: e }) : null,
1017
1011
  a
1018
1012
  ] });
1019
1013
  }
1020
- function en({ icon: e, label: t }) {
1021
- return /* @__PURE__ */ d("span", { className: "panel-title-with-icon", children: [
1022
- /* @__PURE__ */ n(e, { size: 13, className: "panel-title-icon" }),
1023
- /* @__PURE__ */ n("span", { children: t })
1014
+ function qe({ icon: t, label: e }) {
1015
+ return /* @__PURE__ */ m("span", { className: "panel-title-with-icon", children: [
1016
+ /* @__PURE__ */ r(t, { size: 13, className: "panel-title-icon" }),
1017
+ /* @__PURE__ */ r("span", { children: e })
1024
1018
  ] });
1025
1019
  }
1026
- function dt({ as: e = "button", className: t, ...r }) {
1027
- return T(e, {
1028
- className: l("picker-card", t),
1029
- ...r
1020
+ function oe({ as: t = "button", className: e, ...n }) {
1021
+ return W(t, {
1022
+ className: l("picker-card", e),
1023
+ ...n
1030
1024
  });
1031
1025
  }
1032
- const ht = {
1033
- elements: "picker-grid--elements",
1034
- characters: "picker-grid--characters",
1035
- library: "picker-grid--library"
1036
- };
1037
- function tn({ variant: e, className: t, ...r }) {
1038
- return /* @__PURE__ */ n(fe, { className: l("picker-grid", ht[e], t), ...r });
1026
+ function Ke({ minItemWidth: t = 120, className: e, style: n, ...s }) {
1027
+ const a = {
1028
+ gridTemplateColumns: `repeat(auto-fill, minmax(${t}px, 1fr))`,
1029
+ ...n
1030
+ };
1031
+ return /* @__PURE__ */ r(mt, { className: l("picker-grid", e), style: a, ...s });
1039
1032
  }
1040
- const mt = {
1033
+ const ce = {
1041
1034
  default: "",
1042
1035
  success: "success",
1043
1036
  warning: "warning",
1044
1037
  danger: "danger"
1045
1038
  };
1046
- function nn({ tone: e = "default", className: t, ...r }) {
1047
- return /* @__PURE__ */ n("span", { className: l("pill", mt[e], t), ...r });
1048
- }
1049
- const rn = me(function({ className: t, ...r }, s) {
1050
- return /* @__PURE__ */ n("select", { ref: s, className: l(t), ...r });
1051
- }), pt = {
1052
- element: "split-layout--element",
1053
- character: "split-layout--character",
1054
- user: "split-layout--user"
1039
+ function Je({ tone: t = "default", className: e, ...n }) {
1040
+ return /* @__PURE__ */ r("span", { className: l("pill", ce[t], e), ...n });
1041
+ }
1042
+ const Qe = dt(function({ className: e, ...n }, s) {
1043
+ return /* @__PURE__ */ r("select", { ref: s, className: l(e), ...n });
1044
+ }), le = {
1045
+ "media-content": "split-layout--media-content",
1046
+ single: "split-layout--single",
1047
+ "media-content-actions": "split-layout--media-content-actions"
1055
1048
  };
1056
- function ft({ variant: e, className: t, ...r }) {
1057
- return /* @__PURE__ */ n("div", { className: l("split-layout", pt[e], t), ...r });
1049
+ function tn({ variant: t, className: e, ...n }) {
1050
+ return /* @__PURE__ */ r("div", { className: l("split-layout", le[t], e), ...n });
1058
1051
  }
1059
- function bt({ className: e, ...t }) {
1060
- return /* @__PURE__ */ n("div", { className: l("tag-row", e), ...t });
1052
+ function ue({ className: t, ...e }) {
1053
+ return /* @__PURE__ */ r("div", { className: l("tag-row", t), ...e });
1061
1054
  }
1062
- const sn = me(function({ className: t, ...r }, s) {
1063
- return /* @__PURE__ */ n("textarea", { ref: s, className: l(t), ...r });
1055
+ const en = dt(function({ className: e, ...n }, s) {
1056
+ return /* @__PURE__ */ r("textarea", { ref: s, className: l(e), ...n });
1064
1057
  });
1065
- function an({ className: e, theme: t = "light", onToggle: r, lightIcon: s, darkIcon: a }) {
1066
- return /* @__PURE__ */ n(
1058
+ function nn({ className: t, theme: e = "light", onToggle: n, lightIcon: s, darkIcon: a }) {
1059
+ return /* @__PURE__ */ r(
1067
1060
  "button",
1068
1061
  {
1069
1062
  type: "button",
1070
- className: l("wb-btn", "wb-btn--secondary", "wb-btn--icon-only", e),
1071
- onClick: r,
1072
- title: `Switch to ${t === "light" ? "dark" : "light"} mode`,
1063
+ className: l("wb-btn", "wb-btn--secondary", "wb-btn--icon-only", t),
1064
+ onClick: n,
1065
+ title: `Switch to ${e === "light" ? "dark" : "light"} mode`,
1073
1066
  "aria-label": "Toggle theme",
1074
- children: t === "light" ? a ?? /* @__PURE__ */ n($e, { size: 14 }) : s ?? /* @__PURE__ */ n(Ve, { size: 14 })
1067
+ children: e === "light" ? a ?? /* @__PURE__ */ r($t, { size: 14 }) : s ?? /* @__PURE__ */ r(Bt, { size: 14 })
1075
1068
  }
1076
1069
  );
1077
1070
  }
1078
- function on({ className: e, ...t }) {
1079
- return /* @__PURE__ */ n("div", { className: l("title-row", e), ...t });
1071
+ function rn({ className: t, ...e }) {
1072
+ return /* @__PURE__ */ r("div", { className: l("title-row", t), ...e });
1080
1073
  }
1081
- function cn({
1082
- children: e,
1083
- bottom: t,
1084
- position: r = "left",
1074
+ function sn({
1075
+ children: t,
1076
+ bottom: e,
1077
+ position: n = "left",
1085
1078
  className: s,
1086
1079
  ...a
1087
1080
  }) {
1088
- return /* @__PURE__ */ d(
1081
+ return /* @__PURE__ */ m(
1089
1082
  "nav",
1090
1083
  {
1091
1084
  className: l(
1092
1085
  "vertical-toolbar",
1093
- r === "right" && "vertical-toolbar--right",
1094
- r === "static" && "vertical-toolbar--static",
1086
+ n === "right" && "vertical-toolbar--right",
1087
+ n === "static" && "vertical-toolbar--static",
1095
1088
  s
1096
1089
  ),
1097
1090
  ...a,
1098
1091
  children: [
1099
- /* @__PURE__ */ n("div", { className: "vertical-toolbar__links", children: e }),
1100
- t
1092
+ /* @__PURE__ */ r("div", { className: "vertical-toolbar__links", children: t }),
1093
+ e
1101
1094
  ]
1102
1095
  }
1103
1096
  );
1104
1097
  }
1105
- function ln({ inputs: e = 1, showButton: t = !0, className: r, ...s }) {
1106
- return /* @__PURE__ */ d(U, { className: r, ...s, children: [
1107
- Array.from({ length: e }).map((a, u) => /* @__PURE__ */ n(tt, {}, `panel-form-input-${u}`)),
1108
- t && /* @__PURE__ */ n(ve, {})
1098
+ function an({ inputs: t = 1, showButton: e = !0, className: n, ...s }) {
1099
+ return /* @__PURE__ */ m(pt, { className: n, ...s, children: [
1100
+ Array.from({ length: t }).map((a, u) => /* @__PURE__ */ r(Qt, {}, `panel-form-input-${u}`)),
1101
+ e && /* @__PURE__ */ r(St, {})
1109
1102
  ] });
1110
1103
  }
1111
- function un() {
1112
- return /* @__PURE__ */ n(xe, { children: /* @__PURE__ */ d(U, { size: "sm", children: [
1113
- /* @__PURE__ */ n(Ne, {}),
1114
- /* @__PURE__ */ d(lt, { as: "header", children: [
1115
- /* @__PURE__ */ n(ne, {}),
1116
- /* @__PURE__ */ n(ne, {})
1117
- ] }),
1118
- /* @__PURE__ */ n(be, {}),
1119
- /* @__PURE__ */ n(we, { short: !0 })
1120
- ] }) });
1121
- }
1122
- function wt() {
1123
- return /* @__PURE__ */ n(xe, { as: "li", children: /* @__PURE__ */ d(ft, { variant: "user", children: [
1124
- /* @__PURE__ */ n(rt, {}),
1125
- /* @__PURE__ */ d(U, { size: "sm", children: [
1126
- /* @__PURE__ */ n(be, {}),
1127
- /* @__PURE__ */ n(we, { short: !0 })
1128
- ] }),
1129
- /* @__PURE__ */ d(U, { size: "sm", children: [
1130
- /* @__PURE__ */ n(ne, {}),
1131
- /* @__PURE__ */ n(nt, {})
1132
- ] })
1133
- ] }) });
1134
- }
1135
- function dn({ count: e = 3 }) {
1136
- return /* @__PURE__ */ n(ut, { as: "ul", children: Array.from({ length: e }).map((t, r) => /* @__PURE__ */ n(wt, {}, `user-skeleton-${r}`)) });
1137
- }
1138
- function hn() {
1139
- return /* @__PURE__ */ d(xe, { as: "li", children: [
1140
- /* @__PURE__ */ d(U, { size: "sm", children: [
1141
- /* @__PURE__ */ n(Ne, {}),
1142
- /* @__PURE__ */ n(be, {}),
1143
- /* @__PURE__ */ d(bt, { children: [
1144
- /* @__PURE__ */ n(ne, {}),
1145
- /* @__PURE__ */ n(ne, {})
1146
- ] })
1104
+ function on({
1105
+ withThumb: t = !0,
1106
+ chipCount: e = 0,
1107
+ actionCount: n = 0,
1108
+ className: s,
1109
+ ...a
1110
+ }) {
1111
+ return /* @__PURE__ */ m(ie, { as: "li", className: s, ...a, children: [
1112
+ /* @__PURE__ */ m(pt, { size: "sm", children: [
1113
+ t ? /* @__PURE__ */ r(Mt, {}) : null,
1114
+ e > 0 ? /* @__PURE__ */ r(ue, { children: Array.from({ length: e }).map((u, h) => /* @__PURE__ */ r(te, {}, `card-skeleton-chip-${h}`)) }) : null,
1115
+ /* @__PURE__ */ r(kt, {}),
1116
+ /* @__PURE__ */ r(wt, { short: !0 })
1147
1117
  ] }),
1148
- /* @__PURE__ */ d(Je, { children: [
1149
- /* @__PURE__ */ n(ve, {}),
1150
- /* @__PURE__ */ n(ve, {})
1151
- ] })
1118
+ n > 0 ? /* @__PURE__ */ r(qt, { children: Array.from({ length: n }).map((u, h) => /* @__PURE__ */ r(St, {}, `card-skeleton-btn-${h}`)) }) : null
1152
1119
  ] });
1153
1120
  }
1154
- function mn({ count: e = 8, gridClass: t }) {
1155
- return /* @__PURE__ */ n(fe, { className: l("picker-grid", t), children: Array.from({ length: e }).map((r, s) => /* @__PURE__ */ n("li", { children: /* @__PURE__ */ n(dt, { as: "div", className: "picker-card--skeleton", children: /* @__PURE__ */ d(U, { size: "sm", children: [
1156
- /* @__PURE__ */ n(Ne, {}),
1157
- /* @__PURE__ */ n(we, { short: !0 })
1158
- ] }) }) }, `picker-skeleton-${s}`)) });
1121
+ function cn({ count: t = 8, minItemWidth: e = 120 }) {
1122
+ return /* @__PURE__ */ r(
1123
+ mt,
1124
+ {
1125
+ className: "picker-grid",
1126
+ style: { gridTemplateColumns: `repeat(auto-fill, minmax(${e}px, 1fr))` },
1127
+ children: Array.from({ length: t }).map((n, s) => /* @__PURE__ */ r("li", { children: /* @__PURE__ */ r(oe, { as: "div", className: "picker-card--skeleton", children: /* @__PURE__ */ m(pt, { size: "sm", children: [
1128
+ /* @__PURE__ */ r(Mt, {}),
1129
+ /* @__PURE__ */ r(wt, { short: !0 })
1130
+ ] }) }) }, `picker-skeleton-${s}`))
1131
+ }
1132
+ );
1159
1133
  }
1160
1134
  export {
1161
- Ct as Alert,
1162
- hn as AssetCardSkeleton,
1163
- at as AssetTitle,
1164
- Tt as AvatarBadge,
1165
- rt as AvatarSkeleton,
1166
- ze as Button,
1167
- Je as ButtonRow,
1168
- ve as ButtonSkeleton,
1169
- Dt as CanvasSkeleton,
1170
- Rt as CanvasStage,
1171
- Wt as Chip,
1172
- ne as ChipSkeleton,
1173
- Qe as ChoiceCard,
1174
- It as ChoiceGroup,
1175
- Ft as ChoiceGroupSkeleton,
1176
- Pt as ConfirmDialog,
1177
- Gt as CoordGrid,
1178
- Lt as CoordInput,
1179
- Ot as EmptyState,
1180
- Bt as Field,
1181
- St as FloatingPanel,
1182
- Ht as GeneratingOverlay,
1183
- Xt as IconButtonSkeleton,
1184
- $t as IconText,
1185
- Vt as ImageThumb,
1186
- lt as Inline,
1187
- jt as Input,
1188
- tt as InputSkeleton,
1189
- xe as ItemCard,
1190
- ut as ItemList,
1191
- ct as Label,
1192
- we as LineSkeleton,
1193
- fe as List,
1194
- Ut as LoadingState,
1195
- Ze as Minimap,
1196
- _e as MutedText,
1197
- Zt as OverlayIconButton,
1198
- Kt as PageCard,
1199
- qt as PageShell,
1200
- At as PageTitle,
1201
- Jt as PanelCloseButton,
1202
- zt as PanelErrorBoundary,
1203
- ln as PanelFormSkeleton,
1204
- Qt as PanelSection,
1205
- en as PanelTitle,
1206
- dt as PickerCard,
1207
- tn as PickerGrid,
1208
- mn as PickerGridSkeleton,
1209
- nn as Pill,
1210
- ot as SectionDescription,
1211
- it as SectionTitle,
1212
- rn as Select,
1213
- nt as SelectSkeleton,
1135
+ xe as Alert,
1136
+ Se as AvatarBadge,
1137
+ Ce as AvatarSkeleton,
1138
+ xt as Button,
1139
+ qt as ButtonRow,
1140
+ St as ButtonSkeleton,
1141
+ Te as CanvasSkeleton,
1142
+ Me as CanvasStage,
1143
+ on as CardSkeleton,
1144
+ ne as CardTitle,
1145
+ ke as Chip,
1146
+ te as ChipSkeleton,
1147
+ Kt as ChoiceCard,
1148
+ Re as ChoiceGroup,
1149
+ We as ChoiceGroupSkeleton,
1150
+ ye as ConfirmDialog,
1151
+ Xe as CoordGrid,
1152
+ Ye as CoordInput,
1153
+ Ie as EmptyState,
1154
+ Fe as Field,
1155
+ be as FloatingPanel,
1156
+ Ge as GeneratingOverlay,
1157
+ Pe as IconButtonSkeleton,
1158
+ Ee as IconText,
1159
+ Le as ImageThumb,
1160
+ Oe as Inline,
1161
+ Ae as Input,
1162
+ Qt as InputSkeleton,
1163
+ ie as ItemCard,
1164
+ $e as ItemList,
1165
+ ae as Label,
1166
+ wt as LineSkeleton,
1167
+ mt as List,
1168
+ Be as LoadingState,
1169
+ jt as Minimap,
1170
+ Pt as MutedText,
1171
+ He as OverlayIconButton,
1172
+ je as PageCard,
1173
+ Ve as PageShell,
1174
+ De as PageTitle,
1175
+ Ze as PanelCloseButton,
1176
+ ve as PanelErrorBoundary,
1177
+ an as PanelFormSkeleton,
1178
+ Ue as PanelSection,
1179
+ qe as PanelTitle,
1180
+ oe as PickerCard,
1181
+ Ke as PickerGrid,
1182
+ cn as PickerGridSkeleton,
1183
+ Je as Pill,
1184
+ se as SectionDescription,
1185
+ re as SectionTitle,
1186
+ Qe as Select,
1187
+ _e as SelectSkeleton,
1214
1188
  G as Skeleton,
1215
- ft as SplitLayout,
1216
- U as Stack,
1217
- un as StoryCardSkeleton,
1218
- Et as StoryTitle,
1219
- bt as TagRow,
1220
- sn as Textarea,
1221
- Yt as TextareaSkeleton,
1222
- an as ThemeToggle,
1223
- Ne as ThumbSkeleton,
1224
- on as TitleRow,
1225
- be as TitleSkeleton,
1226
- wt as UserCardSkeleton,
1227
- dn as UserListSkeleton,
1228
- cn as VerticalToolbar,
1229
- he as WHITEBOARD_GRID,
1230
- xt as WhiteboardShell,
1231
- Ue as ZoomBar,
1232
- Mt as belowPanel,
1189
+ tn as SplitLayout,
1190
+ pt as Stack,
1191
+ ue as TagRow,
1192
+ en as Textarea,
1193
+ ze as TextareaSkeleton,
1194
+ nn as ThemeToggle,
1195
+ Mt as ThumbSkeleton,
1196
+ rn as TitleRow,
1197
+ kt as TitleSkeleton,
1198
+ sn as VerticalToolbar,
1199
+ ut as WHITEBOARD_GRID,
1200
+ fe as WhiteboardShell,
1201
+ Vt as ZoomBar,
1202
+ ge as belowPanel,
1233
1203
  l as cn,
1234
- Se as computeWhiteboardFit,
1235
- je as computeWhiteboardRectFocus,
1236
- ue as snapToWhiteboardGrid,
1237
- kt as usePanelRect,
1238
- _t as useWhiteboardLayout,
1204
+ gt as computeWhiteboardFit,
1205
+ Ht as computeWhiteboardRectFocus,
1206
+ ct as snapToWhiteboardGrid,
1207
+ we as usePanelRect,
1208
+ Ne as useWhiteboardLayout,
1239
1209
  b as useWhiteboardStore
1240
1210
  };