@glasshome/widget-sdk 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,34 +1,34 @@
1
- import { createSignal as L, createContext as pt, useContext as vt, createEffect as Y, untrack as dt, createMemo as A, splitProps as St, on as gt, Show as J } from "solid-js";
2
- import { z as X } from "zod";
3
- import { GridSizeSchema as lr, PublishBodySchema as cr, PublishConfirmSchema as ur, PublishRequestSchema as dr, WidgetManifestSchema as gr, formatSchemaError as mr, parseGridSize as fr, serializeGridSize as hr } from "./schemas.js";
4
- import { memo as _, effect as M, setStyleProperty as C, className as k, template as v, insert as h, style as et, createComponent as V, use as Ct, delegateEvents as Mt } from "solid-js/web";
5
- import { clsx as zt } from "clsx";
6
- import { twMerge as Dt } from "tailwind-merge";
7
- import { createElementSize as _t } from "@solid-primitives/resize-observer";
8
- import { createForm as At, zodForm as Nt, reset as Tt, setValue as Ot, getValue as Et } from "@modular-forms/solid";
9
- function pn(t) {
10
- const [e] = L(t);
11
- return e;
1
+ import { createSignal as F, createContext as Ee, useContext as Se, createEffect as K, untrack as ve, createMemo as A, splitProps as Ae, on as be, Show as te } from "solid-js";
2
+ import { z as q } from "zod";
3
+ import { GridSizeSchema as hr, PublishBodySchema as xr, PublishConfirmSchema as vr, PublishRequestSchema as br, WidgetManifestSchema as yr, formatSchemaError as wr, parseGridSize as $r, serializeGridSize as kr } from "./schemas.js";
4
+ import { memo as E, effect as z, setStyleProperty as M, className as p, template as w, insert as h, style as oe, createComponent as T, addEventListener as ne, use as Ne, delegateEvents as Oe } from "solid-js/web";
5
+ import { clsx as Te } from "clsx";
6
+ import { twMerge as Ve } from "tailwind-merge";
7
+ import { createElementSize as We } from "@solid-primitives/resize-observer";
8
+ import { createForm as Ie, zodForm as Re, reset as Ge, setValue as Pe, getValue as He } from "@modular-forms/solid";
9
+ function En(e) {
10
+ const [t] = F(e);
11
+ return t;
12
12
  }
13
- function bt(t) {
14
- return X.toJSONSchema(t, {
15
- override: (e) => {
16
- const n = X.globalRegistry.get(e.zodSchema);
17
- return n && typeof n == "object" && Object.keys(n).length > 0 ? { ...e.jsonSchema, ...n } : e.jsonSchema;
13
+ function pe(e) {
14
+ return q.toJSONSchema(e, {
15
+ override: (t) => {
16
+ const n = q.globalRegistry.get(t.zodSchema);
17
+ return n && typeof n == "object" && Object.keys(n).length > 0 ? { ...t.jsonSchema, ...n } : t.jsonSchema;
18
18
  }
19
19
  });
20
20
  }
21
- function Vt(t) {
21
+ function Be(e) {
22
22
  try {
23
- return t.parse({});
23
+ return e.parse({});
24
24
  } catch {
25
25
  return {};
26
26
  }
27
27
  }
28
- function Sn(t) {
29
- return t.configSchema && (t.manifest.schema || (t.manifest.schema = bt(t.configSchema)), t.manifest.defaultConfig || (t.manifest.defaultConfig = Vt(t.configSchema))), t;
28
+ function An(e) {
29
+ return e.configSchema && (e.manifest.schema || (e.manifest.schema = pe(e.configSchema)), e.manifest.defaultConfig || (e.manifest.defaultConfig = Be(e.configSchema))), e;
30
30
  }
31
- const F = {
31
+ const Y = {
32
32
  /** Background layer (gradients, images, glows) */
33
33
  BACKGROUND: 0,
34
34
  /** Main content layer (icon, title, text) */
@@ -38,19 +38,19 @@ const F = {
38
38
  /** Action layer (buttons, edit controls) */
39
39
  ACTIONS: 30
40
40
  };
41
- function Cn(t) {
41
+ function Nn(e) {
42
42
  }
43
- const st = pt();
43
+ const me = Ee();
44
44
  function G() {
45
- const t = vt(st);
46
- if (!t)
45
+ const e = Se(me);
46
+ if (!e)
47
47
  throw new Error("useWidgetContext must be used within a Widget component");
48
- return t;
48
+ return e;
49
49
  }
50
- function $(...t) {
51
- return Dt(zt(t));
50
+ function S(...e) {
51
+ return Ve(Te(e));
52
52
  }
53
- const Wt = {
53
+ const Le = {
54
54
  id: "classic-glass",
55
55
  name: "Classic Glass",
56
56
  description: "Default glassmorphism design with blur background and gradient",
@@ -78,7 +78,7 @@ const Wt = {
78
78
  hoverScale: 1.02,
79
79
  activeScale: 0.98
80
80
  }
81
- }, It = {
81
+ }, je = {
82
82
  id: "minimal",
83
83
  name: "Minimal",
84
84
  description: "Clean, minimal design with no background effects",
@@ -107,7 +107,7 @@ const Wt = {
107
107
  active: !1,
108
108
  focus: !0
109
109
  }
110
- }, Rt = {
110
+ }, Fe = {
111
111
  id: "compact-horizontal",
112
112
  name: "Compact Horizontal",
113
113
  description: "Horizontal layout for compact widgets",
@@ -135,33 +135,33 @@ const Wt = {
135
135
  hoverScale: 1.02,
136
136
  activeScale: 0.98
137
137
  }
138
- }, lt = {
139
- "classic-glass": Wt,
140
- minimal: It,
141
- "compact-horizontal": Rt
138
+ }, fe = {
139
+ "classic-glass": Le,
140
+ minimal: je,
141
+ "compact-horizontal": Fe
142
142
  };
143
- function Gt(t) {
144
- return lt[t];
143
+ function Ue(e) {
144
+ return fe[e];
145
145
  }
146
- function Mn(t) {
147
- return t in lt;
146
+ function On(e) {
147
+ return e in fe;
148
148
  }
149
- function zn() {
150
- return Object.keys(lt);
149
+ function Tn() {
150
+ return Object.keys(fe);
151
151
  }
152
- function yt(t, e) {
153
- if (typeof t != "object" || t === null)
154
- return e;
155
- const n = { ...t };
156
- for (const i in e) {
157
- const r = e[i], a = t[i];
152
+ function Ce(e, t) {
153
+ if (typeof e != "object" || e === null)
154
+ return t;
155
+ const n = { ...e };
156
+ for (const i in t) {
157
+ const r = t[i], a = e[i];
158
158
  if (r !== void 0) {
159
159
  if (Array.isArray(r)) {
160
160
  n[i] = r;
161
161
  continue;
162
162
  }
163
163
  if (typeof r == "object" && r !== null && !Array.isArray(r)) {
164
- typeof a == "object" && a !== null ? n[i] = yt(a, r) : n[i] = r;
164
+ typeof a == "object" && a !== null ? n[i] = Ce(a, r) : n[i] = r;
165
165
  continue;
166
166
  }
167
167
  n[i] = r;
@@ -169,101 +169,101 @@ function yt(t, e) {
169
169
  }
170
170
  return n;
171
171
  }
172
- function Ht(t, e) {
173
- if (!(!t && !e))
174
- return t ? e ? {
175
- container: { ...t.container, ...e.container },
176
- class: e.class ?? t.class,
177
- cssVars: { ...t.cssVars, ...e.cssVars }
178
- } : t : e;
179
- }
180
- function Bt(t, e) {
181
- return e ?? t;
182
- }
183
- function Lt(t, e) {
184
- if (!(!t && !e))
185
- return t ? e ? {
186
- visible: { ...t.visible, ...e.visible },
187
- styles: yt(t.styles ?? {}, e.styles ?? {}),
188
- classNames: { ...t.classNames, ...e.classNames }
189
- } : t : e;
190
- }
191
- function jt(t, e) {
192
- if (!(!t && !e))
193
- return t ? e ? {
194
- background: e.background ?? t.background,
195
- overlay: e.overlay ?? t.overlay,
196
- decorations: e.decorations ?? t.decorations
197
- } : t : e;
198
- }
199
- function Pt(t, e) {
200
- if (!(!t && !e))
201
- return t ? e ? {
202
- hover: e.hover ?? t.hover,
203
- active: e.active ?? t.active,
204
- focus: e.focus ?? t.focus,
205
- hoverScale: e.hoverScale ?? t.hoverScale,
206
- activeScale: e.activeScale ?? t.activeScale
207
- } : t : e;
208
- }
209
- function ct(t, e) {
172
+ function Ye(e, t) {
173
+ if (!(!e && !t))
174
+ return e ? t ? {
175
+ container: { ...e.container, ...t.container },
176
+ class: t.class ?? e.class,
177
+ cssVars: { ...e.cssVars, ...t.cssVars }
178
+ } : e : t;
179
+ }
180
+ function Xe(e, t) {
181
+ return t ?? e;
182
+ }
183
+ function Ke(e, t) {
184
+ if (!(!e && !t))
185
+ return e ? t ? {
186
+ visible: { ...e.visible, ...t.visible },
187
+ styles: Ce(e.styles ?? {}, t.styles ?? {}),
188
+ classNames: { ...e.classNames, ...t.classNames }
189
+ } : e : t;
190
+ }
191
+ function qe(e, t) {
192
+ if (!(!e && !t))
193
+ return e ? t ? {
194
+ background: t.background ?? e.background,
195
+ overlay: t.overlay ?? e.overlay,
196
+ decorations: t.decorations ?? e.decorations
197
+ } : e : t;
198
+ }
199
+ function Je(e, t) {
200
+ if (!(!e && !t))
201
+ return e ? t ? {
202
+ hover: t.hover ?? e.hover,
203
+ active: t.active ?? e.active,
204
+ focus: t.focus ?? e.focus,
205
+ hoverScale: t.hoverScale ?? e.hoverScale,
206
+ activeScale: t.activeScale ?? e.activeScale
207
+ } : e : t;
208
+ }
209
+ function he(e, t) {
210
210
  return {
211
- id: e.id ?? t.id,
212
- name: e.name ?? t.name,
213
- description: e.description ?? t.description,
214
- styles: Ht(t.styles, e.styles),
215
- layout: Bt(t.layout, e.layout),
216
- elements: Lt(t.elements, e.elements),
217
- plugins: jt(t.plugins, e.plugins),
218
- interactions: Pt(t.interactions, e.interactions),
219
- extends: e.extends ?? t.extends
211
+ id: t.id ?? e.id,
212
+ name: t.name ?? e.name,
213
+ description: t.description ?? e.description,
214
+ styles: Ye(e.styles, t.styles),
215
+ layout: Xe(e.layout, t.layout),
216
+ elements: Ke(e.elements, t.elements),
217
+ plugins: qe(e.plugins, t.plugins),
218
+ interactions: Je(e.interactions, t.interactions),
219
+ extends: t.extends ?? e.extends
220
220
  };
221
221
  }
222
- function Dn(t, e) {
222
+ function Vn(e, t) {
223
223
  return {
224
- ...e,
225
- extends: t
224
+ ...t,
225
+ extends: e
226
226
  };
227
227
  }
228
- function _n(...t) {
229
- if (t.length === 0)
228
+ function Wn(...e) {
229
+ if (e.length === 0)
230
230
  throw new Error("composeVariants requires at least one variant");
231
- return t.length === 1 ? t[0] : t.reduce((e, n) => ct(e, n));
231
+ return e.length === 1 ? e[0] : e.reduce((t, n) => he(t, n));
232
232
  }
233
- function An(t, e) {
234
- return ct(t, { layout: e });
233
+ function In(e, t) {
234
+ return he(e, { layout: t });
235
235
  }
236
- function Nn(t, e) {
237
- return ct(t, {
238
- styles: { cssVars: e }
236
+ function Rn(e, t) {
237
+ return he(e, {
238
+ styles: { cssVars: t }
239
239
  });
240
240
  }
241
- function Tn(t = "column", e = "start", n = "start", i) {
241
+ function Gn(e = "column", t = "start", n = "start", i) {
242
242
  return {
243
243
  type: "flex",
244
- direction: t,
245
- align: e,
244
+ direction: e,
245
+ align: t,
246
246
  justify: n,
247
247
  ...i
248
248
  };
249
249
  }
250
- var Ft = /* @__PURE__ */ v("<div>"), Ut = /* @__PURE__ */ v('<div class="pointer-events-none absolute inset-0 opacity-40 blur-2xl">');
251
- function Yt(t) {
252
- const e = G(), n = () => e.orientation() === "vertical" ? `inset(${100 - t.value}% 0 0 0)` : `inset(0 ${100 - t.value}% 0 0)`, i = () => t.color ?? "rgb(59, 130, 246)";
253
- return [_(() => _(() => !!((t.glow ?? !1) && t.value > 0))() && (() => {
254
- var r = Ut();
255
- return M((a) => {
256
- var o = i(), s = F.BACKGROUND;
257
- return o !== a.e && C(r, "background", a.e = o), s !== a.t && C(r, "z-index", a.t = s), a;
250
+ var Ze = /* @__PURE__ */ w("<div>"), Qe = /* @__PURE__ */ w('<div class="pointer-events-none absolute inset-0 opacity-40 blur-2xl">');
251
+ function et(e) {
252
+ const t = G(), n = () => t.orientation() === "vertical" ? `inset(${100 - e.value}% 0 0 0)` : `inset(0 ${100 - e.value}% 0 0)`, i = () => e.color ?? "rgb(59, 130, 246)";
253
+ return [E(() => E(() => !!((e.glow ?? !1) && e.value > 0))() && (() => {
254
+ var r = Qe();
255
+ return z((a) => {
256
+ var o = i(), s = Y.BACKGROUND;
257
+ return o !== a.e && M(r, "background", a.e = o), s !== a.t && M(r, "z-index", a.t = s), a;
258
258
  }, {
259
259
  e: void 0,
260
260
  t: void 0
261
261
  }), r;
262
262
  })()), (() => {
263
- var r = Ft();
264
- return M((a) => {
265
- var o = $("pointer-events-none absolute inset-0", t.isDragging ? "duration-0" : "transition-all duration-300 ease-out", t.class), s = i(), l = n(), m = t.opacity ?? 0.3, d = F.BACKGROUND;
266
- return o !== a.e && k(r, a.e = o), s !== a.t && C(r, "background", a.t = s), l !== a.a && C(r, "clip-path", a.a = l), m !== a.o && C(r, "opacity", a.o = m), d !== a.i && C(r, "z-index", a.i = d), a;
263
+ var r = Ze();
264
+ return z((a) => {
265
+ var o = S("pointer-events-none absolute inset-0", e.isDragging ? "duration-0" : "transition-all duration-300 ease-out", e.class), s = i(), l = n(), d = e.opacity ?? 0.3, c = Y.BACKGROUND;
266
+ return o !== a.e && p(r, a.e = o), s !== a.t && M(r, "background", a.t = s), l !== a.a && M(r, "clip-path", a.a = l), d !== a.o && M(r, "opacity", a.o = d), c !== a.i && M(r, "z-index", a.i = c), a;
267
267
  }, {
268
268
  e: void 0,
269
269
  t: void 0,
@@ -273,22 +273,22 @@ function Yt(t) {
273
273
  }), r;
274
274
  })()];
275
275
  }
276
- const Z = {
276
+ const re = {
277
277
  S1: { xs: 4, sm: 4, md: 6, lg: 6, xl: 8 },
278
278
  S2: { xs: 6, sm: 8, md: 10, lg: 12, xl: 14 },
279
279
  S3: { xs: 8, sm: 10, md: 12, lg: 14, xl: 16 },
280
280
  S4: { xs: 12, sm: 14, md: 16, lg: 18, xl: 20 }
281
- }, W = {
281
+ }, I = {
282
282
  /** Extra small spacing (4-8px) */
283
- S1: (t) => `${Z.S1[t]}px`,
283
+ S1: (e) => `${re.S1[e]}px`,
284
284
  /** Small spacing (6-14px) - default for most layouts */
285
- S2: (t) => `${Z.S2[t]}px`,
285
+ S2: (e) => `${re.S2[e]}px`,
286
286
  /** Medium spacing (8-16px) */
287
- S3: (t) => `${Z.S3[t]}px`,
287
+ S3: (e) => `${re.S3[e]}px`,
288
288
  /** Large spacing (12-20px) */
289
- S4: (t) => `${Z.S4[t]}px`,
289
+ S4: (e) => `${re.S4[e]}px`,
290
290
  /** Icon container size in pixels */
291
- icon: (t) => ({
291
+ icon: (e) => ({
292
292
  xs: 32,
293
293
  // 1x1, 1x2 widgets
294
294
  sm: 40,
@@ -299,9 +299,9 @@ const Z = {
299
299
  // 2x6, 3x6, 4x2 widgets
300
300
  xl: 56
301
301
  // 4x4 widgets
302
- })[t],
302
+ })[e],
303
303
  /** Icon stroke size for lucide icons */
304
- iconSize: (t) => ({
304
+ iconSize: (e) => ({
305
305
  xs: 18,
306
306
  // Smaller stroke for tiny widgets
307
307
  sm: 20,
@@ -312,9 +312,9 @@ const Z = {
312
312
  // Large widgets
313
313
  xl: 28
314
314
  // Extra large widgets
315
- })[t],
315
+ })[e],
316
316
  /** Spacing between icon and title */
317
- iconToTitle: (t) => ({
317
+ iconToTitle: (e) => ({
318
318
  xs: "8px",
319
319
  // Tight spacing for small widgets
320
320
  sm: "10px",
@@ -325,9 +325,9 @@ const Z = {
325
325
  // More breathing room
326
326
  xl: "16px"
327
327
  // Maximum spacing (@[400px]:mt-4 = 16px)
328
- })[t],
328
+ })[e],
329
329
  /** Container padding */
330
- container: (t) => ({
330
+ container: (e) => ({
331
331
  xs: "8px",
332
332
  // Minimal padding for tiny widgets
333
333
  sm: "16px",
@@ -336,8 +336,8 @@ const Z = {
336
336
  lg: "20px",
337
337
  // More padding for larger widgets
338
338
  xl: "20px"
339
- })[t]
340
- }, Xt = {
339
+ })[e]
340
+ }, tt = {
341
341
  4: "gap-1",
342
342
  6: "gap-1.5",
343
343
  8: "gap-2",
@@ -348,25 +348,25 @@ const Z = {
348
348
  18: "gap-[18px]",
349
349
  20: "gap-5"
350
350
  };
351
- function Kt(t, e) {
352
- const n = Z[t][e];
353
- return Xt[n] || `gap-[${n}px]`;
351
+ function nt(e, t) {
352
+ const n = re[e][t];
353
+ return tt[n] || `gap-[${n}px]`;
354
354
  }
355
- var qt = /* @__PURE__ */ v("<div>");
356
- function Jt(t) {
357
- const e = G();
355
+ var rt = /* @__PURE__ */ w("<div>");
356
+ function it(e) {
357
+ const t = G();
358
358
  return (() => {
359
- var n = qt();
360
- return h(n, () => t.children), M((i) => {
361
- var r = $(
359
+ var n = rt();
360
+ return h(n, () => e.children), z((i) => {
361
+ var r = S(
362
362
  "relative flex h-full w-full overflow-hidden",
363
363
  // Ensure controls (ml-auto divs) are above other content
364
364
  "[&_div.ml-auto]:relative [&_div.ml-auto]:z-30",
365
- e.contentLayout() === "horizontal" ? "flex-row items-center" : "flex-col justify-between",
366
- Kt("S3", e.size()),
367
- t.class
368
- ), a = W.container(e.size()), o = F.CONTENT;
369
- return r !== i.e && k(n, i.e = r), a !== i.t && C(n, "padding", i.t = a), o !== i.a && C(n, "z-index", i.a = o), i;
365
+ t.contentLayout() === "horizontal" ? "flex-row items-center" : "flex-col justify-between",
366
+ nt("S3", t.size()),
367
+ e.class
368
+ ), a = I.container(t.size()), o = Y.CONTENT;
369
+ return r !== i.e && p(n, i.e = r), a !== i.t && M(n, "padding", i.t = a), o !== i.a && M(n, "z-index", i.a = o), i;
370
370
  }, {
371
371
  e: void 0,
372
372
  t: void 0,
@@ -374,9 +374,9 @@ function Jt(t) {
374
374
  }), n;
375
375
  })();
376
376
  }
377
- const j = {
377
+ const U = {
378
378
  /** Container base text sizing */
379
- container: (t) => ({
379
+ container: (e) => ({
380
380
  xs: "text-xs",
381
381
  // Smallest widgets
382
382
  sm: "text-sm",
@@ -387,9 +387,9 @@ const j = {
387
387
  // Large widgets
388
388
  xl: "text-lg"
389
389
  // Extra large widgets
390
- })[t],
390
+ })[e],
391
391
  /** Title text sizing (main heading) */
392
- title: (t) => ({
392
+ title: (e) => ({
393
393
  xs: "text-xs",
394
394
  // 12px - Very compact
395
395
  sm: "text-xs",
@@ -400,9 +400,9 @@ const j = {
400
400
  // 14px - Maintain size
401
401
  xl: "text-sm"
402
402
  // 14px - Don't go too large for secondary text
403
- })[t],
403
+ })[e],
404
404
  /** Subtitle/secondary text sizing */
405
- subtitle: (t) => ({
405
+ subtitle: (e) => ({
406
406
  xs: "text-xs",
407
407
  // 12px - Very compact
408
408
  sm: "text-sm",
@@ -413,9 +413,9 @@ const j = {
413
413
  // 14px - Maintain size
414
414
  xl: "text-base"
415
415
  // 14px - Don't go too large for secondary text
416
- })[t],
416
+ })[e],
417
417
  /** Value display text sizing (large numbers) */
418
- value: (t) => ({
418
+ value: (e) => ({
419
419
  xs: "text-lg",
420
420
  // 18px - Still readable on small widgets
421
421
  sm: "text-xl",
@@ -426,9 +426,9 @@ const j = {
426
426
  // 30px - Very prominent
427
427
  xl: "text-4xl"
428
428
  // 36px - Maximum impact
429
- })[t],
429
+ })[e],
430
430
  /** Badge text sizing (entity count badges) */
431
- badge: (t) => ({
431
+ badge: (e) => ({
432
432
  xs: "text-xs",
433
433
  // 12px - Compact badge
434
434
  sm: "text-xs",
@@ -439,9 +439,9 @@ const j = {
439
439
  // 14px - Slightly larger for readability
440
440
  xl: "text-sm"
441
441
  // 14px - Maximum badge size
442
- })[t],
442
+ })[e],
443
443
  /** Metric label text sizing */
444
- metricLabel: (t) => ({
444
+ metricLabel: (e) => ({
445
445
  xs: "text-xs",
446
446
  // 12px - Compact labels
447
447
  sm: "text-xs",
@@ -452,9 +452,9 @@ const j = {
452
452
  // 14px - More readable on large widgets
453
453
  xl: "text-sm"
454
454
  // 14px
455
- })[t],
455
+ })[e],
456
456
  /** Metric value text sizing */
457
- metricValue: (t) => ({
457
+ metricValue: (e) => ({
458
458
  xs: "text-sm",
459
459
  // 14px - Readable metric values
460
460
  sm: "text-sm",
@@ -465,17 +465,17 @@ const j = {
465
465
  // 16px - Slightly larger
466
466
  xl: "text-base"
467
467
  // 16px
468
- })[t],
468
+ })[e],
469
469
  /** Status text (same as subtitle but semantic) */
470
- status: (t) => ({
470
+ status: (e) => ({
471
471
  xs: "text-md",
472
472
  sm: "text-xl",
473
473
  md: "text-2xl",
474
474
  lg: "text-3xl",
475
475
  xl: "text-3xl"
476
- })[t],
476
+ })[e],
477
477
  /** Empty state message text */
478
- emptyState: (t) => ({
478
+ emptyState: (e) => ({
479
479
  xs: "text-xs",
480
480
  // 12px
481
481
  sm: "text-sm",
@@ -486,20 +486,20 @@ const j = {
486
486
  // 16px
487
487
  xl: "text-base"
488
488
  // 16px
489
- })[t]
489
+ })[e]
490
490
  };
491
- var Zt = /* @__PURE__ */ v("<div><div>"), Qt = /* @__PURE__ */ v("<div>"), te = /* @__PURE__ */ v("<h3>"), ee = /* @__PURE__ */ v("<p>"), ne = /* @__PURE__ */ v("<div class=mt-2>");
492
- function re(t) {
493
- const e = G(), n = () => e.contentLayout() === "horizontal";
491
+ var at = /* @__PURE__ */ w("<div><div>"), ot = /* @__PURE__ */ w("<div>"), st = /* @__PURE__ */ w("<h3>"), lt = /* @__PURE__ */ w("<p>"), ct = /* @__PURE__ */ w("<div class=mt-2>");
492
+ function ut(e) {
493
+ const t = G(), n = () => t.contentLayout() === "horizontal";
494
494
  return (() => {
495
- var i = Zt(), r = i.firstChild;
495
+ var i = at(), r = i.firstChild;
496
496
  return h(i, (() => {
497
- var a = _(() => !!t.icon);
497
+ var a = E(() => !!e.icon);
498
498
  return () => a() && (() => {
499
- var o = Qt();
500
- return h(o, () => t.icon), M((s) => {
501
- var l = $("flex items-center justify-center text-foreground/30", n() ? "shrink-0" : ""), m = `${W.icon(e.size())}px`, d = `${W.icon(e.size())}px`;
502
- return l !== s.e && k(o, s.e = l), m !== s.t && C(o, "width", s.t = m), d !== s.a && C(o, "height", s.a = d), s;
499
+ var o = ot();
500
+ return h(o, () => e.icon), z((s) => {
501
+ var l = S("flex items-center justify-center text-foreground/30", n() ? "shrink-0" : ""), d = `${I.icon(t.size())}px`, c = `${I.icon(t.size())}px`;
502
+ return l !== s.e && p(o, s.e = l), d !== s.t && M(o, "width", s.t = d), c !== s.a && M(o, "height", s.a = c), s;
503
503
  }, {
504
504
  e: void 0,
505
505
  t: void 0,
@@ -507,38 +507,38 @@ function re(t) {
507
507
  }), o;
508
508
  })();
509
509
  })(), r), h(r, (() => {
510
- var a = _(() => !!(t.title ?? "No data"));
510
+ var a = E(() => !!(e.title ?? "No data"));
511
511
  return () => a() && (() => {
512
- var o = te();
513
- return h(o, () => t.title ?? "No data"), M((s) => {
514
- var l = $("font-semibold text-foreground/60", j.subtitle(e.size())), m = n() ? "100%" : "80%";
515
- return l !== s.e && k(o, s.e = l), m !== s.t && C(o, "max-width", s.t = m), s;
512
+ var o = st();
513
+ return h(o, () => e.title ?? "No data"), z((s) => {
514
+ var l = S("font-semibold text-foreground/60", U.subtitle(t.size())), d = n() ? "100%" : "80%";
515
+ return l !== s.e && p(o, s.e = l), d !== s.t && M(o, "max-width", s.t = d), s;
516
516
  }, {
517
517
  e: void 0,
518
518
  t: void 0
519
519
  }), o;
520
520
  })();
521
521
  })(), null), h(r, (() => {
522
- var a = _(() => !!t.message);
522
+ var a = E(() => !!e.message);
523
523
  return () => a() && (() => {
524
- var o = ee();
525
- return h(o, () => t.message), M((s) => {
526
- var l = $("text-foreground/50", j.emptyState(e.size())), m = n() ? "100%" : "85%";
527
- return l !== s.e && k(o, s.e = l), m !== s.t && C(o, "max-width", s.t = m), s;
524
+ var o = lt();
525
+ return h(o, () => e.message), z((s) => {
526
+ var l = S("text-foreground/50", U.emptyState(t.size())), d = n() ? "100%" : "85%";
527
+ return l !== s.e && p(o, s.e = l), d !== s.t && M(o, "max-width", s.t = d), s;
528
528
  }, {
529
529
  e: void 0,
530
530
  t: void 0
531
531
  }), o;
532
532
  })();
533
533
  })(), null), h(r, (() => {
534
- var a = _(() => !!t.action);
534
+ var a = E(() => !!e.action);
535
535
  return () => a() && (() => {
536
- var o = ne();
537
- return h(o, () => t.action), o;
536
+ var o = ct();
537
+ return h(o, () => e.action), o;
538
538
  })();
539
- })(), null), M((a) => {
540
- var o = $("flex h-full w-full", n() ? "flex-row items-center justify-start" : "flex-col items-center justify-center text-center", t.class), s = W.S2(e.size()), l = W.container(e.size()), m = $("flex flex-col", n() ? "items-start text-left" : "items-center text-center"), d = W.S1(e.size());
541
- return o !== a.e && k(i, a.e = o), s !== a.t && C(i, "gap", a.t = s), l !== a.a && C(i, "padding", a.a = l), m !== a.o && k(r, a.o = m), d !== a.i && C(r, "gap", a.i = d), a;
539
+ })(), null), z((a) => {
540
+ var o = S("flex h-full w-full", n() ? "flex-row items-center justify-start" : "flex-col items-center justify-center text-center", e.class), s = I.S2(t.size()), l = I.container(t.size()), d = S("flex flex-col", n() ? "items-start text-left" : "items-center text-center"), c = I.S1(t.size());
541
+ return o !== a.e && p(i, a.e = o), s !== a.t && M(i, "gap", a.t = s), l !== a.a && M(i, "padding", a.a = l), d !== a.o && p(r, a.o = d), c !== a.i && M(r, "gap", a.i = c), a;
542
542
  }, {
543
543
  e: void 0,
544
544
  t: void 0,
@@ -548,49 +548,49 @@ function re(t) {
548
548
  }), i;
549
549
  })();
550
550
  }
551
- function ie(t) {
552
- const e = t.match(/hsl\(\s*([\d.]+)\s*,\s*([\d.]+)%?\s*,\s*([\d.]+)%?\s*\)/);
553
- return e ? { h: Number(e[1]), s: Number(e[2]), l: Number(e[3]) } : null;
551
+ function dt(e) {
552
+ const t = e.match(/hsl\(\s*([\d.]+)\s*,\s*([\d.]+)%?\s*,\s*([\d.]+)%?\s*\)/);
553
+ return t ? { h: Number(t[1]), s: Number(t[2]), l: Number(t[3]) } : null;
554
554
  }
555
- function ae(t) {
556
- const e = t.match(/rgb\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)/);
557
- return e ? wt(Number(e[1]), Number(e[2]), Number(e[3])) : null;
555
+ function gt(e) {
556
+ const t = e.match(/rgb\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)/);
557
+ return t ? Me(Number(t[1]), Number(t[2]), Number(t[3])) : null;
558
558
  }
559
- function oe(t) {
560
- const e = t.match(/^#([0-9a-f]{3,8})$/i);
561
- if (!e) return null;
562
- let n = e[1];
559
+ function mt(e) {
560
+ const t = e.match(/^#([0-9a-f]{3,8})$/i);
561
+ if (!t) return null;
562
+ let n = t[1];
563
563
  n.length === 3 && (n = n[0] + n[0] + n[1] + n[1] + n[2] + n[2]);
564
564
  const i = Number.parseInt(n.slice(0, 2), 16), r = Number.parseInt(n.slice(2, 4), 16), a = Number.parseInt(n.slice(4, 6), 16);
565
- return wt(i, r, a);
565
+ return Me(i, r, a);
566
566
  }
567
- function wt(t, e, n) {
568
- t /= 255, e /= 255, n /= 255;
569
- const i = Math.max(t, e, n), r = Math.min(t, e, n), a = (i + r) / 2;
567
+ function Me(e, t, n) {
568
+ e /= 255, t /= 255, n /= 255;
569
+ const i = Math.max(e, t, n), r = Math.min(e, t, n), a = (i + r) / 2;
570
570
  if (i === r) return { h: 0, s: 0, l: a * 100 };
571
571
  const o = i - r, s = a > 0.5 ? o / (2 - i - r) : o / (i + r);
572
572
  let l = 0;
573
- return i === t ? l = ((e - n) / o + (e < n ? 6 : 0)) / 6 : i === e ? l = ((n - t) / o + 2) / 6 : l = ((t - e) / o + 4) / 6, { h: l * 360, s: s * 100, l: a * 100 };
573
+ return i === e ? l = ((t - n) / o + (t < n ? 6 : 0)) / 6 : i === t ? l = ((n - e) / o + 2) / 6 : l = ((e - t) / o + 4) / 6, { h: l * 360, s: s * 100, l: a * 100 };
574
574
  }
575
- function se(t) {
576
- return ie(t) ?? ae(t) ?? oe(t);
575
+ function ft(e) {
576
+ return dt(e) ?? gt(e) ?? mt(e);
577
577
  }
578
- function mt(t, e, n, i) {
579
- const r = Math.round(t), a = Math.round(Math.min(100, Math.max(0, e))), o = Math.round(Math.min(100, Math.max(0, n)));
578
+ function ye(e, t, n, i) {
579
+ const r = Math.round(e), a = Math.round(Math.min(100, Math.max(0, t))), o = Math.round(Math.min(100, Math.max(0, n)));
580
580
  return i !== void 0 && i < 1 ? `hsla(${r}, ${a}%, ${o}%, ${i})` : `hsl(${r}, ${a}%, ${o}%)`;
581
581
  }
582
- function le(t) {
583
- const e = se(t);
584
- if (!e) return null;
585
- const { h: n, s: i, l: r } = e;
582
+ function ht(e) {
583
+ const t = ft(e);
584
+ if (!t) return null;
585
+ const { h: n, s: i, l: r } = t;
586
586
  let a, o = Math.min(i + 10, 100);
587
587
  r < 25 ? (a = r + 12, o = Math.min(i + 15, 100)) : r < 40 ? a = Math.max(r - 8, 15) : a = Math.max(18, r * 0.3), i < 15 && (o = 10, a = Math.max(a, 20));
588
- const s = mt(n, o, a, 0.85), l = mt(n, Math.min(i, 90), Math.min(r, 55), 0.5);
588
+ const s = ye(n, o, a, 0.85), l = ye(n, Math.min(i, 90), Math.min(r, 55), 0.5);
589
589
  return { background: s, glow: l };
590
590
  }
591
- var ce = /* @__PURE__ */ v('<div><div class="flex items-center justify-center text-foreground">'), ft = /* @__PURE__ */ v("<div>");
592
- function ue(t) {
593
- const e = G(), n = () => t.dynamicColor ? le(t.dynamicColor) : null, i = () => !!n(), r = () => {
591
+ var xt = /* @__PURE__ */ w('<div><div class="flex items-center justify-center text-foreground">'), we = /* @__PURE__ */ w("<div>");
592
+ function vt(e) {
593
+ const t = G(), n = () => e.dynamicColor ? ht(e.dynamicColor) : null, i = () => !!n(), r = () => {
594
594
  const l = n();
595
595
  if (l)
596
596
  return {
@@ -604,61 +604,61 @@ function ue(t) {
604
604
  };
605
605
  }, o = () => {
606
606
  const l = {
607
- width: `${W.icon(e.size())}px`,
608
- height: `${W.icon(e.size())}px`,
607
+ width: `${I.icon(t.size())}px`,
608
+ height: `${I.icon(t.size())}px`,
609
609
  "border-radius": "var(--radius-sm, 12px)"
610
- }, m = r(), d = a();
611
- return m && Object.assign(l, m), d && Object.assign(l, d), l;
612
- }, s = (l, m, d) => {
613
- const x = {
614
- width: `${W.icon(e.size()) * 1.02}px`,
615
- height: `${W.icon(e.size()) * 1.02}px`,
610
+ }, d = r(), c = a();
611
+ return d && Object.assign(l, d), c && Object.assign(l, c), l;
612
+ }, s = (l, d, c) => {
613
+ const b = {
614
+ width: `${I.icon(t.size()) * 1.02}px`,
615
+ height: `${I.icon(t.size()) * 1.02}px`,
616
616
  "border-radius": "var(--radius-sm, 12px)",
617
- bottom: `${-W.icon(e.size()) * l}px`,
618
- right: `${-W.icon(e.size()) * (l * 0.71)}px`,
619
- "z-index": m,
620
- opacity: d
621
- }, p = r();
622
- return p && Object.assign(x, p), x;
617
+ bottom: `${-I.icon(t.size()) * l}px`,
618
+ right: `${-I.icon(t.size()) * (l * 0.71)}px`,
619
+ "z-index": d,
620
+ opacity: c
621
+ }, C = r();
622
+ return C && Object.assign(b, C), b;
623
623
  };
624
624
  return (() => {
625
- var l = ce(), m = l.firstChild;
625
+ var l = xt(), d = l.firstChild;
626
626
  return h(l, (() => {
627
- var d = _(() => (t.entityCount ?? 1) >= 2);
628
- return () => d() && (() => {
629
- var x = ft();
630
- return M((p) => {
631
- var c = $("absolute", !i() && (t.color ?? "bg-foreground/10")), u = s(0.14, -2, 0.45);
632
- return c !== p.e && k(x, p.e = c), p.t = et(x, u, p.t), p;
627
+ var c = E(() => (e.entityCount ?? 1) >= 2);
628
+ return () => c() && (() => {
629
+ var b = we();
630
+ return z((C) => {
631
+ var f = S("absolute", !i() && (e.color ?? "bg-foreground/10")), v = s(0.14, -2, 0.45);
632
+ return f !== C.e && p(b, C.e = f), C.t = oe(b, v, C.t), C;
633
633
  }, {
634
634
  e: void 0,
635
635
  t: void 0
636
- }), x;
636
+ }), b;
637
637
  })();
638
- })(), m), h(l, (() => {
639
- var d = _(() => (t.entityCount ?? 1) >= 3);
640
- return () => d() && (() => {
641
- var x = ft();
642
- return M((p) => {
643
- var c = $("absolute", !i() && (t.color ?? "bg-foreground/10")), u = s(0.28, -3, 0.2);
644
- return c !== p.e && k(x, p.e = c), p.t = et(x, u, p.t), p;
638
+ })(), d), h(l, (() => {
639
+ var c = E(() => (e.entityCount ?? 1) >= 3);
640
+ return () => c() && (() => {
641
+ var b = we();
642
+ return z((C) => {
643
+ var f = S("absolute", !i() && (e.color ?? "bg-foreground/10")), v = s(0.28, -3, 0.2);
644
+ return f !== C.e && p(b, C.e = f), C.t = oe(b, v, C.t), C;
645
645
  }, {
646
646
  e: void 0,
647
647
  t: void 0
648
- }), x;
648
+ }), b;
649
649
  })();
650
- })(), m), h(m, () => t.icon), M((d) => {
651
- var x = $(
650
+ })(), d), h(d, () => e.icon), z((c) => {
651
+ var b = S(
652
652
  "relative flex shrink-0 items-center justify-center transition-all",
653
653
  "pointer-events-none",
654
- t.dimmed && "opacity-50",
654
+ e.dimmed && "opacity-50",
655
655
  // Only apply Tailwind classes when not using dynamic colors
656
- !i() && t.glow && "shadow-[0_0_25px]",
657
- !i() && (t.color ?? "bg-foreground/10"),
658
- !i() && t.glow,
659
- t.class
660
- ), p = o(), c = `${W.iconSize(e.size())}px`;
661
- return x !== d.e && k(l, d.e = x), d.t = et(l, p, d.t), c !== d.a && C(m, "font-size", d.a = c), d;
656
+ !i() && e.glow && "shadow-[0_0_25px]",
657
+ !i() && (e.color ?? "bg-foreground/10"),
658
+ !i() && e.glow,
659
+ e.class
660
+ ), C = o(), f = `${I.iconSize(t.size())}px`;
661
+ return b !== c.e && p(l, c.e = b), c.t = oe(l, C, c.t), f !== c.a && M(d, "font-size", c.a = f), c;
662
662
  }, {
663
663
  e: void 0,
664
664
  t: void 0,
@@ -666,36 +666,36 @@ function ue(t) {
666
666
  }), l;
667
667
  })();
668
668
  }
669
- var de = /* @__PURE__ */ v("<div>"), ge = /* @__PURE__ */ v("<div><div><span></span></div><div>"), me = /* @__PURE__ */ v("<span class=shrink-0>"), fe = /* @__PURE__ */ v('<span class="ml-1 text-foreground/70">');
670
- function he(t) {
671
- const e = G(), n = () => {
672
- const i = t.direction ?? "auto";
673
- return i === "auto" ? e.orientation() === "horizontal" ? "horizontal" : "vertical" : i;
669
+ var bt = /* @__PURE__ */ w("<div>"), yt = /* @__PURE__ */ w("<div><div><span></span></div><div>"), wt = /* @__PURE__ */ w("<span class=shrink-0>"), $t = /* @__PURE__ */ w('<span class="ml-1 text-foreground/70">');
670
+ function kt(e) {
671
+ const t = G(), n = () => {
672
+ const i = e.direction ?? "auto";
673
+ return i === "auto" ? t.orientation() === "horizontal" ? "horizontal" : "vertical" : i;
674
674
  };
675
675
  return (() => {
676
- var i = de();
677
- return h(i, () => t.children), M(() => k(i, $("flex", n() === "horizontal" ? "flex-row gap-4" : "flex-col gap-2", t.class))), i;
676
+ var i = bt();
677
+ return h(i, () => e.children), z(() => p(i, S("flex", n() === "horizontal" ? "flex-row gap-4" : "flex-col gap-2", e.class))), i;
678
678
  })();
679
679
  }
680
- function xe(t) {
681
- const e = G();
680
+ function St(e) {
681
+ const t = G();
682
682
  return (() => {
683
- var n = ge(), i = n.firstChild, r = i.firstChild, a = i.nextSibling;
683
+ var n = yt(), i = n.firstChild, r = i.firstChild, a = i.nextSibling;
684
684
  return h(i, (() => {
685
- var o = _(() => !!t.icon);
685
+ var o = E(() => !!e.icon);
686
686
  return () => o() && (() => {
687
- var s = me();
688
- return h(s, () => t.icon), s;
687
+ var s = wt();
688
+ return h(s, () => e.icon), s;
689
689
  })();
690
- })(), r), h(r, () => t.label), h(a, () => t.value, null), h(a, (() => {
691
- var o = _(() => !!t.unit);
690
+ })(), r), h(r, () => e.label), h(a, () => e.value, null), h(a, (() => {
691
+ var o = E(() => !!e.unit);
692
692
  return () => o() && (() => {
693
- var s = fe();
694
- return h(s, () => t.unit), s;
693
+ var s = $t();
694
+ return h(s, () => e.unit), s;
695
695
  })();
696
- })(), null), M((o) => {
697
- var s = $("flex flex-col", t.dimmed && "opacity-50", t.class), l = W.S1(e.size()), m = $("flex items-center gap-1 text-foreground/60", j.metricLabel(e.size())), d = $("font-semibold text-foreground", j.metricValue(e.size()));
698
- return s !== o.e && k(n, o.e = s), l !== o.t && C(n, "gap", o.t = l), m !== o.a && k(i, o.a = m), d !== o.o && k(a, o.o = d), o;
696
+ })(), null), z((o) => {
697
+ var s = S("flex flex-col", e.dimmed && "opacity-50", e.class), l = I.S1(t.size()), d = S("flex items-center gap-1 text-foreground/60", U.metricLabel(t.size())), c = S("font-semibold text-foreground", U.metricValue(t.size()));
698
+ return s !== o.e && p(n, o.e = s), l !== o.t && M(n, "gap", o.t = l), d !== o.a && p(i, o.a = d), c !== o.o && p(a, o.o = c), o;
699
699
  }, {
700
700
  e: void 0,
701
701
  t: void 0,
@@ -704,47 +704,47 @@ function xe(t) {
704
704
  }), n;
705
705
  })();
706
706
  }
707
- const $t = he;
708
- $t.Item = xe;
709
- var ve = /* @__PURE__ */ v("<p>");
710
- function be(t) {
711
- const e = G();
707
+ const ze = kt;
708
+ ze.Item = St;
709
+ var pt = /* @__PURE__ */ w("<p>");
710
+ function Ct(e) {
711
+ const t = G();
712
712
  return (() => {
713
- var n = ve();
713
+ var n = pt();
714
714
  return h(n, (() => {
715
- var i = _(() => !!t.isUnavailable);
716
- return () => i() ? "Unavailable" : t.children;
717
- })()), M((i) => {
718
- var r = $("relative font-bold text-foreground", t.dimmed && "opacity-40", j.status(e.size()), t.class), a = F.ACTIONS;
719
- return r !== i.e && k(n, i.e = r), a !== i.t && C(n, "z-index", i.t = a), i;
715
+ var i = E(() => !!e.isUnavailable);
716
+ return () => i() ? "Unavailable" : e.children;
717
+ })()), z((i) => {
718
+ var r = S("relative font-bold text-foreground", e.dimmed && "opacity-40", U.status(t.size()), e.class), a = Y.ACTIONS;
719
+ return r !== i.e && p(n, i.e = r), a !== i.t && M(n, "z-index", i.t = a), i;
720
720
  }, {
721
721
  e: void 0,
722
722
  t: void 0
723
723
  }), n;
724
724
  })();
725
725
  }
726
- var ye = /* @__PURE__ */ v("<p>");
727
- function we(t) {
728
- const e = G();
726
+ var Mt = /* @__PURE__ */ w("<p>");
727
+ function zt(e) {
728
+ const t = G();
729
729
  return (() => {
730
- var n = ye();
731
- return h(n, () => t.children), M(() => k(n, $("truncate font-medium text-foreground/80", t.dimmed && "text-foreground/50", j.subtitle(e.size()), t.class))), n;
730
+ var n = Mt();
731
+ return h(n, () => e.children), z(() => p(n, S("truncate font-medium text-foreground/80", e.dimmed && "text-foreground/50", U.subtitle(t.size()), e.class))), n;
732
732
  })();
733
733
  }
734
- var $e = /* @__PURE__ */ v("<div><h3>"), ke = /* @__PURE__ */ v("<span>");
735
- function pe(t) {
736
- const e = G();
734
+ var Dt = /* @__PURE__ */ w("<div><h3>"), _t = /* @__PURE__ */ w("<span>");
735
+ function Et(e) {
736
+ const t = G();
737
737
  return (() => {
738
- var n = $e(), i = n.firstChild;
739
- return h(i, () => t.children), h(n, (() => {
740
- var r = _(() => t.badge !== void 0 && t.badge > 0);
738
+ var n = Dt(), i = n.firstChild;
739
+ return h(i, () => e.children), h(n, (() => {
740
+ var r = E(() => e.badge !== void 0 && e.badge > 0);
741
741
  return () => r() && (() => {
742
- var a = ke();
743
- return h(a, () => t.badge), M(() => k(a, $("shrink-0 rounded-full bg-foreground/20 px-2 py-0.5 font-medium text-foreground", j.badge(e.size())))), a;
742
+ var a = _t();
743
+ return h(a, () => e.badge), z(() => p(a, S("shrink-0 rounded-full bg-foreground/20 px-2 py-0.5 font-medium text-foreground", U.badge(t.size())))), a;
744
744
  })();
745
- })(), null), M((r) => {
746
- var a = $("relative flex items-center", t.class), o = W.S1(e.size()), s = F.ACTIONS, l = $("truncate text-foreground/60", j.title(e.size()));
747
- return a !== r.e && k(n, r.e = a), o !== r.t && C(n, "gap", r.t = o), s !== r.a && C(n, "z-index", r.a = s), l !== r.o && k(i, r.o = l), r;
745
+ })(), null), z((r) => {
746
+ var a = S("relative flex items-center", e.class), o = I.S1(t.size()), s = Y.ACTIONS, l = S("truncate text-foreground/60", U.title(t.size()));
747
+ return a !== r.e && p(n, r.e = a), o !== r.t && M(n, "gap", r.t = o), s !== r.a && M(n, "z-index", r.a = s), l !== r.o && p(i, r.o = l), r;
748
748
  }, {
749
749
  e: void 0,
750
750
  t: void 0,
@@ -753,15 +753,15 @@ function pe(t) {
753
753
  }), n;
754
754
  })();
755
755
  }
756
- function On(t) {
756
+ function Pn(e) {
757
757
  return {
758
- icon: t.icon,
759
- title: t.title,
760
- message: t.message || `Configure this widget to add ${t.entityType || "an entity"}`
758
+ icon: e.icon,
759
+ title: e.title,
760
+ message: e.message || `Configure this widget to add ${e.entityType || "an entity"}`
761
761
  };
762
762
  }
763
- function Se(t, e = !1) {
764
- if (t.length === 0)
763
+ function At(e, t = !1) {
764
+ if (e.length === 0)
765
765
  return {
766
766
  isGroup: !1,
767
767
  state: "unknown",
@@ -774,28 +774,28 @@ function Se(t, e = !1) {
774
774
  totalCount: 0,
775
775
  description: "No entities"
776
776
  };
777
- const n = t.length > 1;
777
+ const n = e.length > 1;
778
778
  if (!n) {
779
- const z = t[0], S = z.state === "on", E = z.attributes?.brightness || 0, I = Math.round(E / 255 * 100);
779
+ const O = e[0], P = O.state === "on", H = O.attributes?.brightness || 0, m = Math.round(H / 255 * 100);
780
780
  return {
781
781
  isGroup: !1,
782
- state: z.state,
783
- isOn: S,
784
- isUnavailable: z.state === "unavailable",
785
- brightness: E,
786
- brightnessPercent: I,
787
- color: ht(z),
788
- onCount: S ? 1 : 0,
782
+ state: O.state,
783
+ isOn: P,
784
+ isUnavailable: O.state === "unavailable",
785
+ brightness: H,
786
+ brightnessPercent: m,
787
+ color: $e(O),
788
+ onCount: P ? 1 : 0,
789
789
  totalCount: 1,
790
- description: S ? "On" : "Off"
790
+ description: P ? "On" : "Off"
791
791
  };
792
792
  }
793
793
  let i = 0, r = 0, a = 0, o = 0, s = 0, l = 0;
794
- const m = [];
795
- for (const z of t)
796
- switch (z.state) {
794
+ const d = [];
795
+ for (const O of e)
796
+ switch (O.state) {
797
797
  case "on":
798
- i++, z.attributes?.brightness !== void 0 && (s += z.attributes.brightness, l++), z.attributes?.rgb_color && m.push(z.attributes.rgb_color);
798
+ i++, O.attributes?.brightness !== void 0 && (s += O.attributes.brightness, l++), O.attributes?.rgb_color && d.push(O.attributes.rgb_color);
799
799
  break;
800
800
  case "off":
801
801
  r++;
@@ -807,32 +807,32 @@ function Se(t, e = !1) {
807
807
  o++;
808
808
  break;
809
809
  }
810
- const d = t.length, x = o === d, p = a + o === d, c = i > 0, u = i === d, b = r === d;
811
- let y, O;
812
- e ? x ? (y = "unavailable", O = !1) : a > 0 || o > 0 ? (y = "unknown", O = !1) : r > 0 ? (y = "off", O = !1) : (y = "on", O = !0) : x ? (y = "unavailable", O = !1) : p ? (y = "unknown", O = !1) : c ? (y = "on", O = !0) : (y = "off", O = !1);
813
- const P = l > 0 ? Math.round(s / l) : 0, w = Math.round(P / 255 * 100);
814
- let N;
815
- if (m.length > 0) {
816
- const z = Math.round(m.reduce((g, R) => g + R[0], 0) / m.length), S = Math.round(m.reduce((g, R) => g + R[1], 0) / m.length), E = Math.round(m.reduce((g, R) => g + R[2], 0) / m.length), I = P / 255;
817
- N = `rgb(${Math.round(z * I)}, ${Math.round(S * I)}, ${Math.round(E * I)})`;
810
+ const c = e.length, b = o === c, C = a + o === c, f = i > 0, v = i === c, V = r === c;
811
+ let N, R;
812
+ t ? b ? (N = "unavailable", R = !1) : a > 0 || o > 0 ? (N = "unknown", R = !1) : r > 0 ? (N = "off", R = !1) : (N = "on", R = !0) : b ? (N = "unavailable", R = !1) : C ? (N = "unknown", R = !1) : f ? (N = "on", R = !0) : (N = "off", R = !1);
813
+ const x = l > 0 ? Math.round(s / l) : 0, y = Math.round(x / 255 * 100);
814
+ let $;
815
+ if (d.length > 0) {
816
+ const O = Math.round(d.reduce((u, W) => u + W[0], 0) / d.length), P = Math.round(d.reduce((u, W) => u + W[1], 0) / d.length), H = Math.round(d.reduce((u, W) => u + W[2], 0) / d.length), m = x / 255;
817
+ $ = `rgb(${Math.round(O * m)}, ${Math.round(P * m)}, ${Math.round(H * m)})`;
818
818
  } else
819
- N = ht(t[0]);
820
- let T;
821
- return u ? T = "All on" : b ? T = "All off" : i > 0 ? T = `${i} of ${d} on` : T = "Off", {
819
+ $ = $e(e[0]);
820
+ let D;
821
+ return v ? D = "All on" : V ? D = "All off" : i > 0 ? D = `${i} of ${c} on` : D = "Off", {
822
822
  isGroup: n,
823
- state: y,
824
- isOn: O,
825
- isUnavailable: y === "unavailable",
826
- brightness: P,
827
- brightnessPercent: w,
828
- color: N,
823
+ state: N,
824
+ isOn: R,
825
+ isUnavailable: N === "unavailable",
826
+ brightness: x,
827
+ brightnessPercent: y,
828
+ color: $,
829
829
  onCount: i,
830
- totalCount: d,
831
- description: T
830
+ totalCount: c,
831
+ description: D
832
832
  };
833
833
  }
834
- function Ce(t, e = "mean", n = !0) {
835
- if (t.length === 0)
834
+ function Nt(e, t = "mean", n = !0) {
835
+ if (e.length === 0)
836
836
  return {
837
837
  isGroup: !1,
838
838
  state: "unknown",
@@ -840,43 +840,43 @@ function Ce(t, e = "mean", n = !0) {
840
840
  isUnavailable: !0,
841
841
  description: "No entities"
842
842
  };
843
- const i = t.length > 1;
843
+ const i = e.length > 1;
844
844
  if (!i) {
845
- const c = t[0], u = Number.parseFloat(c.state);
846
- let b = c.state;
847
- return Number.isNaN(u) || (b = Number.isInteger(u) ? u.toString() : u.toFixed(1)), {
845
+ const f = e[0], v = Number.parseFloat(f.state);
846
+ let V = f.state;
847
+ return Number.isNaN(v) || (V = Number.isInteger(v) ? v.toString() : v.toFixed(1)), {
848
848
  isGroup: !1,
849
- state: b,
850
- numericValue: Number.isNaN(u) ? null : u,
851
- isUnavailable: c.state === "unavailable",
852
- unit: c.unitOfMeasurement ?? void 0,
853
- description: b
849
+ state: V,
850
+ numericValue: Number.isNaN(v) ? null : v,
851
+ isUnavailable: f.state === "unavailable",
852
+ unit: f.unitOfMeasurement ?? void 0,
853
+ description: V
854
854
  };
855
855
  }
856
856
  const r = [], a = [];
857
857
  let o = 0, s;
858
- for (const c of t) {
859
- if (!s && c.unitOfMeasurement && (s = c.unitOfMeasurement), c.state === "unavailable") {
858
+ for (const f of e) {
859
+ if (!s && f.unitOfMeasurement && (s = f.unitOfMeasurement), f.state === "unavailable") {
860
860
  o++, a.push({
861
- entityId: c.id,
861
+ entityId: f.id,
862
862
  value: "unavailable",
863
- friendly_name: c.friendlyName
863
+ friendly_name: f.friendlyName
864
864
  });
865
865
  continue;
866
866
  }
867
- const u = Number.parseFloat(c.state);
868
- isNaN(u) ? n || a.push({
869
- entityId: c.id,
870
- value: c.state,
871
- friendly_name: c.friendlyName
872
- }) : (r.push(u), a.push({
873
- entityId: c.id,
874
- value: u,
875
- friendly_name: c.friendlyName
867
+ const v = Number.parseFloat(f.state);
868
+ isNaN(v) ? n || a.push({
869
+ entityId: f.id,
870
+ value: f.state,
871
+ friendly_name: f.friendlyName
872
+ }) : (r.push(v), a.push({
873
+ entityId: f.id,
874
+ value: v,
875
+ friendly_name: f.friendlyName
876
876
  }));
877
877
  }
878
- const l = o === t.length, m = r.length === 0;
879
- if (l || m)
878
+ const l = o === e.length, d = r.length === 0;
879
+ if (l || d)
880
880
  return {
881
881
  isGroup: i,
882
882
  state: l ? "unavailable" : "unknown",
@@ -886,297 +886,309 @@ function Ce(t, e = "mean", n = !0) {
886
886
  description: l ? "Unavailable" : "No numeric values",
887
887
  memberValues: a
888
888
  };
889
- let d, x;
890
- switch (e) {
889
+ let c, b;
890
+ switch (t) {
891
891
  case "min":
892
- d = Math.min(...r), x = "Minimum";
892
+ c = Math.min(...r), b = "Minimum";
893
893
  break;
894
894
  case "max":
895
- d = Math.max(...r), x = "Maximum";
895
+ c = Math.max(...r), b = "Maximum";
896
896
  break;
897
897
  case "mean":
898
- d = r.reduce((c, u) => c + u, 0) / r.length, x = "Average";
898
+ c = r.reduce((f, v) => f + v, 0) / r.length, b = "Average";
899
899
  break;
900
900
  case "median": {
901
- const c = [...r].sort((b, y) => b - y), u = Math.floor(c.length / 2);
902
- d = c.length % 2 === 0 ? (c[u - 1] + c[u]) / 2 : c[u], x = "Median";
901
+ const f = [...r].sort((V, N) => V - N), v = Math.floor(f.length / 2);
902
+ c = f.length % 2 === 0 ? (f[v - 1] + f[v]) / 2 : f[v], b = "Median";
903
903
  break;
904
904
  }
905
905
  case "sum":
906
- d = r.reduce((c, u) => c + u, 0), x = "Sum";
906
+ c = r.reduce((f, v) => f + v, 0), b = "Sum";
907
907
  break;
908
908
  case "last":
909
- d = r[r.length - 1], x = "Latest";
909
+ c = r[r.length - 1], b = "Latest";
910
910
  break;
911
911
  case "range":
912
- d = Math.max(...r) - Math.min(...r), x = "Range";
912
+ c = Math.max(...r) - Math.min(...r), b = "Range";
913
913
  break;
914
914
  case "product":
915
- d = r.reduce((c, u) => c * u, 1), x = "Product";
915
+ c = r.reduce((f, v) => f * v, 1), b = "Product";
916
916
  break;
917
917
  case "std_dev": {
918
- const c = r.reduce((b, y) => b + y, 0) / r.length, u = r.reduce((b, y) => b + (y - c) ** 2, 0) / r.length;
919
- d = Math.sqrt(u), x = "Std Dev";
918
+ const f = r.reduce((V, N) => V + N, 0) / r.length, v = r.reduce((V, N) => V + (N - f) ** 2, 0) / r.length;
919
+ c = Math.sqrt(v), b = "Std Dev";
920
920
  break;
921
921
  }
922
922
  default:
923
- d = r.reduce((c, u) => c + u, 0) / r.length, x = "Average";
923
+ c = r.reduce((f, v) => f + v, 0) / r.length, b = "Average";
924
924
  }
925
- const p = Number.isInteger(d) ? d.toString() : d.toFixed(1);
925
+ const C = Number.isInteger(c) ? c.toString() : c.toFixed(1);
926
926
  return {
927
927
  isGroup: i,
928
- state: p,
929
- numericValue: d,
928
+ state: C,
929
+ numericValue: c,
930
930
  isUnavailable: !1,
931
931
  unit: s,
932
- description: `${x} of ${r.length}`,
932
+ description: `${b} of ${r.length}`,
933
933
  memberValues: a
934
934
  };
935
935
  }
936
- function ht(t) {
937
- if (t.state !== "on") return "rgb(100, 100, 100)";
938
- const n = (t.attributes?.brightness ?? 255) / 255;
939
- if (t.attributes?.rgb_color) {
940
- const [i, r, a] = t.attributes.rgb_color;
936
+ function $e(e) {
937
+ if (e.state !== "on") return "rgb(100, 100, 100)";
938
+ const n = (e.attributes?.brightness ?? 255) / 255;
939
+ if (e.attributes?.rgb_color) {
940
+ const [i, r, a] = e.attributes.rgb_color;
941
941
  return `rgb(${Math.round(i * n)}, ${Math.round(r * n)}, ${Math.round(a * n)})`;
942
942
  }
943
- if (t.attributes?.color_temp) {
944
- const r = 1e6 / t.attributes.color_temp / 100;
943
+ if (e.attributes?.color_temp) {
944
+ const r = 1e6 / e.attributes.color_temp / 100;
945
945
  let a, o, s;
946
946
  return r <= 66 ? (a = 255, o = r <= 19 ? 0 : 99.4708025861 * Math.log(r - 10) - 161.1195681661, s = r <= 19 ? 0 : r <= 66 ? 138.5177312231 * Math.log(r - 10) - 305.0447927307 : 255) : (a = 329.698727446 * (r - 60) ** -0.1332047592, o = 288.1221695283 * (r - 60) ** -0.0755148492, s = 255), a = Math.max(0, Math.min(255, a)) * n, o = Math.max(0, Math.min(255, o)) * n, s = Math.max(0, Math.min(255, s)) * n, `rgb(${Math.round(a)}, ${Math.round(o)}, ${Math.round(s)})`;
947
947
  }
948
948
  return `rgb(${Math.round(255 * n)}, ${Math.round(220 * n)}, ${Math.round(180 * n)})`;
949
949
  }
950
- function Me(t) {
951
- return t ? t.state !== "unavailable" && t.state !== "unknown" : !1;
950
+ function Ot(e) {
951
+ return e ? e.state !== "unavailable" && e.state !== "unknown" : !1;
952
952
  }
953
- function ze(t) {
954
- if (!t) return !1;
955
- if (["on", "open", "locked", "home", "playing", "active"].includes(t.state))
953
+ function Tt(e) {
954
+ if (!e) return !1;
955
+ if (["on", "open", "locked", "home", "playing", "active"].includes(e.state))
956
956
  return !0;
957
- if (t.domain === "sensor") {
958
- const e = Number.parseFloat(t.state);
959
- return !isNaN(e) && e > 0;
957
+ if (e.domain === "sensor") {
958
+ const t = Number.parseFloat(e.state);
959
+ return !isNaN(t) && t > 0;
960
960
  }
961
961
  return !1;
962
962
  }
963
- function En(t, e = "unknown") {
964
- return t?.state ?? e;
963
+ function Hn(e, t = "unknown") {
964
+ return e?.state ?? t;
965
965
  }
966
- function Vn(t, e, n) {
967
- return t?.attributes ? t.attributes[e] ?? n : n;
966
+ function Bn(e, t, n) {
967
+ return e?.attributes ? e.attributes[t] ?? n : n;
968
968
  }
969
- function Wn(t, e) {
970
- return t.filter((n) => n.state === e).length;
969
+ function Ln(e, t) {
970
+ return e.filter((n) => n.state === t).length;
971
971
  }
972
- function In(t) {
973
- return t.filter(Me).length;
972
+ function jn(e) {
973
+ return e.filter(Ot).length;
974
974
  }
975
- function Rn(t) {
976
- return t.filter(ze).length;
975
+ function Fn(e) {
976
+ return e.filter(Tt).length;
977
977
  }
978
- function Gn(t, e) {
979
- return t.length > 0 && t.every((n) => n.state === e);
978
+ function Un(e, t) {
979
+ return e.length > 0 && e.every((n) => n.state === t);
980
980
  }
981
- function Hn(t, e) {
982
- return t.some((n) => n.state === e);
981
+ function Yn(e, t) {
982
+ return e.some((n) => n.state === t);
983
983
  }
984
- function De(t, e, n) {
984
+ function Vt(e, t, n) {
985
985
  const { decimals: i, scale: r = !0 } = n || {};
986
- if (typeof t == "string")
987
- return e ? `${t}${e}` : t;
988
- if (t == null || Number.isNaN(t))
989
- return e ? `--${e}` : "--";
990
- let a = t, o = e || "";
991
- r && e && (e === "W" || e === "kW" || e === "MW") && (t >= 1e6 ? (a = t / 1e6, o = "MW") : t >= 1e3 ? (a = t / 1e3, o = "kW") : o = "W"), r && e && (e === "B" || e === "KB" || e === "MB" || e === "GB") && (t >= 1073741824 ? (a = t / 1073741824, o = "GB") : t >= 1048576 ? (a = t / 1048576, o = "MB") : t >= 1024 ? (a = t / 1024, o = "KB") : o = "B");
986
+ if (typeof e == "string")
987
+ return t ? `${e}${t}` : e;
988
+ if (e == null || Number.isNaN(e))
989
+ return t ? `--${t}` : "--";
990
+ let a = e, o = t || "";
991
+ r && t && (t === "W" || t === "kW" || t === "MW") && (e >= 1e6 ? (a = e / 1e6, o = "MW") : e >= 1e3 ? (a = e / 1e3, o = "kW") : o = "W"), r && t && (t === "B" || t === "KB" || t === "MB" || t === "GB") && (e >= 1073741824 ? (a = e / 1073741824, o = "GB") : e >= 1048576 ? (a = e / 1048576, o = "MB") : e >= 1024 ? (a = e / 1024, o = "KB") : o = "B");
992
992
  let s;
993
- return i !== void 0 ? s = a.toFixed(i) : a !== t ? s = a.toFixed(1) : Number.isInteger(t) ? s = t.toString() : s = Number.parseFloat(t.toFixed(2)).toString(), o ? `${s}${o}` : s;
993
+ return i !== void 0 ? s = a.toFixed(i) : a !== e ? s = a.toFixed(1) : Number.isInteger(e) ? s = e.toString() : s = Number.parseFloat(e.toFixed(2)).toString(), o ? `${s}${o}` : s;
994
994
  }
995
- function _e(t, e) {
996
- return t == null || isNaN(t) ? null : e === "°C" ? t < 10 ? "Cold" : t < 18 ? "Cool" : t < 24 ? "Comfortable" : t < 28 ? "Warm" : "Hot" : e === "°F" ? t < 50 ? "Cold" : t < 64 ? "Cool" : t < 75 ? "Comfortable" : t < 82 ? "Warm" : "Hot" : e === "%" ? t < 20 ? "Very Low" : t < 40 ? "Low" : t < 60 ? "Medium" : t < 80 ? "High" : "Very High" : e === "ppm" ? t < 400 ? "Excellent" : t < 600 ? "Good" : t < 1e3 ? "Acceptable" : t < 1500 ? "Mediocre" : "Poor" : e === "lx" ? t < 50 ? "Dark" : t < 200 ? "Dim" : t < 500 ? "Moderate" : t < 1e3 ? "Bright" : "Very Bright" : e === "AQI" ? t <= 50 ? "Good" : t <= 100 ? "Moderate" : t <= 150 ? "Unhealthy for Sensitive" : t <= 200 ? "Unhealthy" : t <= 300 ? "Very Unhealthy" : "Hazardous" : e === "dB" ? t < 30 ? "Very Quiet" : t < 50 ? "Quiet" : t < 70 ? "Moderate" : t < 85 ? "Loud" : "Very Loud" : null;
995
+ function Wt(e, t) {
996
+ return e == null || isNaN(e) ? null : t === "°C" ? e < 10 ? "Cold" : e < 18 ? "Cool" : e < 24 ? "Comfortable" : e < 28 ? "Warm" : "Hot" : t === "°F" ? e < 50 ? "Cold" : e < 64 ? "Cool" : e < 75 ? "Comfortable" : e < 82 ? "Warm" : "Hot" : t === "%" ? e < 20 ? "Very Low" : e < 40 ? "Low" : e < 60 ? "Medium" : e < 80 ? "High" : "Very High" : t === "ppm" ? e < 400 ? "Excellent" : e < 600 ? "Good" : e < 1e3 ? "Acceptable" : e < 1500 ? "Mediocre" : "Poor" : t === "lx" ? e < 50 ? "Dark" : e < 200 ? "Dim" : e < 500 ? "Moderate" : e < 1e3 ? "Bright" : "Very Bright" : t === "AQI" ? e <= 50 ? "Good" : e <= 100 ? "Moderate" : e <= 150 ? "Unhealthy for Sensitive" : e <= 200 ? "Unhealthy" : e <= 300 ? "Very Unhealthy" : "Hazardous" : t === "dB" ? e < 30 ? "Very Quiet" : e < 50 ? "Quiet" : e < 70 ? "Moderate" : e < 85 ? "Loud" : "Very Loud" : null;
997
997
  }
998
- var Ae = /* @__PURE__ */ v("<div><div>"), Ne = /* @__PURE__ */ v("<div>");
999
- function Te(t) {
1000
- const e = G();
998
+ var It = /* @__PURE__ */ w("<div><div>"), Rt = /* @__PURE__ */ w("<div>");
999
+ function Gt(e) {
1000
+ const t = G();
1001
1001
  return (() => {
1002
- var n = Ae(), i = n.firstChild;
1003
- return h(i, () => De(t.value, t.unit)), h(n, (() => {
1004
- var r = _(() => !!(t.interpret && typeof t.value == "number"));
1002
+ var n = It(), i = n.firstChild;
1003
+ return h(i, () => Vt(e.value, e.unit)), h(n, (() => {
1004
+ var r = E(() => !!(e.interpret && typeof e.value == "number"));
1005
1005
  return () => r() && (() => {
1006
- var a = Ne();
1007
- return h(a, () => _e(t.value, t.unit)), M((o) => {
1008
- var s = $("text-foreground/60", j.subtitle(e.size())), l = W.S1(e.size());
1009
- return s !== o.e && k(a, o.e = s), l !== o.t && C(a, "margin-top", o.t = l), o;
1006
+ var a = Rt();
1007
+ return h(a, () => Wt(e.value, e.unit)), z((o) => {
1008
+ var s = S("text-foreground/60", U.subtitle(t.size())), l = I.S1(t.size());
1009
+ return s !== o.e && p(a, o.e = s), l !== o.t && M(a, "margin-top", o.t = l), o;
1010
1010
  }, {
1011
1011
  e: void 0,
1012
1012
  t: void 0
1013
1013
  }), a;
1014
1014
  })();
1015
- })(), null), M((r) => {
1016
- var a = $("flex flex-col", t.class), o = $("font-bold text-foreground", j.value(e.size()));
1017
- return a !== r.e && k(n, r.e = a), o !== r.t && k(i, r.t = o), r;
1015
+ })(), null), z((r) => {
1016
+ var a = S("flex flex-col", e.class), o = S("font-bold text-foreground", U.value(t.size()));
1017
+ return a !== r.e && p(n, r.e = a), o !== r.t && p(i, r.t = o), r;
1018
1018
  }, {
1019
1019
  e: void 0,
1020
1020
  t: void 0
1021
1021
  }), n;
1022
1022
  })();
1023
1023
  }
1024
- var Oe = /* @__PURE__ */ v('<div><div><div class="relative h-full w-full">'), Ee = /* @__PURE__ */ v('<div class="pointer-events-none absolute inset-0"><div>'), Ve = /* @__PURE__ */ v('<div class="pointer-events-none absolute inset-0 animate-pulse bg-blue-500/20">'), We = /* @__PURE__ */ v('<div class="flex h-full w-full flex-col items-center justify-center gap-2 text-center">'), Ie = /* @__PURE__ */ v('<div class="flex items-center justify-center text-white/30">'), Re = /* @__PURE__ */ v('<h3 class="font-semibold text-sm text-white/60">'), Ge = /* @__PURE__ */ v('<p class="text-white/50 text-xs">');
1025
- function He(t, e) {
1026
- const n = t * e;
1024
+ var Pt = /* @__PURE__ */ w('<div><div><div class="relative h-full w-full">'), Ht = /* @__PURE__ */ w('<div class="pointer-events-none absolute inset-0"><div>'), Bt = /* @__PURE__ */ w('<div class="pointer-events-none absolute inset-0 animate-pulse bg-blue-500/20">'), Lt = /* @__PURE__ */ w('<div class="flex h-full w-full flex-col items-center justify-center gap-2 text-center">'), jt = /* @__PURE__ */ w('<div class="flex items-center justify-center text-white/30">'), Ft = /* @__PURE__ */ w('<h3 class="font-semibold text-sm text-white/60">'), Ut = /* @__PURE__ */ w('<p class="text-white/50 text-xs">');
1025
+ function Yt(e, t) {
1026
+ const n = e * t;
1027
1027
  return n <= 2 ? "xs" : n <= 4 ? "sm" : n <= 8 ? "md" : n <= 18 ? "lg" : "xl";
1028
1028
  }
1029
- function Be(t, e) {
1030
- return t > e ? "horizontal" : e > t ? "vertical" : "square";
1029
+ function Xt(e, t) {
1030
+ return e > t ? "horizontal" : t > e ? "vertical" : "square";
1031
1031
  }
1032
- function Le(t, e) {
1033
- return e >= 150 ? "vertical" : t > e ? "horizontal" : e > t ? "vertical" : "square";
1032
+ function Kt(e, t) {
1033
+ return t >= 150 ? "vertical" : e > t ? "horizontal" : t > e ? "vertical" : "square";
1034
1034
  }
1035
- function je(t) {
1036
- let e;
1037
- const n = _t(() => e), i = 2, [r, a] = L(0), [o, s] = L(0);
1038
- Y(() => {
1039
- const w = Math.round(n.width ?? 0), N = Math.round(n.height ?? 0), T = dt(r), z = dt(o);
1040
- (Math.abs(w - T) > i || Math.abs(N - z) > i) && (a(w), s(N));
1035
+ function qt(e) {
1036
+ let t;
1037
+ const n = We(() => t), i = 2, [r, a] = F(0), [o, s] = F(0);
1038
+ K(() => {
1039
+ const m = Math.round(n.width ?? 0), u = Math.round(n.height ?? 0), W = ve(r), k = ve(o);
1040
+ (Math.abs(m - W) > i || Math.abs(u - k) > i) && (a(m), s(u));
1041
1041
  });
1042
1042
  const l = A(() => {
1043
- if (t.variant)
1044
- return typeof t.variant == "string" ? Gt(t.variant) : t.variant;
1045
- }), m = A(() => ({
1043
+ if (e.variant)
1044
+ return typeof e.variant == "string" ? Ue(e.variant) : e.variant;
1045
+ }), d = A(() => ({
1046
1046
  width: r(),
1047
1047
  height: o(),
1048
1048
  gridWidth: Math.max(1, Math.round(r() / 150)),
1049
1049
  gridHeight: Math.max(1, Math.round(o() / 75))
1050
1050
  }), void 0, {
1051
- equals: (w, N) => w.width === N.width && w.height === N.height && w.gridWidth === N.gridWidth && w.gridHeight === N.gridHeight
1052
- }), d = A(() => {
1053
- const w = m();
1054
- return He(w.gridWidth, w.gridHeight);
1055
- }), x = A(() => {
1056
- const w = m();
1057
- return Be(w.width, w.height);
1058
- }), p = A(() => {
1059
- const w = m();
1060
- return Le(w.width, w.height);
1061
- }), c = vt(st), u = c;
1062
- u?._isStub?.() && u._bridge && (Y(() => {
1063
- u._bridge.setSize(d());
1064
- }), Y(() => {
1065
- u._bridge.setOrientation(x());
1066
- }), Y(() => {
1067
- u._bridge.setContentLayout(p());
1068
- }), Y(() => {
1069
- u._bridge.setDimensions(m());
1070
- }), Y(() => {
1071
- u._bridge.setIsStub(!1);
1051
+ equals: (m, u) => m.width === u.width && m.height === u.height && m.gridWidth === u.gridWidth && m.gridHeight === u.gridHeight
1052
+ }), c = A(() => {
1053
+ const m = d();
1054
+ return Yt(m.gridWidth, m.gridHeight);
1055
+ }), b = A(() => {
1056
+ const m = d();
1057
+ return Xt(m.width, m.height);
1058
+ }), C = A(() => {
1059
+ const m = d();
1060
+ return Kt(m.width, m.height);
1061
+ }), f = Se(me), v = f;
1062
+ v?._isStub?.() && v._bridge && (K(() => {
1063
+ v._bridge.setSize(c());
1064
+ }), K(() => {
1065
+ v._bridge.setOrientation(b());
1066
+ }), K(() => {
1067
+ v._bridge.setContentLayout(C());
1068
+ }), K(() => {
1069
+ v._bridge.setDimensions(d());
1070
+ }), K(() => {
1071
+ v._bridge.setIsStub(!1);
1072
1072
  }));
1073
- const b = {
1074
- size: d,
1075
- orientation: x,
1076
- contentLayout: p,
1077
- dimensions: m,
1078
- isEditMode: () => t.isEditMode ?? !1,
1079
- updateConfig: c?.updateConfig ?? (() => {
1073
+ const V = {
1074
+ size: c,
1075
+ orientation: b,
1076
+ contentLayout: C,
1077
+ dimensions: d,
1078
+ isEditMode: () => e.isEditMode ?? !1,
1079
+ updateConfig: f?.updateConfig ?? (() => {
1080
1080
  })
1081
- }, y = "bg-gradient-to-br from-gray-500/20 to-gray-600/20", O = A(() => t.emptyState && !t.gradient ? y : t.gradient), P = A(() => ({
1081
+ }, N = "bg-gradient-to-br from-gray-500/20 to-gray-600/20", R = A(() => e.emptyState && !e.gradient ? N : e.gradient), x = A(() => ({
1082
1082
  "container-type": "size",
1083
1083
  "container-name": "widget",
1084
1084
  ...l()?.styles?.container,
1085
1085
  ...l()?.styles?.cssVars || {}
1086
- }));
1087
- return V(st.Provider, {
1088
- value: b,
1086
+ })), y = () => !!e.gestures && !e.isEditMode, $ = (m) => {
1087
+ y() && e.gestures?.onPointerEnter(m);
1088
+ }, D = (m) => {
1089
+ y() && e.gestures?.onPointerDown(m);
1090
+ }, O = (m) => {
1091
+ y() && e.gestures?.onPointerMove(m);
1092
+ }, P = (m) => {
1093
+ y() && e.gestures?.onPointerUp(m);
1094
+ }, H = (m) => {
1095
+ y() && e.gestures?.onPointerCancel(m);
1096
+ };
1097
+ return T(me.Provider, {
1098
+ value: V,
1089
1099
  get children() {
1090
- var w = Oe(), N = w.firstChild, T = N.firstChild, z = e;
1091
- return typeof z == "function" ? Ct(z, w) : e = w, h(N, (() => {
1092
- var S = _(() => !!t.backgroundGlow);
1093
- return () => S() && (() => {
1094
- var E = Ee(), I = E.firstChild;
1095
- return M((g) => {
1096
- var R = F.BACKGROUND, H = $("absolute inset-0 opacity-20 blur-2xl", t.backgroundGlow);
1097
- return R !== g.e && C(E, "z-index", g.e = R), H !== g.t && k(I, g.t = H), g;
1100
+ var m = Pt(), u = m.firstChild, W = u.firstChild;
1101
+ return ne(m, "pointercancel", H), ne(m, "pointerup", P), ne(m, "pointermove", O), ne(m, "pointerdown", D), ne(m, "pointerenter", $), Ne((k) => {
1102
+ t = k, e.gestures?.bindElement(k);
1103
+ }, m), h(u, (() => {
1104
+ var k = E(() => !!e.backgroundGlow);
1105
+ return () => k() && (() => {
1106
+ var B = Ht(), Q = B.firstChild;
1107
+ return z((L) => {
1108
+ var J = Y.BACKGROUND, ue = S("absolute inset-0 opacity-20 blur-2xl", e.backgroundGlow);
1109
+ return J !== L.e && M(B, "z-index", L.e = J), ue !== L.t && p(Q, L.t = ue), L;
1098
1110
  }, {
1099
1111
  e: void 0,
1100
1112
  t: void 0
1101
- }), E;
1113
+ }), B;
1102
1114
  })();
1103
- })(), T), h(T, (() => {
1104
- var S = _(() => !!t.emptyState);
1105
- return () => S() ? V(Pe, {
1115
+ })(), W), h(W, (() => {
1116
+ var k = E(() => !!e.emptyState);
1117
+ return () => k() ? T(Jt, {
1106
1118
  get icon() {
1107
- return t.emptyState.icon;
1119
+ return e.emptyState.icon;
1108
1120
  },
1109
1121
  get title() {
1110
- return t.emptyState.title;
1122
+ return e.emptyState.title;
1111
1123
  },
1112
1124
  get message() {
1113
- return t.emptyState.message;
1125
+ return e.emptyState.message;
1114
1126
  }
1115
- }) : t.children;
1116
- })()), h(N, (() => {
1117
- var S = _(() => !!t.loading);
1118
- return () => S() && (() => {
1119
- var E = Ve();
1120
- return M((I) => C(E, "z-index", F.OVERLAY)), E;
1127
+ }) : e.children;
1128
+ })()), h(u, (() => {
1129
+ var k = E(() => !!e.loading);
1130
+ return () => k() && (() => {
1131
+ var B = Bt();
1132
+ return z((Q) => M(B, "z-index", Y.OVERLAY)), B;
1121
1133
  })();
1122
- })(), null), M((S) => {
1123
- var E = $(
1134
+ })(), null), z((k) => {
1135
+ var B = S(
1124
1136
  "relative h-full w-full select-none rounded-xl border border-border/50",
1125
1137
  // Variant styles (lowest priority)
1126
1138
  l()?.styles?.class,
1127
1139
  // Custom class (highest priority)
1128
- t.class
1129
- ), I = P(), g = $(
1140
+ e.class
1141
+ ), Q = x(), L = S(
1130
1142
  "relative h-full w-full overflow-hidden rounded-xl",
1131
1143
  // Gradient prop (overrides variant, auto-applied for empty state)
1132
- O()
1133
- ), R = F.CONTENT;
1134
- return E !== S.e && k(w, S.e = E), S.t = et(w, I, S.t), g !== S.a && k(N, S.a = g), R !== S.o && C(T, "z-index", S.o = R), S;
1144
+ R()
1145
+ ), J = Y.CONTENT;
1146
+ return B !== k.e && p(m, k.e = B), k.t = oe(m, Q, k.t), L !== k.a && p(u, k.a = L), J !== k.o && M(W, "z-index", k.o = J), k;
1135
1147
  }, {
1136
1148
  e: void 0,
1137
1149
  t: void 0,
1138
1150
  a: void 0,
1139
1151
  o: void 0
1140
- }), w;
1152
+ }), m;
1141
1153
  }
1142
1154
  });
1143
1155
  }
1144
- function Pe(t) {
1156
+ function Jt(e) {
1145
1157
  return (() => {
1146
- var e = We();
1147
- return h(e, (() => {
1148
- var n = _(() => !!t.icon);
1158
+ var t = Lt();
1159
+ return h(t, (() => {
1160
+ var n = E(() => !!e.icon);
1149
1161
  return () => n() && (() => {
1150
- var i = Ie();
1151
- return h(i, () => t.icon), i;
1162
+ var i = jt();
1163
+ return h(i, () => e.icon), i;
1152
1164
  })();
1153
- })(), null), h(e, (() => {
1154
- var n = _(() => !!t.title);
1165
+ })(), null), h(t, (() => {
1166
+ var n = E(() => !!e.title);
1155
1167
  return () => n() && (() => {
1156
- var i = Re();
1157
- return h(i, () => t.title), i;
1168
+ var i = Ft();
1169
+ return h(i, () => e.title), i;
1158
1170
  })();
1159
- })(), null), h(e, (() => {
1160
- var n = _(() => !!t.message);
1171
+ })(), null), h(t, (() => {
1172
+ var n = E(() => !!e.message);
1161
1173
  return () => n() && (() => {
1162
- var i = Ge();
1163
- return h(i, () => t.message), i;
1174
+ var i = Ut();
1175
+ return h(i, () => e.message), i;
1164
1176
  })();
1165
- })(), null), e;
1177
+ })(), null), t;
1166
1178
  })();
1167
1179
  }
1168
- const U = je;
1169
- U.Content = Jt;
1170
- U.Icon = ue;
1171
- U.Title = pe;
1172
- U.Subtitle = we;
1173
- U.Status = be;
1174
- U.Value = Te;
1175
- U.Metrics = $t;
1176
- U.EmptyState = re;
1177
- U.SliderFill = Yt;
1178
- var Fe = /* @__PURE__ */ v("<div><div>");
1179
- const Ue = {
1180
+ const X = qt;
1181
+ X.Content = it;
1182
+ X.Icon = vt;
1183
+ X.Title = Et;
1184
+ X.Subtitle = zt;
1185
+ X.Status = Ct;
1186
+ X.Value = Gt;
1187
+ X.Metrics = ze;
1188
+ X.EmptyState = ut;
1189
+ X.SliderFill = et;
1190
+ var Zt = /* @__PURE__ */ w("<div><div>");
1191
+ const Qt = {
1180
1192
  blue: "bg-blue-500/30",
1181
1193
  green: "bg-green-500/30",
1182
1194
  red: "bg-red-500/30",
@@ -1184,13 +1196,13 @@ const Ue = {
1184
1196
  purple: "bg-purple-500/30",
1185
1197
  gray: "bg-gray-500/30"
1186
1198
  };
1187
- function Bn(t) {
1188
- const e = () => Ue[t.color] ?? t.color;
1199
+ function Xn(e) {
1200
+ const t = () => Qt[e.color] ?? e.color;
1189
1201
  return (() => {
1190
- var n = Fe(), i = n.firstChild;
1191
- return M((r) => {
1192
- var a = $("pointer-events-none absolute inset-0", t.class), o = F.BACKGROUND, s = $("absolute inset-0 opacity-40 blur-3xl", e());
1193
- return a !== r.e && k(n, r.e = a), o !== r.t && C(n, "z-index", r.t = o), s !== r.a && k(i, r.a = s), r;
1202
+ var n = Zt(), i = n.firstChild;
1203
+ return z((r) => {
1204
+ var a = S("pointer-events-none absolute inset-0", e.class), o = Y.BACKGROUND, s = S("absolute inset-0 opacity-40 blur-3xl", t());
1205
+ return a !== r.e && p(n, r.e = a), o !== r.t && M(n, "z-index", r.t = o), s !== r.a && p(i, r.a = s), r;
1194
1206
  }, {
1195
1207
  e: void 0,
1196
1208
  t: void 0,
@@ -1198,55 +1210,55 @@ function Bn(t) {
1198
1210
  }), n;
1199
1211
  })();
1200
1212
  }
1201
- var Ye = /* @__PURE__ */ v("<div>");
1202
- function Ln(t) {
1203
- const e = G(), n = () => {
1204
- const i = t.spacing ?? "S2";
1205
- return W[i](e.size());
1213
+ var en = /* @__PURE__ */ w("<div>");
1214
+ function Kn(e) {
1215
+ const t = G(), n = () => {
1216
+ const i = e.spacing ?? "S2";
1217
+ return I[i](t.size());
1206
1218
  };
1207
1219
  return (() => {
1208
- var i = Ye();
1209
- return h(i, () => t.children), M((r) => {
1210
- var a = $("flex flex-col", t.class), o = n();
1211
- return a !== r.e && k(i, r.e = a), o !== r.t && C(i, "gap", r.t = o), r;
1220
+ var i = en();
1221
+ return h(i, () => e.children), z((r) => {
1222
+ var a = S("flex flex-col", e.class), o = n();
1223
+ return a !== r.e && p(i, r.e = a), o !== r.t && M(i, "gap", r.t = o), r;
1212
1224
  }, {
1213
1225
  e: void 0,
1214
1226
  t: void 0
1215
1227
  }), i;
1216
1228
  })();
1217
1229
  }
1218
- var Xe = /* @__PURE__ */ v('<span class="inline-flex size-3.5 shrink-0 items-center">'), Ke = /* @__PURE__ */ v("<button type=button>"), qe = /* @__PURE__ */ v('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z">'), Je = /* @__PURE__ */ v('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No edit options available'), Ze = /* @__PURE__ */ v('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><line x1=4 y1=21 x2=4 y2=14></line><line x1=4 y1=10 x2=4 y2=3></line><line x1=12 y1=21 x2=12 y2=12></line><line x1=12 y1=8 x2=12 y2=3></line><line x1=20 y1=21 x2=20 y2=16></line><line x1=20 y1=12 x2=20 y2=3></line><line x1=1 y1=14 x2=7 y2=14></line><line x1=9 y1=8 x2=15 y2=8></line><line x1=17 y1=16 x2=23 y2=16>'), Qe = /* @__PURE__ */ v('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No additional controls'), tn = /* @__PURE__ */ v('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4">'), en = /* @__PURE__ */ v('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No debug information available'), nn = /* @__PURE__ */ v('<div class="min-w-0 shrink-0">'), rn = /* @__PURE__ */ v('<div class="flex items-center gap-2"><div class="flex h-8 items-center rounded-lg border border-border/50 bg-muted/30 p-0.5">'), an = /* @__PURE__ */ v('<div class="min-h-0 flex-1 overflow-y-auto [scrollbar-gutter:stable]">'), on = /* @__PURE__ */ v('<div class="flex shrink-0 items-center justify-end gap-2 border-border/50 border-t pt-3">');
1219
- function sn(t) {
1230
+ var tn = /* @__PURE__ */ w('<span class="inline-flex size-3.5 shrink-0 items-center">'), nn = /* @__PURE__ */ w("<button type=button>"), rn = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"></path><path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z">'), an = /* @__PURE__ */ w('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No edit options available'), on = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><line x1=4 y1=21 x2=4 y2=14></line><line x1=4 y1=10 x2=4 y2=3></line><line x1=12 y1=21 x2=12 y2=12></line><line x1=12 y1=8 x2=12 y2=3></line><line x1=20 y1=21 x2=20 y2=16></line><line x1=20 y1=12 x2=20 y2=3></line><line x1=1 y1=14 x2=7 y2=14></line><line x1=9 y1=8 x2=15 y2=8></line><line x1=17 y1=16 x2=23 y2=16>'), sn = /* @__PURE__ */ w('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No additional controls'), ln = /* @__PURE__ */ w('<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 fill=none viewBox="0 0 24 24"stroke=currentColor stroke-width=2><path d="m8 2 1.88 1.88"></path><path d="M14.12 3.88 16 2"></path><path d="M9 7.13v-1a3.003 3.003 0 1 1 6 0v1"></path><path d="M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6"></path><path d="M12 20v-9"></path><path d="M6.53 9C4.6 8.8 3 7.1 3 5"></path><path d="M6 13H2"></path><path d="M3 21c0-2.1 1.7-3.9 3.8-4"></path><path d="M20.97 5c0 2.1-1.6 3.8-3.5 4"></path><path d="M22 13h-4"></path><path d="M17.2 17c2.1.1 3.8 1.9 3.8 4">'), cn = /* @__PURE__ */ w('<div class="rounded-lg bg-muted/30 p-2 text-center md:p-6"><p class="text-muted-foreground text-sm">No debug information available'), un = /* @__PURE__ */ w('<div class="min-w-0 shrink-0">'), dn = /* @__PURE__ */ w('<div class="flex items-center gap-2"><div class="flex h-8 items-center rounded-lg border border-border/50 bg-muted/30 p-0.5">'), gn = /* @__PURE__ */ w('<div class="min-h-0 flex-1 overflow-y-auto [scrollbar-gutter:stable]">'), mn = /* @__PURE__ */ w('<div class="flex shrink-0 items-center justify-end gap-2 border-border/50 border-t pt-3">');
1231
+ function fn(e) {
1220
1232
  return (() => {
1221
- var e = Ke();
1222
- return e.$$click = () => t.onClick(), h(e, V(J, {
1233
+ var t = nn();
1234
+ return t.$$click = () => e.onClick(), h(t, T(te, {
1223
1235
  get when() {
1224
- return t.isActive;
1236
+ return e.isActive;
1225
1237
  },
1226
1238
  get children() {
1227
- var n = Xe();
1228
- return h(n, () => t.icon), n;
1239
+ var n = tn();
1240
+ return h(n, () => e.icon), n;
1229
1241
  }
1230
- }), null), h(e, () => t.label, null), M(() => k(e, $("flex cursor-pointer items-center justify-center rounded-md px-3 py-1.5 text-xs transition-all duration-300 ease-in-out", t.isActive ? "gap-1.5 bg-foreground/10 font-semibold text-foreground shadow-sm" : "gap-0 text-muted-foreground hover:bg-foreground/5 hover:text-foreground"))), e;
1242
+ }), null), h(t, () => e.label, null), z(() => p(t, S("flex cursor-pointer items-center justify-center rounded-md px-3 py-1.5 text-xs transition-all duration-300 ease-in-out", e.isActive ? "gap-1.5 bg-foreground/10 font-semibold text-foreground shadow-sm" : "gap-0 text-muted-foreground hover:bg-foreground/5 hover:text-foreground"))), t;
1231
1243
  })();
1232
1244
  }
1233
- function jn(t) {
1234
- const [e] = St(t, ["open", "onOpenChange", "title", "onSave", "hasUnsavedChanges", "onDelete", "editContent", "controlsContent", "debugContent", "debugData", "tabs", "class", "maxWidth", "defaultTab", "headerActions", "configSchema", "config", "onConfigSave", "ResponsiveDialog", "ResponsiveDialogContent", "ResponsiveDialogHeader", "ResponsiveDialogTitle", "ResponsiveDialogDescription", "Button", "SchemaForm"]), n = () => !!e.configSchema && !!e.config && !!e.onConfigSave && !!e.SchemaForm, [i, r] = L({}), [a, o] = L(null);
1235
- Y(gt(() => e.config, (g) => {
1236
- g && r({
1237
- ...g
1245
+ function qn(e) {
1246
+ const [t] = Ae(e, ["open", "onOpenChange", "title", "onSave", "hasUnsavedChanges", "onDelete", "editContent", "controlsContent", "debugContent", "debugData", "tabs", "class", "maxWidth", "defaultTab", "headerActions", "configSchema", "config", "onConfigSave", "ResponsiveDialog", "ResponsiveDialogContent", "ResponsiveDialogHeader", "ResponsiveDialogTitle", "ResponsiveDialogDescription", "Button", "SchemaForm"]), n = () => !!t.configSchema && !!t.config && !!t.onConfigSave && !!t.SchemaForm, [i, r] = F({}), [a, o] = F(null);
1247
+ K(be(() => t.config, (u) => {
1248
+ u && r({
1249
+ ...u
1238
1250
  });
1239
- })), Y(gt(() => e.configSchema, (g) => {
1240
- g && o(bt(g));
1251
+ })), K(be(() => t.configSchema, (u) => {
1252
+ u && o(pe(u));
1241
1253
  }));
1242
- const s = () => n() && JSON.stringify(i()) !== JSON.stringify(e.config), l = (g) => {
1243
- !g && e.config && r({
1244
- ...e.config
1245
- }), e.onOpenChange(g);
1246
- }, m = () => {
1247
- e.onConfigSave?.(i());
1248
- }, [d, x] = L(e.defaultTab ?? "controls"), p = () => {
1249
- const g = e.maxWidth ?? "3xl";
1254
+ const s = () => n() && JSON.stringify(i()) !== JSON.stringify(t.config), l = (u) => {
1255
+ !u && t.config && r({
1256
+ ...t.config
1257
+ }), t.onOpenChange(u);
1258
+ }, d = () => {
1259
+ t.onConfigSave?.(i());
1260
+ }, [c, b] = F(t.defaultTab ?? "controls"), C = () => {
1261
+ const u = t.maxWidth ?? "3xl";
1250
1262
  return {
1251
1263
  sm: "max-w-sm",
1252
1264
  md: "max-w-md",
@@ -1255,15 +1267,15 @@ function jn(t) {
1255
1267
  "2xl": "max-w-2xl",
1256
1268
  "3xl": "max-w-3xl",
1257
1269
  "4xl": "max-w-4xl"
1258
- }[g];
1259
- }, c = () => {
1260
- if (e.tabs) return e.tabs;
1261
- const g = [];
1262
- return g.push({
1270
+ }[u];
1271
+ }, f = () => {
1272
+ if (t.tabs) return t.tabs;
1273
+ const u = [];
1274
+ return u.push({
1263
1275
  id: "edit",
1264
1276
  label: "Edit",
1265
- icon: qe(),
1266
- content: e.editContent ?? (n() && a() ? V(z, {
1277
+ icon: rn(),
1278
+ content: t.editContent ?? (n() && a() ? T(O, {
1267
1279
  get schema() {
1268
1280
  return a();
1269
1281
  },
@@ -1271,125 +1283,125 @@ function jn(t) {
1271
1283
  return i();
1272
1284
  },
1273
1285
  onChange: r
1274
- }) : Je())
1275
- }), g.push({
1286
+ }) : an())
1287
+ }), u.push({
1276
1288
  id: "controls",
1277
1289
  label: "Controls",
1278
- icon: Ze(),
1279
- content: e.controlsContent ?? Qe()
1280
- }), g.push({
1290
+ icon: on(),
1291
+ content: t.controlsContent ?? sn()
1292
+ }), u.push({
1281
1293
  id: "debug",
1282
1294
  label: "Debug",
1283
- icon: tn(),
1284
- content: e.debugContent ?? en()
1285
- }), g;
1286
- }, u = async () => {
1287
- if (e.debugData !== void 0)
1295
+ icon: ln(),
1296
+ content: t.debugContent ?? cn()
1297
+ }), u;
1298
+ }, v = async () => {
1299
+ if (t.debugData !== void 0)
1288
1300
  try {
1289
- const g = typeof e.debugData == "string" ? e.debugData : JSON.stringify(e.debugData, null, 2);
1290
- await navigator.clipboard.writeText(g);
1301
+ const u = typeof t.debugData == "string" ? t.debugData : JSON.stringify(t.debugData, null, 2);
1302
+ await navigator.clipboard.writeText(u);
1291
1303
  } catch {
1292
1304
  }
1293
- }, b = () => {
1294
- const g = c();
1295
- return g.find((H) => H.id === d())?.content ?? g[0]?.content;
1296
- }, y = e.ResponsiveDialog, O = e.ResponsiveDialogContent, P = e.ResponsiveDialogHeader, w = e.ResponsiveDialogTitle, N = e.ResponsiveDialogDescription, T = e.Button, z = e.SchemaForm, S = (g) => n() ? l(g) : e.onOpenChange(g), E = () => n() ? s() : e.hasUnsavedChanges, I = () => n() ? m : e.onSave;
1297
- return V(y, {
1305
+ }, V = () => {
1306
+ const u = f();
1307
+ return u.find((k) => k.id === c())?.content ?? u[0]?.content;
1308
+ }, N = t.ResponsiveDialog, R = t.ResponsiveDialogContent, x = t.ResponsiveDialogHeader, y = t.ResponsiveDialogTitle, $ = t.ResponsiveDialogDescription, D = t.Button, O = t.SchemaForm, P = (u) => n() ? l(u) : t.onOpenChange(u), H = () => n() ? s() : t.hasUnsavedChanges, m = () => n() ? d : t.onSave;
1309
+ return T(N, {
1298
1310
  get open() {
1299
- return e.open;
1311
+ return t.open;
1300
1312
  },
1301
- onOpenChange: (g) => S(g),
1313
+ onOpenChange: (u) => P(u),
1302
1314
  get children() {
1303
- return V(O, {
1315
+ return T(R, {
1304
1316
  get class() {
1305
- return $(p(), e.class);
1317
+ return S(C(), t.class);
1306
1318
  },
1307
1319
  get children() {
1308
- return [V(P, {
1320
+ return [T(x, {
1309
1321
  class: "flex flex-row items-center justify-between gap-3",
1310
1322
  get children() {
1311
1323
  return [(() => {
1312
- var g = nn();
1313
- return h(g, V(w, {
1324
+ var u = un();
1325
+ return h(u, T(y, {
1314
1326
  class: "truncate leading-tight",
1315
1327
  get children() {
1316
- return e.title;
1328
+ return t.title;
1317
1329
  }
1318
- }), null), h(g, V(N, {
1330
+ }), null), h(u, T($, {
1319
1331
  class: "sr-only",
1320
1332
  children: "Widget configuration dialog"
1321
- }), null), g;
1333
+ }), null), u;
1322
1334
  })(), (() => {
1323
- var g = rn(), R = g.firstChild;
1324
- return h(R, () => c().map((H) => V(sn, {
1335
+ var u = dn(), W = u.firstChild;
1336
+ return h(W, () => f().map((k) => T(fn, {
1325
1337
  get icon() {
1326
- return H.icon;
1338
+ return k.icon;
1327
1339
  },
1328
1340
  get label() {
1329
- return H.label;
1341
+ return k.label;
1330
1342
  },
1331
1343
  get isActive() {
1332
- return d() === H.id;
1344
+ return c() === k.id;
1333
1345
  },
1334
- onClick: () => x(H.id)
1335
- }))), h(g, V(J, {
1346
+ onClick: () => b(k.id)
1347
+ }))), h(u, T(te, {
1336
1348
  get when() {
1337
- return e.headerActions;
1349
+ return t.headerActions;
1338
1350
  },
1339
1351
  get children() {
1340
- return e.headerActions;
1352
+ return t.headerActions;
1341
1353
  }
1342
- }), null), g;
1354
+ }), null), u;
1343
1355
  })()];
1344
1356
  }
1345
1357
  }), (() => {
1346
- var g = an();
1347
- return h(g, b), g;
1348
- })(), V(J, {
1358
+ var u = gn();
1359
+ return h(u, V), u;
1360
+ })(), T(te, {
1349
1361
  get when() {
1350
- return _(() => d() === "edit")() && (I() || e.onDelete) || d() === "debug" && e.debugData !== void 0;
1362
+ return E(() => c() === "edit")() && (m() || t.onDelete) || c() === "debug" && t.debugData !== void 0;
1351
1363
  },
1352
1364
  get children() {
1353
- var g = on();
1354
- return h(g, V(J, {
1365
+ var u = mn();
1366
+ return h(u, T(te, {
1355
1367
  get when() {
1356
- return _(() => d() === "edit")() && e.onDelete;
1368
+ return E(() => c() === "edit")() && t.onDelete;
1357
1369
  },
1358
1370
  get children() {
1359
- return V(T, {
1371
+ return T(D, {
1360
1372
  size: "sm",
1361
1373
  variant: "destructive",
1362
- onClick: () => e.onDelete?.(),
1374
+ onClick: () => t.onDelete?.(),
1363
1375
  children: "Delete"
1364
1376
  });
1365
1377
  }
1366
- }), null), h(g, V(J, {
1378
+ }), null), h(u, T(te, {
1367
1379
  get when() {
1368
- return _(() => d() === "edit")() && I();
1380
+ return E(() => c() === "edit")() && m();
1369
1381
  },
1370
1382
  get children() {
1371
- return V(T, {
1383
+ return T(D, {
1372
1384
  size: "sm",
1373
1385
  get disabled() {
1374
- return !E();
1386
+ return !H();
1375
1387
  },
1376
- onClick: () => I()?.(),
1388
+ onClick: () => m()?.(),
1377
1389
  children: "Save"
1378
1390
  });
1379
1391
  }
1380
- }), null), h(g, V(J, {
1392
+ }), null), h(u, T(te, {
1381
1393
  get when() {
1382
- return _(() => d() === "debug")() && e.debugData !== void 0;
1394
+ return E(() => c() === "debug")() && t.debugData !== void 0;
1383
1395
  },
1384
1396
  get children() {
1385
- return V(T, {
1397
+ return T(D, {
1386
1398
  size: "sm",
1387
1399
  variant: "outline",
1388
- onClick: u,
1400
+ onClick: v,
1389
1401
  children: "Copy"
1390
1402
  });
1391
1403
  }
1392
- }), null), g;
1404
+ }), null), u;
1393
1405
  }
1394
1406
  })];
1395
1407
  }
@@ -1397,80 +1409,80 @@ function jn(t) {
1397
1409
  }
1398
1410
  });
1399
1411
  }
1400
- Mt(["click"]);
1401
- const Q = 32, f = Q / 2, B = "white", nt = "rgba(0,0,0,0.4)", ut = 2, rt = 3;
1402
- function ln(t) {
1403
- return `url("data:image/svg+xml,${encodeURIComponent(t)}")`;
1412
+ Oe(["click"]);
1413
+ const ie = 32, g = ie / 2, j = "white", se = "rgba(0,0,0,0.4)", xe = 2, le = 3;
1414
+ function hn(e) {
1415
+ return `url("data:image/svg+xml,${encodeURIComponent(e)}")`;
1404
1416
  }
1405
- function it(t) {
1406
- return `<svg xmlns="http://www.w3.org/2000/svg" width="${Q}" height="${Q}" viewBox="0 0 ${Q} ${Q}">${t}</svg>`;
1417
+ function ce(e) {
1418
+ return `<svg xmlns="http://www.w3.org/2000/svg" width="${ie}" height="${ie}" viewBox="0 0 ${ie} ${ie}">${e}</svg>`;
1407
1419
  }
1408
- const cn = it(`
1420
+ const xn = ce(`
1409
1421
  <g transform="translate(6, 2)">
1410
1422
  <!-- shadow -->
1411
- <g stroke="${nt}" stroke-width="${rt}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1423
+ <g stroke="${se}" stroke-width="${le}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1412
1424
  <path d="M10 8V3a2 2 0 0 1 4 0v10l4.5-4.5a2 2 0 0 1 2.83 2.83L14 18.5c-2 2-4 3.5-8 3.5-3 0-5-2-5-5v-6a2 2 0 0 1 4 0v2"/>
1413
1425
  </g>
1414
1426
  <!-- main -->
1415
- <g stroke="${B}" stroke-width="${ut}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1427
+ <g stroke="${j}" stroke-width="${xe}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1416
1428
  <path d="M10 8V3a2 2 0 0 1 4 0v10l4.5-4.5a2 2 0 0 1 2.83 2.83L14 18.5c-2 2-4 3.5-8 3.5-3 0-5-2-5-5v-6a2 2 0 0 1 4 0v2"/>
1417
1429
  </g>
1418
1430
  </g>
1419
- `), un = it(`
1431
+ `), vn = ce(`
1420
1432
  <g>
1421
- <circle cx="${f}" cy="${f}" r="8" stroke="${nt}" stroke-width="${rt}" fill="none"/>
1422
- <circle cx="${f}" cy="${f}" r="8" stroke="${B}" stroke-width="1.5" fill="none"/>
1423
- <circle cx="${f}" cy="${f}" r="1.5" fill="${B}"/>
1433
+ <circle cx="${g}" cy="${g}" r="8" stroke="${se}" stroke-width="${le}" fill="none"/>
1434
+ <circle cx="${g}" cy="${g}" r="8" stroke="${j}" stroke-width="1.5" fill="none"/>
1435
+ <circle cx="${g}" cy="${g}" r="1.5" fill="${j}"/>
1424
1436
  </g>
1425
- `), dn = it(`
1437
+ `), bn = ce(`
1426
1438
  <g>
1427
1439
  <!-- shadow -->
1428
- <g stroke="${nt}" stroke-width="${rt}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1429
- <line x1="6" y1="${f}" x2="26" y2="${f}"/>
1430
- <polyline points="10,${f - 4} 6,${f} 10,${f + 4}"/>
1431
- <polyline points="22,${f - 4} 26,${f} 22,${f + 4}"/>
1440
+ <g stroke="${se}" stroke-width="${le}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1441
+ <line x1="6" y1="${g}" x2="26" y2="${g}"/>
1442
+ <polyline points="10,${g - 4} 6,${g} 10,${g + 4}"/>
1443
+ <polyline points="22,${g - 4} 26,${g} 22,${g + 4}"/>
1432
1444
  </g>
1433
1445
  <!-- main -->
1434
- <g stroke="${B}" stroke-width="${ut}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1435
- <line x1="6" y1="${f}" x2="26" y2="${f}"/>
1436
- <polyline points="10,${f - 4} 6,${f} 10,${f + 4}"/>
1437
- <polyline points="22,${f - 4} 26,${f} 22,${f + 4}"/>
1446
+ <g stroke="${j}" stroke-width="${xe}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1447
+ <line x1="6" y1="${g}" x2="26" y2="${g}"/>
1448
+ <polyline points="10,${g - 4} 6,${g} 10,${g + 4}"/>
1449
+ <polyline points="22,${g - 4} 26,${g} 22,${g + 4}"/>
1438
1450
  </g>
1439
1451
  <!-- center grip dots -->
1440
- <circle cx="${f}" cy="${f}" r="1.5" fill="${B}"/>
1441
- <circle cx="${f - 5}" cy="${f}" r="1" fill="${B}" opacity="0.6"/>
1442
- <circle cx="${f + 5}" cy="${f}" r="1" fill="${B}" opacity="0.6"/>
1452
+ <circle cx="${g}" cy="${g}" r="1.5" fill="${j}"/>
1453
+ <circle cx="${g - 5}" cy="${g}" r="1" fill="${j}" opacity="0.6"/>
1454
+ <circle cx="${g + 5}" cy="${g}" r="1" fill="${j}" opacity="0.6"/>
1443
1455
  </g>
1444
- `), gn = it(`
1456
+ `), yn = ce(`
1445
1457
  <g>
1446
1458
  <!-- shadow -->
1447
- <g stroke="${nt}" stroke-width="${rt}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1448
- <line x1="${f}" y1="6" x2="${f}" y2="26"/>
1449
- <polyline points="${f - 4},10 ${f},6 ${f + 4},10"/>
1450
- <polyline points="${f - 4},22 ${f},26 ${f + 4},22"/>
1459
+ <g stroke="${se}" stroke-width="${le}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1460
+ <line x1="${g}" y1="6" x2="${g}" y2="26"/>
1461
+ <polyline points="${g - 4},10 ${g},6 ${g + 4},10"/>
1462
+ <polyline points="${g - 4},22 ${g},26 ${g + 4},22"/>
1451
1463
  </g>
1452
1464
  <!-- main -->
1453
- <g stroke="${B}" stroke-width="${ut}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1454
- <line x1="${f}" y1="6" x2="${f}" y2="26"/>
1455
- <polyline points="${f - 4},10 ${f},6 ${f + 4},10"/>
1456
- <polyline points="${f - 4},22 ${f},26 ${f + 4},22"/>
1465
+ <g stroke="${j}" stroke-width="${xe}" fill="none" stroke-linecap="round" stroke-linejoin="round">
1466
+ <line x1="${g}" y1="6" x2="${g}" y2="26"/>
1467
+ <polyline points="${g - 4},10 ${g},6 ${g + 4},10"/>
1468
+ <polyline points="${g - 4},22 ${g},26 ${g + 4},22"/>
1457
1469
  </g>
1458
1470
  <!-- center grip dots -->
1459
- <circle cx="${f}" cy="${f}" r="1.5" fill="${B}"/>
1460
- <circle cx="${f}" cy="${f - 5}" r="1" fill="${B}" opacity="0.6"/>
1461
- <circle cx="${f}" cy="${f + 5}" r="1" fill="${B}" opacity="0.6"/>
1471
+ <circle cx="${g}" cy="${g}" r="1.5" fill="${j}"/>
1472
+ <circle cx="${g}" cy="${g - 5}" r="1" fill="${j}" opacity="0.6"/>
1473
+ <circle cx="${g}" cy="${g + 5}" r="1" fill="${j}" opacity="0.6"/>
1462
1474
  </g>
1463
1475
  `);
1464
- function tt(t, e, n) {
1465
- return { css: `${ln(t)} ${e} ${n}, auto`, hotspotX: e, hotspotY: n };
1466
- }
1467
- const K = {
1468
- tap: tt(cn, 12, 4),
1469
- hold: tt(un, 16, 16),
1470
- slideHorizontal: tt(dn, f, f),
1471
- slideVertical: tt(gn, f, f)
1476
+ function ae(e, t, n) {
1477
+ return { css: `${hn(e)} ${t} ${n}, auto`, hotspotX: t, hotspotY: n };
1478
+ }
1479
+ const Z = {
1480
+ tap: ae(xn, 12, 4),
1481
+ hold: ae(vn, 16, 16),
1482
+ slideHorizontal: ae(bn, g, g),
1483
+ slideVertical: ae(yn, g, g)
1472
1484
  };
1473
- function Pn(t, e) {
1485
+ function Jn(e, t) {
1474
1486
  const n = {
1475
1487
  isDown: !1,
1476
1488
  startX: 0,
@@ -1484,132 +1496,139 @@ function Pn(t, e) {
1484
1496
  slideActivationTimer: null,
1485
1497
  lockedAxis: null,
1486
1498
  element: null
1487
- }, i = 10, r = 5, a = () => {
1499
+ };
1500
+ let i = null, r = null, a = null;
1501
+ function o(x) {
1502
+ x !== r && (a && a.disconnect(), a = new ResizeObserver((y) => {
1503
+ const $ = y[0];
1504
+ if ($) {
1505
+ const D = $.borderBoxSize?.[0];
1506
+ D ? i = { width: D.inlineSize, height: D.blockSize } : i = { width: $.contentRect.width, height: $.contentRect.height };
1507
+ }
1508
+ }), r = x, a.observe(x), i = { width: x.clientWidth, height: x.clientHeight });
1509
+ }
1510
+ const s = 10, l = 5, d = () => {
1488
1511
  n.holdTimer && (clearTimeout(n.holdTimer), n.holdTimer = null), n.slideActivationTimer && (clearTimeout(n.slideActivationTimer), n.slideActivationTimer = null);
1489
- }, o = (c) => {
1490
- const b = t().slide;
1491
- if (b?.orientation === "horizontal") return "horizontal";
1492
- if (b?.orientation === "vertical") return "vertical";
1493
- if (c) {
1494
- const O = c.getBoundingClientRect();
1495
- return O.height > O.width ? "vertical" : "horizontal";
1496
- }
1497
- return (e?.() ?? "horizontal") === "horizontal" ? "horizontal" : "vertical";
1498
- }, s = (c) => {
1499
- const u = t();
1500
- if (!(!u.tap && !u.hold && !u.slide)) {
1501
- if (c.preventDefault(), n.isDown = !0, n.element = c.currentTarget, n.startX = c.clientX, n.startY = c.clientY, n.currentX = c.clientX, n.currentY = c.clientY, n.startTime = Date.now(), n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, c.currentTarget.setPointerCapture(c.pointerId), u.hold) {
1502
- const b = u.hold.delay ?? 300;
1512
+ }, c = (x) => {
1513
+ const $ = e().slide;
1514
+ return $?.orientation === "horizontal" ? "horizontal" : $?.orientation === "vertical" ? "vertical" : x && (i || o(x), i) ? i.height > i.width ? "vertical" : "horizontal" : (t?.() ?? "horizontal") === "horizontal" ? "horizontal" : "vertical";
1515
+ }, b = (x) => {
1516
+ const y = e();
1517
+ if (!(!y.tap && !y.hold && !y.slide)) {
1518
+ if (x.preventDefault(), n.isDown = !0, n.element = x.currentTarget, o(n.element), n.startX = x.clientX, n.startY = x.clientY, n.currentX = x.clientX, n.currentY = x.clientY, n.startTime = Date.now(), n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, x.currentTarget.setPointerCapture(x.pointerId), y.hold) {
1519
+ const $ = y.hold.delay ?? 300;
1503
1520
  n.holdTimer = setTimeout(() => {
1504
- n.isDown && !n.hasMoved && (u.hold.action(), n.isDown = !1);
1505
- }, b);
1521
+ n.isDown && !n.hasMoved && (y.hold.action(), n.isDown = !1);
1522
+ }, $);
1506
1523
  }
1507
- if (u.slide) {
1508
- const b = u.slide.activationDelay ?? 0;
1509
- b > 0 ? n.slideActivationTimer = setTimeout(() => {
1524
+ if (y.slide) {
1525
+ const $ = y.slide.activationDelay ?? 0;
1526
+ $ > 0 ? n.slideActivationTimer = setTimeout(() => {
1510
1527
  n.slideActive = !0;
1511
- }, b) : n.slideActive = !0;
1528
+ }, $) : n.slideActive = !0;
1512
1529
  }
1513
1530
  }
1514
- }, l = (c) => {
1531
+ }, C = (x) => {
1515
1532
  if (!n.isDown) return;
1516
- const u = t();
1517
- n.currentX = c.clientX, n.currentY = c.clientY;
1518
- const b = n.currentX - n.startX, y = n.currentY - n.startY, O = Math.abs(b), P = Math.abs(y), w = Math.sqrt(b * b + y * y), N = c.currentTarget, T = o(N);
1519
- if (!n.lockedAxis && w > r && (O > P ? n.lockedAxis = "horizontal" : n.lockedAxis = "vertical", u.slide && n.lockedAxis !== T)) {
1520
- N.releasePointerCapture(c.pointerId), n.isDown = !1, n.slideActive = !1, a();
1533
+ const y = e();
1534
+ n.currentX = x.clientX, n.currentY = x.clientY;
1535
+ const $ = n.currentX - n.startX, D = n.currentY - n.startY, O = Math.abs($), P = Math.abs(D), H = Math.sqrt($ * $ + D * D), m = x.currentTarget, u = c(m);
1536
+ if (!n.lockedAxis && H > l && (O > P ? n.lockedAxis = "horizontal" : n.lockedAxis = "vertical", y.slide && n.lockedAxis !== u)) {
1537
+ m.releasePointerCapture(x.pointerId), n.isDown = !1, n.slideActive = !1, d();
1521
1538
  return;
1522
1539
  }
1523
- if (w > i && (n.hasMoved = !0, a()), u.slide && n.slideActive && n.hasMoved && n.lockedAxis === T) {
1524
- const z = u.slide.min ?? 0, S = u.slide.max ?? 100, E = S - z, I = T === "vertical" ? -y : b, g = T === "vertical" ? c.currentTarget.clientHeight : c.currentTarget.clientWidth, H = I / g * E, kt = Math.max(z, Math.min(S, u.slide.value + H));
1525
- u.slide.onChange(Math.round(kt)), n.startX = n.currentX, n.startY = n.currentY, c.preventDefault();
1540
+ if (H > s && (n.hasMoved = !0, d()), y.slide && n.slideActive && n.hasMoved && n.lockedAxis === u) {
1541
+ const W = y.slide.min ?? 0, k = y.slide.max ?? 100, B = k - W, Q = u === "vertical" ? -D : $, L = i ?? { width: m.clientWidth, height: m.clientHeight }, J = u === "vertical" ? L.height : L.width, De = Q / J * B, _e = Math.max(W, Math.min(k, y.slide.value + De));
1542
+ y.slide.onChange(Math.round(_e)), n.startX = n.currentX, n.startY = n.currentY, x.preventDefault();
1526
1543
  }
1527
- }, m = (c) => {
1544
+ }, f = (x) => {
1528
1545
  if (!n.isDown) return;
1529
- const u = t(), b = u.hold?.delay ?? 300;
1530
- if (a(), u.tap && !n.hasMoved) {
1531
- const y = Date.now() - n.startTime;
1532
- n.isDown && y < b && u.tap();
1546
+ const y = e(), $ = y.hold?.delay ?? 300;
1547
+ if (d(), y.tap && !n.hasMoved) {
1548
+ const D = Date.now() - n.startTime;
1549
+ n.isDown && D < $ && y.tap();
1533
1550
  }
1534
- n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, c.currentTarget.releasePointerCapture(c.pointerId);
1535
- }, d = (c) => {
1536
- a(), n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, c.currentTarget.releasePointerCapture(c.pointerId);
1537
- }, x = (c) => {
1538
- const u = t();
1539
- if (u.slide) {
1540
- const b = u.slide.orientation;
1541
- if (b === "horizontal") return K.slideHorizontal.css;
1542
- if (b === "vertical") return K.slideVertical.css;
1543
- const y = c.getBoundingClientRect();
1544
- return y.height > y.width ? K.slideVertical.css : K.slideHorizontal.css;
1551
+ n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, x.currentTarget.releasePointerCapture(x.pointerId);
1552
+ }, v = (x) => {
1553
+ d(), n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, x.currentTarget.releasePointerCapture(x.pointerId);
1554
+ }, V = (x) => {
1555
+ const y = e();
1556
+ if (y.slide) {
1557
+ const $ = y.slide.orientation;
1558
+ return $ === "horizontal" ? Z.slideHorizontal.css : $ === "vertical" ? Z.slideVertical.css : (i || o(x), i && i.height > i.width ? Z.slideVertical.css : Z.slideHorizontal.css);
1545
1559
  }
1546
- return u.tap ? K.tap.css : u.hold ? K.hold.css : "";
1560
+ return y.tap ? Z.tap.css : y.hold ? Z.hold.css : "";
1547
1561
  };
1548
1562
  return {
1549
- onPointerDown: s,
1550
- onPointerMove: l,
1551
- onPointerUp: m,
1552
- onPointerCancel: d,
1553
- onPointerEnter: (c) => {
1554
- const u = c.currentTarget;
1555
- n.element = u, u.style.cursor = x(u);
1563
+ onPointerDown: b,
1564
+ onPointerMove: C,
1565
+ onPointerUp: f,
1566
+ onPointerCancel: v,
1567
+ onPointerEnter: (x) => {
1568
+ const y = x.currentTarget;
1569
+ n.element = y, y.style.cursor = V(y);
1570
+ },
1571
+ bindElement: (x) => {
1572
+ x && (n.element = x, o(x));
1556
1573
  },
1557
- dispose: a
1574
+ dispose: () => {
1575
+ d(), a && (a.disconnect(), a = null), r = null, i = null;
1576
+ }
1558
1577
  };
1559
1578
  }
1560
- function Fn(t) {
1579
+ function Zn(e) {
1561
1580
  return A(() => {
1562
- const e = t.entities();
1563
- if (e.length === 0) return;
1581
+ const t = e.entities();
1582
+ if (t.length === 0) return;
1564
1583
  const n = {
1565
- widgetConfig: t.widgetConfig,
1566
- entities: e.map((i) => {
1584
+ widgetConfig: e.widgetConfig,
1585
+ entities: t.map((i) => {
1567
1586
  const r = {
1568
1587
  entity_id: i.id,
1569
1588
  state: i.state,
1570
1589
  domain: i.domain,
1571
1590
  friendly_name: i.friendlyName
1572
1591
  };
1573
- return t.customEntityFields ? {
1592
+ return e.customEntityFields ? {
1574
1593
  ...r,
1575
- ...t.customEntityFields(i)
1594
+ ...e.customEntityFields(i)
1576
1595
  } : r;
1577
1596
  })
1578
1597
  };
1579
- return t.additionalData && Object.assign(n, t.additionalData), n;
1598
+ return e.additionalData && Object.assign(n, e.additionalData), n;
1580
1599
  });
1581
1600
  }
1582
- function Un(t = {}) {
1583
- const [e, n] = L(!1), [i, r] = L(!1);
1601
+ function Qn(e = {}) {
1602
+ const [t, n] = F(!1), [i, r] = F(!1);
1584
1603
  return {
1585
1604
  save: async (s) => {
1586
- if (t.onSave) {
1605
+ if (e.onSave) {
1587
1606
  n(!0);
1588
1607
  try {
1589
- await t.onSave(s), t.onSaveSuccess?.();
1608
+ await e.onSave(s), e.onSaveSuccess?.();
1590
1609
  } finally {
1591
1610
  n(!1);
1592
1611
  }
1593
1612
  }
1594
1613
  },
1595
1614
  remove: async () => {
1596
- if (t.onDelete) {
1615
+ if (e.onDelete) {
1597
1616
  r(!0);
1598
1617
  try {
1599
- await t.onDelete(), t.onDeleteSuccess?.();
1618
+ await e.onDelete(), e.onDeleteSuccess?.();
1600
1619
  } finally {
1601
1620
  r(!1);
1602
1621
  }
1603
1622
  }
1604
1623
  },
1605
- isSaving: e,
1624
+ isSaving: t,
1606
1625
  isDeleting: i
1607
1626
  };
1608
1627
  }
1609
- function Yn(t = "edit") {
1610
- const [e, n] = L(!1), [i, r] = L(t);
1628
+ function er(e = "edit") {
1629
+ const [t, n] = F(!1), [i, r] = F(e);
1611
1630
  return {
1612
- showDialog: e,
1631
+ showDialog: t,
1613
1632
  setShowDialog: n,
1614
1633
  openDialog: () => n(!0),
1615
1634
  closeDialog: () => n(!1),
@@ -1617,33 +1636,33 @@ function Yn(t = "edit") {
1617
1636
  setActiveTab: r
1618
1637
  };
1619
1638
  }
1620
- function Xn(t) {
1621
- const e = A(() => t.entity() !== null), n = A(() => {
1622
- const r = t.entity();
1623
- return r ? t.calculateData(r) : null;
1624
- }), i = A(() => e() ? void 0 : t.emptyStateConfig);
1639
+ function tr(e) {
1640
+ const t = A(() => e.entity() !== null), n = A(() => {
1641
+ const r = e.entity();
1642
+ return r ? e.calculateData(r) : null;
1643
+ }), i = A(() => t() ? void 0 : e.emptyStateConfig);
1625
1644
  return {
1626
- entity: t.entity,
1645
+ entity: e.entity,
1627
1646
  data: n,
1628
1647
  emptyState: i,
1629
- hasEntity: e
1648
+ hasEntity: t
1630
1649
  };
1631
1650
  }
1632
- function Kn(t) {
1633
- const e = t.minEntities ?? 1, n = A(() => t.entities().length), i = A(() => n() >= e), r = A(() => !i() || !t.calculateGroupData ? null : t.calculateGroupData(t.entities())), a = A(() => {
1651
+ function nr(e) {
1652
+ const t = e.minEntities ?? 1, n = A(() => e.entities().length), i = A(() => n() >= t), r = A(() => !i() || !e.calculateGroupData ? null : e.calculateGroupData(e.entities())), a = A(() => {
1634
1653
  if (!i()) return;
1635
- const s = t.aggregationMode?.();
1654
+ const s = e.aggregationMode?.();
1636
1655
  if (!s || s === "none") return;
1637
- const l = t.entities();
1656
+ const l = e.entities();
1638
1657
  if (s === "light" || s === "binary-sensor" || s === "switch")
1639
- return Se(l, t.allEntitiesMode);
1658
+ return At(l, e.allEntitiesMode);
1640
1659
  if (s === "sensor") {
1641
- const m = t.sensorGroupType?.() ?? "mean";
1642
- return Ce(l, m, !0);
1660
+ const d = e.sensorGroupType?.() ?? "mean";
1661
+ return Nt(l, d, !0);
1643
1662
  }
1644
- }), o = A(() => i() ? void 0 : t.emptyStateConfig);
1663
+ }), o = A(() => i() ? void 0 : e.emptyStateConfig);
1645
1664
  return {
1646
- entities: t.entities,
1665
+ entities: e.entities,
1647
1666
  groupData: r,
1648
1667
  aggregatedData: a,
1649
1668
  emptyState: o,
@@ -1651,53 +1670,53 @@ function Kn(t) {
1651
1670
  count: n
1652
1671
  };
1653
1672
  }
1654
- function qn(t) {
1655
- const [e] = At({
1656
- validate: Nt(t.schema),
1657
- initialValues: t.initialValues
1658
- }), n = A(() => e.dirty), i = A(() => e.submitting);
1673
+ function rr(e) {
1674
+ const [t] = Ie({
1675
+ validate: Re(e.schema),
1676
+ initialValues: e.initialValues
1677
+ }), n = A(() => t.dirty), i = A(() => t.submitting);
1659
1678
  return {
1660
- form: e,
1679
+ form: t,
1661
1680
  isDirty: n,
1662
1681
  isSubmitting: i,
1663
1682
  handleSubmit: (a) => {
1664
- t.onSubmit?.(a);
1683
+ e.onSubmit?.(a);
1665
1684
  },
1666
- getValue: Et,
1667
- setValue: Ot,
1668
- reset: Tt
1685
+ getValue: He,
1686
+ setValue: Pe,
1687
+ reset: Ge
1669
1688
  };
1670
1689
  }
1671
- const at = ["xs", "sm", "md", "lg", "xl"];
1672
- function Jn() {
1673
- const t = G(), e = A(() => at.indexOf(t.size())), n = A(() => {
1674
- const l = t.size();
1690
+ const de = ["xs", "sm", "md", "lg", "xl"];
1691
+ function ir() {
1692
+ const e = G(), t = A(() => de.indexOf(e.size())), n = A(() => {
1693
+ const l = e.size();
1675
1694
  return l === "xs" || l === "sm";
1676
1695
  }), i = A(() => {
1677
- const l = t.size();
1696
+ const l = e.size();
1678
1697
  return l === "lg" || l === "xl";
1679
- }), r = A(() => e() >= 2);
1698
+ }), r = A(() => t() >= 2);
1680
1699
  return {
1681
1700
  isCompact: n,
1682
1701
  isLarge: i,
1683
1702
  showDetail: r,
1684
- showOn: (l) => l.includes(t.size()),
1685
- hideOn: (l) => !l.includes(t.size()),
1703
+ showOn: (l) => l.includes(e.size()),
1704
+ hideOn: (l) => !l.includes(e.size()),
1686
1705
  matches: (l) => {
1687
- const m = l.trim();
1688
- if (m.endsWith("+")) {
1689
- const d = m.slice(0, -1), x = at.indexOf(d);
1690
- return x >= 0 && e() >= x;
1706
+ const d = l.trim();
1707
+ if (d.endsWith("+")) {
1708
+ const c = d.slice(0, -1), b = de.indexOf(c);
1709
+ return b >= 0 && t() >= b;
1691
1710
  }
1692
- if (m.endsWith("-")) {
1693
- const d = m.slice(0, -1), x = at.indexOf(d);
1694
- return x >= 0 && e() <= x;
1711
+ if (d.endsWith("-")) {
1712
+ const c = d.slice(0, -1), b = de.indexOf(c);
1713
+ return b >= 0 && t() <= b;
1695
1714
  }
1696
- return t.size() === m;
1715
+ return e.size() === d;
1697
1716
  }
1698
1717
  };
1699
1718
  }
1700
- const D = {
1719
+ const _ = {
1701
1720
  ocean: "bg-gradient-to-br from-cyan-600/20 to-blue-700/20",
1702
1721
  sunset: "bg-gradient-to-br from-orange-500/20 to-purple-700/20",
1703
1722
  forest: "bg-gradient-to-br from-emerald-600/20 to-teal-700/20",
@@ -1715,7 +1734,7 @@ const D = {
1715
1734
  sage: "bg-gradient-to-br from-lime-600/20 to-green-600/20",
1716
1735
  copper: "bg-gradient-to-br from-amber-600/20 to-amber-800/20",
1717
1736
  dusk: "bg-gradient-to-br from-blue-500/20 to-purple-600/20"
1718
- }, Zn = {
1737
+ }, ar = {
1719
1738
  ocean: "Ocean Breeze",
1720
1739
  sunset: "Sunset Glow",
1721
1740
  forest: "Forest Dawn",
@@ -1733,30 +1752,30 @@ const D = {
1733
1752
  sage: "Sage",
1734
1753
  copper: "Copper",
1735
1754
  dusk: "Dusk"
1736
- }, Qn = Object.keys(D);
1737
- function xt(t) {
1738
- const e = Object.keys(D);
1755
+ }, or = Object.keys(_);
1756
+ function ke(e) {
1757
+ const t = Object.keys(_);
1739
1758
  let n = 0;
1740
- for (const r of t)
1759
+ for (const r of e)
1741
1760
  n = (n << 5) - n + r.charCodeAt(0), n = n & n;
1742
- const i = Math.abs(n) % e.length;
1743
- return e[i];
1761
+ const i = Math.abs(n) % t.length;
1762
+ return t[i];
1744
1763
  }
1745
- function tr(t, e) {
1746
- if (!t) {
1747
- const i = xt(e);
1748
- return D[i];
1764
+ function sr(e, t) {
1765
+ if (!e) {
1766
+ const i = ke(t);
1767
+ return _[i];
1749
1768
  }
1750
- if (typeof t == "string" && t in D)
1751
- return D[t];
1752
- if (typeof t == "string")
1753
- return t;
1754
- const n = xt(e);
1755
- return D[n];
1769
+ if (typeof e == "string" && e in _)
1770
+ return _[e];
1771
+ if (typeof e == "string")
1772
+ return e;
1773
+ const n = ke(t);
1774
+ return _[n];
1756
1775
  }
1757
- const q = {
1776
+ const ee = {
1758
1777
  ocean: {
1759
- gradient: D.ocean,
1778
+ gradient: _.ocean,
1760
1779
  bg: "bg-cyan-600/20",
1761
1780
  icon: "bg-cyan-500 dark:bg-cyan-400",
1762
1781
  glow: "shadow-cyan-500/50 dark:shadow-cyan-400/50",
@@ -1766,7 +1785,7 @@ const q = {
1766
1785
  }
1767
1786
  },
1768
1787
  sunset: {
1769
- gradient: D.sunset,
1788
+ gradient: _.sunset,
1770
1789
  bg: "bg-orange-500/20",
1771
1790
  icon: "bg-orange-500 dark:bg-orange-400",
1772
1791
  glow: "shadow-orange-500/50 dark:shadow-orange-400/50",
@@ -1776,7 +1795,7 @@ const q = {
1776
1795
  }
1777
1796
  },
1778
1797
  forest: {
1779
- gradient: D.forest,
1798
+ gradient: _.forest,
1780
1799
  bg: "bg-emerald-600/20",
1781
1800
  icon: "bg-emerald-500 dark:bg-emerald-400",
1782
1801
  glow: "shadow-emerald-500/50 dark:shadow-emerald-400/50",
@@ -1786,7 +1805,7 @@ const q = {
1786
1805
  }
1787
1806
  },
1788
1807
  lavender: {
1789
- gradient: D.lavender,
1808
+ gradient: _.lavender,
1790
1809
  bg: "bg-purple-500/20",
1791
1810
  icon: "bg-purple-500 dark:bg-purple-400",
1792
1811
  glow: "shadow-purple-500/50 dark:shadow-purple-400/50",
@@ -1796,7 +1815,7 @@ const q = {
1796
1815
  }
1797
1816
  },
1798
1817
  golden: {
1799
- gradient: D.golden,
1818
+ gradient: _.golden,
1800
1819
  bg: "bg-yellow-500/20",
1801
1820
  icon: "bg-yellow-500 dark:bg-yellow-400",
1802
1821
  glow: "shadow-yellow-500/50 dark:shadow-yellow-400/50",
@@ -1806,7 +1825,7 @@ const q = {
1806
1825
  }
1807
1826
  },
1808
1827
  midnight: {
1809
- gradient: D.midnight,
1828
+ gradient: _.midnight,
1810
1829
  bg: "bg-blue-700/20",
1811
1830
  icon: "bg-blue-700 dark:bg-blue-600",
1812
1831
  glow: "shadow-blue-700/50 dark:shadow-blue-600/50",
@@ -1816,7 +1835,7 @@ const q = {
1816
1835
  }
1817
1836
  },
1818
1837
  rose: {
1819
- gradient: D.rose,
1838
+ gradient: _.rose,
1820
1839
  bg: "bg-pink-400/20",
1821
1840
  icon: "bg-pink-500 dark:bg-pink-400",
1822
1841
  glow: "shadow-pink-500/50 dark:shadow-pink-400/50",
@@ -1826,7 +1845,7 @@ const q = {
1826
1845
  }
1827
1846
  },
1828
1847
  mint: {
1829
- gradient: D.mint,
1848
+ gradient: _.mint,
1830
1849
  bg: "bg-green-400/20",
1831
1850
  icon: "bg-green-500 dark:bg-green-400",
1832
1851
  glow: "shadow-green-500/50 dark:shadow-green-400/50",
@@ -1836,7 +1855,7 @@ const q = {
1836
1855
  }
1837
1856
  },
1838
1857
  slate: {
1839
- gradient: D.slate,
1858
+ gradient: _.slate,
1840
1859
  bg: "bg-slate-600/20",
1841
1860
  icon: "bg-slate-600 dark:bg-slate-500",
1842
1861
  glow: "shadow-slate-600/50 dark:shadow-slate-500/50",
@@ -1846,7 +1865,7 @@ const q = {
1846
1865
  }
1847
1866
  },
1848
1867
  coral: {
1849
- gradient: D.coral,
1868
+ gradient: _.coral,
1850
1869
  bg: "bg-pink-300/20",
1851
1870
  icon: "bg-pink-400 dark:bg-pink-300",
1852
1871
  glow: "shadow-pink-400/50 dark:shadow-pink-300/50",
@@ -1856,7 +1875,7 @@ const q = {
1856
1875
  }
1857
1876
  },
1858
1877
  aurora: {
1859
- gradient: D.aurora,
1878
+ gradient: _.aurora,
1860
1879
  bg: "bg-blue-500/20",
1861
1880
  icon: "bg-blue-500 dark:bg-blue-400",
1862
1881
  glow: "shadow-blue-500/50 dark:shadow-blue-400/50",
@@ -1866,7 +1885,7 @@ const q = {
1866
1885
  }
1867
1886
  },
1868
1887
  ember: {
1869
- gradient: D.ember,
1888
+ gradient: _.ember,
1870
1889
  bg: "bg-red-500/20",
1871
1890
  icon: "bg-red-500 dark:bg-red-400",
1872
1891
  glow: "shadow-red-500/50 dark:shadow-red-400/50",
@@ -1876,7 +1895,7 @@ const q = {
1876
1895
  }
1877
1896
  },
1878
1897
  steel: {
1879
- gradient: D.steel,
1898
+ gradient: _.steel,
1880
1899
  bg: "bg-gray-500/20",
1881
1900
  icon: "bg-gray-500 dark:bg-gray-400",
1882
1901
  glow: void 0,
@@ -1886,7 +1905,7 @@ const q = {
1886
1905
  }
1887
1906
  },
1888
1907
  twilight: {
1889
- gradient: D.twilight,
1908
+ gradient: _.twilight,
1890
1909
  bg: "bg-violet-600/20",
1891
1910
  icon: "bg-violet-500 dark:bg-violet-400",
1892
1911
  glow: "shadow-violet-500/50 dark:shadow-violet-400/50",
@@ -1896,7 +1915,7 @@ const q = {
1896
1915
  }
1897
1916
  },
1898
1917
  sage: {
1899
- gradient: D.sage,
1918
+ gradient: _.sage,
1900
1919
  bg: "bg-lime-600/20",
1901
1920
  icon: "bg-lime-500 dark:bg-lime-400",
1902
1921
  glow: "shadow-lime-500/50 dark:shadow-lime-400/50",
@@ -1906,7 +1925,7 @@ const q = {
1906
1925
  }
1907
1926
  },
1908
1927
  copper: {
1909
- gradient: D.copper,
1928
+ gradient: _.copper,
1910
1929
  bg: "bg-amber-600/20",
1911
1930
  icon: "bg-amber-600 dark:bg-amber-500",
1912
1931
  glow: "shadow-amber-600/50 dark:shadow-amber-500/50",
@@ -1916,7 +1935,7 @@ const q = {
1916
1935
  }
1917
1936
  },
1918
1937
  dusk: {
1919
- gradient: D.dusk,
1938
+ gradient: _.dusk,
1920
1939
  bg: "bg-blue-500/20",
1921
1940
  icon: "bg-blue-500 dark:bg-blue-400",
1922
1941
  glow: "shadow-blue-500/50 dark:shadow-blue-400/50",
@@ -1925,116 +1944,116 @@ const q = {
1925
1944
  muted: "text-blue-400/60 dark:text-blue-300/60"
1926
1945
  }
1927
1946
  }
1928
- }, er = {
1929
- unavailable: q.steel,
1930
- active: q.ocean,
1931
- inactive: q.steel,
1932
- success: q.forest,
1933
- warning: q.ember,
1934
- error: q.rose
1935
- }, nr = {
1947
+ }, lr = {
1948
+ unavailable: ee.steel,
1949
+ active: ee.ocean,
1950
+ inactive: ee.steel,
1951
+ success: ee.forest,
1952
+ warning: ee.ember,
1953
+ error: ee.rose
1954
+ }, cr = {
1936
1955
  /** Optional display name override (renders as text input) */
1937
- title: () => X.string().optional().meta({ title: "Title", description: "Optional display name override" }),
1956
+ title: () => q.string().optional().meta({ title: "Title", description: "Optional display name override" }),
1938
1957
  /** Multi-select entity picker for a HA domain */
1939
- entityIds: (t) => X.array(X.string()).default([]).meta({ domain: t, title: "Entities" }),
1958
+ entityIds: (e) => q.array(q.string()).default([]).meta({ domain: e, title: "Entities" }),
1940
1959
  /** Single-select entity picker for a HA domain */
1941
- singleEntity: (t) => X.array(X.string()).default([]).meta({ domain: t, title: "Entity", singleSelect: !0 }),
1960
+ singleEntity: (e) => q.array(q.string()).default([]).meta({ domain: e, title: "Entity", singleSelect: !0 }),
1942
1961
  /** Area picker dropdown */
1943
- areaId: () => X.string().optional().meta({ formType: "area-picker", title: "Area" })
1962
+ areaId: () => q.string().optional().meta({ formType: "area-picker", title: "Area" })
1944
1963
  };
1945
- let ot = null;
1946
- function mn() {
1947
- return ot || (ot = getComputedStyle(document.documentElement)), ot;
1964
+ let ge = null;
1965
+ function wn() {
1966
+ return ge || (ge = getComputedStyle(document.documentElement)), ge;
1948
1967
  }
1949
- function rr(t) {
1950
- const e = t.startsWith("--") ? t : `--${t}`;
1951
- return mn().getPropertyValue(e).trim();
1968
+ function ur(e) {
1969
+ const t = e.startsWith("--") ? e : `--${e}`;
1970
+ return wn().getPropertyValue(t).trim();
1952
1971
  }
1953
- function ir() {
1972
+ function dr() {
1954
1973
  return document.documentElement.classList.contains("dark");
1955
1974
  }
1956
- const fn = "0.3.3", hn = {
1957
- version: fn
1958
- }, ar = hn.version;
1975
+ const $n = "0.3.5", kn = {
1976
+ version: $n
1977
+ }, gr = kn.version;
1959
1978
  export {
1960
- Zn as GRADIENT_NAMES,
1961
- D as GRADIENT_PRESETS,
1962
- Qn as GRADIENT_PRESET_KEYS,
1963
- Bn as Glow,
1964
- lr as GridSizeSchema,
1965
- cr as PublishBodySchema,
1966
- ur as PublishConfirmSchema,
1967
- dr as PublishRequestSchema,
1968
- ar as SDK_VERSION,
1969
- F as WIDGET_Z,
1970
- U as Widget,
1971
- Jt as WidgetContent,
1972
- st as WidgetCtx,
1973
- jn as WidgetDialog,
1974
- re as WidgetEmptyState,
1975
- ue as WidgetIcon,
1976
- gr as WidgetManifestSchema,
1977
- $t as WidgetMetrics,
1978
- Yt as WidgetSliderFill,
1979
- Ln as WidgetStack,
1980
- be as WidgetStatus,
1981
- we as WidgetSubtitle,
1982
- pe as WidgetTitle,
1983
- Te as WidgetValue,
1984
- Gn as allEntitiesInState,
1985
- Hn as anyEntityInState,
1986
- Nn as applyCssVars,
1987
- An as applyLayout,
1988
- lt as builtInVariants,
1989
- Se as calculateLightGroup,
1990
- Ce as calculateSensorGroup,
1991
- Wt as classicGlass,
1992
- $ as cn,
1993
- Rt as compactHorizontal,
1994
- _n as composeVariants,
1995
- Rn as countActiveEntities,
1996
- In as countAvailableEntities,
1997
- Wn as countEntitiesByState,
1998
- On as createEmptyStateConfig,
1999
- pn as createEntity,
2000
- Tn as createFlexLayout,
2001
- Sn as defineWidget,
2002
- le as deriveAdaptiveIconColors,
2003
- Dn as extendVariant,
2004
- Vt as extractDefaults,
2005
- mr as formatSchemaError,
2006
- De as formatValue,
2007
- Gt as getBuiltInVariant,
2008
- zn as getBuiltInVariantIds,
2009
- Vn as getEntityAttribute,
2010
- En as getEntityState,
2011
- tr as getGradient,
2012
- xt as getGradientFromString,
2013
- Kt as getSpacingClass,
2014
- rr as getThemeToken,
2015
- q as gradientColorPresets,
2016
- _e as interpretValue,
2017
- Mn as isBuiltInVariant,
2018
- ir as isDark,
2019
- ze as isEntityActive,
2020
- Me as isEntityAvailable,
2021
- ct as mergeVariants,
2022
- It as minimal,
2023
- fr as parseGridSize,
2024
- hr as serializeGridSize,
2025
- W as spacing,
2026
- er as stateColors,
2027
- bt as toFormSchema,
2028
- j as typography,
2029
- Fn as useDebugData,
2030
- Un as useWidgetConfig,
1979
+ ar as GRADIENT_NAMES,
1980
+ _ as GRADIENT_PRESETS,
1981
+ or as GRADIENT_PRESET_KEYS,
1982
+ Xn as Glow,
1983
+ hr as GridSizeSchema,
1984
+ xr as PublishBodySchema,
1985
+ vr as PublishConfirmSchema,
1986
+ br as PublishRequestSchema,
1987
+ gr as SDK_VERSION,
1988
+ Y as WIDGET_Z,
1989
+ X as Widget,
1990
+ it as WidgetContent,
1991
+ me as WidgetCtx,
1992
+ qn as WidgetDialog,
1993
+ ut as WidgetEmptyState,
1994
+ vt as WidgetIcon,
1995
+ yr as WidgetManifestSchema,
1996
+ ze as WidgetMetrics,
1997
+ et as WidgetSliderFill,
1998
+ Kn as WidgetStack,
1999
+ Ct as WidgetStatus,
2000
+ zt as WidgetSubtitle,
2001
+ Et as WidgetTitle,
2002
+ Gt as WidgetValue,
2003
+ Un as allEntitiesInState,
2004
+ Yn as anyEntityInState,
2005
+ Rn as applyCssVars,
2006
+ In as applyLayout,
2007
+ fe as builtInVariants,
2008
+ At as calculateLightGroup,
2009
+ Nt as calculateSensorGroup,
2010
+ Le as classicGlass,
2011
+ S as cn,
2012
+ Fe as compactHorizontal,
2013
+ Wn as composeVariants,
2014
+ Fn as countActiveEntities,
2015
+ jn as countAvailableEntities,
2016
+ Ln as countEntitiesByState,
2017
+ Pn as createEmptyStateConfig,
2018
+ En as createEntity,
2019
+ Gn as createFlexLayout,
2020
+ An as defineWidget,
2021
+ ht as deriveAdaptiveIconColors,
2022
+ Vn as extendVariant,
2023
+ Be as extractDefaults,
2024
+ wr as formatSchemaError,
2025
+ Vt as formatValue,
2026
+ Ue as getBuiltInVariant,
2027
+ Tn as getBuiltInVariantIds,
2028
+ Bn as getEntityAttribute,
2029
+ Hn as getEntityState,
2030
+ sr as getGradient,
2031
+ ke as getGradientFromString,
2032
+ nt as getSpacingClass,
2033
+ ur as getThemeToken,
2034
+ ee as gradientColorPresets,
2035
+ Wt as interpretValue,
2036
+ On as isBuiltInVariant,
2037
+ dr as isDark,
2038
+ Tt as isEntityActive,
2039
+ Ot as isEntityAvailable,
2040
+ he as mergeVariants,
2041
+ je as minimal,
2042
+ $r as parseGridSize,
2043
+ kr as serializeGridSize,
2044
+ I as spacing,
2045
+ lr as stateColors,
2046
+ pe as toFormSchema,
2047
+ U as typography,
2048
+ Zn as useDebugData,
2049
+ Qn as useWidgetConfig,
2031
2050
  G as useWidgetContext,
2032
- Yn as useWidgetDialog,
2033
- Xn as useWidgetEntity,
2034
- Kn as useWidgetEntityGroup,
2035
- qn as useWidgetForm,
2036
- Pn as useWidgetGestures,
2037
- Jn as useWidgetResponsive,
2038
- Cn as warnIfStub,
2039
- nr as widgetFields
2051
+ er as useWidgetDialog,
2052
+ tr as useWidgetEntity,
2053
+ nr as useWidgetEntityGroup,
2054
+ rr as useWidgetForm,
2055
+ Jn as useWidgetGestures,
2056
+ ir as useWidgetResponsive,
2057
+ Nn as warnIfStub,
2058
+ cr as widgetFields
2040
2059
  };