@glasshome/widget-sdk 1.26.0 → 1.27.1
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/README.md +11 -0
- package/dist/deprecations.js +7 -0
- package/dist/export-history.json +288 -0
- package/dist/framework/hooks/use-reduced-motion.d.ts +2 -1
- package/dist/index.js +324 -305
- package/dist/theme.d.ts +4 -6
- package/dist/types.d.ts +4 -0
- package/guide/widgets.md +4 -3
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -4,8 +4,8 @@ import { z as a, z as o } from "zod";
|
|
|
4
4
|
import { getForecasts as s, getStream as c, getWebRtcClientConfig as l, hassMediaUrl as u, sendWebRtcCandidate as d, startWebRtcSession as f, state as p, trackEntityHistory as m, untrackEntityHistory as h } from "@glasshome/sync-layer";
|
|
5
5
|
import { byDomain as g, useArea as _, useCalendarEvents as v, useCamera as y, useConnection as b, useCurrency as x, useEntities as S, useEntity as ee, useEntity as te, useEntityHistory as C, useEntityStatistics as w, useForecast as ne, useHassConfig as re, useLocale as ie, useService as ae, useStore as oe, useTemperatureUnit as se, useToggle as ce, useTurnOff as le, useTurnOn as ue, useUnitSystem as de } from "@glasshome/sync-layer/solid";
|
|
6
6
|
import { For as T, Show as E, children as fe, createContext as pe, createEffect as D, createMemo as O, createSignal as k, on as me, onCleanup as A, onMount as he, splitProps as ge, useContext as j } from "solid-js";
|
|
7
|
-
import { addEventListener as
|
|
8
|
-
import { Accordion as
|
|
7
|
+
import { addEventListener as M, className as N, createComponent as P, delegateEvents as _e, effect as F, insert as I, memo as L, setAttribute as R, setStyleProperty as z, style as B, template as V, use as H } from "solid-js/web";
|
|
8
|
+
import { Accordion as ve, AccordionContent as ye, AccordionItem as be, AccordionTrigger as xe, Badge as Se, Badge as Ce, Button as we, Button as Te, ButtonGroup as Ee, ButtonGroup as De, Carousel as Oe, CarouselContent as ke, CarouselDots as Ae, CarouselItem as je, CarouselNext as Me, CarouselPrevious as Ne, ColorDisc as Pe, ColorSlider as Fe, ColorWheel as Ie, CountPill as Le, CountPill as Re, Empty as ze, EmptyDescription as Be, EmptyHeader as Ve, EmptyTitle as He, FactRow as Ue, FieldGroup as We, FieldTitle as Ge, HOLD_GRACE_MS as Ke, HOLD_MS as qe, Icon as Je, Icon as U, Input as Ye, Label as Xe, Popover as Ze, PopoverContent as Qe, Progress as $e, ResponsiveDialog as et, ResponsiveDialogBody as tt, ResponsiveDialogBody as nt, ResponsiveDialogClose as rt, ResponsiveDialogContent as it, ResponsiveDialogDescription as at, ResponsiveDialogFooter as ot, ResponsiveDialogFooter as st, ResponsiveDialogHeader as ct, ResponsiveDialogTitle as lt, SchemaForm as ut, SectionIcon as dt, SectionIcon as ft, SectionMeta as pt, SectionRow as mt, SectionTitle as ht, Select as gt, SelectContent as _t, SelectItem as vt, SelectTrigger as yt, SelectValue as bt, Slider as xt, SwatchPicker as St, Switch as Ct, Tabs as wt, Tabs as Tt, TabsContent as Et, TabsContent as Dt, TabsList as Ot, TabsList as kt, TabsTrigger as At, TabsTrigger as jt, TemperatureBar as Mt, Toggle as Nt, ToggleGroup as Pt, ToggleGroup as Ft, ToggleGroupItem as It, ToggleGroupItem as Lt, buttonVariants as Rt, copyText as zt, imagePreset as Bt, imagePreset as Vt, imageUrl as Ht, imageUrl as Ut, mediaUrl as Wt, parseColor as Gt, presetValue as Kt, spendLongPress as qt, useCopyText as Jt, useCopyText as Yt } from "@glasshome/ui/solid";
|
|
9
9
|
import { clsx as Xt } from "clsx";
|
|
10
10
|
import { twMerge as Zt } from "tailwind-merge";
|
|
11
11
|
//#region src/framework/to-form-schema.ts
|
|
@@ -281,7 +281,8 @@ function Mn(e, t) {
|
|
|
281
281
|
holdOnly: !1,
|
|
282
282
|
holdTimer: null,
|
|
283
283
|
graceTimer: null,
|
|
284
|
-
element: null
|
|
284
|
+
element: null,
|
|
285
|
+
startValue: void 0
|
|
285
286
|
}, [o, s] = k(null), c = null, l = null, u = null, [d, f] = k(null);
|
|
286
287
|
function p(e) {
|
|
287
288
|
e !== l && (u && u.disconnect(), u = new ResizeObserver((e) => {
|
|
@@ -312,14 +313,15 @@ function Mn(e, t) {
|
|
|
312
313
|
once: !0
|
|
313
314
|
});
|
|
314
315
|
}, g = () => {
|
|
315
|
-
a.isDown = !1, a.hasMoved = !1, a.sliding = !1, a.holdOnly = !1;
|
|
316
|
+
a.isDown = !1, a.hasMoved = !1, a.sliding = !1, a.holdOnly = !1, a.startValue = void 0;
|
|
316
317
|
}, _ = (e) => {
|
|
317
318
|
let n = i().slide;
|
|
318
319
|
return n?.orientation === "horizontal" ? "horizontal" : n?.orientation === "vertical" ? "vertical" : e && (c || p(e), c) ? c.height > c.width ? "vertical" : "horizontal" : (t?.() ?? "horizontal") === "horizontal" ? "horizontal" : "vertical";
|
|
319
320
|
}, v = (e) => {
|
|
321
|
+
if (e.pointerType === "touch" && !e.isPrimary) return;
|
|
320
322
|
let t = i(), r = e.target instanceof Element ? e.target.closest(`${jn}, .glasshome-widget-controls`) : null, o = r !== null && r !== e.currentTarget;
|
|
321
323
|
if (!(o ? !t.hold : !t.tap && !t.hold && !t.slide)) {
|
|
322
|
-
if (a.isDown = !0, a.holdOnly = o, a.isTouch = e.pointerType === "touch", a.element = e.currentTarget, p(a.element), a.startX = e.clientX, a.startY = e.clientY, a.startTime = Date.now(), a.hasMoved = !1, a.sliding = !1, t.hold) {
|
|
324
|
+
if (a.isDown = !0, a.holdOnly = o, a.isTouch = e.pointerType === "touch", a.element = e.currentTarget, p(a.element), a.startX = e.clientX, a.startY = e.clientY, a.startTime = Date.now(), a.hasMoved = !1, a.sliding = !1, a.startValue = t.slide?.value, t.hold) {
|
|
323
325
|
let r = t.hold.delay ?? qe, i = a.element.getBoundingClientRect(), o = e.clientX - i.left, c = e.clientY - i.top, l = Math.hypot(Math.max(o, i.width - o), Math.max(c, i.height - c));
|
|
324
326
|
a.graceTimer = setTimeout(() => {
|
|
325
327
|
a.graceTimer = null, s({
|
|
@@ -361,6 +363,8 @@ function Mn(e, t) {
|
|
|
361
363
|
g();
|
|
362
364
|
}, x = (e) => {
|
|
363
365
|
m();
|
|
366
|
+
let t = i().slide;
|
|
367
|
+
a.sliding && t && a.startValue !== void 0 && t.onChange(a.startValue);
|
|
364
368
|
try {
|
|
365
369
|
e.currentTarget.releasePointerCapture(e.pointerId);
|
|
366
370
|
} catch {}
|
|
@@ -438,28 +442,28 @@ function J(...e) {
|
|
|
438
442
|
}
|
|
439
443
|
//#endregion
|
|
440
444
|
//#region src/framework/components/WidgetIcon.tsx
|
|
441
|
-
var Ln = /*#__PURE__*/
|
|
445
|
+
var Ln = /*#__PURE__*/ V("<div class=\"glasshome-widget-icon glasshome-widget-icon-stack glasshome-widget-icon-stack-2 glass glass-tint\">"), Rn = /*#__PURE__*/ V("<div class=\"glasshome-widget-icon glasshome-widget-icon-stack glasshome-widget-icon-stack-3 glass glass-tint\">"), zn = /*#__PURE__*/ V("<div><div class=\"glasshome-widget-icon-glyph flex items-center justify-center\">");
|
|
442
446
|
function Bn(e) {
|
|
443
447
|
let t = () => e.entityCount ?? 1;
|
|
444
448
|
return (() => {
|
|
445
449
|
var n = zn(), r = n.firstChild;
|
|
446
|
-
return
|
|
450
|
+
return I(n, P(E, {
|
|
447
451
|
get when() {
|
|
448
452
|
return t() >= 2;
|
|
449
453
|
},
|
|
450
454
|
get children() {
|
|
451
455
|
return Ln();
|
|
452
456
|
}
|
|
453
|
-
}), r),
|
|
457
|
+
}), r), I(n, P(E, {
|
|
454
458
|
get when() {
|
|
455
459
|
return t() >= 3;
|
|
456
460
|
},
|
|
457
461
|
get children() {
|
|
458
462
|
return Rn();
|
|
459
463
|
}
|
|
460
|
-
}), r),
|
|
464
|
+
}), r), I(r, () => e.icon), F((t) => {
|
|
461
465
|
var r = J("glasshome-widget-icon glass glass-tint", "pointer-events-none relative flex shrink-0 items-center justify-center transition-all", e.dimmed && "opacity-50", e.class), i = e.color ? { "--widget-icon-color": e.color } : void 0;
|
|
462
|
-
return r !== t.e &&
|
|
466
|
+
return r !== t.e && N(n, t.e = r), t.t = B(n, i, t.t), t;
|
|
463
467
|
}, {
|
|
464
468
|
e: void 0,
|
|
465
469
|
t: void 0
|
|
@@ -468,7 +472,7 @@ function Bn(e) {
|
|
|
468
472
|
}
|
|
469
473
|
//#endregion
|
|
470
474
|
//#region src/framework/components/anatomy.tsx
|
|
471
|
-
var Vn = /*#__PURE__*/
|
|
475
|
+
var Vn = /*#__PURE__*/ V("<span class=glasshome-widget-eyebrow>"), Hn = /*#__PURE__*/ V("<div class=glasshome-widget-head-aside>"), Un = /*#__PURE__*/ V("<div class=glasshome-widget-head><div class=glasshome-widget-head-text><span class=glasshome-widget-name>"), Wn = /*#__PURE__*/ V("<span class=glasshome-widget-sub>"), Gn = /*#__PURE__*/ V("<span class=glasshome-widget-unit>"), Kn = /*#__PURE__*/ V("<div class=glasshome-widget-art>"), qn = /*#__PURE__*/ V("<div><div class=glasshome-widget-reading><span class=glasshome-widget-reading-value>"), Jn = /*#__PURE__*/ V("<div class=glasshome-widget-controls>"), Yn = /*#__PURE__*/ V("<div>"), Xn = /*#__PURE__*/ V("<div class=glasshome-widget-backdrop>"), Zn = /*#__PURE__*/ V("<div class=glasshome-widget-glyph aria-hidden=true>"), Qn = pe(() => !1), $n = "mdi:check";
|
|
472
476
|
function er(e) {
|
|
473
477
|
let t = j(Qn), n = mn(j(W));
|
|
474
478
|
D(() => n?.setIcon(e.icon)), A(() => {
|
|
@@ -480,14 +484,14 @@ function er(e) {
|
|
|
480
484
|
};
|
|
481
485
|
return (() => {
|
|
482
486
|
var n = Un(), o = n.firstChild, s = o.firstChild;
|
|
483
|
-
return
|
|
487
|
+
return I(n, P(E, {
|
|
484
488
|
get when() {
|
|
485
489
|
return e.icon;
|
|
486
490
|
},
|
|
487
|
-
children: (n) =>
|
|
491
|
+
children: (n) => P(Bn, {
|
|
488
492
|
get icon() {
|
|
489
|
-
return
|
|
490
|
-
return
|
|
493
|
+
return P(U, { get icon() {
|
|
494
|
+
return L(() => !!t())() ? $n : n();
|
|
491
495
|
} });
|
|
492
496
|
},
|
|
493
497
|
get entityCount() {
|
|
@@ -498,21 +502,21 @@ function er(e) {
|
|
|
498
502
|
},
|
|
499
503
|
class: "glasshome-widget-head-icon"
|
|
500
504
|
})
|
|
501
|
-
}), o),
|
|
505
|
+
}), o), I(o, P(E, {
|
|
502
506
|
get when() {
|
|
503
|
-
return
|
|
507
|
+
return L(() => !!r())() && !a();
|
|
504
508
|
},
|
|
505
509
|
get children() {
|
|
506
510
|
var e = Vn();
|
|
507
|
-
return
|
|
511
|
+
return I(e, r), e;
|
|
508
512
|
}
|
|
509
|
-
}), s),
|
|
513
|
+
}), s), I(s, () => e.name), I(n, P(E, {
|
|
510
514
|
get when() {
|
|
511
515
|
return i();
|
|
512
516
|
},
|
|
513
517
|
get children() {
|
|
514
518
|
var e = Hn();
|
|
515
|
-
return
|
|
519
|
+
return I(e, i), e;
|
|
516
520
|
}
|
|
517
521
|
}), null), n;
|
|
518
522
|
})();
|
|
@@ -521,33 +525,33 @@ function tr(e) {
|
|
|
521
525
|
let t = fe(() => e.sub), n = fe(() => e.art), r = O(() => typeof e.value == "string" ? e.value.replace(/[\d\s.,:/%°+\-−]/g, "") : void 0), i = () => typeof e.value == "string" || typeof e.value == "number" ? String(e.value).length + (e.unit ? .5 : 0) : void 0, [a, o] = k();
|
|
522
526
|
return D(me(r, () => o((e) => e === "a" ? "b" : "a"), { defer: !0 })), (() => {
|
|
523
527
|
var r = qn(), o = r.firstChild, s = o.firstChild;
|
|
524
|
-
return
|
|
528
|
+
return I(o, P(E, {
|
|
525
529
|
get when() {
|
|
526
530
|
return t();
|
|
527
531
|
},
|
|
528
532
|
get children() {
|
|
529
533
|
var e = Wn();
|
|
530
|
-
return
|
|
534
|
+
return I(e, t), e;
|
|
531
535
|
}
|
|
532
|
-
}), s),
|
|
536
|
+
}), s), I(s, () => e.value, null), I(s, P(E, {
|
|
533
537
|
get when() {
|
|
534
538
|
return e.unit;
|
|
535
539
|
},
|
|
536
540
|
get children() {
|
|
537
541
|
var t = Gn();
|
|
538
|
-
return
|
|
542
|
+
return I(t, () => e.unit), F(() => R(t, "data-degree", e.unit === "°" || void 0)), t;
|
|
539
543
|
}
|
|
540
|
-
}), null),
|
|
544
|
+
}), null), I(r, P(E, {
|
|
541
545
|
get when() {
|
|
542
546
|
return n();
|
|
543
547
|
},
|
|
544
548
|
get children() {
|
|
545
549
|
var e = Kn();
|
|
546
|
-
return
|
|
550
|
+
return I(e, n), e;
|
|
547
551
|
}
|
|
548
|
-
}), null),
|
|
552
|
+
}), null), F((o) => {
|
|
549
553
|
var c = J("glasshome-widget-hero", e.class), l = n() ? "" : void 0, u = e.value === "" && !t() ? "" : void 0, d = a(), f = i();
|
|
550
|
-
return c !== o.e &&
|
|
554
|
+
return c !== o.e && N(r, o.e = c), l !== o.t && R(r, "data-art", o.t = l), u !== o.a && R(r, "data-empty", o.a = u), d !== o.o && R(s, "data-turn", o.o = d), f !== o.i && z(s, "--value-len", o.i = f), o;
|
|
551
555
|
}, {
|
|
552
556
|
e: void 0,
|
|
553
557
|
t: void 0,
|
|
@@ -560,40 +564,40 @@ function tr(e) {
|
|
|
560
564
|
function nr(e) {
|
|
561
565
|
return (() => {
|
|
562
566
|
var t = Jn();
|
|
563
|
-
return
|
|
567
|
+
return I(t, () => e.children), t;
|
|
564
568
|
})();
|
|
565
569
|
}
|
|
566
570
|
function rr(e) {
|
|
567
|
-
return
|
|
571
|
+
return P(De, {
|
|
568
572
|
get "aria-label"() {
|
|
569
573
|
return e.label;
|
|
570
574
|
},
|
|
571
575
|
class: "glasshome-widget-stepper",
|
|
572
576
|
get children() {
|
|
573
|
-
return [
|
|
577
|
+
return [P(Te, {
|
|
574
578
|
variant: "outline",
|
|
575
579
|
size: "icon",
|
|
576
580
|
"aria-label": "Lower",
|
|
577
581
|
class: "glasshome-widget-control",
|
|
578
582
|
onClick: () => e.onStep(-1),
|
|
579
583
|
get children() {
|
|
580
|
-
return
|
|
584
|
+
return P(U, { icon: "mdi:minus" });
|
|
581
585
|
}
|
|
582
|
-
}),
|
|
586
|
+
}), P(Te, {
|
|
583
587
|
variant: "outline",
|
|
584
588
|
size: "icon",
|
|
585
589
|
"aria-label": "Raise",
|
|
586
590
|
class: "glasshome-widget-control",
|
|
587
591
|
onClick: () => e.onStep(1),
|
|
588
592
|
get children() {
|
|
589
|
-
return
|
|
593
|
+
return P(U, { icon: "mdi:plus" });
|
|
590
594
|
}
|
|
591
595
|
})];
|
|
592
596
|
}
|
|
593
597
|
});
|
|
594
598
|
}
|
|
595
599
|
function ir(e) {
|
|
596
|
-
return
|
|
600
|
+
return P(Ft, {
|
|
597
601
|
get "aria-label"() {
|
|
598
602
|
return e.label;
|
|
599
603
|
},
|
|
@@ -606,11 +610,11 @@ function ir(e) {
|
|
|
606
610
|
onChange: (t) => t && e.onChange(t),
|
|
607
611
|
class: "glasshome-widget-choice",
|
|
608
612
|
get children() {
|
|
609
|
-
return
|
|
613
|
+
return P(T, {
|
|
610
614
|
get each() {
|
|
611
615
|
return e.options;
|
|
612
616
|
},
|
|
613
|
-
children: (t) =>
|
|
617
|
+
children: (t) => P(Lt, {
|
|
614
618
|
get value() {
|
|
615
619
|
return t.value;
|
|
616
620
|
},
|
|
@@ -622,7 +626,7 @@ function ir(e) {
|
|
|
622
626
|
return t.value === e.value ? void 0 : "";
|
|
623
627
|
},
|
|
624
628
|
get children() {
|
|
625
|
-
return
|
|
629
|
+
return P(U, { get icon() {
|
|
626
630
|
return t.icon;
|
|
627
631
|
} });
|
|
628
632
|
}
|
|
@@ -633,7 +637,7 @@ function ir(e) {
|
|
|
633
637
|
}
|
|
634
638
|
function ar(e) {
|
|
635
639
|
let t = In(), n = () => e.confirm ?? t, r = () => e.id ?? e["aria-label"] ?? e.icon, i = () => n().has(r());
|
|
636
|
-
return
|
|
640
|
+
return P(Te, {
|
|
637
641
|
variant: "outline",
|
|
638
642
|
get size() {
|
|
639
643
|
return e.children ? "default" : "icon";
|
|
@@ -649,48 +653,48 @@ function ar(e) {
|
|
|
649
653
|
},
|
|
650
654
|
onClick: () => void n().run([r()], e.run),
|
|
651
655
|
get children() {
|
|
652
|
-
return [
|
|
653
|
-
return
|
|
654
|
-
} }),
|
|
656
|
+
return [P(U, { get icon() {
|
|
657
|
+
return L(() => !!i())() ? $n : e.icon;
|
|
658
|
+
} }), L(() => e.children)];
|
|
655
659
|
}
|
|
656
660
|
});
|
|
657
661
|
}
|
|
658
662
|
function or(e) {
|
|
659
|
-
return
|
|
663
|
+
return P(Ce, {
|
|
660
664
|
get tone() {
|
|
661
665
|
return e.tone ?? "var(--muted-foreground)";
|
|
662
666
|
},
|
|
663
667
|
class: "gap-1 tabular-nums",
|
|
664
668
|
get children() {
|
|
665
|
-
return [
|
|
669
|
+
return [P(E, {
|
|
666
670
|
get when() {
|
|
667
671
|
return e.icon;
|
|
668
672
|
},
|
|
669
|
-
children: (e) =>
|
|
673
|
+
children: (e) => P(U, { get icon() {
|
|
670
674
|
return e();
|
|
671
675
|
} })
|
|
672
|
-
}),
|
|
676
|
+
}), L(() => e.children)];
|
|
673
677
|
}
|
|
674
678
|
});
|
|
675
679
|
}
|
|
676
680
|
function sr(e) {
|
|
677
681
|
return (() => {
|
|
678
682
|
var t = Yn();
|
|
679
|
-
return
|
|
683
|
+
return I(t, () => e.children), F(() => N(t, J("glasshome-widget-layer", e.class))), t;
|
|
680
684
|
})();
|
|
681
685
|
}
|
|
682
686
|
function cr(e) {
|
|
683
687
|
return (() => {
|
|
684
688
|
var t = Xn();
|
|
685
|
-
return
|
|
689
|
+
return I(t, () => e.children), t;
|
|
686
690
|
})();
|
|
687
691
|
}
|
|
688
692
|
function lr(e) {
|
|
689
693
|
let t = j(Qn);
|
|
690
694
|
return (() => {
|
|
691
695
|
var n = Zn();
|
|
692
|
-
return
|
|
693
|
-
return
|
|
696
|
+
return I(n, P(U, { get icon() {
|
|
697
|
+
return L(() => !!t())() ? $n : e.icon;
|
|
694
698
|
} })), n;
|
|
695
699
|
})();
|
|
696
700
|
}
|
|
@@ -744,16 +748,16 @@ function _r(e) {
|
|
|
744
748
|
}
|
|
745
749
|
//#endregion
|
|
746
750
|
//#region src/framework/backgrounds/WidgetSliderFill.tsx
|
|
747
|
-
var vr = /*#__PURE__*/
|
|
751
|
+
var vr = /*#__PURE__*/ V("<div>"), yr = e(() => void 0, "sliderFill.color");
|
|
748
752
|
function br(e) {
|
|
749
753
|
return e.color !== void 0 && yr(), (() => {
|
|
750
754
|
var t = vr();
|
|
751
|
-
return
|
|
755
|
+
return F((n) => {
|
|
752
756
|
var r = J("glasshome-widget-slider-fill pointer-events-none absolute inset-0", e.isDragging ? "duration-0" : "transition-all duration-300 ease-out", e.class), i = {
|
|
753
757
|
"--widget-fill-value": e.value,
|
|
754
758
|
"z-index": ln.BACKGROUND
|
|
755
759
|
};
|
|
756
|
-
return r !== n.e &&
|
|
760
|
+
return r !== n.e && N(t, n.e = r), n.t = B(t, i, n.t), n;
|
|
757
761
|
}, {
|
|
758
762
|
e: void 0,
|
|
759
763
|
t: void 0
|
|
@@ -762,16 +766,16 @@ function br(e) {
|
|
|
762
766
|
}
|
|
763
767
|
//#endregion
|
|
764
768
|
//#region src/framework/components/WidgetContent.tsx
|
|
765
|
-
var xr = /*#__PURE__*/
|
|
769
|
+
var xr = /*#__PURE__*/ V("<div>"), Sr = /\bglasshome-widget-(head|hero|controls|backdrop|glyph|layer)\b/;
|
|
766
770
|
function Cr(e) {
|
|
767
771
|
let t = mn(j(W));
|
|
768
772
|
D(() => t?.setAccent(e.accent)), A(() => t?.setAccent(void 0));
|
|
769
773
|
let n = fe(() => e.children), r = O(() => n.toArray().some((e) => e instanceof Element && Sr.test(e.className)));
|
|
770
774
|
return (() => {
|
|
771
775
|
var t = xr();
|
|
772
|
-
return
|
|
776
|
+
return I(t, n), F((n) => {
|
|
773
777
|
var i = J(r() ? "glasshome-widget-grid" : "glasshome-widget-content", e.class), a = e.accent ? { "--widget-color": e.accent } : void 0;
|
|
774
|
-
return i !== n.e &&
|
|
778
|
+
return i !== n.e && N(t, n.e = i), n.t = B(t, a, n.t), n;
|
|
775
779
|
}, {
|
|
776
780
|
e: void 0,
|
|
777
781
|
t: void 0
|
|
@@ -780,16 +784,16 @@ function Cr(e) {
|
|
|
780
784
|
}
|
|
781
785
|
//#endregion
|
|
782
786
|
//#region src/framework/components/WidgetStatus.tsx
|
|
783
|
-
var wr = /*#__PURE__*/
|
|
787
|
+
var wr = /*#__PURE__*/ V("<p>");
|
|
784
788
|
function Tr(e) {
|
|
785
789
|
return (() => {
|
|
786
790
|
var t = wr();
|
|
787
|
-
return
|
|
788
|
-
var t =
|
|
791
|
+
return I(t, (() => {
|
|
792
|
+
var t = L(() => !!e.isUnavailable);
|
|
789
793
|
return () => t() ? "Unavailable" : e.children;
|
|
790
|
-
})()),
|
|
794
|
+
})()), F((n) => {
|
|
791
795
|
var r = J("glasshome-widget-status", "relative", e.dimmed && "opacity-40", e.class), i = ln.ACTIONS;
|
|
792
|
-
return r !== n.e &&
|
|
796
|
+
return r !== n.e && N(t, n.e = r), i !== n.t && z(t, "z-index", n.t = i), n;
|
|
793
797
|
}, {
|
|
794
798
|
e: void 0,
|
|
795
799
|
t: void 0
|
|
@@ -798,21 +802,21 @@ function Tr(e) {
|
|
|
798
802
|
}
|
|
799
803
|
//#endregion
|
|
800
804
|
//#region src/framework/components/WidgetTitle.tsx
|
|
801
|
-
var Er = /*#__PURE__*/
|
|
805
|
+
var Er = /*#__PURE__*/ V("<span class=\"glasshome-widget-badge shrink-0\">"), Dr = /*#__PURE__*/ V("<div><h3 class=glasshome-widget-title>");
|
|
802
806
|
function Or(e) {
|
|
803
807
|
return (() => {
|
|
804
808
|
var t = Dr(), n = t.firstChild;
|
|
805
|
-
return
|
|
809
|
+
return I(n, () => e.children), I(t, P(E, {
|
|
806
810
|
get when() {
|
|
807
|
-
return
|
|
811
|
+
return L(() => e.badge !== void 0)() && e.badge > 0;
|
|
808
812
|
},
|
|
809
813
|
get children() {
|
|
810
814
|
var t = Er();
|
|
811
|
-
return
|
|
815
|
+
return I(t, () => e.badge), t;
|
|
812
816
|
}
|
|
813
|
-
}), null),
|
|
817
|
+
}), null), F((n) => {
|
|
814
818
|
var r = J("relative flex items-center gap-2", e.class), i = ln.ACTIONS;
|
|
815
|
-
return r !== n.e &&
|
|
819
|
+
return r !== n.e && N(t, n.e = r), i !== n.t && z(t, "z-index", n.t = i), n;
|
|
816
820
|
}, {
|
|
817
821
|
e: void 0,
|
|
818
822
|
t: void 0
|
|
@@ -1053,24 +1057,24 @@ function Lr(e, t) {
|
|
|
1053
1057
|
}
|
|
1054
1058
|
//#endregion
|
|
1055
1059
|
//#region src/framework/components/WidgetValue.tsx
|
|
1056
|
-
var Rr = /*#__PURE__*/
|
|
1060
|
+
var Rr = /*#__PURE__*/ V("<div class=glasshome-widget-subtitle>"), zr = /*#__PURE__*/ V("<div><div class=glasshome-widget-value>");
|
|
1057
1061
|
function Br(e) {
|
|
1058
1062
|
return (() => {
|
|
1059
1063
|
var t = zr(), n = t.firstChild;
|
|
1060
|
-
return
|
|
1064
|
+
return I(n, () => Ir(e.value, e.unit)), I(t, P(E, {
|
|
1061
1065
|
get when() {
|
|
1062
|
-
return
|
|
1066
|
+
return L(() => !!e.interpret)() && typeof e.value == "number";
|
|
1063
1067
|
},
|
|
1064
1068
|
get children() {
|
|
1065
1069
|
var t = Rr();
|
|
1066
|
-
return
|
|
1070
|
+
return I(t, () => Lr(e.value, e.unit)), t;
|
|
1067
1071
|
}
|
|
1068
|
-
}), null),
|
|
1072
|
+
}), null), F(() => N(t, J("flex flex-col", e.class))), t;
|
|
1069
1073
|
})();
|
|
1070
1074
|
}
|
|
1071
1075
|
//#endregion
|
|
1072
1076
|
//#region src/framework/core/Widget.tsx
|
|
1073
|
-
var Vr = /*#__PURE__*/
|
|
1077
|
+
var Vr = /*#__PURE__*/ V("<span class=glasshome-widget-hold-flood aria-hidden=true>"), Hr = /*#__PURE__*/ V("<div class=\"glasshome-widget-halo glass-halo rounded-xl\"aria-hidden=true>"), Ur = /*#__PURE__*/ V("<div class=\"glasshome-widget-frame relative h-full w-full\"><div><div class=\"relative h-full w-full\">"), Wr = /*#__PURE__*/ V("<div class=\"glasshome-widget-loading pointer-events-none absolute inset-0 animate-pulse\">"), Gr = /*#__PURE__*/ V("<div class=\"flex h-full w-full flex-col items-center justify-center gap-2 text-center\">"), Kr = /*#__PURE__*/ V("<div class=\"text-muted-foreground flex items-center justify-center\">"), qr = /*#__PURE__*/ V("<h3 class=\"text-foreground text-sm font-semibold\">"), Jr = /*#__PURE__*/ V("<p class=\"text-muted-foreground text-xs\">"), Yr = 2e3;
|
|
1074
1078
|
function Xr(t) {
|
|
1075
1079
|
let n = j(W), r = Mn(() => ({ hold: { action: () => (G.get(n ?? {}) ?? G.get(f))?.("edit") } }));
|
|
1076
1080
|
A(r.dispose);
|
|
@@ -1165,39 +1169,39 @@ function Xr(t) {
|
|
|
1165
1169
|
height: `${w.r * 2}px`,
|
|
1166
1170
|
"z-index": ln.BACKGROUND
|
|
1167
1171
|
});
|
|
1168
|
-
return
|
|
1172
|
+
return P(W.Provider, {
|
|
1169
1173
|
value: f,
|
|
1170
1174
|
get children() {
|
|
1171
|
-
return
|
|
1175
|
+
return P(Qn.Provider, {
|
|
1172
1176
|
value: () => t.confirmed === !0,
|
|
1173
1177
|
get children() {
|
|
1174
|
-
return
|
|
1178
|
+
return P(Nn.Provider, {
|
|
1175
1179
|
value: u,
|
|
1176
1180
|
get children() {
|
|
1177
1181
|
return [(() => {
|
|
1178
1182
|
var e = Ur(), n = e.firstChild, i = n.firstChild;
|
|
1179
1183
|
return n.$$keydown = (e) => {
|
|
1180
1184
|
y() && s()?.onKeyDown?.(e);
|
|
1181
|
-
},
|
|
1185
|
+
}, M(n, "pointercancel", te), M(n, "pointerup", ee), M(n, "pointermove", S), M(n, "pointerdown", x), M(n, "pointerenter", b), H((e) => {
|
|
1182
1186
|
l(e), t.gestures?.bindElement(e), r.bindElement(e);
|
|
1183
|
-
}, n),
|
|
1187
|
+
}, n), I(n, P(E, {
|
|
1184
1188
|
get when() {
|
|
1185
1189
|
return s()?.hold;
|
|
1186
1190
|
},
|
|
1187
1191
|
get children() {
|
|
1188
1192
|
var e = Vr();
|
|
1189
|
-
return
|
|
1193
|
+
return F((t) => {
|
|
1190
1194
|
var n = C() && !C()?.fired ? "" : void 0, r = C()?.fired ? "" : void 0, i = ne(C());
|
|
1191
|
-
return n !== t.e &&
|
|
1195
|
+
return n !== t.e && R(e, "data-hold", t.e = n), r !== t.t && R(e, "data-fired", t.t = r), t.a = B(e, i, t.a), t;
|
|
1192
1196
|
}, {
|
|
1193
1197
|
e: void 0,
|
|
1194
1198
|
t: void 0,
|
|
1195
1199
|
a: void 0
|
|
1196
1200
|
}), e;
|
|
1197
1201
|
}
|
|
1198
|
-
}), i),
|
|
1199
|
-
var e =
|
|
1200
|
-
return () => e() ?
|
|
1202
|
+
}), i), I(i, (() => {
|
|
1203
|
+
var e = L(() => !!t.emptyState);
|
|
1204
|
+
return () => e() ? P(Zr, {
|
|
1201
1205
|
get icon() {
|
|
1202
1206
|
return t.emptyState.icon;
|
|
1203
1207
|
},
|
|
@@ -1208,27 +1212,27 @@ function Xr(t) {
|
|
|
1208
1212
|
return t.emptyState.message;
|
|
1209
1213
|
}
|
|
1210
1214
|
}) : t.children;
|
|
1211
|
-
})()),
|
|
1212
|
-
var e =
|
|
1215
|
+
})()), I(n, (() => {
|
|
1216
|
+
var e = L(() => !!t.loading);
|
|
1213
1217
|
return () => e() && (() => {
|
|
1214
1218
|
var e = Wr();
|
|
1215
|
-
return
|
|
1219
|
+
return F((t) => z(e, "z-index", ln.OVERLAY)), e;
|
|
1216
1220
|
})();
|
|
1217
|
-
})(), null),
|
|
1221
|
+
})(), null), I(e, P(E, {
|
|
1218
1222
|
when: !_,
|
|
1219
1223
|
get children() {
|
|
1220
1224
|
var e = Hr();
|
|
1221
|
-
return
|
|
1225
|
+
return F((t) => {
|
|
1222
1226
|
var n = g(), r = h() ? "" : void 0;
|
|
1223
|
-
return t.e =
|
|
1227
|
+
return t.e = B(e, n, t.e), r !== t.t && R(e, "data-toned", t.t = r), t;
|
|
1224
1228
|
}, {
|
|
1225
1229
|
e: void 0,
|
|
1226
1230
|
t: void 0
|
|
1227
1231
|
}), e;
|
|
1228
1232
|
}
|
|
1229
|
-
}), null),
|
|
1233
|
+
}), null), F((e) => {
|
|
1230
1234
|
var r = J("glasshome-widget glass", "relative h-full w-full overflow-hidden rounded-xl select-none", p()?.class, t.class), a = v(), o = h() ? "" : void 0, s = t.confirmed || void 0, c = y() ? 0 : void 0, l = ln.CONTENT;
|
|
1231
|
-
return r !== e.e &&
|
|
1235
|
+
return r !== e.e && N(n, e.e = r), e.t = B(n, a, e.t), o !== e.a && R(n, "data-toned", e.a = o), s !== e.o && R(n, "data-confirmed", e.o = s), c !== e.i && R(n, "tabindex", e.i = c), l !== e.n && z(i, "z-index", e.n = l), e;
|
|
1232
1236
|
}, {
|
|
1233
1237
|
e: void 0,
|
|
1234
1238
|
t: void 0,
|
|
@@ -1237,10 +1241,10 @@ function Xr(t) {
|
|
|
1237
1241
|
i: void 0,
|
|
1238
1242
|
n: void 0
|
|
1239
1243
|
}), e;
|
|
1240
|
-
})(),
|
|
1244
|
+
})(), P(E, {
|
|
1241
1245
|
when: a,
|
|
1242
1246
|
get children() {
|
|
1243
|
-
return
|
|
1247
|
+
return P(Ze, {
|
|
1244
1248
|
get open() {
|
|
1245
1249
|
return i?.nothingMore() ?? !1;
|
|
1246
1250
|
},
|
|
@@ -1249,10 +1253,10 @@ function Xr(t) {
|
|
|
1249
1253
|
},
|
|
1250
1254
|
anchorRef: c,
|
|
1251
1255
|
get children() {
|
|
1252
|
-
return
|
|
1256
|
+
return P(Qe, {
|
|
1253
1257
|
class: "flex w-auto items-center gap-2 p-3 text-sm",
|
|
1254
1258
|
get children() {
|
|
1255
|
-
return [
|
|
1259
|
+
return [P(U, { icon: "mdi:information-outline" }), "No more controls for this widget"];
|
|
1256
1260
|
}
|
|
1257
1261
|
});
|
|
1258
1262
|
}
|
|
@@ -1269,32 +1273,32 @@ function Xr(t) {
|
|
|
1269
1273
|
function Zr(e) {
|
|
1270
1274
|
return (() => {
|
|
1271
1275
|
var t = Gr();
|
|
1272
|
-
return
|
|
1273
|
-
var t =
|
|
1276
|
+
return I(t, (() => {
|
|
1277
|
+
var t = L(() => !!e.icon);
|
|
1274
1278
|
return () => t() && (() => {
|
|
1275
1279
|
var t = Kr();
|
|
1276
|
-
return
|
|
1280
|
+
return I(t, () => e.icon), t;
|
|
1277
1281
|
})();
|
|
1278
|
-
})(), null),
|
|
1279
|
-
var t =
|
|
1282
|
+
})(), null), I(t, (() => {
|
|
1283
|
+
var t = L(() => !!e.title);
|
|
1280
1284
|
return () => t() && (() => {
|
|
1281
1285
|
var t = qr();
|
|
1282
|
-
return
|
|
1286
|
+
return I(t, () => e.title), t;
|
|
1283
1287
|
})();
|
|
1284
|
-
})(), null),
|
|
1285
|
-
var t =
|
|
1288
|
+
})(), null), I(t, (() => {
|
|
1289
|
+
var t = L(() => !!e.message);
|
|
1286
1290
|
return () => t() && (() => {
|
|
1287
1291
|
var t = Jr();
|
|
1288
|
-
return
|
|
1292
|
+
return I(t, () => e.message), t;
|
|
1289
1293
|
})();
|
|
1290
1294
|
})(), null), t;
|
|
1291
1295
|
})();
|
|
1292
1296
|
}
|
|
1293
1297
|
var Y = Xr;
|
|
1294
|
-
Y.Content = Cr, Y.Icon = Bn, Y.Title = Or, Y.Status = Tr, Y.Value = Br, Y.SliderFill = br, Y.Head = er, Y.Hero = tr, Y.Controls = nr, Y.Stepper = rr, Y.Choice = ir, Y.Action = ar, Y.Chip = or, Y.Backdrop = cr, Y.Layer = sr, Y.Glyph = lr,
|
|
1298
|
+
Y.Content = Cr, Y.Icon = Bn, Y.Title = Or, Y.Status = Tr, Y.Value = Br, Y.SliderFill = br, Y.Head = er, Y.Hero = tr, Y.Controls = nr, Y.Stepper = rr, Y.Choice = ir, Y.Action = ar, Y.Chip = or, Y.Backdrop = cr, Y.Layer = sr, Y.Glyph = lr, _e(["keydown"]);
|
|
1295
1299
|
//#endregion
|
|
1296
1300
|
//#region src/framework/panel/panel.tsx
|
|
1297
|
-
var Qr = /*#__PURE__*/
|
|
1301
|
+
var Qr = /*#__PURE__*/ V("<section class=glasshome-panel-section><h3 class=glasshome-panel-label>"), $r = /*#__PURE__*/ V("<div class=glasshome-panel-rows>"), ei = /*#__PURE__*/ V("<span class=\"glasshome-widget-slider-fill glasshome-panel-row-fill\">"), ti = /*#__PURE__*/ V("<span class=\"glasshome-widget-icon glass glasshome-panel-row-icon\">"), ni = /*#__PURE__*/ V("<span class=glasshome-panel-row-state>"), ri = /*#__PURE__*/ V("<span class=glasshome-panel-row-text><span class=glasshome-panel-row-name>"), ii = /*#__PURE__*/ V("<span class=glasshome-panel-row-trailing>"), ai = /*#__PURE__*/ V("<div class=glasshome-panel-row-wrap>"), oi = /*#__PURE__*/ V("<div>"), si = /*#__PURE__*/ V("<div class=\"glasshome-panel-facts glass\">"), ci = /*#__PURE__*/ V("<div class=glasshome-panel-fact><span class=glasshome-panel-row-text><span class=glasshome-panel-fact-label></span><span class=glasshome-panel-fact-value>"), li = 8, ui = (e, t, n) => Math.min(n, Math.max(t, e));
|
|
1298
1302
|
function di(e) {
|
|
1299
1303
|
let t = j(W), n, r = !1, i = !1, a, o = 0, s = (t, n) => {
|
|
1300
1304
|
let r = e.slide?.();
|
|
@@ -1330,13 +1334,13 @@ function di(e) {
|
|
|
1330
1334
|
function fi(e) {
|
|
1331
1335
|
return (() => {
|
|
1332
1336
|
var t = Qr(), n = t.firstChild;
|
|
1333
|
-
return
|
|
1337
|
+
return I(n, () => e.label), I(t, () => e.children, null), t;
|
|
1334
1338
|
})();
|
|
1335
1339
|
}
|
|
1336
1340
|
function pi(e) {
|
|
1337
1341
|
return (() => {
|
|
1338
1342
|
var t = $r();
|
|
1339
|
-
return
|
|
1343
|
+
return I(t, () => e.children), t;
|
|
1340
1344
|
})();
|
|
1341
1345
|
}
|
|
1342
1346
|
function mi(e) {
|
|
@@ -1360,23 +1364,23 @@ function mi(e) {
|
|
|
1360
1364
|
let i = ui(n.value + r, n.min ?? 0, n.max ?? 100);
|
|
1361
1365
|
n.onChange(i), n.onCommit?.(i);
|
|
1362
1366
|
}, a = () => [
|
|
1363
|
-
|
|
1367
|
+
P(E, {
|
|
1364
1368
|
get when() {
|
|
1365
1369
|
return r() !== void 0;
|
|
1366
1370
|
},
|
|
1367
1371
|
get children() {
|
|
1368
1372
|
var e = ei();
|
|
1369
|
-
return
|
|
1373
|
+
return F((t) => B(e, { "--widget-fill-value": r() }, t)), e;
|
|
1370
1374
|
}
|
|
1371
1375
|
}),
|
|
1372
1376
|
(() => {
|
|
1373
1377
|
var t = ti();
|
|
1374
|
-
return
|
|
1378
|
+
return I(t, P(U, {
|
|
1375
1379
|
get icon() {
|
|
1376
1380
|
return e.icon;
|
|
1377
1381
|
},
|
|
1378
1382
|
class: "glasshome-widget-icon-glyph"
|
|
1379
|
-
})),
|
|
1383
|
+
})), F((n) => {
|
|
1380
1384
|
var r = !!e.on, i = !e.on;
|
|
1381
1385
|
return r !== n.e && t.classList.toggle("glass-tint", n.e = r), i !== n.t && t.classList.toggle("glasshome-panel-row-icon-off", n.t = i), n;
|
|
1382
1386
|
}, {
|
|
@@ -1386,32 +1390,32 @@ function mi(e) {
|
|
|
1386
1390
|
})(),
|
|
1387
1391
|
(() => {
|
|
1388
1392
|
var t = ri(), n = t.firstChild;
|
|
1389
|
-
return
|
|
1393
|
+
return I(n, () => e.name), I(t, P(E, {
|
|
1390
1394
|
get when() {
|
|
1391
1395
|
return e.state !== void 0;
|
|
1392
1396
|
},
|
|
1393
1397
|
get children() {
|
|
1394
1398
|
var t = ni();
|
|
1395
|
-
return
|
|
1399
|
+
return I(t, () => e.state), t;
|
|
1396
1400
|
}
|
|
1397
1401
|
}), null), t;
|
|
1398
1402
|
})()
|
|
1399
1403
|
], o = () => ({ "--widget-color": e.tone ?? "var(--tone-neutral)" });
|
|
1400
1404
|
return (() => {
|
|
1401
1405
|
var r = ai();
|
|
1402
|
-
return
|
|
1406
|
+
return I(r, P(E, {
|
|
1403
1407
|
get when() {
|
|
1404
1408
|
return t();
|
|
1405
1409
|
},
|
|
1406
1410
|
get fallback() {
|
|
1407
1411
|
return (() => {
|
|
1408
1412
|
var e = oi();
|
|
1409
|
-
return
|
|
1413
|
+
return I(e, a), F((t) => {
|
|
1410
1414
|
var n = `${Rt({
|
|
1411
1415
|
variant: "outline",
|
|
1412
1416
|
size: "none"
|
|
1413
1417
|
})} glasshome-panel-row glasshome-panel-row-static`, r = o();
|
|
1414
|
-
return n !== t.e &&
|
|
1418
|
+
return n !== t.e && N(e, t.e = n), t.t = B(e, r, t.t), t;
|
|
1415
1419
|
}, {
|
|
1416
1420
|
e: void 0,
|
|
1417
1421
|
t: void 0
|
|
@@ -1419,7 +1423,7 @@ function mi(e) {
|
|
|
1419
1423
|
})();
|
|
1420
1424
|
},
|
|
1421
1425
|
get children() {
|
|
1422
|
-
return
|
|
1426
|
+
return P(Te, {
|
|
1423
1427
|
variant: "outline",
|
|
1424
1428
|
size: "none",
|
|
1425
1429
|
class: "glasshome-panel-row",
|
|
@@ -1453,13 +1457,13 @@ function mi(e) {
|
|
|
1453
1457
|
}
|
|
1454
1458
|
});
|
|
1455
1459
|
}
|
|
1456
|
-
}), null),
|
|
1460
|
+
}), null), I(r, P(E, {
|
|
1457
1461
|
get when() {
|
|
1458
1462
|
return e.trailing;
|
|
1459
1463
|
},
|
|
1460
1464
|
get children() {
|
|
1461
1465
|
var t = ii();
|
|
1462
|
-
return
|
|
1466
|
+
return I(t, () => e.trailing), t;
|
|
1463
1467
|
}
|
|
1464
1468
|
}), null), r;
|
|
1465
1469
|
})();
|
|
@@ -1467,18 +1471,18 @@ function mi(e) {
|
|
|
1467
1471
|
function hi(e) {
|
|
1468
1472
|
return (() => {
|
|
1469
1473
|
var t = si();
|
|
1470
|
-
return
|
|
1474
|
+
return I(t, P(T, {
|
|
1471
1475
|
get each() {
|
|
1472
1476
|
return e.items;
|
|
1473
1477
|
},
|
|
1474
1478
|
children: (e) => (() => {
|
|
1475
1479
|
var t = ci(), n = t.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
1476
|
-
return
|
|
1480
|
+
return I(t, P(U, {
|
|
1477
1481
|
get icon() {
|
|
1478
1482
|
return e.icon;
|
|
1479
1483
|
},
|
|
1480
1484
|
class: "glasshome-panel-fact-icon"
|
|
1481
|
-
}), n),
|
|
1485
|
+
}), n), I(r, () => e.label), I(i, () => e.value), t;
|
|
1482
1486
|
})()
|
|
1483
1487
|
})), t;
|
|
1484
1488
|
})();
|
|
@@ -1653,13 +1657,13 @@ function Ti(e) {
|
|
|
1653
1657
|
let t = te(() => e.entityId), { callService: n } = an(), [r, i] = k();
|
|
1654
1658
|
return D(() => {
|
|
1655
1659
|
t(), i(void 0);
|
|
1656
|
-
}),
|
|
1660
|
+
}), P(E, {
|
|
1657
1661
|
get when() {
|
|
1658
1662
|
return t();
|
|
1659
1663
|
},
|
|
1660
1664
|
children: (t) => {
|
|
1661
1665
|
let a = () => vi[t().domain] ?? Si, o = () => r() ?? a().level?.(t()), s = () => a().setLevel;
|
|
1662
|
-
return
|
|
1666
|
+
return P(mi, {
|
|
1663
1667
|
get icon() {
|
|
1664
1668
|
let n = a().icon;
|
|
1665
1669
|
return typeof n == "function" ? e.icon ?? n(t()) : e.icon ?? t().icon ?? yi[t().domain === "cover" ? t().deviceClass ?? "" : ""] ?? n;
|
|
@@ -1679,7 +1683,7 @@ function Ti(e) {
|
|
|
1679
1683
|
return a().on(t());
|
|
1680
1684
|
},
|
|
1681
1685
|
get slide() {
|
|
1682
|
-
return
|
|
1686
|
+
return L(() => !!(s() && o() !== void 0))() ? {
|
|
1683
1687
|
value: o() ?? 0,
|
|
1684
1688
|
onChange: i,
|
|
1685
1689
|
onCommit: (e) => s()?.(n, t(), e)
|
|
@@ -1697,7 +1701,7 @@ function Ti(e) {
|
|
|
1697
1701
|
}
|
|
1698
1702
|
//#endregion
|
|
1699
1703
|
//#region src/framework/dialogs/debug-view.tsx
|
|
1700
|
-
var Ei = /*#__PURE__*/
|
|
1704
|
+
var Ei = /*#__PURE__*/ V("<pre class=\"text-muted-foreground max-h-64 overflow-auto p-3 font-mono text-xs leading-relaxed\">"), Di = /*#__PURE__*/ V("<span class=\"flex items-center gap-2\">"), Oi = /*#__PURE__*/ V("<section class=\"flex min-w-0 flex-col gap-2\"><header class=\"flex items-center gap-3\"><div class=\"flex min-w-0 flex-1 flex-col\"></div></header><div class=\"flex flex-col gap-2\">"), ki = /*#__PURE__*/ V("<div class=\"flex flex-col\">"), Ai = /*#__PURE__*/ V("<pre class=\"text-muted-foreground max-h-96 overflow-auto p-3 font-mono text-xs leading-relaxed whitespace-pre-wrap\">");
|
|
1701
1705
|
function ji(e, t, n) {
|
|
1702
1706
|
return {
|
|
1703
1707
|
widgetConfig: e,
|
|
@@ -1726,7 +1730,7 @@ var Mi = (e) => JSON.stringify(e, null, 2), Ni = {
|
|
|
1726
1730
|
};
|
|
1727
1731
|
function Fi(e) {
|
|
1728
1732
|
let { state: t, copy: n } = Yt();
|
|
1729
|
-
return
|
|
1733
|
+
return P(Te, {
|
|
1730
1734
|
variant: "ghost",
|
|
1731
1735
|
size: "icon",
|
|
1732
1736
|
class: "size-8",
|
|
@@ -1735,7 +1739,7 @@ function Fi(e) {
|
|
|
1735
1739
|
},
|
|
1736
1740
|
onClick: () => void n(e.text()),
|
|
1737
1741
|
get children() {
|
|
1738
|
-
return
|
|
1742
|
+
return P(U, {
|
|
1739
1743
|
get icon() {
|
|
1740
1744
|
return Ni[t()];
|
|
1741
1745
|
},
|
|
@@ -1764,41 +1768,41 @@ function Bi(e) {
|
|
|
1764
1768
|
return Number.isNaN(t.getTime()) ? e : t.toLocaleString();
|
|
1765
1769
|
}
|
|
1766
1770
|
function Vi(e) {
|
|
1767
|
-
return
|
|
1771
|
+
return P(mt, {
|
|
1768
1772
|
class: "overflow-hidden p-0",
|
|
1769
1773
|
get children() {
|
|
1770
1774
|
var t = Ei();
|
|
1771
|
-
return
|
|
1775
|
+
return I(t, () => Mi(e.value)), t;
|
|
1772
1776
|
}
|
|
1773
1777
|
});
|
|
1774
1778
|
}
|
|
1775
1779
|
function Hi(e) {
|
|
1776
|
-
return
|
|
1780
|
+
return P(ve, {
|
|
1777
1781
|
collapsible: !0,
|
|
1778
1782
|
class: "border-border/50 border-t",
|
|
1779
1783
|
get children() {
|
|
1780
|
-
return
|
|
1784
|
+
return P(be, {
|
|
1781
1785
|
get value() {
|
|
1782
1786
|
return e.label;
|
|
1783
1787
|
},
|
|
1784
1788
|
get children() {
|
|
1785
|
-
return [
|
|
1789
|
+
return [P(xe, {
|
|
1786
1790
|
class: "text-muted-foreground py-3 text-xs",
|
|
1787
1791
|
get children() {
|
|
1788
1792
|
var t = Di();
|
|
1789
|
-
return
|
|
1793
|
+
return I(t, () => e.label, null), I(t, P(E, {
|
|
1790
1794
|
get when() {
|
|
1791
1795
|
return e.count !== void 0;
|
|
1792
1796
|
},
|
|
1793
1797
|
get children() {
|
|
1794
|
-
return
|
|
1798
|
+
return P(Re, { get children() {
|
|
1795
1799
|
return e.count;
|
|
1796
1800
|
} });
|
|
1797
1801
|
}
|
|
1798
1802
|
}), null), t;
|
|
1799
1803
|
}
|
|
1800
|
-
}),
|
|
1801
|
-
return
|
|
1804
|
+
}), P(ye, { get children() {
|
|
1805
|
+
return P(Vi, { get value() {
|
|
1802
1806
|
return e.value;
|
|
1803
1807
|
} });
|
|
1804
1808
|
} })];
|
|
@@ -1810,55 +1814,55 @@ function Hi(e) {
|
|
|
1810
1814
|
function Ui(e) {
|
|
1811
1815
|
return (() => {
|
|
1812
1816
|
var t = Oi(), n = t.firstChild, r = n.firstChild, i = n.nextSibling;
|
|
1813
|
-
return
|
|
1817
|
+
return I(n, P(ft, {
|
|
1814
1818
|
get icon() {
|
|
1815
1819
|
return e.icon;
|
|
1816
1820
|
},
|
|
1817
1821
|
size: "sm"
|
|
1818
|
-
}), r),
|
|
1822
|
+
}), r), I(r, P(Ge, {
|
|
1819
1823
|
class: "truncate",
|
|
1820
1824
|
get children() {
|
|
1821
1825
|
return e.title;
|
|
1822
1826
|
}
|
|
1823
|
-
}), null),
|
|
1827
|
+
}), null), I(r, P(E, {
|
|
1824
1828
|
get when() {
|
|
1825
1829
|
return e.subtitle;
|
|
1826
1830
|
},
|
|
1827
|
-
children: (e) =>
|
|
1831
|
+
children: (e) => P(pt, {
|
|
1828
1832
|
class: "truncate font-mono",
|
|
1829
1833
|
get children() {
|
|
1830
1834
|
return e();
|
|
1831
1835
|
}
|
|
1832
1836
|
})
|
|
1833
|
-
}), null),
|
|
1837
|
+
}), null), I(n, () => e.badge, null), I(n, P(Fi, {
|
|
1834
1838
|
get label() {
|
|
1835
1839
|
return `Copy ${e.title}`;
|
|
1836
1840
|
},
|
|
1837
1841
|
text: () => Mi(e.source)
|
|
1838
|
-
}), null),
|
|
1842
|
+
}), null), I(i, () => e.children), t;
|
|
1839
1843
|
})();
|
|
1840
1844
|
}
|
|
1841
1845
|
function Wi(e) {
|
|
1842
1846
|
let t = O(() => Object.entries(e.record)), n = O(() => t().flatMap(([e, t]) => Li(t) ? [[e, t]] : [])), r = O(() => t().filter(([, e]) => !Li(e)));
|
|
1843
|
-
return
|
|
1847
|
+
return P(E, {
|
|
1844
1848
|
get when() {
|
|
1845
1849
|
return t().length > 0;
|
|
1846
1850
|
},
|
|
1847
1851
|
get fallback() {
|
|
1848
|
-
return
|
|
1852
|
+
return P(pt, { children: "Nothing set" });
|
|
1849
1853
|
},
|
|
1850
1854
|
get children() {
|
|
1851
|
-
return [
|
|
1855
|
+
return [P(E, {
|
|
1852
1856
|
get when() {
|
|
1853
1857
|
return n().length > 0;
|
|
1854
1858
|
},
|
|
1855
1859
|
get children() {
|
|
1856
1860
|
var e = ki();
|
|
1857
|
-
return
|
|
1861
|
+
return I(e, P(T, {
|
|
1858
1862
|
get each() {
|
|
1859
1863
|
return n();
|
|
1860
1864
|
},
|
|
1861
|
-
children: ([e, t]) =>
|
|
1865
|
+
children: ([e, t]) => P(Ue, {
|
|
1862
1866
|
get label() {
|
|
1863
1867
|
return Ii(e);
|
|
1864
1868
|
},
|
|
@@ -1868,11 +1872,11 @@ function Wi(e) {
|
|
|
1868
1872
|
})
|
|
1869
1873
|
})), e;
|
|
1870
1874
|
}
|
|
1871
|
-
}),
|
|
1875
|
+
}), P(T, {
|
|
1872
1876
|
get each() {
|
|
1873
1877
|
return r();
|
|
1874
1878
|
},
|
|
1875
|
-
children: ([e, t]) =>
|
|
1879
|
+
children: ([e, t]) => P(Hi, {
|
|
1876
1880
|
get label() {
|
|
1877
1881
|
return Ii(e);
|
|
1878
1882
|
},
|
|
@@ -1887,7 +1891,7 @@ function Wi(e) {
|
|
|
1887
1891
|
}
|
|
1888
1892
|
function Gi(e) {
|
|
1889
1893
|
let t = () => e.entity.attributes ?? {};
|
|
1890
|
-
return
|
|
1894
|
+
return P(Ui, {
|
|
1891
1895
|
icon: "lucide:activity",
|
|
1892
1896
|
get title() {
|
|
1893
1897
|
return e.entity.friendly_name ?? e.entity.entity_id;
|
|
@@ -1896,7 +1900,7 @@ function Gi(e) {
|
|
|
1896
1900
|
return e.entity.entity_id;
|
|
1897
1901
|
},
|
|
1898
1902
|
get badge() {
|
|
1899
|
-
return
|
|
1903
|
+
return P(Ce, { get children() {
|
|
1900
1904
|
return e.entity.state;
|
|
1901
1905
|
} });
|
|
1902
1906
|
},
|
|
@@ -1906,48 +1910,48 @@ function Gi(e) {
|
|
|
1906
1910
|
get children() {
|
|
1907
1911
|
return [(() => {
|
|
1908
1912
|
var t = ki();
|
|
1909
|
-
return
|
|
1913
|
+
return I(t, P(Ue, {
|
|
1910
1914
|
label: "Domain",
|
|
1911
1915
|
get children() {
|
|
1912
1916
|
return e.entity.domain;
|
|
1913
1917
|
}
|
|
1914
|
-
}), null),
|
|
1918
|
+
}), null), I(t, P(E, {
|
|
1915
1919
|
get when() {
|
|
1916
1920
|
return e.entity.device_class;
|
|
1917
1921
|
},
|
|
1918
|
-
children: (e) =>
|
|
1922
|
+
children: (e) => P(Ue, {
|
|
1919
1923
|
label: "Device class",
|
|
1920
1924
|
get children() {
|
|
1921
1925
|
return e();
|
|
1922
1926
|
}
|
|
1923
1927
|
})
|
|
1924
|
-
}), null),
|
|
1928
|
+
}), null), I(t, P(E, {
|
|
1925
1929
|
get when() {
|
|
1926
1930
|
return e.entity.area_id;
|
|
1927
1931
|
},
|
|
1928
|
-
children: (e) =>
|
|
1932
|
+
children: (e) => P(Ue, {
|
|
1929
1933
|
label: "Area",
|
|
1930
1934
|
get children() {
|
|
1931
1935
|
return e();
|
|
1932
1936
|
}
|
|
1933
1937
|
})
|
|
1934
|
-
}), null),
|
|
1938
|
+
}), null), I(t, P(Ue, {
|
|
1935
1939
|
label: "Changed",
|
|
1936
1940
|
get children() {
|
|
1937
1941
|
return Bi(e.entity.last_changed);
|
|
1938
1942
|
}
|
|
1939
|
-
}), null),
|
|
1943
|
+
}), null), I(t, P(Ue, {
|
|
1940
1944
|
label: "Updated",
|
|
1941
1945
|
get children() {
|
|
1942
1946
|
return Bi(e.entity.last_updated);
|
|
1943
1947
|
}
|
|
1944
1948
|
}), null), t;
|
|
1945
|
-
})(),
|
|
1949
|
+
})(), P(E, {
|
|
1946
1950
|
get when() {
|
|
1947
1951
|
return zi(t()) > 0;
|
|
1948
1952
|
},
|
|
1949
1953
|
get children() {
|
|
1950
|
-
return
|
|
1954
|
+
return P(Hi, {
|
|
1951
1955
|
label: "Attributes",
|
|
1952
1956
|
get count() {
|
|
1953
1957
|
return zi(t());
|
|
@@ -1963,31 +1967,31 @@ function Gi(e) {
|
|
|
1963
1967
|
}
|
|
1964
1968
|
function Ki(e) {
|
|
1965
1969
|
let t = O(() => Object.keys(e.data).filter((e) => e !== "widgetConfig" && e !== "entities"));
|
|
1966
|
-
return
|
|
1970
|
+
return P(We, { get children() {
|
|
1967
1971
|
return [
|
|
1968
|
-
|
|
1972
|
+
P(Ui, {
|
|
1969
1973
|
icon: "lucide:sliders-horizontal",
|
|
1970
1974
|
title: "Configuration",
|
|
1971
1975
|
get source() {
|
|
1972
1976
|
return e.data.widgetConfig;
|
|
1973
1977
|
},
|
|
1974
1978
|
get children() {
|
|
1975
|
-
return
|
|
1979
|
+
return P(Wi, { get record() {
|
|
1976
1980
|
return e.data.widgetConfig;
|
|
1977
1981
|
} });
|
|
1978
1982
|
}
|
|
1979
1983
|
}),
|
|
1980
|
-
|
|
1984
|
+
P(T, {
|
|
1981
1985
|
get each() {
|
|
1982
1986
|
return e.data.entities;
|
|
1983
1987
|
},
|
|
1984
|
-
children: (e) =>
|
|
1988
|
+
children: (e) => P(Gi, { entity: e })
|
|
1985
1989
|
}),
|
|
1986
|
-
|
|
1990
|
+
P(T, {
|
|
1987
1991
|
get each() {
|
|
1988
1992
|
return t();
|
|
1989
1993
|
},
|
|
1990
|
-
children: (t) =>
|
|
1994
|
+
children: (t) => P(Ui, {
|
|
1991
1995
|
icon: "lucide:braces",
|
|
1992
1996
|
get title() {
|
|
1993
1997
|
return Ii(t);
|
|
@@ -1996,7 +2000,7 @@ function Ki(e) {
|
|
|
1996
2000
|
return e.data[t];
|
|
1997
2001
|
},
|
|
1998
2002
|
get children() {
|
|
1999
|
-
return
|
|
2003
|
+
return P(Vi, { get value() {
|
|
2000
2004
|
return e.data[t];
|
|
2001
2005
|
} });
|
|
2002
2006
|
}
|
|
@@ -2012,45 +2016,45 @@ function qi(e) {
|
|
|
2012
2016
|
}
|
|
2013
2017
|
function Ji(e) {
|
|
2014
2018
|
let t = O(() => qi(e.data));
|
|
2015
|
-
return
|
|
2019
|
+
return P(E, {
|
|
2016
2020
|
get when() {
|
|
2017
2021
|
return e.data !== void 0;
|
|
2018
2022
|
},
|
|
2019
2023
|
get fallback() {
|
|
2020
|
-
return
|
|
2021
|
-
return
|
|
2022
|
-
return [
|
|
2024
|
+
return P(ze, { get children() {
|
|
2025
|
+
return P(Ve, { get children() {
|
|
2026
|
+
return [P(He, { children: "Nothing to inspect" }), P(Be, { children: "This widget publishes no debug information." })];
|
|
2023
2027
|
} });
|
|
2024
2028
|
} });
|
|
2025
2029
|
},
|
|
2026
2030
|
get children() {
|
|
2027
|
-
return
|
|
2031
|
+
return P(E, {
|
|
2028
2032
|
get when() {
|
|
2029
2033
|
return t();
|
|
2030
2034
|
},
|
|
2031
2035
|
get fallback() {
|
|
2032
|
-
return
|
|
2036
|
+
return P(Ui, {
|
|
2033
2037
|
icon: "lucide:braces",
|
|
2034
2038
|
title: "Debug data",
|
|
2035
2039
|
get source() {
|
|
2036
2040
|
return e.data;
|
|
2037
2041
|
},
|
|
2038
2042
|
get children() {
|
|
2039
|
-
return
|
|
2043
|
+
return P(E, {
|
|
2040
2044
|
get when() {
|
|
2041
2045
|
return typeof e.data == "string";
|
|
2042
2046
|
},
|
|
2043
2047
|
get fallback() {
|
|
2044
|
-
return
|
|
2048
|
+
return P(Vi, { get value() {
|
|
2045
2049
|
return e.data;
|
|
2046
2050
|
} });
|
|
2047
2051
|
},
|
|
2048
2052
|
get children() {
|
|
2049
|
-
return
|
|
2053
|
+
return P(mt, {
|
|
2050
2054
|
class: "overflow-hidden p-0",
|
|
2051
2055
|
get children() {
|
|
2052
2056
|
var t = Ai();
|
|
2053
|
-
return
|
|
2057
|
+
return I(t, () => e.data), t;
|
|
2054
2058
|
}
|
|
2055
2059
|
});
|
|
2056
2060
|
}
|
|
@@ -2058,7 +2062,7 @@ function Ji(e) {
|
|
|
2058
2062
|
}
|
|
2059
2063
|
});
|
|
2060
2064
|
},
|
|
2061
|
-
children: (e) =>
|
|
2065
|
+
children: (e) => P(Ki, { get data() {
|
|
2062
2066
|
return e();
|
|
2063
2067
|
} })
|
|
2064
2068
|
});
|
|
@@ -2081,7 +2085,7 @@ function Xi(e, t) {
|
|
|
2081
2085
|
}
|
|
2082
2086
|
//#endregion
|
|
2083
2087
|
//#region src/framework/dialogs/WidgetDialog.tsx
|
|
2084
|
-
var Zi = /*#__PURE__*/
|
|
2088
|
+
var Zi = /*#__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\">"), Qi = /*#__PURE__*/ V("<div class=\"bg-muted/30 rounded-lg p-2 text-center md:p-6\"><p class=\"text-muted-foreground text-sm\">No edit options available"), $i = /*#__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>"), ea = /*#__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\">"), ta = /*#__PURE__*/ V("<div class=glasshome-sheet>"), na = /*#__PURE__*/ V("<div class=glasshome-sheet-band aria-hidden=true><img alt>"), ra = /*#__PURE__*/ V("<span class=\"glasshome-widget-icon glass glass-tint glasshome-sheet-icon\">"), ia = /*#__PURE__*/ V("<span class=\"inline-flex size-3.5 shrink-0 items-center\">"), aa = (e) => Qt(e), oa = {
|
|
2085
2089
|
sm: "sm",
|
|
2086
2090
|
md: "md",
|
|
2087
2091
|
lg: "lg",
|
|
@@ -2129,7 +2133,7 @@ function ca(e) {
|
|
|
2129
2133
|
icon: () => Zi(),
|
|
2130
2134
|
content: () => t.editContent ?? (() => {
|
|
2131
2135
|
let e = t.SchemaForm, o = n() ? a() : void 0;
|
|
2132
|
-
return !o || !e ? Qi() :
|
|
2136
|
+
return !o || !e ? Qi() : P(e, {
|
|
2133
2137
|
schema: o,
|
|
2134
2138
|
get data() {
|
|
2135
2139
|
return r();
|
|
@@ -2144,16 +2148,16 @@ function ca(e) {
|
|
|
2144
2148
|
id: "controls",
|
|
2145
2149
|
label: "Controls",
|
|
2146
2150
|
icon: () => $i(),
|
|
2147
|
-
content: () => t.controlsContent ??
|
|
2148
|
-
return
|
|
2149
|
-
return [
|
|
2151
|
+
content: () => t.controlsContent ?? P(ze, { get children() {
|
|
2152
|
+
return P(Ve, { get children() {
|
|
2153
|
+
return [P(He, { children: "No controls" }), P(Be, { children: "This widget is shown as is." })];
|
|
2150
2154
|
} });
|
|
2151
2155
|
} })
|
|
2152
2156
|
}), e.push({
|
|
2153
2157
|
id: "debug",
|
|
2154
2158
|
label: "Debug",
|
|
2155
2159
|
icon: () => ea(),
|
|
2156
|
-
content: () => t.debugContent ??
|
|
2160
|
+
content: () => t.debugContent ?? P(Ji, { get data() {
|
|
2157
2161
|
return t.debugData;
|
|
2158
2162
|
} })
|
|
2159
2163
|
}), e;
|
|
@@ -2163,66 +2167,66 @@ function ca(e) {
|
|
|
2163
2167
|
icon: t.tile?.icon ?? y?.icon(),
|
|
2164
2168
|
tone: t.tile?.tone ?? y?.accent() ?? y?.tone(),
|
|
2165
2169
|
backdrop: t.tile?.backdrop
|
|
2166
|
-
}), x = () => v?.developer?.() ?? !1, S = () =>
|
|
2170
|
+
}), x = () => v?.developer?.() ?? !1, S = () => H() === "controls" && t.sheet !== void 0, ee = la(), te = () => v?.anchor?.(), C = () => S() && !ee() && te() !== void 0, w = Yt(), ne = () => {
|
|
2167
2171
|
if (t.debugData === void 0) return;
|
|
2168
2172
|
let e = typeof t.debugData == "string" ? t.debugData : JSON.stringify(t.debugData, null, 2);
|
|
2169
2173
|
w.copy(e);
|
|
2170
|
-
}, re = t.ResponsiveDialog, ie = t.ResponsiveDialogContent, ae = t.ResponsiveDialogHeader, oe = t.ResponsiveDialogTitle, se = t.ResponsiveDialogDescription, ce = t.ResponsiveDialogBody ?? nt, le = t.ResponsiveDialogFooter ?? st, ue = t.Tabs ?? Tt, de = t.TabsList ?? kt, fe = t.TabsTrigger ?? jt, pe = t.TabsContent ?? Dt, he = t.Button,
|
|
2174
|
+
}, re = t.ResponsiveDialog, ie = t.ResponsiveDialogContent, ae = t.ResponsiveDialogHeader, oe = t.ResponsiveDialogTitle, se = t.ResponsiveDialogDescription, ce = t.ResponsiveDialogBody ?? nt, le = t.ResponsiveDialogFooter ?? st, ue = t.Tabs ?? Tt, de = t.TabsList ?? kt, fe = t.TabsTrigger ?? jt, pe = t.TabsContent ?? Dt, he = t.Button, M = O(me([
|
|
2171
2175
|
() => t.open,
|
|
2172
2176
|
a,
|
|
2173
2177
|
() => t.config,
|
|
2174
2178
|
() => t.tabs
|
|
2175
|
-
], () => _())),
|
|
2176
|
-
let e =
|
|
2179
|
+
], () => _())), N = (e) => n() ? u(e) : t.onOpenChange(e), _e = () => n() ? l() : t.hasUnsavedChanges, z = () => n() ? d : t.onSave, B = () => M().filter((e) => e.id !== "debug" || x()), V = () => B().filter((e) => e.id !== "controls" || t.sheet === void 0), H = () => {
|
|
2180
|
+
let e = B(), n = m() === "controls" && t.sheet === void 0 && !("controlsContent" in t) && !t.tabs ? "edit" : m();
|
|
2177
2181
|
return e.some((e) => e.id === n) ? n : e[0]?.id ?? n;
|
|
2178
|
-
},
|
|
2179
|
-
return
|
|
2182
|
+
}, ve = () => H() === "edit" && (z() || t.onDelete) || H() === "debug" && t.debugData !== void 0;
|
|
2183
|
+
return P(re, {
|
|
2180
2184
|
get open() {
|
|
2181
2185
|
return t.open;
|
|
2182
2186
|
},
|
|
2183
|
-
onOpenChange: (e) =>
|
|
2187
|
+
onOpenChange: (e) => N(e),
|
|
2184
2188
|
get children() {
|
|
2185
|
-
return
|
|
2189
|
+
return P(E, {
|
|
2186
2190
|
get when() {
|
|
2187
2191
|
return !S();
|
|
2188
2192
|
},
|
|
2189
2193
|
get fallback() {
|
|
2190
|
-
return
|
|
2194
|
+
return P(ie, {
|
|
2191
2195
|
size: "sm",
|
|
2192
2196
|
get ariaLabel() {
|
|
2193
2197
|
return t.title;
|
|
2194
2198
|
},
|
|
2195
2199
|
get anchor() {
|
|
2196
|
-
return
|
|
2200
|
+
return L(() => !!C())() ? te() : void 0;
|
|
2197
2201
|
},
|
|
2198
2202
|
class: "glasshome-sheet-surface",
|
|
2199
2203
|
get style() {
|
|
2200
|
-
return
|
|
2204
|
+
return L(() => !!b().tone)() ? {
|
|
2201
2205
|
"--glass-tone": b().tone,
|
|
2202
2206
|
"--widget-color": b().tone
|
|
2203
2207
|
} : void 0;
|
|
2204
2208
|
},
|
|
2205
2209
|
get children() {
|
|
2206
2210
|
return [
|
|
2207
|
-
|
|
2211
|
+
P(E, {
|
|
2208
2212
|
get when() {
|
|
2209
2213
|
return b().backdrop;
|
|
2210
2214
|
},
|
|
2211
2215
|
children: (e) => (() => {
|
|
2212
2216
|
var t = na(), n = t.firstChild;
|
|
2213
|
-
return
|
|
2217
|
+
return F(() => R(n, "src", e())), t;
|
|
2214
2218
|
})()
|
|
2215
2219
|
}),
|
|
2216
|
-
|
|
2220
|
+
P(ae, {
|
|
2217
2221
|
class: "items-center",
|
|
2218
2222
|
get media() {
|
|
2219
|
-
return
|
|
2223
|
+
return P(E, {
|
|
2220
2224
|
get when() {
|
|
2221
2225
|
return b().icon;
|
|
2222
2226
|
},
|
|
2223
2227
|
children: (e) => (() => {
|
|
2224
2228
|
var t = ra();
|
|
2225
|
-
return
|
|
2229
|
+
return I(t, P(U, {
|
|
2226
2230
|
get icon() {
|
|
2227
2231
|
return e();
|
|
2228
2232
|
},
|
|
@@ -2232,7 +2236,7 @@ function ca(e) {
|
|
|
2232
2236
|
});
|
|
2233
2237
|
},
|
|
2234
2238
|
get children() {
|
|
2235
|
-
return
|
|
2239
|
+
return P(oe, {
|
|
2236
2240
|
class: "truncate",
|
|
2237
2241
|
get children() {
|
|
2238
2242
|
return t.title;
|
|
@@ -2240,16 +2244,16 @@ function ca(e) {
|
|
|
2240
2244
|
});
|
|
2241
2245
|
}
|
|
2242
2246
|
}),
|
|
2243
|
-
|
|
2247
|
+
P(ce, { get children() {
|
|
2244
2248
|
var e = ta();
|
|
2245
|
-
return
|
|
2249
|
+
return I(e, () => t.sheet?.()), e;
|
|
2246
2250
|
} })
|
|
2247
2251
|
];
|
|
2248
2252
|
}
|
|
2249
2253
|
});
|
|
2250
2254
|
},
|
|
2251
2255
|
get children() {
|
|
2252
|
-
return
|
|
2256
|
+
return P(ie, {
|
|
2253
2257
|
get size() {
|
|
2254
2258
|
return g();
|
|
2255
2259
|
},
|
|
@@ -2257,70 +2261,70 @@ function ca(e) {
|
|
|
2257
2261
|
return t.class;
|
|
2258
2262
|
},
|
|
2259
2263
|
get children() {
|
|
2260
|
-
return
|
|
2264
|
+
return P(ue, {
|
|
2261
2265
|
get value() {
|
|
2262
|
-
return
|
|
2266
|
+
return H();
|
|
2263
2267
|
},
|
|
2264
2268
|
onChange: h,
|
|
2265
2269
|
layout: "split",
|
|
2266
2270
|
get children() {
|
|
2267
2271
|
return [
|
|
2268
|
-
|
|
2272
|
+
P(ae, {
|
|
2269
2273
|
class: "flex-wrap",
|
|
2270
2274
|
get action() {
|
|
2271
|
-
return [
|
|
2275
|
+
return [P(E, {
|
|
2272
2276
|
get when() {
|
|
2273
2277
|
return x() || t.tabs !== void 0;
|
|
2274
2278
|
},
|
|
2275
2279
|
get children() {
|
|
2276
|
-
return
|
|
2280
|
+
return P(de, {
|
|
2277
2281
|
class: "w-auto",
|
|
2278
2282
|
get children() {
|
|
2279
|
-
return
|
|
2283
|
+
return P(T, {
|
|
2280
2284
|
get each() {
|
|
2281
|
-
return
|
|
2285
|
+
return V();
|
|
2282
2286
|
},
|
|
2283
|
-
children: (e) =>
|
|
2287
|
+
children: (e) => P(fe, {
|
|
2284
2288
|
get value() {
|
|
2285
2289
|
return e.id;
|
|
2286
2290
|
},
|
|
2287
2291
|
get children() {
|
|
2288
2292
|
return [(() => {
|
|
2289
2293
|
var t = ia();
|
|
2290
|
-
return
|
|
2291
|
-
})(),
|
|
2294
|
+
return I(t, () => e.icon()), t;
|
|
2295
|
+
})(), L(() => e.label)];
|
|
2292
2296
|
}
|
|
2293
2297
|
})
|
|
2294
2298
|
});
|
|
2295
2299
|
}
|
|
2296
2300
|
});
|
|
2297
2301
|
}
|
|
2298
|
-
}),
|
|
2302
|
+
}), L(() => t.headerActions)];
|
|
2299
2303
|
},
|
|
2300
2304
|
get children() {
|
|
2301
|
-
return [
|
|
2305
|
+
return [P(oe, {
|
|
2302
2306
|
class: "truncate",
|
|
2303
2307
|
get children() {
|
|
2304
2308
|
return t.title;
|
|
2305
2309
|
}
|
|
2306
|
-
}),
|
|
2310
|
+
}), P(E, {
|
|
2307
2311
|
get when() {
|
|
2308
2312
|
return t.description;
|
|
2309
2313
|
},
|
|
2310
2314
|
get children() {
|
|
2311
|
-
return
|
|
2315
|
+
return P(se, { get children() {
|
|
2312
2316
|
return t.description;
|
|
2313
2317
|
} });
|
|
2314
2318
|
}
|
|
2315
2319
|
})];
|
|
2316
2320
|
}
|
|
2317
2321
|
}),
|
|
2318
|
-
|
|
2319
|
-
return
|
|
2322
|
+
P(ce, { get children() {
|
|
2323
|
+
return P(T, {
|
|
2320
2324
|
get each() {
|
|
2321
|
-
return
|
|
2325
|
+
return B();
|
|
2322
2326
|
},
|
|
2323
|
-
children: (e) =>
|
|
2327
|
+
children: (e) => P(pe, {
|
|
2324
2328
|
get value() {
|
|
2325
2329
|
return e.id;
|
|
2326
2330
|
},
|
|
@@ -2330,19 +2334,19 @@ function ca(e) {
|
|
|
2330
2334
|
})
|
|
2331
2335
|
});
|
|
2332
2336
|
} }),
|
|
2333
|
-
|
|
2337
|
+
P(E, {
|
|
2334
2338
|
get when() {
|
|
2335
|
-
return
|
|
2339
|
+
return ve();
|
|
2336
2340
|
},
|
|
2337
2341
|
get children() {
|
|
2338
|
-
return
|
|
2342
|
+
return P(le, { get children() {
|
|
2339
2343
|
return [
|
|
2340
|
-
|
|
2344
|
+
P(E, {
|
|
2341
2345
|
get when() {
|
|
2342
|
-
return
|
|
2346
|
+
return L(() => H() === "edit")() && t.onDelete;
|
|
2343
2347
|
},
|
|
2344
2348
|
get children() {
|
|
2345
|
-
return
|
|
2349
|
+
return P(he, {
|
|
2346
2350
|
size: "sm",
|
|
2347
2351
|
variant: "destructive",
|
|
2348
2352
|
onClick: () => t.onDelete?.(),
|
|
@@ -2350,27 +2354,27 @@ function ca(e) {
|
|
|
2350
2354
|
});
|
|
2351
2355
|
}
|
|
2352
2356
|
}),
|
|
2353
|
-
|
|
2357
|
+
P(E, {
|
|
2354
2358
|
get when() {
|
|
2355
|
-
return
|
|
2359
|
+
return L(() => H() === "edit")() && z();
|
|
2356
2360
|
},
|
|
2357
2361
|
get children() {
|
|
2358
|
-
return
|
|
2362
|
+
return P(he, {
|
|
2359
2363
|
size: "sm",
|
|
2360
2364
|
get disabled() {
|
|
2361
|
-
return !
|
|
2365
|
+
return !_e();
|
|
2362
2366
|
},
|
|
2363
|
-
onClick: () =>
|
|
2367
|
+
onClick: () => z()?.(),
|
|
2364
2368
|
children: "Save"
|
|
2365
2369
|
});
|
|
2366
2370
|
}
|
|
2367
2371
|
}),
|
|
2368
|
-
|
|
2372
|
+
P(E, {
|
|
2369
2373
|
get when() {
|
|
2370
|
-
return
|
|
2374
|
+
return L(() => H() === "debug")() && t.debugData !== void 0;
|
|
2371
2375
|
},
|
|
2372
2376
|
get children() {
|
|
2373
|
-
return
|
|
2377
|
+
return P(he, {
|
|
2374
2378
|
size: "sm",
|
|
2375
2379
|
variant: "outline",
|
|
2376
2380
|
onClick: ne,
|
|
@@ -2849,15 +2853,35 @@ function Wa() {
|
|
|
2849
2853
|
});
|
|
2850
2854
|
}
|
|
2851
2855
|
//#endregion
|
|
2856
|
+
//#region src/theme.ts
|
|
2857
|
+
var Ga = /* @__PURE__ */ new Map(), Ka;
|
|
2858
|
+
function qa(e) {
|
|
2859
|
+
let t = new MutationObserver(() => {
|
|
2860
|
+
for (let [t, [, n]] of Ga) n(e.classList.contains(t));
|
|
2861
|
+
});
|
|
2862
|
+
return t.observe(e, {
|
|
2863
|
+
attributes: !0,
|
|
2864
|
+
attributeFilter: ["class"]
|
|
2865
|
+
}), t;
|
|
2866
|
+
}
|
|
2867
|
+
function Ja(e) {
|
|
2868
|
+
if (typeof document > "u") return !1;
|
|
2869
|
+
let t = document.documentElement, n = Ga.get(e);
|
|
2870
|
+
return n || (n = k(t.classList.contains(e)), Ga.set(e, n), Ka ??= qa(t)), n[0](), t.classList.contains(e);
|
|
2871
|
+
}
|
|
2872
|
+
function Ya() {
|
|
2873
|
+
return Ja("dark");
|
|
2874
|
+
}
|
|
2875
|
+
//#endregion
|
|
2852
2876
|
//#region src/framework/hooks/use-reduced-motion.ts
|
|
2853
|
-
function
|
|
2877
|
+
function Xa() {
|
|
2854
2878
|
if (typeof window > "u" || typeof window.matchMedia != "function") return () => !1;
|
|
2855
2879
|
let e = window.matchMedia("(prefers-reduced-motion: reduce)"), [t, n] = k(e.matches), r = (e) => n(e.matches);
|
|
2856
|
-
return e.addEventListener("change", r), A(() => e.removeEventListener("change", r)), t;
|
|
2880
|
+
return e.addEventListener("change", r), A(() => e.removeEventListener("change", r)), () => t() || Ja("reduce-motion");
|
|
2857
2881
|
}
|
|
2858
2882
|
//#endregion
|
|
2859
2883
|
//#region src/framework/hooks/use-widget-entity-group.ts
|
|
2860
|
-
function
|
|
2884
|
+
function Za(e) {
|
|
2861
2885
|
let t = e.minEntities ?? 1, n = O(() => e.entities().length), r = O(() => n() >= t), i = O(() => !r() || !e.calculateGroupData ? null : e.calculateGroupData(e.entities())), a = O(() => {
|
|
2862
2886
|
if (!r()) return;
|
|
2863
2887
|
let t = e.aggregationMode?.();
|
|
@@ -2877,7 +2901,7 @@ function Ka(e) {
|
|
|
2877
2901
|
}
|
|
2878
2902
|
//#endregion
|
|
2879
2903
|
//#region src/framework/theming/svg-colors.ts
|
|
2880
|
-
var
|
|
2904
|
+
var Qa = {
|
|
2881
2905
|
solar: "oklch(0.74 0.18 60)",
|
|
2882
2906
|
grid: "oklch(0.62 0.12 245)",
|
|
2883
2907
|
battery: "oklch(0.70 0.18 145)",
|
|
@@ -2886,21 +2910,21 @@ var qa = {
|
|
|
2886
2910
|
positive: "oklch(0.70 0.14 160)",
|
|
2887
2911
|
negative: "oklch(0.64 0.22 27)"
|
|
2888
2912
|
};
|
|
2889
|
-
function
|
|
2913
|
+
function $a(e) {
|
|
2890
2914
|
return {
|
|
2891
2915
|
fill: `color-mix(in oklch, ${e} 20%, transparent)`,
|
|
2892
2916
|
stroke: e,
|
|
2893
2917
|
solid: e
|
|
2894
2918
|
};
|
|
2895
2919
|
}
|
|
2896
|
-
var
|
|
2920
|
+
var eo = Object.fromEntries(Object.entries(Qa).map(([e, t]) => [e, $a(t)])), to = o.enum([
|
|
2897
2921
|
"success",
|
|
2898
2922
|
"warning",
|
|
2899
2923
|
"danger",
|
|
2900
2924
|
"info",
|
|
2901
2925
|
"neutral",
|
|
2902
2926
|
"accent"
|
|
2903
|
-
]),
|
|
2927
|
+
]), no = {
|
|
2904
2928
|
title: e(() => o.string().optional().meta({
|
|
2905
2929
|
title: "Title",
|
|
2906
2930
|
description: "Optional display name override"
|
|
@@ -2920,38 +2944,38 @@ var Ya = Object.fromEntries(Object.entries(qa).map(([e, t]) => [e, Ja(t)])), Xa
|
|
|
2920
2944
|
formType: "area-picker",
|
|
2921
2945
|
title: "Area"
|
|
2922
2946
|
}), "widgetFields.areaId")
|
|
2923
|
-
},
|
|
2947
|
+
}, ro = 24;
|
|
2924
2948
|
function $(e) {
|
|
2925
2949
|
let t = {};
|
|
2926
2950
|
for (let [n, r] of Object.entries(e)) r !== void 0 && (t[n] = r);
|
|
2927
2951
|
return t;
|
|
2928
2952
|
}
|
|
2929
|
-
function
|
|
2953
|
+
function io() {
|
|
2930
2954
|
return o.string().optional().meta({
|
|
2931
2955
|
title: "Title",
|
|
2932
2956
|
description: "Optional display name override"
|
|
2933
2957
|
});
|
|
2934
2958
|
}
|
|
2935
|
-
function
|
|
2959
|
+
function ao(e) {
|
|
2936
2960
|
return (e.default === void 0 ? o.string().optional() : o.string().default(e.default)).meta($({
|
|
2937
2961
|
title: e.title,
|
|
2938
2962
|
description: e.description
|
|
2939
2963
|
}));
|
|
2940
2964
|
}
|
|
2941
|
-
function
|
|
2965
|
+
function oo(e) {
|
|
2942
2966
|
let t = o.number();
|
|
2943
2967
|
return e.min !== void 0 && (t = t.min(e.min)), e.max !== void 0 && (t = t.max(e.max)), (e.default === void 0 ? t.optional() : t.default(e.default)).meta($({
|
|
2944
2968
|
title: e.title,
|
|
2945
2969
|
description: e.description
|
|
2946
2970
|
}));
|
|
2947
2971
|
}
|
|
2948
|
-
function
|
|
2972
|
+
function so(e) {
|
|
2949
2973
|
return o.boolean().default(e.default ?? !1).meta($({
|
|
2950
2974
|
title: e.title,
|
|
2951
2975
|
description: e.description
|
|
2952
2976
|
}));
|
|
2953
2977
|
}
|
|
2954
|
-
function
|
|
2978
|
+
function co(e, t) {
|
|
2955
2979
|
let n = o.enum(e);
|
|
2956
2980
|
return (t.default === void 0 ? n.optional() : n.default(t.default)).meta($({
|
|
2957
2981
|
title: t.title,
|
|
@@ -2960,14 +2984,14 @@ function ro(e, t) {
|
|
|
2960
2984
|
icons: t.icons
|
|
2961
2985
|
}));
|
|
2962
2986
|
}
|
|
2963
|
-
function
|
|
2987
|
+
function lo(e, t) {
|
|
2964
2988
|
return o.array(o.enum(e)).default([...t.default ?? []]).meta($({
|
|
2965
2989
|
title: t.title,
|
|
2966
2990
|
description: t.description,
|
|
2967
2991
|
labels: t.labels
|
|
2968
2992
|
}));
|
|
2969
2993
|
}
|
|
2970
|
-
function
|
|
2994
|
+
function uo(e, t) {
|
|
2971
2995
|
return o.array(o.string()).default([]).meta($({
|
|
2972
2996
|
domain: e,
|
|
2973
2997
|
title: t?.title ?? "Entities",
|
|
@@ -2975,7 +2999,7 @@ function ao(e, t) {
|
|
|
2975
2999
|
deviceClass: t?.deviceClass
|
|
2976
3000
|
}));
|
|
2977
3001
|
}
|
|
2978
|
-
function
|
|
3002
|
+
function fo(e, t) {
|
|
2979
3003
|
return o.array(o.string()).default([]).meta($({
|
|
2980
3004
|
domain: e,
|
|
2981
3005
|
title: t?.title ?? "Entity",
|
|
@@ -2984,13 +3008,13 @@ function oo(e, t) {
|
|
|
2984
3008
|
singleSelect: !0
|
|
2985
3009
|
}));
|
|
2986
3010
|
}
|
|
2987
|
-
function
|
|
3011
|
+
function po(e) {
|
|
2988
3012
|
return o.string().optional().meta({
|
|
2989
3013
|
formType: "area-picker",
|
|
2990
3014
|
title: e?.title ?? "Area"
|
|
2991
3015
|
});
|
|
2992
3016
|
}
|
|
2993
|
-
function
|
|
3017
|
+
function mo(e) {
|
|
2994
3018
|
let t = o.string().meta($({
|
|
2995
3019
|
formType: "icon-picker",
|
|
2996
3020
|
title: e?.title ?? "Icon",
|
|
@@ -2998,7 +3022,7 @@ function co(e) {
|
|
|
2998
3022
|
}));
|
|
2999
3023
|
return e?.default === void 0 ? t.optional() : t.default(e.default);
|
|
3000
3024
|
}
|
|
3001
|
-
function
|
|
3025
|
+
function ho(e) {
|
|
3002
3026
|
let t = e?.presets && Object.fromEntries(Object.entries(e.presets).map(([e, t]) => [e, {
|
|
3003
3027
|
label: t.label,
|
|
3004
3028
|
thumb: t.thumb
|
|
@@ -3010,36 +3034,36 @@ function lo(e) {
|
|
|
3010
3034
|
}));
|
|
3011
3035
|
return e?.default === void 0 ? n.optional() : n.default(e.default);
|
|
3012
3036
|
}
|
|
3013
|
-
function
|
|
3037
|
+
function go(e) {
|
|
3014
3038
|
return o.array(o.string()).default([]).meta($({
|
|
3015
3039
|
title: e.title,
|
|
3016
3040
|
description: e.description
|
|
3017
3041
|
}));
|
|
3018
3042
|
}
|
|
3019
|
-
function
|
|
3043
|
+
function _o(e, t) {
|
|
3020
3044
|
let n = o.object(e);
|
|
3021
3045
|
return n.default($t(n)).meta({ title: t.title });
|
|
3022
3046
|
}
|
|
3023
|
-
function
|
|
3047
|
+
function vo(e) {
|
|
3024
3048
|
return e.def;
|
|
3025
3049
|
}
|
|
3026
|
-
function
|
|
3050
|
+
function yo(e) {
|
|
3027
3051
|
if (o.globalRegistry.get(e)?.formType === "list") return !0;
|
|
3028
|
-
let t =
|
|
3029
|
-
return t.shape ? Object.values(t.shape).some(
|
|
3052
|
+
let t = vo(e);
|
|
3053
|
+
return t.shape ? Object.values(t.shape).some(yo) : t.options ? t.options.some(yo) : t.element ? yo(t.element) : t.innerType ? yo(t.innerType) : !1;
|
|
3030
3054
|
}
|
|
3031
|
-
function
|
|
3032
|
-
let t = e, n =
|
|
3033
|
-
for (; n;) t = n, n =
|
|
3055
|
+
function bo(e) {
|
|
3056
|
+
let t = e, n = vo(t).innerType;
|
|
3057
|
+
for (; n;) t = n, n = vo(t).innerType;
|
|
3034
3058
|
return t;
|
|
3035
3059
|
}
|
|
3036
|
-
function
|
|
3037
|
-
let t =
|
|
3060
|
+
function xo(e) {
|
|
3061
|
+
let t = vo(bo(e));
|
|
3038
3062
|
if (t.shape) return new Set(Object.keys(t.shape));
|
|
3039
3063
|
if (t.options) {
|
|
3040
3064
|
let e = [];
|
|
3041
3065
|
for (let n of t.options) {
|
|
3042
|
-
let t =
|
|
3066
|
+
let t = xo(n);
|
|
3043
3067
|
if (!t) return null;
|
|
3044
3068
|
e.push(t);
|
|
3045
3069
|
}
|
|
@@ -3051,7 +3075,7 @@ function go(e) {
|
|
|
3051
3075
|
}
|
|
3052
3076
|
return null;
|
|
3053
3077
|
}
|
|
3054
|
-
function
|
|
3078
|
+
function So(e, t, n) {
|
|
3055
3079
|
let r = { [t]: n };
|
|
3056
3080
|
try {
|
|
3057
3081
|
return e.parse(r);
|
|
@@ -3059,12 +3083,12 @@ function _o(e, t, n) {
|
|
|
3059
3083
|
return r;
|
|
3060
3084
|
}
|
|
3061
3085
|
}
|
|
3062
|
-
function
|
|
3086
|
+
function Co(e, t) {
|
|
3063
3087
|
if (!Number.isInteger(t.max) || t.max < 1) throw Error(`field.list: max must be a positive integer, got ${t.max}`);
|
|
3064
|
-
if (t.max >
|
|
3088
|
+
if (t.max > ro) throw Error(`field.list: max ${t.max} exceeds the ceiling of ${ro}`);
|
|
3065
3089
|
if (t.min !== void 0 && (!Number.isInteger(t.min) || t.min < 0 || t.min > t.max)) throw Error(`field.list: min must be an integer between 0 and max, got ${t.min}`);
|
|
3066
|
-
if (
|
|
3067
|
-
if (t.labelField !== void 0 && !
|
|
3090
|
+
if (yo(e)) throw Error("field.list: a list item cannot contain another field.list (depth 1 only)");
|
|
3091
|
+
if (t.labelField !== void 0 && !xo(e)?.has(t.labelField)) throw Error(`field.list: labelField "${t.labelField}" must name a field present in every item`);
|
|
3068
3092
|
let n = o.array(e);
|
|
3069
3093
|
return t.min !== void 0 && (n = n.min(t.min)), n = n.max(t.max), n.default([]).meta($({
|
|
3070
3094
|
formType: "list",
|
|
@@ -3074,7 +3098,7 @@ function vo(e, t) {
|
|
|
3074
3098
|
labelField: t.labelField
|
|
3075
3099
|
}));
|
|
3076
3100
|
}
|
|
3077
|
-
function
|
|
3101
|
+
function wo(e, t, n) {
|
|
3078
3102
|
let r = Object.keys(t)[0];
|
|
3079
3103
|
if (r === void 0) throw Error("field.variants: at least one variant is required");
|
|
3080
3104
|
if (n.shared && e in n.shared) throw Error(`field.variants: shared fields cannot redefine the discriminator "${e}"`);
|
|
@@ -3087,7 +3111,7 @@ function yo(e, t, n) {
|
|
|
3087
3111
|
...r,
|
|
3088
3112
|
[e]: o.literal(t)
|
|
3089
3113
|
})), a = o.discriminatedUnion(e, i), s = i[0];
|
|
3090
|
-
return a.default(s ?
|
|
3114
|
+
return a.default(s ? So(s, e, r) : {}).meta($({
|
|
3091
3115
|
formType: "variants",
|
|
3092
3116
|
discriminator: e,
|
|
3093
3117
|
title: n.title,
|
|
@@ -3095,35 +3119,35 @@ function yo(e, t, n) {
|
|
|
3095
3119
|
labels: n.labels
|
|
3096
3120
|
}));
|
|
3097
3121
|
}
|
|
3098
|
-
var
|
|
3099
|
-
title:
|
|
3100
|
-
text:
|
|
3101
|
-
number:
|
|
3102
|
-
toggle:
|
|
3103
|
-
choice:
|
|
3104
|
-
choices:
|
|
3105
|
-
entities:
|
|
3106
|
-
entity:
|
|
3107
|
-
area:
|
|
3108
|
-
icon:
|
|
3109
|
-
image:
|
|
3110
|
-
stringList:
|
|
3111
|
-
group:
|
|
3112
|
-
list:
|
|
3113
|
-
variants:
|
|
3122
|
+
var To = {
|
|
3123
|
+
title: io,
|
|
3124
|
+
text: ao,
|
|
3125
|
+
number: oo,
|
|
3126
|
+
toggle: so,
|
|
3127
|
+
choice: co,
|
|
3128
|
+
choices: lo,
|
|
3129
|
+
entities: uo,
|
|
3130
|
+
entity: fo,
|
|
3131
|
+
area: po,
|
|
3132
|
+
icon: mo,
|
|
3133
|
+
image: ho,
|
|
3134
|
+
stringList: go,
|
|
3135
|
+
group: _o,
|
|
3136
|
+
list: Co,
|
|
3137
|
+
variants: wo
|
|
3114
3138
|
};
|
|
3115
|
-
function
|
|
3139
|
+
function Eo(e) {
|
|
3116
3140
|
return o.object(e);
|
|
3117
3141
|
}
|
|
3118
3142
|
//#endregion
|
|
3119
3143
|
//#region src/framework/image-src.ts
|
|
3120
|
-
function
|
|
3144
|
+
function Do(e, t) {
|
|
3121
3145
|
let n = Vt(e);
|
|
3122
3146
|
return n === void 0 ? Ut(e) : t?.[n]?.src;
|
|
3123
3147
|
}
|
|
3124
3148
|
//#endregion
|
|
3125
3149
|
//#region src/shared/spline.ts
|
|
3126
|
-
function
|
|
3150
|
+
function Oo(e) {
|
|
3127
3151
|
if (e.length < 2) return "";
|
|
3128
3152
|
let t = e[0], n = e[1];
|
|
3129
3153
|
if (!t || !n) return "";
|
|
@@ -3149,15 +3173,10 @@ function Co(e) {
|
|
|
3149
3173
|
return c;
|
|
3150
3174
|
}
|
|
3151
3175
|
//#endregion
|
|
3152
|
-
//#region src/theme.ts
|
|
3153
|
-
function wo() {
|
|
3154
|
-
return document.documentElement.classList.contains("dark");
|
|
3155
|
-
}
|
|
3156
|
-
//#endregion
|
|
3157
3176
|
//#region src/version.ts
|
|
3158
|
-
var
|
|
3177
|
+
var ko = {
|
|
3159
3178
|
name: "@glasshome/widget-sdk",
|
|
3160
|
-
version: "1.
|
|
3179
|
+
version: "1.27.1",
|
|
3161
3180
|
description: "SDK for building GlassHome dashboard widgets with SolidJS",
|
|
3162
3181
|
keywords: [
|
|
3163
3182
|
"dashboard",
|
|
@@ -3229,7 +3248,7 @@ var To = {
|
|
|
3229
3248
|
lint: "oxlint --type-aware . && oxfmt --check ."
|
|
3230
3249
|
},
|
|
3231
3250
|
dependencies: {
|
|
3232
|
-
"@glasshome/widget-contract": "0.6.
|
|
3251
|
+
"@glasshome/widget-contract": "0.6.1",
|
|
3233
3252
|
"@tailwindcss/vite": "^4.1.13",
|
|
3234
3253
|
clsx: "^2.1.1",
|
|
3235
3254
|
"happy-dom": "^20.0.0",
|
|
@@ -3262,4 +3281,4 @@ var To = {
|
|
|
3262
3281
|
engines: { node: ">=18" }
|
|
3263
3282
|
}.version;
|
|
3264
3283
|
//#endregion
|
|
3265
|
-
export {
|
|
3284
|
+
export { Se as Badge, we as Button, Ee as ButtonGroup, Oe as Carousel, ke as CarouselContent, Ae as CarouselDots, je as CarouselItem, Me as CarouselNext, Ne as CarouselPrevious, Pe as ColorDisc, Fe as ColorSlider, Ie as ColorWheel, Le as CountPill, Je as Icon, Ye as Input, Xe as Label, Ti as PanelEntityRow, hi as PanelFacts, mi as PanelRow, pi as PanelRows, fi as PanelSection, $e as Progress, et as ResponsiveDialog, tt as ResponsiveDialogBody, rt as ResponsiveDialogClose, it as ResponsiveDialogContent, at as ResponsiveDialogDescription, ot as ResponsiveDialogFooter, ct as ResponsiveDialogHeader, lt as ResponsiveDialogTitle, ko as SDK_VERSION, ut as SchemaForm, dt as SectionIcon, ht as SectionTitle, gt as Select, _t as SelectContent, vt as SelectItem, yt as SelectTrigger, bt as SelectValue, xt as Slider, St as SwatchPicker, Ct as Switch, wt as Tabs, Et as TabsContent, Ot as TabsList, At as TabsTrigger, Mt as TemperatureBar, Nt as Toggle, Pt as ToggleGroup, It as ToggleGroupItem, to as ToneSchema, Y as Widget, ar as WidgetAction, cr as WidgetBackdrop, or as WidgetChip, ir as WidgetChoice, Cr as WidgetContent, nr as WidgetControls, W as WidgetCtx, Ji as WidgetDebugTab, Ki as WidgetDebugView, ca as WidgetDialog, lr as WidgetGlyph, er as WidgetHead, tr as WidgetHero, Bn as WidgetIcon, sr as WidgetLayer, r as WidgetManifestSchema, Nn as WidgetSizeCtx, br as WidgetSliderFill, Tr as WidgetStatus, rr as WidgetStepper, Or as WidgetTitle, Br as WidgetValue, ji as buildDebugData, g as byDomain, kr as calculateLightGroup, Ar as calculateSensorGroup, zt as copyText, Fr as countActiveEntities, Eo as defineConfig, en as defineWidget, t as deprecations, To as field, n as formatDeprecation, i as formatSchemaError, Pr as getEntityAttribute, s as getForecasts, c as getStream, l as getWebRtcClientConfig, u as hassMediaUrl, Bt as imagePreset, Do as imageSrc, Ht as imageUrl, hr as injectTokens, Ya as isDark, Nr as isEntityActive, wi as isPanelControllable, Wt as mediaUrl, Oo as monotoneCubicPath, Gt as parseColor, Kt as presetValue, d as sendWebRtcCandidate, f as startWebRtcSession, p as state, eo as svgColors, m as trackEntityHistory, h as untrackEntityHistory, _ as useArea, v as useCalendarEvents, y as useCamera, In as useConfirm, b as useConnection, Jt as useCopyText, x as useCurrency, Wa as useDaylight, S as useEntities, ee as useEntity, C as useEntityHistory, w as useEntityStatistics, ne as useForecast, re as useHassConfig, Ma as useIntersectionPause, ie as useLocale, ja as useMaterial, Xa as useReducedMotion, an as useService, oe as useStore, se as useTemperatureUnit, cn as useToggle, sn as useTurnOff, on as useTurnOn, de as useUnitSystem, tn as useWidgetContext, da as useWidgetDashboard, un as useWidgetDialog, Pn as useWidgetDimensions, Za as useWidgetEntityGroup, Mn as useWidgetGestures, pa as useWidgetViewer, no as widgetFields, a as z };
|