@stachelock/ui 0.6.15 → 0.6.17

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.
Files changed (56) hide show
  1. package/dist/NavigationItem.vue_vue_type_script_setup_true_lang-a6F3LQ_P.js +56 -0
  2. package/dist/ScreenSizeSelector.vue_vue_type_script_setup_true_lang-FINxrVod.js +183 -0
  3. package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-DKcK0HmT.js +501 -0
  4. package/dist/charts/BaseChart.js +76 -56
  5. package/dist/charts/chartTheme.js +199 -60
  6. package/dist/charts/index.js +30 -27
  7. package/dist/components/Button.js +109 -89
  8. package/dist/composables/index.js +41 -32
  9. package/dist/composables/useMap.js +1 -1
  10. package/dist/index.js +2612 -1757
  11. package/dist/layouts/DashboardLayout.js +218 -2
  12. package/dist/layouts/NavigationItem.js +1 -1
  13. package/dist/maps/UiMap.js +167 -150
  14. package/dist/maps/UiMapAll.js +1 -1
  15. package/dist/maps/UiMapMarker.js +227 -118
  16. package/dist/maps/index.js +1 -1
  17. package/dist/src/components/SecureHandoffCard.d.ts +88 -0
  18. package/dist/src/components/UiProgressBar.d.ts +1 -1
  19. package/dist/src/components/UiRadialProgressBar.d.ts +1 -1
  20. package/dist/src/components/charts/chartTheme.d.ts +53 -0
  21. package/dist/src/components/formatters/DateFormatter.d.ts +1 -1
  22. package/dist/src/components/index.d.ts +2 -0
  23. package/dist/src/components/inputs/DatepickerInput.d.ts +3 -3
  24. package/dist/src/components/layouts/DashboardLayout.d.ts +80 -18
  25. package/dist/src/components/layouts/ShowcaseCard.d.ts +1 -0
  26. package/dist/src/components/layouts/UiDetailPanel.d.ts +65 -0
  27. package/dist/src/components/layouts/UiSplitPanelLayout.d.ts +96 -0
  28. package/dist/src/components/layouts/index.d.ts +2 -0
  29. package/dist/src/components/maps/UiMap.d.ts +13 -2
  30. package/dist/src/components/maps/UiMapAll.d.ts +13 -0
  31. package/dist/src/components/maps/UiMapMarker.d.ts +47 -10
  32. package/dist/src/components/modals/UiSlideOver.d.ts +104 -0
  33. package/dist/src/components/modals/index.d.ts +1 -0
  34. package/dist/src/components/palettes/UiCommandPalette.d.ts +166 -0
  35. package/dist/src/components/palettes/index.d.ts +1 -0
  36. package/dist/src/components/wrappers/BreakpointWrapper.d.ts +36 -0
  37. package/dist/src/components/wrappers/ResponsivePreviewWrapper.d.ts +85 -0
  38. package/dist/src/components/wrappers/ScreenSizeSelector.d.ts +74 -0
  39. package/dist/src/components/wrappers/index.d.ts +3 -0
  40. package/dist/src/composables/index.d.ts +1 -0
  41. package/dist/src/composables/useScreenSize.d.ts +131 -0
  42. package/dist/src/types/index.d.ts +1 -0
  43. package/dist/src/types/layouts.d.ts +42 -0
  44. package/dist/src/types/palettes.d.ts +134 -0
  45. package/dist/src/views/components/index.d.ts +2 -0
  46. package/dist/src/views/index.d.ts +5 -1
  47. package/dist/src/views/layouts/index.d.ts +3 -1
  48. package/dist/style.css +1 -1
  49. package/dist/useMap-CM59TKX6.js +318 -0
  50. package/dist/useScreenSize-Kr6cn5Zr.js +104 -0
  51. package/dist/wrappers/index.js +10 -6
  52. package/package.json +1 -1
  53. package/dist/DashboardLayout.vue_vue_type_script_setup_true_lang-BAx4gKqh.js +0 -239
  54. package/dist/NavigationItem.vue_vue_type_script_setup_true_lang-C8aX-84Q.js +0 -56
  55. package/dist/UiMapAll.vue_vue_type_script_setup_true_lang-11yT7mTH.js +0 -471
  56. package/dist/useMap-BGg0H582.js +0 -297
