@strands.gg/accui 2.6.5 → 2.6.7

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.
@@ -1,18 +1,18 @@
1
- import { defineComponent, computed, provide, onMounted, onUnmounted, createElementBlock, openBlock, normalizeClass, createElementVNode, createBlock, renderSlot, Teleport, createCommentVNode, toDisplayString, createTextVNode, unref, normalizeStyle, useSlots, createVNode, Fragment as Fragment$1, withCtx, resolveComponent, resolveDynamicComponent, createSlots, h as h$1, ref, nextTick, withModifiers, renderList, watch, toRefs, withDirectives, vModelSelect, getCurrentInstance, watchEffect, onBeforeUnmount, shallowRef, markRaw, customRef, useCssVars, reactive, createStaticVNode, vModelText, Transition, mergeProps, inject, withKeys, isMemoSame } from "vue";
1
+ import { defineComponent, computed, provide, onMounted, onUnmounted, createElementBlock, openBlock, normalizeClass, createElementVNode, createBlock, renderSlot, Teleport, createCommentVNode, toDisplayString, createTextVNode, unref, normalizeStyle, useSlots, createVNode, Fragment as Fragment$1, withCtx, resolveComponent, resolveDynamicComponent, createSlots, useAttrs, h as h$1, ref, nextTick, withModifiers, renderList, watch, toRefs, withDirectives, vModelSelect, getCurrentInstance, watchEffect, onBeforeUnmount, shallowRef, markRaw, customRef, useCssVars, mergeProps, reactive, createStaticVNode, vModelText, Transition, inject, withKeys, isMemoSame } from "vue";
2
2
  import { u as useStrandsConfig, p as provideStrandsConfig } from "./useStrandsConfig-f200kXFG.es.js";
3
3
  import { s } from "./useStrandsConfig-f200kXFG.es.js";
4
- import { u as useStrandsAuth } from "./useStrandsAuth-B0jI8Gbq.es.js";
5
- const _hoisted_1$T = { class: "app-content" };
6
- const _hoisted_2$K = {
4
+ import { u as useStrandsAuth } from "./useStrandsAuth-GX6lPddh.es.js";
5
+ const _hoisted_1$U = { class: "app-content" };
6
+ const _hoisted_2$L = {
7
7
  key: 0,
8
8
  class: "ui-app-loading-overlay"
9
9
  };
10
- const _hoisted_3$H = { class: "ui-app-loading-content" };
11
- const _hoisted_4$E = {
10
+ const _hoisted_3$I = { class: "ui-app-loading-content" };
11
+ const _hoisted_4$F = {
12
12
  key: 0,
13
13
  class: "ui-app-loading-message"
14
14
  };
15
- const _sfc_main$$ = /* @__PURE__ */ defineComponent({
15
+ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
16
16
  __name: "UiApp",
17
17
  props: {
18
18
  theme: { default: "auto" },
@@ -57,17 +57,17 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
57
57
  return openBlock(), createElementBlock("div", {
58
58
  class: normalizeClass(["ui-app", appClasses.value])
59
59
  }, [
60
- createElementVNode("div", _hoisted_1$T, [
60
+ createElementVNode("div", _hoisted_1$U, [
61
61
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
62
62
  ]),
63
63
  (openBlock(), createBlock(Teleport, { to: "body" }, [
64
64
  _cache[0] || (_cache[0] = createElementVNode("div", { class: "ui-app-notifications" }, null, -1))
65
65
  ])),
66
66
  (openBlock(), createBlock(Teleport, { to: "body" }, [
67
- isGlobalLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$K, [
68
- createElementVNode("div", _hoisted_3$H, [
67
+ isGlobalLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$L, [
68
+ createElementVNode("div", _hoisted_3$I, [
69
69
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "ui-app-loading-spinner" }, null, -1)),
70
- _ctx.loadingMessage ? (openBlock(), createElementBlock("p", _hoisted_4$E, toDisplayString(_ctx.loadingMessage), 1)) : createCommentVNode("", true)
70
+ _ctx.loadingMessage ? (openBlock(), createElementBlock("p", _hoisted_4$F, toDisplayString(_ctx.loadingMessage), 1)) : createCommentVNode("", true)
71
71
  ])
72
72
  ])) : createCommentVNode("", true)
73
73
  ]))
@@ -82,23 +82,23 @@ const _export_sfc = (sfc, props) => {
82
82
  }
83
83
  return target;
84
84
  };
85
- const UiApp = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-f18c1706"]]);
86
- const _hoisted_1$S = { class: "accui-component-scope" };
87
- const _hoisted_2$J = { class: "alert-content" };
88
- const _hoisted_3$G = { class: "alert-icon-container" };
89
- const _hoisted_4$D = {
85
+ const UiApp = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["__scopeId", "data-v-f18c1706"]]);
86
+ const _hoisted_1$T = { class: "accui-component-scope" };
87
+ const _hoisted_2$K = { class: "alert-content" };
88
+ const _hoisted_3$H = { class: "alert-icon-container" };
89
+ const _hoisted_4$E = {
90
90
  class: "alert-main-icon",
91
91
  fill: "currentColor",
92
92
  viewBox: "0 0 20 20",
93
93
  "aria-hidden": "true"
94
94
  };
95
- const _hoisted_5$y = ["d"];
95
+ const _hoisted_5$z = ["d"];
96
96
  const _hoisted_6$t = { class: "alert-text-container" };
97
97
  const _hoisted_7$s = {
98
98
  key: 0,
99
99
  class: "alert-dismiss-container"
100
100
  };
101
- const _sfc_main$_ = /* @__PURE__ */ defineComponent({
101
+ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
102
102
  __name: "UiAlert",
103
103
  props: {
104
104
  variant: { default: "info" },
@@ -134,19 +134,19 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
134
134
  return icons[props.variant];
135
135
  });
136
136
  return (_ctx, _cache) => {
137
- return openBlock(), createElementBlock("div", _hoisted_1$S, [
137
+ return openBlock(), createElementBlock("div", _hoisted_1$T, [
138
138
  createElementVNode("div", {
139
139
  class: normalizeClass(alertClasses.value),
140
140
  role: "alert"
141
141
  }, [
142
- createElementVNode("div", _hoisted_2$J, [
143
- createElementVNode("div", _hoisted_3$G, [
144
- (openBlock(), createElementBlock("svg", _hoisted_4$D, [
142
+ createElementVNode("div", _hoisted_2$K, [
143
+ createElementVNode("div", _hoisted_3$H, [
144
+ (openBlock(), createElementBlock("svg", _hoisted_4$E, [
145
145
  createElementVNode("path", {
146
146
  "fill-rule": "evenodd",
147
147
  d: iconPath.value,
148
148
  "clip-rule": "evenodd"
149
- }, null, 8, _hoisted_5$y)
149
+ }, null, 8, _hoisted_5$z)
150
150
  ]))
151
151
  ]),
152
152
  createElementVNode("div", _hoisted_6$t, [
@@ -188,22 +188,22 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
188
188
  };
189
189
  }
190
190
  });
191
- const StrandsUiAlert = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-1beb49ad"]]);
191
+ const StrandsUiAlert = /* @__PURE__ */ _export_sfc(_sfc_main$$, [["__scopeId", "data-v-1beb49ad"]]);
192
192
  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';
193
- const _hoisted_1$R = {
193
+ const _hoisted_1$S = {
194
194
  key: 0,
195
195
  class: "loader-icon"
196
196
  };
197
- const _hoisted_2$I = ["width", "height"];
198
- const _hoisted_3$F = ["d"];
199
- const _hoisted_4$C = ["stroke-width"];
200
- const _hoisted_5$x = ["stroke-width"];
197
+ const _hoisted_2$J = ["width", "height"];
198
+ const _hoisted_3$G = ["d"];
199
+ const _hoisted_4$D = ["stroke-width"];
200
+ const _hoisted_5$y = ["stroke-width"];
201
201
  const _hoisted_6$s = ["width", "height"];
202
202
  const _hoisted_7$r = {
203
203
  key: 3,
204
204
  class: "loader-text"
205
205
  };
206
- const _sfc_main$Z = /* @__PURE__ */ defineComponent({
206
+ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
207
207
  __name: "UiLoader",
208
208
  props: {
209
209
  size: { default: "md" },
@@ -237,7 +237,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
237
237
  `loader-color-${_ctx.color}`
238
238
  ]])
239
239
  }, [
240
- _ctx.variant === "spinner" ? (openBlock(), createElementBlock("div", _hoisted_1$R, [
240
+ _ctx.variant === "spinner" ? (openBlock(), createElementBlock("div", _hoisted_1$S, [
241
241
  (openBlock(), createElementBlock("svg", {
242
242
  width: computedSize.value,
243
243
  height: computedSize.value,
@@ -248,7 +248,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
248
248
  id: "logo-path",
249
249
  d: unref(d),
250
250
  transform: "translate(81, 13) scale(1.0)"
251
- }, null, 8, _hoisted_3$F)
251
+ }, null, 8, _hoisted_3$G)
252
252
  ]),
253
253
  createElementVNode("use", {
254
254
  href: "#logo-path",
@@ -257,7 +257,7 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
257
257
  "stroke-width": _ctx.weight,
258
258
  "stroke-linecap": "round",
259
259
  "stroke-linejoin": "round"
260
- }, null, 8, _hoisted_4$C),
260
+ }, null, 8, _hoisted_4$D),
261
261
  createElementVNode("use", {
262
262
  href: "#logo-path",
263
263
  fill: "none",
@@ -266,8 +266,8 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
266
266
  "stroke-linecap": "round",
267
267
  "stroke-linejoin": "round",
268
268
  class: "loader-animated-path"
269
- }, null, 8, _hoisted_5$x)
270
- ], 8, _hoisted_2$I))
269
+ }, null, 8, _hoisted_5$y)
270
+ ], 8, _hoisted_2$J))
271
271
  ])) : _ctx.variant === "circle" ? (openBlock(), createElementBlock("div", {
272
272
  key: 1,
273
273
  class: "loader-circle",
@@ -306,21 +306,21 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
306
306
  };
307
307
  }
308
308
  });
309
- const StrandsUiLoader = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-4b565c5d"]]);
310
- const _hoisted_1$Q = {
309
+ const StrandsUiLoader = /* @__PURE__ */ _export_sfc(_sfc_main$_, [["__scopeId", "data-v-4b565c5d"]]);
310
+ const _hoisted_1$R = {
311
311
  key: 0,
312
312
  class: "button-loading-content"
313
313
  };
314
- const _hoisted_2$H = { key: 0 };
315
- const _hoisted_3$E = {
314
+ const _hoisted_2$I = { key: 0 };
315
+ const _hoisted_3$F = {
316
316
  key: 0,
317
317
  class: "leading-icon"
318
318
  };
319
- const _hoisted_4$B = {
319
+ const _hoisted_4$C = {
320
320
  key: 1,
321
321
  class: "trailing-icon"
322
322
  };
323
- const _sfc_main$Y = /* @__PURE__ */ defineComponent({
323
+ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
324
324
  __name: "UiButton.Content",
325
325
  props: {
326
326
  loading: { type: Boolean, default: false },
@@ -362,25 +362,25 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
362
362
  return props.size ? `button-content-${props.size}` : "button-content-md";
363
363
  });
364
364
  return (_ctx, _cache) => {
365
- return _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_1$Q, [
365
+ return _ctx.loading ? (openBlock(), createElementBlock("span", _hoisted_1$R, [
366
366
  createVNode(StrandsUiLoader, {
367
367
  variant: "circle",
368
368
  size: loaderSize.value,
369
369
  centered: false,
370
370
  color: "white"
371
371
  }, null, 8, ["size"]),
372
- !_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$H, toDisplayString(_ctx.loadingText || "Loading..."), 1)) : createCommentVNode("", true)
372
+ !_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$I, toDisplayString(_ctx.loadingText || "Loading..."), 1)) : createCommentVNode("", true)
373
373
  ])) : (openBlock(), createElementBlock("span", {
374
374
  key: 1,
375
375
  class: normalizeClass(["button-content", sizeClass.value])
376
376
  }, [
377
377
  _ctx.icon ? renderSlot(_ctx.$slots, "icon", { key: 0 }, void 0, true) : (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
378
- hasLeadingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_3$E, [
378
+ hasLeadingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_3$F, [
379
379
  renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
380
380
  ])) : createCommentVNode("", true),
381
381
  renderSlot(_ctx.$slots, "icon", {}, void 0, true),
382
382
  renderSlot(_ctx.$slots, "default", {}, void 0, true),
383
- hasTrailingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_4$B, [
383
+ hasTrailingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_4$C, [
384
384
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
385
385
  ])) : createCommentVNode("", true)
386
386
  ], 64))
@@ -388,9 +388,9 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
388
388
  };
389
389
  }
390
390
  });
391
- const UiButtonContent = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-5aa4146e"]]);
392
- const _hoisted_1$P = ["href", "target", "rel"];
393
- const _sfc_main$X = /* @__PURE__ */ defineComponent({
391
+ const UiButtonContent = /* @__PURE__ */ _export_sfc(_sfc_main$Z, [["__scopeId", "data-v-5aa4146e"]]);
392
+ const _hoisted_1$Q = ["href", "target", "rel"];
393
+ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
394
394
  __name: "UiButton.Anchor",
395
395
  props: {
396
396
  to: {},
@@ -454,11 +454,11 @@ const _sfc_main$X = /* @__PURE__ */ defineComponent({
454
454
  ]),
455
455
  _: 3
456
456
  }, 8, ["loading", "loading-text", "icon"])
457
- ], 14, _hoisted_1$P);
457
+ ], 14, _hoisted_1$Q);
458
458
  };
459
459
  }
