@bluerobotics/bluevue 0.2.1 → 0.2.3

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/bluevue.js CHANGED
@@ -1,109 +1,109 @@
1
- import { ref as q, readonly as Ue, onMounted as pe, watch as X, onBeforeUnmount as me, defineComponent as L, computed as k, openBlock as a, createElementBlock as d, normalizeStyle as D, normalizeClass as y, renderSlot as j, createBlock as U, createCommentVNode as C, createElementVNode as i, toDisplayString as B, useSlots as Ke, unref as M, withCtx as N, createVNode as O, TransitionGroup as dt, Fragment as J, renderList as Z, createTextVNode as oe, createSlots as Ge, mergeProps as ke, nextTick as Te, withKeys as de, withModifiers as ae, Transition as pt, withDirectives as Ve, vShow as mt, vModelText as je } from "vue";
2
- import { useFloating as ft, autoUpdate as vt, offset as ht, flip as bt, shift as yt, size as gt } from "@floating-ui/vue";
3
- const qe = q({ show: !1, message: "Working…", dismissible: !1 }), qt = (c = "Working…", n = !1) => {
4
- qe.value = { show: !0, message: c, dismissible: n };
5
- }, wt = () => {
6
- qe.value = { ...qe.value, show: !1 };
1
+ import { ref as $, readonly as Ke, onMounted as fe, watch as Q, onBeforeUnmount as me, defineComponent as I, computed as k, openBlock as i, createElementBlock as c, normalizeStyle as E, normalizeClass as v, renderSlot as O, createBlock as N, createCommentVNode as F, createElementVNode as r, toDisplayString as C, useSlots as Ge, unref as V, withCtx as j, createVNode as W, TransitionGroup as bt, Fragment as K, renderList as Z, createTextVNode as oe, createSlots as Je, mergeProps as ve, nextTick as Me, withKeys as pe, withModifiers as ae, Transition as yt, withDirectives as Se, vShow as gt, vModelText as je } from "vue";
2
+ import { useFloating as qt, autoUpdate as wt, offset as kt, flip as xt, shift as $t, size as Bt } from "@floating-ui/vue";
3
+ const ke = $({ show: !1, message: "Working…", dismissible: !1 }), Ct = (p = "Working…", o = !1) => {
4
+ ke.value = { show: !0, message: p, dismissible: o };
5
+ }, Ft = () => {
6
+ ke.value = { ...ke.value, show: !1 };
7
7
  };
8
- function kt() {
9
- return { loading: Ue(qe), showLoading: qt, hideLoading: wt };
8
+ function Tt() {
9
+ return { loading: Ke(ke), showLoading: Ct, hideLoading: Ft };
10
10
  }
11
- class Fe extends Error {
12
- constructor(n, e, t) {
13
- super(n), this.url = e, this.status = t, this.name = "BlueOsError";
11
+ class _e extends Error {
12
+ constructor(o, e, t) {
13
+ super(o), this.url = e, this.status = t, this.name = "BlueOsError";
14
14
  }
15
15
  }
16
- let He = "";
17
- const qo = (c) => {
18
- He = c.replace(/\/$/, "");
19
- }, xt = () => typeof window < "u" && window.location.pathname.startsWith("/extensionv2/"), xe = (c, n = {}) => {
20
- const e = n.version === void 0 ? "v1.0" : n.version, t = n.timeout ?? 5e3, o = (s) => {
21
- const u = [c, e, s.replace(/^\//, "")].filter((r) => !!r);
22
- return `${He}/${u.join("/")}`;
23
- }, l = async (s, u) => {
24
- const r = o(s);
25
- let v;
16
+ let Ye = "";
17
+ const Ln = (p) => {
18
+ Ye = p.replace(/\/$/, "");
19
+ }, Vt = () => typeof window < "u" && window.location.pathname.startsWith("/extensionv2/"), $e = (p, o = {}) => {
20
+ const e = o.version === void 0 ? "v1.0" : o.version, t = o.timeout ?? 5e3, l = (a) => {
21
+ const f = [p, e, a.replace(/^\//, "")].filter((u) => !!u);
22
+ return `${Ye}/${f.join("/")}`;
23
+ }, n = async (a, f) => {
24
+ const u = l(a);
25
+ let s;
26
26
  try {
27
- v = await fetch(r, { signal: AbortSignal.timeout(t), ...u });
28
- } catch (x) {
29
- throw new Fe(`Could not reach ${c}: ${x.message}`, r, 0);
27
+ s = await fetch(u, { signal: AbortSignal.timeout(t), ...f });
28
+ } catch (q) {
29
+ throw new _e(`Could not reach ${p}: ${q.message}`, u, 0);
30
30
  }
31
- if (!v.ok)
32
- throw new Fe(await v.text() || v.statusText, r, v.status);
33
- const f = await v.text();
34
- return f === "" ? void 0 : JSON.parse(f);
31
+ if (!s.ok)
32
+ throw new _e(await s.text() || s.statusText, u, s.status);
33
+ const d = await s.text();
34
+ return d === "" ? void 0 : JSON.parse(d);
35
35
  };
36
36
  return {
37
- url: o,
38
- get: (s, u) => l(s, { method: "GET", ...u }),
39
- post: (s, u, r) => l(s, {
37
+ url: l,
38
+ get: (a, f) => n(a, { method: "GET", ...f }),
39
+ post: (a, f, u) => n(a, {
40
40
  method: "POST",
41
41
  headers: { "Content-Type": "application/json" },
42
- body: u === void 0 ? void 0 : JSON.stringify(u),
43
- ...r
42
+ body: f === void 0 ? void 0 : JSON.stringify(f),
43
+ ...u
44
44
  }),
45
- delete: (s, u) => l(s, { method: "DELETE", ...u })
45
+ delete: (a, f) => n(a, { method: "DELETE", ...f })
46
46
  };
47
- }, Ce = xe("beacon"), _e = xe("bag"), $t = xe("version-chooser"), Bt = xe("customization"), Je = q(null), Ye = q(null), Xe = q(null), Ze = q(null), Qe = q(!0), et = q(!1), tt = q(null), he = async (c, n) => {
47
+ }, Ve = $e("beacon"), Re = $e("bag"), Mt = $e("version-chooser"), St = $e("customization"), Xe = $(null), Ze = $(null), Qe = $(null), et = $(null), tt = $(!0), lt = $(!1), ot = $(null), ye = async (p, o) => {
48
48
  try {
49
- return n(await c), !0;
49
+ return o(await p), !0;
50
50
  } catch {
51
51
  return !1;
52
52
  }
53
- }, Oe = async () => {
54
- const [c, n, e] = await Promise.all([
55
- he(Ce.get("vehicle_name"), (t) => {
56
- Je.value = t;
53
+ }, We = async () => {
54
+ const [p, o, e] = await Promise.all([
55
+ ye(Ve.get("vehicle_name"), (t) => {
56
+ Xe.value = t;
57
57
  }),
58
- he(Ce.get("hostname"), (t) => {
59
- Ye.value = t;
58
+ ye(Ve.get("hostname"), (t) => {
59
+ Ze.value = t;
60
60
  }),
61
- he($t.get("version/current"), (t) => {
62
- Xe.value = t.tag;
61
+ ye(Mt.get("version/current"), (t) => {
62
+ Qe.value = t.tag;
63
63
  })
64
64
  ]);
65
65
  await Promise.all([
66
- he(Bt.get("theme"), (t) => {
67
- Ze.value = t.primary;
66
+ ye(St.get("theme"), (t) => {
67
+ et.value = t.primary;
68
68
  }),
69
- he(_e.get("get/settings"), (t) => {
70
- typeof t.is_dark_theme == "boolean" && (Qe.value = t.is_dark_theme), typeof t.is_pirate_mode == "boolean" && (et.value = t.is_pirate_mode);
69
+ ye(Re.get("get/settings"), (t) => {
70
+ typeof t.is_dark_theme == "boolean" && (tt.value = t.is_dark_theme), typeof t.is_pirate_mode == "boolean" && (lt.value = t.is_pirate_mode);
71
71
  })
72
- ]), tt.value = c || n || e ? null : new Fe("Could not reach the vehicle", Ce.url("vehicle_name"), 0);
73
- }, Ct = () => (pe(() => {
74
- Oe();
72
+ ]), ot.value = p || o || e ? null : new _e("Could not reach the vehicle", Ve.url("vehicle_name"), 0);
73
+ }, _t = () => (fe(() => {
74
+ We();
75
75
  }), {
76
- vehicleName: Je,
77
- hostname: Ye,
78
- version: Xe,
79
- primaryColor: Ze,
80
- isDarkTheme: Qe,
81
- isPirateMode: et,
82
- embedded: xt(),
83
- error: tt,
84
- refresh: Oe
85
- }), wo = (c, n) => {
86
- const e = q(n);
87
- let t = !1, o;
88
- pe(async () => {
76
+ vehicleName: Xe,
77
+ hostname: Ze,
78
+ version: Qe,
79
+ primaryColor: et,
80
+ isDarkTheme: tt,
81
+ isPirateMode: lt,
82
+ embedded: Vt(),
83
+ error: ot,
84
+ refresh: We
85
+ }), En = (p, o) => {
86
+ const e = $(o);
87
+ let t = !1, l;
88
+ fe(async () => {
89
89
  try {
90
- e.value = await _e.get(`get/${c}`);
91
- } catch (u) {
92
- u.status !== 400 && console.warn(`Could not read ${c}:`, u);
90
+ e.value = await Re.get(`get/${p}`);
91
+ } catch (f) {
92
+ f.status !== 400 && console.warn(`Could not read ${p}:`, f);
93
93
  }
94
94
  t = !0;
95
95
  });
96
- const l = () => {
97
- _e.post(`set/${c}`, e.value).catch((u) => console.warn(`Could not save ${c}:`, u));
98
- }, s = X(e, () => {
99
- t && (clearTimeout(o), o = setTimeout(() => {
100
- o = void 0, l();
96
+ const n = () => {
97
+ Re.post(`set/${p}`, e.value).catch((f) => console.warn(`Could not save ${p}:`, f));
98
+ }, a = Q(e, () => {
99
+ t && (clearTimeout(l), l = setTimeout(() => {
100
+ l = void 0, n();
101
101
  }, 500));
102
102
  }, { deep: !0 });
103
103
  return me(() => {
104
- s(), o !== void 0 && (clearTimeout(o), l());
104
+ a(), l !== void 0 && (clearTimeout(l), n());
105
105
  }), e;
106
- }, Tt = {
106
+ }, Rt = {
107
107
  primary: "--bluevue-primary",
108
108
  accent: "--bluevue-accent",
109
109
  error: "--bluevue-error",
@@ -111,13 +111,13 @@ const qo = (c) => {
111
111
  panelBg: "--bluevue-panel-bg",
112
112
  hairline: "--bluevue-hairline"
113
113
  };
114
- function Vt(c, n = document.documentElement) {
115
- for (const [e, t] of Object.entries(Tt)) {
116
- const o = c[e];
117
- o && n.style.setProperty(t, o);
114
+ function Lt(p, o = document.documentElement) {
115
+ for (const [e, t] of Object.entries(Rt)) {
116
+ const l = p[e];
117
+ l && o.style.setProperty(t, l);
118
118
  }
119
119
  }
120
- const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
120
+ const Et = ["role", "aria-label", "aria-hidden"], G = /* @__PURE__ */ I({
121
121
  __name: "BlueIcon",
122
122
  props: {
123
123
  name: {},
@@ -126,26 +126,26 @@ const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
126
126
  spin: { type: Boolean },
127
127
  label: {}
128
128
  },
129
- setup(c) {
130
- const n = c, e = k(() => n.name.startsWith("mdi-") ? n.name : `mdi-${n.name}`), t = k(() => {
131
- const o = n.size ?? 20;
132
- return typeof o == "number" ? `${o}px` : o;
129
+ setup(p) {
130
+ const o = p, e = k(() => o.name.startsWith("mdi-") ? o.name : `mdi-${o.name}`), t = k(() => {
131
+ const l = o.size ?? 20;
132
+ return typeof l == "number" ? `${l}px` : l;
133
133
  });
134
- return (o, l) => (a(), d("span", {
135
- class: y(["mdi bluevue-icon", [e.value, o.spin ? "bluevue-icon--spin" : ""]]),
136
- style: D({ width: t.value, height: t.value, fontSize: t.value, color: o.color }),
137
- role: o.label ? "img" : void 0,
138
- "aria-label": o.label,
139
- "aria-hidden": o.label ? void 0 : "true"
140
- }, null, 14, Ft));
134
+ return (l, n) => (i(), c("span", {
135
+ class: v(["mdi bluevue-icon", [e.value, l.spin ? "bluevue-icon--spin" : ""]]),
136
+ style: E({ width: t.value, height: t.value, fontSize: t.value, color: l.color }),
137
+ role: l.label ? "img" : void 0,
138
+ "aria-label": l.label,
139
+ "aria-hidden": l.label ? void 0 : "true"
140
+ }, null, 14, Et));
141
141
  }
142
- }), _t = {
142
+ }), Dt = {
143
143
  key: 0,
144
144
  class: "bluevue-elevation-1 relative flex items-center gap-5 rounded-t-[8px] bg-[#15151577] px-5 py-3"
145
- }, Mt = ["src"], St = { class: "truncate text-lg font-medium" }, Rt = { class: "ml-auto flex shrink-0 items-center gap-1" }, zt = {
145
+ }, It = ["src"], zt = { class: "truncate text-lg font-medium" }, Pt = { class: "ml-auto flex shrink-0 items-center gap-1" }, At = {
146
146
  key: 1,
147
147
  class: "flex items-center justify-between gap-3 border-t border-[#ffffff0d] px-5 py-3"
148
- }, Dt = /* @__PURE__ */ L({
148
+ }, Ot = /* @__PURE__ */ I({
149
149
  __name: "BlueCard",
150
150
  props: {
151
151
  title: {},
@@ -154,40 +154,40 @@ const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
154
154
  width: {},
155
155
  bodyClass: {}
156
156
  },
157
- setup(c) {
158
- return (n, e) => (a(), d("section", {
157
+ setup(p) {
158
+ return (o, e) => (i(), c("section", {
159
159
  class: "bluevue-elevation-5 mx-auto w-full rounded-[8px] bg-[var(--bluevue-surface)] text-white",
160
- style: D({ maxWidth: n.width || "615px" })
160
+ style: E({ maxWidth: o.width || "615px" })
161
161
  }, [
162
- n.title || n.$slots.header || n.$slots.actions ? (a(), d("header", _t, [
163
- j(n.$slots, "header", {}, () => [
164
- n.logo ? (a(), d("img", {
162
+ o.title || o.$slots.header || o.$slots.actions ? (i(), c("header", Dt, [
163
+ O(o.$slots, "header", {}, () => [
164
+ o.logo ? (i(), c("img", {
165
165
  key: 0,
166
- src: n.logo,
166
+ src: o.logo,
167
167
  alt: "",
168
168
  class: "h-6 w-6 shrink-0"
169
- }, null, 8, Mt)) : n.icon ? (a(), U(H, {
169
+ }, null, 8, It)) : o.icon ? (i(), N(G, {
170
170
  key: 1,
171
- name: n.icon,
171
+ name: o.icon,
172
172
  size: 24
173
- }, null, 8, ["name"])) : C("", !0),
174
- i("span", St, B(n.title), 1)
173
+ }, null, 8, ["name"])) : F("", !0),
174
+ r("span", zt, C(o.title), 1)
175
175
  ]),
176
- i("div", Rt, [
177
- j(n.$slots, "actions")
176
+ r("div", Pt, [
177
+ O(o.$slots, "actions")
178
178
  ])
179
- ])) : C("", !0),
180
- i("div", {
181
- class: y(n.bodyClass || "px-5 py-4")
179
+ ])) : F("", !0),
180
+ r("div", {
181
+ class: v(o.bodyClass || "px-5 py-4")
182
182
  }, [
183
- j(n.$slots, "default")
183
+ O(o.$slots, "default")
184
184
  ], 2),
185
- n.$slots.footer ? (a(), d("footer", zt, [
186
- j(n.$slots, "footer")
187
- ])) : C("", !0)
185
+ o.$slots.footer ? (i(), c("footer", At, [
186
+ O(o.$slots, "footer")
187
+ ])) : F("", !0)
188
188
  ], 4));
189
189
  }
190
- }), Lt = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%3e%3cg%20fill='%23fff'%20fill-rule='evenodd'%3e%3cpath%20d='M185.5.4c0%20.2-1%20.3-2%20.2a7%207%200%200%200-2.4.1q-.3.4-1.3.2c-.5%200-1.3%200-1.6.4q-.7.5-.3%200%20.1-.5-.1-.5-.5%200-.5.4-.1.3-1.4.2-1.5-.3-2.5.5l-1%20.8%201%20.3q1.4.2.2.6-1%20.3.1.3.8%200%201.1.5t-.2.1q-.5-.1.1.3t.7%201q0%20.3%201.5%201.6%201.3%201.2.9%201-.6-.3%200%20.5.3.8.7.9t.4.6.8.5.7.3c-.1.6.5%201.7.9%201.5q.3-.1.3.2.1.4.7%201.1.7.6.1.3-.4-.2%201%201.1t1%201.2q-.5-.3-.3.1t1%20.5q.5%200%20.3.2c-.3.4.9%202.5%201.5%202.5q.5%200%201.2.9l.8.9-1-.8q-1-.9-.7-.2.2.6%201%201l1.4%201q.4.4-.3%200-1-1-.3.2.5.9%201%201t1.2.8.2.4q-.7-.6-.6.1%200%20.8%201%20.6.4%200%20.3.5%200%20.4.4.5l.7.1-.2.6q-.7.9.9.7.3%200%200%20.3%200%20.3.3.4.6%200%200%20.3t.4.8q1%20.6.5%200t.3%200q.6.5.5.9t.7%201.3.6%201%20.6.7q.9.7%201%201.3t.5%201q.4.2.1-.3-.2-.5.1-.2.5.3.5.8t.9%201.2q.7.5.3.4-.4-.2.5.7%201.1%201%201.3%201.7t1%201.5.8%201.3q0%20.4.6%201%20.9.6.3.6t.3.5q.7.5.8%201c0%201%20.2%201.2%201%201.5q.6.2.5.5-.2.4.4.7.6.4.6.6c0%201%20.9%202.7%201.2%202.2q.3-.6.4%200c.1%201.5%201%203.1%201.9%203.6q.8.4.6%201-.1.5.5%201.2.7.5.6%201.1-.1.5.7%201.1.7.5.6%201.2-.2.5.6.8%201%20.1.3.8t.2.6q.5%200%20.4.4-.2.3.1.4c.3%200%201%202.1%201%202.8q-.1.3.5.3t.4.3.4.6.1.9.3.5.2.4q-.7.2.3%201%201%20.6.4.6t.3.7c.5.3%201%201.2%201%201.8.2%201.5.9%203.2%201.4%203.5q.5.3%200%201-.8.7.2.3.7-.3.4.5-.1.7.2.8.3%200%20.4.7%200%20.8.5%201.2.6.6%200%20.3t-.5%200q0%20.4.6.7t.4%201c-.2%201%20.1%202%20.6%201.7q.2%200%200%20.6%200%20.8.3.8t.2.6.2.6.2.6.4.6%201.2.6.6.1.6%200%201.1.3q.6-.1.6.1.1.3.8.2t.8.2.6.2q.6-.2.6.4%200%20.5.6.6c.8%200%20.8%200%202%20.6q1%20.5%201.4.2.5-.3%201.2%200%201.2.5%200%20.2h-1c0%20.5%201.8.8%202.1.4q.3-.5.3.3t.9.6q2-.2%201.6.4c-.3.5%201.7%201.3%202.6%201q.8-.2.5.3-.2.7.6.5.7-.1%201%20.4.3.7%201%20.4.8%200%20.5.2-.1.4.3.3t1.2.5q.6.7%201.4.8.9%200%201%20.4%200%20.2.5.4t.3-.2c-.3-.6%201.1.5%201.6%201.2q.3.3.8.2t.8.3q.3.5-.1.2t-.5%200%20.8.7q.7%200%20.6-.2-.2-.3.4-.1.5.3.4.5c-.2.3.5.8%201%20.7q.4%200%20.8.6t1.1.7q.7%200%20.8.4%200%20.3.6.4.5%200%201%20.8.4.7.7.5t.4.2.4.2q.4%200%20.6.3.3.4-.1.2t-.5%200c0%20.5%201.5%201.1%202%201q.4%200%20.2.2c-.2.3.6%201%201.4%201l.6.4q.2.4-.2%200-.5%200-.5.2%200%20.4.6.4t.8.6.9.8.2-.3q-.2-.4.4.2.5.7.6.4l.7%201c.5%201.1%201.8%202%202.6%201.7q.3%200%20.1.2a39%2039%200%200%200%208%207.7c-.2.7.4%201.8.8%201.6q.3-.2%200%20.4-.2.9.5.4.8-.3.3.3-.7.8%201.2%201.2c.3%200%20.9.6.9%201q.1.4%201.1%201.4%201.1.9.5.6-.7-.6-.6%200%200%20.4%201%20.8.9.3%201%20.6h-.5q-.3-.2-.4.1.1.3%201.1%201%201%20.4%201%201t1%201.9%201%201.4q-.2.2.4.4.5.3.4.6-.2.4.4.6.5.2.4.6t.3.6q.6.3.6.7.3%201.7%201.1%201.8.6%200%20.4.6t.4%201q.6.2.3.3t.6%201q1%201%20.5.8t-.3.4q.4.5.7.6.4%200-.1.4-.7.4%200%20.3.7%200%20.7.3c-.2.5%201%202.9%201.3%202.9q.3%200%20.3.3-.2%201.3.4%201%20.4%200%20.4.2t-.4.4q-.4.1.5.8t.4.8q-.6%200%200%20.8.4.6.8.5.3-.2.2.4-.2.5%200%20.6.4%200%20.2.7t.1.4c.5-.3%201%20.9.8%202.3q-.2.9.3%201t.8.6q.4.8-.5%200-.4-.3.3.6c.8%201%20.9%201.2.4%201.5q-.7.4.2.4.7%200%20.4.6-.1.6.4%201.4t.3%201.4.2.3.3.6.3%201.2%200%20.3-.3.6q.2.8.6.1.4-.4.1.7t.2.8.2.8.2.7.3.6.2%201.7q.5.9%200%201-.3.1-.2.7.2.8.6%200%20.4-.4.1.7-.1%201%20.2%201.6.5.5.2.6t.3.6q.6.8%200%20.4t-.3.2.3%201.6.3.9.4.2-.5.4q-.6%200%200%20.3.4.4.3%201.1l.1%201q.3%200%20.3%201.8l.1%202.2q.6%201.2%200%202.1-.6.7%200%20.3.6-.5-.1%203.2-.1.9.2.6c.5-.2.3%204.5-.2%206.4l.1.9c.5%200%20.5%201.7%200%202q-.5.3%200%20.3c.3%200%20.4%201.1%200%201.8q-.2.5-.1%202.2%200%202-.6%201.9-.5%200-.2.3c.4.3.7%202.8.2%202.7q-.6-.1-.2%201%20.2.7-.3%201.3-.6.9.1.4t.1.1q-.3.6-.2%201%200%20.6-.2.6-.4.1-.6.8t.2.5%200%20.6l-.5%201.6q0%20.7-.4.8-.4%200%200%20.6.6.5-.2%201.2-.6.8-.2.9t.4.5-.4.1-.1.8-.3.8-.2.3v.7q-.4%200-.2%201%20.2%201.2-.3.7-.6-.3-.3.3.1.8-.5%202-.6%201.3-.3%201.2.5-.2%200%20.3l-.4%201q0%20.6-.5%201-.4.2-.2.6.1.5-.2.5t-.2.5-.1.6q-.4%200-.6.7l-.3%201.3q.4-.6.4-.1t-.7.9-.6.8-.3.3%200%20.4q.8.4.1.4-.4%200-.3.6t-.1.6q-.4%200-.2.4.1.3-.3.8t-.4%201.1v.3c-.5-.3-1.6%201.2-1.3%201.7q.2.3-.1.4-.5%200-.2.4%200%20.3-.2.4-.4%200-.3.3.2.4-.3.6t-.6.6.5.2q.4-.1-.2.3-.6.6-.7%201.3%200%20.5-.4.4-.6-.2-.4%201%200%20.5-.6%201.2-.6.9-.6.3%200-.4-.4.4c-.5%201-.6%201.4-.7%202.3q0%20.5-.3.3c-.3-.3-1.4.8-1.1%201.3q.2.3-.4.6-.5.1-.4.6.3.3-.4.4-.5%200-.5.5.2.4-.4%201-.8.8%200%20.3.4-.3-.5.6-1%201-.8%201.2.1.3-.3.3-.3%200-.2.3%200%20.4-.5.9-.8.8-.3%200t-.3%200q-.8.4-.2.8.6.3-.1.3c-.6%200-1.3%201-1.2%201.7q0%20.2-.5.3a1%201%200%200%200-.8.4q-.3.5.2.2t-.3.5q-.7.6-.6%201%20.1.2-.3.2c-.8%200-2.8%202.3-2.5%202.8q0%20.3-.9.9c-1%20.5-5.7%205-5.3%205l-.3.7q-.4.7-1%20.5-.4%200-.7.6-.4.8-.7.7-.4%200-1%201-.4.8-.5.6t-.8.6-.5.4-.4-.3q-.5.3-.3.9t-.3.3c-.4-.3-1.6.6-1.6%201.3q0%20.3-.5.2a1%201%200%200%200-.9.3q-.3.4.3.1t0%20.3-.9.5-.3.2-.3.3-1.2.8q-.8%201-.6.4.5-.7-.3%200-.5.6-1.2.8-.6.1-1.3%201-.6.7-.8.7c-.4-.2-1.3.4-1.1.7s-1.2%201-2.6%201.1q-.3%200-.2.4c.3.5-1%201-2.5%201.2q-.3%200-.2.5.2.5-.3.2-.7-.3-1%20.5-.5.7-1%20.5-.7-.2-.7.3%200%20.3-.3.2-.4-.2-.4.2%200%20.3-.4.2-.3-.2-.4.2%200%20.4-.4.1-.3%200-.4.2%200%20.4-.3.4-1.3-.2-1%20.5.1.3-.3.2-.6-.1-1%20.4-.6.4-1%20.3-.2-.1-.3.2t-.6.1q-.5%200-.6.3t-.3.2c-.4-.2-.4%203.3%200%203.9q.2.5%200%201.6%200%201.3.4%201.3.3%200%20.1%201.2t.2%201.2.2%201%20.2%201%20.1.5q0%20.6.3%201.2.5.6%200%20.6-.3%200%20.3%201l.6%201.2v.4l-.1%201q0%20.7.3.5.6-.3.2.7-.2%201%20.3%201t0%20.4q-.7.4%200%20.4c.8%200%201%201%20.2%201.3q-.3.2.2.2.7%200%20.5.7t.1.4.2.6.4.5%200%20.3q-.8%201%20.4.7.7.2-.2%201.1-.6.7.3.3t.2.3q-.6.9.4.7.3%200%20.1.7t.2.8q.2%200%20.4.9%200%20.7.4%201%20.3.1.2.7-.3.6.2.4.3-.2.4%200%200%20.5-.4.6-.2.1.4%201%20.9.8.3%201.2-.5.4.2.4c.7%200%201.3%201.2.6%201.2q-.4%200%20.2.5.8.6.2%201-.6.6.3.2.7-.3.5.2c-.4.6%200%201.7.6%201.4q.4-.2%200%20.2%200%20.5.3.9.7.3%200%20.3-.8%200%200%20.5c.7.5.8.7.8%201.7q0%20.5.4.3t.2.1c-.3.6.1%201.8.6%201.5.3-.2.5.6.4%201.5q0%20.2.3.3t.2.5.4.8.4.8q0%20.5.2.6t.4.8q0%20.7.4.8.3%200%20.2.4-.2.3.1.3t.2.6.3%201q.5.6.5%201.2c0%20.7.7%201.5%201%201.3s.8%201%20.6%201.4q-.2.3.2.4.3%200%20.2.4-.2.4.1.4.5.1%201.3%201.6.6%201.5.4%201.3-.5-.2-.2.4.3.5.5.4.3-.2.6.4.1.5-.2.4-.4-.2-.1.3.2.6.6.7t0%20.3q-.9.5%200%20.4.6%200%20.5.4t.5%201.1q.8.9.6%201-.2.3.2.3t.3.3.6%201q.6.8.5%201.4-.2.8.6%201.2.6.5.5%201t.1.4q.5%200%201%20.6.5.8%200%20.5c-.7-.4.2%201.3%201.3%202.5q.6.7.4.8-.2%200%20.4.6.8.6.3.4c-.7-.4-.6.4.3%201.5.8%201%202%201.5%201.4.7q-.1-.3.7-.2.9%200%201.4-.6.6-.6%201-.5.6%200%20.6-.3t.4-.2.4-.1q0-.4.6-.6t.3.1q0%20.3%201.2-.2t1.1-1q0-.3.2-.4.4.1.6.5t.2-.3q0-.9.4-.1.4.7%201.1-.2%201-1.2%200-.2-1.1.8-.3-.1.5-.6.9-.5c.4.3%202.7-1%202.7-1.4q0-.3.3-.2.4.1.4-.1%200-.5.6-.2.6%200%201.7-.9%201.3-1%201.3-.5t.3-.3%201.4-.7.8-.4q-.2-.6.5-.3.6.1.3-.2-.2-.8%201.9-1%20.7-.2%201.3-.9.5-.7%201-.8c1%200%201.8-.6%201.6-1q-.2-.4.4-.2t.9-.3q.1-.5.5-.4.3.2.5-.4.4-.6%201-.5.9.3%201-.5.3-.7.5-.6c.3.4%201.7-.5%201.5-1q-.2-.2.3%200%20.7%200%201.2-.8.8-1%201.2-.8.6%200%201.1-.7.7-.9.7-.3%200%20.5.5-.4c.5-1%202.5-2.5%202-1.6q-.1.4.8-.6t1.4-1%20.4-.4.3-.2q.4.3.4-.4t.6-.4%201-.6q.3-.8.4-.5%200%20.3.6-.5.6-1%201.2-.5t.3-.1.4-.7q.5%200%20.6-.6t.4-.4q.5.2%201.7-1l1.7-1.4q.3-.2.2-.6t.5.1q.7.8.5%200%200-.5.5-.4t.3-.2.7-1%201-1.3q0-.5.2-.5.4%200%201.5-1%201.3-1.4.4-.3-.4.7%202-1.7c1.4-1.5%202.8-2.7%203-2.7l.4-.6c.3-.8%203.5-4%204.1-4q.4%200%20.4-.2a16%2016%200%200%201%202.6-3q2.4-2.4%201.7-2-1%20.8.2-.4%201.2-1%201.1-1.5%200-.2.5-.3c.7%200%203-2.9%202.6-3.3q-.1-.2.1-.1.4%200%20.5-.2l1.5-1.6q1.3-1.4%201.1-1.8-.1-.3.4-.4.6%200%20.6-.6t.7-.4.4%200q-.2-.4.2-.9.6-.7-.1-.3-.4.2.2-.3t.4-.6q-.3%200%20.5-.4t.6-1%20.4-.6q.7%200%20.4-.4%200-.3.2-.4.4%200%20.3-.3.1-.5%201.1-1.4%201-1%20.6-.8-.5.3.2-.7.6-.8%201.2-1.2.6-.2.4-.5t.6-.8.6-1.1.8-1.2.7-1.2q-.1-.5.2-.3.3%200%20.8-.6.3-.7%200-.8-.2%200%20.4-.4t.7-1.2q0-.7%201-1.6.6-.9.7-1.4-.1-.4.2-.3c.4.2%201-.7%201-1.6q.1-.5.8-1t.8-1.3c.1-1.1.7-2.1%201-2%20.4.3%201.3-1.6%201-2q-.2-.5.5-.8.5-.4.3-.4-.2-.1.7-1.3%201-1.1.9-1.7-.2-.5.2-.6.3%200%20.1-.4-.1-.3.2-.3.4-.2%201.2-1.6.8-1.6.3-1.3-.4.1.2-.5l.4-1q-.2-.3.2-.3.3%200%20.2-.7-.2-.6.1-.4.4%200%201-1.1.6-1.3.3-1.2t-.1-.3.6-.6q.3%200%20.1-.4-.1-.3.2-.4.5%200%20.2-.6l.1-.6q.4-.1%201-1.4t.3-1.2q-.3.3-.2-.5.3-.7.7-.5t.1-.4q-.2-.7.4-1.2.5-.6.4-1-.2-.4.3-.8t.4-1.3.2-.5q.6.4.3-.3t.1-.6q.4-.1.4-1t.4-1%20.2-.6.2-.6q.5%200%20.2-.8%200-.6.3-.5.3.3.1-.6%200-.7.2-.6.5.3.2-.5-.1-.9.2-.6.4.2.1-.7t.2-.6.4-.2c-.2-1.1.5-3.9.9-3.6q.4.3.2-.4-.2-.5%200-.6.4-.1.3-.8t.2-.8.2-.6.2-.8q.2-.1.2-1-.1-.8.2-.5.5.3.2-.8t.2-.8.2-.8.2-.7.2-.8.2-.8q.4.3.2-.2t.1-1%20.2-1.2q0-.7.2-1c.3%200%20.5-1%20.5-1.8q0-1.6.4-1.7.2%200%200-1%200-.9.3-1%20.4%200%20.3-1.3%200-1.2.2-1.6.2-.2%200-.8-.1-.5.2-.5.4-.1.4-1.3.1-3.7.5-4%20.3-.3%200-1.2%200-1%20.3-1.5.5-.5.3-2-.1-1.2.2-1.3.3%200%20.3-.4t-.5-.2%200-.2.2-1.8q0-1.3.3-1.3t.2-2.4q0-2.1.2-2.3c.1%200%20.3-6.2.3-13.7a170%20170%200%200%200-1.2-21.5q-.5-.6%200-.2.5.1.5-.2t-.4-.4q-.3%200-.1-1.6.3-1.5-.2-1.4-.3.3-.3-1.3.1-1.4-.2-1.7-.2-.3-.2-1.4.1-1-.2-1.4-.3-.2%200-1.3%200-1.2-.3-1.2-.4%200-.3-.5t-.3-1q-.5-.7.1-.3t.3-.6l-.4-1.4q0-.5-.3-.5t-.1-1q0-1-.3-.7-.4.3-.2-.7t0-1.3-.2-1-.2-1q-.3-.1-.2-1%20.1-.7-.2-.7t-.2-.9q.3-.8-.3-.5t-.2-.7q.3-1.2-.2-.8t-.2-.8q.3-1-.1-.8-.5.3-.2-.8t-.2-.8c-.4.3-.6-1-.5-2.4q0-.5-.2-.5t-.4-1.2q0-1.2-.5-1.5t-.5-1.5-.3-1.3-.1-.6-.3-.3-.2-.2c.3-.5-.1-2.4-.6-2.2q-.2%200%200-.6%200-.9-.2-.6-.5.2-.2-.6.1-.8-.2-.6t-.3-.5q.2-.8-.2-.8t-.3-.3q.1-.1-.2-.7a4%204%200%200%201-.6-1.8q-.1-1-.7-1.8-.5-.6-.4-1.1t-.2-.3q-.5.3-.2-.4%200-.5-.2-.6t-.2-.6q.1-.6-.1-.4-.3%200-.6-.6%200-.7.2-.6.9.6-.4-1-.7-.7-.6-1.3.2-.5-.4-.7-.6-.3-.6-.8c.2-1%200-1.9-.4-1.6q-.3.1-.2-.4.3-.5-.4-.8-.6-.2-.4-.8.1-.5-.1-.6c-.3%200-.8-1-1-2.1s-.7-2.2-1-2q-.4.3-.1-.4.2-.7-.3-.4t-.3%200c.3-.5-1.3-4.1-2.2-4.8q-.5-.5-.4-.8t-.5-.6-.4-.8-1-2q-1-1.2-1-1.6.2-1.2-.7-1.3-.6%200-.4-.6t-.4-.9-.9-2q0-.4-.6-.4t-.3-.4q.2-.5-.4-1l-.7-.7q-.3-1.6-.8-1.1-.5.2-.2-.4.1-.6-.2-.6-.5%200-.5-.6t-.3-.4q-.2%200-.3-.6%200-.8-.4-.6-.4%200-.4-.6t-.5-.7q-.4%200-.5-.6c0-.4-.6-1.4-1.3-2.1a7%207%200%200%201-1.5-2q0-.7-.6-1-.6-.5-.5-.7%200-.3-1.2-1.7l-1.3-1.7q0-.2-.7-.5t-.3-.3-.4-.7-.2-.3q.5.1-.7-1-1.3-1.1-.9-1%20.6.3.3-.1t-.9-.5-.3-.3c.3-.5-1-2-1.6-2q-.5%200-.4-.4.2-.2-.4-.5-.5-.3-.4-.7%200-.5-.8-1t-.7-.6q.2-.4-.6-.7-.7-.5-.6-.7c.3-.3-1.4-2-2-2l-.7-.5q-.3-.4.2-.1.3%200-1.9-2t-2.2-2.5c.2-.4-1.6-2-1.9-1.8%200%20.2-1.2-.9-2.4-2.2q-2-2.2-2-2%20.3.6-.1.3l-.5-.7q0-.6-1-1.4t-1-.6-.5-.5-1-.7-.4-.3-.6-1.1q-1-.8-.2.2.4.7-.7-.6t-1.6-1.2q-.4%200-.2-.3.1-.4-.7-.8l-1.4-1.1q-.5-.7-.2%200%20.1.4-1-.9-1.1-1.1-1-.7l-1.3-1.1q-1.6-1.6-2.1-1.4-.5.1-.2%200c.4-.5-2.4-2.6-3.3-2.6q-.7-.1-1.2-.8t-1.7-1.6q-1.3-1-.5-.2.9%201.2-.5%200-1-.7-.8-1%200-.3-.5-.3t-.6-.4q0-.4-.3-.2-.4.1-.6-.4-.3-.5-1-.6-.8%200-.6-.4t-.2-.2-1.6-1q-1-1-1.5-1-1.2%200-1-.5t-.2-.4l-.8-.2-.8-.1q-.3-.1-.2-.5.2-.3-.1-.4l-.8-.2-.8-.1q-.5%200-.2-.4%200-.3-.8-.8-1-.5-.8%200%20.3.3-.5%200-.7-.6-.6-.9.1-.5-1.1-.3-.3%200-.3-.3%200-.4-.6-.6-.6-.3-.4.2t-.9-.6q-1.1-1-1.7-.8-.4.2-.2-.1c.2-.4-2-1.6-2.6-1.4q-.2%200-.3-.3%200-.4-.3-.2-.4.1-.4-.2t-.3-.3q-.2.2-.8-.3t-1.2-.4-.2-.2-.4-.2q-.6%200-.7-.2t-.3-.2q-.4.3-.4-.1-.1-.4-1-.4t-1.2-.6-.6-.4q-.3.1-.4-.2%200-.4-.4-.3-.6%200-1.6-.6t-1.5-.5q-.5.4-.2-.2.4-.5-.5-.2t-1.1-.3c-.5-.7-4.3-2.2-5-2q-.7.3-.5-.1.2-.3-.3-.7-.6-.2-.3.3.1.4-.5-.2-.8-.7-1.5-.4-.9.3-.4-.3.3-.5-.6-.3t-.5-.2q.2-.3-.4-.1-.6%200-.7-.2t-.6-.1-.5-.2-.6-.2-.6-.2-.6-.2q-.5.1-.6-.2t-.6-.2-.6-.2q0-.5-.8-.2t-.6-.2q.4-.6-1.6-.5-.5%200-.5-.3t-1%200q-1.2.1-.7-.4.3-.5-.4-.3-.5.3-.6-.1-.1-.3-1-.1-1.2.3-.8-.3t-.5-.2-.8-.2q0-.3-.6-.2t-.8-.2-.8-.2-.6-.2-.8-.2q-.6%200-.7-.2t-1-.2q-1%20.3-1-.2%200-.3-1-.2-1%20.2-1-.1%200-.5-.7-.2-.8.1-.8-.2t-.7-.4c-2.9-.1-3.5-.2-3.3-.5q0-.3-.7%200-.8%200-1.1-.2c-.4-.6-2.9-1-2.5-.4q.3.6-.4%200t-1.4-.3-.8-.1-1-.2q-.8.1-1.2-.2c0-.2-.7-.3-1.2-.2q-1%20.2-1.6-.3-.5-.3-1.9-.2-1.2.3-1.3-.1%200-.4-.5-.4-.3%200%200%20.5.1.5-.3%200-.6-.4-1.7-.3-1%200-1.3-.2c0-.2-1.1-.3-2.3-.2q-2%200-2.3-.2c-.3-.4-28.8-.4-28.8%200M114%2019.1q-.7.1-.7.5t-.4.1q-.4-.1-.4.2%200%20.5-.4.2-.4-.1-.4.2t-.4.2q-.3-.1-.4.2%200%20.3-.4.2-.3-.1-.3.2t-.4.2-.4.2-.4.2-.4.2-.3.3c-.3-.4-2.4.8-2.4%201.3q0%20.4-.3.2t-1.2.6-.7.4q.3-.6-.7%200-1%20.4-.8.8t-.2.1q-.4-.2-.9.3l-1.1.6q-.6.1-1%20.8l-1%20.7c-1%200-1.9.6-1.7%201q.1.1-.4.4t-.4-.2q.3-.4-.4.3-.5.6-.6.4t-.6.4-.5.4-.8.6q-.8.7-1.2.5t-.6.4-.8.4-.5.4-.4.4-.7.3q-.1.6-.7.4t-.6.5q0%20.6-.2.4-.3%200-1%20.7t-1.2.8c-.9%200-3%201.5-3.3%202.3q-.4.8-.8.8-.5-.1-.5.3t-.4.1q-.4-.1-.3.1%200%20.3-.2.3l-.9.8q-.5.6-.3.2t-1%20.4q-1%201-1.2%201.4%200%20.4-.7.4t-1%20.8q-.6.8-.8.7c-.3-.4-1.8%201-1.8%201.7q0%20.4-.4.3-.3-.2-.5.4-.4.5-.7.5-.5%200-1%20.8t-.5.6-.8.5q-.7.9-1%20.8t-1.3%201.2q-.7%201.2-.8%201c0-.2-.8.5-1.6%201.4q-1.5%201.6-1.4%201.2.3-.6-.5.1l-.7%201q0%20.5-1.8%202.2l-2%202%201.9-2.1c1-1.1%201.8-2%201.5-2-.2%200-1.4%201.2-2.7%202.6q-2%202.3-1.7%202.2t-1%201.2c-.9.8-1.5%201.7-1.5%201.9q.1.2-.3%200-.3%200-.4.2%200%20.3-.5.4-.6%200-.6.4t.4.2.2.2q-.3.3-.6.2-.4-.1-1.2%201-.8%201-.5%201.2.3%200-.7.5-.8.5-.8%201%200%20.3-.5.7-.6.1-.4.5.1.3-.3.4-.7%200-1.1.7-.7.8%200%20.3t0%20.2q-.6.7-.5.9.2.2-.4.2c-.7%200-1.6%201.3-1.2%201.7q.2.3-.3.3c-.5%200-1.7%201.4-1.7%202q-.1.5-.8.7-.8.3-.2.4.7%200-.2.7-.7.7-.8%201-.1.5-.8.8c-.8.4-2%202.3-2.1%203.2%200%20.6-1.2%201.7-1.9%201.7q-.7-.1%200%20.4t-.2.4q-.7%200-.5.6.3.6-.1.4t-.4.2q.1.9-.9%201.5a3%203%200%200%200-.9%201.6q0%20.9-.6%201.3-.4.5-.1-.3.4-1-.2-.1-.4.7-.3%201%20.3.4-.4.6-.5.3-.4.5.3.2-.4.8-.6.5-.2.3.5-.2.2.4-.1.5-.5.4c-.3-.2-1%201-.8%201.6q0%20.4-1%201.1-.8.7-.8%201.2.2.5-.4.7-.5.3-.4.9.2.5%200%20.4-.4-.1-.8.8-.6%201%200%20.7.3-.2-.5.7l-.7%201q.3.1-.7%201.1-.8%201-.8%201.5.2.5-.4.8-.6.2-.3%201%20.2.7-.3.7t-.4.5-.3.5c-.4-.2-.8%201-.6%201.4q.2.4-.1.4-.5%200-.5.6t-.4.6%200%20.3q.8.5-.1.4t-.2.4q.6.4%200%20.4-.4.1-.4%201t-.4.8q-.5-.5-.6%201%200%20.5-.7%201.2-.6.8-.7%201.2%200%20.5.4-.1t.4-.1-.8.9-.5.8q0%20.3-.2.3-.3.1-.3%201t-.2%201q-.3%200-.1.4%200%20.4-.3.4t-.2.6-.4%201.1-.5%201.1q.2%201.5-.4%201.3-.3-.2-.1.4%200%20.5-.3.6-.5%200-.3.7.2.8-.2.6-.3-.2-.2.4.3.5-.1.6-.3%200-.2.4.3.4-.4%201.3t-.2.5-.1.5-.2.6-.2.5-.5%201.5q.1.5-.1.6t-.2.5q.2.6-.2.6t-.3.8-.2.5-.2.4%200%20.7q-.5%200-.3.8%200%20.7-.3.7-.5%200-.5%201.4T7%20147t-.1.5q.1.6-.2.9t-.2.8-.2.5-.1.6-.2.8-.2.6q.1.3-.2%201-.5.6-.3%201v.9q-.5.1-.6%201-.1.7.1.5.8-.4-.2%201.5c-.7%201.4-1.4%204.7-1.1%205.7q.2.8-.3%201.5l-.2.5q.3.1-.1.5-.4.6-.3%201.3c0%20.4-.1%201.4-.4%202q-.4%201.2-.1%201.1.3-.2.3.4%200%20.5-.3.7-.3.4-.2%201.8.1%201.6-.4%201.5c-.4%200-.5%200%200%201.8q.2%201-.2%201t-.4.5.5%200%200%20.4-.4%201.6q.1%201-.2%201.3c-.2.1-.2%201.2-.1%202.3q0%202-.2%202.1a300%20300%200%200%200%200%2029.6q-.7.7-.1.4t.5.3-.4.4q-.6-.3-.1.5.3.8.2%201.2-.1.6.3%201.1t.1.4-.4.3.4.3.1.5q-.1.7.3%201.3.5.8%200%20.3-.5-.1-.5.1%200%20.5.4.5t.1%201.3q-.1%201.3.2%202%20.5.5.3%201.4%200%20.9.3%201.6.5.7-.1%201t.2.8.2%201q-.5.9.3%201.3l.2.3q-.4%200-.4%201.2%200%201.3.6%201.3t.2%201q0%201%20.1.9c.3-.2.4.4.5%203.3q0%20.6.4.7t.2.8.2.8q.3%200%20.1%201t.2%201%20.5.3-.4.2q-.3%200-.1.6t.6.8q.5%200%200%20.4c-.6.6-.2%201.6.4%201.2q.4-.2%200%20.4-.7.6%200%20.8t.4.9q-.1.5.2.6.5%200%20.2.8t.2.6c.6-.4.5.6%200%201.2q-.6.5.1.5t.4.6q-.2.7.3.4.6-.5.3.7l.1%201q.3%200%20.3.5%200%202%20.5%201.7c.5-.4.5.3%200%20.9q-.7.4.1.4t.5.6q-.1.5.2.6t.2.6.3.7-.1.8q-.8.8.2.4.7-.3.4.3-.1.7.3.9t0%20.2q-.6%200-.2.7.3.8.1%201-.2.4.4.1.8-.3.5.7-.2%201%20.4%201.2.9.1.1.9-.7.8.2.4.6-.3.7.1%200%20.3-.4.4-.2.1.4%201.3l1%202.4c.1%201.2.9%202.5%201.4%202.5q.3%200%20.1.4-.2.6.5%201.5t.6%201.6q0%20.4.3.4t.2.4.4.6.6%201.2.4%201%20.1.4q0%20.3.2.3t.2.7q-.3.6.2.4.3-.3.2.2-.2.6.4%201.2.5.6.3.8-.1.3.3.3.3%200%20.2.3t.2.5.5%201.2q0%201%20.4%201%20.3.1%200%20.5t.4.2.4.2q0%20.5.9%201.6t.6%201q-.5-.2-.5%200%20.1.5.5.7.5.3.6%201%200%20.9.7%201.4.5.4.2%200l-.4-.8c0-.5%201%201%201%201.5l.1%201q0%20.3.4.2.4-.2.6.4t-.2.3%200%20.6.8.6.5.3v1.1q.1.5.6.5.6-.1.4.4-.2.7%201.1%202t1.1%201.9q-.3.4.2.1t.4.6.6%201q.5.2.4.6c-.3.4.5%201.6%201%201.3l1%201q.8%201%200%20.5-.6-.6-.8-.1-.2.3%200%20.4c.8%200%203.4%202.6%203.2%203.2q-.1.5.3.8.5.2.6.6c0%20.6%201.4%202%201.8%201.7q.1-.2%200%20.2t.7%201.4q.8.9.7%201.2t.4.2q.5%200%20.9.4.2.4-.5.2-.5-.2.8.8c1.4%201%202%201.7%201%201.2q-.4-.2.2.3t.3.7.8%201.1a3%203%200%200%200%201.6%201q.4-.3.2%200t.8%201.3q.8.8.3.4-1-.8-.3.3.6.8%201.1.6.6-.1.4.2-.2.5.4%201t.8.9q0%20.3.4.4.3%200%20.7.3.3.4-.1.1-1-.5%200%20.7.4.4.9.4.4-.1.7.3.4.4-.2.1-.3-.1.2.8t1%20.8s.9.6%201.7%201.5q1.5%201.5.4.6-1-1%20.6%201%201.7%201.9%202%201.6.5-.5.4.7%200%20.2.5.2t.3.4.3.3c.5-.3%201.7%201.2%201.4%201.8q-.3.5%200%20.2.4-.2%201.1.4t.5.1q-.4-.6.1-.2t.3.8c-.2.5.5%201.3%201%201.3q.3%200%200-.5%200-.3.2-.1.3.3.3.8.1.4.5.4.6.1%201.1%201t.6.4.3.4%201%201%201%20.7q0%20.8.4.2t.4%200c0%20.9%201.8%202.5%202%201.9q.3-.4.3.2t.4.5.6.2q.3.5-.1.2t-.5%200%201.2%201%201%20.2l.3.2q.5.7.9.4.2-.2%200%20.4-.1.6.2.7%201-.2%201.2.6.3.5.8.3.3-.1.2.1-.1.4.7%201.3.9.7%201%20.4t1%20.7q.8.9.9.5.1-.3%201.6%201%201.4%201.6%202.2%201.6.7%200%20.6.4t.7.5.6.3q-.1.2%201%20.7t1.2.9.5.2q.5-.2.5.5t.7.7%201.2.6q.4.4.9.3.3-.2.4.3%200%20.5.3.6%201.7.1%202.1%201%20.4.5.9.3.5-.1.7.7.3.9%201%20.5.8-.3%201.5.8.6.9%201%201t1.2.6.7.3-.5-.7q-.5-.1%200-.2.4%200%201%201t1.4.8.7.3q0%20.3.8.4.8%200%20.6.6t.2.2q.6-.1%201%20.2.7.4%201%20.2.6-.3.2.2t.3.3.4.4.8.4%201.4.5%201.2.5.8.2.6.2.8.3-.2.2-.4.1%201%20.3h.8c-.3.3%201%201.3%201.7%201.3q.8.1%200-.4-.6-.4%200-.4.3%200%20.7.6.2.6.6.5%201.6-.1%201.3.4c-.3.5%201%201.2%202%201.2q.9.1-.2-.4-1.8-.9.3-.3%201%20.4%201.2.8%200%20.3.6%200t.4.3q-.2.3.3.2.5-.2%201.1.4.8.6%201.8.7a4%204%200%200%201%201.8.6q.5.4.7.2.3-.1.3.3t.8.2.5.3.6.2q.8-.2.6%200c-.1.3%201%201%201.9%201l.5.3q.4.2.9-.2.7-.6.3%200t.3.4h.6q.1.3%201.3.4%201%20.1%201.5.5.3.5%201.5.5t1.2.4.5.2c1.4-.1%202.7.1%202.4.5q-.3.5.8.2%201-.2.8.1-.3.5.8.2t.8.2.8.2.7.2.5.3%201%20.4q.3.5.9.5t.3-.5q-.2-.4.4%200%20.6.6%201.2.4t.8.4.7.2c.5-.6%201.6-.7%201.3-.1q-.2.3.8.2%201-.3.7.2t.3.3q.5-.2%201%200c.5.6%203%201%202.6.5q-.1-.4.2-.4t.4.4q0%20.4%201.1.2t1.4.1.6.3.6.2.6%200q.3-.8%201.1.1t1.3.3c.8-.6%201.9-.4%201.6.3q-.3.6.5.3%202.4-.9%202.5-.3%200%20.4.4.4t.2-.5q-.4-.5.2%200t1.6.3q.8%200%201.4.3c.2.1%201.4.2%202.6.1a272%20272%200%200%200%2030.5.1q.6.5.8.2t1-.2q2%20.6-1.3-2.4-1.8-1.7-1-1.2l1%20.8-1-1q-1-1.1-1.4-1.2a1%201%200%200%201-.8-.4q-.3-.5.2-.2t-.2-.4-1-1.4-1-.7q-.5%200-.4-.3.2-.4-.8-1.3-1-.7-.5-.5.5.3.2-.2-.2-.3-.9-.4-.5%200-.4-.3.2-.3-.6-1-.7-.6-.3-.5.6.3.3-.1t-1-.5q-.4%200-.3-.2%200-.4-.6-1t-.3-.5-.8-1-.8-1q.6.3.3-.1-.4-.5-.9-.5t-.4-.3-.3-.6-.5-.7-.3-.5q-.4%200-1.2-1l-.7-1%201%20.8q.5.5-.9-1.4l-2.2-2.5q-.4-.5-.3-.7c.1%200-.5-1-1.5-1.9q-1.5-1.6-1.5-2.2%200-.4-.7-1l-1.7-1.6q-1-1.4%200-.6.8.8-.3-.7-.8-1.2-1.2-1.3-.3%200-.1-.4.1-.3-.4-.6t-.4-.6-.4-.5q-.5-.3-.4-.6.2-.4-.4-.6-.5-.2-.4-.6.2-.4-.3-.6t-.5-.6-.6-.7q-.7-.5-.6-1%20.2-.6-.1-.4-.6.1-.4-.7c.2-.8-.9-1.8-1.2-1.6q-.3%200-.5-.4-.3-.6.2-.4l-.6-.7q-1.7-1.7-.6-1.3.4.2-.2-.3-.8-.7-.8-1.1%200-.6-1-1.5-.7-1-.6-1.4%200-.6-1-2-1.2-1.3-.9-1.1.6.3.3-.4-.2-.5-.6-.6t-.2-.3q.3-.5-.5-1.2-.6-.6-.5-1%20.2-.1-.3-.2-.3%200-.2-.4.1-.3-.1-.4-.4-.1-.7-1.1-.2-1.1-.6-1.2t-.2-.4-.2-.4-.2-.4%200-.4-.4-.8q-.1-.9-.5-1.1t-.5-.6q.2-1-.3-.8-.7.1-.4-1.7%200-.4-.4-.3-.3.2-.1-.3%200-.6-.2-.6-.5%200-.4-.3c.1-.9-.1-1.7-.4-1.5-.5.3-1.3-2-1-2.6q.2-.4-.2-.1-.6.3-.3-.3.1-.6-.2-1l-.1-.5q.1-.3-.2-.4-.4%200-.1-.6.1-.7-.3-.4-.6.4-.2-.5.1-.8-.2-.8t-.3-.6q.2-.5%200-.6c-.5%200-1.4-2.9-1.3-4q0-.7-.4-.4t-.3-.8v-1q-.4%200-.2-.6.1-.5-.2-.6-.5%200-.3-.6t-.2-1.2-.2-1.2q.3-.5-.2-.3t-.2-.7q.2-1-.6-1.5t-.5%200q.5.9-.7-.2c-.6-.5-1.3-.7-3.3-.9q-.4%200-.3-.4.4-.6-1.4-.5a1%201%200%200%201-1-.5q-.3-.6-.7-.5-.5.2-1-.3a1%201%200%200%200-1-.3q-.7.2-.4-.2.4-.6-.8-.4l-.5-.4c-.3-.6-3.4-2-3.7-1.7q-.2%200-.2-.2t-.6-.7q-.6-.2-.4.3.3.4-.7-.5t-1-.6-.5-.3q-.3-.6-.7-.5t-1.4-.8q-.9-.8-1.3-.8-.4.2-.6-.3t-.6-.4-.6-.4-.6-.4-.4-.1q-.1-.4-1-1-1-.8-.8-.2.2.5-.3-.3-.7-.7-1-.6t-.4-.3-.4-.3q-.4-.1-1.4-1.1t-.7-.6q.1.5-.7-.4t-.6-.4q.2.4-1.3-1.1l-1.3-1.2q.3.6-.3%200t-.9-.5-.2-.4c0-.7-2.2-2.5-2.8-2.3q-.3%200-.2-.2a39%2039%200%200%200-7.9-7.8q0-.5-.7-1.1t-.1-.4-.2-.5-1.3-.9q-.6%200-.4-.2t-.4-.9-.1-.3q.4.2-1-1.1t-1-1.2-1.1-1.9a9%209%200%200%200-2-2.2q-.3%200-.2-.4.2-.3-.5-.7-.8-.5-.8-1.3%200-.6-.4-.5-.3.1-.4-.6%200-.7-.6-1l-.6-.7c0-.7-.5-1.4-.8-1.2q-.2%200-.5-.4-.2-.7.2-.4t-.3-.4q-.7-.5-.7-1.1t-1-1.4q-.7-1-.6-1.5t-.2-.5-.3-.3c.2-.5-1-2.8-1.3-2.6q-.3.2%200-.5.1-.6-.3-.3t-.2-.4q.3-.7-.2-.4t-.2-.4q.1-.5-.2-.6t-.4-.3q.3-1.2-.4-1-.4.1-.4-.3c.2-1.2%200-2-.4-1.6q-.5.1-.2-.2.1-.5-.3-1-.6-.7-.4-1.2t-.2-.6q-.5%200-.3-.4.3-.3-.1-.4-.3%200-.2-.6.3-.6-.1-.4t-.6-.6q-.2-.6.1-.5.3.2.1-.4-.2-.5-.6-.6t-.2-.6-.2-.4q-.4.3-.1-.6t-.1-.6-.2-.6q.2-.6-.3-.7t-.2-.6q0-.5-.2-.6t-.2-.8-.2-.8%200-.6q0-.7-.3-.4-.5.3-.3-.6c0-.5-.3-2-.8-3.4s-.8-3-.7-3.5q.2-.8-.2-.8t-.2-1-.2-1-.2-1.2q.3-1-.2-1.1-.4%200-.3-.7%200-.7-.3-1.3-.3-.5.2-.2t0-.5-.2-1.6q0-.7-.2-.8t-.2-2v-2a176%20176%200%200%201%20.4-24.1q0-1.5.3-1.3.4.2.1-.9-.2-1%20.3-1.7t-.1-.2q-.7.4-.1-.3.5-.5.2-.9-.1-.2.2-.6c.3-.1.6-1.2.6-2.4s.3-2.5.6-3q.4-.7.4-1.3-.2-.5.4-.4t0-.7q-.3-.7%200-.8t.1-1q-.1-1.2.3-.7.6.2.3-.4-.1-.5.2-.6t.1-.8q-.1-.8.2-.8.5%200%20.3-.8-.1-.8.2-.5t.2-.6q-.1-.7.2-.6.4.3.2-.6t.2-.5q.4.2.2-.4t0-.7.2-.6q-.3-.7.3-.4.5.4.2-.1t0-.8q.5-.3.6-1t.3-1c.5-.4%201.6-3.1%201.2-3q-.4.2-.1-.3.1-.5.5-.6.3%200%20.1-.6t.5-.8q.5-.2.4-.8t.2-.3q.6.3.2-.4-.1-.6.1-.4c.4.2%201-1%20.6-1.4q0-.4.2-.4.5%200%20.3-.3-.2-.4.4-.6.5-.3.4-.9-.2-.5.1-.3t.5-.3c0-1.2.1-1.4.8-2q.7-.7.4-1.1-.1-.4.2-.2.5.3.5-.1l.2-.8.1-.8q0-.3.4-.2t.4-.2q0-1%20.6-1.3t.6-1%20.6-1.4q.6-.6.4-.2-.3.5.5-.4.7-.8.6-1.4t.8-1.1q1-.7%201-1.2.1-.5.8-1t.7-.6.7-1.2.8-1.4q0-.5.4-.5c.6%200%202.1-2%201.8-2.3q-.2-.3.2%200%20.4%200%201-.8.8-.9%201.2-.7t-.2-.5-.1-.5a41%2041%200%200%200%208.6-8.5q.6.1%202.2-1.4l2-1.8q.4%200%20.4-.6%200-.4.5-.5t.8-.5l.7-.6q.3%200%20.3-.4-.1-.3.4%200%20.7%200%201-.6.5-.7%201-.8.5%200%201.2-1t1.1-.8q.6%200%201.4-.6.9-.7.4-.5t.2-.4%201.4-.6%201-.6q.4-.6.7-.6%201.2.2.8-.4-.1-.3.2-.3.9%200%201.5-.8t.2%200%20.4%200q.6-.5.7-.2t.4-.5%201-.8c.4%200%20.6-.4.7-2.7.1-1.6%200-2.9-.2-2.9q-.2-.1-.2-2%200-1.7-.2-1.9t-.2-1.3q.1-1.3-.2-1.4t-.1-1q.1-1-.1-.9-.4.2-.4-1.2l-.2-2q0-.8-.3-.8-.3-.1-.4-.8c0-1.8-.2-2.5-.5-3q-.3-.4-.1-.8%200-.4-.2-.4t-.2-.6q.2-.5-.1-.6t-.4-1.2-.3-1.5q-.7-.5-.7-2%200-.8-.3-.8t-.1-.6q.1-.5-.2-.5t-.2-.6-.2-.6-.2-.6-.2-.6q-.5%200-.2-.4.1-.4-.4-1t-.5-1.2-.1-.5-.1-.7-.3-.3q-.6.3-.2-.6t-.2-.6-.4-1.1c0-.6-.9-2.7-1.5-3.2q-.5-.5-.6-1.5l-.2-1.5q0-.3-.4%200-.3%200-.5-.6c0-1.9-.7-3.3-1.2-3q-.4.2-.2-.3.1-.6-.3-1t-.3-.9-.3-.3-.2-.4-.2-.4-.2-.4c.3-.4-.5-2.4-1-2.4q-.3%200-.1-.4.1-.3-.2-.3t-.3-.3c.2-.6-1-2.9-1.3-2.6q-.3%200-.1-.4.2-.6-.4-.9a1%201%200%200%201-.7-1%201%201%200%200%200-.6-.9q-.5-.1-.3-.6c.3-.5-.9-2.7-1.5-2.7q-.3%200-.2-.3c.4-.3-.7-2.3-1.4-2.6a1%201%200%200%201-.4-.8q.2-.6-.4-.8-.5-.4-.8-1.4-.2-1-.6-1-.4.3-.4-.4c0-.9-1-2.2-1.3-1.8q-.2.1-.5-1t-.8-1.5q-.5-.2-.3-.6t-.4-.6q-.5-.1-.4-.5%200-.3-.4-1c-.6-.9-1-1-2.6-.6m6.7%2099-1.5%201.5-1.4%201.3%201.3-1.5q1.8-1.8%201.6-1.3M281%20280.8q-1.7%201.6-2%201.7%200-.2%201.6-1.7l1.9-1.8z'/%3e%3cpath%20d='M308%2031.8q.8.6%201.1.6.2%200-.3-.6l-1.2-.5q-.2%200%20.4.5m30.9%2024.5%201.7%201.5-1.3-1.5q-1.5-1.6-1.8-1.6%200%20.2%201.4%201.5M58.4%2058.8l-2%202%202.1-1.9c1.9-1.8%202.2-2.2%202-2.2zM343.6%2061q1.4%201.5%201.7%201.6l-1.4-1.6-1.7-1.5q0%20.2%201.4%201.5m21%2026q.6%201%201%20.8%200-.3-.7-1l-1-1zm2.1%202.8q.1.6.8%201.6t.8.8l-.8-1.6q-.7-1-.8-.8M135%20106.1q-1.2.9-.4.6c.7-.4%202-1.6%201.7-1.6q-.3%200-1.3%201m-16%2013.3-1.3%201.5%201.4-1.3%201.5-1.5q.2-.5-1.6%201.3m266.1%205.6q.5%201.1.6%201c.2-.1-.5-2.2-.8-2.2zm.8%201.8q0%20.4.5%201.3t.6.6l-.6-1.4q-.5-.8-.5-.5m-280.2%208.5q-1%201.3-.2.7c.7-.6%201.6-2%201.3-2zm293.9%2056.1q0%201.2.2.7v-1.4q-.2-.5-.2.7m-85.9%208.4q0%202.3.2%201.3v-2.8q-.2-.9-.2%201.5m85.9%208.8q0%201.1.2.7v-1.4q-.2-.5-.2.7m-8.4%2049.3q-.3%201-.1%201.4l.4-1.1q.2-1.1%200-1.4zm-110.8%2022.9-1.6%201.7%202-1.7q1.6-1.7%201.5-1.8zm-249.1%2027%20.5%201q.6.7.6.4%200-.4-.6-1.1-.5-.6-.5-.4m131.7%201.2q0%20.7.3%201.6c.4%201%20.4%200%200-1.4q-.4-1.2-.3-.2m5%2016.8.8%202q.6%201.2.5.5c-.3-1-1.3-3.1-1.3-2.5M55.5%20338.4l1.2%201.3%201.3%201.1-1.1-1.2q-1.5-1.7-1.4-1.2m285.7%203.1-1.6%201.7%201.7-1.6c1.6-1.4%201.8-1.8%201.6-1.8zm-280.5%202.3%201.8%201.5-1.4-1.6-1.7-1.5zm123.9%2014q.6%201.1.8%201.2l-.4-1.2-.8-1.2q-.2.2.4%201.2m79.9%207q.6%201.5%201%201.6l-.7-1.6q-.6-1.4-1-1.5zm-177.9%200q.8%201%201.1.8%200-.3-.9-1l-1-.6zm104.4%202.6%201%201.3c.4%200-.6-1.5-1.2-2q-.7-.5.2.7m-100.6%200%201.6.9q.3-.1-.8-.8l-1.6-.8q-.2.1.8.8m33.4%2017.4c0%20.3%202%201%202.3.8l-1-.6zm3.5%201.5%201.4.6q.3%200-.6-.6t-1.3-.5q-.3%200%20.5.5m63.4%2013.4h1.4q.5-.2-.7-.2t-.7.2m17.2%200h1.4q.5-.2-.7-.2t-.7.2'/%3e%3c/g%3e%3c/svg%3e", Pt = ["aria-label"], It = /* @__PURE__ */ L({
190
+ }), jt = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='400'%20height='400'%20viewBox='0%200%20400%20400'%3e%3cg%20fill='%23fff'%20fill-rule='evenodd'%3e%3cpath%20d='M185.5.4c0%20.2-1%20.3-2%20.2a7%207%200%200%200-2.4.1q-.3.4-1.3.2c-.5%200-1.3%200-1.6.4q-.7.5-.3%200%20.1-.5-.1-.5-.5%200-.5.4-.1.3-1.4.2-1.5-.3-2.5.5l-1%20.8%201%20.3q1.4.2.2.6-1%20.3.1.3.8%200%201.1.5t-.2.1q-.5-.1.1.3t.7%201q0%20.3%201.5%201.6%201.3%201.2.9%201-.6-.3%200%20.5.3.8.7.9t.4.6.8.5.7.3c-.1.6.5%201.7.9%201.5q.3-.1.3.2.1.4.7%201.1.7.6.1.3-.4-.2%201%201.1t1%201.2q-.5-.3-.3.1t1%20.5q.5%200%20.3.2c-.3.4.9%202.5%201.5%202.5q.5%200%201.2.9l.8.9-1-.8q-1-.9-.7-.2.2.6%201%201l1.4%201q.4.4-.3%200-1-1-.3.2.5.9%201%201t1.2.8.2.4q-.7-.6-.6.1%200%20.8%201%20.6.4%200%20.3.5%200%20.4.4.5l.7.1-.2.6q-.7.9.9.7.3%200%200%20.3%200%20.3.3.4.6%200%200%20.3t.4.8q1%20.6.5%200t.3%200q.6.5.5.9t.7%201.3.6%201%20.6.7q.9.7%201%201.3t.5%201q.4.2.1-.3-.2-.5.1-.2.5.3.5.8t.9%201.2q.7.5.3.4-.4-.2.5.7%201.1%201%201.3%201.7t1%201.5.8%201.3q0%20.4.6%201%20.9.6.3.6t.3.5q.7.5.8%201c0%201%20.2%201.2%201%201.5q.6.2.5.5-.2.4.4.7.6.4.6.6c0%201%20.9%202.7%201.2%202.2q.3-.6.4%200c.1%201.5%201%203.1%201.9%203.6q.8.4.6%201-.1.5.5%201.2.7.5.6%201.1-.1.5.7%201.1.7.5.6%201.2-.2.5.6.8%201%20.1.3.8t.2.6q.5%200%20.4.4-.2.3.1.4c.3%200%201%202.1%201%202.8q-.1.3.5.3t.4.3.4.6.1.9.3.5.2.4q-.7.2.3%201%201%20.6.4.6t.3.7c.5.3%201%201.2%201%201.8.2%201.5.9%203.2%201.4%203.5q.5.3%200%201-.8.7.2.3.7-.3.4.5-.1.7.2.8.3%200%20.4.7%200%20.8.5%201.2.6.6%200%20.3t-.5%200q0%20.4.6.7t.4%201c-.2%201%20.1%202%20.6%201.7q.2%200%200%20.6%200%20.8.3.8t.2.6.2.6.2.6.4.6%201.2.6.6.1.6%200%201.1.3q.6-.1.6.1.1.3.8.2t.8.2.6.2q.6-.2.6.4%200%20.5.6.6c.8%200%20.8%200%202%20.6q1%20.5%201.4.2.5-.3%201.2%200%201.2.5%200%20.2h-1c0%20.5%201.8.8%202.1.4q.3-.5.3.3t.9.6q2-.2%201.6.4c-.3.5%201.7%201.3%202.6%201q.8-.2.5.3-.2.7.6.5.7-.1%201%20.4.3.7%201%20.4.8%200%20.5.2-.1.4.3.3t1.2.5q.6.7%201.4.8.9%200%201%20.4%200%20.2.5.4t.3-.2c-.3-.6%201.1.5%201.6%201.2q.3.3.8.2t.8.3q.3.5-.1.2t-.5%200%20.8.7q.7%200%20.6-.2-.2-.3.4-.1.5.3.4.5c-.2.3.5.8%201%20.7q.4%200%20.8.6t1.1.7q.7%200%20.8.4%200%20.3.6.4.5%200%201%20.8.4.7.7.5t.4.2.4.2q.4%200%20.6.3.3.4-.1.2t-.5%200c0%20.5%201.5%201.1%202%201q.4%200%20.2.2c-.2.3.6%201%201.4%201l.6.4q.2.4-.2%200-.5%200-.5.2%200%20.4.6.4t.8.6.9.8.2-.3q-.2-.4.4.2.5.7.6.4l.7%201c.5%201.1%201.8%202%202.6%201.7q.3%200%20.1.2a39%2039%200%200%200%208%207.7c-.2.7.4%201.8.8%201.6q.3-.2%200%20.4-.2.9.5.4.8-.3.3.3-.7.8%201.2%201.2c.3%200%20.9.6.9%201q.1.4%201.1%201.4%201.1.9.5.6-.7-.6-.6%200%200%20.4%201%20.8.9.3%201%20.6h-.5q-.3-.2-.4.1.1.3%201.1%201%201%20.4%201%201t1%201.9%201%201.4q-.2.2.4.4.5.3.4.6-.2.4.4.6.5.2.4.6t.3.6q.6.3.6.7.3%201.7%201.1%201.8.6%200%20.4.6t.4%201q.6.2.3.3t.6%201q1%201%20.5.8t-.3.4q.4.5.7.6.4%200-.1.4-.7.4%200%20.3.7%200%20.7.3c-.2.5%201%202.9%201.3%202.9q.3%200%20.3.3-.2%201.3.4%201%20.4%200%20.4.2t-.4.4q-.4.1.5.8t.4.8q-.6%200%200%20.8.4.6.8.5.3-.2.2.4-.2.5%200%20.6.4%200%20.2.7t.1.4c.5-.3%201%20.9.8%202.3q-.2.9.3%201t.8.6q.4.8-.5%200-.4-.3.3.6c.8%201%20.9%201.2.4%201.5q-.7.4.2.4.7%200%20.4.6-.1.6.4%201.4t.3%201.4.2.3.3.6.3%201.2%200%20.3-.3.6q.2.8.6.1.4-.4.1.7t.2.8.2.8.2.7.3.6.2%201.7q.5.9%200%201-.3.1-.2.7.2.8.6%200%20.4-.4.1.7-.1%201%20.2%201.6.5.5.2.6t.3.6q.6.8%200%20.4t-.3.2.3%201.6.3.9.4.2-.5.4q-.6%200%200%20.3.4.4.3%201.1l.1%201q.3%200%20.3%201.8l.1%202.2q.6%201.2%200%202.1-.6.7%200%20.3.6-.5-.1%203.2-.1.9.2.6c.5-.2.3%204.5-.2%206.4l.1.9c.5%200%20.5%201.7%200%202q-.5.3%200%20.3c.3%200%20.4%201.1%200%201.8q-.2.5-.1%202.2%200%202-.6%201.9-.5%200-.2.3c.4.3.7%202.8.2%202.7q-.6-.1-.2%201%20.2.7-.3%201.3-.6.9.1.4t.1.1q-.3.6-.2%201%200%20.6-.2.6-.4.1-.6.8t.2.5%200%20.6l-.5%201.6q0%20.7-.4.8-.4%200%200%20.6.6.5-.2%201.2-.6.8-.2.9t.4.5-.4.1-.1.8-.3.8-.2.3v.7q-.4%200-.2%201%20.2%201.2-.3.7-.6-.3-.3.3.1.8-.5%202-.6%201.3-.3%201.2.5-.2%200%20.3l-.4%201q0%20.6-.5%201-.4.2-.2.6.1.5-.2.5t-.2.5-.1.6q-.4%200-.6.7l-.3%201.3q.4-.6.4-.1t-.7.9-.6.8-.3.3%200%20.4q.8.4.1.4-.4%200-.3.6t-.1.6q-.4%200-.2.4.1.3-.3.8t-.4%201.1v.3c-.5-.3-1.6%201.2-1.3%201.7q.2.3-.1.4-.5%200-.2.4%200%20.3-.2.4-.4%200-.3.3.2.4-.3.6t-.6.6.5.2q.4-.1-.2.3-.6.6-.7%201.3%200%20.5-.4.4-.6-.2-.4%201%200%20.5-.6%201.2-.6.9-.6.3%200-.4-.4.4c-.5%201-.6%201.4-.7%202.3q0%20.5-.3.3c-.3-.3-1.4.8-1.1%201.3q.2.3-.4.6-.5.1-.4.6.3.3-.4.4-.5%200-.5.5.2.4-.4%201-.8.8%200%20.3.4-.3-.5.6-1%201-.8%201.2.1.3-.3.3-.3%200-.2.3%200%20.4-.5.9-.8.8-.3%200t-.3%200q-.8.4-.2.8.6.3-.1.3c-.6%200-1.3%201-1.2%201.7q0%20.2-.5.3a1%201%200%200%200-.8.4q-.3.5.2.2t-.3.5q-.7.6-.6%201%20.1.2-.3.2c-.8%200-2.8%202.3-2.5%202.8q0%20.3-.9.9c-1%20.5-5.7%205-5.3%205l-.3.7q-.4.7-1%20.5-.4%200-.7.6-.4.8-.7.7-.4%200-1%201-.4.8-.5.6t-.8.6-.5.4-.4-.3q-.5.3-.3.9t-.3.3c-.4-.3-1.6.6-1.6%201.3q0%20.3-.5.2a1%201%200%200%200-.9.3q-.3.4.3.1t0%20.3-.9.5-.3.2-.3.3-1.2.8q-.8%201-.6.4.5-.7-.3%200-.5.6-1.2.8-.6.1-1.3%201-.6.7-.8.7c-.4-.2-1.3.4-1.1.7s-1.2%201-2.6%201.1q-.3%200-.2.4c.3.5-1%201-2.5%201.2q-.3%200-.2.5.2.5-.3.2-.7-.3-1%20.5-.5.7-1%20.5-.7-.2-.7.3%200%20.3-.3.2-.4-.2-.4.2%200%20.3-.4.2-.3-.2-.4.2%200%20.4-.4.1-.3%200-.4.2%200%20.4-.3.4-1.3-.2-1%20.5.1.3-.3.2-.6-.1-1%20.4-.6.4-1%20.3-.2-.1-.3.2t-.6.1q-.5%200-.6.3t-.3.2c-.4-.2-.4%203.3%200%203.9q.2.5%200%201.6%200%201.3.4%201.3.3%200%20.1%201.2t.2%201.2.2%201%20.2%201%20.1.5q0%20.6.3%201.2.5.6%200%20.6-.3%200%20.3%201l.6%201.2v.4l-.1%201q0%20.7.3.5.6-.3.2.7-.2%201%20.3%201t0%20.4q-.7.4%200%20.4c.8%200%201%201%20.2%201.3q-.3.2.2.2.7%200%20.5.7t.1.4.2.6.4.5%200%20.3q-.8%201%20.4.7.7.2-.2%201.1-.6.7.3.3t.2.3q-.6.9.4.7.3%200%20.1.7t.2.8q.2%200%20.4.9%200%20.7.4%201%20.3.1.2.7-.3.6.2.4.3-.2.4%200%200%20.5-.4.6-.2.1.4%201%20.9.8.3%201.2-.5.4.2.4c.7%200%201.3%201.2.6%201.2q-.4%200%20.2.5.8.6.2%201-.6.6.3.2.7-.3.5.2c-.4.6%200%201.7.6%201.4q.4-.2%200%20.2%200%20.5.3.9.7.3%200%20.3-.8%200%200%20.5c.7.5.8.7.8%201.7q0%20.5.4.3t.2.1c-.3.6.1%201.8.6%201.5.3-.2.5.6.4%201.5q0%20.2.3.3t.2.5.4.8.4.8q0%20.5.2.6t.4.8q0%20.7.4.8.3%200%20.2.4-.2.3.1.3t.2.6.3%201q.5.6.5%201.2c0%20.7.7%201.5%201%201.3s.8%201%20.6%201.4q-.2.3.2.4.3%200%20.2.4-.2.4.1.4.5.1%201.3%201.6.6%201.5.4%201.3-.5-.2-.2.4.3.5.5.4.3-.2.6.4.1.5-.2.4-.4-.2-.1.3.2.6.6.7t0%20.3q-.9.5%200%20.4.6%200%20.5.4t.5%201.1q.8.9.6%201-.2.3.2.3t.3.3.6%201q.6.8.5%201.4-.2.8.6%201.2.6.5.5%201t.1.4q.5%200%201%20.6.5.8%200%20.5c-.7-.4.2%201.3%201.3%202.5q.6.7.4.8-.2%200%20.4.6.8.6.3.4c-.7-.4-.6.4.3%201.5.8%201%202%201.5%201.4.7q-.1-.3.7-.2.9%200%201.4-.6.6-.6%201-.5.6%200%20.6-.3t.4-.2.4-.1q0-.4.6-.6t.3.1q0%20.3%201.2-.2t1.1-1q0-.3.2-.4.4.1.6.5t.2-.3q0-.9.4-.1.4.7%201.1-.2%201-1.2%200-.2-1.1.8-.3-.1.5-.6.9-.5c.4.3%202.7-1%202.7-1.4q0-.3.3-.2.4.1.4-.1%200-.5.6-.2.6%200%201.7-.9%201.3-1%201.3-.5t.3-.3%201.4-.7.8-.4q-.2-.6.5-.3.6.1.3-.2-.2-.8%201.9-1%20.7-.2%201.3-.9.5-.7%201-.8c1%200%201.8-.6%201.6-1q-.2-.4.4-.2t.9-.3q.1-.5.5-.4.3.2.5-.4.4-.6%201-.5.9.3%201-.5.3-.7.5-.6c.3.4%201.7-.5%201.5-1q-.2-.2.3%200%20.7%200%201.2-.8.8-1%201.2-.8.6%200%201.1-.7.7-.9.7-.3%200%20.5.5-.4c.5-1%202.5-2.5%202-1.6q-.1.4.8-.6t1.4-1%20.4-.4.3-.2q.4.3.4-.4t.6-.4%201-.6q.3-.8.4-.5%200%20.3.6-.5.6-1%201.2-.5t.3-.1.4-.7q.5%200%20.6-.6t.4-.4q.5.2%201.7-1l1.7-1.4q.3-.2.2-.6t.5.1q.7.8.5%200%200-.5.5-.4t.3-.2.7-1%201-1.3q0-.5.2-.5.4%200%201.5-1%201.3-1.4.4-.3-.4.7%202-1.7c1.4-1.5%202.8-2.7%203-2.7l.4-.6c.3-.8%203.5-4%204.1-4q.4%200%20.4-.2a16%2016%200%200%201%202.6-3q2.4-2.4%201.7-2-1%20.8.2-.4%201.2-1%201.1-1.5%200-.2.5-.3c.7%200%203-2.9%202.6-3.3q-.1-.2.1-.1.4%200%20.5-.2l1.5-1.6q1.3-1.4%201.1-1.8-.1-.3.4-.4.6%200%20.6-.6t.7-.4.4%200q-.2-.4.2-.9.6-.7-.1-.3-.4.2.2-.3t.4-.6q-.3%200%20.5-.4t.6-1%20.4-.6q.7%200%20.4-.4%200-.3.2-.4.4%200%20.3-.3.1-.5%201.1-1.4%201-1%20.6-.8-.5.3.2-.7.6-.8%201.2-1.2.6-.2.4-.5t.6-.8.6-1.1.8-1.2.7-1.2q-.1-.5.2-.3.3%200%20.8-.6.3-.7%200-.8-.2%200%20.4-.4t.7-1.2q0-.7%201-1.6.6-.9.7-1.4-.1-.4.2-.3c.4.2%201-.7%201-1.6q.1-.5.8-1t.8-1.3c.1-1.1.7-2.1%201-2%20.4.3%201.3-1.6%201-2q-.2-.5.5-.8.5-.4.3-.4-.2-.1.7-1.3%201-1.1.9-1.7-.2-.5.2-.6.3%200%20.1-.4-.1-.3.2-.3.4-.2%201.2-1.6.8-1.6.3-1.3-.4.1.2-.5l.4-1q-.2-.3.2-.3.3%200%20.2-.7-.2-.6.1-.4.4%200%201-1.1.6-1.3.3-1.2t-.1-.3.6-.6q.3%200%20.1-.4-.1-.3.2-.4.5%200%20.2-.6l.1-.6q.4-.1%201-1.4t.3-1.2q-.3.3-.2-.5.3-.7.7-.5t.1-.4q-.2-.7.4-1.2.5-.6.4-1-.2-.4.3-.8t.4-1.3.2-.5q.6.4.3-.3t.1-.6q.4-.1.4-1t.4-1%20.2-.6.2-.6q.5%200%20.2-.8%200-.6.3-.5.3.3.1-.6%200-.7.2-.6.5.3.2-.5-.1-.9.2-.6.4.2.1-.7t.2-.6.4-.2c-.2-1.1.5-3.9.9-3.6q.4.3.2-.4-.2-.5%200-.6.4-.1.3-.8t.2-.8.2-.6.2-.8q.2-.1.2-1-.1-.8.2-.5.5.3.2-.8t.2-.8.2-.8.2-.7.2-.8.2-.8q.4.3.2-.2t.1-1%20.2-1.2q0-.7.2-1c.3%200%20.5-1%20.5-1.8q0-1.6.4-1.7.2%200%200-1%200-.9.3-1%20.4%200%20.3-1.3%200-1.2.2-1.6.2-.2%200-.8-.1-.5.2-.5.4-.1.4-1.3.1-3.7.5-4%20.3-.3%200-1.2%200-1%20.3-1.5.5-.5.3-2-.1-1.2.2-1.3.3%200%20.3-.4t-.5-.2%200-.2.2-1.8q0-1.3.3-1.3t.2-2.4q0-2.1.2-2.3c.1%200%20.3-6.2.3-13.7a170%20170%200%200%200-1.2-21.5q-.5-.6%200-.2.5.1.5-.2t-.4-.4q-.3%200-.1-1.6.3-1.5-.2-1.4-.3.3-.3-1.3.1-1.4-.2-1.7-.2-.3-.2-1.4.1-1-.2-1.4-.3-.2%200-1.3%200-1.2-.3-1.2-.4%200-.3-.5t-.3-1q-.5-.7.1-.3t.3-.6l-.4-1.4q0-.5-.3-.5t-.1-1q0-1-.3-.7-.4.3-.2-.7t0-1.3-.2-1-.2-1q-.3-.1-.2-1%20.1-.7-.2-.7t-.2-.9q.3-.8-.3-.5t-.2-.7q.3-1.2-.2-.8t-.2-.8q.3-1-.1-.8-.5.3-.2-.8t-.2-.8c-.4.3-.6-1-.5-2.4q0-.5-.2-.5t-.4-1.2q0-1.2-.5-1.5t-.5-1.5-.3-1.3-.1-.6-.3-.3-.2-.2c.3-.5-.1-2.4-.6-2.2q-.2%200%200-.6%200-.9-.2-.6-.5.2-.2-.6.1-.8-.2-.6t-.3-.5q.2-.8-.2-.8t-.3-.3q.1-.1-.2-.7a4%204%200%200%201-.6-1.8q-.1-1-.7-1.8-.5-.6-.4-1.1t-.2-.3q-.5.3-.2-.4%200-.5-.2-.6t-.2-.6q.1-.6-.1-.4-.3%200-.6-.6%200-.7.2-.6.9.6-.4-1-.7-.7-.6-1.3.2-.5-.4-.7-.6-.3-.6-.8c.2-1%200-1.9-.4-1.6q-.3.1-.2-.4.3-.5-.4-.8-.6-.2-.4-.8.1-.5-.1-.6c-.3%200-.8-1-1-2.1s-.7-2.2-1-2q-.4.3-.1-.4.2-.7-.3-.4t-.3%200c.3-.5-1.3-4.1-2.2-4.8q-.5-.5-.4-.8t-.5-.6-.4-.8-1-2q-1-1.2-1-1.6.2-1.2-.7-1.3-.6%200-.4-.6t-.4-.9-.9-2q0-.4-.6-.4t-.3-.4q.2-.5-.4-1l-.7-.7q-.3-1.6-.8-1.1-.5.2-.2-.4.1-.6-.2-.6-.5%200-.5-.6t-.3-.4q-.2%200-.3-.6%200-.8-.4-.6-.4%200-.4-.6t-.5-.7q-.4%200-.5-.6c0-.4-.6-1.4-1.3-2.1a7%207%200%200%201-1.5-2q0-.7-.6-1-.6-.5-.5-.7%200-.3-1.2-1.7l-1.3-1.7q0-.2-.7-.5t-.3-.3-.4-.7-.2-.3q.5.1-.7-1-1.3-1.1-.9-1%20.6.3.3-.1t-.9-.5-.3-.3c.3-.5-1-2-1.6-2q-.5%200-.4-.4.2-.2-.4-.5-.5-.3-.4-.7%200-.5-.8-1t-.7-.6q.2-.4-.6-.7-.7-.5-.6-.7c.3-.3-1.4-2-2-2l-.7-.5q-.3-.4.2-.1.3%200-1.9-2t-2.2-2.5c.2-.4-1.6-2-1.9-1.8%200%20.2-1.2-.9-2.4-2.2q-2-2.2-2-2%20.3.6-.1.3l-.5-.7q0-.6-1-1.4t-1-.6-.5-.5-1-.7-.4-.3-.6-1.1q-1-.8-.2.2.4.7-.7-.6t-1.6-1.2q-.4%200-.2-.3.1-.4-.7-.8l-1.4-1.1q-.5-.7-.2%200%20.1.4-1-.9-1.1-1.1-1-.7l-1.3-1.1q-1.6-1.6-2.1-1.4-.5.1-.2%200c.4-.5-2.4-2.6-3.3-2.6q-.7-.1-1.2-.8t-1.7-1.6q-1.3-1-.5-.2.9%201.2-.5%200-1-.7-.8-1%200-.3-.5-.3t-.6-.4q0-.4-.3-.2-.4.1-.6-.4-.3-.5-1-.6-.8%200-.6-.4t-.2-.2-1.6-1q-1-1-1.5-1-1.2%200-1-.5t-.2-.4l-.8-.2-.8-.1q-.3-.1-.2-.5.2-.3-.1-.4l-.8-.2-.8-.1q-.5%200-.2-.4%200-.3-.8-.8-1-.5-.8%200%20.3.3-.5%200-.7-.6-.6-.9.1-.5-1.1-.3-.3%200-.3-.3%200-.4-.6-.6-.6-.3-.4.2t-.9-.6q-1.1-1-1.7-.8-.4.2-.2-.1c.2-.4-2-1.6-2.6-1.4q-.2%200-.3-.3%200-.4-.3-.2-.4.1-.4-.2t-.3-.3q-.2.2-.8-.3t-1.2-.4-.2-.2-.4-.2q-.6%200-.7-.2t-.3-.2q-.4.3-.4-.1-.1-.4-1-.4t-1.2-.6-.6-.4q-.3.1-.4-.2%200-.4-.4-.3-.6%200-1.6-.6t-1.5-.5q-.5.4-.2-.2.4-.5-.5-.2t-1.1-.3c-.5-.7-4.3-2.2-5-2q-.7.3-.5-.1.2-.3-.3-.7-.6-.2-.3.3.1.4-.5-.2-.8-.7-1.5-.4-.9.3-.4-.3.3-.5-.6-.3t-.5-.2q.2-.3-.4-.1-.6%200-.7-.2t-.6-.1-.5-.2-.6-.2-.6-.2-.6-.2q-.5.1-.6-.2t-.6-.2-.6-.2q0-.5-.8-.2t-.6-.2q.4-.6-1.6-.5-.5%200-.5-.3t-1%200q-1.2.1-.7-.4.3-.5-.4-.3-.5.3-.6-.1-.1-.3-1-.1-1.2.3-.8-.3t-.5-.2-.8-.2q0-.3-.6-.2t-.8-.2-.8-.2-.6-.2-.8-.2q-.6%200-.7-.2t-1-.2q-1%20.3-1-.2%200-.3-1-.2-1%20.2-1-.1%200-.5-.7-.2-.8.1-.8-.2t-.7-.4c-2.9-.1-3.5-.2-3.3-.5q0-.3-.7%200-.8%200-1.1-.2c-.4-.6-2.9-1-2.5-.4q.3.6-.4%200t-1.4-.3-.8-.1-1-.2q-.8.1-1.2-.2c0-.2-.7-.3-1.2-.2q-1%20.2-1.6-.3-.5-.3-1.9-.2-1.2.3-1.3-.1%200-.4-.5-.4-.3%200%200%20.5.1.5-.3%200-.6-.4-1.7-.3-1%200-1.3-.2c0-.2-1.1-.3-2.3-.2q-2%200-2.3-.2c-.3-.4-28.8-.4-28.8%200M114%2019.1q-.7.1-.7.5t-.4.1q-.4-.1-.4.2%200%20.5-.4.2-.4-.1-.4.2t-.4.2q-.3-.1-.4.2%200%20.3-.4.2-.3-.1-.3.2t-.4.2-.4.2-.4.2-.4.2-.3.3c-.3-.4-2.4.8-2.4%201.3q0%20.4-.3.2t-1.2.6-.7.4q.3-.6-.7%200-1%20.4-.8.8t-.2.1q-.4-.2-.9.3l-1.1.6q-.6.1-1%20.8l-1%20.7c-1%200-1.9.6-1.7%201q.1.1-.4.4t-.4-.2q.3-.4-.4.3-.5.6-.6.4t-.6.4-.5.4-.8.6q-.8.7-1.2.5t-.6.4-.8.4-.5.4-.4.4-.7.3q-.1.6-.7.4t-.6.5q0%20.6-.2.4-.3%200-1%20.7t-1.2.8c-.9%200-3%201.5-3.3%202.3q-.4.8-.8.8-.5-.1-.5.3t-.4.1q-.4-.1-.3.1%200%20.3-.2.3l-.9.8q-.5.6-.3.2t-1%20.4q-1%201-1.2%201.4%200%20.4-.7.4t-1%20.8q-.6.8-.8.7c-.3-.4-1.8%201-1.8%201.7q0%20.4-.4.3-.3-.2-.5.4-.4.5-.7.5-.5%200-1%20.8t-.5.6-.8.5q-.7.9-1%20.8t-1.3%201.2q-.7%201.2-.8%201c0-.2-.8.5-1.6%201.4q-1.5%201.6-1.4%201.2.3-.6-.5.1l-.7%201q0%20.5-1.8%202.2l-2%202%201.9-2.1c1-1.1%201.8-2%201.5-2-.2%200-1.4%201.2-2.7%202.6q-2%202.3-1.7%202.2t-1%201.2c-.9.8-1.5%201.7-1.5%201.9q.1.2-.3%200-.3%200-.4.2%200%20.3-.5.4-.6%200-.6.4t.4.2.2.2q-.3.3-.6.2-.4-.1-1.2%201-.8%201-.5%201.2.3%200-.7.5-.8.5-.8%201%200%20.3-.5.7-.6.1-.4.5.1.3-.3.4-.7%200-1.1.7-.7.8%200%20.3t0%20.2q-.6.7-.5.9.2.2-.4.2c-.7%200-1.6%201.3-1.2%201.7q.2.3-.3.3c-.5%200-1.7%201.4-1.7%202q-.1.5-.8.7-.8.3-.2.4.7%200-.2.7-.7.7-.8%201-.1.5-.8.8c-.8.4-2%202.3-2.1%203.2%200%20.6-1.2%201.7-1.9%201.7q-.7-.1%200%20.4t-.2.4q-.7%200-.5.6.3.6-.1.4t-.4.2q.1.9-.9%201.5a3%203%200%200%200-.9%201.6q0%20.9-.6%201.3-.4.5-.1-.3.4-1-.2-.1-.4.7-.3%201%20.3.4-.4.6-.5.3-.4.5.3.2-.4.8-.6.5-.2.3.5-.2.2.4-.1.5-.5.4c-.3-.2-1%201-.8%201.6q0%20.4-1%201.1-.8.7-.8%201.2.2.5-.4.7-.5.3-.4.9.2.5%200%20.4-.4-.1-.8.8-.6%201%200%20.7.3-.2-.5.7l-.7%201q.3.1-.7%201.1-.8%201-.8%201.5.2.5-.4.8-.6.2-.3%201%20.2.7-.3.7t-.4.5-.3.5c-.4-.2-.8%201-.6%201.4q.2.4-.1.4-.5%200-.5.6t-.4.6%200%20.3q.8.5-.1.4t-.2.4q.6.4%200%20.4-.4.1-.4%201t-.4.8q-.5-.5-.6%201%200%20.5-.7%201.2-.6.8-.7%201.2%200%20.5.4-.1t.4-.1-.8.9-.5.8q0%20.3-.2.3-.3.1-.3%201t-.2%201q-.3%200-.1.4%200%20.4-.3.4t-.2.6-.4%201.1-.5%201.1q.2%201.5-.4%201.3-.3-.2-.1.4%200%20.5-.3.6-.5%200-.3.7.2.8-.2.6-.3-.2-.2.4.3.5-.1.6-.3%200-.2.4.3.4-.4%201.3t-.2.5-.1.5-.2.6-.2.5-.5%201.5q.1.5-.1.6t-.2.5q.2.6-.2.6t-.3.8-.2.5-.2.4%200%20.7q-.5%200-.3.8%200%20.7-.3.7-.5%200-.5%201.4T7%20147t-.1.5q.1.6-.2.9t-.2.8-.2.5-.1.6-.2.8-.2.6q.1.3-.2%201-.5.6-.3%201v.9q-.5.1-.6%201-.1.7.1.5.8-.4-.2%201.5c-.7%201.4-1.4%204.7-1.1%205.7q.2.8-.3%201.5l-.2.5q.3.1-.1.5-.4.6-.3%201.3c0%20.4-.1%201.4-.4%202q-.4%201.2-.1%201.1.3-.2.3.4%200%20.5-.3.7-.3.4-.2%201.8.1%201.6-.4%201.5c-.4%200-.5%200%200%201.8q.2%201-.2%201t-.4.5.5%200%200%20.4-.4%201.6q.1%201-.2%201.3c-.2.1-.2%201.2-.1%202.3q0%202-.2%202.1a300%20300%200%200%200%200%2029.6q-.7.7-.1.4t.5.3-.4.4q-.6-.3-.1.5.3.8.2%201.2-.1.6.3%201.1t.1.4-.4.3.4.3.1.5q-.1.7.3%201.3.5.8%200%20.3-.5-.1-.5.1%200%20.5.4.5t.1%201.3q-.1%201.3.2%202%20.5.5.3%201.4%200%20.9.3%201.6.5.7-.1%201t.2.8.2%201q-.5.9.3%201.3l.2.3q-.4%200-.4%201.2%200%201.3.6%201.3t.2%201q0%201%20.1.9c.3-.2.4.4.5%203.3q0%20.6.4.7t.2.8.2.8q.3%200%20.1%201t.2%201%20.5.3-.4.2q-.3%200-.1.6t.6.8q.5%200%200%20.4c-.6.6-.2%201.6.4%201.2q.4-.2%200%20.4-.7.6%200%20.8t.4.9q-.1.5.2.6.5%200%20.2.8t.2.6c.6-.4.5.6%200%201.2q-.6.5.1.5t.4.6q-.2.7.3.4.6-.5.3.7l.1%201q.3%200%20.3.5%200%202%20.5%201.7c.5-.4.5.3%200%20.9q-.7.4.1.4t.5.6q-.1.5.2.6t.2.6.3.7-.1.8q-.8.8.2.4.7-.3.4.3-.1.7.3.9t0%20.2q-.6%200-.2.7.3.8.1%201-.2.4.4.1.8-.3.5.7-.2%201%20.4%201.2.9.1.1.9-.7.8.2.4.6-.3.7.1%200%20.3-.4.4-.2.1.4%201.3l1%202.4c.1%201.2.9%202.5%201.4%202.5q.3%200%20.1.4-.2.6.5%201.5t.6%201.6q0%20.4.3.4t.2.4.4.6.6%201.2.4%201%20.1.4q0%20.3.2.3t.2.7q-.3.6.2.4.3-.3.2.2-.2.6.4%201.2.5.6.3.8-.1.3.3.3.3%200%20.2.3t.2.5.5%201.2q0%201%20.4%201%20.3.1%200%20.5t.4.2.4.2q0%20.5.9%201.6t.6%201q-.5-.2-.5%200%20.1.5.5.7.5.3.6%201%200%20.9.7%201.4.5.4.2%200l-.4-.8c0-.5%201%201%201%201.5l.1%201q0%20.3.4.2.4-.2.6.4t-.2.3%200%20.6.8.6.5.3v1.1q.1.5.6.5.6-.1.4.4-.2.7%201.1%202t1.1%201.9q-.3.4.2.1t.4.6.6%201q.5.2.4.6c-.3.4.5%201.6%201%201.3l1%201q.8%201%200%20.5-.6-.6-.8-.1-.2.3%200%20.4c.8%200%203.4%202.6%203.2%203.2q-.1.5.3.8.5.2.6.6c0%20.6%201.4%202%201.8%201.7q.1-.2%200%20.2t.7%201.4q.8.9.7%201.2t.4.2q.5%200%20.9.4.2.4-.5.2-.5-.2.8.8c1.4%201%202%201.7%201%201.2q-.4-.2.2.3t.3.7.8%201.1a3%203%200%200%200%201.6%201q.4-.3.2%200t.8%201.3q.8.8.3.4-1-.8-.3.3.6.8%201.1.6.6-.1.4.2-.2.5.4%201t.8.9q0%20.3.4.4.3%200%20.7.3.3.4-.1.1-1-.5%200%20.7.4.4.9.4.4-.1.7.3.4.4-.2.1-.3-.1.2.8t1%20.8s.9.6%201.7%201.5q1.5%201.5.4.6-1-1%20.6%201%201.7%201.9%202%201.6.5-.5.4.7%200%20.2.5.2t.3.4.3.3c.5-.3%201.7%201.2%201.4%201.8q-.3.5%200%20.2.4-.2%201.1.4t.5.1q-.4-.6.1-.2t.3.8c-.2.5.5%201.3%201%201.3q.3%200%200-.5%200-.3.2-.1.3.3.3.8.1.4.5.4.6.1%201.1%201t.6.4.3.4%201%201%201%20.7q0%20.8.4.2t.4%200c0%20.9%201.8%202.5%202%201.9q.3-.4.3.2t.4.5.6.2q.3.5-.1.2t-.5%200%201.2%201%201%20.2l.3.2q.5.7.9.4.2-.2%200%20.4-.1.6.2.7%201-.2%201.2.6.3.5.8.3.3-.1.2.1-.1.4.7%201.3.9.7%201%20.4t1%20.7q.8.9.9.5.1-.3%201.6%201%201.4%201.6%202.2%201.6.7%200%20.6.4t.7.5.6.3q-.1.2%201%20.7t1.2.9.5.2q.5-.2.5.5t.7.7%201.2.6q.4.4.9.3.3-.2.4.3%200%20.5.3.6%201.7.1%202.1%201%20.4.5.9.3.5-.1.7.7.3.9%201%20.5.8-.3%201.5.8.6.9%201%201t1.2.6.7.3-.5-.7q-.5-.1%200-.2.4%200%201%201t1.4.8.7.3q0%20.3.8.4.8%200%20.6.6t.2.2q.6-.1%201%20.2.7.4%201%20.2.6-.3.2.2t.3.3.4.4.8.4%201.4.5%201.2.5.8.2.6.2.8.3-.2.2-.4.1%201%20.3h.8c-.3.3%201%201.3%201.7%201.3q.8.1%200-.4-.6-.4%200-.4.3%200%20.7.6.2.6.6.5%201.6-.1%201.3.4c-.3.5%201%201.2%202%201.2q.9.1-.2-.4-1.8-.9.3-.3%201%20.4%201.2.8%200%20.3.6%200t.4.3q-.2.3.3.2.5-.2%201.1.4.8.6%201.8.7a4%204%200%200%201%201.8.6q.5.4.7.2.3-.1.3.3t.8.2.5.3.6.2q.8-.2.6%200c-.1.3%201%201%201.9%201l.5.3q.4.2.9-.2.7-.6.3%200t.3.4h.6q.1.3%201.3.4%201%20.1%201.5.5.3.5%201.5.5t1.2.4.5.2c1.4-.1%202.7.1%202.4.5q-.3.5.8.2%201-.2.8.1-.3.5.8.2t.8.2.8.2.7.2.5.3%201%20.4q.3.5.9.5t.3-.5q-.2-.4.4%200%20.6.6%201.2.4t.8.4.7.2c.5-.6%201.6-.7%201.3-.1q-.2.3.8.2%201-.3.7.2t.3.3q.5-.2%201%200c.5.6%203%201%202.6.5q-.1-.4.2-.4t.4.4q0%20.4%201.1.2t1.4.1.6.3.6.2.6%200q.3-.8%201.1.1t1.3.3c.8-.6%201.9-.4%201.6.3q-.3.6.5.3%202.4-.9%202.5-.3%200%20.4.4.4t.2-.5q-.4-.5.2%200t1.6.3q.8%200%201.4.3c.2.1%201.4.2%202.6.1a272%20272%200%200%200%2030.5.1q.6.5.8.2t1-.2q2%20.6-1.3-2.4-1.8-1.7-1-1.2l1%20.8-1-1q-1-1.1-1.4-1.2a1%201%200%200%201-.8-.4q-.3-.5.2-.2t-.2-.4-1-1.4-1-.7q-.5%200-.4-.3.2-.4-.8-1.3-1-.7-.5-.5.5.3.2-.2-.2-.3-.9-.4-.5%200-.4-.3.2-.3-.6-1-.7-.6-.3-.5.6.3.3-.1t-1-.5q-.4%200-.3-.2%200-.4-.6-1t-.3-.5-.8-1-.8-1q.6.3.3-.1-.4-.5-.9-.5t-.4-.3-.3-.6-.5-.7-.3-.5q-.4%200-1.2-1l-.7-1%201%20.8q.5.5-.9-1.4l-2.2-2.5q-.4-.5-.3-.7c.1%200-.5-1-1.5-1.9q-1.5-1.6-1.5-2.2%200-.4-.7-1l-1.7-1.6q-1-1.4%200-.6.8.8-.3-.7-.8-1.2-1.2-1.3-.3%200-.1-.4.1-.3-.4-.6t-.4-.6-.4-.5q-.5-.3-.4-.6.2-.4-.4-.6-.5-.2-.4-.6.2-.4-.3-.6t-.5-.6-.6-.7q-.7-.5-.6-1%20.2-.6-.1-.4-.6.1-.4-.7c.2-.8-.9-1.8-1.2-1.6q-.3%200-.5-.4-.3-.6.2-.4l-.6-.7q-1.7-1.7-.6-1.3.4.2-.2-.3-.8-.7-.8-1.1%200-.6-1-1.5-.7-1-.6-1.4%200-.6-1-2-1.2-1.3-.9-1.1.6.3.3-.4-.2-.5-.6-.6t-.2-.3q.3-.5-.5-1.2-.6-.6-.5-1%20.2-.1-.3-.2-.3%200-.2-.4.1-.3-.1-.4-.4-.1-.7-1.1-.2-1.1-.6-1.2t-.2-.4-.2-.4-.2-.4%200-.4-.4-.8q-.1-.9-.5-1.1t-.5-.6q.2-1-.3-.8-.7.1-.4-1.7%200-.4-.4-.3-.3.2-.1-.3%200-.6-.2-.6-.5%200-.4-.3c.1-.9-.1-1.7-.4-1.5-.5.3-1.3-2-1-2.6q.2-.4-.2-.1-.6.3-.3-.3.1-.6-.2-1l-.1-.5q.1-.3-.2-.4-.4%200-.1-.6.1-.7-.3-.4-.6.4-.2-.5.1-.8-.2-.8t-.3-.6q.2-.5%200-.6c-.5%200-1.4-2.9-1.3-4q0-.7-.4-.4t-.3-.8v-1q-.4%200-.2-.6.1-.5-.2-.6-.5%200-.3-.6t-.2-1.2-.2-1.2q.3-.5-.2-.3t-.2-.7q.2-1-.6-1.5t-.5%200q.5.9-.7-.2c-.6-.5-1.3-.7-3.3-.9q-.4%200-.3-.4.4-.6-1.4-.5a1%201%200%200%201-1-.5q-.3-.6-.7-.5-.5.2-1-.3a1%201%200%200%200-1-.3q-.7.2-.4-.2.4-.6-.8-.4l-.5-.4c-.3-.6-3.4-2-3.7-1.7q-.2%200-.2-.2t-.6-.7q-.6-.2-.4.3.3.4-.7-.5t-1-.6-.5-.3q-.3-.6-.7-.5t-1.4-.8q-.9-.8-1.3-.8-.4.2-.6-.3t-.6-.4-.6-.4-.6-.4-.4-.1q-.1-.4-1-1-1-.8-.8-.2.2.5-.3-.3-.7-.7-1-.6t-.4-.3-.4-.3q-.4-.1-1.4-1.1t-.7-.6q.1.5-.7-.4t-.6-.4q.2.4-1.3-1.1l-1.3-1.2q.3.6-.3%200t-.9-.5-.2-.4c0-.7-2.2-2.5-2.8-2.3q-.3%200-.2-.2a39%2039%200%200%200-7.9-7.8q0-.5-.7-1.1t-.1-.4-.2-.5-1.3-.9q-.6%200-.4-.2t-.4-.9-.1-.3q.4.2-1-1.1t-1-1.2-1.1-1.9a9%209%200%200%200-2-2.2q-.3%200-.2-.4.2-.3-.5-.7-.8-.5-.8-1.3%200-.6-.4-.5-.3.1-.4-.6%200-.7-.6-1l-.6-.7c0-.7-.5-1.4-.8-1.2q-.2%200-.5-.4-.2-.7.2-.4t-.3-.4q-.7-.5-.7-1.1t-1-1.4q-.7-1-.6-1.5t-.2-.5-.3-.3c.2-.5-1-2.8-1.3-2.6q-.3.2%200-.5.1-.6-.3-.3t-.2-.4q.3-.7-.2-.4t-.2-.4q.1-.5-.2-.6t-.4-.3q.3-1.2-.4-1-.4.1-.4-.3c.2-1.2%200-2-.4-1.6q-.5.1-.2-.2.1-.5-.3-1-.6-.7-.4-1.2t-.2-.6q-.5%200-.3-.4.3-.3-.1-.4-.3%200-.2-.6.3-.6-.1-.4t-.6-.6q-.2-.6.1-.5.3.2.1-.4-.2-.5-.6-.6t-.2-.6-.2-.4q-.4.3-.1-.6t-.1-.6-.2-.6q.2-.6-.3-.7t-.2-.6q0-.5-.2-.6t-.2-.8-.2-.8%200-.6q0-.7-.3-.4-.5.3-.3-.6c0-.5-.3-2-.8-3.4s-.8-3-.7-3.5q.2-.8-.2-.8t-.2-1-.2-1-.2-1.2q.3-1-.2-1.1-.4%200-.3-.7%200-.7-.3-1.3-.3-.5.2-.2t0-.5-.2-1.6q0-.7-.2-.8t-.2-2v-2a176%20176%200%200%201%20.4-24.1q0-1.5.3-1.3.4.2.1-.9-.2-1%20.3-1.7t-.1-.2q-.7.4-.1-.3.5-.5.2-.9-.1-.2.2-.6c.3-.1.6-1.2.6-2.4s.3-2.5.6-3q.4-.7.4-1.3-.2-.5.4-.4t0-.7q-.3-.7%200-.8t.1-1q-.1-1.2.3-.7.6.2.3-.4-.1-.5.2-.6t.1-.8q-.1-.8.2-.8.5%200%20.3-.8-.1-.8.2-.5t.2-.6q-.1-.7.2-.6.4.3.2-.6t.2-.5q.4.2.2-.4t0-.7.2-.6q-.3-.7.3-.4.5.4.2-.1t0-.8q.5-.3.6-1t.3-1c.5-.4%201.6-3.1%201.2-3q-.4.2-.1-.3.1-.5.5-.6.3%200%20.1-.6t.5-.8q.5-.2.4-.8t.2-.3q.6.3.2-.4-.1-.6.1-.4c.4.2%201-1%20.6-1.4q0-.4.2-.4.5%200%20.3-.3-.2-.4.4-.6.5-.3.4-.9-.2-.5.1-.3t.5-.3c0-1.2.1-1.4.8-2q.7-.7.4-1.1-.1-.4.2-.2.5.3.5-.1l.2-.8.1-.8q0-.3.4-.2t.4-.2q0-1%20.6-1.3t.6-1%20.6-1.4q.6-.6.4-.2-.3.5.5-.4.7-.8.6-1.4t.8-1.1q1-.7%201-1.2.1-.5.8-1t.7-.6.7-1.2.8-1.4q0-.5.4-.5c.6%200%202.1-2%201.8-2.3q-.2-.3.2%200%20.4%200%201-.8.8-.9%201.2-.7t-.2-.5-.1-.5a41%2041%200%200%200%208.6-8.5q.6.1%202.2-1.4l2-1.8q.4%200%20.4-.6%200-.4.5-.5t.8-.5l.7-.6q.3%200%20.3-.4-.1-.3.4%200%20.7%200%201-.6.5-.7%201-.8.5%200%201.2-1t1.1-.8q.6%200%201.4-.6.9-.7.4-.5t.2-.4%201.4-.6%201-.6q.4-.6.7-.6%201.2.2.8-.4-.1-.3.2-.3.9%200%201.5-.8t.2%200%20.4%200q.6-.5.7-.2t.4-.5%201-.8c.4%200%20.6-.4.7-2.7.1-1.6%200-2.9-.2-2.9q-.2-.1-.2-2%200-1.7-.2-1.9t-.2-1.3q.1-1.3-.2-1.4t-.1-1q.1-1-.1-.9-.4.2-.4-1.2l-.2-2q0-.8-.3-.8-.3-.1-.4-.8c0-1.8-.2-2.5-.5-3q-.3-.4-.1-.8%200-.4-.2-.4t-.2-.6q.2-.5-.1-.6t-.4-1.2-.3-1.5q-.7-.5-.7-2%200-.8-.3-.8t-.1-.6q.1-.5-.2-.5t-.2-.6-.2-.6-.2-.6-.2-.6q-.5%200-.2-.4.1-.4-.4-1t-.5-1.2-.1-.5-.1-.7-.3-.3q-.6.3-.2-.6t-.2-.6-.4-1.1c0-.6-.9-2.7-1.5-3.2q-.5-.5-.6-1.5l-.2-1.5q0-.3-.4%200-.3%200-.5-.6c0-1.9-.7-3.3-1.2-3q-.4.2-.2-.3.1-.6-.3-1t-.3-.9-.3-.3-.2-.4-.2-.4-.2-.4c.3-.4-.5-2.4-1-2.4q-.3%200-.1-.4.1-.3-.2-.3t-.3-.3c.2-.6-1-2.9-1.3-2.6q-.3%200-.1-.4.2-.6-.4-.9a1%201%200%200%201-.7-1%201%201%200%200%200-.6-.9q-.5-.1-.3-.6c.3-.5-.9-2.7-1.5-2.7q-.3%200-.2-.3c.4-.3-.7-2.3-1.4-2.6a1%201%200%200%201-.4-.8q.2-.6-.4-.8-.5-.4-.8-1.4-.2-1-.6-1-.4.3-.4-.4c0-.9-1-2.2-1.3-1.8q-.2.1-.5-1t-.8-1.5q-.5-.2-.3-.6t-.4-.6q-.5-.1-.4-.5%200-.3-.4-1c-.6-.9-1-1-2.6-.6m6.7%2099-1.5%201.5-1.4%201.3%201.3-1.5q1.8-1.8%201.6-1.3M281%20280.8q-1.7%201.6-2%201.7%200-.2%201.6-1.7l1.9-1.8z'/%3e%3cpath%20d='M308%2031.8q.8.6%201.1.6.2%200-.3-.6l-1.2-.5q-.2%200%20.4.5m30.9%2024.5%201.7%201.5-1.3-1.5q-1.5-1.6-1.8-1.6%200%20.2%201.4%201.5M58.4%2058.8l-2%202%202.1-1.9c1.9-1.8%202.2-2.2%202-2.2zM343.6%2061q1.4%201.5%201.7%201.6l-1.4-1.6-1.7-1.5q0%20.2%201.4%201.5m21%2026q.6%201%201%20.8%200-.3-.7-1l-1-1zm2.1%202.8q.1.6.8%201.6t.8.8l-.8-1.6q-.7-1-.8-.8M135%20106.1q-1.2.9-.4.6c.7-.4%202-1.6%201.7-1.6q-.3%200-1.3%201m-16%2013.3-1.3%201.5%201.4-1.3%201.5-1.5q.2-.5-1.6%201.3m266.1%205.6q.5%201.1.6%201c.2-.1-.5-2.2-.8-2.2zm.8%201.8q0%20.4.5%201.3t.6.6l-.6-1.4q-.5-.8-.5-.5m-280.2%208.5q-1%201.3-.2.7c.7-.6%201.6-2%201.3-2zm293.9%2056.1q0%201.2.2.7v-1.4q-.2-.5-.2.7m-85.9%208.4q0%202.3.2%201.3v-2.8q-.2-.9-.2%201.5m85.9%208.8q0%201.1.2.7v-1.4q-.2-.5-.2.7m-8.4%2049.3q-.3%201-.1%201.4l.4-1.1q.2-1.1%200-1.4zm-110.8%2022.9-1.6%201.7%202-1.7q1.6-1.7%201.5-1.8zm-249.1%2027%20.5%201q.6.7.6.4%200-.4-.6-1.1-.5-.6-.5-.4m131.7%201.2q0%20.7.3%201.6c.4%201%20.4%200%200-1.4q-.4-1.2-.3-.2m5%2016.8.8%202q.6%201.2.5.5c-.3-1-1.3-3.1-1.3-2.5M55.5%20338.4l1.2%201.3%201.3%201.1-1.1-1.2q-1.5-1.7-1.4-1.2m285.7%203.1-1.6%201.7%201.7-1.6c1.6-1.4%201.8-1.8%201.6-1.8zm-280.5%202.3%201.8%201.5-1.4-1.6-1.7-1.5zm123.9%2014q.6%201.1.8%201.2l-.4-1.2-.8-1.2q-.2.2.4%201.2m79.9%207q.6%201.5%201%201.6l-.7-1.6q-.6-1.4-1-1.5zm-177.9%200q.8%201%201.1.8%200-.3-.9-1l-1-.6zm104.4%202.6%201%201.3c.4%200-.6-1.5-1.2-2q-.7-.5.2.7m-100.6%200%201.6.9q.3-.1-.8-.8l-1.6-.8q-.2.1.8.8m33.4%2017.4c0%20.3%202%201%202.3.8l-1-.6zm3.5%201.5%201.4.6q.3%200-.6-.6t-1.3-.5q-.3%200%20.5.5m63.4%2013.4h1.4q.5-.2-.7-.2t-.7.2m17.2%200h1.4q.5-.2-.7-.2t-.7.2'/%3e%3c/g%3e%3c/svg%3e", Wt = ["aria-label"], Nt = /* @__PURE__ */ I({
191
191
  __name: "BlueSpinner",
192
192
  props: {
193
193
  size: {},
@@ -195,24 +195,24 @@ const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
195
195
  width: {},
196
196
  label: {}
197
197
  },
198
- setup(c) {
199
- const n = c, e = k(() => {
200
- const t = n.size ?? 20;
198
+ setup(p) {
199
+ const o = p, e = k(() => {
200
+ const t = o.size ?? 20;
201
201
  return typeof t == "number" ? `${t}px` : t;
202
202
  });
203
- return (t, o) => (a(), d("span", {
203
+ return (t, l) => (i(), c("span", {
204
204
  class: "bluevue-spinner",
205
205
  role: "status",
206
206
  "aria-label": t.label,
207
- style: D({
207
+ style: E({
208
208
  width: e.value,
209
209
  height: e.value,
210
210
  borderWidth: `${t.width ?? 2}px`,
211
211
  borderTopColor: t.color
212
212
  })
213
- }, null, 12, Pt));
213
+ }, null, 12, Wt));
214
214
  }
215
- }), Et = ["type", "disabled", "title", "aria-label", "aria-busy"], ce = /* @__PURE__ */ L({
215
+ }), Ht = ["type", "disabled", "title", "aria-label", "aria-busy"], re = /* @__PURE__ */ I({
216
216
  __name: "BlueButton",
217
217
  props: {
218
218
  variant: {},
@@ -223,166 +223,186 @@ const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
223
223
  loading: { type: Boolean },
224
224
  disabled: { type: Boolean },
225
225
  block: { type: Boolean },
226
+ elevation: {},
226
227
  tooltip: {},
227
228
  theme: {},
228
229
  type: {}
229
230
  },
230
231
  emits: ["click"],
231
- setup(c) {
232
- const n = c, e = { compact: 24, regular: 30, comfortable: 36 }, t = { compact: "px-2", regular: "px-3", comfortable: "px-4" }, o = k(() => n.variant ?? "tonal"), l = k(() => n.density ?? "regular"), s = k(() => n.theme !== "light"), u = k(() => e[l.value]), r = k(() => l.value === "compact" ? 14 : 16), v = k(() => {
233
- if (n.disabled)
234
- return o.value === "text" || o.value === "icon" ? "opacity-30 cursor-not-allowed" : "opacity-30 cursor-not-allowed bg-[#9e9e9e80] text-[#afafaf]";
235
- switch (o.value) {
232
+ setup(p) {
233
+ const o = p, e = { compact: 24, regular: 30, comfortable: 36 }, t = { compact: "px-2", regular: "px-3", comfortable: "px-4" }, l = k(() => o.variant ?? "tonal"), n = k(() => o.density ?? "regular"), a = k(() => o.theme !== "light"), f = k(() => e[n.value]), u = k(() => n.value === "compact" ? 14 : 16), s = k(() => {
234
+ if (o.disabled)
235
+ return l.value === "text" || l.value === "icon" ? "opacity-30 cursor-not-allowed" : "opacity-30 cursor-not-allowed bg-[#9e9e9e80] text-[#afafaf]";
236
+ switch (l.value) {
236
237
  case "filled":
237
- return "bluevue-elevation-1 cursor-pointer text-white hover:brightness-125";
238
+ return "cursor-pointer text-white hover:brightness-125";
238
239
  case "text":
239
- return s.value ? "cursor-pointer text-[#ffffffcc] hover:bg-[#ffffff11] hover:text-white" : "cursor-pointer text-[#000000cc] hover:bg-[#00000011] hover:text-black";
240
+ return a.value ? "cursor-pointer text-[#ffffffcc] hover:bg-[#ffffff11] hover:text-white" : "cursor-pointer text-[#000000cc] hover:bg-[#00000011] hover:text-black";
240
241
  case "icon":
241
- return s.value ? "cursor-pointer text-[#ffffffaa] hover:text-white" : "cursor-pointer text-[#00000099] hover:text-black";
242
+ return a.value ? "cursor-pointer text-[#ffffffaa] hover:text-white" : "cursor-pointer text-[#00000099] hover:text-black";
242
243
  default:
243
- return s.value ? "cursor-pointer bg-[#ffffff11] text-white hover:bg-[#ffffff22]" : "cursor-pointer bg-[#00000011] text-black hover:bg-[#00000022]";
244
+ return a.value ? "cursor-pointer bg-[#ffffff11] text-white hover:bg-[#ffffff22]" : "cursor-pointer bg-[#00000011] text-black hover:bg-[#00000022]";
244
245
  }
245
- }), f = k(() => o.value === "filled" && !n.disabled ? n.color || "var(--bluevue-primary)" : void 0), x = k(
246
- () => n.color && (o.value === "text" || o.value === "icon") ? n.color : void 0
246
+ }), d = k(() => l.value === "filled" && !o.disabled ? o.color || "var(--bluevue-primary)" : void 0), q = {
247
+ 1: "bluevue-elevation-1",
248
+ 2: "bluevue-elevation-2",
249
+ 3: "bluevue-elevation-3",
250
+ 4: "bluevue-elevation-4",
251
+ 5: "bluevue-elevation-5"
252
+ }, x = k(() => {
253
+ if (o.disabled) return "";
254
+ const b = l.value === "filled" || l.value === "tonal", T = o.elevation ?? (b ? 1 : 0);
255
+ return T ? q[T] : "";
256
+ }), g = k(
257
+ () => o.color && (l.value === "text" || l.value === "icon") ? o.color : void 0
247
258
  );
248
- return (p, _) => (a(), d("button", {
249
- type: p.type || "button",
250
- disabled: p.disabled,
251
- title: p.tooltip,
252
- "aria-label": o.value === "icon" ? p.tooltip : void 0,
253
- "aria-busy": p.loading || void 0,
254
- class: y(["inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap transition-colors duration-200", [
255
- v.value,
256
- o.value === "icon" ? "rounded-[6px]" : "rounded-[4px]",
257
- o.value === "icon" ? "" : t[l.value],
258
- p.block ? "w-full" : "",
259
+ return (b, T) => (i(), c("button", {
260
+ type: b.type || "button",
261
+ disabled: b.disabled,
262
+ title: b.tooltip,
263
+ "aria-label": l.value === "icon" ? b.tooltip : void 0,
264
+ "aria-busy": b.loading || void 0,
265
+ class: v(["inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap transition-colors duration-200", [
266
+ s.value,
267
+ l.value === "icon" ? "rounded-[6px]" : "rounded-[4px]",
268
+ l.value === "icon" ? "" : t[n.value],
269
+ b.block ? "w-full" : "",
270
+ x.value,
259
271
  // A button waiting on its own result stays where it is and reads as busy rather than
260
272
  // inviting a second press.
261
- p.loading ? "pointer-events-none" : ""
273
+ b.loading ? "pointer-events-none" : ""
262
274
  ]]),
263
- style: D({
264
- height: `${u.value}px`,
265
- width: o.value === "icon" ? `${u.value}px` : void 0,
266
- backgroundColor: f.value
275
+ style: E({
276
+ height: `${f.value}px`,
277
+ width: l.value === "icon" ? `${f.value}px` : void 0,
278
+ backgroundColor: d.value
267
279
  }),
268
- onClick: _[0] || (_[0] = ($) => p.$emit("click", $))
280
+ onClick: T[0] || (T[0] = (S) => b.$emit("click", S))
269
281
  }, [
270
- p.loading ? (a(), U(It, {
282
+ b.loading ? (i(), N(Nt, {
271
283
  key: 0,
272
- size: r.value,
273
- color: o.value === "filled" ? "#ffffff" : void 0
274
- }, null, 8, ["size", "color"])) : p.icon ? (a(), U(H, {
284
+ size: u.value,
285
+ color: l.value === "filled" ? "#ffffff" : void 0
286
+ }, null, 8, ["size", "color"])) : b.icon ? (i(), N(G, {
275
287
  key: 1,
276
- name: p.icon,
277
- size: r.value,
278
- color: x.value
279
- }, null, 8, ["name", "size", "color"])) : C("", !0),
280
- o.value !== "icon" ? (a(), d("span", {
288
+ name: b.icon,
289
+ size: u.value,
290
+ color: g.value
291
+ }, null, 8, ["name", "size", "color"])) : F("", !0),
292
+ l.value !== "icon" ? (i(), c("span", {
281
293
  key: 2,
282
- class: y(["min-w-0 truncate font-medium uppercase tracking-wide", l.value === "compact" ? "text-[12px]" : "text-[13px]"])
294
+ class: v(["min-w-0 truncate font-medium uppercase tracking-wide", n.value === "compact" ? "text-[12px]" : "text-[13px]"])
283
295
  }, [
284
- j(p.$slots, "default")
285
- ], 2)) : C("", !0),
286
- p.appendIcon && o.value !== "icon" ? (a(), U(H, {
296
+ O(b.$slots, "default")
297
+ ], 2)) : F("", !0),
298
+ b.appendIcon && l.value !== "icon" ? (i(), N(G, {
287
299
  key: 3,
288
- name: p.appendIcon,
289
- size: r.value,
290
- color: x.value
291
- }, null, 8, ["name", "size", "color"])) : C("", !0)
292
- ], 14, Et));
300
+ name: b.appendIcon,
301
+ size: u.value,
302
+ color: g.value
303
+ }, null, 8, ["name", "size", "color"])) : F("", !0)
304
+ ], 14, Ht));
293
305
  }
294
- }), At = {
295
- key: 0,
296
- class: "flex items-start gap-3 px-5 pt-4 pb-3"
297
- }, jt = { class: "min-w-0 flex-1" }, Ot = { class: "truncate text-base leading-tight" }, Nt = {
306
+ }), Ut = { class: "min-w-0 flex-1" }, Kt = { class: "truncate text-base leading-tight" }, Gt = {
298
307
  key: 0,
299
308
  class: "mt-1 text-xs leading-relaxed text-[#ffffff88]"
300
- }, Wt = {
301
- key: 2,
302
- class: "flex items-center justify-between gap-3 border-t border-[#ffffff0d] px-5 py-3"
303
- }, $e = /* @__PURE__ */ L({
309
+ }, Be = /* @__PURE__ */ I({
304
310
  __name: "BlueDialog",
305
311
  props: {
306
312
  modelValue: { type: Boolean },
307
- title: {},
308
- icon: {},
309
- iconColor: {},
310
- subtitle: {},
313
+ title: { default: void 0 },
314
+ icon: { default: void 0 },
315
+ iconColor: { default: void 0 },
316
+ subtitle: { default: void 0 },
311
317
  persistent: { type: Boolean },
312
- width: {},
313
- bodyClass: {}
318
+ width: { default: void 0 },
319
+ headerClass: { default: void 0 },
320
+ bodyClass: { default: void 0 },
321
+ footerClass: { default: void 0 },
322
+ headerDivider: { type: Boolean, default: void 0 }
314
323
  },
315
324
  emits: ["update:modelValue"],
316
- setup(c, { expose: n, emit: e }) {
317
- const t = c, o = e, l = Ke(), s = q(null), u = k(() => !!(t.title || l.header)), r = (p) => {
318
- const _ = s.value;
319
- _ && (p && !_.open && _.showModal(), !p && _.open && _.close());
325
+ setup(p, { expose: o, emit: e }) {
326
+ const t = p, l = e, n = Ge(), a = $(null), f = k(() => !!(t.title || n.header)), u = k(() => f.value && (t.headerDivider ?? !0)), s = (g) => {
327
+ const b = a.value;
328
+ b && (g && !b.open && (b.showModal(), b.focus()), !g && b.open && b.close());
320
329
  };
321
- pe(() => r(t.modelValue)), X(() => t.modelValue, r);
322
- const v = () => {
323
- var p;
324
- return (p = s.value) == null ? void 0 : p.close();
325
- }, f = (p) => {
326
- t.persistent && p.preventDefault();
327
- }, x = (p) => {
328
- !t.persistent && p.target === s.value && v();
330
+ fe(() => s(t.modelValue)), Q(() => t.modelValue, s);
331
+ const d = () => {
332
+ var g;
333
+ return (g = a.value) == null ? void 0 : g.close();
334
+ }, q = (g) => {
335
+ t.persistent && g.preventDefault();
336
+ }, x = (g) => {
337
+ !t.persistent && g.target === a.value && d();
329
338
  };
330
- return n({ close: v }), (p, _) => (a(), d("dialog", {
339
+ return o({ close: d }), (g, b) => (i(), c("dialog", {
331
340
  ref_key: "dialogRef",
332
- ref: s,
341
+ ref: a,
342
+ tabindex: "-1",
333
343
  class: "bluevue-dialog",
334
- onClose: _[0] || (_[0] = ($) => o("update:modelValue", !1)),
335
- onCancel: f,
344
+ onClose: b[0] || (b[0] = (T) => l("update:modelValue", !1)),
345
+ onCancel: q,
336
346
  onClick: x
337
347
  }, [
338
- i("div", {
339
- class: "bluevue-panel relative max-w-full rounded-lg text-white",
340
- style: D({ width: p.width || "624px" })
348
+ r("div", {
349
+ class: "bluevue-panel relative flex min-h-0 max-w-full flex-col rounded-lg text-white",
350
+ style: E({ width: g.width || "624px" })
341
351
  }, [
342
- u.value ? (a(), d("header", At, [
343
- j(p.$slots, "header", {}, () => [
344
- p.icon ? (a(), U(H, {
352
+ f.value ? (i(), c("header", {
353
+ key: 0,
354
+ class: v(["flex shrink-0 items-start gap-3", g.headerClass || "px-5 pt-4 pb-3"])
355
+ }, [
356
+ O(g.$slots, "header", {}, () => [
357
+ g.icon ? (i(), N(G, {
345
358
  key: 0,
346
- name: p.icon,
359
+ name: g.icon,
347
360
  size: 22,
348
- color: p.iconColor || "#42A5F5",
361
+ color: g.iconColor || "#42A5F5",
349
362
  class: "mt-[2px]"
350
- }, null, 8, ["name", "color"])) : C("", !0),
351
- i("div", jt, [
352
- i("div", Ot, B(p.title), 1),
353
- p.subtitle ? (a(), d("div", Nt, B(p.subtitle), 1)) : C("", !0)
363
+ }, null, 8, ["name", "color"])) : F("", !0),
364
+ r("div", Ut, [
365
+ r("div", Kt, C(g.title), 1),
366
+ g.subtitle ? (i(), c("div", Gt, C(g.subtitle), 1)) : F("", !0)
354
367
  ])
355
368
  ]),
356
- p.persistent ? C("", !0) : (a(), U(ce, {
369
+ g.persistent ? F("", !0) : (i(), N(re, {
357
370
  key: 0,
358
371
  variant: "icon",
359
372
  icon: "mdi-close",
360
373
  tooltip: "Close",
361
- onClick: v
374
+ onClick: d
362
375
  }))
363
- ])) : p.persistent ? C("", !0) : (a(), U(ce, {
376
+ ], 2)) : g.persistent ? F("", !0) : (i(), N(re, {
364
377
  key: 1,
365
378
  variant: "icon",
366
379
  icon: "mdi-close",
367
380
  tooltip: "Close",
368
381
  class: "absolute right-3 top-3 z-10",
369
- onClick: v
382
+ onClick: d
370
383
  })),
371
- i("div", {
372
- class: y([p.bodyClass || "px-5 py-4", u.value ? "border-t border-[#ffffff0d]" : ""])
384
+ r("div", {
385
+ class: v([
386
+ "min-h-0 flex-1 overflow-y-auto",
387
+ g.bodyClass || "px-5 py-4",
388
+ u.value ? "border-t border-[var(--bluevue-hairline)]" : ""
389
+ ])
373
390
  }, [
374
- j(p.$slots, "default")
391
+ O(g.$slots, "default")
375
392
  ], 2),
376
- M(l).footer ? (a(), d("footer", Wt, [
377
- j(p.$slots, "footer")
378
- ])) : C("", !0)
393
+ V(n).footer ? (i(), c("footer", {
394
+ key: 2,
395
+ class: v(["flex shrink-0 items-center justify-between gap-3 border-t border-[var(--bluevue-hairline)]", g.footerClass || "px-5 py-3"])
396
+ }, [
397
+ O(g.$slots, "footer")
398
+ ], 2)) : F("", !0)
379
399
  ], 4)
380
400
  ], 544));
381
401
  }
382
- }), Ut = ["src"], Kt = {
402
+ }), Jt = ["src"], Yt = {
383
403
  key: 0,
384
404
  class: "mt-[5px] text-center text-base text-white"
385
- }, Gt = /* @__PURE__ */ L({
405
+ }, Xt = /* @__PURE__ */ I({
386
406
  __name: "BlueLoadingDialog",
387
407
  props: {
388
408
  modelValue: { type: Boolean },
@@ -390,63 +410,63 @@ const Ft = ["role", "aria-label", "aria-hidden"], H = /* @__PURE__ */ L({
390
410
  dismissible: { type: Boolean }
391
411
  },
392
412
  emits: ["update:modelValue"],
393
- setup(c, { emit: n }) {
394
- const e = n;
395
- return (t, o) => (a(), U($e, {
413
+ setup(p, { emit: o }) {
414
+ const e = o;
415
+ return (t, l) => (i(), N(Be, {
396
416
  "model-value": t.modelValue,
397
417
  persistent: !t.dismissible,
398
418
  width: "320px",
399
419
  "body-class": "flex flex-col items-center justify-center px-6 pt-7 pb-5",
400
- "onUpdate:modelValue": o[0] || (o[0] = (l) => e("update:modelValue", l))
420
+ "onUpdate:modelValue": l[0] || (l[0] = (n) => e("update:modelValue", n))
401
421
  }, {
402
- default: N(() => [
403
- i("img", {
404
- src: M(Lt),
422
+ default: j(() => [
423
+ r("img", {
424
+ src: V(jt),
405
425
  alt: "",
406
426
  class: "bluevue-loading__icon mb-6 h-[100px] w-[100px]"
407
- }, null, 8, Ut),
408
- t.message ? (a(), d("span", Kt, B(t.message), 1)) : C("", !0)
427
+ }, null, 8, Jt),
428
+ t.message ? (i(), c("span", Yt, C(t.message), 1)) : F("", !0)
409
429
  ]),
410
430
  _: 1
411
431
  }, 8, ["model-value", "persistent"]));
412
432
  }
413
- }), Ht = 5e3, ue = q([]), we = /* @__PURE__ */ new Map();
414
- let Jt = 0;
415
- const lt = (c) => {
416
- const n = we.get(c);
417
- n !== void 0 && (clearTimeout(n), we.delete(c));
418
- }, Me = (c) => {
419
- lt(c), ue.value = ue.value.filter((n) => n.id !== c);
420
- }, ot = (c, n = {}) => {
421
- const e = n.severity ?? "info", t = n.timeout ?? (e === "error" ? 0 : Ht), o = ue.value[ue.value.length - 1];
422
- if (o && o.text === c && o.severity === e)
423
- return o.repeats += 1, lt(o.id), t > 0 && we.set(o.id, window.setTimeout(() => Me(o.id), t)), o.id;
424
- const l = { id: ++Jt, text: c, severity: e, repeats: 1 };
425
- return ue.value = [...ue.value, l].slice(-4), t > 0 && we.set(l.id, window.setTimeout(() => Me(l.id), t)), l.id;
426
- }, Yt = (c, n = "Request failed") => {
427
- var o, l;
428
- const e = (l = (o = c == null ? void 0 : c.response) == null ? void 0 : o.data) == null ? void 0 : l.detail, t = c == null ? void 0 : c.message;
429
- return ot(e || t || n, { severity: "error" });
433
+ }), Zt = 5e3, ie = $([]), xe = /* @__PURE__ */ new Map();
434
+ let Qt = 0;
435
+ const nt = (p) => {
436
+ const o = xe.get(p);
437
+ o !== void 0 && (clearTimeout(o), xe.delete(p));
438
+ }, Le = (p) => {
439
+ nt(p), ie.value = ie.value.filter((o) => o.id !== p);
440
+ }, at = (p, o = {}) => {
441
+ const e = o.severity ?? "info", t = o.timeout ?? (e === "error" ? 0 : Zt), l = ie.value[ie.value.length - 1];
442
+ if (l && l.text === p && l.severity === e)
443
+ return l.repeats += 1, nt(l.id), t > 0 && xe.set(l.id, window.setTimeout(() => Le(l.id), t)), l.id;
444
+ const n = { id: ++Qt, text: p, severity: e, repeats: 1 };
445
+ return ie.value = [...ie.value, n].slice(-4), t > 0 && xe.set(n.id, window.setTimeout(() => Le(n.id), t)), n.id;
446
+ }, el = (p, o = "Request failed") => {
447
+ var l, n;
448
+ const e = (n = (l = p == null ? void 0 : p.response) == null ? void 0 : l.data) == null ? void 0 : n.detail, t = p == null ? void 0 : p.message;
449
+ return at(e || t || o, { severity: "error" });
430
450
  };
431
- function Xt() {
432
- return { notices: Ue(ue), notify: ot, notifyError: Yt, dismiss: Me };
451
+ function tl() {
452
+ return { notices: Ke(ie), notify: at, notifyError: el, dismiss: Le };
433
453
  }
434
- const Zt = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, Qt = {
454
+ const ll = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, ol = {
435
455
  key: 0,
436
456
  class: "text-[#ffffff88]"
437
- }, el = /* @__PURE__ */ L({
457
+ }, nl = /* @__PURE__ */ I({
438
458
  __name: "BlueSnackbar",
439
459
  props: {
440
460
  position: {}
441
461
  },
442
- setup(c) {
443
- const n = c, { notices: e, dismiss: t } = Xt(), o = {
462
+ setup(p) {
463
+ const o = p, { notices: e, dismiss: t } = tl(), l = {
444
464
  success: { icon: "mdi-check-circle-outline", color: "#66BB6A" },
445
465
  error: { icon: "mdi-alert-circle-outline", color: "var(--bluevue-error)" },
446
466
  warning: { icon: "mdi-alert-outline", color: "#FFB74D" },
447
467
  info: { icon: "mdi-information-outline", color: "#42A5F5" }
448
- }, l = k(() => {
449
- switch (n.position) {
468
+ }, n = k(() => {
469
+ switch (o.position) {
450
470
  case "bottom-left":
451
471
  return "bottom-4 left-4 items-start";
452
472
  case "top-right":
@@ -456,36 +476,36 @@ const Zt = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, Qt = {
456
476
  default:
457
477
  return "bottom-4 right-4 items-end";
458
478
  }
459
- }), s = k(() => {
460
- var u;
461
- return (u = n.position) != null && u.startsWith("top") ? [...e.value].reverse() : e.value;
479
+ }), a = k(() => {
480
+ var f;
481
+ return (f = o.position) != null && f.startsWith("top") ? [...e.value].reverse() : e.value;
462
482
  });
463
- return (u, r) => (a(), d("div", {
464
- class: y(["pointer-events-none fixed z-[2000] flex max-w-[min(90vw,420px)] flex-col gap-2", l.value]),
483
+ return (f, u) => (i(), c("div", {
484
+ class: v(["pointer-events-none fixed z-[2000] flex max-w-[min(90vw,420px)] flex-col gap-2", n.value]),
465
485
  role: "status",
466
486
  "aria-live": "polite"
467
487
  }, [
468
- O(dt, { name: "bluevue-notice" }, {
469
- default: N(() => [
470
- (a(!0), d(J, null, Z(s.value, (v) => (a(), d("div", {
471
- key: v.id,
488
+ W(bt, { name: "bluevue-notice" }, {
489
+ default: j(() => [
490
+ (i(!0), c(K, null, Z(a.value, (s) => (i(), c("div", {
491
+ key: s.id,
472
492
  class: "bluevue-panel pointer-events-auto flex items-center gap-3 rounded-[6px] py-2 pl-3 pr-2 text-white"
473
493
  }, [
474
- O(H, {
475
- name: o[v.severity].icon,
494
+ W(G, {
495
+ name: l[s.severity].icon,
476
496
  size: 18,
477
- color: o[v.severity].color
497
+ color: l[s.severity].color
478
498
  }, null, 8, ["name", "color"]),
479
- i("span", Zt, [
480
- oe(B(v.text) + " ", 1),
481
- v.repeats > 1 ? (a(), d("span", Qt, "(×" + B(v.repeats) + ")", 1)) : C("", !0)
499
+ r("span", ll, [
500
+ oe(C(s.text) + " ", 1),
501
+ s.repeats > 1 ? (i(), c("span", ol, "(×" + C(s.repeats) + ")", 1)) : F("", !0)
482
502
  ]),
483
- O(ce, {
503
+ W(re, {
484
504
  variant: "icon",
485
505
  density: "compact",
486
506
  icon: "mdi-close",
487
507
  tooltip: "Dismiss",
488
- onClick: (f) => M(t)(v.id)
508
+ onClick: (d) => V(t)(s.id)
489
509
  }, null, 8, ["onClick"])
490
510
  ]))), 128))
491
511
  ]),
@@ -493,7 +513,7 @@ const Zt = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, Qt = {
493
513
  })
494
514
  ], 2));
495
515
  }
496
- }), ko = /* @__PURE__ */ L({
516
+ }), Dn = /* @__PURE__ */ I({
497
517
  __name: "BlueApp",
498
518
  props: {
499
519
  title: {},
@@ -503,54 +523,54 @@ const Zt = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, Qt = {
503
523
  backdrop: {},
504
524
  ignoreHostTheme: { type: Boolean }
505
525
  },
506
- setup(c) {
507
- const n = c, { loading: e, hideLoading: t } = kt(), { primaryColor: o } = Ct();
508
- return X(
509
- o,
510
- (l) => {
511
- !n.ignoreHostTheme && l && Vt({ primary: l });
526
+ setup(p) {
527
+ const o = p, { loading: e, hideLoading: t } = Tt(), { primaryColor: l } = _t();
528
+ return Q(
529
+ l,
530
+ (n) => {
531
+ !o.ignoreHostTheme && n && Lt({ primary: n });
512
532
  },
513
533
  { immediate: !0 }
514
- ), (l, s) => (a(), d("div", {
534
+ ), (n, a) => (i(), c("div", {
515
535
  class: "min-h-screen w-full px-4 py-6",
516
- style: D({ backgroundColor: l.backdrop || "#0C577B" })
536
+ style: E({ backgroundColor: n.backdrop || "#0C577B" })
517
537
  }, [
518
- O(Dt, {
519
- title: l.title,
520
- logo: l.logo,
521
- icon: l.icon,
522
- width: l.width
523
- }, Ge({
524
- default: N(() => [
525
- j(l.$slots, "default")
538
+ W(Ot, {
539
+ title: n.title,
540
+ logo: n.logo,
541
+ icon: n.icon,
542
+ width: n.width
543
+ }, Je({
544
+ default: j(() => [
545
+ O(n.$slots, "default")
526
546
  ]),
527
547
  _: 2
528
548
  }, [
529
- l.$slots.actions ? {
549
+ n.$slots.actions ? {
530
550
  name: "actions",
531
- fn: N(() => [
532
- j(l.$slots, "actions")
551
+ fn: j(() => [
552
+ O(n.$slots, "actions")
533
553
  ]),
534
554
  key: "0"
535
555
  } : void 0,
536
- l.$slots.footer ? {
556
+ n.$slots.footer ? {
537
557
  name: "footer",
538
- fn: N(() => [
539
- j(l.$slots, "footer")
558
+ fn: j(() => [
559
+ O(n.$slots, "footer")
540
560
  ]),
541
561
  key: "1"
542
562
  } : void 0
543
563
  ]), 1032, ["title", "logo", "icon", "width"]),
544
- O(el),
545
- O(Gt, {
546
- "model-value": M(e).show,
547
- message: M(e).message,
548
- dismissible: M(e).dismissible,
549
- "onUpdate:modelValue": M(t)
564
+ W(nl),
565
+ W(Xt, {
566
+ "model-value": V(e).show,
567
+ message: V(e).message,
568
+ dismissible: V(e).dismissible,
569
+ "onUpdate:modelValue": V(t)
550
570
  }, null, 8, ["model-value", "message", "dismissible", "onUpdate:modelValue"])
551
571
  ], 4));
552
572
  }
553
- }), tl = ["aria-expanded", "aria-label", "title"], ll = /* @__PURE__ */ L({
573
+ }), al = ["aria-expanded", "aria-label", "title"], sl = /* @__PURE__ */ I({
554
574
  __name: "BlueBanner",
555
575
  props: {
556
576
  text: {},
@@ -562,177 +582,177 @@ const Zt = { class: "min-w-0 flex-1 text-[13px] leading-snug" }, Qt = {
562
582
  expanded: { type: Boolean, default: void 0 }
563
583
  },
564
584
  emits: ["update:expanded"],
565
- setup(c, { emit: n }) {
585
+ setup(p, { emit: o }) {
566
586
  const e = {
567
587
  error: { icon: "mdi-alert-circle-outline", color: "#EF9A9A", background: "#CF667926", border: "#CF667955" },
568
588
  warning: { icon: "mdi-alert", color: "#FFB74D", background: "#FB8C0022", border: "#FB8C0055" },
569
589
  info: { icon: "mdi-information-outline", color: "#81D4FA", background: "#4FC3F71A", border: "#4FC3F744" },
570
590
  success: { icon: "mdi-check-circle-outline", color: "#A5D6A7", background: "#66BB6A22", border: "#66BB6A55" }
571
- }, t = c, o = n, l = q(null), s = q(null), u = q(null), r = q(t.expanded ?? !0), v = q(0), f = q(!1), x = k(() => e[t.severity ?? "info"]), p = k(() => ({
572
- color: t.color ?? x.value.color,
573
- backgroundColor: t.background ?? x.value.background,
574
- borderColor: t.border ?? x.value.border
575
- })), _ = k(() => r.value ? f.value ? { width: `${v.value}px` } : void 0 : { width: "0px" }), $ = k(() => f.value ? { width: `${v.value}px` } : void 0);
576
- function F() {
577
- const m = l.value, V = s.value, E = u.value;
578
- if (!m || !V || !E)
591
+ }, t = p, l = o, n = $(null), a = $(null), f = $(null), u = $(t.expanded ?? !0), s = $(0), d = $(!1), q = k(() => e[t.severity ?? "info"]), x = k(() => ({
592
+ color: t.color ?? q.value.color,
593
+ backgroundColor: t.background ?? q.value.background,
594
+ borderColor: t.border ?? q.value.border
595
+ })), g = k(() => u.value ? d.value ? { width: `${s.value}px` } : void 0 : { width: "0px" }), b = k(() => d.value ? { width: `${s.value}px` } : void 0);
596
+ function T() {
597
+ const m = n.value, _ = a.value, L = f.value;
598
+ if (!m || !_ || !L)
579
599
  return;
580
- const w = m.style.cssText, A = V.style.cssText, K = E.style.cssText, Y = () => {
581
- m.style.cssText = w, V.style.cssText = A, E.style.cssText = K, V.getBoundingClientRect(), m.classList.remove("bluevue-banner--measuring");
600
+ const B = m.style.cssText, A = _.style.cssText, J = L.style.cssText, X = () => {
601
+ m.style.cssText = B, _.style.cssText = A, L.style.cssText = J, _.getBoundingClientRect(), m.classList.remove("bluevue-banner--measuring");
582
602
  };
583
- m.classList.add("bluevue-banner--measuring"), m.style.width = "100%", V.style.flex = "1 1 auto", V.style.width = "auto", E.style.width = "0px";
584
- const te = V.getBoundingClientRect().width;
585
- if (te <= 0) {
586
- Y();
603
+ m.classList.add("bluevue-banner--measuring"), m.style.width = "100%", _.style.flex = "1 1 auto", _.style.width = "auto", L.style.width = "0px";
604
+ const ee = _.getBoundingClientRect().width;
605
+ if (ee <= 0) {
606
+ X();
587
607
  return;
588
608
  }
589
- E.style.width = "max-content";
590
- const ee = Math.ceil(E.getBoundingClientRect().width);
591
- v.value = Math.min(ee, Math.floor(te)), Y(), f.value = !0;
609
+ L.style.width = "max-content";
610
+ const te = Math.ceil(L.getBoundingClientRect().width);
611
+ s.value = Math.min(te, Math.floor(ee)), X(), d.value = !0;
592
612
  }
593
- function R() {
594
- F(), r.value = !r.value, o("update:expanded", r.value);
613
+ function S() {
614
+ T(), u.value = !u.value, l("update:expanded", u.value);
595
615
  }
596
- let P = null;
597
- return pe(() => {
598
- var V, E;
599
- F(), (V = document.fonts) == null || V.ready.then(F);
600
- const m = (E = l.value) == null ? void 0 : E.parentElement;
616
+ let D = null;
617
+ return fe(() => {
618
+ var _, L;
619
+ T(), (_ = document.fonts) == null || _.ready.then(T);
620
+ const m = (L = n.value) == null ? void 0 : L.parentElement;
601
621
  if (m) {
602
- let w = m.clientWidth;
603
- P = new ResizeObserver(() => {
604
- m.clientWidth !== w && (w = m.clientWidth, requestAnimationFrame(F));
605
- }), P.observe(m);
622
+ let B = m.clientWidth;
623
+ D = new ResizeObserver(() => {
624
+ m.clientWidth !== B && (B = m.clientWidth, requestAnimationFrame(T));
625
+ }), D.observe(m);
606
626
  }
607
627
  }), me(() => {
608
- P == null || P.disconnect(), P = null;
609
- }), X(() => t.text, F, { flush: "post" }), X(
628
+ D == null || D.disconnect(), D = null;
629
+ }), Q(() => t.text, T, { flush: "post" }), Q(
610
630
  () => t.expanded,
611
631
  (m) => {
612
- m !== void 0 && (r.value = m);
632
+ m !== void 0 && (u.value = m);
613
633
  }
614
- ), (m, V) => (a(), d("button", {
634
+ ), (m, _) => (i(), c("button", {
615
635
  ref_key: "box",
616
- ref: l,
636
+ ref: n,
617
637
  type: "button",
618
638
  class: "bluevue-banner bluevue-elevation-1-soft flex w-fit items-center rounded-[6px] border text-left cursor-pointer",
619
- style: D(p.value),
620
- "aria-expanded": r.value,
639
+ style: E(x.value),
640
+ "aria-expanded": u.value,
621
641
  "aria-label": m.text,
622
642
  title: m.text,
623
- onClick: R
643
+ onClick: S
624
644
  }, [
625
- i("span", {
626
- class: y(["mdi bluevue-banner__icon shrink-0", t.icon ?? x.value.icon])
645
+ r("span", {
646
+ class: v(["mdi bluevue-banner__icon shrink-0", t.icon ?? q.value.icon])
627
647
  }, null, 2),
628
- i("span", {
648
+ r("span", {
629
649
  ref_key: "reveal",
630
- ref: s,
631
- class: y(["bluevue-banner__reveal overflow-hidden", f.value ? "shrink-0" : ""]),
632
- style: D(_.value)
650
+ ref: a,
651
+ class: v(["bluevue-banner__reveal overflow-hidden", d.value ? "shrink-0" : ""]),
652
+ style: E(g.value)
633
653
  }, [
634
- i("span", {
654
+ r("span", {
635
655
  ref_key: "label",
636
- ref: u,
656
+ ref: f,
637
657
  class: "bluevue-banner__text block whitespace-nowrap",
638
- style: D($.value)
639
- }, B(m.text), 5)
658
+ style: E(b.value)
659
+ }, C(m.text), 5)
640
660
  ], 6)
641
- ], 12, tl));
661
+ ], 12, al));
642
662
  }
643
- }), ol = { class: "flex w-full min-w-0 items-center gap-2" }, xo = /* @__PURE__ */ L({
663
+ }), il = { class: "flex w-full min-w-0 items-center gap-2" }, In = /* @__PURE__ */ I({
644
664
  __name: "BlueBannerGroup",
645
665
  props: {
646
666
  banners: {}
647
667
  },
648
- setup(c) {
649
- const n = c, e = q(null), t = q([]);
650
- function o(s) {
651
- const u = t.value.indexOf(s.text);
652
- return u === -1 ? n.banners.indexOf(s) : n.banners.length + u;
668
+ setup(p) {
669
+ const o = p, e = $(null), t = $([]);
670
+ function l(a) {
671
+ const f = t.value.indexOf(a.text);
672
+ return f === -1 ? o.banners.indexOf(a) : o.banners.length + f;
653
673
  }
654
- function l(s, u) {
655
- e.value = u ? s : null, u && (t.value = [...t.value.filter((r) => r !== s), s]);
674
+ function n(a, f) {
675
+ e.value = f ? a : null, f && (t.value = [...t.value.filter((u) => u !== a), a]);
656
676
  }
657
- return (s, u) => (a(), d("div", ol, [
658
- (a(!0), d(J, null, Z(n.banners, (r) => (a(), U(ll, ke({
659
- key: r.text,
677
+ return (a, f) => (i(), c("div", il, [
678
+ (i(!0), c(K, null, Z(o.banners, (u) => (i(), N(sl, ve({
679
+ key: u.text,
660
680
  ref_for: !0
661
- }, r, {
662
- expanded: e.value === r.text,
663
- class: e.value === r.text ? "min-w-0 flex-1 !w-auto" : "shrink-0",
664
- style: { order: o(r) },
665
- "onUpdate:expanded": (v) => l(r.text, v)
681
+ }, u, {
682
+ expanded: e.value === u.text,
683
+ class: e.value === u.text ? "min-w-0 flex-1 !w-auto" : "shrink-0",
684
+ style: { order: l(u) },
685
+ "onUpdate:expanded": (s) => n(u.text, s)
666
686
  }), null, 16, ["expanded", "class", "style", "onUpdate:expanded"]))), 128))
667
687
  ]));
668
688
  }
669
689
  });
670
- let nl = 0, Se = !1, Ne = !1;
671
- const sl = () => {
690
+ let rl = 0, Ee = !1, Ne = !1;
691
+ const ul = () => {
672
692
  if (Ne || typeof document > "u") return;
673
693
  Ne = !0;
674
- const c = () => {
675
- Se = !1;
694
+ const p = () => {
695
+ Ee = !1;
676
696
  };
677
697
  document.addEventListener("pointerdown", () => {
678
- Se = !0;
679
- }, !0), document.addEventListener("pointerup", c, !0), document.addEventListener("pointercancel", c, !0);
680
- }, al = () => new Promise((c) => {
681
- const n = () => {
682
- document.removeEventListener("pointerup", n), document.removeEventListener("pointercancel", n), setTimeout(c);
698
+ Ee = !0;
699
+ }, !0), document.addEventListener("pointerup", p, !0), document.addEventListener("pointercancel", p, !0);
700
+ }, dl = () => new Promise((p) => {
701
+ const o = () => {
702
+ document.removeEventListener("pointerup", o), document.removeEventListener("pointercancel", o), setTimeout(p);
683
703
  };
684
- document.addEventListener("pointerup", n), document.addEventListener("pointercancel", n);
704
+ document.addEventListener("pointerup", o), document.addEventListener("pointercancel", o);
685
705
  });
686
- function ye(c = {}) {
687
- sl();
688
- const n = q(null), e = q(null), t = q(!1), o = `bluevue-popover-${++nl}`, l = q(null), s = k(() => {
689
- if (!l.value) return null;
690
- const [$, F] = l.value;
691
- return { getBoundingClientRect: () => new DOMRect($, F, 0, 0) };
692
- }), u = k(() => t.value ? s.value ?? n.value : null), { floatingStyles: r, isPositioned: v } = ft(u, e, {
706
+ function he(p = {}) {
707
+ ul();
708
+ const o = $(null), e = $(null), t = $(!1), l = `bluevue-popover-${++rl}`, n = $(null), a = k(() => {
709
+ if (!n.value) return null;
710
+ const [b, T] = n.value;
711
+ return { getBoundingClientRect: () => new DOMRect(b, T, 0, 0) };
712
+ }), f = k(() => t.value ? a.value ?? o.value : null), { floatingStyles: u, isPositioned: s } = qt(f, e, {
693
713
  // Stated so isPositioned drops back to false on close, and a second open is held invisible
694
714
  // until it has been placed rather than showing for a frame at wherever it last was.
695
715
  open: t,
696
- placement: c.placement ?? "bottom-end",
716
+ placement: p.placement ?? "bottom-end",
697
717
  strategy: "fixed",
698
- whileElementsMounted: vt,
718
+ whileElementsMounted: wt,
699
719
  middleware: [
700
- ht(4),
701
- bt({ padding: 8 }),
702
- yt({ padding: 8 }),
703
- ...c.matchAnchorWidth ? [gt({
704
- apply: ({ rects: $, elements: F }) => {
705
- F.floating.style.minWidth = `${$.reference.width}px`;
720
+ kt(4),
721
+ xt({ padding: 8 }),
722
+ $t({ padding: 8 }),
723
+ ...p.matchAnchorWidth ? [Bt({
724
+ apply: ({ rects: b, elements: T }) => {
725
+ T.floating.style.minWidth = `${b.reference.width}px`;
706
726
  }
707
727
  })] : []
708
728
  ]
709
729
  });
710
- let f = 0;
730
+ let d = 0;
711
731
  return {
712
- anchorRef: n,
732
+ anchorRef: o,
713
733
  popoverRef: e,
714
- popoverId: o,
715
- activatorProps: { popovertarget: o },
734
+ popoverId: l,
735
+ activatorProps: { popovertarget: l },
716
736
  isOpen: t,
717
- isPositioned: v,
718
- floatingStyles: r,
719
- show: async ($) => {
720
- const F = ++f;
721
- if (l.value = $ ?? null, await Te(), Se && await al(), F !== f) return;
722
- const R = e.value;
723
- !R || R.matches(":popover-open") || R.showPopover();
737
+ isPositioned: s,
738
+ floatingStyles: u,
739
+ show: async (b) => {
740
+ const T = ++d;
741
+ if (n.value = b ?? null, await Me(), Ee && await dl(), T !== d) return;
742
+ const S = e.value;
743
+ !S || S.matches(":popover-open") || S.showPopover();
724
744
  },
725
745
  hide: () => {
726
- f += 1;
727
- const $ = e.value;
728
- $ != null && $.matches(":popover-open") ? $.hidePopover() : t.value = !1;
746
+ d += 1;
747
+ const b = e.value;
748
+ b != null && b.matches(":popover-open") ? b.hidePopover() : t.value = !1;
729
749
  },
730
- onToggle: ($) => {
731
- t.value = $.newState === "open", t.value || (l.value = null);
750
+ onToggle: (b) => {
751
+ t.value = b.newState === "open", t.value || (n.value = null);
732
752
  }
733
753
  };
734
754
  }
735
- const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
755
+ const cl = ["aria-describedby"], pl = ["id"], se = /* @__PURE__ */ I({
736
756
  __name: "BlueTooltip",
737
757
  props: {
738
758
  text: {},
@@ -741,67 +761,67 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
741
761
  disabled: { type: Boolean },
742
762
  theme: {}
743
763
  },
744
- setup(c) {
745
- const n = c, { anchorRef: e, popoverRef: t, popoverId: o, isPositioned: l, floatingStyles: s, show: u, hide: r, onToggle: v } = ye({
746
- placement: n.placement ?? "top"
764
+ setup(p) {
765
+ const o = p, { anchorRef: e, popoverRef: t, popoverId: l, isPositioned: n, floatingStyles: a, show: f, hide: u, onToggle: s } = he({
766
+ placement: o.placement ?? "top"
747
767
  });
748
- let f = null;
749
- const x = () => {
750
- f !== null && (clearTimeout(f), f = null);
751
- }, p = () => {
752
- n.disabled || !n.text || (x(), f = window.setTimeout(() => {
753
- f = null, u();
754
- }, n.openDelay ?? 300));
755
- }, _ = () => {
756
- x(), r();
768
+ let d = null;
769
+ const q = () => {
770
+ d !== null && (clearTimeout(d), d = null);
771
+ }, x = () => {
772
+ o.disabled || !o.text || (q(), d = window.setTimeout(() => {
773
+ d = null, f();
774
+ }, o.openDelay ?? 300));
775
+ }, g = () => {
776
+ q(), u();
757
777
  };
758
- return me(x), ($, F) => (a(), d("span", {
778
+ return me(q), (b, T) => (i(), c("span", {
759
779
  ref_key: "anchorRef",
760
780
  ref: e,
761
781
  class: "inline-flex",
762
- "aria-describedby": $.text && !$.disabled ? M(o) : void 0,
763
- onMouseenter: p,
764
- onMouseleave: _,
765
- onFocusin: p,
766
- onFocusout: _,
767
- onKeydown: de(_, ["escape"])
782
+ "aria-describedby": b.text && !b.disabled ? V(l) : void 0,
783
+ onMouseenter: x,
784
+ onMouseleave: g,
785
+ onFocusin: x,
786
+ onFocusout: g,
787
+ onKeydown: pe(g, ["escape"])
768
788
  }, [
769
- j($.$slots, "default"),
770
- i("div", {
771
- id: M(o),
789
+ O(b.$slots, "default"),
790
+ r("div", {
791
+ id: V(l),
772
792
  ref_key: "popoverRef",
773
793
  ref: t,
774
794
  popover: "manual",
775
795
  class: "bluevue-popover",
776
- style: D(M(s)),
777
- onToggle: F[0] || (F[0] = //@ts-ignore
778
- (...R) => M(v) && M(v)(...R))
796
+ style: E(V(a)),
797
+ onToggle: T[0] || (T[0] = //@ts-ignore
798
+ (...S) => V(s) && V(s)(...S))
779
799
  }, [
780
- i("div", {
800
+ r("div", {
781
801
  role: "tooltip",
782
- class: y(["bluevue-elevation-5 max-w-[280px] rounded-[4px] px-2 py-1 text-xs leading-snug transition-opacity duration-150", [
783
- $.theme === "light" ? "bg-white text-black" : "bg-[#333333f2] text-white",
784
- M(l) ? "opacity-100" : "opacity-0"
802
+ class: v(["bluevue-elevation-5 max-w-[280px] whitespace-pre-wrap rounded-[4px] px-2 py-1 text-xs leading-snug transition-opacity duration-150", [
803
+ b.theme === "light" ? "bg-white text-black" : "bg-[#333333f2] text-white",
804
+ V(n) ? "opacity-100" : "opacity-0"
785
805
  ]])
786
- }, B($.text), 3)
787
- ], 44, rl)
788
- ], 40, il));
806
+ }, C(b.text), 3)
807
+ ], 44, pl)
808
+ ], 40, cl));
789
809
  }
790
- }), ul = {
810
+ }), fl = {
791
811
  key: 0,
792
812
  class: "min-w-0 max-w-[45%] shrink-0"
793
- }, cl = ["title"], dl = { key: 1 }, pl = { class: "flex items-center min-w-0 shrink-[1000]" }, ml = /* @__PURE__ */ i("div", {
813
+ }, ml = ["title"], vl = { key: 1 }, hl = { class: "flex items-center min-w-0 shrink-[1000]" }, bl = /* @__PURE__ */ r("div", {
794
814
  id: "border-releif",
795
815
  class: "absolute left-[-20px] top-0 h-full w-[6px] bg-[#6699cc] z-[20] pointer-events-none"
796
- }, null, -1), fl = ["disabled", "title", "onClick", "onContextmenu", "onPointerdown"], vl = {
816
+ }, null, -1), yl = ["disabled", "title", "onClick", "onContextmenu", "onPointerdown"], gl = {
797
817
  key: 0,
798
818
  class: "w-[1px] shrink-0 bg-[#FFFFFF22] my-2"
799
- }, hl = {
819
+ }, ql = {
800
820
  key: 0,
801
821
  class: "w-[1px] shrink-0 bg-[#FFFFFF22] my-2 mr-[3px]"
802
- }, bl = /* @__PURE__ */ i("span", { class: "self-center mdi mdi-menu-right text-[20px] mr-[2px] opacity-80" }, null, -1), yl = [
803
- bl
804
- ], gl = ["id"], ql = ["disabled", "onClick"], wl = 500, kl = 850, xl = 24, $o = /* @__PURE__ */ L({
822
+ }, wl = /* @__PURE__ */ r("span", { class: "self-center mdi mdi-menu-right text-[20px] mr-[2px] opacity-80" }, null, -1), kl = [
823
+ wl
824
+ ], xl = ["id"], $l = ["disabled", "onClick"], Bl = 500, Cl = 850, Fl = 24, zn = /* @__PURE__ */ I({
805
825
  __name: "BlueButtonGroup",
806
826
  props: {
807
827
  buttonItems: {},
@@ -810,219 +830,223 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
810
830
  theme: {},
811
831
  type: {},
812
832
  height: {},
833
+ width: {},
813
834
  label: {},
814
835
  infoTooltip: {},
815
836
  density: {}
816
837
  },
817
838
  emits: ["update:selected", "context-menu"],
818
- setup(c, { emit: n }) {
819
- const e = c, t = n, o = q([]), {
820
- anchorRef: l,
821
- popoverRef: s,
822
- popoverId: u,
823
- activatorProps: r,
824
- isPositioned: v,
825
- floatingStyles: f,
826
- hide: x,
827
- onToggle: p
828
- } = ye();
829
- let _ = null, $ = !1;
830
- const F = {
831
- compact: { class: "px-[11px]", total: 22 },
832
- regular: { class: "px-[15px]", total: 30 },
833
- comfortable: { class: "px-[19px]", total: 38 }
834
- }, R = q(null), P = q(null), m = q(null), V = q(!1), E = q(!1);
835
- let w = null;
839
+ setup(p, { emit: o }) {
840
+ const e = p, t = o, l = $([]), {
841
+ anchorRef: n,
842
+ popoverRef: a,
843
+ popoverId: f,
844
+ activatorProps: u,
845
+ isPositioned: s,
846
+ floatingStyles: d,
847
+ hide: q,
848
+ onToggle: x
849
+ } = he();
850
+ let g = null, b = !1;
851
+ const T = {
852
+ compact: { class: "px-[8px]", total: 16 },
853
+ regular: { class: "px-[12px]", total: 24 },
854
+ comfortable: { class: "px-[16px]", total: 32 }
855
+ }, S = $(null), D = $(null), m = $(null), _ = $(!1), L = $(!1);
856
+ let B = null;
836
857
  const A = () => {
837
- const h = m.value, S = R.value;
838
- if (!h || !S) return;
839
- const g = h.querySelectorAll("[data-bbg-label]"), I = F[e.density || "comfortable"].total;
840
- let T = 0;
841
- g.forEach((Q) => {
842
- T += Q.scrollWidth + I;
843
- }), T += Math.max(0, g.length - 1), V.value = T > kl;
844
- let G = P.value ? P.value.scrollWidth + xl : 0;
845
- for (const Q of Array.from(S.children))
846
- Q.contains(h) && (G += Q.clientWidth - h.clientWidth);
847
- E.value = T > S.clientWidth - G;
848
- }, K = () => {
849
- const h = e.buttonItems;
858
+ const y = m.value, z = S.value;
859
+ if (!y || !z) return;
860
+ const Y = y.querySelectorAll("[data-bbg-label]"), w = T[e.density || "comfortable"].total;
861
+ let M = 0;
862
+ Y.forEach((U) => {
863
+ M += U.scrollWidth + w;
864
+ }), M += Math.max(0, Y.length - 1), _.value = M > Cl;
865
+ let R = D.value ? D.value.scrollWidth + Fl : 0;
866
+ for (const U of Array.from(z.children))
867
+ U.contains(y) && (R += U.clientWidth - y.clientWidth);
868
+ L.value = M > z.clientWidth - R;
869
+ }, J = () => {
870
+ const y = e.buttonItems;
850
871
  if (e.type === "switch") {
851
- const S = h.findIndex((I) => I.preSelected), g = S >= 0 ? S : 0;
852
- o.value = h.map((I, T) => T === g);
872
+ const z = y.findIndex((w) => w.preSelected), Y = z >= 0 ? z : 0;
873
+ l.value = y.map((w, M) => M === Y);
853
874
  } else
854
- o.value = h.map((S) => !!S.preSelected);
855
- t("update:selected", o.value);
856
- }, Y = (h) => {
857
- var g, I;
858
- if (e.disabled || e.buttonItems[h].disabled) return;
859
- const S = e.buttonItems[h];
860
- e.type === "switch" ? o.value[h] || (o.value = o.value.map((T, G) => G === h), (g = S.onSelected) == null || g.call(S)) : (o.value[h] = !o.value[h], o.value[h] && ((I = S.onSelected) == null || I.call(S))), t("update:selected", o.value);
861
- }, te = (h, S) => {
862
- e.disabled || e.buttonItems[h].disabled || t("context-menu", { item: e.buttonItems[h], index: h, x: S.clientX, y: S.clientY });
863
- }, ee = () => {
864
- _ !== null && (clearTimeout(_), _ = null);
865
- }, re = (h, S) => {
866
- if (e.disabled || e.buttonItems[h].disabled) return;
867
- ee(), $ = !1;
868
- const { clientX: g, clientY: I } = S;
869
- _ = window.setTimeout(() => {
870
- _ = null, $ = !0, t("context-menu", { item: e.buttonItems[h], index: h, x: g, y: I });
871
- }, wl);
872
- }, fe = (h) => {
873
- if ($) {
874
- $ = !1;
875
+ l.value = y.map((z) => !!z.preSelected);
876
+ t("update:selected", l.value);
877
+ }, X = (y) => {
878
+ var Y, w;
879
+ if (e.disabled || e.buttonItems[y].disabled) return;
880
+ const z = e.buttonItems[y];
881
+ e.type === "switch" ? l.value[y] || (l.value = l.value.map((M, R) => R === y), (Y = z.onSelected) == null || Y.call(z)) : (l.value[y] = !l.value[y], l.value[y] && ((w = z.onSelected) == null || w.call(z))), t("update:selected", l.value);
882
+ }, ee = (y, z) => {
883
+ e.disabled || e.buttonItems[y].disabled || t("context-menu", { item: e.buttonItems[y], index: y, x: z.clientX, y: z.clientY });
884
+ }, te = () => {
885
+ g !== null && (clearTimeout(g), g = null);
886
+ }, ue = (y, z) => {
887
+ if (e.disabled || e.buttonItems[y].disabled) return;
888
+ te(), b = !1;
889
+ const { clientX: Y, clientY: w } = z;
890
+ g = window.setTimeout(() => {
891
+ g = null, b = !0, t("context-menu", { item: e.buttonItems[y], index: y, x: Y, y: w });
892
+ }, Bl);
893
+ }, de = (y) => {
894
+ if (b) {
895
+ b = !1;
875
896
  return;
876
897
  }
877
- e.buttonItems[h].disabled || Y(h);
878
- }, ne = (h) => {
879
- h.action(), x();
898
+ e.buttonItems[y].disabled || X(y);
899
+ }, ce = (y) => {
900
+ y.action(), q();
880
901
  };
881
- return pe(() => {
882
- var h;
883
- K(), Te(A), (h = document.fonts) == null || h.ready.then(A), typeof ResizeObserver < "u" && m.value && (w = new ResizeObserver(() => A()), w.observe(m.value));
902
+ return fe(() => {
903
+ var y;
904
+ J(), Me(A), (y = document.fonts) == null || y.ready.then(A), typeof ResizeObserver < "u" && m.value && (B = new ResizeObserver(() => A()), B.observe(m.value));
884
905
  }), me(() => {
885
- w == null || w.disconnect(), ee();
886
- }), X(
906
+ B == null || B.disconnect(), te();
907
+ }), Q(
887
908
  () => e.buttonItems.length,
888
- K,
909
+ J,
889
910
  { deep: !0, immediate: !0 }
890
- ), X(
891
- () => e.buttonItems.map((h) => h.name).join("|"),
892
- () => Te(A)
893
- ), (h, S) => {
894
- var g, I;
895
- return a(), d("div", {
911
+ ), Q(
912
+ () => e.buttonItems.map((y) => y.name).join("|"),
913
+ () => Me(A)
914
+ ), (y, z) => {
915
+ var Y, w;
916
+ return i(), c("div", {
896
917
  ref_key: "rowRef",
897
- ref: R,
918
+ ref: S,
898
919
  class: "flex w-full justify-between items-center"
899
920
  }, [
900
- h.label ? (a(), d("div", ul, [
901
- i("label", {
921
+ y.label ? (i(), c("div", fl, [
922
+ r("label", {
902
923
  ref_key: "labelRef",
903
- ref: P,
904
- class: y(["block truncate text-start mr-6", [h.theme === "dark" ? "text-white" : "text-black", h.disabled ? "opacity-30" : ""]]),
905
- title: h.label
906
- }, B(h.label), 11, cl)
907
- ])) : (a(), d("div", dl)),
908
- j(h.$slots, "insetElement"),
909
- i("div", pl, [
910
- h.infoTooltip ? (a(), U(ie, {
924
+ ref: D,
925
+ class: v(["block truncate text-start mr-6", [y.theme === "dark" ? "text-white" : "text-black", y.disabled ? "opacity-30" : ""]]),
926
+ title: y.label
927
+ }, C(y.label), 11, ml)
928
+ ])) : (i(), c("div", vl)),
929
+ O(y.$slots, "insetElement"),
930
+ r("div", hl, [
931
+ y.infoTooltip ? (i(), N(se, {
911
932
  key: 0,
912
- text: h.infoTooltip,
913
- theme: h.theme,
933
+ text: y.infoTooltip,
934
+ theme: y.theme,
914
935
  class: "items-center shrink-0 mr-2"
915
936
  }, {
916
- default: N(() => [
917
- O(H, {
937
+ default: j(() => [
938
+ W(G, {
918
939
  name: "mdi-information-outline",
919
940
  size: 16,
920
- label: h.infoTooltip,
921
- class: y(["cursor-help", [h.disabled ? "opacity-30" : "opacity-60", h.theme === "dark" ? "text-white" : "text-black"]])
941
+ label: y.infoTooltip,
942
+ class: v(["cursor-help", [y.disabled ? "opacity-30" : "opacity-60", y.theme === "dark" ? "text-white" : "text-black"]])
922
943
  }, null, 8, ["label", "class"])
923
944
  ]),
924
945
  _: 1
925
- }, 8, ["text", "theme"])) : C("", !0),
926
- i("div", {
946
+ }, 8, ["text", "theme"])) : F("", !0),
947
+ r("div", {
927
948
  ref_key: "trackRef",
928
949
  ref: m,
929
- class: y(["relative flex min-w-0 justify-end overflow-hidden rounded-[6px] bluevue-elevation-1 z-[666]", [h.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", h.disabled ? "opacity-30 pointer-events-none" : ""]]),
930
- style: D({ height: h.height || (h.density === "compact" ? "24px" : "30px") })
950
+ class: v(["relative isolate flex min-w-0 justify-end overflow-hidden rounded-[6px] bluevue-elevation-1", [y.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", y.disabled ? "opacity-30 pointer-events-none" : ""]]),
951
+ style: E({ height: y.height || (y.density === "compact" ? "24px" : "30px"), width: y.width })
931
952
  }, [
932
- ml,
933
- (a(!0), d(J, null, Z(h.buttonItems, (T, G) => (a(), d(J, {
934
- key: T.name
953
+ bl,
954
+ (i(!0), c(K, null, Z(y.buttonItems, (M, R) => (i(), c(K, {
955
+ key: M.name
935
956
  }, [
936
- i("button", {
937
- disabled: h.disabled || T.disabled,
938
- title: T.name,
939
- class: y(["flex min-w-0 items-center justify-center text-sm font-medium transition-colors duration-200", [
957
+ r("button", {
958
+ disabled: y.disabled || M.disabled,
959
+ title: M.name,
960
+ class: v(["flex min-w-0 items-center justify-center font-normal transition-colors duration-200", [
940
961
  // A group with no room left falls back to the tightest inset whatever the
941
962
  // density asks for, since the alternative is cutting into the names.
942
- E.value ? F.compact.class : F[h.density || "comfortable"].class,
963
+ L.value ? T.compact.class : T[y.density || "comfortable"].class,
943
964
  // The active choice is the one worth reading at a glance, so it keeps its full
944
965
  // name and the rest give up the room a crowded group needs.
945
- o.value[G] ? "shrink-0" : "",
946
- o.value[G] ? "text-white" : h.theme === "dark" ? "text-[#ffffff99]" : "text-[#00000066]",
947
- o.value[G] && h.type === "switch" ? "bluevue-elevation-5" : "",
948
- h.disabled || T.disabled ? "cursor-not-allowed" : "cursor-pointer",
966
+ l.value[R] ? "shrink-0" : "",
967
+ // A group given a width shares the surplus between its buttons rather than
968
+ // leaving it as dead track behind them.
969
+ y.width ? "grow" : "",
970
+ l.value[R] ? "text-white" : y.theme === "dark" ? "text-[#ffffff99]" : "text-[#00000066]",
971
+ l.value[R] && y.type === "switch" ? "bluevue-elevation-5" : "",
972
+ y.disabled || M.disabled ? "cursor-not-allowed" : "cursor-pointer",
949
973
  // Only the button's own state fades it: a disabled group is faded whole by the
950
974
  // track below, and dimming twice over would leave the names unreadable.
951
- T.disabled ? "opacity-30" : ""
975
+ M.disabled ? "opacity-30" : ""
952
976
  ]]),
953
- style: D({ backgroundColor: o.value[G] ? T.activeColor || "var(--bluevue-primary)" : void 0 }),
954
- onClick: (Q) => fe(G),
955
- onContextmenu: ae((Q) => te(G, Q), ["prevent"]),
956
- onPointerdown: (Q) => re(G, Q),
957
- onPointerup: ee,
958
- onPointerleave: ee,
959
- onPointercancel: ee
977
+ style: E({ backgroundColor: l.value[R] ? M.activeColor || "var(--bluevue-primary)" : void 0 }),
978
+ onClick: (U) => de(R),
979
+ onContextmenu: ae((U) => ee(R, U), ["prevent"]),
980
+ onPointerdown: (U) => ue(R, U),
981
+ onPointerup: te,
982
+ onPointerleave: te,
983
+ onPointercancel: te
960
984
  }, [
961
- O(ie, {
962
- text: T.tooltip || "",
963
- theme: h.theme,
985
+ W(se, {
986
+ text: M.tooltip || "",
987
+ theme: y.theme,
964
988
  class: "min-w-0"
965
989
  }, {
966
- default: N(() => [
967
- i("span", {
990
+ default: j(() => [
991
+ r("span", {
968
992
  "data-bbg-label": "",
969
- class: y(["block truncate", [h.density === "compact" ? "text-[10px]" : "text-xs", V.value ? "max-w-[150px]" : ""]])
970
- }, B(T.name), 3)
993
+ class: v(["block truncate", [y.density === "compact" ? "text-[13px]" : "text-base", _.value ? "max-w-[150px]" : ""]])
994
+ }, C(M.name), 3)
971
995
  ]),
972
996
  _: 2
973
997
  }, 1032, ["text", "theme"])
974
- ], 46, fl),
975
- G < h.buttonItems.length - 1 ? (a(), d("div", vl)) : C("", !0)
998
+ ], 46, yl),
999
+ R < y.buttonItems.length - 1 ? (i(), c("div", gl)) : F("", !0)
976
1000
  ], 64))), 128)),
977
- (g = h.buttonsMenu) != null && g.length ? (a(), d("div", hl)) : C("", !0),
978
- (I = h.buttonsMenu) != null && I.length ? (a(), d(J, { key: 1 }, [
979
- i("button", ke({
1001
+ (Y = y.buttonsMenu) != null && Y.length ? (i(), c("div", ql)) : F("", !0),
1002
+ (w = y.buttonsMenu) != null && w.length ? (i(), c(K, { key: 1 }, [
1003
+ r("button", ve({
980
1004
  ref_key: "menuAnchorRef",
981
- ref: l
982
- }, M(r), {
1005
+ ref: n
1006
+ }, V(u), {
983
1007
  type: "button",
984
1008
  title: "More options",
985
- class: ["shrink-0 px-0 flex items-center justify-center h-full cursor-pointer", h.theme === "dark" ? "text-white" : "text-black"]
986
- }), yl, 16),
987
- i("div", {
988
- id: M(u),
1009
+ class: ["shrink-0 px-0 flex items-center justify-center h-full cursor-pointer", y.theme === "dark" ? "text-white" : "text-black"]
1010
+ }), kl, 16),
1011
+ r("div", {
1012
+ id: V(f),
989
1013
  ref_key: "menuPopoverRef",
990
- ref: s,
1014
+ ref: a,
991
1015
  popover: "",
992
1016
  class: "bluevue-popover",
993
- style: D(M(f)),
994
- onToggle: S[0] || (S[0] = //@ts-ignore
995
- (...T) => M(p) && M(p)(...T))
1017
+ style: E(V(d)),
1018
+ onToggle: z[0] || (z[0] = //@ts-ignore
1019
+ (...M) => V(x) && V(x)(...M))
996
1020
  }, [
997
- i("ul", {
998
- class: y(["bluevue-elevation-5 max-h-[60vh] overflow-y-auto border-[1px] rounded-[4px] border-[#FFFFFF22]", [
999
- h.theme === "dark" ? "text-[#FFFFFF99] bg-[var(--bluevue-surface)]" : "text-black bg-white",
1000
- M(v) ? "opacity-100" : "opacity-0"
1021
+ r("ul", {
1022
+ class: v(["bluevue-elevation-5 max-h-[60vh] overflow-y-auto border-[1px] rounded-[4px] border-[#FFFFFF22]", [
1023
+ y.theme === "dark" ? "text-[#FFFFFF99] bg-[var(--bluevue-surface)]" : "text-black bg-white",
1024
+ V(s) ? "opacity-100" : "opacity-0"
1001
1025
  ]])
1002
1026
  }, [
1003
- (a(!0), d(J, null, Z(h.buttonsMenu, (T, G) => (a(), d("li", {
1004
- key: T.name
1027
+ (i(!0), c(K, null, Z(y.buttonsMenu, (M, R) => (i(), c("li", {
1028
+ key: M.name
1005
1029
  }, [
1006
- i("button", {
1007
- disabled: T.menuItemDisabled,
1030
+ r("button", {
1031
+ disabled: M.menuItemDisabled,
1008
1032
  type: "button",
1009
- class: y(["block w-full text-left whitespace-nowrap px-4 py-2 text-[14px]", [
1010
- G < h.buttonsMenu.length - 1 ? "border-b border-white" : "",
1011
- h.theme === "dark" ? "hover:bg-[#333333]" : "hover:bg-gray-100",
1012
- T.menuItemDisabled ? "opacity-30 cursor-not-allowed" : "cursor-pointer"
1033
+ class: v(["block w-full text-left whitespace-nowrap px-4 py-2 text-[14px]", [
1034
+ R < y.buttonsMenu.length - 1 ? "border-b border-white" : "",
1035
+ y.theme === "dark" ? "hover:bg-[#333333]" : "hover:bg-gray-100",
1036
+ M.menuItemDisabled ? "opacity-30 cursor-not-allowed" : "cursor-pointer"
1013
1037
  ]]),
1014
- onClick: (Q) => ne(T)
1015
- }, B(T.name), 11, ql)
1038
+ onClick: (U) => ce(M)
1039
+ }, C(M.name), 11, $l)
1016
1040
  ]))), 128))
1017
1041
  ], 2)
1018
- ], 44, gl)
1019
- ], 64)) : C("", !0)
1042
+ ], 44, xl)
1043
+ ], 64)) : F("", !0)
1020
1044
  ], 6)
1021
1045
  ])
1022
1046
  ], 512);
1023
1047
  };
1024
1048
  }
1025
- }), $l = { class: "flex w-full items-center justify-between" }, Bl = ["for", "title"], Cl = { key: 1 }, Tl = { class: "ml-auto flex shrink-0 items-center" }, Vl = ["id", "name", "checked", "disabled", "aria-checked"], Bo = /* @__PURE__ */ L({
1049
+ }), Tl = { class: "flex w-full items-center justify-between" }, Vl = ["for", "title"], Ml = { key: 1 }, Sl = { class: "ml-auto flex shrink-0 items-center" }, _l = ["id", "name", "checked", "disabled", "aria-checked"], Pn = /* @__PURE__ */ I({
1026
1050
  __name: "BlueCheckbox",
1027
1051
  props: {
1028
1052
  modelValue: { type: [Boolean, null] },
@@ -1035,65 +1059,65 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1035
1059
  theme: {}
1036
1060
  },
1037
1061
  emits: ["update:modelValue"],
1038
- setup(c, { emit: n }) {
1039
- const e = c, t = n, o = k(() => e.modelValue === !0), l = () => {
1040
- e.disabled || t("update:modelValue", e.indeterminate ? !0 : !o.value);
1062
+ setup(p, { emit: o }) {
1063
+ const e = p, t = o, l = k(() => e.modelValue === !0), n = () => {
1064
+ e.disabled || t("update:modelValue", e.indeterminate ? !0 : !l.value);
1041
1065
  };
1042
- return (s, u) => (a(), d("div", $l, [
1043
- s.label ? (a(), d("label", {
1066
+ return (a, f) => (i(), c("div", Tl, [
1067
+ a.label ? (i(), c("label", {
1044
1068
  key: 0,
1045
- for: s.name,
1046
- class: y(["min-w-0 max-w-[45%] shrink-0 truncate text-start mr-6", [s.theme === "dark" ? "text-white" : "text-black", s.disabled ? "opacity-30" : "cursor-pointer"]]),
1047
- title: s.label
1048
- }, B(s.label), 11, Bl)) : (a(), d("div", Cl)),
1049
- i("div", Tl, [
1050
- s.infoTooltip ? (a(), U(ie, {
1069
+ for: a.name,
1070
+ class: v(["min-w-0 max-w-[45%] shrink-0 truncate text-start mr-6", [a.theme === "dark" ? "text-white" : "text-black", a.disabled ? "opacity-30" : "cursor-pointer"]]),
1071
+ title: a.label
1072
+ }, C(a.label), 11, Vl)) : (i(), c("div", Ml)),
1073
+ r("div", Sl, [
1074
+ a.infoTooltip ? (i(), N(se, {
1051
1075
  key: 0,
1052
- text: s.infoTooltip,
1053
- theme: s.theme,
1076
+ text: a.infoTooltip,
1077
+ theme: a.theme,
1054
1078
  class: "items-center mr-2"
1055
1079
  }, {
1056
- default: N(() => [
1057
- O(H, {
1080
+ default: j(() => [
1081
+ W(G, {
1058
1082
  name: "mdi-information-outline",
1059
1083
  size: 16,
1060
- label: s.infoTooltip,
1061
- class: y(["cursor-help", [s.disabled ? "opacity-30" : "opacity-60", s.theme === "dark" ? "text-white" : "text-black"]])
1084
+ label: a.infoTooltip,
1085
+ class: v(["cursor-help", [a.disabled ? "opacity-30" : "opacity-60", a.theme === "dark" ? "text-white" : "text-black"]])
1062
1086
  }, null, 8, ["label", "class"])
1063
1087
  ]),
1064
1088
  _: 1
1065
- }, 8, ["text", "theme"])) : C("", !0),
1066
- i("label", {
1067
- class: y(["relative inline-flex items-center", s.disabled ? "opacity-30" : "cursor-pointer"])
1089
+ }, 8, ["text", "theme"])) : F("", !0),
1090
+ r("label", {
1091
+ class: v(["relative inline-flex items-center", a.disabled ? "opacity-30" : "cursor-pointer"])
1068
1092
  }, [
1069
- i("input", {
1070
- id: s.name,
1093
+ r("input", {
1094
+ id: a.name,
1071
1095
  type: "checkbox",
1072
1096
  class: "peer absolute h-0 w-0 opacity-0",
1073
- name: s.name,
1074
- checked: o.value,
1075
- disabled: s.disabled,
1076
- "aria-checked": s.indeterminate ? "mixed" : o.value,
1077
- onChange: l
1078
- }, null, 40, Vl),
1079
- i("span", {
1080
- class: y(["bluevue-elevation-1 flex h-[18px] w-[18px] items-center justify-center rounded-[4px] border transition-colors peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--bluevue-accent)]", [
1081
- o.value || s.indeterminate ? "border-transparent" : s.theme === "dark" ? "border-[#ffffff44] bg-[#00000022]" : "border-[#00000044] bg-white"
1097
+ name: a.name,
1098
+ checked: l.value,
1099
+ disabled: a.disabled,
1100
+ "aria-checked": a.indeterminate ? "mixed" : l.value,
1101
+ onChange: n
1102
+ }, null, 40, _l),
1103
+ r("span", {
1104
+ class: v(["bluevue-elevation-1 flex h-[18px] w-[18px] items-center justify-center rounded-[4px] border transition-colors peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--bluevue-accent)]", [
1105
+ l.value || a.indeterminate ? "border-transparent" : a.theme === "dark" ? "border-[#ffffff44] bg-[#00000022]" : "border-[#00000044] bg-white"
1082
1106
  ]]),
1083
- style: D({ backgroundColor: o.value || s.indeterminate ? s.color || "var(--bluevue-primary)" : void 0 })
1107
+ style: E({ backgroundColor: l.value || a.indeterminate ? a.color || "var(--bluevue-primary)" : void 0 })
1084
1108
  }, [
1085
- o.value || s.indeterminate ? (a(), U(H, {
1109
+ l.value || a.indeterminate ? (i(), N(G, {
1086
1110
  key: 0,
1087
- name: s.indeterminate ? "mdi-minus" : "mdi-check",
1111
+ name: a.indeterminate ? "mdi-minus" : "mdi-check",
1088
1112
  size: 14,
1089
1113
  color: "#ffffff"
1090
- }, null, 8, ["name"])) : C("", !0)
1114
+ }, null, 8, ["name"])) : F("", !0)
1091
1115
  ], 6)
1092
1116
  ], 2)
1093
1117
  ])
1094
1118
  ]));
1095
1119
  }
1096
- }), Fl = { class: "min-w-0 truncate" }, _l = ["aria-label"], Ml = /* @__PURE__ */ L({
1120
+ }), Rl = { class: "min-w-0 truncate" }, Ll = ["aria-label"], El = /* @__PURE__ */ I({
1097
1121
  __name: "BlueChip",
1098
1122
  props: {
1099
1123
  label: {},
@@ -1104,50 +1128,50 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1104
1128
  size: {}
1105
1129
  },
1106
1130
  emits: ["close"],
1107
- setup(c) {
1108
- const n = c, e = {
1131
+ setup(p) {
1132
+ const o = p, e = {
1109
1133
  success: "#66BB6A",
1110
1134
  error: "#EF5350",
1111
1135
  warning: "#FFB74D",
1112
1136
  info: "#42A5F5",
1113
1137
  neutral: "#90A4AE"
1114
- }, t = k(() => e[n.color ?? "neutral"] ?? n.color ?? e.neutral), o = k(() => n.variant === "filled"), l = k(() => ({
1115
- color: o.value ? "#ffffff" : t.value,
1116
- backgroundColor: o.value ? t.value : n.variant === "outlined" ? "transparent" : `color-mix(in srgb, ${t.value} 18%, transparent)`,
1117
- borderColor: n.variant === "outlined" ? t.value : "transparent"
1138
+ }, t = k(() => e[o.color ?? "neutral"] ?? o.color ?? e.neutral), l = k(() => o.variant === "filled"), n = k(() => ({
1139
+ color: l.value ? "#ffffff" : t.value,
1140
+ backgroundColor: l.value ? t.value : o.variant === "outlined" ? "transparent" : `color-mix(in srgb, ${t.value} 18%, transparent)`,
1141
+ borderColor: o.variant === "outlined" ? t.value : "transparent"
1118
1142
  }));
1119
- return (s, u) => (a(), d("span", {
1120
- class: y(["inline-flex max-w-full shrink-0 items-center gap-1 whitespace-nowrap rounded-full border", s.size === "small" ? "h-[18px] px-2 text-[11px]" : "h-[22px] px-[10px] text-[12px]"]),
1121
- style: D(l.value)
1143
+ return (a, f) => (i(), c("span", {
1144
+ class: v(["inline-flex max-w-full shrink-0 items-center gap-1 whitespace-nowrap rounded-full border", a.size === "small" ? "h-[18px] px-2 text-[11px]" : "h-[22px] px-[10px] text-[12px]"]),
1145
+ style: E(n.value)
1122
1146
  }, [
1123
- s.icon ? (a(), U(H, {
1147
+ a.icon ? (i(), N(G, {
1124
1148
  key: 0,
1125
- name: s.icon,
1126
- size: s.size === "small" ? 12 : 14
1127
- }, null, 8, ["name", "size"])) : C("", !0),
1128
- i("span", Fl, [
1129
- j(s.$slots, "default", {}, () => [
1130
- oe(B(s.label), 1)
1149
+ name: a.icon,
1150
+ size: a.size === "small" ? 12 : 14
1151
+ }, null, 8, ["name", "size"])) : F("", !0),
1152
+ r("span", Rl, [
1153
+ O(a.$slots, "default", {}, () => [
1154
+ oe(C(a.label), 1)
1131
1155
  ])
1132
1156
  ]),
1133
- s.closable ? (a(), d("button", {
1157
+ a.closable ? (i(), c("button", {
1134
1158
  key: 1,
1135
1159
  type: "button",
1136
1160
  class: "-mr-1 cursor-pointer opacity-70 transition-opacity hover:opacity-100",
1137
- "aria-label": `Remove ${s.label}`,
1138
- onClick: u[0] || (u[0] = (r) => s.$emit("close"))
1161
+ "aria-label": `Remove ${a.label}`,
1162
+ onClick: f[0] || (f[0] = (u) => a.$emit("close"))
1139
1163
  }, [
1140
- O(H, {
1164
+ W(G, {
1141
1165
  name: "mdi-close",
1142
- size: s.size === "small" ? 12 : 14
1166
+ size: a.size === "small" ? 12 : 14
1143
1167
  }, null, 8, ["size"])
1144
- ], 8, _l)) : C("", !0)
1168
+ ], 8, Ll)) : F("", !0)
1145
1169
  ], 6));
1146
1170
  }
1147
- }), Sl = {
1171
+ }), Dl = {
1148
1172
  key: 0,
1149
1173
  class: "text-sm leading-relaxed text-[#ffffffcc]"
1150
- }, Co = /* @__PURE__ */ L({
1174
+ }, An = /* @__PURE__ */ I({
1151
1175
  __name: "BlueConfirmDialog",
1152
1176
  props: {
1153
1177
  modelValue: { type: Boolean },
@@ -1159,115 +1183,145 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1159
1183
  icon: {}
1160
1184
  },
1161
1185
  emits: ["update:modelValue", "confirm"],
1162
- setup(c, { emit: n }) {
1163
- const e = n, t = q(null);
1164
- function o() {
1165
- var l;
1166
- (l = t.value) == null || l.close(), e("confirm");
1186
+ setup(p, { emit: o }) {
1187
+ const e = o, t = $(null);
1188
+ function l() {
1189
+ var n;
1190
+ (n = t.value) == null || n.close(), e("confirm");
1167
1191
  }
1168
- return (l, s) => (a(), U($e, {
1192
+ return (n, a) => (i(), N(Be, {
1169
1193
  ref_key: "dialogRef",
1170
1194
  ref: t,
1171
- "model-value": l.modelValue,
1172
- title: l.title,
1173
- icon: l.icon || (l.danger ? "mdi-alert-outline" : "mdi-help-circle-outline"),
1174
- "icon-color": l.danger ? "var(--bluevue-error)" : void 0,
1195
+ "model-value": n.modelValue,
1196
+ title: n.title,
1197
+ icon: n.icon || (n.danger ? "mdi-alert-outline" : "mdi-help-circle-outline"),
1198
+ "icon-color": n.danger ? "var(--bluevue-error)" : void 0,
1175
1199
  width: "440px",
1176
- "onUpdate:modelValue": s[1] || (s[1] = (u) => e("update:modelValue", u))
1200
+ "onUpdate:modelValue": a[1] || (a[1] = (f) => e("update:modelValue", f))
1177
1201
  }, {
1178
- footer: N(() => [
1179
- O(ce, {
1202
+ footer: j(() => [
1203
+ W(re, {
1180
1204
  variant: "text",
1181
1205
  density: "compact",
1182
- onClick: s[0] || (s[0] = (u) => {
1183
- var r;
1184
- return (r = t.value) == null ? void 0 : r.close();
1206
+ onClick: a[0] || (a[0] = (f) => {
1207
+ var u;
1208
+ return (u = t.value) == null ? void 0 : u.close();
1185
1209
  })
1186
1210
  }, {
1187
- default: N(() => [
1188
- oe(B(l.cancelLabel || "Cancel"), 1)
1211
+ default: j(() => [
1212
+ oe(C(n.cancelLabel || "Cancel"), 1)
1189
1213
  ]),
1190
1214
  _: 1
1191
1215
  }),
1192
- O(ce, {
1216
+ W(re, {
1193
1217
  variant: "filled",
1194
1218
  density: "compact",
1195
- color: l.danger ? "var(--bluevue-error)" : void 0,
1196
- onClick: o
1219
+ color: n.danger ? "var(--bluevue-error)" : void 0,
1220
+ onClick: l
1197
1221
  }, {
1198
- default: N(() => [
1199
- oe(B(l.confirmLabel || "Confirm"), 1)
1222
+ default: j(() => [
1223
+ oe(C(n.confirmLabel || "Confirm"), 1)
1200
1224
  ]),
1201
1225
  _: 1
1202
1226
  }, 8, ["color"])
1203
1227
  ]),
1204
- default: N(() => [
1205
- l.message ? (a(), d("p", Sl, B(l.message), 1)) : C("", !0),
1206
- j(l.$slots, "default")
1228
+ default: j(() => [
1229
+ n.message ? (i(), c("p", Dl, C(n.message), 1)) : F("", !0),
1230
+ O(n.$slots, "default")
1207
1231
  ]),
1208
1232
  _: 3
1209
1233
  }, 8, ["model-value", "title", "icon", "icon-color"]));
1210
1234
  }
1211
- }), Rl = { class: "rounded-lg overflow-hidden" }, zl = { class: "flex-1 flex items-center" }, Dl = ["title"], To = /* @__PURE__ */ L({
1235
+ }), Il = { class: "rounded-lg overflow-hidden" }, zl = ["title"], On = /* @__PURE__ */ I({
1212
1236
  __name: "BlueExpansiblePanel",
1213
1237
  props: {
1214
1238
  title: {},
1215
1239
  expanded: { type: Boolean },
1240
+ bodyClass: {},
1241
+ headerAlign: {},
1216
1242
  theme: {}
1217
1243
  },
1218
1244
  emits: ["update:expanded"],
1219
- setup(c, { emit: n }) {
1220
- const e = c, t = n, o = q(e.expanded ?? !0), l = () => {
1221
- o.value = !o.value, t("update:expanded", o.value);
1245
+ setup(p, { emit: o }) {
1246
+ const e = p, t = o, l = $(e.expanded ?? !0), n = (s) => {
1247
+ const d = s;
1248
+ d.style.maxHeight = "0px";
1249
+ const q = d.scrollHeight;
1250
+ d.getBoundingClientRect(), d.style.maxHeight = `${q}px`;
1251
+ }, a = (s) => {
1252
+ const d = s;
1253
+ d.style.maxHeight = `${d.scrollHeight}px`, d.getBoundingClientRect(), d.style.maxHeight = "0px";
1254
+ }, f = (s) => {
1255
+ s.style.maxHeight = "";
1256
+ }, u = () => {
1257
+ l.value = !l.value, t("update:expanded", l.value);
1222
1258
  };
1223
- return X(
1259
+ return Q(
1224
1260
  () => e.expanded,
1225
1261
  (s) => {
1226
- s !== void 0 && (o.value = s);
1262
+ s !== void 0 && (l.value = s);
1227
1263
  },
1228
1264
  { immediate: !0 }
1229
- ), (s, u) => (a(), d("div", Rl, [
1230
- i("div", {
1265
+ ), (s, d) => (i(), c("div", Il, [
1266
+ r("div", {
1231
1267
  class: "flex items-center justify-between bg-transparent cursor-pointer select-none px-3 my-2",
1232
- onClick: l
1268
+ onClick: u
1233
1269
  }, [
1234
- i("div", zl, [
1235
- i("div", {
1236
- class: y(["flex-1 h-px", e.theme === "dark" ? "bg-[#ffffff22]" : "bg-[#00000033]"])
1237
- }, null, 2),
1238
- i("span", {
1239
- class: y(["mx-3 min-w-0 truncate text-sm font-medium opacity-60", e.theme === "dark" ? "text-white" : "text-black"]),
1270
+ r("div", {
1271
+ class: v(["flex-1 flex items-center", e.headerAlign === "end" ? "justify-end" : ""])
1272
+ }, [
1273
+ e.headerAlign !== "end" ? (i(), c("div", {
1274
+ key: 0,
1275
+ class: v(["flex-1 h-px", e.theme === "dark" ? "bg-[#ffffff22]" : "bg-[#00000033]"])
1276
+ }, null, 2)) : F("", !0),
1277
+ r("span", {
1278
+ class: v(["mx-3 min-w-0 truncate text-base font-normal opacity-60", e.theme === "dark" ? "text-white" : "text-black"]),
1240
1279
  title: s.title
1241
- }, B(s.title), 11, Dl),
1242
- i("div", {
1243
- class: y(["flex-1 h-px", e.theme === "dark" ? "bg-[#ffffff11]" : "bg-[#00000033]"])
1244
- }, null, 2)
1245
- ]),
1246
- i("span", {
1247
- class: y(["mdi ml-3 text-[24px] leading-none opacity-40", [
1248
- o.value ? "mdi-menu-up" : "mdi-menu-down",
1280
+ }, C(s.title), 11, zl),
1281
+ e.headerAlign !== "end" ? (i(), c("div", {
1282
+ key: 1,
1283
+ class: v(["flex-1 h-px", e.theme === "dark" ? "bg-[#ffffff11]" : "bg-[#00000033]"])
1284
+ }, null, 2)) : F("", !0)
1285
+ ], 2),
1286
+ r("span", {
1287
+ class: v(["mdi ml-3 text-[24px] leading-none opacity-40", [
1288
+ l.value ? "mdi-menu-up" : "mdi-menu-down",
1249
1289
  e.theme === "dark" ? "text-white" : "text-black"
1250
1290
  ]])
1251
1291
  }, null, 2)
1252
1292
  ]),
1253
- O(pt, { name: "bluevue-expand" }, {
1254
- default: N(() => [
1255
- Ve(i("div", {
1256
- class: y(["px-13 my-6 pb-2", e.theme === "dark" ? "border-[#555555]" : "border-[#dddddd]"])
1257
- }, [
1258
- j(s.$slots, "default")
1259
- ], 2), [
1260
- [mt, o.value]
1293
+ W(yt, {
1294
+ name: "bluevue-expand",
1295
+ onEnter: n,
1296
+ onLeave: a,
1297
+ onAfterEnter: f,
1298
+ onAfterLeave: f,
1299
+ onEnterCancelled: f,
1300
+ onLeaveCancelled: f
1301
+ }, {
1302
+ default: j(() => [
1303
+ Se(r("div", null, [
1304
+ r("div", {
1305
+ class: v([
1306
+ "flex flex-col gap-[15px]",
1307
+ e.bodyClass || "px-13 pt-4 pb-8",
1308
+ e.theme === "dark" ? "border-[#555555]" : "border-[#dddddd]"
1309
+ ])
1310
+ }, [
1311
+ O(s.$slots, "default")
1312
+ ], 2)
1313
+ ], 512), [
1314
+ [gt, l.value]
1261
1315
  ])
1262
1316
  ]),
1263
1317
  _: 3
1264
1318
  })
1265
1319
  ]));
1266
1320
  }
1267
- }), Ll = { class: "text-[13px]" }, Pl = {
1321
+ }), Pl = { class: "text-[13px]" }, Al = {
1268
1322
  key: 0,
1269
1323
  class: "text-[11px] opacity-60"
1270
- }, Il = ["accept", "multiple"], Vo = /* @__PURE__ */ L({
1324
+ }, Ol = ["accept", "multiple"], jn = /* @__PURE__ */ I({
1271
1325
  __name: "BlueFileDrop",
1272
1326
  props: {
1273
1327
  accept: {},
@@ -1278,68 +1332,320 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1278
1332
  theme: {}
1279
1333
  },
1280
1334
  emits: ["files"],
1281
- setup(c, { emit: n }) {
1282
- const e = c, t = n, o = q(), l = q(!1), s = q(0), u = (f) => {
1283
- e.disabled || !(f != null && f.length) || t("files", Array.from(f));
1284
- }, r = (f) => {
1285
- var x;
1286
- s.value = 0, l.value = !1, u(((x = f.dataTransfer) == null ? void 0 : x.files) ?? null);
1287
- }, v = (f) => {
1288
- const x = f.target;
1289
- u(x.files), x.value = "";
1335
+ setup(p, { emit: o }) {
1336
+ const e = p, t = o, l = $(), n = $(!1), a = $(0), f = (d) => {
1337
+ e.disabled || !(d != null && d.length) || t("files", Array.from(d));
1338
+ }, u = (d) => {
1339
+ var q;
1340
+ a.value = 0, n.value = !1, f(((q = d.dataTransfer) == null ? void 0 : q.files) ?? null);
1341
+ }, s = (d) => {
1342
+ const q = d.target;
1343
+ f(q.files), q.value = "";
1290
1344
  };
1291
- return (f, x) => (a(), d("div", {
1292
- class: y(["w-full", f.disabled ? "pointer-events-none opacity-30" : ""])
1345
+ return (d, q) => (i(), c("div", {
1346
+ class: v(["w-full", d.disabled ? "pointer-events-none opacity-30" : ""])
1293
1347
  }, [
1294
- i("button", {
1348
+ r("button", {
1295
1349
  type: "button",
1296
- class: y(["flex w-full cursor-pointer flex-col items-center justify-center gap-1 rounded-[8px] border border-dashed px-4 py-6 text-center transition-colors", [
1297
- l.value ? "border-[var(--bluevue-accent)] bg-[var(--bluevue-accent)]/10" : f.theme === "light" ? "border-[#00000033] hover:bg-[#00000006]" : "border-[#ffffff33] hover:bg-[#ffffff08]",
1298
- f.theme === "light" ? "text-black" : "text-white"
1350
+ class: v(["flex w-full cursor-pointer flex-col items-center justify-center gap-1 rounded-[8px] border border-dashed px-4 py-6 text-center transition-colors", [
1351
+ n.value ? "border-[var(--bluevue-accent)] bg-[var(--bluevue-accent)]/10" : d.theme === "light" ? "border-[#00000033] hover:bg-[#00000006]" : "border-[#ffffff33] hover:bg-[#ffffff08]",
1352
+ d.theme === "light" ? "text-black" : "text-white"
1299
1353
  ]]),
1300
- onClick: x[0] || (x[0] = (p) => {
1301
- var _;
1302
- return (_ = o.value) == null ? void 0 : _.click();
1354
+ onClick: q[0] || (q[0] = (x) => {
1355
+ var g;
1356
+ return (g = l.value) == null ? void 0 : g.click();
1303
1357
  }),
1304
- onDragenter: x[1] || (x[1] = ae((p) => {
1305
- s.value += 1, l.value = !0;
1358
+ onDragenter: q[1] || (q[1] = ae((x) => {
1359
+ a.value += 1, n.value = !0;
1306
1360
  }, ["prevent"])),
1307
- onDragover: x[2] || (x[2] = ae(() => {
1361
+ onDragover: q[2] || (q[2] = ae(() => {
1308
1362
  }, ["prevent"])),
1309
- onDragleave: x[3] || (x[3] = ae((p) => {
1310
- s.value -= 1, l.value = s.value > 0;
1363
+ onDragleave: q[3] || (q[3] = ae((x) => {
1364
+ a.value -= 1, n.value = a.value > 0;
1311
1365
  }, ["prevent"])),
1312
- onDrop: ae(r, ["prevent"])
1366
+ onDrop: ae(u, ["prevent"])
1313
1367
  }, [
1314
- O(H, {
1368
+ W(G, {
1315
1369
  name: "mdi-tray-arrow-up",
1316
1370
  size: 24,
1317
1371
  class: "opacity-70"
1318
1372
  }),
1319
- i("span", Ll, B(f.label ?? "Drop a file here, or press to choose one"), 1),
1320
- f.hint ? (a(), d("span", Pl, B(f.hint), 1)) : C("", !0)
1373
+ r("span", Pl, C(d.label ?? "Drop a file here, or press to choose one"), 1),
1374
+ d.hint ? (i(), c("span", Al, C(d.hint), 1)) : F("", !0)
1321
1375
  ], 34),
1322
- i("input", {
1376
+ r("input", {
1323
1377
  ref_key: "input",
1324
- ref: o,
1378
+ ref: l,
1325
1379
  type: "file",
1326
1380
  class: "hidden",
1327
- accept: f.accept,
1328
- multiple: f.multiple,
1329
- onChange: v
1330
- }, null, 40, Il)
1381
+ accept: d.accept,
1382
+ multiple: d.multiple,
1383
+ onChange: s
1384
+ }, null, 40, Ol)
1331
1385
  ], 2));
1332
1386
  }
1333
- }), El = { class: "flex w-full justify-between items-center" }, Al = {
1387
+ }), jl = { class: "flex shrink-0 items-center gap-2 pr-4" }, Wn = /* @__PURE__ */ I({
1388
+ __name: "BlueHeader",
1389
+ props: {
1390
+ height: {},
1391
+ leadingWidth: {},
1392
+ background: {},
1393
+ theme: {}
1394
+ },
1395
+ setup(p) {
1396
+ const o = p, e = k(() => o.theme !== "light"), t = k(() => e.value ? "#15151577" : "#00000008");
1397
+ return (l, n) => (i(), c("header", {
1398
+ class: v(["flex w-full items-center justify-between rounded-t-[8px]", e.value ? "text-white" : "text-black"]),
1399
+ style: E({ minHeight: l.height || "56px", backgroundColor: l.background || t.value })
1400
+ }, [
1401
+ r("div", {
1402
+ class: v(["flex min-w-0 items-center gap-3 self-stretch border-b border-solid pl-4", [l.leadingWidth ? "" : "flex-1", e.value ? "border-[#ffffff88]" : "border-[#00000066]"]]),
1403
+ style: E(l.leadingWidth ? { width: l.leadingWidth, maxWidth: "100%" } : void 0)
1404
+ }, [
1405
+ O(l.$slots, "leading")
1406
+ ], 6),
1407
+ r("div", jl, [
1408
+ O(l.$slots, "default")
1409
+ ])
1410
+ ], 6));
1411
+ }
1412
+ }), Wl = ["id"], Nl = {
1413
+ key: 0,
1414
+ class: "h-px bg-[#ffffff0d]"
1415
+ }, Hl = ["disabled", "onClick"], Ul = { class: "min-w-0" }, Kl = { class: "block text-[13px] leading-snug" }, Gl = {
1416
+ key: 0,
1417
+ class: "block text-[10px] text-[#ffffff66]"
1418
+ }, Jl = /* @__PURE__ */ I({
1419
+ __name: "BlueMenu",
1420
+ props: {
1421
+ modelValue: { type: Boolean },
1422
+ items: {},
1423
+ target: {}
1424
+ },
1425
+ emits: ["update:modelValue"],
1426
+ setup(p, { emit: o }) {
1427
+ const e = p, t = o, {
1428
+ anchorRef: l,
1429
+ popoverRef: n,
1430
+ popoverId: a,
1431
+ activatorProps: f,
1432
+ isOpen: u,
1433
+ isPositioned: s,
1434
+ floatingStyles: d,
1435
+ show: q,
1436
+ hide: x,
1437
+ onToggle: g
1438
+ } = he();
1439
+ Q(u, (T) => t("update:modelValue", T)), Q(
1440
+ () => [e.modelValue, e.target],
1441
+ ([T, S]) => {
1442
+ T ? q(S) : x();
1443
+ },
1444
+ { immediate: !0 }
1445
+ );
1446
+ function b(T) {
1447
+ x(), T.action();
1448
+ }
1449
+ return (T, S) => (i(), c(K, null, [
1450
+ T.target ? F("", !0) : (i(), c("span", {
1451
+ key: 0,
1452
+ ref_key: "anchorRef",
1453
+ ref: l,
1454
+ class: "inline-flex"
1455
+ }, [
1456
+ O(T.$slots, "activator", { props: V(f) })
1457
+ ], 512)),
1458
+ r("div", {
1459
+ id: V(a),
1460
+ ref_key: "popoverRef",
1461
+ ref: n,
1462
+ popover: "",
1463
+ class: "bluevue-popover",
1464
+ style: E(V(d)),
1465
+ onToggle: S[0] || (S[0] = //@ts-ignore
1466
+ (...D) => V(g) && V(g)(...D))
1467
+ }, [
1468
+ r("ul", {
1469
+ class: v(["bluevue-elevation-5 min-w-[220px] max-h-[60vh] overflow-y-auto rounded-[4px] border border-[#ffffff1a] bg-[#2d2d2d]", V(s) ? "opacity-100" : "opacity-0"])
1470
+ }, [
1471
+ (i(!0), c(K, null, Z(T.items, (D, m) => (i(), c("li", {
1472
+ key: D.title
1473
+ }, [
1474
+ m ? (i(), c("div", Nl)) : F("", !0),
1475
+ r("button", {
1476
+ type: "button",
1477
+ disabled: D.disabled,
1478
+ class: v(["flex w-full items-start gap-3 px-4 py-2 text-left", [
1479
+ D.danger ? "text-[#ff6b6b]" : "text-white",
1480
+ D.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer hover:bg-[#ffffff11]"
1481
+ ]]),
1482
+ onClick: (_) => b(D)
1483
+ }, [
1484
+ r("span", {
1485
+ class: v(["mdi shrink-0 mt-[2px] text-[18px] leading-none", D.icon])
1486
+ }, null, 2),
1487
+ r("span", Ul, [
1488
+ r("span", Kl, C(D.title), 1),
1489
+ D.hint ? (i(), c("span", Gl, C(D.hint), 1)) : F("", !0)
1490
+ ])
1491
+ ], 10, Hl)
1492
+ ]))), 128))
1493
+ ], 2)
1494
+ ], 44, Wl)
1495
+ ], 64));
1496
+ }
1497
+ }), Yl = ["disabled", "title", "aria-label"], Nn = /* @__PURE__ */ I({
1498
+ __name: "BlueHeaderMenu",
1499
+ props: {
1500
+ items: {},
1501
+ iconSize: {},
1502
+ tooltip: {},
1503
+ disabled: { type: Boolean },
1504
+ theme: {}
1505
+ },
1506
+ setup(p) {
1507
+ const o = p, e = $(!1), t = k(() => o.theme !== "light"), l = k(() => o.iconSize ?? 24);
1508
+ return (n, a) => (i(), N(Jl, {
1509
+ "model-value": e.value,
1510
+ items: n.items,
1511
+ "onUpdate:modelValue": a[0] || (a[0] = (f) => e.value = f)
1512
+ }, {
1513
+ activator: j(({ props: f }) => [
1514
+ r("button", ve(f, {
1515
+ type: "button",
1516
+ disabled: n.disabled,
1517
+ title: n.tooltip,
1518
+ "aria-label": n.tooltip,
1519
+ class: ["flex shrink-0 items-center justify-center rounded-[6px] transition-colors", [
1520
+ n.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
1521
+ t.value ? "text-[#ffffffcc] hover:text-white" : "text-[#000000cc] hover:text-black"
1522
+ ]],
1523
+ style: { width: `${l.value}px`, height: `${l.value}px` }
1524
+ }), [
1525
+ r("span", {
1526
+ class: v(["mdi leading-none", e.value ? "mdi-menu-open" : "mdi-menu-close"]),
1527
+ style: E({ fontSize: `${l.value}px` })
1528
+ }, null, 6)
1529
+ ], 16, Yl)
1530
+ ]),
1531
+ _: 1
1532
+ }, 8, ["model-value", "items"]));
1533
+ }
1534
+ }), Xl = ["disabled"], Zl = { class: "truncate" }, Ql = ["id"], eo = ["disabled", "onClick"], to = { class: "min-w-0" }, lo = { class: "block truncate text-[14px] leading-snug" }, Hn = /* @__PURE__ */ I({
1535
+ __name: "BlueHeaderSelector",
1536
+ props: {
1537
+ items: {},
1538
+ label: {},
1539
+ placeholder: {},
1540
+ disabled: { type: Boolean },
1541
+ theme: {},
1542
+ modelValue: {}
1543
+ },
1544
+ emits: ["update:modelValue"],
1545
+ setup(p, { emit: o }) {
1546
+ const e = p, t = o, {
1547
+ anchorRef: l,
1548
+ popoverRef: n,
1549
+ popoverId: a,
1550
+ activatorProps: f,
1551
+ isOpen: u,
1552
+ isPositioned: s,
1553
+ floatingStyles: d,
1554
+ hide: q,
1555
+ onToggle: x
1556
+ } = he({ matchAnchorWidth: !0 }), g = k(() => e.theme !== "light"), b = k(
1557
+ () => e.items.find((S) => (S.value ?? S.name) === e.modelValue)
1558
+ ), T = (S) => {
1559
+ S.disabled || (q(), t("update:modelValue", S.value ?? S.name));
1560
+ };
1561
+ return (S, D) => {
1562
+ var m, _;
1563
+ return i(), c("div", {
1564
+ ref_key: "anchorRef",
1565
+ ref: l,
1566
+ class: "min-w-0 flex-1"
1567
+ }, [
1568
+ r("button", ve(V(f), {
1569
+ type: "button",
1570
+ disabled: S.disabled,
1571
+ class: ["group relative flex h-[56px] w-full min-w-0 flex-col justify-center bg-transparent pr-8 pl-4 text-left transition-colors", [
1572
+ S.disabled ? "cursor-not-allowed opacity-40" : "cursor-pointer",
1573
+ g.value ? "hover:bg-[#ffffff08]" : "hover:bg-[#00000008]"
1574
+ ]]
1575
+ }), [
1576
+ S.label ? (i(), c("span", {
1577
+ key: 0,
1578
+ class: v(["block truncate text-[12px] leading-none", g.value ? "text-[#ffffffb3]" : "text-[#00000099]"])
1579
+ }, C(S.label), 3)) : F("", !0),
1580
+ r("span", {
1581
+ class: v(["mt-[6px] flex min-w-0 items-center gap-1 text-[16px] leading-none", g.value ? "text-white" : "text-black"])
1582
+ }, [
1583
+ (m = b.value) != null && m.icon ? (i(), c("span", {
1584
+ key: 0,
1585
+ class: v(["mdi shrink-0 text-[16px] leading-none opacity-70", b.value.icon])
1586
+ }, null, 2)) : F("", !0),
1587
+ r("span", Zl, C(((_ = b.value) == null ? void 0 : _.name) ?? S.placeholder), 1)
1588
+ ], 2),
1589
+ r("span", {
1590
+ class: v(["mdi mdi-menu-down absolute right-2 top-1/2 -translate-y-1/2 text-[24px] leading-none transition-transform", [g.value ? "text-[#ffffffb3]" : "text-[#00000099]", V(u) ? "rotate-180" : ""]])
1591
+ }, null, 2)
1592
+ ], 16, Xl),
1593
+ r("div", {
1594
+ id: V(a),
1595
+ ref_key: "popoverRef",
1596
+ ref: n,
1597
+ popover: "",
1598
+ class: "bluevue-popover",
1599
+ style: E(V(d)),
1600
+ onToggle: D[0] || (D[0] = //@ts-ignore
1601
+ (...L) => V(x) && V(x)(...L))
1602
+ }, [
1603
+ r("ul", {
1604
+ class: v(["bluevue-elevation-5 max-h-[60vh] overflow-y-auto rounded-[4px] border border-[#FFFFFF22]", [
1605
+ g.value ? "bg-[var(--bluevue-surface)]" : "bg-white",
1606
+ V(s) ? "opacity-100" : "opacity-0"
1607
+ ]])
1608
+ }, [
1609
+ (i(!0), c(K, null, Z(S.items, (L) => (i(), c("li", {
1610
+ key: String(L.value ?? L.name)
1611
+ }, [
1612
+ r("button", {
1613
+ type: "button",
1614
+ disabled: L.disabled,
1615
+ class: v(["flex w-full items-start gap-2 px-4 py-2 text-left", [
1616
+ g.value ? "text-white" : "text-black",
1617
+ L.disabled ? "cursor-not-allowed opacity-30" : g.value ? "cursor-pointer hover:bg-[#ffffff11]" : "cursor-pointer hover:bg-gray-100"
1618
+ ]]),
1619
+ onClick: (B) => T(L)
1620
+ }, [
1621
+ L.icon ? (i(), c("span", {
1622
+ key: 0,
1623
+ class: v(["mdi mt-[2px] shrink-0 text-[16px] leading-none opacity-70", L.icon])
1624
+ }, null, 2)) : F("", !0),
1625
+ r("span", to, [
1626
+ r("span", lo, C(L.name), 1),
1627
+ L.subtitle ? (i(), c("span", {
1628
+ key: 0,
1629
+ class: v(["block truncate text-[11px]", g.value ? "text-[#ffffff66]" : "text-[#00000066]"])
1630
+ }, C(L.subtitle), 3)) : F("", !0)
1631
+ ])
1632
+ ], 10, eo)
1633
+ ]))), 128))
1634
+ ], 2)
1635
+ ], 44, Ql)
1636
+ ], 512);
1637
+ };
1638
+ }
1639
+ }), oo = { class: "flex w-full justify-between items-center" }, no = {
1334
1640
  key: 0,
1335
1641
  class: "min-w-0 max-w-[45%] shrink-0"
1336
- }, jl = ["for", "title"], Ol = { key: 1 }, Nl = { class: "flex flex-col items-end min-w-0 shrink-[1000]" }, Wl = {
1642
+ }, ao = ["for", "title"], so = { key: 1 }, io = { class: "flex flex-col items-end min-w-0 shrink-[1000]" }, ro = {
1337
1643
  key: 0,
1338
1644
  class: "flex shrink-0 items-center pl-2"
1339
- }, Ul = ["id", "name", "value", "placeholder", "disabled", "autofocus", "inputmode"], Kl = {
1645
+ }, uo = ["id", "name", "value", "placeholder", "disabled", "autofocus", "inputmode"], co = {
1340
1646
  key: 0,
1341
1647
  class: "text-[14px] text-[var(--bluevue-error)]"
1342
- }, Re = /* @__PURE__ */ L({
1648
+ }, De = /* @__PURE__ */ I({
1343
1649
  __name: "BlueInput",
1344
1650
  props: {
1345
1651
  modelValue: {},
@@ -1360,136 +1666,136 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1360
1666
  errorMessages: {}
1361
1667
  },
1362
1668
  emits: ["update:modelValue"],
1363
- setup(c, { emit: n }) {
1364
- const e = c, t = n, o = k(() => e.errorMessages && e.errorMessages.length > 0), l = k(() => /^[°′″'"]+$/.test(e.suffix ?? "")), s = k(() => e.theme === "dark" ? "#FFFFFF11" : "#00000011"), u = /^-?\d*\.?\d*$/, r = (m) => m == null ? "" : String(m), v = q(r(e.modelValue)), f = q(null), x = q(!1);
1365
- pe(() => {
1669
+ setup(p, { emit: o }) {
1670
+ const e = p, t = o, l = k(() => e.errorMessages && e.errorMessages.length > 0), n = k(() => /^[°′″'"]+$/.test(e.suffix ?? "")), a = k(() => e.theme === "dark" ? "#FFFFFF11" : "#00000011"), f = /^-?\d*\.?\d*$/, u = (m) => m == null ? "" : String(m), s = $(u(e.modelValue)), d = $(null), q = $(!1);
1671
+ fe(() => {
1366
1672
  var m;
1367
- e.autofocus && ((m = f.value) == null || m.focus());
1673
+ e.autofocus && ((m = d.value) == null || m.focus());
1368
1674
  });
1369
- const p = (m) => {
1675
+ const x = (m) => {
1370
1676
  if (e.type !== "number") return m;
1371
1677
  if (m.trim() === "") return null;
1372
- const V = Number(m);
1373
- return Number.isFinite(V) ? V : null;
1374
- }, _ = (m) => {
1375
- const V = e.min !== void 0 ? Math.max(m, e.min) : m;
1376
- return e.max !== void 0 ? Math.min(V, e.max) : V;
1377
- }, $ = (m) => {
1378
- const V = m.target;
1379
- if (e.type === "number" && !u.test(V.value)) {
1380
- V.value = v.value;
1678
+ const _ = Number(m);
1679
+ return Number.isFinite(_) ? _ : null;
1680
+ }, g = (m) => {
1681
+ const _ = e.min !== void 0 ? Math.max(m, e.min) : m;
1682
+ return e.max !== void 0 ? Math.min(_, e.max) : _;
1683
+ }, b = (m) => {
1684
+ const _ = m.target;
1685
+ if (e.type === "number" && !f.test(_.value)) {
1686
+ _.value = s.value;
1381
1687
  return;
1382
1688
  }
1383
- v.value = V.value;
1384
- const E = p(v.value);
1385
- E === null && e.type === "number" || t("update:modelValue", E);
1386
- }, F = (m) => {
1689
+ s.value = _.value;
1690
+ const L = x(s.value);
1691
+ L === null && e.type === "number" || t("update:modelValue", L);
1692
+ }, T = (m) => {
1387
1693
  if (e.type !== "number" || e.disabled) return;
1388
- const V = e.step ?? 1, E = typeof e.modelValue == "number" ? e.modelValue : Number(v.value) || 0, w = (String(V).split(".")[1] ?? "").length, A = _(Number((E + m * V).toFixed(w)));
1389
- v.value = String(A), t("update:modelValue", A);
1390
- }, R = () => {
1694
+ const _ = e.step ?? 1, L = typeof e.modelValue == "number" ? e.modelValue : Number(s.value) || 0, B = (String(_).split(".")[1] ?? "").length, A = g(Number((L + m * _).toFixed(B)));
1695
+ s.value = String(A), t("update:modelValue", A);
1696
+ }, S = () => {
1391
1697
  if (e.type === "number" && typeof e.modelValue == "number") {
1392
- const m = _(e.modelValue);
1698
+ const m = g(e.modelValue);
1393
1699
  if (m !== e.modelValue) {
1394
- t("update:modelValue", m), v.value = String(m);
1700
+ t("update:modelValue", m), s.value = String(m);
1395
1701
  return;
1396
1702
  }
1397
1703
  }
1398
- v.value = r(e.modelValue);
1399
- }, P = () => {
1400
- x.value = !1, R();
1704
+ s.value = u(e.modelValue);
1705
+ }, D = () => {
1706
+ q.value = !1, S();
1401
1707
  };
1402
- return X(
1708
+ return Q(
1403
1709
  () => e.modelValue,
1404
1710
  (m) => {
1405
- p(v.value) !== m && (v.value = r(m));
1711
+ x(s.value) !== m && (s.value = u(m));
1406
1712
  }
1407
- ), (m, V) => {
1408
- var E;
1409
- return a(), d("div", El, [
1410
- m.label ? (a(), d("div", Al, [
1411
- i("label", {
1713
+ ), (m, _) => {
1714
+ var L;
1715
+ return i(), c("div", oo, [
1716
+ m.label ? (i(), c("div", no, [
1717
+ r("label", {
1412
1718
  for: m.name,
1413
- class: y(["block truncate text-start mr-6", [m.theme === "dark" ? "text-white" : "text-black", m.disabled ? "opacity-30" : ""]]),
1719
+ class: v(["block truncate text-start mr-6", [m.theme === "dark" ? "text-white" : "text-black", m.disabled ? "opacity-30" : ""]]),
1414
1720
  title: m.label
1415
- }, B(m.label), 11, jl)
1416
- ])) : (a(), d("div", Ol)),
1417
- j(m.$slots, "insetElement"),
1418
- m.infoTooltip ? (a(), U(ie, {
1721
+ }, C(m.label), 11, ao)
1722
+ ])) : (i(), c("div", so)),
1723
+ O(m.$slots, "insetElement"),
1724
+ m.infoTooltip ? (i(), N(se, {
1419
1725
  key: 2,
1420
1726
  text: m.infoTooltip,
1421
1727
  theme: m.theme,
1422
1728
  class: "items-center shrink-0 mr-2 ml-auto"
1423
1729
  }, {
1424
- default: N(() => [
1425
- O(H, {
1730
+ default: j(() => [
1731
+ W(G, {
1426
1732
  name: "mdi-information-outline",
1427
1733
  size: 16,
1428
1734
  label: m.infoTooltip,
1429
- class: y(["cursor-help", [m.disabled ? "opacity-30" : "opacity-60", m.theme === "dark" ? "text-white" : "text-black"]])
1735
+ class: v(["cursor-help", [m.disabled ? "opacity-30" : "opacity-60", m.theme === "dark" ? "text-white" : "text-black"]])
1430
1736
  }, null, 8, ["label", "class"])
1431
1737
  ]),
1432
1738
  _: 1
1433
- }, 8, ["text", "theme"])) : C("", !0),
1434
- i("div", Nl, [
1435
- i("div", {
1436
- class: y(["relative flex items-center rounded-[6px] bluevue-inset-1 min-w-[90px] max-w-full", [
1739
+ }, 8, ["text", "theme"])) : F("", !0),
1740
+ r("div", io, [
1741
+ r("div", {
1742
+ class: v(["relative flex items-center rounded-[6px] bluevue-inset-1 min-w-[90px] max-w-full", [
1437
1743
  m.disabled ? "opacity-30 pointer-events-none" : "",
1438
- o.value ? "border-2 border-solid border-[var(--bluevue-error)]" : ""
1744
+ l.value ? "border-2 border-solid border-[var(--bluevue-error)]" : ""
1439
1745
  ]]),
1440
- style: D({
1746
+ style: E({
1441
1747
  height: m.height || "30px",
1442
1748
  width: m.width || "auto",
1443
- backgroundColor: s.value,
1749
+ backgroundColor: a.value,
1444
1750
  paddingTop: "2px"
1445
1751
  })
1446
1752
  }, [
1447
- m.$slots.prepend ? (a(), d("div", Wl, [
1448
- j(m.$slots, "prepend")
1449
- ])) : C("", !0),
1450
- i("input", {
1753
+ m.$slots.prepend ? (i(), c("div", ro, [
1754
+ O(m.$slots, "prepend")
1755
+ ])) : F("", !0),
1756
+ r("input", {
1451
1757
  id: m.name,
1452
1758
  ref_key: "inputRef",
1453
- ref: f,
1759
+ ref: d,
1454
1760
  name: m.name,
1455
1761
  type: "text",
1456
- value: v.value,
1762
+ value: s.value,
1457
1763
  placeholder: m.placeholder,
1458
1764
  disabled: m.disabled,
1459
1765
  autofocus: m.autofocus,
1460
1766
  inputmode: m.type === "number" ? "decimal" : void 0,
1461
- class: y(["w-full min-w-0 bg-transparent text-sm font-medium outline-none", [
1767
+ class: v(["w-full min-w-0 bg-transparent text-sm font-medium outline-none", [
1462
1768
  m.$slots.prepend ? "pl-1" : "pl-4",
1463
1769
  m.suffix ? "pr-1" : "pr-4",
1464
1770
  m.theme === "dark" ? "text-white placeholder:text-[#ffffff44]" : "text-black placeholder:text-[#00000055]"
1465
1771
  ]]),
1466
- onInput: $,
1772
+ onInput: b,
1467
1773
  onKeydown: [
1468
- V[0] || (V[0] = de(ae((w) => F(1), ["prevent"]), ["up"])),
1469
- V[1] || (V[1] = de(ae((w) => F(-1), ["prevent"]), ["down"])),
1470
- de(R, ["enter"])
1774
+ _[0] || (_[0] = pe(ae((B) => T(1), ["prevent"]), ["up"])),
1775
+ _[1] || (_[1] = pe(ae((B) => T(-1), ["prevent"]), ["down"])),
1776
+ pe(S, ["enter"])
1471
1777
  ],
1472
- onFocus: V[2] || (V[2] = (w) => x.value = !0),
1473
- onBlur: P
1474
- }, null, 42, Ul),
1475
- m.suffix ? (a(), d("span", {
1778
+ onFocus: _[2] || (_[2] = (B) => q.value = !0),
1779
+ onBlur: D
1780
+ }, null, 42, uo),
1781
+ m.suffix ? (i(), c("span", {
1476
1782
  key: 1,
1477
- class: y(["shrink-0 pr-4 pl-1 text-sm select-none", [
1783
+ class: v(["shrink-0 pr-4 pl-1 text-sm select-none", [
1478
1784
  m.theme === "dark" ? "text-[#ffffff66]" : "text-[#00000066]",
1479
- l.value ? "translate-y-[0.22em]" : ""
1785
+ n.value ? "translate-y-[0.22em]" : ""
1480
1786
  ]])
1481
- }, B(m.suffix), 3)) : C("", !0),
1482
- i("div", {
1787
+ }, C(m.suffix), 3)) : F("", !0),
1788
+ r("div", {
1483
1789
  class: "pointer-events-none absolute inset-0 rounded-[6px]",
1484
- style: D({ border: `1px solid ${x.value ? "var(--bluevue-accent)" : "transparent"}` })
1790
+ style: E({ border: `1px solid ${q.value ? "var(--bluevue-accent)" : "transparent"}` })
1485
1791
  }, null, 4)
1486
1792
  ], 6),
1487
- o.value ? (a(), d("div", Kl, B(((E = m.errorMessages) == null ? void 0 : E[0]) || ""), 1)) : C("", !0)
1793
+ l.value ? (i(), c("div", co, C(((L = m.errorMessages) == null ? void 0 : L[0]) || ""), 1)) : F("", !0)
1488
1794
  ])
1489
1795
  ]);
1490
1796
  };
1491
1797
  }
1492
- }), Gl = ["aria-label", "aria-valuenow"], Hl = /* @__PURE__ */ L({
1798
+ }), po = ["aria-label", "aria-valuenow"], fo = /* @__PURE__ */ I({
1493
1799
  __name: "BlueProgressBar",
1494
1800
  props: {
1495
1801
  modelValue: {},
@@ -1499,35 +1805,35 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1499
1805
  theme: {},
1500
1806
  label: {}
1501
1807
  },
1502
- setup(c) {
1503
- const n = c, e = k(() => Math.min(100, Math.max(0, n.modelValue ?? 0)));
1504
- return (t, o) => (a(), d("div", {
1505
- class: y(["bluevue-progress w-full overflow-hidden rounded-full", t.theme === "light" ? "bg-[#00000022]" : "bg-[#ffffff1a]"]),
1506
- style: D({ height: `${t.height ?? 4}px` }),
1808
+ setup(p) {
1809
+ const o = p, e = k(() => Math.min(100, Math.max(0, o.modelValue ?? 0)));
1810
+ return (t, l) => (i(), c("div", {
1811
+ class: v(["bluevue-progress w-full overflow-hidden rounded-full", t.theme === "light" ? "bg-[#00000022]" : "bg-[#ffffff1a]"]),
1812
+ style: E({ height: `${t.height ?? 4}px` }),
1507
1813
  role: "progressbar",
1508
1814
  "aria-label": t.label,
1509
1815
  "aria-valuenow": t.indeterminate ? void 0 : e.value,
1510
1816
  "aria-valuemin": "0",
1511
1817
  "aria-valuemax": "100"
1512
1818
  }, [
1513
- i("div", {
1514
- class: y(["h-full rounded-full", t.indeterminate ? "bluevue-progress__sweep" : "transition-[width] duration-200 ease-out"]),
1515
- style: D({
1819
+ r("div", {
1820
+ class: v(["h-full rounded-full", t.indeterminate ? "bluevue-progress__sweep" : "transition-[width] duration-200 ease-out"]),
1821
+ style: E({
1516
1822
  width: t.indeterminate ? void 0 : `${e.value}%`,
1517
1823
  backgroundColor: t.color || "var(--bluevue-primary)"
1518
1824
  })
1519
1825
  }, null, 6)
1520
- ], 14, Gl));
1826
+ ], 14, po));
1521
1827
  }
1522
- }), Jl = { class: "min-w-0 flex-1" }, Yl = { class: "truncate text-base leading-tight" }, Xl = {
1828
+ }), mo = { class: "min-w-0 flex-1" }, vo = { class: "truncate text-base leading-tight" }, ho = {
1523
1829
  key: 0,
1524
1830
  class: "mt-1 truncate text-xs text-[#ffffff88]"
1525
- }, Zl = { class: "flex items-start" }, Ql = /* @__PURE__ */ i("div", { class: "h-px w-full bg-[#ffffff1a]" }, null, -1), e2 = [
1526
- Ql
1527
- ], t2 = { class: "flex w-[84px] shrink-0 flex-col items-center gap-1" }, l2 = ["title"], o2 = {
1831
+ }, bo = { class: "flex items-start" }, yo = /* @__PURE__ */ r("div", { class: "h-px w-full bg-[#ffffff1a]" }, null, -1), go = [
1832
+ yo
1833
+ ], qo = { class: "flex w-[84px] shrink-0 flex-col items-center gap-1" }, wo = ["title"], ko = {
1528
1834
  key: 0,
1529
1835
  class: "mt-4 border-t border-[#ffffff0d] pt-4"
1530
- }, n2 = { class: "mb-2 flex items-baseline justify-between" }, s2 = { class: "truncate text-xs text-[#ffffffcc]" }, a2 = { class: "flex shrink-0 gap-2 pl-3" }, We = 22, Fo = /* @__PURE__ */ L({
1836
+ }, xo = { class: "mb-2 flex items-baseline justify-between" }, $o = { class: "truncate text-xs text-[#ffffffcc]" }, Bo = { class: "flex shrink-0 gap-2 pl-3" }, He = 22, Un = /* @__PURE__ */ I({
1531
1837
  __name: "BlueStepsDialog",
1532
1838
  props: {
1533
1839
  modelValue: { type: Boolean },
@@ -1540,187 +1846,102 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1540
1846
  indeterminate: { type: Boolean }
1541
1847
  },
1542
1848
  emits: ["update:modelValue"],
1543
- setup(c, { emit: n }) {
1544
- const e = c, t = n, o = Ke(), l = {
1849
+ setup(p, { emit: o }) {
1850
+ const e = p, t = o, l = Ge(), n = {
1545
1851
  pending: { icon: "mdi-circle-outline", color: "#ffffff44" },
1546
1852
  running: { icon: "mdi-progress-clock", color: "#42A5F5" },
1547
1853
  done: { icon: "mdi-check-circle", color: "#66BB6A" },
1548
1854
  failed: { icon: "mdi-alert-circle", color: "#EF5350" },
1549
1855
  skipped: { icon: "mdi-minus-circle-outline", color: "#ffffff44" }
1550
- }, s = {
1856
+ }, a = {
1551
1857
  running: { icon: "mdi-cog-sync", color: "#42A5F5" },
1552
1858
  failed: { icon: "mdi-alert-circle", color: "#EF5350" },
1553
1859
  done: { icon: "mdi-check-circle", color: "#66BB6A" }
1554
- }, u = k(() => s[e.state]), r = k(() => e.progress !== void 0 || e.indeterminate || !!o.log), v = q(null);
1555
- let f = null;
1556
- const x = () => {
1557
- const p = v.value;
1558
- p && p.scrollHeight - p.scrollTop - p.clientHeight < 40 && (p.scrollTop = p.scrollHeight);
1860
+ }, f = k(() => a[e.state]), u = k(() => e.progress !== void 0 || e.indeterminate || !!l.log), s = $(null);
1861
+ let d = null;
1862
+ const q = () => {
1863
+ const x = s.value;
1864
+ x && x.scrollHeight - x.scrollTop - x.clientHeight < 40 && (x.scrollTop = x.scrollHeight);
1559
1865
  };
1560
- return X(v, (p) => {
1561
- f == null || f.disconnect(), f = null, p && (f = new MutationObserver(x), f.observe(p, { childList: !0, subtree: !0, characterData: !0 }));
1562
- }), me(() => f == null ? void 0 : f.disconnect()), (p, _) => (a(), U($e, {
1563
- "model-value": p.modelValue,
1564
- persistent: p.state === "running",
1866
+ return Q(s, (x) => {
1867
+ d == null || d.disconnect(), d = null, x && (d = new MutationObserver(q), d.observe(x, { childList: !0, subtree: !0, characterData: !0 }));
1868
+ }), me(() => d == null ? void 0 : d.disconnect()), (x, g) => (i(), N(Be, {
1869
+ "model-value": x.modelValue,
1870
+ persistent: x.state === "running",
1565
1871
  width: "620px",
1566
1872
  "body-class": "px-5 pb-4 pt-3",
1567
- "onUpdate:modelValue": _[0] || (_[0] = ($) => t("update:modelValue", $))
1568
- }, Ge({
1569
- header: N(() => [
1570
- O(H, {
1571
- name: u.value.icon,
1873
+ "onUpdate:modelValue": g[0] || (g[0] = (b) => t("update:modelValue", b))
1874
+ }, Je({
1875
+ header: j(() => [
1876
+ W(G, {
1877
+ name: f.value.icon,
1572
1878
  size: 22,
1573
- color: u.value.color,
1879
+ color: f.value.color,
1574
1880
  class: "mt-[2px]"
1575
1881
  }, null, 8, ["name", "color"]),
1576
- i("div", Jl, [
1577
- i("div", Yl, B(p.title), 1),
1578
- p.subtitle ? (a(), d("div", Xl, B(p.subtitle), 1)) : C("", !0)
1882
+ r("div", mo, [
1883
+ r("div", vo, C(x.title), 1),
1884
+ x.subtitle ? (i(), c("div", ho, C(x.subtitle), 1)) : F("", !0)
1579
1885
  ])
1580
1886
  ]),
1581
- default: N(() => [
1582
- i("div", Zl, [
1583
- (a(!0), d(J, null, Z(p.steps, ($, F) => (a(), d(J, {
1584
- key: $.key
1887
+ default: j(() => [
1888
+ r("div", bo, [
1889
+ (i(!0), c(K, null, Z(x.steps, (b, T) => (i(), c(K, {
1890
+ key: b.key
1585
1891
  }, [
1586
- F ? (a(), d("div", {
1892
+ T ? (i(), c("div", {
1587
1893
  key: 0,
1588
1894
  class: "flex flex-1 items-center",
1589
- style: D({ height: `${We}px` })
1590
- }, e2, 4)) : C("", !0),
1591
- i("div", t2, [
1592
- O(H, {
1593
- name: l[$.state].icon,
1594
- size: We,
1595
- color: l[$.state].color
1895
+ style: E({ height: `${He}px` })
1896
+ }, go, 4)) : F("", !0),
1897
+ r("div", qo, [
1898
+ W(G, {
1899
+ name: n[b.state].icon,
1900
+ size: He,
1901
+ color: n[b.state].color
1596
1902
  }, null, 8, ["name", "color"]),
1597
- i("span", {
1598
- class: y(["w-full truncate text-center text-[10px] leading-tight", $.state === "running" ? "text-white" : "text-[#ffffff77]"]),
1599
- title: $.detail || $.title
1600
- }, B($.title), 11, l2)
1903
+ r("span", {
1904
+ class: v(["w-full truncate text-center text-[10px] leading-tight", b.state === "running" ? "text-white" : "text-[#ffffff77]"]),
1905
+ title: b.detail || b.title
1906
+ }, C(b.title), 11, wo)
1601
1907
  ])
1602
1908
  ], 64))), 128))
1603
1909
  ]),
1604
- r.value ? (a(), d("div", o2, [
1605
- i("div", n2, [
1606
- i("span", s2, B(p.progressLabel), 1),
1607
- i("div", a2, [
1608
- j(p.$slots, "badges")
1910
+ u.value ? (i(), c("div", ko, [
1911
+ r("div", xo, [
1912
+ r("span", $o, C(x.progressLabel), 1),
1913
+ r("div", Bo, [
1914
+ O(x.$slots, "badges")
1609
1915
  ])
1610
1916
  ]),
1611
- O(Hl, {
1612
- "model-value": p.progress ?? 100,
1613
- indeterminate: p.indeterminate && p.state === "running",
1614
- color: p.state === "failed" ? "var(--bluevue-error)" : void 0,
1615
- label: p.progressLabel
1917
+ W(fo, {
1918
+ "model-value": x.progress ?? 100,
1919
+ indeterminate: x.indeterminate && x.state === "running",
1920
+ color: x.state === "failed" ? "var(--bluevue-error)" : void 0,
1921
+ label: x.progressLabel
1616
1922
  }, null, 8, ["model-value", "indeterminate", "color", "label"]),
1617
- M(o).log ? (a(), d("div", {
1923
+ V(l).log ? (i(), c("div", {
1618
1924
  key: 0,
1619
1925
  ref_key: "logRef",
1620
- ref: v,
1926
+ ref: s,
1621
1927
  class: "mt-3 max-h-[220px] overflow-y-auto rounded-[6px] bg-[#00000033] px-3 py-2 font-mono text-[11px]"
1622
1928
  }, [
1623
- j(p.$slots, "log")
1624
- ], 512)) : C("", !0)
1625
- ])) : C("", !0)
1929
+ O(x.$slots, "log")
1930
+ ], 512)) : F("", !0)
1931
+ ])) : F("", !0)
1626
1932
  ]),
1627
1933
  _: 2
1628
1934
  }, [
1629
- M(o).footer ? {
1935
+ V(l).footer ? {
1630
1936
  name: "footer",
1631
- fn: N(() => [
1632
- j(p.$slots, "footer")
1937
+ fn: j(() => [
1938
+ O(x.$slots, "footer")
1633
1939
  ]),
1634
1940
  key: "0"
1635
1941
  } : void 0
1636
1942
  ]), 1032, ["model-value", "persistent"]));
1637
1943
  }
1638
- }), i2 = ["id"], r2 = {
1639
- key: 0,
1640
- class: "h-px bg-[#ffffff0d]"
1641
- }, u2 = ["disabled", "onClick"], c2 = { class: "min-w-0" }, d2 = { class: "block text-[13px] leading-snug" }, p2 = {
1642
- key: 0,
1643
- class: "block text-[10px] text-[#ffffff66]"
1644
- }, _o = /* @__PURE__ */ L({
1645
- __name: "BlueMenu",
1646
- props: {
1647
- modelValue: { type: Boolean },
1648
- items: {},
1649
- target: {}
1650
- },
1651
- emits: ["update:modelValue"],
1652
- setup(c, { emit: n }) {
1653
- const e = c, t = n, {
1654
- anchorRef: o,
1655
- popoverRef: l,
1656
- popoverId: s,
1657
- activatorProps: u,
1658
- isOpen: r,
1659
- isPositioned: v,
1660
- floatingStyles: f,
1661
- show: x,
1662
- hide: p,
1663
- onToggle: _
1664
- } = ye();
1665
- X(r, (F) => t("update:modelValue", F)), X(
1666
- () => [e.modelValue, e.target],
1667
- ([F, R]) => {
1668
- F ? x(R) : p();
1669
- },
1670
- { immediate: !0 }
1671
- );
1672
- function $(F) {
1673
- p(), F.action();
1674
- }
1675
- return (F, R) => (a(), d(J, null, [
1676
- F.target ? C("", !0) : (a(), d("span", {
1677
- key: 0,
1678
- ref_key: "anchorRef",
1679
- ref: o,
1680
- class: "inline-flex"
1681
- }, [
1682
- j(F.$slots, "activator", { props: M(u) })
1683
- ], 512)),
1684
- i("div", {
1685
- id: M(s),
1686
- ref_key: "popoverRef",
1687
- ref: l,
1688
- popover: "",
1689
- class: "bluevue-popover",
1690
- style: D(M(f)),
1691
- onToggle: R[0] || (R[0] = //@ts-ignore
1692
- (...P) => M(_) && M(_)(...P))
1693
- }, [
1694
- i("ul", {
1695
- class: y(["bluevue-elevation-5 min-w-[220px] max-h-[60vh] overflow-y-auto rounded-[4px] border border-[#ffffff1a] bg-[#2d2d2d]", M(v) ? "opacity-100" : "opacity-0"])
1696
- }, [
1697
- (a(!0), d(J, null, Z(F.items, (P, m) => (a(), d("li", {
1698
- key: P.title
1699
- }, [
1700
- m ? (a(), d("div", r2)) : C("", !0),
1701
- i("button", {
1702
- type: "button",
1703
- disabled: P.disabled,
1704
- class: y(["flex w-full items-start gap-3 px-4 py-2 text-left", [
1705
- P.danger ? "text-[#ff6b6b]" : "text-white",
1706
- P.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer hover:bg-[#ffffff11]"
1707
- ]]),
1708
- onClick: (V) => $(P)
1709
- }, [
1710
- i("span", {
1711
- class: y(["mdi shrink-0 mt-[2px] text-[18px] leading-none", P.icon])
1712
- }, null, 2),
1713
- i("span", c2, [
1714
- i("span", d2, B(P.title), 1),
1715
- P.hint ? (a(), d("span", p2, B(P.hint), 1)) : C("", !0)
1716
- ])
1717
- ], 10, u2)
1718
- ]))), 128))
1719
- ], 2)
1720
- ], 44, i2)
1721
- ], 64));
1722
- }
1723
- }), m2 = { class: "flex-1 text-center text-xs text-[#ffffff88]" }, Mo = /* @__PURE__ */ L({
1944
+ }), Co = { class: "flex-1 text-center text-xs text-[#ffffff88]" }, Kn = /* @__PURE__ */ I({
1724
1945
  __name: "BluePromptDialog",
1725
1946
  props: {
1726
1947
  modelValue: { type: Boolean },
@@ -1735,84 +1956,84 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1735
1956
  hint: {}
1736
1957
  },
1737
1958
  emits: ["update:modelValue", "confirm"],
1738
- setup(c, { emit: n }) {
1739
- const e = c, t = n, o = q(e.initial ?? ""), l = q(e.notesInitial ?? ""), s = q(null);
1740
- X(
1959
+ setup(p, { emit: o }) {
1960
+ const e = p, t = o, l = $(e.initial ?? ""), n = $(e.notesInitial ?? ""), a = $(null);
1961
+ Q(
1741
1962
  () => e.modelValue,
1742
- (r) => {
1743
- r && (o.value = e.initial ?? "", l.value = e.notesInitial ?? "");
1963
+ (u) => {
1964
+ u && (l.value = e.initial ?? "", n.value = e.notesInitial ?? "");
1744
1965
  }
1745
1966
  );
1746
- function u() {
1747
- var v;
1748
- const r = o.value.trim();
1749
- r && ((v = s.value) == null || v.close(), t("confirm", r, l.value.trim()));
1967
+ function f() {
1968
+ var s;
1969
+ const u = l.value.trim();
1970
+ u && ((s = a.value) == null || s.close(), t("confirm", u, n.value.trim()));
1750
1971
  }
1751
- return (r, v) => (a(), U($e, {
1972
+ return (u, s) => (i(), N(Be, {
1752
1973
  ref_key: "dialogRef",
1753
- ref: s,
1754
- "model-value": r.modelValue,
1755
- title: r.title,
1756
- subtitle: r.subtitle,
1757
- icon: r.icon || "mdi-content-save-outline",
1974
+ ref: a,
1975
+ "model-value": u.modelValue,
1976
+ title: u.title,
1977
+ subtitle: u.subtitle,
1978
+ icon: u.icon || "mdi-content-save-outline",
1758
1979
  "body-class": "flex flex-col gap-3 px-5 py-4",
1759
- "onUpdate:modelValue": v[3] || (v[3] = (f) => t("update:modelValue", f))
1980
+ "onUpdate:modelValue": s[3] || (s[3] = (d) => t("update:modelValue", d))
1760
1981
  }, {
1761
- footer: N(() => [
1762
- O(ce, {
1982
+ footer: j(() => [
1983
+ W(re, {
1763
1984
  density: "compact",
1764
- onClick: v[2] || (v[2] = (f) => {
1765
- var x;
1766
- return (x = s.value) == null ? void 0 : x.close();
1985
+ onClick: s[2] || (s[2] = (d) => {
1986
+ var q;
1987
+ return (q = a.value) == null ? void 0 : q.close();
1767
1988
  })
1768
1989
  }, {
1769
- default: N(() => [
1990
+ default: j(() => [
1770
1991
  oe(" Cancel ")
1771
1992
  ]),
1772
1993
  _: 1
1773
1994
  }),
1774
- i("span", m2, B(r.hint), 1),
1775
- O(ce, {
1995
+ r("span", Co, C(u.hint), 1),
1996
+ W(re, {
1776
1997
  variant: "filled",
1777
1998
  density: "compact",
1778
- disabled: !o.value.trim(),
1779
- onClick: u
1999
+ disabled: !l.value.trim(),
2000
+ onClick: f
1780
2001
  }, {
1781
- default: N(() => [
1782
- oe(B(r.confirmLabel || "Save"), 1)
2002
+ default: j(() => [
2003
+ oe(C(u.confirmLabel || "Save"), 1)
1783
2004
  ]),
1784
2005
  _: 1
1785
2006
  }, 8, ["disabled"])
1786
2007
  ]),
1787
- default: N(() => [
1788
- O(Re, {
1789
- modelValue: o.value,
1790
- "onUpdate:modelValue": v[0] || (v[0] = (f) => o.value = f),
2008
+ default: j(() => [
2009
+ W(De, {
2010
+ modelValue: l.value,
2011
+ "onUpdate:modelValue": s[0] || (s[0] = (d) => l.value = d),
1791
2012
  name: "bluevue-prompt-name",
1792
- label: r.label,
2013
+ label: u.label,
1793
2014
  theme: "dark",
1794
2015
  width: "380px",
1795
2016
  autofocus: "",
1796
- onKeydown: de(u, ["enter"])
2017
+ onKeydown: pe(f, ["enter"])
1797
2018
  }, null, 8, ["modelValue", "label"]),
1798
- r.notesLabel ? (a(), U(Re, {
2019
+ u.notesLabel ? (i(), N(De, {
1799
2020
  key: 0,
1800
- modelValue: l.value,
1801
- "onUpdate:modelValue": v[1] || (v[1] = (f) => l.value = f),
2021
+ modelValue: n.value,
2022
+ "onUpdate:modelValue": s[1] || (s[1] = (d) => n.value = d),
1802
2023
  name: "bluevue-prompt-notes",
1803
- label: r.notesLabel,
2024
+ label: u.notesLabel,
1804
2025
  theme: "dark",
1805
2026
  width: "380px",
1806
- onKeydown: de(u, ["enter"])
1807
- }, null, 8, ["modelValue", "label"])) : C("", !0)
2027
+ onKeydown: pe(f, ["enter"])
2028
+ }, null, 8, ["modelValue", "label"])) : F("", !0)
1808
2029
  ]),
1809
2030
  _: 1
1810
2031
  }, 8, ["model-value", "title", "subtitle", "icon"]));
1811
2032
  }
1812
- }), f2 = ["name", "value", "checked", "disabled", "onChange"], v2 = {
2033
+ }), Fo = ["name", "value", "checked", "disabled", "onChange"], To = {
1813
2034
  key: 0,
1814
2035
  class: "h-[8px] w-[8px] rounded-full bg-[var(--bluevue-primary)]"
1815
- }, h2 = { class: "min-w-0 truncate text-[13px]" }, So = /* @__PURE__ */ L({
2036
+ }, Vo = { class: "min-w-0 truncate text-[13px]" }, Gn = /* @__PURE__ */ I({
1816
2037
  __name: "BlueRadioGroup",
1817
2038
  props: {
1818
2039
  modelValue: {},
@@ -1824,92 +2045,92 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1824
2045
  theme: {}
1825
2046
  },
1826
2047
  emits: ["update:modelValue"],
1827
- setup(c, { emit: n }) {
1828
- const e = n;
1829
- return (t, o) => (a(), d("fieldset", {
1830
- class: y(["w-full min-w-0", t.disabled ? "opacity-30" : ""])
2048
+ setup(p, { emit: o }) {
2049
+ const e = o;
2050
+ return (t, l) => (i(), c("fieldset", {
2051
+ class: v(["w-full min-w-0", t.disabled ? "opacity-30" : ""])
1831
2052
  }, [
1832
- t.label ? (a(), d("legend", {
2053
+ t.label ? (i(), c("legend", {
1833
2054
  key: 0,
1834
- class: y(["mb-2 text-[13px]", t.theme === "dark" ? "text-white" : "text-black"])
1835
- }, B(t.label), 3)) : C("", !0),
1836
- i("div", {
1837
- class: y(["flex", t.inline ? "flex-wrap items-center gap-x-5 gap-y-2" : "flex-col gap-2"])
2055
+ class: v(["mb-2 text-[13px]", t.theme === "dark" ? "text-white" : "text-black"])
2056
+ }, C(t.label), 3)) : F("", !0),
2057
+ r("div", {
2058
+ class: v(["flex", t.inline ? "flex-wrap items-center gap-x-5 gap-y-2" : "flex-col gap-2"])
1838
2059
  }, [
1839
- (a(!0), d(J, null, Z(t.items, (l) => (a(), d("label", {
1840
- key: l.value,
1841
- class: y(["flex items-center gap-2", [
1842
- t.disabled || l.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
2060
+ (i(!0), c(K, null, Z(t.items, (n) => (i(), c("label", {
2061
+ key: n.value,
2062
+ class: v(["flex items-center gap-2", [
2063
+ t.disabled || n.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
1843
2064
  t.theme === "dark" ? "text-white" : "text-black"
1844
2065
  ]])
1845
2066
  }, [
1846
- i("input", {
2067
+ r("input", {
1847
2068
  type: "radio",
1848
2069
  class: "peer absolute h-0 w-0 opacity-0",
1849
2070
  name: t.name,
1850
- value: l.value,
1851
- checked: t.modelValue === l.value,
1852
- disabled: t.disabled || l.disabled,
1853
- onChange: (s) => e("update:modelValue", l.value)
1854
- }, null, 40, f2),
1855
- i("span", {
1856
- class: y(["flex h-[16px] w-[16px] shrink-0 items-center justify-center rounded-full border transition-colors peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--bluevue-accent)]", t.modelValue === l.value ? "border-[var(--bluevue-primary)]" : t.theme === "dark" ? "border-[#ffffff44]" : "border-[#00000044]"])
2071
+ value: n.value,
2072
+ checked: t.modelValue === n.value,
2073
+ disabled: t.disabled || n.disabled,
2074
+ onChange: (a) => e("update:modelValue", n.value)
2075
+ }, null, 40, Fo),
2076
+ r("span", {
2077
+ class: v(["flex h-[16px] w-[16px] shrink-0 items-center justify-center rounded-full border transition-colors peer-focus-visible:outline peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--bluevue-accent)]", t.modelValue === n.value ? "border-[var(--bluevue-primary)]" : t.theme === "dark" ? "border-[#ffffff44]" : "border-[#00000044]"])
1857
2078
  }, [
1858
- t.modelValue === l.value ? (a(), d("span", v2)) : C("", !0)
2079
+ t.modelValue === n.value ? (i(), c("span", To)) : F("", !0)
1859
2080
  ], 2),
1860
- i("span", h2, B(l.label), 1),
1861
- l.hint ? (a(), U(ie, {
2081
+ r("span", Vo, C(n.label), 1),
2082
+ n.hint ? (i(), N(se, {
1862
2083
  key: 0,
1863
- text: l.hint,
2084
+ text: n.hint,
1864
2085
  theme: t.theme,
1865
2086
  class: "items-center"
1866
2087
  }, {
1867
- default: N(() => [
1868
- O(H, {
2088
+ default: j(() => [
2089
+ W(G, {
1869
2090
  name: "mdi-information-outline",
1870
2091
  size: 14,
1871
- label: l.hint,
2092
+ label: n.hint,
1872
2093
  class: "opacity-60"
1873
2094
  }, null, 8, ["label"])
1874
2095
  ]),
1875
2096
  _: 2
1876
- }, 1032, ["text", "theme"])) : C("", !0)
2097
+ }, 1032, ["text", "theme"])) : F("", !0)
1877
2098
  ], 2))), 128))
1878
2099
  ], 2)
1879
2100
  ], 2));
1880
2101
  }
1881
- }), b2 = { class: "mb-2 flex items-center gap-2" }, y2 = { class: "text-[13px] uppercase tracking-wide text-[#ffffff88]" }, g2 = {
2102
+ }), Mo = { class: "mb-2 flex items-center gap-2" }, So = { class: "text-[13px] uppercase tracking-wide text-[#ffffff88]" }, _o = {
1882
2103
  key: 0,
1883
2104
  class: "min-w-0 flex-1"
1884
- }, Ro = /* @__PURE__ */ L({
2105
+ }, Jn = /* @__PURE__ */ I({
1885
2106
  __name: "BlueSection",
1886
2107
  props: {
1887
2108
  title: {},
1888
2109
  gap: {}
1889
2110
  },
1890
- setup(c) {
1891
- return (n, e) => (a(), d("section", null, [
1892
- i("div", b2, [
1893
- i("span", y2, B(n.title), 1),
1894
- n.$slots.notes ? (a(), d("div", g2, [
1895
- j(n.$slots, "notes")
1896
- ])) : C("", !0)
2111
+ setup(p) {
2112
+ return (o, e) => (i(), c("section", null, [
2113
+ r("div", Mo, [
2114
+ r("span", So, C(o.title), 1),
2115
+ o.$slots.notes ? (i(), c("div", _o, [
2116
+ O(o.$slots, "notes")
2117
+ ])) : F("", !0)
1897
2118
  ]),
1898
- i("div", {
2119
+ r("div", {
1899
2120
  class: "flex flex-col",
1900
- style: D({ gap: `${n.gap ?? 12}px` })
2121
+ style: E({ gap: `${o.gap ?? 12}px` })
1901
2122
  }, [
1902
- j(n.$slots, "default")
2123
+ O(o.$slots, "default")
1903
2124
  ], 4)
1904
2125
  ]));
1905
2126
  }
1906
- }), q2 = { class: "flex w-full justify-between items-center" }, w2 = {
2127
+ }), Ro = { class: "flex w-full justify-between items-center" }, Lo = {
1907
2128
  key: 0,
1908
2129
  class: "min-w-0 max-w-[45%] shrink-0"
1909
- }, k2 = ["title"], x2 = { key: 1 }, $2 = { class: "flex flex-col items-end min-w-0 shrink-[1000]" }, B2 = ["disabled"], C2 = {
2130
+ }, Eo = ["title"], Do = { key: 1 }, Io = { class: "flex flex-col items-end min-w-0 shrink-[1000]" }, zo = ["disabled"], Po = {
1910
2131
  key: 0,
1911
2132
  class: "text-[14px] text-[var(--bluevue-error)]"
1912
- }, T2 = ["id"], V2 = ["disabled", "onClick"], zo = /* @__PURE__ */ L({
2133
+ }, Ao = ["id"], Oo = ["disabled", "onClick"], Yn = /* @__PURE__ */ I({
1913
2134
  __name: "BlueSelect",
1914
2135
  props: {
1915
2136
  items: {},
@@ -1924,144 +2145,144 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
1924
2145
  errorMessages: {}
1925
2146
  },
1926
2147
  emits: ["update:modelValue"],
1927
- setup(c, { emit: n }) {
1928
- const e = c, t = n, o = q([]), l = q({ name: "Select..." }), {
1929
- anchorRef: s,
1930
- popoverRef: u,
1931
- popoverId: r,
1932
- activatorProps: v,
1933
- isOpen: f,
1934
- isPositioned: x,
1935
- floatingStyles: p,
1936
- hide: _,
1937
- onToggle: $
1938
- } = ye({ matchAnchorWidth: !0 }), F = k(
2148
+ setup(p, { emit: o }) {
2149
+ const e = p, t = o, l = $([]), n = $({ name: "Select..." }), {
2150
+ anchorRef: a,
2151
+ popoverRef: f,
2152
+ popoverId: u,
2153
+ activatorProps: s,
2154
+ isOpen: d,
2155
+ isPositioned: q,
2156
+ floatingStyles: x,
2157
+ hide: g,
2158
+ onToggle: b
2159
+ } = he({ matchAnchorWidth: !0 }), T = k(
1939
2160
  () => e.errorMessages && e.errorMessages.length > 0
1940
- ), R = k(() => e.theme === "dark" ? "#FFFFFF05" : "#00000011"), P = (w) => {
2161
+ ), S = k(() => e.theme === "dark" ? "#FFFFFF05" : "#00000011"), D = (B) => {
1941
2162
  if (e.multiSelect) {
1942
- const A = e.items[w].value || e.items[w].name, K = o.value.indexOf(A);
1943
- K > -1 ? o.value.splice(K, 1) : o.value.push(A), t("update:modelValue", o.value);
2163
+ const A = e.items[B].value || e.items[B].name, J = l.value.indexOf(A);
2164
+ J > -1 ? l.value.splice(J, 1) : l.value.push(A), t("update:modelValue", l.value);
1944
2165
  } else {
1945
- const A = e.items[w].value || e.items[w].name;
1946
- l.value = e.items[w], t("update:modelValue", A), _();
2166
+ const A = e.items[B].value || e.items[B].name;
2167
+ n.value = e.items[B], t("update:modelValue", A), g();
1947
2168
  }
1948
- }, m = k(() => e.theme === "dark" ? "text-white" : "text-black"), V = k(() => e.theme === "dark" ? "text-white" : "text-black");
1949
- function E(w) {
1950
- return w.disabled || e.disabled ? "text-gray-500" : e.theme === "dark" ? "text-white" : "text-black";
2169
+ }, m = k(() => e.theme === "dark" ? "text-white" : "text-black"), _ = k(() => e.theme === "dark" ? "text-white" : "text-black");
2170
+ function L(B) {
2171
+ return B.disabled || e.disabled ? "text-gray-500" : e.theme === "dark" ? "text-white" : "text-black";
1951
2172
  }
1952
- return X(
2173
+ return Q(
1953
2174
  () => e.modelValue,
1954
- (w) => {
2175
+ (B) => {
1955
2176
  if (e.multiSelect)
1956
- Array.isArray(w) && (o.value = w);
2177
+ Array.isArray(B) && (l.value = B);
1957
2178
  else {
1958
2179
  const A = e.items.find(
1959
- (K) => K.value !== void 0 ? K.value === w : K.name === w
2180
+ (J) => J.value !== void 0 ? J.value === B : J.name === B
1960
2181
  );
1961
- l.value = A ?? { name: "Select..." };
2182
+ n.value = A ?? { name: "Select..." };
1962
2183
  }
1963
2184
  },
1964
2185
  { immediate: !0 }
1965
- ), (w, A) => {
1966
- var K;
1967
- return a(), d("div", q2, [
1968
- w.label ? (a(), d("div", w2, [
1969
- i("label", {
1970
- class: y(["block truncate text-start mr-6", [w.theme === "dark" ? "text-white" : "text-black", w.disabled ? "opacity-30" : ""]]),
1971
- title: w.label
1972
- }, B(w.label), 11, k2)
1973
- ])) : (a(), d("div", x2)),
1974
- j(w.$slots, "insetElement"),
1975
- w.infoTooltip ? (a(), U(ie, {
2186
+ ), (B, A) => {
2187
+ var J;
2188
+ return i(), c("div", Ro, [
2189
+ B.label ? (i(), c("div", Lo, [
2190
+ r("label", {
2191
+ class: v(["block truncate text-start mr-6", [B.theme === "dark" ? "text-white" : "text-black", B.disabled ? "opacity-30" : ""]]),
2192
+ title: B.label
2193
+ }, C(B.label), 11, Eo)
2194
+ ])) : (i(), c("div", Do)),
2195
+ O(B.$slots, "insetElement"),
2196
+ B.infoTooltip ? (i(), N(se, {
1976
2197
  key: 2,
1977
- text: w.infoTooltip,
1978
- theme: w.theme,
2198
+ text: B.infoTooltip,
2199
+ theme: B.theme,
1979
2200
  class: "items-center shrink-0 mr-2 ml-auto"
1980
2201
  }, {
1981
- default: N(() => [
1982
- O(H, {
2202
+ default: j(() => [
2203
+ W(G, {
1983
2204
  name: "mdi-information-outline",
1984
2205
  size: 16,
1985
- label: w.infoTooltip,
1986
- class: y(["cursor-help", [w.disabled ? "opacity-30" : "opacity-60", w.theme === "dark" ? "text-white" : "text-black"]])
2206
+ label: B.infoTooltip,
2207
+ class: v(["cursor-help", [B.disabled ? "opacity-30" : "opacity-60", B.theme === "dark" ? "text-white" : "text-black"]])
1987
2208
  }, null, 8, ["label", "class"])
1988
2209
  ]),
1989
2210
  _: 1
1990
- }, 8, ["text", "theme"])) : C("", !0),
1991
- i("div", $2, [
1992
- i("button", ke({
2211
+ }, 8, ["text", "theme"])) : F("", !0),
2212
+ r("div", Io, [
2213
+ r("button", ve({
1993
2214
  ref_key: "anchorRef",
1994
- ref: s
1995
- }, M(v), {
2215
+ ref: a
2216
+ }, V(s), {
1996
2217
  type: "button",
1997
- disabled: w.disabled,
2218
+ disabled: B.disabled,
1998
2219
  class: ["relative inline-flex items-center justify-between pl-4 rounded-[6px] bluevue-elevation-1 min-w-[90px] max-w-full", [
1999
- w.disabled ? "opacity-30" : "cursor-pointer",
2000
- F.value ? "border-2 border-solid border-[var(--bluevue-error)]" : ""
2220
+ B.disabled ? "opacity-30" : "cursor-pointer",
2221
+ T.value ? "border-2 border-solid border-[var(--bluevue-error)]" : ""
2001
2222
  ]],
2002
- style: { height: w.height || "30px", width: w.width || "auto", backgroundColor: R.value }
2223
+ style: { height: B.height || "30px", width: B.width || "auto", backgroundColor: S.value }
2003
2224
  }), [
2004
- i("span", {
2005
- class: y(["text-sm font-medium truncate min-w-0 mr-1 -mb-[1px]", V.value])
2006
- }, B(w.multiSelect ? o.value.length > 0 ? o.value.join(", ") : "Select..." : l.value.name), 3),
2007
- i("span", {
2008
- class: y(["mdi mdi-menu-down text-[24px] leading-none shrink-0 transition-transform", [m.value, M(f) ? "rotate-180" : ""]])
2225
+ r("span", {
2226
+ class: v(["text-sm font-medium truncate min-w-0 mr-1 -mb-[1px]", _.value])
2227
+ }, C(B.multiSelect ? l.value.length > 0 ? l.value.join(", ") : "Select..." : n.value.name), 3),
2228
+ r("span", {
2229
+ class: v(["mdi mdi-menu-down text-[24px] leading-none shrink-0 transition-transform", [m.value, V(d) ? "rotate-180" : ""]])
2009
2230
  }, null, 2)
2010
- ], 16, B2),
2011
- F.value ? (a(), d("div", C2, B(((K = w.errorMessages) == null ? void 0 : K[0]) || ""), 1)) : C("", !0)
2231
+ ], 16, zo),
2232
+ T.value ? (i(), c("div", Po, C(((J = B.errorMessages) == null ? void 0 : J[0]) || ""), 1)) : F("", !0)
2012
2233
  ]),
2013
- i("div", {
2014
- id: M(r),
2234
+ r("div", {
2235
+ id: V(u),
2015
2236
  ref_key: "popoverRef",
2016
- ref: u,
2237
+ ref: f,
2017
2238
  popover: "",
2018
2239
  class: "bluevue-popover",
2019
- style: D(M(p)),
2240
+ style: E(V(x)),
2020
2241
  onToggle: A[0] || (A[0] = //@ts-ignore
2021
- (...Y) => M($) && M($)(...Y))
2242
+ (...X) => V(b) && V(b)(...X))
2022
2243
  }, [
2023
- i("ul", {
2024
- class: y(["bluevue-elevation-5 max-h-[60vh] overflow-y-auto rounded-[4px] border border-[#FFFFFF22]", [
2025
- w.theme === "dark" ? "bg-[var(--bluevue-surface)]" : "bg-white",
2026
- M(x) ? "opacity-100" : "opacity-0"
2244
+ r("ul", {
2245
+ class: v(["bluevue-elevation-5 max-h-[60vh] overflow-y-auto rounded-[4px] border border-[#FFFFFF22]", [
2246
+ B.theme === "dark" ? "bg-[var(--bluevue-surface)]" : "bg-white",
2247
+ V(q) ? "opacity-100" : "opacity-0"
2027
2248
  ]])
2028
2249
  }, [
2029
- (a(!0), d(J, null, Z(w.items, (Y, te) => (a(), d("li", {
2030
- key: Y.name
2250
+ (i(!0), c(K, null, Z(B.items, (X, ee) => (i(), c("li", {
2251
+ key: X.name
2031
2252
  }, [
2032
- i("button", {
2253
+ r("button", {
2033
2254
  type: "button",
2034
- disabled: w.disabled || Y.disabled,
2035
- class: y(["flex w-full items-center justify-between gap-2 whitespace-nowrap px-4 py-2 text-left text-sm", [
2036
- E(Y),
2037
- w.disabled || Y.disabled ? "cursor-not-allowed" : w.theme === "dark" ? "cursor-pointer hover:bg-[#ffffff11]" : "cursor-pointer hover:bg-gray-100"
2255
+ disabled: B.disabled || X.disabled,
2256
+ class: v(["flex w-full items-center justify-between gap-2 whitespace-nowrap px-4 py-2 text-left text-sm", [
2257
+ L(X),
2258
+ B.disabled || X.disabled ? "cursor-not-allowed" : B.theme === "dark" ? "cursor-pointer hover:bg-[#ffffff11]" : "cursor-pointer hover:bg-gray-100"
2038
2259
  ]]),
2039
- onClick: (ee) => P(te)
2260
+ onClick: (te) => D(ee)
2040
2261
  }, [
2041
- i("span", {
2042
- class: y(["mdi mdi-check text-[16px] leading-none", o.value.includes(Y.value || Y.name) ? "" : "invisible"])
2262
+ r("span", {
2263
+ class: v(["mdi mdi-check text-[16px] leading-none", l.value.includes(X.value || X.name) ? "" : "invisible"])
2043
2264
  }, null, 2),
2044
- oe(" " + B(Y.name), 1)
2045
- ], 10, V2)
2265
+ oe(" " + C(X.name), 1)
2266
+ ], 10, Oo)
2046
2267
  ]))), 128))
2047
2268
  ], 2)
2048
- ], 44, T2)
2269
+ ], 44, Ao)
2049
2270
  ]);
2050
2271
  };
2051
2272
  }
2052
- }), F2 = { class: "flex w-full justify-between items-center" }, _2 = {
2053
- key: 0,
2054
- class: "min-w-0 max-w-[45%] shrink-0"
2055
- }, M2 = ["title"], S2 = { class: "flex w-1/2 min-w-0 items-center justify-between" }, R2 = { class: "absolute inset-x-[18%] top-1/2 -translate-y-1/2 flex justify-between pointer-events-none" }, z2 = { key: 0 }, D2 = {
2056
- class: "font-bold leading-none select-none",
2057
- draggable: "false"
2058
- }, L2 = { key: 1 }, P2 = ["min", "max", "step"], I2 = ["min", "max", "step", "disabled"], Do = /* @__PURE__ */ L({
2273
+ });
2274
+ let Ue = 0;
2275
+ function st(p) {
2276
+ return Ue += 1, `bluevue-${p}-${Ue}`;
2277
+ }
2278
+ const jo = { class: "flex w-full justify-between items-center" }, Wo = ["for", "title"], No = { class: "flex basis-[max(50%,320px)] min-w-[140px] items-center justify-start" }, Ho = { class: "absolute inset-x-[18%] top-1/2 -translate-y-1/2 flex justify-between pointer-events-none" }, Uo = { key: 0 }, Ko = { key: 1 }, Go = ["aria-label", "min", "max", "step"], Jo = ["id", "min", "max", "step", "disabled"], Xn = /* @__PURE__ */ I({
2059
2279
  __name: "BlueSlider",
2060
2280
  props: {
2061
2281
  color: {},
2062
2282
  disabled: { type: Boolean },
2063
2283
  height: {},
2064
2284
  label: {},
2285
+ labelWidth: {},
2065
2286
  labelMax: {},
2066
2287
  labelMin: {},
2067
2288
  max: {},
@@ -2070,6 +2291,7 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2070
2291
  step: {},
2071
2292
  keyboardStepMultiplierLimit: {},
2072
2293
  theme: {},
2294
+ valueWeight: {},
2073
2295
  width: {},
2074
2296
  modelValue: {},
2075
2297
  scaleFn: { type: Function },
@@ -2077,228 +2299,265 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2077
2299
  formatDisplay: { type: Function }
2078
2300
  },
2079
2301
  emits: ["update:modelValue"],
2080
- setup(c, { emit: n }) {
2081
- const e = c, t = n, o = (b) => {
2082
- if (!Number.isFinite(b) || b <= 0) return 0;
2083
- const z = b.toString();
2084
- if (z.includes("e-")) {
2085
- const ge = parseInt(z.split("e-")[1] ?? "0", 10);
2086
- return Math.min(6, Math.max(0, ge));
2302
+ setup(p, { emit: o }) {
2303
+ const e = p, t = o, l = $(null), n = st("slider"), a = (h) => {
2304
+ if (!Number.isFinite(h) || h <= 0) return 0;
2305
+ const P = h.toString();
2306
+ if (P.includes("e-")) {
2307
+ const we = parseInt(P.split("e-")[1] ?? "0", 10);
2308
+ return Math.min(6, Math.max(0, we));
2087
2309
  }
2088
- const [, W = ""] = z.split(".");
2089
- return Math.min(6, W.length);
2090
- }, l = q(e.modelValue ?? e.min), s = q(l.value), u = q(!1), r = q(!1), v = q(0), f = k(
2091
- () => e.scaleFn ? e.scaleFn(l.value) : l.value
2092
- ), x = k(
2310
+ const [, H = ""] = P.split(".");
2311
+ return Math.min(6, H.length);
2312
+ }, f = $(e.modelValue ?? e.min), u = $(f.value), s = $(!1), d = $(!1), q = $(0), x = k(
2313
+ () => e.scaleFn ? e.scaleFn(f.value) : f.value
2314
+ ), g = k(
2093
2315
  () => e.labelMin ? e.labelMin : e.formatDisplay ? e.formatDisplay(e.scaleFn ? e.scaleFn(e.min) : e.min) : e.min
2094
- ), p = k(
2316
+ ), b = k(
2095
2317
  () => e.labelMax ? e.labelMax : e.formatDisplay ? e.formatDisplay(e.scaleFn ? e.scaleFn(e.max) : e.max) : e.max
2096
- ), _ = k(() => {
2097
- const b = l.value;
2098
- return e.scaleFn ? e.scaleFn(b) : b;
2099
- }), $ = k(() => e.scaleFn ? e.scaleFn(e.min) : e.min), F = k(() => e.scaleFn ? e.scaleFn(e.max) : e.max), R = k(() => e.step ?? 0.1), P = k(() => {
2100
- const b = e.keyboardStepMultiplierLimit ?? 3;
2101
- return Number.isFinite(b) && b >= 1 ? b : 3;
2102
- }), m = q(0), V = q(0), E = q(0), w = () => {
2103
- m.value = 0, V.value = 0, E.value = 0;
2104
- }, A = (b) => {
2105
- const z = Date.now(), W = P.value;
2106
- E.value === b && z - m.value <= 250 || (V.value = 0), V.value += 1, m.value = z, E.value = b;
2107
- const Be = Math.min(1, (V.value - 1) / 6);
2108
- return 1 + (1 - Math.pow(1 - Be, 2)) * (W - 1);
2109
- }, K = k(() => {
2110
- if (!e.scaleFn) return R.value;
2111
- const b = e.scaleFn(e.min), z = e.scaleFn(e.min + R.value), W = Math.abs(z - b);
2112
- return W > 0 ? W : R.value;
2113
- }), Y = k(() => o(K.value)), te = (b, z) => {
2114
- const W = Math.max(R.value / 10, 1e-4);
2115
- return Math.abs(b - z) <= W;
2116
- }, ee = k(() => (l.value - e.min) / (e.max - e.min) * 100), re = q(0), fe = k(
2117
- () => `calc((100% - 70px) * ${(u.value ? re.value : ee.value) / 100})`
2118
- ), ne = (b) => {
2119
- b !== s.value && (s.value = b, t("update:modelValue", b));
2120
- }, h = q(null);
2121
- let S = null;
2122
- const g = q(0), I = () => {
2123
- h.value = null, g.value = 0, S && (clearTimeout(S), S = null);
2124
- }, T = (b) => {
2125
- h.value = b, g.value = Date.now() + 2e3, S && clearTimeout(S), S = window.setTimeout(() => {
2126
- S = null, h.value = null, g.value = 0;
2127
- }, 2e3);
2128
- }, G = () => {
2129
- const b = Math.min(Math.max(l.value, e.min), e.max);
2130
- l.value = b, ze(b);
2131
- }, Q = () => {
2132
- ve();
2133
- }, nt = () => {
2134
- v.value = Math.min(Math.max(v.value, $.value), F.value);
2318
+ ), T = k(() => {
2319
+ const h = f.value;
2320
+ return e.scaleFn ? e.scaleFn(h) : h;
2321
+ }), S = k(() => e.scaleFn ? e.scaleFn(e.min) : e.min), D = k(() => e.scaleFn ? e.scaleFn(e.max) : e.max), m = k(() => e.step ?? 0.1), _ = k(() => {
2322
+ const h = e.keyboardStepMultiplierLimit ?? 3;
2323
+ return Number.isFinite(h) && h >= 1 ? h : 3;
2324
+ }), L = $(0), B = $(0), A = $(0), J = () => {
2325
+ L.value = 0, B.value = 0, A.value = 0;
2326
+ }, X = (h) => {
2327
+ const P = Date.now(), H = _.value;
2328
+ A.value === h && P - L.value <= 250 || (B.value = 0), B.value += 1, L.value = P, A.value = h;
2329
+ const Te = Math.min(1, (B.value - 1) / 6);
2330
+ return 1 + (1 - Math.pow(1 - Te, 2)) * (H - 1);
2331
+ }, ee = k(() => {
2332
+ if (!e.scaleFn) return m.value;
2333
+ const h = e.scaleFn(e.min), P = e.scaleFn(e.min + m.value), H = Math.abs(P - h);
2334
+ return H > 0 ? H : m.value;
2335
+ }), te = k(() => a(ee.value)), ue = (h, P) => {
2336
+ const H = Math.max(m.value / 10, 1e-4);
2337
+ return Math.abs(h - P) <= H;
2338
+ }, de = k(() => {
2339
+ const h = e.max - e.min;
2340
+ return h > 0 ? (f.value - e.min) / h * 100 : 0;
2341
+ }), ce = $(0), y = k(
2342
+ () => `calc((100% - 70px) * ${(s.value ? ce.value : de.value) / 100})`
2343
+ ), z = $(!1), Y = (h) => {
2344
+ const P = Math.max(1e-6, m.value * 0.25);
2345
+ Math.abs(h - u.value) <= P || (u.value = h, t("update:modelValue", h));
2346
+ }, w = $(null);
2347
+ let M = null;
2348
+ const R = $(0), U = () => {
2349
+ w.value = null, R.value = 0, M && (clearTimeout(M), M = null);
2350
+ }, qe = (h) => {
2351
+ w.value = h, R.value = Date.now() + 400, M && clearTimeout(M), M = window.setTimeout(() => {
2352
+ M = null, w.value = null, R.value = 0;
2353
+ }, 400);
2354
+ }, it = () => {
2355
+ const h = Math.min(Math.max(f.value, e.min), e.max);
2356
+ f.value = h, Ie(h);
2357
+ }, rt = () => {
2358
+ be();
2359
+ }, ut = () => {
2360
+ Number.isFinite(q.value) && (q.value = Math.min(Math.max(q.value, S.value), D.value));
2135
2361
  };
2136
- let se = null, le = null;
2137
- const ze = (b) => {
2138
- if (le = b, se) return;
2139
- const z = le;
2140
- le = null, ne(z), se = window.setTimeout(() => {
2141
- if (se = null, le === null) return;
2142
- const W = le;
2143
- le = null, ne(W);
2362
+ let ne = null, le = null;
2363
+ const Ie = (h) => {
2364
+ if (le = h, ne) return;
2365
+ const P = le;
2366
+ le = null, Y(P), ne = window.setTimeout(() => {
2367
+ if (ne = null, le === null) return;
2368
+ const H = le;
2369
+ le = null, Y(H);
2144
2370
  }, 500);
2145
- }, st = () => {
2146
- if (se && (clearTimeout(se), se = null), le === null) return;
2147
- const b = le;
2148
- le = null, ne(b);
2149
- }, ve = () => {
2150
- r.value = !1;
2151
- const b = Math.min(Math.max(l.value, e.min), e.max);
2152
- l.value = b, le = b, st(), ne(b), T(b);
2153
- }, De = () => ve(), Le = () => ve(), at = () => {
2154
- e.disabled || u.value || (r.value = !0, I(), window.addEventListener("pointerup", De, { once: !0 }), window.addEventListener("pointercancel", Le, { once: !0 }));
2155
- }, Pe = (b) => b === "ArrowLeft" || b === "ArrowRight" || b === "ArrowUp" || b === "ArrowDown", it = (b) => {
2156
- if (e.disabled || u.value || !Pe(b.key)) return;
2157
- b.preventDefault();
2158
- const z = b.key === "ArrowRight" || b.key === "ArrowUp" ? 1 : -1, W = R.value;
2159
- if (!Number.isFinite(W) || W <= 0) return;
2160
- const ge = A(z), Ie = W * ge, Be = l.value + z * Ie, Ee = Math.min(Math.max(Be, e.min), e.max), ct = Math.round((Ee - e.min) / W), Ae = Math.min(
2161
- Math.max(e.min + ct * W, e.min),
2371
+ }, dt = () => {
2372
+ if (ne && (clearTimeout(ne), ne = null), le === null) return;
2373
+ const h = le;
2374
+ le = null, Y(h);
2375
+ }, be = () => {
2376
+ if (window.removeEventListener("pointerup", Ce), window.removeEventListener("pointercancel", Fe), !d.value) return;
2377
+ d.value = !1;
2378
+ const h = Math.min(Math.max(f.value, e.min), e.max);
2379
+ f.value = h, le = h, dt(), Y(h), qe(h);
2380
+ }, Ce = () => be(), Fe = () => be(), ct = () => {
2381
+ e.disabled || s.value || d.value || (d.value = !0, U(), window.addEventListener("pointerup", Ce), window.addEventListener("pointercancel", Fe));
2382
+ }, ze = (h) => h === "ArrowLeft" || h === "ArrowRight" || h === "ArrowUp" || h === "ArrowDown", pt = (h) => {
2383
+ if (e.disabled || s.value || !ze(h.key)) return;
2384
+ h.preventDefault();
2385
+ const P = h.key === "ArrowRight" || h.key === "ArrowUp" ? 1 : -1, H = m.value;
2386
+ if (!Number.isFinite(H) || H <= 0) return;
2387
+ const we = X(P), Pe = H * we, Te = f.value + P * Pe, Ae = Math.min(Math.max(Te, e.min), e.max), ht = Math.round((Ae - e.min) / H), Oe = Math.min(
2388
+ Math.max(e.min + ht * H, e.min),
2162
2389
  e.max
2163
2390
  );
2164
- l.value = Ae, ze(Ae), r.value || (r.value = !0, I());
2165
- }, rt = (b) => {
2166
- Pe(b.key) && (w(), ve());
2167
- }, ut = (b) => {
2168
- b.key === "Escape" ? (u.value = !1, v.value = e.scaleFn ? e.scaleFn(s.value) : s.value, l.value = s.value) : b.key === "Enter" && (u.value = !1);
2391
+ f.value = Oe, Ie(Oe), d.value || (d.value = !0, U());
2392
+ }, ft = (h) => {
2393
+ ze(h.key) && (J(), be());
2394
+ }, mt = (h) => {
2395
+ h.key === "Escape" ? (q.value = e.scaleFn ? e.scaleFn(u.value) : u.value, f.value = u.value, z.value = !0, s.value = !1) : h.key === "Enter" && (s.value = !1);
2396
+ }, vt = () => {
2397
+ window.setTimeout(() => {
2398
+ document.activeElement !== l.value && (s.value = !1);
2399
+ }, 150);
2169
2400
  };
2170
- return X(
2401
+ return Q(
2171
2402
  () => e.modelValue,
2172
- (b) => {
2173
- const z = b ?? e.min;
2174
- u.value || r.value || h.value !== null && Date.now() < g.value && !te(z, h.value) || (l.value = z);
2403
+ (h) => {
2404
+ const P = h ?? e.min;
2405
+ if (!(s.value || d.value)) {
2406
+ if (w.value !== null && Date.now() < R.value) {
2407
+ if (ue(P, w.value)) return;
2408
+ U();
2409
+ }
2410
+ f.value = P, u.value = P;
2411
+ }
2175
2412
  },
2176
2413
  { immediate: !0 }
2177
- ), X(u, (b) => {
2178
- if (b)
2179
- v.value = _.value, re.value = ee.value;
2414
+ ), Q(s, (h) => {
2415
+ if (h)
2416
+ q.value = T.value, ce.value = de.value;
2180
2417
  else {
2181
- const z = e.unscaleFn ? e.unscaleFn(v.value) : v.value;
2182
- l.value = Math.min(Math.max(z, e.min), e.max), ne(l.value), T(l.value);
2418
+ if (z.value) {
2419
+ z.value = !1;
2420
+ return;
2421
+ }
2422
+ Number.isFinite(q.value) || (q.value = T.value);
2423
+ const P = e.unscaleFn ? e.unscaleFn(q.value) : q.value;
2424
+ f.value = Math.min(Math.max(P, e.min), e.max), Y(f.value), qe(f.value);
2183
2425
  }
2184
2426
  }), me(() => {
2185
- se && clearTimeout(se), S && clearTimeout(S), window.removeEventListener("pointerup", De), window.removeEventListener("pointercancel", Le);
2186
- }), (b, z) => (a(), d("div", F2, [
2187
- b.label ? (a(), d("div", _2, [
2188
- i("label", {
2189
- class: y(["block truncate text-start mr-6", [b.theme === "dark" ? "text-white" : "text-black", b.disabled ? "opacity-30" : ""]]),
2190
- title: b.label
2191
- }, B(b.label), 11, M2)
2192
- ])) : C("", !0),
2193
- i("div", S2, [
2194
- i("div", {
2427
+ ne && clearTimeout(ne), M && clearTimeout(M), window.removeEventListener("pointerup", Ce), window.removeEventListener("pointercancel", Fe);
2428
+ }), (h, P) => (i(), c("div", jo, [
2429
+ h.label ? (i(), c("div", {
2430
+ key: 0,
2431
+ class: "min-w-0 max-w-[45%] shrink-0",
2432
+ style: E(h.labelWidth ? { minWidth: h.labelWidth } : void 0)
2433
+ }, [
2434
+ r("label", {
2435
+ for: V(n),
2436
+ class: v(["block truncate text-start mr-6", [h.theme === "dark" ? "text-white" : "text-black", h.disabled ? "opacity-30" : ""]]),
2437
+ title: h.label
2438
+ }, C(h.label), 11, Wo)
2439
+ ], 4)) : F("", !0),
2440
+ r("div", No, [
2441
+ r("div", {
2195
2442
  name: "slider-track",
2196
- class: y(["relative overflow-visible rounded-[6px] bluevue-elevation-1 min-w-[140px] max-w-full", [b.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", b.disabled ? "opacity-30" : ""]]),
2197
- style: D({ width: b.width || "100%", height: b.height || "30px", cursor: b.disabled ? "not-allowed" : "pointer" })
2443
+ class: v(["relative isolate w-full overflow-visible rounded-[6px] bluevue-elevation-1 min-w-[140px]", [h.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", h.disabled ? "opacity-30" : ""]]),
2444
+ style: E({ maxWidth: h.width || "100%", height: h.height || "30px", cursor: h.disabled ? "not-allowed" : "pointer" })
2198
2445
  }, [
2199
- i("div", R2, [
2200
- (a(), d(J, null, Z(6, (W) => i("div", {
2201
- key: W,
2446
+ r("div", Ho, [
2447
+ (i(), c(K, null, Z(6, (H) => r("div", {
2448
+ key: H,
2202
2449
  class: "mdi mdi-circle w-2 h-2",
2203
- style: D({
2450
+ style: E({
2204
2451
  fontSize: "6px",
2205
- color: b.theme === "dark" ? "#ffffff11" : "#00000011"
2452
+ color: h.theme === "dark" ? "#ffffff11" : "#00000011"
2206
2453
  })
2207
2454
  }, null, 4)), 64))
2208
2455
  ]),
2209
- i("div", {
2210
- class: y(["absolute translate-y-1/2 bottom-1/2 flex items-center justify-center text-white text-center text-[14px] whitespace-nowrap min-w-[60px] rounded-[6px] bluevue-elevation-1 z-50 h-3/4", u.value ? "pointer-events-auto" : "pointer-events-none select-none"]),
2211
- style: D({
2212
- left: fe.value,
2456
+ r("div", {
2457
+ class: v(["absolute translate-y-1/2 bottom-1/2 flex items-center justify-center text-white text-center text-[14px] whitespace-nowrap min-w-[60px] rounded-[6px] bluevue-elevation-1 z-50 h-3/4", s.value ? "pointer-events-auto" : "pointer-events-none select-none"]),
2458
+ style: E({
2459
+ left: y.value,
2213
2460
  marginLeft: "5px",
2214
- backgroundColor: b.color || "var(--bluevue-primary)"
2461
+ backgroundColor: h.color || "var(--bluevue-primary)"
2215
2462
  })
2216
2463
  }, [
2217
- u.value ? (a(), d("div", L2, [
2218
- Ve(i("input", {
2219
- ref: "editInput",
2220
- "onUpdate:modelValue": z[0] || (z[0] = (W) => v.value = W),
2464
+ s.value ? (i(), c("div", Ko, [
2465
+ Se(r("input", {
2466
+ ref_key: "editInput",
2467
+ ref: l,
2468
+ "onUpdate:modelValue": P[0] || (P[0] = (H) => q.value = H),
2221
2469
  type: "number",
2222
- min: $.value,
2223
- max: F.value,
2224
- step: K.value,
2470
+ "aria-label": h.label,
2471
+ min: S.value,
2472
+ max: D.value,
2473
+ step: ee.value,
2225
2474
  autofocus: "",
2226
2475
  class: "bg-white border border-gray-300 rounded px-1 py-0.5",
2227
- onInput: nt,
2228
- onKeydown: ut,
2229
- onBlur: z[1] || (z[1] = (W) => u.value = !1)
2230
- }, null, 40, P2), [
2476
+ onInput: ut,
2477
+ onKeydown: mt,
2478
+ onBlur: vt
2479
+ }, null, 40, Go), [
2231
2480
  [
2232
2481
  je,
2233
- v.value,
2482
+ q.value,
2234
2483
  void 0,
2235
2484
  { number: !0 }
2236
2485
  ]
2237
2486
  ])
2238
- ])) : (a(), d("div", z2, [
2239
- i("p", D2, B(b.formatDisplay ? b.formatDisplay(f.value) : f.value.toFixed(Y.value)), 1)
2487
+ ])) : (i(), c("div", Uo, [
2488
+ r("p", {
2489
+ class: v(["leading-none select-none", h.valueWeight === "regular" ? "font-normal" : "font-bold"]),
2490
+ draggable: "false"
2491
+ }, C(h.formatDisplay ? h.formatDisplay(x.value) : x.value.toFixed(te.value)), 3)
2240
2492
  ]))
2241
2493
  ], 6),
2242
- Ve(i("input", {
2243
- "onUpdate:modelValue": z[2] || (z[2] = (W) => l.value = W),
2494
+ Se(r("input", {
2495
+ id: V(n),
2496
+ "onUpdate:modelValue": P[1] || (P[1] = (H) => f.value = H),
2244
2497
  type: "range",
2245
- class: y(["absolute inset-0 w-full h-full opacity-0", b.disabled ? "cursor-not-allowed" : "cursor-pointer"]),
2498
+ class: v(["absolute inset-0 w-full h-full opacity-0", h.disabled ? "cursor-not-allowed" : "cursor-pointer"]),
2246
2499
  style: { width: "95%", left: "2.5%" },
2247
- min: b.min,
2248
- max: b.max,
2249
- step: R.value,
2250
- disabled: b.disabled || u.value,
2251
- onInput: G,
2252
- onChange: Q,
2253
- onPointerdown: at,
2254
- onKeydown: it,
2255
- onKeyup: rt,
2256
- onBlur: ve,
2257
- onDblclick: z[3] || (z[3] = (W) => u.value = !0)
2258
- }, null, 42, I2), [
2500
+ min: h.min,
2501
+ max: h.max,
2502
+ step: m.value,
2503
+ disabled: h.disabled || s.value,
2504
+ onInput: it,
2505
+ onChange: rt,
2506
+ onPointerdown: ct,
2507
+ onKeydown: pt,
2508
+ onKeyup: ft,
2509
+ onBlur: be,
2510
+ onDblclick: P[2] || (P[2] = (H) => s.value = !0)
2511
+ }, null, 42, Jo), [
2259
2512
  [
2260
2513
  je,
2261
- l.value,
2514
+ f.value,
2262
2515
  void 0,
2263
2516
  { number: !0 }
2264
2517
  ]
2265
2518
  ]),
2266
- i("p", {
2267
- class: y(["absolute left-[5px] top-1/2 -translate-y-1/2 min-w-[30px] text-[12px] font-medium text-center whitespace-nowrap z-10 pointer-events-none", b.theme === "dark" ? "text-[#ffffff44]" : "text-[#00000066]"])
2268
- }, B(x.value), 3),
2269
- i("p", {
2270
- class: y(["absolute right-[5px] top-1/2 -translate-y-1/2 min-w-[30px] text-[12px] font-medium text-center whitespace-nowrap z-10 pointer-events-none", b.theme === "dark" ? "text-[#ffffff44]" : "text-[#00000066]"])
2271
- }, B(p.value), 3),
2272
- u.value ? (a(), d("div", {
2519
+ r("p", {
2520
+ class: v(["absolute left-[5px] top-1/2 -translate-y-1/2 min-w-[30px] text-[12px] font-medium text-center whitespace-nowrap z-10 pointer-events-none", h.theme === "dark" ? "text-[#ffffff44]" : "text-[#00000066]"])
2521
+ }, C(g.value), 3),
2522
+ r("p", {
2523
+ class: v(["absolute right-[5px] top-1/2 -translate-y-1/2 min-w-[30px] text-[12px] font-medium text-center whitespace-nowrap z-10 pointer-events-none", h.theme === "dark" ? "text-[#ffffff44]" : "text-[#00000066]"])
2524
+ }, C(b.value), 3),
2525
+ s.value ? (i(), c("div", {
2273
2526
  key: 0,
2274
2527
  class: "absolute mdi mdi-check mdi-24px",
2275
2528
  style: { right: "-30px", top: "50%", transform: "translateY(-50%)", cursor: "pointer", color: "green" },
2276
- onClick: z[4] || (z[4] = (W) => u.value = !1)
2277
- })) : C("", !0)
2529
+ onClick: P[3] || (P[3] = (H) => s.value = !1)
2530
+ })) : F("", !0)
2278
2531
  ], 6)
2279
2532
  ])
2280
2533
  ]));
2281
2534
  }
2282
- }), E2 = { class: "bluevue-elevation-1 min-w-[120px] flex-1 rounded-[6px] bg-[#00000022] px-3 py-2" }, A2 = { class: "truncate text-[11px] uppercase tracking-wide text-[#ffffff66]" }, j2 = ["title"], Lo = /* @__PURE__ */ L({
2535
+ }), Yo = { class: "bluevue-elevation-1 min-w-[120px] flex-1 rounded-[6px] bg-[#00000022] px-3 py-2" }, Xo = { class: "truncate text-[11px] uppercase tracking-wide text-[#ffffff66]" }, Zo = ["title"], Zn = /* @__PURE__ */ I({
2283
2536
  __name: "BlueStat",
2284
2537
  props: {
2285
2538
  label: {},
2286
2539
  value: {},
2287
2540
  placeholder: {}
2288
2541
  },
2289
- setup(c) {
2290
- return (n, e) => (a(), d("div", E2, [
2291
- i("div", A2, B(n.label), 1),
2292
- i("div", {
2542
+ setup(p) {
2543
+ return (o, e) => (i(), c("div", Yo, [
2544
+ r("div", Xo, C(o.label), 1),
2545
+ r("div", {
2293
2546
  class: "truncate text-sm text-white",
2294
- title: n.value === null || n.value === void 0 || n.value === "" ? void 0 : String(n.value)
2295
- }, B(n.value === null || n.value === void 0 || n.value === "" ? n.placeholder ?? "—" : n.value), 9, j2)
2547
+ title: o.value === null || o.value === void 0 || o.value === "" ? void 0 : String(o.value)
2548
+ }, C(o.value === null || o.value === void 0 || o.value === "" ? o.placeholder ?? "—" : o.value), 9, Zo)
2296
2549
  ]));
2297
2550
  }
2298
- }), O2 = { class: "flex w-full justify-between items-center" }, N2 = {
2551
+ }), Qo = { class: "flex w-full justify-between items-center" }, en = {
2299
2552
  key: 0,
2300
- class: "min-w-0 max-w-[45%] shrink-0"
2301
- }, W2 = ["title"], U2 = { class: "flex items-center min-w-0 shrink-[1000]" }, Po = /* @__PURE__ */ L({
2553
+ class: "min-w-0"
2554
+ }, tn = ["id", "title"], ln = { class: "flex items-center min-w-0 shrink-[1000]" }, on = ["aria-labelledby", "aria-label", "aria-checked", "aria-disabled", "tabindex"], nn = {
2555
+ "aria-hidden": "true",
2556
+ class: "invisible whitespace-nowrap px-[7px] text-[14px]"
2557
+ }, an = {
2558
+ "aria-hidden": "true",
2559
+ class: "invisible whitespace-nowrap px-[7px] text-[14px]"
2560
+ }, Qn = /* @__PURE__ */ I({
2302
2561
  __name: "BlueSwitch",
2303
2562
  props: {
2304
2563
  color: {},
@@ -2310,66 +2569,80 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2310
2569
  labelOn: {},
2311
2570
  labelOff: {},
2312
2571
  name: {},
2313
- theme: {},
2314
- width: {}
2572
+ theme: {}
2315
2573
  },
2316
2574
  emits: ["update:modelValue"],
2317
- setup(c, { emit: n }) {
2318
- const e = c, t = n, o = q(e.modelValue || !1), l = (u) => u ? ["text-white"] : ["opacity-20", e.theme === "dark" ? "text-white" : "text-black"], s = () => {
2319
- e.disabled || (o.value = !o.value, t("update:modelValue", o.value));
2575
+ setup(p, { emit: o }) {
2576
+ const e = p, t = o, l = $(e.modelValue || !1), n = st("switch-label"), a = k(
2577
+ () => e.theme === "dark" ? "text-[#ffffff44]" : "text-[#00000066]"
2578
+ ), f = () => {
2579
+ e.disabled || (l.value = !l.value, t("update:modelValue", l.value));
2580
+ }, u = (s) => {
2581
+ e.disabled || s.key !== "Enter" && s.key !== " " || (s.preventDefault(), f());
2320
2582
  };
2321
- return X(
2583
+ return Q(
2322
2584
  () => e.modelValue,
2323
- (u) => o.value = u ?? !1,
2585
+ (s) => l.value = s ?? !1,
2324
2586
  { immediate: !0 }
2325
- ), (u, r) => (a(), d("div", O2, [
2326
- u.label ? (a(), d("div", N2, [
2327
- i("label", {
2328
- class: y(["block truncate text-start mr-6", [u.theme === "dark" ? "text-white" : "text-black", u.disabled ? "opacity-30" : ""]]),
2329
- title: u.label
2330
- }, B(u.label), 11, W2)
2331
- ])) : C("", !0),
2332
- i("div", U2, [
2333
- u.infoTooltip ? (a(), U(ie, {
2587
+ ), (s, d) => (i(), c("div", Qo, [
2588
+ s.label ? (i(), c("div", en, [
2589
+ r("label", {
2590
+ id: V(n),
2591
+ class: v(["block truncate text-start mr-6", [s.theme === "dark" ? "text-white" : "text-black", s.disabled ? "opacity-30" : ""]]),
2592
+ title: s.label
2593
+ }, C(s.label), 11, tn)
2594
+ ])) : F("", !0),
2595
+ r("div", ln, [
2596
+ s.infoTooltip ? (i(), N(se, {
2334
2597
  key: 0,
2335
- text: u.infoTooltip,
2336
- theme: u.theme,
2598
+ text: s.infoTooltip,
2599
+ theme: s.theme,
2337
2600
  class: "items-center shrink-0 mr-2"
2338
2601
  }, {
2339
- default: N(() => [
2340
- O(H, {
2602
+ default: j(() => [
2603
+ W(G, {
2341
2604
  name: "mdi-information-outline",
2342
2605
  size: 16,
2343
- label: u.infoTooltip,
2344
- class: y(["cursor-help", [u.disabled ? "opacity-30" : "opacity-60", u.theme === "dark" ? "text-white" : "text-black"]])
2606
+ label: s.infoTooltip,
2607
+ class: v(["cursor-help", [s.disabled ? "opacity-30" : "opacity-60", s.theme === "dark" ? "text-white" : "text-black"]])
2345
2608
  }, null, 8, ["label", "class"])
2346
2609
  ]),
2347
2610
  _: 1
2348
- }, 8, ["text", "theme"])) : C("", !0),
2349
- i("div", {
2611
+ }, 8, ["text", "theme"])) : F("", !0),
2612
+ r("div", {
2350
2613
  name: "switch-track",
2351
- class: y(["relative grid grid-cols-2 rounded-[8px] bluevue-elevation-1 cursor-pointer overflow-hidden", [u.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", u.disabled ? "opacity-30 cursor-not-allowed" : ""]]),
2352
- style: D({ minWidth: u.width || "75px", height: u.height || "30px" }),
2353
- onClick: s
2614
+ role: "switch",
2615
+ "aria-labelledby": s.label ? V(n) : void 0,
2616
+ "aria-label": s.label ? void 0 : s.name,
2617
+ "aria-checked": l.value,
2618
+ "aria-disabled": s.disabled === !0,
2619
+ tabindex: s.disabled ? -1 : 0,
2620
+ class: v(["relative inline-grid shrink-0 grid-cols-[1fr_1fr] rounded-[8px] bluevue-elevation-1 cursor-pointer overflow-hidden", [s.theme === "dark" ? "bg-[#464646AA]" : "bg-[#00000011]", s.disabled ? "opacity-30 cursor-not-allowed" : ""]]),
2621
+ style: E({ height: s.height || "30px" }),
2622
+ onClick: f,
2623
+ onKeydown: u
2354
2624
  }, [
2355
- i("div", {
2356
- class: "absolute top-[4px] bottom-[4px] w-[calc(50%-4px)] rounded-[8px] bluevue-elevation-1 transition-all duration-300",
2357
- style: D({
2358
- left: o.value ? "calc(50% + 2px)" : "2px",
2359
- backgroundColor: o.value ? u.color || "var(--bluevue-primary)" : "#777777"
2625
+ r("span", nn, C(s.labelOff || "Off"), 1),
2626
+ r("span", an, C(s.labelOn || "On"), 1),
2627
+ r("span", {
2628
+ class: v(["absolute left-[8px] top-1/2 -translate-y-1/2 text-[11px] pointer-events-none", a.value])
2629
+ }, C(s.labelOff || ""), 3),
2630
+ r("span", {
2631
+ class: v(["absolute right-[8px] top-1/2 -translate-y-1/2 text-[11px] pointer-events-none", a.value])
2632
+ }, C(s.labelOn || ""), 3),
2633
+ r("div", {
2634
+ class: "absolute top-[4px] bottom-[4px] left-[4px] flex items-center justify-center whitespace-nowrap rounded-[8px] px-[5px] text-[14px] text-white bluevue-elevation-1 transition-all duration-300 pointer-events-none",
2635
+ style: E({
2636
+ width: "calc(50% - 4px)",
2637
+ transform: l.value ? "translateX(100%)" : "none",
2638
+ backgroundColor: l.value ? s.color || "var(--bluevue-primary)" : "#777777"
2360
2639
  })
2361
- }, null, 4),
2362
- i("span", {
2363
- class: y(["relative flex items-center justify-center px-[9px] text-[14px] whitespace-nowrap pointer-events-none transition-opacity duration-300", l(!o.value)])
2364
- }, B(u.labelOff || "Off"), 3),
2365
- i("span", {
2366
- class: y(["relative flex items-center justify-center px-[9px] text-[14px] whitespace-nowrap pointer-events-none transition-opacity duration-300", l(o.value)])
2367
- }, B(u.labelOn || "On"), 3)
2368
- ], 6)
2640
+ }, C(l.value ? s.labelOn || "On" : s.labelOff || "Off"), 5)
2641
+ ], 46, on)
2369
2642
  ])
2370
2643
  ]));
2371
2644
  }
2372
- }), K2 = { class: "w-full border-collapse text-[13px]" }, G2 = ["aria-sort", "onClick"], H2 = { class: "inline-flex items-center gap-1" }, J2 = ["onClick"], Y2 = { key: 0 }, X2 = ["colspan"], Io = /* @__PURE__ */ L({
2645
+ }), sn = { class: "w-full border-collapse text-[13px]" }, rn = ["aria-sort", "onClick"], un = { class: "inline-flex items-center gap-1" }, dn = ["onClick"], cn = { key: 0 }, pn = ["colspan"], e2 = /* @__PURE__ */ I({
2373
2646
  __name: "BlueTable",
2374
2647
  props: {
2375
2648
  columns: {},
@@ -2382,91 +2655,91 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2382
2655
  theme: {}
2383
2656
  },
2384
2657
  emits: ["row-click"],
2385
- setup(c) {
2386
- const n = c, e = q(n.sortBy ?? ""), t = q(!1), o = (r) => {
2387
- if (r.sortable) {
2388
- if (e.value === r.key) {
2658
+ setup(p) {
2659
+ const o = p, e = $(o.sortBy ?? ""), t = $(!1), l = (u) => {
2660
+ if (u.sortable) {
2661
+ if (e.value === u.key) {
2389
2662
  t.value = !t.value;
2390
2663
  return;
2391
2664
  }
2392
- e.value = r.key, t.value = !1;
2665
+ e.value = u.key, t.value = !1;
2393
2666
  }
2394
- }, l = (r, v) => r == null ? v == null ? 0 : 1 : v == null ? -1 : typeof r == "number" && typeof v == "number" ? r - v : String(r).localeCompare(String(v), void 0, { numeric: !0 }), s = k(() => {
2395
- if (!e.value) return n.rows;
2396
- const r = t.value ? -1 : 1;
2397
- return [...n.rows].sort((v, f) => r * l(v[e.value], f[e.value]));
2398
- }), u = (r) => r.align === "end" ? "text-end" : r.align === "center" ? "text-center" : "text-start";
2399
- return (r, v) => (a(), d("div", {
2400
- class: y(["w-full overflow-auto rounded-[6px]", r.theme === "light" ? "bg-[#00000006]" : "bg-[#ffffff08]"]),
2401
- style: D({ maxHeight: r.maxHeight })
2667
+ }, n = (u, s) => u == null ? s == null ? 0 : 1 : s == null ? -1 : typeof u == "number" && typeof s == "number" ? u - s : String(u).localeCompare(String(s), void 0, { numeric: !0 }), a = k(() => {
2668
+ if (!e.value) return o.rows;
2669
+ const u = t.value ? -1 : 1;
2670
+ return [...o.rows].sort((s, d) => u * n(s[e.value], d[e.value]));
2671
+ }), f = (u) => u.align === "end" ? "text-end" : u.align === "center" ? "text-center" : "text-start";
2672
+ return (u, s) => (i(), c("div", {
2673
+ class: v(["w-full overflow-auto rounded-[6px]", u.theme === "light" ? "bg-[#00000006]" : "bg-[#ffffff08]"]),
2674
+ style: E({ maxHeight: u.maxHeight })
2402
2675
  }, [
2403
- i("table", K2, [
2404
- i("thead", null, [
2405
- i("tr", null, [
2406
- (a(!0), d(J, null, Z(r.columns, (f) => (a(), d("th", {
2407
- key: f.key,
2676
+ r("table", sn, [
2677
+ r("thead", null, [
2678
+ r("tr", null, [
2679
+ (i(!0), c(K, null, Z(u.columns, (d) => (i(), c("th", {
2680
+ key: d.key,
2408
2681
  scope: "col",
2409
- class: y(["sticky top-0 z-[1] whitespace-nowrap border-b px-3 py-2 text-[11px] font-medium uppercase tracking-wide backdrop-blur-sm", [
2410
- u(f),
2411
- f.sortable ? "cursor-pointer select-none" : "",
2412
- r.theme === "light" ? "border-[#00000014] bg-[#f5f5f5cc] text-[#00000088]" : "border-[#ffffff14] bg-[#1e1e1ecc] text-[#ffffff88]"
2682
+ class: v(["sticky top-0 z-[1] whitespace-nowrap border-b px-3 py-2 text-[11px] font-medium uppercase tracking-wide backdrop-blur-sm", [
2683
+ f(d),
2684
+ d.sortable ? "cursor-pointer select-none" : "",
2685
+ u.theme === "light" ? "border-[#00000014] bg-[#f5f5f5cc] text-[#00000088]" : "border-[#ffffff14] bg-[#1e1e1ecc] text-[#ffffff88]"
2413
2686
  ]]),
2414
- style: D({ width: f.width }),
2415
- "aria-sort": e.value === f.key ? t.value ? "descending" : "ascending" : void 0,
2416
- onClick: (x) => o(f)
2687
+ style: E({ width: d.width }),
2688
+ "aria-sort": e.value === d.key ? t.value ? "descending" : "ascending" : void 0,
2689
+ onClick: (q) => l(d)
2417
2690
  }, [
2418
- i("span", H2, [
2419
- oe(B(f.title) + " ", 1),
2420
- f.sortable ? (a(), U(H, {
2691
+ r("span", un, [
2692
+ oe(C(d.title) + " ", 1),
2693
+ d.sortable ? (i(), N(G, {
2421
2694
  key: 0,
2422
- name: e.value === f.key ? t.value ? "mdi-arrow-down" : "mdi-arrow-up" : "mdi-arrow-up-down",
2695
+ name: e.value === d.key ? t.value ? "mdi-arrow-down" : "mdi-arrow-up" : "mdi-arrow-up-down",
2423
2696
  size: 12,
2424
- class: y(e.value === f.key ? "" : "opacity-30")
2425
- }, null, 8, ["name", "class"])) : C("", !0)
2697
+ class: v(e.value === d.key ? "" : "opacity-30")
2698
+ }, null, 8, ["name", "class"])) : F("", !0)
2426
2699
  ])
2427
- ], 14, G2))), 128))
2700
+ ], 14, rn))), 128))
2428
2701
  ])
2429
2702
  ]),
2430
- i("tbody", null, [
2431
- (a(!0), d(J, null, Z(s.value, (f, x) => (a(), d("tr", {
2432
- key: String(r.rowKey ? f[r.rowKey] : x),
2433
- class: y(["transition-colors", r.theme === "light" ? "hover:bg-[#0000000a]" : "hover:bg-[#ffffff0a]"]),
2434
- onClick: (p) => r.$emit("row-click", f)
2703
+ r("tbody", null, [
2704
+ (i(!0), c(K, null, Z(a.value, (d, q) => (i(), c("tr", {
2705
+ key: String(u.rowKey ? d[u.rowKey] : q),
2706
+ class: v(["transition-colors", u.theme === "light" ? "hover:bg-[#0000000a]" : "hover:bg-[#ffffff0a]"]),
2707
+ onClick: (x) => u.$emit("row-click", d)
2435
2708
  }, [
2436
- (a(!0), d(J, null, Z(r.columns, (p) => (a(), d("td", {
2437
- key: p.key,
2438
- class: y(["border-b px-3", [
2439
- u(p),
2440
- r.dense ? "py-1" : "py-2",
2441
- r.theme === "light" ? "border-[#0000000a] text-black" : "border-[#ffffff0a] text-white"
2709
+ (i(!0), c(K, null, Z(u.columns, (x) => (i(), c("td", {
2710
+ key: x.key,
2711
+ class: v(["border-b px-3", [
2712
+ f(x),
2713
+ u.dense ? "py-1" : "py-2",
2714
+ u.theme === "light" ? "border-[#0000000a] text-black" : "border-[#ffffff0a] text-white"
2442
2715
  ]])
2443
2716
  }, [
2444
- j(r.$slots, `cell-${p.key}`, {
2445
- row: f,
2446
- value: f[p.key]
2717
+ O(u.$slots, `cell-${x.key}`, {
2718
+ row: d,
2719
+ value: d[x.key]
2447
2720
  }, () => [
2448
- oe(B(f[p.key] ?? "—"), 1)
2721
+ oe(C(d[x.key] ?? "—"), 1)
2449
2722
  ])
2450
2723
  ], 2))), 128))
2451
- ], 10, J2))), 128)),
2452
- s.value.length === 0 ? (a(), d("tr", Y2, [
2453
- i("td", {
2454
- colspan: r.columns.length,
2455
- class: y(["px-3 py-6 text-center text-[13px]", r.theme === "light" ? "text-[#00000066]" : "text-[#ffffff66]"])
2724
+ ], 10, dn))), 128)),
2725
+ a.value.length === 0 ? (i(), c("tr", cn, [
2726
+ r("td", {
2727
+ colspan: u.columns.length,
2728
+ class: v(["px-3 py-6 text-center text-[13px]", u.theme === "light" ? "text-[#00000066]" : "text-[#ffffff66]"])
2456
2729
  }, [
2457
- j(r.$slots, "empty", {}, () => [
2458
- oe(B(r.emptyText ?? "Nothing here yet."), 1)
2730
+ O(u.$slots, "empty", {}, () => [
2731
+ oe(C(u.emptyText ?? "Nothing here yet."), 1)
2459
2732
  ])
2460
- ], 10, X2)
2461
- ])) : C("", !0)
2733
+ ], 10, pn)
2734
+ ])) : F("", !0)
2462
2735
  ])
2463
2736
  ])
2464
2737
  ], 6));
2465
2738
  }
2466
- }), Z2 = ["aria-selected", "disabled", "onClick"], Q2 = { class: "min-w-0 truncate" }, eo = {
2739
+ }), fn = ["aria-selected", "disabled", "onClick"], mn = { class: "min-w-0 truncate" }, vn = {
2467
2740
  key: 2,
2468
2741
  class: "absolute inset-x-0 -bottom-px h-[2px] rounded-full bg-[var(--bluevue-accent)]"
2469
- }, Eo = /* @__PURE__ */ L({
2742
+ }, t2 = /* @__PURE__ */ I({
2470
2743
  __name: "BlueTabs",
2471
2744
  props: {
2472
2745
  modelValue: {},
@@ -2475,44 +2748,44 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2475
2748
  theme: {}
2476
2749
  },
2477
2750
  emits: ["update:modelValue"],
2478
- setup(c, { emit: n }) {
2479
- const e = n;
2480
- return (t, o) => (a(), d("div", {
2481
- class: y(["flex items-stretch gap-1 border-b", t.theme === "light" ? "border-[#00000014]" : "border-[#ffffff14]"]),
2751
+ setup(p, { emit: o }) {
2752
+ const e = o;
2753
+ return (t, l) => (i(), c("div", {
2754
+ class: v(["flex items-stretch gap-1 border-b", t.theme === "light" ? "border-[#00000014]" : "border-[#ffffff14]"]),
2482
2755
  role: "tablist"
2483
2756
  }, [
2484
- (a(!0), d(J, null, Z(t.tabs, (l) => (a(), d("button", {
2485
- key: l.value,
2757
+ (i(!0), c(K, null, Z(t.tabs, (n) => (i(), c("button", {
2758
+ key: n.value,
2486
2759
  type: "button",
2487
2760
  role: "tab",
2488
- "aria-selected": t.modelValue === l.value,
2489
- disabled: l.disabled,
2490
- class: y(["relative flex items-center justify-center gap-2 whitespace-nowrap px-3 pb-2 pt-[6px] text-[13px] font-medium transition-colors", [
2761
+ "aria-selected": t.modelValue === n.value,
2762
+ disabled: n.disabled,
2763
+ class: v(["relative flex items-center justify-center gap-2 whitespace-nowrap px-3 pb-2 pt-[6px] text-[13px] font-medium transition-colors", [
2491
2764
  t.stretch ? "flex-1" : "",
2492
- l.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
2493
- t.modelValue === l.value ? t.theme === "light" ? "text-black" : "text-white" : t.theme === "light" ? "text-[#00000088] hover:text-black" : "text-[#ffffff88] hover:text-white"
2765
+ n.disabled ? "cursor-not-allowed opacity-30" : "cursor-pointer",
2766
+ t.modelValue === n.value ? t.theme === "light" ? "text-black" : "text-white" : t.theme === "light" ? "text-[#00000088] hover:text-black" : "text-[#ffffff88] hover:text-white"
2494
2767
  ]]),
2495
- onClick: (s) => e("update:modelValue", l.value)
2768
+ onClick: (a) => e("update:modelValue", n.value)
2496
2769
  }, [
2497
- l.icon ? (a(), U(H, {
2770
+ n.icon ? (i(), N(G, {
2498
2771
  key: 0,
2499
- name: l.icon,
2772
+ name: n.icon,
2500
2773
  size: 16
2501
- }, null, 8, ["name"])) : C("", !0),
2502
- i("span", Q2, B(l.label), 1),
2503
- l.badge !== void 0 ? (a(), U(Ml, {
2774
+ }, null, 8, ["name"])) : F("", !0),
2775
+ r("span", mn, C(n.label), 1),
2776
+ n.badge !== void 0 ? (i(), N(El, {
2504
2777
  key: 1,
2505
2778
  size: "small",
2506
- label: String(l.badge)
2507
- }, null, 8, ["label"])) : C("", !0),
2508
- t.modelValue === l.value ? (a(), d("span", eo)) : C("", !0)
2509
- ], 10, Z2))), 128))
2779
+ label: String(n.badge)
2780
+ }, null, 8, ["label"])) : F("", !0),
2781
+ t.modelValue === n.value ? (i(), c("span", vn)) : F("", !0)
2782
+ ], 10, fn))), 128))
2510
2783
  ], 2));
2511
2784
  }
2512
- }), to = {
2785
+ }), hn = {
2513
2786
  key: 0,
2514
2787
  class: "mb-1 flex items-center gap-2"
2515
- }, lo = ["for"], oo = ["id", "name", "rows", "value", "placeholder", "disabled"], Ao = /* @__PURE__ */ L({
2788
+ }, bn = ["for"], yn = ["id", "name", "rows", "value", "placeholder", "disabled"], l2 = /* @__PURE__ */ I({
2516
2789
  __name: "BlueTextarea",
2517
2790
  props: {
2518
2791
  modelValue: {},
@@ -2529,74 +2802,75 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2529
2802
  theme: {}
2530
2803
  },
2531
2804
  emits: ["update:modelValue"],
2532
- setup(c, { emit: n }) {
2533
- const e = c, t = n, o = k(() => {
2534
- var s;
2535
- return (((s = e.errorMessages) == null ? void 0 : s.length) ?? 0) > 0;
2536
- }), l = k(() => {
2805
+ setup(p, { emit: o }) {
2806
+ const e = p, t = o, l = k(() => {
2807
+ var a;
2808
+ return (((a = e.errorMessages) == null ? void 0 : a.length) ?? 0) > 0;
2809
+ }), n = k(() => {
2537
2810
  if (!e.autoGrow) return e.rows ?? 4;
2538
- const s = (e.modelValue ?? "").split(`
2811
+ const a = (e.modelValue ?? "").split(`
2539
2812
  `).length;
2540
- return Math.min(Math.max(s, e.rows ?? 4), e.maxRows ?? 12);
2813
+ return Math.min(Math.max(a, e.rows ?? 4), e.maxRows ?? 12);
2541
2814
  });
2542
- return (s, u) => (a(), d("div", {
2815
+ return (a, f) => (i(), c("div", {
2543
2816
  class: "flex w-full min-w-0 flex-col",
2544
- style: D({ width: s.width })
2817
+ style: E({ width: a.width })
2545
2818
  }, [
2546
- s.label ? (a(), d("div", to, [
2547
- i("label", {
2548
- for: s.name,
2549
- class: y(["min-w-0 truncate text-[13px]", [s.theme === "dark" ? "text-white" : "text-black", s.disabled ? "opacity-30" : ""]])
2550
- }, B(s.label), 11, lo),
2551
- s.infoTooltip ? (a(), U(ie, {
2819
+ a.label ? (i(), c("div", hn, [
2820
+ r("label", {
2821
+ for: a.name,
2822
+ class: v(["min-w-0 truncate text-[13px]", [a.theme === "dark" ? "text-white" : "text-black", a.disabled ? "opacity-30" : ""]])
2823
+ }, C(a.label), 11, bn),
2824
+ a.infoTooltip ? (i(), N(se, {
2552
2825
  key: 0,
2553
- text: s.infoTooltip,
2554
- theme: s.theme,
2826
+ text: a.infoTooltip,
2827
+ theme: a.theme,
2555
2828
  class: "items-center"
2556
2829
  }, {
2557
- default: N(() => [
2558
- O(H, {
2830
+ default: j(() => [
2831
+ W(G, {
2559
2832
  name: "mdi-information-outline",
2560
2833
  size: 16,
2561
- label: s.infoTooltip,
2562
- class: y(["cursor-help", s.disabled ? "opacity-30" : "opacity-60"])
2834
+ label: a.infoTooltip,
2835
+ class: v(["cursor-help", a.disabled ? "opacity-30" : "opacity-60"])
2563
2836
  }, null, 8, ["label", "class"])
2564
2837
  ]),
2565
2838
  _: 1
2566
- }, 8, ["text", "theme"])) : C("", !0)
2567
- ])) : C("", !0),
2568
- i("textarea", {
2569
- id: s.name,
2570
- name: s.name,
2571
- rows: l.value,
2572
- value: s.modelValue ?? "",
2573
- placeholder: s.placeholder,
2574
- disabled: s.disabled,
2575
- class: y(["bluevue-inset-1 w-full resize-y rounded-[6px] px-3 py-2 text-sm outline-none transition-colors focus:outline focus:outline-2 focus:outline-offset-0 focus:outline-[var(--bluevue-accent)]", [
2576
- s.theme === "dark" ? "bg-[#ffffff11] text-white placeholder:text-[#ffffff55]" : "bg-[#00000008] text-black placeholder:text-[#00000055]",
2577
- s.disabled ? "pointer-events-none opacity-30" : "",
2578
- o.value ? "outline outline-2 outline-[var(--bluevue-error)]" : ""
2839
+ }, 8, ["text", "theme"])) : F("", !0)
2840
+ ])) : F("", !0),
2841
+ r("textarea", {
2842
+ id: a.name,
2843
+ name: a.name,
2844
+ rows: n.value,
2845
+ value: a.modelValue ?? "",
2846
+ placeholder: a.placeholder,
2847
+ disabled: a.disabled,
2848
+ class: v(["bluevue-inset-1 w-full resize-y rounded-[6px] px-3 py-2 text-sm outline-none transition-colors focus:outline focus:outline-2 focus:outline-offset-0 focus:outline-[var(--bluevue-accent)]", [
2849
+ a.theme === "dark" ? "bg-[#ffffff11] text-white placeholder:text-[#ffffff55]" : "bg-[#00000008] text-black placeholder:text-[#00000055]",
2850
+ a.disabled ? "pointer-events-none opacity-30" : "",
2851
+ l.value ? "outline outline-2 outline-[var(--bluevue-error)]" : ""
2579
2852
  ]]),
2580
- onInput: u[0] || (u[0] = (r) => t("update:modelValue", r.target.value))
2581
- }, null, 42, oo),
2582
- (a(!0), d(J, null, Z(s.errorMessages ?? [], (r) => (a(), d("span", {
2583
- key: r,
2853
+ onInput: f[0] || (f[0] = (u) => t("update:modelValue", u.target.value))
2854
+ }, null, 42, yn),
2855
+ (i(!0), c(K, null, Z(a.errorMessages ?? [], (u) => (i(), c("span", {
2856
+ key: u,
2584
2857
  class: "mt-1 text-[11px] text-[var(--bluevue-error)]"
2585
- }, B(r), 1))), 128))
2858
+ }, C(u), 1))), 128))
2586
2859
  ], 4));
2587
2860
  }
2588
- }), no = { class: "w-full" }, so = ["disabled", "aria-label", "title"], ao = ["id"], io = ["viewBox"], ro = ["r", "stroke"], uo = ["r", "fill"], co = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], po = ["x", "y", "fill"], mo = ["id"], fo = /* @__PURE__ */ i("feDropShadow", {
2861
+ }), gn = { class: "w-full" }, qn = ["disabled", "aria-label", "title"], wn = ["id"], kn = ["viewBox"], xn = ["r", "stroke"], $n = ["r", "fill"], Bn = ["x1", "y1", "x2", "y2", "stroke", "stroke-width"], Cn = ["x", "y", "fill"], Fn = ["id"], Tn = /* @__PURE__ */ r("feDropShadow", {
2589
2862
  dx: "0",
2590
2863
  dy: "1",
2591
2864
  stdDeviation: "1.2",
2592
2865
  "flood-color": "#000000",
2593
2866
  "flood-opacity": "0.45"
2594
- }, null, -1), vo = [
2595
- fo
2596
- ], ho = ["transform", "filter"], bo = ["d"], be = 176, jo = /* @__PURE__ */ L({
2867
+ }, null, -1), Vn = [
2868
+ Tn
2869
+ ], Mn = ["transform", "filter"], Sn = ["d"], ge = 176, o2 = /* @__PURE__ */ I({
2597
2870
  __name: "BlueWindRose",
2598
2871
  props: {
2599
2872
  modelValue: {},
2873
+ angle: { type: Boolean },
2600
2874
  label: {},
2601
2875
  name: {},
2602
2876
  min: {},
@@ -2612,251 +2886,260 @@ const il = ["aria-describedby"], rl = ["id"], ie = /* @__PURE__ */ L({
2612
2886
  errorMessages: {}
2613
2887
  },
2614
2888
  emits: ["update:modelValue"],
2615
- setup(c, { emit: n }) {
2616
- const e = be / 2, t = [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330], o = [
2889
+ setup(p, { emit: o }) {
2890
+ const e = ge / 2, t = [0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330], l = [
2617
2891
  { label: "N", deg: 0 },
2618
2892
  { label: "E", deg: 90 },
2619
2893
  { label: "S", deg: 180 },
2620
2894
  { label: "W", deg: 270 }
2621
- ], l = c, s = n, {
2622
- anchorRef: u,
2623
- popoverRef: r,
2624
- popoverId: v,
2625
- activatorProps: f,
2626
- isPositioned: x,
2627
- floatingStyles: p,
2628
- onToggle: _
2629
- } = ye({ placement: "bottom-end" }), $ = q(null), F = q(!1), R = k(() => l.min ?? 0), P = k(() => l.max ?? 360), m = k(() => l.step && l.step > 0 ? l.step : 1), V = k(() => {
2630
- const g = P.value - R.value;
2631
- return g > 0 ? g : 360;
2632
- }), E = k(() => typeof l.modelValue == "number" ? l.modelValue : R.value), w = k(() => (K(E.value) - R.value) / V.value * 360), A = k(() => l.theme !== "light");
2633
- function K(g) {
2634
- return R.value + ((g - R.value) % V.value + V.value) % V.value;
2895
+ ], n = p, a = o, {
2896
+ anchorRef: f,
2897
+ popoverRef: u,
2898
+ popoverId: s,
2899
+ activatorProps: d,
2900
+ isPositioned: q,
2901
+ floatingStyles: x,
2902
+ onToggle: g
2903
+ } = he({ placement: "bottom-end" }), b = $(null), T = $(!1), S = k(() => n.min ?? 0), D = k(() => n.max ?? 360), m = k(() => n.step && n.step > 0 ? n.step : 1), _ = k(() => {
2904
+ const w = D.value - S.value;
2905
+ return w > 0 ? w : 360;
2906
+ }), L = k(() => typeof n.modelValue == "number" ? n.modelValue : S.value), B = k(() => (J(L.value) - S.value) / _.value * 360), A = k(() => n.theme !== "light");
2907
+ function J(w) {
2908
+ return S.value + ((w - S.value) % _.value + _.value) % _.value;
2635
2909
  }
2636
- function Y(g) {
2637
- return R.value + Math.round((g - R.value) / m.value) * m.value;
2910
+ function X(w) {
2911
+ return S.value + Math.round((w - S.value) / m.value) * m.value;
2638
2912
  }
2639
- function te(g) {
2640
- s("update:modelValue", K(Y(g)));
2913
+ function ee(w) {
2914
+ a("update:modelValue", J(X(w)));
2641
2915
  }
2642
- function ee(g) {
2643
- if (!(typeof g != "number" || !Number.isFinite(g))) {
2644
- if (g < R.value || g >= P.value) {
2645
- s("update:modelValue", K(g));
2916
+ function te(w) {
2917
+ if (!(typeof w != "number" || !Number.isFinite(w))) {
2918
+ if (w < S.value || w >= D.value) {
2919
+ a("update:modelValue", J(w));
2646
2920
  return;
2647
2921
  }
2648
- s("update:modelValue", g);
2922
+ a("update:modelValue", w);
2649
2923
  }
2650
2924
  }
2651
- function re(g) {
2652
- const I = $.value;
2653
- if (!I) return E.value;
2654
- const T = I.getBoundingClientRect(), G = Math.atan2(g.clientX - (T.left + T.width / 2), T.top + T.height / 2 - g.clientY) * 180 / Math.PI, Q = G < 0 ? G + 360 : G;
2655
- return R.value + Q / 360 * V.value;
2925
+ function ue(w) {
2926
+ const M = b.value;
2927
+ if (!M) return L.value;
2928
+ const R = M.getBoundingClientRect(), U = Math.atan2(w.clientX - (R.left + R.width / 2), R.top + R.height / 2 - w.clientY) * 180 / Math.PI, qe = U < 0 ? U + 360 : U;
2929
+ return S.value + qe / 360 * _.value;
2656
2930
  }
2657
- function fe(g) {
2658
- var I;
2659
- l.disabled || (F.value = !0, (I = $.value) == null || I.setPointerCapture(g.pointerId), te(re(g)));
2931
+ function de(w) {
2932
+ var M;
2933
+ n.disabled || (T.value = !0, (M = b.value) == null || M.setPointerCapture(w.pointerId), ee(ue(w)));
2660
2934
  }
2661
- function ne(g) {
2662
- F.value && te(re(g));
2935
+ function ce(w) {
2936
+ T.value && ee(ue(w));
2663
2937
  }
2664
- function h(g) {
2665
- var I;
2666
- F.value && (F.value = !1, (I = $.value) == null || I.releasePointerCapture(g.pointerId));
2938
+ function y(w) {
2939
+ var M;
2940
+ T.value && (T.value = !1, (M = b.value) == null || M.releasePointerCapture(w.pointerId));
2667
2941
  }
2668
- function S(g, I) {
2669
- const T = (g - 90) * Math.PI / 180;
2670
- return { x: e + Math.cos(T) * I, y: e + Math.sin(T) * I };
2942
+ function z(w, M) {
2943
+ const R = (w - 90) * Math.PI / 180;
2944
+ return { x: e + Math.cos(R) * M, y: e + Math.sin(R) * M };
2671
2945
  }
2672
- return (g, I) => (a(), d("div", no, [
2673
- O(Re, {
2674
- "model-value": g.modelValue,
2946
+ const Y = k(() => {
2947
+ if (n.angle)
2948
+ return `M ${e - 2.2} 18 L ${e + 2.2} 18 L ${e + 2.2} ${e} L ${e - 2.2} ${e} Z`;
2949
+ const R = 7, U = e - 18;
2950
+ return `M ${e} ${e} L ${e + R} ${U} L ${e + 2.2} ${U} L ${e + 2.2} 18 L ${e - 2.2} 18 L ${e - 2.2} ${U} L ${e - R} ${U} Z`;
2951
+ });
2952
+ return (w, M) => (i(), c("div", gn, [
2953
+ W(De, {
2954
+ "model-value": w.modelValue,
2675
2955
  type: "number",
2676
- label: g.label,
2677
- name: g.name,
2678
- suffix: g.suffix ?? "°",
2679
- placeholder: g.placeholder,
2680
- disabled: g.disabled,
2681
- theme: g.theme,
2682
- height: g.height,
2683
- width: g.width,
2684
- "info-tooltip": g.infoTooltip,
2685
- "error-messages": g.errorMessages,
2956
+ label: w.label,
2957
+ name: w.name,
2958
+ suffix: w.suffix ?? "°",
2959
+ placeholder: w.placeholder,
2960
+ disabled: w.disabled,
2961
+ theme: w.theme,
2962
+ height: w.height,
2963
+ width: w.width,
2964
+ "info-tooltip": w.infoTooltip,
2965
+ "error-messages": w.errorMessages,
2686
2966
  step: m.value,
2687
- "onUpdate:modelValue": ee
2967
+ "onUpdate:modelValue": te
2688
2968
  }, {
2689
- prepend: N(() => [
2690
- i("button", ke({
2969
+ prepend: j(() => [
2970
+ r("button", ve({
2691
2971
  ref_key: "anchorRef",
2692
- ref: u
2693
- }, M(f), {
2972
+ ref: f
2973
+ }, V(d), {
2694
2974
  type: "button",
2695
- disabled: g.disabled,
2696
- class: ["flex items-center justify-center rounded-[4px] p-[2px]", g.disabled ? "cursor-not-allowed" : "cursor-pointer hover:bg-[#ffffff14]"],
2697
- "aria-label": g.label ? `Choose ${g.label}` : "Choose heading",
2698
- title: g.label ? `Choose ${g.label}` : "Choose heading"
2975
+ disabled: w.disabled,
2976
+ class: ["flex items-center justify-center rounded-[4px] p-[2px]", w.disabled ? "cursor-not-allowed" : "cursor-pointer hover:bg-[#ffffff14]"],
2977
+ "aria-label": w.label ? `Choose ${w.label}` : "Choose heading",
2978
+ title: w.label ? `Choose ${w.label}` : "Choose heading"
2699
2979
  }), [
2700
- O(H, {
2980
+ W(G, {
2701
2981
  name: "mdi-compass-rose",
2702
2982
  size: 16,
2703
- class: y(A.value ? "text-white" : "text-black")
2983
+ class: v(A.value ? "text-white" : "text-black")
2704
2984
  }, null, 8, ["class"])
2705
- ], 16, so)
2985
+ ], 16, qn)
2706
2986
  ]),
2707
2987
  _: 1
2708
2988
  }, 8, ["model-value", "label", "name", "suffix", "placeholder", "disabled", "theme", "height", "width", "info-tooltip", "error-messages", "step"]),
2709
- i("div", {
2710
- id: M(v),
2989
+ r("div", {
2990
+ id: V(s),
2711
2991
  ref_key: "popoverRef",
2712
- ref: r,
2992
+ ref: u,
2713
2993
  popover: "",
2714
2994
  class: "bluevue-popover bluevue-popover--dimmed",
2715
- style: D(M(p)),
2716
- onToggle: I[0] || (I[0] = //@ts-ignore
2717
- (...T) => M(_) && M(_)(...T))
2995
+ style: E(V(x)),
2996
+ onToggle: M[0] || (M[0] = //@ts-ignore
2997
+ (...R) => V(g) && V(g)(...R))
2718
2998
  }, [
2719
- i("div", {
2720
- class: y(["bluevue-elevation-5 rounded-full", [
2999
+ r("div", {
3000
+ class: v(["bluevue-elevation-5 rounded-full", [
2721
3001
  A.value ? "bg-[var(--bluevue-surface)] text-white" : "bg-white text-black",
2722
- M(x) ? "opacity-100" : "opacity-0"
3002
+ V(q) ? "opacity-100" : "opacity-0"
2723
3003
  ]])
2724
3004
  }, [
2725
- (a(), d("svg", {
3005
+ (i(), c("svg", {
2726
3006
  ref_key: "roseRef",
2727
- ref: $,
2728
- width: be,
2729
- height: be,
2730
- viewBox: `0 0 ${be} ${be}`,
2731
- class: y(["block touch-none select-none", g.disabled ? "cursor-not-allowed" : "cursor-pointer"]),
2732
- onPointerdown: ae(fe, ["prevent"]),
2733
- onPointermove: ne,
2734
- onPointerup: h,
2735
- onPointercancel: h
3007
+ ref: b,
3008
+ width: ge,
3009
+ height: ge,
3010
+ viewBox: `0 0 ${ge} ${ge}`,
3011
+ class: v(["block touch-none select-none", w.disabled ? "cursor-not-allowed" : "cursor-pointer"]),
3012
+ onPointerdown: ae(de, ["prevent"]),
3013
+ onPointermove: ce,
3014
+ onPointerup: y,
3015
+ onPointercancel: y
2736
3016
  }, [
2737
- i("circle", {
3017
+ r("circle", {
2738
3018
  cx: e,
2739
3019
  cy: e,
2740
3020
  r: e - 6,
2741
3021
  fill: "transparent",
2742
3022
  stroke: A.value ? "#ffffff22" : "#00000022",
2743
3023
  "stroke-width": "1"
2744
- }, null, 8, ro),
2745
- i("circle", {
3024
+ }, null, 8, xn),
3025
+ r("circle", {
2746
3026
  cx: e,
2747
3027
  cy: e,
2748
3028
  r: e - 22,
2749
3029
  fill: A.value ? "#ffffff0d" : "#0000000d"
2750
- }, null, 8, uo),
2751
- (a(), d(J, null, Z(t, (T) => i("line", {
2752
- key: T,
2753
- x1: S(T, T % 90 === 0 ? 70 : 74).x,
2754
- y1: S(T, T % 90 === 0 ? 70 : 74).y,
2755
- x2: S(T, 80).x,
2756
- y2: S(T, 80).y,
3030
+ }, null, 8, $n),
3031
+ (i(), c(K, null, Z(t, (R) => r("line", {
3032
+ key: R,
3033
+ x1: z(R, R % 90 === 0 ? 70 : 74).x,
3034
+ y1: z(R, R % 90 === 0 ? 70 : 74).y,
3035
+ x2: z(R, 80).x,
3036
+ y2: z(R, 80).y,
2757
3037
  stroke: A.value ? "#ffffff44" : "#00000044",
2758
- "stroke-width": T % 90 === 0 ? 2 : 1
2759
- }, null, 8, co)), 64)),
2760
- (a(), d(J, null, Z(o, (T) => i("text", {
2761
- key: T.label,
2762
- x: S(T.deg, 58).x,
2763
- y: S(T.deg, 58).y,
3038
+ "stroke-width": R % 90 === 0 ? 2 : 1
3039
+ }, null, 8, Bn)), 64)),
3040
+ (i(), c(K, null, Z(l, (R) => r("text", {
3041
+ key: R.label,
3042
+ x: z(R.deg, 58).x,
3043
+ y: z(R.deg, 58).y,
2764
3044
  "text-anchor": "middle",
2765
3045
  "dominant-baseline": "middle",
2766
3046
  class: "text-[11px] font-medium",
2767
3047
  fill: A.value ? "#ffffff88" : "#00000088"
2768
- }, B(T.label), 9, po)), 64)),
2769
- i("defs", null, [
2770
- i("filter", {
2771
- id: `${M(v)}-arrow-shadow`,
3048
+ }, C(R.label), 9, Cn)), 64)),
3049
+ r("defs", null, [
3050
+ r("filter", {
3051
+ id: `${V(s)}-arrow-shadow`,
2772
3052
  x: "-50%",
2773
3053
  y: "-50%",
2774
3054
  width: "200%",
2775
3055
  height: "200%"
2776
- }, vo, 8, mo)
3056
+ }, Vn, 8, Fn)
2777
3057
  ]),
2778
- i("g", {
2779
- transform: `rotate(${w.value} ${e} ${e})`,
2780
- filter: `url(#${M(v)}-arrow-shadow)`
3058
+ r("g", {
3059
+ transform: `rotate(${B.value} ${e} ${e})`,
3060
+ filter: `url(#${V(s)}-arrow-shadow)`
2781
3061
  }, [
2782
- i("path", {
2783
- d: `M ${e} 18 L ${e + 7} 36 L ${e + 2.2} 36 L ${e + 2.2} ${e} L ${e - 2.2} ${e} L ${e - 2.2} 36 L ${e - 7} 36 Z`,
3062
+ r("path", {
3063
+ d: Y.value,
2784
3064
  fill: "#F5C400"
2785
- }, null, 8, bo),
2786
- i("circle", {
3065
+ }, null, 8, Sn),
3066
+ r("circle", {
2787
3067
  cx: e,
2788
3068
  cy: e,
2789
3069
  r: "3.5",
2790
3070
  fill: "#F5C400"
2791
3071
  })
2792
- ], 8, ho)
2793
- ], 42, io))
3072
+ ], 8, Mn)
3073
+ ], 42, kn))
2794
3074
  ], 2)
2795
- ], 44, ao)
3075
+ ], 44, wn)
2796
3076
  ]));
2797
3077
  }
2798
3078
  });
2799
- function Oo(c, n) {
2800
- const e = n.endsWith(".json") ? n : `${n}.json`, t = URL.createObjectURL(new Blob([JSON.stringify(c, null, 2)], { type: "application/json" })), o = document.createElement("a");
2801
- o.href = t, o.download = e, o.click(), URL.revokeObjectURL(t);
3079
+ function n2(p, o) {
3080
+ const e = o.endsWith(".json") ? o : `${o}.json`, t = URL.createObjectURL(new Blob([JSON.stringify(p, null, 2)], { type: "application/json" })), l = document.createElement("a");
3081
+ l.href = t, l.download = e, l.click(), URL.revokeObjectURL(t);
2802
3082
  }
2803
- function No(c = ".json,application/json") {
2804
- return new Promise((n, e) => {
3083
+ function a2(p = ".json,application/json") {
3084
+ return new Promise((o, e) => {
2805
3085
  const t = document.createElement("input");
2806
- t.type = "file", t.accept = c, t.addEventListener("change", () => {
2807
- var l;
2808
- const o = (l = t.files) == null ? void 0 : l[0];
2809
- if (!o) {
2810
- n(null);
3086
+ t.type = "file", t.accept = p, t.addEventListener("change", () => {
3087
+ var n;
3088
+ const l = (n = t.files) == null ? void 0 : n[0];
3089
+ if (!l) {
3090
+ o(null);
2811
3091
  return;
2812
3092
  }
2813
- o.text().then((s) => n(JSON.parse(s))).catch(e);
3093
+ l.text().then((a) => o(JSON.parse(a))).catch(e);
2814
3094
  }), t.click();
2815
3095
  });
2816
3096
  }
2817
3097
  export {
2818
- ko as BlueApp,
2819
- ll as BlueBanner,
2820
- xo as BlueBannerGroup,
2821
- ce as BlueButton,
2822
- $o as BlueButtonGroup,
2823
- Dt as BlueCard,
2824
- Bo as BlueCheckbox,
2825
- Ml as BlueChip,
2826
- Co as BlueConfirmDialog,
2827
- $e as BlueDialog,
2828
- To as BlueExpansiblePanel,
2829
- Vo as BlueFileDrop,
2830
- H as BlueIcon,
2831
- Re as BlueInput,
2832
- Gt as BlueLoadingDialog,
2833
- _o as BlueMenu,
2834
- Fe as BlueOsError,
2835
- Hl as BlueProgressBar,
2836
- Mo as BluePromptDialog,
2837
- So as BlueRadioGroup,
2838
- Ro as BlueSection,
2839
- zo as BlueSelect,
2840
- Do as BlueSlider,
2841
- el as BlueSnackbar,
2842
- It as BlueSpinner,
2843
- Lo as BlueStat,
2844
- Fo as BlueStepsDialog,
2845
- Po as BlueSwitch,
2846
- Io as BlueTable,
2847
- Eo as BlueTabs,
2848
- Ao as BlueTextarea,
2849
- ie as BlueTooltip,
2850
- jo as BlueWindRose,
2851
- Vt as applyBlueTheme,
2852
- xe as blueOsService,
2853
- Oo as downloadJson,
2854
- xt as isBlueOsExtension,
2855
- No as pickJsonFile,
2856
- qo as setBlueOsHost,
2857
- kt as useBlueLoading,
2858
- Ct as useBlueOs,
2859
- wo as useBlueOsSetting,
2860
- ye as useBluePopover,
2861
- Xt as useBlueSnackbar
3098
+ Dn as BlueApp,
3099
+ sl as BlueBanner,
3100
+ In as BlueBannerGroup,
3101
+ re as BlueButton,
3102
+ zn as BlueButtonGroup,
3103
+ Ot as BlueCard,
3104
+ Pn as BlueCheckbox,
3105
+ El as BlueChip,
3106
+ An as BlueConfirmDialog,
3107
+ Be as BlueDialog,
3108
+ On as BlueExpansiblePanel,
3109
+ jn as BlueFileDrop,
3110
+ Wn as BlueHeader,
3111
+ Nn as BlueHeaderMenu,
3112
+ Hn as BlueHeaderSelector,
3113
+ G as BlueIcon,
3114
+ De as BlueInput,
3115
+ Xt as BlueLoadingDialog,
3116
+ Jl as BlueMenu,
3117
+ _e as BlueOsError,
3118
+ fo as BlueProgressBar,
3119
+ Kn as BluePromptDialog,
3120
+ Gn as BlueRadioGroup,
3121
+ Jn as BlueSection,
3122
+ Yn as BlueSelect,
3123
+ Xn as BlueSlider,
3124
+ nl as BlueSnackbar,
3125
+ Nt as BlueSpinner,
3126
+ Zn as BlueStat,
3127
+ Un as BlueStepsDialog,
3128
+ Qn as BlueSwitch,
3129
+ e2 as BlueTable,
3130
+ t2 as BlueTabs,
3131
+ l2 as BlueTextarea,
3132
+ se as BlueTooltip,
3133
+ o2 as BlueWindRose,
3134
+ Lt as applyBlueTheme,
3135
+ $e as blueOsService,
3136
+ n2 as downloadJson,
3137
+ Vt as isBlueOsExtension,
3138
+ a2 as pickJsonFile,
3139
+ Ln as setBlueOsHost,
3140
+ Tt as useBlueLoading,
3141
+ _t as useBlueOs,
3142
+ En as useBlueOsSetting,
3143
+ he as useBluePopover,
3144
+ tl as useBlueSnackbar
2862
3145
  };