@@ -1,7 +1,7 @@
1
- import { defineComponent as O, defineAsyncComponent as j, inject as N, computed as a, createBlock as A, createCommentVNode as g, openBlock as i, unref as E, withCtx as R, createElementBlock as s, normalizeStyle as o, renderSlot as W, createElementVNode as m, toDisplayString as F } from "vue";
2
- import { m as y } from "../mapThemes-DFE9fZm3.js";
3
- import { _ as U } from "../_plugin-vue_export-helper-CHgC5LLL.js";
4
- const V = ["src", "alt"], q = /* @__PURE__ */ O({
1
+ import { defineComponent as G, defineAsyncComponent as x, inject as J, computed as l, createBlock as z, createCommentVNode as C, openBlock as n, unref as M, withCtx as K, createElementVNode as p, normalizeStyle as a, createElementBlock as f, toDisplayString as D } from "vue";
2
+ import { m as L } from "../mapThemes-DFE9fZm3.js";
3
+ import { _ as Q } from "../_plugin-vue_export-helper-CHgC5LLL.js";
4
+ const X = ["src", "alt"], Y = /* @__PURE__ */ G({
5
5
  __name: "UiMapMarker",
6
6
  props: {
7
7
  /** Geographic position */
@@ -73,164 +73,273 @@ const V = ["src", "alt"], q = /* @__PURE__ */ O({
73
73
  ready: {
74
74
  type: Boolean,
75
75
  default: !0
76
+ },
77
+ /** Use legacy Marker instead of AdvancedMarker (no Map ID required) */
78
+ legacy: {
79
+ type: Boolean,
80
+ default: !1
81
+ },
82
+ /** Whether this marker represents a cluster */
83
+ cluster: {
84
+ type: Boolean,
85
+ default: !1
86
+ },
87
+ /** Number of items in the cluster (required when cluster=true) */
88
+ clusterSize: {
89
+ type: Number,
90
+ default: 0
91
+ },
92
+ /** Custom cluster color */
93
+ clusterColor: {
94
+ type: String,
95
+ default: void 0
76
96
  }
77
97
  },
78
98
  emits: ["click", "dragstart", "drag", "dragend", "mouseover", "mouseout"],
79
- setup(l, { emit: k }) {
80
- const v = j(
81
- () => import("vue3-google-map").then((e) => e.AdvancedMarker)
82
- ), t = l, n = k, d = N("slMapInstance", { isDark: { value: !1 } }), b = a(() => t.ready && t.visible), r = a(() => ({
83
- id: t.id,
84
- position: t.position,
85
- title: t.title,
86
- data: t.data,
87
- zIndex: t.zIndex,
88
- draggable: t.draggable,
89
- visible: t.visible
90
- })), c = a(() => t.color in y ? y[t.color] : t.color), u = a(() => {
91
- const e = { sm: 16, md: 24, lg: 32 };
92
- return e[t.size] || e.md;
93
- }), h = a(() => ({
94
- position: t.position,
95
- title: t.title,
96
- zIndex: t.zIndex,
97
- gmpDraggable: t.draggable,
99
+ setup(o, { emit: w }) {
100
+ const I = x(
101
+ () => import("vue3-google-map").then((t) => t.AdvancedMarker)
102
+ ), O = x(
103
+ () => import("vue3-google-map").then((t) => t.Marker)
104
+ ), e = o, i = w, c = J("slMapInstance", { isDark: { value: !1 } }), m = l(() => e.ready && e.visible), $ = l(() => e.icon?.url ? "icon" : e.cluster ? "cluster" : e.pin ? "pin" : "circle"), W = l(() => e.legacy || c?.useLegacyMarkers?.value || !1), r = l(() => ({
105
+ id: e.id,
106
+ position: e.position,
107
+ title: e.title,
108
+ data: e.data,
109
+ zIndex: e.zIndex,
110
+ draggable: e.draggable,
111
+ visible: e.visible
112
+ })), u = l(() => e.color in L ? L[e.color] : e.color), s = l(() => {
113
+ const t = { sm: 20, md: 32, lg: 48 };
114
+ return t[e.size] || t.md;
115
+ }), B = l(() => {
116
+ if (!e.cluster) return {};
117
+ const d = Math.min(40 + Math.log(e.clusterSize) * 10, 64), g = e.clusterColor || y(e.clusterSize);
118
+ return {
119
+ width: `${d}px`,
120
+ height: `${d}px`,
121
+ backgroundColor: g,
122
+ borderRadius: "50%",
123
+ border: "4px solid white",
124
+ boxShadow: "0 4px 12px rgba(0,0,0,0.35), 0 0 0 2px rgba(0,0,0,0.1)",
125
+ display: "flex",
126
+ alignItems: "center",
127
+ justifyContent: "center",
128
+ color: "white",
129
+ fontWeight: "700",
130
+ fontSize: e.clusterSize >= 100 ? "13px" : e.clusterSize >= 10 ? "14px" : "16px",
131
+ cursor: "pointer",
132
+ transition: "transform 0.15s ease, box-shadow 0.15s ease"
133
+ };
134
+ });
135
+ function y(t) {
136
+ return t < 10 ? "#22c55e" : t < 25 ? "#3b82f6" : t < 50 ? "#f59e0b" : t < 100 ? "#f97316" : "#ef4444";
137
+ }
138
+ const j = l(() => ({
139
+ position: e.position,
140
+ title: e.title,
141
+ zIndex: e.zIndex,
142
+ gmpDraggable: e.draggable,
98
143
  gmpClickable: !0
99
- })), x = a(() => ({
144
+ })), R = l(() => {
145
+ const t = {
146
+ position: e.position,
147
+ title: e.title,
148
+ zIndex: e.zIndex,
149
+ draggable: e.draggable,
150
+ clickable: !0,
151
+ animation: e.animation ? google.maps.Animation[e.animation] : void 0
152
+ };
153
+ if (e.cluster) {
154
+ const g = Math.min(18 + Math.log(e.clusterSize) * 4, 28), H = e.clusterColor || y(e.clusterSize);
155
+ return t.icon = {
156
+ path: google.maps.SymbolPath.CIRCLE,
157
+ scale: g,
158
+ fillColor: H,
159
+ fillOpacity: 0.9,
160
+ strokeColor: "#ffffff",
161
+ strokeWeight: 3
162
+ }, t.label = {
163
+ text: String(e.clusterSize),
164
+ color: "#ffffff",
165
+ fontWeight: "bold",
166
+ fontSize: e.clusterSize >= 100 ? "11px" : e.clusterSize >= 10 ? "12px" : "14px"
167
+ }, t;
168
+ }
169
+ return e.icon?.url ? t.icon = {
170
+ url: e.icon.url,
171
+ scaledSize: e.icon.scaledSize ? new google.maps.Size(e.icon.scaledSize.width, e.icon.scaledSize.height) : void 0
172
+ } : e.icon?.path !== void 0 ? t.icon = {
173
+ path: e.icon.path,
174
+ scale: e.icon.scale || s.value / 2,
175
+ fillColor: e.icon.fillColor || u.value,
176
+ fillOpacity: e.icon.fillOpacity ?? 1,
177
+ strokeColor: e.icon.strokeColor || "#ffffff",
178
+ strokeWeight: e.icon.strokeWeight ?? 2
179
+ } : t.icon = {
180
+ path: google.maps.SymbolPath.CIRCLE,
181
+ scale: s.value / 2,
182
+ fillColor: u.value,
183
+ fillOpacity: 1,
184
+ strokeColor: "#ffffff",
185
+ strokeWeight: 2
186
+ }, e.label && (typeof e.label == "string" ? t.label = e.label : t.label = {
187
+ text: e.label.text,
188
+ color: e.label.color,
189
+ fontFamily: e.label.fontFamily,
190
+ fontSize: e.label.fontSize,
191
+ fontWeight: e.label.fontWeight
192
+ }), t;
193
+ }), E = l(() => ({
100
194
  cursor: "pointer",
101
195
  transform: "translate(-50%, -100%)"
102
- })), S = a(() => ({
103
- width: `${u.value}px`,
104
- height: `${u.value}px`,
196
+ })), N = l(() => ({
197
+ width: `${s.value}px`,
198
+ height: `${s.value}px`,
105
199
  borderRadius: "50%",
106
- backgroundColor: c.value,
107
- border: `2px solid ${d?.isDark?.value ? "#374151" : "#ffffff"}`,
200
+ backgroundColor: u.value,
201
+ border: `2px solid ${c?.isDark?.value ? "#374151" : "#ffffff"}`,
108
202
  boxShadow: "0 2px 4px rgba(0,0,0,0.2)",
109
203
  display: "flex",
110
204
  alignItems: "center",
111
205
  justifyContent: "center"
112
- })), z = a(() => ({
206
+ })), A = l(() => ({
113
207
  display: "flex",
114
208
  flexDirection: "column",
115
209
  alignItems: "center"
116
- })), D = a(() => ({
117
- width: `${u.value}px`,
118
- height: `${u.value}px`,
210
+ })), F = l(() => ({
211
+ width: `${s.value}px`,
212
+ height: `${s.value}px`,
119
213
  borderRadius: "50% 50% 50% 0",
120
- backgroundColor: c.value,
121
- border: `2px solid ${d?.isDark?.value ? "#374151" : "#ffffff"}`,
214
+ backgroundColor: u.value,
215
+ border: `2px solid ${c?.isDark?.value ? "#374151" : "#ffffff"}`,
122
216
  boxShadow: "0 2px 4px rgba(0,0,0,0.2)",
123
217
  transform: "rotate(-45deg)"
124
- })), C = a(() => ({
218
+ })), P = l(() => ({
125
219
  width: "4px",
126
220
  height: "4px",
127
- backgroundColor: c.value,
221
+ backgroundColor: u.value,
128
222
  marginTop: "-2px"
129
- })), M = a(() => {
130
- const e = t.label;
131
- return e ? typeof e == "string" ? {
132
- color: d?.isDark?.value ? "#f3f4f6" : "#1f2937",
223
+ })), T = l(() => {
224
+ const t = e.label;
225
+ return t ? typeof t == "string" ? {
226
+ color: c?.isDark?.value ? "#f3f4f6" : "#1f2937",
133
227
  fontSize: "10px",
134
228
  fontWeight: "600"
135
229
  } : {
136
- color: e.color ?? (d?.isDark?.value ? "#f3f4f6" : "#1f2937"),
137
- fontFamily: e.fontFamily ?? "inherit",
138
- fontSize: e.fontSize ?? "10px",
139
- fontWeight: e.fontWeight ?? "600"
230
+ color: t.color ?? (c?.isDark?.value ? "#f3f4f6" : "#1f2937"),
231
+ fontFamily: t.fontFamily ?? "inherit",
232
+ fontSize: t.fontSize ?? "10px",
233
+ fontWeight: t.fontWeight ?? "600"
140
234
  } : {};
141
- }), I = a(() => t.icon?.scaledSize ? {
142
- width: `${t.icon.scaledSize.width}px`,
143
- height: `${t.icon.scaledSize.height}px`
235
+ }), U = l(() => e.icon?.scaledSize ? {
236
+ width: `${e.icon.scaledSize.width}px`,
237
+ height: `${e.icon.scaledSize.height}px`
144
238
  } : {});
145
- function $(e) {
146
- n("click", {
239
+ function V(t) {
240
+ i("click", {
241
+ marker: r.value,
242
+ position: e.position,
243
+ event: t
244
+ });
245
+ }
246
+ function q(t) {
247
+ i("click", {
147
248
  marker: r.value,
148
- position: t.position,
149
- event: e
249
+ position: t.latLng ? { lat: t.latLng.lat(), lng: t.latLng.lng() } : e.position,
250
+ event: t
150
251
  });
151
252
  }
152
- function w(e) {
153
- n("dragstart", {
253
+ function b(t) {
254
+ i("dragstart", {
154
255
  marker: r.value,
155
- position: e.latLng ? { lat: e.latLng.lat(), lng: e.latLng.lng() } : t.position,
156
- event: e
256
+ position: t.latLng ? { lat: t.latLng.lat(), lng: t.latLng.lng() } : e.position,
257
+ event: t
157
258
  });
158
259
  }
159
- function L(e) {
160
- n("drag", {
260
+ function k(t) {
261
+ i("drag", {
161
262
  marker: r.value,
162
- position: e.latLng ? { lat: e.latLng.lat(), lng: e.latLng.lng() } : t.position,
163
- event: e
263
+ position: t.latLng ? { lat: t.latLng.lat(), lng: t.latLng.lng() } : e.position,
264
+ event: t
164
265
  });
165
266
  }
166
- function B(e) {
167
- n("dragend", {
267
+ function h(t) {
268
+ i("dragend", {
168
269
  marker: r.value,
169
- position: e.latLng ? { lat: e.latLng.lat(), lng: e.latLng.lng() } : t.position,
170
- event: e
270
+ position: t.latLng ? { lat: t.latLng.lat(), lng: t.latLng.lng() } : e.position,
271
+ event: t
171
272
  });
172
273
  }
173
- function f() {
174
- n("mouseover", { marker: r.value });
274
+ function S() {
275
+ i("mouseover", { marker: r.value });
175
276
  }
176
- function p() {
177
- n("mouseout", { marker: r.value });
277
+ function v() {
278
+ i("mouseout", { marker: r.value });
178
279
  }
179
- return (e, H) => b.value ? (i(), A(E(v), {
280
+ return (t, d) => m.value && W.value ? (n(), z(M(O), {
180
281
  key: 0,
181
- options: h.value,
182
- onClick: $,
183
- onDrag: L,
184
- onDragstart: w,
185
- onDragend: B
282
+ options: R.value,
283
+ onClick: q,
284
+ onDrag: k,
285
+ onDragstart: b,
286
+ onDragend: h,
287
+ onMouseover: S,
288
+ onMouseout: v
289
+ }, null, 8, ["options"])) : m.value ? (n(), z(M(I), {
290
+ key: `adv-${$.value}`,
291
+ options: j.value,
292
+ onClick: V,
293
+ onDrag: k,
294
+ onDragstart: b,
295
+ onDragend: h
186
296
  }, {
187
- default: R(() => [
188
- l.icon?.url ? (i(), s("img", {
189
- key: 1,
190
- src: l.icon.url,
191
- alt: l.title,
192
- style: o(I.value),
193
- onMouseenter: f,
194
- onMouseleave: p
195
- }, null, 44, V)) : (i(), s("div", {
196
- key: 0,
197
- class: "sl-marker-pin",
198
- style: o(x.value),
199
- onMouseenter: f,
200
- onMouseleave: p
297
+ default: K(() => [
298
+ p("div", {
299
+ class: "sl-marker-content",
300
+ style: a(E.value),
301
+ onMouseenter: S,
302
+ onMouseleave: v
201
303
  }, [
202
- W(e.$slots, "content", {}, () => [
203
- l.pin ? (i(), s("div", {
304
+ o.icon?.url ? (n(), f("img", {
305
+ key: 0,
306
+ src: o.icon.url,
307
+ alt: o.title,
308
+ style: a(U.value)
309
+ }, null, 12, X)) : o.cluster ? (n(), f("div", {
310
+ key: 1,
311
+ class: "sl-cluster-marker",
312
+ style: a(B.value)
313
+ }, D(o.clusterSize), 5)) : o.pin ? (n(), f("div", {
314
+ key: 2,
315
+ class: "sl-pin-marker",
316
+ style: a(A.value)
317
+ }, [
318
+ p("div", {
319
+ class: "sl-pin-head",
320
+ style: a(F.value)
321
+ }, null, 4),
322
+ p("div", {
323
+ class: "sl-pin-point",
324
+ style: a(P.value)
325
+ }, null, 4)
326
+ ], 4)) : (n(), f("div", {
327
+ key: 3,
328
+ class: "sl-circle-marker",
329
+ style: a(N.value)
330
+ }, [
331
+ o.label ? (n(), f("span", {
204
332
  key: 0,
205
- class: "sl-pin-marker",
206
- style: o(z.value)
207
- }, [
208
- m("div", {
209
- class: "sl-pin-head",
210
- style: o(D.value)
211
- }, null, 4),
212
- m("div", {
213
- class: "sl-pin-point",
214
- style: o(C.value)
215
- }, null, 4)
216
- ], 4)) : (i(), s("div", {
217
- key: 1,
218
- class: "sl-circle-marker",
219
- style: o(S.value)
220
- }, [
221
- l.label ? (i(), s("span", {
222
- key: 0,
223
- class: "sl-marker-label",
224
- style: o(M.value)
225
- }, F(typeof l.label == "string" ? l.label : l.label.text), 5)) : g("", !0)
226
- ], 4))
227
- ], !0)
228
- ], 36))
333
+ class: "sl-marker-label",
334
+ style: a(T.value)
335
+ }, D(typeof o.label == "string" ? o.label : o.label.text), 5)) : C("", !0)
336
+ ], 4))
337
+ ], 36)
229
338
  ]),
230
- _: 3
231
- }, 8, ["options"])) : g("", !0);
339
+ _: 1
340
+ }, 8, ["options"])) : C("", !0);
232
341
  }
233
- }), J = /* @__PURE__ */ U(q, [["__scopeId", "data-v-fb51a81d"]]);
342
+ }), te = /* @__PURE__ */ Q(Y, [["__scopeId", "data-v-a942df25"]]);
234
343
  export {
235
- J as default
344
+ te as default
236
345
  };
@@ -1,7 +1,7 @@
1
1
  import { default as r } from "./GoogleMap.js";
2
2
  import { default as f } from "./UiInfoWindow.js";
3
3
  import { default as t } from "./UiMap.js";
4
- import { _ as d } from "../UiMapAll.vue_vue_type_script_setup_true_lang-11yT7mTH.js";
4
+ import { _ as d } from "../UiMapAll.vue_vue_type_script_setup_true_lang-DKcK0HmT.js";
5
5
  import { default as s } from "./UiMapMarker.js";
6
6
  export {
7
7
  r as GoogleMap,
@@ -0,0 +1,88 @@
1
+ /**
2
+ * SecureHandoffCard - Presentational component for cross-app authentication handoffs
3
+ *
4
+ * This component provides visual feedback during the secure handoff process between
5
+ * applications in the Stachelock ecosystem. It supports three states:
6
+ * - loading: Shows a spinner while connecting/verifying
7
+ * - success: Shows a success message while redirecting
8
+ * - error: Shows an error message with retry action
9
+ *
10
+ * @example
11
+ * ```vue
12
+ * <SecureHandoffCard
13
+ * status="loading"
14
+ * title="Connecting your session"
15
+ * statusMessage="Verifying your secure session..."
16
+ * @action-click="handleRetry"
17
+ * />
18
+ * ```
19
+ */
20
+ export type SecureHandoffStatus = 'loading' | 'success' | 'error';
21
+ export interface SecureHandoffCardProps {
22
+ /** Current status of the handoff process */
23
+ status: SecureHandoffStatus;
24
+ /** Label shown above the title (e.g., "Secure Handoff") */
25
+ label?: string;
26
+ /** Main title text */
27
+ title?: string;
28
+ /** Status message shown below the title */
29
+ statusMessage?: string;
30
+ /** Message shown on success before redirect */
31
+ successMessage?: string;
32
+ /** Error message shown when handoff fails */
33
+ errorMessage?: string;
34
+ /** Label for the action button (shown in error state) */
35
+ actionLabel?: string;
36
+ /** Use full-screen layout (min-h-screen) */
37
+ fullScreen?: boolean;
38
+ }
39
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SecureHandoffCardProps>, {
40
+ status: string;
41
+ label: string;
42
+ title: string;
43
+ statusMessage: string;
44
+ successMessage: string;
45
+ errorMessage: string;
46
+ actionLabel: string;
47
+ fullScreen: boolean;
48
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
49
+ "action-click": () => void;
50
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<SecureHandoffCardProps>, {
51
+ status: string;
52
+ label: string;
53
+ title: string;
54
+ statusMessage: string;
55
+ successMessage: string;
56
+ errorMessage: string;
57
+ actionLabel: string;
58
+ fullScreen: boolean;
59
+ }>>> & Readonly<{
60
+ "onAction-click"?: (() => any) | undefined;
61
+ }>, {
62
+ label: string;
63
+ errorMessage: string;
64
+ title: string;
65
+ status: SecureHandoffStatus;
66
+ successMessage: string;
67
+ actionLabel: string;
68
+ fullScreen: boolean;
69
+ statusMessage: string;
70
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
71
+ export default _default;
72
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
73
+ type __VLS_TypePropsToRuntimeProps<T> = {
74
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
75
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
76
+ } : {
77
+ type: import('vue').PropType<T[K]>;
78
+ required: true;
79
+ };
80
+ };
81
+ type __VLS_WithDefaults<P, D> = {
82
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
83
+ default: D[K];
84
+ }> : P[K];
85
+ };
86
+ type __VLS_Prettify<T> = {
87
+ [K in keyof T]: T[K];
88
+ } & {};
@@ -22,9 +22,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
22
22
  }>>> & Readonly<{}>, {
23
23
  label: string;
24
24
  size: ProgressSize;
25
- color: ProgressColor;
26
25
  value: number;
27
26
  showLabel: boolean;
27
+ color: ProgressColor;
28
28
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
29
29
  export default _default;
30
30
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -24,9 +24,9 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
24
24
  }>>> & Readonly<{}>, {
25
25
  label: string;
26
26
  size: number;
27
- color: ProgressColor;
28
27
  value: number;
29
28
  showLabel: boolean;
29
+ color: ProgressColor;
30
30
  trackWidth: number;
31
31
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
32
32
  export default _default;
@@ -45,7 +45,35 @@ export declare const chartTypography: {
45
45
  color: string;
46
46
  };
47
47
  };
48
+ export declare const chartTypographyDark: {
49
+ fontFamily: string;
50
+ title: {
51
+ fontSize: number;
52
+ fontWeight: number;
53
+ color: string;
54
+ };
55
+ subtitle: {
56
+ fontSize: number;
57
+ fontWeight: number;
58
+ color: string;
59
+ };
60
+ label: {
61
+ fontSize: number;
62
+ fontWeight: number;
63
+ color: string;
64
+ };
65
+ axis: {
66
+ fontSize: number;
67
+ fontWeight: number;
68
+ color: string;
69
+ };
70
+ };
48
71
  export declare const baseTheme: Partial<EChartsOption>;
72
+ export declare const baseThemeDark: Partial<EChartsOption>;
73
+ /**
74
+ * Get the appropriate theme based on dark mode setting
75
+ */
76
+ export declare const getTheme: (isDark: boolean) => Partial<EChartsOption>;
49
77
  export declare const lineChartConfig: Partial<EChartsOption>;
50
78
  export declare const areaChartConfig: Partial<EChartsOption>;
51
79
  export declare const barChartConfig: Partial<EChartsOption>;
@@ -135,7 +163,32 @@ declare const _default: {
135
163
  color: string;
136
164
  };
137
165
  };
166
+ chartTypographyDark: {
167
+ fontFamily: string;
168
+ title: {
169
+ fontSize: number;
170
+ fontWeight: number;
171
+ color: string;
172
+ };
173
+ subtitle: {
174
+ fontSize: number;
175
+ fontWeight: number;
176
+ color: string;
177
+ };
178
+ label: {
179
+ fontSize: number;
180
+ fontWeight: number;
181
+ color: string;
182
+ };
183
+ axis: {
184
+ fontSize: number;
185
+ fontWeight: number;
186
+ color: string;
187
+ };
188
+ };
138
189
  baseTheme: Partial<EChartsOption>;
190
+ baseThemeDark: Partial<EChartsOption>;
191
+ getTheme: (isDark: boolean) => Partial<EChartsOption>;
139
192
  lineChartConfig: Partial<EChartsOption>;
140
193
  areaChartConfig: Partial<EChartsOption>;
141
194
  barChartConfig: Partial<EChartsOption>;
@@ -105,8 +105,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
105
105
  date: boolean;
106
106
  secondaryRelativeDate: boolean;
107
107
  };
108
- format: string;
109
108
  space: boolean;
109
+ format: string;
110
110
  secondaryRelativeDate: DateInputValue;
111
111
  secondarySuffix: string;
112
112
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
@@ -1,5 +1,6 @@
1
1
  export { default as CloudinaryImage } from './CloudinaryImage';
2
2
  export { default as LottieAnimation } from './LottieAnimation';
3
+ export { default as SecureHandoffCard } from './SecureHandoffCard';
3
4
  export { default as ThemeDebugModal } from './ThemeDebugModal';
4
5
  export { default as Avatar } from './UiAvatar';
5
6
  export { default as Badge } from './UiBadge';
@@ -31,6 +32,7 @@ export * from './loading';
31
32
  export * from './maps';
32
33
  export * from './modals';
33
34
  export * from './notifications';
35
+ export * from './palettes';
34
36
  export * from './profile-inputs';
35
37
  export * from './profiles';
36
38
  export * from './stepper';
@@ -267,7 +267,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
267
267
  default: undefined;
268
268
  };
269
269
  weekNumbers: {
270
- type: PropType<boolean | "iso" | "local">;
270
+ type: PropType<boolean | "local" | "iso">;
271
271
  default: boolean;
272
272
  };
273
273
  utc: {
@@ -615,7 +615,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
615
615
  default: undefined;
616
616
  };
617
617
  weekNumbers: {
618
- type: PropType<boolean | "iso" | "local">;
618
+ type: PropType<boolean | "local" | "iso">;
619
619
  default: boolean;
620
620
  };
621
621
  utc: {
@@ -761,7 +761,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
761
761
  solo?: boolean | undefined;
762
762
  static?: boolean | undefined;
763
763
  };
764
- weekNumbers: boolean | "iso" | "local";
764
+ weekNumbers: boolean | "local" | "iso";
765
765
  hoursIncrement: number;
766
766
  minutesIncrement: number;
767
767
  secondsIncrement: number;