460
460
  });
461
- const _sfc_main$W = /* @__PURE__ */ defineComponent({
461
+ const _sfc_main$X = /* @__PURE__ */ defineComponent({
462
462
  __name: "UiButton.Nuxt",
463
463
  props: {
464
464
  to: {},
@@ -522,7 +522,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
522
522
  };
523
523
  }
524
524
  });
525
- const _sfc_main$V = /* @__PURE__ */ defineComponent({
525
+ const _sfc_main$W = /* @__PURE__ */ defineComponent({
526
526
  __name: "UiButton.Vue",
527
527
  props: {
528
528
  to: {},
@@ -578,8 +578,8 @@ const _sfc_main$V = /* @__PURE__ */ defineComponent({
578
578
  };
579
579
  }
580
580
  });
581
- const _hoisted_1$O = ["type", "disabled"];
582
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
581
+ const _hoisted_1$P = ["type", "disabled"];
582
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
583
583
  __name: "UiButton",
584
584
  props: {
585
585
  variant: { default: "primary" },
@@ -676,7 +676,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
676
676
  key: "1"
677
677
  } : void 0
678
678
  ]), 1032, ["loading", "loading-text", "icon", "size"])
679
- ], 14, _hoisted_1$O)) : isNuxtAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$W, {
679
+ ], 14, _hoisted_1$P)) : isNuxtAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$X, {
680
680
  key: 1,
681
681
  to: _ctx.to,
682
682
  disabled: _ctx.disabled,
@@ -709,7 +709,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
709
709
  ]),
710
710
  key: "1"
711
711
  } : void 0
712
- ]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "button-classes", "button-styles"])) : isVueRouterAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$V, {
712
+ ]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "button-classes", "button-styles"])) : isVueRouterAvailable.value && _ctx.to ? (openBlock(), createBlock(_sfc_main$W, {
713
713
  key: 2,
714
714
  to: _ctx.to,
715
715
  disabled: _ctx.disabled,
@@ -742,7 +742,7 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
742
742
  ]),
743
743
  key: "1"
744
744
  } : void 0
745
- ]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "button-classes", "button-styles"])) : (openBlock(), createBlock(_sfc_main$X, {
745
+ ]), 1032, ["to", "disabled", "loading", "loading-text", "icon", "button-classes", "button-styles"])) : (openBlock(), createBlock(_sfc_main$Y, {
746
746
  key: 3,
747
747
  to: _ctx.to,
748
748
  href: _ctx.href,
@@ -781,22 +781,25 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
781
781
  };
782
782
  }
783
783
  });
784
- const StrandsUiButton = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-a5942725"]]);
784
+ const StrandsUiButton = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-a5942725"]]);
785
785
  const CompoundUiButton = StrandsUiButton;
786
786
  CompoundUiButton.Content = UiButtonContent;
