@strands.gg/accui 2.9.3 → 2.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,14 +1,14 @@
1
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, getCurrentInstance, resolveDynamicComponent, resolveComponent, createSlots, useAttrs, h as h$1, ref, nextTick, withModifiers, renderList, watch, toRefs, withDirectives, vModelSelect, 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-XmPqJn_B.es.js";
3
3
  import { s } from "./useStrandsConfig-XmPqJn_B.es.js";
4
- import { u as useStrandsAuth } from "./useStrandsAuth-Xz8lnhv7.es.js";
4
+ import { u as useStrandsAuth } from "./useStrandsAuth-Dca-zFQT.es.js";
5
5
  const _hoisted_1$U = { class: "app-content" };
6
- const _hoisted_2$L = {
6
+ const _hoisted_2$M = {
7
7
  key: 0,
8
8
  class: "ui-app-loading-overlay"
9
9
  };
10
- const _hoisted_3$I = { class: "ui-app-loading-content" };
11
- const _hoisted_4$F = {
10
+ const _hoisted_3$J = { class: "ui-app-loading-content" };
11
+ const _hoisted_4$G = {
12
12
  key: 0,
13
13
  class: "ui-app-loading-message"
14
14
  };
@@ -64,10 +64,10 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
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$L, [
68
- createElementVNode("div", _hoisted_3$I, [
67
+ isGlobalLoading.value ? (openBlock(), createElementBlock("div", _hoisted_2$M, [
68
+ createElementVNode("div", _hoisted_3$J, [
69
69
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "ui-app-loading-spinner" }, null, -1)),
70
- _ctx.loadingMessage ? (openBlock(), createElementBlock("p", _hoisted_4$F, toDisplayString(_ctx.loadingMessage), 1)) : createCommentVNode("", true)
70
+ _ctx.loadingMessage ? (openBlock(), createElementBlock("p", _hoisted_4$G, toDisplayString(_ctx.loadingMessage), 1)) : createCommentVNode("", true)
71
71
  ])
72
72
  ])) : createCommentVNode("", true)
73
73
  ]))
@@ -84,15 +84,15 @@ const _export_sfc = (sfc, props) => {
84
84
  };
85
85
  const UiApp = /* @__PURE__ */ _export_sfc(_sfc_main$10, [["__scopeId", "data-v-f18c1706"]]);
