@tenorlab/react-dashboard 1.6.5 → 1.6.7

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.
@@ -0,0 +1,3261 @@
1
+ import { create as xt } from "zustand";
2
+ import { blankDashboardConfig as Se, dashboardStoreUtils as ge, getDistinctCssClasses as Z, ensureZoomScaleIsWithinRange as Ct, parseContainerTitle as at, getWidgetMetaFromCatalog as wt, dashboardSettingsUtils as St } from "./core.es.js";
3
+ import Ce, { useState as oe, useCallback as ce, useMemo as fe, useRef as st, useEffect as Oe, forwardRef as se, Suspense as Dt } from "react";
4
+ import { jsxs as _, jsx as t } from "react/jsx-runtime";
5
+ import lt from "react-dom";
6
+ const Tt = (e) => (n, r, i) => {
7
+ const a = i.subscribe;
8
+ return i.subscribe = ((d, f, S) => {
9
+ let v = d;
10
+ if (f) {
11
+ const b = S?.equalityFn || Object.is;
12
+ let c = d(i.getState());
13
+ v = (h) => {
14
+ const g = d(h);
15
+ if (!b(c, g)) {
16
+ const N = c;
17
+ f(c = g, N);
18
+ }
19
+ }, S?.fireImmediately && f(c, c);
20
+ }
21
+ return a(v);
22
+ }), e(n, r, i);
23
+ }, Nt = Tt, Et = (e, n) => ({
24
+ isLoading: !1,
25
+ isEditing: !1,
26
+ allDashboardConfigs: [Se],
27
+ currentDashboardConfig: Se,
28
+ targetContainerKey: void 0,
29
+ getNextContainerKey: (r) => ge.getNextContainerKey(n().currentDashboardConfig, r),
30
+ getCurrentDashboardConfig: () => n().currentDashboardConfig,
31
+ getCurrentDashboardId: () => n().currentDashboardConfig.dashboardId,
32
+ getIsResponsive: () => n().currentDashboardConfig.responsiveGrid || !1,
33
+ getTargetContainerKey: () => n().targetContainerKey,
34
+ setIsLoading: (r) => (e(() => ({ isLoading: r })), r),
35
+ setIsEditing: (r) => {
36
+ let i = n().targetContainerKey;
37
+ return r || (i = void 0), e(() => ({ isEditing: r, targetContainerKey: i })), r;
38
+ },
39
+ setTargetContainerKey: (r) => (e(() => ({ targetContainerKey: r })), r),
40
+ setAllDashboardConfigs: (r) => (e(() => ({ allDashboardConfigs: r })), n().allDashboardConfigs),
41
+ setCurrentDashboardConfig: (r) => {
42
+ const i = n(), a = [
43
+ ...i.allDashboardConfigs.filter((o) => o.dashboardId !== r.dashboardId),
44
+ r
45
+ ];
46
+ return e(() => ({
47
+ ...i,
48
+ allDashboardConfigs: a,
49
+ currentDashboardConfig: r
50
+ })), a;
51
+ },
52
+ addDashboardConfig: (r) => {
53
+ const i = n(), a = [
54
+ ...i.allDashboardConfigs.filter((o) => o.dashboardId !== r.dashboardId),
55
+ r
56
+ ];
57
+ return e(() => ({
58
+ ...i,
59
+ allDashboardConfigs: a,
60
+ currentDashboardConfig: r
61
+ })), a;
62
+ },
63
+ deleteDashboardConfigById: (r) => {
64
+ const i = n(), a = [...i.allDashboardConfigs.filter((o) => o.dashboardId !== r)];
65
+ return e(() => ({
66
+ ...i,
67
+ allDashboardConfigs: a,
68
+ currentDashboardConfig: a[0] || Se
69
+ })), a;
70
+ },
71
+ selectDashboardById: (r) => (e(() => {
72
+ const i = n(), a = i.allDashboardConfigs.find((o) => o.dashboardId === r);
73
+ return a ? {
74
+ currentDashboardConfig: a
75
+ } : {
76
+ ...i
77
+ };
78
+ }), n().currentDashboardConfig),
79
+ addWidget: (r) => {
80
+ const i = n(), a = ge.addWidget({
81
+ dashboardConfig: i.currentDashboardConfig,
82
+ ...r
83
+ }), o = [
84
+ ...i.allDashboardConfigs.filter(
85
+ (d) => d.dashboardId !== a.updatedDashboardConfig.dashboardId
86
+ ),
87
+ a.updatedDashboardConfig
88
+ ];
89
+ return a.success && e(() => ({
90
+ allDashboardConfigs: o,
91
+ currentDashboardConfig: a.updatedDashboardConfig
92
+ })), {
93
+ ...a,
94
+ allUpdatedDashboardConfigs: o
95
+ };
96
+ },
97
+ removeWidget: (r, i) => {
98
+ const a = n(), o = ge.removeWidget(
99
+ a.currentDashboardConfig,
100
+ r,
101
+ i
102
+ ), d = [
103
+ ...a.allDashboardConfigs.filter(
104
+ (f) => f.dashboardId !== o.updatedDashboardConfig.dashboardId
105
+ ),
106
+ o.updatedDashboardConfig
107
+ ];
108
+ return o.success && e(() => ({
109
+ allDashboardConfigs: d,
110
+ currentDashboardConfig: o.updatedDashboardConfig
111
+ })), {
112
+ ...o,
113
+ allUpdatedDashboardConfigs: d
114
+ };
115
+ },
116
+ moveWidget: (r, i, a) => {
117
+ const o = n(), d = ge.moveWidget(
118
+ o.currentDashboardConfig,
119
+ r,
120
+ i,
121
+ a
122
+ ), f = [
123
+ ...o.allDashboardConfigs.filter(
124
+ (S) => S.dashboardId !== d.updatedDashboardConfig.dashboardId
125
+ ),
126
+ d.updatedDashboardConfig
127
+ ];
128
+ return d.success && e(() => ({
129
+ allDashboardConfigs: f,
130
+ currentDashboardConfig: d.updatedDashboardConfig
131
+ })), {
132
+ ...d,
133
+ allUpdatedDashboardConfigs: f
134
+ };
135
+ }
136
+ }), gn = xt()(
137
+ Nt((...e) => ({
138
+ ...Et(...e)
139
+ }))
140
+ ), mn = () => {
141
+ const [e, n] = oe({}), [r, i] = oe({}), a = ce((b) => {
142
+ const c = b.dashboardId;
143
+ n((h) => {
144
+ const g = {
145
+ undoIndex: 0,
146
+ config: b
147
+ };
148
+ return i((N) => ({
149
+ ...N,
150
+ [c]: 0
151
+ })), {
152
+ ...h,
153
+ [c]: [g]
154
+ // Forces a reset to just this one entry
155
+ };
156
+ });
157
+ }, []), o = ce(
158
+ (b) => {
159
+ n((c) => {
160
+ const h = b.dashboardId, g = c[h] || [], N = r[h] ?? -1, x = g.slice(0, N + 1), p = {
161
+ undoIndex: x.length,
162
+ // New index based on trimmed length
163
+ config: b
164
+ }, y = [...x, p];
165
+ return i((T) => ({
166
+ ...T,
167
+ [h]: y.length - 1
168
+ // Index is now the last element's index
169
+ })), {
170
+ ...c,
171
+ [h]: y
172
+ };
173
+ });
174
+ },
175
+ [r]
176
+ ), d = ce((b) => {
177
+ n((c) => {
178
+ if (!c[b])
179
+ return c;
180
+ const { [b]: h, ...g } = c;
181
+ return g;
182
+ }), i((c) => {
183
+ const { [b]: h, ...g } = c;
184
+ return g;
185
+ });
186
+ }, []), f = ce(
187
+ (b) => {
188
+ i((c) => {
189
+ const h = c[b] ?? -1, g = Math.max(0, h - 1);
190
+ return g !== h ? { ...c, [b]: g } : c;
191
+ });
192
+ },
193
+ [
194
+ //loadConfigFromHistory
195
+ ]
196
+ ), S = ce(
197
+ (b) => {
198
+ i((c) => {
199
+ const h = e[b]?.length || 0, g = c[b] ?? -1, N = Math.min(h - 1, g + 1);
200
+ return N !== g ? { ...c, [b]: N } : c;
201
+ });
202
+ },
203
+ [
204
+ e
205
+ //loadConfigFromHistory,
206
+ ]
207
+ );
208
+ return {
209
+ initializeHistoryForDashboard: a,
210
+ resetAllHistory: () => n({}),
211
+ addUndoEntry: o,
212
+ removeUndoHistoryForDashboard: d,
213
+ undo: f,
214
+ redo: S,
215
+ getUndoStatus: (b) => {
216
+ const c = r[b] ?? -1, h = e[b]?.length || 0, g = c <= 0, N = c >= h - 1;
217
+ return { isUndoDisabled: g, isRedoDisabled: N };
218
+ },
219
+ undoHistory: e,
220
+ historyIndex: r
221
+ // (Optional: You might expose undoHistory and historyIndex if needed for debugging)
222
+ };
223
+ };
224
+ function V({
225
+ children: e,
226
+ className: n,
227
+ style: r
228
+ }) {
229
+ return /* @__PURE__ */ t(
230
+ "svg",
231
+ {
232
+ xmlns: "http://www.w3.org/2000/svg",
233
+ width: "24",
234
+ height: "24",
235
+ viewBox: "0 0 24 24",
236
+ fill: "none",
237
+ stroke: "currentColor",
238
+ strokeWidth: "2",
239
+ strokeLinecap: "round",
240
+ strokeLinejoin: "round",
241
+ className: n,
242
+ style: r,
243
+ children: e
244
+ }
245
+ );
246
+ }
247
+ function ct({ className: e, style: n }) {
248
+ return /* @__PURE__ */ _(
249
+ V,
250
+ {
251
+ className: `lucide lucide-circle-plus-icon lucide-circle-plus ${e}`,
252
+ style: n,
253
+ children: [
254
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
255
+ /* @__PURE__ */ t("path", { d: "M8 12h8" }),
256
+ /* @__PURE__ */ t("path", { d: "M12 8v8" })
257
+ ]
258
+ }
259
+ );
260
+ }
261
+ const pn = ct;
262
+ function _t({ className: e, style: n }) {
263
+ return /* @__PURE__ */ _(
264
+ V,
265
+ {
266
+ className: `lucide lucide-circle-minus-icon lucide-circle-minus ${e}`,
267
+ style: n,
268
+ children: [
269
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
270
+ /* @__PURE__ */ t("path", { d: "M8 12h8" })
271
+ ]
272
+ }
273
+ );
274
+ }
275
+ function yn({ className: e, style: n }) {
276
+ return /* @__PURE__ */ _(
277
+ V,
278
+ {
279
+ className: `lucide lucide-trash2-icon lucide-trash-2 ${e}`,
280
+ style: n,
281
+ children: [
282
+ /* @__PURE__ */ t("path", { d: "M10 11v6" }),
283
+ /* @__PURE__ */ t("path", { d: "M14 11v6" }),
284
+ /* @__PURE__ */ t("path", { d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6" }),
285
+ /* @__PURE__ */ t("path", { d: "M3 6h18" }),
286
+ /* @__PURE__ */ t("path", { d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2" })
287
+ ]
288
+ }
289
+ );
290
+ }
291
+ function bn({ className: e, style: n }) {
292
+ return /* @__PURE__ */ _(
293
+ V,
294
+ {
295
+ className: `lucide lucide-square-pen-icon lucide-square-pen ${e}`,
296
+ style: n,
297
+ children: [
298
+ /* @__PURE__ */ t("path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
299
+ /* @__PURE__ */ t("path", { d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z" })
300
+ ]
301
+ }
302
+ );
303
+ }
304
+ function vn({ className: e, style: n }) {
305
+ return /* @__PURE__ */ _(
306
+ V,
307
+ {
308
+ className: `lucide lucide-text-cursor-input-icon lucide-text-cursor-input ${e}`,
309
+ style: n,
310
+ children: [
311
+ /* @__PURE__ */ t("path", { d: "M12 20h-1a2 2 0 0 1-2-2 2 2 0 0 1-2 2H6" }),
312
+ /* @__PURE__ */ t("path", { d: "M13 8h7a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-7" }),
313
+ /* @__PURE__ */ t("path", { d: "M5 16H4a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h1" }),
314
+ /* @__PURE__ */ t("path", { d: "M6 4h1a2 2 0 0 1 2 2 2 2 0 0 1 2-2h1" }),
315
+ /* @__PURE__ */ t("path", { d: "M9 6v12" })
316
+ ]
317
+ }
318
+ );
319
+ }
320
+ function xn({ className: e, style: n }) {
321
+ return /* @__PURE__ */ _(
322
+ V,
323
+ {
324
+ className: `lucide lucide-grid3x3-icon lucide-grid-3x3 ${e}`,
325
+ style: n,
326
+ children: [
327
+ /* @__PURE__ */ t("rect", { width: "18", height: "18", x: "3", y: "3", rx: "2" }),
328
+ /* @__PURE__ */ t("path", { d: "M3 9h18" }),
329
+ /* @__PURE__ */ t("path", { d: "M3 15h18" }),
330
+ /* @__PURE__ */ t("path", { d: "M9 3v18" }),
331
+ /* @__PURE__ */ t("path", { d: "M15 3v18" })
332
+ ]
333
+ }
334
+ );
335
+ }
336
+ function Cn({ className: e, style: n }) {
337
+ return /* @__PURE__ */ _(
338
+ V,
339
+ {
340
+ className: `lucide lucide-monitor-icon lucide-monitor ${e}`,
341
+ style: n,
342
+ children: [
343
+ /* @__PURE__ */ t("rect", { width: "20", height: "14", x: "2", y: "3", rx: "2" }),
344
+ /* @__PURE__ */ t("line", { x1: "8", x2: "16", y1: "21", y2: "21" }),
345
+ /* @__PURE__ */ t("line", { x1: "12", x2: "12", y1: "17", y2: "21" })
346
+ ]
347
+ }
348
+ );
349
+ }
350
+ function wn({ className: e, style: n }) {
351
+ return /* @__PURE__ */ _(
352
+ V,
353
+ {
354
+ className: `lucide lucide-monitor-smartphone-icon lucide-monitor-smartphone ${e}`,
355
+ style: n,
356
+ children: [
357
+ /* @__PURE__ */ t("path", { d: "M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8" }),
358
+ /* @__PURE__ */ t("path", { d: "M10 19v-3.96 3.15" }),
359
+ /* @__PURE__ */ t("path", { d: "M7 19h5" }),
360
+ /* @__PURE__ */ t("rect", { width: "6", height: "10", x: "16", y: "12", rx: "2" })
361
+ ]
362
+ }
363
+ );
364
+ }
365
+ function dt({ className: e, style: n }) {
366
+ return /* @__PURE__ */ _(
367
+ V,
368
+ {
369
+ className: `lucide lucide-circle-arrow-left-icon lucide-circle-arrow-left ${e}`,
370
+ style: n,
371
+ children: [
372
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
373
+ /* @__PURE__ */ t("path", { d: "m12 8-4 4 4 4" }),
374
+ /* @__PURE__ */ t("path", { d: "M16 12H8" })
375
+ ]
376
+ }
377
+ );
378
+ }
379
+ function ut({ className: e, style: n }) {
380
+ return /* @__PURE__ */ _(
381
+ V,
382
+ {
383
+ className: `lucide lucide-circle-arrow-right-icon lucide-circle-arrow-right ${e}`,
384
+ style: n,
385
+ children: [
386
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
387
+ /* @__PURE__ */ t("path", { d: "m12 16 4-4-4-4" }),
388
+ /* @__PURE__ */ t("path", { d: "M8 12h8" })
389
+ ]
390
+ }
391
+ );
392
+ }
393
+ function Mt({ className: e, style: n }) {
394
+ return /* @__PURE__ */ _(
395
+ V,
396
+ {
397
+ className: `lucide lucide-settings-icon lucide-settings ${e}`,
398
+ style: n,
399
+ children: [
400
+ /* @__PURE__ */ t("path", { d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915" }),
401
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "3" })
402
+ ]
403
+ }
404
+ );
405
+ }
406
+ function Sn({ className: e, style: n }) {
407
+ return /* @__PURE__ */ _(
408
+ V,
409
+ {
410
+ className: `lucide lucide-tablet-smartphone-icon lucide-tablet-smartphone ${e}`,
411
+ style: n,
412
+ children: [
413
+ /* @__PURE__ */ t("rect", { width: "10", height: "14", x: "3", y: "8", rx: "2" }),
414
+ /* @__PURE__ */ t("path", { d: "M5 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2h-2.4" }),
415
+ /* @__PURE__ */ t("path", { d: "M8 18h.01" })
416
+ ]
417
+ }
418
+ );
419
+ }
420
+ function ft({ className: e, style: n }) {
421
+ return /* @__PURE__ */ _(
422
+ V,
423
+ {
424
+ className: `lucide lucide-circle-x-icon lucide-circle-x ${e}`,
425
+ style: n,
426
+ children: [
427
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
428
+ /* @__PURE__ */ t("path", { d: "m15 9-6 6" }),
429
+ /* @__PURE__ */ t("path", { d: "m9 9 6 6" })
430
+ ]
431
+ }
432
+ );
433
+ }
434
+ function Dn({ className: e, style: n }) {
435
+ return /* @__PURE__ */ _(
436
+ V,
437
+ {
438
+ className: `lucide lucide-zoom-in-icon lucide-zoom-in ${e}`,
439
+ style: n,
440
+ children: [
441
+ /* @__PURE__ */ t("circle", { cx: "11", cy: "11", r: "8" }),
442
+ /* @__PURE__ */ t("line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }),
443
+ /* @__PURE__ */ t("line", { x1: "11", x2: "11", y1: "8", y2: "14" }),
444
+ /* @__PURE__ */ t("line", { x1: "8", x2: "14", y1: "11", y2: "11" })
445
+ ]
446
+ }
447
+ );
448
+ }
449
+ function Tn({ className: e, style: n }) {
450
+ return /* @__PURE__ */ _(
451
+ V,
452
+ {
453
+ className: `lucide lucide-zoom-out-icon lucide-zoom-out ${e}`,
454
+ style: n,
455
+ children: [
456
+ /* @__PURE__ */ t("circle", { cx: "11", cy: "11", r: "8" }),
457
+ /* @__PURE__ */ t("line", { x1: "21", x2: "16.65", y1: "21", y2: "16.65" }),
458
+ /* @__PURE__ */ t("line", { x1: "8", x2: "14", y1: "11", y2: "11" })
459
+ ]
460
+ }
461
+ );
462
+ }
463
+ function Pt({ className: e, style: n }) {
464
+ return /* @__PURE__ */ _(
465
+ V,
466
+ {
467
+ className: `lucide lucide-timer-reset-icon lucide-timer-reset ${e}`,
468
+ style: n,
469
+ children: [
470
+ /* @__PURE__ */ t("path", { d: "M10 2h4" }),
471
+ /* @__PURE__ */ t("path", { d: "M12 14v-4" }),
472
+ /* @__PURE__ */ t("path", { d: "M4 13a8 8 0 0 1 8-7 8 8 0 1 1-5.3 14L4 17.6" }),
473
+ /* @__PURE__ */ t("path", { d: "M9 17H4v5" })
474
+ ]
475
+ }
476
+ );
477
+ }
478
+ function $t({ className: e, style: n }) {
479
+ return /* @__PURE__ */ _(V, { className: `lucide lucide-undo-icon lucide-undo ${e}`, style: n, children: [
480
+ /* @__PURE__ */ t("path", { d: "M3 7v6h6" }),
481
+ /* @__PURE__ */ t("path", { d: "M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13" })
482
+ ] });
483
+ }
484
+ function It({ className: e, style: n }) {
485
+ return /* @__PURE__ */ _(V, { className: `lucide lucide-redo-icon lucide-redo ${e}`, style: n, children: [
486
+ /* @__PURE__ */ t("path", { d: "M21 7v6h-6" }),
487
+ /* @__PURE__ */ t("path", { d: "M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3l3 2.7" })
488
+ ] });
489
+ }
490
+ function Rt({ className: e, style: n }) {
491
+ return /* @__PURE__ */ _(V, { className: `lucide lucide-hand-icon lucide-hand ${e}`, style: n, children: [
492
+ /* @__PURE__ */ t("path", { d: "M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2" }),
493
+ /* @__PURE__ */ t("path", { d: "M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" }),
494
+ /* @__PURE__ */ t("path", { d: "M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8" }),
495
+ /* @__PURE__ */ t("path", { d: "M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15" })
496
+ ] });
497
+ }
498
+ function ht({ className: e, style: n }) {
499
+ return /* @__PURE__ */ _(
500
+ V,
501
+ {
502
+ className: `lucide lucide-hand-grab-icon lucide-hand-grab ${e}`,
503
+ style: n,
504
+ children: [
505
+ /* @__PURE__ */ t("path", { d: "M18 11.5V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v1.4" }),
506
+ /* @__PURE__ */ t("path", { d: "M14 10V8a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2" }),
507
+ /* @__PURE__ */ t("path", { d: "M10 9.9V9a2 2 0 0 0-2-2a2 2 0 0 0-2 2v5" }),
508
+ /* @__PURE__ */ t("path", { d: "M6 14a2 2 0 0 0-2-2a2 2 0 0 0-2 2" }),
509
+ /* @__PURE__ */ t("path", { d: "M18 11a2 2 0 1 1 4 0v3a8 8 0 0 1-8 8h-4a8 8 0 0 1-8-8 2 2 0 1 1 4 0" })
510
+ ]
511
+ }
512
+ );
513
+ }
514
+ function Ot({ className: e, style: n }) {
515
+ return /* @__PURE__ */ _(
516
+ V,
517
+ {
518
+ className: `lucide lucide-crosshair-icon lucide-crosshair ${e}`,
519
+ style: n,
520
+ children: [
521
+ /* @__PURE__ */ t("line", { x1: "22", x2: "18", y1: "12", y2: "12" }),
522
+ /* @__PURE__ */ t("line", { x1: "6", x2: "2", y1: "12", y2: "12" }),
523
+ /* @__PURE__ */ t("line", { x1: "12", x2: "12", y1: "6", y2: "2" }),
524
+ /* @__PURE__ */ t("line", { x1: "12", x2: "12", y1: "22", y2: "18" })
525
+ ]
526
+ }
527
+ );
528
+ }
529
+ function Nn({ className: e, style: n }) {
530
+ return /* @__PURE__ */ _(
531
+ V,
532
+ {
533
+ className: `lucide lucide-target-icon lucide-target ${e}`,
534
+ style: n,
535
+ children: [
536
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
537
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "6" }),
538
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "2" })
539
+ ]
540
+ }
541
+ );
542
+ }
543
+ function kt({ className: e, style: n }) {
544
+ return /* @__PURE__ */ _(
545
+ V,
546
+ {
547
+ className: `lucide lucide-file-question-mark-icon lucide-file-question-mark ${e}`,
548
+ style: n,
549
+ children: [
550
+ /* @__PURE__ */ t("circle", { cx: "12", cy: "12", r: "10" }),
551
+ /* @__PURE__ */ t("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }),
552
+ /* @__PURE__ */ t("path", { d: "M12 17h.01" })
553
+ ]
554
+ }
555
+ );
556
+ }
557
+ function ke({ className: e, style: n }) {
558
+ return /* @__PURE__ */ t(
559
+ V,
560
+ {
561
+ className: `lucide lucide-chevron-down-icon lucide-chevron-down ${e}`,
562
+ style: n,
563
+ children: /* @__PURE__ */ t("path", { d: "m6 9 6 6 6-6" })
564
+ }
565
+ );
566
+ }
567
+ const gt = ({
568
+ label: e,
569
+ className: n,
570
+ size: r = "medium",
571
+ value: i,
572
+ onChange: a,
573
+ onKeyDown: o,
574
+ placeholder: d = ""
575
+ }) => {
576
+ const f = fe(() => r === "small" ? "py-1.5 px-3 text-sm" : "py-2.5 px-4 text-base", [r]), S = Z("flex flex-col gap-1", n || ""), b = `${Z(`
577
+ block w-full rounded-md px-3 py-1.5 text-base
578
+ bg-formfield content-formfield
579
+ outline-1 -outline-offset-1 outline-primary
580
+ placeholder:text-disabled
581
+ focus:outline-2 focus:-outline-offset-2 focus:outline-indigo-200 sm:text-sm/6
582
+ `)} ${f}`;
583
+ return /* @__PURE__ */ _("div", { className: S, children: [
584
+ (e || "").trim().length > 0 && /* @__PURE__ */ t("label", { htmlFor: e, className: "block text-sm/6 font-medium", children: e }),
585
+ /* @__PURE__ */ t(
586
+ "input",
587
+ {
588
+ id: e,
589
+ type: "text",
590
+ value: i,
591
+ onChange: a,
592
+ onKeyDown: (c) => o && o(c),
593
+ placeholder: d,
594
+ className: b,
595
+ "aria-label": e
596
+ }
597
+ )
598
+ ] });
599
+ }, De = /* @__PURE__ */ new Map([
600
+ [
601
+ "normal",
602
+ "group bg-[category] content-[category] hover:bg-[category] group-hover:bg-[category] focus:outline-[category] focus:outline-offset-[category]"
603
+ ],
604
+ [
605
+ "ghost",
606
+ "group bg-transparent border-[category] text-[category] hover:text-[category] group-hover:text-[category] focus:outline-[category] focus:outline-offset-[category]"
607
+ ]
608
+ ]);
609
+ function ee(e) {
610
+ const {
611
+ tooltip: n,
612
+ disabled: r,
613
+ isIconButton: i,
614
+ className: a,
615
+ buttonType: o,
616
+ category: d,
617
+ px: f,
618
+ py: S,
619
+ children: v,
620
+ ...b
621
+ } = e, c = () => {
622
+ const g = e.isIconButton || !1, N = e.category || "primary", x = e.buttonType || "normal", p = e.disabled || !1, y = e.className || "", T = e.font || "semibold", C = Number((e.border || 0) > 0 ? e.border : 0);
623
+ let D = (e.borderColor || "").trim();
624
+ D = D.length > 0 ? D : "";
625
+ const l = Number((e.borderHover || 0) > 0 ? e.borderHover : 0), M = e.shadow || "sm", s = e.shadowHover || "md", u = (e.addCss || "").trim(), P = e.justifyCss || "justify-center";
626
+ if (g)
627
+ return Z(
628
+ "flex flex-row items-center",
629
+ p ? "text-disabled" : `text-${N} hover:brightness-110 cursor-pointer`,
630
+ y || ""
631
+ );
632
+ const $ = [
633
+ "relative cursor-pointer",
634
+ "rounded-sm focus:outline-none focus:ring focus:ring-offset",
635
+ "transition-all duration-150",
636
+ "text-sm",
637
+ `font-${T}`
638
+ ];
639
+ if (p)
640
+ x === "ghost" ? $.push("text-disabled border-disabled cursor-not-allowed") : $.push("bg-disabled content-disabled border-disabled cursor-not-allowed");
641
+ else {
642
+ $.push("cursor-pointer");
643
+ let R = "";
644
+ De.has(x) ? R = `${De.get(x)}` : R = `${De.get("normal")}`, C < 1 && (R = R.replace("border-[category]", ""));
645
+ const U = R.replace(/\[category\]/g, N).trim();
646
+ $.push(U);
647
+ }
648
+ return C > 0 ? ($.push(`border-[${C}px]`), $.push(`border-${D}`)) : ($.push("border-[1px]"), $.push("border-transparent")), l > 0 ? ($.push(`hover:border-[${l}px] group-hover:border-[${l}px]`), $.push(`hover:border-${D} group-hover:border-${D}`)) : $.push("hover:border-[1px] group-hover:border-[1px]"), $.push(`shadow-${M}`), $.push(`hover:shadow-${s} group-hover:shadow-${s}`), u.length > 0 && $.push(u), u.indexOf("hidden") === -1 && $.push("inline-flex"), $.push(P), $.join(" ").trim();
649
+ }, h = () => {
650
+ const g = e.px || 0.7, N = e.py || 0.25;
651
+ return {
652
+ padding: i ? 0 : `${N}rem ${g}rem `
653
+ };
654
+ };
655
+ return /* @__PURE__ */ t("button", { type: "button", disabled: r, className: c(), style: h(), ...b, children: v });
656
+ }
657
+ const Wt = ({
658
+ testid: e = "not-set",
659
+ label: n = "",
660
+ hideLabel: r = !1,
661
+ showChevron: i = !1,
662
+ hide: a = !1,
663
+ enabled: o,
664
+ isMenuOpen: d,
665
+ toggleOpen: f,
666
+ icon: S,
667
+ children: v
668
+ }) => {
669
+ const b = st(null), [c, h] = oe(d);
670
+ Oe(() => {
671
+ d && h(!0);
672
+ }, [d]);
673
+ const g = () => {
674
+ d || h(!1);
675
+ };
676
+ Oe(() => {
677
+ const p = (y) => {
678
+ b.current && !b.current.contains(y.target) && f(!1);
679
+ };
680
+ return document.addEventListener("mousedown", p), () => document.removeEventListener("mousedown", p);
681
+ }, [f]);
682
+ const N = fe(
683
+ () => `
684
+ group max-w-xs p-1 sm:p-2 rounded-full flex items-center text-sm
685
+ focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary
686
+ content-topbar ${o ? "hover:text-primary cursor-pointer" : "opacity-50"}
687
+ `.trim(),
688
+ [o]
689
+ ), x = `
690
+ absolute flex flex-col right-0 z-50 mt-2 w-56 origin-top-right
691
+ rounded-md shadow-md ring-1 ring-black ring-opacity-5 focus:outline-none
692
+ bg-formfield content-formfield transition transform duration-100
693
+ ${d ? "ease-out opacity-100 scale-100" : "ease-in opacity-0 scale-95 pointer-events-none"}
694
+ `.trim();
695
+ return a ? null : /* @__PURE__ */ _("div", { ref: b, className: "relative inline-block text-left", "data-testid": e, children: [
696
+ /* @__PURE__ */ _(
697
+ "button",
698
+ {
699
+ type: "button",
700
+ className: N,
701
+ onClick: (p) => {
702
+ p.stopPropagation(), f(!d);
703
+ },
704
+ children: [
705
+ S,
706
+ /* @__PURE__ */ t("span", { className: r ? "sr-only" : "hidden ml-3 text-sm font-medium lg:block", children: n }),
707
+ i && /* @__PURE__ */ t(ke, { className: "hidden shrink-0 ml-1 size-4 lg:block" })
708
+ ]
709
+ }
710
+ ),
711
+ (d || c) && /* @__PURE__ */ t(
712
+ "div",
713
+ {
714
+ className: x,
715
+ onTransitionEnd: g,
716
+ role: "menu",
717
+ tabIndex: -1,
718
+ children: /* @__PURE__ */ t("div", { className: "form-dropdown-menu overflow-clip flex flex-col grow rounded-md justify-center w-full h-full bg-sidebar content-sidebar bg-opacity-95 p-0", children: v })
719
+ }
720
+ )
721
+ ] });
722
+ }, jt = (e) => e.direction === "row" ? Z("flex flex-row items-center gap-2", e.classNames || "") : Z("flex flex-col gap-2 w-full", e.classNames || "");
723
+ function At(e) {
724
+ const { children: n, testId: r, classNames: i, direction: a, ...o } = e, d = jt(e);
725
+ return /* @__PURE__ */ t("div", { "data-testid": r || "not-set", className: d, ...o, children: n });
726
+ }
727
+ const En = se(
728
+ (e, n) => {
729
+ const { classNames: r, innerClass: i, ...a } = e, o = Z(r || "", "w-full"), d = Z(
730
+ `w-full flex overflow-hidden justify-between items-center gap-0
731
+ rounded-md border`,
732
+ i || ""
733
+ );
734
+ return /* @__PURE__ */ t(At, { direction: "row", classNames: o, ...a, children: /* @__PURE__ */ t("div", { className: d, children: e.children }) });
735
+ }
736
+ ), _n = se((e, n) => /* @__PURE__ */ t(
737
+ "div",
738
+ {
739
+ "data-testid": e.testId || "not-set",
740
+ className: "flex items-center justify-center",
741
+ style: {
742
+ flexShrink: 0,
743
+ padding: "0.75rem 0 0.75rem 0.75rem"
744
+ },
745
+ children: e.children
746
+ }
747
+ )), Mn = se(
748
+ (e, n) => /* @__PURE__ */ t(
749
+ "div",
750
+ {
751
+ "data-testid": e.testId || "not-set",
752
+ className: "flex-1 flex flex-col gap-0 truncate p-2",
753
+ children: e.children
754
+ }
755
+ )
756
+ ), Pn = se((e, n) => /* @__PURE__ */ t(
757
+ "div",
758
+ {
759
+ "data-testid": e.testId || "not-set",
760
+ className: "flex flex-row items-center justify-between gap-1 h-full",
761
+ style: {
762
+ flexShrink: 0,
763
+ paddingRight: "0.65rem"
764
+ },
765
+ children: e.children
766
+ }
767
+ ));
768
+ function Lt(e) {
769
+ return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
770
+ }
771
+ var de = { exports: {} }, Te = {}, me = { exports: {} }, pe = { exports: {} }, Y = {};
772
+ var qe;
773
+ function qt() {
774
+ if (qe) return Y;
775
+ qe = 1;
776
+ var e = typeof Symbol == "function" && Symbol.for, n = e ? /* @__PURE__ */ Symbol.for("react.element") : 60103, r = e ? /* @__PURE__ */ Symbol.for("react.portal") : 60106, i = e ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107, a = e ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108, o = e ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114, d = e ? /* @__PURE__ */ Symbol.for("react.provider") : 60109, f = e ? /* @__PURE__ */ Symbol.for("react.context") : 60110, S = e ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111, v = e ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111, b = e ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112, c = e ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113, h = e ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120, g = e ? /* @__PURE__ */ Symbol.for("react.memo") : 60115, N = e ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116, x = e ? /* @__PURE__ */ Symbol.for("react.block") : 60121, p = e ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117, y = e ? /* @__PURE__ */ Symbol.for("react.responder") : 60118, T = e ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
777
+ function C(l) {
778
+ if (typeof l == "object" && l !== null) {
779
+ var M = l.$$typeof;
780
+ switch (M) {
781
+ case n:
782
+ switch (l = l.type, l) {
783
+ case S:
784
+ case v:
785
+ case i:
786
+ case o:
787
+ case a:
788
+ case c:
789
+ return l;
790
+ default:
791
+ switch (l = l && l.$$typeof, l) {
792
+ case f:
793
+ case b:
794
+ case N:
795
+ case g:
796
+ case d:
797
+ return l;
798
+ default:
799
+ return M;
800
+ }
801
+ }
802
+ case r:
803
+ return M;
804
+ }
805
+ }
806
+ }
807
+ function D(l) {
808
+ return C(l) === v;
809
+ }
810
+ return Y.AsyncMode = S, Y.ConcurrentMode = v, Y.ContextConsumer = f, Y.ContextProvider = d, Y.Element = n, Y.ForwardRef = b, Y.Fragment = i, Y.Lazy = N, Y.Memo = g, Y.Portal = r, Y.Profiler = o, Y.StrictMode = a, Y.Suspense = c, Y.isAsyncMode = function(l) {
811
+ return D(l) || C(l) === S;
812
+ }, Y.isConcurrentMode = D, Y.isContextConsumer = function(l) {
813
+ return C(l) === f;
814
+ }, Y.isContextProvider = function(l) {
815
+ return C(l) === d;
816
+ }, Y.isElement = function(l) {
817
+ return typeof l == "object" && l !== null && l.$$typeof === n;
818
+ }, Y.isForwardRef = function(l) {
819
+ return C(l) === b;
820
+ }, Y.isFragment = function(l) {
821
+ return C(l) === i;
822
+ }, Y.isLazy = function(l) {
823
+ return C(l) === N;
824
+ }, Y.isMemo = function(l) {
825
+ return C(l) === g;
826
+ }, Y.isPortal = function(l) {
827
+ return C(l) === r;
828
+ }, Y.isProfiler = function(l) {
829
+ return C(l) === o;
830
+ }, Y.isStrictMode = function(l) {
831
+ return C(l) === a;
832
+ }, Y.isSuspense = function(l) {
833
+ return C(l) === c;
834
+ }, Y.isValidElementType = function(l) {
835
+ return typeof l == "string" || typeof l == "function" || l === i || l === v || l === o || l === a || l === c || l === h || typeof l == "object" && l !== null && (l.$$typeof === N || l.$$typeof === g || l.$$typeof === d || l.$$typeof === f || l.$$typeof === b || l.$$typeof === p || l.$$typeof === y || l.$$typeof === T || l.$$typeof === x);
836
+ }, Y.typeOf = C, Y;
837
+ }
838
+ var F = {};
839
+ var Ke;
840
+ function Kt() {
841
+ return Ke || (Ke = 1, process.env.NODE_ENV !== "production" && (function() {
842
+ var e = typeof Symbol == "function" && Symbol.for, n = e ? /* @__PURE__ */ Symbol.for("react.element") : 60103, r = e ? /* @__PURE__ */ Symbol.for("react.portal") : 60106, i = e ? /* @__PURE__ */ Symbol.for("react.fragment") : 60107, a = e ? /* @__PURE__ */ Symbol.for("react.strict_mode") : 60108, o = e ? /* @__PURE__ */ Symbol.for("react.profiler") : 60114, d = e ? /* @__PURE__ */ Symbol.for("react.provider") : 60109, f = e ? /* @__PURE__ */ Symbol.for("react.context") : 60110, S = e ? /* @__PURE__ */ Symbol.for("react.async_mode") : 60111, v = e ? /* @__PURE__ */ Symbol.for("react.concurrent_mode") : 60111, b = e ? /* @__PURE__ */ Symbol.for("react.forward_ref") : 60112, c = e ? /* @__PURE__ */ Symbol.for("react.suspense") : 60113, h = e ? /* @__PURE__ */ Symbol.for("react.suspense_list") : 60120, g = e ? /* @__PURE__ */ Symbol.for("react.memo") : 60115, N = e ? /* @__PURE__ */ Symbol.for("react.lazy") : 60116, x = e ? /* @__PURE__ */ Symbol.for("react.block") : 60121, p = e ? /* @__PURE__ */ Symbol.for("react.fundamental") : 60117, y = e ? /* @__PURE__ */ Symbol.for("react.responder") : 60118, T = e ? /* @__PURE__ */ Symbol.for("react.scope") : 60119;
843
+ function C(E) {
844
+ return typeof E == "string" || typeof E == "function" || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
845
+ E === i || E === v || E === o || E === a || E === c || E === h || typeof E == "object" && E !== null && (E.$$typeof === N || E.$$typeof === g || E.$$typeof === d || E.$$typeof === f || E.$$typeof === b || E.$$typeof === p || E.$$typeof === y || E.$$typeof === T || E.$$typeof === x);
846
+ }
847
+ function D(E) {
848
+ if (typeof E == "object" && E !== null) {
849
+ var ne = E.$$typeof;
850
+ switch (ne) {
851
+ case n:
852
+ var he = E.type;
853
+ switch (he) {
854
+ case S:
855
+ case v:
856
+ case i:
857
+ case o:
858
+ case a:
859
+ case c:
860
+ return he;
861
+ default:
862
+ var Le = he && he.$$typeof;
863
+ switch (Le) {
864
+ case f:
865
+ case b:
866
+ case N:
867
+ case g:
868
+ case d:
869
+ return Le;
870
+ default:
871
+ return ne;
872
+ }
873
+ }
874
+ case r:
875
+ return ne;
876
+ }
877
+ }
878
+ }
879
+ var l = S, M = v, s = f, u = d, P = n, $ = b, R = i, U = N, B = g, H = r, J = o, m = a, X = c, te = !1;
880
+ function le(E) {
881
+ return te || (te = !0, console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")), w(E) || D(E) === S;
882
+ }
883
+ function w(E) {
884
+ return D(E) === v;
885
+ }
886
+ function I(E) {
887
+ return D(E) === f;
888
+ }
889
+ function A(E) {
890
+ return D(E) === d;
891
+ }
892
+ function W(E) {
893
+ return typeof E == "object" && E !== null && E.$$typeof === n;
894
+ }
895
+ function O(E) {
896
+ return D(E) === b;
897
+ }
898
+ function L(E) {
899
+ return D(E) === i;
900
+ }
901
+ function k(E) {
902
+ return D(E) === N;
903
+ }
904
+ function j(E) {
905
+ return D(E) === g;
906
+ }
907
+ function q(E) {
908
+ return D(E) === r;
909
+ }
910
+ function z(E) {
911
+ return D(E) === o;
912
+ }
913
+ function K(E) {
914
+ return D(E) === a;
915
+ }
916
+ function Q(E) {
917
+ return D(E) === c;
918
+ }
919
+ F.AsyncMode = l, F.ConcurrentMode = M, F.ContextConsumer = s, F.ContextProvider = u, F.Element = P, F.ForwardRef = $, F.Fragment = R, F.Lazy = U, F.Memo = B, F.Portal = H, F.Profiler = J, F.StrictMode = m, F.Suspense = X, F.isAsyncMode = le, F.isConcurrentMode = w, F.isContextConsumer = I, F.isContextProvider = A, F.isElement = W, F.isForwardRef = O, F.isFragment = L, F.isLazy = k, F.isMemo = j, F.isPortal = q, F.isProfiler = z, F.isStrictMode = K, F.isSuspense = Q, F.isValidElementType = C, F.typeOf = D;
920
+ })()), F;
921
+ }
922
+ var Ue;
923
+ function mt() {
924
+ return Ue || (Ue = 1, process.env.NODE_ENV === "production" ? pe.exports = qt() : pe.exports = Kt()), pe.exports;
925
+ }
926
+ var Ne, Ye;
927
+ function Ut() {
928
+ if (Ye) return Ne;
929
+ Ye = 1;
930
+ var e = Object.getOwnPropertySymbols, n = Object.prototype.hasOwnProperty, r = Object.prototype.propertyIsEnumerable;
931
+ function i(o) {
932
+ if (o == null)
933
+ throw new TypeError("Object.assign cannot be called with null or undefined");
934
+ return Object(o);
935
+ }
936
+ function a() {
937
+ try {
938
+ if (!Object.assign)
939
+ return !1;
940
+ var o = new String("abc");
941
+ if (o[5] = "de", Object.getOwnPropertyNames(o)[0] === "5")
942
+ return !1;
943
+ for (var d = {}, f = 0; f < 10; f++)
944
+ d["_" + String.fromCharCode(f)] = f;
945
+ var S = Object.getOwnPropertyNames(d).map(function(b) {
946
+ return d[b];
947
+ });
948
+ if (S.join("") !== "0123456789")
949
+ return !1;
950
+ var v = {};
951
+ return "abcdefghijklmnopqrst".split("").forEach(function(b) {
952
+ v[b] = b;
953
+ }), Object.keys(Object.assign({}, v)).join("") === "abcdefghijklmnopqrst";
954
+ } catch {
955
+ return !1;
956
+ }
957
+ }
958
+ return Ne = a() ? Object.assign : function(o, d) {
959
+ for (var f, S = i(o), v, b = 1; b < arguments.length; b++) {
960
+ f = Object(arguments[b]);
961
+ for (var c in f)
962
+ n.call(f, c) && (S[c] = f[c]);
963
+ if (e) {
964
+ v = e(f);
965
+ for (var h = 0; h < v.length; h++)
966
+ r.call(f, v[h]) && (S[v[h]] = f[v[h]]);
967
+ }
968
+ }
969
+ return S;
970
+ }, Ne;
971
+ }
972
+ var Ee, Fe;
973
+ function We() {
974
+ if (Fe) return Ee;
975
+ Fe = 1;
976
+ var e = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";
977
+ return Ee = e, Ee;
978
+ }
979
+ var _e, ze;
980
+ function pt() {
981
+ return ze || (ze = 1, _e = Function.call.bind(Object.prototype.hasOwnProperty)), _e;
982
+ }
983
+ var Me, Be;
984
+ function Yt() {
985
+ if (Be) return Me;
986
+ Be = 1;
987
+ var e = function() {
988
+ };
989
+ if (process.env.NODE_ENV !== "production") {
990
+ var n = /* @__PURE__ */ We(), r = {}, i = /* @__PURE__ */ pt();
991
+ e = function(o) {
992
+ var d = "Warning: " + o;
993
+ typeof console < "u" && console.error(d);
994
+ try {
995
+ throw new Error(d);
996
+ } catch {
997
+ }
998
+ };
999
+ }
1000
+ function a(o, d, f, S, v) {
1001
+ if (process.env.NODE_ENV !== "production") {
1002
+ for (var b in o)
1003
+ if (i(o, b)) {
1004
+ var c;
1005
+ try {
1006
+ if (typeof o[b] != "function") {
1007
+ var h = Error(
1008
+ (S || "React class") + ": " + f + " type `" + b + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof o[b] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."
1009
+ );
1010
+ throw h.name = "Invariant Violation", h;
1011
+ }
1012
+ c = o[b](d, b, S, f, null, n);
1013
+ } catch (N) {
1014
+ c = N;
1015
+ }
1016
+ if (c && !(c instanceof Error) && e(
1017
+ (S || "React class") + ": type specification of " + f + " `" + b + "` is invalid; the type checker function must return `null` or an `Error` but returned a " + typeof c + ". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."
1018
+ ), c instanceof Error && !(c.message in r)) {
1019
+ r[c.message] = !0;
1020
+ var g = v ? v() : "";
1021
+ e(
1022
+ "Failed " + f + " type: " + c.message + (g ?? "")
1023
+ );
1024
+ }
1025
+ }
1026
+ }
1027
+ }
1028
+ return a.resetWarningCache = function() {
1029
+ process.env.NODE_ENV !== "production" && (r = {});
1030
+ }, Me = a, Me;
1031
+ }
1032
+ var Pe, He;
1033
+ function Ft() {
1034
+ if (He) return Pe;
1035
+ He = 1;
1036
+ var e = mt(), n = Ut(), r = /* @__PURE__ */ We(), i = /* @__PURE__ */ pt(), a = /* @__PURE__ */ Yt(), o = function() {
1037
+ };
1038
+ process.env.NODE_ENV !== "production" && (o = function(f) {
1039
+ var S = "Warning: " + f;
1040
+ typeof console < "u" && console.error(S);
1041
+ try {
1042
+ throw new Error(S);
1043
+ } catch {
1044
+ }
1045
+ });
1046
+ function d() {
1047
+ return null;
1048
+ }
1049
+ return Pe = function(f, S) {
1050
+ var v = typeof Symbol == "function" && Symbol.iterator, b = "@@iterator";
1051
+ function c(w) {
1052
+ var I = w && (v && w[v] || w[b]);
1053
+ if (typeof I == "function")
1054
+ return I;
1055
+ }
1056
+ var h = "<<anonymous>>", g = {
1057
+ array: y("array"),
1058
+ bigint: y("bigint"),
1059
+ bool: y("boolean"),
1060
+ func: y("function"),
1061
+ number: y("number"),
1062
+ object: y("object"),
1063
+ string: y("string"),
1064
+ symbol: y("symbol"),
1065
+ any: T(),
1066
+ arrayOf: C,
1067
+ element: D(),
1068
+ elementType: l(),
1069
+ instanceOf: M,
1070
+ node: $(),
1071
+ objectOf: u,
1072
+ oneOf: s,
1073
+ oneOfType: P,
1074
+ shape: U,
1075
+ exact: B
1076
+ };
1077
+ function N(w, I) {
1078
+ return w === I ? w !== 0 || 1 / w === 1 / I : w !== w && I !== I;
1079
+ }
1080
+ function x(w, I) {
1081
+ this.message = w, this.data = I && typeof I == "object" ? I : {}, this.stack = "";
1082
+ }
1083
+ x.prototype = Error.prototype;
1084
+ function p(w) {
1085
+ if (process.env.NODE_ENV !== "production")
1086
+ var I = {}, A = 0;
1087
+ function W(L, k, j, q, z, K, Q) {
1088
+ if (q = q || h, K = K || j, Q !== r) {
1089
+ if (S) {
1090
+ var E = new Error(
1091
+ "Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types"
1092
+ );
1093
+ throw E.name = "Invariant Violation", E;
1094
+ } else if (process.env.NODE_ENV !== "production" && typeof console < "u") {
1095
+ var ne = q + ":" + j;
1096
+ !I[ne] && // Avoid spamming the console because they are often not actionable except for lib authors
1097
+ A < 3 && (o(
1098
+ "You are manually calling a React.PropTypes validation function for the `" + K + "` prop on `" + q + "`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."
1099
+ ), I[ne] = !0, A++);
1100
+ }
1101
+ }
1102
+ return k[j] == null ? L ? k[j] === null ? new x("The " + z + " `" + K + "` is marked as required " + ("in `" + q + "`, but its value is `null`.")) : new x("The " + z + " `" + K + "` is marked as required in " + ("`" + q + "`, but its value is `undefined`.")) : null : w(k, j, q, z, K);
1103
+ }
1104
+ var O = W.bind(null, !1);
1105
+ return O.isRequired = W.bind(null, !0), O;
1106
+ }
1107
+ function y(w) {
1108
+ function I(A, W, O, L, k, j) {
1109
+ var q = A[W], z = m(q);
1110
+ if (z !== w) {
1111
+ var K = X(q);
1112
+ return new x(
1113
+ "Invalid " + L + " `" + k + "` of type " + ("`" + K + "` supplied to `" + O + "`, expected ") + ("`" + w + "`."),
1114
+ { expectedType: w }
1115
+ );
1116
+ }
1117
+ return null;
1118
+ }
1119
+ return p(I);
1120
+ }
1121
+ function T() {
1122
+ return p(d);
1123
+ }
1124
+ function C(w) {
1125
+ function I(A, W, O, L, k) {
1126
+ if (typeof w != "function")
1127
+ return new x("Property `" + k + "` of component `" + O + "` has invalid PropType notation inside arrayOf.");
1128
+ var j = A[W];
1129
+ if (!Array.isArray(j)) {
1130
+ var q = m(j);
1131
+ return new x("Invalid " + L + " `" + k + "` of type " + ("`" + q + "` supplied to `" + O + "`, expected an array."));
1132
+ }
1133
+ for (var z = 0; z < j.length; z++) {
1134
+ var K = w(j, z, O, L, k + "[" + z + "]", r);
1135
+ if (K instanceof Error)
1136
+ return K;
1137
+ }
1138
+ return null;
1139
+ }
1140
+ return p(I);
1141
+ }
1142
+ function D() {
1143
+ function w(I, A, W, O, L) {
1144
+ var k = I[A];
1145
+ if (!f(k)) {
1146
+ var j = m(k);
1147
+ return new x("Invalid " + O + " `" + L + "` of type " + ("`" + j + "` supplied to `" + W + "`, expected a single ReactElement."));
1148
+ }
1149
+ return null;
1150
+ }
1151
+ return p(w);
1152
+ }
1153
+ function l() {
1154
+ function w(I, A, W, O, L) {
1155
+ var k = I[A];
1156
+ if (!e.isValidElementType(k)) {
1157
+ var j = m(k);
1158
+ return new x("Invalid " + O + " `" + L + "` of type " + ("`" + j + "` supplied to `" + W + "`, expected a single ReactElement type."));
1159
+ }
1160
+ return null;
1161
+ }
1162
+ return p(w);
1163
+ }
1164
+ function M(w) {
1165
+ function I(A, W, O, L, k) {
1166
+ if (!(A[W] instanceof w)) {
1167
+ var j = w.name || h, q = le(A[W]);
1168
+ return new x("Invalid " + L + " `" + k + "` of type " + ("`" + q + "` supplied to `" + O + "`, expected ") + ("instance of `" + j + "`."));
1169
+ }
1170
+ return null;
1171
+ }
1172
+ return p(I);
1173
+ }
1174
+ function s(w) {
1175
+ if (!Array.isArray(w))
1176
+ return process.env.NODE_ENV !== "production" && (arguments.length > 1 ? o(
1177
+ "Invalid arguments supplied to oneOf, expected an array, got " + arguments.length + " arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."
1178
+ ) : o("Invalid argument supplied to oneOf, expected an array.")), d;
1179
+ function I(A, W, O, L, k) {
1180
+ for (var j = A[W], q = 0; q < w.length; q++)
1181
+ if (N(j, w[q]))
1182
+ return null;
1183
+ var z = JSON.stringify(w, function(Q, E) {
1184
+ var ne = X(E);
1185
+ return ne === "symbol" ? String(E) : E;
1186
+ });
1187
+ return new x("Invalid " + L + " `" + k + "` of value `" + String(j) + "` " + ("supplied to `" + O + "`, expected one of " + z + "."));
1188
+ }
1189
+ return p(I);
1190
+ }
1191
+ function u(w) {
1192
+ function I(A, W, O, L, k) {
1193
+ if (typeof w != "function")
1194
+ return new x("Property `" + k + "` of component `" + O + "` has invalid PropType notation inside objectOf.");
1195
+ var j = A[W], q = m(j);
1196
+ if (q !== "object")
1197
+ return new x("Invalid " + L + " `" + k + "` of type " + ("`" + q + "` supplied to `" + O + "`, expected an object."));
1198
+ for (var z in j)
1199
+ if (i(j, z)) {
1200
+ var K = w(j, z, O, L, k + "." + z, r);
1201
+ if (K instanceof Error)
1202
+ return K;
1203
+ }
1204
+ return null;
1205
+ }
1206
+ return p(I);
1207
+ }
1208
+ function P(w) {
1209
+ if (!Array.isArray(w))
1210
+ return process.env.NODE_ENV !== "production" && o("Invalid argument supplied to oneOfType, expected an instance of array."), d;
1211
+ for (var I = 0; I < w.length; I++) {
1212
+ var A = w[I];
1213
+ if (typeof A != "function")
1214
+ return o(
1215
+ "Invalid argument supplied to oneOfType. Expected an array of check functions, but received " + te(A) + " at index " + I + "."
1216
+ ), d;
1217
+ }
1218
+ function W(O, L, k, j, q) {
1219
+ for (var z = [], K = 0; K < w.length; K++) {
1220
+ var Q = w[K], E = Q(O, L, k, j, q, r);
1221
+ if (E == null)
1222
+ return null;
1223
+ E.data && i(E.data, "expectedType") && z.push(E.data.expectedType);
1224
+ }
1225
+ var ne = z.length > 0 ? ", expected one of type [" + z.join(", ") + "]" : "";
1226
+ return new x("Invalid " + j + " `" + q + "` supplied to " + ("`" + k + "`" + ne + "."));
1227
+ }
1228
+ return p(W);
1229
+ }
1230
+ function $() {
1231
+ function w(I, A, W, O, L) {
1232
+ return H(I[A]) ? null : new x("Invalid " + O + " `" + L + "` supplied to " + ("`" + W + "`, expected a ReactNode."));
1233
+ }
1234
+ return p(w);
1235
+ }
1236
+ function R(w, I, A, W, O) {
1237
+ return new x(
1238
+ (w || "React class") + ": " + I + " type `" + A + "." + W + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + O + "`."
1239
+ );
1240
+ }
1241
+ function U(w) {
1242
+ function I(A, W, O, L, k) {
1243
+ var j = A[W], q = m(j);
1244
+ if (q !== "object")
1245
+ return new x("Invalid " + L + " `" + k + "` of type `" + q + "` " + ("supplied to `" + O + "`, expected `object`."));
1246
+ for (var z in w) {
1247
+ var K = w[z];
1248
+ if (typeof K != "function")
1249
+ return R(O, L, k, z, X(K));
1250
+ var Q = K(j, z, O, L, k + "." + z, r);
1251
+ if (Q)
1252
+ return Q;
1253
+ }
1254
+ return null;
1255
+ }
1256
+ return p(I);
1257
+ }
1258
+ function B(w) {
1259
+ function I(A, W, O, L, k) {
1260
+ var j = A[W], q = m(j);
1261
+ if (q !== "object")
1262
+ return new x("Invalid " + L + " `" + k + "` of type `" + q + "` " + ("supplied to `" + O + "`, expected `object`."));
1263
+ var z = n({}, A[W], w);
1264
+ for (var K in z) {
1265
+ var Q = w[K];
1266
+ if (i(w, K) && typeof Q != "function")
1267
+ return R(O, L, k, K, X(Q));
1268
+ if (!Q)
1269
+ return new x(
1270
+ "Invalid " + L + " `" + k + "` key `" + K + "` supplied to `" + O + "`.\nBad object: " + JSON.stringify(A[W], null, " ") + `
1271
+ Valid keys: ` + JSON.stringify(Object.keys(w), null, " ")
1272
+ );
1273
+ var E = Q(j, K, O, L, k + "." + K, r);
1274
+ if (E)
1275
+ return E;
1276
+ }
1277
+ return null;
1278
+ }
1279
+ return p(I);
1280
+ }
1281
+ function H(w) {
1282
+ switch (typeof w) {
1283
+ case "number":
1284
+ case "string":
1285
+ case "undefined":
1286
+ return !0;
1287
+ case "boolean":
1288
+ return !w;
1289
+ case "object":
1290
+ if (Array.isArray(w))
1291
+ return w.every(H);
1292
+ if (w === null || f(w))
1293
+ return !0;
1294
+ var I = c(w);
1295
+ if (I) {
1296
+ var A = I.call(w), W;
1297
+ if (I !== w.entries) {
1298
+ for (; !(W = A.next()).done; )
1299
+ if (!H(W.value))
1300
+ return !1;
1301
+ } else
1302
+ for (; !(W = A.next()).done; ) {
1303
+ var O = W.value;
1304
+ if (O && !H(O[1]))
1305
+ return !1;
1306
+ }
1307
+ } else
1308
+ return !1;
1309
+ return !0;
1310
+ default:
1311
+ return !1;
1312
+ }
1313
+ }
1314
+ function J(w, I) {
1315
+ return w === "symbol" ? !0 : I ? I["@@toStringTag"] === "Symbol" || typeof Symbol == "function" && I instanceof Symbol : !1;
1316
+ }
1317
+ function m(w) {
1318
+ var I = typeof w;
1319
+ return Array.isArray(w) ? "array" : w instanceof RegExp ? "object" : J(I, w) ? "symbol" : I;
1320
+ }
1321
+ function X(w) {
1322
+ if (typeof w > "u" || w === null)
1323
+ return "" + w;
1324
+ var I = m(w);
1325
+ if (I === "object") {
1326
+ if (w instanceof Date)
1327
+ return "date";
1328
+ if (w instanceof RegExp)
1329
+ return "regexp";
1330
+ }
1331
+ return I;
1332
+ }
1333
+ function te(w) {
1334
+ var I = X(w);
1335
+ switch (I) {
1336
+ case "array":
1337
+ case "object":
1338
+ return "an " + I;
1339
+ case "boolean":
1340
+ case "date":
1341
+ case "regexp":
1342
+ return "a " + I;
1343
+ default:
1344
+ return I;
1345
+ }
1346
+ }
1347
+ function le(w) {
1348
+ return !w.constructor || !w.constructor.name ? h : w.constructor.name;
1349
+ }
1350
+ return g.checkPropTypes = a, g.resetWarningCache = a.resetWarningCache, g.PropTypes = g, g;
1351
+ }, Pe;
1352
+ }
1353
+ var $e, Ve;
1354
+ function zt() {
1355
+ if (Ve) return $e;
1356
+ Ve = 1;
1357
+ var e = /* @__PURE__ */ We();
1358
+ function n() {
1359
+ }
1360
+ function r() {
1361
+ }
1362
+ return r.resetWarningCache = n, $e = function() {
1363
+ function i(d, f, S, v, b, c) {
1364
+ if (c !== e) {
1365
+ var h = new Error(
1366
+ "Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types"
1367
+ );
1368
+ throw h.name = "Invariant Violation", h;
1369
+ }
1370
+ }
1371
+ i.isRequired = i;
1372
+ function a() {
1373
+ return i;
1374
+ }
1375
+ var o = {
1376
+ array: i,
1377
+ bigint: i,
1378
+ bool: i,
1379
+ func: i,
1380
+ number: i,
1381
+ object: i,
1382
+ string: i,
1383
+ symbol: i,
1384
+ any: i,
1385
+ arrayOf: a,
1386
+ element: i,
1387
+ elementType: i,
1388
+ instanceOf: a,
1389
+ node: i,
1390
+ objectOf: a,
1391
+ oneOf: a,
1392
+ oneOfType: a,
1393
+ shape: a,
1394
+ exact: a,
1395
+ checkPropTypes: r,
1396
+ resetWarningCache: n
1397
+ };
1398
+ return o.PropTypes = o, o;
1399
+ }, $e;
1400
+ }
1401
+ var Xe;
1402
+ function yt() {
1403
+ if (Xe) return me.exports;
1404
+ if (Xe = 1, process.env.NODE_ENV !== "production") {
1405
+ var e = mt(), n = !0;
1406
+ me.exports = /* @__PURE__ */ Ft()(e.isElement, n);
1407
+ } else
1408
+ me.exports = /* @__PURE__ */ zt()();
1409
+ return me.exports;
1410
+ }
1411
+ var ye = { exports: {} }, Ge;
1412
+ function Bt() {
1413
+ if (Ge) return ye.exports;
1414
+ Ge = 1;
1415
+ function e(r) {
1416
+ var i, a, o = "";
1417
+ if (typeof r == "string" || typeof r == "number") o += r;
1418
+ else if (typeof r == "object") if (Array.isArray(r)) {
1419
+ var d = r.length;
1420
+ for (i = 0; i < d; i++) r[i] && (a = e(r[i])) && (o && (o += " "), o += a);
1421
+ } else for (a in r) r[a] && (o && (o += " "), o += a);
1422
+ return o;
1423
+ }
1424
+ function n() {
1425
+ for (var r, i, a = 0, o = "", d = arguments.length; a < d; a++) (r = arguments[a]) && (i = e(r)) && (o && (o += " "), o += i);
1426
+ return o;
1427
+ }
1428
+ return ye.exports = n, ye.exports.clsx = n, ye.exports;
1429
+ }
1430
+ var G = {}, ie = {}, Ze;
1431
+ function we() {
1432
+ if (Ze) return ie;
1433
+ Ze = 1, Object.defineProperty(ie, "__esModule", {
1434
+ value: !0
1435
+ }), ie.dontSetMe = a, ie.findInArray = e, ie.int = i, ie.isFunction = n, ie.isNum = r;
1436
+ function e(o, d) {
1437
+ for (let f = 0, S = o.length; f < S; f++)
1438
+ if (d.apply(d, [o[f], f, o])) return o[f];
1439
+ }
1440
+ function n(o) {
1441
+ return typeof o == "function" || Object.prototype.toString.call(o) === "[object Function]";
1442
+ }
1443
+ function r(o) {
1444
+ return typeof o == "number" && !isNaN(o);
1445
+ }
1446
+ function i(o) {
1447
+ return parseInt(o, 10);
1448
+ }
1449
+ function a(o, d, f) {
1450
+ if (o[d])
1451
+ return new Error(`Invalid prop ${d} passed to ${f} - do not set this, set it on the child.`);
1452
+ }
1453
+ return ie;
1454
+ }
1455
+ var ae = {}, Je;
1456
+ function Ht() {
1457
+ if (Je) return ae;
1458
+ Je = 1, Object.defineProperty(ae, "__esModule", {
1459
+ value: !0
1460
+ }), ae.browserPrefixToKey = r, ae.browserPrefixToStyle = i, ae.default = void 0, ae.getPrefix = n;
1461
+ const e = ["Moz", "Webkit", "O", "ms"];
1462
+ function n() {
1463
+ let o = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "transform";
1464
+ if (typeof window > "u") return "";
1465
+ const d = window.document?.documentElement?.style;
1466
+ if (!d || o in d) return "";
1467
+ for (let f = 0; f < e.length; f++)
1468
+ if (r(o, e[f]) in d) return e[f];
1469
+ return "";
1470
+ }
1471
+ function r(o, d) {
1472
+ return d ? `${d}${a(o)}` : o;
1473
+ }
1474
+ function i(o, d) {
1475
+ return d ? `-${d.toLowerCase()}-${o}` : o;
1476
+ }
1477
+ function a(o) {
1478
+ let d = "", f = !0;
1479
+ for (let S = 0; S < o.length; S++)
1480
+ f ? (d += o[S].toUpperCase(), f = !1) : o[S] === "-" ? f = !0 : d += o[S];
1481
+ return d;
1482
+ }
1483
+ return ae.default = n(), ae;
1484
+ }
1485
+ var Qe;
1486
+ function je() {
1487
+ if (Qe) return G;
1488
+ Qe = 1, Object.defineProperty(G, "__esModule", {
1489
+ value: !0
1490
+ }), G.addClassName = l, G.addEvent = d, G.addUserSelectStyles = T, G.createCSSTransform = g, G.createSVGTransform = N, G.getTouch = p, G.getTouchIdentifier = y, G.getTranslation = x, G.innerHeight = b, G.innerWidth = c, G.matchesSelector = a, G.matchesSelectorAndParentsTo = o, G.offsetXYFromParent = h, G.outerHeight = S, G.outerWidth = v, G.removeClassName = M, G.removeEvent = f, G.scheduleRemoveUserSelectStyles = C;
1491
+ var e = we(), n = r(Ht());
1492
+ function r(s, u) {
1493
+ if (typeof WeakMap == "function") var P = /* @__PURE__ */ new WeakMap(), $ = /* @__PURE__ */ new WeakMap();
1494
+ return (r = function(R, U) {
1495
+ if (!U && R && R.__esModule) return R;
1496
+ var B, H, J = { __proto__: null, default: R };
1497
+ if (R === null || typeof R != "object" && typeof R != "function") return J;
1498
+ if (B = U ? $ : P) {
1499
+ if (B.has(R)) return B.get(R);
1500
+ B.set(R, J);
1501
+ }
1502
+ for (const m in R) m !== "default" && {}.hasOwnProperty.call(R, m) && ((H = (B = Object.defineProperty) && Object.getOwnPropertyDescriptor(R, m)) && (H.get || H.set) ? B(J, m, H) : J[m] = R[m]);
1503
+ return J;
1504
+ })(s, u);
1505
+ }
1506
+ let i = "";
1507
+ function a(s, u) {
1508
+ return i || (i = (0, e.findInArray)(["matches", "webkitMatchesSelector", "mozMatchesSelector", "msMatchesSelector", "oMatchesSelector"], function(P) {
1509
+ return (0, e.isFunction)(s[P]);
1510
+ })), (0, e.isFunction)(s[i]) ? s[i](u) : !1;
1511
+ }
1512
+ function o(s, u, P) {
1513
+ let $ = s;
1514
+ do {
1515
+ if (a($, u)) return !0;
1516
+ if ($ === P) return !1;
1517
+ $ = $.parentNode;
1518
+ } while ($);
1519
+ return !1;
1520
+ }
1521
+ function d(s, u, P, $) {
1522
+ if (!s) return;
1523
+ const R = {
1524
+ capture: !0,
1525
+ ...$
1526
+ };
1527
+ s.addEventListener ? s.addEventListener(u, P, R) : s.attachEvent ? s.attachEvent("on" + u, P) : s["on" + u] = P;
1528
+ }
1529
+ function f(s, u, P, $) {
1530
+ if (!s) return;
1531
+ const R = {
1532
+ capture: !0,
1533
+ ...$
1534
+ };
1535
+ s.removeEventListener ? s.removeEventListener(u, P, R) : s.detachEvent ? s.detachEvent("on" + u, P) : s["on" + u] = null;
1536
+ }
1537
+ function S(s) {
1538
+ let u = s.clientHeight;
1539
+ const P = s.ownerDocument.defaultView.getComputedStyle(s);
1540
+ return u += (0, e.int)(P.borderTopWidth), u += (0, e.int)(P.borderBottomWidth), u;
1541
+ }
1542
+ function v(s) {
1543
+ let u = s.clientWidth;
1544
+ const P = s.ownerDocument.defaultView.getComputedStyle(s);
1545
+ return u += (0, e.int)(P.borderLeftWidth), u += (0, e.int)(P.borderRightWidth), u;
1546
+ }
1547
+ function b(s) {
1548
+ let u = s.clientHeight;
1549
+ const P = s.ownerDocument.defaultView.getComputedStyle(s);
1550
+ return u -= (0, e.int)(P.paddingTop), u -= (0, e.int)(P.paddingBottom), u;
1551
+ }
1552
+ function c(s) {
1553
+ let u = s.clientWidth;
1554
+ const P = s.ownerDocument.defaultView.getComputedStyle(s);
1555
+ return u -= (0, e.int)(P.paddingLeft), u -= (0, e.int)(P.paddingRight), u;
1556
+ }
1557
+ function h(s, u, P) {
1558
+ const R = u === u.ownerDocument.body ? {
1559
+ left: 0,
1560
+ top: 0
1561
+ } : u.getBoundingClientRect(), U = (s.clientX + u.scrollLeft - R.left) / P, B = (s.clientY + u.scrollTop - R.top) / P;
1562
+ return {
1563
+ x: U,
1564
+ y: B
1565
+ };
1566
+ }
1567
+ function g(s, u) {
1568
+ const P = x(s, u, "px");
1569
+ return {
1570
+ [(0, n.browserPrefixToKey)("transform", n.default)]: P
1571
+ };
1572
+ }
1573
+ function N(s, u) {
1574
+ return x(s, u, "");
1575
+ }
1576
+ function x(s, u, P) {
1577
+ let {
1578
+ x: $,
1579
+ y: R
1580
+ } = s, U = `translate(${$}${P},${R}${P})`;
1581
+ if (u) {
1582
+ const B = `${typeof u.x == "string" ? u.x : u.x + P}`, H = `${typeof u.y == "string" ? u.y : u.y + P}`;
1583
+ U = `translate(${B}, ${H})` + U;
1584
+ }
1585
+ return U;
1586
+ }
1587
+ function p(s, u) {
1588
+ return s.targetTouches && (0, e.findInArray)(s.targetTouches, (P) => u === P.identifier) || s.changedTouches && (0, e.findInArray)(s.changedTouches, (P) => u === P.identifier);
1589
+ }
1590
+ function y(s) {
1591
+ if (s.targetTouches && s.targetTouches[0]) return s.targetTouches[0].identifier;
1592
+ if (s.changedTouches && s.changedTouches[0]) return s.changedTouches[0].identifier;
1593
+ }
1594
+ function T(s) {
1595
+ if (!s) return;
1596
+ let u = s.getElementById("react-draggable-style-el");
1597
+ u || (u = s.createElement("style"), u.type = "text/css", u.id = "react-draggable-style-el", u.innerHTML = `.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
1598
+ `, u.innerHTML += `.react-draggable-transparent-selection *::selection {all: inherit;}
1599
+ `, s.getElementsByTagName("head")[0].appendChild(u)), s.body && l(s.body, "react-draggable-transparent-selection");
1600
+ }
1601
+ function C(s) {
1602
+ window.requestAnimationFrame ? window.requestAnimationFrame(() => {
1603
+ D(s);
1604
+ }) : D(s);
1605
+ }
1606
+ function D(s) {
1607
+ if (s)
1608
+ try {
1609
+ if (s.body && M(s.body, "react-draggable-transparent-selection"), s.selection)
1610
+ s.selection.empty();
1611
+ else {
1612
+ const u = (s.defaultView || window).getSelection();
1613
+ u && u.type !== "Caret" && u.removeAllRanges();
1614
+ }
1615
+ } catch {
1616
+ }
1617
+ }
1618
+ function l(s, u) {
1619
+ s.classList ? s.classList.add(u) : s.className.match(new RegExp(`(?:^|\\s)${u}(?!\\S)`)) || (s.className += ` ${u}`);
1620
+ }
1621
+ function M(s, u) {
1622
+ s.classList ? s.classList.remove(u) : s.className = s.className.replace(new RegExp(`(?:^|\\s)${u}(?!\\S)`, "g"), "");
1623
+ }
1624
+ return G;
1625
+ }
1626
+ var re = {}, et;
1627
+ function bt() {
1628
+ if (et) return re;
1629
+ et = 1, Object.defineProperty(re, "__esModule", {
1630
+ value: !0
1631
+ }), re.canDragX = a, re.canDragY = o, re.createCoreData = f, re.createDraggableData = S, re.getBoundPosition = r, re.getControlPosition = d, re.snapToGrid = i;
1632
+ var e = we(), n = je();
1633
+ function r(c, h, g) {
1634
+ if (!c.props.bounds) return [h, g];
1635
+ let {
1636
+ bounds: N
1637
+ } = c.props;
1638
+ N = typeof N == "string" ? N : v(N);
1639
+ const x = b(c);
1640
+ if (typeof N == "string") {
1641
+ const {
1642
+ ownerDocument: p
1643
+ } = x, y = p.defaultView;
1644
+ let T;
1645
+ if (N === "parent" ? T = x.parentNode : T = x.getRootNode().querySelector(N), !(T instanceof y.HTMLElement))
1646
+ throw new Error('Bounds selector "' + N + '" could not find an element.');
1647
+ const C = T, D = y.getComputedStyle(x), l = y.getComputedStyle(C);
1648
+ N = {
1649
+ left: -x.offsetLeft + (0, e.int)(l.paddingLeft) + (0, e.int)(D.marginLeft),
1650
+ top: -x.offsetTop + (0, e.int)(l.paddingTop) + (0, e.int)(D.marginTop),
1651
+ right: (0, n.innerWidth)(C) - (0, n.outerWidth)(x) - x.offsetLeft + (0, e.int)(l.paddingRight) - (0, e.int)(D.marginRight),
1652
+ bottom: (0, n.innerHeight)(C) - (0, n.outerHeight)(x) - x.offsetTop + (0, e.int)(l.paddingBottom) - (0, e.int)(D.marginBottom)
1653
+ };
1654
+ }
1655
+ return (0, e.isNum)(N.right) && (h = Math.min(h, N.right)), (0, e.isNum)(N.bottom) && (g = Math.min(g, N.bottom)), (0, e.isNum)(N.left) && (h = Math.max(h, N.left)), (0, e.isNum)(N.top) && (g = Math.max(g, N.top)), [h, g];
1656
+ }
1657
+ function i(c, h, g) {
1658
+ const N = Math.round(h / c[0]) * c[0], x = Math.round(g / c[1]) * c[1];
1659
+ return [N, x];
1660
+ }
1661
+ function a(c) {
1662
+ return c.props.axis === "both" || c.props.axis === "x";
1663
+ }
1664
+ function o(c) {
1665
+ return c.props.axis === "both" || c.props.axis === "y";
1666
+ }
1667
+ function d(c, h, g) {
1668
+ const N = typeof h == "number" ? (0, n.getTouch)(c, h) : null;
1669
+ if (typeof h == "number" && !N) return null;
1670
+ const x = b(g), p = g.props.offsetParent || x.offsetParent || x.ownerDocument.body;
1671
+ return (0, n.offsetXYFromParent)(N || c, p, g.props.scale);
1672
+ }
1673
+ function f(c, h, g) {
1674
+ const N = !(0, e.isNum)(c.lastX), x = b(c);
1675
+ return N ? {
1676
+ node: x,
1677
+ deltaX: 0,
1678
+ deltaY: 0,
1679
+ lastX: h,
1680
+ lastY: g,
1681
+ x: h,
1682
+ y: g
1683
+ } : {
1684
+ node: x,
1685
+ deltaX: h - c.lastX,
1686
+ deltaY: g - c.lastY,
1687
+ lastX: c.lastX,
1688
+ lastY: c.lastY,
1689
+ x: h,
1690
+ y: g
1691
+ };
1692
+ }
1693
+ function S(c, h) {
1694
+ const g = c.props.scale;
1695
+ return {
1696
+ node: h.node,
1697
+ x: c.state.x + h.deltaX / g,
1698
+ y: c.state.y + h.deltaY / g,
1699
+ deltaX: h.deltaX / g,
1700
+ deltaY: h.deltaY / g,
1701
+ lastX: c.state.x,
1702
+ lastY: c.state.y
1703
+ };
1704
+ }
1705
+ function v(c) {
1706
+ return {
1707
+ left: c.left,
1708
+ top: c.top,
1709
+ right: c.right,
1710
+ bottom: c.bottom
1711
+ };
1712
+ }
1713
+ function b(c) {
1714
+ const h = c.findDOMNode();
1715
+ if (!h)
1716
+ throw new Error("<DraggableCore>: Unmounted during event!");
1717
+ return h;
1718
+ }
1719
+ return re;
1720
+ }
1721
+ var ue = {}, be = {}, tt;
1722
+ function vt() {
1723
+ if (tt) return be;
1724
+ tt = 1, Object.defineProperty(be, "__esModule", {
1725
+ value: !0
1726
+ }), be.default = e;
1727
+ function e() {
1728
+ }
1729
+ return be;
1730
+ }
1731
+ var nt;
1732
+ function Vt() {
1733
+ if (nt) return ue;
1734
+ nt = 1, Object.defineProperty(ue, "__esModule", {
1735
+ value: !0
1736
+ }), ue.default = void 0;
1737
+ var e = S(Ce), n = f(/* @__PURE__ */ yt()), r = f(lt), i = je(), a = bt(), o = we(), d = f(vt());
1738
+ function f(x) {
1739
+ return x && x.__esModule ? x : { default: x };
1740
+ }
1741
+ function S(x, p) {
1742
+ if (typeof WeakMap == "function") var y = /* @__PURE__ */ new WeakMap(), T = /* @__PURE__ */ new WeakMap();
1743
+ return (S = function(C, D) {
1744
+ if (!D && C && C.__esModule) return C;
1745
+ var l, M, s = { __proto__: null, default: C };
1746
+ if (C === null || typeof C != "object" && typeof C != "function") return s;
1747
+ if (l = D ? T : y) {
1748
+ if (l.has(C)) return l.get(C);
1749
+ l.set(C, s);
1750
+ }
1751
+ for (const u in C) u !== "default" && {}.hasOwnProperty.call(C, u) && ((M = (l = Object.defineProperty) && Object.getOwnPropertyDescriptor(C, u)) && (M.get || M.set) ? l(s, u, M) : s[u] = C[u]);
1752
+ return s;
1753
+ })(x, p);
1754
+ }
1755
+ function v(x, p, y) {
1756
+ return (p = b(p)) in x ? Object.defineProperty(x, p, { value: y, enumerable: !0, configurable: !0, writable: !0 }) : x[p] = y, x;
1757
+ }
1758
+ function b(x) {
1759
+ var p = c(x, "string");
1760
+ return typeof p == "symbol" ? p : p + "";
1761
+ }
1762
+ function c(x, p) {
1763
+ if (typeof x != "object" || !x) return x;
1764
+ var y = x[Symbol.toPrimitive];
1765
+ if (y !== void 0) {
1766
+ var T = y.call(x, p);
1767
+ if (typeof T != "object") return T;
1768
+ throw new TypeError("@@toPrimitive must return a primitive value.");
1769
+ }
1770
+ return (p === "string" ? String : Number)(x);
1771
+ }
1772
+ const h = {
1773
+ touch: {
1774
+ start: "touchstart",
1775
+ move: "touchmove",
1776
+ stop: "touchend"
1777
+ },
1778
+ mouse: {
1779
+ start: "mousedown",
1780
+ move: "mousemove",
1781
+ stop: "mouseup"
1782
+ }
1783
+ };
1784
+ let g = h.mouse, N = class extends e.Component {
1785
+ constructor() {
1786
+ super(...arguments), v(this, "dragging", !1), v(this, "lastX", NaN), v(this, "lastY", NaN), v(this, "touchIdentifier", null), v(this, "mounted", !1), v(this, "handleDragStart", (p) => {
1787
+ if (this.props.onMouseDown(p), !this.props.allowAnyClick && typeof p.button == "number" && p.button !== 0) return !1;
1788
+ const y = this.findDOMNode();
1789
+ if (!y || !y.ownerDocument || !y.ownerDocument.body)
1790
+ throw new Error("<DraggableCore> not mounted on DragStart!");
1791
+ const {
1792
+ ownerDocument: T
1793
+ } = y;
1794
+ if (this.props.disabled || !(p.target instanceof T.defaultView.Node) || this.props.handle && !(0, i.matchesSelectorAndParentsTo)(p.target, this.props.handle, y) || this.props.cancel && (0, i.matchesSelectorAndParentsTo)(p.target, this.props.cancel, y))
1795
+ return;
1796
+ p.type === "touchstart" && !this.props.allowMobileScroll && p.preventDefault();
1797
+ const C = (0, i.getTouchIdentifier)(p);
1798
+ this.touchIdentifier = C;
1799
+ const D = (0, a.getControlPosition)(p, C, this);
1800
+ if (D == null) return;
1801
+ const {
1802
+ x: l,
1803
+ y: M
1804
+ } = D, s = (0, a.createCoreData)(this, l, M);
1805
+ (0, d.default)("DraggableCore: handleDragStart: %j", s), (0, d.default)("calling", this.props.onStart), !(this.props.onStart(p, s) === !1 || this.mounted === !1) && (this.props.enableUserSelectHack && (0, i.addUserSelectStyles)(T), this.dragging = !0, this.lastX = l, this.lastY = M, (0, i.addEvent)(T, g.move, this.handleDrag), (0, i.addEvent)(T, g.stop, this.handleDragStop));
1806
+ }), v(this, "handleDrag", (p) => {
1807
+ const y = (0, a.getControlPosition)(p, this.touchIdentifier, this);
1808
+ if (y == null) return;
1809
+ let {
1810
+ x: T,
1811
+ y: C
1812
+ } = y;
1813
+ if (Array.isArray(this.props.grid)) {
1814
+ let M = T - this.lastX, s = C - this.lastY;
1815
+ if ([M, s] = (0, a.snapToGrid)(this.props.grid, M, s), !M && !s) return;
1816
+ T = this.lastX + M, C = this.lastY + s;
1817
+ }
1818
+ const D = (0, a.createCoreData)(this, T, C);
1819
+ if ((0, d.default)("DraggableCore: handleDrag: %j", D), this.props.onDrag(p, D) === !1 || this.mounted === !1) {
1820
+ try {
1821
+ this.handleDragStop(new MouseEvent("mouseup"));
1822
+ } catch {
1823
+ const s = document.createEvent("MouseEvents");
1824
+ s.initMouseEvent("mouseup", !0, !0, window, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), this.handleDragStop(s);
1825
+ }
1826
+ return;
1827
+ }
1828
+ this.lastX = T, this.lastY = C;
1829
+ }), v(this, "handleDragStop", (p) => {
1830
+ if (!this.dragging) return;
1831
+ const y = (0, a.getControlPosition)(p, this.touchIdentifier, this);
1832
+ if (y == null) return;
1833
+ let {
1834
+ x: T,
1835
+ y: C
1836
+ } = y;
1837
+ if (Array.isArray(this.props.grid)) {
1838
+ let s = T - this.lastX || 0, u = C - this.lastY || 0;
1839
+ [s, u] = (0, a.snapToGrid)(this.props.grid, s, u), T = this.lastX + s, C = this.lastY + u;
1840
+ }
1841
+ const D = (0, a.createCoreData)(this, T, C);
1842
+ if (this.props.onStop(p, D) === !1 || this.mounted === !1) return !1;
1843
+ const M = this.findDOMNode();
1844
+ M && this.props.enableUserSelectHack && (0, i.scheduleRemoveUserSelectStyles)(M.ownerDocument), (0, d.default)("DraggableCore: handleDragStop: %j", D), this.dragging = !1, this.lastX = NaN, this.lastY = NaN, M && ((0, d.default)("DraggableCore: Removing handlers"), (0, i.removeEvent)(M.ownerDocument, g.move, this.handleDrag), (0, i.removeEvent)(M.ownerDocument, g.stop, this.handleDragStop));
1845
+ }), v(this, "onMouseDown", (p) => (g = h.mouse, this.handleDragStart(p))), v(this, "onMouseUp", (p) => (g = h.mouse, this.handleDragStop(p))), v(this, "onTouchStart", (p) => (g = h.touch, this.handleDragStart(p))), v(this, "onTouchEnd", (p) => (g = h.touch, this.handleDragStop(p)));
1846
+ }
1847
+ componentDidMount() {
1848
+ this.mounted = !0;
1849
+ const p = this.findDOMNode();
1850
+ p && (0, i.addEvent)(p, h.touch.start, this.onTouchStart, {
1851
+ passive: !1
1852
+ });
1853
+ }
1854
+ componentWillUnmount() {
1855
+ this.mounted = !1;
1856
+ const p = this.findDOMNode();
1857
+ if (p) {
1858
+ const {
1859
+ ownerDocument: y
1860
+ } = p;
1861
+ (0, i.removeEvent)(y, h.mouse.move, this.handleDrag), (0, i.removeEvent)(y, h.touch.move, this.handleDrag), (0, i.removeEvent)(y, h.mouse.stop, this.handleDragStop), (0, i.removeEvent)(y, h.touch.stop, this.handleDragStop), (0, i.removeEvent)(p, h.touch.start, this.onTouchStart, {
1862
+ passive: !1
1863
+ }), this.props.enableUserSelectHack && (0, i.scheduleRemoveUserSelectStyles)(y);
1864
+ }
1865
+ }
1866
+ // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
1867
+ // the underlying DOM node ourselves. See the README for more information.
1868
+ findDOMNode() {
1869
+ return this.props?.nodeRef ? this.props?.nodeRef?.current : r.default.findDOMNode(this);
1870
+ }
1871
+ render() {
1872
+ return /* @__PURE__ */ e.cloneElement(e.Children.only(this.props.children), {
1873
+ // Note: mouseMove handler is attached to document so it will still function
1874
+ // when the user drags quickly and leaves the bounds of the element.
1875
+ onMouseDown: this.onMouseDown,
1876
+ onMouseUp: this.onMouseUp,
1877
+ // onTouchStart is added on `componentDidMount` so they can be added with
1878
+ // {passive: false}, which allows it to cancel. See
1879
+ // https://developers.google.com/web/updates/2017/01/scrolling-intervention
1880
+ onTouchEnd: this.onTouchEnd
1881
+ });
1882
+ }
1883
+ };
1884
+ return ue.default = N, v(N, "displayName", "DraggableCore"), v(N, "propTypes", {
1885
+ /**
1886
+ * `allowAnyClick` allows dragging using any mouse button.
1887
+ * By default, we only accept the left button.
1888
+ *
1889
+ * Defaults to `false`.
1890
+ */
1891
+ allowAnyClick: n.default.bool,
1892
+ /**
1893
+ * `allowMobileScroll` turns off cancellation of the 'touchstart' event
1894
+ * on mobile devices. Only enable this if you are having trouble with click
1895
+ * events. Prefer using 'handle' / 'cancel' instead.
1896
+ *
1897
+ * Defaults to `false`.
1898
+ */
1899
+ allowMobileScroll: n.default.bool,
1900
+ children: n.default.node.isRequired,
1901
+ /**
1902
+ * `disabled`, if true, stops the <Draggable> from dragging. All handlers,
1903
+ * with the exception of `onMouseDown`, will not fire.
1904
+ */
1905
+ disabled: n.default.bool,
1906
+ /**
1907
+ * By default, we add 'user-select:none' attributes to the document body
1908
+ * to prevent ugly text selection during drag. If this is causing problems
1909
+ * for your app, set this to `false`.
1910
+ */
1911
+ enableUserSelectHack: n.default.bool,
1912
+ /**
1913
+ * `offsetParent`, if set, uses the passed DOM node to compute drag offsets
1914
+ * instead of using the parent node.
1915
+ */
1916
+ offsetParent: function(x, p) {
1917
+ if (x[p] && x[p].nodeType !== 1)
1918
+ throw new Error("Draggable's offsetParent must be a DOM Node.");
1919
+ },
1920
+ /**
1921
+ * `grid` specifies the x and y that dragging should snap to.
1922
+ */
1923
+ grid: n.default.arrayOf(n.default.number),
1924
+ /**
1925
+ * `handle` specifies a selector to be used as the handle that initiates drag.
1926
+ *
1927
+ * Example:
1928
+ *
1929
+ * ```jsx
1930
+ * let App = React.createClass({
1931
+ * render: function () {
1932
+ * return (
1933
+ * <Draggable handle=".handle">
1934
+ * <div>
1935
+ * <div className="handle">Click me to drag</div>
1936
+ * <div>This is some other content</div>
1937
+ * </div>
1938
+ * </Draggable>
1939
+ * );
1940
+ * }
1941
+ * });
1942
+ * ```
1943
+ */
1944
+ handle: n.default.string,
1945
+ /**
1946
+ * `cancel` specifies a selector to be used to prevent drag initialization.
1947
+ *
1948
+ * Example:
1949
+ *
1950
+ * ```jsx
1951
+ * let App = React.createClass({
1952
+ * render: function () {
1953
+ * return(
1954
+ * <Draggable cancel=".cancel">
1955
+ * <div>
1956
+ * <div className="cancel">You can't drag from here</div>
1957
+ * <div>Dragging here works fine</div>
1958
+ * </div>
1959
+ * </Draggable>
1960
+ * );
1961
+ * }
1962
+ * });
1963
+ * ```
1964
+ */
1965
+ cancel: n.default.string,
1966
+ /* If running in React Strict mode, ReactDOM.findDOMNode() is deprecated.
1967
+ * Unfortunately, in order for <Draggable> to work properly, we need raw access
1968
+ * to the underlying DOM node. If you want to avoid the warning, pass a `nodeRef`
1969
+ * as in this example:
1970
+ *
1971
+ * function MyComponent() {
1972
+ * const nodeRef = React.useRef(null);
1973
+ * return (
1974
+ * <Draggable nodeRef={nodeRef}>
1975
+ * <div ref={nodeRef}>Example Target</div>
1976
+ * </Draggable>
1977
+ * );
1978
+ * }
1979
+ *
1980
+ * This can be used for arbitrarily nested components, so long as the ref ends up
1981
+ * pointing to the actual child DOM node and not a custom component.
1982
+ */
1983
+ nodeRef: n.default.object,
1984
+ /**
1985
+ * Called when dragging starts.
1986
+ * If this function returns the boolean false, dragging will be canceled.
1987
+ */
1988
+ onStart: n.default.func,
1989
+ /**
1990
+ * Called while dragging.
1991
+ * If this function returns the boolean false, dragging will be canceled.
1992
+ */
1993
+ onDrag: n.default.func,
1994
+ /**
1995
+ * Called when dragging stops.
1996
+ * If this function returns the boolean false, the drag will remain active.
1997
+ */
1998
+ onStop: n.default.func,
1999
+ /**
2000
+ * A workaround option which can be passed if onMouseDown needs to be accessed,
2001
+ * since it'll always be blocked (as there is internal use of onMouseDown)
2002
+ */
2003
+ onMouseDown: n.default.func,
2004
+ /**
2005
+ * `scale`, if set, applies scaling while dragging an element
2006
+ */
2007
+ scale: n.default.number,
2008
+ /**
2009
+ * These properties should be defined on the child, not here.
2010
+ */
2011
+ className: o.dontSetMe,
2012
+ style: o.dontSetMe,
2013
+ transform: o.dontSetMe
2014
+ }), v(N, "defaultProps", {
2015
+ allowAnyClick: !1,
2016
+ // by default only accept left click
2017
+ allowMobileScroll: !1,
2018
+ disabled: !1,
2019
+ enableUserSelectHack: !0,
2020
+ onStart: function() {
2021
+ },
2022
+ onDrag: function() {
2023
+ },
2024
+ onStop: function() {
2025
+ },
2026
+ onMouseDown: function() {
2027
+ },
2028
+ scale: 1
2029
+ }), ue;
2030
+ }
2031
+ var rt;
2032
+ function Xt() {
2033
+ return rt || (rt = 1, (function(e) {
2034
+ Object.defineProperty(e, "__esModule", {
2035
+ value: !0
2036
+ }), Object.defineProperty(e, "DraggableCore", {
2037
+ enumerable: !0,
2038
+ get: function() {
2039
+ return S.default;
2040
+ }
2041
+ }), e.default = void 0;
2042
+ var n = c(Ce), r = b(/* @__PURE__ */ yt()), i = b(lt), a = Bt(), o = je(), d = bt(), f = we(), S = b(Vt()), v = b(vt());
2043
+ function b(y) {
2044
+ return y && y.__esModule ? y : { default: y };
2045
+ }
2046
+ function c(y, T) {
2047
+ if (typeof WeakMap == "function") var C = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap();
2048
+ return (c = function(l, M) {
2049
+ if (!M && l && l.__esModule) return l;
2050
+ var s, u, P = { __proto__: null, default: l };
2051
+ if (l === null || typeof l != "object" && typeof l != "function") return P;
2052
+ if (s = M ? D : C) {
2053
+ if (s.has(l)) return s.get(l);
2054
+ s.set(l, P);
2055
+ }
2056
+ for (const $ in l) $ !== "default" && {}.hasOwnProperty.call(l, $) && ((u = (s = Object.defineProperty) && Object.getOwnPropertyDescriptor(l, $)) && (u.get || u.set) ? s(P, $, u) : P[$] = l[$]);
2057
+ return P;
2058
+ })(y, T);
2059
+ }
2060
+ function h() {
2061
+ return h = Object.assign ? Object.assign.bind() : function(y) {
2062
+ for (var T = 1; T < arguments.length; T++) {
2063
+ var C = arguments[T];
2064
+ for (var D in C) ({}).hasOwnProperty.call(C, D) && (y[D] = C[D]);
2065
+ }
2066
+ return y;
2067
+ }, h.apply(null, arguments);
2068
+ }
2069
+ function g(y, T, C) {
2070
+ return (T = N(T)) in y ? Object.defineProperty(y, T, { value: C, enumerable: !0, configurable: !0, writable: !0 }) : y[T] = C, y;
2071
+ }
2072
+ function N(y) {
2073
+ var T = x(y, "string");
2074
+ return typeof T == "symbol" ? T : T + "";
2075
+ }
2076
+ function x(y, T) {
2077
+ if (typeof y != "object" || !y) return y;
2078
+ var C = y[Symbol.toPrimitive];
2079
+ if (C !== void 0) {
2080
+ var D = C.call(y, T);
2081
+ if (typeof D != "object") return D;
2082
+ throw new TypeError("@@toPrimitive must return a primitive value.");
2083
+ }
2084
+ return (T === "string" ? String : Number)(y);
2085
+ }
2086
+ class p extends n.Component {
2087
+ // React 16.3+
2088
+ // Arity (props, state)
2089
+ static getDerivedStateFromProps(T, C) {
2090
+ let {
2091
+ position: D
2092
+ } = T, {
2093
+ prevPropsPosition: l
2094
+ } = C;
2095
+ return D && (!l || D.x !== l.x || D.y !== l.y) ? ((0, v.default)("Draggable: getDerivedStateFromProps %j", {
2096
+ position: D,
2097
+ prevPropsPosition: l
2098
+ }), {
2099
+ x: D.x,
2100
+ y: D.y,
2101
+ prevPropsPosition: {
2102
+ ...D
2103
+ }
2104
+ }) : null;
2105
+ }
2106
+ constructor(T) {
2107
+ super(T), g(this, "onDragStart", (C, D) => {
2108
+ if ((0, v.default)("Draggable: onDragStart: %j", D), this.props.onStart(C, (0, d.createDraggableData)(this, D)) === !1) return !1;
2109
+ this.setState({
2110
+ dragging: !0,
2111
+ dragged: !0
2112
+ });
2113
+ }), g(this, "onDrag", (C, D) => {
2114
+ if (!this.state.dragging) return !1;
2115
+ (0, v.default)("Draggable: onDrag: %j", D);
2116
+ const l = (0, d.createDraggableData)(this, D), M = {
2117
+ x: l.x,
2118
+ y: l.y,
2119
+ slackX: 0,
2120
+ slackY: 0
2121
+ };
2122
+ if (this.props.bounds) {
2123
+ const {
2124
+ x: u,
2125
+ y: P
2126
+ } = M;
2127
+ M.x += this.state.slackX, M.y += this.state.slackY;
2128
+ const [$, R] = (0, d.getBoundPosition)(this, M.x, M.y);
2129
+ M.x = $, M.y = R, M.slackX = this.state.slackX + (u - M.x), M.slackY = this.state.slackY + (P - M.y), l.x = M.x, l.y = M.y, l.deltaX = M.x - this.state.x, l.deltaY = M.y - this.state.y;
2130
+ }
2131
+ if (this.props.onDrag(C, l) === !1) return !1;
2132
+ this.setState(M);
2133
+ }), g(this, "onDragStop", (C, D) => {
2134
+ if (!this.state.dragging || this.props.onStop(C, (0, d.createDraggableData)(this, D)) === !1) return !1;
2135
+ (0, v.default)("Draggable: onDragStop: %j", D);
2136
+ const M = {
2137
+ dragging: !1,
2138
+ slackX: 0,
2139
+ slackY: 0
2140
+ };
2141
+ if (!!this.props.position) {
2142
+ const {
2143
+ x: u,
2144
+ y: P
2145
+ } = this.props.position;
2146
+ M.x = u, M.y = P;
2147
+ }
2148
+ this.setState(M);
2149
+ }), this.state = {
2150
+ // Whether or not we are currently dragging.
2151
+ dragging: !1,
2152
+ // Whether or not we have been dragged before.
2153
+ dragged: !1,
2154
+ // Current transform x and y.
2155
+ x: T.position ? T.position.x : T.defaultPosition.x,
2156
+ y: T.position ? T.position.y : T.defaultPosition.y,
2157
+ prevPropsPosition: {
2158
+ ...T.position
2159
+ },
2160
+ // Used for compensating for out-of-bounds drags
2161
+ slackX: 0,
2162
+ slackY: 0,
2163
+ // Can only determine if SVG after mounting
2164
+ isElementSVG: !1
2165
+ }, T.position && !(T.onDrag || T.onStop) && console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.");
2166
+ }
2167
+ componentDidMount() {
2168
+ typeof window.SVGElement < "u" && this.findDOMNode() instanceof window.SVGElement && this.setState({
2169
+ isElementSVG: !0
2170
+ });
2171
+ }
2172
+ componentWillUnmount() {
2173
+ this.state.dragging && this.setState({
2174
+ dragging: !1
2175
+ });
2176
+ }
2177
+ // React Strict Mode compatibility: if `nodeRef` is passed, we will use it instead of trying to find
2178
+ // the underlying DOM node ourselves. See the README for more information.
2179
+ findDOMNode() {
2180
+ return this.props?.nodeRef?.current ?? i.default.findDOMNode(this);
2181
+ }
2182
+ render() {
2183
+ const {
2184
+ axis: T,
2185
+ bounds: C,
2186
+ children: D,
2187
+ defaultPosition: l,
2188
+ defaultClassName: M,
2189
+ defaultClassNameDragging: s,
2190
+ defaultClassNameDragged: u,
2191
+ position: P,
2192
+ positionOffset: $,
2193
+ scale: R,
2194
+ ...U
2195
+ } = this.props;
2196
+ let B = {}, H = null;
2197
+ const m = !!!P || this.state.dragging, X = P || l, te = {
2198
+ // Set left if horizontal drag is enabled
2199
+ x: (0, d.canDragX)(this) && m ? this.state.x : X.x,
2200
+ // Set top if vertical drag is enabled
2201
+ y: (0, d.canDragY)(this) && m ? this.state.y : X.y
2202
+ };
2203
+ this.state.isElementSVG ? H = (0, o.createSVGTransform)(te, $) : B = (0, o.createCSSTransform)(te, $);
2204
+ const le = (0, a.clsx)(D.props.className || "", M, {
2205
+ [s]: this.state.dragging,
2206
+ [u]: this.state.dragged
2207
+ });
2208
+ return /* @__PURE__ */ n.createElement(S.default, h({}, U, {
2209
+ onStart: this.onDragStart,
2210
+ onDrag: this.onDrag,
2211
+ onStop: this.onDragStop
2212
+ }), /* @__PURE__ */ n.cloneElement(n.Children.only(D), {
2213
+ className: le,
2214
+ style: {
2215
+ ...D.props.style,
2216
+ ...B
2217
+ },
2218
+ transform: H
2219
+ }));
2220
+ }
2221
+ }
2222
+ e.default = p, g(p, "displayName", "Draggable"), g(p, "propTypes", {
2223
+ // Accepts all props <DraggableCore> accepts.
2224
+ ...S.default.propTypes,
2225
+ /**
2226
+ * `axis` determines which axis the draggable can move.
2227
+ *
2228
+ * Note that all callbacks will still return data as normal. This only
2229
+ * controls flushing to the DOM.
2230
+ *
2231
+ * 'both' allows movement horizontally and vertically.
2232
+ * 'x' limits movement to horizontal axis.
2233
+ * 'y' limits movement to vertical axis.
2234
+ * 'none' limits all movement.
2235
+ *
2236
+ * Defaults to 'both'.
2237
+ */
2238
+ axis: r.default.oneOf(["both", "x", "y", "none"]),
2239
+ /**
2240
+ * `bounds` determines the range of movement available to the element.
2241
+ * Available values are:
2242
+ *
2243
+ * 'parent' restricts movement within the Draggable's parent node.
2244
+ *
2245
+ * Alternatively, pass an object with the following properties, all of which are optional:
2246
+ *
2247
+ * {left: LEFT_BOUND, right: RIGHT_BOUND, bottom: BOTTOM_BOUND, top: TOP_BOUND}
2248
+ *
2249
+ * All values are in px.
2250
+ *
2251
+ * Example:
2252
+ *
2253
+ * ```jsx
2254
+ * let App = React.createClass({
2255
+ * render: function () {
2256
+ * return (
2257
+ * <Draggable bounds={{right: 300, bottom: 300}}>
2258
+ * <div>Content</div>
2259
+ * </Draggable>
2260
+ * );
2261
+ * }
2262
+ * });
2263
+ * ```
2264
+ */
2265
+ bounds: r.default.oneOfType([r.default.shape({
2266
+ left: r.default.number,
2267
+ right: r.default.number,
2268
+ top: r.default.number,
2269
+ bottom: r.default.number
2270
+ }), r.default.string, r.default.oneOf([!1])]),
2271
+ defaultClassName: r.default.string,
2272
+ defaultClassNameDragging: r.default.string,
2273
+ defaultClassNameDragged: r.default.string,
2274
+ /**
2275
+ * `defaultPosition` specifies the x and y that the dragged item should start at
2276
+ *
2277
+ * Example:
2278
+ *
2279
+ * ```jsx
2280
+ * let App = React.createClass({
2281
+ * render: function () {
2282
+ * return (
2283
+ * <Draggable defaultPosition={{x: 25, y: 25}}>
2284
+ * <div>I start with transformX: 25px and transformY: 25px;</div>
2285
+ * </Draggable>
2286
+ * );
2287
+ * }
2288
+ * });
2289
+ * ```
2290
+ */
2291
+ defaultPosition: r.default.shape({
2292
+ x: r.default.number,
2293
+ y: r.default.number
2294
+ }),
2295
+ positionOffset: r.default.shape({
2296
+ x: r.default.oneOfType([r.default.number, r.default.string]),
2297
+ y: r.default.oneOfType([r.default.number, r.default.string])
2298
+ }),
2299
+ /**
2300
+ * `position`, if present, defines the current position of the element.
2301
+ *
2302
+ * This is similar to how form elements in React work - if no `position` is supplied, the component
2303
+ * is uncontrolled.
2304
+ *
2305
+ * Example:
2306
+ *
2307
+ * ```jsx
2308
+ * let App = React.createClass({
2309
+ * render: function () {
2310
+ * return (
2311
+ * <Draggable position={{x: 25, y: 25}}>
2312
+ * <div>I start with transformX: 25px and transformY: 25px;</div>
2313
+ * </Draggable>
2314
+ * );
2315
+ * }
2316
+ * });
2317
+ * ```
2318
+ */
2319
+ position: r.default.shape({
2320
+ x: r.default.number,
2321
+ y: r.default.number
2322
+ }),
2323
+ /**
2324
+ * These properties should be defined on the child, not here.
2325
+ */
2326
+ className: f.dontSetMe,
2327
+ style: f.dontSetMe,
2328
+ transform: f.dontSetMe
2329
+ }), g(p, "defaultProps", {
2330
+ ...S.default.defaultProps,
2331
+ axis: "both",
2332
+ bounds: !1,
2333
+ defaultClassName: "react-draggable",
2334
+ defaultClassNameDragging: "react-draggable-dragging",
2335
+ defaultClassNameDragged: "react-draggable-dragged",
2336
+ defaultPosition: {
2337
+ x: 0,
2338
+ y: 0
2339
+ },
2340
+ scale: 1
2341
+ });
2342
+ })(Te)), Te;
2343
+ }
2344
+ var ot;
2345
+ function Gt() {
2346
+ if (ot) return de.exports;
2347
+ ot = 1;
2348
+ const {
2349
+ default: e,
2350
+ DraggableCore: n
2351
+ } = Xt();
2352
+ return de.exports = e, de.exports.default = e, de.exports.DraggableCore = n, de.exports;
2353
+ }
2354
+ var Zt = Gt();
2355
+ const Jt = /* @__PURE__ */ Lt(Zt), Qt = se((e, n) => {
2356
+ const a = {
2357
+ ...{
2358
+ // 1. Take it out of the document flow
2359
+ position: "fixed",
2360
+ // 2. Set initial viewport position (e.g., top right)
2361
+ top: "6rem",
2362
+ right: "1rem",
2363
+ // 3. Ensure it stacks above other content
2364
+ zIndex: typeof e.zIndex < "u" ? Number(e.zIndex) : 99999,
2365
+ // Add your layout/appearance styles
2366
+ width: "360px",
2367
+ minHeight: "360px",
2368
+ borderStyle: "solid",
2369
+ borderWidth: "3px",
2370
+ boxShadow: "rgba(0, 0, 0, 0.5) 7px 7px 10px 0px"
2371
+ },
2372
+ ...e.style || {}
2373
+ }, o = e.testId || "not-set", d = e.className || "panel", f = st(null);
2374
+ return (
2375
+ // 3. Pass the internal ref to the Draggable component via 'nodeRef'
2376
+ /* @__PURE__ */ t(
2377
+ Jt,
2378
+ {
2379
+ nodeRef: f,
2380
+ "data-testid": o,
2381
+ axis: "both",
2382
+ handle: ".handle",
2383
+ onStart: (b, c) => {
2384
+ e.onDraggingChange?.(!0);
2385
+ },
2386
+ onStop: (b, c) => {
2387
+ setTimeout(() => {
2388
+ e.onDraggingChange?.(!1);
2389
+ }, 100);
2390
+ },
2391
+ children: /* @__PURE__ */ t("div", { ref: f, className: d, style: a, children: e.children })
2392
+ }
2393
+ )
2394
+ );
2395
+ });
2396
+ function In({ children: e, addCssClasses: n }) {
2397
+ const r = Z(
2398
+ "w-full h-full flex-1 flex flex-col",
2399
+ (n || "gap-2 items-end justify-end content-end").trim()
2400
+ );
2401
+ return /* @__PURE__ */ t(
2402
+ "div",
2403
+ {
2404
+ className: r,
2405
+ style: {
2406
+ minHeight: "140px"
2407
+ },
2408
+ children: e
2409
+ }
2410
+ );
2411
+ }
2412
+ function Rn({ children: e, addCssClasses: n }) {
2413
+ const r = Z(
2414
+ "w-full flex flex-col",
2415
+ (n || "items-end").trim()
2416
+ );
2417
+ return /* @__PURE__ */ t("div", { className: r, children: e });
2418
+ }
2419
+ const On = (e) => {
2420
+ console.warn("showToast TODO", e);
2421
+ }, en = (e) => e < 0.8 ? 1 : e <= 1 ? 0 : e > 1 ? -1 : 0, kn = se((e, n) => {
2422
+ let r = Ct(Number(e.zoomScale || 0));
2423
+ const i = e.responsiveGrid || !1, a = e.isEditing || !1, o = {
2424
+ "--bwj-dashboard-transform-scale": r,
2425
+ "--bwj-dashboard-add-cols": en(r)
2426
+ }, d = Z(
2427
+ "dashboard-main-grid w-full",
2428
+ a ? "editing" : "",
2429
+ i ? "responsive-grid" : "",
2430
+ `border border-dashed ${a ? "border-primary border-opacity-50" : "border-transparent"}`
2431
+ );
2432
+ return /* @__PURE__ */ t("div", { className: d, style: o, children: e.children });
2433
+ }), ve = "size-5", tn = (e, n) => {
2434
+ if ((e.overrideCssClasses || "").trim().length > 0)
2435
+ return (e.overrideCssClasses || "").trim();
2436
+ const r = e.direction || "column", i = e.noBorder;
2437
+ let a = `dashboard-widget ${n ? "collapsed" : ""}`;
2438
+ return a = `${a} direction-${r} ${e.isEditing ? "editing" : ""}`, a = `${a} border border-solid`, ["large", "xlarge"].indexOf(e.size || "") > -1 && (a = `${a} ${e.size}-widget`), i ? a = `${a} border-transparent border-opacity-0` : (e.borderCssClasses || "").trim().length > 0 ? a = `${a} ${e.borderCssClasses}` : a = `${a} border-card-invert border-opacity-20`, e.noShadow && (a = `${a} no-shadow`), e.noPadding && (a = `${a} no-padding p-0`), (e.backgroundCssClasses || "").trim().length > 0 ? a = `${a} ${e.backgroundCssClasses}`.trim() : a = `${a} bg-card content-card`, (e.addCssClasses || "").trim().length > 0 && (a = `${a} ${e.addCssClasses}`.trim()), a;
2439
+ }, nn = (e, n) => {
2440
+ const r = e.hideTitle && !e.isEditing, i = () => {
2441
+ const h = e.meta?.noCollapse;
2442
+ return typeof h < "u" ? h : e.noCollapse || !1;
2443
+ }, [a, o] = oe(
2444
+ i() ? !1 : e.widgetSavedProps?.isCollapsed || !1
2445
+ ), d = Z(tn(e, a)), f = () => {
2446
+ e.onRemoveClick && e.widgetKey && e.onRemoveClick(e.widgetKey, e.parentWidgetKey);
2447
+ }, S = (h) => {
2448
+ e.onMoveClick && e.widgetKey && e.onMoveClick(h, e.widgetKey, e.parentWidgetKey);
2449
+ }, v = () => {
2450
+ e.savedPropsChanged?.({
2451
+ parentWidgetKey: e.parentWidgetKey,
2452
+ widgetKey: e.widgetKey,
2453
+ isCollapsed: a
2454
+ });
2455
+ }, b = () => {
2456
+ e.widgetKey && (o(!a), v());
2457
+ }, c = Z(
2458
+ "widget-header",
2459
+ r ? "hidden" : "flex items-center justify-between border-b border-solid border-card-invert",
2460
+ r ? "border-opacity-0" : "border-opacity-20"
2461
+ );
2462
+ return /* @__PURE__ */ _("div", { className: d, children: [
2463
+ /* @__PURE__ */ _("div", { className: c, children: [
2464
+ /* @__PURE__ */ _("div", { className: "widget-title-wrapper group w-full flex flex-row gap-2 items-center", children: [
2465
+ /* @__PURE__ */ t("div", { className: "drag-handle hidden cursor-pointer text-primary group-hover:flex hover:brightness-110 pointer-coarse:flex", children: /* @__PURE__ */ t(ht, { className: "size-5" }) }),
2466
+ /* @__PURE__ */ _("div", { className: "w-full flex flex-row gap-2 items-center justify-between", children: [
2467
+ e.titleNode || /* @__PURE__ */ t("h2", { className: "widget-title cursor-pointer", onClick: () => b(), children: e.title }),
2468
+ e.titleRightNode
2469
+ ] })
2470
+ ] }),
2471
+ /* @__PURE__ */ t("div", { "data-testid": `collapse-and-other-actions_${e.widgetKey}_${e.index}`, children: /* @__PURE__ */ _("div", { className: "actions-inner", children: [
2472
+ /* @__PURE__ */ t("div", { children: /* @__PURE__ */ t("span", { className: "hidden", children: "Widget" }) }),
2473
+ /* @__PURE__ */ _("div", { className: "actions-buttons-container", children: [
2474
+ /* @__PURE__ */ t(
2475
+ ee,
2476
+ {
2477
+ "data-testid": `move-widget-left_${e.widgetKey}_${e.index}`,
2478
+ isIconButton: !0,
2479
+ disabled: e.index < 1,
2480
+ tooltip: {
2481
+ placement: "top",
2482
+ title: `${e.index < 1 ? "Already at min position" : "Move Widget to the left/up"}`
2483
+ },
2484
+ onClick: () => S(-1),
2485
+ children: /* @__PURE__ */ t(dt, { className: ve })
2486
+ }
2487
+ ),
2488
+ /* @__PURE__ */ t(
2489
+ ee,
2490
+ {
2491
+ "data-testid": `move-widget-right_${e.widgetKey}_${e.index}`,
2492
+ isIconButton: !0,
2493
+ disabled: e.index >= e.maxIndex,
2494
+ tooltip: {
2495
+ placement: "top",
2496
+ title: `${e.index >= e.maxIndex ? "Already at max position" : "Move Widget to the right/down"}`
2497
+ },
2498
+ onClick: () => S(1),
2499
+ children: /* @__PURE__ */ t(ut, { className: ve })
2500
+ }
2501
+ ),
2502
+ /* @__PURE__ */ t(
2503
+ ee,
2504
+ {
2505
+ "data-testid": `remove-container_${e.widgetKey}_${e.index}`,
2506
+ isIconButton: !0,
2507
+ tooltip: {
2508
+ placement: "top",
2509
+ title: "Remove Widget"
2510
+ },
2511
+ onClick: () => f(),
2512
+ children: /* @__PURE__ */ t(ft, { className: ve })
2513
+ }
2514
+ ),
2515
+ !i() && /* @__PURE__ */ t(
2516
+ ee,
2517
+ {
2518
+ "data-testid": `collapse-expand_${e.widgetKey}_${e.index}`,
2519
+ className: "collapse-button",
2520
+ isIconButton: !0,
2521
+ tooltip: {
2522
+ placement: "top",
2523
+ title: `${a ? "Expand Widget" : "Collapse Widget"}`
2524
+ },
2525
+ onClick: () => b(),
2526
+ children: /* @__PURE__ */ t(
2527
+ ke,
2528
+ {
2529
+ className: ve,
2530
+ style: {
2531
+ transform: a ? "rotate(0deg)" : "rotate(180deg)",
2532
+ transition: "transform 0.2s ease-in-out"
2533
+ }
2534
+ }
2535
+ )
2536
+ }
2537
+ )
2538
+ ] })
2539
+ ] }) })
2540
+ ] }),
2541
+ /* @__PURE__ */ t(
2542
+ "div",
2543
+ {
2544
+ className: "widget-inner transition-height duration-300 ease-in-out",
2545
+ "data-collapsed": a,
2546
+ children: e.children
2547
+ }
2548
+ )
2549
+ ] });
2550
+ }, rn = se(nn);
2551
+ function it(e) {
2552
+ const { widgetKey: n, parentWidgetKey: r, index: i, maxIndex: a, isEditing: o, onRemoveClick: d, onMoveClick: f } = e, S = e.extraProps;
2553
+ return /* @__PURE__ */ t(
2554
+ rn,
2555
+ {
2556
+ widgetKey: n,
2557
+ title: "Widget Error",
2558
+ parentWidgetKey: r,
2559
+ index: i,
2560
+ maxIndex: a,
2561
+ isEditing: o,
2562
+ onRemoveClick: d,
2563
+ onMoveClick: f,
2564
+ children: /* @__PURE__ */ _("div", { className: "p-4 border border-dashed border-danger", children: [
2565
+ /* @__PURE__ */ _("span", { className: "font-bold", children: [
2566
+ 'Failed to load "',
2567
+ n,
2568
+ '"'
2569
+ ] }),
2570
+ S?.versionMismatch && /* @__PURE__ */ _("div", { className: "flex flex-col", children: [
2571
+ /* @__PURE__ */ _("span", { className: "font-bold text-sm", children: [
2572
+ "Version Mismatch: ",
2573
+ n
2574
+ ] }),
2575
+ /* @__PURE__ */ _("div", { className: "flex flex-col text-xs", children: [
2576
+ /* @__PURE__ */ _("span", { children: [
2577
+ "Widget requires: Vue ",
2578
+ S?.requiredVer,
2579
+ "."
2580
+ ] }),
2581
+ /* @__PURE__ */ _("span", { children: [
2582
+ "Host version: ",
2583
+ S?.hostVer,
2584
+ "."
2585
+ ] })
2586
+ ] }),
2587
+ /* @__PURE__ */ _("div", { className: "flex flex-col mt-3", children: [
2588
+ /* @__PURE__ */ t("h5", { children: "Externals:" }),
2589
+ /* @__PURE__ */ t("dl", { className: "ml-2 flex flex-col text-xs", children: S?.externalDependencies.map((v, b) => /* @__PURE__ */ _("dd", { children: [
2590
+ "- ",
2591
+ v
2592
+ ] }, `dep-${b}`)) })
2593
+ ] })
2594
+ ] }),
2595
+ !S?.versionMismatch && /* @__PURE__ */ _("div", { className: "flex flex-col", children: [
2596
+ /* @__PURE__ */ t("div", { className: "flex flex-col text-xs italic", children: /* @__PURE__ */ t("span", { children: "The remote plugin is unavailable." }) }),
2597
+ /* @__PURE__ */ t("span", { className: "font-bold text-sm", children: "Error Details:" }),
2598
+ /* @__PURE__ */ _("div", { className: "flex flex-col mt-3", children: [
2599
+ /* @__PURE__ */ t("h5", { children: "Details:" }),
2600
+ /* @__PURE__ */ t("div", { className: "text-xs break-all", children: S?.errorMessage || "Unknown error occurred." })
2601
+ ] })
2602
+ ] })
2603
+ ] })
2604
+ }
2605
+ );
2606
+ }
2607
+ const on = (e, n) => {
2608
+ const r = (o) => o.replace(/[^0-9.]/g, ""), i = r(e).split(".").map(Number), a = r(n).split(".").map(Number);
2609
+ return !(i[0] !== a[0] || i[1] < a[1]);
2610
+ };
2611
+ function an(e) {
2612
+ return /* @__PURE__ */ t("div", { className: "dashboard-widget", children: /* @__PURE__ */ _("div", { className: "absolute inset-0 bg-black flex flex-col items-center justify-center text-center", children: [
2613
+ /* @__PURE__ */ t("div", { className: "w-full absolute opacity-100 text-primary", children: e.title }),
2614
+ /* @__PURE__ */ t("div", { className: "animate-ping rounded-full h-32 w-32 border-8 border-white" })
2615
+ ] }) });
2616
+ }
2617
+ function sn({
2618
+ index: e,
2619
+ maxIndex: n,
2620
+ widgetKey: r,
2621
+ parentWidgetKey: i,
2622
+ targetContainerKey: a,
2623
+ childWidgetsConfig: o,
2624
+ savedProps: d,
2625
+ widgetCatalog: f,
2626
+ isEditing: S,
2627
+ // for additional props passed to all widget from the dashboard through the DynamicWidgetLoader:
2628
+ extraProps: v,
2629
+ onRemoveClick: b,
2630
+ onMoveClick: c,
2631
+ selectContainer: h,
2632
+ savedPropsChanged: g
2633
+ }) {
2634
+ const N = `${r}`.split("_"), x = N.length > 1, p = x ? N[0] : r, y = f.get(p);
2635
+ if (!y)
2636
+ return /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ _("p", { children: [
2637
+ "Widget not found in catalog: ",
2638
+ p
2639
+ ] }) });
2640
+ let T = null, C = !1;
2641
+ const D = !!y.isContainer, l = x ? at(r) : "", M = D ? (o || []).filter(($) => $.parentWidgetKey === r) : [], s = {
2642
+ index: e,
2643
+ maxIndex: n,
2644
+ widgetKey: r,
2645
+ parentWidgetKey: i,
2646
+ isEditing: S,
2647
+ extraProps: v,
2648
+ title: x ? l : y.title,
2649
+ onRemoveClick: b,
2650
+ onMoveClick: c,
2651
+ savedPropsChanged: g
2652
+ }, u = ($, R) => (R || "").trim().length > 0 ? (d || []).find(
2653
+ (U) => U.parentWidgetKey === R && U.widgetKey === $
2654
+ ) : (d || []).find(
2655
+ (U) => (U.parentWidgetKey || "").trim().length === 0 && U.widgetKey === $
2656
+ );
2657
+ if (y.component ? (T = y.component, C = !1) : y.loader && (C = !0, T = fe(() => {
2658
+ if (!y) return null;
2659
+ const $ = typeof __HOST_REACT_VERSION__ < "u" ? __HOST_REACT_VERSION__ : "19.2.3", R = y.meta?.externalDependencies || [], U = R.find((B) => B.startsWith("react@"));
2660
+ if (U) {
2661
+ const B = U.split("@")[1];
2662
+ if (!on($, B)) {
2663
+ const H = {
2664
+ ...s.extraProps,
2665
+ hostVer: $,
2666
+ requiredVer: B,
2667
+ externalDependencies: R,
2668
+ errorMessage: `Incompatible React version. Required: ${B}, Host: ${$}`,
2669
+ versionMismatch: !0
2670
+ };
2671
+ return s.extraProps = {
2672
+ ...s.extraProps,
2673
+ ...H
2674
+ }, Ce.lazy(async () => ({
2675
+ default: () => /* @__PURE__ */ t(it, { ...s })
2676
+ }));
2677
+ }
2678
+ }
2679
+ if (y.component)
2680
+ return y.component;
2681
+ if (y.loader) {
2682
+ const B = async () => {
2683
+ try {
2684
+ return await y.loader();
2685
+ } catch (H) {
2686
+ console.error(`Widget Load Error [${r}]:`, H);
2687
+ const J = {
2688
+ ...s.extraProps,
2689
+ hostVer: $,
2690
+ requiredVer: U ? U.split("@")[1] : "Unknown",
2691
+ externalDependencies: R,
2692
+ errorMessage: H.message,
2693
+ versionMismatch: !1
2694
+ };
2695
+ return s.extraProps = {
2696
+ ...s.extraProps,
2697
+ ...J
2698
+ }, {
2699
+ default: () => /* @__PURE__ */ t(it, { ...s })
2700
+ };
2701
+ }
2702
+ };
2703
+ return Ce.lazy(B);
2704
+ }
2705
+ return null;
2706
+ }, [y, r])), !T)
2707
+ return /* @__PURE__ */ t("div", { className: "flex", children: /* @__PURE__ */ _("p", { children: [
2708
+ "Widget definition incomplete: ",
2709
+ p
2710
+ ] }) });
2711
+ const P = D ? {
2712
+ highlight: a === r,
2713
+ selectContainer: h,
2714
+ // The children prop is the recursive call back to DynamicWidgetLoader
2715
+ children: M.map(($, R) => /* @__PURE__ */ t(
2716
+ sn,
2717
+ {
2718
+ index: R,
2719
+ maxIndex: M.length - 1,
2720
+ widgetKey: $.widgetKey,
2721
+ parentWidgetKey: $.parentWidgetKey,
2722
+ widgetCatalog: f,
2723
+ isEditing: S,
2724
+ extraProps: v,
2725
+ onRemoveClick: b,
2726
+ onMoveClick: c,
2727
+ savedPropsChanged: g
2728
+ },
2729
+ `${$.widgetKey}_${R}`
2730
+ ))
2731
+ } : {
2732
+ widgetSavedProps: u(r, i)
2733
+ };
2734
+ return C ? /* @__PURE__ */ t(Dt, { fallback: /* @__PURE__ */ t(an, { title: `Loading ${y.title}` }), children: /* @__PURE__ */ t(T, { ...s, ...P }) }) : /* @__PURE__ */ t(T, { ...s, ...P });
2735
+ }
2736
+ const xe = "size-5";
2737
+ function Ae(e) {
2738
+ const n = e.highlight || !1, r = e.direction || "column", i = e.children.length > 0, a = e.isEditing || !1;
2739
+ let f = n ? "border-transparent" : a && !i ? "border-card-invert" : "border-transparent";
2740
+ const S = ["large", "xlarge"].includes(e.size || "");
2741
+ let v = "";
2742
+ ["large", "xlarge"].indexOf(e.size || "") > -1 && (v = `${e.size}-widget`);
2743
+ let b = "";
2744
+ r === "row" && !i ? b = "min-h-48" : r === "column" && !i && (b = "min-h-96");
2745
+ let c = Z(
2746
+ "dashboard-widget-container relative ",
2747
+ i ? "" : "has-no-children",
2748
+ a ? "editing" : "",
2749
+ b,
2750
+ v,
2751
+ S ? "widget-container-grid" : "widget-container-flex",
2752
+ `direction-${r}`,
2753
+ `border ${f}`,
2754
+ `${n ? "highlight-container" : ""} ${f}`
2755
+ ), h = `widget-container-header direction-${r} flex items-center border-1 ${f}`;
2756
+ const g = () => {
2757
+ e.onRemoveClick && e.widgetKey && e.onRemoveClick(e.widgetKey);
2758
+ }, N = (p) => {
2759
+ e.onMoveClick && e.widgetKey && e.onMoveClick(p, e.widgetKey, e.parentWidgetKey);
2760
+ }, x = () => {
2761
+ e.selectContainer && e.widgetKey && e.selectContainer(e.widgetKey);
2762
+ };
2763
+ return /* @__PURE__ */ _("div", { "data-testid": `container_${e.widgetKey}`, className: c, children: [
2764
+ /* @__PURE__ */ _("div", { className: h, children: [
2765
+ /* @__PURE__ */ t(
2766
+ "div",
2767
+ {
2768
+ className: "widget-title-wrapper w-full flex whitespace-nowrap",
2769
+ onClick: x,
2770
+ children: /* @__PURE__ */ t("span", { className: "text-sm font-semibold capitalize", children: e.title })
2771
+ }
2772
+ ),
2773
+ /* @__PURE__ */ t("div", { "data-testid": "collapse-and-other-actions", children: /* @__PURE__ */ t("div", { className: "actions-inner", children: /* @__PURE__ */ _("div", { className: "actions-buttons-container", children: [
2774
+ /* @__PURE__ */ t(
2775
+ ee,
2776
+ {
2777
+ "data-testid": `open-widgets-catalog-from-container_${e.title}`,
2778
+ isIconButton: !0,
2779
+ className: "whitespace-nowrap",
2780
+ tooltip: {
2781
+ placement: "top",
2782
+ title: "Target this Container"
2783
+ },
2784
+ onClick: x,
2785
+ children: /* @__PURE__ */ t(
2786
+ Ot,
2787
+ {
2788
+ className: `${xe} ${n ? "text-success" : "text-disabled"}`
2789
+ }
2790
+ )
2791
+ }
2792
+ ),
2793
+ /* @__PURE__ */ t(
2794
+ ee,
2795
+ {
2796
+ "data-testid": `move-container-left_${e.title}`,
2797
+ isIconButton: !0,
2798
+ disabled: e.index < 1,
2799
+ tooltip: {
2800
+ placement: "top",
2801
+ title: `${e.index < 1 ? "Already at min position" : "Move Container to the left/up"}`
2802
+ },
2803
+ onClick: () => N(-1),
2804
+ children: /* @__PURE__ */ t(dt, { className: xe })
2805
+ }
2806
+ ),
2807
+ /* @__PURE__ */ t(
2808
+ ee,
2809
+ {
2810
+ "data-testid": `move-container-right_${e.title}`,
2811
+ isIconButton: !0,
2812
+ disabled: e.index >= e.maxIndex,
2813
+ tooltip: {
2814
+ placement: "top",
2815
+ title: `${e.index >= e.maxIndex ? "Already at max position" : "Move Container to the right/down"}`
2816
+ },
2817
+ onClick: () => N(1),
2818
+ children: /* @__PURE__ */ t(ut, { className: xe })
2819
+ }
2820
+ ),
2821
+ /* @__PURE__ */ t(
2822
+ ee,
2823
+ {
2824
+ "data-testid": `remove-container_${e.title}`,
2825
+ isIconButton: !0,
2826
+ tooltip: {
2827
+ placement: "top",
2828
+ title: "Remove Container"
2829
+ },
2830
+ onClick: () => g(),
2831
+ children: /* @__PURE__ */ t(ft, { className: xe })
2832
+ }
2833
+ )
2834
+ ] }) }) })
2835
+ ] }),
2836
+ /* @__PURE__ */ t("div", { "data-testid": `childrenwrapper_${e.widgetKey}`, className: "widget-container-inner", children: e.children })
2837
+ ] });
2838
+ }
2839
+ function Wn(e) {
2840
+ const { direction: n, ...r } = e;
2841
+ return /* @__PURE__ */ t(Ae, { direction: "column", ...r });
2842
+ }
2843
+ function jn(e) {
2844
+ const { size: n, ...r } = e;
2845
+ return /* @__PURE__ */ t(Ae, { size: "large", ...r });
2846
+ }
2847
+ function An(e) {
2848
+ const { direction: n, ...r } = e;
2849
+ return /* @__PURE__ */ t(Ae, { direction: "row", ...r });
2850
+ }
2851
+ function Ie({
2852
+ // widgetKey,
2853
+ metaData: e,
2854
+ alreadyAdded: n,
2855
+ addWidget: r
2856
+ }) {
2857
+ const [i, a] = oe(!1), o = e.icon || kt, d = e.name || "Unknown", f = e.description || "---", v = (e.noDuplicatedWidgets || !1) && n, b = Z(`
2858
+ flex flex-row gap-2 p-2 rounded-md border text-sm bg-card content-card backdrop-opacity-100
2859
+ ${v ? "border-disabled fill-disabled text-disabled" : "cursor-pointer border-primary fill-danger hover:fill-primary content-primary hover:brightness-110"}
2860
+ `), c = () => {
2861
+ v || r();
2862
+ }, h = (g) => {
2863
+ g.stopPropagation(), g.preventDefault(), a(!i);
2864
+ };
2865
+ return /* @__PURE__ */ _("div", { className: b, style: { width: "calc(100% - 1rem)" }, onClick: c, children: [
2866
+ /* @__PURE__ */ t(o, { className: "" }),
2867
+ /* @__PURE__ */ _("div", { className: "w-full", children: [
2868
+ /* @__PURE__ */ _("div", { className: "flex flex-row items-center gap-2 justify-between", children: [
2869
+ /* @__PURE__ */ t("span", { className: "font-bold", children: d }),
2870
+ /* @__PURE__ */ t("div", { className: "text-xs", children: v ? "(Added)" : "" })
2871
+ ] }),
2872
+ /* @__PURE__ */ _("div", { className: "flex flex-col text-xs", children: [
2873
+ /* @__PURE__ */ t("div", { children: f }),
2874
+ i && e.externalDependencies.length > 0 && /* @__PURE__ */ _("div", { className: "mt-3 cursor-pointer", onClick: h, children: [
2875
+ "Externals:",
2876
+ /* @__PURE__ */ t("dl", { className: "ml-2 flex flex-col text-xs", children: e.externalDependencies.map((g, N) => /* @__PURE__ */ _("dd", { children: [
2877
+ "- ",
2878
+ g
2879
+ ] }, N)) })
2880
+ ] })
2881
+ ] })
2882
+ ] })
2883
+ ] });
2884
+ }
2885
+ function ln({ item: e, onSettingItemChanged: n }) {
2886
+ const r = e.name || "Unknown", i = e.description || "---", a = Z(`
2887
+ flex flex-row gap-2 px-2 text-sm backdrop-opacity-100
2888
+ `), o = (S) => {
2889
+ const v = St.incrementOrDecrementValue(e, S);
2890
+ n(v);
2891
+ }, d = (S) => {
2892
+ const v = S.key;
2893
+ ["ArrowUp", "ArrowDown"].includes(v) && (S.preventDefault(), o(v === "ArrowUp" ? 1 : -1));
2894
+ }, f = (S) => {
2895
+ n({
2896
+ ...e,
2897
+ value: S.target.value || ""
2898
+ });
2899
+ };
2900
+ return /* @__PURE__ */ t("div", { className: a, style: { width: "calc(100% - 1rem)" }, children: /* @__PURE__ */ _("div", { className: "w-full flex flex-col", children: [
2901
+ /* @__PURE__ */ t("h6", { className: "font-bold", children: r }),
2902
+ /* @__PURE__ */ t("p", { className: "flex flex-col text-xs", children: i }),
2903
+ /* @__PURE__ */ _("div", { className: "mt-1 flex flex-row gap-2 items-center", children: [
2904
+ /* @__PURE__ */ t(
2905
+ gt,
2906
+ {
2907
+ label: "",
2908
+ size: "small",
2909
+ className: "w-full",
2910
+ value: e.value,
2911
+ onChange: f,
2912
+ onKeyDown: d
2913
+ }
2914
+ ),
2915
+ /* @__PURE__ */ t(
2916
+ ee,
2917
+ {
2918
+ "data-testid": `setting-decrease_${e.key}`,
2919
+ isIconButton: !0,
2920
+ tooltip: {
2921
+ placement: "bottom",
2922
+ title: "Decrease Value"
2923
+ },
2924
+ onClick: () => o(-1),
2925
+ children: /* @__PURE__ */ t(_t, {})
2926
+ }
2927
+ ),
2928
+ /* @__PURE__ */ t(
2929
+ ee,
2930
+ {
2931
+ "data-testid": `setting-increase_${e.key}`,
2932
+ isIconButton: !0,
2933
+ tooltip: {
2934
+ placement: "bottom",
2935
+ title: "Increase Value"
2936
+ },
2937
+ onClick: () => o(1),
2938
+ children: /* @__PURE__ */ t(ct, {})
2939
+ }
2940
+ )
2941
+ ] })
2942
+ ] }) });
2943
+ }
2944
+ const Re = (e, n) => [
2945
+ ...n.widgets.filter((i) => i.indexOf("Container") === -1),
2946
+ ...n.childWidgetsConfig.map((i) => i.widgetKey)
2947
+ ].includes(e);
2948
+ function Ln(e) {
2949
+ const {
2950
+ currentDashboardConfig: n,
2951
+ undoStatus: r,
2952
+ addContainer: i,
2953
+ onResetToDefaultDashboardClick: a,
2954
+ onUndoOrRedo: o,
2955
+ onDoneClick: d
2956
+ } = e, [f, S] = oe("Editing"), [v, b] = oe(0), [c, h] = oe(""), [g, N] = oe(!1), [x, p] = oe(!1), T = Array.from(e.widgetsCatalog.keys()).map((m) => ({
2957
+ widgetKey: m,
2958
+ metaData: wt(m, e.widgetsCatalog)
2959
+ })), C = !!e.targetContainerKey, D = (m) => {
2960
+ h(m.target.value);
2961
+ }, l = (m) => {
2962
+ const X = c.trim().toLowerCase();
2963
+ return X.length < 1 ? !0 : m.name.trim().toLowerCase().includes(X) || m.description.toLowerCase().includes(X) || m.categories.some((te) => te.toLowerCase().includes(X));
2964
+ }, M = (m) => {
2965
+ const X = c.trim().toLowerCase();
2966
+ return X.length < 1 ? !0 : m.name.trim().toLowerCase().includes(X) || m.description.toLowerCase().includes(X);
2967
+ }, s = (m, X) => Z(
2968
+ "px-4 py-2 font-medium cursor-pointer",
2969
+ `${X ? "" : "border-b-2"} border-transparent hover:border-primary focus:outline-none`,
2970
+ m === v ? "text-primary border-primary" : ""
2971
+ ), u = (m) => Z(
2972
+ "w-full flex items-center gap-2 px-2 py-1 text-left text-sm cursor-pointer border",
2973
+ m !== v ? "border-transparent content-topbar hover:bg-primary hover:content-primary" : "border-primary text-primary"
2974
+ ), P = (m) => {
2975
+ C ? e.addWidget(m, e.targetContainerKey) : e.addWidget(m);
2976
+ }, $ = (m) => {
2977
+ const X = (e.currentDashboardConfig.cssSettings || []).map((te) => te.key === m.key ? m : te);
2978
+ e.onSettingItemsUpdated(X);
2979
+ }, R = (m) => {
2980
+ p(m);
2981
+ }, U = (m) => {
2982
+ b(m), p(!1);
2983
+ }, B = (m) => {
2984
+ N(m);
2985
+ };
2986
+ Oe(() => {
2987
+ if (e.targetContainerKey) {
2988
+ U(0);
2989
+ const m = at(e.targetContainerKey);
2990
+ S(`Editing ${m}`);
2991
+ } else
2992
+ S("Widget Catalog");
2993
+ }, [e.targetContainerKey]);
2994
+ const H = fe(() => {
2995
+ const m = [
2996
+ {
2997
+ id: 0,
2998
+ label: "Widgets"
2999
+ },
3000
+ {
3001
+ id: 1,
3002
+ label: "Charts"
3003
+ }
3004
+ ];
3005
+ return C || (m.push({
3006
+ id: 2,
3007
+ label: "Containers"
3008
+ }), m.push({
3009
+ id: 3,
3010
+ label: "CSS Settings",
3011
+ hideLabel: !0,
3012
+ icon: /* @__PURE__ */ t(Mt, {})
3013
+ })), m;
3014
+ }, [C]), J = fe(() => H.find((m) => m.id === v)?.label || "Category...", [v]);
3015
+ return /* @__PURE__ */ t(
3016
+ Qt,
3017
+ {
3018
+ testId: "dashboard-catalog-flyout",
3019
+ className: `transition-colors duration-150 bg-body content-body bg-opacity-70 border-2 ${g ? "border-warning" : "border-primary"} max-w-72 sm:max-w-90`,
3020
+ zIndex: e.zIndex || 99999,
3021
+ style: {
3022
+ backdropFilter: "blur(8px)"
3023
+ },
3024
+ onDraggingChange: B,
3025
+ children: /* @__PURE__ */ _("div", { className: "flex flex-col gap-2 p-2", children: [
3026
+ /* @__PURE__ */ _("div", { className: "flex flex-row gap-2 justify-between", children: [
3027
+ /* @__PURE__ */ _(
3028
+ "div",
3029
+ {
3030
+ className: `handle cursor-grab flex-1 flex gap-2 w-full ${g ? "text-warning" : "hover:text-primary"}`,
3031
+ children: [
3032
+ g ? /* @__PURE__ */ t(ht, { className: "size-5" }) : /* @__PURE__ */ t(Rt, { className: "size-5" }),
3033
+ /* @__PURE__ */ t(
3034
+ "h2",
3035
+ {
3036
+ className: "flex-1 text-base margin-0 capitalize",
3037
+ title: C ? f : `Editing dashboard: ${n.dashboardName}`,
3038
+ children: f
3039
+ }
3040
+ )
3041
+ ]
3042
+ }
3043
+ ),
3044
+ /* @__PURE__ */ _("div", { className: "flex flex-row items-center gap-2", children: [
3045
+ /* @__PURE__ */ t(
3046
+ ee,
3047
+ {
3048
+ "data-testid": "undo-dashboard-config-change",
3049
+ isIconButton: !0,
3050
+ tooltip: {
3051
+ placement: "bottom",
3052
+ title: "Undo"
3053
+ },
3054
+ disabled: r.isUndoDisabled,
3055
+ onClick: () => o("Undo"),
3056
+ children: /* @__PURE__ */ t($t, { className: "size-5" })
3057
+ }
3058
+ ),
3059
+ /* @__PURE__ */ t(
3060
+ ee,
3061
+ {
3062
+ "data-testid": "redo-dashboard-config-change",
3063
+ isIconButton: !0,
3064
+ tooltip: {
3065
+ placement: "bottom",
3066
+ title: "Redo"
3067
+ },
3068
+ disabled: r.isRedoDisabled,
3069
+ onClick: () => o("Redo"),
3070
+ children: /* @__PURE__ */ t(It, { className: "size-5" })
3071
+ }
3072
+ ),
3073
+ /* @__PURE__ */ t(
3074
+ ee,
3075
+ {
3076
+ "data-testid": "reset-dashboard-to-default",
3077
+ isIconButton: !0,
3078
+ tooltip: {
3079
+ placement: "bottom",
3080
+ title: "Reset this dashboard to the default configuration"
3081
+ },
3082
+ onClick: a,
3083
+ children: /* @__PURE__ */ t(Pt, { className: "size-5" })
3084
+ }
3085
+ )
3086
+ ] })
3087
+ ] }),
3088
+ /* @__PURE__ */ t("div", { className: "hidden sm:flex sm:flex-row sm:items-center sm:gap-1", children: H.map((m) => /* @__PURE__ */ _(
3089
+ "button",
3090
+ {
3091
+ className: s(m.id, m.id === 3),
3092
+ onClick: () => U(m.id),
3093
+ children: [
3094
+ /* @__PURE__ */ t("span", { className: m.hideLabel ? "sr-only" : "", children: m.label }),
3095
+ m.icon
3096
+ ]
3097
+ },
3098
+ m.id
3099
+ )) }),
3100
+ /* @__PURE__ */ t("div", { className: "flex flex-col gap-1 sm:hidden", children: /* @__PURE__ */ t(
3101
+ Wt,
3102
+ {
3103
+ enabled: !0,
3104
+ showChevron: !0,
3105
+ isMenuOpen: x,
3106
+ toggleOpen: R,
3107
+ icon: /* @__PURE__ */ _("div", { className: "group flex items-center gap-2 text-primary group-hover:text-primary-inverse", children: [
3108
+ /* @__PURE__ */ t("h5", { className: "py-2 font-bold", children: J }),
3109
+ /* @__PURE__ */ t(ke, { className: "shrink-0 ml-1 size-4" })
3110
+ ] }),
3111
+ children: /* @__PURE__ */ _("div", { className: "p-2 rounded-md border border-primary", children: [
3112
+ /* @__PURE__ */ t("h6", { className: "font-semibold", children: "Category:" }),
3113
+ H.map((m) => /* @__PURE__ */ t(
3114
+ "button",
3115
+ {
3116
+ type: "button",
3117
+ className: u(m.id),
3118
+ role: "menuitem",
3119
+ tabIndex: -1,
3120
+ onClick: () => U(m.id),
3121
+ children: /* @__PURE__ */ t("span", { children: m.label })
3122
+ },
3123
+ m.id
3124
+ ))
3125
+ ] })
3126
+ }
3127
+ ) }),
3128
+ /* @__PURE__ */ t("div", { className: "sm:mt-2 flex flex-col gap-1 w-full", children: /* @__PURE__ */ t(
3129
+ gt,
3130
+ {
3131
+ label: "",
3132
+ placeholder: "Find...",
3133
+ size: "small",
3134
+ className: "w-full",
3135
+ value: c,
3136
+ onChange: D
3137
+ }
3138
+ ) }),
3139
+ /* @__PURE__ */ _(
3140
+ "div",
3141
+ {
3142
+ className: "flex flex-col gap-2 overflow-x-hidden overflow-y-auto",
3143
+ style: {
3144
+ maxHeight: "360px"
3145
+ },
3146
+ children: [
3147
+ v === 3 && /* @__PURE__ */ _("div", { className: "hidden px-2 w-full sm:flex", children: [
3148
+ J,
3149
+ ":"
3150
+ ] }),
3151
+ v === 0 && T.filter(
3152
+ (m) => m.metaData.categories.includes("Widget") && l(m.metaData)
3153
+ ).map((m) => /* @__PURE__ */ t(
3154
+ Ie,
3155
+ {
3156
+ widgetKey: m.widgetKey,
3157
+ metaData: m.metaData,
3158
+ alreadyAdded: Re(m.widgetKey, n),
3159
+ addWidget: () => P(m.widgetKey)
3160
+ },
3161
+ m.widgetKey
3162
+ )),
3163
+ v === 1 && T.filter(
3164
+ (m) => m.metaData.categories.includes("Chart") && l(m.metaData)
3165
+ ).map((m) => /* @__PURE__ */ t(
3166
+ Ie,
3167
+ {
3168
+ widgetKey: m.widgetKey,
3169
+ metaData: m.metaData,
3170
+ alreadyAdded: Re(m.widgetKey, n),
3171
+ addWidget: () => P(m.widgetKey)
3172
+ },
3173
+ m.widgetKey
3174
+ )),
3175
+ !C && v === 2 && T.filter((m) => m.metaData.categories.includes("Container")).map((m) => /* @__PURE__ */ t(
3176
+ Ie,
3177
+ {
3178
+ widgetKey: m.widgetKey,
3179
+ metaData: m.metaData,
3180
+ alreadyAdded: Re(m.widgetKey, n),
3181
+ addWidget: () => i(m.widgetKey)
3182
+ },
3183
+ m.widgetKey
3184
+ )),
3185
+ !C && v === 3 && (n.cssSettings || []).filter(M).map((m) => /* @__PURE__ */ t(
3186
+ ln,
3187
+ {
3188
+ item: m,
3189
+ onSettingItemChanged: $
3190
+ },
3191
+ m.key
3192
+ ))
3193
+ ]
3194
+ }
3195
+ ),
3196
+ /* @__PURE__ */ t("div", { className: "mt-4 w-full flex flex-row justify-end pt-1", children: /* @__PURE__ */ t(
3197
+ ee,
3198
+ {
3199
+ className: "bg-opacity-100",
3200
+ tooltip: {
3201
+ placement: "bottom",
3202
+ title: "Click to exit edit mode"
3203
+ },
3204
+ onClick: d,
3205
+ children: "Done"
3206
+ }
3207
+ ) })
3208
+ ] })
3209
+ }
3210
+ );
3211
+ }
3212
+ export {
3213
+ pn as AddIcon,
3214
+ ee as Button,
3215
+ ke as ChevronDownIcon,
3216
+ kt as CircleQuestionMark,
3217
+ Ot as CrosshairIcon,
3218
+ kn as DashboardGrid,
3219
+ rn as DashboardWidgetBase,
3220
+ yn as DeleteIcon,
3221
+ Qt as DraggablePanel,
3222
+ Wt as Dropdown,
3223
+ sn as DynamicWidgetLoader,
3224
+ bn as EditIcon,
3225
+ xn as GridIcon,
3226
+ ht as HandGrabIcon,
3227
+ Rt as HandIcon,
3228
+ En as ListItem,
3229
+ _n as ListItemLeftChild,
3230
+ Mn as ListItemMiddleChild,
3231
+ Pn as ListItemRightChild,
3232
+ _t as MinusCircleIcon,
3233
+ Cn as MonitorIcon,
3234
+ wn as MonitorSmartphoneIcon,
3235
+ dt as MoveLeftIcon,
3236
+ ut as MoveRightIcon,
3237
+ ct as PlusCircleIcon,
3238
+ It as RedoIcon,
3239
+ vn as RenameIcon,
3240
+ Mt as SettingsIcon,
3241
+ At as Stack,
3242
+ V as SvgBaseWrapper,
3243
+ Sn as TabletSmartphoneIcon,
3244
+ Nn as TargetIcon,
3245
+ gt as TextField,
3246
+ Pt as TimerResetIcon,
3247
+ $t as UndoIcon,
3248
+ Wn as WidgetContainerColumn,
3249
+ jn as WidgetContainerLarge,
3250
+ An as WidgetContainerRow,
3251
+ Ln as WidgetsCatalogFlyout,
3252
+ In as WrapperColumnContent,
3253
+ Rn as WrapperColumnContentListItem,
3254
+ ft as XCircleIcon,
3255
+ Dn as ZoomInIcon,
3256
+ Tn as ZoomOutIcon,
3257
+ on as _isVersionCompatible,
3258
+ On as showToast,
3259
+ gn as useDashboardStore,
3260
+ mn as useDashboardUndoService
3261
+ };