@appkit/dek-lib 0.36.0 → 0.43.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/dist/index.es.js CHANGED
@@ -24518,6 +24518,7 @@ const cq1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty(
24518
24518
  margin: ${({ $margin: t2 }) => t2}px;
24519
24519
  background-color: ${({ $backColor: t2 }) => t2};
24520
24520
  border-radius: 50%;
24521
+ box-sizing: content-box;
24521
24522
  `, oq1 = styled.div``, vq1 = ({
24522
24523
  loading: t2 = false,
24523
24524
  active: e2 = false,
@@ -46539,12 +46540,7 @@ class Api {
46539
46540
  class ApiInternal {
46540
46541
  trace(integrationKey, message, ...data) {
46541
46542
  console.log(`DEK-TRACE[${integrationKey}]: ${message}`, ...data);
46542
- this.globals.messages.push({
46543
- type: "trace",
46544
- body: message,
46545
- data,
46546
- at: Date.now()
46547
- });
46543
+ return;
46548
46544
  }
46549
46545
  warn(integrationKey, message, ...data) {
46550
46546
  console.warn(`DEK-WARN[${integrationKey}]: ${message}`, ...data);
@@ -65513,146 +65509,15 @@ async function fetchUserPlugins(authToken) {
65513
65509
  query: USER_PLUGIN_AND_INTEGRATIONS_QUERY
65514
65510
  });
65515
65511
  const result = _.cloneDeep(response.data.currentUser);
65516
- result.integrations.push({
65512
+ result.integrations.unshift({
65517
65513
  key: "base",
65518
65514
  pluginName: "base",
65519
- pluginVersion: "0.36.0",
65515
+ pluginVersion: "0.43.0",
65520
65516
  pluginConfig: []
65521
65517
  });
65522
65518
  return result;
65523
65519
  }
65524
- const ClockComponent = () => {
65525
- const dt = r52();
65526
- const time = n52("h:mm", dt);
65527
- const date = n52("ddd, MMM D", dt);
65528
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(g0, { label: "clock", direction: "horz", valign: "center", children: [
65529
- /* @__PURE__ */ jsxRuntimeExports.jsx(l4, { size: "xxlarge", color: "xxsubtle", paddingRight: 11, children: date }),
65530
- /* @__PURE__ */ jsxRuntimeExports.jsx(l4, { size: "xxlarge", color: "subtle", weight: "bold", children: time })
65531
- ] });
65532
- };
65533
- function transformWeatherData(data) {
65534
- if (!data) {
65535
- return {
65536
- type: "unknown",
65537
- temperature: 0
65538
- };
65539
- }
65540
- return {
65541
- type: data.state,
65542
- temperature: data.attributes.temperature
65543
- };
65544
- }
65545
- const state = proxy({
65546
- entities: {}
65547
- });
65548
- const useEntities = () => {
65549
- return useSnapshot(state).entities;
65550
- };
65551
65520
  const Container$b = styled.div`
65552
- width: 50px;
65553
- height: 50px;
65554
- padding: 0;
65555
- margin-top: ${(props) => props.$top}px;
65556
- margin-left: ${(props) => props.$left}px;
65557
- & svg {
65558
- stroke: ${({ theme }) => theme.text.color.xsubtle};
65559
- }
65560
- & g > path {
65561
- stroke: ${({ theme }) => theme.text.color.xsubtle};
65562
- fill: ${({ theme }) => theme.text.color.xsubtle};
65563
- }
65564
- & path {
65565
- stroke: ${({ theme }) => theme.text.color.xsubtle};
65566
- fill: ${({ theme }) => theme.text.color.xsubtle};
65567
- }
65568
- `;
65569
- const SvgClearNight = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b9d5", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M46.66 36.2a16.66 16.66 0 01-16.78-16.55 16.29 16.29 0 01.55-4.15A16.56 16.56 0 1048.5 36.1c-.61.06-1.22.1-1.84.1z" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "10s", repeatCount: "indefinite", type: "rotate", values: "-5 32 32;15 32 32;-5 32 32" })));
65570
- const SvgCloudy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "7s", repeatCount: "indefinite", type: "translate", values: "-3 0; 3 0; -3 0" })));
65571
- const SvgExceptional = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M42.5 32A10.5 10.5 0 1132 21.5 10.5 10.5 0 0142.5 32zM32 15.71V9.5m0 45v-6.21m11.52-27.81l4.39-4.39M16.09 47.91l4.39-4.39m0-23l-4.39-4.39m31.82 31.78l-4.39-4.39M15.71 32H9.5m45 0h-6.21" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 32 32", repeatCount: "indefinite", to: "360 32 32", type: "rotate" })));
65572
- const SvgFog = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#d1d5db", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 58h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "0s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#d1d5db", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 52h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-4s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })));
65573
- const SvgHail = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 31, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })));
65574
- const SvgLightningRaining = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "#f59e0b", d: "M30 36l-4 12h4l-2 10 10-14h-6l4-8h-6z" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "2s", repeatCount: "indefinite", values: "1;1;1;1;1;1;0.1;1;0.1;1;1;0.1;1;0.1;1" })));
65575
- const SvgLightning = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "#f59e0b", d: "M30 36l-4 12h4l-2 10 10-14h-6l4-8h-6z" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "2s", repeatCount: "indefinite", values: "1;1;1;1;1;1;0.1;1;0.1;1;1;0.1;1;0.1;1" })));
65576
- const SvgPartlyCloudy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("defs", null, /* @__PURE__ */ React$3.createElement("clipPath", { id: "a" }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", d: "M12 35l-5.28-4.21-2-6 1-7 4-5 5-3h6l5 1 3 3L33 20l-6 4h-6l-3 3v4l-4 2-2 2z" }))), /* @__PURE__ */ React$3.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M23.5 24a4.5 4.5 0 11-4.5-4.5 4.49 4.49 0 014.5 4.5zM19 15.67V12.5m0 23v-3.17m5.89-14.22l2.24-2.24M10.87 32.13l2.24-2.24m0-11.78l-2.24-2.24m16.26 16.26l-2.24-2.24M7.5 24h3.17m19.83 0h-3.17" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 19 24", repeatCount: "indefinite", to: "360 19 24", type: "rotate" }))), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }));
65577
- const SvgPouring = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })));
65578
- const SvgRainy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })));
65579
- const SvgSnowyRainy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M26.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M24 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-2s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 24 45; 360 24 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-2s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M40.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M38 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-1s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 38 45; 360 38 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.5s", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.5s", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-1s", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })));
65580
- const SvgSnowy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 31, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M33.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M31 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "4s", repeatCount: "indefinite", type: "translate", values: "-1 -6; 1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 31 45; 360 31 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M26.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M24 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-2s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 24 45; 360 24 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-2s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M40.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M38 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-1s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 38 45; 360 38 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })));
65581
- const SvgSunny = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M42.5 32A10.5 10.5 0 1132 21.5 10.5 10.5 0 0142.5 32zM32 15.71V9.5m0 45v-6.21m11.52-27.81l4.39-4.39M16.09 47.91l4.39-4.39m0-23l-4.39-4.39m31.82 31.78l-4.39-4.39M15.71 32H9.5m45 0h-6.21" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 32 32", repeatCount: "indefinite", to: "360 32 32", type: "rotate" })));
65582
- const SvgUnknown = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 32h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "0s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 39h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-2s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-3 0; 3 0; -3 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 25h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-4s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })));
65583
- const SvgWindyVariant = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "35 22", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M43.64 20a5 5 0 113.61 8.46h-35.5" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", dur: "2s", repeatCount: "indefinite", values: "-57; 57" })), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "24 18", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M29.14 44a5 5 0 103.61-8.46h-21" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", begin: "-1.5s", dur: "2s", repeatCount: "indefinite", values: "-39; 39" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M21.5 39.5h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "0 0; 15 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M11.5 24.5h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-.3s", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "-3 0; 18 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-.3s", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M27.5 32h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-.6s", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "-6 0; 12 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-.6s", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })));
65584
- const SvgWindy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "35 22", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M43.64 20a5 5 0 113.61 8.46h-35.5" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", dur: "2s", repeatCount: "indefinite", values: "-57; 57" })), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "24 15", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M29.14 44a5 5 0 103.61-8.46h-21" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", begin: "-1.5s", dur: "2s", repeatCount: "indefinite", values: "-39; 39" })));
65585
- const WeatherIcon = ({ type }) => {
65586
- const baseTop = 0;
65587
- const baseLeft = -7;
65588
- const getWeatherTypeInfo = (type2) => {
65589
- switch (type2) {
65590
- case "sunny":
65591
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSunny, {}), top: baseTop, left: baseLeft };
65592
- case "cloudy":
65593
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgCloudy, {}), top: baseTop, left: baseLeft };
65594
- case "partlycloudy":
65595
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgPartlyCloudy, {}), top: baseTop, left: baseLeft };
65596
- case "clear-night":
65597
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgClearNight, {}), top: baseTop, left: baseLeft };
65598
- case "fog":
65599
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgFog, {}), top: baseTop - 6, left: baseLeft };
65600
- case "hail":
65601
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHail, {}), top: baseTop - 3, left: baseLeft };
65602
- case "lightning":
65603
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgLightning, {}), top: baseTop - 3, left: baseLeft };
65604
- case "lightning-raining":
65605
- return {
65606
- element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgLightningRaining, {}),
65607
- top: baseTop - 3,
65608
- left: baseLeft
65609
- };
65610
- case "pouring":
65611
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgPouring, {}), top: baseTop - 3, left: baseLeft };
65612
- case "rainy":
65613
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgRainy, {}), top: baseTop - 3, left: baseLeft };
65614
- case "snowy":
65615
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSnowy, {}), top: baseTop - 3, left: baseLeft };
65616
- case "snowy-rainy":
65617
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSnowyRainy, {}), top: baseTop - 3, left: baseLeft };
65618
- case "windy":
65619
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgWindy, {}), top: baseTop, left: baseLeft };
65620
- case "windy-variant":
65621
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgWindyVariant, {}), top: baseTop, left: baseLeft };
65622
- case "exceptional":
65623
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgExceptional, {}), top: baseTop, left: baseLeft };
65624
- default:
65625
- return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgUnknown, {}), top: baseTop, left: baseLeft };
65626
- }
65627
- };
65628
- const info = getWeatherTypeInfo(type);
65629
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$b, { "aria-label": "weather-icon", $top: info.top, $left: info.left, children: info.element });
65630
- };
65631
- const WeatherComponent = () => {
65632
- const api2 = getPluginApi();
65633
- const entities = useEntities();
65634
- const [weatherData, setWeatherData] = React__default.useState();
65635
- const data = transformWeatherData(entities["weather.forecast_home"]);
65636
- useEffect$1(() => {
65637
- if (data && (!weatherData || data.temperature !== weatherData.temperature || data.type !== weatherData.type)) {
65638
- if (weatherData) {
65639
- api2.trace("Weather changed", data);
65640
- }
65641
- setWeatherData(data);
65642
- }
65643
- }, [data, weatherData, api2]);
65644
- if (!weatherData) {
65645
- return null;
65646
- }
65647
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(g0, { label: "weather-view", direction: "horz", valign: "center", children: [
65648
- weatherData.type !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(WeatherIcon, { type: weatherData.type }),
65649
- !!weatherData.temperature && /* @__PURE__ */ jsxRuntimeExports.jsxs(l4, { label: "temperature", size: "xxlarge", color: "xsubtle", children: [
65650
- weatherData.temperature,
65651
- "°"
65652
- ] })
65653
- ] });
65654
- };
65655
- const Container$a = styled.div`
65656
65521
  display: flex;
65657
65522
  align-items: center;
65658
65523
  width: 100%;
@@ -65682,16 +65547,41 @@ const HeaderRight = styled.div`
65682
65547
  height: 100%;
65683
65548
  padding-right: 15px;
65684
65549
  `;
65685
- const Header = ({ height = 70 }) => {
65686
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(Container$a, { "aria-label": "header", $height: height, children: [
65687
- /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderLeft, { "aria-label": "header-left", children: /* @__PURE__ */ jsxRuntimeExports.jsx(WeatherComponent, { "aria-label": "weather" }) }),
65688
- /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderCenter, { "aria-label": "header-center" }),
65689
- /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderRight, { "aria-label": "header-right", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ClockComponent, { "aria-label": "clock" }) })
65550
+ const Header = ({
65551
+ height = 70,
65552
+ leftWidget = "",
65553
+ centerWidget = "",
65554
+ rightWidget = "datetime"
65555
+ }) => {
65556
+ var _a2, _b2, _c2;
65557
+ const api2 = getPluginApi();
65558
+ let leftComponent = null;
65559
+ let centerComponent = null;
65560
+ let rightComponent = null;
65561
+ const widgets = api2.registry.collection("header-widgets");
65562
+ if (widgets && widgets.items) {
65563
+ leftComponent = leftWidget ? ((_a2 = widgets.items[leftWidget]) == null ? void 0 : _a2.component()) ?? null : null;
65564
+ centerComponent = centerWidget ? ((_b2 = widgets.items[centerWidget]) == null ? void 0 : _b2.component()) ?? null : null;
65565
+ rightComponent = rightWidget ? ((_c2 = widgets.items[rightWidget]) == null ? void 0 : _c2.component()) ?? null : null;
65566
+ }
65567
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(Container$b, { "aria-label": "header", $height: height, children: [
65568
+ /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderLeft, { "aria-label": "header-left", children: leftComponent }),
65569
+ /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderCenter, { "aria-label": "header-center", children: centerComponent }),
65570
+ /* @__PURE__ */ jsxRuntimeExports.jsx(HeaderRight, { "aria-label": "header-right", children: rightComponent })
65571
+ ] });
65572
+ };
65573
+ const ClockComponent = () => {
65574
+ const dt = r52();
65575
+ const time = n52("h:mm", dt);
65576
+ const date = n52("ddd, MMM D", dt);
65577
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(g0, { label: "clock", direction: "horz", valign: "center", children: [
65578
+ /* @__PURE__ */ jsxRuntimeExports.jsx(l4, { size: "xxlarge", color: "xxsubtle", paddingRight: 11, children: date }),
65579
+ /* @__PURE__ */ jsxRuntimeExports.jsx(l4, { size: "xxlarge", color: "subtle", weight: "bold", children: time })
65690
65580
  ] });
65691
65581
  };