86
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 = {
87
+ const _hoisted_2$L = { class: "alert-content" };
88
+ const _hoisted_3$I = { class: "alert-icon-container" };
89
+ const _hoisted_4$F = {
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$z = ["d"];
95
+ const _hoisted_5$A = ["d"];
96
96
  const _hoisted_6$t = { class: "alert-text-container" };
97
97
  const _hoisted_7$s = {
98
98
  key: 0,
@@ -139,14 +139,14 @@ const _sfc_main$$ = /* @__PURE__ */ defineComponent({
139
139
  class: normalizeClass(alertClasses.value),
140
140
  role: "alert"
141
141
  }, [
142
- createElementVNode("div", _hoisted_2$K, [
143
- createElementVNode("div", _hoisted_3$H, [
144
- (openBlock(), createElementBlock("svg", _hoisted_4$E, [
142
+ createElementVNode("div", _hoisted_2$L, [
143
+ createElementVNode("div", _hoisted_3$I, [
144
+ (openBlock(), createElementBlock("svg", _hoisted_4$F, [
145
145
  createElementVNode("path", {
146
146
  "fill-rule": "evenodd",
147
147
  d: iconPath.value,
148
148
  "clip-rule": "evenodd"
149
- }, null, 8, _hoisted_5$z)
149
+ }, null, 8, _hoisted_5$A)
150
150
  ]))
151
151
  ]),
152
152
  createElementVNode("div", _hoisted_6$t, [
@@ -194,10 +194,10 @@ const _hoisted_1$S = {
194
194
  key: 0,
195
195
  class: "loader-icon"
196
196
  };
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"];
197
+ const _hoisted_2$K = ["width", "height"];
198
+ const _hoisted_3$H = ["d"];
199
+ const _hoisted_4$E = ["stroke-width"];
200
+ const _hoisted_5$z = ["stroke-width"];
201
201
  const _hoisted_6$s = ["width", "height"];
202
202
  const _hoisted_7$r = {
203
203
  key: 3,
@@ -248,7 +248,7 @@ const _sfc_main$_ = /* @__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$G)
251
+ }, null, 8, _hoisted_3$H)
252
252
  ]),
253
253
  createElementVNode("use", {
254
254
  href: "#logo-path",
@@ -257,7 +257,7 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
257
257
  "stroke-width": _ctx.weight,
258
258
  "stroke-linecap": "round",
259
259
  "stroke-linejoin": "round"
260
- }, null, 8, _hoisted_4$D),
260
+ }, null, 8, _hoisted_4$E),
261
261
  createElementVNode("use", {
262
262
  href: "#logo-path",
263
263
  fill: "none",
@@ -266,8 +266,8 @@ const _sfc_main$_ = /* @__PURE__ */ defineComponent({
266
266
  "stroke-linecap": "round",
267
267
  "stroke-linejoin": "round",
268
268
  class: "loader-animated-path"
269
- }, null, 8, _hoisted_5$y)
270
- ], 8, _hoisted_2$J))
269
+ }, null, 8, _hoisted_5$z)
270
+ ], 8, _hoisted_2$K))
271
271
  ])) : _ctx.variant === "circle" ? (openBlock(), createElementBlock("div", {
272
272
  key: 1,
273
273
  class: "loader-circle",
@@ -311,12 +311,12 @@ const _hoisted_1$R = {
311
311
  key: 0,
312
312
  class: "button-loading-content"
313
313
  };
314
- const _hoisted_2$I = { key: 0 };
315
- const _hoisted_3$F = {
314
+ const _hoisted_2$J = { key: 0 };
315
+ const _hoisted_3$G = {
316
316
  key: 0,
317
317
  class: "leading-icon"
318
318
  };
319
- const _hoisted_4$C = {
319
+ const _hoisted_4$D = {
320
320
  key: 1,
321
321
  class: "trailing-icon"
322
322
  };
@@ -369,18 +369,18 @@ const _sfc_main$Z = /* @__PURE__ */ defineComponent({
369
369
  centered: false,
370
370
  color: "white"
371
371
  }, null, 8, ["size"]),
372
- !_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$I, toDisplayString(_ctx.loadingText || "Loading..."), 1)) : createCommentVNode("", true)
372
+ !_ctx.icon ? (openBlock(), createElementBlock("span", _hoisted_2$J, 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$F, [
378
+ hasLeadingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_3$G, [
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$C, [
383
+ hasTrailingIconSlot.value ? (openBlock(), createElementBlock("span", _hoisted_4$D, [
384
384
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
385
385
  ])) : createCommentVNode("", true)
386
386
  ], 64))
@@ -795,8 +795,8 @@ const _hoisted_1$O = {
795
795
  key: 0,
796
796
  class: "ui-card-header"
797
797
  };
798
- const _hoisted_2$H = { class: "ui-card-content" };
799
- const _hoisted_3$E = {
798
+ const _hoisted_2$I = { class: "ui-card-content" };
799
+ const _hoisted_3$F = {
800
800
  key: 1,
801
801
  class: "ui-card-footer"
802
802
  };
@@ -826,10 +826,10 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
826
826
  _ctx.$slots["header"] ? (openBlock(), createElementBlock("div", _hoisted_1$O, [
827
827
  renderSlot(_ctx.$slots, "header", {}, void 0, true)
828
828
  ])) : createCommentVNode("", true),
829
- createElementVNode("div", _hoisted_2$H, [
829
+ createElementVNode("div", _hoisted_2$I, [
830
830
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
831
831
  ]),
832
- _ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$E, [
832
+ _ctx.$slots["footer"] ? (openBlock(), createElementBlock("div", _hoisted_3$F, [
833
833
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
834
834
  ])) : createCommentVNode("", true)
835
835
  ], 2);
@@ -1394,16 +1394,16 @@ const _hoisted_1$N = {
1394
1394
  key: 0,
1395
1395
  class: "input-leading-icon"
1396
1396
  };
1397
- const _hoisted_2$G = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "min", "max", "step", "autocomplete", "spellcheck"];
1398
- const _hoisted_3$D = {
1397
+ const _hoisted_2$H = ["id", "type", "value", "placeholder", "disabled", "readonly", "required", "min", "max", "step", "autocomplete", "spellcheck"];
1398
+ const _hoisted_3$E = {
1399
1399
  key: 1,
1400
1400
  class: "input-trailing-icon"
1401
1401
  };
1402
- const _hoisted_4$B = {
1402
+ const _hoisted_4$C = {
1403
1403
  key: 2,
1404
1404
  class: "input-trailing-icon"
1405
1405
  };
1406
- const _hoisted_5$x = {
1406
+ const _hoisted_5$y = {
1407
1407
  key: 3,
1408
1408
  class: "input-trailing-icon"
1409
1409
  };
@@ -1480,7 +1480,6 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
1480
1480
  emit("keydown", event);
1481
1481
  };
1482
1482
  const togglePasswordVisibility = () => {
1483
- console.log("Toggle password visibility clicked");
1484
1483
  showPassword.value = !showPassword.value;
1485
1484
  };
1486
1485
  const clearSearchValue = () => {
@@ -1511,8 +1510,8 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
1511
1510
  onBlur: handleBlur,
1512
1511
  onFocus: handleFocus,
1513
1512
  onKeydown: handleKeydown
1514
- }, null, 42, _hoisted_2$G),
1515
- _ctx.type === "password" ? (openBlock(), createElementBlock("div", _hoisted_3$D, [
1513
+ }, null, 42, _hoisted_2$H),
1514
+ _ctx.type === "password" ? (openBlock(), createElementBlock("div", _hoisted_3$E, [
1516
1515
  createVNode(StrandsUiButton, {
1517
1516
  color: showPassword.value ? "primary" : "secondary",
1518
1517
  variant: showPassword.value ? "primary" : "ghost",
@@ -1527,7 +1526,7 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
1527
1526
  ]),
1528
1527
  _: 1
1529
1528
  }, 8, ["color", "variant", "aria-label"])
1530
- ])) : _ctx.type === "search" && _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", _hoisted_4$B, [
1529
+ ])) : _ctx.type === "search" && _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", _hoisted_4$C, [
1531
1530
  createVNode(StrandsUiButton, {
1532
1531
  color: "danger",
1533
1532
  variant: "ghost",
@@ -1542,20 +1541,20 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
1542
1541
  ]),
1543
1542
  _: 1
1544
1543
  })
1545
- ])) : hasTrailingIcon.value ? (openBlock(), createElementBlock("div", _hoisted_5$x, [
1544
+ ])) : hasTrailingIcon.value ? (openBlock(), createElementBlock("div", _hoisted_5$y, [
1546
1545
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
1547
1546
  ])) : createCommentVNode("", true)
1548
1547
  ], 2);
1549
1548
  };
1550
1549
  }
1551
1550
  });
1552
- const UiInputText = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-728dfbde"]]);
1551
+ const UiInputText = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-9bb4478d"]]);
1553
1552
  const _hoisted_1$M = {
1554
1553
  key: 0,
1555
1554
  class: "input-leading-icon"
1556
1555
  };
1557
- const _hoisted_2$F = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "cols", "maxlength", "autocomplete", "spellcheck"];
1558
- const _hoisted_3$C = {
1556
+ const _hoisted_2$G = ["id", "value", "placeholder", "disabled", "readonly", "required", "rows", "cols", "maxlength", "autocomplete", "spellcheck"];
1557
+ const _hoisted_3$D = {
1559
1558
  key: 1,
1560
1559
  class: "input-trailing-icon"
1561
1560
  };
@@ -1647,9 +1646,9 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
1647
1646
  onBlur: handleBlur,
1648
1647
  onFocus: handleFocus,
1649
1648
  onKeydown: handleKeydown
1650
- }, null, 42, _hoisted_2$F)
1649
+ }, null, 42, _hoisted_2$G)
1651
1650
  ], 2),
1652
- _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_3$C, [
1651
+ _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_3$D, [
1653
1652
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
1654
1653
  ])) : createCommentVNode("", true)
1655
1654
  ], 2);
@@ -1863,13 +1862,13 @@ const _hoisted_1$L = {
1863
1862
  key: 0,
1864
1863
  class: "input-leading-icon"
1865
1864
  };
