@glasshome/widget-sdk 0.2.3 → 0.2.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,5 +1,5 @@
1
1
  import { createSignal as j, createContext as wt, useContext as ht, createEffect as F, untrack as ut, createMemo as z, splitProps as $t, Show as K } from "solid-js";
2
- import { GridSizeSchema as tr, PublishBodySchema as er, PublishConfirmSchema as nr, PublishRequestSchema as rr, WidgetManifestSchema as ir, formatSchemaError as ar, parseGridSize as sr, serializeGridSize as or } from "./schemas.js";
2
+ import { GridSizeSchema as tr, PublishBodySchema as er, PublishConfirmSchema as nr, PublishRequestSchema as rr, WidgetManifestSchema as ir, formatSchemaError as ar, parseGridSize as or, serializeGridSize as sr } from "./schemas.js";
3
3
  import { memo as D, effect as C, setStyleProperty as p, className as w, template as x, insert as f, style as tt, createComponent as W, use as kt, delegateEvents as pt } from "solid-js/web";
4
4
  import { clsx as St } from "clsx";
5
5
  import { twMerge as Ct } from "tailwind-merge";
@@ -24,9 +24,9 @@ const L = {
24
24
  };
25
25
  function bn(t) {
26
26
  }
27
- const st = wt();
27
+ const ot = wt();
28
28
  function G() {
29
- const t = ht(st);
29
+ const t = ht(ot);
30
30
  if (!t)
31
31
  throw new Error("useWidgetContext must be used within a Widget component");
32
32
  return t;
@@ -119,19 +119,19 @@ const Tt = {
119
119
  hoverScale: 1.02,
120
120
  activeScale: 0.98
121
121
  }
122
- }, ot = {
122
+ }, st = {
123
123
  "classic-glass": Tt,
124
124
  minimal: Et,
125
125
  "compact-horizontal": Ot
126
126
  };
127
127
  function Vt(t) {
128
- return ot[t];
128
+ return st[t];
129
129
  }
130
130
  function yn(t) {
131
- return t in ot;
131
+ return t in st;
132
132
  }
133
133
  function wn() {
134
- return Object.keys(ot);
134
+ return Object.keys(st);
135
135
  }
