@ac-design/design-system 2.6.1 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +2 -2
  2. package/dist/lib/charts/graph.d.ts +9 -15
  3. package/dist/lib/charts/graph.js +79 -75
  4. package/dist/lib/charts/index.d.ts +4 -2
  5. package/dist/lib/charts/index.js +2 -1
  6. package/dist/lib/charts/nodeSymbol.d.ts +15 -0
  7. package/dist/lib/charts/nodeSymbol.js +27 -0
  8. package/dist/lib/charts/tree.d.ts +15 -0
  9. package/dist/lib/charts/tree.js +89 -0
  10. package/dist/lib/compat.css +162 -10
  11. package/dist/lib/components/AcAccordionItem.vue.d.ts +3 -1
  12. package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +35 -26
  13. package/dist/lib/components/AcAlert.vue.d.ts +1 -1
  14. package/dist/lib/components/AcBadge.vue.d.ts +1 -1
  15. package/dist/lib/components/AcBanner.vue.d.ts +1 -1
  16. package/dist/lib/components/AcCard.vue.d.ts +1 -1
  17. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +2 -2
  18. package/dist/lib/components/AcCellValue.vue.d.ts +1 -1
  19. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +46 -43
  20. package/dist/lib/components/AcCheckList.vue.d.ts +1 -1
  21. package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +3 -3
  22. package/dist/lib/components/AcColorInput.vue.d.ts +4 -0
  23. package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +12 -2
  24. package/dist/lib/components/AcConfirmModal.vue.d.ts +1 -1
  25. package/dist/lib/components/AcDatePicker.vue.d.ts +3 -0
  26. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +12 -2
  27. package/dist/lib/components/AcDropdownItem.vue.d.ts +1 -1
  28. package/dist/lib/components/AcFeatureCard.vue.d.ts +1 -1
  29. package/dist/lib/components/AcGraphChart.vue.d.ts +53 -3
  30. package/dist/lib/components/AcGraphChart.vue_vue_type_script_setup_true_lang.js +401 -233
  31. package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +1 -1
  32. package/dist/lib/components/AcInput.vue.d.ts +2 -0
  33. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +18 -8
  34. package/dist/lib/components/AcList.js +5 -0
  35. package/dist/lib/components/AcList.vue.d.ts +56 -0
  36. package/dist/lib/components/AcList.vue_vue_type_script_setup_true_lang.js +74 -0
  37. package/dist/lib/components/AcListItem.js +5 -0
  38. package/dist/lib/components/AcListItem.vue.d.ts +53 -0
  39. package/dist/lib/components/AcListItem.vue_vue_type_script_setup_true_lang.js +105 -0
  40. package/dist/lib/components/AcMapChart.vue.d.ts +66 -3
  41. package/dist/lib/components/AcMapChart.vue_vue_type_script_setup_true_lang.js +403 -201
  42. package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +12 -8
  43. package/dist/lib/components/AcMonthPicker.js +5 -0
  44. package/dist/lib/components/AcMonthPicker.vue.d.ts +105 -0
  45. package/dist/lib/components/AcMonthPicker.vue_vue_type_script_setup_true_lang.js +605 -0
  46. package/dist/lib/components/AcNavbarItem.vue.d.ts +1 -1
  47. package/dist/lib/components/AcNumberInput.vue.d.ts +3 -0
  48. package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +11 -1
  49. package/dist/lib/components/AcResourceCard.vue.d.ts +1 -1
  50. package/dist/lib/components/AcSelect.vue.d.ts +3 -0
  51. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +241 -218
  52. package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +11 -7
  53. package/dist/lib/components/AcSideTabs.vue.d.ts +3 -1
  54. package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +53 -33
  55. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +1 -1
  56. package/dist/lib/components/AcSidebarItem.vue.d.ts +1 -1
  57. package/dist/lib/components/AcStatCard.vue.d.ts +1 -1
  58. package/dist/lib/components/AcSteps.vue.d.ts +3 -0
  59. package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +33 -29
  60. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
  61. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +83 -72
  62. package/dist/lib/components/AcTextarea.vue.d.ts +3 -0
  63. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +11 -1
  64. package/dist/lib/components/AcTimePicker.vue.d.ts +3 -0
  65. package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +12 -2
  66. package/dist/lib/components/AcToaster.vue.d.ts +3 -0
  67. package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +71 -68
  68. package/dist/lib/components/AcTreeChart.js +5 -0
  69. package/dist/lib/components/AcTreeChart.vue.d.ts +135 -0
  70. package/dist/lib/components/AcTreeChart.vue_vue_type_script_setup_true_lang.js +809 -0
  71. package/dist/lib/components/AcUsageCard.vue.d.ts +1 -1
  72. package/dist/lib/components/index.d.ts +5 -2
  73. package/dist/lib/composables/copyText.d.ts +5 -1
  74. package/dist/lib/composables/copyText.js +15 -3
  75. package/dist/lib/index.d.ts +3 -0
  76. package/dist/lib/index.js +85 -81
  77. package/dist/lib/theme.css +11 -0
  78. package/package.json +1 -1
@@ -1,19 +1,16 @@
1
1
  import e from "./AcSpinner.js";
2
2
  import { fixedFrame as t } from "./fixedFrame.js";
3
- import { Fragment as n, Teleport as r, Transition as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as ee, createVNode as u, defineComponent as d, mergeModels as f, mergeProps as te, nextTick as ne, normalizeClass as p, normalizeStyle as re, onBeforeUnmount as ie, onMounted as ae, openBlock as m, ref as h, renderList as g, renderSlot as _, resolveDynamicComponent as oe, toDisplayString as v, unref as y, useAttrs as se, useId as ce, useModel as le, useSlots as ue, vModelText as de, watch as b, withCtx as fe, withDirectives as pe, withModifiers as x } from "vue";
4
- import { Check as me, ChevronDown as he, ChevronUp as ge, Plus as _e, RefreshCw as ve, X as ye } from "@lucide/vue";
3
+ import { Fragment as n, Teleport as r, Transition as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, mergeModels as p, mergeProps as ee, nextTick as te, normalizeClass as m, normalizeStyle as ne, onBeforeUnmount as re, onMounted as ie, openBlock as h, ref as g, renderList as _, renderSlot as v, resolveDynamicComponent as ae, toDisplayString as y, unref as b, useAttrs as oe, useId as se, useModel as ce, useSlots as le, vModelText as ue, watch as x, withCtx as de, withDirectives as fe, withModifiers as S } from "vue";
4
+ import { Check as pe, ChevronDown as me, ChevronUp as he, Plus as ge, RefreshCw as _e, X as ve } from "@lucide/vue";
5
5
  //#region src/lib/components/AcSelect.vue?vue&type=script&setup=true&lang.ts