1866
- const _hoisted_2$E = ["aria-expanded", "aria-controls"];
1867
- const _hoisted_3$B = { class: "input-select-value" };
1868
- const _hoisted_4$A = {
1865
+ const _hoisted_2$F = ["aria-expanded", "aria-controls"];
1866
+ const _hoisted_3$C = { class: "input-select-value" };
1867
+ const _hoisted_4$B = {
1869
1868
  key: 0,
1870
1869
  class: "input-select-text"
1871
1870
  };
1872
- const _hoisted_5$w = {
1871
+ const _hoisted_5$x = {
1873
1872
  key: 1,
1874
1873
  class: "input-select-placeholder"
1875
1874
  };
@@ -1906,9 +1905,10 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1906
1905
  disabled: { type: Boolean, default: false },
1907
1906
  multiple: { type: Boolean, default: false },
1908
1907
  searchable: { type: Boolean, default: false },
1908
+ allowInsert: { type: Boolean, default: false },
1909
1909
  maxDropdownHeight: { default: 400 },
1910
1910
  noOptionsText: { default: "No options available" },
1911
- searchPlaceholder: { default: "Search..." },
1911
+ searchPlaceholder: { default: "" },
1912
1912
  inputId: {},
1913
1913
  error: { type: Boolean, default: false },
1914
1914
  size: { default: "md" }
@@ -1963,13 +1963,39 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
1963
1963
  }
1964
1964
  });
1965
1965
  const filteredOptions = computed(() => {
1966
- if (!props.searchable || !dropdownState.value.searchQuery) {
1967
- return props.options;
1966
+ let options = props.options;
1967
+ if (props.searchable && dropdownState.value.searchQuery) {
1968
+ const query = dropdownState.value.searchQuery.toLowerCase();
1969
+ options = props.options.filter(
1970
+ (option) => option.label.toLowerCase().includes(query) || option.description?.toLowerCase().includes(query)
1971
+ );
1972
+ if (props.allowInsert && props.multiple && dropdownState.value.searchQuery.trim()) {
1973
+ const exactMatch = props.options.some(
1974
+ (option) => option.label.toLowerCase() === dropdownState.value.searchQuery.toLowerCase()
1975
+ );
1976
+ if (!exactMatch) {
1977
+ options = [
1978
+ {
1979
+ value: `__insert__${dropdownState.value.searchQuery}`,
1980
+ label: `Add "${dropdownState.value.searchQuery}"`,
1981
+ description: "Add as new item",
1982
+ disabled: false
1983
+ },
1984
+ ...options
1985
+ ];
1986
+ }
1987
+ }
1968
1988
  }
1969
- const query = dropdownState.value.searchQuery.toLowerCase();
1970
- return props.options.filter(
1971
- (option) => option.label.toLowerCase().includes(query) || option.description?.toLowerCase().includes(query)
1972
- );
1989
+ return options;
1990
+ });
1991
+ const computedSearchPlaceholder = computed(() => {
1992
+ if (props.searchPlaceholder && props.searchPlaceholder.trim() !== "") {
1993
+ return props.searchPlaceholder;
1994
+ }
1995
+ if (props.allowInsert && props.multiple) {
1996
+ return "Search or create...";
1997
+ }
1998
+ return "Search...";
1973
1999
  });
1974
2000
  const wrapperClasses = computed(() => {
1975
2001
  const classes = [];
@@ -2017,13 +2043,6 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2017
2043
  dropdownState.value.highlightedIndex = -1;
2018
2044
  dropdownState.value.searchQuery = "";
2019
2045
  document.removeEventListener("keydown", handleGlobalKeydown);
2020
- nextTick(() => {
2021
- const activeElement = document.activeElement;
2022
- const isClickingOtherSelect = activeElement?.closest?.(".input-select-trigger");
2023
- if (!isClickingOtherSelect && selectTriggerRef.value) {
2024
- selectTriggerRef.value.focus();
2025
- }
2026
- });
2027
2046
  emit("blur", new FocusEvent("blur"));
2028
2047
  };
2029
2048
  const toggleDropdown = () => {
@@ -2034,17 +2053,28 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2034
2053
  }
2035
2054
  };
2036
2055
  const isOptionSelected = (option) => {
2056
+ if (option.value.startsWith("__insert__")) {
2057
+ return false;
2058
+ }
2037
2059
  return selectedValues.value.includes(option.value);
2038
2060
  };
2039
2061
  const selectOption = (option) => {
2040
2062
  if (option.disabled) return;
2041
2063
  if (props.multiple) {
2042
2064
  const newValue = [...selectedValues.value];
2043
- const index = newValue.indexOf(option.value);
2044
- if (index > -1) {
2045
- newValue.splice(index, 1);
2065
+ if (option.value.startsWith("__insert__")) {
2066
+ const newItemValue = option.value.replace("__insert__", "");
2067
+ if (!newValue.includes(newItemValue)) {
2068
+ newValue.push(newItemValue);
2069
+ }
2070
+ dropdownState.value.searchQuery = "";
2046
2071
  } else {
2047
- newValue.push(option.value);
2072
+ const index = newValue.indexOf(option.value);
2073
+ if (index > -1) {
2074
+ newValue.splice(index, 1);
2075
+ } else {
2076
+ newValue.push(option.value);
2077
+ }
2048
2078
  }
2049
2079
  emit("update:modelValue", newValue);
2050
2080
  } else {
@@ -2177,15 +2207,15 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2177
2207
  "aria-haspopup": true,
2178
2208
  "aria-controls": dropdownId.value
2179
2209
  }, [
2180
- createElementVNode("div", _hoisted_3$B, [
2181
- 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))
2210
+ createElementVNode("div", _hoisted_3$C, [
2211
+ displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$B, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$x, toDisplayString(_ctx.placeholder || "Select an option..."), 1))
2182
2212
  ]),
2183
2213
  createElementVNode("div", {
2184
2214
  class: normalizeClass(["input-select-arrow", { "input-select-arrow-open": dropdownState.value.isOpen }])
2185
2215
  }, [
2186
2216
  createVNode(unref(ChevronDown))
2187
2217
  ], 2)
2188
- ], 42, _hoisted_2$E),
2218
+ ], 42, _hoisted_2$F),
2189
2219
  _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_6$r, [
2190
2220
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
2191
2221
  ])) : createCommentVNode("", true)
@@ -2210,7 +2240,7 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2210
2240
  modelValue: dropdownState.value.searchQuery,
2211
2241
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => dropdownState.value.searchQuery = $event),
2212
2242
  type: "search",