787
- CompoundUiButton.Anchor = _sfc_main$X;
788
- CompoundUiButton.Nuxt = _sfc_main$W;
789
- CompoundUiButton.Vue = _sfc_main$V;
790
- const _hoisted_1$N = {
787
+ CompoundUiButton.Anchor = _sfc_main$Y;
788
+ CompoundUiButton.Nuxt = _sfc_main$X;
789
+ CompoundUiButton.Vue = _sfc_main$W;
790
+ const _hoisted_1$O = {
791
791
  key: 0,
792
792
  class: "ui-card-header"
793
793
  };
794
- const _hoisted_2$G = { class: "ui-card-content" };
795
- const _hoisted_3$D = {
794
+ const _hoisted_2$H = { class: "ui-card-content" };
795
+ const _hoisted_3$E = {
796
796
  key: 1,
797
797
  class: "ui-card-footer"
798
798
  };
799
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
799
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
800
+ ...{
801
+ inheritAttrs: false
802
+ },
800
803
  __name: "UiCard",
801
804
  props: {
802
805
  variant: { default: "default" },
@@ -805,29 +808,31 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
805
808
  color: { default: "default" }
806
809
  },
807
810
  setup(__props) {
811
+ const attrs = useAttrs();
808
812
  return (_ctx, _cache) => {
809
813
  return openBlock(), createElementBlock("div", {
810
814
  class: normalizeClass(["ui-card", [
811
815
  `ui-card-${_ctx.variant}`,
812
816
  `ui-card-padding-${_ctx.padding}`,
813
817
  `ui-card-shadow-${_ctx.shadow}`,
814
- `ui-card-color-${_ctx.color}`
818
+ `ui-card-color-${_ctx.color}`,
819
+ unref(attrs)["class"]
815
820
  ]])
816
821
  }, [
817
- _ctx.$slots["header"] ? (openBlock(), createElementBlock("div", _hoisted_1$N, [
822
+ _ctx.$slots["header"] ? (openBlock(), createElementBlock("div", _hoisted_1$O, [
818
823
  renderSlot(_ctx.$slots, "header", {}, void 0, true)
819
824
  ])) : createCommentVNode("", true),
820
- createElementVNode("div", _hoisted_2$G, [
825
+ createElementVNode("div", _hoisted_2$H, [
821
826
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
822
827
  ]),
823
- _ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$D, [
828
+ _ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$E, [
824
829
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
825
830
  ])) : createCommentVNode("", true)
826
831
  ], 2);
827
832
  };
828
833
  }
829
834
  });
830
- const StrandsUiCard = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-2c11aaa2"]]);
835
+ const StrandsUiCard = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-261f3012"]]);
831
836
  /**
832
837
  * @license lucide-vue-next v0.542.0 - ISC
833
838
  *
@@ -1381,24 +1386,24 @@ const X = createLucideIcon("x", [
1381
1386
  ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
1382
1387
  ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
1383
1388
  ]);
1384
- const _hoisted_1$M = {
1389
+ const _hoisted_1$N = {
1385
1390
  key: 0,
1386
1391
  class: "input-leading-icon"
1387
1392
  };
1388
- const _hoisted_2$F = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "min", "max", "step", "autocomplete", "spellcheck"];
1389
- const _hoisted_3$C = {
1393
+ const _hoisted_2$G = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "min", "max", "step", "autocomplete", "spellcheck"];
1394
+ const _hoisted_3$D = {
1390
1395
  key: 1,
1391
1396
  class: "input-trailing-icon"
1392
1397
  };
1393
- const _hoisted_4$A = {
1398
+ const _hoisted_4$B = {
1394
1399
  key: 2,
1395
1400
  class: "input-trailing-icon"
1396
1401
  };
1397
- const _hoisted_5$w = {
1402
+ const _hoisted_5$x = {
1398
1403
  key: 3,
1399
1404
  class: "input-trailing-icon"
1400
1405
  };
1401
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
1406
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
1402
1407
  __name: "UiInput.Text",
1403
1408
  props: {
1404
1409
  type: { default: "text" },
@@ -1481,7 +1486,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1481
1486
  return openBlock(), createElementBlock("div", {
1482
1487
  class: normalizeClass(["input-field-wrapper", wrapperClasses.value])
1483
1488
  }, [
1484
- _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$M, [
1489
+ _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$N, [
1485
1490
  renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
1486
1491
  ])) : createCommentVNode("", true),
1487
1492
  createElementVNode("input", {
@@ -1502,8 +1507,8 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1502
1507
  onBlur: handleBlur,
1503
1508
  onFocus: handleFocus,
1504
1509
  onKeydown: handleKeydown
1505
- }, null, 42, _hoisted_2$F),
1506
- _ctx.type === "password" ? (openBlock(), createElementBlock("div", _hoisted_3$C, [
1510
+ }, null, 42, _hoisted_2$G),
1511
+ _ctx.type === "password" ? (openBlock(), createElementBlock("div", _hoisted_3$D, [
1507
1512
  createVNode(StrandsUiButton, {
1508
1513
  color: showPassword.value ? "primary" : "secondary",
1509
1514
  variant: showPassword.value ? "primary" : "ghost",
@@ -1518,7 +1523,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1518
1523
  ]),
1519
1524
  _: 1
1520
1525
  }, 8, ["color", "variant", "aria-label"])
1521
- ])) : _ctx.type === "search" && _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", _hoisted_4$A, [
1526
+ ])) : _ctx.type === "search" && _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", _hoisted_4$B, [
1522
1527
  createVNode(StrandsUiButton, {
1523
1528
  color: "danger",
1524
1529
  variant: "ghost",
@@ -1533,24 +1538,24 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1533
1538
  ]),
1534
1539
  _: 1
1535
1540
  })
1536
- ])) : hasTrailingIcon.value ? (openBlock(), createElementBlock("div", _hoisted_5$w, [
1541
+ ])) : hasTrailingIcon.value ? (openBlock(), createElementBlock("div", _hoisted_5$x, [
1537
1542
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
1538
1543
  ])) : createCommentVNode("", true)
1539
1544
  ], 2);
1540
1545
  };
1541
1546
  }
1542
1547
  });
1543
- const UiInputText = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-728dfbde"]]);
1544
- const _hoisted_1$L = {
1548
+ const UiInputText = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-728dfbde"]]);
1549
+ const _hoisted_1$M = {
1545
1550
  key: 0,
1546
1551
  class: "input-leading-icon"
1547
1552
  };
1548
- const _hoisted_2$E = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "cols", "maxlength", "autocomplete", "spellcheck"];
1549
- const _hoisted_3$B = {
1553
+ const _hoisted_2$F = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "cols", "maxlength", "autocomplete", "spellcheck"];
1554
+ const _hoisted_3$C = {
1550
1555
  key: 1,
1551
1556
  class: "input-trailing-icon"
1552
1557
  };
1553
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
1558
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1554
1559
  __name: "UiInput.Textarea",
1555
1560
  props: {
1556
1561
  modelValue: {},
@@ -1612,7 +1617,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1612
1617
  return openBlock(), createElementBlock("div", {
1613
1618
  class: normalizeClass(["input-field-wrapper input-textarea", wrapperClasses.value])
1614
1619
  }, [
1615
- _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$L, [
1620
+ _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$M, [
1616
1621
  renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
1617
1622
  ])) : createCommentVNode("", true),
1618
1623
  createElementVNode("div", {
@@ -1638,16 +1643,16 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1638
1643
  onBlur: handleBlur,
1639
1644
  onFocus: handleFocus,
1640
1645
  onKeydown: handleKeydown
1641
- }, null, 42, _hoisted_2$E)
1646
+ }, null, 42, _hoisted_2$F)
1642
1647
  ], 2),
1643
- _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_3$B, [
1648
+ _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_3$C, [
1644
1649
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
1645
1650
  ])) : createCommentVNode("", true)
1646
1651
  ], 2);
1647
1652
  };
1648
1653
  }
1649
1654
  });
1650
- const UiInputTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-acf98514"]]);
1655
+ const UiInputTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-acf98514"]]);
1651
1656
  function useFloatingPosition(options) {
1652
1657
  const {
1653
1658
  trigger,
@@ -1850,17 +1855,17 @@ function useFloatingPosition(options) {
1850
1855
  cleanup
1851
1856
  };
1852
1857
  }
1853
- const _hoisted_1$K = {
1858
+ const _hoisted_1$L = {
1854
1859
  key: 0,
1855
1860
  class: "input-leading-icon"
1856
1861
  };
1857
- const _hoisted_2$D = ["aria-expanded", "aria-controls"];
1858
- const _hoisted_3$A = { class: "input-select-value" };
1859
- const _hoisted_4$z = {
1862
+ const _hoisted_2$E = ["aria-expanded", "aria-controls"];
1863
+ const _hoisted_3$B = { class: "input-select-value" };
1864
+ const _hoisted_4$A = {
1860
1865
  key: 0,
1861
1866
  class: "input-select-text"
1862
1867
  };
1863
- const _hoisted_5$v = {
1868
+ const _hoisted_5$w = {
1864
1869
  key: 1,
1865
1870
  class: "input-select-placeholder"
1866
1871
  };
@@ -1888,7 +1893,7 @@ const _hoisted_14$l = {
1888
1893
  key: 0,
1889
1894
  class: "input-dropdown-option-check"
1890
1895
  };
1891
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
1896
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1892
1897
  __name: "UiInput.Select",
1893
1898
  props: {
1894
1899
  modelValue: {},
@@ -2153,7 +2158,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2153
2158
  paddingClasses.value
2154
2159
  ]])
2155
2160
  }, [
2156
- _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$K, [
2161
+ _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_1$L, [
2157
2162
  renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
2158
2163
  ])) : createCommentVNode("", true),
2159
2164
  createElementVNode("div", {
@@ -2168,15 +2173,15 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2168
2173
  "aria-haspopup": true,
2169
2174
  "aria-controls": dropdownId.value
2170
2175
  }, [
2171
- createElementVNode("div", _hoisted_3$A, [
2172
- displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$z, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$v, toDisplayString(_ctx.placeholder || "Select an option..."), 1))
2176
+ createElementVNode("div", _hoisted_3$B, [
2177
+ displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$A, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$w, toDisplayString(_ctx.placeholder || "Select an option..."), 1))
2173
2178
  ]),
2174
2179
  createElementVNode("div", {
2175
2180
  class: normalizeClass(["input-select-arrow", { "input-select-arrow-open": dropdownState.value.isOpen }])
2176
2181
  }, [
2177
2182
  createVNode(unref(ChevronDown))
2178
2183
  ], 2)
2179
- ], 42, _hoisted_2$D),
2184
+ ], 42, _hoisted_2$E),
2180
2185
  _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_6$r, [
2181
2186
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
2182
2187
  ])) : createCommentVNode("", true)
@@ -2245,12 +2250,12 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2245
2250
  };
2246
2251
  }
2247
2252
  });
2248
- const UiInputSelect = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-985cba8d"]]);
2249
- const _hoisted_1$J = { class: "input-leading-icon" };
2250
- const _hoisted_2$C = ["src"];
2251
- const _hoisted_3$z = ["id", "accept", "multiple", "disabled", "required"];
2252
- const _hoisted_4$y = { class: "input-file-content" };
2253
- const _hoisted_5$u = {
2253
+ const UiInputSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-985cba8d"]]);
2254
+ const _hoisted_1$K = { class: "input-leading-icon" };
2255
+ const _hoisted_2$D = ["src"];
2256
+ const _hoisted_3$A = ["id", "accept", "multiple", "disabled", "required"];
2257
+ const _hoisted_4$z = { class: "input-file-content" };
2258
+ const _hoisted_5$v = {
2254
2259
  key: 0,
2255
2260
  class: "input-file-prompt"
2256
2261
  };
@@ -2275,7 +2280,7 @@ const _hoisted_14$k = {
2275
2280
  key: 1,
2276
2281
  class: "input-trailing-icon"
2277
2282
  };
2278
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
2283
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2279
2284
  __name: "UiInput.File",
2280
2285
  props: {
2281
2286
  modelValue: {},
@@ -2453,13 +2458,13 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2453
2458
  paddingClasses.value
2454
2459
  ]])
2455
2460
  }, [
2456
- createElementVNode("div", _hoisted_1$J, [
2461
+ createElementVNode("div", _hoisted_1$K, [
2457
2462
  hasImageSelected.value && imagePreviewUrl.value ? (openBlock(), createElementBlock("img", {
2458
2463
  key: 0,
2459
2464
  src: imagePreviewUrl.value,
2460
2465
  alt: "Preview",
2461
2466
  class: "input-file-preview"
2462
- }, null, 8, _hoisted_2$C)) : _ctx.$slots["leading-icon"] ? renderSlot(_ctx.$slots, "leading-icon", { key: 1 }, void 0, true) : (openBlock(), createBlock(unref(FileInput), { key: 2 }))
2467
+ }, null, 8, _hoisted_2$D)) : _ctx.$slots["leading-icon"] ? renderSlot(_ctx.$slots, "leading-icon", { key: 1 }, void 0, true) : (openBlock(), createBlock(unref(FileInput), { key: 2 }))
2463
2468
  ]),
2464
2469
  createElementVNode("div", {
2465
2470
  class: normalizeClass(["input-file-area", {
@@ -2484,9 +2489,9 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2484
2489
  onChange: handleFileSelect,
2485
2490
  onBlur: handleBlur,
2486
2491
  onFocus: handleFocus
2487
- }, null, 40, _hoisted_3$z),
2488
- createElementVNode("div", _hoisted_4$y, [
2489
- selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_5$u, [
2492
+ }, null, 40, _hoisted_3$A),
2493
+ createElementVNode("div", _hoisted_4$z, [
2494
+ selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_5$v, [
2490
2495
  createElementVNode("div", _hoisted_6$q, toDisplayString(_ctx.dragDropText || "Click to select or drag and drop"), 1),
2491
2496
  _ctx.accept ? (openBlock(), createElementBlock("div", _hoisted_7$p, toDisplayString(_ctx.accept), 1)) : createCommentVNode("", true)
2492
2497
  ])) : (openBlock(), createElementBlock("div", _hoisted_8$n, [
@@ -2521,19 +2526,19 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2521
2526
  };
2522
2527
  }
2523
2528
  });
2524
- const UiInputFile = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-1328dc4f"]]);
2525
- const _hoisted_1$I = { class: "tabs-wrapper" };
2526
- const _hoisted_2$B = {
2529
+ const UiInputFile = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-1328dc4f"]]);
2530
+ const _hoisted_1$J = { class: "tabs-wrapper" };
2531
+ const _hoisted_2$C = {
2527
2532
  key: 0,
2528
2533
  class: "tabs-before"
2529
2534
  };
2530
- const _hoisted_3$y = ["aria-selected", "id", "onClick"];
2531
- const _hoisted_4$x = {
2535
+ const _hoisted_3$z = ["aria-selected", "id", "onClick"];
2536
+ const _hoisted_4$y = {
2532
2537
  key: 1,
2533
2538
  class: "tabs-after"
2534
2539
  };
2535
- const _hoisted_5$t = ["aria-labelledby"];
2536
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
2540
+ const _hoisted_5$u = ["aria-labelledby"];
2541
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2537
2542
  __name: "UiTabs",
2538
2543
  props: {
2539
2544
  modelValue: {},
@@ -2860,7 +2865,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2860
2865
  { "tabs-container--with-content": hasContentSlot.value }
2861
2866
  ]])
2862
2867
  }, [
2863
- createElementVNode("div", _hoisted_1$I, [
2868
+ createElementVNode("div", _hoisted_1$J, [
2864
2869
  createElementVNode("div", {
2865
2870
  class: normalizeClass(["tabs-list", [
2866
2871
  `tabs-list--${_ctx.orientation}`,
@@ -2869,7 +2874,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2869
2874
  ]]),
2870
2875
  style: normalizeStyle(_ctx.sticky ? { position: "sticky", [_ctx.sticky.side]: `${_ctx.sticky.offset}px`, zIndex: 10 } : {})
2871
2876
  }, [
2872
- _ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$B, [
2877
+ _ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$C, [
2873
2878
  renderSlot(_ctx.$slots, "before", {}, void 0, true)
2874
2879
  ])) : createCommentVNode("", true),
2875
2880
  createElementVNode("div", {
@@ -2893,7 +2898,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2893
2898
  id: `tab-${tab.value}`,
2894
2899
  role: "tab",
2895
2900
  onClick: ($event) => handleTabClick(tab.value, index)
2896
- }, toDisplayString(tab.label), 11, _hoisted_3$y);
2901
+ }, toDisplayString(tab.label), 11, _hoisted_3$z);
2897
2902
  }), 128)),
2898
2903
  createElementVNode("div", {
2899
2904
  class: normalizeClass(["tab-background", { "no-transition": !enableTransitions.value }]),
@@ -2904,7 +2909,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2904
2909
  style: normalizeStyle(underlineStyle.value)
2905
2910
  }, null, 6)
2906
2911
  ], 2),
2907
- _ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$x, [
2912
+ _ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$y, [
2908
2913
  renderSlot(_ctx.$slots, "after", {}, void 0, true)
2909
2914
  ])) : createCommentVNode("", true)
2910
2915
  ], 6)
@@ -2917,17 +2922,17 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2917
2922
  id: "tabpanel"
2918
2923
  }, [
2919
2924
  renderSlot(_ctx.$slots, "content", { activeTab: activeTab.value }, void 0, true)
2920
- ], 10, _hoisted_5$t)) : createCommentVNode("", true)
2925
+ ], 10, _hoisted_5$u)) : createCommentVNode("", true)
2921
2926
  ], 2);
2922
2927
  };
2923
2928
  }
2924
2929
  });
2925
- const StrandsUiTabs = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-edff91a5"]]);
2926
- const _hoisted_1$H = {
2930
+ const StrandsUiTabs = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-edff91a5"]]);
2931
+ const _hoisted_1$I = {
2927
2932
  key: 0,
2928
2933
  class: "ui-divider-text"
2929
2934
  };
2930
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
2935
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
2931
2936
  __name: "UiDivider",
2932
2937
  props: {
2933
2938
  orientation: { default: "horizontal" },
@@ -2981,7 +2986,7 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
2981
2986
  ]),
2982
2987
  style: normalizeStyle(dividerStyle.value)
2983
2988
  }, [
2984
- hasText.value ? (openBlock(), createElementBlock("span", _hoisted_1$H, [
2989
+ hasText.value ? (openBlock(), createElementBlock("span", _hoisted_1$I, [
2985
2990
  renderSlot(_ctx.$slots, "default", {}, () => [
2986
2991
  createTextVNode(toDisplayString(_ctx.text), 1)
2987
2992
  ], true)
@@ -2990,15 +2995,15 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
2990
2995
  };
2991
2996
  }
2992
2997
  });
2993
- const UiDivider = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-1c798024"]]);
2994
- const _hoisted_1$G = { class: "datetime-picker-wrapper" };
2995
- const _hoisted_2$A = { class: "datetime-picker-leading-icon" };
2996
- const _hoisted_3$x = { class: "datetime-picker-display" };
2997
- const _hoisted_4$w = {
2998
+ const UiDivider = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-1c798024"]]);
2999
+ const _hoisted_1$H = { class: "datetime-picker-wrapper" };
3000
+ const _hoisted_2$B = { class: "datetime-picker-leading-icon" };
3001
+ const _hoisted_3$y = { class: "datetime-picker-display" };
3002
+ const _hoisted_4$x = {
2998
3003
  key: 0,
2999
3004
  class: "datetime-picker-value"
3000
3005
  };
3001
- const _hoisted_5$s = {
3006
+ const _hoisted_5$t = {
3002
3007
  key: 1,
3003
3008
  class: "datetime-picker-placeholder"
3004
3009
  };
@@ -3031,7 +3036,7 @@ const _hoisted_20$b = {
3031
3036
  };
3032
3037
  const _hoisted_21$b = { class: "time-scroll" };
3033
3038
  const _hoisted_22$9 = { class: "datetime-picker-footer" };
3034
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
3039
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
3035
3040
  __name: "UiDateTimePicker",
3036
3041
  props: {
3037
3042
  modelValue: {},
@@ -3363,7 +3368,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
3363
3368
  cleanupFloating();
3364
3369
  });
3365
3370
  return (_ctx, _cache) => {
3366
- return openBlock(), createElementBlock("div", _hoisted_1$G, [
3371
+ return openBlock(), createElementBlock("div", _hoisted_1$H, [
3367
3372
  createElementVNode("div", {
3368
3373
  ref_key: "triggerElement",
3369
3374
  ref: triggerElement,
@@ -3373,11 +3378,11 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
3373
3378
  ]]),
3374
3379
  onClick: togglePicker
3375
3380
  }, [
3376
- createElementVNode("div", _hoisted_2$A, [
3381
+ createElementVNode("div", _hoisted_2$B, [
3377
3382
  _ctx.type === "date" ? (openBlock(), createBlock(unref(Calendar), { key: 0 })) : _ctx.type === "time" ? (openBlock(), createBlock(unref(Clock), { key: 1 })) : (openBlock(), createBlock(unref(CalendarClock), { key: 2 }))
3378
3383
  ]),
3379
- createElementVNode("div", _hoisted_3$x, [
3380
- displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$w, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$s, toDisplayString(_ctx.placeholder || getDefaultPlaceholder()), 1))
3384
+ createElementVNode("div", _hoisted_3$y, [
3385
+ displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$x, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$t, toDisplayString(_ctx.placeholder || getDefaultPlaceholder()), 1))
3381
3386
  ]),
3382
3387
  _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", {
3383
3388
  key: 0,
@@ -3632,8 +3637,8 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
3632
3637
  };
3633
3638
  }
3634
3639
  });
3635
- const UiDateTimePicker = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-10c66504"]]);
3636
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
3640
+ const UiDateTimePicker = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-10c66504"]]);
3641
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
3637
3642
  __name: "UiInput.Date",
3638
3643
  props: {
3639
3644
  modelValue: {},
@@ -3676,7 +3681,7 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
3676
3681
  };
3677
3682
  }
3678
3683
  });
3679
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
3684
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
3680
3685
  __name: "UiInput.Time",
3681
3686
  props: {
3682
3687
  modelValue: {},
@@ -3717,7 +3722,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
3717
3722
  };
3718
3723
  }
3719
3724
  });
3720
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
3725
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
3721
3726
  __name: "UiInput.DateTime",
3722
3727
  props: {
3723
3728
  modelValue: {},
@@ -24716,14 +24721,14 @@ var TextAlign = Extension.create({
24716
24721
  });
24717
24722
  var index_default$1 = TextAlign;
24718
24723
  var index_default = Placeholder;
24719
- const _hoisted_1$F = { class: "input-richtext-toolbar" };
24720
- const _hoisted_2$z = { class: "input-richtext-group" };
24721
- const _hoisted_3$w = { class: "input-richtext-group" };
24722
- const _hoisted_4$v = { class: "input-richtext-group" };
24723
- const _hoisted_5$r = { class: "input-richtext-group" };
24724
+ const _hoisted_1$G = { class: "input-richtext-toolbar" };
24725
+ const _hoisted_2$A = { class: "input-richtext-group" };
24726
+ const _hoisted_3$x = { class: "input-richtext-group" };
24727
+ const _hoisted_4$w = { class: "input-richtext-group" };
24728
+ const _hoisted_5$s = { class: "input-richtext-group" };
24724
24729
  const _hoisted_6$o = { class: "input-richtext-group" };
24725
24730
  const _hoisted_7$n = { class: "input-richtext-editor-wrapper" };
24726
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
24731
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
24727
24732
  __name: "UiInput.RichText",
24728
24733
  props: {
24729
24734
  modelValue: {},
@@ -24803,8 +24808,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
24803
24808
  "input-disabled": _ctx.disabled
24804
24809
  }])
24805
24810
  }, [
24806
- createElementVNode("div", _hoisted_1$F, [
24807
- createElementVNode("div", _hoisted_2$z, [
24811
+ createElementVNode("div", _hoisted_1$G, [
24812
+ createElementVNode("div", _hoisted_2$A, [
24808
24813
  createVNode(StrandsUiButton, {
24809
24814
  color: unref(editor)?.isActive("bold") ? "primary" : "secondary",
24810
24815
  size: "sm",
@@ -24867,7 +24872,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
24867
24872
  spacing: "28px",
24868
24873
  margin: "4px"
24869
24874
  }),
24870
- createElementVNode("div", _hoisted_3$w, [
24875
+ createElementVNode("div", _hoisted_3$x, [
24871
24876
  createVNode(StrandsUiButton, {
24872
24877
  color: unref(editor)?.isActive("heading", { level: 1 }) ? "primary" : "secondary",
24873
24878
  size: "sm",
@@ -24916,7 +24921,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
24916
24921
  spacing: "28px",
24917
24922
  margin: "4px"
24918
24923
  }),
24919
- createElementVNode("div", _hoisted_4$v, [
24924
+ createElementVNode("div", _hoisted_4$w, [
24920
24925
  createVNode(StrandsUiButton, {
24921
24926
  color: unref(editor)?.isActive({ textAlign: "left" }) ? "primary" : "secondary",
24922
24927
  size: "sm",
@@ -24965,7 +24970,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
24965
24970
  spacing: "28px",
24966
24971
  margin: "4px"
24967
24972
  }),
24968
- createElementVNode("div", _hoisted_5$r, [
24973
+ createElementVNode("div", _hoisted_5$s, [
24969
24974
  createVNode(StrandsUiButton, {
24970
24975
  color: unref(editor)?.isActive("bulletList") ? "primary" : "secondary",
24971
24976
  size: "sm",
@@ -25084,7 +25089,241 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
25084
25089
  };
25085
25090
  }
25086
25091
  });
25087
- const UiInputRichText = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-1031412d"]]);
25092
+ const UiInputRichText = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-1031412d"]]);
25093
+ const _hoisted_1$F = { class: "pincode-inputs" };
25094
+ const _hoisted_2$z = {
25095
+ key: 0,
25096
+ class: "pincode-icon pincode-icon-leading"
25097
+ };
25098
+ const _hoisted_3$w = ["value", "disabled", "readonly", "tabindex", "data-index", "onInput", "onKeydown", "onFocus"];
25099
+ const _hoisted_4$v = {
25100
+ key: 1,
25101
+ class: "pincode-divider"
25102
+ };
25103
+ const _hoisted_5$r = {
25104
+ key: 1,
25105
+ class: "pincode-icon pincode-icon-trailing"
25106
+ };
25107
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
25108
+ __name: "UiInput.Pincode",
25109
+ props: {
25110
+ modelValue: {},
25111
+ maxLength: { default: 6 },
25112
+ variant: { default: "numeric" },
25113
+ divider: {},
25114
+ disabled: { type: Boolean },
25115
+ readonly: { type: Boolean },
25116
+ error: { type: [Boolean, String] },
25117
+ size: { default: "md" },
25118
+ inputId: {}
25119
+ },
25120
+ emits: ["update:modelValue", "blur", "focus", "complete"],
25121
+ setup(__props, { emit: __emit }) {
25122
+ const props = __props;
25123
+ const emit = __emit;
25124
+ const pincodeRefs = ref([]);
25125
+ const focusedIndex = ref(-1);
25126
+ const values = computed(() => {
25127
+ const val = props.modelValue || "";
25128
+ const arr = val.split("");
25129
+ while (arr.length < props.maxLength) {
25130
+ arr.push("");
25131
+ }
25132
+ return arr.slice(0, props.maxLength);
25133
+ });
25134
+ const dividerCount = computed(() => {
25135
+ if (!props.divider) return 0;
25136
+ if (typeof props.divider === "number") return props.divider;
25137
+ return props.divider.count;
25138
+ });
25139
+ const dividerCharacter = computed(() => {
25140
+ if (!props.divider) return "";
25141
+ if (typeof props.divider === "number") return "-";
25142
+ if (typeof props.divider === "object" && "character" in props.divider) {
25143
+ return props.divider.character || "-";
25144
+ }
25145
+ return "-";
25146
+ });
25147
+ const useCustomDivider = computed(() => {
25148
+ return typeof props.divider === "object" && "component" in props.divider && props.divider.component === "divider";
25149
+ });
25150
+ const dividerProps = computed(() => {
25151
+ if (!useCustomDivider.value) return {};
25152
+ const divider = props.divider;
25153
+ return {
25154
+ orientation: "vertical",
25155
+ variant: "solid",
25156
+ thickness: "1px",
25157
+ margin: "0",
25158
+ spacing: "1.5rem",
25159
+ ...divider.props
25160
+ };
25161
+ });
25162
+ const shouldShowDivider = (index) => {
25163
+ if (!dividerCount.value || index === props.maxLength) return false;
25164
+ return index % dividerCount.value === 0;
25165
+ };
25166
+ const getValidationPattern = () => {
25167
+ switch (props.variant) {
25168
+ case "numeric":
25169
+ return /^[0-9]$/;
25170
+ case "alpha":
25171
+ return /^[a-zA-Z]$/;
25172
+ case "alphanumeric":
25173
+ return /^[a-zA-Z0-9]$/;
25174
+ default:
25175
+ return /^[0-9]$/;
25176
+ }
25177
+ };
25178
+ const handleInput = (event, index) => {
25179
+ const target = event.target;
25180
+ const value = target.value;
25181
+ const char = value.slice(-1);
25182
+ const pattern = getValidationPattern();
25183
+ if (!pattern.test(char) && char !== "") {
25184
+ target.value = values.value[index];
25185
+ return;
25186
+ }
25187
+ const newValues = [...values.value];
25188
+ newValues[index] = char;
25189
+ const newModelValue = newValues.join("");
25190
+ emit("update:modelValue", newModelValue);
25191
+ if (char && index < props.maxLength - 1) {
25192
+ nextTick(() => {
25193
+ const nextInput = pincodeRefs.value[index + 1];
25194
+ if (nextInput) {
25195
+ nextInput.focus();
25196
+ nextInput.select();
25197
+ }
25198
+ });
25199
+ }
25200
+ if (newModelValue.length === props.maxLength) {
25201
+ emit("complete", newModelValue);
25202
+ }
25203
+ };
25204
+ const handleKeydown = (event, index) => {
25205
+ const key = event.key;
25206
+ if (key === "Backspace") {
25207
+ event.preventDefault();
25208
+ const newValues = [...values.value];
25209
+ if (values.value[index]) {
25210
+ newValues[index] = "";
25211
+ emit("update:modelValue", newValues.join(""));
25212
+ } else if (index > 0) {
25213
+ newValues[index - 1] = "";
25214
+ emit("update:modelValue", newValues.join(""));
25215
+ nextTick(() => {
25216
+ const prevInput = pincodeRefs.value[index - 1];
25217
+ if (prevInput) {
25218
+ prevInput.focus();
25219
+ }
25220
+ });
25221
+ }
25222
+ } else if (key === "ArrowLeft" && index > 0) {
25223
+ event.preventDefault();
25224
+ const prevInput = pincodeRefs.value[index - 1];
25225
+ if (prevInput) {
25226
+ prevInput.focus();
25227
+ }
25228
+ } else if (key === "ArrowRight" && index < props.maxLength - 1) {
25229
+ event.preventDefault();
25230
+ const nextInput = pincodeRefs.value[index + 1];
25231
+ if (nextInput) {
25232
+ nextInput.focus();
25233
+ }
25234
+ } else if (key === "Delete") {
25235
+ event.preventDefault();
25236
+ const newValues = [...values.value];
25237
+ newValues[index] = "";
25238
+ emit("update:modelValue", newValues.join(""));
25239
+ }
25240
+ };
25241
+ const handlePaste = (event) => {
25242
+ event.preventDefault();
25243
+ const pastedText = event.clipboardData?.getData("text") || "";
25244
+ const pattern = getValidationPattern();
25245
+ const filteredText = pastedText.split("").filter((char) => pattern.test(char)).slice(0, props.maxLength).join("");
25246
+ if (filteredText) {
25247
+ emit("update:modelValue", filteredText);
25248
+ const nextEmptyIndex = filteredText.length < props.maxLength ? filteredText.length : props.maxLength - 1;
25249
+ nextTick(() => {
25250
+ const targetInput = pincodeRefs.value[nextEmptyIndex];
25251
+ if (targetInput) {
25252
+ targetInput.focus();
25253
+ }
25254
+ });
25255
+ if (filteredText.length === props.maxLength) {
25256
+ emit("complete", filteredText);
25257
+ }
25258
+ }
25259
+ };
25260
+ const handleFocus = (index) => {
25261
+ focusedIndex.value = index;
25262
+ const input = pincodeRefs.value[index];
25263
+ if (input) {
25264
+ input.select();
25265
+ }
25266
+ };
25267
+ const handleBlur = (event) => {
25268
+ focusedIndex.value = -1;
25269
+ emit("blur", event);
25270
+ };
25271
+ watch(() => props.modelValue, (newValue) => {
25272
+ if (!newValue) {
25273
+ nextTick(() => {
25274
+ const firstInput = pincodeRefs.value[0];
25275
+ if (firstInput && !props.disabled && !props.readonly) {
25276
+ firstInput.focus();
25277
+ }
25278
+ });
25279
+ }
25280
+ });
25281
+ return (_ctx, _cache) => {
25282
+ return openBlock(), createElementBlock("div", {
25283
+ class: normalizeClass(["pincode-wrapper", [`pincode-size-${_ctx.size}`, { "pincode-error": _ctx.error }]])
25284
+ }, [
25285
+ createElementVNode("div", _hoisted_1$F, [
25286
+ _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_2$z, [
25287
+ renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
25288
+ ])) : createCommentVNode("", true),
25289
+ (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.maxLength, (index) => {
25290
+ return openBlock(), createElementBlock(Fragment$1, { key: index }, [
25291
+ createElementVNode("input", {
25292
+ ref_for: true,
25293
+ ref_key: "pincodeRefs",
25294
+ ref: pincodeRefs,
25295
+ type: "text",
25296
+ class: normalizeClass(["pincode-input", {
25297
+ "pincode-input-filled": values.value[index - 1],
25298
+ "pincode-input-focused": focusedIndex.value === index - 1
25299
+ }]),
25300
+ value: values.value[index - 1],
25301
+ disabled: _ctx.disabled,
25302
+ readonly: _ctx.readonly,
25303
+ tabindex: _ctx.disabled ? -1 : 0,
25304
+ "data-index": index - 1,
25305
+ maxlength: "1",
25306
+ onInput: ($event) => handleInput($event, index - 1),
25307
+ onKeydown: ($event) => handleKeydown($event, index - 1),
25308
+ onFocus: ($event) => handleFocus(index - 1),
25309
+ onBlur: handleBlur,
25310
+ onPaste: handlePaste
25311
+ }, null, 42, _hoisted_3$w),
25312
+ shouldShowDivider(index) && useCustomDivider.value ? (openBlock(), createBlock(UiDivider, mergeProps({
25313
+ key: 0,
25314
+ ref_for: true
25315
+ }, dividerProps.value, { class: "pincode-custom-divider" }), null, 16)) : shouldShowDivider(index) ? (openBlock(), createElementBlock("span", _hoisted_4$v, toDisplayString(dividerCharacter.value), 1)) : createCommentVNode("", true)
25316
+ ], 64);
25317
+ }), 128)),
25318
+ _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_5$r, [
25319
+ renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
25320
+ ])) : createCommentVNode("", true)
25321
+ ])
25322
+ ], 2);
25323
+ };
25324
+ }
25325
+ });
25326
+ const UiInputPincode = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-25372cfe"]]);
25088
25327
  const _hoisted_1$E = { class: "input-container" };
25089
25328
  const _hoisted_2$y = ["for"];
25090
25329
  const _hoisted_3$v = {
@@ -25092,11 +25331,11 @@ const _hoisted_3$v = {
25092
25331
  class: "input-required"
25093
25332
  };
25094
25333
  const _hoisted_4$u = {
25095
- key: 9,
25334
+ key: 10,
25096
25335
  class: "input-error-text"
25097
25336
  };
25098
25337
  const _hoisted_5$q = {
25099
- key: 10,
25338
+ key: 11,
25100
25339
  class: "input-help-text"
25101
25340
  };
25102
25341
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
@@ -25135,10 +25374,13 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25135
25374
  minuteStep: {},
25136
25375
  minHeight: {},
25137
25376
  maxHeight: {},
25377
+ maxLength: {},
25378
+ variant: {},
25379
+ divider: {},
25138
25380
  label: {},
25139
25381
  helpText: {}
25140
25382
  },
25141
- emits: ["update:modelValue", "blur", "focus", "keydown", "file-error"],
25383
+ emits: ["update:modelValue", "blur", "focus", "keydown", "file-error", "complete"],
25142
25384
  setup(__props, { emit: __emit }) {
25143
25385
  const props = __props;
25144
25386
  const emit = __emit;
@@ -25163,6 +25405,9 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25163
25405
  const handleFileError = (error) => {
25164
25406
  emit("file-error", error);
25165
25407
  };
25408
+ const handlePincodeComplete = (value) => {
25409
+ emit("complete", value);
25410
+ };
25166
25411
  return (_ctx, _cache) => {
25167
25412
  return openBlock(), createElementBlock("div", _hoisted_1$E, [
25168
25413
  props.label ? (openBlock(), createElementBlock("label", {
@@ -25307,7 +25552,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25307
25552
  ]),
25308
25553
  key: "1"
25309
25554
  } : void 0
25310
- ]), 1032, ["model-value", "accept", "multiple", "max-file-size", "drag-drop-text", "selected-text", "disabled", "required", "input-id", "error", "size"])) : _ctx.type === "date" ? (openBlock(), createBlock(_sfc_main$L, {
25555
+ ]), 1032, ["model-value", "accept", "multiple", "max-file-size", "drag-drop-text", "selected-text", "disabled", "required", "input-id", "error", "size"])) : _ctx.type === "date" ? (openBlock(), createBlock(_sfc_main$M, {
25311
25556
  key: 5,
25312
25557
  "model-value": _ctx.modelValue,
25313
25558
  placeholder: _ctx.placeholder,
@@ -25322,7 +25567,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25322
25567
  "onUpdate:modelValue": handleInput,
25323
25568
  onBlur: handleBlur,
25324
25569
  onFocus: handleFocus
25325
- }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "min", "max", "input-id", "error", "size"])) : _ctx.type === "time" ? (openBlock(), createBlock(_sfc_main$K, {
25570
+ }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "min", "max", "input-id", "error", "size"])) : _ctx.type === "time" ? (openBlock(), createBlock(_sfc_main$L, {
25326
25571
  key: 6,
25327
25572
  "model-value": _ctx.modelValue,
25328
25573
  placeholder: _ctx.placeholder,
@@ -25335,7 +25580,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25335
25580
  "onUpdate:modelValue": handleInput,
25336
25581
  onBlur: handleBlur,
25337
25582
  onFocus: handleFocus
25338
- }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "input-id", "error", "size"])) : _ctx.type === "datetime" ? (openBlock(), createBlock(_sfc_main$J, {
25583
+ }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "required", "input-id", "error", "size"])) : _ctx.type === "datetime" ? (openBlock(), createBlock(_sfc_main$K, {
25339
25584
  key: 7,
25340
25585
  "model-value": _ctx.modelValue,
25341
25586
  placeholder: _ctx.placeholder,
@@ -25363,13 +25608,43 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25363
25608
  "onUpdate:modelValue": handleInput,
25364
25609
  onBlur: handleBlur,
25365
25610
  onFocus: handleFocus
25366
- }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "input-id", "error", "min-height", "max-height"])) : createCommentVNode("", true),
25611
+ }, null, 8, ["model-value", "placeholder", "disabled", "readonly", "input-id", "error", "min-height", "max-height"])) : _ctx.type === "pincode" ? (openBlock(), createBlock(UiInputPincode, {
25612
+ key: 9,
25613
+ "model-value": _ctx.modelValue,
25614
+ "max-length": props.maxLength || 6,
25615
+ variant: props.variant || "numeric",
25616
+ divider: props.divider,
25617
+ disabled: _ctx.disabled,
25618
+ readonly: _ctx.readonly,
25619
+ "input-id": inputId.value,
25620
+ error: props.error,
25621
+ size: props.size,
25622
+ "onUpdate:modelValue": handleInput,
25623
+ onBlur: handleBlur,
25624
+ onFocus: handleFocus,
25625
+ onComplete: handlePincodeComplete
25626
+ }, createSlots({ _: 2 }, [
25627
+ _ctx.$slots["leading-icon"] ? {
25628
+ name: "leading-icon",
25629
+ fn: withCtx(() => [
25630
+ renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
25631
+ ]),
25632
+ key: "0"
25633
+ } : void 0,
25634
+ _ctx.$slots["trailing-icon"] ? {
25635
+ name: "trailing-icon",
25636
+ fn: withCtx(() => [
25637
+ renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
25638
+ ]),
25639
+ key: "1"
25640
+ } : void 0
25641
+ ]), 1032, ["model-value", "max-length", "variant", "divider", "disabled", "readonly", "input-id", "error", "size"])) : createCommentVNode("", true),
25367
25642
  props.error && props.error !== true ? (openBlock(), createElementBlock("p", _hoisted_4$u, toDisplayString(typeof props.error === "string" ? props.error : props.error?.message || String(props.error)), 1)) : props.helpText ? (openBlock(), createElementBlock("p", _hoisted_5$q, toDisplayString(props.helpText), 1)) : createCommentVNode("", true)
25368
25643
  ]);
25369
25644
  };
25370
25645
  }
25371
25646
  });
25372
- const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-10a4eb0c"]]);
25647
+ const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-adf737f4"]]);
25373
25648
  const _hoisted_1$D = ["disabled", "aria-disabled"];
25374
25649
  const _hoisted_2$x = ["href", "target", "rel", "aria-disabled"];
25375
25650
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
@@ -32050,7 +32325,7 @@ function useStrandsMfa() {
32050
32325
  let errorMessage = `Request failed: ${response.status} ${response.statusText}`;
32051
32326
  try {
32052
32327
  const errorData = JSON.parse(errorText);
32053
- errorMessage = errorData.message || errorMessage;
32328
+ errorMessage = errorData.error?.message || errorData.message || errorMessage;
32054
32329
  } catch {
32055
32330
  if (errorText) {
32056
32331
  errorMessage = errorText;
@@ -32497,16 +32772,11 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
32497
32772
  emailCodeSent.value = false;
32498
32773
  showBackupCodeInput.value = false;
32499
32774
  };
32500
- const onCodeInput = (value) => {
32501
- verificationCode.value = value.replace(/\D/g, "").slice(0, 6);
32502
- verificationError.value = "";
32503
- };
32504
- const onCodePaste = (event) => {
32505
- event.preventDefault();
32506
- const pastedData = event.clipboardData?.getData("text/plain") || "";
32507
- const cleanedData = pastedData.replace(/\D/g, "").slice(0, 6);
32508
- verificationCode.value = cleanedData;
32775
+ const onCodeComplete = (value) => {
32509
32776
  verificationError.value = "";
32777
+ if (value.length === 6) {
32778
+ verify();
32779
+ }
32510
32780
  };
32511
32781
  const onBackupCodeInput = (value) => {
32512
32782
  let cleaned = value.replace(/[^a-zA-Z0-9-]/g, "").toLowerCase();
@@ -32867,33 +33137,20 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
32867
33137
  createVNode(unref(StrandsUiInput), {
32868
33138
  modelValue: verificationCode.value,
32869
33139
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => verificationCode.value = $event),
33140
+ type: "pincode",
32870
33141
  label: "Verification Code",
32871
- placeholder: selectedMethod.value.device_type === "totp" ? "123456" : "123456",
32872
- maxlength: "6",
33142
+ "max-length": 6,
33143
+ variant: "numeric",
32873
33144
  error: verificationError.value,
32874
33145
  disabled: loading2.value,
32875
- onInput: onCodeInput,
32876
- onKeydown: withKeys(verify, ["enter"]),
32877
- onPaste: onCodePaste,
33146
+ onComplete: onCodeComplete,
32878
33147
  autofocus: "",
32879
- name: "totp",
32880
- id: "totp-input",
32881
- autocomplete: "one-time-code",
32882
- inputmode: "numeric",
32883
- "data-lpignore": "false",
32884
- "data-form-type": "other",
32885
- "data-bwignore": "false",
32886
- "data-1p-ignore": "false",
32887
- "data-testid": "totp-input",
32888
- spellcheck: "false",
32889
- "aria-label": "Enter your verification code",
32890
- "aria-describedby": "totp-description",
32891
33148
  role: "textbox",
32892
33149
  tabindex: "0",
32893
33150
  pattern: "[0-9]{6}",
32894
33151
  minlength: "6",
32895
33152
  title: "Enter 6-digit verification code"
32896
- }, null, 8, ["modelValue", "placeholder", "error", "disabled"]),
33153
+ }, null, 8, ["modelValue", "error", "disabled"]),
32897
33154
  selectedMethod.value.device_type === "totp" ? (openBlock(), createElementBlock("div", _hoisted_30$4, [
32898
33155
  _cache[13] || (_cache[13] = createTextVNode(" Open your authenticator app and enter the 6-digit code for ", -1)),
32899
33156
  createElementVNode("span", _hoisted_31$4, '"' + toDisplayString(selectedMethod.value.device_name) + '"', 1)
@@ -32969,7 +33226,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
32969
33226
  };
32970
33227
  }
32971
33228
  });
32972
- const StrandsMfaVerification = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-0d8b9530"]]);
33229
+ const StrandsMfaVerification = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-f0750b5a"]]);
32973
33230
  const providersCache = /* @__PURE__ */ new Map();
32974
33231
  const CACHE_DURATION = 5 * 60 * 1e3;
32975
33232
  function useOAuthProviders(options = {}) {
@@ -34994,9 +35251,11 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
34994
35251
  deviceNameError.value = error instanceof Error ? error.message : "Failed to setup TOTP";
34995
35252
  }
34996
35253
  };
34997
- const onVerificationCodeInput = (value) => {
34998
- verificationCode.value = value.replace(/\D/g, "").slice(0, 6);
35254
+ const onVerificationComplete = (value) => {
34999
35255
  verificationError.value = "";
35256
+ if (value.length === 6) {
35257
+ verifySetup();
35258
+ }
35000
35259
  };
35001
35260
  const verifySetup = async () => {
35002
35261
  if (!totpSetupData.value || !verificationCode.value) {
@@ -35140,12 +35399,13 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
35140
35399
  createVNode(unref(StrandsUiInput), {
35141
35400
  modelValue: verificationCode.value,
35142
35401
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => verificationCode.value = $event),
35402
+ type: "pincode",
35143
35403
  label: "Verification Code",
35144
- placeholder: "123456",
35145
- maxlength: "6",
35404
+ "max-length": 6,
35405
+ variant: "numeric",
35146
35406
  error: verificationError.value,
35147
35407
  disabled: unref(loading2),
35148
- onInput: onVerificationCodeInput
35408
+ onComplete: onVerificationComplete
35149
35409
  }, null, 8, ["modelValue", "error", "disabled"]),
35150
35410
  createElementVNode("div", _hoisted_13$8, [
35151
35411
  createVNode(unref(CompoundUiButton), {
@@ -35250,7 +35510,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
35250
35510
  };
35251
35511
  }
35252
35512
  });
35253
- const StrandsTotpSetupModal = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-85fffc4c"]]);
35513
+ const StrandsTotpSetupModal = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-a23ed8a3"]]);
35254
35514
  const _hoisted_1$e = {
35255
35515
  key: 0,
35256
35516
  class: "email-mfa-setup-step"
@@ -35310,6 +35570,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35310
35570
  }
35311
35571
  }
35312
35572
  });
35573
+ watch(verificationCode, () => {
35574
+ if (verificationError.value) {
35575
+ verificationError.value = "";
35576
+ }
35577
+ });
35313
35578
  onBeforeUnmount(() => {
35314
35579
  if (cooldownInterval) {
35315
35580
  clearInterval(cooldownInterval);
@@ -35335,9 +35600,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35335
35600
  deviceNameError.value = error instanceof Error ? error.message : "Failed to setup email MFA";
35336
35601
  }
35337
35602
  };
35338
- const onVerificationCodeInput = (value) => {
35339
- verificationCode.value = value.replace(/\D/g, "").slice(0, 6);
35603
+ const onVerificationComplete = (value) => {
35340
35604
  verificationError.value = "";
35605
+ if (value.length === 6) {
35606
+ verifySetup();
35607
+ }
35341
35608
  };
35342
35609
  const verifySetup = async () => {
35343
35610
  if (!emailMfaDeviceId.value || !verificationCode.value) {
@@ -35416,7 +35683,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35416
35683
  }),
35417
35684
  createElementVNode("div", _hoisted_2$c, [
35418
35685
  createVNode(unref(CompoundUiButton), {
35419
- variant: "secondary",
35686
+ color: "secondary",
35420
35687
  onClick: closeModal,
35421
35688
  disabled: unref(loading2)
35422
35689
  }, {
@@ -35426,7 +35693,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35426
35693
  _: 1
35427
35694
  }, 8, ["disabled"]),
35428
35695
  createVNode(unref(CompoundUiButton), {
35429
- variant: "primary",
35430
35696
  onClick: startSetup,
35431
35697
  disabled: !deviceName.value.trim() || unref(loading2),
35432
35698
  loading: unref(loading2)
@@ -35465,16 +35731,17 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35465
35731
  createVNode(unref(StrandsUiInput), {
35466
35732
  modelValue: verificationCode.value,
35467
35733
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => verificationCode.value = $event),
35734
+ type: "pincode",
35468
35735
  label: "Verification Code",
35469
- placeholder: "123456",
35470
- maxlength: "6",
35736
+ "max-length": 6,
35737
+ variant: "numeric",
35471
35738
  error: verificationError.value,
35472
35739
  disabled: unref(loading2),
35473
- onInput: onVerificationCodeInput
35740
+ onComplete: onVerificationComplete
35474
35741
  }, null, 8, ["modelValue", "error", "disabled"]),
35475
35742
  createElementVNode("div", _hoisted_4$b, [
35476
35743
  createVNode(unref(CompoundUiButton), {
35477
- variant: "secondary",
35744
+ color: "secondary",
35478
35745
  size: "sm",
35479
35746
  onClick: resendCode,
35480
35747
  disabled: unref(loading2) || cooldownActive.value
@@ -35487,7 +35754,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35487
35754
  ]),
35488
35755
  createElementVNode("div", _hoisted_5$9, [
35489
35756
  createVNode(unref(CompoundUiButton), {
35490
- variant: "secondary",
35757
+ color: "secondary",
35491
35758
  onClick: _cache[2] || (_cache[2] = ($event) => step.value = 1),
35492
35759
  disabled: unref(loading2)
35493
35760
  }, {
@@ -35497,7 +35764,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35497
35764
  _: 1
35498
35765
  }, 8, ["disabled"]),
35499
35766
  createVNode(unref(CompoundUiButton), {
35500
- variant: "primary",
35501
35767
  onClick: verifySetup,
35502
35768
  disabled: verificationCode.value.length !== 6 || unref(loading2),
35503
35769
  loading: unref(loading2)
@@ -35566,7 +35832,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
35566
35832
  };
35567
35833
  }
35568
35834
  });
35569
- const StrandsEmailMfaSetupModal = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-238346d9"]]);
35835
+ const StrandsEmailMfaSetupModal = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-34ee7825"]]);
35570
35836
  const _hoisted_1$d = {
35571
35837
  key: 0,
35572
35838
  class: "hardware-key-setup-step"