6
- var be = {
7
- key: 0,
8
- class: "mb-2 flex items-center gap-1 text-base font-medium text-heading"
9
- }, xe = {
6
+ var ye = {
10
7
  key: 1,
11
8
  class: "text-muted"
12
- }, Se = {
9
+ }, be = {
13
10
  key: 2,
14
11
  class: "text-danger",
15
12
  "aria-hidden": "true"
16
- }, Ce = [
13
+ }, xe = [
17
14
  "id",
18
15
  "tabindex",
19
16
  "aria-expanded",
@@ -26,49 +23,59 @@ var be = {
26
23
  "aria-required",
27
24
  "aria-activedescendant",
28
25
  "aria-busy"
29
- ], we = { class: "flex min-w-0 flex-1 flex-wrap items-center gap-2" }, Te = { class: "truncate" }, Ee = [
26
+ ], Se = { class: "flex min-w-0 flex-1 flex-wrap items-center gap-2" }, Ce = { class: "truncate" }, we = [
30
27
  "aria-label",
31
28
  "disabled",
32
29
  "onClick"
33
- ], De = {
30
+ ], Te = {
34
31
  key: 2,
35
32
  class: "truncate"
36
- }, Oe = {
33
+ }, Ee = {
37
34
  key: 3,
38
35
  class: "truncate text-muted"
39
- }, ke = { class: "flex shrink-0 items-center gap-1 text-muted" }, Ae = ["disabled"], je = {
36
+ }, De = { class: "flex shrink-0 items-center gap-1 text-muted" }, Oe = ["disabled"], ke = {
40
37
  class: "inline-flex rounded-full p-1 transition-colors hover:bg-accent-hover hover:text-primary",
41
38
  "aria-hidden": "true"
42
- }, Me = {
39
+ }, Ae = {
43
40
  key: 0,
44
41
  class: "border-b border-border p-3"
45
- }, Ne = ["aria-activedescendant"], Pe = ["aria-multiselectable", "aria-labelledby"], Fe = {
42
+ }, je = ["aria-activedescendant"], Me = ["aria-multiselectable", "aria-labelledby"], Ne = {
46
43
  key: 0,
47
44
  role: "presentation",
48
45
  class: "px-4 pt-2 pb-1 text-sm font-semibold tracking-[0.08em] text-muted uppercase"
49
- }, Ie = [
46
+ }, Pe = [
50
47
  "id",
51
48
  "aria-selected",
52
49
  "aria-disabled",
53
50
  "onMouseenter",
54
51
  "onClick"
55
- ], Le = { class: "min-w-0 flex-1" }, Re = { class: "block truncate" }, ze = {
52
+ ], Fe = { class: "min-w-0 flex-1" }, Ie = {
56
53
  key: 0,
57
54
  class: "block truncate text-xs font-normal text-muted"
58
- }, Be = ["id"], Ve = { class: "min-w-0 flex-1 truncate" }, He = {
55
+ }, Le = ["id"], Re = { class: "min-w-0 flex-1 truncate" }, ze = {
59
56
  key: 1,
60
57
  role: "presentation",
61
58
  class: "px-4 py-3 text-center text-base text-muted"
62
- }, Ue = /*@__PURE__*/ d({
59
+ }, Be = 320, Ve = /*@__PURE__*/ f({
63
60
  inheritAttrs: !1,
64
61
  __name: "AcSelect",
65
- props: /*@__PURE__*/ f({
62
+ props: /*@__PURE__*/ p({
66
63
  options: {},
67
64
  by: {
68
65
  type: [String, Function],
69
66
  default: void 0
70
67
  },
71
68
  label: { default: "" },
69
+ labelClass: {
70
+ type: [
71
+ Boolean,
72
+ null,
73
+ String,
74
+ Object,
75
+ Array
76
+ ],
77
+ default: void 0
78
+ },
72
79
  placeholder: { default: "Select…" },
73
80
  multiple: {
74
81
  type: Boolean,
@@ -152,7 +159,7 @@ var be = {
152
159
  },
153
160
  openModifiers: {}
154
161
  }),
155
- emits: /*@__PURE__*/ f([
162
+ emits: /*@__PURE__*/ p([
156
163
  "select",
157
164
  "create",
158
165
  "remove",
@@ -160,8 +167,8 @@ var be = {
160
167
  "refresh",
161
168
  "change"
162
169
  ], ["update:modelValue", "update:open"]),
163
- setup(d, { expose: f, emit: Ue }) {
164
- let S = d, C = Ue, w = ue(), T = le(d, "modelValue"), E = (e) => T.value = e, D = le(d, "open"), We = {
170
+ setup(f, { expose: p, emit: Ve }) {
171
+ let C = f, w = Ve, T = le(), E = ce(f, "modelValue"), D = (e) => E.value = e, O = ce(f, "open"), He = {
165
172
  xs: {
166
173
  field: "min-h-[26px] pr-1 pl-2 text-xs",
167
174
  chips: ["py-0", "py-1"],
@@ -197,50 +204,51 @@ var be = {
197
204
  chips: ["py-1.5", "py-3"],
198
205
  custom: "py-3"
199
206
  }
200
- }, O = ce(), k = se(), Ge = a(() => ({
201
- class: k.class,
202
- style: k.style
203
- })), Ke = a(() => {
204
- let { class: e, style: t, ...n } = k;
207
+ }, k = se(), A = oe(), Ue = a(() => ({
208
+ class: A.class,
209
+ style: A.style
210
+ })), We = a(() => {
211
+ let { class: e, style: t, ...n } = A;
205
212
  return n;
206
- }), A = `${O}-list`, qe = `${O}-label`, Je = `${O}-hint`, Ye = `${O}-msg`, Xe = h(null), j = h(null), M = h(null), Ze = h(null), N = h(""), P = h(-1), F = h({
213
+ }), Ge = `${k}-list`, j = `${k}-label`, Ke = `${k}-hint`, qe = `${k}-msg`, Je = g(null), M = g(null), N = g(null), Ye = g(null), P = g(""), F = g(-1), I = g({
207
214
  left: 0,
208
- width: 0,
215
+ minWidth: 0,
216
+ maxWidth: 320,
209
217
  maxHeight: 288
210
- }), I = a(() => {
211
- let e = T.value;
212
- if (e == null || e === "") return [];
218
+ }), L = a(() => {
219
+ let e = E.value;
220
+ if (e == null || e === "" && (C.multiple || !C.options.some((t) => R(t.value, e)))) return [];
213
221
  let t = Array.isArray(e) ? e : [e];
214
- return S.hideUnknownValues ? t.filter((e) => S.options.some((t) => L(t.value, e))) : t;
215
- }), L = (e, t) => {
216
- let n = S.by;
222
+ return C.hideUnknownValues ? t.filter((e) => C.options.some((t) => R(t.value, e))) : t;
223
+ }), R = (e, t) => {
224
+ let n = C.by;
217
225
  return typeof n == "function" ? n(e, t) : n && e && t && typeof e == "object" && typeof t == "object" ? e[n] === t[n] : e === t;
218
- }, R = (e) => {
219
- let t = S.by;
226
+ }, z = (e) => {
227
+ let t = C.by;
220
228
  return String(typeof t == "string" && e && typeof e == "object" ? e[t] : e);
221
- }, Qe = (e, t) => {
222
- let n = S.by;
229
+ }, Xe = (e, t) => {
230
+ let n = C.by;
223
231
  return e && typeof e == "object" ? typeof n == "string" ? String(e[n]) : `i${t}` : String(e);
224
- }, z = (e) => I.value.some((t) => L(t, e.value)), B = a(() => I.value.map((e) => S.options.find((t) => L(t.value, e)) ?? {
232
+ }, B = (e) => L.value.some((t) => R(t, e.value)), V = a(() => L.value.map((e) => C.options.find((t) => R(t.value, e)) ?? {
225
233
  value: e,
226
- label: R(e)
227
- })), V = a(() => I.value.length > 0), H = h(""), U = a(() => H.value || S.errorMsg);
228
- function $e() {
229
- S.validateRequired && S.required && !V.value ? H.value = `This field is required. Please select ${S.multiple ? "at least one option" : "an option"}.` : H.value = "";
234
+ label: z(e)
235
+ })), H = a(() => L.value.length > 0), Ze = a(() => H.value && (C.multiple || C.emptyValue === null || !R(L.value[0], C.emptyValue))), U = g(""), W = a(() => U.value || C.errorMsg);
236
+ function Qe() {
237
+ C.validateRequired && C.required && !H.value ? U.value = `This field is required. Please select ${C.multiple ? "at least one option" : "an option"}.` : U.value = "";
230
238
  }
231
- let et = (e) => {
239
+ let $e = (e) => {
232
240
  if (!e.some((e) => e.group)) return e;
233
241
  let t = [];
234
242
  return e.forEach((e) => {
235
243
  let n = e.group ?? "";
236
244
  t.includes(n) || t.push(n);
237
245
  }), [...e].sort((e, n) => t.indexOf(e.group ?? "") - t.indexOf(n.group ?? ""));
238
- }, W = a(() => {
239
- let e = N.value.trim().toLowerCase();
240
- return et(e ? S.options.filter((t) => t.label.toLowerCase().includes(e) || t.description?.toLowerCase().includes(e) || t.group?.toLowerCase().includes(e)) : S.options);
241
- }), tt = a(() => {
246
+ }, G = a(() => {
247
+ let e = P.value.trim().toLowerCase();
248
+ return $e(e ? C.options.filter((t) => t.label.toLowerCase().includes(e) || t.description?.toLowerCase().includes(e) || t.group?.toLowerCase().includes(e)) : C.options);
249
+ }), et = a(() => {
242
250
  let e = [];
243
- return W.value.forEach((t, n) => {
251
+ return G.value.forEach((t, n) => {
244
252
  let r = t.group ?? "", i = e.find((e) => e.name === r);
245
253
  i || e.push(i = {
246
254
  name: r,
@@ -250,297 +258,312 @@ var be = {
250
258
  index: n
251
259
  });
252
260
  }), e;
253
- }), G = (e) => `${O}-opt-${e}`, K = a(() => N.value.trim()), q = a(() => {
254
- let e = K.value.toLowerCase();
255
- if (!S.creatable || !S.searchable || !e) return !1;
256
- let t = S.options.some((t) => t.label.toLowerCase() === e || R(t.value).toLowerCase() === e), n = I.value.some((t) => R(t).toLowerCase() === e);
261
+ }), K = (e) => `${k}-opt-${e}`, q = a(() => P.value.trim()), J = a(() => {
262
+ let e = q.value.toLowerCase();
263
+ if (!C.creatable || !C.searchable || !e) return !1;
264
+ let t = C.options.some((t) => t.label.toLowerCase() === e || z(t.value).toLowerCase() === e), n = L.value.some((t) => z(t).toLowerCase() === e);
257
265
  return !t && !n;
258
- }), J = a(() => W.value.length + +!!q.value - 1), Y = a(() => W.value.length), nt = () => {
259
- let e = j.value;
266
+ }), Y = a(() => G.value.length + +!!J.value - 1), tt = a(() => G.value.length), nt = () => {
267
+ let e = M.value;
260
268
  if (!e) return;
261
- let n = e.getBoundingClientRect(), r = t(), i = r.bottom - n.bottom - 4 - 8, a = n.top - r.top - 4 - 8, [o, s] = S.placement === "top" ? [a, i] : [i, a], c = o < 180 && s > o, l = S.placement === "top" ? !c : c;
262
- F.value = l ? {
269
+ let n = e.getBoundingClientRect(), r = t(), i = r.bottom - n.bottom - 4 - 8, a = n.top - r.top - 4 - 8, [o, s] = C.placement === "top" ? [a, i] : [i, a], c = o < 180 && s > o, l = C.placement === "top" ? !c : c, u = Math.max(n.width, Math.min(Be, r.width - 16)), d = Math.min(Math.max(N.value?.offsetWidth ?? n.width, n.width), u), f = n.left - r.left, p = {
270
+ left: f + d > r.width - 8 ? Math.max(8, n.right - r.left - d) : f,
271
+ minWidth: n.width,
272
+ maxWidth: u
273
+ };
274
+ I.value = l ? {
275
+ ...p,
263
276
  bottom: r.bottom - n.top + 4,
264
- left: n.left - r.left,
265
- width: n.width,
266
277
  maxHeight: Math.min(288, a)
267
278
  } : {
279
+ ...p,
268
280
  top: n.bottom + 4 - r.top,
269
- left: n.left - r.left,
270
- width: n.width,
271
281
  maxHeight: Math.min(288, i)
272
282
  };
273
283
  }, X = (e = 0, t = 1) => {
274
- for (let n = e; n >= 0 && n <= J.value; n += t) if (!W.value[n]?.disabled) return n;
284
+ for (let n = e; n >= 0 && n <= Y.value; n += t) if (!G.value[n]?.disabled) return n;
275
285
  return -1;
276
286
  }, rt = () => {
277
- S.disabled || S.loading || S.readonly || D.value || (D.value = !0);
287
+ C.disabled || C.loading || C.readonly || O.value || (O.value = !0);
278
288
  }, it = async () => {
279
- N.value = "", nt();
280
- let e = W.value.findIndex((e) => z(e));
281
- P.value = e >= 0 ? e : X(), document.addEventListener("pointerdown", mt, !0), window.addEventListener("scroll", $, !0), window.addEventListener("resize", $), await ne(), S.searchable && Ze.value?.focus(), Q();
289
+ P.value = "", nt();
290
+ let e = G.value.findIndex((e) => B(e));
291
+ F.value = e >= 0 ? e : X(), document.addEventListener("pointerdown", mt, !0), window.addEventListener("scroll", $, !0), window.addEventListener("resize", $), await te(), nt(), C.searchable && Ye.value?.focus(), Q();
282
292
  }, Z = (e = !0) => {
283
- D.value && (D.value = !1, P.value = -1, e && j.value?.focus());
284
- }, at = () => D.value ? Z() : rt(), ot = (e) => {
293
+ O.value && (O.value = !1, F.value = -1, e && M.value?.focus());
294
+ }, at = () => O.value ? Z() : rt(), ot = (e) => {
285
295
  if (!e.disabled) {
286
- if (S.multiple) {
287
- let t = [...I.value], n = t.findIndex((t) => L(t, e.value));
288
- n >= 0 ? (t.splice(n, 1), C("remove", e)) : (t.push(e.value), C("select", e)), E(t);
289
- } else E(e.value), C("select", e), Z();
296
+ if (C.multiple) {
297
+ let t = [...L.value], n = t.findIndex((t) => R(t, e.value));
298
+ n >= 0 ? (t.splice(n, 1), w("remove", e)) : (t.push(e.value), w("select", e)), D(t);
299
+ } else D(e.value), w("select", e), Z();
290
300
  }
291
301
  }, st = (e) => {
292
- E(S.multiple ? I.value.filter((t) => !L(t, e.value)) : S.emptyValue), C("remove", e);
302
+ D(C.multiple ? L.value.filter((t) => !R(t, e.value)) : C.emptyValue), w("remove", e);
293
303
  }, ct = () => {
294
- let e = K.value;
295
- if (!q.value || !e) return;
304
+ let e = q.value;
305
+ if (!J.value || !e) return;
296
306
  let t = e, n = {
297
307
  value: t,
298
308
  label: e
299
309
  };
300
- S.multiple ? (E([...I.value, t]), N.value = "") : (E(t), Z()), C("select", n), C("create", e);
310
+ C.multiple ? (D([...L.value, t]), P.value = "") : (D(t), Z()), w("select", n), w("create", e);
301
311
  }, lt = () => {
302
- B.value.forEach((e) => C("remove", e)), E(S.multiple ? [] : S.emptyValue), j.value?.focus();
303
- }, ut = "", dt, Q = () => ne(() => M.value?.querySelector(`#${CSS.escape(G(P.value))}`)?.scrollIntoView({ block: "nearest" })), ft = (e) => {
304
- let t = J.value + 1;
312
+ V.value.forEach((e) => w("remove", e)), D(C.multiple ? [] : C.emptyValue), M.value?.focus();
313
+ }, ut = "", dt, Q = () => te(() => N.value?.querySelector(`#${CSS.escape(K(F.value))}`)?.scrollIntoView({ block: "nearest" })), ft = (e) => {
314
+ let t = Y.value + 1;
305
315
  if (!t) return;
306
- let n = P.value;
307
- for (let r = 0; r < t && (n = (n + e + t) % t, W.value[n]?.disabled); r++);
308
- P.value = n, Q();
316
+ let n = F.value;
317
+ for (let r = 0; r < t && (n = (n + e + t) % t, G.value[n]?.disabled); r++);
318
+ F.value = n, Q();
309
319
  }, pt = (e) => {
310
- if (S.disabled || S.readonly) return;
320
+ if (C.disabled || C.readonly) return;
311
321
  let t = e.key;
312
- if (!D.value) {
322
+ if (!O.value) {
313
323
  [
314
324
  "Enter",
315
325
  " ",
316
326
  "ArrowDown",
317
327
  "ArrowUp"
318
- ].includes(t) ? (e.preventDefault(), rt()) : t === "Backspace" && S.multiple && V.value && e.target === j.value && st(B.value[B.value.length - 1]);
328
+ ].includes(t) ? (e.preventDefault(), rt()) : t === "Backspace" && C.multiple && H.value && e.target === M.value && st(V.value[V.value.length - 1]);
319
329
  return;
320
330
  }
321
331
  if (t === "ArrowDown") e.preventDefault(), ft(1);
322
332
  else if (t === "ArrowUp") e.preventDefault(), ft(-1);
323
- else if (t === "Home") e.preventDefault(), P.value = X(), Q();
324
- else if (t === "End") e.preventDefault(), P.value = X(J.value, -1), Q();
325
- else if (t === "Enter" || t === " " && !S.searchable) {
333
+ else if (t === "Home") e.preventDefault(), F.value = X(), Q();
334
+ else if (t === "End") e.preventDefault(), F.value = X(Y.value, -1), Q();
335
+ else if (t === "Enter" || t === " " && !C.searchable) {
326
336
  e.preventDefault();
327
- let t = W.value[P.value];
328
- t ? ot(t) : q.value && ct();
337
+ let t = G.value[F.value];
338
+ t ? ot(t) : J.value && ct();
329
339
  } else if (t === "Escape") e.preventDefault(), Z();
330
340
  else if (t === "Tab") Z(!1);
331
- else if (!S.searchable && t.length === 1 && !e.metaKey && !e.ctrlKey) {
341
+ else if (!C.searchable && t.length === 1 && !e.metaKey && !e.ctrlKey) {
332
342
  ut += t.toLowerCase(), clearTimeout(dt), dt = setTimeout(() => ut = "", 500);
333
- let e = W.value.findIndex((e) => !e.disabled && e.label.toLowerCase().startsWith(ut));
334
- e >= 0 && (P.value = e, Q());
343
+ let e = G.value.findIndex((e) => !e.disabled && e.label.toLowerCase().startsWith(ut));
344
+ e >= 0 && (F.value = e, Q());
335
345
  }
336
346
  }, mt = (e) => {
337
347
  let t = e.target;
338
- Xe.value?.contains(t) || M.value?.contains(t) || Z(!1);
348
+ Je.value?.contains(t) || N.value?.contains(t) || Z(!1);
339
349
  }, $ = (e) => {
340
- e?.target instanceof Node && M.value?.contains(e.target) || nt();
350
+ e?.target instanceof Node && N.value?.contains(e.target) || nt();
341
351
  }, ht = () => {
342
352
  document.removeEventListener("pointerdown", mt, !0), window.removeEventListener("scroll", $, !0), window.removeEventListener("resize", $);
343
353
  };
344
- b(D, (e) => {
354
+ x(O, (e) => {
345
355
  if (e) return it();
346
- P.value = -1, ht(), $e();
347
- }), b(() => T.value, (e) => {
348
- $e(), C("change", e);
349
- }), b(N, (e) => {
350
- C("search", e), P.value = X();
351
- }), ae(() => {
352
- S.initEmptyArray && S.multiple && !T.value && E([]), D.value && it();
353
- }), ie(ht);
354
- let gt = h(!1), _t = a(() => D.value || gt.value), vt = a(() => [S.hint && Je, U.value && Ye].filter(Boolean).join(" ") || void 0), yt = a(() => !S.multiple && B.value[0]?.label || ""), bt = a(() => !S.multiple && (w.selected || w.content) && B.value[0] || null), xt = a(() => !!(S.label || S.readonly || w["label-icon"] || w["label-extra"])), St = a(() => We[S.size] ?? We.normal), Ct = a(() => S.readonly ? "bg-surface-muted" : S.variant === "soft" ? "bg-accent" : S.variant === "ghost" ? "bg-transparent" : "bg-background"), wt = a(() => S.variant !== "outline");
355
- return f({ focus: () => j.value?.focus() }), (t, a) => (m(), c("div", te({
356
+ F.value = -1, ht(), Qe();
357
+ }), x(() => E.value, (e) => {
358
+ Qe(), w("change", e);
359
+ }), x(P, (e) => {
360
+ w("search", e), F.value = X();
361
+ }), ie(() => {
362
+ C.initEmptyArray && C.multiple && !E.value && D([]), O.value && it();
363
+ }), re(ht);
364
+ let gt = g(!1), _t = a(() => O.value || gt.value), vt = a(() => [C.hint && Ke, W.value && qe].filter(Boolean).join(" ") || void 0), yt = a(() => !C.multiple && V.value[0]?.label || ""), bt = a(() => !C.multiple && (T.selected || T.content) && V.value[0] || null), xt = a(() => !!(C.label || C.readonly || T["label-icon"] || T["label-extra"])), St = a(() => He[C.size] ?? He.normal), Ct = a(() => C.readonly ? "bg-surface-muted" : C.variant === "soft" ? "bg-accent" : C.variant === "ghost" ? "bg-transparent" : "bg-background"), wt = a(() => C.variant !== "outline");
365
+ return p({ focus: () => M.value?.focus() }), (t, a) => (h(), c("div", ee({
356
366
  ref_key: "root",
357
- ref: Xe
358
- }, Ge.value, {
359
- class: ["w-full", d.disabled && "opacity-50"],
367
+ ref: Je
368
+ }, Ue.value, {
369
+ class: ["[:where(&)]:w-full", f.disabled && "opacity-50"],
360
370
  "data-ac-ds": "",
361
371
  "data-testid": "ac-select"
362
372
  }), [
363
- xt.value ? (m(), c("div", be, [
364
- _(t.$slots, "label-icon"),
365
- d.label ? (m(), c("label", {
373
+ xt.value ? (h(), c("div", {
374
+ key: 0,
375
+ class: m(["mb-2 flex items-center gap-1 text-base font-medium text-heading", f.labelClass])
376
+ }, [
377
+ v(t.$slots, "label-icon"),
378
+ f.label ? (h(), c("label", {
366
379
  key: 0,
367
- id: qe,
368
- onClick: a[0] ||= (e) => j.value?.focus()
369
- }, v(d.label), 1)) : s("", !0),
370
- d.readonly ? (m(), c("span", xe, "(read only)")) : s("", !0),
371
- _(t.$slots, "label-extra"),
372
- d.required ? (m(), c("span", Se, "*")) : s("", !0)
373
- ])) : s("", !0),
374
- d.hint ? (m(), c("p", {
380
+ id: j,
381
+ onClick: a[0] ||= (e) => M.value?.focus()
382
+ }, y(f.label), 1)) : s("", !0),
383
+ f.readonly ? (h(), c("span", ye, "(read only)")) : s("", !0),
384
+ v(t.$slots, "label-extra"),
385
+ f.required ? (h(), c("span", be, "*")) : s("", !0)
386
+ ], 2)) : s("", !0),
387
+ f.hint ? (h(), c("p", {
375
388
  key: 1,
376
- id: Je,
389
+ id: Ke,
377
390
  class: "mb-2 text-base text-muted"
378
- }, v(d.hint), 1)) : s("", !0),
379
- l("div", te({
380
- id: `${y(O)}-trigger`,
391
+ }, y(f.hint), 1)) : s("", !0),
392
+ l("div", ee({
393
+ id: `${b(k)}-trigger`,
381
394
  ref_key: "trigger",
382
- ref: j
383
- }, Ke.value, {
395
+ ref: M
396
+ }, We.value, {
384
397
  role: "combobox",
385
- tabindex: d.disabled ? -1 : 0,
398
+ tabindex: f.disabled ? -1 : 0,
386
399
  "aria-haspopup": "listbox",
387
- "aria-expanded": D.value,
388
- "aria-controls": A,
389
- "aria-labelledby": d.label ? qe : void 0,
390
- "aria-label": d.label ? void 0 : y(k)["aria-label"] ?? d.placeholder,
400
+ "aria-expanded": O.value,
401
+ "aria-controls": Ge,
402
+ "aria-labelledby": f.label ? j : void 0,
403
+ "aria-label": f.label ? void 0 : b(A)["aria-label"] ?? f.placeholder,
391
404
  "aria-describedby": vt.value,
392
- "aria-disabled": d.disabled || void 0,
393
- "aria-invalid": !!U.value || void 0,
394
- "aria-readonly": d.readonly || void 0,
395
- "aria-required": d.required || void 0,
396
- "aria-activedescendant": D.value && !d.searchable && P.value >= 0 ? G(P.value) : void 0,
397
- "aria-busy": d.refreshing || void 0,
405
+ "aria-disabled": f.disabled || void 0,
406
+ "aria-invalid": !!W.value || void 0,
407
+ "aria-readonly": f.readonly || void 0,
408
+ "aria-required": f.required || void 0,
409
+ "aria-activedescendant": O.value && !f.searchable && F.value >= 0 ? K(F.value) : void 0,
410
+ "aria-busy": f.refreshing || void 0,
398
411
  class: ["group flex w-full items-center gap-2 rounded-10 border text-left font-medium text-heading transition-[color,background-color,border-color,box-shadow] duration-200 outline-none", [
399
412
  St.value.field,
400
413
  Ct.value,
401
- d.multiple && V.value && St.value.chips[+!!d.looseChips],
402
- d.disabled || d.loading || d.readonly ? "cursor-not-allowed" : "cursor-pointer",
403
- d.highlight && "ring-2 ring-primary/20 ring-offset-2 ring-offset-surface",
404
- U.value ? ["border-danger/50", _t.value && "border-danger shadow-[0_0_0_2px_color-mix(in_srgb,var(--color-danger)_20%,transparent)]"] : wt.value ? [
414
+ f.multiple && H.value && St.value.chips[+!!f.looseChips],
415
+ f.disabled || f.loading || f.readonly ? "cursor-not-allowed" : "cursor-pointer",
416
+ f.highlight && "ring-2 ring-primary/20 ring-offset-2 ring-offset-surface",
417
+ W.value ? ["border-danger/50", _t.value && "border-danger shadow-[0_0_0_2px_color-mix(in_srgb,var(--color-danger)_20%,transparent)]"] : wt.value ? [
405
418
  "border-transparent",
406
419
  _t.value && "shadow-[0_0_0_2px_color-mix(in_srgb,var(--color-primary)_20%,transparent)]",
407
- d.variant === "soft" && !d.disabled && "hover:bg-accent-hover"
408
- ] : _t.value ? "focus-ring" : ["border-border", !d.disabled && !d.readonly && "hover:border-accent-active"]
420
+ f.variant === "soft" && !f.disabled && "hover:bg-accent-hover"
421
+ ] : _t.value ? "focus-ring" : ["border-border", !f.disabled && !f.readonly && "hover:border-accent-active"]
409
422
  ]],
410
423
  onClick: at,
411
424
  onKeydown: pt,
412
425
  onFocus: a[2] ||= (e) => gt.value = !0,
413
426
  onBlur: a[3] ||= (e) => gt.value = !1
414
- }), [l("div", we, [d.multiple && V.value ? (m(!0), c(n, { key: 0 }, g(B.value, (e, t) => (m(), c("span", {
415
- key: Qe(e.value, t),
427
+ }), [l("div", Se, [f.multiple && H.value ? (h(!0), c(n, { key: 0 }, _(V.value, (e, t) => (h(), c("span", {
428
+ key: Xe(e.value, t),
416
429
  class: "inline-flex max-w-full items-center gap-2 rounded-10 bg-accent px-2 text-xs text-heading"
417
- }, [l("span", Te, v(e.label), 1), l("button", {
430
+ }, [l("span", Ce, y(e.label), 1), l("button", {
418
431
  type: "button",
419
432
  class: "inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full p-1 transition-colors hover:bg-accent-hover hover:text-primary focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",
420
433
  "aria-label": `Remove ${e.label}`,
421
- disabled: d.disabled,
422
- onClick: x((t) => st(e), ["stop"])
423
- }, [u(y(ye), {
434
+ disabled: f.disabled,
435
+ onClick: S((t) => st(e), ["stop"])
436
+ }, [d(b(ve), {
424
437
  class: "size-4",
425
438
  "aria-hidden": "true"
426
- })], 8, Ee)]))), 128)) : bt.value ? (m(), c("span", {
439
+ })], 8, we)]))), 128)) : bt.value ? (h(), c("span", {
427
440
  key: 1,
428
- class: p(["min-w-0 flex-1", St.value.custom])
429
- }, [_(t.$slots, "selected", { option: bt.value }, () => [_(t.$slots, "content", { option: bt.value })])], 2)) : yt.value ? (m(), c("span", De, v(yt.value), 1)) : (m(), c("span", Oe, v(d.placeholder), 1))]), l("span", ke, [
430
- d.loading ? (m(), o(e, {
441
+ class: m(["min-w-0 flex-1", St.value.custom])
442
+ }, [v(t.$slots, "selected", { option: bt.value }, () => [v(t.$slots, "content", { option: bt.value })])], 2)) : yt.value ? (h(), c("span", Te, y(yt.value), 1)) : (h(), c("span", Ee, y(f.placeholder), 1))]), l("span", De, [
443
+ f.loading ? (h(), o(e, {
431
444
  key: 0,
432
445
  class: "text-primary"
433
- })) : d.refreshable && !(d.disabled && d.hideRefreshWhenDisabled) ? (m(), c("button", {
446
+ })) : f.refreshable && !(f.disabled && f.hideRefreshWhenDisabled) ? (h(), c("button", {
434
447
  key: 1,
435
448
  type: "button",
436
449
  class: "inline-flex size-6 cursor-pointer items-center justify-center rounded-full transition-colors hover:bg-accent-hover hover:text-primary focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",
437
450
  "aria-label": "Refresh options",
438
- disabled: d.disabled,
439
- onClick: a[1] ||= x((e) => C("refresh"), ["stop"])
440
- }, [u(y(ve), {
441
- class: p(["size-4", d.refreshing && "motion-safe:animate-spin"]),
451
+ disabled: f.disabled,
452
+ onClick: a[1] ||= S((e) => w("refresh"), ["stop"])
453
+ }, [d(b(_e), {
454
+ class: m(["size-4", f.refreshing && "motion-safe:animate-spin"]),
442
455
  "aria-hidden": "true"
443
- }, null, 8, ["class"])], 8, Ae)) : s("", !0),
444
- d.clearable && V.value && !d.disabled && !d.loading && !d.readonly ? (m(), c("button", {
456
+ }, null, 8, ["class"])], 8, Oe)) : s("", !0),
457
+ f.clearable && Ze.value && !f.disabled && !f.loading && !f.readonly ? (h(), c("button", {
445
458
  key: 2,
446
459
  type: "button",
447
460
  class: "inline-flex size-6 cursor-pointer items-center justify-center rounded-full transition-colors hover:bg-accent-hover hover:text-primary focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",
448
461
  "aria-label": "Clear selection",
449
- onClick: x(lt, ["stop"])
450
- }, [u(y(ye), {
462
+ onClick: S(lt, ["stop"])
463
+ }, [d(b(ve), {
451
464
  class: "size-4",
452
465
  "aria-hidden": "true"
453
466
  })])) : s("", !0),
454
- l("span", je, [(m(), o(oe(D.value ? y(ge) : y(he)), { class: "size-4" }))])
455
- ])], 16, Ce),
456
- U.value ? (m(), c("p", {
467
+ l("span", ke, [(h(), o(ae(O.value ? b(he) : b(me)), { class: "size-4" }))])
468
+ ])], 16, xe),
469
+ W.value ? (h(), c("p", {
457
470
  key: 2,
458
- id: Ye,
471
+ id: qe,
459
472
  class: "mt-1 text-base text-danger-strong",
460
473
  role: "alert"
461
- }, v(U.value), 1)) : s("", !0),
462
- (m(), o(r, { to: "body" }, [u(i, {
474
+ }, y(W.value), 1)) : s("", !0),
475
+ (h(), o(r, { to: "body" }, [d(i, {
463
476
  "enter-active-class": "transition-opacity duration-100 ease-out motion-reduce:transition-none",
464
477
  "enter-from-class": "opacity-0",
465
478
  "leave-active-class": "transition-opacity duration-75 ease-in motion-reduce:transition-none",
466
479
  "leave-to-class": "opacity-0"
467
480
  }, {
468
- default: fe(() => [D.value ? (m(), c("div", {
481
+ default: de(() => [O.value ? (h(), c("div", {
469
482
  key: 0,
470
483
  ref_key: "panel",
471
- ref: M,
472
- class: "fixed z-[90] flex flex-col overflow-hidden rounded-10 border border-border bg-background shadow-lg",
473
- style: re({
474
- top: F.value.top === void 0 ? void 0 : `${F.value.top}px`,
475
- bottom: F.value.bottom === void 0 ? void 0 : `${F.value.bottom}px`,
476
- left: `${F.value.left}px`,
477
- width: `${F.value.width}px`,
478
- maxHeight: `${F.value.maxHeight}px`
484
+ ref: N,
485
+ class: "fixed z-[90] flex w-max flex-col overflow-hidden rounded-10 border border-border bg-background shadow-lg",
486
+ style: ne({
487
+ top: I.value.top === void 0 ? void 0 : `${I.value.top}px`,
488
+ bottom: I.value.bottom === void 0 ? void 0 : `${I.value.bottom}px`,
489
+ left: `${I.value.left}px`,
490
+ minWidth: `${I.value.minWidth}px`,
491
+ maxWidth: `${I.value.maxWidth}px`,
492
+ maxHeight: `${I.value.maxHeight}px`
479
493
  }),
480
494
  "data-ac-ds": "",
481
495
  "data-testid": "ac-select-panel"
482
- }, [d.searchable ? (m(), c("div", Me, [pe(l("input", {
496
+ }, [f.searchable ? (h(), c("div", Ae, [fe(l("input", {
483
497
  ref_key: "searchInput",
484
- ref: Ze,
485
- "onUpdate:modelValue": a[4] ||= (e) => N.value = e,
498
+ ref: Ye,
499
+ "onUpdate:modelValue": a[4] ||= (e) => P.value = e,
486
500
  type: "text",
487
501
  placeholder: "Search…",
488
502
  "aria-label": "Search options",
489
- "aria-controls": A,
490
- "aria-activedescendant": P.value >= 0 ? G(P.value) : void 0,
503
+ "aria-controls": Ge,
504
+ "aria-activedescendant": F.value >= 0 ? K(F.value) : void 0,
491
505
  class: "h-9.5 w-full rounded-10 border border-border bg-background px-3 text-base text-heading transition-[border-color,box-shadow] duration-200 outline-none placeholder:text-muted/80 hover:border-accent-active focus:focus-ring",
492
506
  onKeydown: pt
493
- }, null, 40, Ne), [[de, N.value]])])) : s("", !0), l("ul", {
494
- id: A,
507
+ }, null, 40, je), [[ue, P.value]])])) : s("", !0), l("ul", {
508
+ id: Ge,
495
509
  role: "listbox",
496
- "aria-multiselectable": d.multiple || void 0,
497
- "aria-labelledby": d.label ? qe : void 0,
510
+ "aria-multiselectable": f.multiple || void 0,
511
+ "aria-labelledby": f.label ? j : void 0,
498
512
  class: "ac-scrollbar max-h-60 min-h-0 flex-1 p-1"
499
513
  }, [
500
- (m(!0), c(n, null, g(tt.value, (e) => (m(), c(n, { key: e.name }, [e.name ? (m(), c("li", Fe, v(e.name), 1)) : s("", !0), (m(!0), c(n, null, g(e.items, ({ option: e, index: n }) => (m(), c("li", {
501
- id: G(n),
502
- key: Qe(e.value, n),
514
+ (h(!0), c(n, null, _(et.value, (e) => (h(), c(n, { key: e.name }, [e.name ? (h(), c("li", Ne, y(e.name), 1)) : s("", !0), (h(!0), c(n, null, _(e.items, ({ option: e, index: n }) => (h(), c("li", {
515
+ id: K(n),
516
+ key: Xe(e.value, n),
503
517
  role: "option",
504
- "aria-selected": z(e),
518
+ "aria-selected": B(e),
505
519
  "aria-disabled": e.disabled || void 0,
506
- class: p(["flex cursor-pointer items-start gap-2.5 rounded-6 px-4 py-2 text-base text-heading transition-colors", [e.disabled && "cursor-not-allowed opacity-50", n === P.value ? "bg-accent-hover" : z(e) && "bg-accent"]]),
507
- onMouseenter: (t) => !e.disabled && (P.value = n),
508
- onMousedown: a[5] ||= x(() => {}, ["prevent"]),
520
+ class: m(["flex cursor-pointer items-start gap-2.5 rounded-6 px-4 py-2 text-base text-heading transition-colors", [e.disabled && "cursor-not-allowed opacity-50", n === F.value ? "bg-accent-hover" : B(e) && "bg-accent"]]),
521
+ onMouseenter: (t) => !e.disabled && (F.value = n),
522
+ onMousedown: a[5] ||= S(() => {}, ["prevent"]),
509
523
  onClick: (t) => ot(e)
510
- }, [d.multiple ? (m(), c("span", {
511
- key: 0,
512
- class: p(["mt-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-4 border transition-colors", z(e) ? "border-primary bg-primary text-white" : "border-muted/70 bg-surface"]),
513
- "aria-hidden": "true"
514
- }, [z(e) ? (m(), o(y(me), {
515
- key: 0,
516
- class: "size-3",
517
- "stroke-width": 3,
518
- "aria-hidden": "true"
519
- })) : s("", !0)], 2)) : s("", !0), l("span", Le, [_(t.$slots, "option", {
520
- option: e,
521
- selected: z(e),
522
- active: n === P.value
523
- }, () => [_(t.$slots, "content", { option: e }, () => [l("span", Re, v(e.label), 1), e.description ? (m(), c("span", ze, v(e.description), 1)) : s("", !0)])])])], 42, Ie))), 128))], 64))), 128)),
524
- q.value ? (m(), c("li", {
524
+ }, [
525
+ f.multiple ? (h(), c("span", {
526
+ key: 0,
527
+ class: m(["mt-0.5 inline-flex size-4 shrink-0 items-center justify-center rounded-4 border transition-colors", B(e) ? "border-primary bg-primary text-white" : "border-muted/70 bg-surface"]),
528
+ "aria-hidden": "true"
529
+ }, [B(e) ? (h(), o(b(pe), {
530
+ key: 0,
531
+ class: "size-3",
532
+ "stroke-width": 3,
533
+ "aria-hidden": "true"
534
+ })) : s("", !0)], 2)) : s("", !0),
535
+ l("span", Fe, [v(t.$slots, "option", {
536
+ option: e,
537
+ selected: B(e),
538
+ active: n === F.value
539
+ }, () => [v(t.$slots, "content", { option: e }, () => [l("span", { class: m(["block truncate", !f.multiple && B(e) && "font-medium text-primary-strong"]) }, y(e.label), 3), e.description ? (h(), c("span", Ie, y(e.description), 1)) : s("", !0)])])]),
540
+ !f.multiple && !t.$slots.option && B(e) ? (h(), o(b(pe), {
541
+ key: 1,
542
+ class: "mt-0.5 size-4 shrink-0 text-primary",
543
+ "aria-hidden": "true",
544
+ "data-testid": "ac-select-check"
545
+ })) : s("", !0)
546
+ ], 42, Pe))), 128))], 64))), 128)),
547
+ J.value ? (h(), c("li", {
525
548
  key: 0,
526
- id: G(Y.value),
549
+ id: K(tt.value),
527
550
  role: "option",
528
551
  "aria-selected": "false",
529
- class: p(["flex cursor-pointer items-center gap-2.5 rounded-6 px-4 py-2 text-base text-heading transition-colors", Y.value === P.value && "bg-accent-hover"]),
552
+ class: m(["flex cursor-pointer items-center gap-2.5 rounded-6 px-4 py-2 text-base text-heading transition-colors", tt.value === F.value && "bg-accent-hover"]),
530
553
  "data-testid": "ac-select-create",
531
- onMouseenter: a[6] ||= (e) => P.value = Y.value,
532
- onMousedown: a[7] ||= x(() => {}, ["prevent"]),
554
+ onMouseenter: a[6] ||= (e) => F.value = tt.value,
555
+ onMousedown: a[7] ||= S(() => {}, ["prevent"]),
533
556
  onClick: ct
534
- }, [u(y(_e), {
557
+ }, [d(b(ge), {
535
558
  class: "size-4 shrink-0 text-primary-strong",
536
559
  "aria-hidden": "true"
537
- }), l("span", Ve, v(d.createText) + " “" + v(K.value) + "”", 1)], 42, Be)) : s("", !0),
538
- !W.value.length && !q.value ? (m(), c("li", He, [_(t.$slots, "empty", { query: N.value }, () => [ee(v(d.emptyText || (N.value ? `${d.noResultText} for “${N.value}”` : "No options")), 1)])])) : s("", !0)
539
- ], 8, Pe)], 4)) : s("", !0)]),
560
+ }), l("span", Re, y(f.createText) + " “" + y(q.value) + "”", 1)], 42, Le)) : s("", !0),
561
+ !G.value.length && !J.value ? (h(), c("li", ze, [v(t.$slots, "empty", { query: P.value }, () => [u(y(f.emptyText || (P.value ? `${f.noResultText} for “${P.value}”` : "No options")), 1)])])) : s("", !0)
562
+ ], 8, Me)], 4)) : s("", !0)]),
540
563
  _: 3
541
564
  })]))
542
565
  ], 16));
543
566
  }
544
567
  });
545
568
  //#endregion
546
- export { Ue as default };
569
+ export { Ve as default };