2213
- placeholder: _ctx.searchPlaceholder,
2243
+ placeholder: computedSearchPlaceholder.value,
2214
2244
  size: "sm",
2215
2245
  onKeydown: handleSearchKeydown
2216
2246
  }, {
@@ -2231,7 +2261,8 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2231
2261
  class: normalizeClass(["input-dropdown-option", {
2232
2262
  "input-dropdown-option--selected": isOptionSelected(option),
2233
2263
  "input-dropdown-option--highlighted": index === dropdownState.value.highlightedIndex,
2234
- "input-dropdown-option--disabled": option.disabled
2264
+ "input-dropdown-option--disabled": option.disabled,
2265
+ "input-dropdown-option--insert": option.value.startsWith("__insert__")
2235
2266
  }]),
2236
2267
  onClick: ($event) => selectOption(option),
2237
2268
  onMouseenter: ($event) => dropdownState.value.highlightedIndex = index,
@@ -2254,12 +2285,12 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
2254
2285
  };
2255
2286
  }
2256
2287
  });
2257
- const UiInputSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-985cba8d"]]);
2288
+ const UiInputSelect = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-8fc867ab"]]);
2258
2289
  const _hoisted_1$K = { class: "input-leading-icon" };
2259
- const _hoisted_2$D = ["src"];
2260
- const _hoisted_3$A = ["id", "accept", "multiple", "disabled", "required"];
2261
- const _hoisted_4$z = { class: "input-file-content" };
2262
- const _hoisted_5$v = {
2290
+ const _hoisted_2$E = ["src"];
2291
+ const _hoisted_3$B = ["id", "accept", "multiple", "disabled", "required"];
2292
+ const _hoisted_4$A = { class: "input-file-content" };
2293
+ const _hoisted_5$w = {
2263
2294
  key: 0,
2264
2295
  class: "input-file-prompt"
2265
2296
  };
@@ -2468,7 +2499,7 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2468
2499
  src: imagePreviewUrl.value,
2469
2500
  alt: "Preview",
2470
2501
  class: "input-file-preview"
2471
- }, 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 }))
2502
+ }, null, 8, _hoisted_2$E)) : _ctx.$slots["leading-icon"] ? renderSlot(_ctx.$slots, "leading-icon", { key: 1 }, void 0, true) : (openBlock(), createBlock(unref(FileInput), { key: 2 }))
2472
2503
  ]),
2473
2504
  createElementVNode("div", {
2474
2505
  class: normalizeClass(["input-file-area", {
@@ -2493,9 +2524,9 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2493
2524
  onChange: handleFileSelect,
2494
2525
  onBlur: handleBlur,
2495
2526
  onFocus: handleFocus
2496
- }, null, 40, _hoisted_3$A),
2497
- createElementVNode("div", _hoisted_4$z, [
2498
- selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_5$v, [
2527
+ }, null, 40, _hoisted_3$B),
2528
+ createElementVNode("div", _hoisted_4$A, [
2529
+ selectedFiles.value.length === 0 ? (openBlock(), createElementBlock("div", _hoisted_5$w, [
2499
2530
  createElementVNode("div", _hoisted_6$q, toDisplayString(_ctx.dragDropText || "Click to select or drag and drop"), 1),
2500
2531
  _ctx.accept ? (openBlock(), createElementBlock("div", _hoisted_7$p, toDisplayString(_ctx.accept), 1)) : createCommentVNode("", true)
2501
2532
  ])) : (openBlock(), createElementBlock("div", _hoisted_8$n, [
@@ -2532,16 +2563,16 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
2532
2563
  });
2533
2564
  const UiInputFile = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-1328dc4f"]]);
2534
2565
  const _hoisted_1$J = { class: "tabs-wrapper" };
2535
- const _hoisted_2$C = {
2566
+ const _hoisted_2$D = {
2536
2567
  key: 0,
2537
2568
  class: "tabs-before"
2538
2569
  };
2539
- const _hoisted_3$z = ["aria-selected", "id", "onClick"];
2540
- const _hoisted_4$y = {
2570
+ const _hoisted_3$A = ["aria-selected", "id", "onClick"];
2571
+ const _hoisted_4$z = {
2541
2572
  key: 1,
2542
2573
  class: "tabs-after"
2543
2574
  };
2544
- const _hoisted_5$u = ["aria-labelledby"];
2575
+ const _hoisted_5$v = ["aria-labelledby"];
2545
2576
  const _sfc_main$P = /* @__PURE__ */ defineComponent({
2546
2577
  __name: "UiTabs",
2547
2578
  props: {
@@ -2878,7 +2909,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2878
2909
  ]]),
2879
2910
  style: normalizeStyle(_ctx.sticky ? { position: "sticky", [_ctx.sticky.side]: `${_ctx.sticky.offset}px`, zIndex: 10 } : {})
2880
2911
  }, [
2881
- _ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$C, [
2912
+ _ctx.$slots["before"] ? (openBlock(), createElementBlock("div", _hoisted_2$D, [
2882
2913
  renderSlot(_ctx.$slots, "before", {}, void 0, true)
2883
2914
  ])) : createCommentVNode("", true),
2884
2915
  createElementVNode("div", {
@@ -2902,7 +2933,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2902
2933
  id: `tab-${tab.value}`,
2903
2934
  role: "tab",
2904
2935
  onClick: ($event) => handleTabClick(tab.value, index)
2905
- }, toDisplayString(tab.label), 11, _hoisted_3$z);
2936
+ }, toDisplayString(tab.label), 11, _hoisted_3$A);
2906
2937
  }), 128)),
2907
2938
  createElementVNode("div", {
2908
2939
  class: normalizeClass(["tab-background", { "no-transition": !enableTransitions.value }]),
@@ -2913,7 +2944,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2913
2944
  style: normalizeStyle(underlineStyle.value)
2914
2945
  }, null, 6)
2915
2946
  ], 2),
2916
- _ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$y, [
2947
+ _ctx.$slots["after"] ? (openBlock(), createElementBlock("div", _hoisted_4$z, [
2917
2948
  renderSlot(_ctx.$slots, "after", {}, void 0, true)
2918
2949
  ])) : createCommentVNode("", true)
2919
2950
  ], 6)
@@ -2926,7 +2957,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
2926
2957
  id: "tabpanel"
2927
2958
  }, [
2928
2959
  renderSlot(_ctx.$slots, "content", { activeTab: activeTab.value }, void 0, true)
2929
- ], 10, _hoisted_5$u)) : createCommentVNode("", true)
2960
+ ], 10, _hoisted_5$v)) : createCommentVNode("", true)
2930
2961
  ], 2);
