@glasshome/widget-sdk 1.25.2 → 1.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/framework/hooks/use-widget-context.d.ts +5 -0
- package/dist/index.js +320 -284
- package/dist/theme.d.ts +4 -6
- package/dist/types.d.ts +4 -0
- package/guide/widgets.md +4 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { deprecate as e, deprecations as t, formatDeprecation as n } from "./dep
|
|
|
2
2
|
import { WidgetManifestSchema as r, formatSchemaError as i } from "./schemas.js";
|
|
3
3
|
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
|
-
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
|
|
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
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
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";
|
|
@@ -1070,8 +1070,8 @@ function Br(e) {
|
|
|
1070
1070
|
}
|
|
1071
1071
|
//#endregion
|
|
1072
1072
|
//#region src/framework/core/Widget.tsx
|
|
1073
|
-
var Vr = /*#__PURE__*/ V("<span class=glasshome-widget-hold-flood aria-hidden=true>"), Hr = /*#__PURE__*/ V("<div class=\"glasshome-widget-
|
|
1074
|
-
function
|
|
1073
|
+
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
|
+
function Xr(t) {
|
|
1075
1075
|
let n = j(W), r = Mn(() => ({ hold: { action: () => (G.get(n ?? {}) ?? G.get(f))?.("edit") } }));
|
|
1076
1076
|
A(r.dispose);
|
|
1077
1077
|
let i = mn(n), a = !!n && !(fn in n), o = Mn(() => ({ hold: i?.hasSheet() ? { action: () => (G.get(n ?? {}) ?? G.get(f))?.() } : void 0 }));
|
|
@@ -1079,7 +1079,7 @@ function Yr(t) {
|
|
|
1079
1079
|
let s = () => t.emptyState && n ? r : t.gestures ?? (a ? o : void 0);
|
|
1080
1080
|
a && (D(() => n?.onHoldable?.(!t.emptyState && !!s()?.holds?.())), A(() => n?.onHoldable?.(!1))), D(() => {
|
|
1081
1081
|
if (!a || !i?.nothingMore()) return;
|
|
1082
|
-
let e = setTimeout(() => i.setNothingMore(!1),
|
|
1082
|
+
let e = setTimeout(() => i.setNothingMore(!1), Yr);
|
|
1083
1083
|
A(() => clearTimeout(e));
|
|
1084
1084
|
}), D(() => i?.setTone(t.color ?? (t.tone ? `var(--tone-${t.tone})` : void 0)));
|
|
1085
1085
|
let [c, l] = k(), [u, d] = k({
|
|
@@ -1118,7 +1118,18 @@ function Yr(t) {
|
|
|
1118
1118
|
...t.tone ? { "--widget-color": `var(--tone-${t.tone})` } : {},
|
|
1119
1119
|
...t.color ? { "--widget-color": t.color } : {},
|
|
1120
1120
|
...h() ? { "--glass-tone": "var(--widget-color)" } : {}
|
|
1121
|
-
})), _ =
|
|
1121
|
+
})), _ = a && !!n?.onShell;
|
|
1122
|
+
if (a) {
|
|
1123
|
+
let e = O(() => {
|
|
1124
|
+
let e = p()?.cssVars, n = e?.["--glass-tone"], r = e?.["--glass-lift"], i = typeof r == "string" && r.trim() !== "" ? Number(r) : r;
|
|
1125
|
+
return {
|
|
1126
|
+
tone: h() ? t.color ?? `var(--tone-${t.tone})` : typeof n == "string" ? n : null,
|
|
1127
|
+
lift: typeof i == "number" && Number.isFinite(i) ? i : null
|
|
1128
|
+
};
|
|
1129
|
+
}, void 0, { equals: (e, t) => e.tone === t.tone && e.lift === t.lift });
|
|
1130
|
+
D(() => n?.onShell?.(e())), A(() => n?.onShell?.(null));
|
|
1131
|
+
}
|
|
1132
|
+
let v = O(() => ({
|
|
1122
1133
|
"container-type": "size",
|
|
1123
1134
|
"container-name": "widget",
|
|
1124
1135
|
"touch-action": s() && !t.isEditMode ? s()?.touchAction() : void 0,
|
|
@@ -1129,21 +1140,21 @@ function Yr(t) {
|
|
|
1129
1140
|
"--glass-tone-2": t.colorTo
|
|
1130
1141
|
} : {},
|
|
1131
1142
|
...t.gradient ? { "background-image": m() } : {}
|
|
1132
|
-
})),
|
|
1133
|
-
|
|
1134
|
-
}, b = (e) => {
|
|
1135
|
-
v() && s()?.onPointerDown(e);
|
|
1143
|
+
})), y = () => !!s() && !t.isEditMode, b = (e) => {
|
|
1144
|
+
y() && s()?.onPointerEnter(e);
|
|
1136
1145
|
}, x = (e) => {
|
|
1137
|
-
|
|
1146
|
+
y() && s()?.onPointerDown(e);
|
|
1138
1147
|
}, S = (e) => {
|
|
1139
|
-
|
|
1148
|
+
y() && s()?.onPointerMove(e);
|
|
1140
1149
|
}, ee = (e) => {
|
|
1141
|
-
|
|
1150
|
+
y() && s()?.onPointerUp(e);
|
|
1151
|
+
}, te = (e) => {
|
|
1152
|
+
y() && s()?.onPointerCancel(e);
|
|
1142
1153
|
}, C = () => s()?.hold?.() ?? null, w = {
|
|
1143
1154
|
x: 0,
|
|
1144
1155
|
y: 0,
|
|
1145
1156
|
r: 0
|
|
1146
|
-
},
|
|
1157
|
+
}, ne = (e) => (e && Object.assign(w, {
|
|
1147
1158
|
x: e.x,
|
|
1148
1159
|
y: e.y,
|
|
1149
1160
|
r: e.r
|
|
@@ -1164,10 +1175,10 @@ function Yr(t) {
|
|
|
1164
1175
|
value: u,
|
|
1165
1176
|
get children() {
|
|
1166
1177
|
return [(() => {
|
|
1167
|
-
var e =
|
|
1178
|
+
var e = Ur(), n = e.firstChild, i = n.firstChild;
|
|
1168
1179
|
return n.$$keydown = (e) => {
|
|
1169
|
-
|
|
1170
|
-
}, M(n, "pointercancel",
|
|
1180
|
+
y() && s()?.onKeyDown?.(e);
|
|
1181
|
+
}, M(n, "pointercancel", te), M(n, "pointerup", ee), M(n, "pointermove", S), M(n, "pointerdown", x), M(n, "pointerenter", b), H((e) => {
|
|
1171
1182
|
l(e), t.gestures?.bindElement(e), r.bindElement(e);
|
|
1172
1183
|
}, n), I(n, P(E, {
|
|
1173
1184
|
get when() {
|
|
@@ -1176,7 +1187,7 @@ function Yr(t) {
|
|
|
1176
1187
|
get children() {
|
|
1177
1188
|
var e = Vr();
|
|
1178
1189
|
return F((t) => {
|
|
1179
|
-
var n = C() && !C()?.fired ? "" : void 0, r = C()?.fired ? "" : void 0, i =
|
|
1190
|
+
var n = C() && !C()?.fired ? "" : void 0, r = C()?.fired ? "" : void 0, i = ne(C());
|
|
1180
1191
|
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;
|
|
1181
1192
|
}, {
|
|
1182
1193
|
e: void 0,
|
|
@@ -1186,7 +1197,7 @@ function Yr(t) {
|
|
|
1186
1197
|
}
|
|
1187
1198
|
}), i), I(i, (() => {
|
|
1188
1199
|
var e = L(() => !!t.emptyState);
|
|
1189
|
-
return () => e() ? P(
|
|
1200
|
+
return () => e() ? P(Zr, {
|
|
1190
1201
|
get icon() {
|
|
1191
1202
|
return t.emptyState.icon;
|
|
1192
1203
|
},
|
|
@@ -1200,21 +1211,31 @@ function Yr(t) {
|
|
|
1200
1211
|
})()), I(n, (() => {
|
|
1201
1212
|
var e = L(() => !!t.loading);
|
|
1202
1213
|
return () => e() && (() => {
|
|
1203
|
-
var e =
|
|
1214
|
+
var e = Wr();
|
|
1204
1215
|
return F((t) => z(e, "z-index", ln.OVERLAY)), e;
|
|
1205
1216
|
})();
|
|
1206
|
-
})(), null),
|
|
1207
|
-
|
|
1208
|
-
|
|
1217
|
+
})(), null), I(e, P(E, {
|
|
1218
|
+
when: !_,
|
|
1219
|
+
get children() {
|
|
1220
|
+
var e = Hr();
|
|
1221
|
+
return F((t) => {
|
|
1222
|
+
var n = g(), r = h() ? "" : void 0;
|
|
1223
|
+
return t.e = B(e, n, t.e), r !== t.t && R(e, "data-toned", t.t = r), t;
|
|
1224
|
+
}, {
|
|
1225
|
+
e: void 0,
|
|
1226
|
+
t: void 0
|
|
1227
|
+
}), e;
|
|
1228
|
+
}
|
|
1229
|
+
}), null), F((e) => {
|
|
1230
|
+
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 && 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;
|
|
1209
1232
|
}, {
|
|
1210
1233
|
e: void 0,
|
|
1211
1234
|
t: void 0,
|
|
1212
1235
|
a: void 0,
|
|
1213
1236
|
o: void 0,
|
|
1214
1237
|
i: void 0,
|
|
1215
|
-
n: void 0
|
|
1216
|
-
s: void 0,
|
|
1217
|
-
h: void 0
|
|
1238
|
+
n: void 0
|
|
1218
1239
|
}), e;
|
|
1219
1240
|
})(), P(E, {
|
|
1220
1241
|
when: a,
|
|
@@ -1245,41 +1266,41 @@ function Yr(t) {
|
|
|
1245
1266
|
}
|
|
1246
1267
|
});
|
|
1247
1268
|
}
|
|
1248
|
-
function
|
|
1269
|
+
function Zr(e) {
|
|
1249
1270
|
return (() => {
|
|
1250
|
-
var t =
|
|
1271
|
+
var t = Gr();
|
|
1251
1272
|
return I(t, (() => {
|
|
1252
1273
|
var t = L(() => !!e.icon);
|
|
1253
1274
|
return () => t() && (() => {
|
|
1254
|
-
var t =
|
|
1275
|
+
var t = Kr();
|
|
1255
1276
|
return I(t, () => e.icon), t;
|
|
1256
1277
|
})();
|
|
1257
1278
|
})(), null), I(t, (() => {
|
|
1258
1279
|
var t = L(() => !!e.title);
|
|
1259
1280
|
return () => t() && (() => {
|
|
1260
|
-
var t =
|
|
1281
|
+
var t = qr();
|
|
1261
1282
|
return I(t, () => e.title), t;
|
|
1262
1283
|
})();
|
|
1263
1284
|
})(), null), I(t, (() => {
|
|
1264
1285
|
var t = L(() => !!e.message);
|
|
1265
1286
|
return () => t() && (() => {
|
|
1266
|
-
var t =
|
|
1287
|
+
var t = Jr();
|
|
1267
1288
|
return I(t, () => e.message), t;
|
|
1268
1289
|
})();
|
|
1269
1290
|
})(), null), t;
|
|
1270
1291
|
})();
|
|
1271
1292
|
}
|
|
1272
|
-
var Y =
|
|
1293
|
+
var Y = Xr;
|
|
1273
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, _e(["keydown"]);
|
|
1274
1295
|
//#endregion
|
|
1275
1296
|
//#region src/framework/panel/panel.tsx
|
|
1276
|
-
var
|
|
1277
|
-
function
|
|
1297
|
+
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
|
+
function di(e) {
|
|
1278
1299
|
let t = j(W), n, r = !1, i = !1, a, o = 0, s = (t, n) => {
|
|
1279
1300
|
let r = e.slide?.();
|
|
1280
1301
|
if (!r) return 0;
|
|
1281
1302
|
let i = t.getBoundingClientRect(), a = e.axis === "x" ? (n.clientX - i.left) / i.width : 1 - (n.clientY - i.top) / i.height, o = r.min ?? 0, s = r.max ?? 100;
|
|
1282
|
-
return Math.round(
|
|
1303
|
+
return Math.round(ui(o + a * (s - o), o, s));
|
|
1283
1304
|
}, c = () => {
|
|
1284
1305
|
clearTimeout(a), n = void 0;
|
|
1285
1306
|
};
|
|
@@ -1298,7 +1319,7 @@ function ui(e) {
|
|
|
1298
1319
|
onPointerMove: (t) => {
|
|
1299
1320
|
if (!n || t.pointerId !== n.id || i) return;
|
|
1300
1321
|
let c = t.currentTarget, l = e.axis === "x" ? Math.abs(t.clientX - n.x) : Math.abs(t.clientY - n.y);
|
|
1301
|
-
!r && e.slide?.() && l >
|
|
1322
|
+
!r && e.slide?.() && l > li && (r = !0, clearTimeout(a)), r ? (o = s(c, t), e.slide?.()?.onChange(o)) : Math.hypot(t.clientX - n.x, t.clientY - n.y) > li && clearTimeout(a);
|
|
1302
1323
|
},
|
|
1303
1324
|
onPointerUp: (t) => {
|
|
1304
1325
|
n && t.pointerId === n.id && (r ? e.slide?.()?.onCommit?.(o) : i || e.onTap?.(), c());
|
|
@@ -1306,20 +1327,20 @@ function ui(e) {
|
|
|
1306
1327
|
onPointerCancel: c
|
|
1307
1328
|
};
|
|
1308
1329
|
}
|
|
1309
|
-
function
|
|
1330
|
+
function fi(e) {
|
|
1310
1331
|
return (() => {
|
|
1311
|
-
var t =
|
|
1332
|
+
var t = Qr(), n = t.firstChild;
|
|
1312
1333
|
return I(n, () => e.label), I(t, () => e.children, null), t;
|
|
1313
1334
|
})();
|
|
1314
1335
|
}
|
|
1315
|
-
function
|
|
1336
|
+
function pi(e) {
|
|
1316
1337
|
return (() => {
|
|
1317
|
-
var t =
|
|
1338
|
+
var t = $r();
|
|
1318
1339
|
return I(t, () => e.children), t;
|
|
1319
1340
|
})();
|
|
1320
1341
|
}
|
|
1321
|
-
function
|
|
1322
|
-
let t = () => !!(e.onTap || e.slide || e.onHold), n =
|
|
1342
|
+
function mi(e) {
|
|
1343
|
+
let t = () => !!(e.onTap || e.slide || e.onHold), n = di({
|
|
1323
1344
|
axis: "x",
|
|
1324
1345
|
slide: () => e.slide,
|
|
1325
1346
|
onTap: () => e.onTap?.(),
|
|
@@ -1336,7 +1357,7 @@ function pi(e) {
|
|
|
1336
1357
|
let r = t.key === "ArrowRight" || t.key === "ArrowUp" ? 5 : t.key === "ArrowLeft" || t.key === "ArrowDown" ? -5 : 0;
|
|
1337
1358
|
if (!r) return;
|
|
1338
1359
|
t.preventDefault();
|
|
1339
|
-
let i =
|
|
1360
|
+
let i = ui(n.value + r, n.min ?? 0, n.max ?? 100);
|
|
1340
1361
|
n.onChange(i), n.onCommit?.(i);
|
|
1341
1362
|
}, a = () => [
|
|
1342
1363
|
P(E, {
|
|
@@ -1344,12 +1365,12 @@ function pi(e) {
|
|
|
1344
1365
|
return r() !== void 0;
|
|
1345
1366
|
},
|
|
1346
1367
|
get children() {
|
|
1347
|
-
var e =
|
|
1368
|
+
var e = ei();
|
|
1348
1369
|
return F((t) => B(e, { "--widget-fill-value": r() }, t)), e;
|
|
1349
1370
|
}
|
|
1350
1371
|
}),
|
|
1351
1372
|
(() => {
|
|
1352
|
-
var t =
|
|
1373
|
+
var t = ti();
|
|
1353
1374
|
return I(t, P(U, {
|
|
1354
1375
|
get icon() {
|
|
1355
1376
|
return e.icon;
|
|
@@ -1364,27 +1385,27 @@ function pi(e) {
|
|
|
1364
1385
|
}), t;
|
|
1365
1386
|
})(),
|
|
1366
1387
|
(() => {
|
|
1367
|
-
var t =
|
|
1388
|
+
var t = ri(), n = t.firstChild;
|
|
1368
1389
|
return I(n, () => e.name), I(t, P(E, {
|
|
1369
1390
|
get when() {
|
|
1370
1391
|
return e.state !== void 0;
|
|
1371
1392
|
},
|
|
1372
1393
|
get children() {
|
|
1373
|
-
var t =
|
|
1394
|
+
var t = ni();
|
|
1374
1395
|
return I(t, () => e.state), t;
|
|
1375
1396
|
}
|
|
1376
1397
|
}), null), t;
|
|
1377
1398
|
})()
|
|
1378
1399
|
], o = () => ({ "--widget-color": e.tone ?? "var(--tone-neutral)" });
|
|
1379
1400
|
return (() => {
|
|
1380
|
-
var r =
|
|
1401
|
+
var r = ai();
|
|
1381
1402
|
return I(r, P(E, {
|
|
1382
1403
|
get when() {
|
|
1383
1404
|
return t();
|
|
1384
1405
|
},
|
|
1385
1406
|
get fallback() {
|
|
1386
1407
|
return (() => {
|
|
1387
|
-
var e =
|
|
1408
|
+
var e = oi();
|
|
1388
1409
|
return I(e, a), F((t) => {
|
|
1389
1410
|
var n = `${Rt({
|
|
1390
1411
|
variant: "outline",
|
|
@@ -1437,21 +1458,21 @@ function pi(e) {
|
|
|
1437
1458
|
return e.trailing;
|
|
1438
1459
|
},
|
|
1439
1460
|
get children() {
|
|
1440
|
-
var t =
|
|
1461
|
+
var t = ii();
|
|
1441
1462
|
return I(t, () => e.trailing), t;
|
|
1442
1463
|
}
|
|
1443
1464
|
}), null), r;
|
|
1444
1465
|
})();
|
|
1445
1466
|
}
|
|
1446
|
-
function
|
|
1467
|
+
function hi(e) {
|
|
1447
1468
|
return (() => {
|
|
1448
|
-
var t =
|
|
1469
|
+
var t = si();
|
|
1449
1470
|
return I(t, P(T, {
|
|
1450
1471
|
get each() {
|
|
1451
1472
|
return e.items;
|
|
1452
1473
|
},
|
|
1453
1474
|
children: (e) => (() => {
|
|
1454
|
-
var t =
|
|
1475
|
+
var t = ci(), n = t.firstChild, r = n.firstChild, i = r.nextSibling;
|
|
1455
1476
|
return I(t, P(U, {
|
|
1456
1477
|
get icon() {
|
|
1457
1478
|
return e.icon;
|
|
@@ -1464,7 +1485,7 @@ function mi(e) {
|
|
|
1464
1485
|
}
|
|
1465
1486
|
//#endregion
|
|
1466
1487
|
//#region src/framework/panel/panel-entity.tsx
|
|
1467
|
-
var
|
|
1488
|
+
var gi = (e) => typeof e == "number" ? Math.round(e) : void 0, _i = (e) => e.charAt(0).toUpperCase() + e.slice(1).replaceAll("_", " "), X = (e) => ({ entity_id: e.id }), vi = {
|
|
1468
1489
|
light: {
|
|
1469
1490
|
icon: "mdi:lightbulb",
|
|
1470
1491
|
tone: (e) => {
|
|
@@ -1504,10 +1525,10 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1504
1525
|
on: (e) => e.state === "on",
|
|
1505
1526
|
state: (e) => {
|
|
1506
1527
|
if (e.state !== "on") return "Off";
|
|
1507
|
-
let t =
|
|
1528
|
+
let t = gi(e.attributes.percentage);
|
|
1508
1529
|
return t === void 0 ? "On" : `${t}%`;
|
|
1509
1530
|
},
|
|
1510
|
-
level: (e) => e.state === "on" ?
|
|
1531
|
+
level: (e) => e.state === "on" ? gi(e.attributes.percentage) ?? 100 : 0,
|
|
1511
1532
|
setLevel: (e, t, n) => e("fan", "set_percentage", { percentage: n }, X(t)),
|
|
1512
1533
|
tap: (e, t) => e("fan", "toggle", {}, X(t))
|
|
1513
1534
|
},
|
|
@@ -1516,10 +1537,10 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1516
1537
|
tone: "var(--tone-info)",
|
|
1517
1538
|
on: (e) => e.state !== "closed",
|
|
1518
1539
|
state: (e) => {
|
|
1519
|
-
let t =
|
|
1540
|
+
let t = gi(e.attributes.current_position), n = _i(e.state);
|
|
1520
1541
|
return t !== void 0 && e.state === "open" ? `${n} · ${t}%` : n;
|
|
1521
1542
|
},
|
|
1522
|
-
level: (e) =>
|
|
1543
|
+
level: (e) => gi(e.attributes.current_position),
|
|
1523
1544
|
setLevel: (e, t, n) => e("cover", "set_cover_position", { position: n }, X(t)),
|
|
1524
1545
|
tap: (e, t) => e("cover", t.state === "closed" ? "open_cover" : "close_cover", {}, X(t))
|
|
1525
1546
|
},
|
|
@@ -1527,7 +1548,7 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1527
1548
|
icon: (e) => e.state === "locked" ? "mdi:lock" : "mdi:lock-open-variant",
|
|
1528
1549
|
tone: "var(--tone-success)",
|
|
1529
1550
|
on: (e) => e.state === "locked",
|
|
1530
|
-
state: (e) =>
|
|
1551
|
+
state: (e) => _i(e.state),
|
|
1531
1552
|
tap: (e, t) => e("lock", t.state === "locked" ? "unlock" : "lock", {}, X(t))
|
|
1532
1553
|
},
|
|
1533
1554
|
climate: {
|
|
@@ -1537,14 +1558,14 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1537
1558
|
state: (e) => {
|
|
1538
1559
|
if (e.state === "off") return "Off";
|
|
1539
1560
|
let t = e.attributes.temperature;
|
|
1540
|
-
return typeof t == "number" ? `${
|
|
1561
|
+
return typeof t == "number" ? `${_i(e.state)} · ${t}°` : _i(e.state);
|
|
1541
1562
|
}
|
|
1542
1563
|
},
|
|
1543
1564
|
media_player: {
|
|
1544
1565
|
icon: "mdi:speaker",
|
|
1545
1566
|
tone: "var(--tone-accent)",
|
|
1546
1567
|
on: (e) => e.state === "playing",
|
|
1547
|
-
state: (e) => typeof e.attributes.media_title == "string" && e.state !== "off" ? e.attributes.media_title :
|
|
1568
|
+
state: (e) => typeof e.attributes.media_title == "string" && e.state !== "off" ? e.attributes.media_title : _i(e.state),
|
|
1548
1569
|
level: (e) => typeof e.attributes.volume_level == "number" ? Math.round(e.attributes.volume_level * 100) : void 0,
|
|
1549
1570
|
setLevel: (e, t, n) => e("media_player", "volume_set", { volume_level: n / 100 }, X(t)),
|
|
1550
1571
|
tap: (e, t) => e("media_player", "media_play_pause", {}, X(t))
|
|
@@ -1554,7 +1575,7 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1554
1575
|
tone: "var(--tone-info)",
|
|
1555
1576
|
on: (e) => e.state === "on",
|
|
1556
1577
|
state: (e) => {
|
|
1557
|
-
let t =
|
|
1578
|
+
let t = bi[e.deviceClass ?? ""] ?? ["On", "Off"];
|
|
1558
1579
|
return e.state === "on" ? t[0] : t[1];
|
|
1559
1580
|
}
|
|
1560
1581
|
},
|
|
@@ -1562,14 +1583,14 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1562
1583
|
icon: "mdi:gesture-tap-button",
|
|
1563
1584
|
tone: "var(--tone-accent)",
|
|
1564
1585
|
on: () => !1,
|
|
1565
|
-
state: (e) =>
|
|
1586
|
+
state: (e) => xi(e.state),
|
|
1566
1587
|
tap: (e, t) => e("button", "press", {}, X(t))
|
|
1567
1588
|
},
|
|
1568
1589
|
input_button: {
|
|
1569
1590
|
icon: "mdi:gesture-tap-button",
|
|
1570
1591
|
tone: "var(--tone-accent)",
|
|
1571
1592
|
on: () => !1,
|
|
1572
|
-
state: (e) =>
|
|
1593
|
+
state: (e) => xi(e.state),
|
|
1573
1594
|
tap: (e, t) => e("input_button", "press", {}, X(t))
|
|
1574
1595
|
},
|
|
1575
1596
|
scene: {
|
|
@@ -1586,14 +1607,14 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1586
1607
|
state: (e) => e.state === "on" ? "Running" : "Tap to run",
|
|
1587
1608
|
tap: (e, t) => e("script", "turn_on", {}, X(t))
|
|
1588
1609
|
}
|
|
1589
|
-
},
|
|
1610
|
+
}, yi = {
|
|
1590
1611
|
garage: "mdi:garage",
|
|
1591
1612
|
gate: "mdi:gate",
|
|
1592
1613
|
door: "mdi:door",
|
|
1593
1614
|
curtain: "mdi:curtains",
|
|
1594
1615
|
shutter: "mdi:window-shutter",
|
|
1595
1616
|
awning: "mdi:awning"
|
|
1596
|
-
},
|
|
1617
|
+
}, bi = {
|
|
1597
1618
|
door: ["Open", "Closed"],
|
|
1598
1619
|
window: ["Open", "Closed"],
|
|
1599
1620
|
garage_door: ["Open", "Closed"],
|
|
@@ -1607,29 +1628,29 @@ var hi = (e) => typeof e == "number" ? Math.round(e) : void 0, gi = (e) => e.cha
|
|
|
1607
1628
|
battery: ["Low", "Normal"],
|
|
1608
1629
|
connectivity: ["Connected", "Disconnected"]
|
|
1609
1630
|
};
|
|
1610
|
-
function
|
|
1631
|
+
function xi(e) {
|
|
1611
1632
|
let t = Date.parse(e);
|
|
1612
1633
|
return Number.isNaN(t) ? "Never pressed" : new Date(t).toLocaleTimeString([], {
|
|
1613
1634
|
hour: "2-digit",
|
|
1614
1635
|
minute: "2-digit"
|
|
1615
1636
|
});
|
|
1616
1637
|
}
|
|
1617
|
-
var
|
|
1638
|
+
var Si = {
|
|
1618
1639
|
icon: "mdi:circle-medium",
|
|
1619
1640
|
tone: "var(--tone-neutral)",
|
|
1620
1641
|
on: (e) => e.state === "on",
|
|
1621
|
-
state: (e) =>
|
|
1642
|
+
state: (e) => _i(e.state)
|
|
1622
1643
|
};
|
|
1623
|
-
function
|
|
1644
|
+
function Ci(e, t) {
|
|
1624
1645
|
if (!t || e.length <= t.length || !e.toLowerCase().startsWith(t.toLowerCase())) return e;
|
|
1625
1646
|
let n = e.slice(t.length).trim();
|
|
1626
1647
|
return n ? n.charAt(0).toUpperCase() + n.slice(1) : e;
|
|
1627
1648
|
}
|
|
1628
|
-
function Ci(e) {
|
|
1629
|
-
return !!_i[e]?.tap || !!_i[e]?.setLevel;
|
|
1630
|
-
}
|
|
1631
1649
|
function wi(e) {
|
|
1632
|
-
|
|
1650
|
+
return !!vi[e]?.tap || !!vi[e]?.setLevel;
|
|
1651
|
+
}
|
|
1652
|
+
function Ti(e) {
|
|
1653
|
+
let t = te(() => e.entityId), { callService: n } = an(), [r, i] = k();
|
|
1633
1654
|
return D(() => {
|
|
1634
1655
|
t(), i(void 0);
|
|
1635
1656
|
}), P(E, {
|
|
@@ -1637,14 +1658,14 @@ function wi(e) {
|
|
|
1637
1658
|
return t();
|
|
1638
1659
|
},
|
|
1639
1660
|
children: (t) => {
|
|
1640
|
-
let a = () =>
|
|
1641
|
-
return P(
|
|
1661
|
+
let a = () => vi[t().domain] ?? Si, o = () => r() ?? a().level?.(t()), s = () => a().setLevel;
|
|
1662
|
+
return P(mi, {
|
|
1642
1663
|
get icon() {
|
|
1643
1664
|
let n = a().icon;
|
|
1644
|
-
return typeof n == "function" ? e.icon ?? n(t()) : e.icon ?? t().icon ??
|
|
1665
|
+
return typeof n == "function" ? e.icon ?? n(t()) : e.icon ?? t().icon ?? yi[t().domain === "cover" ? t().deviceClass ?? "" : ""] ?? n;
|
|
1645
1666
|
},
|
|
1646
1667
|
get name() {
|
|
1647
|
-
return e.name ??
|
|
1668
|
+
return e.name ?? Ci(t().friendlyName ?? t().id, e.within);
|
|
1648
1669
|
},
|
|
1649
1670
|
get state() {
|
|
1650
1671
|
return a().state(t());
|
|
@@ -1676,8 +1697,8 @@ function wi(e) {
|
|
|
1676
1697
|
}
|
|
1677
1698
|
//#endregion
|
|
1678
1699
|
//#region src/framework/dialogs/debug-view.tsx
|
|
1679
|
-
var
|
|
1680
|
-
function
|
|
1700
|
+
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
|
+
function ji(e, t, n) {
|
|
1681
1702
|
return {
|
|
1682
1703
|
widgetConfig: e,
|
|
1683
1704
|
entities: t.map((e) => ({
|
|
@@ -1694,16 +1715,16 @@ function Ai(e, t, n) {
|
|
|
1694
1715
|
...n
|
|
1695
1716
|
};
|
|
1696
1717
|
}
|
|
1697
|
-
var
|
|
1718
|
+
var Mi = (e) => JSON.stringify(e, null, 2), Ni = {
|
|
1698
1719
|
idle: "lucide:copy",
|
|
1699
1720
|
copied: "lucide:check",
|
|
1700
1721
|
failed: "lucide:triangle-alert"
|
|
1701
|
-
},
|
|
1722
|
+
}, Pi = {
|
|
1702
1723
|
idle: "text-muted-foreground",
|
|
1703
1724
|
copied: "text-success",
|
|
1704
1725
|
failed: "text-destructive"
|
|
1705
1726
|
};
|
|
1706
|
-
function
|
|
1727
|
+
function Fi(e) {
|
|
1707
1728
|
let { state: t, copy: n } = Yt();
|
|
1708
1729
|
return P(Te, {
|
|
1709
1730
|
variant: "ghost",
|
|
@@ -1716,42 +1737,42 @@ function Pi(e) {
|
|
|
1716
1737
|
get children() {
|
|
1717
1738
|
return P(U, {
|
|
1718
1739
|
get icon() {
|
|
1719
|
-
return
|
|
1740
|
+
return Ni[t()];
|
|
1720
1741
|
},
|
|
1721
1742
|
width: 16,
|
|
1722
1743
|
height: 16,
|
|
1723
1744
|
get class() {
|
|
1724
|
-
return
|
|
1745
|
+
return Pi[t()];
|
|
1725
1746
|
}
|
|
1726
1747
|
});
|
|
1727
1748
|
}
|
|
1728
1749
|
});
|
|
1729
1750
|
}
|
|
1730
|
-
function
|
|
1751
|
+
function Ii(e) {
|
|
1731
1752
|
let t = e.replace(/([a-z\d])([A-Z])/g, "$1 $2").replace(/[_-]+/g, " ");
|
|
1732
1753
|
return t.charAt(0).toUpperCase() + t.slice(1).toLowerCase();
|
|
1733
1754
|
}
|
|
1734
|
-
var
|
|
1735
|
-
function
|
|
1755
|
+
var Li = (e) => e === null || typeof e != "object" && typeof e != "function";
|
|
1756
|
+
function Ri(e) {
|
|
1736
1757
|
return e == null ? "None" : String(e);
|
|
1737
1758
|
}
|
|
1738
|
-
function
|
|
1759
|
+
function zi(e) {
|
|
1739
1760
|
return Array.isArray(e) ? e.length : typeof e == "object" && e ? Object.keys(e).length : 0;
|
|
1740
1761
|
}
|
|
1741
|
-
function
|
|
1762
|
+
function Bi(e) {
|
|
1742
1763
|
let t = new Date(e);
|
|
1743
1764
|
return Number.isNaN(t.getTime()) ? e : t.toLocaleString();
|
|
1744
1765
|
}
|
|
1745
|
-
function
|
|
1766
|
+
function Vi(e) {
|
|
1746
1767
|
return P(mt, {
|
|
1747
1768
|
class: "overflow-hidden p-0",
|
|
1748
1769
|
get children() {
|
|
1749
|
-
var t =
|
|
1750
|
-
return I(t, () =>
|
|
1770
|
+
var t = Ei();
|
|
1771
|
+
return I(t, () => Mi(e.value)), t;
|
|
1751
1772
|
}
|
|
1752
1773
|
});
|
|
1753
1774
|
}
|
|
1754
|
-
function
|
|
1775
|
+
function Hi(e) {
|
|
1755
1776
|
return P(ve, {
|
|
1756
1777
|
collapsible: !0,
|
|
1757
1778
|
class: "border-border/50 border-t",
|
|
@@ -1764,7 +1785,7 @@ function Vi(e) {
|
|
|
1764
1785
|
return [P(xe, {
|
|
1765
1786
|
class: "text-muted-foreground py-3 text-xs",
|
|
1766
1787
|
get children() {
|
|
1767
|
-
var t =
|
|
1788
|
+
var t = Di();
|
|
1768
1789
|
return I(t, () => e.label, null), I(t, P(E, {
|
|
1769
1790
|
get when() {
|
|
1770
1791
|
return e.count !== void 0;
|
|
@@ -1777,7 +1798,7 @@ function Vi(e) {
|
|
|
1777
1798
|
}), null), t;
|
|
1778
1799
|
}
|
|
1779
1800
|
}), P(ye, { get children() {
|
|
1780
|
-
return P(
|
|
1801
|
+
return P(Vi, { get value() {
|
|
1781
1802
|
return e.value;
|
|
1782
1803
|
} });
|
|
1783
1804
|
} })];
|
|
@@ -1786,9 +1807,9 @@ function Vi(e) {
|
|
|
1786
1807
|
}
|
|
1787
1808
|
});
|
|
1788
1809
|
}
|
|
1789
|
-
function
|
|
1810
|
+
function Ui(e) {
|
|
1790
1811
|
return (() => {
|
|
1791
|
-
var t =
|
|
1812
|
+
var t = Oi(), n = t.firstChild, r = n.firstChild, i = n.nextSibling;
|
|
1792
1813
|
return I(n, P(ft, {
|
|
1793
1814
|
get icon() {
|
|
1794
1815
|
return e.icon;
|
|
@@ -1809,16 +1830,16 @@ function Hi(e) {
|
|
|
1809
1830
|
return e();
|
|
1810
1831
|
}
|
|
1811
1832
|
})
|
|
1812
|
-
}), null), I(n, () => e.badge, null), I(n, P(
|
|
1833
|
+
}), null), I(n, () => e.badge, null), I(n, P(Fi, {
|
|
1813
1834
|
get label() {
|
|
1814
1835
|
return `Copy ${e.title}`;
|
|
1815
1836
|
},
|
|
1816
|
-
text: () =>
|
|
1837
|
+
text: () => Mi(e.source)
|
|
1817
1838
|
}), null), I(i, () => e.children), t;
|
|
1818
1839
|
})();
|
|
1819
1840
|
}
|
|
1820
|
-
function
|
|
1821
|
-
let t = O(() => Object.entries(e.record)), n = O(() => t().flatMap(([e, t]) =>
|
|
1841
|
+
function Wi(e) {
|
|
1842
|
+
let t = O(() => Object.entries(e.record)), n = O(() => t().flatMap(([e, t]) => Li(t) ? [[e, t]] : [])), r = O(() => t().filter(([, e]) => !Li(e)));
|
|
1822
1843
|
return P(E, {
|
|
1823
1844
|
get when() {
|
|
1824
1845
|
return t().length > 0;
|
|
@@ -1832,17 +1853,17 @@ function Ui(e) {
|
|
|
1832
1853
|
return n().length > 0;
|
|
1833
1854
|
},
|
|
1834
1855
|
get children() {
|
|
1835
|
-
var e =
|
|
1856
|
+
var e = ki();
|
|
1836
1857
|
return I(e, P(T, {
|
|
1837
1858
|
get each() {
|
|
1838
1859
|
return n();
|
|
1839
1860
|
},
|
|
1840
1861
|
children: ([e, t]) => P(Ue, {
|
|
1841
1862
|
get label() {
|
|
1842
|
-
return
|
|
1863
|
+
return Ii(e);
|
|
1843
1864
|
},
|
|
1844
1865
|
get children() {
|
|
1845
|
-
return
|
|
1866
|
+
return Ri(t);
|
|
1846
1867
|
}
|
|
1847
1868
|
})
|
|
1848
1869
|
})), e;
|
|
@@ -1851,12 +1872,12 @@ function Ui(e) {
|
|
|
1851
1872
|
get each() {
|
|
1852
1873
|
return r();
|
|
1853
1874
|
},
|
|
1854
|
-
children: ([e, t]) => P(
|
|
1875
|
+
children: ([e, t]) => P(Hi, {
|
|
1855
1876
|
get label() {
|
|
1856
|
-
return
|
|
1877
|
+
return Ii(e);
|
|
1857
1878
|
},
|
|
1858
1879
|
get count() {
|
|
1859
|
-
return
|
|
1880
|
+
return zi(t);
|
|
1860
1881
|
},
|
|
1861
1882
|
value: t
|
|
1862
1883
|
})
|
|
@@ -1864,9 +1885,9 @@ function Ui(e) {
|
|
|
1864
1885
|
}
|
|
1865
1886
|
});
|
|
1866
1887
|
}
|
|
1867
|
-
function
|
|
1888
|
+
function Gi(e) {
|
|
1868
1889
|
let t = () => e.entity.attributes ?? {};
|
|
1869
|
-
return P(
|
|
1890
|
+
return P(Ui, {
|
|
1870
1891
|
icon: "lucide:activity",
|
|
1871
1892
|
get title() {
|
|
1872
1893
|
return e.entity.friendly_name ?? e.entity.entity_id;
|
|
@@ -1884,7 +1905,7 @@ function Wi(e) {
|
|
|
1884
1905
|
},
|
|
1885
1906
|
get children() {
|
|
1886
1907
|
return [(() => {
|
|
1887
|
-
var t =
|
|
1908
|
+
var t = ki();
|
|
1888
1909
|
return I(t, P(Ue, {
|
|
1889
1910
|
label: "Domain",
|
|
1890
1911
|
get children() {
|
|
@@ -1913,23 +1934,23 @@ function Wi(e) {
|
|
|
1913
1934
|
}), null), I(t, P(Ue, {
|
|
1914
1935
|
label: "Changed",
|
|
1915
1936
|
get children() {
|
|
1916
|
-
return
|
|
1937
|
+
return Bi(e.entity.last_changed);
|
|
1917
1938
|
}
|
|
1918
1939
|
}), null), I(t, P(Ue, {
|
|
1919
1940
|
label: "Updated",
|
|
1920
1941
|
get children() {
|
|
1921
|
-
return
|
|
1942
|
+
return Bi(e.entity.last_updated);
|
|
1922
1943
|
}
|
|
1923
1944
|
}), null), t;
|
|
1924
1945
|
})(), P(E, {
|
|
1925
1946
|
get when() {
|
|
1926
|
-
return
|
|
1947
|
+
return zi(t()) > 0;
|
|
1927
1948
|
},
|
|
1928
1949
|
get children() {
|
|
1929
|
-
return P(
|
|
1950
|
+
return P(Hi, {
|
|
1930
1951
|
label: "Attributes",
|
|
1931
1952
|
get count() {
|
|
1932
|
-
return
|
|
1953
|
+
return zi(t());
|
|
1933
1954
|
},
|
|
1934
1955
|
get value() {
|
|
1935
1956
|
return t();
|
|
@@ -1940,18 +1961,18 @@ function Wi(e) {
|
|
|
1940
1961
|
}
|
|
1941
1962
|
});
|
|
1942
1963
|
}
|
|
1943
|
-
function
|
|
1964
|
+
function Ki(e) {
|
|
1944
1965
|
let t = O(() => Object.keys(e.data).filter((e) => e !== "widgetConfig" && e !== "entities"));
|
|
1945
1966
|
return P(We, { get children() {
|
|
1946
1967
|
return [
|
|
1947
|
-
P(
|
|
1968
|
+
P(Ui, {
|
|
1948
1969
|
icon: "lucide:sliders-horizontal",
|
|
1949
1970
|
title: "Configuration",
|
|
1950
1971
|
get source() {
|
|
1951
1972
|
return e.data.widgetConfig;
|
|
1952
1973
|
},
|
|
1953
1974
|
get children() {
|
|
1954
|
-
return P(
|
|
1975
|
+
return P(Wi, { get record() {
|
|
1955
1976
|
return e.data.widgetConfig;
|
|
1956
1977
|
} });
|
|
1957
1978
|
}
|
|
@@ -1960,22 +1981,22 @@ function Gi(e) {
|
|
|
1960
1981
|
get each() {
|
|
1961
1982
|
return e.data.entities;
|
|
1962
1983
|
},
|
|
1963
|
-
children: (e) => P(
|
|
1984
|
+
children: (e) => P(Gi, { entity: e })
|
|
1964
1985
|
}),
|
|
1965
1986
|
P(T, {
|
|
1966
1987
|
get each() {
|
|
1967
1988
|
return t();
|
|
1968
1989
|
},
|
|
1969
|
-
children: (t) => P(
|
|
1990
|
+
children: (t) => P(Ui, {
|
|
1970
1991
|
icon: "lucide:braces",
|
|
1971
1992
|
get title() {
|
|
1972
|
-
return
|
|
1993
|
+
return Ii(t);
|
|
1973
1994
|
},
|
|
1974
1995
|
get source() {
|
|
1975
1996
|
return e.data[t];
|
|
1976
1997
|
},
|
|
1977
1998
|
get children() {
|
|
1978
|
-
return P(
|
|
1999
|
+
return P(Vi, { get value() {
|
|
1979
2000
|
return e.data[t];
|
|
1980
2001
|
} });
|
|
1981
2002
|
}
|
|
@@ -1984,13 +2005,13 @@ function Gi(e) {
|
|
|
1984
2005
|
];
|
|
1985
2006
|
} });
|
|
1986
2007
|
}
|
|
1987
|
-
function
|
|
2008
|
+
function qi(e) {
|
|
1988
2009
|
if (typeof e != "object" || !e) return;
|
|
1989
2010
|
let t = e;
|
|
1990
2011
|
return Array.isArray(t.entities) && typeof t.widgetConfig == "object" ? t : void 0;
|
|
1991
2012
|
}
|
|
1992
|
-
function
|
|
1993
|
-
let t = O(() =>
|
|
2013
|
+
function Ji(e) {
|
|
2014
|
+
let t = O(() => qi(e.data));
|
|
1994
2015
|
return P(E, {
|
|
1995
2016
|
get when() {
|
|
1996
2017
|
return e.data !== void 0;
|
|
@@ -2008,7 +2029,7 @@ function qi(e) {
|
|
|
2008
2029
|
return t();
|
|
2009
2030
|
},
|
|
2010
2031
|
get fallback() {
|
|
2011
|
-
return P(
|
|
2032
|
+
return P(Ui, {
|
|
2012
2033
|
icon: "lucide:braces",
|
|
2013
2034
|
title: "Debug data",
|
|
2014
2035
|
get source() {
|
|
@@ -2020,7 +2041,7 @@ function qi(e) {
|
|
|
2020
2041
|
return typeof e.data == "string";
|
|
2021
2042
|
},
|
|
2022
2043
|
get fallback() {
|
|
2023
|
-
return P(
|
|
2044
|
+
return P(Vi, { get value() {
|
|
2024
2045
|
return e.data;
|
|
2025
2046
|
} });
|
|
2026
2047
|
},
|
|
@@ -2028,7 +2049,7 @@ function qi(e) {
|
|
|
2028
2049
|
return P(mt, {
|
|
2029
2050
|
class: "overflow-hidden p-0",
|
|
2030
2051
|
get children() {
|
|
2031
|
-
var t =
|
|
2052
|
+
var t = Ai();
|
|
2032
2053
|
return I(t, () => e.data), t;
|
|
2033
2054
|
}
|
|
2034
2055
|
});
|
|
@@ -2037,7 +2058,7 @@ function qi(e) {
|
|
|
2037
2058
|
}
|
|
2038
2059
|
});
|
|
2039
2060
|
},
|
|
2040
|
-
children: (e) => P(
|
|
2061
|
+
children: (e) => P(Ki, { get data() {
|
|
2041
2062
|
return e();
|
|
2042
2063
|
} })
|
|
2043
2064
|
});
|
|
@@ -2046,21 +2067,21 @@ function qi(e) {
|
|
|
2046
2067
|
}
|
|
2047
2068
|
//#endregion
|
|
2048
2069
|
//#region src/framework/dialogs/validate-config.ts
|
|
2049
|
-
function
|
|
2070
|
+
function Yi(e) {
|
|
2050
2071
|
let t = "";
|
|
2051
2072
|
for (let n of e) t += typeof n == "number" ? `[${n}]` : t ? `.${String(n)}` : String(n);
|
|
2052
2073
|
return t;
|
|
2053
2074
|
}
|
|
2054
|
-
function
|
|
2075
|
+
function Xi(e, t) {
|
|
2055
2076
|
let n = e.safeParse(t);
|
|
2056
2077
|
return n.success ? null : n.error.issues.map((e) => {
|
|
2057
|
-
let t =
|
|
2078
|
+
let t = Yi(e.path);
|
|
2058
2079
|
return t ? `${t}: ${e.message}` : e.message;
|
|
2059
2080
|
});
|
|
2060
2081
|
}
|
|
2061
2082
|
//#endregion
|
|
2062
2083
|
//#region src/framework/dialogs/WidgetDialog.tsx
|
|
2063
|
-
var
|
|
2084
|
+
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 = {
|
|
2064
2085
|
sm: "sm",
|
|
2065
2086
|
md: "md",
|
|
2066
2087
|
lg: "lg",
|
|
@@ -2069,24 +2090,24 @@ var Xi = /*#__PURE__*/ V("<svg xmlns=http://www.w3.org/2000/svg class=size-3.5 f
|
|
|
2069
2090
|
"2xl": "xl",
|
|
2070
2091
|
"3xl": "xl",
|
|
2071
2092
|
"4xl": "full"
|
|
2072
|
-
},
|
|
2093
|
+
}, sa = {
|
|
2073
2094
|
idle: "Copy all",
|
|
2074
2095
|
copied: "Copied",
|
|
2075
2096
|
failed: "Copy failed"
|
|
2076
2097
|
};
|
|
2077
|
-
function
|
|
2098
|
+
function ca(e) {
|
|
2078
2099
|
let [t] = ge(e, /* @__PURE__ */ "open.onOpenChange.title.description.onSave.hasUnsavedChanges.onDelete.editContent.controlsContent.sheet.tile.debugContent.debugData.tabs.class.maxWidth.defaultTab.activeTab.onActiveTabChange.headerActions.configSchema.config.onConfigSave.ResponsiveDialog.ResponsiveDialogContent.ResponsiveDialogHeader.ResponsiveDialogTitle.ResponsiveDialogDescription.ResponsiveDialogBody.ResponsiveDialogFooter.Button.SchemaForm.Tabs.TabsList.TabsTrigger.TabsContent".split(".")), n = () => !!t.configSchema && !!t.config && !!t.onConfigSave && !!t.SchemaForm, [r, i] = k({}), [a, o] = k(null), [s, c] = k([]);
|
|
2079
2100
|
D(me(() => t.config, (e) => {
|
|
2080
2101
|
e && i({ ...e });
|
|
2081
2102
|
})), D(me(() => t.configSchema, (e) => {
|
|
2082
|
-
e && o(
|
|
2103
|
+
e && o(aa(e));
|
|
2083
2104
|
}));
|
|
2084
2105
|
let l = () => n() && JSON.stringify(r()) !== JSON.stringify(t.config), u = (e) => {
|
|
2085
2106
|
!e && t.config && (i({ ...t.config }), c([])), t.onOpenChange(e);
|
|
2086
2107
|
}, d = () => {
|
|
2087
2108
|
let e = t.configSchema;
|
|
2088
2109
|
if (e) {
|
|
2089
|
-
let t =
|
|
2110
|
+
let t = Xi(e, r());
|
|
2090
2111
|
if (t) {
|
|
2091
2112
|
c(t);
|
|
2092
2113
|
return;
|
|
@@ -2095,7 +2116,7 @@ function sa(e) {
|
|
|
2095
2116
|
c([]), t.onConfigSave?.(r());
|
|
2096
2117
|
}, [f, p] = k(t.defaultTab ?? "controls"), m = () => t.activeTab ?? f(), h = (e) => {
|
|
2097
2118
|
t.onActiveTabChange ? t.onActiveTabChange(e) : p(e);
|
|
2098
|
-
}, g = () =>
|
|
2119
|
+
}, g = () => oa[t.maxWidth ?? "xl"], _ = () => {
|
|
2099
2120
|
if (t.tabs) return t.tabs.map((e) => ({
|
|
2100
2121
|
...e,
|
|
2101
2122
|
icon: () => e.icon,
|
|
@@ -2105,10 +2126,10 @@ function sa(e) {
|
|
|
2105
2126
|
return e.push({
|
|
2106
2127
|
id: "edit",
|
|
2107
2128
|
label: "Edit",
|
|
2108
|
-
icon: () =>
|
|
2129
|
+
icon: () => Zi(),
|
|
2109
2130
|
content: () => t.editContent ?? (() => {
|
|
2110
2131
|
let e = t.SchemaForm, o = n() ? a() : void 0;
|
|
2111
|
-
return !o || !e ?
|
|
2132
|
+
return !o || !e ? Qi() : P(e, {
|
|
2112
2133
|
schema: o,
|
|
2113
2134
|
get data() {
|
|
2114
2135
|
return r();
|
|
@@ -2122,7 +2143,7 @@ function sa(e) {
|
|
|
2122
2143
|
}), e.push({
|
|
2123
2144
|
id: "controls",
|
|
2124
2145
|
label: "Controls",
|
|
2125
|
-
icon: () =>
|
|
2146
|
+
icon: () => $i(),
|
|
2126
2147
|
content: () => t.controlsContent ?? P(ze, { get children() {
|
|
2127
2148
|
return P(Ve, { get children() {
|
|
2128
2149
|
return [P(He, { children: "No controls" }), P(Be, { children: "This widget is shown as is." })];
|
|
@@ -2131,8 +2152,8 @@ function sa(e) {
|
|
|
2131
2152
|
}), e.push({
|
|
2132
2153
|
id: "debug",
|
|
2133
2154
|
label: "Debug",
|
|
2134
|
-
icon: () =>
|
|
2135
|
-
content: () => t.debugContent ?? P(
|
|
2155
|
+
icon: () => ea(),
|
|
2156
|
+
content: () => t.debugContent ?? P(Ji, { get data() {
|
|
2136
2157
|
return t.debugData;
|
|
2137
2158
|
} })
|
|
2138
2159
|
}), e;
|
|
@@ -2142,10 +2163,10 @@ function sa(e) {
|
|
|
2142
2163
|
icon: t.tile?.icon ?? y?.icon(),
|
|
2143
2164
|
tone: t.tile?.tone ?? y?.accent() ?? y?.tone(),
|
|
2144
2165
|
backdrop: t.tile?.backdrop
|
|
2145
|
-
}), x = () => v?.developer?.() ?? !1, S = () => H() === "controls" && t.sheet !== void 0, ee =
|
|
2166
|
+
}), 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 = () => {
|
|
2146
2167
|
if (t.debugData === void 0) return;
|
|
2147
2168
|
let e = typeof t.debugData == "string" ? t.debugData : JSON.stringify(t.debugData, null, 2);
|
|
2148
|
-
|
|
2169
|
+
w.copy(e);
|
|
2149
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, M = O(me([
|
|
2150
2171
|
() => t.open,
|
|
2151
2172
|
a,
|
|
@@ -2172,7 +2193,7 @@ function sa(e) {
|
|
|
2172
2193
|
return t.title;
|
|
2173
2194
|
},
|
|
2174
2195
|
get anchor() {
|
|
2175
|
-
return L(() => !!
|
|
2196
|
+
return L(() => !!C())() ? te() : void 0;
|
|
2176
2197
|
},
|
|
2177
2198
|
class: "glasshome-sheet-surface",
|
|
2178
2199
|
get style() {
|
|
@@ -2188,7 +2209,7 @@ function sa(e) {
|
|
|
2188
2209
|
return b().backdrop;
|
|
2189
2210
|
},
|
|
2190
2211
|
children: (e) => (() => {
|
|
2191
|
-
var t =
|
|
2212
|
+
var t = na(), n = t.firstChild;
|
|
2192
2213
|
return F(() => R(n, "src", e())), t;
|
|
2193
2214
|
})()
|
|
2194
2215
|
}),
|
|
@@ -2200,7 +2221,7 @@ function sa(e) {
|
|
|
2200
2221
|
return b().icon;
|
|
2201
2222
|
},
|
|
2202
2223
|
children: (e) => (() => {
|
|
2203
|
-
var t =
|
|
2224
|
+
var t = ra();
|
|
2204
2225
|
return I(t, P(U, {
|
|
2205
2226
|
get icon() {
|
|
2206
2227
|
return e();
|
|
@@ -2220,7 +2241,7 @@ function sa(e) {
|
|
|
2220
2241
|
}
|
|
2221
2242
|
}),
|
|
2222
2243
|
P(ce, { get children() {
|
|
2223
|
-
var e =
|
|
2244
|
+
var e = ta();
|
|
2224
2245
|
return I(e, () => t.sheet?.()), e;
|
|
2225
2246
|
} })
|
|
2226
2247
|
];
|
|
@@ -2265,7 +2286,7 @@ function sa(e) {
|
|
|
2265
2286
|
},
|
|
2266
2287
|
get children() {
|
|
2267
2288
|
return [(() => {
|
|
2268
|
-
var t =
|
|
2289
|
+
var t = ia();
|
|
2269
2290
|
return I(t, () => e.icon()), t;
|
|
2270
2291
|
})(), L(() => e.label)];
|
|
2271
2292
|
}
|
|
@@ -2354,7 +2375,7 @@ function sa(e) {
|
|
|
2354
2375
|
variant: "outline",
|
|
2355
2376
|
onClick: ne,
|
|
2356
2377
|
get children() {
|
|
2357
|
-
return
|
|
2378
|
+
return sa[w.state()];
|
|
2358
2379
|
}
|
|
2359
2380
|
});
|
|
2360
2381
|
}
|
|
@@ -2373,7 +2394,7 @@ function sa(e) {
|
|
|
2373
2394
|
}
|
|
2374
2395
|
});
|
|
2375
2396
|
}
|
|
2376
|
-
function
|
|
2397
|
+
function la() {
|
|
2377
2398
|
let e = "(max-width: 639px)", [t, n] = k(typeof window < "u" && window.matchMedia(e).matches);
|
|
2378
2399
|
return he(() => {
|
|
2379
2400
|
let t = window.matchMedia(e), r = () => n(t.matches);
|
|
@@ -2382,77 +2403,77 @@ function ca() {
|
|
|
2382
2403
|
}
|
|
2383
2404
|
//#endregion
|
|
2384
2405
|
//#region src/framework/hooks/use-widget-dashboard.ts
|
|
2385
|
-
var
|
|
2406
|
+
var ua = {
|
|
2386
2407
|
name: "",
|
|
2387
2408
|
icon: "",
|
|
2388
2409
|
areaId: null
|
|
2389
2410
|
};
|
|
2390
|
-
function
|
|
2411
|
+
function da() {
|
|
2391
2412
|
let e = j(W);
|
|
2392
|
-
return () => e?.dashboard?.() ??
|
|
2413
|
+
return () => e?.dashboard?.() ?? ua;
|
|
2393
2414
|
}
|
|
2394
2415
|
//#endregion
|
|
2395
2416
|
//#region src/framework/hooks/use-widget-viewer.ts
|
|
2396
|
-
var
|
|
2397
|
-
function
|
|
2417
|
+
var fa = { name: null };
|
|
2418
|
+
function pa() {
|
|
2398
2419
|
let e = j(W);
|
|
2399
|
-
return () => e?.viewer?.() ??
|
|
2420
|
+
return () => e?.viewer?.() ?? fa;
|
|
2400
2421
|
}
|
|
2401
2422
|
//#endregion
|
|
2402
2423
|
//#region node_modules/@glasshome/ui/dist/tokens/index.js
|
|
2403
|
-
var
|
|
2404
|
-
function
|
|
2424
|
+
var ma = /^oklch\(\s*([+-]?(?:\d+\.?\d*|\.\d+))\s+([+-]?(?:\d+\.?\d*|\.\d+))\s+([+-]?(?:\d+\.?\d*|\.\d+))\s*\)$/i;
|
|
2425
|
+
function ha(e, t, n) {
|
|
2405
2426
|
return Math.min(Math.max(e, t), n);
|
|
2406
2427
|
}
|
|
2407
|
-
function
|
|
2428
|
+
function ga(e) {
|
|
2408
2429
|
return String(Number.isInteger(e) ? e : Number(e.toFixed(6)));
|
|
2409
2430
|
}
|
|
2410
|
-
function
|
|
2411
|
-
let t =
|
|
2431
|
+
function _a(e) {
|
|
2432
|
+
let t = ma.exec(e.trim());
|
|
2412
2433
|
return t ? {
|
|
2413
2434
|
l: Number(t[1]),
|
|
2414
2435
|
c: Number(t[2]),
|
|
2415
2436
|
h: Number(t[3])
|
|
2416
2437
|
} : null;
|
|
2417
2438
|
}
|
|
2418
|
-
function
|
|
2419
|
-
return `oklch(${
|
|
2420
|
-
}
|
|
2421
|
-
function va(e, t) {
|
|
2422
|
-
let n = ga(e);
|
|
2423
|
-
return n ? _a(ma(n.l + t, 0, 1), n.c, n.h) : e;
|
|
2439
|
+
function va(e, t, n) {
|
|
2440
|
+
return `oklch(${ga(e)} ${ga(t)} ${ga(n)})`;
|
|
2424
2441
|
}
|
|
2425
2442
|
function ya(e, t) {
|
|
2426
|
-
let n =
|
|
2427
|
-
return n ?
|
|
2443
|
+
let n = _a(e);
|
|
2444
|
+
return n ? va(ha(n.l + t, 0, 1), n.c, n.h) : e;
|
|
2428
2445
|
}
|
|
2429
2446
|
function ba(e, t) {
|
|
2447
|
+
let n = _a(e);
|
|
2448
|
+
return n ? va(ha(t, 0, 1), ha(n.c * .8, 0, .4), n.h) : e;
|
|
2449
|
+
}
|
|
2450
|
+
function xa(e, t) {
|
|
2430
2451
|
return {
|
|
2431
2452
|
...e,
|
|
2432
2453
|
popover: e.card,
|
|
2433
|
-
muted: t === "light" ?
|
|
2454
|
+
muted: t === "light" ? ya(e.background, -.015) : ya(e.background, .1),
|
|
2434
2455
|
mutedForeground: t === "light" ? "oklch(0.44 0 0)" : "oklch(0.71 0 0)",
|
|
2435
|
-
input: t === "light" ?
|
|
2456
|
+
input: t === "light" ? ya(e.border, .01) : ya(e.border, .04),
|
|
2436
2457
|
ring: e.accent,
|
|
2437
2458
|
destructive: t === "light" ? "oklch(0.54 0.19 23.0704)" : "oklch(0.7106 0.1661 22.2162)"
|
|
2438
2459
|
};
|
|
2439
2460
|
}
|
|
2440
|
-
function
|
|
2441
|
-
return
|
|
2442
|
-
primary:
|
|
2443
|
-
accent:
|
|
2444
|
-
secondary:
|
|
2445
|
-
border:
|
|
2446
|
-
card:
|
|
2447
|
-
background:
|
|
2461
|
+
function Sa(e) {
|
|
2462
|
+
return xa({
|
|
2463
|
+
primary: ya(e.primary, .15),
|
|
2464
|
+
accent: ya(e.accent, .1),
|
|
2465
|
+
secondary: ba(e.secondary, .14),
|
|
2466
|
+
border: ba(e.border, .26),
|
|
2467
|
+
card: ba(e.card, .17),
|
|
2468
|
+
background: ba(e.background, .12)
|
|
2448
2469
|
}, "dark");
|
|
2449
2470
|
}
|
|
2450
|
-
var
|
|
2471
|
+
var Ca = {
|
|
2451
2472
|
edgeWidth: 1,
|
|
2452
2473
|
edgeInk: 0,
|
|
2453
2474
|
edgeAccent: 0,
|
|
2454
2475
|
inkLift: 0
|
|
2455
|
-
},
|
|
2476
|
+
}, wa = {
|
|
2456
2477
|
frosted: {
|
|
2457
2478
|
blur: 24,
|
|
2458
2479
|
clarity: 60,
|
|
@@ -2460,7 +2481,7 @@ var Sa = {
|
|
|
2460
2481
|
tint: 1,
|
|
2461
2482
|
glow: 0,
|
|
2462
2483
|
ink: 0,
|
|
2463
|
-
...
|
|
2484
|
+
...Ca
|
|
2464
2485
|
},
|
|
2465
2486
|
frost: {
|
|
2466
2487
|
blur: 24,
|
|
@@ -2469,7 +2490,7 @@ var Sa = {
|
|
|
2469
2490
|
tint: 1,
|
|
2470
2491
|
glow: 0,
|
|
2471
2492
|
ink: 0,
|
|
2472
|
-
...
|
|
2493
|
+
...Ca,
|
|
2473
2494
|
grain: .4
|
|
2474
2495
|
},
|
|
2475
2496
|
paper: {
|
|
@@ -2479,7 +2500,7 @@ var Sa = {
|
|
|
2479
2500
|
tint: .85,
|
|
2480
2501
|
glow: 0,
|
|
2481
2502
|
ink: 0,
|
|
2482
|
-
...
|
|
2503
|
+
...Ca,
|
|
2483
2504
|
edgeInk: .3,
|
|
2484
2505
|
sheen: 0,
|
|
2485
2506
|
edge: .2,
|
|
@@ -2509,13 +2530,13 @@ var Sa = {
|
|
|
2509
2530
|
tint: .7,
|
|
2510
2531
|
glow: 0,
|
|
2511
2532
|
ink: 1,
|
|
2512
|
-
...
|
|
2533
|
+
...Ca,
|
|
2513
2534
|
inkLift: 1
|
|
2514
2535
|
}
|
|
2515
|
-
},
|
|
2536
|
+
}, Ta = {
|
|
2516
2537
|
v: 1,
|
|
2517
2538
|
preset: "frosted"
|
|
2518
|
-
},
|
|
2539
|
+
}, Ea = {
|
|
2519
2540
|
blur: [0, 48],
|
|
2520
2541
|
clarity: [0, 100],
|
|
2521
2542
|
depth: [0, 2],
|
|
@@ -2535,7 +2556,7 @@ var Sa = {
|
|
|
2535
2556
|
washAngle: [0, 360],
|
|
2536
2557
|
relief: [0, 2],
|
|
2537
2558
|
fill: [0, .6]
|
|
2538
|
-
},
|
|
2559
|
+
}, Da = {
|
|
2539
2560
|
vibrancy: 1,
|
|
2540
2561
|
inset: 0,
|
|
2541
2562
|
lightFrom: 315,
|
|
@@ -2551,10 +2572,10 @@ var Sa = {
|
|
|
2551
2572
|
relief: 1,
|
|
2552
2573
|
accent: "theme",
|
|
2553
2574
|
fill: 0
|
|
2554
|
-
},
|
|
2555
|
-
function
|
|
2556
|
-
let { edgeWidth: t, edgeInk: n, edgeAccent: r, inkLift: i, ...a } =
|
|
2557
|
-
...
|
|
2575
|
+
}, Oa = Object.keys(Ea);
|
|
2576
|
+
function ka(e) {
|
|
2577
|
+
let { edgeWidth: t, edgeInk: n, edgeAccent: r, inkLift: i, ...a } = wa[e.preset], o = {
|
|
2578
|
+
...Da,
|
|
2558
2579
|
...a,
|
|
2559
2580
|
...e.dials
|
|
2560
2581
|
}, s = {
|
|
@@ -2563,7 +2584,7 @@ function Oa(e) {
|
|
|
2563
2584
|
sheen: o.sheen ?? o.depth,
|
|
2564
2585
|
shadow: o.shadow ?? o.depth
|
|
2565
2586
|
};
|
|
2566
|
-
for (let e of
|
|
2587
|
+
for (let e of Oa) s[e] = ha(s[e], ...Ea[e]);
|
|
2567
2588
|
return s;
|
|
2568
2589
|
}
|
|
2569
2590
|
function Z(e, t) {
|
|
@@ -2590,8 +2611,8 @@ function Q(e, t, n, r, i, a, o, s) {
|
|
|
2590
2611
|
swatch: r,
|
|
2591
2612
|
material: s,
|
|
2592
2613
|
colors: {
|
|
2593
|
-
light:
|
|
2594
|
-
dark: o ?
|
|
2614
|
+
light: xa(i, "light"),
|
|
2615
|
+
dark: o ? xa(o, "dark") : Sa(i)
|
|
2595
2616
|
},
|
|
2596
2617
|
background: a
|
|
2597
2618
|
};
|
|
@@ -2759,17 +2780,17 @@ Z("glass-house", {
|
|
|
2759
2780
|
});
|
|
2760
2781
|
//#endregion
|
|
2761
2782
|
//#region src/framework/hooks/use-material.ts
|
|
2762
|
-
var
|
|
2763
|
-
id:
|
|
2764
|
-
terms:
|
|
2783
|
+
var Aa = {
|
|
2784
|
+
id: Ta.preset,
|
|
2785
|
+
terms: ka(Ta)
|
|
2765
2786
|
};
|
|
2766
|
-
function
|
|
2787
|
+
function ja() {
|
|
2767
2788
|
let e = j(W);
|
|
2768
|
-
return () => e?.material?.() ??
|
|
2789
|
+
return () => e?.material?.() ?? Aa;
|
|
2769
2790
|
}
|
|
2770
2791
|
//#endregion
|
|
2771
2792
|
//#region src/framework/hooks/use-intersection-pause.ts
|
|
2772
|
-
function
|
|
2793
|
+
function Ma(e) {
|
|
2773
2794
|
if (typeof IntersectionObserver > "u") return () => !1;
|
|
2774
2795
|
let [t, n] = k(!1), r = new IntersectionObserver((e) => {
|
|
2775
2796
|
let t = e[0];
|
|
@@ -2782,40 +2803,40 @@ function ja(e) {
|
|
|
2782
2803
|
}
|
|
2783
2804
|
//#endregion
|
|
2784
2805
|
//#region src/framework/hooks/use-daylight.ts
|
|
2785
|
-
var
|
|
2786
|
-
function
|
|
2806
|
+
var Na = -6, Pa = 864e5;
|
|
2807
|
+
function Fa(e, t) {
|
|
2787
2808
|
let n = e.next_rising ? Date.parse(e.next_rising) : NaN, r = e.next_setting ? Date.parse(e.next_setting) : NaN;
|
|
2788
2809
|
if (!Number.isFinite(n) || !Number.isFinite(r)) return;
|
|
2789
|
-
let [i, a] = e.state === "above_horizon" ? [n -
|
|
2810
|
+
let [i, a] = e.state === "above_horizon" ? [n - Pa, r] : [r - Pa, n], o = a - i;
|
|
2790
2811
|
if (!(o <= 0)) return Math.min(1, Math.max(0, (t.getTime() - i) / o));
|
|
2791
2812
|
}
|
|
2792
|
-
var
|
|
2793
|
-
function
|
|
2813
|
+
var Ia = 20, La = 7;
|
|
2814
|
+
function Ra(e, t) {
|
|
2794
2815
|
if (e && (e.state === "above_horizon" || e.state === "below_horizon")) {
|
|
2795
|
-
let n = e.elevation, r = e.state === "above_horizon" ? "day" : n !== void 0 && n >
|
|
2816
|
+
let n = e.elevation, r = e.state === "above_horizon" ? "day" : n !== void 0 && n > Na ? e.rising ? "dawn" : "dusk" : "night";
|
|
2796
2817
|
return {
|
|
2797
2818
|
phase: r,
|
|
2798
2819
|
isNight: r === "night",
|
|
2799
2820
|
elevation: n,
|
|
2800
|
-
progress:
|
|
2821
|
+
progress: Fa(e, t)
|
|
2801
2822
|
};
|
|
2802
2823
|
}
|
|
2803
|
-
let n = t.getHours(), r = n >=
|
|
2824
|
+
let n = t.getHours(), r = n >= Ia || n < La ? "night" : "day";
|
|
2804
2825
|
return {
|
|
2805
2826
|
phase: r,
|
|
2806
2827
|
isNight: r === "night"
|
|
2807
2828
|
};
|
|
2808
2829
|
}
|
|
2809
|
-
var [
|
|
2810
|
-
function
|
|
2811
|
-
return
|
|
2812
|
-
|
|
2830
|
+
var [za, Ba] = k(/* @__PURE__ */ new Date()), Va = 0, Ha;
|
|
2831
|
+
function Ua() {
|
|
2832
|
+
return Va++, Ha ||= (Ba(/* @__PURE__ */ new Date()), setInterval(() => Ba(/* @__PURE__ */ new Date()), 6e4)), () => {
|
|
2833
|
+
Va--, Va === 0 && Ha && (clearInterval(Ha), Ha = void 0);
|
|
2813
2834
|
};
|
|
2814
2835
|
}
|
|
2815
|
-
function
|
|
2816
|
-
let e =
|
|
2836
|
+
function Wa() {
|
|
2837
|
+
let e = te("sun.sun");
|
|
2817
2838
|
return D(() => {
|
|
2818
|
-
e() || A(
|
|
2839
|
+
e() || A(Ua());
|
|
2819
2840
|
}), O(() => {
|
|
2820
2841
|
let t = e(), n = t ? {
|
|
2821
2842
|
state: t.state,
|
|
@@ -2824,19 +2845,39 @@ function Ua() {
|
|
|
2824
2845
|
next_rising: t.attributes?.next_rising,
|
|
2825
2846
|
next_setting: t.attributes?.next_setting
|
|
2826
2847
|
} : void 0;
|
|
2827
|
-
return
|
|
2848
|
+
return Ra(n, n ? /* @__PURE__ */ new Date() : za());
|
|
2828
2849
|
});
|
|
2829
2850
|
}
|
|
2830
2851
|
//#endregion
|
|
2852
|
+
//#region src/theme.ts
|
|
2853
|
+
var Ga = /* @__PURE__ */ new Map(), Ka;
|
|
2854
|
+
function qa(e) {
|
|
2855
|
+
let t = new MutationObserver(() => {
|
|
2856
|
+
for (let [t, [, n]] of Ga) n(e.classList.contains(t));
|
|
2857
|
+
});
|
|
2858
|
+
return t.observe(e, {
|
|
2859
|
+
attributes: !0,
|
|
2860
|
+
attributeFilter: ["class"]
|
|
2861
|
+
}), t;
|
|
2862
|
+
}
|
|
2863
|
+
function Ja(e) {
|
|
2864
|
+
if (typeof document > "u") return !1;
|
|
2865
|
+
let t = document.documentElement, n = Ga.get(e);
|
|
2866
|
+
return n || (n = k(t.classList.contains(e)), Ga.set(e, n), Ka ??= qa(t)), n[0](), t.classList.contains(e);
|
|
2867
|
+
}
|
|
2868
|
+
function Ya() {
|
|
2869
|
+
return Ja("dark");
|
|
2870
|
+
}
|
|
2871
|
+
//#endregion
|
|
2831
2872
|
//#region src/framework/hooks/use-reduced-motion.ts
|
|
2832
|
-
function
|
|
2873
|
+
function Xa() {
|
|
2833
2874
|
if (typeof window > "u" || typeof window.matchMedia != "function") return () => !1;
|
|
2834
2875
|
let e = window.matchMedia("(prefers-reduced-motion: reduce)"), [t, n] = k(e.matches), r = (e) => n(e.matches);
|
|
2835
|
-
return e.addEventListener("change", r), A(() => e.removeEventListener("change", r)), t;
|
|
2876
|
+
return e.addEventListener("change", r), A(() => e.removeEventListener("change", r)), () => t() || Ja("reduce-motion");
|
|
2836
2877
|
}
|
|
2837
2878
|
//#endregion
|
|
2838
2879
|
//#region src/framework/hooks/use-widget-entity-group.ts
|
|
2839
|
-
function
|
|
2880
|
+
function Za(e) {
|
|
2840
2881
|
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(() => {
|
|
2841
2882
|
if (!r()) return;
|
|
2842
2883
|
let t = e.aggregationMode?.();
|
|
@@ -2856,7 +2897,7 @@ function Ga(e) {
|
|
|
2856
2897
|
}
|
|
2857
2898
|
//#endregion
|
|
2858
2899
|
//#region src/framework/theming/svg-colors.ts
|
|
2859
|
-
var
|
|
2900
|
+
var Qa = {
|
|
2860
2901
|
solar: "oklch(0.74 0.18 60)",
|
|
2861
2902
|
grid: "oklch(0.62 0.12 245)",
|
|
2862
2903
|
battery: "oklch(0.70 0.18 145)",
|
|
@@ -2865,21 +2906,21 @@ var Ka = {
|
|
|
2865
2906
|
positive: "oklch(0.70 0.14 160)",
|
|
2866
2907
|
negative: "oklch(0.64 0.22 27)"
|
|
2867
2908
|
};
|
|
2868
|
-
function
|
|
2909
|
+
function $a(e) {
|
|
2869
2910
|
return {
|
|
2870
2911
|
fill: `color-mix(in oklch, ${e} 20%, transparent)`,
|
|
2871
2912
|
stroke: e,
|
|
2872
2913
|
solid: e
|
|
2873
2914
|
};
|
|
2874
2915
|
}
|
|
2875
|
-
var
|
|
2916
|
+
var eo = Object.fromEntries(Object.entries(Qa).map(([e, t]) => [e, $a(t)])), to = o.enum([
|
|
2876
2917
|
"success",
|
|
2877
2918
|
"warning",
|
|
2878
2919
|
"danger",
|
|
2879
2920
|
"info",
|
|
2880
2921
|
"neutral",
|
|
2881
2922
|
"accent"
|
|
2882
|
-
]),
|
|
2923
|
+
]), no = {
|
|
2883
2924
|
title: e(() => o.string().optional().meta({
|
|
2884
2925
|
title: "Title",
|
|
2885
2926
|
description: "Optional display name override"
|
|
@@ -2899,38 +2940,38 @@ var Ja = Object.fromEntries(Object.entries(Ka).map(([e, t]) => [e, qa(t)])), Ya
|
|
|
2899
2940
|
formType: "area-picker",
|
|
2900
2941
|
title: "Area"
|
|
2901
2942
|
}), "widgetFields.areaId")
|
|
2902
|
-
},
|
|
2943
|
+
}, ro = 24;
|
|
2903
2944
|
function $(e) {
|
|
2904
2945
|
let t = {};
|
|
2905
2946
|
for (let [n, r] of Object.entries(e)) r !== void 0 && (t[n] = r);
|
|
2906
2947
|
return t;
|
|
2907
2948
|
}
|
|
2908
|
-
function
|
|
2949
|
+
function io() {
|
|
2909
2950
|
return o.string().optional().meta({
|
|
2910
2951
|
title: "Title",
|
|
2911
2952
|
description: "Optional display name override"
|
|
2912
2953
|
});
|
|
2913
2954
|
}
|
|
2914
|
-
function
|
|
2955
|
+
function ao(e) {
|
|
2915
2956
|
return (e.default === void 0 ? o.string().optional() : o.string().default(e.default)).meta($({
|
|
2916
2957
|
title: e.title,
|
|
2917
2958
|
description: e.description
|
|
2918
2959
|
}));
|
|
2919
2960
|
}
|
|
2920
|
-
function
|
|
2961
|
+
function oo(e) {
|
|
2921
2962
|
let t = o.number();
|
|
2922
2963
|
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($({
|
|
2923
2964
|
title: e.title,
|
|
2924
2965
|
description: e.description
|
|
2925
2966
|
}));
|
|
2926
2967
|
}
|
|
2927
|
-
function
|
|
2968
|
+
function so(e) {
|
|
2928
2969
|
return o.boolean().default(e.default ?? !1).meta($({
|
|
2929
2970
|
title: e.title,
|
|
2930
2971
|
description: e.description
|
|
2931
2972
|
}));
|
|
2932
2973
|
}
|
|
2933
|
-
function
|
|
2974
|
+
function co(e, t) {
|
|
2934
2975
|
let n = o.enum(e);
|
|
2935
2976
|
return (t.default === void 0 ? n.optional() : n.default(t.default)).meta($({
|
|
2936
2977
|
title: t.title,
|
|
@@ -2939,14 +2980,14 @@ function no(e, t) {
|
|
|
2939
2980
|
icons: t.icons
|
|
2940
2981
|
}));
|
|
2941
2982
|
}
|
|
2942
|
-
function
|
|
2983
|
+
function lo(e, t) {
|
|
2943
2984
|
return o.array(o.enum(e)).default([...t.default ?? []]).meta($({
|
|
2944
2985
|
title: t.title,
|
|
2945
2986
|
description: t.description,
|
|
2946
2987
|
labels: t.labels
|
|
2947
2988
|
}));
|
|
2948
2989
|
}
|
|
2949
|
-
function
|
|
2990
|
+
function uo(e, t) {
|
|
2950
2991
|
return o.array(o.string()).default([]).meta($({
|
|
2951
2992
|
domain: e,
|
|
2952
2993
|
title: t?.title ?? "Entities",
|
|
@@ -2954,7 +2995,7 @@ function io(e, t) {
|
|
|
2954
2995
|
deviceClass: t?.deviceClass
|
|
2955
2996
|
}));
|
|
2956
2997
|
}
|
|
2957
|
-
function
|
|
2998
|
+
function fo(e, t) {
|
|
2958
2999
|
return o.array(o.string()).default([]).meta($({
|
|
2959
3000
|
domain: e,
|
|
2960
3001
|
title: t?.title ?? "Entity",
|
|
@@ -2963,13 +3004,13 @@ function ao(e, t) {
|
|
|
2963
3004
|
singleSelect: !0
|
|
2964
3005
|
}));
|
|
2965
3006
|
}
|
|
2966
|
-
function
|
|
3007
|
+
function po(e) {
|
|
2967
3008
|
return o.string().optional().meta({
|
|
2968
3009
|
formType: "area-picker",
|
|
2969
3010
|
title: e?.title ?? "Area"
|
|
2970
3011
|
});
|
|
2971
3012
|
}
|
|
2972
|
-
function
|
|
3013
|
+
function mo(e) {
|
|
2973
3014
|
let t = o.string().meta($({
|
|
2974
3015
|
formType: "icon-picker",
|
|
2975
3016
|
title: e?.title ?? "Icon",
|
|
@@ -2977,7 +3018,7 @@ function so(e) {
|
|
|
2977
3018
|
}));
|
|
2978
3019
|
return e?.default === void 0 ? t.optional() : t.default(e.default);
|
|
2979
3020
|
}
|
|
2980
|
-
function
|
|
3021
|
+
function ho(e) {
|
|
2981
3022
|
let t = e?.presets && Object.fromEntries(Object.entries(e.presets).map(([e, t]) => [e, {
|
|
2982
3023
|
label: t.label,
|
|
2983
3024
|
thumb: t.thumb
|
|
@@ -2989,36 +3030,36 @@ function co(e) {
|
|
|
2989
3030
|
}));
|
|
2990
3031
|
return e?.default === void 0 ? n.optional() : n.default(e.default);
|
|
2991
3032
|
}
|
|
2992
|
-
function
|
|
3033
|
+
function go(e) {
|
|
2993
3034
|
return o.array(o.string()).default([]).meta($({
|
|
2994
3035
|
title: e.title,
|
|
2995
3036
|
description: e.description
|
|
2996
3037
|
}));
|
|
2997
3038
|
}
|
|
2998
|
-
function
|
|
3039
|
+
function _o(e, t) {
|
|
2999
3040
|
let n = o.object(e);
|
|
3000
3041
|
return n.default($t(n)).meta({ title: t.title });
|
|
3001
3042
|
}
|
|
3002
|
-
function
|
|
3043
|
+
function vo(e) {
|
|
3003
3044
|
return e.def;
|
|
3004
3045
|
}
|
|
3005
|
-
function
|
|
3046
|
+
function yo(e) {
|
|
3006
3047
|
if (o.globalRegistry.get(e)?.formType === "list") return !0;
|
|
3007
|
-
let t =
|
|
3008
|
-
return t.shape ? Object.values(t.shape).some(
|
|
3048
|
+
let t = vo(e);
|
|
3049
|
+
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;
|
|
3009
3050
|
}
|
|
3010
|
-
function
|
|
3011
|
-
let t = e, n =
|
|
3012
|
-
for (; n;) t = n, n =
|
|
3051
|
+
function bo(e) {
|
|
3052
|
+
let t = e, n = vo(t).innerType;
|
|
3053
|
+
for (; n;) t = n, n = vo(t).innerType;
|
|
3013
3054
|
return t;
|
|
3014
3055
|
}
|
|
3015
|
-
function
|
|
3016
|
-
let t =
|
|
3056
|
+
function xo(e) {
|
|
3057
|
+
let t = vo(bo(e));
|
|
3017
3058
|
if (t.shape) return new Set(Object.keys(t.shape));
|
|
3018
3059
|
if (t.options) {
|
|
3019
3060
|
let e = [];
|
|
3020
3061
|
for (let n of t.options) {
|
|
3021
|
-
let t =
|
|
3062
|
+
let t = xo(n);
|
|
3022
3063
|
if (!t) return null;
|
|
3023
3064
|
e.push(t);
|
|
3024
3065
|
}
|
|
@@ -3030,7 +3071,7 @@ function ho(e) {
|
|
|
3030
3071
|
}
|
|
3031
3072
|
return null;
|
|
3032
3073
|
}
|
|
3033
|
-
function
|
|
3074
|
+
function So(e, t, n) {
|
|
3034
3075
|
let r = { [t]: n };
|
|
3035
3076
|
try {
|
|
3036
3077
|
return e.parse(r);
|
|
@@ -3038,12 +3079,12 @@ function go(e, t, n) {
|
|
|
3038
3079
|
return r;
|
|
3039
3080
|
}
|
|
3040
3081
|
}
|
|
3041
|
-
function
|
|
3082
|
+
function Co(e, t) {
|
|
3042
3083
|
if (!Number.isInteger(t.max) || t.max < 1) throw Error(`field.list: max must be a positive integer, got ${t.max}`);
|
|
3043
|
-
if (t.max >
|
|
3084
|
+
if (t.max > ro) throw Error(`field.list: max ${t.max} exceeds the ceiling of ${ro}`);
|
|
3044
3085
|
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}`);
|
|
3045
|
-
if (
|
|
3046
|
-
if (t.labelField !== void 0 && !
|
|
3086
|
+
if (yo(e)) throw Error("field.list: a list item cannot contain another field.list (depth 1 only)");
|
|
3087
|
+
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`);
|
|
3047
3088
|
let n = o.array(e);
|
|
3048
3089
|
return t.min !== void 0 && (n = n.min(t.min)), n = n.max(t.max), n.default([]).meta($({
|
|
3049
3090
|
formType: "list",
|
|
@@ -3053,7 +3094,7 @@ function _o(e, t) {
|
|
|
3053
3094
|
labelField: t.labelField
|
|
3054
3095
|
}));
|
|
3055
3096
|
}
|
|
3056
|
-
function
|
|
3097
|
+
function wo(e, t, n) {
|
|
3057
3098
|
let r = Object.keys(t)[0];
|
|
3058
3099
|
if (r === void 0) throw Error("field.variants: at least one variant is required");
|
|
3059
3100
|
if (n.shared && e in n.shared) throw Error(`field.variants: shared fields cannot redefine the discriminator "${e}"`);
|
|
@@ -3066,7 +3107,7 @@ function vo(e, t, n) {
|
|
|
3066
3107
|
...r,
|
|
3067
3108
|
[e]: o.literal(t)
|
|
3068
3109
|
})), a = o.discriminatedUnion(e, i), s = i[0];
|
|
3069
|
-
return a.default(s ?
|
|
3110
|
+
return a.default(s ? So(s, e, r) : {}).meta($({
|
|
3070
3111
|
formType: "variants",
|
|
3071
3112
|
discriminator: e,
|
|
3072
3113
|
title: n.title,
|
|
@@ -3074,35 +3115,35 @@ function vo(e, t, n) {
|
|
|
3074
3115
|
labels: n.labels
|
|
3075
3116
|
}));
|
|
3076
3117
|
}
|
|
3077
|
-
var
|
|
3078
|
-
title:
|
|
3079
|
-
text:
|
|
3080
|
-
number:
|
|
3081
|
-
toggle:
|
|
3082
|
-
choice:
|
|
3083
|
-
choices:
|
|
3084
|
-
entities:
|
|
3085
|
-
entity:
|
|
3086
|
-
area:
|
|
3087
|
-
icon:
|
|
3088
|
-
image:
|
|
3089
|
-
stringList:
|
|
3090
|
-
group:
|
|
3091
|
-
list:
|
|
3092
|
-
variants:
|
|
3118
|
+
var To = {
|
|
3119
|
+
title: io,
|
|
3120
|
+
text: ao,
|
|
3121
|
+
number: oo,
|
|
3122
|
+
toggle: so,
|
|
3123
|
+
choice: co,
|
|
3124
|
+
choices: lo,
|
|
3125
|
+
entities: uo,
|
|
3126
|
+
entity: fo,
|
|
3127
|
+
area: po,
|
|
3128
|
+
icon: mo,
|
|
3129
|
+
image: ho,
|
|
3130
|
+
stringList: go,
|
|
3131
|
+
group: _o,
|
|
3132
|
+
list: Co,
|
|
3133
|
+
variants: wo
|
|
3093
3134
|
};
|
|
3094
|
-
function
|
|
3135
|
+
function Eo(e) {
|
|
3095
3136
|
return o.object(e);
|
|
3096
3137
|
}
|
|
3097
3138
|
//#endregion
|
|
3098
3139
|
//#region src/framework/image-src.ts
|
|
3099
|
-
function
|
|
3140
|
+
function Do(e, t) {
|
|
3100
3141
|
let n = Vt(e);
|
|
3101
3142
|
return n === void 0 ? Ut(e) : t?.[n]?.src;
|
|
3102
3143
|
}
|
|
3103
3144
|
//#endregion
|
|
3104
3145
|
//#region src/shared/spline.ts
|
|
3105
|
-
function
|
|
3146
|
+
function Oo(e) {
|
|
3106
3147
|
if (e.length < 2) return "";
|
|
3107
3148
|
let t = e[0], n = e[1];
|
|
3108
3149
|
if (!t || !n) return "";
|
|
@@ -3128,15 +3169,10 @@ function So(e) {
|
|
|
3128
3169
|
return c;
|
|
3129
3170
|
}
|
|
3130
3171
|
//#endregion
|
|
3131
|
-
//#region src/theme.ts
|
|
3132
|
-
function Co() {
|
|
3133
|
-
return document.documentElement.classList.contains("dark");
|
|
3134
|
-
}
|
|
3135
|
-
//#endregion
|
|
3136
3172
|
//#region src/version.ts
|
|
3137
|
-
var
|
|
3173
|
+
var ko = {
|
|
3138
3174
|
name: "@glasshome/widget-sdk",
|
|
3139
|
-
version: "1.
|
|
3175
|
+
version: "1.27.0",
|
|
3140
3176
|
description: "SDK for building GlassHome dashboard widgets with SolidJS",
|
|
3141
3177
|
keywords: [
|
|
3142
3178
|
"dashboard",
|
|
@@ -3241,4 +3277,4 @@ var wo = {
|
|
|
3241
3277
|
engines: { node: ">=18" }
|
|
3242
3278
|
}.version;
|
|
3243
3279
|
//#endregion
|
|
3244
|
-
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,
|
|
3280
|
+
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 };
|