65692
65582
  const About = () => {
65693
65583
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(g0, { padding: 20, direction: "vert", children: [
65694
- /* @__PURE__ */ jsxRuntimeExports.jsx(uq1, { children: `Dek ${"0.36.0"}` }),
65584
+ /* @__PURE__ */ jsxRuntimeExports.jsx(uq1, { children: `Dek ${"0.43.0"}` }),
65695
65585
  /* @__PURE__ */ jsxRuntimeExports.jsx(l4, { children: "From Appkit" })
65696
65586
  ] });
65697
65587
  };
@@ -70712,7 +70602,7 @@ var reactJsxParser_min = { exports: {} };
70712
70602
  })(reactJsxParser_min);
70713
70603
  var reactJsxParser_minExports = reactJsxParser_min.exports;
70714
70604
  const JsxParser = /* @__PURE__ */ getDefaultExportFromCjs(reactJsxParser_minExports);
70715
- const Container$9 = styled.div`
70605
+ const Container$a = styled.div`
70716
70606
  ${({ $width, $height }) => $width && $height ? `position: relative; width: ${$width}px; height: ${$height}px;` : "position: absolute; top: 0; bottom: 0; left: 0; right: 0;"}
70717
70607
 
70718
70608
  display: flex;
@@ -70720,7 +70610,7 @@ const Container$9 = styled.div`
70720
70610
  const BoardScreen = ({ children }) => {
70721
70611
  const previewConfig = usePreviewConfig();
70722
70612
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
70723
- Container$9,
70613
+ Container$a,
70724
70614
  {
70725
70615
  "aria-label": "screen",
70726
70616
  $width: previewConfig == null ? void 0 : previewConfig.width,
@@ -74787,7 +74677,7 @@ hooks.HTML5_FMT = {
74787
74677
  MONTH: "YYYY-MM"
74788
74678
  // <input type="month" />
74789
74679
  };
74790
- const Container$8 = styled.div`
74680
+ const Container$9 = styled.div`
74791
74681
  align-items: flex-start;
74792
74682
  padding: 10px 20px;
74793
74683
  margin-top: 130px;
@@ -74856,9 +74746,9 @@ const Greeting = ({ api: api2 }) => {
74856
74746
  events2.nextEvent.startDate * 1e3
74857
74747
  ).format("h:mm")}`;