2931
2962
  };
2932
2963
  }
@@ -3001,13 +3032,13 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
3001
3032
  });
3002
3033
  const UiDivider = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-1c798024"]]);
3003
3034
  const _hoisted_1$H = { class: "datetime-picker-wrapper" };
3004
- const _hoisted_2$B = { class: "datetime-picker-leading-icon" };
3005
- const _hoisted_3$y = { class: "datetime-picker-display" };
3006
- const _hoisted_4$x = {
3035
+ const _hoisted_2$C = { class: "datetime-picker-leading-icon" };
3036
+ const _hoisted_3$z = { class: "datetime-picker-display" };
3037
+ const _hoisted_4$y = {
3007
3038
  key: 0,
3008
3039
  class: "datetime-picker-value"
3009
3040
  };
3010
- const _hoisted_5$t = {
3041
+ const _hoisted_5$u = {
3011
3042
  key: 1,
3012
3043
  class: "datetime-picker-placeholder"
3013
3044
  };
@@ -3382,11 +3413,11 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
3382
3413
  ]]),
3383
3414
  onClick: togglePicker
3384
3415
  }, [
3385
- createElementVNode("div", _hoisted_2$B, [
3416
+ createElementVNode("div", _hoisted_2$C, [
3386
3417
  _ctx.type === "date" ? (openBlock(), createBlock(unref(Calendar), { key: 0 })) : _ctx.type === "time" ? (openBlock(), createBlock(unref(Clock), { key: 1 })) : (openBlock(), createBlock(unref(CalendarClock), { key: 2 }))
3387
3418
  ]),
3388
- createElementVNode("div", _hoisted_3$y, [
3389
- displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$x, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$t, toDisplayString(_ctx.placeholder || getDefaultPlaceholder()), 1))
3419
+ createElementVNode("div", _hoisted_3$z, [
3420
+ displayValue.value ? (openBlock(), createElementBlock("span", _hoisted_4$y, toDisplayString(displayValue.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_5$u, toDisplayString(_ctx.placeholder || getDefaultPlaceholder()), 1))
3390
3421
  ]),
3391
3422
  _ctx.modelValue && !_ctx.disabled && !_ctx.readonly ? (openBlock(), createElementBlock("div", {
3392
3423
  key: 0,
@@ -24726,10 +24757,10 @@ var TextAlign = Extension.create({
24726
24757
  var index_default$1 = TextAlign;
24727
24758
  var index_default = Placeholder;
24728
24759
  const _hoisted_1$G = { class: "input-richtext-toolbar" };
24729
- const _hoisted_2$A = { class: "input-richtext-group" };
24730
- const _hoisted_3$x = { class: "input-richtext-group" };
24731
- const _hoisted_4$w = { class: "input-richtext-group" };
24732
- const _hoisted_5$s = { class: "input-richtext-group" };
24760
+ const _hoisted_2$B = { class: "input-richtext-group" };
24761
+ const _hoisted_3$y = { class: "input-richtext-group" };
24762
+ const _hoisted_4$x = { class: "input-richtext-group" };
24763
+ const _hoisted_5$t = { class: "input-richtext-group" };
24733
24764
  const _hoisted_6$o = { class: "input-richtext-group" };
24734
24765
  const _hoisted_7$n = { class: "input-richtext-editor-wrapper" };
24735
24766
  const _sfc_main$J = /* @__PURE__ */ defineComponent({
@@ -24813,7 +24844,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
24813
24844
  }])
24814
24845
  }, [
24815
24846
  createElementVNode("div", _hoisted_1$G, [
24816
- createElementVNode("div", _hoisted_2$A, [
24847
+ createElementVNode("div", _hoisted_2$B, [
24817
24848
  createVNode(StrandsUiButton, {
24818
24849
  color: unref(editor)?.isActive("bold") ? "primary" : "secondary",
24819
24850
  size: "sm",
@@ -24876,7 +24907,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
24876
24907
  spacing: "28px",
24877
24908
  margin: "4px"
24878
24909
  }),
24879
- createElementVNode("div", _hoisted_3$x, [
24910
+ createElementVNode("div", _hoisted_3$y, [
24880
24911
  createVNode(StrandsUiButton, {
24881
24912
  color: unref(editor)?.isActive("heading", { level: 1 }) ? "primary" : "secondary",
24882
24913
  size: "sm",
@@ -24925,7 +24956,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
24925
24956
  spacing: "28px",
24926
24957
  margin: "4px"
24927
24958
  }),
24928
- createElementVNode("div", _hoisted_4$w, [
24959
+ createElementVNode("div", _hoisted_4$x, [
24929
24960
  createVNode(StrandsUiButton, {
24930
24961
  color: unref(editor)?.isActive({ textAlign: "left" }) ? "primary" : "secondary",
24931
24962
  size: "sm",
@@ -24974,7 +25005,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
24974
25005
  spacing: "28px",
24975
25006
  margin: "4px"
24976
25007
  }),
24977
- createElementVNode("div", _hoisted_5$s, [
25008
+ createElementVNode("div", _hoisted_5$t, [
24978
25009
  createVNode(StrandsUiButton, {
24979
25010
  color: unref(editor)?.isActive("bulletList") ? "primary" : "secondary",
24980
25011
  size: "sm",
@@ -25095,16 +25126,16 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
25095
25126
  });
25096
25127
  const UiInputRichText = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-1031412d"]]);
25097
25128
  const _hoisted_1$F = { class: "pincode-inputs" };
25098
- const _hoisted_2$z = {
25129
+ const _hoisted_2$A = {
25099
25130
  key: 0,
25100
25131
  class: "pincode-icon pincode-icon-leading"
25101
25132
  };
25102
- const _hoisted_3$w = ["value", "disabled", "readonly", "tabindex", "data-index", "onInput", "onKeydown", "onFocus"];
25103
- const _hoisted_4$v = {
25133
+ const _hoisted_3$x = ["value", "disabled", "readonly", "tabindex", "data-index", "onInput", "onKeydown", "onFocus"];
25134
+ const _hoisted_4$w = {
25104
25135
  key: 1,
25105
25136
  class: "pincode-divider"
25106
25137
  };
25107
- const _hoisted_5$r = {
25138
+ const _hoisted_5$s = {
25108
25139
  key: 1,
25109
25140
  class: "pincode-icon pincode-icon-trailing"
25110
25141
  };
@@ -25287,7 +25318,7 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
25287
25318
  class: normalizeClass(["pincode-wrapper", [`pincode-size-${_ctx.size}`, { "pincode-error": _ctx.error }]])
25288
25319
  }, [
25289
25320
  createElementVNode("div", _hoisted_1$F, [
25290
- _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_2$z, [
25321
+ _ctx.$slots["leading-icon"] ? (openBlock(), createElementBlock("div", _hoisted_2$A, [
25291
25322
  renderSlot(_ctx.$slots, "leading-icon", {}, void 0, true)
25292
25323
  ])) : createCommentVNode("", true),
25293
25324
  (openBlock(true), createElementBlock(Fragment$1, null, renderList(_ctx.maxLength, (index) => {
@@ -25312,14 +25343,14 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
25312
25343
  onFocus: ($event) => handleFocus(index - 1),
25313
25344
  onBlur: handleBlur,
25314
25345
  onPaste: handlePaste
25315
- }, null, 42, _hoisted_3$w),
25346
+ }, null, 42, _hoisted_3$x),
25316
25347
  shouldShowDivider(index) && useCustomDivider.value ? (openBlock(), createBlock(UiDivider, mergeProps({
25317
25348
  key: 0,
25318
25349
  ref_for: true
25319
- }, dividerProps.value, { class: "pincode-custom-divider" }), null, 16)) : shouldShowDivider(index) ? (openBlock(), createElementBlock("span", _hoisted_4$v, toDisplayString(dividerCharacter.value), 1)) : createCommentVNode("", true)
25350
+ }, dividerProps.value, { class: "pincode-custom-divider" }), null, 16)) : shouldShowDivider(index) ? (openBlock(), createElementBlock("span", _hoisted_4$w, toDisplayString(dividerCharacter.value), 1)) : createCommentVNode("", true)
25320
25351
  ], 64);
25321
25352
  }), 128)),
25322
- _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_5$r, [
25353
+ _ctx.$slots["trailing-icon"] ? (openBlock(), createElementBlock("div", _hoisted_5$s, [
25323
25354
  renderSlot(_ctx.$slots, "trailing-icon", {}, void 0, true)
25324
25355
  ])) : createCommentVNode("", true)
25325
25356
  ])
@@ -25329,16 +25360,16 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
25329
25360
  });
25330
25361
  const UiInputPincode = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-25372cfe"]]);
25331
25362
  const _hoisted_1$E = { class: "input-container" };
25332
- const _hoisted_2$y = ["for"];
25333
- const _hoisted_3$v = {
25363
+ const _hoisted_2$z = ["for"];
25364
+ const _hoisted_3$w = {
25334
25365
  key: 0,
25335
25366
  class: "input-required"
25336
25367
  };
25337
- const _hoisted_4$u = {
25368
+ const _hoisted_4$v = {
25338
25369
  key: 10,
25339
25370
  class: "input-error-text"
25340
25371
  };
25341
- const _hoisted_5$q = {
25372
+ const _hoisted_5$r = {
25342
25373
  key: 11,
25343
25374
  class: "input-help-text"
25344
25375
  };
@@ -25362,6 +25393,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25362
25393
  options: {},
25363
25394
  multiple: { type: Boolean },
25364
25395
  searchable: { type: Boolean },
25396
+ allowInsert: { type: Boolean },
25365
25397
  maxDropdownHeight: {},
25366
25398
  noOptionsText: {},
25367
25399
  searchPlaceholder: {},
@@ -25420,8 +25452,8 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25420
25452
  class: "input-label"
25421
25453
  }, [
25422
25454
  createTextVNode(toDisplayString(props.label) + " ", 1),
25423
- props.required ? (openBlock(), createElementBlock("span", _hoisted_3$v, "*")) : createCommentVNode("", true)
25424
- ], 8, _hoisted_2$y)) : createCommentVNode("", true),
25455
+ props.required ? (openBlock(), createElementBlock("span", _hoisted_3$w, "*")) : createCommentVNode("", true)
25456
+ ], 8, _hoisted_2$z)) : createCommentVNode("", true),
25425
25457
  isTextInput.value ? (openBlock(), createBlock(UiInputText, {
25426
25458
  key: 1,
25427
25459
  "model-value": _ctx.modelValue,
@@ -25500,6 +25532,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25500
25532
  disabled: _ctx.disabled,
25501
25533
  multiple: props.multiple,
25502
25534
  searchable: props.searchable,
25535
+ "allow-insert": props.allowInsert,
25503
25536
  "max-dropdown-height": props.maxDropdownHeight,
25504
25537
  "no-options-text": props.noOptionsText,
25505
25538
  "search-placeholder": props.searchPlaceholder,
@@ -25524,7 +25557,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25524
25557
  ]),
25525
25558
  key: "1"
25526
25559
  } : void 0
25527
- ]), 1032, ["model-value", "options", "placeholder", "disabled", "multiple", "searchable", "max-dropdown-height", "no-options-text", "search-placeholder", "input-id", "error", "size"])) : _ctx.type === "file" ? (openBlock(), createBlock(UiInputFile, {
25560
+ ]), 1032, ["model-value", "options", "placeholder", "disabled", "multiple", "searchable", "allow-insert", "max-dropdown-height", "no-options-text", "search-placeholder", "input-id", "error", "size"])) : _ctx.type === "file" ? (openBlock(), createBlock(UiInputFile, {
25528
25561
  key: 4,
25529
25562
  "model-value": _ctx.modelValue,
25530
25563
  accept: props.accept,
@@ -25643,14 +25676,14 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
25643
25676
  key: "1"
25644
25677
  } : void 0
25645
25678
  ]), 1032, ["model-value", "max-length", "variant", "divider", "disabled", "readonly", "input-id", "error", "size"])) : createCommentVNode("", true),
25646
- 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)
25679
+ props.error && props.error !== true ? (openBlock(), createElementBlock("p", _hoisted_4$v, toDisplayString(typeof props.error === "string" ? props.error : props.error?.message || String(props.error)), 1)) : props.helpText ? (openBlock(), createElementBlock("p", _hoisted_5$r, toDisplayString(props.helpText), 1)) : createCommentVNode("", true)
25647
25680
  ]);
25648
25681
  };
25649
25682
  }
25650
25683
  });
25651
- const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-adf737f4"]]);
25684
+ const StrandsUiInput = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-83ae8958"]]);
25652
25685
  const _hoisted_1$D = ["disabled", "aria-disabled"];
25653
- const _hoisted_2$x = ["href", "target", "rel", "aria-disabled"];
25686
+ const _hoisted_2$y = ["href", "target", "rel", "aria-disabled"];
25654
25687
  const _sfc_main$G = /* @__PURE__ */ defineComponent({
25655
25688
  __name: "UiLink",
25656
25689
  props: {
@@ -25757,23 +25790,32 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
25757
25790
  onClick: handleClick2
25758
25791
  }, [
25759
25792
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
25760
- ], 14, _hoisted_2$x));
25793
+ ], 14, _hoisted_2$y));
25761
25794
  };
