@strands.gg/accui 2.3.10 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accui.css +1 -1
- package/dist/strands-auth-ui.cjs.js +1 -1
- package/dist/strands-auth-ui.es.js +1574 -534
- package/dist/vue/ui/UiButton/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, computed, provide, onMounted, onUnmounted, createElementBlock, openBlock, normalizeClass, renderSlot, createBlock, Teleport, createCommentVNode, unref, createElementVNode, toDisplayString, createTextVNode, h, useSlots,
|
|
1
|
+
import { defineComponent, computed, provide, onMounted, onUnmounted, createElementBlock, openBlock, normalizeClass, renderSlot, createBlock, Teleport, createCommentVNode, unref, createElementVNode, toDisplayString, createTextVNode, normalizeStyle, h, useSlots, createVNode, Fragment, resolveDynamicComponent, withCtx, resolveComponent, createSlots, ref, nextTick, toRefs, watch, renderList, reactive, withModifiers, createStaticVNode, withDirectives, vModelText, Transition, mergeProps, vModelSelect, inject, onBeforeUnmount, withKeys, isMemoSame, getCurrentInstance } from "vue";
|
|
2
2
|
import { u as useStrandsConfig, p as provideStrandsConfig } from "./useStrandsConfig-C3gBJK6y.es.js";
|
|
3
3
|
import { s } from "./useStrandsConfig-C3gBJK6y.es.js";
|
|
4
4
|
import { u as useStrandsAuth } from "./useStrandsAuth-DoUupKb8.es.js";
|
|
@@ -49,11 +49,11 @@ if (typeof window !== "undefined") {
|
|
|
49
49
|
modalStack.cleanup();
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
|
-
const _hoisted_1$
|
|
52
|
+
const _hoisted_1$J = {
|
|
53
53
|
key: 0,
|
|
54
54
|
class: "ui-app-modal-overlay"
|
|
55
55
|
};
|
|
56
|
-
const _hoisted_2$
|
|
56
|
+
const _hoisted_2$A = {
|
|
57
57
|
key: 0,
|
|
58
58
|
class: "ui-app-loading-overlay"
|
|
59
59
|
};
|
|
@@ -62,7 +62,7 @@ const _hoisted_4$u = {
|
|
|
62
62
|
key: 0,
|
|
63
63
|
class: "ui-app-loading-message"
|
|
64
64
|
};
|
|
65
|
-
const _sfc_main$
|
|
65
|
+
const _sfc_main$O = /* @__PURE__ */ defineComponent({
|
|
66
66
|
__name: "UiApp",
|
|
67
67
|
props: {
|
|
68
68
|
theme: { default: "auto" },
|
|
@@ -111,13 +111,13 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
|
111
111
|
}, [
|
|
112
112
|
renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
113
113
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
114
|
-
unref(modalStack).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$
|
|
114
|
+
unref(modalStack).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$J)) : createCommentVNode("", true)
|
|
115
115
|
])),
|
|
116
116
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
117
117
|
_cache[0] || (_cache[0] = createElementVNode("div", { class: "ui-app-notifications" }, null, -1))
|
|
118
118
|
])),
|
|
119
119
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
120
|
-
isGlobalLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
120
|
+
isGlobalLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$A, [
|
|
121
121
|
createElementVNode("div", _hoisted_3$x, [
|
|
122
122
|
_cache[1] || (_cache[1] = createElementVNode("div", { class: "ui-app-loading-spinner" }, null, -1)),
|
|
123
123
|
_ctx.loadingMessage ? (openBlock(), createElementBlock("p", _hoisted_4$u, toDisplayString(_ctx.loadingMessage), 1)) : createCommentVNode("", true)
|
|
@@ -135,9 +135,9 @@ const _export_sfc = (sfc, props) => {
|
|
|
135
135
|
}
|
|
136
136
|
return target;
|
|
137
137
|
};
|
|
138
|
-
const UiApp = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
139
|
-
const _hoisted_1$
|
|
140
|
-
const _hoisted_2$
|
|
138
|
+
const UiApp = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-942fd7a0"]]);
|
|
139
|
+
const _hoisted_1$I = { class: "accui-component-scope" };
|
|
140
|
+
const _hoisted_2$z = { class: "alert-content" };
|
|
141
141
|
const _hoisted_3$w = { class: "alert-icon-container" };
|
|
142
142
|
const _hoisted_4$t = {
|
|
143
143
|
class: "alert-main-icon",
|
|
@@ -146,12 +146,12 @@ const _hoisted_4$t = {
|
|
|
146
146
|
"aria-hidden": "true"
|
|
147
147
|
};
|
|
148
148
|
const _hoisted_5$q = ["d"];
|
|
149
|
-
const _hoisted_6$
|
|
149
|
+
const _hoisted_6$o = { class: "alert-text-container" };
|
|
150
150
|
const _hoisted_7$m = {
|
|
151
151
|
key: 0,
|
|
152
152
|
class: "alert-dismiss-container"
|
|
153
153
|
};
|
|
154
|
-
const _sfc_main$
|
|
154
|
+
const _sfc_main$N = /* @__PURE__ */ defineComponent({
|
|
155
155
|
__name: "UiAlert",
|
|
156
156
|
props: {
|
|
157
157
|
variant: { default: "info" },
|
|
@@ -187,12 +187,12 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
187
187
|
return icons[props.variant];
|
|
188
188
|
});
|
|
189
189
|
return (_ctx, _cache) => {
|
|
190
|
-
return openBlock(), createElementBlock("div", _hoisted_1$
|
|
190
|
+
return openBlock(), createElementBlock("div", _hoisted_1$I, [
|
|
191
191
|
createElementVNode("div", {
|
|
192
192
|
class: normalizeClass(alertClasses.value),
|
|
193
193
|
role: "alert"
|
|
194
194
|
}, [
|
|
195
|
-
createElementVNode("div", _hoisted_2$
|
|
195
|
+
createElementVNode("div", _hoisted_2$z, [
|
|
196
196
|
createElementVNode("div", _hoisted_3$w, [
|
|
197
197
|
(openBlock(), createElementBlock("svg", _hoisted_4$t, [
|
|
198
198
|
createElementVNode("path", {
|
|
@@ -202,7 +202,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
202
202
|
}, null, 8, _hoisted_5$q)
|
|
203
203
|
]))
|
|
204
204
|
]),
|
|
205
|
-
createElementVNode("div", _hoisted_6$
|
|
205
|
+
createElementVNode("div", _hoisted_6$o, [
|
|
206
206
|
_ctx.title ? (openBlock(), createElementBlock("h3", {
|
|
207
207
|
key: 0,
|
|
208
208
|
class: normalizeClass(titleClasses.value)
|
|
@@ -241,7 +241,112 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
|
241
241
|
};
|
|
242
242
|
}
|
|
243
243
|
});
|
|
244
|
-
const StrandsUiAlert = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
244
|
+
const StrandsUiAlert = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-1beb49ad"]]);
|
|
245
|
+
const logo = '<svg width="302" height="438" viewBox="0 0 302 438" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M71.5001 96C71.5001 96 132 106 137 61.5C142 17 117.5 3.50005 94.5001 1.50003C71.5001 -0.499996 16.0001 8.5 2.00014 72.5C-6.5 130.5 71.5003 227.5 165 218C258.5 208.5 280.758 148.5 283.5 121C286.242 93.5 277.5 61.5 238.5 61.5C153 61.5 150.501 185 170.5 235C190.5 285 199 279 213 314C227.001 349 217.296 411.458 183 427C129.456 450.65 92 426 78.5 407.5C65 389 68.0003 357 94.5001 344.5C121 332 212.41 393.5 301.5 361" stroke="black"/>\n</svg>\n';
|
|
246
|
+
const _hoisted_1$H = {
|
|
247
|
+
key: 0,
|
|
248
|
+
class: "loader-icon"
|
|
249
|
+
};
|
|
250
|
+
const _hoisted_2$y = ["width", "height"];
|
|
251
|
+
const _hoisted_3$v = ["d"];
|
|
252
|
+
const _hoisted_4$s = ["stroke-width"];
|
|
253
|
+
const _hoisted_5$p = ["stroke-width"];
|
|
254
|
+
const _hoisted_6$n = ["width", "height"];
|
|
255
|
+
const _hoisted_7$l = {
|
|
256
|
+
key: 3,
|
|
257
|
+
class: "loader-text"
|
|
258
|
+
};
|
|
259
|
+
const _sfc_main$M = /* @__PURE__ */ defineComponent({
|
|
260
|
+
__name: "UiLoader",
|
|
261
|
+
props: {
|
|
262
|
+
size: { default: 80 },
|
|
263
|
+
color: { default: "primary" },
|
|
264
|
+
variant: { default: "spinner" },
|
|
265
|
+
text: {},
|
|
266
|
+
centered: { type: Boolean, default: true },
|
|
267
|
+
weight: { default: 30 },
|
|
268
|
+
fullWidth: { type: Boolean, default: false }
|
|
269
|
+
},
|
|
270
|
+
setup(__props) {
|
|
271
|
+
const path = logo.replace(/<svg[^>]*>/, "").replace(/<\/svg>/, "").trim();
|
|
272
|
+
const d = path.match(/d="([^"]*)"/)?.[1] || "";
|
|
273
|
+
return (_ctx, _cache) => {
|
|
274
|
+
return openBlock(), createElementBlock("div", {
|
|
275
|
+
class: normalizeClass(["loader-container", [
|
|
276
|
+
{ "loader-centered": _ctx.centered },
|
|
277
|
+
`loader-color-${_ctx.color}`
|
|
278
|
+
]])
|
|
279
|
+
}, [
|
|
280
|
+
_ctx.variant === "spinner" ? (openBlock(), createElementBlock("div", _hoisted_1$H, [
|
|
281
|
+
(openBlock(), createElementBlock("svg", {
|
|
282
|
+
width: _ctx.size,
|
|
283
|
+
height: _ctx.size,
|
|
284
|
+
viewBox: "0 0 500 500"
|
|
285
|
+
}, [
|
|
286
|
+
createElementVNode("defs", null, [
|
|
287
|
+
createElementVNode("path", {
|
|
288
|
+
id: "logo-path",
|
|
289
|
+
d: unref(d),
|
|
290
|
+
transform: "translate(81, 13) scale(1.0)"
|
|
291
|
+
}, null, 8, _hoisted_3$v)
|
|
292
|
+
]),
|
|
293
|
+
createElementVNode("use", {
|
|
294
|
+
href: "#logo-path",
|
|
295
|
+
fill: "none",
|
|
296
|
+
stroke: "var(--loader-semi-color)",
|
|
297
|
+
"stroke-width": _ctx.weight,
|
|
298
|
+
"stroke-linecap": "round",
|
|
299
|
+
"stroke-linejoin": "round"
|
|
300
|
+
}, null, 8, _hoisted_4$s),
|
|
301
|
+
createElementVNode("use", {
|
|
302
|
+
href: "#logo-path",
|
|
303
|
+
fill: "none",
|
|
304
|
+
stroke: "var(--loader-solid-color)",
|
|
305
|
+
"stroke-width": _ctx.weight,
|
|
306
|
+
"stroke-linecap": "round",
|
|
307
|
+
"stroke-linejoin": "round",
|
|
308
|
+
class: "loader-animated-path"
|
|
309
|
+
}, null, 8, _hoisted_5$p)
|
|
310
|
+
], 8, _hoisted_2$y))
|
|
311
|
+
])) : _ctx.variant === "circle" ? (openBlock(), createElementBlock("div", {
|
|
312
|
+
key: 1,
|
|
313
|
+
class: "loader-circle",
|
|
314
|
+
style: normalizeStyle({ width: `${_ctx.size}px`, height: `${_ctx.size}px` })
|
|
315
|
+
}, [
|
|
316
|
+
(openBlock(), createElementBlock("svg", {
|
|
317
|
+
width: _ctx.size,
|
|
318
|
+
height: _ctx.size,
|
|
319
|
+
viewBox: "0 0 50 50"
|
|
320
|
+
}, [..._cache[0] || (_cache[0] = [
|
|
321
|
+
createElementVNode("circle", {
|
|
322
|
+
cx: "25",
|
|
323
|
+
cy: "25",
|
|
324
|
+
r: "20",
|
|
325
|
+
fill: "none",
|
|
326
|
+
stroke: "var(--loader-solid-color)",
|
|
327
|
+
"stroke-width": "4",
|
|
328
|
+
"stroke-linecap": "round",
|
|
329
|
+
class: "loader-circle-path"
|
|
330
|
+
}, null, -1)
|
|
331
|
+
])], 8, _hoisted_6$n))
|
|
332
|
+
], 4)) : _ctx.variant === "bar" ? (openBlock(), createElementBlock("div", {
|
|
333
|
+
key: 2,
|
|
334
|
+
class: "loader-bar",
|
|
335
|
+
style: normalizeStyle({
|
|
336
|
+
width: _ctx.fullWidth ? "100%" : `${_ctx.size * 1.5}px`,
|
|
337
|
+
height: `${Math.max(_ctx.size * 0.1, 4)}px`
|
|
338
|
+
})
|
|
339
|
+
}, [..._cache[1] || (_cache[1] = [
|
|
340
|
+
createElementVNode("div", { class: "loader-bar-track" }, [
|
|
341
|
+
createElementVNode("div", { class: "loader-bar-fill" })
|
|
342
|
+
], -1)
|
|
343
|
+
])], 4)) : createCommentVNode("", true),
|
|
344
|
+
_ctx.text ? (openBlock(), createElementBlock("p", _hoisted_7$l, toDisplayString(_ctx.text), 1)) : createCommentVNode("", true)
|
|
345
|
+
], 2);
|
|
346
|
+
};
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
const StrandsUiLoader = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-ba3ffb77"]]);
|
|
245
350
|
/**
|
|
246
351
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
247
352
|
*
|
|
@@ -329,6 +434,16 @@ const createLucideIcon = (iconName, iconNode) => (props, { slots, attrs }) => h(
|
|
|
329
434
|
},
|
|
330
435
|
slots
|
|
331
436
|
);
|
|
437
|
+
/**
|
|
438
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
439
|
+
*
|
|
440
|
+
* This source code is licensed under the ISC license.
|
|
441
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
442
|
+
*/
|
|
443
|
+
const ArrowRight = createLucideIcon("arrow-right", [
|
|
444
|
+
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
445
|
+
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
446
|
+
]);
|
|
332
447
|
/**
|
|
333
448
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
334
449
|
*
|
|
@@ -345,6 +460,31 @@ const Bell = createLucideIcon("bell", [
|
|
|
345
460
|
}
|
|
346
461
|
]
|
|
347
462
|
]);
|
|
463
|
+
/**
|
|
464
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
465
|
+
*
|
|
466
|
+
* This source code is licensed under the ISC license.
|
|
467
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
468
|
+
*/
|
|
469
|
+
const BookOpen = createLucideIcon("book-open", [
|
|
470
|
+
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
471
|
+
[
|
|
472
|
+
"path",
|
|
473
|
+
{
|
|
474
|
+
d: "M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",
|
|
475
|
+
key: "ruj8y"
|
|
476
|
+
}
|
|
477
|
+
]
|
|
478
|
+
]);
|
|
479
|
+
/**
|
|
480
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
481
|
+
*
|
|
482
|
+
* This source code is licensed under the ISC license.
|
|
483
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
484
|
+
*/
|
|
485
|
+
const Bookmark = createLucideIcon("bookmark", [
|
|
486
|
+
["path", { d: "m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z", key: "1fy3hk" }]
|
|
487
|
+
]);
|
|
348
488
|
/**
|
|
349
489
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
350
490
|
*
|
|
@@ -389,6 +529,16 @@ const ChevronsUpDown = createLucideIcon("chevrons-up-down", [
|
|
|
389
529
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
390
530
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
391
531
|
]);
|
|
532
|
+
/**
|
|
533
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
534
|
+
*
|
|
535
|
+
* This source code is licensed under the ISC license.
|
|
536
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
537
|
+
*/
|
|
538
|
+
const Contrast = createLucideIcon("contrast", [
|
|
539
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
540
|
+
["path", { d: "M12 18a6 6 0 0 0 0-12v12z", key: "j4l70d" }]
|
|
541
|
+
]);
|
|
392
542
|
/**
|
|
393
543
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
394
544
|
*
|
|
@@ -409,6 +559,17 @@ const DollarSign = createLucideIcon("dollar-sign", [
|
|
|
409
559
|
["line", { x1: "12", x2: "12", y1: "2", y2: "22", key: "7eqyqh" }],
|
|
410
560
|
["path", { d: "M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6", key: "1b0p4s" }]
|
|
411
561
|
]);
|
|
562
|
+
/**
|
|
563
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
564
|
+
*
|
|
565
|
+
* This source code is licensed under the ISC license.
|
|
566
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
567
|
+
*/
|
|
568
|
+
const Download = createLucideIcon("download", [
|
|
569
|
+
["path", { d: "M12 15V3", key: "m9g1x1" }],
|
|
570
|
+
["path", { d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4", key: "ih7n3h" }],
|
|
571
|
+
["path", { d: "m7 10 5 5 5-5", key: "brsn70" }]
|
|
572
|
+
]);
|
|
412
573
|
/**
|
|
413
574
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
414
575
|
*
|
|
@@ -435,6 +596,22 @@ const Funnel = createLucideIcon("funnel", [
|
|
|
435
596
|
}
|
|
436
597
|
]
|
|
437
598
|
]);
|
|
599
|
+
/**
|
|
600
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
601
|
+
*
|
|
602
|
+
* This source code is licensed under the ISC license.
|
|
603
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
604
|
+
*/
|
|
605
|
+
const Github = createLucideIcon("github", [
|
|
606
|
+
[
|
|
607
|
+
"path",
|
|
608
|
+
{
|
|
609
|
+
d: "M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",
|
|
610
|
+
key: "tonef"
|
|
611
|
+
}
|
|
612
|
+
],
|
|
613
|
+
["path", { d: "M9 18c-4.51 2-5-2-7-2", key: "9comsn" }]
|
|
614
|
+
]);
|
|
438
615
|
/**
|
|
439
616
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
440
617
|
*
|
|
@@ -449,6 +626,21 @@ const GripVertical = createLucideIcon("grip-vertical", [
|
|
|
449
626
|
["circle", { cx: "15", cy: "5", r: "1", key: "19l28e" }],
|
|
450
627
|
["circle", { cx: "15", cy: "19", r: "1", key: "f4zoj3" }]
|
|
451
628
|
]);
|
|
629
|
+
/**
|
|
630
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
631
|
+
*
|
|
632
|
+
* This source code is licensed under the ISC license.
|
|
633
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
634
|
+
*/
|
|
635
|
+
const Heart = createLucideIcon("heart", [
|
|
636
|
+
[
|
|
637
|
+
"path",
|
|
638
|
+
{
|
|
639
|
+
d: "M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",
|
|
640
|
+
key: "mvr1a0"
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
]);
|
|
452
644
|
/**
|
|
453
645
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
454
646
|
*
|
|
@@ -561,6 +753,75 @@ const Search = createLucideIcon("search", [
|
|
|
561
753
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
562
754
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
563
755
|
]);
|
|
756
|
+
/**
|
|
757
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
758
|
+
*
|
|
759
|
+
* This source code is licensed under the ISC license.
|
|
760
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
761
|
+
*/
|
|
762
|
+
const Share = createLucideIcon("share", [
|
|
763
|
+
["path", { d: "M12 2v13", key: "1km8f5" }],
|
|
764
|
+
["path", { d: "m16 6-4-4-4 4", key: "13yo43" }],
|
|
765
|
+
["path", { d: "M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8", key: "1b2hhj" }]
|
|
766
|
+
]);
|
|
767
|
+
/**
|
|
768
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
769
|
+
*
|
|
770
|
+
* This source code is licensed under the ISC license.
|
|
771
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
772
|
+
*/
|
|
773
|
+
const Shield = createLucideIcon("shield", [
|
|
774
|
+
[
|
|
775
|
+
"path",
|
|
776
|
+
{
|
|
777
|
+
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
778
|
+
key: "oel41y"
|
|
779
|
+
}
|
|
780
|
+
]
|
|
781
|
+
]);
|
|
782
|
+
/**
|
|
783
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
784
|
+
*
|
|
785
|
+
* This source code is licensed under the ISC license.
|
|
786
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
787
|
+
*/
|
|
788
|
+
const Smile = createLucideIcon("smile", [
|
|
789
|
+
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
790
|
+
["path", { d: "M8 14s1.5 2 4 2 4-2 4-2", key: "1y1vjs" }],
|
|
791
|
+
["line", { x1: "9", x2: "9.01", y1: "9", y2: "9", key: "yxxnd0" }],
|
|
792
|
+
["line", { x1: "15", x2: "15.01", y1: "9", y2: "9", key: "1p4y9e" }]
|
|
793
|
+
]);
|
|
794
|
+
/**
|
|
795
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
796
|
+
*
|
|
797
|
+
* This source code is licensed under the ISC license.
|
|
798
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
799
|
+
*/
|
|
800
|
+
const SquarePen = createLucideIcon("square-pen", [
|
|
801
|
+
["path", { d: "M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7", key: "1m0v6g" }],
|
|
802
|
+
[
|
|
803
|
+
"path",
|
|
804
|
+
{
|
|
805
|
+
d: "M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",
|
|
806
|
+
key: "ohrbg2"
|
|
807
|
+
}
|
|
808
|
+
]
|
|
809
|
+
]);
|
|
810
|
+
/**
|
|
811
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
812
|
+
*
|
|
813
|
+
* This source code is licensed under the ISC license.
|
|
814
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
815
|
+
*/
|
|
816
|
+
const Star = createLucideIcon("star", [
|
|
817
|
+
[
|
|
818
|
+
"path",
|
|
819
|
+
{
|
|
820
|
+
d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
|
|
821
|
+
key: "r04s7s"
|
|
822
|
+
}
|
|
823
|
+
]
|
|
824
|
+
]);
|
|
564
825
|
/**
|
|
565
826
|
* @license lucide-vue-next v0.542.0 - ISC
|
|
566
827
|
*
|
|
@@ -613,98 +874,436 @@ const Users = createLucideIcon("users", [
|
|
|
613
874
|
["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }],
|
|
614
875
|
["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }]
|
|
615
876
|
]);
|
|
616
|
-
|
|
877
|
+
/**
|
|
878
|
+
* @license lucide-vue-next v0.542.0 - ISC
|
|
879
|
+
*
|
|
880
|
+
* This source code is licensed under the ISC license.
|
|
881
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
882
|
+
*/
|
|
883
|
+
const X = createLucideIcon("x", [
|
|
884
|
+
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
885
|
+
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
886
|
+
]);
|
|
887
|
+
const _hoisted_1$G = {
|
|
617
888
|
key: 0,
|
|
618
889
|
class: "button-loading-content"
|
|
619
890
|
};
|
|
620
891
|
const _hoisted_2$x = { key: 0 };
|
|
621
|
-
const _hoisted_3$
|
|
622
|
-
key: 1,
|
|
623
|
-
class: "button-content"
|
|
624
|
-
};
|
|
625
|
-
const _hoisted_4$s = {
|
|
892
|
+
const _hoisted_3$u = {
|
|
626
893
|
key: 0,
|
|
627
894
|
class: "leading-icon"
|
|
628
895
|
};
|
|
629
|
-
const
|
|
896
|
+
const _hoisted_4$r = {
|
|
630
897
|
key: 1,
|
|
898
|
+
class: "leading-icon"
|
|
899
|
+
};
|
|
900
|
+
const _hoisted_5$o = {
|
|
901
|
+
key: 2,
|
|
631
902
|
class: "trailing-icon"
|
|
632
903
|
};
|
|
633
|
-
const
|
|
634
|
-
|
|
904
|
+
const _hoisted_6$m = {
|
|
905
|
+
key: 3,
|
|
906
|
+
class: "trailing-icon"
|
|
907
|
+
};
|
|
908
|
+
const _sfc_main$L = /* @__PURE__ */ defineComponent({
|
|
909
|
+
__name: "UiButton.Content",
|
|
635
910
|
props: {
|
|
636
|
-
variant: { default: "primary" },
|
|
637
|
-
size: { default: "md" },
|
|
638
|
-
type: { default: "button" },
|
|
639
|
-
disabled: { type: Boolean, default: false },
|
|
640
911
|
loading: { type: Boolean, default: false },
|
|
641
912
|
loadingText: {},
|
|
642
|
-
fullWidth: { type: Boolean, default: false },
|
|
643
|
-
color: { default: "primary" },
|
|
644
|
-
fontWeight: { default: 600 },
|
|
645
913
|
icon: { type: Boolean, default: false },
|
|
646
914
|
iconName: {},
|
|
647
915
|
leadingIcon: {},
|
|
648
916
|
trailingIcon: {},
|
|
649
|
-
|
|
650
|
-
to: {}
|
|
917
|
+
size: {}
|
|
651
918
|
},
|
|
652
|
-
emits: ["click"],
|
|
653
919
|
setup(__props) {
|
|
654
920
|
const LucideIcons = {
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
921
|
+
ArrowRight,
|
|
922
|
+
Bell,
|
|
923
|
+
BookOpen,
|
|
924
|
+
Bookmark,
|
|
658
925
|
Check,
|
|
659
926
|
ChevronRight,
|
|
927
|
+
ChevronUp,
|
|
660
928
|
ChevronDown,
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
929
|
+
ChevronsUpDown,
|
|
930
|
+
Contrast,
|
|
931
|
+
DollarSign,
|
|
932
|
+
Download,
|
|
933
|
+
Edit: SquarePen,
|
|
934
|
+
ExternalLink,
|
|
935
|
+
Github,
|
|
936
|
+
Heart,
|
|
664
937
|
Home: House,
|
|
938
|
+
Mail,
|
|
939
|
+
MapPin,
|
|
940
|
+
Monitor,
|
|
941
|
+
Moon,
|
|
942
|
+
Phone,
|
|
943
|
+
Plus,
|
|
944
|
+
Search,
|
|
945
|
+
Share,
|
|
946
|
+
Shield,
|
|
947
|
+
Smile,
|
|
948
|
+
Star,
|
|
949
|
+
Sun,
|
|
950
|
+
Trash2,
|
|
665
951
|
User,
|
|
666
|
-
|
|
952
|
+
X
|
|
667
953
|
};
|
|
668
954
|
const slots = useSlots();
|
|
955
|
+
const hasLeadingIconSlot = computed(() => {
|
|
956
|
+
return !!slots["leading-icon"];
|
|
957
|
+
});
|
|
958
|
+
const hasTrailingIconSlot = computed(() => {
|
|
959
|
+
return !!slots["trailing-icon"];
|
|
960
|
+
});
|
|
961
|
+
const props = __props;
|
|
962
|
+
const getLucideIcon = (iconName) => {
|
|
963
|
+
if (!iconName || iconName.trim() === "") return null;
|
|
964
|
+
const pascalCase = iconName.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
|
|
965
|
+
const IconComponent2 = LucideIcons[pascalCase];
|
|
966
|
+
return IconComponent2 || null;
|
|
967
|
+
};
|
|
968
|
+
const LeadingIconComponent = computed(() => {
|
|
969
|
+
if (!props.leadingIcon || props.leadingIcon.trim() === "") {
|
|
970
|
+
return null;
|
|
971
|
+
}
|
|
972
|
+
return getLucideIcon(props.leadingIcon);
|
|
973
|
+
});
|
|
974
|
+
const TrailingIconComponent = computed(() => {
|
|
975
|
+
if (!props.trailingIcon || props.trailingIcon.trim() === "") {
|
|
976
|
+
return null;
|
|
977
|
+
}
|
|
978
|
+
return getLucideIcon(props.trailingIcon);
|
|
979
|
+
});
|
|
980
|
+
const IconComponent = computed(() => {
|
|
981
|
+
return props.iconName && props.iconName.trim() !== "" ? getLucideIcon(props.iconName) : null;
|
|
982
|
+
});
|
|
983
|
+
const iconSizeClass = computed(() => {
|
|
984
|
+
switch (props.size) {
|
|
985
|
+
case "xs":
|
|
986
|
+
return "button-icon-xs";
|
|
987
|
+
case "sm":
|
|
988
|
+
return "button-icon-sm";
|
|
989
|
+
case "md":
|
|
990
|
+
return "button-icon-md";
|
|
991
|
+
case "lg":
|
|
992
|
+
return "button-icon-lg";
|
|
993
|
+
case "xl":
|
|
994
|
+
return "button-icon-xl";
|
|
995
|
+
default:
|
|
996
|
+
return "button-icon-md";
|
|
997
|
+
}
|
|
998
|
+
});
|
|
999
|
+
const loaderSize = computed(() => {
|
|
1000
|
+
switch (props.size) {
|
|
1001
|
+
case "xs":
|
|
1002
|
+
return 16;
|
|
1003
|
+
// 1rem - 1.33x text
|
|
1004
|
+
case "sm":
|
|
1005
|
+
return 18;
|
|
1006
|
+
// 1.125rem - 1.28x text
|
|
1007
|
+
case "md":
|
|
1008
|
+
return 20;
|
|
1009
|
+
// 1.25rem - 1.4x text
|
|
1010
|
+
case "lg":
|
|
1011
|
+
return 24;
|
|
1012
|
+
// 1.5rem - 1.5x text
|
|
1013
|
+
case "xl":
|
|
1014
|
+
return 28;
|
|
1015
|
+
// 1.75rem - 1.55x text
|
|
1016
|
+
default:
|
|
1017
|
+
return 20;
|
|
1018
|
+
}
|
|
1019
|
+
});
|
|
1020
|
+
const sizeClass = computed(() => {
|
|
1021
|
+
return props.size ? `button-content-${props.size}` : "button-content-md";
|
|
1022
|
+
});
|
|
1023
|
+
return (_ctx, _cache) => {
|
|
1024
|
+
return _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_1$G, [
|
|
1025
|
+
createVNode(StrandsUiLoader, {
|
|
1026
|
+
variant: "circle",
|
|
1027
|
+
size: loaderSize.value,
|
|
1028
|
+
centered: false,
|
|
1029
|
+
color: "white"
|
|
1030
|
+
}, null, 8, ["size"]),
|
|
1031
|
+
!_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$x, toDisplayString(_ctx.loadingText || "Loading..."), 1)) : createCommentVNode("", true)
|
|
1032
|
+
])) : (openBlock(), createElementBlock("span", {
|
|
1033
|
+
key: 1,
|
|
1034
|
+
class: normalizeClass(["button-content", sizeClass.value])
|
|
1035
|
+
}, [
|
|
1036
|
+
_ctx.icon ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
1037
|
+
IconComponent.value ? (openBlock(), createBlock(resolveDynamicComponent(IconComponent.value), {
|
|
1038
|
+
key: 0,
|
|
1039
|
+
class: normalizeClass(iconSizeClass.value)
|
|
1040
|
+
}, null, 8, ["class"])) : createCommentVNode("", true)
|
|
1041
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
1042
|
+
LeadingIconComponent.value ? (openBlock(), createElementBlock("span", _hoisted_3$u, [
|
|
1043
|
+
(openBlock(), createBlock(resolveDynamicComponent(LeadingIconComponent.value), {
|
|
1044
|
+
class: normalizeClass(iconSizeClass.value)
|
|
1045
|
+
}, null, 8, ["class"]))
|
|
1046
|
+
])) : createCommentVNode("", true),
|
|
1047
|
+
hasLeadingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_4$r, [
|
|
1048
|
+
renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
|
|
1049
|
+
])) : createCommentVNode("", true),
|
|
1050
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true),
|
|
1051
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
1052
|
+
TrailingIconComponent.value ? (openBlock(), createElementBlock("span", _hoisted_5$o, [
|
|
1053
|
+
(openBlock(), createBlock(resolveDynamicComponent(TrailingIconComponent.value), {
|
|
1054
|
+
class: normalizeClass(iconSizeClass.value)
|
|
1055
|
+
}, null, 8, ["class"]))
|
|
1056
|
+
])) : createCommentVNode("", true),
|
|
1057
|
+
hasTrailingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_6$m, [
|
|
1058
|
+
renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
|
|
1059
|
+
])) : createCommentVNode("", true)
|
|
1060
|
+
], 64))
|
|
1061
|
+
], 2));
|
|
1062
|
+
};
|
|
1063
|
+
}
|
|
1064
|
+
});
|
|
1065
|
+
const UiButtonContent = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-474060cc"]]);
|
|
1066
|
+
const _hoisted_1$F = ["href", "target", "rel"];
|
|
1067
|
+
const _sfc_main$K = /* @__PURE__ */ defineComponent({
|
|
1068
|
+
__name: "UiButton.Anchor",
|
|
1069
|
+
props: {
|
|
1070
|
+
to: {},
|
|
1071
|
+
href: {},
|
|
1072
|
+
external: { type: Boolean, default: false },
|
|
1073
|
+
disabled: { type: Boolean, default: false },
|
|
1074
|
+
loading: { type: Boolean, default: false },
|
|
1075
|
+
loadingText: {},
|
|
1076
|
+
icon: { type: Boolean, default: false },
|
|
1077
|
+
iconName: {},
|
|
1078
|
+
leadingIcon: {},
|
|
1079
|
+
trailingIcon: {},
|
|
1080
|
+
buttonClasses: {},
|
|
1081
|
+
buttonStyles: {}
|
|
1082
|
+
},
|
|
1083
|
+
emits: ["click"],
|
|
1084
|
+
setup(__props, { emit: __emit }) {
|
|
1085
|
+
const props = __props;
|
|
1086
|
+
const emit = __emit;
|
|
1087
|
+
const computedHref = computed(() => {
|
|
1088
|
+
if (props.href) {
|
|
1089
|
+
return props.href;
|
|
1090
|
+
} else if (props.to) {
|
|
1091
|
+
if (typeof props.to === "string") {
|
|
1092
|
+
return props.to;
|
|
1093
|
+
} else if (typeof props.to === "object" && props.to) {
|
|
1094
|
+
return "#route-object-not-supported";
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
return "#";
|
|
1098
|
+
});
|
|
1099
|
+
const handleLinkClick = (event) => {
|
|
1100
|
+
if (props.disabled || props.loading) {
|
|
1101
|
+
event.preventDefault();
|
|
1102
|
+
return;
|
|
1103
|
+
}
|
|
1104
|
+
emit("click", event);
|
|
1105
|
+
};
|
|
1106
|
+
return (_ctx, _cache) => {
|
|
1107
|
+
return openBlock(), createElementBlock("a", {
|
|
1108
|
+
href: computedHref.value,
|
|
1109
|
+
target: _ctx.external ? "_blank" : void 0,
|
|
1110
|
+
rel: _ctx.external ? "noopener noreferrer" : void 0,
|
|
1111
|
+
class: normalizeClass(_ctx.buttonClasses),
|
|
1112
|
+
style: normalizeStyle(_ctx.buttonStyles),
|
|
1113
|
+
onClick: handleLinkClick
|
|
1114
|
+
}, [
|
|
1115
|
+
createVNode(UiButtonContent, {
|
|
1116
|
+
loading: _ctx.loading,
|
|
1117
|
+
"loading-text": _ctx.loadingText,
|
|
1118
|
+
icon: _ctx.icon,
|
|
1119
|
+
"icon-name": _ctx.iconName,
|
|
1120
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1121
|
+
"trailing-icon": _ctx.trailingIcon
|
|
1122
|
+
}, {
|
|
1123
|
+
"leading-icon": withCtx(() => [
|
|
1124
|
+
renderSlot(_ctx.$slots, "leading-icon")
|
|
1125
|
+
]),
|
|
1126
|
+
icon: withCtx(() => [
|
|
1127
|
+
renderSlot(_ctx.$slots, "icon")
|
|
1128
|
+
]),
|
|
1129
|
+
default: withCtx(() => [
|
|
1130
|
+
renderSlot(_ctx.$slots, "default")
|
|
1131
|
+
]),
|
|
1132
|
+
"trailing-icon": withCtx(() => [
|
|
1133
|
+
renderSlot(_ctx.$slots, "trailing-icon")
|
|
1134
|
+
]),
|
|
1135
|
+
_: 3
|
|
1136
|
+
}, 8, ["loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon"])
|
|
1137
|
+
], 14, _hoisted_1$F);
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
});
|
|
1141
|
+
const _sfc_main$J = /* @__PURE__ */ defineComponent({
|
|
1142
|
+
__name: "UiButton.Nuxt",
|
|
1143
|
+
props: {
|
|
1144
|
+
to: {},
|
|
1145
|
+
disabled: { type: Boolean, default: false },
|
|
1146
|
+
loading: { type: Boolean, default: false },
|
|
1147
|
+
loadingText: {},
|
|
1148
|
+
icon: { type: Boolean, default: false },
|
|
1149
|
+
iconName: {},
|
|
1150
|
+
leadingIcon: {},
|
|
1151
|
+
trailingIcon: {},
|
|
1152
|
+
buttonClasses: {},
|
|
1153
|
+
buttonStyles: {}
|
|
1154
|
+
},
|
|
1155
|
+
emits: ["click"],
|
|
1156
|
+
setup(__props, { emit: __emit }) {
|
|
1157
|
+
const props = __props;
|
|
1158
|
+
const emit = __emit;
|
|
1159
|
+
const handleLinkClick = (event) => {
|
|
1160
|
+
if (props.disabled || props.loading) {
|
|
1161
|
+
event.preventDefault();
|
|
1162
|
+
return;
|
|
1163
|
+
}
|
|
1164
|
+
emit("click", event);
|
|
1165
|
+
};
|
|
1166
|
+
return (_ctx, _cache) => {
|
|
1167
|
+
const _component_nuxt_link = resolveComponent("nuxt-link");
|
|
1168
|
+
return openBlock(), createBlock(_component_nuxt_link, {
|
|
1169
|
+
to: _ctx.to,
|
|
1170
|
+
class: normalizeClass(_ctx.buttonClasses),
|
|
1171
|
+
style: normalizeStyle(_ctx.buttonStyles),
|
|
1172
|
+
onClick: handleLinkClick
|
|
1173
|
+
}, {
|
|
1174
|
+
default: withCtx(() => [
|
|
1175
|
+
createVNode(UiButtonContent, {
|
|
1176
|
+
loading: _ctx.loading,
|
|
1177
|
+
"loading-text": _ctx.loadingText,
|
|
1178
|
+
icon: _ctx.icon,
|
|
1179
|
+
"icon-name": _ctx.iconName,
|
|
1180
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1181
|
+
"trailing-icon": _ctx.trailingIcon
|
|
1182
|
+
}, {
|
|
1183
|
+
"leading-icon": withCtx(() => [
|
|
1184
|
+
renderSlot(_ctx.$slots, "leading-icon")
|
|
1185
|
+
]),
|
|
1186
|
+
icon: withCtx(() => [
|
|
1187
|
+
renderSlot(_ctx.$slots, "icon")
|
|
1188
|
+
]),
|
|
1189
|
+
default: withCtx(() => [
|
|
1190
|
+
renderSlot(_ctx.$slots, "default")
|
|
1191
|
+
]),
|
|
1192
|
+
"trailing-icon": withCtx(() => [
|
|
1193
|
+
renderSlot(_ctx.$slots, "trailing-icon")
|
|
1194
|
+
]),
|
|
1195
|
+
_: 3
|
|
1196
|
+
}, 8, ["loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon"])
|
|
1197
|
+
]),
|
|
1198
|
+
_: 3
|
|
1199
|
+
}, 8, ["to", "class", "style"]);
|
|
1200
|
+
};
|
|
1201
|
+
}
|
|
1202
|
+
});
|
|
1203
|
+
const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
1204
|
+
__name: "UiButton.Vue",
|
|
1205
|
+
props: {
|
|
1206
|
+
to: {},
|
|
1207
|
+
disabled: { type: Boolean, default: false },
|
|
1208
|
+
loading: { type: Boolean, default: false },
|
|
1209
|
+
loadingText: {},
|
|
1210
|
+
icon: { type: Boolean, default: false },
|
|
1211
|
+
iconName: {},
|
|
1212
|
+
leadingIcon: {},
|
|
1213
|
+
trailingIcon: {},
|
|
1214
|
+
buttonClasses: {},
|
|
1215
|
+
buttonStyles: {}
|
|
1216
|
+
},
|
|
1217
|
+
emits: ["click"],
|
|
1218
|
+
setup(__props, { emit: __emit }) {
|
|
1219
|
+
const props = __props;
|
|
1220
|
+
const emit = __emit;
|
|
1221
|
+
const handleLinkClick = (event) => {
|
|
1222
|
+
if (props.disabled || props.loading) {
|
|
1223
|
+
event.preventDefault();
|
|
1224
|
+
return;
|
|
1225
|
+
}
|
|
1226
|
+
emit("click", event);
|
|
1227
|
+
};
|
|
1228
|
+
return (_ctx, _cache) => {
|
|
1229
|
+
const _component_router_link = resolveComponent("router-link");
|
|
1230
|
+
return openBlock(), createBlock(_component_router_link, {
|
|
1231
|
+
to: _ctx.to,
|
|
1232
|
+
class: normalizeClass(_ctx.buttonClasses),
|
|
1233
|
+
style: normalizeStyle(_ctx.buttonStyles),
|
|
1234
|
+
onClick: handleLinkClick
|
|
1235
|
+
}, {
|
|
1236
|
+
default: withCtx(() => [
|
|
1237
|
+
createVNode(UiButtonContent, {
|
|
1238
|
+
loading: _ctx.loading,
|
|
1239
|
+
"loading-text": _ctx.loadingText,
|
|
1240
|
+
icon: _ctx.icon,
|
|
1241
|
+
"icon-name": _ctx.iconName,
|
|
1242
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1243
|
+
"trailing-icon": _ctx.trailingIcon
|
|
1244
|
+
}, {
|
|
1245
|
+
"leading-icon": withCtx(() => [
|
|
1246
|
+
renderSlot(_ctx.$slots, "leading-icon")
|
|
1247
|
+
]),
|
|
1248
|
+
icon: withCtx(() => [
|
|
1249
|
+
renderSlot(_ctx.$slots, "icon")
|
|
1250
|
+
]),
|
|
1251
|
+
default: withCtx(() => [
|
|
1252
|
+
renderSlot(_ctx.$slots, "default")
|
|
1253
|
+
]),
|
|
1254
|
+
"trailing-icon": withCtx(() => [
|
|
1255
|
+
renderSlot(_ctx.$slots, "trailing-icon")
|
|
1256
|
+
]),
|
|
1257
|
+
_: 3
|
|
1258
|
+
}, 8, ["loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon"])
|
|
1259
|
+
]),
|
|
1260
|
+
_: 3
|
|
1261
|
+
}, 8, ["to", "class", "style"]);
|
|
1262
|
+
};
|
|
1263
|
+
}
|
|
1264
|
+
});
|
|
1265
|
+
const _hoisted_1$E = ["type", "disabled"];
|
|
1266
|
+
const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
1267
|
+
__name: "UiButton",
|
|
1268
|
+
props: {
|
|
1269
|
+
variant: { default: "primary" },
|
|
1270
|
+
size: { default: "md" },
|
|
1271
|
+
type: { default: "button" },
|
|
1272
|
+
disabled: { type: Boolean, default: false },
|
|
1273
|
+
loading: { type: Boolean, default: false },
|
|
1274
|
+
loadingText: {},
|
|
1275
|
+
fullWidth: { type: Boolean, default: false },
|
|
1276
|
+
color: { default: "primary" },
|
|
1277
|
+
fontWeight: { default: 600 },
|
|
1278
|
+
icon: { type: Boolean, default: false },
|
|
1279
|
+
iconName: {},
|
|
1280
|
+
leadingIcon: {},
|
|
1281
|
+
trailingIcon: {},
|
|
1282
|
+
squircle: { type: Boolean, default: false },
|
|
1283
|
+
to: {},
|
|
1284
|
+
href: {},
|
|
1285
|
+
external: { type: Boolean, default: false }
|
|
1286
|
+
},
|
|
1287
|
+
emits: ["click"],
|
|
1288
|
+
setup(__props, { emit: __emit }) {
|
|
669
1289
|
const props = __props;
|
|
670
|
-
const
|
|
671
|
-
if (!iconName) return null;
|
|
672
|
-
const pascalCase = iconName.split("-").map((word) => word.charAt(0).toUpperCase() + word.slice(1)).join("");
|
|
673
|
-
const IconComponent2 = LucideIcons[pascalCase];
|
|
674
|
-
return IconComponent2 || null;
|
|
675
|
-
};
|
|
676
|
-
const LeadingIconComponent = computed(() => props.leadingIcon ? getLucideIcon(props.leadingIcon) : null);
|
|
677
|
-
const TrailingIconComponent = computed(() => props.trailingIcon ? getLucideIcon(props.trailingIcon) : null);
|
|
678
|
-
const IconComponent = computed(() => props.iconName ? getLucideIcon(props.iconName) : null);
|
|
679
|
-
const componentTag = computed(() => {
|
|
680
|
-
if (!props.to) return "button";
|
|
1290
|
+
const isNuxtAvailable = computed(() => {
|
|
681
1291
|
if (typeof process !== "undefined" && process.client !== void 0) {
|
|
682
|
-
return
|
|
1292
|
+
return true;
|
|
683
1293
|
}
|
|
684
1294
|
if (typeof window !== "undefined" && (window.__NUXT__ || window.$nuxt)) {
|
|
685
|
-
return
|
|
1295
|
+
return true;
|
|
686
1296
|
}
|
|
1297
|
+
return false;
|
|
1298
|
+
});
|
|
1299
|
+
const isVueRouterAvailable = computed(() => {
|
|
687
1300
|
try {
|
|
688
1301
|
if (typeof window !== "undefined" && window.Vue?.Router) {
|
|
689
|
-
return
|
|
1302
|
+
return true;
|
|
690
1303
|
}
|
|
691
1304
|
} catch (e) {
|
|
692
1305
|
}
|
|
693
|
-
return
|
|
694
|
-
});
|
|
695
|
-
const linkProps = computed(() => {
|
|
696
|
-
if (!props.to) return {};
|
|
697
|
-
const tag = componentTag.value;
|
|
698
|
-
if (tag === "nuxt-link" || tag === "router-link") {
|
|
699
|
-
return { to: props.to };
|
|
700
|
-
}
|
|
701
|
-
if (tag === "a") {
|
|
702
|
-
if (typeof props.to === "object") {
|
|
703
|
-
return { href: "#route-object-not-supported" };
|
|
704
|
-
}
|
|
705
|
-
return { href: props.to };
|
|
706
|
-
}
|
|
707
|
-
return {};
|
|
1306
|
+
return false;
|
|
708
1307
|
});
|
|
709
1308
|
const buttonClasses = computed(() => {
|
|
710
1309
|
const classes = [
|
|
@@ -717,78 +1316,186 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
|
|
|
717
1316
|
props.fullWidth ? "ui-button-full-width" : "",
|
|
718
1317
|
props.icon ? "ui-button-icon" : "",
|
|
719
1318
|
props.squircle ? "ui-button-squircle" : ""
|
|
720
|
-
].filter(Boolean)
|
|
1319
|
+
].filter(Boolean);
|
|
721
1320
|
return classes;
|
|
722
1321
|
});
|
|
1322
|
+
const buttonClassString = computed(() => buttonClasses.value.join(" "));
|
|
723
1323
|
const buttonStyles = computed(() => {
|
|
724
1324
|
return {
|
|
725
1325
|
fontWeight: props.fontWeight
|
|
726
1326
|
};
|
|
727
1327
|
});
|
|
728
1328
|
return (_ctx, _cache) => {
|
|
729
|
-
return
|
|
730
|
-
|
|
1329
|
+
return !_ctx.to ? (openBlock(), createElementBlock("button", {
|
|
1330
|
+
key: 0,
|
|
1331
|
+
type: _ctx.type,
|
|
731
1332
|
disabled: _ctx.disabled || _ctx.loading,
|
|
732
|
-
class:
|
|
733
|
-
style: buttonStyles.value,
|
|
1333
|
+
class: normalizeClass(buttonClassString.value),
|
|
1334
|
+
style: normalizeStyle(buttonStyles.value),
|
|
734
1335
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click", $event))
|
|
735
|
-
}
|
|
1336
|
+
}, [
|
|
1337
|
+
createVNode(UiButtonContent, {
|
|
1338
|
+
loading: _ctx.loading,
|
|
1339
|
+
"loading-text": _ctx.loadingText,
|
|
1340
|
+
icon: _ctx.icon,
|
|
1341
|
+
"icon-name": _ctx.iconName,
|
|
1342
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1343
|
+
"trailing-icon": _ctx.trailingIcon,
|
|
1344
|
+
size: _ctx.size
|
|
1345
|
+
}, createSlots({
|
|
1346
|
+
icon: withCtx(() => [
|
|
1347
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true)
|
|
1348
|
+
]),
|
|
1349
|
+
default: withCtx(() => [
|
|
1350
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1351
|
+
]),
|
|
1352
|
+
_: 2
|
|
1353
|
+
}, [
|
|
1354
|
+
_ctx.$slots["leading-icon"] ? {
|
|
1355
|
+
name: "leading-icon",
|
|
1356
|
+
fn: withCtx(() => [
|
|
1357
|
+
renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
|
|
1358
|
+
]),
|
|
1359
|
+
key: "0"
|
|
1360
|
+
} : void 0,
|
|
1361
|
+
_ctx.$slots["trailing-icon"] ? {
|
|
1362
|
+
name: "trailing-icon",
|
|
1363
|
+
fn: withCtx(() => [
|
|
1364
|
+
renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
|
|
1365
|
+
]),
|
|
1366
|
+
key: "1"
|
|
1367
|
+
} : void 0
|
|
1368
|
+
]), 1032, ["loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon", "size"])
|
|
1369
|
+
], 14, _hoisted_1$E)) : isNuxtAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$J, {
|
|
1370
|
+
key: 1,
|
|
1371
|
+
to: _ctx.to,
|
|
1372
|
+
disabled: _ctx.disabled,
|
|
1373
|
+
loading: _ctx.loading,
|
|
1374
|
+
"loading-text": _ctx.loadingText,
|
|
1375
|
+
icon: _ctx.icon,
|
|
1376
|
+
"icon-name": _ctx.iconName,
|
|
1377
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1378
|
+
"trailing-icon": _ctx.trailingIcon,
|
|
1379
|
+
"button-classes": buttonClasses.value,
|
|
1380
|
+
"button-styles": buttonStyles.value,
|
|
1381
|
+
onClick: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("click", $event))
|
|
1382
|
+
}, createSlots({
|
|
1383
|
+
icon: withCtx(() => [
|
|
1384
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true)
|
|
1385
|
+
]),
|
|
736
1386
|
default: withCtx(() => [
|
|
737
|
-
_ctx
|
|
738
|
-
_cache[1] || (_cache[1] = createElementVNode("svg", {
|
|
739
|
-
class: "button-loading-icon",
|
|
740
|
-
fill: "none",
|
|
741
|
-
viewBox: "0 0 24 24"
|
|
742
|
-
}, [
|
|
743
|
-
createElementVNode("circle", {
|
|
744
|
-
class: "button-loading-track",
|
|
745
|
-
cx: "12",
|
|
746
|
-
cy: "12",
|
|
747
|
-
r: "10",
|
|
748
|
-
stroke: "currentColor",
|
|
749
|
-
"stroke-width": "4"
|
|
750
|
-
}),
|
|
751
|
-
createElementVNode("path", {
|
|
752
|
-
class: "button-loading-spinner",
|
|
753
|
-
fill: "currentColor",
|
|
754
|
-
d: "m4 12a8 8 0 0 1 8-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 0 1 4 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
755
|
-
})
|
|
756
|
-
], -1)),
|
|
757
|
-
!_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$x, toDisplayString(_ctx.loadingText || "Loading..."), 1)) : createCommentVNode("", true)
|
|
758
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_3$v, [
|
|
759
|
-
_ctx.icon ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
760
|
-
IconComponent.value && !unref(slots)["default"] ? (openBlock(), createBlock(resolveDynamicComponent(IconComponent.value), { key: 0 })) : renderSlot(_ctx.$slots, "default", { key: 1 }, void 0, true)
|
|
761
|
-
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
762
|
-
IconComponent.value || LeadingIconComponent.value || unref(slots)["leading-icon"] ? (openBlock(), createElementBlock("span", _hoisted_4$s, [
|
|
763
|
-
IconComponent.value && !LeadingIconComponent.value && !unref(slots)["leading-icon"] ? (openBlock(), createBlock(resolveDynamicComponent(IconComponent.value), { key: 0 })) : createCommentVNode("", true),
|
|
764
|
-
LeadingIconComponent.value && !unref(slots)["leading-icon"] ? (openBlock(), createBlock(resolveDynamicComponent(LeadingIconComponent.value), { key: 1 })) : createCommentVNode("", true),
|
|
765
|
-
unref(slots)["leading-icon"] ? renderSlot(_ctx.$slots, "leading-icon", { key: 2 }, void 0, true) : createCommentVNode("", true)
|
|
766
|
-
])) : createCommentVNode("", true),
|
|
767
|
-
renderSlot(_ctx.$slots, "icon", {}, void 0, true),
|
|
768
|
-
renderSlot(_ctx.$slots, "default", {}, void 0, true),
|
|
769
|
-
TrailingIconComponent.value || unref(slots)["trailing-icon"] ? (openBlock(), createElementBlock("span", _hoisted_5$p, [
|
|
770
|
-
TrailingIconComponent.value && !unref(slots)["trailing-icon"] ? (openBlock(), createBlock(resolveDynamicComponent(TrailingIconComponent.value), { key: 0 })) : createCommentVNode("", true),
|
|
771
|
-
unref(slots)["trailing-icon"] ? renderSlot(_ctx.$slots, "trailing-icon", { key: 1 }, void 0, true) : createCommentVNode("", true)
|
|
772
|
-
])) : createCommentVNode("", true)
|
|
773
|
-
], 64))
|
|
774
|
-
]))
|
|
1387
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
775
1388
|
]),
|
|
776
|
-
_:
|
|
777
|
-
},
|
|
1389
|
+
_: 2
|
|
1390
|
+
}, [
|
|
1391
|
+
_ctx.$slots["leading-icon"] ? {
|
|
1392
|
+
name: "leading-icon",
|
|
1393
|
+
fn: withCtx(() => [
|
|
1394
|
+
renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
|
|
1395
|
+
]),
|
|
1396
|
+
key: "0"
|
|
1397
|
+
} : void 0,
|
|
1398
|
+
_ctx.$slots["trailing-icon"] ? {
|
|
1399
|
+
name: "trailing-icon",
|
|
1400
|
+
fn: withCtx(() => [
|
|
1401
|
+
renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
|
|
1402
|
+
]),
|
|
1403
|
+
key: "1"
|
|
1404
|
+
} : void 0
|
|
1405
|
+
]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon", "button-classes", "button-styles"])) : isVueRouterAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$I, {
|
|
1406
|
+
key: 2,
|
|
1407
|
+
to: _ctx.to,
|
|
1408
|
+
disabled: _ctx.disabled,
|
|
1409
|
+
loading: _ctx.loading,
|
|
1410
|
+
"loading-text": _ctx.loadingText,
|
|
1411
|
+
icon: _ctx.icon,
|
|
1412
|
+
"icon-name": _ctx.iconName,
|
|
1413
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1414
|
+
"trailing-icon": _ctx.trailingIcon,
|
|
1415
|
+
"button-classes": buttonClasses.value,
|
|
1416
|
+
"button-styles": buttonStyles.value,
|
|
1417
|
+
onClick: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("click", $event))
|
|
1418
|
+
}, createSlots({
|
|
1419
|
+
icon: withCtx(() => [
|
|
1420
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true)
|
|
1421
|
+
]),
|
|
1422
|
+
default: withCtx(() => [
|
|
1423
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1424
|
+
]),
|
|
1425
|
+
_: 2
|
|
1426
|
+
}, [
|
|
1427
|
+
_ctx.$slots["leading-icon"] ? {
|
|
1428
|
+
name: "leading-icon",
|
|
1429
|
+
fn: withCtx(() => [
|
|
1430
|
+
renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
|
|
1431
|
+
]),
|
|
1432
|
+
key: "0"
|
|
1433
|
+
} : void 0,
|
|
1434
|
+
_ctx.$slots["trailing-icon"] ? {
|
|
1435
|
+
name: "trailing-icon",
|
|
1436
|
+
fn: withCtx(() => [
|
|
1437
|
+
renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
|
|
1438
|
+
]),
|
|
1439
|
+
key: "1"
|
|
1440
|
+
} : void 0
|
|
1441
|
+
]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon", "button-classes", "button-styles"])) : (openBlock(), createBlock(_sfc_main$K, {
|
|
1442
|
+
key: 3,
|
|
1443
|
+
to: _ctx.to,
|
|
1444
|
+
href: _ctx.href,
|
|
1445
|
+
external: _ctx.external,
|
|
1446
|
+
disabled: _ctx.disabled,
|
|
1447
|
+
loading: _ctx.loading,
|
|
1448
|
+
"loading-text": _ctx.loadingText,
|
|
1449
|
+
icon: _ctx.icon,
|
|
1450
|
+
"icon-name": _ctx.iconName,
|
|
1451
|
+
"leading-icon": _ctx.leadingIcon,
|
|
1452
|
+
"trailing-icon": _ctx.trailingIcon,
|
|
1453
|
+
"button-classes": buttonClasses.value,
|
|
1454
|
+
"button-styles": buttonStyles.value,
|
|
1455
|
+
onClick: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("click", $event))
|
|
1456
|
+
}, createSlots({
|
|
1457
|
+
icon: withCtx(() => [
|
|
1458
|
+
renderSlot(_ctx.$slots, "icon", {}, void 0, true)
|
|
1459
|
+
]),
|
|
1460
|
+
default: withCtx(() => [
|
|
1461
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1462
|
+
]),
|
|
1463
|
+
_: 2
|
|
1464
|
+
}, [
|
|
1465
|
+
_ctx.$slots["leading-icon"] ? {
|
|
1466
|
+
name: "leading-icon",
|
|
1467
|
+
fn: withCtx(() => [
|
|
1468
|
+
renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
|
|
1469
|
+
]),
|
|
1470
|
+
key: "0"
|
|
1471
|
+
} : void 0,
|
|
1472
|
+
_ctx.$slots["trailing-icon"] ? {
|
|
1473
|
+
name: "trailing-icon",
|
|
1474
|
+
fn: withCtx(() => [
|
|
1475
|
+
renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
|
|
1476
|
+
]),
|
|
1477
|
+
key: "1"
|
|
1478
|
+
} : void 0
|
|
1479
|
+
]), 1032, ["to", "href", "external", "disabled", "loading", "loading-text", "icon", "icon-name", "leading-icon", "trailing-icon", "button-classes", "button-styles"]));
|
|
778
1480
|
};
|
|
779
1481
|
}
|
|
780
1482
|
});
|
|
781
|
-
const StrandsUiButton = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1483
|
+
const StrandsUiButton = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-25067b15"]]);
|
|
1484
|
+
const CompoundUiButton = StrandsUiButton;
|
|
1485
|
+
CompoundUiButton.Content = UiButtonContent;
|
|
1486
|
+
CompoundUiButton.Anchor = _sfc_main$K;
|
|
1487
|
+
CompoundUiButton.Nuxt = _sfc_main$J;
|
|
1488
|
+
CompoundUiButton.Vue = _sfc_main$I;
|
|
782
1489
|
const _hoisted_1$D = {
|
|
783
1490
|
key: 0,
|
|
784
1491
|
class: "ui-card-header"
|
|
785
1492
|
};
|
|
786
1493
|
const _hoisted_2$w = { class: "ui-card-content" };
|
|
787
|
-
const _hoisted_3$
|
|
1494
|
+
const _hoisted_3$t = {
|
|
788
1495
|
key: 1,
|
|
789
1496
|
class: "ui-card-footer"
|
|
790
1497
|
};
|
|
791
|
-
const _sfc_main$
|
|
1498
|
+
const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
792
1499
|
__name: "UiCard",
|
|
793
1500
|
props: {
|
|
794
1501
|
variant: { default: "default" },
|
|
@@ -812,24 +1519,24 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
|
|
|
812
1519
|
createElementVNode("div", _hoisted_2$w, [
|
|
813
1520
|
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
814
1521
|
]),
|
|
815
|
-
_ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$
|
|
1522
|
+
_ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$t, [
|
|
816
1523
|
renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
817
1524
|
])) : createCommentVNode("", true)
|
|
818
1525
|
], 2);
|
|
819
1526
|
};
|
|
820
1527
|
}
|
|
821
1528
|
});
|
|
822
|
-
const StrandsUiCard = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1529
|
+
const StrandsUiCard = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-e189c5aa"]]);
|
|
823
1530
|
const _hoisted_1$C = { class: "accui-component-scope" };
|
|
824
1531
|
const _hoisted_2$v = { class: "input-container" };
|
|
825
|
-
const _hoisted_3$
|
|
826
|
-
const _hoisted_4$
|
|
1532
|
+
const _hoisted_3$s = ["for"];
|
|
1533
|
+
const _hoisted_4$q = {
|
|
827
1534
|
key: 0,
|
|
828
1535
|
class: "input-required"
|
|
829
1536
|
};
|
|
830
|
-
const _hoisted_5$
|
|
831
|
-
const _hoisted_6$
|
|
832
|
-
const _hoisted_7$
|
|
1537
|
+
const _hoisted_5$n = { class: "input-wrapper" };
|
|
1538
|
+
const _hoisted_6$l = ["id", "type", "value", "placeholder", "disabled", "required", "autocomplete", "name", "inputmode", "maxlength"];
|
|
1539
|
+
const _hoisted_7$k = ["aria-label"];
|
|
833
1540
|
const _hoisted_8$k = {
|
|
834
1541
|
key: 0,
|
|
835
1542
|
class: "input-toggle-icon",
|
|
@@ -856,7 +1563,7 @@ const _hoisted_12$i = {
|
|
|
856
1563
|
key: 2,
|
|
857
1564
|
class: "input-help-text"
|
|
858
1565
|
};
|
|
859
|
-
const _sfc_main$
|
|
1566
|
+
const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
860
1567
|
__name: "UiInput",
|
|
861
1568
|
props: {
|
|
862
1569
|
modelValue: {},
|
|
@@ -946,9 +1653,9 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
946
1653
|
class: "input-label"
|
|
947
1654
|
}, [
|
|
948
1655
|
createTextVNode(toDisplayString(_ctx.label) + " ", 1),
|
|
949
|
-
_ctx.required ? (openBlock(), createElementBlock("span", _hoisted_4$
|
|
950
|
-
], 8, _hoisted_3$
|
|
951
|
-
createElementVNode("div", _hoisted_5$
|
|
1656
|
+
_ctx.required ? (openBlock(), createElementBlock("span", _hoisted_4$q, "*")) : createCommentVNode("", true)
|
|
1657
|
+
], 8, _hoisted_3$s)) : createCommentVNode("", true),
|
|
1658
|
+
createElementVNode("div", _hoisted_5$n, [
|
|
952
1659
|
createElementVNode("div", {
|
|
953
1660
|
class: normalizeClass(["input-field-wrapper", [
|
|
954
1661
|
{ "input-error": _ctx.error },
|
|
@@ -978,7 +1685,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
978
1685
|
onBlur: _cache[1] || (_cache[1] = ($event) => _ctx.$emit("blur", $event)),
|
|
979
1686
|
onFocus: _cache[2] || (_cache[2] = ($event) => _ctx.$emit("focus", $event)),
|
|
980
1687
|
onKeydown: _cache[3] || (_cache[3] = ($event) => _ctx.$emit("keydown", $event))
|
|
981
|
-
}, null, 42, _hoisted_6$
|
|
1688
|
+
}, null, 42, _hoisted_6$l),
|
|
982
1689
|
_ctx.type === "password" ? (openBlock(), createElementBlock("button", {
|
|
983
1690
|
key: 1,
|
|
984
1691
|
type: "button",
|
|
@@ -1007,7 +1714,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
1007
1714
|
d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
|
|
1008
1715
|
}, null, -1)
|
|
1009
1716
|
])]))
|
|
1010
|
-
], 8, _hoisted_7$
|
|
1717
|
+
], 8, _hoisted_7$k)) : createCommentVNode("", true),
|
|
1011
1718
|
FollowingIconComponent.value || _ctx.$slots["following-icon"] ? (openBlock(), createElementBlock("div", {
|
|
1012
1719
|
key: 2,
|
|
1013
1720
|
class: normalizeClass(["input-following-icon", { "cursor-pointer": _ctx.$attrs["onTrailing-action"] }]),
|
|
@@ -1026,8 +1733,10 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
|
|
|
1026
1733
|
};
|
|
1027
1734
|
}
|
|
1028
1735
|
});
|
|
1029
|
-
const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1030
|
-
const
|
|
1736
|
+
const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-26b9fb0d"]]);
|
|
1737
|
+
const _hoisted_1$B = ["disabled", "aria-disabled"];
|
|
1738
|
+
const _hoisted_2$u = ["href", "target", "rel", "aria-disabled"];
|
|
1739
|
+
const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
1031
1740
|
__name: "UiLink",
|
|
1032
1741
|
props: {
|
|
1033
1742
|
href: {},
|
|
@@ -1042,56 +1751,17 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
1042
1751
|
setup(__props, { emit: __emit }) {
|
|
1043
1752
|
const props = __props;
|
|
1044
1753
|
const emit = __emit;
|
|
1045
|
-
const
|
|
1046
|
-
if (props.
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
try {
|
|
1054
|
-
if (typeof window !== "undefined" && window.Vue?.Router) {
|
|
1055
|
-
return "router-link";
|
|
1056
|
-
}
|
|
1057
|
-
} catch (e) {
|
|
1058
|
-
}
|
|
1059
|
-
return "a";
|
|
1060
|
-
}
|
|
1061
|
-
if (props.href) return "a";
|
|
1062
|
-
return "button";
|
|
1063
|
-
});
|
|
1064
|
-
const linkProps = computed(() => {
|
|
1065
|
-
const baseProps = {};
|
|
1066
|
-
const currentTag = tag.value;
|
|
1067
|
-
if (props.to) {
|
|
1068
|
-
if (currentTag === "nuxt-link" || currentTag === "router-link") {
|
|
1069
|
-
baseProps["to"] = props.to;
|
|
1070
|
-
} else if (currentTag === "a") {
|
|
1071
|
-
if (typeof props.to === "object") {
|
|
1072
|
-
baseProps["href"] = "#route-object-not-supported";
|
|
1073
|
-
} else {
|
|
1074
|
-
baseProps["href"] = props.to;
|
|
1075
|
-
if (props.external) {
|
|
1076
|
-
baseProps["target"] = "_blank";
|
|
1077
|
-
baseProps["rel"] = "noopener noreferrer";
|
|
1078
|
-
}
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
} else if (props.href) {
|
|
1082
|
-
baseProps["href"] = props.href;
|
|
1083
|
-
if (props.external) {
|
|
1084
|
-
baseProps["target"] = "_blank";
|
|
1085
|
-
baseProps["rel"] = "noopener noreferrer";
|
|
1754
|
+
const computedHref = computed(() => {
|
|
1755
|
+
if (props.href) {
|
|
1756
|
+
return props.href;
|
|
1757
|
+
} else if (props.to) {
|
|
1758
|
+
if (typeof props.to === "string") {
|
|
1759
|
+
return props.to;
|
|
1760
|
+
} else if (typeof props.to === "object" && props.to) {
|
|
1761
|
+
return "#route-object-not-supported";
|
|
1086
1762
|
}
|
|
1087
|
-
} else {
|
|
1088
|
-
baseProps["type"] = "button";
|
|
1089
1763
|
}
|
|
1090
|
-
|
|
1091
|
-
baseProps["disabled"] = true;
|
|
1092
|
-
baseProps["aria-disabled"] = true;
|
|
1093
|
-
}
|
|
1094
|
-
return baseProps;
|
|
1764
|
+
return "#";
|
|
1095
1765
|
});
|
|
1096
1766
|
function getCurrentAccentColor() {
|
|
1097
1767
|
if (typeof window !== "undefined") {
|
|
@@ -1105,8 +1775,6 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
1105
1775
|
const getColorValues = () => ({
|
|
1106
1776
|
primary: getCurrentAccentColor(),
|
|
1107
1777
|
// configurable strands accent
|
|
1108
|
-
secondary: "#6b7280",
|
|
1109
|
-
// gray-500
|
|
1110
1778
|
success: "#059669",
|
|
1111
1779
|
// emerald-600
|
|
1112
1780
|
warning: "#d97706",
|
|
@@ -1143,36 +1811,54 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
|
|
|
1143
1811
|
}
|
|
1144
1812
|
};
|
|
1145
1813
|
return (_ctx, _cache) => {
|
|
1146
|
-
return openBlock(),
|
|
1147
|
-
|
|
1814
|
+
return !_ctx.to && !_ctx.href ? (openBlock(), createElementBlock("button", {
|
|
1815
|
+
key: 0,
|
|
1816
|
+
type: "button",
|
|
1817
|
+
class: normalizeClass(["ui-link", [
|
|
1148
1818
|
`ui-link-${_ctx.variant}`,
|
|
1149
1819
|
`ui-link-${_ctx.size}`,
|
|
1150
1820
|
{ "ui-link-disabled": _ctx.disabled },
|
|
1151
1821
|
{ "ui-link-custom-color": _ctx.color }
|
|
1152
|
-
]],
|
|
1153
|
-
style: linkStyles.value
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1822
|
+
]]),
|
|
1823
|
+
style: normalizeStyle(linkStyles.value),
|
|
1824
|
+
disabled: _ctx.disabled,
|
|
1825
|
+
"aria-disabled": _ctx.disabled,
|
|
1826
|
+
onClick: handleClick
|
|
1827
|
+
}, [
|
|
1828
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1829
|
+
], 14, _hoisted_1$B)) : (openBlock(), createElementBlock("a", {
|
|
1830
|
+
key: 1,
|
|
1831
|
+
class: normalizeClass(["ui-link", [
|
|
1832
|
+
`ui-link-${_ctx.variant}`,
|
|
1833
|
+
`ui-link-${_ctx.size}`,
|
|
1834
|
+
{ "ui-link-disabled": _ctx.disabled },
|
|
1835
|
+
{ "ui-link-custom-color": _ctx.color }
|
|
1836
|
+
]]),
|
|
1837
|
+
style: normalizeStyle(linkStyles.value),
|
|
1838
|
+
href: computedHref.value,
|
|
1839
|
+
target: _ctx.external ? "_blank" : void 0,
|
|
1840
|
+
rel: _ctx.external ? "noopener noreferrer" : void 0,
|
|
1841
|
+
"aria-disabled": _ctx.disabled,
|
|
1842
|
+
onClick: handleClick
|
|
1843
|
+
}, [
|
|
1844
|
+
renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
1845
|
+
], 14, _hoisted_2$u));
|
|
1160
1846
|
};
|
|
1161
1847
|
}
|
|
1162
1848
|
});
|
|
1163
|
-
const StrandsUiLink = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
1164
|
-
const _hoisted_1$
|
|
1165
|
-
const _hoisted_2$
|
|
1849
|
+
const StrandsUiLink = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-3bf99110"]]);
|
|
1850
|
+
const _hoisted_1$A = { class: "tabs-wrapper" };
|
|
1851
|
+
const _hoisted_2$t = {
|
|
1166
1852
|
key: 0,
|
|
1167
1853
|
class: "tabs-before"
|
|
1168
1854
|
};
|
|
1169
|
-
const _hoisted_3$
|
|
1170
|
-
const _hoisted_4$
|
|
1855
|
+
const _hoisted_3$r = ["aria-selected", "id", "onClick"];
|
|
1856
|
+
const _hoisted_4$p = {
|
|
1171
1857
|
key: 1,
|
|
1172
1858
|
class: "tabs-after"
|
|
1173
1859
|
};
|
|
1174
|
-
const _hoisted_5$
|
|
1175
|
-
const _sfc_main$
|
|
1860
|
+
const _hoisted_5$m = ["aria-labelledby"];
|
|
1861
|
+
const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
1176
1862
|
__name: "UiTabs",
|
|
1177
1863
|
props: {
|
|
1178
1864
|
modelValue: {},
|
|
@@ -1402,6 +2088,68 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
1402
2088
|
}, 200);
|
|
1403
2089
|
});
|
|
1404
2090
|
};
|
|
2091
|
+
let resizeTimeout = null;
|
|
2092
|
+
const handleResize = () => {
|
|
2093
|
+
const activeIndex = props.tabs.findIndex((tab) => tab.value === props.modelValue);
|
|
2094
|
+
if (activeIndex !== -1 && tabButtons.value && tabButtons.value[activeIndex]) {
|
|
2095
|
+
const wasTransitionsEnabled = enableTransitions.value;
|
|
2096
|
+
enableTransitions.value = false;
|
|
2097
|
+
const newTab = tabButtons.value[activeIndex];
|
|
2098
|
+
const container = newTab.parentElement;
|
|
2099
|
+
if (container) {
|
|
2100
|
+
const newDimensions = calculateUnderlineDimensions(newTab, container);
|
|
2101
|
+
const newTabRect = newTab.getBoundingClientRect();
|
|
2102
|
+
const containerRect = container.getBoundingClientRect();
|
|
2103
|
+
let newTabPos, newTabSize;
|
|
2104
|
+
if (props.orientation === "vertical") {
|
|
2105
|
+
newTabPos = newTabRect.top - containerRect.top;
|
|
2106
|
+
newTabSize = newTabRect.height;
|
|
2107
|
+
underlineStyle.value = {
|
|
2108
|
+
height: `${newDimensions.height}px`,
|
|
2109
|
+
top: `${newDimensions.top}px`,
|
|
2110
|
+
width: `${newDimensions.width}px`,
|
|
2111
|
+
left: `${newDimensions.left}px`,
|
|
2112
|
+
opacity: "1"
|
|
2113
|
+
};
|
|
2114
|
+
backgroundStyle.value = {
|
|
2115
|
+
height: `${newTabSize}px`,
|
|
2116
|
+
top: `${newTabPos}px`,
|
|
2117
|
+
width: `${newTabRect.width}px`,
|
|
2118
|
+
left: "0",
|
|
2119
|
+
opacity: "1"
|
|
2120
|
+
};
|
|
2121
|
+
} else {
|
|
2122
|
+
newTabPos = newTabRect.left - containerRect.left;
|
|
2123
|
+
newTabSize = newTabRect.width;
|
|
2124
|
+
underlineStyle.value = {
|
|
2125
|
+
width: `${newDimensions.width}px`,
|
|
2126
|
+
left: `${newDimensions.left}px`,
|
|
2127
|
+
height: `${newDimensions.height}px`,
|
|
2128
|
+
top: `${newDimensions.top}px`,
|
|
2129
|
+
opacity: "1"
|
|
2130
|
+
};
|
|
2131
|
+
backgroundStyle.value = {
|
|
2132
|
+
width: `${newTabSize}px`,
|
|
2133
|
+
left: `${newTabPos}px`,
|
|
2134
|
+
height: "100%",
|
|
2135
|
+
top: "0",
|
|
2136
|
+
opacity: "1"
|
|
2137
|
+
};
|
|
2138
|
+
}
|
|
2139
|
+
}
|
|
2140
|
+
currentTabIndex = activeIndex;
|
|
2141
|
+
isAnimating = false;
|
|
2142
|
+
setTimeout(() => {
|
|
2143
|
+
enableTransitions.value = wasTransitionsEnabled;
|
|
2144
|
+
}, 10);
|
|
2145
|
+
}
|
|
2146
|
+
if (resizeTimeout) {
|
|
2147
|
+
clearTimeout(resizeTimeout);
|
|
2148
|
+
}
|
|
2149
|
+
resizeTimeout = setTimeout(() => {
|
|
2150
|
+
resizeTimeout = null;
|
|
2151
|
+
}, 50);
|
|
2152
|
+
};
|
|
1405
2153
|
onMounted(async () => {
|
|
1406
2154
|
await nextTick();
|
|
1407
2155
|
const activeIndex = props.tabs.findIndex((tab) => tab.value === props.modelValue);
|
|
@@ -1411,6 +2159,14 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
1411
2159
|
enableTransitions.value = true;
|
|
1412
2160
|
}, 50);
|
|
1413
2161
|
}
|
|
2162
|
+
window.addEventListener("resize", handleResize);
|
|
2163
|
+
});
|
|
2164
|
+
onUnmounted(() => {
|
|
2165
|
+
window.removeEventListener("resize", handleResize);
|
|
2166
|
+
if (resizeTimeout) {
|
|
2167
|
+
clearTimeout(resizeTimeout);
|
|
2168
|
+
resizeTimeout = null;
|
|
2169
|
+
}
|
|
1414
2170
|
});
|
|
1415
2171
|
const { modelValue } = toRefs(props);
|
|
1416
2172
|
watch(modelValue, async () => {
|
|
@@ -1429,7 +2185,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
1429
2185
|
{ "tabs-container--with-content": hasContentSlot.value }
|
|
1430
2186
|
]])
|
|
1431
2187
|
}, [
|
|
1432
|
-
createElementVNode("div", _hoisted_1$
|
|
2188
|
+
createElementVNode("div", _hoisted_1$A, [
|
|
1433
2189
|
createElementVNode("div", {
|
|
1434
2190
|
class: normalizeClass(["tabs-list", [
|
|
1435
2191
|
`tabs-list--${_ctx.orientation}`,
|
|
@@ -1438,7 +2194,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
1438
2194
|
]]),
|
|
1439
2195
|
style: normalizeStyle(_ctx.sticky ? { position: "sticky", [_ctx.sticky.side]: `${_ctx.sticky.offset}px`, zIndex: 10 } : {})
|
|
1440
2196
|
}, [
|
|
1441
|
-
_ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$
|
|
2197
|
+
_ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$t, [
|
|
1442
2198
|
renderSlot(_ctx.$slots, "before", {}, void 0, true)
|
|
1443
2199
|
])) : createCommentVNode("", true),
|
|
1444
2200
|
createElementVNode("div", {
|
|
@@ -1462,141 +2218,36 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
|
|
|
1462
2218
|
id: `tab-${tab.value}`,
|
|
1463
2219
|
role: "tab",
|
|
1464
2220
|
onClick: ($event) => handleTabClick(tab.value, index)
|
|
1465
|
-
}, toDisplayString(tab.label), 11, _hoisted_3$
|
|
1466
|
-
}), 128)),
|
|
1467
|
-
createElementVNode("div", {
|
|
1468
|
-
class: normalizeClass(["tab-background", { "no-transition": !enableTransitions.value }]),
|
|
1469
|
-
style: normalizeStyle(backgroundStyle.value)
|
|
1470
|
-
}, null, 6),
|
|
1471
|
-
createElementVNode("div", {
|
|
1472
|
-
class: normalizeClass(["tab-underline", { "no-transition": !enableTransitions.value }]),
|
|
1473
|
-
style: normalizeStyle(underlineStyle.value)
|
|
1474
|
-
}, null, 6)
|
|
1475
|
-
], 2),
|
|
1476
|
-
_ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$
|
|
1477
|
-
renderSlot(_ctx.$slots, "after", {}, void 0, true)
|
|
1478
|
-
])) : createCommentVNode("", true)
|
|
1479
|
-
], 6)
|
|
1480
|
-
]),
|
|
1481
|
-
hasContentSlot.value ? (openBlock(), createElementBlock("div", {
|
|
1482
|
-
key: 0,
|
|
1483
|
-
class: normalizeClass(["tabs-content", `tabs-content--${_ctx.orientation}`]),
|
|
1484
|
-
role: "tabpanel",
|
|
1485
|
-
"aria-labelledby": `tab-${unref(modelValue)}`,
|
|
1486
|
-
id: "tabpanel"
|
|
1487
|
-
}, [
|
|
1488
|
-
renderSlot(_ctx.$slots, "content", { activeTab: activeTab.value }, void 0, true)
|
|
1489
|
-
], 10, _hoisted_5$
|
|
1490
|
-
], 2);
|
|
1491
|
-
};
|
|
1492
|
-
}
|
|
1493
|
-
});
|
|
1494
|
-
const StrandsUiTabs = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-fcde7995"]]);
|
|
1495
|
-
const logo = '<svg width="302" height="438" viewBox="0 0 302 438" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M71.5001 96C71.5001 96 132 106 137 61.5C142 17 117.5 3.50005 94.5001 1.50003C71.5001 -0.499996 16.0001 8.5 2.00014 72.5C-6.5 130.5 71.5003 227.5 165 218C258.5 208.5 280.758 148.5 283.5 121C286.242 93.5 277.5 61.5 238.5 61.5C153 61.5 150.501 185 170.5 235C190.5 285 199 279 213 314C227.001 349 217.296 411.458 183 427C129.456 450.65 92 426 78.5 407.5C65 389 68.0003 357 94.5001 344.5C121 332 212.41 393.5 301.5 361" stroke="black"/>\n</svg>\n';
|
|
1496
|
-
const _hoisted_1$A = {
|
|
1497
|
-
key: 0,
|
|
1498
|
-
class: "loader-icon"
|
|
1499
|
-
};
|
|
1500
|
-
const _hoisted_2$t = ["width", "height"];
|
|
1501
|
-
const _hoisted_3$r = ["d"];
|
|
1502
|
-
const _hoisted_4$p = ["stroke-width"];
|
|
1503
|
-
const _hoisted_5$m = ["stroke-width"];
|
|
1504
|
-
const _hoisted_6$l = ["width", "height"];
|
|
1505
|
-
const _hoisted_7$k = {
|
|
1506
|
-
key: 3,
|
|
1507
|
-
class: "loader-text"
|
|
1508
|
-
};
|
|
1509
|
-
const _sfc_main$D = /* @__PURE__ */ defineComponent({
|
|
1510
|
-
__name: "UiLoader",
|
|
1511
|
-
props: {
|
|
1512
|
-
size: { default: 80 },
|
|
1513
|
-
color: { default: "primary" },
|
|
1514
|
-
variant: { default: "spinner" },
|
|
1515
|
-
text: {},
|
|
1516
|
-
centered: { type: Boolean, default: true },
|
|
1517
|
-
weight: { default: 30 },
|
|
1518
|
-
fullWidth: { type: Boolean, default: false }
|
|
1519
|
-
},
|
|
1520
|
-
setup(__props) {
|
|
1521
|
-
const path = logo.replace(/<svg[^>]*>/, "").replace(/<\/svg>/, "").trim();
|
|
1522
|
-
const d = path.match(/d="([^"]*)"/)?.[1] || "";
|
|
1523
|
-
return (_ctx, _cache) => {
|
|
1524
|
-
return openBlock(), createElementBlock("div", {
|
|
1525
|
-
class: normalizeClass(["loader-container", [
|
|
1526
|
-
{ "loader-centered": _ctx.centered },
|
|
1527
|
-
`loader-color-${_ctx.color}`
|
|
1528
|
-
]])
|
|
1529
|
-
}, [
|
|
1530
|
-
_ctx.variant === "spinner" ? (openBlock(), createElementBlock("div", _hoisted_1$A, [
|
|
1531
|
-
(openBlock(), createElementBlock("svg", {
|
|
1532
|
-
width: _ctx.size,
|
|
1533
|
-
height: _ctx.size,
|
|
1534
|
-
viewBox: "0 0 500 500"
|
|
1535
|
-
}, [
|
|
1536
|
-
createElementVNode("defs", null, [
|
|
1537
|
-
createElementVNode("path", {
|
|
1538
|
-
id: "logo-path",
|
|
1539
|
-
d: unref(d),
|
|
1540
|
-
transform: "translate(81, 13) scale(1.0)"
|
|
1541
|
-
}, null, 8, _hoisted_3$r)
|
|
1542
|
-
]),
|
|
1543
|
-
createElementVNode("use", {
|
|
1544
|
-
href: "#logo-path",
|
|
1545
|
-
fill: "none",
|
|
1546
|
-
stroke: "var(--loader-semi-color)",
|
|
1547
|
-
"stroke-width": _ctx.weight,
|
|
1548
|
-
"stroke-linecap": "round",
|
|
1549
|
-
"stroke-linejoin": "round"
|
|
1550
|
-
}, null, 8, _hoisted_4$p),
|
|
1551
|
-
createElementVNode("use", {
|
|
1552
|
-
href: "#logo-path",
|
|
1553
|
-
fill: "none",
|
|
1554
|
-
stroke: "var(--loader-solid-color)",
|
|
1555
|
-
"stroke-width": _ctx.weight,
|
|
1556
|
-
"stroke-linecap": "round",
|
|
1557
|
-
"stroke-linejoin": "round",
|
|
1558
|
-
class: "loader-animated-path"
|
|
1559
|
-
}, null, 8, _hoisted_5$m)
|
|
1560
|
-
], 8, _hoisted_2$t))
|
|
1561
|
-
])) : _ctx.variant === "circle" ? (openBlock(), createElementBlock("div", {
|
|
1562
|
-
key: 1,
|
|
1563
|
-
class: "loader-circle",
|
|
1564
|
-
style: normalizeStyle({ width: `${_ctx.size}px`, height: `${_ctx.size}px` })
|
|
1565
|
-
}, [
|
|
1566
|
-
(openBlock(), createElementBlock("svg", {
|
|
1567
|
-
width: _ctx.size,
|
|
1568
|
-
height: _ctx.size,
|
|
1569
|
-
viewBox: "0 0 50 50"
|
|
1570
|
-
}, [..._cache[0] || (_cache[0] = [
|
|
1571
|
-
createElementVNode("circle", {
|
|
1572
|
-
cx: "25",
|
|
1573
|
-
cy: "25",
|
|
1574
|
-
r: "20",
|
|
1575
|
-
fill: "none",
|
|
1576
|
-
stroke: "var(--loader-solid-color)",
|
|
1577
|
-
"stroke-width": "4",
|
|
1578
|
-
"stroke-linecap": "round",
|
|
1579
|
-
class: "loader-circle-path"
|
|
1580
|
-
}, null, -1)
|
|
1581
|
-
])], 8, _hoisted_6$l))
|
|
1582
|
-
], 4)) : _ctx.variant === "bar" ? (openBlock(), createElementBlock("div", {
|
|
1583
|
-
key: 2,
|
|
1584
|
-
class: "loader-bar",
|
|
1585
|
-
style: normalizeStyle({
|
|
1586
|
-
width: _ctx.fullWidth ? "100%" : `${_ctx.size * 1.5}px`,
|
|
1587
|
-
height: `${Math.max(_ctx.size * 0.1, 4)}px`
|
|
1588
|
-
})
|
|
1589
|
-
}, [..._cache[1] || (_cache[1] = [
|
|
1590
|
-
createElementVNode("div", { class: "loader-bar-track" }, [
|
|
1591
|
-
createElementVNode("div", { class: "loader-bar-fill" })
|
|
1592
|
-
], -1)
|
|
1593
|
-
])], 4)) : createCommentVNode("", true),
|
|
1594
|
-
_ctx.text ? (openBlock(), createElementBlock("p", _hoisted_7$k, toDisplayString(_ctx.text), 1)) : createCommentVNode("", true)
|
|
2221
|
+
}, toDisplayString(tab.label), 11, _hoisted_3$r);
|
|
2222
|
+
}), 128)),
|
|
2223
|
+
createElementVNode("div", {
|
|
2224
|
+
class: normalizeClass(["tab-background", { "no-transition": !enableTransitions.value }]),
|
|
2225
|
+
style: normalizeStyle(backgroundStyle.value)
|
|
2226
|
+
}, null, 6),
|
|
2227
|
+
createElementVNode("div", {
|
|
2228
|
+
class: normalizeClass(["tab-underline", { "no-transition": !enableTransitions.value }]),
|
|
2229
|
+
style: normalizeStyle(underlineStyle.value)
|
|
2230
|
+
}, null, 6)
|
|
2231
|
+
], 2),
|
|
2232
|
+
_ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$p, [
|
|
2233
|
+
renderSlot(_ctx.$slots, "after", {}, void 0, true)
|
|
2234
|
+
])) : createCommentVNode("", true)
|
|
2235
|
+
], 6)
|
|
2236
|
+
]),
|
|
2237
|
+
hasContentSlot.value ? (openBlock(), createElementBlock("div", {
|
|
2238
|
+
key: 0,
|
|
2239
|
+
class: normalizeClass(["tabs-content", `tabs-content--${_ctx.orientation}`]),
|
|
2240
|
+
role: "tabpanel",
|
|
2241
|
+
"aria-labelledby": `tab-${unref(modelValue)}`,
|
|
2242
|
+
id: "tabpanel"
|
|
2243
|
+
}, [
|
|
2244
|
+
renderSlot(_ctx.$slots, "content", { activeTab: activeTab.value }, void 0, true)
|
|
2245
|
+
], 10, _hoisted_5$m)) : createCommentVNode("", true)
|
|
1595
2246
|
], 2);
|
|
1596
2247
|
};
|
|
1597
2248
|
}
|
|
1598
2249
|
});
|
|
1599
|
-
const
|
|
2250
|
+
const StrandsUiTabs = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-95268d49"]]);
|
|
1600
2251
|
const _hoisted_1$z = ["aria-pressed", "aria-labelledby"];
|
|
1601
2252
|
const _sfc_main$C = /* @__PURE__ */ defineComponent({
|
|
1602
2253
|
__name: "UiToggle",
|
|
@@ -3584,37 +4235,75 @@ const _hoisted_20$9 = {
|
|
|
3584
4235
|
};
|
|
3585
4236
|
const _hoisted_21$8 = ["cx", "fill"];
|
|
3586
4237
|
const _hoisted_22$8 = { class: "ui-color-picker-inputs" };
|
|
3587
|
-
const _hoisted_23$7 = {
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
4238
|
+
const _hoisted_23$7 = {
|
|
4239
|
+
key: 0,
|
|
4240
|
+
class: "ui-color-picker-input-row"
|
|
4241
|
+
};
|
|
4242
|
+
const _hoisted_24$6 = { class: "ui-color-picker-input-group" };
|
|
4243
|
+
const _hoisted_25$6 = { class: "ui-color-picker-button-wrapper" };
|
|
4244
|
+
const _hoisted_26$5 = {
|
|
4245
|
+
key: 1,
|
|
4246
|
+
class: "ui-color-picker-input-row"
|
|
4247
|
+
};
|
|
3591
4248
|
const _hoisted_27$5 = { class: "ui-color-picker-input-group" };
|
|
3592
|
-
const _hoisted_28$5 = {
|
|
4249
|
+
const _hoisted_28$5 = { class: "ui-color-picker-input-group" };
|
|
4250
|
+
const _hoisted_29$5 = { class: "ui-color-picker-input-group" };
|
|
4251
|
+
const _hoisted_30$5 = {
|
|
4252
|
+
key: 0,
|
|
4253
|
+
class: "ui-color-picker-input-group"
|
|
4254
|
+
};
|
|
4255
|
+
const _hoisted_31$5 = { class: "ui-color-picker-button-wrapper" };
|
|
4256
|
+
const _hoisted_32$5 = {
|
|
4257
|
+
key: 2,
|
|
4258
|
+
class: "ui-color-picker-input-row"
|
|
4259
|
+
};
|
|
4260
|
+
const _hoisted_33$4 = { class: "ui-color-picker-input-group" };
|
|
4261
|
+
const _hoisted_34$3 = { class: "ui-color-picker-input-group" };
|
|
4262
|
+
const _hoisted_35$3 = { class: "ui-color-picker-input-group" };
|
|
4263
|
+
const _hoisted_36$3 = {
|
|
4264
|
+
key: 0,
|
|
4265
|
+
class: "ui-color-picker-input-group"
|
|
4266
|
+
};
|
|
4267
|
+
const _hoisted_37$2 = { class: "ui-color-picker-button-wrapper" };
|
|
4268
|
+
const _hoisted_38$1 = {
|
|
4269
|
+
key: 3,
|
|
4270
|
+
class: "ui-color-picker-input-row"
|
|
4271
|
+
};
|
|
4272
|
+
const _hoisted_39$1 = { class: "ui-color-picker-input-group" };
|
|
4273
|
+
const _hoisted_40$1 = { class: "ui-color-picker-input-group" };
|
|
4274
|
+
const _hoisted_41$1 = { class: "ui-color-picker-input-group" };
|
|
4275
|
+
const _hoisted_42$1 = {
|
|
3593
4276
|
key: 0,
|
|
3594
4277
|
class: "ui-color-picker-input-group"
|
|
3595
4278
|
};
|
|
3596
|
-
const
|
|
3597
|
-
const
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
const
|
|
3602
|
-
const
|
|
3603
|
-
const
|
|
4279
|
+
const _hoisted_43$1 = { class: "ui-color-picker-button-wrapper" };
|
|
4280
|
+
const _hoisted_44$1 = {
|
|
4281
|
+
key: 1,
|
|
4282
|
+
class: "ui-color-picker-swatches"
|
|
4283
|
+
};
|
|
4284
|
+
const _hoisted_45$1 = { class: "ui-color-picker-swatch-row ui-color-picker-swatch-row--additional" };
|
|
4285
|
+
const _hoisted_46$1 = ["onClick"];
|
|
4286
|
+
const _hoisted_47$1 = { class: "ui-color-picker-swatch-row" };
|
|
4287
|
+
const _hoisted_48$1 = ["onClick"];
|
|
4288
|
+
const _hoisted_49$1 = { class: "ui-color-picker-shades-inner" };
|
|
4289
|
+
const _hoisted_50$1 = { class: "ui-color-picker-swatch-row ui-color-picker-swatch-row--shades" };
|
|
4290
|
+
const _hoisted_51$1 = ["onClick"];
|
|
3604
4291
|
const GLOBAL_PICKER_WIDTH = 200;
|
|
3605
4292
|
const GLOBAL_PICKER_HEIGHT = 150;
|
|
3606
4293
|
const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
3607
4294
|
__name: "UiColorPicker.Picker",
|
|
3608
4295
|
props: {
|
|
4296
|
+
contrastLabel: {},
|
|
3609
4297
|
modelValue: {},
|
|
3610
4298
|
disabled: { type: Boolean },
|
|
3611
4299
|
showAlpha: { type: Boolean },
|
|
4300
|
+
defaultColorFormat: { default: "hex" },
|
|
3612
4301
|
swatches: {},
|
|
3613
4302
|
additionalSwatches: {},
|
|
3614
4303
|
additionalSwatchesLabel: {},
|
|
4304
|
+
showSwatches: { type: Boolean, default: true },
|
|
3615
4305
|
compareColor: {},
|
|
3616
|
-
showContrast: { type: Boolean }
|
|
3617
|
-
contrastLabel: {}
|
|
4306
|
+
showContrast: { type: Boolean }
|
|
3618
4307
|
},
|
|
3619
4308
|
emits: ["update:modelValue", "change"],
|
|
3620
4309
|
setup(__props, { emit: __emit }) {
|
|
@@ -3636,9 +4325,12 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
3636
4325
|
const saturation = ref(1);
|
|
3637
4326
|
const brightness = ref(1);
|
|
3638
4327
|
const alpha = ref(1);
|
|
3639
|
-
const hexInput = ref(getCurrentAccentColor());
|
|
4328
|
+
const hexInput = ref(props.modelValue || getCurrentAccentColor());
|
|
3640
4329
|
const rgbInputs = ref({ r: 234, g: 0, b: 168 });
|
|
3641
4330
|
const alphaInput = ref(100);
|
|
4331
|
+
const currentColorFormat = ref(props.defaultColorFormat || "hex");
|
|
4332
|
+
const hslInputs = ref({ h: 0, s: 0, l: 0 });
|
|
4333
|
+
const oklchInputs = ref({ l: 0, c: 0, h: 0 });
|
|
3642
4334
|
const isDraggingArea = ref(false);
|
|
3643
4335
|
const isDraggingHue = ref(false);
|
|
3644
4336
|
const isDraggingAlpha = ref(false);
|
|
@@ -3919,6 +4611,111 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
3919
4611
|
const rgbToHex = (r, g, b) => {
|
|
3920
4612
|
return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`;
|
|
3921
4613
|
};
|
|
4614
|
+
const rgbToHsl = (r, g, b) => {
|
|
4615
|
+
r /= 255;
|
|
4616
|
+
g /= 255;
|
|
4617
|
+
b /= 255;
|
|
4618
|
+
const max = Math.max(r, g, b);
|
|
4619
|
+
const min = Math.min(r, g, b);
|
|
4620
|
+
const diff = max - min;
|
|
4621
|
+
const sum = max + min;
|
|
4622
|
+
let h2 = 0;
|
|
4623
|
+
let s2 = 0;
|
|
4624
|
+
let l = sum / 2;
|
|
4625
|
+
if (diff !== 0) {
|
|
4626
|
+
s2 = l > 0.5 ? diff / (2 - sum) : diff / sum;
|
|
4627
|
+
switch (max) {
|
|
4628
|
+
case r:
|
|
4629
|
+
h2 = ((g - b) / diff + (g < b ? 6 : 0)) / 6;
|
|
4630
|
+
break;
|
|
4631
|
+
case g:
|
|
4632
|
+
h2 = ((b - r) / diff + 2) / 6;
|
|
4633
|
+
break;
|
|
4634
|
+
case b:
|
|
4635
|
+
h2 = ((r - g) / diff + 4) / 6;
|
|
4636
|
+
break;
|
|
4637
|
+
}
|
|
4638
|
+
}
|
|
4639
|
+
return {
|
|
4640
|
+
h: Math.round(h2 * 360),
|
|
4641
|
+
s: Math.round(s2 * 100),
|
|
4642
|
+
l: Math.round(l * 100)
|
|
4643
|
+
};
|
|
4644
|
+
};
|
|
4645
|
+
const hslToRgb = (h2, s2, l) => {
|
|
4646
|
+
h2 /= 360;
|
|
4647
|
+
s2 /= 100;
|
|
4648
|
+
l /= 100;
|
|
4649
|
+
const hue2rgb = (p2, q2, t) => {
|
|
4650
|
+
if (t < 0) t += 1;
|
|
4651
|
+
if (t > 1) t -= 1;
|
|
4652
|
+
if (t < 1 / 6) return p2 + (q2 - p2) * 6 * t;
|
|
4653
|
+
if (t < 1 / 2) return q2;
|
|
4654
|
+
if (t < 2 / 3) return p2 + (q2 - p2) * (2 / 3 - t) * 6;
|
|
4655
|
+
return p2;
|
|
4656
|
+
};
|
|
4657
|
+
if (s2 === 0) {
|
|
4658
|
+
return { r: Math.round(l * 255), g: Math.round(l * 255), b: Math.round(l * 255) };
|
|
4659
|
+
}
|
|
4660
|
+
const q = l < 0.5 ? l * (1 + s2) : l + s2 - l * s2;
|
|
4661
|
+
const p = 2 * l - q;
|
|
4662
|
+
return {
|
|
4663
|
+
r: Math.round(hue2rgb(p, q, h2 + 1 / 3) * 255),
|
|
4664
|
+
g: Math.round(hue2rgb(p, q, h2) * 255),
|
|
4665
|
+
b: Math.round(hue2rgb(p, q, h2 - 1 / 3) * 255)
|
|
4666
|
+
};
|
|
4667
|
+
};
|
|
4668
|
+
const rgbToOklch = (r, g, b) => {
|
|
4669
|
+
const toLinear = (c) => {
|
|
4670
|
+
c /= 255;
|
|
4671
|
+
return c <= 0.04045 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
4672
|
+
};
|
|
4673
|
+
const rLinear = toLinear(r);
|
|
4674
|
+
const gLinear = toLinear(g);
|
|
4675
|
+
const bLinear = toLinear(b);
|
|
4676
|
+
const l = 0.4122214708 * rLinear + 0.5363325363 * gLinear + 0.0514459929 * bLinear;
|
|
4677
|
+
const m = 0.2119034982 * rLinear + 0.6806995451 * gLinear + 0.1073969566 * bLinear;
|
|
4678
|
+
const s2 = 0.0883024619 * rLinear + 0.2817188376 * gLinear + 0.6299787005 * bLinear;
|
|
4679
|
+
const lCube = Math.sign(l) * Math.pow(Math.abs(l), 1 / 3);
|
|
4680
|
+
const mCube = Math.sign(m) * Math.pow(Math.abs(m), 1 / 3);
|
|
4681
|
+
const sCube = Math.sign(s2) * Math.pow(Math.abs(s2), 1 / 3);
|
|
4682
|
+
const lOk = 0.2104542553 * lCube + 0.793617785 * mCube - 0.0040720468 * sCube;
|
|
4683
|
+
const aOk = 1.9779984951 * lCube - 2.428592205 * mCube + 0.4505937099 * sCube;
|
|
4684
|
+
const bOk = 0.0259040371 * lCube + 0.7827717662 * mCube - 0.808675766 * sCube;
|
|
4685
|
+
const lightness = lOk;
|
|
4686
|
+
const chroma = Math.sqrt(aOk * aOk + bOk * bOk);
|
|
4687
|
+
let hue2 = Math.atan2(bOk, aOk) * 180 / Math.PI;
|
|
4688
|
+
if (hue2 < 0) hue2 += 360;
|
|
4689
|
+
return {
|
|
4690
|
+
l: Math.round(lightness * 100),
|
|
4691
|
+
c: Math.round(chroma * 100),
|
|
4692
|
+
h: Math.round(hue2)
|
|
4693
|
+
};
|
|
4694
|
+
};
|
|
4695
|
+
const oklchToRgb = (l, c, h2) => {
|
|
4696
|
+
l /= 100;
|
|
4697
|
+
c /= 100;
|
|
4698
|
+
h2 = h2 * Math.PI / 180;
|
|
4699
|
+
const aOk = c * Math.cos(h2);
|
|
4700
|
+
const bOk = c * Math.sin(h2);
|
|
4701
|
+
const lCube = l + 0.3963377774 * aOk + 0.2158037573 * bOk;
|
|
4702
|
+
const mCube = l - 0.1055613458 * aOk - 0.0638541728 * bOk;
|
|
4703
|
+
const sCube = l - 0.0894841775 * aOk - 1.291485548 * bOk;
|
|
4704
|
+
const lLinear = lCube * lCube * lCube;
|
|
4705
|
+
const mLinear = mCube * mCube * mCube;
|
|
4706
|
+
const sLinear = sCube * sCube * sCube;
|
|
4707
|
+
const rLinear = 4.0767416621 * lLinear - 3.3077115913 * mLinear + 0.2309699292 * sLinear;
|
|
4708
|
+
const gLinear = -1.2684380046 * lLinear + 2.6097574011 * mLinear - 0.3413193965 * sLinear;
|
|
4709
|
+
const bLinear = -0.0041960863 * lLinear - 0.7034186147 * mLinear + 1.707614701 * sLinear;
|
|
4710
|
+
const fromLinear = (c2) => {
|
|
4711
|
+
return c2 <= 31308e-7 ? c2 * 12.92 : 1.055 * Math.pow(c2, 1 / 2.4) - 0.055;
|
|
4712
|
+
};
|
|
4713
|
+
return {
|
|
4714
|
+
r: Math.max(0, Math.min(255, Math.round(fromLinear(rLinear) * 255))),
|
|
4715
|
+
g: Math.max(0, Math.min(255, Math.round(fromLinear(gLinear) * 255))),
|
|
4716
|
+
b: Math.max(0, Math.min(255, Math.round(fromLinear(bLinear) * 255)))
|
|
4717
|
+
};
|
|
4718
|
+
};
|
|
3922
4719
|
const normalizeColorString = (colorStr) => {
|
|
3923
4720
|
if (!colorStr) return colorStr;
|
|
3924
4721
|
const rgb = hexToRgb(colorStr);
|
|
@@ -3961,7 +4758,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
3961
4758
|
const rgbString = computed(() => `rgb(${currentRgb.value.r}, ${currentRgb.value.g}, ${currentRgb.value.b})`);
|
|
3962
4759
|
const currentColorString = computed(() => {
|
|
3963
4760
|
const { r, g, b } = currentRgb.value;
|
|
3964
|
-
return props.showAlpha && alpha.value <
|
|
4761
|
+
return props.showAlpha && alpha.value < 0.99 ? `rgba(${r}, ${g}, ${b}, ${alpha.value})` : rgbToHex(r, g, b);
|
|
3965
4762
|
});
|
|
3966
4763
|
const updateContrastData = () => {
|
|
3967
4764
|
if (!props.showContrast || !props.compareColor) {
|
|
@@ -4871,6 +5668,34 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4871
5668
|
saturation.value = hsv.s;
|
|
4872
5669
|
brightness.value = hsv.v;
|
|
4873
5670
|
updateHexInput();
|
|
5671
|
+
updateHslInputs();
|
|
5672
|
+
updateOklchInputs();
|
|
5673
|
+
}
|
|
5674
|
+
};
|
|
5675
|
+
const handleHslInput = () => {
|
|
5676
|
+
const { h: h2, s: s2, l } = hslInputs.value;
|
|
5677
|
+
if (h2 >= 0 && h2 <= 360 && s2 >= 0 && s2 <= 100 && l >= 0 && l <= 100) {
|
|
5678
|
+
const rgb = hslToRgb(h2, s2, l);
|
|
5679
|
+
const hsv = rgbToHsv(rgb.r, rgb.g, rgb.b);
|
|
5680
|
+
hue.value = hsv.h;
|
|
5681
|
+
saturation.value = hsv.s;
|
|
5682
|
+
brightness.value = hsv.v;
|
|
5683
|
+
updateHexInput();
|
|
5684
|
+
updateRgbInputs();
|
|
5685
|
+
updateOklchInputs();
|
|
5686
|
+
}
|
|
5687
|
+
};
|
|
5688
|
+
const handleOklchInput = () => {
|
|
5689
|
+
const { l, c, h: h2 } = oklchInputs.value;
|
|
5690
|
+
if (l >= 0 && l <= 100 && c >= 0 && c <= 100 && h2 >= 0 && h2 <= 360) {
|
|
5691
|
+
const rgb = oklchToRgb(l, c, h2);
|
|
5692
|
+
const hsv = rgbToHsv(rgb.r, rgb.g, rgb.b);
|
|
5693
|
+
hue.value = hsv.h;
|
|
5694
|
+
saturation.value = hsv.s;
|
|
5695
|
+
brightness.value = hsv.v;
|
|
5696
|
+
updateHexInput();
|
|
5697
|
+
updateRgbInputs();
|
|
5698
|
+
updateHslInputs();
|
|
4874
5699
|
}
|
|
4875
5700
|
};
|
|
4876
5701
|
const handleAlphaInput = () => {
|
|
@@ -4878,6 +5703,12 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4878
5703
|
alpha.value = value / 100;
|
|
4879
5704
|
alphaInput.value = value;
|
|
4880
5705
|
};
|
|
5706
|
+
const cycleColorFormat = () => {
|
|
5707
|
+
const formats = ["hex", "rgb", "hsl", "oklch"];
|
|
5708
|
+
const currentIndex = formats.indexOf(currentColorFormat.value);
|
|
5709
|
+
const nextIndex = (currentIndex + 1) % formats.length;
|
|
5710
|
+
currentColorFormat.value = formats[nextIndex];
|
|
5711
|
+
};
|
|
4881
5712
|
const updateHexInput = () => {
|
|
4882
5713
|
const { r, g, b } = currentRgb.value;
|
|
4883
5714
|
hexInput.value = rgbToHex(r, g, b);
|
|
@@ -4886,6 +5717,16 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4886
5717
|
const { r, g, b } = currentRgb.value;
|
|
4887
5718
|
rgbInputs.value = { r, g, b };
|
|
4888
5719
|
};
|
|
5720
|
+
const updateHslInputs = () => {
|
|
5721
|
+
const { r, g, b } = currentRgb.value;
|
|
5722
|
+
const hsl = rgbToHsl(r, g, b);
|
|
5723
|
+
hslInputs.value = hsl;
|
|
5724
|
+
};
|
|
5725
|
+
const updateOklchInputs = () => {
|
|
5726
|
+
const { r, g, b } = currentRgb.value;
|
|
5727
|
+
const oklch = rgbToOklch(r, g, b);
|
|
5728
|
+
oklchInputs.value = oklch;
|
|
5729
|
+
};
|
|
4889
5730
|
const setColorFromSwatch = (swatchColor) => {
|
|
4890
5731
|
if (props.disabled) return;
|
|
4891
5732
|
const rgb = hexToRgb(swatchColor);
|
|
@@ -4903,7 +5744,21 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4903
5744
|
};
|
|
4904
5745
|
const initializeFromProp = () => {
|
|
4905
5746
|
if (!props.modelValue) return;
|
|
4906
|
-
|
|
5747
|
+
let rgb;
|
|
5748
|
+
if (props.modelValue.startsWith("#")) {
|
|
5749
|
+
rgb = hexToRgb(props.modelValue);
|
|
5750
|
+
hexInput.value = props.modelValue;
|
|
5751
|
+
} else {
|
|
5752
|
+
const rgbMatch = props.modelValue.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*[\d.]+)?\)/);
|
|
5753
|
+
if (rgbMatch) {
|
|
5754
|
+
rgb = {
|
|
5755
|
+
r: parseInt(rgbMatch[1]),
|
|
5756
|
+
g: parseInt(rgbMatch[2]),
|
|
5757
|
+
b: parseInt(rgbMatch[3])
|
|
5758
|
+
};
|
|
5759
|
+
hexInput.value = rgbToHex(rgb.r, rgb.g, rgb.b);
|
|
5760
|
+
}
|
|
5761
|
+
}
|
|
4907
5762
|
if (rgb) {
|
|
4908
5763
|
const hsv = rgbToHsv(rgb.r, rgb.g, rgb.b);
|
|
4909
5764
|
hue.value = hsv.h;
|
|
@@ -4916,6 +5771,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4916
5771
|
watch([hue, saturation, brightness, alpha], () => {
|
|
4917
5772
|
updateHexInput();
|
|
4918
5773
|
updateRgbInputs();
|
|
5774
|
+
updateHslInputs();
|
|
5775
|
+
updateOklchInputs();
|
|
4919
5776
|
const currentColor = normalizeColorString(currentColorString.value);
|
|
4920
5777
|
if (currentColor === lastEmittedColor) {
|
|
4921
5778
|
return;
|
|
@@ -4988,8 +5845,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
4988
5845
|
onMousedown: handleAreaMouseDown,
|
|
4989
5846
|
onTouchstart: handleAreaMouseDown
|
|
4990
5847
|
}, [
|
|
4991
|
-
_cache[
|
|
4992
|
-
_cache[
|
|
5848
|
+
_cache[16] || (_cache[16] = createElementVNode("div", { class: "ui-color-picker-saturation" }, null, -1)),
|
|
5849
|
+
_cache[17] || (_cache[17] = createElementVNode("div", { class: "ui-color-picker-brightness" }, null, -1)),
|
|
4993
5850
|
debouncedCompareColor.value ? (openBlock(), createElementBlock("div", {
|
|
4994
5851
|
key: 0,
|
|
4995
5852
|
class: normalizeClass(["ui-color-picker-contrast-overlay", { "contrast-overlay-visible": contrastEnabled.value }])
|
|
@@ -5008,7 +5865,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5008
5865
|
height: GLOBAL_PICKER_HEIGHT
|
|
5009
5866
|
})
|
|
5010
5867
|
]),
|
|
5011
|
-
_cache[
|
|
5868
|
+
_cache[13] || (_cache[13] = createElementVNode("pattern", {
|
|
5012
5869
|
id: "orangeDotsPattern",
|
|
5013
5870
|
x: "0",
|
|
5014
5871
|
y: "0",
|
|
@@ -5024,7 +5881,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5024
5881
|
opacity: "0.3"
|
|
5025
5882
|
})
|
|
5026
5883
|
], -1)),
|
|
5027
|
-
_cache[
|
|
5884
|
+
_cache[14] || (_cache[14] = createElementVNode("pattern", {
|
|
5028
5885
|
id: "redDotsPattern",
|
|
5029
5886
|
x: "0",
|
|
5030
5887
|
y: "0",
|
|
@@ -5110,7 +5967,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5110
5967
|
top: `${(1 - brightness.value) * 100}%`,
|
|
5111
5968
|
backgroundColor: currentColorString.value
|
|
5112
5969
|
})
|
|
5113
|
-
}, [..._cache[
|
|
5970
|
+
}, [..._cache[15] || (_cache[15] = [
|
|
5114
5971
|
createElementVNode("div", { class: "ui-color-picker-cursor-inner" }, null, -1)
|
|
5115
5972
|
])], 4)
|
|
5116
5973
|
], 36),
|
|
@@ -5138,12 +5995,12 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5138
5995
|
delay: 300
|
|
5139
5996
|
}, {
|
|
5140
5997
|
default: withCtx(() => [
|
|
5141
|
-
createVNode(unref(
|
|
5998
|
+
createVNode(unref(CompoundUiButton), {
|
|
5142
5999
|
onClick: toggleContrast,
|
|
5143
|
-
icon:
|
|
5144
|
-
squircle:
|
|
6000
|
+
icon: true,
|
|
6001
|
+
squircle: true,
|
|
5145
6002
|
size: "xs",
|
|
5146
|
-
variant: contrastEnabled.value ? "primary" : "
|
|
6003
|
+
variant: contrastEnabled.value ? "primary" : "ghost",
|
|
5147
6004
|
"icon-name": "contrast"
|
|
5148
6005
|
}, null, 8, ["variant"])
|
|
5149
6006
|
]),
|
|
@@ -5156,7 +6013,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5156
6013
|
}, [
|
|
5157
6014
|
contrastData.value ? (openBlock(), createElementBlock("div", _hoisted_11$f, [
|
|
5158
6015
|
createElementVNode("div", _hoisted_12$f, [
|
|
5159
|
-
_cache[
|
|
6016
|
+
_cache[18] || (_cache[18] = createElementVNode("h4", { class: "ui-color-picker-contrast-title" }, "Contrast Check", -1)),
|
|
5160
6017
|
createElementVNode("div", _hoisted_13$f, [
|
|
5161
6018
|
createElementVNode("div", _hoisted_14$f, [
|
|
5162
6019
|
createElementVNode("div", {
|
|
@@ -5177,7 +6034,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5177
6034
|
"ui-color-picker-contrast-level--fail": contrastData.value.normalText === "FAIL"
|
|
5178
6035
|
}])
|
|
5179
6036
|
}, [
|
|
5180
|
-
_cache[
|
|
6037
|
+
_cache[19] || (_cache[19] = createElementVNode("div", { class: "ui-color-picker-contrast-level-indicator" }, [
|
|
5181
6038
|
createElementVNode("div", { class: "ui-color-picker-contrast-level-line ui-color-picker-contrast-level-line--solid" }),
|
|
5182
6039
|
createElementVNode("span", { class: "ui-color-picker-contrast-level-label" }, "Normal Text")
|
|
5183
6040
|
], -1)),
|
|
@@ -5189,7 +6046,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5189
6046
|
"ui-color-picker-contrast-level--fail": contrastData.value.largeText === "FAIL"
|
|
5190
6047
|
}])
|
|
5191
6048
|
}, [
|
|
5192
|
-
_cache[
|
|
6049
|
+
_cache[20] || (_cache[20] = createElementVNode("div", { class: "ui-color-picker-contrast-level-indicator" }, [
|
|
5193
6050
|
createElementVNode("div", { class: "ui-color-picker-contrast-level-line ui-color-picker-contrast-level-line--dashed" }),
|
|
5194
6051
|
createElementVNode("span", { class: "ui-color-picker-contrast-level-label" }, "Large Text")
|
|
5195
6052
|
], -1)),
|
|
@@ -5198,7 +6055,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5198
6055
|
]),
|
|
5199
6056
|
createElementVNode("div", _hoisted_19$a, [
|
|
5200
6057
|
(openBlock(), createElementBlock("svg", _hoisted_20$9, [
|
|
5201
|
-
_cache[
|
|
6058
|
+
_cache[21] || (_cache[21] = createStaticVNode('<defs data-v-3634b582><linearGradient id="contrastGradientDefault" x1="0%" y1="0%" x2="100%" y2="0%" data-v-3634b582><stop offset="0%" stop-color="#ef4444" data-v-3634b582></stop><stop offset="21.4%" stop-color="#ef4444" data-v-3634b582></stop><stop offset="21.4%" stop-color="#f59e0b" data-v-3634b582></stop><stop offset="64.3%" stop-color="#f59e0b" data-v-3634b582></stop><stop offset="64.3%" stop-color="#22c55e" data-v-3634b582></stop><stop offset="100%" stop-color="#22c55e" data-v-3634b582></stop></linearGradient></defs><rect x="0" y="15" width="280" height="10" fill="url(#contrastGradientDefault)" rx="5" data-v-3634b582></rect><line x1="60" y1="10" x2="60" y2="30" stroke="#666" stroke-width="1" opacity="0.5" data-v-3634b582></line><line x1="180" y1="10" x2="180" y2="30" stroke="#666" stroke-width="1" opacity="0.5" data-v-3634b582></line>', 4)),
|
|
5202
6059
|
createElementVNode("circle", {
|
|
5203
6060
|
cx: Math.min(270, Math.max(10, Math.min(contrastData.value.ratio, 14) / 14 * 260 + 10)),
|
|
5204
6061
|
cy: "20",
|
|
@@ -5208,7 +6065,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5208
6065
|
"stroke-width": "2"
|
|
5209
6066
|
}, null, 8, _hoisted_21$8)
|
|
5210
6067
|
])),
|
|
5211
|
-
_cache[
|
|
6068
|
+
_cache[22] || (_cache[22] = createStaticVNode('<div class="ui-color-picker-contrast-labels" data-v-3634b582><span class="ui-color-picker-contrast-label" data-v-3634b582>1:1</span><span class="ui-color-picker-contrast-label" style="left:60px;" data-v-3634b582>3:1</span><span class="ui-color-picker-contrast-label" style="left:180px;" data-v-3634b582>4.5:1</span><span class="ui-color-picker-contrast-label" style="right:0;" data-v-3634b582>14:1+</span></div>', 1))
|
|
5212
6069
|
])
|
|
5213
6070
|
])) : createCommentVNode("", true)
|
|
5214
6071
|
], 2),
|
|
@@ -5220,7 +6077,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5220
6077
|
onMousedown: handleAlphaMouseDown,
|
|
5221
6078
|
onTouchstart: handleAlphaMouseDown
|
|
5222
6079
|
}, [
|
|
5223
|
-
_cache[
|
|
6080
|
+
_cache[23] || (_cache[23] = createElementVNode("div", { class: "ui-color-picker-alpha-bg" }, null, -1)),
|
|
5224
6081
|
createElementVNode("div", {
|
|
5225
6082
|
class: "ui-color-picker-alpha-gradient",
|
|
5226
6083
|
style: normalizeStyle({
|
|
@@ -5233,22 +6090,35 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5233
6090
|
}, null, 4)
|
|
5234
6091
|
], 544)) : createCommentVNode("", true),
|
|
5235
6092
|
createElementVNode("div", _hoisted_22$8, [
|
|
5236
|
-
|
|
5237
|
-
|
|
5238
|
-
|
|
5239
|
-
"
|
|
5240
|
-
|
|
5241
|
-
|
|
5242
|
-
|
|
5243
|
-
|
|
5244
|
-
|
|
5245
|
-
|
|
5246
|
-
|
|
5247
|
-
|
|
5248
|
-
|
|
5249
|
-
|
|
6093
|
+
currentColorFormat.value === "hex" ? (openBlock(), createElementBlock("div", _hoisted_23$7, [
|
|
6094
|
+
createElementVNode("div", _hoisted_24$6, [
|
|
6095
|
+
_cache[24] || (_cache[24] = createElementVNode("label", { class: "ui-color-picker-label" }, "Hex", -1)),
|
|
6096
|
+
withDirectives(createElementVNode("input", {
|
|
6097
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => hexInput.value = $event),
|
|
6098
|
+
onInput: handleHexInput,
|
|
6099
|
+
onBlur: validateHexInput,
|
|
6100
|
+
class: "ui-color-picker-input",
|
|
6101
|
+
type: "text",
|
|
6102
|
+
maxlength: "7",
|
|
6103
|
+
placeholder: "#000000"
|
|
6104
|
+
}, null, 544), [
|
|
6105
|
+
[vModelText, hexInput.value]
|
|
6106
|
+
])
|
|
6107
|
+
]),
|
|
5250
6108
|
createElementVNode("div", _hoisted_25$6, [
|
|
5251
|
-
|
|
6109
|
+
createVNode(unref(CompoundUiButton), {
|
|
6110
|
+
color: "secondary",
|
|
6111
|
+
size: "xs",
|
|
6112
|
+
icon: "",
|
|
6113
|
+
squircle: "",
|
|
6114
|
+
"icon-name": "chevrons-up-down",
|
|
6115
|
+
onClick: cycleColorFormat,
|
|
6116
|
+
"aria-label": "Switch color format"
|
|
6117
|
+
})
|
|
6118
|
+
])
|
|
6119
|
+
])) : currentColorFormat.value === "rgb" ? (openBlock(), createElementBlock("div", _hoisted_26$5, [
|
|
6120
|
+
createElementVNode("div", _hoisted_27$5, [
|
|
6121
|
+
_cache[25] || (_cache[25] = createElementVNode("label", { class: "ui-color-picker-label" }, "R", -1)),
|
|
5252
6122
|
withDirectives(createElementVNode("input", {
|
|
5253
6123
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => rgbInputs.value.r = $event),
|
|
5254
6124
|
onInput: handleRgbInput,
|
|
@@ -5265,8 +6135,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5265
6135
|
]
|
|
5266
6136
|
])
|
|
5267
6137
|
]),
|
|
5268
|
-
createElementVNode("div",
|
|
5269
|
-
_cache[
|
|
6138
|
+
createElementVNode("div", _hoisted_28$5, [
|
|
6139
|
+
_cache[26] || (_cache[26] = createElementVNode("label", { class: "ui-color-picker-label" }, "G", -1)),
|
|
5270
6140
|
withDirectives(createElementVNode("input", {
|
|
5271
6141
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => rgbInputs.value.g = $event),
|
|
5272
6142
|
onInput: handleRgbInput,
|
|
@@ -5283,8 +6153,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5283
6153
|
]
|
|
5284
6154
|
])
|
|
5285
6155
|
]),
|
|
5286
|
-
createElementVNode("div",
|
|
5287
|
-
_cache[
|
|
6156
|
+
createElementVNode("div", _hoisted_29$5, [
|
|
6157
|
+
_cache[27] || (_cache[27] = createElementVNode("label", { class: "ui-color-picker-label" }, "B", -1)),
|
|
5288
6158
|
withDirectives(createElementVNode("input", {
|
|
5289
6159
|
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => rgbInputs.value.b = $event),
|
|
5290
6160
|
onInput: handleRgbInput,
|
|
@@ -5301,8 +6171,8 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5301
6171
|
]
|
|
5302
6172
|
])
|
|
5303
6173
|
]),
|
|
5304
|
-
props.showAlpha ? (openBlock(), createElementBlock("div",
|
|
5305
|
-
_cache[
|
|
6174
|
+
props.showAlpha ? (openBlock(), createElementBlock("div", _hoisted_30$5, [
|
|
6175
|
+
_cache[28] || (_cache[28] = createElementVNode("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
5306
6176
|
withDirectives(createElementVNode("input", {
|
|
5307
6177
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => alphaInput.value = $event),
|
|
5308
6178
|
onInput: handleAlphaInput,
|
|
@@ -5318,10 +6188,189 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5318
6188
|
{ number: true }
|
|
5319
6189
|
]
|
|
5320
6190
|
])
|
|
5321
|
-
])) : createCommentVNode("", true)
|
|
5322
|
-
|
|
6191
|
+
])) : createCommentVNode("", true),
|
|
6192
|
+
createElementVNode("div", _hoisted_31$5, [
|
|
6193
|
+
createVNode(unref(CompoundUiButton), {
|
|
6194
|
+
color: "secondary",
|
|
6195
|
+
size: "xs",
|
|
6196
|
+
icon: "",
|
|
6197
|
+
squircle: "",
|
|
6198
|
+
"icon-name": "chevrons-up-down",
|
|
6199
|
+
onClick: cycleColorFormat,
|
|
6200
|
+
"aria-label": "Switch color format"
|
|
6201
|
+
})
|
|
6202
|
+
])
|
|
6203
|
+
])) : currentColorFormat.value === "hsl" ? (openBlock(), createElementBlock("div", _hoisted_32$5, [
|
|
6204
|
+
createElementVNode("div", _hoisted_33$4, [
|
|
6205
|
+
_cache[29] || (_cache[29] = createElementVNode("label", { class: "ui-color-picker-label" }, "H", -1)),
|
|
6206
|
+
withDirectives(createElementVNode("input", {
|
|
6207
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => hslInputs.value.h = $event),
|
|
6208
|
+
onInput: handleHslInput,
|
|
6209
|
+
class: "ui-color-picker-input",
|
|
6210
|
+
type: "number",
|
|
6211
|
+
min: "0",
|
|
6212
|
+
max: "360"
|
|
6213
|
+
}, null, 544), [
|
|
6214
|
+
[
|
|
6215
|
+
vModelText,
|
|
6216
|
+
hslInputs.value.h,
|
|
6217
|
+
void 0,
|
|
6218
|
+
{ number: true }
|
|
6219
|
+
]
|
|
6220
|
+
])
|
|
6221
|
+
]),
|
|
6222
|
+
createElementVNode("div", _hoisted_34$3, [
|
|
6223
|
+
_cache[30] || (_cache[30] = createElementVNode("label", { class: "ui-color-picker-label" }, "S", -1)),
|
|
6224
|
+
withDirectives(createElementVNode("input", {
|
|
6225
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => hslInputs.value.s = $event),
|
|
6226
|
+
onInput: handleHslInput,
|
|
6227
|
+
class: "ui-color-picker-input",
|
|
6228
|
+
type: "number",
|
|
6229
|
+
min: "0",
|
|
6230
|
+
max: "100"
|
|
6231
|
+
}, null, 544), [
|
|
6232
|
+
[
|
|
6233
|
+
vModelText,
|
|
6234
|
+
hslInputs.value.s,
|
|
6235
|
+
void 0,
|
|
6236
|
+
{ number: true }
|
|
6237
|
+
]
|
|
6238
|
+
])
|
|
6239
|
+
]),
|
|
6240
|
+
createElementVNode("div", _hoisted_35$3, [
|
|
6241
|
+
_cache[31] || (_cache[31] = createElementVNode("label", { class: "ui-color-picker-label" }, "L", -1)),
|
|
6242
|
+
withDirectives(createElementVNode("input", {
|
|
6243
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => hslInputs.value.l = $event),
|
|
6244
|
+
onInput: handleHslInput,
|
|
6245
|
+
class: "ui-color-picker-input",
|
|
6246
|
+
type: "number",
|
|
6247
|
+
min: "0",
|
|
6248
|
+
max: "100"
|
|
6249
|
+
}, null, 544), [
|
|
6250
|
+
[
|
|
6251
|
+
vModelText,
|
|
6252
|
+
hslInputs.value.l,
|
|
6253
|
+
void 0,
|
|
6254
|
+
{ number: true }
|
|
6255
|
+
]
|
|
6256
|
+
])
|
|
6257
|
+
]),
|
|
6258
|
+
props.showAlpha ? (openBlock(), createElementBlock("div", _hoisted_36$3, [
|
|
6259
|
+
_cache[32] || (_cache[32] = createElementVNode("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
6260
|
+
withDirectives(createElementVNode("input", {
|
|
6261
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => alphaInput.value = $event),
|
|
6262
|
+
onInput: handleAlphaInput,
|
|
6263
|
+
class: "ui-color-picker-input",
|
|
6264
|
+
type: "number",
|
|
6265
|
+
min: "0",
|
|
6266
|
+
max: "100"
|
|
6267
|
+
}, null, 544), [
|
|
6268
|
+
[
|
|
6269
|
+
vModelText,
|
|
6270
|
+
alphaInput.value,
|
|
6271
|
+
void 0,
|
|
6272
|
+
{ number: true }
|
|
6273
|
+
]
|
|
6274
|
+
])
|
|
6275
|
+
])) : createCommentVNode("", true),
|
|
6276
|
+
createElementVNode("div", _hoisted_37$2, [
|
|
6277
|
+
createVNode(unref(CompoundUiButton), {
|
|
6278
|
+
color: "secondary",
|
|
6279
|
+
size: "xs",
|
|
6280
|
+
icon: "",
|
|
6281
|
+
squircle: "",
|
|
6282
|
+
"icon-name": "chevrons-up-down",
|
|
6283
|
+
onClick: cycleColorFormat,
|
|
6284
|
+
"aria-label": "Switch color format"
|
|
6285
|
+
})
|
|
6286
|
+
])
|
|
6287
|
+
])) : currentColorFormat.value === "oklch" ? (openBlock(), createElementBlock("div", _hoisted_38$1, [
|
|
6288
|
+
createElementVNode("div", _hoisted_39$1, [
|
|
6289
|
+
_cache[33] || (_cache[33] = createElementVNode("label", { class: "ui-color-picker-label" }, "L", -1)),
|
|
6290
|
+
withDirectives(createElementVNode("input", {
|
|
6291
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => oklchInputs.value.l = $event),
|
|
6292
|
+
onInput: handleOklchInput,
|
|
6293
|
+
class: "ui-color-picker-input",
|
|
6294
|
+
type: "number",
|
|
6295
|
+
min: "0",
|
|
6296
|
+
max: "100"
|
|
6297
|
+
}, null, 544), [
|
|
6298
|
+
[
|
|
6299
|
+
vModelText,
|
|
6300
|
+
oklchInputs.value.l,
|
|
6301
|
+
void 0,
|
|
6302
|
+
{ number: true }
|
|
6303
|
+
]
|
|
6304
|
+
])
|
|
6305
|
+
]),
|
|
6306
|
+
createElementVNode("div", _hoisted_40$1, [
|
|
6307
|
+
_cache[34] || (_cache[34] = createElementVNode("label", { class: "ui-color-picker-label" }, "C", -1)),
|
|
6308
|
+
withDirectives(createElementVNode("input", {
|
|
6309
|
+
"onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => oklchInputs.value.c = $event),
|
|
6310
|
+
onInput: handleOklchInput,
|
|
6311
|
+
class: "ui-color-picker-input",
|
|
6312
|
+
type: "number",
|
|
6313
|
+
min: "0",
|
|
6314
|
+
max: "100"
|
|
6315
|
+
}, null, 544), [
|
|
6316
|
+
[
|
|
6317
|
+
vModelText,
|
|
6318
|
+
oklchInputs.value.c,
|
|
6319
|
+
void 0,
|
|
6320
|
+
{ number: true }
|
|
6321
|
+
]
|
|
6322
|
+
])
|
|
6323
|
+
]),
|
|
6324
|
+
createElementVNode("div", _hoisted_41$1, [
|
|
6325
|
+
_cache[35] || (_cache[35] = createElementVNode("label", { class: "ui-color-picker-label" }, "H", -1)),
|
|
6326
|
+
withDirectives(createElementVNode("input", {
|
|
6327
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => oklchInputs.value.h = $event),
|
|
6328
|
+
onInput: handleOklchInput,
|
|
6329
|
+
class: "ui-color-picker-input",
|
|
6330
|
+
type: "number",
|
|
6331
|
+
min: "0",
|
|
6332
|
+
max: "360"
|
|
6333
|
+
}, null, 544), [
|
|
6334
|
+
[
|
|
6335
|
+
vModelText,
|
|
6336
|
+
oklchInputs.value.h,
|
|
6337
|
+
void 0,
|
|
6338
|
+
{ number: true }
|
|
6339
|
+
]
|
|
6340
|
+
])
|
|
6341
|
+
]),
|
|
6342
|
+
props.showAlpha ? (openBlock(), createElementBlock("div", _hoisted_42$1, [
|
|
6343
|
+
_cache[36] || (_cache[36] = createElementVNode("label", { class: "ui-color-picker-label" }, "A", -1)),
|
|
6344
|
+
withDirectives(createElementVNode("input", {
|
|
6345
|
+
"onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => alphaInput.value = $event),
|
|
6346
|
+
onInput: handleAlphaInput,
|
|
6347
|
+
class: "ui-color-picker-input",
|
|
6348
|
+
type: "number",
|
|
6349
|
+
min: "0",
|
|
6350
|
+
max: "100"
|
|
6351
|
+
}, null, 544), [
|
|
6352
|
+
[
|
|
6353
|
+
vModelText,
|
|
6354
|
+
alphaInput.value,
|
|
6355
|
+
void 0,
|
|
6356
|
+
{ number: true }
|
|
6357
|
+
]
|
|
6358
|
+
])
|
|
6359
|
+
])) : createCommentVNode("", true),
|
|
6360
|
+
createElementVNode("div", _hoisted_43$1, [
|
|
6361
|
+
createVNode(unref(CompoundUiButton), {
|
|
6362
|
+
color: "secondary",
|
|
6363
|
+
size: "xs",
|
|
6364
|
+
icon: "",
|
|
6365
|
+
squircle: "",
|
|
6366
|
+
"icon-name": "chevrons-up-down",
|
|
6367
|
+
onClick: cycleColorFormat,
|
|
6368
|
+
"aria-label": "Switch color format"
|
|
6369
|
+
})
|
|
6370
|
+
])
|
|
6371
|
+
])) : createCommentVNode("", true)
|
|
5323
6372
|
]),
|
|
5324
|
-
|
|
6373
|
+
props.showSwatches ? (openBlock(), createElementBlock("div", _hoisted_44$1, [
|
|
5325
6374
|
additionalSwatches.value.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
5326
6375
|
createVNode(unref(UiDivider), {
|
|
5327
6376
|
text: _ctx.additionalSwatchesLabel || "Custom Colors",
|
|
@@ -5329,7 +6378,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5329
6378
|
color: "#d1d5db",
|
|
5330
6379
|
margin: 12
|
|
5331
6380
|
}, null, 8, ["text"]),
|
|
5332
|
-
createElementVNode("div",
|
|
6381
|
+
createElementVNode("div", _hoisted_45$1, [
|
|
5333
6382
|
(openBlock(true), createElementBlock(Fragment, null, renderList(additionalSwatches.value, (swatch) => {
|
|
5334
6383
|
return openBlock(), createBlock(unref(UiTooltip), {
|
|
5335
6384
|
key: swatch,
|
|
@@ -5342,7 +6391,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5342
6391
|
class: normalizeClass(["ui-color-picker-swatch", { "ui-color-picker-swatch--active": isSwatchActive(swatch) }]),
|
|
5343
6392
|
style: normalizeStyle(getSwatchStyle(swatch)),
|
|
5344
6393
|
onClick: ($event) => setColorFromSwatch(swatch)
|
|
5345
|
-
}, null, 14,
|
|
6394
|
+
}, null, 14, _hoisted_46$1)
|
|
5346
6395
|
]),
|
|
5347
6396
|
_: 2
|
|
5348
6397
|
}, 1032, ["content"]);
|
|
@@ -5353,7 +6402,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5353
6402
|
color: "#d1d5db",
|
|
5354
6403
|
margin: 8
|
|
5355
6404
|
}),
|
|
5356
|
-
createElementVNode("div",
|
|
6405
|
+
createElementVNode("div", _hoisted_47$1, [
|
|
5357
6406
|
(openBlock(true), createElementBlock(Fragment, null, renderList(mainSwatches.value, (swatch) => {
|
|
5358
6407
|
return openBlock(), createBlock(unref(UiTooltip), {
|
|
5359
6408
|
key: swatch,
|
|
@@ -5366,7 +6415,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5366
6415
|
class: normalizeClass(["ui-color-picker-swatch", { "ui-color-picker-swatch--active": isSwatchActive(swatch) }]),
|
|
5367
6416
|
style: normalizeStyle(getSwatchStyle(swatch)),
|
|
5368
6417
|
onClick: ($event) => setColorFromSwatch(swatch)
|
|
5369
|
-
}, null, 14,
|
|
6418
|
+
}, null, 14, _hoisted_48$1)
|
|
5370
6419
|
]),
|
|
5371
6420
|
_: 2
|
|
5372
6421
|
}, 1032, ["content"]);
|
|
@@ -5375,14 +6424,14 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5375
6424
|
createElementVNode("div", {
|
|
5376
6425
|
class: normalizeClass(["ui-color-picker-shades-container", { "ui-color-picker-shades-container--expanded": shouldShowShades.value }])
|
|
5377
6426
|
}, [
|
|
5378
|
-
createElementVNode("div",
|
|
6427
|
+
createElementVNode("div", _hoisted_49$1, [
|
|
5379
6428
|
createVNode(unref(UiDivider), {
|
|
5380
6429
|
text: `${selectedSwatchLabel.value} Shades`,
|
|
5381
6430
|
"text-position": "left",
|
|
5382
6431
|
color: "#d1d5db",
|
|
5383
6432
|
margin: 8
|
|
5384
6433
|
}, null, 8, ["text"]),
|
|
5385
|
-
createElementVNode("div",
|
|
6434
|
+
createElementVNode("div", _hoisted_50$1, [
|
|
5386
6435
|
(openBlock(true), createElementBlock(Fragment, null, renderList(shadeSwatches.value, (shade) => {
|
|
5387
6436
|
return openBlock(), createBlock(unref(UiTooltip), {
|
|
5388
6437
|
key: shade,
|
|
@@ -5395,7 +6444,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5395
6444
|
class: normalizeClass(["ui-color-picker-swatch ui-color-picker-swatch--shade", { "ui-color-picker-swatch--active": isSwatchActive(shade) }]),
|
|
5396
6445
|
style: normalizeStyle(getSwatchStyle(shade)),
|
|
5397
6446
|
onClick: ($event) => setColorFromSwatch(shade)
|
|
5398
|
-
}, null, 14,
|
|
6447
|
+
}, null, 14, _hoisted_51$1)
|
|
5399
6448
|
]),
|
|
5400
6449
|
_: 2
|
|
5401
6450
|
}, 1032, ["content"]);
|
|
@@ -5403,12 +6452,12 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
|
|
|
5403
6452
|
])
|
|
5404
6453
|
])
|
|
5405
6454
|
], 2)
|
|
5406
|
-
])
|
|
6455
|
+
])) : createCommentVNode("", true)
|
|
5407
6456
|
]);
|
|
5408
6457
|
};
|
|
5409
6458
|
}
|
|
5410
6459
|
});
|
|
5411
|
-
const UiColorPickerPicker = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-
|
|
6460
|
+
const UiColorPickerPicker = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-3634b582"]]);
|
|
5412
6461
|
const _hoisted_1$u = { class: "ui-color-picker-button-container" };
|
|
5413
6462
|
const _hoisted_2$o = { class: "ui-color-picker-button-preview" };
|
|
5414
6463
|
const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
@@ -5417,9 +6466,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
5417
6466
|
modelValue: {},
|
|
5418
6467
|
disabled: { type: Boolean, default: false },
|
|
5419
6468
|
showAlpha: { type: Boolean, default: false },
|
|
5420
|
-
|
|
6469
|
+
defaultColorFormat: { default: "hex" },
|
|
6470
|
+
swatches: {},
|
|
6471
|
+
additionalSwatches: {},
|
|
6472
|
+
additionalSwatchesLabel: {},
|
|
6473
|
+
showSwatches: { type: Boolean, default: true },
|
|
5421
6474
|
compareColor: {},
|
|
5422
|
-
|
|
6475
|
+
showContrast: { type: Boolean, default: false }
|
|
5423
6476
|
},
|
|
5424
6477
|
emits: ["update:modelValue"],
|
|
5425
6478
|
setup(__props, { emit: __emit }) {
|
|
@@ -5457,11 +6510,13 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
5457
6510
|
const updatePopoverPosition = () => {
|
|
5458
6511
|
if (!buttonRef.value?.$el || !popoverRef.value) return;
|
|
5459
6512
|
const button = buttonRef.value.$el;
|
|
6513
|
+
const popover = popoverRef.value;
|
|
5460
6514
|
const buttonRect = button.getBoundingClientRect();
|
|
5461
6515
|
const viewportWidth = window.innerWidth;
|
|
5462
6516
|
const viewportHeight = window.innerHeight;
|
|
5463
|
-
const
|
|
5464
|
-
const
|
|
6517
|
+
const popoverRect = popover.getBoundingClientRect();
|
|
6518
|
+
const popoverWidth = popoverRect.width || 312;
|
|
6519
|
+
const popoverHeight = popoverRect.height || 450;
|
|
5465
6520
|
let top = buttonRect.bottom + 8;
|
|
5466
6521
|
let left = buttonRect.left;
|
|
5467
6522
|
if (left + popoverWidth > viewportWidth - 16) {
|
|
@@ -5534,7 +6589,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
5534
6589
|
ref_key: "buttonRef",
|
|
5535
6590
|
ref: buttonRef,
|
|
5536
6591
|
disabled: props.disabled,
|
|
5537
|
-
|
|
6592
|
+
color: "secondary",
|
|
5538
6593
|
"trailing-icon": "chevron-down",
|
|
5539
6594
|
onClick: togglePopover
|
|
5540
6595
|
}, {
|
|
@@ -5559,25 +6614,19 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
|
|
|
5559
6614
|
class: "ui-color-picker-popover",
|
|
5560
6615
|
style: normalizeStyle(popoverStyle.value)
|
|
5561
6616
|
}, [
|
|
5562
|
-
createVNode(UiColorPickerPicker, {
|
|
6617
|
+
createVNode(UiColorPickerPicker, mergeProps({
|
|
5563
6618
|
modelValue: internalValue.value,
|
|
5564
|
-
"onUpdate:modelValue": [
|
|
5565
|
-
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
"show-alpha": props.showAlpha,
|
|
5569
|
-
"show-contrast": props.showContrast,
|
|
5570
|
-
"compare-color": props.compareColor,
|
|
5571
|
-
disabled: props.disabled,
|
|
5572
|
-
swatches: props.swatches
|
|
5573
|
-
}, null, 8, ["modelValue", "show-alpha", "show-contrast", "compare-color", "disabled", "swatches"])
|
|
6619
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event)
|
|
6620
|
+
}, props, {
|
|
6621
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.$emit("update:modelValue", $event))
|
|
6622
|
+
}), null, 16, ["modelValue"])
|
|
5574
6623
|
], 4)) : createCommentVNode("", true)
|
|
5575
6624
|
]))
|
|
5576
6625
|
]);
|
|
5577
6626
|
};
|
|
5578
6627
|
}
|
|
5579
6628
|
});
|
|
5580
|
-
const UiColorPickerButton = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-
|
|
6629
|
+
const UiColorPickerButton = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-5d8fef82"]]);
|
|
5581
6630
|
const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
5582
6631
|
__name: "UiColorPicker",
|
|
5583
6632
|
props: {
|
|
@@ -5587,7 +6636,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
5587
6636
|
swatches: {},
|
|
5588
6637
|
variant: { default: "default" },
|
|
5589
6638
|
compareColor: {},
|
|
5590
|
-
showContrast: { type: Boolean, default: false }
|
|
6639
|
+
showContrast: { type: Boolean, default: false },
|
|
6640
|
+
defaultColorFormat: { default: "hex" },
|
|
6641
|
+
additionalSwatches: {},
|
|
6642
|
+
additionalSwatchesLabel: {},
|
|
6643
|
+
showSwatches: { type: Boolean, default: true },
|
|
6644
|
+
contrastLabel: {}
|
|
5591
6645
|
},
|
|
5592
6646
|
emits: ["update:modelValue", "change"],
|
|
5593
6647
|
setup(__props, { emit: __emit }) {
|
|
@@ -5615,25 +6669,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
|
|
|
5615
6669
|
}
|
|
5616
6670
|
});
|
|
5617
6671
|
return (_ctx, _cache) => {
|
|
5618
|
-
return props.variant === "button" ? (openBlock(), createBlock(UiColorPickerButton, {
|
|
6672
|
+
return props.variant === "button" ? (openBlock(), createBlock(UiColorPickerButton, mergeProps({
|
|
5619
6673
|
key: 0,
|
|
5620
6674
|
modelValue: internalValue.value,
|
|
5621
|
-
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event)
|
|
5622
|
-
|
|
5623
|
-
"show-alpha": props.showAlpha,
|
|
5624
|
-
"show-contrast": props.showContrast,
|
|
5625
|
-
"compare-color": props.compareColor,
|
|
5626
|
-
swatches: props.swatches
|
|
5627
|
-
}, null, 8, ["modelValue", "disabled", "show-alpha", "show-contrast", "compare-color", "swatches"])) : (openBlock(), createBlock(UiColorPickerPicker, {
|
|
6675
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => internalValue.value = $event)
|
|
6676
|
+
}, props), null, 16, ["modelValue"])) : (openBlock(), createBlock(UiColorPickerPicker, mergeProps({
|
|
5628
6677
|
key: 1,
|
|
5629
6678
|
modelValue: internalValue.value,
|
|
5630
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => internalValue.value = $event)
|
|
5631
|
-
|
|
5632
|
-
"show-alpha": props.showAlpha,
|
|
5633
|
-
"show-contrast": props.showContrast,
|
|
5634
|
-
"compare-color": props.compareColor,
|
|
5635
|
-
swatches: props.swatches
|
|
5636
|
-
}, null, 8, ["modelValue", "disabled", "show-alpha", "show-contrast", "compare-color", "swatches"]));
|
|
6679
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => internalValue.value = $event)
|
|
6680
|
+
}, props), null, 16, ["modelValue"]));
|
|
5637
6681
|
};
|
|
5638
6682
|
}
|
|
5639
6683
|
});
|
|
@@ -6734,19 +7778,19 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
6734
7778
|
createElementVNode("div", _hoisted_2$l, [
|
|
6735
7779
|
_ctx.variant === "button" ? (openBlock(), createBlock(StrandsUiButton, {
|
|
6736
7780
|
key: 0,
|
|
6737
|
-
icon:
|
|
6738
|
-
squircle:
|
|
6739
|
-
|
|
7781
|
+
icon: true,
|
|
7782
|
+
squircle: true,
|
|
7783
|
+
"icon-name": currentIcon.value,
|
|
6740
7784
|
variant: "ghost",
|
|
6741
7785
|
size: _ctx.size,
|
|
6742
7786
|
disabled: isDisabled.value,
|
|
6743
7787
|
onClick: _cache[0] || (_cache[0] = ($event) => isDisabled.value ? null : toggleTheme),
|
|
6744
7788
|
title: isDisabled.value ? "Theme is locked by app settings" : `Switch to ${nextThemeLabel.value.toLowerCase()} theme`,
|
|
6745
7789
|
class: normalizeClass(["ui-theme-toggle-button", { "ui-theme-toggle--disabled": isDisabled.value }])
|
|
6746
|
-
}, null, 8, ["
|
|
7790
|
+
}, null, 8, ["icon-name", "size", "disabled", "title", "class"])) : _ctx.variant === "dropdown" ? (openBlock(), createElementBlock("div", _hoisted_3$k, [
|
|
6747
7791
|
createVNode(StrandsUiButton, {
|
|
6748
|
-
squircle:
|
|
6749
|
-
|
|
7792
|
+
squircle: true,
|
|
7793
|
+
"leading-icon": currentIcon.value,
|
|
6750
7794
|
"trailing-icon": showDropdown.value ? "chevron-up" : "chevron-down",
|
|
6751
7795
|
variant: "ghost",
|
|
6752
7796
|
size: _ctx.size,
|
|
@@ -6759,7 +7803,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
6759
7803
|
createTextVNode(toDisplayString(unref(themeLabel)) + toDisplayString(isDisabled.value ? " (Locked)" : ""), 1)
|
|
6760
7804
|
]),
|
|
6761
7805
|
_: 1
|
|
6762
|
-
}, 8, ["
|
|
7806
|
+
}, 8, ["leading-icon", "trailing-icon", "size", "disabled", "class", "title"]),
|
|
6763
7807
|
showDropdown.value ? (openBlock(), createElementBlock("div", {
|
|
6764
7808
|
key: 0,
|
|
6765
7809
|
class: "ui-theme-toggle-menu",
|
|
@@ -6789,8 +7833,9 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
6789
7833
|
return openBlock(), createBlock(StrandsUiButton, {
|
|
6790
7834
|
key: option.value,
|
|
6791
7835
|
variant: unref(currentTheme2) === option.value ? "primary" : "ghost",
|
|
6792
|
-
icon:
|
|
6793
|
-
squircle:
|
|
7836
|
+
icon: true,
|
|
7837
|
+
squircle: true,
|
|
7838
|
+
"icon-name": option.icon,
|
|
6794
7839
|
size: _ctx.size,
|
|
6795
7840
|
class: normalizeClass([
|
|
6796
7841
|
"ui-theme-toggle-segment",
|
|
@@ -6800,12 +7845,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
6800
7845
|
"aria-label": `${option.label} theme`,
|
|
6801
7846
|
onClick: ($event) => unref(setTheme)(option.value),
|
|
6802
7847
|
title: `Switch to ${option.label.toLowerCase()} theme`
|
|
6803
|
-
},
|
|
6804
|
-
default: withCtx(() => [
|
|
6805
|
-
(openBlock(), createBlock(resolveDynamicComponent(getIconComponent(option.icon))))
|
|
6806
|
-
]),
|
|
6807
|
-
_: 2
|
|
6808
|
-
}, 1032, ["variant", "size", "class", "aria-pressed", "aria-label", "onClick", "title"]);
|
|
7848
|
+
}, null, 8, ["variant", "icon-name", "size", "class", "aria-pressed", "aria-label", "onClick", "title"]);
|
|
6809
7849
|
}), 128))
|
|
6810
7850
|
])) : createCommentVNode("", true)
|
|
6811
7851
|
])
|
|
@@ -6813,7 +7853,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
|
|
|
6813
7853
|
};
|
|
6814
7854
|
}
|
|
6815
7855
|
});
|
|
6816
|
-
const UiThemeToggle = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-
|
|
7856
|
+
const UiThemeToggle = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-8758f364"]]);
|
|
6817
7857
|
const slotHasContent = (slotName, slots) => {
|
|
6818
7858
|
const slot = slots[slotName];
|
|
6819
7859
|
if (!slot) return false;
|
|
@@ -7534,7 +8574,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7534
8574
|
])]),
|
|
7535
8575
|
footer: withCtx(() => [
|
|
7536
8576
|
createElementVNode("div", _hoisted_36$2, [
|
|
7537
|
-
createVNode(unref(
|
|
8577
|
+
createVNode(unref(CompoundUiButton), {
|
|
7538
8578
|
variant: "secondary",
|
|
7539
8579
|
onClick: closeModal,
|
|
7540
8580
|
disabled: loading2.value
|
|
@@ -7544,7 +8584,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7544
8584
|
])]),
|
|
7545
8585
|
_: 1
|
|
7546
8586
|
}, 8, ["disabled"]),
|
|
7547
|
-
selectedMethod.value && selectedMethod.value.device_type !== "hardware" && selectedMethod.value.device_type !== "passkey" && (selectedMethod.value.device_type !== "email" || emailCodeSent.value) || (selectedMethod.value?.device_type === "hardware" || selectedMethod.value?.device_type === "passkey") && showBackupCodeInput.value ? (openBlock(), createBlock(unref(
|
|
8587
|
+
selectedMethod.value && selectedMethod.value.device_type !== "hardware" && selectedMethod.value.device_type !== "passkey" && (selectedMethod.value.device_type !== "email" || emailCodeSent.value) || (selectedMethod.value?.device_type === "hardware" || selectedMethod.value?.device_type === "passkey") && showBackupCodeInput.value ? (openBlock(), createBlock(unref(CompoundUiButton), {
|
|
7548
8588
|
key: 0,
|
|
7549
8589
|
variant: "primary",
|
|
7550
8590
|
onClick: _cache[5] || (_cache[5] = ($event) => showBackupCodeInput.value ? verifyBackupCode() : verify()),
|
|
@@ -7604,7 +8644,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7604
8644
|
])) : createCommentVNode("", true),
|
|
7605
8645
|
selectedMethod.value?.device_type === "email" && !emailCodeSent.value ? (openBlock(), createElementBlock("div", _hoisted_17$a, [
|
|
7606
8646
|
_cache[10] || (_cache[10] = createElementVNode("p", { class: "mfa-email-request-text" }, "Click below to receive your verification code", -1)),
|
|
7607
|
-
createVNode(unref(
|
|
8647
|
+
createVNode(unref(CompoundUiButton), {
|
|
7608
8648
|
variant: "primary",
|
|
7609
8649
|
onClick: sendEmailCode,
|
|
7610
8650
|
disabled: loading2.value,
|
|
@@ -7631,7 +8671,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7631
8671
|
])
|
|
7632
8672
|
])
|
|
7633
8673
|
]),
|
|
7634
|
-
createVNode(unref(
|
|
8674
|
+
createVNode(unref(CompoundUiButton), {
|
|
7635
8675
|
variant: "primary",
|
|
7636
8676
|
onClick: authenticateHardwareKey,
|
|
7637
8677
|
disabled: loading2.value,
|
|
@@ -7643,7 +8683,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7643
8683
|
_: 1
|
|
7644
8684
|
}, 8, ["disabled", "loading"]),
|
|
7645
8685
|
createElementVNode("div", _hoisted_25$4, [
|
|
7646
|
-
createVNode(unref(
|
|
8686
|
+
createVNode(unref(CompoundUiButton), {
|
|
7647
8687
|
variant: "ghost",
|
|
7648
8688
|
size: "sm",
|
|
7649
8689
|
onClick: _cache[0] || (_cache[0] = ($event) => showBackupCodeInput.value = !showBackupCodeInput.value),
|
|
@@ -7744,7 +8784,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7744
8784
|
createElementVNode("span", _hoisted_31$4, '"' + toDisplayString(selectedMethod.value.device_name) + '"', 1)
|
|
7745
8785
|
])) : createCommentVNode("", true),
|
|
7746
8786
|
selectedMethod.value.device_type === "email" ? (openBlock(), createElementBlock("div", _hoisted_32$4, [
|
|
7747
|
-
createVNode(unref(
|
|
8787
|
+
createVNode(unref(CompoundUiButton), {
|
|
7748
8788
|
variant: "ghost",
|
|
7749
8789
|
size: "sm",
|
|
7750
8790
|
onClick: sendEmailCode,
|
|
@@ -7758,7 +8798,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
|
|
|
7758
8798
|
}, 8, ["disabled"])
|
|
7759
8799
|
])) : createCommentVNode("", true),
|
|
7760
8800
|
createElementVNode("div", _hoisted_33$3, [
|
|
7761
|
-
createVNode(unref(
|
|
8801
|
+
createVNode(unref(CompoundUiButton), {
|
|
7762
8802
|
variant: "ghost",
|
|
7763
8803
|
size: "sm",
|
|
7764
8804
|
onClick: _cache[3] || (_cache[3] = ($event) => showBackupCodeInput.value = !showBackupCodeInput.value),
|
|
@@ -8453,7 +9493,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
8453
9493
|
default: withCtx(() => [
|
|
8454
9494
|
!isPasswordReset.value && displayProviders.value?.length ? (openBlock(), createElementBlock("div", _hoisted_9$c, [
|
|
8455
9495
|
(openBlock(true), createElementBlock(Fragment, null, renderList(displayProviders.value, (provider) => {
|
|
8456
|
-
return openBlock(), createBlock(unref(
|
|
9496
|
+
return openBlock(), createBlock(unref(CompoundUiButton), {
|
|
8457
9497
|
key: provider.id,
|
|
8458
9498
|
variant: "outline",
|
|
8459
9499
|
"full-width": "",
|
|
@@ -8574,7 +9614,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
|
|
|
8574
9614
|
_: 1
|
|
8575
9615
|
})
|
|
8576
9616
|
]),
|
|
8577
|
-
createVNode(unref(
|
|
9617
|
+
createVNode(unref(CompoundUiButton), {
|
|
8578
9618
|
type: "submit",
|
|
8579
9619
|
variant: "primary",
|
|
8580
9620
|
"full-width": "",
|
|
@@ -8869,7 +9909,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
8869
9909
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(enabledProviders), (provider, __, ___, _cached) => {
|
|
8870
9910
|
const _memo = [provider.id, provider.name, provider.displayName, unref(oauthLoading)];
|
|
8871
9911
|
if (_cached && _cached.key === provider.id && isMemoSame(_cached, _memo)) return _cached;
|
|
8872
|
-
const _item = (openBlock(), createBlock(unref(
|
|
9912
|
+
const _item = (openBlock(), createBlock(unref(CompoundUiButton), {
|
|
8873
9913
|
key: provider.id,
|
|
8874
9914
|
variant: "outline",
|
|
8875
9915
|
"full-width": "",
|
|
@@ -8957,7 +9997,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
|
|
|
8957
9997
|
])
|
|
8958
9998
|
])
|
|
8959
9999
|
]),
|
|
8960
|
-
createVNode(unref(
|
|
10000
|
+
createVNode(unref(CompoundUiButton), {
|
|
8961
10001
|
type: "submit",
|
|
8962
10002
|
variant: "primary",
|
|
8963
10003
|
"full-width": "",
|
|
@@ -9217,7 +10257,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
9217
10257
|
createElementVNode("strong", null, toDisplayString(successEmail.value), 1)
|
|
9218
10258
|
])) : createCommentVNode("", true),
|
|
9219
10259
|
_cache[5] || (_cache[5] = createElementVNode("p", { class: "signup-success-instructions" }, " Click the link in your email to complete your account setup. The link will expire in 24 hours. ", -1)),
|
|
9220
|
-
createVNode(unref(
|
|
10260
|
+
createVNode(unref(CompoundUiButton), {
|
|
9221
10261
|
variant: "outline",
|
|
9222
10262
|
"full-width": "",
|
|
9223
10263
|
onClick: resetToForm,
|
|
@@ -9246,7 +10286,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
9246
10286
|
], -1)),
|
|
9247
10287
|
unref(enabledProviders)?.length ? (openBlock(), createElementBlock("div", _hoisted_13$a, [
|
|
9248
10288
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(enabledProviders), (provider) => {
|
|
9249
|
-
return openBlock(), createBlock(unref(
|
|
10289
|
+
return openBlock(), createBlock(unref(CompoundUiButton), {
|
|
9250
10290
|
key: provider.id,
|
|
9251
10291
|
variant: "outline",
|
|
9252
10292
|
"full-width": "",
|
|
@@ -9324,7 +10364,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
|
|
|
9324
10364
|
])
|
|
9325
10365
|
])
|
|
9326
10366
|
]),
|
|
9327
|
-
createVNode(unref(
|
|
10367
|
+
createVNode(unref(CompoundUiButton), {
|
|
9328
10368
|
type: "submit",
|
|
9329
10369
|
variant: "primary",
|
|
9330
10370
|
"full-width": "",
|
|
@@ -9566,7 +10606,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
9566
10606
|
_cache[8] || (_cache[8] = createElementVNode("h1", { class: "complete-signup-success-title" }, "Welcome to Strands!", -1)),
|
|
9567
10607
|
_cache[9] || (_cache[9] = createElementVNode("p", { class: "complete-signup-success-message" }, " Your account has been created successfully. ", -1)),
|
|
9568
10608
|
_cache[10] || (_cache[10] = createElementVNode("p", { class: "complete-signup-success-instructions" }, " You are now signed in and can access your dashboard. ", -1)),
|
|
9569
|
-
createVNode(unref(
|
|
10609
|
+
createVNode(unref(CompoundUiButton), {
|
|
9570
10610
|
variant: "primary",
|
|
9571
10611
|
"full-width": "",
|
|
9572
10612
|
onClick: redirectToReferrer
|
|
@@ -9589,7 +10629,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
9589
10629
|
_cache[13] || (_cache[13] = createElementVNode("h1", { class: "complete-signup-error-title" }, "Invalid Link", -1)),
|
|
9590
10630
|
_cache[14] || (_cache[14] = createElementVNode("p", { class: "complete-signup-error-message" }, " This registration link is invalid or has expired. ", -1)),
|
|
9591
10631
|
_cache[15] || (_cache[15] = createElementVNode("p", { class: "complete-signup-error-instructions" }, " Please request a new magic link to complete your registration. ", -1)),
|
|
9592
|
-
createVNode(unref(
|
|
10632
|
+
createVNode(unref(CompoundUiButton), {
|
|
9593
10633
|
variant: "primary",
|
|
9594
10634
|
"full-width": "",
|
|
9595
10635
|
onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("request-new-link"))
|
|
@@ -9660,7 +10700,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
9660
10700
|
}, null, 8, ["modelValue", "error"]),
|
|
9661
10701
|
_cache[19] || (_cache[19] = createElementVNode("div", { class: "complete-signup-password-hint" }, " Password must be at least 8 characters long ", -1))
|
|
9662
10702
|
]),
|
|
9663
|
-
createVNode(unref(
|
|
10703
|
+
createVNode(unref(CompoundUiButton), {
|
|
9664
10704
|
type: "submit",
|
|
9665
10705
|
variant: "primary",
|
|
9666
10706
|
"full-width": "",
|
|
@@ -9714,7 +10754,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
|
|
|
9714
10754
|
_cache[25] || (_cache[25] = createElementVNode("h1", { class: "complete-signup-warning-title" }, "Missing Token", -1)),
|
|
9715
10755
|
_cache[26] || (_cache[26] = createElementVNode("p", { class: "complete-signup-warning-message" }, " No registration token was provided. ", -1)),
|
|
9716
10756
|
_cache[27] || (_cache[27] = createElementVNode("p", { class: "complete-signup-warning-instructions" }, " This page requires a valid registration token from the magic link in your email. ", -1)),
|
|
9717
|
-
createVNode(unref(
|
|
10757
|
+
createVNode(unref(CompoundUiButton), {
|
|
9718
10758
|
variant: "primary",
|
|
9719
10759
|
"full-width": "",
|
|
9720
10760
|
onClick: _cache[5] || (_cache[5] = ($event) => _ctx.$emit("start-registration"))
|
|
@@ -9892,7 +10932,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9892
10932
|
disabled: unref(loading2)
|
|
9893
10933
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
9894
10934
|
createElementVNode("div", _hoisted_3$c, [
|
|
9895
|
-
createVNode(unref(
|
|
10935
|
+
createVNode(unref(CompoundUiButton), {
|
|
9896
10936
|
variant: "secondary",
|
|
9897
10937
|
onClick: closeModal,
|
|
9898
10938
|
disabled: unref(loading2)
|
|
@@ -9902,7 +10942,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9902
10942
|
])]),
|
|
9903
10943
|
_: 1
|
|
9904
10944
|
}, 8, ["disabled"]),
|
|
9905
|
-
createVNode(unref(
|
|
10945
|
+
createVNode(unref(CompoundUiButton), {
|
|
9906
10946
|
variant: "primary",
|
|
9907
10947
|
onClick: startSetup,
|
|
9908
10948
|
disabled: !deviceName.value.trim() || unref(loading2),
|
|
@@ -9957,7 +10997,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9957
10997
|
], -1)
|
|
9958
10998
|
])])) : createCommentVNode("", true),
|
|
9959
10999
|
createElementVNode("div", _hoisted_12$8, [
|
|
9960
|
-
createVNode(unref(
|
|
11000
|
+
createVNode(unref(CompoundUiButton), {
|
|
9961
11001
|
variant: "secondary",
|
|
9962
11002
|
onClick: _cache[1] || (_cache[1] = ($event) => step.value = 1),
|
|
9963
11003
|
disabled: unref(loading2)
|
|
@@ -9967,7 +11007,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9967
11007
|
])]),
|
|
9968
11008
|
_: 1
|
|
9969
11009
|
}, 8, ["disabled"]),
|
|
9970
|
-
createVNode(unref(
|
|
11010
|
+
createVNode(unref(CompoundUiButton), {
|
|
9971
11011
|
variant: "primary",
|
|
9972
11012
|
onClick: _cache[2] || (_cache[2] = ($event) => step.value = 3),
|
|
9973
11013
|
disabled: unref(loading2)
|
|
@@ -9995,7 +11035,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
9995
11035
|
onInput: onVerificationCodeInput
|
|
9996
11036
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
9997
11037
|
createElementVNode("div", _hoisted_14$8, [
|
|
9998
|
-
createVNode(unref(
|
|
11038
|
+
createVNode(unref(CompoundUiButton), {
|
|
9999
11039
|
variant: "secondary",
|
|
10000
11040
|
onClick: _cache[4] || (_cache[4] = ($event) => step.value = 2),
|
|
10001
11041
|
disabled: unref(loading2)
|
|
@@ -10005,7 +11045,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
10005
11045
|
])]),
|
|
10006
11046
|
_: 1
|
|
10007
11047
|
}, 8, ["disabled"]),
|
|
10008
|
-
createVNode(unref(
|
|
11048
|
+
createVNode(unref(CompoundUiButton), {
|
|
10009
11049
|
variant: "primary",
|
|
10010
11050
|
onClick: verifySetup,
|
|
10011
11051
|
disabled: verificationCode.value.length !== 6 || unref(loading2),
|
|
@@ -10067,7 +11107,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
10067
11107
|
])
|
|
10068
11108
|
]),
|
|
10069
11109
|
createElementVNode("div", _hoisted_19$4, [
|
|
10070
|
-
createVNode(unref(
|
|
11110
|
+
createVNode(unref(CompoundUiButton), {
|
|
10071
11111
|
variant: "secondary",
|
|
10072
11112
|
size: "sm",
|
|
10073
11113
|
onClick: copyBackupCodes
|
|
@@ -10080,7 +11120,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
|
|
|
10080
11120
|
])
|
|
10081
11121
|
]),
|
|
10082
11122
|
createElementVNode("div", _hoisted_20$4, [
|
|
10083
|
-
createVNode(unref(
|
|
11123
|
+
createVNode(unref(CompoundUiButton), {
|
|
10084
11124
|
variant: "primary",
|
|
10085
11125
|
onClick: finish
|
|
10086
11126
|
}, {
|
|
@@ -10265,7 +11305,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10265
11305
|
_: 1
|
|
10266
11306
|
}),
|
|
10267
11307
|
createElementVNode("div", _hoisted_3$b, [
|
|
10268
|
-
createVNode(unref(
|
|
11308
|
+
createVNode(unref(CompoundUiButton), {
|
|
10269
11309
|
variant: "secondary",
|
|
10270
11310
|
onClick: closeModal,
|
|
10271
11311
|
disabled: unref(loading2)
|
|
@@ -10275,7 +11315,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10275
11315
|
])]),
|
|
10276
11316
|
_: 1
|
|
10277
11317
|
}, 8, ["disabled"]),
|
|
10278
|
-
createVNode(unref(
|
|
11318
|
+
createVNode(unref(CompoundUiButton), {
|
|
10279
11319
|
variant: "primary",
|
|
10280
11320
|
onClick: startSetup,
|
|
10281
11321
|
disabled: !deviceName.value.trim() || unref(loading2),
|
|
@@ -10323,7 +11363,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10323
11363
|
onInput: onVerificationCodeInput
|
|
10324
11364
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
10325
11365
|
createElementVNode("div", _hoisted_5$9, [
|
|
10326
|
-
createVNode(unref(
|
|
11366
|
+
createVNode(unref(CompoundUiButton), {
|
|
10327
11367
|
variant: "secondary",
|
|
10328
11368
|
size: "sm",
|
|
10329
11369
|
onClick: resendCode,
|
|
@@ -10336,7 +11376,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10336
11376
|
}, 8, ["disabled"])
|
|
10337
11377
|
]),
|
|
10338
11378
|
createElementVNode("div", _hoisted_6$8, [
|
|
10339
|
-
createVNode(unref(
|
|
11379
|
+
createVNode(unref(CompoundUiButton), {
|
|
10340
11380
|
variant: "secondary",
|
|
10341
11381
|
onClick: _cache[2] || (_cache[2] = ($event) => step.value = 1),
|
|
10342
11382
|
disabled: unref(loading2)
|
|
@@ -10346,7 +11386,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10346
11386
|
])]),
|
|
10347
11387
|
_: 1
|
|
10348
11388
|
}, 8, ["disabled"]),
|
|
10349
|
-
createVNode(unref(
|
|
11389
|
+
createVNode(unref(CompoundUiButton), {
|
|
10350
11390
|
variant: "primary",
|
|
10351
11391
|
onClick: verifySetup,
|
|
10352
11392
|
disabled: verificationCode.value.length !== 6 || unref(loading2),
|
|
@@ -10399,7 +11439,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
|
10399
11439
|
])
|
|
10400
11440
|
], -1)),
|
|
10401
11441
|
createElementVNode("div", _hoisted_8$8, [
|
|
10402
|
-
createVNode(unref(
|
|
11442
|
+
createVNode(unref(CompoundUiButton), {
|
|
10403
11443
|
variant: "primary",
|
|
10404
11444
|
onClick: finish
|
|
10405
11445
|
}, {
|
|
@@ -10725,7 +11765,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10725
11765
|
disabled: loading2.value
|
|
10726
11766
|
}, null, 8, ["modelValue", "error", "disabled"]),
|
|
10727
11767
|
createElementVNode("div", _hoisted_3$a, [
|
|
10728
|
-
createVNode(unref(
|
|
11768
|
+
createVNode(unref(CompoundUiButton), {
|
|
10729
11769
|
variant: "secondary",
|
|
10730
11770
|
onClick: closeModal,
|
|
10731
11771
|
disabled: loading2.value
|
|
@@ -10735,7 +11775,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10735
11775
|
])]),
|
|
10736
11776
|
_: 1
|
|
10737
11777
|
}, 8, ["disabled"]),
|
|
10738
|
-
createVNode(unref(
|
|
11778
|
+
createVNode(unref(CompoundUiButton), {
|
|
10739
11779
|
variant: "primary",
|
|
10740
11780
|
onClick: startSetup,
|
|
10741
11781
|
disabled: !deviceName.value.trim() || loading2.value,
|
|
@@ -10804,7 +11844,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10804
11844
|
])
|
|
10805
11845
|
]),
|
|
10806
11846
|
createElementVNode("div", _hoisted_8$7, [
|
|
10807
|
-
createVNode(unref(
|
|
11847
|
+
createVNode(unref(CompoundUiButton), {
|
|
10808
11848
|
variant: "secondary",
|
|
10809
11849
|
onClick: _cache[1] || (_cache[1] = ($event) => step.value = 1),
|
|
10810
11850
|
disabled: loading2.value
|
|
@@ -10814,7 +11854,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10814
11854
|
])]),
|
|
10815
11855
|
_: 1
|
|
10816
11856
|
}, 8, ["disabled"]),
|
|
10817
|
-
createVNode(unref(
|
|
11857
|
+
createVNode(unref(CompoundUiButton), {
|
|
10818
11858
|
variant: "primary",
|
|
10819
11859
|
onClick: handleRegisterHardwareKey,
|
|
10820
11860
|
disabled: loading2.value,
|
|
@@ -10910,7 +11950,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10910
11950
|
])
|
|
10911
11951
|
]),
|
|
10912
11952
|
createElementVNode("div", _hoisted_17$5, [
|
|
10913
|
-
createVNode(unref(
|
|
11953
|
+
createVNode(unref(CompoundUiButton), {
|
|
10914
11954
|
variant: "secondary",
|
|
10915
11955
|
size: "sm",
|
|
10916
11956
|
onClick: copyBackupCodes
|
|
@@ -10923,7 +11963,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10923
11963
|
])
|
|
10924
11964
|
]),
|
|
10925
11965
|
createElementVNode("div", _hoisted_18$4, [
|
|
10926
|
-
createVNode(unref(
|
|
11966
|
+
createVNode(unref(CompoundUiButton), {
|
|
10927
11967
|
variant: "primary",
|
|
10928
11968
|
onClick: finish
|
|
10929
11969
|
}, {
|
|
@@ -10955,7 +11995,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10955
11995
|
createElementVNode("p", _hoisted_21$3, toDisplayString(errorMessage.value), 1)
|
|
10956
11996
|
]),
|
|
10957
11997
|
createElementVNode("div", _hoisted_22$3, [
|
|
10958
|
-
createVNode(unref(
|
|
11998
|
+
createVNode(unref(CompoundUiButton), {
|
|
10959
11999
|
variant: "secondary",
|
|
10960
12000
|
onClick: _cache[2] || (_cache[2] = ($event) => step.value = 1)
|
|
10961
12001
|
}, {
|
|
@@ -10964,7 +12004,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
10964
12004
|
])]),
|
|
10965
12005
|
_: 1
|
|
10966
12006
|
}),
|
|
10967
|
-
createVNode(unref(
|
|
12007
|
+
createVNode(unref(CompoundUiButton), {
|
|
10968
12008
|
variant: "primary",
|
|
10969
12009
|
onClick: closeModal
|
|
10970
12010
|
}, {
|
|
@@ -11159,7 +12199,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11159
12199
|
])
|
|
11160
12200
|
]),
|
|
11161
12201
|
createElementVNode("div", _hoisted_11$6, [
|
|
11162
|
-
createVNode(unref(
|
|
12202
|
+
createVNode(unref(CompoundUiButton), {
|
|
11163
12203
|
variant: "secondary",
|
|
11164
12204
|
size: "sm",
|
|
11165
12205
|
onClick: copyBackupCodes
|
|
@@ -11169,7 +12209,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11169
12209
|
])]),
|
|
11170
12210
|
_: 1
|
|
11171
12211
|
}),
|
|
11172
|
-
createVNode(unref(
|
|
12212
|
+
createVNode(unref(CompoundUiButton), {
|
|
11173
12213
|
variant: "secondary",
|
|
11174
12214
|
size: "sm",
|
|
11175
12215
|
onClick: downloadBackupCodes
|
|
@@ -11183,7 +12223,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11183
12223
|
])) : createCommentVNode("", true),
|
|
11184
12224
|
createElementVNode("div", _hoisted_12$6, [
|
|
11185
12225
|
createElementVNode("div", _hoisted_13$6, [
|
|
11186
|
-
createVNode(unref(
|
|
12226
|
+
createVNode(unref(CompoundUiButton), {
|
|
11187
12227
|
variant: "secondary",
|
|
11188
12228
|
onClick: regenerateCodes,
|
|
11189
12229
|
disabled: unref(loading2),
|
|
@@ -11194,7 +12234,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11194
12234
|
])]),
|
|
11195
12235
|
_: 1
|
|
11196
12236
|
}, 8, ["disabled", "loading"]),
|
|
11197
|
-
createVNode(unref(
|
|
12237
|
+
createVNode(unref(CompoundUiButton), {
|
|
11198
12238
|
variant: "primary",
|
|
11199
12239
|
onClick: closeModal
|
|
11200
12240
|
}, {
|
|
@@ -11222,7 +12262,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11222
12262
|
_cache[11] || (_cache[11] = createElementVNode("p", { class: "backup-codes-regenerate-title" }, "Regenerate Backup Codes?", -1)),
|
|
11223
12263
|
_cache[12] || (_cache[12] = createElementVNode("p", { class: "backup-codes-regenerate-description" }, " This will invalidate all current backup codes. Make sure to save the new ones. ", -1)),
|
|
11224
12264
|
createElementVNode("div", _hoisted_16$5, [
|
|
11225
|
-
createVNode(unref(
|
|
12265
|
+
createVNode(unref(CompoundUiButton), {
|
|
11226
12266
|
variant: "primary",
|
|
11227
12267
|
size: "sm",
|
|
11228
12268
|
onClick: confirmRegenerate,
|
|
@@ -11234,7 +12274,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
11234
12274
|
])]),
|
|
11235
12275
|
_: 1
|
|
11236
12276
|
}, 8, ["disabled", "loading"]),
|
|
11237
|
-
createVNode(unref(
|
|
12277
|
+
createVNode(unref(CompoundUiButton), {
|
|
11238
12278
|
variant: "secondary",
|
|
11239
12279
|
size: "sm",
|
|
11240
12280
|
onClick: _cache[0] || (_cache[0] = ($event) => showRegenerateWarning.value = false)
|
|
@@ -11304,7 +12344,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
11304
12344
|
default: withCtx(() => [
|
|
11305
12345
|
createElementVNode("p", _hoisted_3$8, toDisplayString(_ctx.message), 1),
|
|
11306
12346
|
createElementVNode("div", _hoisted_4$8, [
|
|
11307
|
-
createVNode(unref(
|
|
12347
|
+
createVNode(unref(CompoundUiButton), {
|
|
11308
12348
|
variant: "secondary",
|
|
11309
12349
|
onClick: handleCancel,
|
|
11310
12350
|
disabled: loading2.value
|
|
@@ -11314,7 +12354,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
11314
12354
|
]),
|
|
11315
12355
|
_: 1
|
|
11316
12356
|
}, 8, ["disabled"]),
|
|
11317
|
-
createVNode(unref(
|
|
12357
|
+
createVNode(unref(CompoundUiButton), {
|
|
11318
12358
|
variant: _ctx.variant,
|
|
11319
12359
|
onClick: handleConfirm,
|
|
11320
12360
|
disabled: loading2.value,
|
|
@@ -11461,7 +12501,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11461
12501
|
]);
|
|
11462
12502
|
}
|
|
11463
12503
|
};
|
|
11464
|
-
const
|
|
12504
|
+
const Shield2 = {
|
|
11465
12505
|
props: ["size"],
|
|
11466
12506
|
render() {
|
|
11467
12507
|
return h("svg", { width: this.size, height: this.size, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, [
|
|
@@ -11596,7 +12636,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11596
12636
|
]),
|
|
11597
12637
|
createElementVNode("div", _hoisted_7$5, [
|
|
11598
12638
|
unref(mfaEnabled2) ? (openBlock(), createElementBlock("span", _hoisted_8$5, [
|
|
11599
|
-
createVNode(
|
|
12639
|
+
createVNode(Shield2, {
|
|
11600
12640
|
size: 12,
|
|
11601
12641
|
class: "mfa-badge-icon"
|
|
11602
12642
|
}),
|
|
@@ -11626,7 +12666,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11626
12666
|
createElementVNode("p", { class: "mfa-device-option-description" }, "Use apps like Google Authenticator, or Authy")
|
|
11627
12667
|
], -1))
|
|
11628
12668
|
]),
|
|
11629
|
-
createVNode(unref(
|
|
12669
|
+
createVNode(unref(CompoundUiButton), {
|
|
11630
12670
|
variant: "outline",
|
|
11631
12671
|
size: "sm",
|
|
11632
12672
|
onClick: _cache[0] || (_cache[0] = ($event) => showTotpSetupModal.value = true)
|
|
@@ -11647,7 +12687,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11647
12687
|
createElementVNode("p", { class: "mfa-device-option-description" }, "Receive verification codes via email")
|
|
11648
12688
|
], -1))
|
|
11649
12689
|
]),
|
|
11650
|
-
createVNode(unref(
|
|
12690
|
+
createVNode(unref(CompoundUiButton), {
|
|
11651
12691
|
variant: "outline",
|
|
11652
12692
|
size: "sm",
|
|
11653
12693
|
onClick: _cache[1] || (_cache[1] = ($event) => showEmailMfaSetupModal.value = true)
|
|
@@ -11668,7 +12708,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11668
12708
|
createElementVNode("p", { class: "mfa-device-option-description" }, "Use a physical security key (YubiKey, etc.)")
|
|
11669
12709
|
], -1))
|
|
11670
12710
|
]),
|
|
11671
|
-
createVNode(unref(
|
|
12711
|
+
createVNode(unref(CompoundUiButton), {
|
|
11672
12712
|
variant: "outline",
|
|
11673
12713
|
size: "sm",
|
|
11674
12714
|
onClick: _cache[2] || (_cache[2] = ($event) => showHardwareKeySetupModal.value = true)
|
|
@@ -11689,7 +12729,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11689
12729
|
createElementVNode("p", { class: "mfa-device-option-description" }, "Use biometric authentication or device PIN")
|
|
11690
12730
|
], -1))
|
|
11691
12731
|
]),
|
|
11692
|
-
createVNode(unref(
|
|
12732
|
+
createVNode(unref(CompoundUiButton), {
|
|
11693
12733
|
variant: "outline",
|
|
11694
12734
|
size: "sm",
|
|
11695
12735
|
onClick: _cache[3] || (_cache[3] = ($event) => showPasskeySetupModal.value = true)
|
|
@@ -11705,11 +12745,11 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11705
12745
|
])) : currentTab?.value === "manage" ? (openBlock(), createElementBlock("div", _hoisted_24$2, [
|
|
11706
12746
|
unref(activeMfaDevices).length === 0 ? (openBlock(), createElementBlock("div", _hoisted_25$2, [
|
|
11707
12747
|
createElementVNode("div", _hoisted_26$2, [
|
|
11708
|
-
createVNode(
|
|
12748
|
+
createVNode(Shield2, { size: 48 })
|
|
11709
12749
|
]),
|
|
11710
12750
|
_cache[24] || (_cache[24] = createElementVNode("h3", { class: "mfa-empty-title" }, "No MFA Devices", -1)),
|
|
11711
12751
|
_cache[25] || (_cache[25] = createElementVNode("p", { class: "mfa-empty-description" }, "You haven't set up any multi-factor authentication devices yet.", -1)),
|
|
11712
|
-
createVNode(unref(
|
|
12752
|
+
createVNode(unref(CompoundUiButton), {
|
|
11713
12753
|
onClick: _cache[4] || (_cache[4] = ($event) => activeTab.value = "add"),
|
|
11714
12754
|
variant: "primary"
|
|
11715
12755
|
}, {
|
|
@@ -11747,7 +12787,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11747
12787
|
])
|
|
11748
12788
|
]),
|
|
11749
12789
|
createElementVNode("div", _hoisted_33$2, [
|
|
11750
|
-
device.device_type === "email" && !device.verified ? (openBlock(), createBlock(unref(
|
|
12790
|
+
device.device_type === "email" && !device.verified ? (openBlock(), createBlock(unref(CompoundUiButton), {
|
|
11751
12791
|
key: 0,
|
|
11752
12792
|
variant: "outline",
|
|
11753
12793
|
size: "xs",
|
|
@@ -11767,7 +12807,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11767
12807
|
onConfirm: ($event) => handleRemoveDevice(device)
|
|
11768
12808
|
}, {
|
|
11769
12809
|
trigger: withCtx(() => [
|
|
11770
|
-
createVNode(unref(
|
|
12810
|
+
createVNode(unref(CompoundUiButton), {
|
|
11771
12811
|
variant: "ghost",
|
|
11772
12812
|
size: "xs",
|
|
11773
12813
|
disabled: disablingDevice[device.id]
|
|
@@ -11793,7 +12833,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
11793
12833
|
device.backup_codes && device.backup_codes.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_37$1, [
|
|
11794
12834
|
createVNode(StrandsBackupCodesModal, { device }, {
|
|
11795
12835
|
trigger: withCtx(() => [
|
|
11796
|
-
createVNode(unref(
|
|
12836
|
+
createVNode(unref(CompoundUiButton), {
|
|
11797
12837
|
variant: "outline",
|
|
11798
12838
|
size: "xs"
|
|
11799
12839
|
}, {
|
|
@@ -12395,7 +13435,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
12395
13435
|
])
|
|
12396
13436
|
]),
|
|
12397
13437
|
!session.is_current ? (openBlock(), createElementBlock("div", _hoisted_18$2, [
|
|
12398
|
-
createVNode(unref(
|
|
13438
|
+
createVNode(unref(CompoundUiButton), {
|
|
12399
13439
|
variant: "outline",
|
|
12400
13440
|
size: "xs",
|
|
12401
13441
|
onClick: ($event) => revokeSession(session.id),
|
|
@@ -12438,7 +13478,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
|
|
|
12438
13478
|
}), 128))
|
|
12439
13479
|
]),
|
|
12440
13480
|
sessions.value.length > 1 ? (openBlock(), createElementBlock("div", _hoisted_32$1, [
|
|
12441
|
-
createVNode(unref(
|
|
13481
|
+
createVNode(unref(CompoundUiButton), {
|
|
12442
13482
|
variant: "outline",
|
|
12443
13483
|
onClick: handleRevokeAllOther,
|
|
12444
13484
|
disabled: revokingAll.value
|
|
@@ -13312,7 +14352,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13312
14352
|
_cache[15] || (_cache[15] = createElementVNode("h4", { class: "profile-setting-title" }, "Email Address", -1)),
|
|
13313
14353
|
createElementVNode("p", _hoisted_15$2, toDisplayString(currentUser.value?.email), 1)
|
|
13314
14354
|
]),
|
|
13315
|
-
createVNode(unref(
|
|
14355
|
+
createVNode(unref(CompoundUiButton), {
|
|
13316
14356
|
variant: "secondary",
|
|
13317
14357
|
size: "sm",
|
|
13318
14358
|
onClick: _cache[2] || (_cache[2] = ($event) => showEmailChange.value = !showEmailChange.value)
|
|
@@ -13342,7 +14382,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13342
14382
|
autocomplete: "current-password",
|
|
13343
14383
|
error: emailChangeForm.errors.password
|
|
13344
14384
|
}, null, 8, ["modelValue", "error"]),
|
|
13345
|
-
createVNode(unref(
|
|
14385
|
+
createVNode(unref(CompoundUiButton), {
|
|
13346
14386
|
variant: "primary",
|
|
13347
14387
|
size: "sm",
|
|
13348
14388
|
onClick: handleEmailChange,
|
|
@@ -13364,7 +14404,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13364
14404
|
_cache[16] || (_cache[16] = createElementVNode("h4", { class: "profile-field-title" }, "Username", -1)),
|
|
13365
14405
|
createElementVNode("p", _hoisted_19, toDisplayString(currentUser.value?.username || "No username set"), 1)
|
|
13366
14406
|
]),
|
|
13367
|
-
createVNode(unref(
|
|
14407
|
+
createVNode(unref(CompoundUiButton), {
|
|
13368
14408
|
variant: "secondary",
|
|
13369
14409
|
size: "sm",
|
|
13370
14410
|
disabled: !usernameChangeData.canChange || usernameChangeLoading.value,
|
|
@@ -13391,7 +14431,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13391
14431
|
key: 0,
|
|
13392
14432
|
class: normalizeClass(["profile-availability-message", usernameAvailability.available ? "success" : "error"])
|
|
13393
14433
|
}, toDisplayString(usernameAvailability.message), 3)) : createCommentVNode("", true),
|
|
13394
|
-
createVNode(unref(
|
|
14434
|
+
createVNode(unref(CompoundUiButton), {
|
|
13395
14435
|
variant: "primary",
|
|
13396
14436
|
size: "sm",
|
|
13397
14437
|
onClick: handleUsernameChange,
|
|
@@ -13416,7 +14456,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13416
14456
|
_cache[18] || (_cache[18] = createElementVNode("h4", { class: "profile-field-title" }, "Password", -1)),
|
|
13417
14457
|
createElementVNode("p", _hoisted_24, "Last updated " + toDisplayString(passwordLastUpdated.value), 1)
|
|
13418
14458
|
]),
|
|
13419
|
-
createVNode(unref(
|
|
14459
|
+
createVNode(unref(CompoundUiButton), {
|
|
13420
14460
|
variant: "secondary",
|
|
13421
14461
|
size: "sm",
|
|
13422
14462
|
onClick: _cache[6] || (_cache[6] = ($event) => showPasswordChange.value = !showPasswordChange.value)
|
|
@@ -13451,7 +14491,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13451
14491
|
placeholder: "Confirm new password",
|
|
13452
14492
|
autocomplete: "new-password"
|
|
13453
14493
|
}, null, 8, ["modelValue"]),
|
|
13454
|
-
createVNode(unref(
|
|
14494
|
+
createVNode(unref(CompoundUiButton), {
|
|
13455
14495
|
variant: "primary",
|
|
13456
14496
|
size: "sm",
|
|
13457
14497
|
onClick: handlePasswordChange,
|
|
@@ -13490,7 +14530,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13490
14530
|
}), 128))
|
|
13491
14531
|
])) : createCommentVNode("", true)
|
|
13492
14532
|
]),
|
|
13493
|
-
createVNode(unref(
|
|
14533
|
+
createVNode(unref(CompoundUiButton), {
|
|
13494
14534
|
variant: "secondary",
|
|
13495
14535
|
size: "sm",
|
|
13496
14536
|
class: "profile-toggle-container",
|
|
@@ -13512,7 +14552,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13512
14552
|
])
|
|
13513
14553
|
]),
|
|
13514
14554
|
createElementVNode("div", _hoisted_36, [
|
|
13515
|
-
createVNode(unref(
|
|
14555
|
+
createVNode(unref(CompoundUiButton), {
|
|
13516
14556
|
variant: "secondary",
|
|
13517
14557
|
size: "sm",
|
|
13518
14558
|
disabled: loadingSessions.value,
|
|
@@ -13529,7 +14569,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13529
14569
|
])
|
|
13530
14570
|
]),
|
|
13531
14571
|
hasChanges.value ? (openBlock(), createElementBlock("div", _hoisted_37, [
|
|
13532
|
-
createVNode(unref(
|
|
14572
|
+
createVNode(unref(CompoundUiButton), {
|
|
13533
14573
|
type: "submit",
|
|
13534
14574
|
variant: "primary",
|
|
13535
14575
|
disabled: loading2.value,
|
|
@@ -13540,7 +14580,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13540
14580
|
]),
|
|
13541
14581
|
_: 1
|
|
13542
14582
|
}, 8, ["disabled", "loading"]),
|
|
13543
|
-
createVNode(unref(
|
|
14583
|
+
createVNode(unref(CompoundUiButton), {
|
|
13544
14584
|
variant: "secondary",
|
|
13545
14585
|
onClick: handleCancel,
|
|
13546
14586
|
disabled: loading2.value
|
|
@@ -13593,7 +14633,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13593
14633
|
}, {
|
|
13594
14634
|
default: withCtx(() => [
|
|
13595
14635
|
createElementVNode("div", _hoisted_46, [
|
|
13596
|
-
createVNode(unref(
|
|
14636
|
+
createVNode(unref(CompoundUiButton), {
|
|
13597
14637
|
color: "danger",
|
|
13598
14638
|
onClick: handleSignOut,
|
|
13599
14639
|
disabled: signingOut.value,
|
|
@@ -13606,7 +14646,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
13606
14646
|
}, 8, ["disabled"]),
|
|
13607
14647
|
createVNode(StrandsSettingsModal, { onSettingsUpdated: handleSettingsUpdated }, {
|
|
13608
14648
|
trigger: withCtx(() => [
|
|
13609
|
-
createVNode(unref(
|
|
14649
|
+
createVNode(unref(CompoundUiButton), {
|
|
13610
14650
|
variant: "secondary",
|
|
13611
14651
|
class: "profile-sign-out-button"
|
|
13612
14652
|
}, {
|
|
@@ -13773,7 +14813,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
13773
14813
|
disabled: loading2.value || isSubmitted.value,
|
|
13774
14814
|
error: error.value ? "Email address not found" : void 0
|
|
13775
14815
|
}, null, 8, ["modelValue", "disabled", "error"]),
|
|
13776
|
-
createVNode(unref(
|
|
14816
|
+
createVNode(unref(CompoundUiButton), {
|
|
13777
14817
|
type: "submit",
|
|
13778
14818
|
variant: "primary",
|
|
13779
14819
|
"full-width": "",
|
|
@@ -14211,7 +15251,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14211
15251
|
invert: !!props.user
|
|
14212
15252
|
}, {
|
|
14213
15253
|
default: withCtx(() => [
|
|
14214
|
-
createVNode(unref(
|
|
15254
|
+
createVNode(unref(CompoundUiButton), {
|
|
14215
15255
|
color: "secondary",
|
|
14216
15256
|
active: showDropdown.value,
|
|
14217
15257
|
onClick: toggleDropdown,
|
|
@@ -14374,7 +15414,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
|
|
|
14374
15414
|
}, 8, ["modelValue"])
|
|
14375
15415
|
]),
|
|
14376
15416
|
fallback: withCtx(() => [
|
|
14377
|
-
createVNode(unref(
|
|
15417
|
+
createVNode(unref(CompoundUiButton), {
|
|
14378
15418
|
onClick: openSignIn,
|
|
14379
15419
|
"aria-label": "Sign in"
|
|
14380
15420
|
}, {
|
|
@@ -14552,7 +15592,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
14552
15592
|
const getNavItemComponent = () => {
|
|
14553
15593
|
const actualType = getActualType();
|
|
14554
15594
|
if (actualType === "button" && props.type === "button") {
|
|
14555
|
-
return
|
|
15595
|
+
return CompoundUiButton;
|
|
14556
15596
|
} else if (props.to) {
|
|
14557
15597
|
return "router-link";
|
|
14558
15598
|
} else {
|
|
@@ -14847,7 +15887,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14847
15887
|
]);
|
|
14848
15888
|
}
|
|
14849
15889
|
};
|
|
14850
|
-
const
|
|
15890
|
+
const Shield2 = {
|
|
14851
15891
|
props: {
|
|
14852
15892
|
size: {
|
|
14853
15893
|
type: [String, Number],
|
|
@@ -14960,7 +16000,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14960
16000
|
]),
|
|
14961
16001
|
footer: withCtx(() => [
|
|
14962
16002
|
createElementVNode("div", _hoisted_18, [
|
|
14963
|
-
createVNode(unref(
|
|
16003
|
+
createVNode(unref(CompoundUiButton), {
|
|
14964
16004
|
variant: "secondary",
|
|
14965
16005
|
onClick: closeModal,
|
|
14966
16006
|
disabled: unref(loading2)
|
|
@@ -14981,7 +16021,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
14981
16021
|
unref(mfaEnabled2) || unref(activeMfaDevices).length > 0 ? (openBlock(), createElementBlock("div", _hoisted_7, [
|
|
14982
16022
|
createElementVNode("div", _hoisted_8, [
|
|
14983
16023
|
createElementVNode("div", _hoisted_9, [
|
|
14984
|
-
createVNode(
|
|
16024
|
+
createVNode(Shield2, {
|
|
14985
16025
|
size: 20,
|
|
14986
16026
|
class: "mfa-setup-shield-icon"
|
|
14987
16027
|
})
|
|
@@ -15010,7 +16050,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15010
16050
|
createElementVNode("h4", { class: "mfa-setup-method-title" }, "Authenticator App"),
|
|
15011
16051
|
createElementVNode("p", { class: "mfa-setup-method-description" }, "Use Google Authenticator, Authy, or any TOTP-compatible app to generate secure codes")
|
|
15012
16052
|
], -1)),
|
|
15013
|
-
createVNode(unref(
|
|
16053
|
+
createVNode(unref(CompoundUiButton), {
|
|
15014
16054
|
variant: "primary",
|
|
15015
16055
|
size: "md",
|
|
15016
16056
|
onClick: withModifiers(startTotpSetup, ["stop"]),
|
|
@@ -15039,7 +16079,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15039
16079
|
createElementVNode("h4", { class: "mfa-setup-method-title" }, "Email Verification"),
|
|
15040
16080
|
createElementVNode("p", { class: "mfa-setup-method-description" }, "Receive verification codes directly in your email inbox for easy access")
|
|
15041
16081
|
], -1)),
|
|
15042
|
-
createVNode(unref(
|
|
16082
|
+
createVNode(unref(CompoundUiButton), {
|
|
15043
16083
|
variant: "primary",
|
|
15044
16084
|
size: "md",
|
|
15045
16085
|
onClick: withModifiers(startEmailMfaSetup, ["stop"]),
|
|
@@ -15061,7 +16101,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
15061
16101
|
_cache[13] || (_cache[13] = createElementVNode("h3", { class: "mfa-setup-manage-title" }, "Manage Existing Methods", -1)),
|
|
15062
16102
|
createElementVNode("p", _hoisted_17, toDisplayString(unref(activeMfaDevices).length) + " device(s) currently active", 1)
|
|
15063
16103
|
]),
|
|
15064
|
-
createVNode(unref(
|
|
16104
|
+
createVNode(unref(CompoundUiButton), {
|
|
15065
16105
|
variant: "secondary",
|
|
15066
16106
|
size: "md",
|
|
15067
16107
|
onClick: openMfaModal,
|
|
@@ -15357,7 +16397,7 @@ export {
|
|
|
15357
16397
|
StrandsUiAlert,
|
|
15358
16398
|
UiApp as StrandsUiApp,
|
|
15359
16399
|
_sfc_main$B as StrandsUiAvatarEditor,
|
|
15360
|
-
StrandsUiButton,
|
|
16400
|
+
CompoundUiButton as StrandsUiButton,
|
|
15361
16401
|
StrandsUiCard,
|
|
15362
16402
|
_sfc_main$w as StrandsUiColorPicker,
|
|
15363
16403
|
UiDivider as StrandsUiDivider,
|
|
@@ -15379,7 +16419,7 @@ export {
|
|
|
15379
16419
|
UiApp,
|
|
15380
16420
|
_sfc_main$B as UiAvatarEditor,
|
|
15381
16421
|
_sfc_main$B as UiAvatarEditorSimple,
|
|
15382
|
-
|
|
16422
|
+
CompoundUiButton as UiButton,
|
|
15383
16423
|
StrandsUiCard as UiCard,
|
|
15384
16424
|
_sfc_main$w as UiColorPicker,
|
|
15385
16425
|
UiDivider,
|