136
136
  function xt(t, e) {
137
137
  if (typeof t != "object" || t === null)
@@ -237,8 +237,8 @@ function Pt(t) {
237
237
  return [D(() => D(() => !!((t.glow ?? !1) && t.value > 0))() && (() => {
238
238
  var r = Lt();
239
239
  return C((a) => {
240
- var s = i(), l = L.BACKGROUND;
241
- return s !== a.e && p(r, "background", a.e = s), l !== a.t && p(r, "z-index", a.t = l), a;
240
+ var o = i(), l = L.BACKGROUND;
241
+ return o !== a.e && p(r, "background", a.e = o), l !== a.t && p(r, "z-index", a.t = l), a;
242
242
  }, {
243
243
  e: void 0,
244
244
  t: void 0
@@ -246,8 +246,8 @@ function Pt(t) {
246
246
  })()), (() => {
247
247
  var r = Ht();
248
248
  return C((a) => {
249
- var s = y("pointer-events-none absolute inset-0", t.isDragging ? "duration-0" : "transition-all duration-300 ease-out", t.class), l = i(), c = n(), g = t.opacity ?? 0.3, d = L.BACKGROUND;
250
- return s !== a.e && w(r, a.e = s), l !== a.t && p(r, "background", a.t = l), c !== a.a && p(r, "clip-path", a.a = c), g !== a.o && p(r, "opacity", a.o = g), d !== a.i && p(r, "z-index", a.i = d), a;
249
+ var o = y("pointer-events-none absolute inset-0", t.isDragging ? "duration-0" : "transition-all duration-300 ease-out", t.class), l = i(), c = n(), g = t.opacity ?? 0.3, d = L.BACKGROUND;
250
+ return o !== a.e && w(r, a.e = o), l !== a.t && p(r, "background", a.t = l), c !== a.a && p(r, "clip-path", a.a = c), g !== a.o && p(r, "opacity", a.o = g), d !== a.i && p(r, "z-index", a.i = d), a;
251
251
  }, {
252
252
  e: void 0,
253
253
  t: void 0,
@@ -349,8 +349,8 @@ function Yt(t) {
349
349
  e.contentLayout() === "horizontal" ? "flex-row items-center" : "flex-col justify-between",
350
350
  Ut("S3", e.size()),
351
351
  t.class
352
- ), a = N.container(e.size()), s = L.CONTENT;
353
- return r !== i.e && w(n, i.e = r), a !== i.t && p(n, "padding", i.t = a), s !== i.a && p(n, "z-index", i.a = s), i;
352
+ ), a = N.container(e.size()), o = L.CONTENT;
353
+ return r !== i.e && w(n, i.e = r), a !== i.t && p(n, "padding", i.t = a), o !== i.a && p(n, "z-index", i.a = o), i;
354
354
  }, {
355
355
  e: void 0,
356
356
  t: void 0,
@@ -480,49 +480,49 @@ function Jt(t) {
480
480
  return f(i, (() => {
481
481
  var a = D(() => !!t.icon);
482
482
  return () => a() && (() => {
483
- var s = Kt();
484
- return f(s, () => t.icon), C((l) => {
485
- var c = y("flex items-center justify-center text-white/30", n() ? "shrink-0" : ""), g = `${N.icon(e.size())}px`, d = `${N.icon(e.size())}px`;
486
- return c !== l.e && w(s, l.e = c), g !== l.t && p(s, "width", l.t = g), d !== l.a && p(s, "height", l.a = d), l;
483
+ var o = Kt();
484
+ return f(o, () => t.icon), C((l) => {
485
+ var c = y("flex items-center justify-center text-foreground/30", n() ? "shrink-0" : ""), g = `${N.icon(e.size())}px`, d = `${N.icon(e.size())}px`;
486
+ return c !== l.e && w(o, l.e = c), g !== l.t && p(o, "width", l.t = g), d !== l.a && p(o, "height", l.a = d), l;
487
487
  }, {
488
488
  e: void 0,
489
489
  t: void 0,
490
490
  a: void 0
491
- }), s;
491
+ }), o;
492
492
  })();
493
493
  })(), r), f(r, (() => {
494
494
  var a = D(() => !!(t.title ?? "No data"));
495
495
  return () => a() && (() => {
496
- var s = qt();
497
- return f(s, () => t.title ?? "No data"), C((l) => {
498
- var c = y("font-semibold text-white/60", H.subtitle(e.size())), g = n() ? "100%" : "80%";
499
- return c !== l.e && w(s, l.e = c), g !== l.t && p(s, "max-width", l.t = g), l;
496
+ var o = qt();
497
+ return f(o, () => t.title ?? "No data"), C((l) => {
498
+ var c = y("font-semibold text-foreground/60", H.subtitle(e.size())), g = n() ? "100%" : "80%";
499
+ return c !== l.e && w(o, l.e = c), g !== l.t && p(o, "max-width", l.t = g), l;
500
500
  }, {
501
501
  e: void 0,
502
502
  t: void 0
503
- }), s;
503
+ }), o;
504
504
  })();
505
505
  })(), null), f(r, (() => {
506
506
  var a = D(() => !!t.message);
507
507
  return () => a() && (() => {
508
- var s = Zt();
509
- return f(s, () => t.message), C((l) => {
510
- var c = y("text-white/50", H.emptyState(e.size())), g = n() ? "100%" : "85%";
511
- return c !== l.e && w(s, l.e = c), g !== l.t && p(s, "max-width", l.t = g), l;
508
+ var o = Zt();
509
+ return f(o, () => t.message), C((l) => {
510
+ var c = y("text-foreground/50", H.emptyState(e.size())), g = n() ? "100%" : "85%";
511
+ return c !== l.e && w(o, l.e = c), g !== l.t && p(o, "max-width", l.t = g), l;
512
512
  }, {
513
513
  e: void 0,
514
514
  t: void 0
515
- }), s;
515
+ }), o;
516
516
  })();
517
517
  })(), null), f(r, (() => {
518
518
  var a = D(() => !!t.action);
519
519
  return () => a() && (() => {
520
- var s = Qt();
521
- return f(s, () => t.action), s;
520
+ var o = Qt();
521
+ return f(o, () => t.action), o;
522
522
  })();
523
523
  })(), null), C((a) => {
524
- var s = y("flex h-full w-full", n() ? "flex-row items-center justify-start" : "flex-col items-center justify-center text-center", t.class), l = N.S2(e.size()), c = N.container(e.size()), g = y("flex flex-col", n() ? "items-start text-left" : "items-center text-center"), d = N.S1(e.size());
525
- return s !== a.e && w(i, a.e = s), l !== a.t && p(i, "gap", a.t = l), c !== a.a && p(i, "padding", a.a = c), g !== a.o && w(r, a.o = g), d !== a.i && p(r, "gap", a.i = d), a;
524
+ var o = y("flex h-full w-full", n() ? "flex-row items-center justify-start" : "flex-col items-center justify-center text-center", t.class), l = N.S2(e.size()), c = N.container(e.size()), g = y("flex flex-col", n() ? "items-start text-left" : "items-center text-center"), d = N.S1(e.size());
525
+ return o !== a.e && w(i, a.e = o), l !== a.t && p(i, "gap", a.t = l), c !== a.a && p(i, "padding", a.a = c), g !== a.o && w(r, a.o = g), d !== a.i && p(r, "gap", a.i = d), a;
526
526
  }, {
527
527
  e: void 0,
528
528
  t: void 0,
@@ -552,28 +552,28 @@ function vt(t, e, n) {
552
552
  t /= 255, e /= 255, n /= 255;
553
553
  const i = Math.max(t, e, n), r = Math.min(t, e, n), a = (i + r) / 2;
554
554
  if (i === r) return { h: 0, s: 0, l: a * 100 };
555
- const s = i - r, l = a > 0.5 ? s / (2 - i - r) : s / (i + r);
555
+ const o = i - r, l = a > 0.5 ? o / (2 - i - r) : o / (i + r);
556
556
  let c = 0;
557
- return i === t ? c = ((e - n) / s + (e < n ? 6 : 0)) / 6 : i === e ? c = ((n - t) / s + 2) / 6 : c = ((t - e) / s + 4) / 6, { h: c * 360, s: l * 100, l: a * 100 };
557
+ return i === t ? c = ((e - n) / o + (e < n ? 6 : 0)) / 6 : i === e ? c = ((n - t) / o + 2) / 6 : c = ((t - e) / o + 4) / 6, { h: c * 360, s: l * 100, l: a * 100 };
558
558
  }
559
559
  function re(t) {
560
560
  return te(t) ?? ee(t) ?? ne(t);
561
561
  }
562
562
  function dt(t, e, n, i) {
563
- const r = Math.round(t), a = Math.round(Math.min(100, Math.max(0, e))), s = Math.round(Math.min(100, Math.max(0, n)));
564
- return i !== void 0 && i < 1 ? `hsla(${r}, ${a}%, ${s}%, ${i})` : `hsl(${r}, ${a}%, ${s}%)`;
563
+ 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)));
564
+ return i !== void 0 && i < 1 ? `hsla(${r}, ${a}%, ${o}%, ${i})` : `hsl(${r}, ${a}%, ${o}%)`;
565
565
  }
566
566
  function ie(t) {
567
567
  const e = re(t);
568
568
  if (!e) return null;
569
569
  const { h: n, s: i, l: r } = e;
570
- let a, s = Math.min(i + 10, 100);
571
- r < 25 ? (a = r + 12, s = Math.min(i + 15, 100)) : r < 40 ? a = Math.max(r - 8, 15) : a = Math.max(18, r * 0.3), i < 15 && (s = 10, a = Math.max(a, 20));
572
- const l = dt(n, s, a, 0.85), c = dt(n, Math.min(i, 90), Math.min(r, 55), 0.5);
570
+ let a, o = Math.min(i + 10, 100);
571
+ 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));
572
+ const l = dt(n, o, a, 0.85), c = dt(n, Math.min(i, 90), Math.min(r, 55), 0.5);
573
573
  return { background: l, glow: c };
574
574
  }
575
- var ae = /* @__PURE__ */ x('<div><div class="flex items-center justify-center text-white">'), gt = /* @__PURE__ */ x("<div>");
576
- function se(t) {
575
+ var ae = /* @__PURE__ */ x('<div><div class="flex items-center justify-center text-foreground">'), gt = /* @__PURE__ */ x("<div>");
576
+ function oe(t) {
577
577
  const e = G(), n = () => t.dynamicColor ? ie(t.dynamicColor) : null, i = () => !!n(), r = () => {
578
578
  const c = n();
579
579
  if (c)
@@ -586,7 +586,7 @@ function se(t) {
586
586
  return {
587
587
  "box-shadow": `0 0 25px ${c.glow}`
588
588
  };
589
- }, s = () => {
589
+ }, o = () => {
590
590
  const c = {
591
591
  width: `${N.icon(e.size())}px`,
592
592
  height: `${N.icon(e.size())}px`,
@@ -612,8 +612,8 @@ function se(t) {
612
612
  return () => d() && (() => {
613
613
  var h = gt();
614
614
  return C((k) => {
615
- var u = y("absolute", !i() && (t.color ?? "bg-white/10")), o = l(0.14, -2, 0.45);
616
- return u !== k.e && w(h, k.e = u), k.t = tt(h, o, k.t), k;
615
+ var u = y("absolute", !i() && (t.color ?? "bg-foreground/10")), s = l(0.14, -2, 0.45);
616
+ return u !== k.e && w(h, k.e = u), k.t = tt(h, s, k.t), k;
617
617
  }, {
618
618
  e: void 0,
619
619
  t: void 0
@@ -624,8 +624,8 @@ function se(t) {
624
624
  return () => d() && (() => {
625
625
  var h = gt();
626
626
  return C((k) => {
627
- var u = y("absolute", !i() && (t.color ?? "bg-white/10")), o = l(0.28, -3, 0.2);
628
- return u !== k.e && w(h, k.e = u), k.t = tt(h, o, k.t), k;
627
+ var u = y("absolute", !i() && (t.color ?? "bg-foreground/10")), s = l(0.28, -3, 0.2);
628
+ return u !== k.e && w(h, k.e = u), k.t = tt(h, s, k.t), k;
629
629
  }, {
630
630
  e: void 0,
631
631
  t: void 0
@@ -638,10 +638,10 @@ function se(t) {
638
638
  t.dimmed && "opacity-50",
639
639
  // Only apply Tailwind classes when not using dynamic colors
640
640
  !i() && t.glow && "shadow-[0_0_25px]",
641
- !i() && (t.color ?? "bg-white/10"),
641
+ !i() && (t.color ?? "bg-foreground/10"),
642
642
  !i() && t.glow,
643
643
  t.class
644
- ), k = s(), u = `${N.iconSize(e.size())}px`;
644
+ ), k = o(), u = `${N.iconSize(e.size())}px`;
645
645
  return h !== d.e && w(c, d.e = h), d.t = tt(c, k, d.t), u !== d.a && p(g, "font-size", d.a = u), d;
646
646
  }, {
647
647
  e: void 0,
@@ -650,14 +650,14 @@ function se(t) {
650
650
  }), c;
651
651
  })();
652
652
  }
653
- var oe = /* @__PURE__ */ x("<div>"), le = /* @__PURE__ */ x("<div><div><span></span></div><div>"), ce = /* @__PURE__ */ x("<span class=shrink-0>"), ue = /* @__PURE__ */ x('<span class="ml-1 text-white/70">');
653
+ var se = /* @__PURE__ */ x("<div>"), le = /* @__PURE__ */ x("<div><div><span></span></div><div>"), ce = /* @__PURE__ */ x("<span class=shrink-0>"), ue = /* @__PURE__ */ x('<span class="ml-1 text-foreground/70">');
654
654
  function de(t) {
655
655
  const e = G(), n = () => {
656
656
  const i = t.direction ?? "auto";
657
657
  return i === "auto" ? e.orientation() === "horizontal" ? "horizontal" : "vertical" : i;
658
658
  };
659
659
  return (() => {
660
- var i = oe();
660
+ var i = se();
661
661
  return f(i, () => t.children), C(() => w(i, y("flex", n() === "horizontal" ? "flex-row gap-4" : "flex-col gap-2", t.class))), i;
662
662
  })();
663
663
  }
@@ -666,20 +666,20 @@ function ge(t) {
666
666
  return (() => {
667
667
  var n = le(), i = n.firstChild, r = i.firstChild, a = i.nextSibling;
668
668
  return f(i, (() => {
669
- var s = D(() => !!t.icon);
670
- return () => s() && (() => {
669
+ var o = D(() => !!t.icon);
670
+ return () => o() && (() => {
671
671
  var l = ce();
672
672
  return f(l, () => t.icon), l;
673
673
  })();
674
674
  })(), r), f(r, () => t.label), f(a, () => t.value, null), f(a, (() => {
675
- var s = D(() => !!t.unit);
676
- return () => s() && (() => {
675
+ var o = D(() => !!t.unit);
676
+ return () => o() && (() => {
677
677
  var l = ue();
678
678
  return f(l, () => t.unit), l;
679
679
  })();
680
- })(), null), C((s) => {
681
- var l = y("flex flex-col", t.dimmed && "opacity-50", t.class), c = N.S1(e.size()), g = y("flex items-center gap-1 text-white/60", H.metricLabel(e.size())), d = y("font-semibold text-white", H.metricValue(e.size()));
682
- return l !== s.e && w(n, s.e = l), c !== s.t && p(n, "gap", s.t = c), g !== s.a && w(i, s.a = g), d !== s.o && w(a, s.o = d), s;
680
+ })(), null), C((o) => {
681
+ var l = y("flex flex-col", t.dimmed && "opacity-50", t.class), c = N.S1(e.size()), g = y("flex items-center gap-1 text-foreground/60", H.metricLabel(e.size())), d = y("font-semibold text-foreground", H.metricValue(e.size()));
682
+ return l !== o.e && w(n, o.e = l), c !== o.t && p(n, "gap", o.t = c), g !== o.a && w(i, o.a = g), d !== o.o && w(a, o.o = d), o;
683
683
  }, {
684
684
  e: void 0,
685
685
  t: void 0,
@@ -699,7 +699,7 @@ function fe(t) {
699
699
  var i = D(() => !!t.isUnavailable);
700
700
  return () => i() ? "Unavailable" : t.children;
701
701
  })()), C((i) => {
702
- var r = y("relative font-bold text-white", t.dimmed && "opacity-40", H.status(e.size()), t.class), a = L.ACTIONS;
702
+ var r = y("relative font-bold text-foreground", t.dimmed && "opacity-40", H.status(e.size()), t.class), a = L.ACTIONS;
703
703
  return r !== i.e && w(n, i.e = r), a !== i.t && p(n, "z-index", i.t = a), i;
704
704
  }, {
705
705
  e: void 0,
@@ -712,7 +712,7 @@ function xe(t) {
712
712
  const e = G();
713
713
  return (() => {
714
714
  var n = he();
715
- return f(n, () => t.children), C(() => w(n, y("truncate font-medium text-white/80", t.dimmed && "text-white/50", H.subtitle(e.size()), t.class))), n;
715
+ return f(n, () => t.children), C(() => w(n, y("truncate font-medium text-foreground/80", t.dimmed && "text-foreground/50", H.subtitle(e.size()), t.class))), n;
716
716
  })();
717
717
  }
718
718
  var ve = /* @__PURE__ */ x("<div><h3>"), be = /* @__PURE__ */ x("<span>");
@@ -724,11 +724,11 @@ function ye(t) {
724
724
  var r = D(() => t.badge !== void 0 && t.badge > 0);
725
725
  return () => r() && (() => {
726
726
  var a = be();
727
- return f(a, () => t.badge), C(() => w(a, y("shrink-0 rounded-full bg-white/20 px-2 py-0.5 font-medium text-white", H.badge(e.size())))), a;
727
+ return f(a, () => t.badge), C(() => w(a, y("shrink-0 rounded-full bg-foreground/20 px-2 py-0.5 font-medium text-foreground", H.badge(e.size())))), a;
728
728
  })();
729
729
  })(), null), C((r) => {
730
- var a = y("relative flex items-center", t.class), s = N.S1(e.size()), l = L.ACTIONS, c = y("truncate text-white/60", H.title(e.size()));
731
- return a !== r.e && w(n, r.e = a), s !== r.t && p(n, "gap", r.t = s), l !== r.a && p(n, "z-index", r.a = l), c !== r.o && w(i, r.o = c), r;
730
+ var a = y("relative flex items-center", t.class), o = N.S1(e.size()), l = L.ACTIONS, c = y("truncate text-foreground/60", H.title(e.size()));
731
+ return a !== r.e && w(n, r.e = a), o !== r.t && p(n, "gap", r.t = o), l !== r.a && p(n, "z-index", r.a = l), c !== r.o && w(i, r.o = c), r;
732
732
  }, {
733
733
  e: void 0,
734
734
  t: void 0,
@@ -774,7 +774,7 @@ function we(t, e = !1) {
774
774
  description: S ? "On" : "Off"
775
775
  };
776
776
  }
777
- let i = 0, r = 0, a = 0, s = 0, l = 0, c = 0;
777
+ let i = 0, r = 0, a = 0, o = 0, l = 0, c = 0;
778
778
  const g = [];
779
779
  for (const _ of t)
780
780
  switch (_.state) {
@@ -788,12 +788,12 @@ function we(t, e = !1) {
788
788
  a++;
789
789
  break;
790
790
  case "unavailable":
791
- s++;
791
+ o++;
792
792
  break;
793
793
  }
794
- const d = t.length, h = s === d, k = a + s === d, u = i > 0, o = i === d, b = r === d;
794
+ const d = t.length, h = o === d, k = a + o === d, u = i > 0, s = i === d, b = r === d;
795
795
  let v, T;
796
- e ? h ? (v = "unavailable", T = !1) : a > 0 || s > 0 ? (v = "unknown", T = !1) : r > 0 ? (v = "off", T = !1) : (v = "on", T = !0) : h ? (v = "unavailable", T = !1) : k ? (v = "unknown", T = !1) : u ? (v = "on", T = !0) : (v = "off", T = !1);
796
+ e ? h ? (v = "unavailable", T = !1) : a > 0 || o > 0 ? (v = "unknown", T = !1) : r > 0 ? (v = "off", T = !1) : (v = "on", T = !0) : h ? (v = "unavailable", T = !1) : k ? (v = "unknown", T = !1) : u ? (v = "on", T = !0) : (v = "off", T = !1);
797
797
  const U = c > 0 ? Math.round(l / c) : 0, $ = Math.round(U / 255 * 100);
798
798
  let A;
799
799
  if (g.length > 0) {
@@ -802,7 +802,7 @@ function we(t, e = !1) {
802
802
  } else
803
803
  A = mt(t[0]);
804
804
  let E;
805
- return o ? E = "All on" : b ? E = "All off" : i > 0 ? E = `${i} of ${d} on` : E = "Off", {
805
+ return s ? E = "All on" : b ? E = "All off" : i > 0 ? E = `${i} of ${d} on` : E = "Off", {
806
806
  isGroup: n,
807
807
  state: v,
808
808
  isOn: T,
@@ -826,40 +826,40 @@ function $e(t, e = "mean", n = !0) {
826
826
  };
827
827
  const i = t.length > 1;
828
828
  if (!i) {
829
- const u = t[0], o = Number.parseFloat(u.state);
829
+ const u = t[0], s = Number.parseFloat(u.state);
830
830
  let b = u.state;
831
- return Number.isNaN(o) || (b = Number.isInteger(o) ? o.toString() : o.toFixed(1)), {
831
+ return Number.isNaN(s) || (b = Number.isInteger(s) ? s.toString() : s.toFixed(1)), {
832
832
  isGroup: !1,
833
833
  state: b,
834
- numericValue: Number.isNaN(o) ? null : o,
834
+ numericValue: Number.isNaN(s) ? null : s,
835
835
  isUnavailable: u.state === "unavailable",
836
836
  unit: u.unitOfMeasurement ?? void 0,
837
837
  description: b
838
838
  };
839
839
  }
840
840
  const r = [], a = [];
841
- let s = 0, l;
841
+ let o = 0, l;
842
842
  for (const u of t) {
843
843
  if (!l && u.unitOfMeasurement && (l = u.unitOfMeasurement), u.state === "unavailable") {
844
- s++, a.push({
844
+ o++, a.push({
845
845
  entityId: u.id,
846
846
  value: "unavailable",
847
847
  friendly_name: u.friendlyName
848
848
  });
849
849
  continue;
850
850
  }
851
- const o = Number.parseFloat(u.state);
852
- isNaN(o) ? n || a.push({
851
+ const s = Number.parseFloat(u.state);
852
+ isNaN(s) ? n || a.push({
853
853
  entityId: u.id,
854
854
  value: u.state,
855
855
  friendly_name: u.friendlyName
856
- }) : (r.push(o), a.push({
856
+ }) : (r.push(s), a.push({
857
857
  entityId: u.id,
858
- value: o,
858
+ value: s,
859
859
  friendly_name: u.friendlyName
860
860
  }));
861
861
  }
862
- const c = s === t.length, g = r.length === 0;
862
+ const c = o === t.length, g = r.length === 0;
863
863
  if (c || g)
864
864
  return {
865
865
  isGroup: i,
@@ -879,15 +879,15 @@ function $e(t, e = "mean", n = !0) {
879
879
  d = Math.max(...r), h = "Maximum";
880
880
  break;
881
881
  case "mean":
882
- d = r.reduce((u, o) => u + o, 0) / r.length, h = "Average";
882
+ d = r.reduce((u, s) => u + s, 0) / r.length, h = "Average";
883
883
  break;
884
884
  case "median": {
885
- const u = [...r].sort((b, v) => b - v), o = Math.floor(u.length / 2);
886
- d = u.length % 2 === 0 ? (u[o - 1] + u[o]) / 2 : u[o], h = "Median";
885
+ const u = [...r].sort((b, v) => b - v), s = Math.floor(u.length / 2);
886
+ d = u.length % 2 === 0 ? (u[s - 1] + u[s]) / 2 : u[s], h = "Median";
887
887
  break;
888
888
  }
889
889
  case "sum":
890
- d = r.reduce((u, o) => u + o, 0), h = "Sum";
890
+ d = r.reduce((u, s) => u + s, 0), h = "Sum";
891
891
  break;
892
892
  case "last":
893
893
  d = r[r.length - 1], h = "Latest";
@@ -896,15 +896,15 @@ function $e(t, e = "mean", n = !0) {
896
896
  d = Math.max(...r) - Math.min(...r), h = "Range";
897
897
  break;
898
898
  case "product":
899
- d = r.reduce((u, o) => u * o, 1), h = "Product";
899
+ d = r.reduce((u, s) => u * s, 1), h = "Product";
900
900
  break;
901
901
  case "std_dev": {
902
- const u = r.reduce((b, v) => b + v, 0) / r.length, o = r.reduce((b, v) => b + (v - u) ** 2, 0) / r.length;
903
- d = Math.sqrt(o), h = "Std Dev";
902
+ const u = r.reduce((b, v) => b + v, 0) / r.length, s = r.reduce((b, v) => b + (v - u) ** 2, 0) / r.length;
903
+ d = Math.sqrt(s), h = "Std Dev";
904
904
  break;
905
905
  }
906
906
  default:
907
- d = r.reduce((u, o) => u + o, 0) / r.length, h = "Average";
907
+ d = r.reduce((u, s) => u + s, 0) / r.length, h = "Average";
908
908
  }
909
909
  const k = Number.isInteger(d) ? d.toString() : d.toFixed(1);
910
910
  return {
@@ -926,8 +926,8 @@ function mt(t) {
926
926
  }
927
927
  if (t.attributes?.color_temp) {
928
928
  const r = 1e6 / t.attributes.color_temp / 100;
929
- let a, s, l;
930
- return r <= 66 ? (a = 255, s = r <= 19 ? 0 : 99.4708025861 * Math.log(r - 10) - 161.1195681661, l = r <= 19 ? 0 : r <= 66 ? 138.5177312231 * Math.log(r - 10) - 305.0447927307 : 255) : (a = 329.698727446 * (r - 60) ** -0.1332047592, s = 288.1221695283 * (r - 60) ** -0.0755148492, l = 255), a = Math.max(0, Math.min(255, a)) * n, s = Math.max(0, Math.min(255, s)) * n, l = Math.max(0, Math.min(255, l)) * n, `rgb(${Math.round(a)}, ${Math.round(s)}, ${Math.round(l)})`;
929
+ let a, o, l;
930
+ return r <= 66 ? (a = 255, o = r <= 19 ? 0 : 99.4708025861 * Math.log(r - 10) - 161.1195681661, l = 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, l = 255), a = Math.max(0, Math.min(255, a)) * n, o = Math.max(0, Math.min(255, o)) * n, l = Math.max(0, Math.min(255, l)) * n, `rgb(${Math.round(a)}, ${Math.round(o)}, ${Math.round(l)})`;
931
931
  }
932
932
  return `rgb(${Math.round(255 * n)}, ${Math.round(220 * n)}, ${Math.round(180 * n)})`;
933
933
  }
@@ -971,10 +971,10 @@ function Se(t, e, n) {
971
971
  return e ? `${t}${e}` : t;
972
972
  if (t == null || Number.isNaN(t))
973
973
  return e ? `--${e}` : "--";
974
- let a = t, s = e || "";
975
- r && e && (e === "W" || e === "kW" || e === "MW") && (t >= 1e6 ? (a = t / 1e6, s = "MW") : t >= 1e3 ? (a = t / 1e3, s = "kW") : s = "W"), r && e && (e === "B" || e === "KB" || e === "MB" || e === "GB") && (t >= 1073741824 ? (a = t / 1073741824, s = "GB") : t >= 1048576 ? (a = t / 1048576, s = "MB") : t >= 1024 ? (a = t / 1024, s = "KB") : s = "B");
974
+ let a = t, o = e || "";
975
+ 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");
976
976
  let l;
977
- return i !== void 0 ? l = a.toFixed(i) : a !== t ? l = a.toFixed(1) : Number.isInteger(t) ? l = t.toString() : l = Number.parseFloat(t.toFixed(2)).toString(), s ? `${l}${s}` : l;
977
+ return i !== void 0 ? l = a.toFixed(i) : a !== t ? l = a.toFixed(1) : Number.isInteger(t) ? l = t.toString() : l = Number.parseFloat(t.toFixed(2)).toString(), o ? `${l}${o}` : l;
978
978
  }
979
979
  function Ce(t, e) {
980
980
  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;
@@ -988,17 +988,17 @@ function De(t) {
988
988
  var r = D(() => !!(t.interpret && typeof t.value == "number"));
989
989
  return () => r() && (() => {
990
990
  var a = ze();
991
- return f(a, () => Ce(t.value, t.unit)), C((s) => {
992
- var l = y("text-white/60", H.subtitle(e.size())), c = N.S1(e.size());
993
- return l !== s.e && w(a, s.e = l), c !== s.t && p(a, "margin-top", s.t = c), s;
991
+ return f(a, () => Ce(t.value, t.unit)), C((o) => {
992
+ var l = y("text-foreground/60", H.subtitle(e.size())), c = N.S1(e.size());
993
+ return l !== o.e && w(a, o.e = l), c !== o.t && p(a, "margin-top", o.t = c), o;
994
994
  }, {
995
995
  e: void 0,
996
996
  t: void 0
997
997
  }), a;
998
998
  })();
999
999
  })(), null), C((r) => {
1000
- var a = y("flex flex-col", t.class), s = y("font-bold text-white", H.value(e.size()));
1001
- return a !== r.e && w(n, r.e = a), s !== r.t && w(i, r.t = s), r;
1000
+ var a = y("flex flex-col", t.class), o = y("font-bold text-foreground", H.value(e.size()));
1001
+ return a !== r.e && w(n, r.e = a), o !== r.t && w(i, r.t = o), r;
1002
1002
  }, {
1003
1003
  e: void 0,
1004
1004
  t: void 0
@@ -1018,9 +1018,9 @@ function Re(t, e) {
1018
1018
  }
1019
1019
  function Ge(t) {
1020
1020
  let e;
1021
- const n = Mt(() => e), i = 2, [r, a] = j(0), [s, l] = j(0);
1021
+ const n = Mt(() => e), i = 2, [r, a] = j(0), [o, l] = j(0);
1022
1022
  F(() => {
1023
- const $ = Math.round(n.width ?? 0), A = Math.round(n.height ?? 0), E = ut(r), _ = ut(s);
1023
+ const $ = Math.round(n.width ?? 0), A = Math.round(n.height ?? 0), E = ut(r), _ = ut(o);
1024
1024
  (Math.abs($ - E) > i || Math.abs(A - _) > i) && (a($), l(A));
1025
1025
  });
1026
1026
  const c = z(() => {
@@ -1028,9 +1028,9 @@ function Ge(t) {
1028
1028
  return typeof t.variant == "string" ? Vt(t.variant) : t.variant;
1029
1029
  }), g = z(() => ({
1030
1030
  width: r(),
1031
- height: s(),
1031
+ height: o(),
1032
1032
  gridWidth: Math.max(1, Math.round(r() / 150)),
1033
- gridHeight: Math.max(1, Math.round(s() / 75))
1033
+ gridHeight: Math.max(1, Math.round(o() / 75))
1034
1034
  }), void 0, {
1035
1035
  equals: ($, A) => $.width === A.width && $.height === A.height && $.gridWidth === A.gridWidth && $.gridHeight === A.gridHeight
1036
1036
  }), d = z(() => {
@@ -1042,17 +1042,17 @@ function Ge(t) {
1042
1042
  }), k = z(() => {
1043
1043
  const $ = g();
1044
1044
  return Re($.width, $.height);
1045
- }), u = ht(st), o = u;
1046
- o?._isStub?.() && o._bridge && (F(() => {
1047
- o._bridge.setSize(d());
1045
+ }), u = ht(ot), s = u;
1046
+ s?._isStub?.() && s._bridge && (F(() => {
1047
+ s._bridge.setSize(d());
1048
1048
  }), F(() => {
1049
- o._bridge.setOrientation(h());
1049
+ s._bridge.setOrientation(h());
1050
1050
  }), F(() => {
1051
- o._bridge.setContentLayout(k());
1051
+ s._bridge.setContentLayout(k());
1052
1052
  }), F(() => {
1053
- o._bridge.setDimensions(g());
1053
+ s._bridge.setDimensions(g());
1054
1054
  }), F(() => {
1055
- o._bridge.setIsStub(!1);
1055
+ s._bridge.setIsStub(!1);
1056
1056
  }));
1057
1057
  const b = {
1058
1058
  size: d,
@@ -1068,7 +1068,7 @@ function Ge(t) {
1068
1068
  ...c()?.styles?.container,
1069
1069
  ...c()?.styles?.cssVars || {}
1070
1070
  }));
1071
- return W(st.Provider, {
1071
+ return W(ot.Provider, {
1072
1072
  value: b,
1073
1073
  get children() {
1074
1074
  var $ = _e(), A = $.firstChild, E = A.firstChild, _ = e;
@@ -1151,7 +1151,7 @@ function Be(t) {
1151
1151
  }
1152
1152
  const P = Ge;
1153
1153
  P.Content = Yt;
1154
- P.Icon = se;
1154
+ P.Icon = oe;
1155
1155
  P.Title = ye;
1156
1156
  P.Subtitle = xe;
1157
1157
  P.Status = fe;
@@ -1173,8 +1173,8 @@ function On(t) {
1173
1173
  return (() => {
1174
1174
  var n = He(), i = n.firstChild;
1175
1175
  return C((r) => {
1176
- var a = y("pointer-events-none absolute inset-0", t.class), s = L.BACKGROUND, l = y("absolute inset-0 opacity-40 blur-3xl", e());
1177
- return a !== r.e && w(n, r.e = a), s !== r.t && p(n, "z-index", r.t = s), l !== r.a && w(i, r.a = l), r;
1176
+ var a = y("pointer-events-none absolute inset-0", t.class), o = L.BACKGROUND, l = y("absolute inset-0 opacity-40 blur-3xl", e());
1177
+ return a !== r.e && w(n, r.e = a), o !== r.t && p(n, "z-index", r.t = o), l !== r.a && w(i, r.a = l), r;
1178
1178
  }, {
1179
1179
  e: void 0,
1180
1180
  t: void 0,
@@ -1191,8 +1191,8 @@ function Vn(t) {
1191
1191
  return (() => {
1192
1192
  var i = Pe();
1193
1193
  return f(i, () => t.children), C((r) => {
1194
- var a = y("flex flex-col", t.class), s = n();
1195
- return a !== r.e && w(i, r.e = a), s !== r.t && p(i, "gap", r.t = s), r;
1194
+ var a = y("flex flex-col", t.class), o = n();
1195
+ return a !== r.e && w(i, r.e = a), o !== r.t && p(i, "gap", r.t = o), r;
1196
1196
  }, {
1197
1197
  e: void 0,
1198
1198
  t: void 0
@@ -1216,7 +1216,7 @@ function nn(t) {
1216
1216
  }
1217
1217
  function Wn(t) {
1218
1218
  const [e] = $t(t, ["open", "onOpenChange", "title", "onSave", "hasUnsavedChanges", "onDelete", "editContent", "controlsContent", "debugContent", "debugData", "tabs", "class", "maxWidth", "defaultTab", "headerActions", "ResponsiveDialog", "ResponsiveDialogContent", "ResponsiveDialogHeader", "ResponsiveDialogTitle", "ResponsiveDialogDescription", "Button"]), [n, i] = j(e.defaultTab ?? "controls"), r = () => {
1219
- const o = e.maxWidth ?? "3xl";
1219
+ const s = e.maxWidth ?? "3xl";
1220
1220
  return {
1221
1221
  sm: "max-w-sm",
1222
1222
  md: "max-w-md",
@@ -1225,36 +1225,36 @@ function Wn(t) {
1225
1225
  "2xl": "max-w-2xl",
1226
1226
  "3xl": "max-w-3xl",
1227
1227
  "4xl": "max-w-4xl"
1228
- }[o];
1228
+ }[s];
1229
1229
  }, a = () => {
1230
1230
  if (e.tabs) return e.tabs;
1231
- const o = [];
1232
- return o.push({
1231
+ const s = [];
1232
+ return s.push({
1233
1233
  id: "edit",
1234
1234
  label: "Edit",
1235
1235
  icon: Fe(),
1236
1236
  content: e.editContent ?? Ye()
1237
- }), o.push({
1237
+ }), s.push({
1238
1238
  id: "controls",
1239
1239
  label: "Controls",
1240
1240
  icon: Xe(),
1241
1241
  content: e.controlsContent ?? Ke()
1242
- }), o.push({
1242
+ }), s.push({
1243
1243
  id: "debug",
1244
1244
  label: "Debug",
1245
1245
  icon: qe(),
1246
1246
  content: e.debugContent ?? Ze()
1247
- }), o;
1248
- }, s = async () => {
1247
+ }), s;
1248
+ }, o = async () => {
1249
1249
  if (e.debugData !== void 0)
1250
1250
  try {
1251
- const o = typeof e.debugData == "string" ? e.debugData : JSON.stringify(e.debugData, null, 2);
1252
- await navigator.clipboard.writeText(o);
1251
+ const s = typeof e.debugData == "string" ? e.debugData : JSON.stringify(e.debugData, null, 2);
1252
+ await navigator.clipboard.writeText(s);
1253
1253
  } catch {
1254
1254
  }
1255
1255
  }, l = () => {
1256
- const o = a();
1257
- return o.find((v) => v.id === n())?.content ?? o[0]?.content;
1256
+ const s = a();
1257
+ return s.find((v) => v.id === n())?.content ?? s[0]?.content;
1258
1258
  }, c = e.ResponsiveDialog, g = e.ResponsiveDialogContent, d = e.ResponsiveDialogHeader, h = e.ResponsiveDialogTitle, k = e.ResponsiveDialogDescription, u = e.Button;
1259
1259
  return W(c, {
1260
1260
  get open() {
@@ -1273,18 +1273,18 @@ function Wn(t) {
1273
1273
  class: "flex flex-row items-center justify-between gap-3",
1274
1274
  get children() {
1275
1275
  return [(() => {
1276
- var o = Qe();
1277
- return f(o, W(h, {
1276
+ var s = Qe();
1277
+ return f(s, W(h, {
1278
1278
  class: "truncate leading-tight",
1279
1279
  get children() {
1280
1280
  return e.title;
1281
1281
  }
1282
- }), null), f(o, W(k, {
1282
+ }), null), f(s, W(k, {
1283
1283
  class: "sr-only",
1284
1284
  children: "Widget configuration dialog"
1285
- }), null), o;
1285
+ }), null), s;
1286
1286
  })(), (() => {
1287
- var o = Je(), b = o.firstChild;
1287
+ var s = Je(), b = s.firstChild;
1288
1288
  return f(b, () => a().map((v) => W(nn, {
1289
1289
  get icon() {
1290
1290
  return v.icon;
@@ -1296,14 +1296,14 @@ function Wn(t) {
1296
1296
  return n() === v.id;
1297
1297
  },
1298
1298
  onClick: () => i(v.id)
1299
- }))), f(o, W(K, {
1299
+ }))), f(s, W(K, {
1300
1300
  get when() {
1301
1301
  return e.headerActions;
1302
1302
  },
1303
1303
  get children() {
1304
1304
  return e.headerActions;
1305
1305
  }
1306
- }), null), f(o, W(K, {
1306
+ }), null), f(s, W(K, {
1307
1307
  get when() {
1308
1308
  return D(() => !!(n() === "edit" && e.onSave))() && e.hasUnsavedChanges;
1309
1309
  },
@@ -1314,7 +1314,7 @@ function Wn(t) {
1314
1314
  children: "Save"
1315
1315
  });
1316
1316
  }
1317
- }), null), f(o, W(K, {
1317
+ }), null), f(s, W(K, {
1318
1318
  get when() {
1319
1319
  return D(() => n() === "edit")() && e.onDelete;
1320
1320
  },
@@ -1326,24 +1326,24 @@ function Wn(t) {
1326
1326
  children: "Delete"
1327
1327
  });
1328
1328
  }
1329
- }), null), o;
1329
+ }), null), s;
1330
1330
  })()];
1331
1331
  }
1332
1332
  }), (() => {
1333
- var o = tn();
1334
- return f(o, l), o;
1333
+ var s = tn();
1334
+ return f(s, l), s;
1335
1335
  })(), W(K, {
1336
1336
  get when() {
1337
1337
  return D(() => n() === "debug")() && e.debugData !== void 0;
1338
1338
  },
1339
1339
  get children() {
1340
- var o = en();
1341
- return f(o, W(u, {
1340
+ var s = en();
1341
+ return f(s, W(u, {
1342
1342
  size: "sm",
1343
1343
  variant: "outline",
1344
- onClick: s,
1344
+ onClick: o,
1345
1345
  children: "Copy"
1346
- })), o;
1346
+ })), s;
1347
1347
  }
1348
1348
  })];
1349
1349
  }
@@ -1370,13 +1370,13 @@ const an = rt(`
1370
1370
  <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"/>
1371
1371
  </g>
1372
1372
  </g>
1373
- `), sn = rt(`
1373
+ `), on = rt(`
1374
1374
  <g>
1375
1375
  <circle cx="${m}" cy="${m}" r="8" stroke="${et}" stroke-width="${nt}" fill="none"/>
1376
1376
  <circle cx="${m}" cy="${m}" r="8" stroke="${B}" stroke-width="1.5" fill="none"/>
1377
1377
  <circle cx="${m}" cy="${m}" r="1.5" fill="${B}"/>
1378
1378
  </g>
1379
- `), on = rt(`
1379
+ `), sn = rt(`
1380
1380
  <g>
1381
1381
  <!-- shadow -->
1382
1382
  <g stroke="${et}" stroke-width="${nt}" fill="none" stroke-linecap="round" stroke-linejoin="round">
@@ -1420,8 +1420,8 @@ function J(t, e, n) {
1420
1420
  }
1421
1421
  const Y = {
1422
1422
  tap: J(an, 12, 4),
1423
- hold: J(sn, 16, 16),
1424
- slideHorizontal: J(on, m, m),
1423
+ hold: J(on, 16, 16),
1424
+ slideHorizontal: J(sn, m, m),
1425
1425
  slideVertical: J(ln, m, m)
1426
1426
  };
1427
1427
  function In(t, e) {
@@ -1440,7 +1440,7 @@ function In(t, e) {
1440
1440
  element: null
1441
1441
  }, i = 10, r = 5, a = () => {
1442
1442
  n.holdTimer && (clearTimeout(n.holdTimer), n.holdTimer = null), n.slideActivationTimer && (clearTimeout(n.slideActivationTimer), n.slideActivationTimer = null);
1443
- }, s = (u) => {
1443
+ }, o = (u) => {
1444
1444
  const b = t().slide;
1445
1445
  if (b?.orientation === "horizontal") return "horizontal";
1446
1446
  if (b?.orientation === "vertical") return "vertical";
@@ -1450,16 +1450,16 @@ function In(t, e) {
1450
1450
  }
1451
1451
  return (e?.() ?? "horizontal") === "horizontal" ? "horizontal" : "vertical";
1452
1452
  }, l = (u) => {
1453
- const o = t();
1454
- if (!(!o.tap && !o.hold && !o.slide)) {
1455
- if (n.isDown = !0, n.element = u.currentTarget, n.startX = u.clientX, n.startY = u.clientY, n.currentX = u.clientX, n.currentY = u.clientY, n.startTime = Date.now(), n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, u.currentTarget.setPointerCapture(u.pointerId), o.hold) {
1456
- const b = o.hold.delay ?? 300;
1453
+ const s = t();
1454
+ if (!(!s.tap && !s.hold && !s.slide)) {
1455
+ if (u.preventDefault(), n.isDown = !0, n.element = u.currentTarget, n.startX = u.clientX, n.startY = u.clientY, n.currentX = u.clientX, n.currentY = u.clientY, n.startTime = Date.now(), n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, u.currentTarget.setPointerCapture(u.pointerId), s.hold) {
1456
+ const b = s.hold.delay ?? 300;
1457
1457
  n.holdTimer = setTimeout(() => {
1458
- n.isDown && !n.hasMoved && (o.hold.action(), n.isDown = !1);
1458
+ n.isDown && !n.hasMoved && (s.hold.action(), n.isDown = !1);
1459
1459
  }, b);
1460
1460
  }
1461
- if (o.slide) {
1462
- const b = o.slide.activationDelay ?? 0;
1461
+ if (s.slide) {
1462
+ const b = s.slide.activationDelay ?? 0;
1463
1463
  b > 0 ? n.slideActivationTimer = setTimeout(() => {
1464
1464
  n.slideActive = !0;
1465
1465
  }, b) : n.slideActive = !0;
@@ -1467,37 +1467,37 @@ function In(t, e) {
1467
1467
  }
1468
1468
  }, c = (u) => {
1469
1469
  if (!n.isDown) return;
1470
- const o = t();
1470
+ const s = t();
1471
1471
  n.currentX = u.clientX, n.currentY = u.clientY;
1472
- const b = n.currentX - n.startX, v = n.currentY - n.startY, T = Math.abs(b), U = Math.abs(v), $ = Math.sqrt(b * b + v * v), A = u.currentTarget, E = s(A);
1473
- if (!n.lockedAxis && $ > r && (T > U ? n.lockedAxis = "horizontal" : n.lockedAxis = "vertical", o.slide && n.lockedAxis !== E)) {
1472
+ const b = n.currentX - n.startX, v = n.currentY - n.startY, T = Math.abs(b), U = Math.abs(v), $ = Math.sqrt(b * b + v * v), A = u.currentTarget, E = o(A);
1473
+ if (!n.lockedAxis && $ > r && (T > U ? n.lockedAxis = "horizontal" : n.lockedAxis = "vertical", s.slide && n.lockedAxis !== E)) {
1474
1474
  A.releasePointerCapture(u.pointerId), n.isDown = !1, n.slideActive = !1, a();
1475
1475
  return;
1476
1476
  }
1477
- if ($ > i && (n.hasMoved = !0, a()), o.slide && n.slideActive && n.hasMoved && n.lockedAxis === E) {
1478
- const _ = o.slide.min ?? 0, S = o.slide.max ?? 100, O = S - _, I = E === "vertical" ? -v : b, V = E === "vertical" ? u.currentTarget.clientHeight : u.currentTarget.clientWidth, Q = I / V * O, yt = Math.max(_, Math.min(S, o.slide.value + Q));
1479
- o.slide.onChange(Math.round(yt)), n.startX = n.currentX, n.startY = n.currentY, u.preventDefault();
1477
+ if ($ > i && (n.hasMoved = !0, a()), s.slide && n.slideActive && n.hasMoved && n.lockedAxis === E) {
1478
+ const _ = s.slide.min ?? 0, S = s.slide.max ?? 100, O = S - _, I = E === "vertical" ? -v : b, V = E === "vertical" ? u.currentTarget.clientHeight : u.currentTarget.clientWidth, Q = I / V * O, yt = Math.max(_, Math.min(S, s.slide.value + Q));
1479
+ s.slide.onChange(Math.round(yt)), n.startX = n.currentX, n.startY = n.currentY, u.preventDefault();
1480
1480
  }
1481
1481
  }, g = (u) => {
1482
1482
  if (!n.isDown) return;
1483
- const o = t(), b = o.hold?.delay ?? 300;
1484
- if (a(), o.tap && !n.hasMoved) {
1483
+ const s = t(), b = s.hold?.delay ?? 300;
1484
+ if (a(), s.tap && !n.hasMoved) {
1485
1485
  const v = Date.now() - n.startTime;
1486
- n.isDown && v < b && o.tap();
1486
+ n.isDown && v < b && s.tap();
1487
1487
  }
1488
1488
  n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, u.currentTarget.releasePointerCapture(u.pointerId);
1489
1489
  }, d = (u) => {
1490
1490
  a(), n.isDown = !1, n.hasMoved = !1, n.slideActive = !1, n.lockedAxis = null, u.currentTarget.releasePointerCapture(u.pointerId);
1491
1491
  }, h = (u) => {
1492
- const o = t();
1493
- if (o.slide) {
1494
- const b = o.slide.orientation;
1492
+ const s = t();
1493
+ if (s.slide) {
1494
+ const b = s.slide.orientation;
1495
1495
  if (b === "horizontal") return Y.slideHorizontal.css;
1496
1496
  if (b === "vertical") return Y.slideVertical.css;
1497
1497
  const v = u.getBoundingClientRect();
1498
1498
  return v.height > v.width ? Y.slideVertical.css : Y.slideHorizontal.css;
1499
1499
  }
1500
- return o.tap ? Y.tap.css : o.hold ? Y.hold.css : "";
1500
+ return s.tap ? Y.tap.css : s.hold ? Y.hold.css : "";
1501
1501
  };
1502
1502
  return {
1503
1503
  onPointerDown: l,
@@ -1505,8 +1505,8 @@ function In(t, e) {
1505
1505
  onPointerUp: g,
1506
1506
  onPointerCancel: d,
1507
1507
  onPointerEnter: (u) => {
1508
- const o = u.currentTarget;
1509
- n.element = o, o.style.cursor = h(o);
1508
+ const s = u.currentTarget;
1509
+ n.element = s, s.style.cursor = h(s);
1510
1510
  },
1511
1511
  dispose: a
1512
1512
  };
@@ -1595,12 +1595,12 @@ function Ln(t) {
1595
1595
  const g = t.sensorGroupType?.() ?? "mean";
1596
1596
  return $e(c, g, !0);
1597
1597
  }
1598
- }), s = z(() => i() ? void 0 : t.emptyStateConfig);
1598
+ }), o = z(() => i() ? void 0 : t.emptyStateConfig);
1599
1599
  return {
1600
1600
  entities: t.entities,
1601
1601
  groupData: r,
1602
1602
  aggregatedData: a,
1603
- emptyState: s,
1603
+ emptyState: o,
1604
1604
  hasEntities: i,
1605
1605
  count: n
1606
1606
  };
@@ -1912,10 +1912,10 @@ export {
1912
1912
  L as WIDGET_Z,
1913
1913
  P as Widget,
1914
1914
  Yt as WidgetContent,
1915
- st as WidgetCtx,
1915
+ ot as WidgetCtx,
1916
1916
  Wn as WidgetDialog,
1917
1917
  Jt as WidgetEmptyState,
1918
- se as WidgetIcon,
1918
+ oe as WidgetIcon,
1919
1919
  ir as WidgetManifestSchema,
1920
1920
  bt as WidgetMetrics,
1921
1921
  Pt as WidgetSliderFill,
@@ -1928,7 +1928,7 @@ export {
1928
1928
  En as anyEntityInState,
1929
1929
  Sn as applyCssVars,
1930
1930
  pn as applyLayout,
1931
- ot as builtInVariants,
1931
+ st as builtInVariants,
1932
1932
  we as calculateLightGroup,
1933
1933
  $e as calculateSensorGroup,
1934
1934
  Tt as classicGlass,
@@ -1962,8 +1962,8 @@ export {
1962
1962
  ke as isEntityAvailable,
1963
1963
  lt as mergeVariants,
1964
1964
  Et as minimal,
1965
- sr as parseGridSize,
1966
- or as serializeGridSize,
1965
+ or as parseGridSize,
1966
+ sr as serializeGridSize,
1967
1967
  N as spacing,
1968
1968
  Xn as stateColors,
1969
1969
  H as typography,
@@ -36,7 +36,7 @@ function J(e, n) {
36
36
  const t = g(e, i, "manifest.json");
37
37
  try {
38
38
  const s = JSON.parse(h(t, "utf-8"));
39
- r.push({ ...s, tag: i, bundleUrl: `./${i}.js` });
39
+ r.push({ ...s, bundleUrl: `./${i}.js` });
40
40
  } catch {
41
41
  }
42
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glasshome/widget-sdk",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "SDK for building GlassHome dashboard widgets with SolidJS",
5
5
  "keywords": [
6
6
  "glasshome",
package/preview/host.tsx CHANGED
@@ -41,7 +41,7 @@ function PreviewHost() {
41
41
  "margin-top": "4px",
42
42
  }}
43
43
  >
44
- &lt;{widget.manifest.tag}&gt; | {widget.manifest.type} | {widget.manifest.size}
44
+ &lt;{widget.manifest.name}&gt; | {widget.manifest.type} | {widget.manifest.size}
45
45
  </p>
46
46
  </div>
47
47
  <button