25762
25795
  }
25763
25796
  });
25764
25797
  const StrandsUiLink = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-3bf99110"]]);
25765
- const _hoisted_1$C = ["aria-pressed", "aria-labelledby"];
25798
+ const _hoisted_1$C = { class: "ui-toggle-container" };
25799
+ const _hoisted_2$x = ["for"];
25800
+ const _hoisted_3$v = {
25801
+ key: 0,
25802
+ class: "ui-toggle-required"
25803
+ };
25804
+ const _hoisted_4$u = ["id", "aria-pressed", "aria-labelledby"];
25766
25805
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
25767
25806
  __name: "UiToggle",
25768
25807
  props: {
25769
25808
  modelValue: { type: Boolean, default: false },
25770
25809
  disabled: { type: Boolean, default: false },
25771
- id: {}
25810
+ id: {},
25811
+ label: {},
25812
+ required: { type: Boolean }
25772
25813
  },
25773
25814
  emits: ["update:modelValue"],
25774
25815
  setup(__props, { emit: __emit }) {
25775
25816
  const props = __props;
25776
25817
  const emit = __emit;
25818
+ const toggleId = computed(() => props.id || `ui-toggle-${Math.random().toString(36).substr(2, 9)}`);
25777
25819
  const toggleClasses = computed(() => [
25778
25820
  "ui-toggle",
25779
25821
  {
@@ -25793,21 +25835,32 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
25793
25835
  emit("update:modelValue", !props.modelValue);
25794
25836
  };
25795
25837
  return (_ctx, _cache) => {
25796
- return openBlock(), createElementBlock("button", {
25797
- type: "button",
25798
- class: normalizeClass(toggleClasses.value),
25799
- "aria-pressed": _ctx.modelValue,
25800
- "aria-labelledby": _ctx.id ? `${_ctx.id}-label` : void 0,
25801
- onClick: handleToggle
25802
- }, [
25803
- createElementVNode("span", {
25804
- class: normalizeClass(["ui-toggle-thumb", thumbClasses.value])
25805
- }, null, 2)
25806
- ], 10, _hoisted_1$C);
25838
+ return openBlock(), createElementBlock("div", _hoisted_1$C, [
25839
+ _ctx.label ? (openBlock(), createElementBlock("label", {
25840
+ key: 0,
25841
+ for: toggleId.value,
25842
+ class: "ui-toggle-label"
25843
+ }, [
25844
+ createTextVNode(toDisplayString(_ctx.label) + " ", 1),
25845
+ _ctx.required ? (openBlock(), createElementBlock("span", _hoisted_3$v, "*")) : createCommentVNode("", true)
25846
+ ], 8, _hoisted_2$x)) : createCommentVNode("", true),
25847
+ createElementVNode("button", {
25848
+ id: toggleId.value,
25849
+ type: "button",
25850
+ class: normalizeClass(toggleClasses.value),
25851
+ "aria-pressed": _ctx.modelValue,
25852
+ "aria-labelledby": _ctx.label ? `${toggleId.value}-label` : void 0,
25853
+ onClick: handleToggle
25854
+ }, [
25855
+ createElementVNode("span", {
25856
+ class: normalizeClass(["ui-toggle-thumb", thumbClasses.value])
25857
+ }, null, 2)
25858
+ ], 10, _hoisted_4$u)
25859
+ ]);
25807
25860
  };
25808
25861
  }
25809
25862
  });