74858
74748
  };
74859
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$8, { "aria-label": "greeting", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { children: `${getGreeting()} ${getUpcoming()}` }) });
74749
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$9, { "aria-label": "greeting", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Text, { children: `${getGreeting()} ${getUpcoming()}` }) });
74860
74750
  };
74861
- const Container$7 = styled.div`
74751
+ const Container$8 = styled.div`
74862
74752
  height: 100vh;
74863
74753
  width: 100vw;
74864
74754
  background: ${(props) => `linear-gradient(90deg, ${props.$colorStart}, ${props.$colorEnd})`};
@@ -74903,7 +74793,7 @@ const BlobBackground = ({
74903
74793
  speed = 1
74904
74794
  }) => {
74905
74795
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
74906
- Container$7,
74796
+ Container$8,
74907
74797
  {
74908
74798
  "aria-label": "blob-background",
74909
74799
  $colorStart: colorStart,
@@ -74912,7 +74802,7 @@ const BlobBackground = ({
74912
74802
  }
74913
74803
  );
74914
74804
  };
74915
- const Container$6 = styled.div`
74805
+ const Container$7 = styled.div`
74916
74806
  height: 100vh;
74917
74807
  width: 100vw;
74918
74808
  background: ${(props) => `radial-gradient(${props.$colorStart}, ${props.$colorEnd})`};
@@ -75012,7 +74902,7 @@ const BlurredLightsBackground = ({
75012
74902
  speed = 1
75013
74903
  }) => {
75014
74904
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
75015
- Container$6,
74905
+ Container$7,
75016
74906
  {
75017
74907
  "aria-label": "blurred-lights-background",
75018
74908
  $colorStart: colorStart,
@@ -75031,7 +74921,7 @@ const BlurredLightsBackground = ({
75031
74921
  }
75032
74922
  );
75033
74923
  };
75034
- const Container$5 = styled.div`
74924
+ const Container$6 = styled.div`
75035
74925
  height: 100vh;
75036
74926
  width: 100vw;
75037
74927
  display: flex;
@@ -75065,7 +74955,7 @@ const GradientBackground = ({
75065
74955
  speed = 0.5
75066
74956
  }) => {
75067
74957
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
75068
- Container$5,
74958
+ Container$6,
75069
74959
  {
75070
74960
  "aria-label": "gradient-background",
75071
74961
  $colorStart: colorStart,
@@ -75074,7 +74964,7 @@ const GradientBackground = ({
75074
74964
  }
75075
74965
  );
75076
74966
  };
75077
- const Container$4 = styled.div`
74967
+ const Container$5 = styled.div`
75078
74968
  position: absolute;
75079
74969
  top: 0;
75080
74970
  bottom: 0;
@@ -75141,9 +75031,9 @@ const ImageBackground = ({ itemKey = "fibre", opacity }) => {
75141
75031
  };
75142
75032
  const background = backgrounds[itemKey];
75143
75033
  opacity = opacity === void 0 ? background.opacity : opacity;
75144
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$4, { "aria-label": "background", $imageUrl: background.uri, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Overlay, { $opacity: opacity || 0 }) });
75034
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$5, { "aria-label": "background", $imageUrl: background.uri, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Overlay, { $opacity: opacity || 0 }) });
75145
75035
  };