25810
- const UiToggle = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-6c2fb8dd"]]);
25863
+ const UiToggle = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-ba05b9e3"]]);
25811
25864
  const _hoisted_1$B = { class: "accui-component-scope" };
25812
25865
  const _hoisted_2$w = { class: "avatar-editor-simple" };
25813
25866
  const _hoisted_3$u = {
@@ -25815,7 +25868,7 @@ const _hoisted_3$u = {
25815
25868
  class: "editor-container"
25816
25869
  };
25817
25870
  const _hoisted_4$t = { class: "editor-main" };
25818
- const _hoisted_5$p = { class: "canvas-container" };
25871
+ const _hoisted_5$q = { class: "canvas-container" };
25819
25872
  const _hoisted_6$n = ["width", "height"];
25820
25873
  const _hoisted_7$m = { class: "crop-overlay" };
25821
25874
  const _hoisted_8$l = { class: "crop-backdrop" };
@@ -26147,7 +26200,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
26147
26200
  createStaticVNode('<div class="upload-content"><svg class="upload-icon" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"></path></svg><h3 class="upload-title">Upload your photo</h3><p class="upload-subtitle">Drag and drop or click to browse</p><div class="upload-formats"><span class="format-tag">JPG</span><span class="format-tag">PNG</span><span class="format-tag">GIF</span></div></div>', 1)
26148
26201
  ])], 32)) : (openBlock(), createElementBlock("div", _hoisted_3$u, [
26149
26202
  createElementVNode("div", _hoisted_4$t, [
26150
- createElementVNode("div", _hoisted_5$p, [
26203
+ createElementVNode("div", _hoisted_5$q, [
26151
26204
  createElementVNode("canvas", {
26152
26205
  ref_key: "canvas",
26153
26206
  ref: canvas,
@@ -26616,7 +26669,7 @@ const _hoisted_1$A = { class: "level-progress-container" };
26616
26669
  const _hoisted_2$v = ["width", "height", "viewBox"];
26617
26670
  const _hoisted_3$t = { key: 0 };
26618
26671
  const _hoisted_4$s = ["r"];
26619
- const _hoisted_5$o = ["y"];
26672
+ const _hoisted_5$p = ["y"];
26620
26673
  const _hoisted_6$m = ["d", "stroke-width"];
26621
26674
  const _hoisted_7$l = ["d", "stroke", "stroke-width"];
26622
26675
  const _hoisted_8$k = ["d"];
@@ -26820,7 +26873,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
26820
26873
  "font-weight": "bold",
26821
26874
  fill: "#fff",
26822
26875
  style: { "font-family": "'Montserrat', sans-serif" }
26823
- }, "Level Up", 8, _hoisted_5$o)
26876
+ }, "Level Up", 8, _hoisted_5$p)
26824
26877
  ])) : createCommentVNode("", true),
26825
26878
  animatedValue.value >= 0 && animatedValue.value < props.max ? (openBlock(), createElementBlock("path", {
26826
26879
  key: 1,
@@ -27107,6 +27160,7 @@ const _hoisted_1$z = {
27107
27160
  const _hoisted_2$u = { class: "ui-modal-header-content" };
27108
27161
  const _hoisted_3$s = { class: "ui-modal-title" };
27109
27162
  const _hoisted_4$r = { key: 0 };
27163
+ const _hoisted_5$o = { class: "ui-modal-body-content" };
27110
27164
  const _sfc_main$C = /* @__PURE__ */ defineComponent({
27111
27165
  __name: "UiModal",
27112
27166
  props: {
@@ -27151,7 +27205,8 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
27151
27205
  "4xl": "ui-modal-size-4xl",
27152
27206
  "5xl": "ui-modal-size-5xl",
27153
27207
  "6xl": "ui-modal-size-6xl",
27154
- full: "ui-modal-size-full"
27208
+ full: "ui-modal-size-full",
27209
+ auto: "ui-modal-size-auto"
27155
27210
  };
27156
27211
  return sizeMap[props.size];
27157
27212
  });
@@ -27305,7 +27360,9 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
27305
27360
  ])
27306
27361
  ]),
27307
27362
  default: withCtx(() => [
27308
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
27363
+ createElementVNode("div", _hoisted_5$o, [
27364
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
27365
+ ])
27309
27366
  ]),
27310
27367
  _: 2
27311
27368
  }, [
@@ -27331,7 +27388,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
27331
27388
  };
27332
27389
  }
27333
27390
  });