75146
- const Container$3 = styled.div`
75036
+ const Container$4 = styled.div`
75147
75037
  height: 100vh;
75148
75038
  width: 100vw;
75149
75039
  xbackground: ${(props) => `radial-gradient(
@@ -75224,7 +75114,7 @@ const SlantBackground = ({
75224
75114
  speed = 30
75225
75115
  }) => {
75226
75116
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
75227
- Container$3,
75117
+ Container$4,
75228
75118
  {
75229
75119
  "aria-label": "slant-background",
75230
75120
  $colorStart: colorStart,
@@ -75237,7 +75127,7 @@ const SlantBackground = ({
75237
75127
  }
75238
75128
  );
75239
75129
  };
75240
- const Container$2 = styled.div`
75130
+ const Container$3 = styled.div`
75241
75131
  height: 100vh;
75242
75132
  width: 100vw;
75243
75133
  background: ${(props) => `radial-gradient(
@@ -75302,7 +75192,7 @@ const WaveBackground = ({
75302
75192
  tide = 3
75303
75193
  }) => {
75304
75194
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
75305
- Container$2,
75195
+ Container$3,
75306
75196
  {
75307
75197
  "aria-label": "wave-background",
75308
75198
  $colorStart: colorStart,
@@ -101228,6 +101118,28 @@ let Plugin$2 = class Plugin {
101228
101118
  }
101229
101119
  }
101230
101120
  });
101121
+ registry2.registerCollection("header-widgets", "Header Widgets", {
101122
+ name: {
101123
+ type: "string",
101124
+ title: "name",
101125
+ required: true
101126
+ },
101127
+ component: {
101128
+ type: "component",
101129
+ title: "component",
101130
+ required: true
101131
+ },
101132
+ props: {
101133
+ type: "props",
101134
+ title: "props",
101135
+ required: false
101136
+ }
101137
+ });
101138
+ registry2.registerCollectionItem("header-widgets", "datetime", {
101139
+ name: "Date and Time",
101140
+ component: (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(ClockComponent, { ...props }),
101141
+ props: {}
101142
+ });
101231
101143
  }
101232
101144
  async load(api2) {
101233
101145
  api2.trace(
@@ -101264,7 +101176,24 @@ let Plugin$2 = class Plugin {
101264
101176
  },
101265
101177
  {
101266
101178
  key: "header",
101267
- element: (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(Header, { ...props })
101179
+ element: (props) => /* @__PURE__ */ jsxRuntimeExports.jsx(Header, { ...props }),
101180
+ schema: {
101181
+ leftWidget: {
101182
+ type: "string",
101183
+ title: "Left Widget",
101184
+ default: ""
101185
+ },
101186
+ centerWidget: {
101187
+ type: "string",
101188
+ title: "Center Widget",
101189
+ default: ""
101190
+ },
101191
+ rightWidget: {
101192
+ type: "string",
101193
+ title: "Right Widget",
101194
+ default: "datetime"
101195
+ }
101196
+ }
101268
101197
  },
101269
101198
  {
101270
101199
  key: "title-bar",
@@ -104673,6 +104602,12 @@ function transformSwitchData(data) {
104673
104602
  state: data.state
104674
104603
  };
104675
104604
  }
104605
+ const state = proxy({
104606
+ entities: {}
104607
+ });
104608
+ const useEntities = () => {
104609
+ return useSnapshot(state).entities;
104610
+ };
104676
104611
  const EntityButton = ({
104677
104612
  title,
104678
104613
  entityId,
@@ -104791,7 +104726,7 @@ const useEntity = (entityId) => {
104791
104726
  }
104792
104727
  return entities[entityId];
104793
104728
  };
104794
- const Container$1 = styled.div`
104729
+ const Container$2 = styled.div`
104795
104730
  display: flex;
104796
104731
  aspect-ratio: 1;
104797
104732
  ${({ $large }) => {
@@ -104805,7 +104740,7 @@ const Container$1 = styled.div`
104805
104740
  const CoverArt = ({ url, showLargeContent, onClick = noop$1 }) => {
104806
104741
  const size = showLargeContent ? "60vh" : "250px";
104807
104742
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
104808
- Container$1,
104743
+ Container$2,
104809
104744
  {
104810
104745
  "aria-label": "media-cover-art",
104811
104746
  $large: showLargeContent,
@@ -105039,6 +104974,122 @@ const SensorCard = ({
105039
104974
  }
105040
104975
  );
105041
104976
  };
104977
+ function transformWeatherData(data) {
104978
+ if (!data) {
104979
+ return {
104980
+ type: "unknown",
104981
+ temperature: 0
104982
+ };
104983
+ }
104984
+ return {
104985
+ type: data.state,
104986
+ temperature: data.attributes.temperature
104987
+ };
104988
+ }
104989
+ const Container$1 = styled.div`
104990
+ width: 50px;
104991
+ height: 50px;
104992
+ padding: 0;
104993
+ margin-top: ${(props) => props.$top}px;
104994
+ margin-left: ${(props) => props.$left}px;
104995
+ & svg {
104996
+ stroke: ${({ theme }) => theme.text.color.xsubtle};
104997
+ }
104998
+ & g > path {
104999
+ stroke: ${({ theme }) => theme.text.color.xsubtle};
105000
+ fill: ${({ theme }) => theme.text.color.xsubtle};
105001
+ }
105002
+ & path {
105003
+ stroke: ${({ theme }) => theme.text.color.xsubtle};
105004
+ fill: ${({ theme }) => theme.text.color.xsubtle};
105005
+ }
105006
+ `;
105007
+ const SvgClearNight = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b9d5", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M46.66 36.2a16.66 16.66 0 01-16.78-16.55 16.29 16.29 0 01.55-4.15A16.56 16.56 0 1048.5 36.1c-.61.06-1.22.1-1.84.1z" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "10s", repeatCount: "indefinite", type: "rotate", values: "-5 32 32;15 32 32;-5 32 32" })));
105008
+ const SvgCloudy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "7s", repeatCount: "indefinite", type: "translate", values: "-3 0; 3 0; -3 0" })));
105009
+ const SvgExceptional = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M42.5 32A10.5 10.5 0 1132 21.5 10.5 10.5 0 0142.5 32zM32 15.71V9.5m0 45v-6.21m11.52-27.81l4.39-4.39M16.09 47.91l4.39-4.39m0-23l-4.39-4.39m31.82 31.78l-4.39-4.39M15.71 32H9.5m45 0h-6.21" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 32 32", repeatCount: "indefinite", to: "360 32 32", type: "rotate" })));
105010
+ const SvgFog = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#d1d5db", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 58h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "0s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#d1d5db", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 52h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-4s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })));
105011
+ const SvgHail = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 31, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.5, fill: "#72b8d4" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.6s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 18; -4 14" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.6s", repeatCount: "indefinite", values: "1;1;0" })));
105012
+ const SvgLightningRaining = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "#f59e0b", d: "M30 36l-4 12h4l-2 10 10-14h-6l4-8h-6z" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "2s", repeatCount: "indefinite", values: "1;1;1;1;1;1;0.1;1;0.1;1;1;0.1;1;0.1;1" })));
105013
+ const SvgLightning = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "#f59e0b", d: "M30 36l-4 12h4l-2 10 10-14h-6l4-8h-6z" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "2s", repeatCount: "indefinite", values: "1;1;1;1;1;1;0.1;1;0.1;1;1;0.1;1;0.1;1" })));
105014
+ const SvgPartlyCloudy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("defs", null, /* @__PURE__ */ React$3.createElement("clipPath", { id: "a" }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", d: "M12 35l-5.28-4.21-2-6 1-7 4-5 5-3h6l5 1 3 3L33 20l-6 4h-6l-3 3v4l-4 2-2 2z" }))), /* @__PURE__ */ React$3.createElement("g", { clipPath: "url(#a)" }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M23.5 24a4.5 4.5 0 11-4.5-4.5 4.49 4.49 0 014.5 4.5zM19 15.67V12.5m0 23v-3.17m5.89-14.22l2.24-2.24M10.87 32.13l2.24-2.24m0-11.78l-2.24-2.24m16.26 16.26l-2.24-2.24M7.5 24h3.17m19.83 0h-3.17" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 19 24", repeatCount: "indefinite", to: "360 19 24", type: "rotate" }))), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinejoin: "round", strokeWidth: 3, d: "M46.5 31.5h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0h28a7 7 0 000-14z" }));
105015
+ const SvgPouring = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })));
105016
+ const SvgRainy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.4s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.39 43.03l-.78 4.94" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.2s", dur: "0.7s", repeatCount: "indefinite", values: "0;1;1;0" })));
105017
+ const SvgSnowyRainy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M26.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M24 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-2s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 24 45; 360 24 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-2s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M40.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M38 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-1s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 38 45; 360 38 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M24.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M31.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-0.5s", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-0.5s", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#2885c7", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 2, d: "M38.08 45.01l-.16.98" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-1s", dur: "1.5s", repeatCount: "indefinite", type: "translate", values: "1 -5; -2 10" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "1.5s", repeatCount: "indefinite", values: "0;1;1;0" })));
105018
+ const SvgSnowy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M43.67 45.5h2.83a7 7 0 000-14h-.32a10.49 10.49 0 00-19.11-8 7 7 0 00-10.57 6 7.21 7.21 0 00.1 1.14A7.5 7.5 0 0018 45.5a4.19 4.19 0 00.5 0v0" }), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 31, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M33.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M31 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "4s", repeatCount: "indefinite", type: "translate", values: "-1 -6; 1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 31 45; 360 31 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 24, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M26.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M24 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-2s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 24 45; 360 24 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-2s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("circle", { cx: 38, cy: 45, r: 1.25, fill: "none", stroke: "#72b8d4", strokeMiterlimit: 10 }), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#72b8d4", strokeLinecap: "round", strokeMiterlimit: 10, d: "M40.17 46.25l-1.09-.63m-2.16-1.24l-1.09-.63M38 42.5v1.25m0 3.75v-1.25m-1.08-.63l-1.09.63m4.34-2.5l-1.09.63" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", begin: "-1s", dur: "4s", repeatCount: "indefinite", type: "translate", values: "1 -6; -1 12" }), /* @__PURE__ */ React$3.createElement("animateTransform", { additive: "sum", attributeName: "transform", dur: "9s", repeatCount: "indefinite", type: "rotate", values: "0 38 45; 360 38 45" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-1s", dur: "4s", repeatCount: "indefinite", values: "0;1;1;1;0" })));
105019
+ const SvgSunny = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#f59e0b", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M42.5 32A10.5 10.5 0 1132 21.5 10.5 10.5 0 0142.5 32zM32 15.71V9.5m0 45v-6.21m11.52-27.81l4.39-4.39M16.09 47.91l4.39-4.39m0-23l-4.39-4.39m31.82 31.78l-4.39-4.39M15.71 32H9.5m45 0h-6.21" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: "45s", from: "0 32 32", repeatCount: "indefinite", to: "360 32 32", type: "rotate" })));
105020
+ const SvgUnknown = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 32h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "0s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 39h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-2s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-3 0; 3 0; -3 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M17 25h30" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-4s", dur: "5s", repeatCount: "indefinite", type: "translate", values: "-4 0; 4 0; -4 0" })));
105021
+ const SvgWindyVariant = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "35 22", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M43.64 20a5 5 0 113.61 8.46h-35.5" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", dur: "2s", repeatCount: "indefinite", values: "-57; 57" })), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "24 18", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M29.14 44a5 5 0 103.61-8.46h-21" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", begin: "-1.5s", dur: "2s", repeatCount: "indefinite", values: "-39; 39" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M21.5 39.5h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "0 0; 15 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M11.5 24.5h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-.3s", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "-3 0; 18 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-.3s", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })), /* @__PURE__ */ React$3.createElement("g", null, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#fde68a", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M27.5 32h9" }), /* @__PURE__ */ React$3.createElement("animateTransform", { attributeName: "transform", begin: "-.6s", dur: ".9s", repeatCount: "indefinite", type: "translate", values: "-6 0; 12 0" }), /* @__PURE__ */ React$3.createElement("animate", { attributeName: "opacity", begin: "-.6s", dur: ".9s", repeatCount: "indefinite", values: "0; 1; 1; 1; 0" })));
105022
+ const SvgWindy = (props) => /* @__PURE__ */ React$3.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 64 64", ...props }, /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "35 22", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M43.64 20a5 5 0 113.61 8.46h-35.5" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", dur: "2s", repeatCount: "indefinite", values: "-57; 57" })), /* @__PURE__ */ React$3.createElement("path", { fill: "none", stroke: "#e5e7eb", strokeDasharray: "24 15", strokeLinecap: "round", strokeMiterlimit: 10, strokeWidth: 3, d: "M29.14 44a5 5 0 103.61-8.46h-21" }, /* @__PURE__ */ React$3.createElement("animate", { attributeName: "stroke-dashoffset", begin: "-1.5s", dur: "2s", repeatCount: "indefinite", values: "-39; 39" })));
105023
+ const WeatherIcon = ({ type }) => {
105024
+ const baseTop = 0;
105025
+ const baseLeft = -7;
105026
+ const getWeatherTypeInfo = (type2) => {
105027
+ switch (type2) {
105028
+ case "sunny":
105029
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSunny, {}), top: baseTop, left: baseLeft };
105030
+ case "cloudy":
105031
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgCloudy, {}), top: baseTop, left: baseLeft };
105032
+ case "partlycloudy":
105033
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgPartlyCloudy, {}), top: baseTop, left: baseLeft };
105034
+ case "clear-night":
105035
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgClearNight, {}), top: baseTop, left: baseLeft };
105036
+ case "fog":
105037
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgFog, {}), top: baseTop - 6, left: baseLeft };
105038
+ case "hail":
105039
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgHail, {}), top: baseTop - 3, left: baseLeft };
105040
+ case "lightning":
105041
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgLightning, {}), top: baseTop - 3, left: baseLeft };
105042
+ case "lightning-raining":
105043
+ return {
105044
+ element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgLightningRaining, {}),
105045
+ top: baseTop - 3,
105046
+ left: baseLeft
105047
+ };
105048
+ case "pouring":
105049
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgPouring, {}), top: baseTop - 3, left: baseLeft };
105050
+ case "rainy":
105051
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgRainy, {}), top: baseTop - 3, left: baseLeft };
105052
+ case "snowy":
105053
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSnowy, {}), top: baseTop - 3, left: baseLeft };
105054
+ case "snowy-rainy":
105055
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgSnowyRainy, {}), top: baseTop - 3, left: baseLeft };
105056
+ case "windy":
105057
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgWindy, {}), top: baseTop, left: baseLeft };
105058
+ case "windy-variant":
105059
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgWindyVariant, {}), top: baseTop, left: baseLeft };
105060
+ case "exceptional":
105061
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgExceptional, {}), top: baseTop, left: baseLeft };
105062
+ default:
105063
+ return { element: /* @__PURE__ */ jsxRuntimeExports.jsx(SvgUnknown, {}), top: baseTop, left: baseLeft };
105064
+ }
105065
+ };
105066
+ const info = getWeatherTypeInfo(type);
105067
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Container$1, { "aria-label": "weather-icon", $top: info.top, $left: info.left, children: info.element });
105068
+ };
105069
+ const WeatherComponent = () => {
105070
+ const api2 = getPluginApi();
105071
+ const entities = useEntities();
105072
+ const [weatherData, setWeatherData] = React__default.useState();
105073
+ const data = transformWeatherData(entities["weather.forecast_home"]);
105074
+ useEffect$1(() => {
105075
+ if (data && (!weatherData || data.temperature !== weatherData.temperature || data.type !== weatherData.type)) {
105076
+ if (weatherData) {
105077
+ api2.trace("Weather changed", data);
105078
+ }
105079
+ setWeatherData(data);
105080
+ }
105081
+ }, [data, weatherData, api2]);
105082
+ if (!weatherData) {
105083
+ return null;
105084
+ }
105085
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(g0, { label: "weather-view", direction: "horz", valign: "center", children: [
105086
+ weatherData.type !== void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(WeatherIcon, { type: weatherData.type }),
105087
+ !!weatherData.temperature && /* @__PURE__ */ jsxRuntimeExports.jsxs(l4, { label: "temperature", size: "xxlarge", color: "xsubtle", children: [
105088
+ weatherData.temperature,
105089
+ "°"
105090
+ ] })
105091
+ ] });
105092
+ };
105042
105093
  const EntitiesScreen = () => {
105043
105094
  const entities = useEntities();
105044
105095
  const [selectedKey, setSelectedKey] = useState$1("");
@@ -105250,7 +105301,7 @@ async function updatePlugins(authToken) {
105250
105301
  {
105251
105302
  key: "base",
105252
105303
  pluginName: "base",
105253
- pluginVersion: "0.36.0",
105304
+ pluginVersion: "0.43.0",
105254
105305
  pluginConfig: []
105255
105306
  }
105256
105307
  ],
@@ -105368,10 +105419,8 @@ const BoardProvider = ({
105368
105419
  return /* @__PURE__ */ jsxRuntimeExports.jsx(UserConfigContext.Provider, { value: config2, children: /* @__PURE__ */ jsxRuntimeExports.jsx(BoardStylesProvider, { zoom, transitionDelay, children }) });
105369
105420
  };
105370
105421
  const Command = ({ commandTitle }) => {
105371
- const userConfig = useUserConfig();
105372
- console.log("### USER CONFIG", userConfig);
105422
+ useUserConfig();
105373
105423
  const api2 = getPluginApi();
105374
- console.log("!!! commands", api2.commands);
105375
105424
  const command = api2.commands.find((c2) => c2.title == commandTitle);
105376
105425
  if (!command) {
105377
105426
  return null;
@@ -105432,9 +105481,35 @@ const CommandGroup = ({ groupKey, title, align = "left" }) => {
105432
105481
  ] });
105433
105482
  };
105434
105483
  const CommandGroup$1 = CommandGroup;
105484
+ class ErrorBoundary extends React__default.Component {
105485
+ constructor(props) {
105486
+ super(props);
105487
+ this.state = { hasError: false };
105488
+ }
105489
+ static getDerivedStateFromError(error2) {
105490
+ console.log("getDerivedStateFromError", error2);
105491
+ return { hasError: true };
105492
+ }
105493
+ componentDidCatch(error2, errorInfo) {
105494
+ console.log("componentDidCatch", error2, errorInfo);
105495
+ }
105496
+ render() {
105497
+ if (this.state.hasError) {
105498
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
105499
+ "div",
105500
+ {
105501
+ style: {
105502
+ border: "1px solid red"
105503
+ },
105504
+ children: "#ERR"
105505
+ }
105506
+ );
105507
+ }
105508
+ return this.props.children;
105509
+ }
105510
+ }
105435
105511
  const Component = ({ integrationKey, componentKey }) => {
105436
105512
  const userConfig = useUserConfig();
105437
- console.log("### USER CONFIG", userConfig);
105438
105513
  const api2 = getPluginApi();
105439
105514
  const component = api2.integration(integrationKey).component(componentKey, {
105440
105515
  ...parsePropsForComponent(api2, []),
@@ -105446,7 +105521,7 @@ const Component = ({ integrationKey, componentKey }) => {
105446
105521
  if (component === null) {
105447
105522
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "aria-label": "component-not-found", children: "Component not found" });
105448
105523
  }
105449
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "aria-label": "component", children: component || null });
105524
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { "aria-label": "component", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorBoundary, { children: component || null }) });
105450
105525
  };
105451
105526
  function useAuthorization(email, password) {
105452
105527
  const [token2, setToken] = useState$1("");