27334
- const UiModal = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-dece6264"]]);
27391
+ const UiModal = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-b5e7aae1"]]);
27335
27392
  const tailwindColors = {
27336
27393
  "#000000": {
27337
27394
  label: "Black"
@@ -39011,8 +39068,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
39011
39068
  createVNode(unref(CompoundUiButton), {
39012
39069
  color: "danger",
39013
39070
  onClick: handleSignOut,
39014
- disabled: signingOut.value,
39015
- class: "profile-sign-out-button"
39071
+ disabled: signingOut.value
39016
39072
  }, {
39017
39073
  default: withCtx(() => [
39018
39074
  createTextVNode(toDisplayString(signingOut.value ? "Signing out..." : "Sign Out"), 1)
@@ -39023,9 +39079,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
39023
39079
  trigger: withCtx(() => [
39024
39080
  createVNode(unref(CompoundUiButton), {
39025
39081
  color: "secondary",
39026
- class: "profile-sign-out-button"
39082
+ icon: ""
39027
39083
  }, {
39028
- default: withCtx(() => [..._cache[27] || (_cache[27] = [
39084
+ icon: withCtx(() => [..._cache[27] || (_cache[27] = [
39029
39085
  createElementVNode("svg", {
39030
39086
  class: "profile-action-icon",
39031
39087
  fill: "none",
@@ -39121,7 +39177,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
39121
39177
  };
39122
39178
  }
39123
39179
  });
39124
- const StrandsUserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-76c0144a"]]);
39180
+ const StrandsUserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-9430e3ba"]]);
39125
39181
  const _hoisted_1$6 = { class: "accui-component-scope" };
39126
39182
  const _hoisted_2$4 = { class: "accui-w-full accui-min-w-100 accui-max-w-md accui-mx-auto accui-animate-slide-up" };
39127
39183
  const _hoisted_3$3 = { class: "accui-mt-8 accui-text-center" };
@@ -39539,7 +39595,6 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
39539
39595
  const dropdownRef = ref();
39540
39596
  const triggerElement = computed(() => {
39541
39597
  const element = triggerRef.value?.$el;
39542
- console.log("Trigger element:", element);
39543
39598
  return element;
39544
39599
  });
39545
39600
  const { floatingStyle, updatePosition } = useFloatingPosition({
@@ -39574,12 +39629,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
39574
39629
  });
39575
39630
  const toggleDropdown = () => {
39576
39631
  showDropdown.value = !showDropdown.value;
39577
- console.log("Dropdown visible:", showDropdown.value);
39578
- console.log("Trigger element when toggling:", triggerElement.value);
39579
39632
  if (showDropdown.value) {
39580
39633
  nextTick(() => {
39581
39634
  updatePosition();
39582
- console.log("Floating style after update:", floatingStyle.value);
39583
39635
  });
39584
39636
  }
39585
39637
  };
@@ -39848,7 +39900,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
39848
39900
  };
39849
39901
  }
39850
39902
  });
39851
- const StrandsUserButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-c4df5354"]]);
39903
+ const StrandsUserButton = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-eb787256"]]);
39852
39904
  const _sfc_main$3 = /* @__PURE__ */ defineComponent({
39853
39905
  __name: "StrandsNav",
39854
39906
  props: {
@@ -40566,7 +40618,6 @@ function useAuthenticatedFetch() {
40566
40618
  };
40567
40619
  let response = await fetch(fullUrl, enhancedOptions);
40568
40620
  if (response.status === 401 && autoRefresh && currentSession.value?.refreshToken) {
40569
- console.log("[Strands Auth] Request failed with 401, attempting token refresh...");
40570
40621
  try {
40571
40622
  const refreshed = await refreshToken();
40572
40623
  if (refreshed && currentSession.value?.accessToken) {
@@ -40574,7 +40625,6 @@ function useAuthenticatedFetch() {
40574
40625
  Object.entries(newAuthHeaders).forEach(([key, value]) => {
40575
40626
  headers.set(key, value);
40576
40627
  });
40577
- console.log("[Strands Auth] Retrying request with refreshed token");
40578
40628
  response = await fetch(fullUrl, { ...enhancedOptions, headers });
40579
40629
  }
40580
40630
  } catch (refreshError) {