@wssto2/vue-core 0.4.18 → 0.4.20

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 (81) hide show
  1. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js → ActionRow.vue_vue_type_script_setup_true_lang-QPvYudWc.js} +1 -1
  2. package/dist/{Activity-DB9ABAMb.js → Activity-C0NvjIi5.js} +4 -4
  3. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CxU9aNRQ.js} +1 -1
  4. package/dist/{Changes-IIczcs6O.js → Changes-hoMHeAZt.js} +3 -3
  5. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CUoyYpaW.js → CollectionPage.vue_vue_type_script_setup_true_lang-BNM_cbXa.js} +6 -6
  6. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-Wuvo-l_z.js → DataTable.vue_vue_type_script_setup_true_lang-DPuH84I7.js} +1 -1
  7. package/dist/{DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js → DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js} +5 -5
  8. package/dist/DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js +281 -0
  9. package/dist/{DeadLetters-Bq5YpnvT.js → DeadLetters-O6QReswO.js} +2 -2
  10. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js → FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js} +3 -2
  11. package/dist/{FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js → FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js} +1 -1
  12. package/dist/{General-DQruOZs2.js → General-9Sgxb74n.js} +6 -6
  13. package/dist/{Menu.vue_vue_type_script_setup_true_lang-uPmxWvds.js → Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js} +1 -1
  14. package/dist/{NewRolePage-BcA8jBBQ.js → NewRolePage-D-LunWMH.js} +3 -3
  15. package/dist/NumberField.vue_vue_type_script_setup_true_lang-DaE5BLm4.js +161 -0
  16. package/dist/{Popover.vue_vue_type_script_setup_true_lang-BTOzgIQF.js → Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js} +8 -8
  17. package/dist/{ProfilePage-BqdCzyax.js → ProfilePage-DJUDCyEr.js} +6 -6
  18. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DijFQnU6.js → RecordHeader.vue_vue_type_script_setup_true_lang-szzWzdDu.js} +1 -1
  19. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BpLnmA6n.js → ResourcePage.vue_vue_type_script_setup_true_lang-BFaaFQSm.js} +2 -2
  20. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DPpCuJWk.js → RoleEditor.vue_vue_type_script_setup_true_lang-D-b-O6SG.js} +7 -7
  21. package/dist/{RolePage-IES_ADt5.js → RolePage-Ha-EgoEJ.js} +7 -7
  22. package/dist/{RolesPage-D0K7tEL-.js → RolesPage-8uWWCClN.js} +5 -5
  23. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-D5QWy-c1.js → SectionList.vue_vue_type_script_setup_true_lang-BJnz2ROc.js} +2 -2
  24. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-CW81A_bn.js → SectionNavigator.vue_vue_type_script_setup_true_lang-BltrQnrQ.js} +2 -2
  25. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js → SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js} +1 -1
  26. package/dist/SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js +515 -0
  27. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-C0XvavBw.js → SessionList.vue_vue_type_script_setup_true_lang-D5qm77Zo.js} +2 -2
  28. package/dist/{Sessions-BfpiOhGs.js → Sessions-Dz4KYMu9.js} +2 -2
  29. package/dist/{SettingsPage-BnEpURcU.js → SettingsPage-D47NSOYW.js} +7 -7
  30. package/dist/{SignIn-DrLE0gNr.js → SignIn-CNv68Tba.js} +4 -4
  31. package/dist/{SignInPage-CRynZCU2.js → SignInPage-CsjC4aiV.js} +3 -3
  32. package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-7Z9EmLs-.js → SignInTable.vue_vue_type_script_setup_true_lang-ByEAVfjv.js} +1 -1
  33. package/dist/{SignIns-BQ8tISWn.js → SignIns-CgsNf8uf.js} +2 -2
  34. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js → SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js} +1 -1
  35. package/dist/TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js +317 -0
  36. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js +93 -0
  37. package/dist/TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js +190 -0
  38. package/dist/{Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js → Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js} +1 -1
  39. package/dist/{UserRecord-CqmPm4Fv.js → UserRecord-B9r_9U1z.js} +7 -7
  40. package/dist/{UsersList-CHAray61.js → UsersList-BBLa3OCv.js} +6 -6
  41. package/dist/access/index.js +1 -1
  42. package/dist/{anchored-Cj4--8dT.js → anchored-DpuUwf-9.js} +17 -15
  43. package/dist/collection/index.js +4 -4
  44. package/dist/{control-B_Nwtmag.js → control-B4SdblL6.js} +134 -118
  45. package/dist/controls/index.js +1 -1
  46. package/dist/form/ComboField.vue.d.ts +9 -3
  47. package/dist/form/DateField.vue.d.ts +4 -0
  48. package/dist/form/DateTimeField.vue.d.ts +4 -0
  49. package/dist/form/Field.vue.d.ts +2 -0
  50. package/dist/form/MoneyField.vue.d.ts +10 -5
  51. package/dist/form/NumberField.vue.d.ts +13 -5
  52. package/dist/form/SelectField.vue.d.ts +5 -1
  53. package/dist/form/TextField.vue.d.ts +10 -2
  54. package/dist/form/TextareaField.vue.d.ts +4 -0
  55. package/dist/form/TimeField.vue.d.ts +4 -0
  56. package/dist/form/index.d.ts +1 -1
  57. package/dist/form/index.js +1173 -1142
  58. package/dist/form/options.d.ts +4 -0
  59. package/dist/identity/index.js +1 -1
  60. package/dist/{index-91Lo0hJy.js → index-D-0JNiFF.js} +3 -3
  61. package/dist/{index-wlRejl73.js → index-D6BjUQJT.js} +7 -7
  62. package/dist/{index-sYamgVg7.js → index-Dxu7ZfCC.js} +12 -12
  63. package/dist/index.d.ts +1 -1
  64. package/dist/index.js +1 -1
  65. package/dist/notifications/index.js +1 -1
  66. package/dist/overlay/anchored.d.ts +2 -0
  67. package/dist/overlay/index.js +3 -3
  68. package/dist/page/index.js +5 -5
  69. package/dist/phone/index.js +2 -2
  70. package/dist/resource/index.js +1 -1
  71. package/dist/{rowLayout-BFz4Kdoy.js → rowLayout-D1vrdy0s.js} +2 -2
  72. package/dist/shell/index.js +2 -2
  73. package/dist/{status-B_IMA25a.js → status-BLTC7wi1.js} +1 -1
  74. package/dist/styles.css +1 -1
  75. package/package.json +1 -1
  76. package/dist/DateField.vue_vue_type_script_setup_true_lang-8mvjzRA-.js +0 -278
  77. package/dist/NumberField.vue_vue_type_script_setup_true_lang-CC8bKyR_.js +0 -150
  78. package/dist/SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js +0 -489
  79. package/dist/TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js +0 -299
  80. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +0 -91
  81. package/dist/TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js +0 -187
@@ -1,63 +1,63 @@
1
- import { _ as Oe, s as He, c as Se, f as et } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
2
- import { E as Eo, u as Io, a as Go } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
3
- import { f as ze, u as st } from "../useCommand-YN9EMb7s.js";
4
- import { _ as Po, a as Ko } from "../useCommand-YN9EMb7s.js";
5
- import { ref as N, computed as w, defineComponent as P, openBlock as i, createBlock as q, mergeProps as X, unref as s, createSlots as Q, withCtx as f, createElementVNode as b, normalizeClass as E, createElementBlock as h, Fragment as re, renderList as xe, createVNode as R, createCommentVNode as z, toDisplayString as C, renderSlot as F, mergeDefaults as ue, useModel as ne, useId as je, withKeys as Ce, withModifiers as be, createTextVNode as Y, mergeModels as se, useTemplateRef as A, shallowRef as Le, watch as ie, normalizeProps as Ve, guardReactiveProps as qe, nextTick as ke, provide as Re, inject as tt, onBeforeUnmount as Ee, onMounted as rt, toRef as it, toValue as Me, getCurrentScope as ut, onScopeDispose as dt, shallowReactive as Ue, normalizeStyle as ct, resolveDynamicComponent as ft } from "vue";
1
+ import { _ as Me, s as He, c as Se, f as et } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
2
+ import { E as Ko, u as Ao, a as Ho } from "../FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js";
3
+ import { f as De, u as st } from "../useCommand-YN9EMb7s.js";
4
+ import { _ as Yo, a as Wo } from "../useCommand-YN9EMb7s.js";
5
+ import { ref as N, computed as k, defineComponent as P, openBlock as i, createBlock as O, mergeProps as Q, unref as s, createSlots as ee, withCtx as m, createElementVNode as p, normalizeClass as j, createElementBlock as y, Fragment as ue, renderList as xe, createVNode as M, createCommentVNode as T, toDisplayString as _, renderSlot as C, mergeDefaults as ce, useModel as ie, useId as je, withKeys as Ce, withModifiers as be, createTextVNode as Y, mergeModels as se, useTemplateRef as U, shallowRef as Le, watch as de, normalizeProps as Ve, guardReactiveProps as qe, nextTick as he, provide as Re, inject as tt, onBeforeUnmount as Ee, onMounted as rt, toRef as it, toValue as Oe, getCurrentScope as ut, onScopeDispose as dt, shallowReactive as Ue, normalizeStyle as ct, resolveDynamicComponent as ft } from "vue";
6
6
  import { a as Ie } from "../leaveGuard-Cc8yeLxM.js";
7
- import { M as Ho, c as Uo, i as Yo, l as Wo, u as Jo } from "../leaveGuard-Cc8yeLxM.js";
8
- import { _ as Qo } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
9
- import { u as en } from "../useResourceForm-CP2lCwmD.js";
10
- import { _ as Z } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
- import { u as at, _ as ye, f as de, b as ce, a as lt, c as Ge, e as mt, h as vt, i as pt, d as bt } from "../control-B_Nwtmag.js";
12
- import { useI18n as te } from "vue-i18n";
7
+ import { M as Zo, c as Xo, i as Qo, l as en, u as tn } from "../leaveGuard-Cc8yeLxM.js";
8
+ import { _ as ln } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
9
+ import { u as nn } from "../useResourceForm-CP2lCwmD.js";
10
+ import { _ as te } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
+ import { u as at, _ as ye, f as fe, b as me, a as lt, c as Ge, e as mt, h as vt, i as pt, d as bt } from "../control-B4SdblL6.js";
12
+ import { useI18n as oe } from "vue-i18n";
13
13
  import { b as gt } from "../controlSurface-t7OEFESJ.js";
14
- import { a as yt } from "../TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js";
15
- import { _ as an } from "../TextField.vue_vue_type_script_setup_true_lang-CWgn-vGl.js";
14
+ import { a as yt } from "../TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
15
+ import { _ as rn } from "../TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
16
16
  import { u as ht, l as kt } from "../suggestions-DHJFKB26.js";
17
- import { r as on } from "../suggestions-DHJFKB26.js";
18
- import { s as $e, u as Ye, i as xt, o as _e, e as Fe, k as wt, _ as $t, l as _t, c as St, b as Ct, t as De, g as Ft, q as Bt } from "../useTypedEntry-C7k7Dyl-.js";
19
- import { u as Lt, a as Tt, s as Dt } from "../DateField.vue_vue_type_script_setup_true_lang-8mvjzRA-.js";
20
- import { _ as sn } from "../DateField.vue_vue_type_script_setup_true_lang-8mvjzRA-.js";
21
- import { _ as ot } from "../DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
22
- import { u as zt } from "../format-D8X4zsx6.js";
17
+ import { r as dn } from "../suggestions-DHJFKB26.js";
18
+ import { s as $e, u as Ye, i as xt, o as _e, e as Fe, k as wt, _ as $t, l as _t, c as St, b as Ct, t as ze, g as Ft, q as Bt } from "../useTypedEntry-C7k7Dyl-.js";
19
+ import { u as Lt, a as Tt, s as zt } from "../DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js";
20
+ import { _ as fn } from "../DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js";
21
+ import { _ as ot } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
22
+ import { u as Dt } from "../format-D8X4zsx6.js";
23
23
  import { u as Ne } from "../mediaQuery-CygcXmFW.js";
24
- import { _ as Pe } from "../Popover.vue_vue_type_script_setup_true_lang-BTOzgIQF.js";
25
- import { u as Vt } from "../TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js";
26
- import { _ as un } from "../TimeField.vue_vue_type_script_setup_true_lang-BebAIPeL.js";
24
+ import { _ as Pe } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
25
+ import { u as Vt } from "../TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js";
26
+ import { _ as vn } from "../TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js";
27
27
  import { _ as ge } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
28
- import { _ as qt, r as Rt } from "../FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
29
- import { a as cn, c as fn, p as mn, u as vn } from "../FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
30
- import { _ as bn } from "../FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js";
31
- import { i as Mt } from "../intlLocale-CeRU44qJ.js";
32
- import { a as Ot } from "../environment-Dva-SG8D.js";
33
- import { _ as jt } from "../NumberField.vue_vue_type_script_setup_true_lang-CC8bKyR_.js";
28
+ import { _ as qt, r as Rt } from "../FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
29
+ import { a as bn, c as gn, p as yn, u as hn } from "../FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
30
+ import { _ as xn } from "../FormView.vue_vue_type_script_setup_true_lang-Dbfg_jGh.js";
31
+ import { i as Ot } from "../intlLocale-CeRU44qJ.js";
32
+ import { a as Mt } from "../environment-Dva-SG8D.js";
33
+ import { _ as jt } from "../NumberField.vue_vue_type_script_setup_true_lang-DaE5BLm4.js";
34
34
  import { _ as Et } from "../Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
35
- import { u as It, a as We } from "../SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js";
36
- import { _ as yn, b as hn } from "../SelectField.vue_vue_type_script_setup_true_lang-DkbBJpYX.js";
37
- import { g as xn, m as wn } from "../options-Ba_0uLWN.js";
38
- import { _ as _n } from "../OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js";
35
+ import { u as It, a as We } from "../SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
36
+ import { _ as $n, b as _n } from "../SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
37
+ import { g as Cn, m as Fn } from "../options-Ba_0uLWN.js";
38
+ import { _ as Ln } from "../OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js";
39
39
  import { _ as Je } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js";
40
- import { _ as Cn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js";
41
- import { _ as Bn } from "../SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js";
42
- import { _ as Tn } from "../TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js";
40
+ import { _ as zn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js";
41
+ import { _ as Vn } from "../SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js";
42
+ import { _ as Rn } from "../TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js";
43
43
  import { _ as Gt } from "../Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js";
44
- import { _ as Xe } from "../Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
44
+ import { _ as Ze } from "../Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
45
45
  import { D as Nt } from "../useWaitStatus-fsacMl4W.js";
46
46
  import { t as Pt } from "../toast-CqSDTWRX.js";
47
- import { a as Kt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-Bm0sxqNz.js";
48
- import { _ as At, a as Ht } from "../SectionList.vue_vue_type_script_setup_true_lang-D5QWy-c1.js";
47
+ import { a as Kt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-CxU9aNRQ.js";
48
+ import { _ as At, a as Ht } from "../SectionList.vue_vue_type_script_setup_true_lang-BJnz2ROc.js";
49
49
  import { p as Ut } from "../sectionIndex-BS0ic5W7.js";
50
50
  import { u as Yt } from "../useSaveChrome-7huA3FzR.js";
51
51
  import { matchedRouteKey as Wt, onBeforeRouteLeave as Jt } from "vue-router";
52
- function Xt(o) {
52
+ function Zt(o) {
53
53
  const t = N(null);
54
54
  return {
55
- isDirty: w(() => t.value !== null && JSON.stringify(o()) !== t.value),
55
+ isDirty: k(() => t.value !== null && JSON.stringify(o()) !== t.value),
56
56
  markClean: () => t.value = JSON.stringify(o())
57
57
  };
58
58
  }
59
- function po(o) {
60
- const t = N(!1), e = Xt(o), { confirmDiscard: l } = Ie(() => t.value && e.isDirty.value);
59
+ function ko(o) {
60
+ const t = N(!1), e = Zt(o), { confirmDiscard: a } = Ie(() => t.value && e.isDirty.value);
61
61
  return {
62
62
  /** The sheet was just filled: its current values are the baseline. */
63
63
  opened: () => {
@@ -67,19 +67,19 @@ function po(o) {
67
67
  closed: () => {
68
68
  t.value = !1;
69
69
  },
70
- beforeDismiss: l
70
+ beforeDismiss: a
71
71
  };
72
72
  }
73
- const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name", "value", "checked", "disabled", "onChange"], ea = { class: "min-w-0 flex-1" }, ta = { class: "block text-body font-semibold text-content-strong" }, aa = {
73
+ const Xt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Qt = ["name", "value", "checked", "disabled", "onChange"], ea = { class: "min-w-0 flex-1" }, ta = { class: "block text-body font-semibold text-content-strong" }, aa = {
74
74
  key: 0,
75
75
  class: "mt-0.5 block text-footnote text-content-muted"
76
76
  }, la = {
77
77
  key: 1,
78
78
  class: "flex size-5 shrink-0 items-center justify-center rounded-full bg-control-on text-white",
79
79
  "aria-hidden": "true"
80
- }, bo = /* @__PURE__ */ P({
80
+ }, xo = /* @__PURE__ */ P({
81
81
  __name: "CardSelectField",
82
- props: /* @__PURE__ */ ue({
82
+ props: /* @__PURE__ */ ce({
83
83
  label: {},
84
84
  labelHidden: { type: Boolean },
85
85
  hint: {},
@@ -93,79 +93,79 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
93
93
  modelValue: {},
94
94
  options: {},
95
95
  columns: {}
96
- }, { ...ce, modelValue: null, columns: 2 }),
96
+ }, { ...me, modelValue: null, columns: 2 }),
97
97
  emits: ["update:modelValue"],
98
98
  setup(o, { emit: t }) {
99
- const e = o, l = t, { editable: n } = at(e), a = { 1: "grid-cols-1", 2: "grid-cols-2", 3: "grid-cols-3", 4: "grid-cols-4" }, u = w(() => a[e.columns]);
100
- return (c, g) => (i(), q(ye, X(s(de)(e), {
101
- value: e.options.find((k) => k.value === e.modelValue)?.label ?? null,
99
+ const e = o, a = t, { editable: n } = at(e), l = { 1: "grid-cols-1", 2: "grid-cols-2", 3: "grid-cols-3", 4: "grid-cols-4" }, u = k(() => l[e.columns]);
100
+ return (c, b) => (i(), O(ye, Q(s(fe)(e), {
101
+ value: e.options.find((h) => h.value === e.modelValue)?.label ?? null,
102
102
  "row-layout": "stacked"
103
- }), Q({
104
- default: f(({ id: k, describedby: $, invalid: y }) => [
105
- b("div", {
106
- id: k,
103
+ }), ee({
104
+ default: m(({ id: h, describedby: w, invalid: x }) => [
105
+ p("div", {
106
+ id: h,
107
107
  role: "radiogroup",
108
108
  "aria-label": e.label,
109
- "aria-describedby": $,
110
- "aria-invalid": y || void 0,
111
- class: E(["grid w-full gap-2.5", u.value]),
109
+ "aria-describedby": w,
110
+ "aria-invalid": x || void 0,
111
+ class: j(["grid w-full gap-2.5", u.value]),
112
112
  "data-test": "card-select"
113
113
  }, [
114
- (i(!0), h(re, null, xe(e.options, (r) => (i(), h("label", {
114
+ (i(!0), y(ue, null, xe(e.options, (r) => (i(), y("label", {
115
115
  key: r.value,
116
- class: E(["relative flex items-center gap-3 rounded-group bg-fill p-3.5 transition-colors duration-motion-fast focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus", [r.value === e.modelValue ? "bg-tint-soft ring-[1.5px] ring-inset ring-border-selected" : "hover:bg-fill-strong", e.disabled || !s(n) || r.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer"]])
116
+ class: j(["relative flex items-center gap-3 rounded-group bg-fill p-3.5 transition-colors duration-motion-fast focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus", [r.value === e.modelValue ? "bg-tint-soft ring-[1.5px] ring-inset ring-border-selected" : "hover:bg-fill-strong", e.disabled || !s(n) || r.disabled ? "cursor-not-allowed opacity-60" : "cursor-pointer"]])
117
117
  }, [
118
- b("input", {
118
+ p("input", {
119
119
  type: "radio",
120
120
  class: "sr-only",
121
- name: e.name ?? k,
121
+ name: e.name ?? h,
122
122
  value: r.value,
123
123
  checked: r.value === e.modelValue,
124
124
  disabled: e.disabled || !s(n) || r.disabled,
125
- onChange: (d) => l("update:modelValue", r.value)
126
- }, null, 40, Zt),
127
- r.icon ? (i(), h("span", {
125
+ onChange: (f) => a("update:modelValue", r.value)
126
+ }, null, 40, Qt),
127
+ r.icon ? (i(), y("span", {
128
128
  key: 0,
129
- class: E(["flex size-9 shrink-0 items-center justify-center rounded-control", r.value === e.modelValue ? "bg-control-on text-white" : "bg-fill-strong text-content-muted"])
129
+ class: j(["flex size-9 shrink-0 items-center justify-center rounded-control", r.value === e.modelValue ? "bg-control-on text-white" : "bg-fill-strong text-content-muted"])
130
130
  }, [
131
- R(s(Z), {
131
+ M(s(te), {
132
132
  name: r.icon,
133
133
  size: 18
134
134
  }, null, 8, ["name"])
135
- ], 2)) : z("", !0),
136
- b("span", ea, [
137
- b("span", ta, C(r.label), 1),
138
- r.description ? (i(), h("span", aa, C(r.description), 1)) : z("", !0)
135
+ ], 2)) : T("", !0),
136
+ p("span", ea, [
137
+ p("span", ta, _(r.label), 1),
138
+ r.description ? (i(), y("span", aa, _(r.description), 1)) : T("", !0)
139
139
  ]),
140
- r.value === e.modelValue ? (i(), h("span", la, [
141
- R(s(Z), {
140
+ r.value === e.modelValue ? (i(), y("span", la, [
141
+ M(s(te), {
142
142
  name: "checkCustom",
143
143
  size: 12
144
144
  })
145
- ])) : z("", !0)
145
+ ])) : T("", !0)
146
146
  ], 2))), 128))
147
- ], 10, Qt)
147
+ ], 10, Xt)
148
148
  ]),
149
149
  _: 2
150
150
  }, [
151
151
  c.$slots.trailing ? {
152
152
  name: "trailing",
153
- fn: f(() => [
154
- F(c.$slots, "trailing")
153
+ fn: m(() => [
154
+ C(c.$slots, "trailing")
155
155
  ]),
156
156
  key: "0"
157
157
  } : void 0,
158
158
  c.$slots.labelTrailing ? {
159
159
  name: "labelTrailing",
160
- fn: f(() => [
161
- F(c.$slots, "labelTrailing")
160
+ fn: m(() => [
161
+ C(c.$slots, "labelTrailing")
162
162
  ]),
163
163
  key: "1"
164
164
  } : void 0,
165
165
  c.$slots.readonly ? {
166
166
  name: "readonly",
167
- fn: f(() => [
168
- F(c.$slots, "readonly")
167
+ fn: m(() => [
168
+ C(c.$slots, "readonly")
169
169
  ]),
170
170
  key: "2"
171
171
  } : void 0
@@ -174,7 +174,7 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
174
174
  }), oa = ["data-field-error"], na = ["aria-checked", "aria-disabled", "aria-describedby", "aria-invalid", "tabindex", "onKeydown"], sa = { class: "flex min-w-0 flex-1 flex-col items-start" }, ra = {
175
175
  key: 0,
176
176
  class: "flex shrink-0 items-center gap-2.5"
177
- }, ia = ["id"], go = /* @__PURE__ */ P({
177
+ }, ia = ["id"], wo = /* @__PURE__ */ P({
178
178
  __name: "CheckboxField",
179
179
  props: /* @__PURE__ */ se({
180
180
  label: {},
@@ -188,13 +188,13 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
188
188
  }),
189
189
  emits: ["update:modelValue"],
190
190
  setup(o) {
191
- const t = o, e = ne(o, "modelValue"), l = !!lt(), n = je(), a = () => {
191
+ const t = o, e = ie(o, "modelValue"), a = !!lt(), n = je(), l = () => {
192
192
  t.disabled || (e.value = !e.value);
193
193
  };
194
- return (u, c) => (i(), h("div", {
194
+ return (u, c) => (i(), y("div", {
195
195
  "data-field-error": t.error ? "true" : void 0
196
196
  }, [
197
- b("div", {
197
+ p("div", {
198
198
  role: "checkbox",
199
199
  "aria-checked": e.value,
200
200
  "aria-disabled": t.disabled || void 0,
@@ -202,62 +202,62 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
202
202
  "aria-invalid": t.error ? !0 : void 0,
203
203
  tabindex: t.disabled ? -1 : 0,
204
204
  "data-test": "checkbox",
205
- class: E(["group/check flex items-center transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-border-focus", [t.variant === "row" ? "gap-3 pl-row-inset focus-visible:-outline-offset-2" : "gap-2.5 rounded-control px-2 py-1.5 focus-visible:outline-offset-1", l && t.variant === "row" ? "first:rounded-t-group last:rounded-b-group" : "", t.disabled ? "cursor-not-allowed" : t.variant === "row" ? "cursor-pointer hover:bg-fill/60 active:bg-fill" : "cursor-pointer hover:bg-fill"]]),
206
- onClick: a,
205
+ class: j(["group/check flex items-center transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-border-focus", [t.variant === "row" ? "gap-3 pl-row-inset focus-visible:-outline-offset-2" : "gap-2.5 rounded-control px-2 py-1.5 focus-visible:outline-offset-1", a && t.variant === "row" ? "first:rounded-t-group last:rounded-b-group" : "", t.disabled ? "cursor-not-allowed" : t.variant === "row" ? "cursor-pointer hover:bg-fill/60 active:bg-fill" : "cursor-pointer hover:bg-fill"]]),
206
+ onClick: l,
207
207
  onKeydown: [
208
- Ce(be(a, ["prevent"]), ["space"]),
209
- Ce(be(a, ["prevent"]), ["enter"])
208
+ Ce(be(l, ["prevent"]), ["space"]),
209
+ Ce(be(l, ["prevent"]), ["enter"])
210
210
  ]
211
211
  }, [
212
- b("span", {
213
- class: E(["flex shrink-0 items-center justify-center rounded-full border-2", [t.variant === "row" ? "size-5.5" : "size-5", e.value ? t.disabled ? "border-content-disabled bg-content-disabled text-white" : "border-control-on bg-control-on text-white" : "border-border-control"]]),
212
+ p("span", {
213
+ class: j(["flex shrink-0 items-center justify-center rounded-full border-2", [t.variant === "row" ? "size-5.5" : "size-5", e.value ? t.disabled ? "border-content-disabled bg-content-disabled text-white" : "border-control-on bg-control-on text-white" : "border-border-control"]]),
214
214
  "aria-hidden": "true"
215
215
  }, [
216
- e.value ? (i(), q(s(Z), {
216
+ e.value ? (i(), O(s(te), {
217
217
  key: 0,
218
218
  name: "checkCustom",
219
219
  size: 12
220
- })) : z("", !0)
220
+ })) : T("", !0)
221
221
  ], 2),
222
- b("div", {
223
- class: E(["flex min-w-0 flex-1 items-center gap-3", t.variant === "row" ? "min-h-row border-t border-border-separator py-2 pr-row-inset group-first/check:border-t-0" : ""])
222
+ p("div", {
223
+ class: j(["flex min-w-0 flex-1 items-center gap-3", t.variant === "row" ? "min-h-row border-t border-border-separator py-2 pr-row-inset group-first/check:border-t-0" : ""])
224
224
  }, [
225
- b("div", sa, [
226
- b("p", {
227
- class: E(["w-full text-body", [t.variant === "row" ? "break-words" : "truncate", t.disabled ? "text-content-muted" : e.value ? "text-content-strong" : "text-content"]])
228
- }, C(t.label), 3),
229
- t.description ? (i(), h("p", {
225
+ p("div", sa, [
226
+ p("p", {
227
+ class: j(["w-full text-body", [t.variant === "row" ? "break-words" : "truncate", t.disabled ? "text-content-muted" : e.value ? "text-content-strong" : "text-content"]])
228
+ }, _(t.label), 3),
229
+ t.description ? (i(), y("p", {
230
230
  key: 0,
231
- class: E(["tabular-nums text-content-muted", t.variant === "row" ? "text-footnote" : "text-xs"])
232
- }, C(t.description), 3)) : z("", !0),
233
- F(u.$slots, "default")
231
+ class: j(["tabular-nums text-content-muted", t.variant === "row" ? "text-footnote" : "text-xs"])
232
+ }, _(t.description), 3)) : T("", !0),
233
+ C(u.$slots, "default")
234
234
  ]),
235
- u.$slots.trailing ? (i(), h("div", ra, [
236
- F(u.$slots, "trailing")
237
- ])) : z("", !0)
235
+ u.$slots.trailing ? (i(), y("div", ra, [
236
+ C(u.$slots, "trailing")
237
+ ])) : T("", !0)
238
238
  ], 2)
239
239
  ], 42, na),
240
- t.error ? (i(), h("p", {
240
+ t.error ? (i(), y("p", {
241
241
  key: 0,
242
242
  id: `${s(n)}-error`,
243
243
  role: "alert",
244
244
  class: "flex items-start gap-1.5 px-2 pt-1 text-footnote text-content-destructive"
245
245
  }, [
246
- R(s(Z), {
246
+ M(s(te), {
247
247
  name: "alertTriangle",
248
248
  size: 14,
249
249
  class: "mt-px shrink-0"
250
250
  }),
251
- Y(" " + C(t.error), 1)
252
- ], 8, ia)) : z("", !0)
251
+ Y(" " + _(t.error), 1)
252
+ ], 8, ia)) : T("", !0)
253
253
  ], 8, oa));
254
254
  }
255
255
  }), ua = {
256
256
  key: 0,
257
257
  class: "text-body text-content-muted"
258
- }, da = ["id", "aria-label", "aria-describedby", "aria-invalid"], ca = ["aria-pressed", "disabled", "onClick"], yo = /* @__PURE__ */ P({
258
+ }, da = ["id", "aria-label", "aria-describedby", "aria-invalid"], ca = ["aria-pressed", "disabled", "onClick"], $o = /* @__PURE__ */ P({
259
259
  __name: "ChoiceChips",
260
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
260
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
261
261
  label: {},
262
262
  labelHidden: { type: Boolean },
263
263
  hint: {},
@@ -269,42 +269,42 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
269
269
  presentation: {},
270
270
  name: {},
271
271
  options: {}
272
- }, { ...ce }), {
272
+ }, { ...me }), {
273
273
  modelValue: { default: () => [] },
274
274
  modelModifiers: {}
275
275
  }),
276
276
  emits: ["update:modelValue"],
277
277
  setup(o) {
278
- const t = o, e = ne(o, "modelValue"), l = (n) => e.value = e.value.includes(n) ? e.value.filter((a) => a !== n) : [...e.value, n];
279
- return (n, a) => (i(), q(ye, X(s(de)(t), {
278
+ const t = o, e = ie(o, "modelValue"), a = (n) => e.value = e.value.includes(n) ? e.value.filter((l) => l !== n) : [...e.value, n];
279
+ return (n, l) => (i(), O(ye, Q(s(fe)(t), {
280
280
  value: t.options.filter((u) => e.value.includes(u.value)).map((u) => u.label).join(", ") || null,
281
281
  "row-layout": "stacked"
282
- }), Q({
283
- default: f(({ id: u, describedby: c, invalid: g }) => [
284
- t.options.length === 0 ? (i(), h("span", ua, "—")) : (i(), h("div", {
282
+ }), ee({
283
+ default: m(({ id: u, describedby: c, invalid: b }) => [
284
+ t.options.length === 0 ? (i(), y("span", ua, "—")) : (i(), y("div", {
285
285
  key: 1,
286
286
  id: u,
287
287
  role: "group",
288
288
  "aria-label": t.label,
289
289
  "aria-describedby": c,
290
- "aria-invalid": g || void 0,
290
+ "aria-invalid": b || void 0,
291
291
  class: "flex flex-wrap gap-1.5 py-1",
292
292
  "data-test": "choice-chips"
293
293
  }, [
294
- (i(!0), h(re, null, xe(t.options, (k) => (i(), h("button", {
295
- key: k.value,
294
+ (i(!0), y(ue, null, xe(t.options, (h) => (i(), y("button", {
295
+ key: h.value,
296
296
  type: "button",
297
- "aria-pressed": e.value.includes(k.value),
298
- disabled: t.disabled || k.disabled,
299
- class: E(["inline-flex min-h-8 cursor-pointer items-center gap-1.5 rounded-full px-3 text-subheadline transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-not-allowed disabled:opacity-60", e.value.includes(k.value) ? "bg-tint-soft font-semibold text-content-link" : "bg-fill font-medium text-content-strong hover:bg-fill-strong"]),
300
- onClick: ($) => l(k.value)
297
+ "aria-pressed": e.value.includes(h.value),
298
+ disabled: t.disabled || h.disabled,
299
+ class: j(["inline-flex min-h-8 cursor-pointer items-center gap-1.5 rounded-full px-3 text-subheadline transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-not-allowed disabled:opacity-60", e.value.includes(h.value) ? "bg-tint-soft font-semibold text-content-link" : "bg-fill font-medium text-content-strong hover:bg-fill-strong"]),
300
+ onClick: (w) => a(h.value)
301
301
  }, [
302
- e.value.includes(k.value) ? (i(), q(s(Z), {
302
+ e.value.includes(h.value) ? (i(), O(s(te), {
303
303
  key: 0,
304
304
  name: "checkCustom",
305
305
  size: 12
306
- })) : z("", !0),
307
- Y(" " + C(k.label), 1)
306
+ })) : T("", !0),
307
+ Y(" " + _(h.label), 1)
308
308
  ], 10, ca))), 128))
309
309
  ], 8, da))
310
310
  ]),
@@ -312,30 +312,34 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
312
312
  }, [
313
313
  n.$slots.trailing ? {
314
314
  name: "trailing",
315
- fn: f(() => [
316
- F(n.$slots, "trailing")
315
+ fn: m(() => [
316
+ C(n.$slots, "trailing")
317
317
  ]),
318
318
  key: "0"
319
319
  } : void 0,
320
320
  n.$slots.labelTrailing ? {
321
321
  name: "labelTrailing",
322
- fn: f(() => [
323
- F(n.$slots, "labelTrailing")
322
+ fn: m(() => [
323
+ C(n.$slots, "labelTrailing")
324
324
  ]),
325
325
  key: "1"
326
326
  } : void 0,
327
327
  n.$slots.readonly ? {
328
328
  name: "readonly",
329
- fn: f(() => [
330
- F(n.$slots, "readonly")
329
+ fn: m(() => [
330
+ C(n.$slots, "readonly")
331
331
  ]),
332
332
  key: "2"
333
333
  } : void 0
334
334
  ]), 1040, ["value"]));
335
335
  }
336
- }), fa = ["id", "value", "name", "placeholder", "disabled", "required", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-required", "aria-invalid", "aria-describedby"], ho = /* @__PURE__ */ P({
336
+ }), fa = {
337
+ key: 0,
338
+ class: "flex shrink-0 items-center",
339
+ "data-test": "field-value"
340
+ }, ma = ["id", "value", "name", "placeholder", "disabled", "required", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-required", "aria-invalid", "aria-describedby"], va = { class: "block break-words text-body text-content-strong" }, _o = /* @__PURE__ */ P({
337
341
  __name: "ComboField",
338
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
342
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
339
343
  label: {},
340
344
  labelHidden: { type: Boolean },
341
345
  hint: {},
@@ -354,99 +358,106 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
354
358
  debounce: {},
355
359
  limit: {},
356
360
  recents: {},
357
- width: {}
358
- }, { ...ce, options: void 0, search: void 0, selected: null, placeholder: void 0, minLength: 1, debounce: 300, limit: 30, recents: void 0, width: "md" }), {
361
+ width: {},
362
+ rowLayout: {}
363
+ }, { ...me, options: void 0, search: void 0, selected: null, placeholder: void 0, minLength: 1, debounce: 300, limit: 30, recents: void 0, width: "md", rowLayout: void 0 }), {
359
364
  modelValue: { default: null },
360
365
  modelModifiers: {}
361
366
  }),
362
- emits: /* @__PURE__ */ se(["picked"], ["update:modelValue"]),
367
+ emits: /* @__PURE__ */ se(["picked", "focus", "blur"], ["update:modelValue"]),
363
368
  setup(o, { expose: t, emit: e }) {
364
- const l = o, n = ne(o, "modelValue"), a = e, { t: u } = te(), c = !!lt(), g = Ge("text", () => l.error ? "error" : l.disabled ? "locked" : "rest"), k = w(() => c ? gt(l.width) : "w-full"), $ = A("input"), y = A("anchor"), r = Le(null), d = Le(""), p = ht({
365
- source: () => l.search ?? l.options,
366
- minLength: () => l.minLength,
367
- debounce: () => l.debounce,
368
- limit: () => l.limit,
369
+ const a = o, n = ie(o, "modelValue"), l = e, { t: u } = oe(), c = !!lt(), b = Ge("text", () => a.error ? "error" : a.disabled ? "locked" : "rest"), h = k(() => a.rowLayout === "stacked"), w = k(() => c && !h.value ? gt(a.width) : "w-full"), x = U("input"), r = U("anchor"), f = Le(null), g = Le(""), S = ht({
370
+ source: () => a.search ?? a.options,
371
+ minLength: () => a.minLength,
372
+ debounce: () => a.debounce,
373
+ limit: () => a.limit,
369
374
  listAllWhenEmpty: !0,
370
- recents: () => l.recents
371
- }), { items: B, open: T, status: x, highlighted: G, showingRecent: S } = p, O = w(() => {
372
- const M = n.value;
373
- return M === null ? null : [r.value, l.selected, ...l.options ?? []].find((W) => W?.value === M) ?? null;
375
+ recents: () => a.recents
376
+ }), { items: z, open: $, status: I, highlighted: F, showingRecent: E } = S, R = k(() => {
377
+ const D = n.value;
378
+ return D === null ? null : [f.value, a.selected, ...a.options ?? []].find((A) => A?.value === D) ?? null;
374
379
  });
375
- ie(O, (M) => {
376
- T.value || (d.value = M?.label ?? "");
380
+ de(R, (D) => {
381
+ $.value || (g.value = D?.label ?? "");
377
382
  }, { immediate: !0 });
378
- function I(M) {
379
- d.value = M.target.value, p.ask(d.value), d.value === "" && (n.value = null, r.value = null);
383
+ function Z(D) {
384
+ g.value = D.target.value, S.ask(g.value), g.value === "" && (n.value = null, f.value = null);
380
385
  }
381
- function H() {
382
- l.disabled || p.show("");
386
+ function W(D) {
387
+ l("focus", D), a.disabled || S.show("");
383
388
  }
384
- function ae(M) {
385
- p.close(), p.remember(M), r.value = M, n.value = M.value, d.value = M.label, a("picked", M);
389
+ function J(D) {
390
+ S.close(), S.remember(D), f.value = D, n.value = D.value, g.value = D.label, l("picked", D);
386
391
  }
387
- function le() {
388
- p.close(), d.value = O.value?.label ?? "";
392
+ function ae(D) {
393
+ S.close(), g.value = R.value?.label ?? "", l("blur", D);
389
394
  }
390
- const ee = w(() => kt(T.value, B.value.length, x.value, !0));
391
- return t({ focus: () => $.value?.focus() }), (M, W) => (i(), q(ye, X(s(de)(l), {
392
- value: O.value?.label ?? null
393
- }), Q({
394
- default: f(({ id: U, describedby: K, invalid: oe }) => [
395
- b("div", {
395
+ const ve = k(() => kt($.value, z.value.length, I.value, !0));
396
+ return t({ focus: () => x.value?.focus() }), (D, A) => (i(), O(ye, Q(s(fe)(a), {
397
+ value: R.value?.label ?? null,
398
+ "row-layout": a.rowLayout
399
+ }), ee({
400
+ default: m(({ id: G, describedby: ne, invalid: re }) => [
401
+ p("div", {
396
402
  ref_key: "anchor",
397
- ref: y,
398
- class: E(["flex items-center gap-1.5", [s(g), k.value]])
403
+ ref: r,
404
+ class: j(["flex items-center gap-1.5", [s(b), w.value]])
399
405
  }, [
400
- b("input", {
401
- id: U,
406
+ D.$slots.value && R.value ? (i(), y("span", fa, [
407
+ C(D.$slots, "value", {
408
+ option: R.value
409
+ })
410
+ ])) : T("", !0),
411
+ p("input", {
412
+ id: G,
402
413
  ref_key: "input",
403
- ref: $,
414
+ ref: x,
404
415
  role: "combobox",
405
416
  type: "text",
406
417
  autocomplete: "off",
407
- value: d.value,
408
- name: l.name,
409
- placeholder: l.placeholder,
410
- disabled: l.disabled,
411
- required: l.required,
418
+ value: g.value,
419
+ name: a.name,
420
+ placeholder: a.placeholder,
421
+ disabled: a.disabled,
422
+ required: a.required,
412
423
  "aria-autocomplete": "list",
413
- "aria-expanded": ee.value,
414
- "aria-controls": `${U}-list`,
415
- "aria-activedescendant": ee.value && s(B).length > 0 ? `${U}-option-${s(G)}` : void 0,
416
- "aria-required": l.required || void 0,
417
- "aria-invalid": oe || void 0,
418
- "aria-describedby": K,
419
- class: E(["block w-full min-w-0 border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed", c ? "compact:text-right" : ""]),
420
- onInput: I,
421
- onFocus: H,
422
- onBlur: le,
423
- onKeydown: W[0] || (W[0] = (J) => s(p).keydown(J, { pick: ae, enterNeedsMove: !1 }))
424
- }, null, 42, fa),
425
- R(s(Z), {
424
+ "aria-expanded": ve.value,
425
+ "aria-controls": `${G}-list`,
426
+ "aria-activedescendant": ve.value && s(z).length > 0 ? `${G}-option-${s(F)}` : void 0,
427
+ "aria-required": a.required || void 0,
428
+ "aria-invalid": re || void 0,
429
+ "aria-describedby": ne,
430
+ class: j(["block w-full min-w-0 border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed", c && !h.value ? "compact:text-right" : ""]),
431
+ onInput: Z,
432
+ onFocus: W,
433
+ onBlur: ae,
434
+ onKeydown: A[0] || (A[0] = (le) => s(S).keydown(le, { pick: J, enterNeedsMove: !1 }))
435
+ }, null, 42, ma),
436
+ M(s(te), {
426
437
  name: "search",
427
438
  size: 14,
428
439
  class: "shrink-0 text-content-muted"
429
440
  })
430
441
  ], 2),
431
- R(yt, {
432
- id: U,
433
- anchor: y.value,
434
- open: s(T),
435
- items: s(B),
436
- highlighted: s(G),
437
- query: d.value,
438
- status: s(x),
439
- recent: s(S),
442
+ M(yt, {
443
+ id: G,
444
+ anchor: r.value,
445
+ open: s($),
446
+ items: s(z),
447
+ highlighted: s(F),
448
+ query: g.value,
449
+ status: s(I),
450
+ recent: s(E),
440
451
  "empty-message": !0,
441
452
  selected: n.value,
442
453
  hint: s(u)("core.form.suggestions.keys_pick"),
443
- onPick: ae,
444
- onHover: W[1] || (W[1] = (J) => s(p).highlight(J))
445
- }, Q({ _: 2 }, [
446
- M.$slots.option ? {
454
+ onPick: J,
455
+ onHover: A[1] || (A[1] = (le) => s(S).highlight(le))
456
+ }, ee({ _: 2 }, [
457
+ D.$slots.option ? {
447
458
  name: "option",
448
- fn: f((J) => [
449
- F(M.$slots, "option", Ve(qe(J)))
459
+ fn: m((le) => [
460
+ C(D.$slots, "option", Ve(qe(le)))
450
461
  ]),
451
462
  key: "0"
452
463
  } : void 0
@@ -454,38 +465,51 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
454
465
  ]),
455
466
  _: 2
456
467
  }, [
457
- M.$slots.trailing ? {
468
+ D.$slots.trailing ? {
458
469
  name: "trailing",
459
- fn: f(() => [
460
- F(M.$slots, "trailing")
470
+ fn: m(() => [
471
+ C(D.$slots, "trailing")
461
472
  ]),
462
473
  key: "0"
463
474
  } : void 0,
464
- M.$slots.labelTrailing ? {
475
+ D.$slots.labelTrailing ? {
465
476
  name: "labelTrailing",
466
- fn: f(() => [
467
- F(M.$slots, "labelTrailing")
477
+ fn: m(() => [
478
+ C(D.$slots, "labelTrailing")
468
479
  ]),
469
480
  key: "1"
470
481
  } : void 0,
471
- M.$slots.readonly ? {
482
+ D.$slots.readonly ? {
472
483
  name: "readonly",
473
- fn: f(() => [
474
- F(M.$slots, "readonly")
484
+ fn: m(() => [
485
+ C(D.$slots, "readonly")
475
486
  ]),
476
487
  key: "2"
488
+ } : D.$slots.value && R.value ? {
489
+ name: "readonly",
490
+ fn: m(() => [
491
+ p("span", va, [
492
+ C(D.$slots, "value", {
493
+ option: R.value
494
+ })
495
+ ])
496
+ ]),
497
+ key: "3"
477
498
  } : void 0
478
- ]), 1040, ["value"]));
499
+ ]), 1040, ["value", "row-layout"]));
479
500
  }
480
- }), ma = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], va = ["aria-label", "onClick"], pa = {
501
+ }), pa = {
502
+ key: 0,
503
+ class: "whitespace-normal"
504
+ }, ba = { class: "whitespace-nowrap" }, ga = { class: "whitespace-nowrap" }, ya = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], ha = ["aria-label", "onClick"], ka = {
481
505
  class: "-m-3 flex",
482
506
  "data-test": "date-time-popover"
483
- }, ba = { class: "flex w-75 flex-col gap-2.5 border-r border-border-separator p-3.5" }, ga = {
507
+ }, xa = { class: "flex w-75 flex-col gap-2.5 border-r border-border-separator p-3.5" }, wa = {
484
508
  key: 0,
485
509
  class: "border-t border-border-separator pt-2.5"
486
- }, ya = { class: "flex w-48 flex-col gap-2.5 px-3 py-3.5" }, ha = ["for"], ka = ["id", "value", "placeholder", "aria-invalid"], xa = ["onClick"], ko = /* @__PURE__ */ P({
510
+ }, $a = { class: "flex w-48 flex-col gap-2.5 px-3 py-3.5" }, _a = ["for"], Sa = ["id", "value", "placeholder", "aria-invalid"], Ca = ["onClick"], So = /* @__PURE__ */ P({
487
511
  __name: "DateTimeField",
488
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
512
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
489
513
  label: {},
490
514
  labelHidden: { type: Boolean },
491
515
  hint: {},
@@ -502,185 +526,190 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
502
526
  openOn: {},
503
527
  minuteStep: {},
504
528
  quickPicks: {}
505
- }, { ...ce, min: void 0, max: void 0, disabledDates: void 0, openOn: void 0, minuteStep: 1, quickPicks: void 0 }), {
529
+ }, { ...me, min: void 0, max: void 0, disabledDates: void 0, openOn: void 0, minuteStep: 1, quickPicks: void 0 }), {
506
530
  modelValue: { default: null },
507
531
  modelModifiers: {}
508
532
  }),
509
- emits: ["update:modelValue"],
510
- setup(o, { expose: t }) {
511
- const e = o, l = ne(o, "modelValue"), { t: n } = te(), a = zt(), u = Ne(), c = A("input"), g = A("popover"), k = A("calendar"), $ = A("sheet"), y = w(() => ({ min: e.min?.slice(0, 10), max: e.max?.slice(0, 10), disabled: e.disabledDates })), r = w(() => e.min && e.min.length === 10 ? `${e.min}T00:00` : e.min), d = w(() => e.max && e.max.length === 10 ? `${e.max}T23:59` : e.max), p = (_, j) => !Ft(j, { disabled: e.disabledDates }) && (!r.value || _ >= r.value) && (!d.value || _ <= d.value), B = Lt(() => y.value), T = Vt(() => e.minuteStep), x = w(() => $e(l.value));
512
- function G(_) {
513
- const { date: j, time: me } = Dt(_), v = j === null ? x.value.day ?? Fe() : B.parse(j);
514
- if (!v) return { error: B.invalidMessage() };
515
- let V = x.value.time ?? De(e.minuteStep);
516
- if (me !== null) {
517
- const L = T.parse(me);
518
- if ("error" in L) return L;
519
- V = L.value;
533
+ emits: /* @__PURE__ */ se(["focus", "blur"], ["update:modelValue"]),
534
+ setup(o, { expose: t, emit: e }) {
535
+ const a = o, n = ie(o, "modelValue"), l = e, { t: u } = oe(), c = Dt(), b = Ne(), h = U("input"), w = U("popover"), x = U("calendar"), r = U("sheet"), f = k(() => ({ min: a.min?.slice(0, 10), max: a.max?.slice(0, 10), disabled: a.disabledDates })), g = k(() => a.min && a.min.length === 10 ? `${a.min}T00:00` : a.min), S = k(() => a.max && a.max.length === 10 ? `${a.max}T23:59` : a.max), z = (L, d) => !Ft(d, { disabled: a.disabledDates }) && (!g.value || L >= g.value) && (!S.value || L <= S.value), $ = Lt(() => f.value), I = Vt(() => a.minuteStep), F = k(() => $e(n.value));
536
+ function E(L) {
537
+ const { date: d, time: V } = zt(L), v = d === null ? F.value.day ?? Fe() : $.parse(d);
538
+ if (!v) return { error: $.invalidMessage() };
539
+ let q = F.value.time ?? ze(a.minuteStep);
540
+ if (V !== null) {
541
+ const K = I.parse(V);
542
+ if ("error" in K) return K;
543
+ q = K.value;
520
544
  }
521
- const m = _e(v, V);
522
- return p(m, v) ? { value: m } : { error: B.unavailableMessage() };
545
+ const B = _e(v, q);
546
+ return z(B, v) ? { value: B } : { error: $.unavailableMessage() };
523
547
  }
524
- const S = Ye({ model: l, display: (_) => `${a.date($e(_).day)} ${$e(_).time ?? ""}`.trim(), parse: G }), O = w({
525
- get: () => x.value.time,
526
- set: (_) => {
527
- _ && xt(_) && (l.value = _e(x.value.day ?? Fe(), _));
548
+ const R = Ye({ model: n, display: (L) => `${c.date($e(L).day)} ${$e(L).time ?? ""}`.trim(), parse: E }), Z = k({
549
+ get: () => F.value.time,
550
+ set: (L) => {
551
+ L && xt(L) && (n.value = _e(F.value.day ?? Fe(), L));
528
552
  }
529
- }), I = Ye({ model: O, display: (_) => _, parse: T.parse }), H = Tt(() => e.quickPicks ?? (u.value ? void 0 : []), () => u.value, () => y.value), ae = w(() => e.error || S.message.value || I.message.value), le = w(() => l.value ? a.dateTime(l.value) : null), ee = Ge("date", () => ae.value ? "error" : e.disabled ? "locked" : "rest"), M = w(() => {
530
- const _ = S.typed.value;
531
- return _ ? $e(_).day ?? null : null;
532
- }), W = w(() => M.value ?? (wt(x.value.day) ? x.value.day : null)), U = w(() => S.typed.value ? $e(S.typed.value).time : x.value.time);
533
- function K(_) {
534
- _ && S.set(_e(_, x.value.time ?? De(e.minuteStep)));
553
+ }), W = Ye({ model: Z, display: (L) => L, parse: I.parse }), J = Tt(() => a.quickPicks ?? (b.value ? void 0 : []), () => b.value, () => f.value), ae = k(() => a.error || R.message.value || W.message.value), ve = k(() => n.value ? c.dateTime(n.value) : null), D = Ge("date", () => ae.value ? "error" : a.disabled ? "locked" : "rest"), A = k(() => {
554
+ const L = R.typed.value;
555
+ return L ? $e(L).day ?? null : null;
556
+ }), G = k(() => A.value ?? (wt(F.value.day) ? F.value.day : null)), ne = k(() => R.typed.value ? $e(R.typed.value).time : F.value.time);
557
+ function re(L) {
558
+ L && R.set(_e(L, F.value.time ?? ze(a.minuteStep)));
535
559
  }
536
- function oe(_) {
537
- _ && S.set(_e(x.value.day ?? Fe(), _));
560
+ function le(L) {
561
+ L && R.set(_e(F.value.day ?? Fe(), L));
538
562
  }
539
- function J(_) {
540
- S.set(_e(Fe(), De(e.minuteStep))), _();
563
+ function ke(L) {
564
+ R.set(_e(Fe(), ze(a.minuteStep))), L();
541
565
  }
542
- const he = je();
543
- async function fe(_) {
544
- e.disabled || (g.value?.present(), _ && (await ke(), await ke(), k.value?.focus()));
566
+ const we = je();
567
+ async function X(L) {
568
+ a.disabled || (w.value?.present(), L && (await he(), await he(), x.value?.focus()));
545
569
  }
546
- function we(_) {
547
- _.key === "Enter" ? (S.commit(), g.value?.dismiss()) : _.key === "ArrowDown" && (_.preventDefault(), fe(!0));
570
+ function pe(L) {
571
+ L.key === "Enter" ? (R.commit(), w.value?.dismiss()) : L.key === "ArrowDown" && (L.preventDefault(), X(!0));
548
572
  }
549
- return t({ focus: () => c.value?.focus() }), (_, j) => (i(), q(ye, X({ ...s(de)(e), error: ae.value }, {
550
- value: le.value,
573
+ return t({ focus: () => h.value?.focus() }), (L, d) => (i(), O(ye, Q({ ...s(fe)(a), error: ae.value }, {
574
+ value: ve.value,
551
575
  "value-style": "numeric"
552
- }), Q({
553
- default: f(({ id: me, describedby: v, invalid: V }) => [
554
- s(u) ? (i(), h(re, { key: 0 }, [
555
- R(ot, X({ id: me, "aria-describedby": v }, {
556
- disabled: e.disabled,
557
- invalid: V,
558
- placeholder: s(n)("core.form.select.choose"),
559
- onClick: j[0] || (j[0] = (m) => $.value?.present())
576
+ }), ee({
577
+ default: m(({ id: V, describedby: v, invalid: q }) => [
578
+ s(b) ? (i(), y(ue, { key: 0 }, [
579
+ M(ot, Q({ id: V, "aria-describedby": v }, {
580
+ disabled: a.disabled,
581
+ invalid: q,
582
+ placeholder: s(u)("core.form.select.choose"),
583
+ onClick: d[0] || (d[0] = (B) => r.value?.present())
560
584
  }), {
561
- default: f(() => [
562
- l.value ? (i(), h(re, { key: 0 }, [
563
- Y(C(s(S).text.value), 1)
564
- ], 64)) : z("", !0)
585
+ default: m(() => [
586
+ n.value ? (i(), y("span", pa, [
587
+ p("span", ba, _(s(c).date(F.value.day)), 1),
588
+ d[8] || (d[8] = Y(_(" "), -1)),
589
+ p("span", ga, _(F.value.time), 1)
590
+ ])) : T("", !0)
565
591
  ]),
566
592
  _: 1
567
593
  }, 16, ["disabled", "invalid", "placeholder"]),
568
- R($t, {
594
+ M($t, {
569
595
  ref_key: "sheet",
570
- ref: $,
571
- title: e.label ?? s(n)("core.form.date.calendar"),
596
+ ref: r,
597
+ title: a.label ?? s(u)("core.form.date.calendar"),
572
598
  mode: "datetime",
573
- "model-value": l.value,
574
- min: y.value.min,
575
- max: y.value.max,
576
- "disabled-dates": e.disabledDates,
577
- "open-on": e.openOn,
578
- shortcuts: s(H),
579
- step: e.minuteStep,
580
- clearable: !e.required,
581
- "onUpdate:modelValue": s(S).set
599
+ "model-value": n.value,
600
+ min: f.value.min,
601
+ max: f.value.max,
602
+ "disabled-dates": a.disabledDates,
603
+ "open-on": a.openOn,
604
+ shortcuts: s(J),
605
+ step: a.minuteStep,
606
+ clearable: !a.required,
607
+ "onUpdate:modelValue": s(R).set
582
608
  }, null, 8, ["title", "model-value", "min", "max", "disabled-dates", "open-on", "shortcuts", "step", "clearable", "onUpdate:modelValue"])
583
- ], 64)) : (i(), q(Pe, {
609
+ ], 64)) : (i(), O(Pe, {
584
610
  key: 1,
585
611
  ref_key: "popover",
586
- ref: g,
587
- label: e.label ?? s(n)("core.form.date.calendar"),
612
+ ref: w,
613
+ label: a.label ?? s(u)("core.form.date.calendar"),
588
614
  width: "auto",
589
615
  placement: "bottom-start",
590
616
  arrow: !1,
591
617
  autofocus: !1
592
618
  }, {
593
- trigger: f(({ attrs: m, presented: L }) => [
594
- b("div", {
595
- class: E(["inline-flex max-w-full items-center gap-2", s(ee)])
619
+ trigger: m(({ attrs: B, presented: K }) => [
620
+ p("div", {
621
+ class: j(["inline-flex max-w-full items-center gap-2", s(D)])
596
622
  }, [
597
- b("input", X({
598
- id: me,
623
+ p("input", Q({
624
+ id: V,
599
625
  ref_key: "input",
600
- ref: c
601
- }, m, {
626
+ ref: h
627
+ }, B, {
602
628
  type: "text",
603
629
  role: "combobox",
604
630
  autocomplete: "off",
605
631
  size: "20",
606
- name: e.name,
607
- value: s(S).text.value,
608
- placeholder: s(B).placeholder.value,
609
- disabled: e.disabled,
610
- required: e.required,
611
- "aria-required": e.required || void 0,
612
- "aria-invalid": V || void 0,
632
+ name: a.name,
633
+ value: s(R).text.value,
634
+ placeholder: s($).placeholder.value,
635
+ disabled: a.disabled,
636
+ required: a.required,
637
+ "aria-required": a.required || void 0,
638
+ "aria-invalid": q || void 0,
613
639
  "aria-describedby": v,
614
640
  class: "block min-h-7 min-w-0 border-0 bg-transparent py-1 pl-2.5 text-body tabular-nums text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
615
- onInput: j[1] || (j[1] = (D) => s(S).input(D.target.value)),
616
- onBlur: j[2] || (j[2] = (D) => s(S).commit()),
617
- onKeydown: we,
618
- onClick: j[3] || (j[3] = (D) => fe(!1))
619
- }), null, 16, ma),
620
- e.disabled ? z("", !0) : (i(), h("button", {
641
+ onInput: d[1] || (d[1] = (H) => s(R).input(H.target.value)),
642
+ onFocus: d[2] || (d[2] = (H) => l("focus", H)),
643
+ onBlur: d[3] || (d[3] = (H) => {
644
+ s(R).commit(), l("blur", H);
645
+ }),
646
+ onKeydown: pe,
647
+ onClick: d[4] || (d[4] = (H) => X(!1))
648
+ }), null, 16, ya),
649
+ a.disabled ? T("", !0) : (i(), y("button", {
621
650
  key: 0,
622
651
  type: "button",
623
652
  tabindex: "-1",
624
- "aria-label": s(n)("core.form.date.open"),
653
+ "aria-label": s(u)("core.form.date.open"),
625
654
  class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
626
- onClick: (D) => L ? g.value?.dismiss() : fe(!0)
655
+ onClick: (H) => K ? w.value?.dismiss() : X(!0)
627
656
  }, [
628
- R(s(Z), {
657
+ M(s(te), {
629
658
  name: "calendarLine",
630
659
  size: 18
631
660
  })
632
- ], 8, va))
661
+ ], 8, ha))
633
662
  ], 2)
634
663
  ]),
635
- default: f(({ dismiss: m }) => [
636
- b("div", pa, [
637
- b("div", ba, [
638
- R(_t, {
664
+ default: m(({ dismiss: B }) => [
665
+ p("div", ka, [
666
+ p("div", xa, [
667
+ M(_t, {
639
668
  ref_key: "calendar",
640
- ref: k,
641
- "model-value": W.value,
642
- min: y.value.min,
643
- max: y.value.max,
644
- "disabled-dates": e.disabledDates,
645
- "open-on": e.openOn,
646
- "onUpdate:modelValue": K
669
+ ref: x,
670
+ "model-value": G.value,
671
+ min: f.value.min,
672
+ max: f.value.max,
673
+ "disabled-dates": a.disabledDates,
674
+ "open-on": a.openOn,
675
+ "onUpdate:modelValue": re
647
676
  }, null, 8, ["model-value", "min", "max", "disabled-dates", "open-on"]),
648
- s(H).length > 0 ? (i(), h("div", ga, [
649
- R(St, {
650
- items: s(H),
651
- selected: W.value,
652
- onPick: K
677
+ s(J).length > 0 ? (i(), y("div", wa, [
678
+ M(St, {
679
+ items: s(J),
680
+ selected: G.value,
681
+ onPick: re
653
682
  }, null, 8, ["items", "selected"])
654
- ])) : z("", !0)
683
+ ])) : T("", !0)
655
684
  ]),
656
- b("div", ya, [
657
- b("label", {
658
- for: s(he),
685
+ p("div", $a, [
686
+ p("label", {
687
+ for: s(we),
659
688
  class: "text-footnote font-semibold text-content-muted"
660
- }, C(s(n)("core.form.time.label")), 9, ha),
661
- b("input", {
662
- id: s(he),
689
+ }, _(s(u)("core.form.time.label")), 9, _a),
690
+ p("input", {
691
+ id: s(we),
663
692
  type: "text",
664
693
  autocomplete: "off",
665
694
  inputmode: "numeric",
666
- value: s(I).text.value,
667
- placeholder: s(T).placeholder.value,
668
- "aria-invalid": s(I).message.value ? !0 : void 0,
695
+ value: s(W).text.value,
696
+ placeholder: s(I).placeholder.value,
697
+ "aria-invalid": s(W).message.value ? !0 : void 0,
669
698
  class: "rounded-control bg-fill p-1.5 text-center text-[20px] font-semibold tabular-nums text-content-strong placeholder:text-base placeholder:font-normal placeholder:text-content-disabled focus:outline-2 focus:outline-border-focus",
670
- onInput: j[4] || (j[4] = (L) => s(I).input(L.target.value)),
671
- onBlur: j[5] || (j[5] = (L) => s(I).commit()),
672
- onKeydown: j[6] || (j[6] = Ce(be((L) => s(I).commit(), ["prevent"]), ["enter"]))
673
- }, null, 40, ka),
674
- R(Ct, {
675
- "model-value": U.value,
676
- step: e.minuteStep,
677
- "onUpdate:modelValue": oe
699
+ onInput: d[5] || (d[5] = (K) => s(W).input(K.target.value)),
700
+ onBlur: d[6] || (d[6] = (K) => s(W).commit()),
701
+ onKeydown: d[7] || (d[7] = Ce(be((K) => s(W).commit(), ["prevent"]), ["enter"]))
702
+ }, null, 40, Sa),
703
+ M(Ct, {
704
+ "model-value": ne.value,
705
+ step: a.minuteStep,
706
+ "onUpdate:modelValue": le
678
707
  }, null, 8, ["model-value", "step"]),
679
- b("button", {
708
+ p("button", {
680
709
  type: "button",
681
710
  class: "cursor-pointer self-start rounded-full bg-tint-soft px-2.5 py-1.5 text-footnote font-medium text-content-link focus-visible:outline-2 focus-visible:outline-border-focus",
682
- onClick: (L) => J(m)
683
- }, C(s(n)("core.form.time.now")), 9, xa)
711
+ onClick: (K) => ke(B)
712
+ }, _(s(u)("core.form.time.now")), 9, Ca)
684
713
  ])
685
714
  ])
686
715
  ]),
@@ -689,24 +718,24 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
689
718
  ]),
690
719
  _: 2
691
720
  }, [
692
- _.$slots.trailing ? {
721
+ L.$slots.trailing ? {
693
722
  name: "trailing",
694
- fn: f(() => [
695
- F(_.$slots, "trailing")
723
+ fn: m(() => [
724
+ C(L.$slots, "trailing")
696
725
  ]),
697
726
  key: "0"
698
727
  } : void 0,
699
- _.$slots.labelTrailing ? {
728
+ L.$slots.labelTrailing ? {
700
729
  name: "labelTrailing",
701
- fn: f(() => [
702
- F(_.$slots, "labelTrailing")
730
+ fn: m(() => [
731
+ C(L.$slots, "labelTrailing")
703
732
  ]),
704
733
  key: "1"
705
734
  } : void 0,
706
- _.$slots.readonly ? {
735
+ L.$slots.readonly ? {
707
736
  name: "readonly",
708
- fn: f(() => [
709
- F(_.$slots, "readonly")
737
+ fn: m(() => [
738
+ C(L.$slots, "readonly")
710
739
  ]),
711
740
  key: "2"
712
741
  } : void 0
@@ -716,10 +745,10 @@ const Qt = ["id", "aria-label", "aria-describedby", "aria-invalid"], Zt = ["name
716
745
  function nt(o, t = {}) {
717
746
  const e = t.accept ?? [];
718
747
  if (e.length > 0) {
719
- const l = o.name.lastIndexOf("."), n = l === -1 ? "" : o.name.slice(l).toLowerCase(), a = o.type.toLowerCase();
748
+ const a = o.name.lastIndexOf("."), n = a === -1 ? "" : o.name.slice(a).toLowerCase(), l = o.type.toLowerCase();
720
749
  if (!e.some((c) => {
721
- const g = c.trim().toLowerCase();
722
- return g.startsWith(".") ? g === n : g.endsWith("/*") ? a.startsWith(g.slice(0, -1)) : g === a;
750
+ const b = c.trim().toLowerCase();
751
+ return b.startsWith(".") ? b === n : b.endsWith("/*") ? l.startsWith(b.slice(0, -1)) : b === l;
723
752
  })) return "invalid_type";
724
753
  }
725
754
  return (t.maxSize ?? 0) > 0 && o.size > (t.maxSize ?? 0) ? "too_large" : null;
@@ -727,13 +756,13 @@ function nt(o, t = {}) {
727
756
  function Be(o) {
728
757
  return o < 1024 ? `${o} B` : o < 1024 * 1024 ? `${Math.round(o / 1024)} KB` : `${(o / (1024 * 1024)).toFixed(o % (1024 * 1024) === 0 ? 0 : 1)} MB`;
729
758
  }
730
- const wa = { class: "w-full" }, $a = ["id", "accept", "disabled", "aria-describedby", "aria-invalid"], _a = {
759
+ const Fa = { class: "w-full" }, Ba = ["id", "accept", "disabled", "aria-describedby", "aria-invalid"], La = {
731
760
  key: 0,
732
761
  class: "flex items-center gap-3 rounded-group bg-fill p-3",
733
762
  "data-test": "file-selected"
734
- }, Sa = { class: "min-w-0 flex-1" }, Ca = { class: "truncate text-body font-medium text-content-strong" }, Fa = { class: "text-footnote text-content-muted" }, Ba = ["disabled", "aria-label", "title"], La = ["aria-disabled"], Ta = { class: "font-semibold text-content-link" }, Da = { class: "text-content-muted" }, xo = /* @__PURE__ */ P({
763
+ }, Ta = { class: "min-w-0 flex-1" }, za = { class: "truncate text-body font-medium text-content-strong" }, Da = { class: "text-footnote text-content-muted" }, Va = ["disabled", "aria-label", "title"], qa = ["aria-disabled"], Ra = { class: "font-semibold text-content-link" }, Oa = { class: "text-content-muted" }, Co = /* @__PURE__ */ P({
735
764
  __name: "FileField",
736
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
765
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
737
766
  label: {},
738
767
  labelHidden: { type: Boolean },
739
768
  hint: {},
@@ -747,91 +776,91 @@ const wa = { class: "w-full" }, $a = ["id", "accept", "disabled", "aria-describe
747
776
  variant: {},
748
777
  accept: {},
749
778
  maxSize: {}
750
- }, { ...ce, variant: "button", accept: () => [], maxSize: 0 }), {
779
+ }, { ...me, variant: "button", accept: () => [], maxSize: 0 }), {
751
780
  modelValue: { default: null },
752
781
  modelModifiers: {}
753
782
  }),
754
783
  emits: ["update:modelValue"],
755
784
  setup(o, { expose: t }) {
756
- const e = o, l = ne(o, "modelValue"), { t: n } = te(), a = A("chooser"), u = N(!1), c = N(null), g = w(() => {
785
+ const e = o, a = ie(o, "modelValue"), { t: n } = oe(), l = U("chooser"), u = N(!1), c = N(null), b = k(() => {
757
786
  if (e.hint) return e.hint;
758
- const y = [];
759
- return e.accept.length && y.push(n("core.form.file.allowed", { formats: e.accept.map((r) => r.replace(/^\./, "").toUpperCase()).join(", ") })), e.maxSize > 0 && y.push(n("core.form.file.max_size", { size: Be(e.maxSize) })), y.join(" · ") || void 0;
787
+ const x = [];
788
+ return e.accept.length && x.push(n("core.form.file.allowed", { formats: e.accept.map((r) => r.replace(/^\./, "").toUpperCase()).join(", ") })), e.maxSize > 0 && x.push(n("core.form.file.max_size", { size: Be(e.maxSize) })), x.join(" · ") || void 0;
760
789
  });
761
- function k(y) {
762
- if (!y) return;
763
- const r = nt(y, { accept: e.accept, maxSize: e.maxSize });
764
- r ? (c.value = r === "invalid_type" ? n("core.form.file.invalid_type") : n("core.form.file.too_large", { size: Be(e.maxSize) }), l.value = null) : (c.value = null, l.value = y);
790
+ function h(x) {
791
+ if (!x) return;
792
+ const r = nt(x, { accept: e.accept, maxSize: e.maxSize });
793
+ r ? (c.value = r === "invalid_type" ? n("core.form.file.invalid_type") : n("core.form.file.too_large", { size: Be(e.maxSize) }), a.value = null) : (c.value = null, a.value = x);
765
794
  }
766
- function $() {
767
- l.value = null, c.value = null;
795
+ function w() {
796
+ a.value = null, c.value = null;
768
797
  }
769
- return ie(l, (y) => {
770
- !y && a.value && (a.value.value = "");
771
- }), t({ clear: $ }), (y, r) => (i(), q(ye, X({ ...s(de)(e), hint: g.value, error: c.value ?? e.error }, {
772
- value: l.value?.name ?? null,
798
+ return de(a, (x) => {
799
+ !x && l.value && (l.value.value = "");
800
+ }), t({ clear: w }), (x, r) => (i(), O(ye, Q({ ...s(fe)(e), hint: b.value, error: c.value ?? e.error }, {
801
+ value: a.value?.name ?? null,
773
802
  "row-layout": "stacked"
774
- }), Q({
775
- default: f(({ id: d, describedby: p, invalid: B }) => [
776
- b("div", wa, [
777
- b("input", {
778
- id: d,
803
+ }), ee({
804
+ default: m(({ id: f, describedby: g, invalid: S }) => [
805
+ p("div", Fa, [
806
+ p("input", {
807
+ id: f,
779
808
  ref_key: "chooser",
780
- ref: a,
809
+ ref: l,
781
810
  type: "file",
782
811
  class: "sr-only",
783
812
  tabindex: "-1",
784
813
  accept: e.accept.join(",") || void 0,
785
814
  disabled: e.disabled,
786
- "aria-describedby": p,
787
- "aria-invalid": B || void 0,
788
- onChange: r[0] || (r[0] = (T) => k(T.target.files?.[0]))
789
- }, null, 40, $a),
790
- l.value ? (i(), h("div", _a, [
791
- b("div", Sa, [
792
- b("p", Ca, C(l.value.name), 1),
793
- b("p", Fa, C(s(Be)(l.value.size)), 1)
815
+ "aria-describedby": g,
816
+ "aria-invalid": S || void 0,
817
+ onChange: r[0] || (r[0] = (z) => h(z.target.files?.[0]))
818
+ }, null, 40, Ba),
819
+ a.value ? (i(), y("div", La, [
820
+ p("div", Ta, [
821
+ p("p", za, _(a.value.name), 1),
822
+ p("p", Da, _(s(Be)(a.value.size)), 1)
794
823
  ]),
795
- b("button", {
824
+ p("button", {
796
825
  type: "button",
797
826
  disabled: e.disabled,
798
827
  "aria-label": s(n)("core.form.file.remove"),
799
828
  title: s(n)("core.form.file.remove"),
800
829
  class: "flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-full text-content-muted hover:bg-fill-strong focus-visible:outline-2 focus-visible:outline-border-focus disabled:cursor-not-allowed",
801
- onClick: $
830
+ onClick: w
802
831
  }, [
803
- R(s(Z), {
832
+ M(s(te), {
804
833
  name: "close",
805
834
  size: 14
806
835
  })
807
- ], 8, Ba)
808
- ])) : e.variant === "dropzone" ? (i(), h("div", {
836
+ ], 8, Va)
837
+ ])) : e.variant === "dropzone" ? (i(), y("div", {
809
838
  key: 1,
810
839
  role: "button",
811
840
  tabindex: "0",
812
841
  "data-test": "file-dropzone",
813
842
  "aria-disabled": e.disabled || void 0,
814
- class: E(["cursor-pointer rounded-group border-2 border-dashed p-6 text-center text-body transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-border-focus", u.value ? "border-border-focus bg-tint-soft" : "border-border-control hover:bg-fill"]),
815
- onClick: r[1] || (r[1] = (T) => !e.disabled && a.value?.click()),
843
+ class: j(["cursor-pointer rounded-group border-2 border-dashed p-6 text-center text-body transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-border-focus", u.value ? "border-border-focus bg-tint-soft" : "border-border-control hover:bg-fill"]),
844
+ onClick: r[1] || (r[1] = (z) => !e.disabled && l.value?.click()),
816
845
  onKeydown: [
817
- r[2] || (r[2] = Ce(be((T) => !e.disabled && a.value?.click(), ["prevent"]), ["enter"])),
818
- r[3] || (r[3] = Ce(be((T) => !e.disabled && a.value?.click(), ["prevent"]), ["space"]))
846
+ r[2] || (r[2] = Ce(be((z) => !e.disabled && l.value?.click(), ["prevent"]), ["enter"])),
847
+ r[3] || (r[3] = Ce(be((z) => !e.disabled && l.value?.click(), ["prevent"]), ["space"]))
819
848
  ],
820
- onDragover: r[4] || (r[4] = be((T) => u.value = !0, ["prevent"])),
821
- onDragleave: r[5] || (r[5] = be((T) => u.value = !1, ["prevent"])),
822
- onDrop: r[6] || (r[6] = be((T) => {
823
- u.value = !1, e.disabled || k(T.dataTransfer?.files?.[0]);
849
+ onDragover: r[4] || (r[4] = be((z) => u.value = !0, ["prevent"])),
850
+ onDragleave: r[5] || (r[5] = be((z) => u.value = !1, ["prevent"])),
851
+ onDrop: r[6] || (r[6] = be((z) => {
852
+ u.value = !1, e.disabled || h(z.dataTransfer?.files?.[0]);
824
853
  }, ["prevent"]))
825
854
  }, [
826
- b("span", Ta, C(s(n)("core.form.file.choose")), 1),
827
- b("span", Da, C(" " + s(n)("core.form.file.drop")), 1)
828
- ], 42, La)) : (i(), q(ge, {
855
+ p("span", Ra, _(s(n)("core.form.file.choose")), 1),
856
+ p("span", Oa, _(" " + s(n)("core.form.file.drop")), 1)
857
+ ], 42, qa)) : (i(), O(ge, {
829
858
  key: 2,
830
859
  disabled: e.disabled,
831
- onClick: r[7] || (r[7] = (T) => a.value?.click())
860
+ onClick: r[7] || (r[7] = (z) => l.value?.click())
832
861
  }, {
833
- default: f(() => [
834
- Y(C(s(n)("core.form.file.choose")), 1)
862
+ default: m(() => [
863
+ Y(_(s(n)("core.form.file.choose")), 1)
835
864
  ]),
836
865
  _: 1
837
866
  }, 8, ["disabled"]))
@@ -839,30 +868,30 @@ const wa = { class: "w-full" }, $a = ["id", "accept", "disabled", "aria-describe
839
868
  ]),
840
869
  _: 2
841
870
  }, [
842
- y.$slots.trailing ? {
871
+ x.$slots.trailing ? {
843
872
  name: "trailing",
844
- fn: f(() => [
845
- F(y.$slots, "trailing")
873
+ fn: m(() => [
874
+ C(x.$slots, "trailing")
846
875
  ]),
847
876
  key: "0"
848
877
  } : void 0,
849
- y.$slots.labelTrailing ? {
878
+ x.$slots.labelTrailing ? {
850
879
  name: "labelTrailing",
851
- fn: f(() => [
852
- F(y.$slots, "labelTrailing")
880
+ fn: m(() => [
881
+ C(x.$slots, "labelTrailing")
853
882
  ]),
854
883
  key: "1"
855
884
  } : void 0,
856
- y.$slots.readonly ? {
885
+ x.$slots.readonly ? {
857
886
  name: "readonly",
858
- fn: f(() => [
859
- F(y.$slots, "readonly")
887
+ fn: m(() => [
888
+ C(x.$slots, "readonly")
860
889
  ]),
861
890
  key: "2"
862
891
  } : void 0
863
892
  ]), 1040, ["value"]));
864
893
  }
865
- }), za = ["disabled"], wo = /* @__PURE__ */ P({
894
+ }), Ma = ["disabled"], Fo = /* @__PURE__ */ P({
866
895
  __name: "FormGroupButton",
867
896
  props: {
868
897
  label: {},
@@ -871,17 +900,17 @@ const wa = { class: "w-full" }, $a = ["id", "accept", "disabled", "aria-describe
871
900
  },
872
901
  emits: ["click"],
873
902
  setup(o, { emit: t }) {
874
- const e = o, l = t;
875
- return (n, a) => (i(), q(qt, null, {
876
- default: f(() => [
877
- R(mt, { layout: "stacked" }, {
878
- default: f(() => [
879
- b("button", {
903
+ const e = o, a = t;
904
+ return (n, l) => (i(), O(qt, null, {
905
+ default: m(() => [
906
+ M(mt, { layout: "stacked" }, {
907
+ default: m(() => [
908
+ p("button", {
880
909
  type: "button",
881
910
  disabled: e.disabled,
882
- class: E(["w-full py-1 text-center text-body focus-visible:outline-2 focus-visible:outline-border-focus disabled:text-content-disabled", e.tone === "critical" ? "text-content-destructive" : "text-content-link"]),
883
- onClick: a[0] || (a[0] = (u) => l("click"))
884
- }, C(e.label), 11, za)
911
+ class: j(["w-full py-1 text-center text-body focus-visible:outline-2 focus-visible:outline-border-focus disabled:text-content-disabled", e.tone === "critical" ? "text-content-destructive" : "text-content-link"]),
912
+ onClick: l[0] || (l[0] = (u) => a("click"))
913
+ }, _(e.label), 11, Ma)
885
914
  ]),
886
915
  _: 1
887
916
  })
@@ -889,31 +918,31 @@ const wa = { class: "w-full" }, $a = ["id", "accept", "disabled", "aria-describe
889
918
  _: 1
890
919
  }));
891
920
  }
892
- }), $o = /* @__PURE__ */ P({
921
+ }), Bo = /* @__PURE__ */ P({
893
922
  __name: "FormIndent",
894
923
  setup(o) {
895
- return Re(vt, pt() + 1), (t, e) => F(t.$slots, "default");
924
+ return Re(vt, pt() + 1), (t, e) => C(t.$slots, "default");
896
925
  }
897
926
  });
898
- function Va(o, t) {
927
+ function ja(o, t) {
899
928
  return t.filter((e) => (o?.[e] ?? "").trim() === "");
900
929
  }
901
- const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows", "placeholder", "maxlength", "disabled", "aria-required", "aria-invalid", "aria-describedby"], Ma = ["id", "value", "lang", "name", "placeholder", "maxlength", "disabled", "aria-required", "aria-invalid", "aria-describedby"], Oa = {
930
+ const Ea = ["id", "aria-labelledby"], Ia = ["id", "value", "lang", "name", "rows", "placeholder", "maxlength", "disabled", "aria-required", "aria-invalid", "aria-describedby"], Ga = ["id", "value", "lang", "name", "placeholder", "maxlength", "disabled", "aria-required", "aria-invalid", "aria-describedby"], Na = {
902
931
  key: 0,
903
932
  class: "mt-1.5 flex items-center gap-2"
904
- }, ja = {
933
+ }, Pa = {
905
934
  key: 0,
906
935
  class: "flex-1 text-footnote text-status-warning-content",
907
936
  "data-test": "i18n-missing"
908
- }, Ea = {
937
+ }, Ka = {
909
938
  key: 1,
910
939
  class: "flex-1"
911
- }, Ia = ["aria-label"], Ga = ["id", "aria-selected", "tabindex", "aria-controls", "aria-label", "title", "onClick", "onKeydown"], Na = ["data-state"], Pa = { class: "w-full" }, Ka = { class: "whitespace-pre-line break-words text-body text-content-strong" }, Aa = ["aria-expanded"], Ha = { class: "flex-1" }, Ua = {
940
+ }, Aa = ["aria-label"], Ha = ["id", "aria-selected", "tabindex", "aria-controls", "aria-label", "title", "onClick", "onKeydown"], Ua = ["data-state"], Ya = { class: "w-full" }, Wa = { class: "whitespace-pre-line break-words text-body text-content-strong" }, Ja = ["aria-expanded"], Za = { class: "flex-1" }, Xa = {
912
941
  key: 0,
913
942
  class: "mt-1 flex flex-col gap-1.5"
914
- }, Ya = ["title"], _o = /* @__PURE__ */ P({
943
+ }, Qa = ["title"], Lo = /* @__PURE__ */ P({
915
944
  __name: "I18nField",
916
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
945
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
917
946
  label: {},
918
947
  labelHidden: { type: Boolean },
919
948
  hint: {},
@@ -931,198 +960,198 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
931
960
  rows: {},
932
961
  placeholder: {},
933
962
  maxLength: {}
934
- }, { ...ce, locales: void 0, defaultLocale: void 0, requiredLocales: () => [], multiline: !1, rows: 3, placeholder: void 0, maxLength: void 0 }), {
963
+ }, { ...me, locales: void 0, defaultLocale: void 0, requiredLocales: () => [], multiline: !1, rows: 3, placeholder: void 0, maxLength: void 0 }), {
935
964
  modelValue: { default: () => ({}) },
936
965
  modelModifiers: {}
937
966
  }),
938
967
  emits: ["update:modelValue"],
939
968
  setup(o, { expose: t }) {
940
- const e = o, l = ne(o, "modelValue"), { t: n, locale: a, availableLocales: u } = te(), c = tt(Ot, null), g = je(), k = A("field"), $ = A("root"), { editable: y } = at(e), r = Ge(e.multiline ? "area" : "text", () => e.error || oe.value ? "error" : e.disabled ? "locked" : "rest"), d = w(() => e.locales ?? c?.locales ?? u), p = w(() => e.defaultLocale ?? d.value[0] ?? ""), B = w(() => d.value.includes(p.value) ? [p.value, ...d.value.filter((m) => m !== p.value)] : d.value), T = N(null), x = w(() => T.value !== null && B.value.includes(T.value) ? T.value : B.value.includes(a.value) ? a.value : p.value), G = (m) => l.value[m] ?? "", S = (m) => G(m).trim() !== "", O = (m) => m.toUpperCase();
941
- function I(m) {
969
+ const e = o, a = ie(o, "modelValue"), { t: n, locale: l, availableLocales: u } = oe(), c = tt(Mt, null), b = je(), h = U("field"), w = U("root"), { editable: x } = at(e), r = Ge(e.multiline ? "area" : "text", () => e.error || ne.value ? "error" : e.disabled ? "locked" : "rest"), f = k(() => e.locales ?? c?.locales ?? u), g = k(() => e.defaultLocale ?? f.value[0] ?? ""), S = k(() => f.value.includes(g.value) ? [g.value, ...f.value.filter((v) => v !== g.value)] : f.value), z = N(null), $ = k(() => z.value !== null && S.value.includes(z.value) ? z.value : S.value.includes(l.value) ? l.value : g.value), I = (v) => a.value[v] ?? "", F = (v) => I(v).trim() !== "", E = (v) => v.toUpperCase();
970
+ function R(v) {
942
971
  try {
943
- return new Intl.DisplayNames([Mt(a.value)], { type: "language" }).of(m) ?? O(m);
972
+ return new Intl.DisplayNames([Ot(l.value)], { type: "language" }).of(v) ?? E(v);
944
973
  } catch {
945
- return O(m);
974
+ return E(v);
946
975
  }
947
976
  }
948
- const H = (m) => m.map(I).join(", ");
949
- function ae(m, L) {
950
- l.value = { ...l.value, [m]: L };
977
+ const Z = (v) => v.map(R).join(", ");
978
+ function W(v, q) {
979
+ a.value = { ...a.value, [v]: q };
951
980
  }
952
- const le = (m) => `${g}-tab-${m}`;
953
- function ee(m, L) {
954
- T.value = m, L && ke(() => k.value?.focus());
981
+ const J = (v) => `${b}-tab-${v}`;
982
+ function ae(v, q) {
983
+ z.value = v, q && he(() => h.value?.focus());
955
984
  }
956
- function M(m, L) {
957
- const D = B.value.length - 1, ve = { ArrowRight: L + 1, ArrowLeft: L - 1, Home: 0, End: D }[m.key];
958
- if (ve === void 0) return;
959
- m.preventDefault();
960
- const pe = B.value[(ve + B.value.length) % B.value.length];
961
- pe !== void 0 && (ee(pe, !1), ke(() => document.getElementById(le(pe))?.focus()));
985
+ function ve(v, q) {
986
+ const B = S.value.length - 1, K = { ArrowRight: q + 1, ArrowLeft: q - 1, Home: 0, End: B }[v.key];
987
+ if (K === void 0) return;
988
+ v.preventDefault();
989
+ const H = S.value[(K + S.value.length) % S.value.length];
990
+ H !== void 0 && (ae(H, !1), he(() => document.getElementById(J(H))?.focus()));
962
991
  }
963
- const W = N(!1);
964
- function U(m) {
965
- $.value?.contains(m.relatedTarget) || (W.value = !0);
992
+ const D = N(!1);
993
+ function A(v) {
994
+ w.value?.contains(v.relatedTarget) || (D.value = !0);
966
995
  }
967
- const K = w(() => Va(l.value, e.requiredLocales)), oe = w(() => W.value && K.value.length > 0 ? n("core.form.i18n.required", { languages: H(K.value) }) : void 0), J = w(() => e.requiredLocales.length > 0 ? K.value.length === 0 : B.value.some(S)), he = w(() => B.value.filter((m) => !S(m) && !(oe.value && K.value.includes(m)))), fe = w(() => S(p.value) && B.value.some((m) => m !== p.value && !S(m)));
996
+ const G = k(() => ja(a.value, e.requiredLocales)), ne = k(() => D.value && G.value.length > 0 ? n("core.form.i18n.required", { languages: Z(G.value) }) : void 0), re = k(() => e.requiredLocales.length > 0 ? G.value.length === 0 : S.value.some(F)), le = k(() => S.value.filter((v) => !F(v) && !(ne.value && G.value.includes(v)))), ke = k(() => F(g.value) && S.value.some((v) => v !== g.value && !F(v)));
968
997
  function we() {
969
- const m = G(p.value);
970
- l.value = { ...l.value, ...Object.fromEntries(B.value.filter((L) => !S(L)).map((L) => [L, m])) };
998
+ const v = I(g.value);
999
+ a.value = { ...a.value, ...Object.fromEntries(S.value.filter((q) => !F(q)).map((q) => [q, v])) };
971
1000
  }
972
- const _ = w(() => [a.value, p.value, ...B.value].find((m) => B.value.includes(m) && S(m))), j = w(() => B.value.filter((m) => m !== _.value)), me = w(() => j.value.filter(S).length), v = N(!1), V = w(() => e.label && !y.value && _.value ? `${e.label} · ${O(_.value)}` : e.label);
973
- return t({ focus: () => k.value?.focus() }), (m, L) => (i(), q(ye, X({ ...s(de)(e), label: V.value, error: e.error ?? oe.value, required: e.required || e.requiredLocales.length > 0 }, {
974
- value: s(y) ? J.value ? "written" : null : _.value ? G(_.value) : null,
1001
+ const X = k(() => [l.value, g.value, ...S.value].find((v) => S.value.includes(v) && F(v))), pe = k(() => S.value.filter((v) => v !== X.value)), L = k(() => pe.value.filter(F).length), d = N(!1), V = k(() => e.label && !x.value && X.value ? `${e.label} · ${E(X.value)}` : e.label);
1002
+ return t({ focus: () => h.value?.focus() }), (v, q) => (i(), O(ye, Q({ ...s(fe)(e), label: V.value, error: e.error ?? ne.value, required: e.required || e.requiredLocales.length > 0 }, {
1003
+ value: s(x) ? re.value ? "written" : null : X.value ? I(X.value) : null,
975
1004
  "row-layout": "stacked"
976
- }), Q({
977
- default: f(({ id: D, describedby: ve, invalid: pe }) => [
978
- b("div", {
1005
+ }), ee({
1006
+ default: m(({ id: B, describedby: K, invalid: H }) => [
1007
+ p("div", {
979
1008
  ref_key: "root",
980
- ref: $,
1009
+ ref: w,
981
1010
  class: "w-full",
982
- onFocusout: U
1011
+ onFocusout: A
983
1012
  }, [
984
- b("div", {
985
- id: `${s(g)}-panel`,
1013
+ p("div", {
1014
+ id: `${s(b)}-panel`,
986
1015
  role: "tabpanel",
987
- "aria-labelledby": le(x.value)
1016
+ "aria-labelledby": J($.value)
988
1017
  }, [
989
- b("div", {
990
- class: E(["w-full", s(r)])
1018
+ p("div", {
1019
+ class: j(["w-full", s(r)])
991
1020
  }, [
992
- e.multiline ? (i(), h("textarea", {
1021
+ e.multiline ? (i(), y("textarea", {
993
1022
  key: 0,
994
- id: D,
1023
+ id: B,
995
1024
  ref_key: "field",
996
- ref: k,
997
- value: G(x.value),
998
- lang: x.value,
1025
+ ref: h,
1026
+ value: I($.value),
1027
+ lang: $.value,
999
1028
  name: e.name,
1000
1029
  rows: e.rows,
1001
1030
  placeholder: e.placeholder,
1002
1031
  maxlength: e.maxLength,
1003
1032
  disabled: e.disabled,
1004
1033
  "aria-required": e.required || void 0,
1005
- "aria-invalid": pe || void 0,
1006
- "aria-describedby": ve,
1034
+ "aria-invalid": H || void 0,
1035
+ "aria-describedby": K,
1007
1036
  "data-test": "i18n-input",
1008
1037
  class: "block w-full resize-y border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
1009
- onInput: L[0] || (L[0] = (Te) => ae(x.value, Te.target.value))
1010
- }, null, 40, Ra)) : (i(), h("input", {
1038
+ onInput: q[0] || (q[0] = (Te) => W($.value, Te.target.value))
1039
+ }, null, 40, Ia)) : (i(), y("input", {
1011
1040
  key: 1,
1012
- id: D,
1041
+ id: B,
1013
1042
  ref_key: "field",
1014
- ref: k,
1015
- value: G(x.value),
1016
- lang: x.value,
1043
+ ref: h,
1044
+ value: I($.value),
1045
+ lang: $.value,
1017
1046
  type: "text",
1018
1047
  name: e.name,
1019
1048
  placeholder: e.placeholder,
1020
1049
  maxlength: e.maxLength,
1021
1050
  disabled: e.disabled,
1022
1051
  "aria-required": e.required || void 0,
1023
- "aria-invalid": pe || void 0,
1024
- "aria-describedby": ve,
1052
+ "aria-invalid": H || void 0,
1053
+ "aria-describedby": K,
1025
1054
  "data-test": "i18n-input",
1026
1055
  class: "block w-full min-w-0 border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
1027
- onInput: L[1] || (L[1] = (Te) => ae(x.value, Te.target.value))
1028
- }, null, 40, Ma))
1056
+ onInput: q[1] || (q[1] = (Te) => W($.value, Te.target.value))
1057
+ }, null, 40, Ga))
1029
1058
  ], 2)
1030
- ], 8, qa),
1031
- he.value.length > 0 || fe.value ? (i(), h("div", Oa, [
1032
- he.value.length > 0 ? (i(), h("p", ja, C(s(n)("core.form.i18n.missing", { languages: H(he.value) })), 1)) : (i(), h("span", Ea)),
1033
- fe.value && !e.disabled ? (i(), h("button", {
1059
+ ], 8, Ea),
1060
+ le.value.length > 0 || ke.value ? (i(), y("div", Na, [
1061
+ le.value.length > 0 ? (i(), y("p", Pa, _(s(n)("core.form.i18n.missing", { languages: Z(le.value) })), 1)) : (i(), y("span", Ka)),
1062
+ ke.value && !e.disabled ? (i(), y("button", {
1034
1063
  key: 2,
1035
1064
  type: "button",
1036
1065
  "data-test": "i18n-copy",
1037
1066
  class: "shrink-0 cursor-pointer rounded-control bg-tint-soft px-2.5 py-1.5 text-footnote font-medium text-content-link transition-colors duration-motion-fast hover:bg-fill focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus",
1038
1067
  onClick: we
1039
- }, C(s(n)("core.form.i18n.copy", { language: O(p.value) })), 1)) : z("", !0)
1040
- ])) : z("", !0)
1068
+ }, _(s(n)("core.form.i18n.copy", { language: E(g.value) })), 1)) : T("", !0)
1069
+ ])) : T("", !0)
1041
1070
  ], 544)
1042
1071
  ]),
1043
- labelTrailing: f(() => [
1044
- b("div", {
1072
+ labelTrailing: m(() => [
1073
+ p("div", {
1045
1074
  role: "tablist",
1046
1075
  "aria-label": s(n)("core.form.i18n.languages"),
1047
1076
  class: "flex shrink-0 gap-0.5 rounded-control bg-fill p-0.5",
1048
1077
  "data-test": "i18n-tabs"
1049
1078
  }, [
1050
- (i(!0), h(re, null, xe(B.value, (D, ve) => (i(), h("button", {
1051
- id: le(D),
1052
- key: D,
1079
+ (i(!0), y(ue, null, xe(S.value, (B, K) => (i(), y("button", {
1080
+ id: J(B),
1081
+ key: B,
1053
1082
  type: "button",
1054
1083
  role: "tab",
1055
- "aria-selected": D === x.value,
1056
- tabindex: D === x.value ? 0 : -1,
1057
- "aria-controls": `${s(g)}-panel`,
1058
- "aria-label": s(n)(S(D) ? "core.form.i18n.tab_written" : "core.form.i18n.tab_empty", { language: I(D) }),
1059
- title: I(D),
1060
- class: E(["flex min-h-7 cursor-pointer items-center gap-1.5 rounded-control px-2.5 py-1 text-footnote font-semibold transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus", D === x.value ? "bg-segment-selected text-content-strong shadow-sm" : "text-content-muted hover:text-content-strong"]),
1061
- onClick: (pe) => ee(D, !0),
1062
- onKeydown: (pe) => M(pe, ve)
1084
+ "aria-selected": B === $.value,
1085
+ tabindex: B === $.value ? 0 : -1,
1086
+ "aria-controls": `${s(b)}-panel`,
1087
+ "aria-label": s(n)(F(B) ? "core.form.i18n.tab_written" : "core.form.i18n.tab_empty", { language: R(B) }),
1088
+ title: R(B),
1089
+ class: j(["flex min-h-7 cursor-pointer items-center gap-1.5 rounded-control px-2.5 py-1 text-footnote font-semibold transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus", B === $.value ? "bg-segment-selected text-content-strong shadow-sm" : "text-content-muted hover:text-content-strong"]),
1090
+ onClick: (H) => ae(B, !0),
1091
+ onKeydown: (H) => ve(H, K)
1063
1092
  }, [
1064
- Y(C(O(D)) + " ", 1),
1065
- b("span", {
1093
+ Y(_(E(B)) + " ", 1),
1094
+ p("span", {
1066
1095
  "aria-hidden": "true",
1067
- class: E(["size-1.5 rounded-full", S(D) ? "bg-status-success-solid" : oe.value && K.value.includes(D) ? "bg-content-destructive" : "bg-content-disabled"]),
1096
+ class: j(["size-1.5 rounded-full", F(B) ? "bg-status-success-solid" : ne.value && G.value.includes(B) ? "bg-content-destructive" : "bg-content-disabled"]),
1068
1097
  "data-test": "i18n-dot",
1069
- "data-state": S(D) ? "written" : oe.value && K.value.includes(D) ? "required" : "empty"
1070
- }, null, 10, Na)
1071
- ], 42, Ga))), 128))
1072
- ], 8, Ia)
1098
+ "data-state": F(B) ? "written" : ne.value && G.value.includes(B) ? "required" : "empty"
1099
+ }, null, 10, Ua)
1100
+ ], 42, Ha))), 128))
1101
+ ], 8, Aa)
1073
1102
  ]),
1074
1103
  _: 2
1075
1104
  }, [
1076
- _.value ? {
1105
+ X.value ? {
1077
1106
  name: "readonly",
1078
- fn: f(() => [
1079
- b("div", Pa, [
1080
- b("p", Ka, C(G(_.value)), 1),
1081
- j.value.length > 0 ? (i(), h(re, { key: 0 }, [
1082
- b("button", {
1107
+ fn: m(() => [
1108
+ p("div", Ya, [
1109
+ p("p", Wa, _(I(X.value)), 1),
1110
+ pe.value.length > 0 ? (i(), y(ue, { key: 0 }, [
1111
+ p("button", {
1083
1112
  type: "button",
1084
- "aria-expanded": v.value,
1113
+ "aria-expanded": d.value,
1085
1114
  class: "mt-1.5 flex w-full cursor-pointer items-center gap-2 text-left text-footnote text-content-muted focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus",
1086
- onClick: L[2] || (L[2] = (D) => v.value = !v.value)
1115
+ onClick: q[2] || (q[2] = (B) => d.value = !d.value)
1087
1116
  }, [
1088
- b("span", Ha, C(s(n)("core.form.i18n.more", { count: j.value.length, filled: me.value })), 1),
1089
- R(s(Z), {
1117
+ p("span", Za, _(s(n)("core.form.i18n.more", { count: pe.value.length, filled: L.value })), 1),
1118
+ M(s(te), {
1090
1119
  name: "arrowRightSLine",
1091
1120
  size: 16,
1092
- class: E(["shrink-0 transition-transform duration-motion-fast", v.value ? "rotate-90" : ""])
1121
+ class: j(["shrink-0 transition-transform duration-motion-fast", d.value ? "rotate-90" : ""])
1093
1122
  }, null, 8, ["class"])
1094
- ], 8, Aa),
1095
- v.value ? (i(), h("dl", Ua, [
1096
- (i(!0), h(re, null, xe(j.value, (D) => (i(), h("div", {
1097
- key: D,
1123
+ ], 8, Ja),
1124
+ d.value ? (i(), y("dl", Xa, [
1125
+ (i(!0), y(ue, null, xe(pe.value, (B) => (i(), y("div", {
1126
+ key: B,
1098
1127
  class: "flex gap-2 text-body"
1099
1128
  }, [
1100
- b("dt", {
1129
+ p("dt", {
1101
1130
  class: "w-8 shrink-0 text-footnote font-semibold leading-6 text-content-muted",
1102
- title: I(D)
1103
- }, C(O(D)), 9, Ya),
1104
- b("dd", {
1105
- class: E(["min-w-0 flex-1 whitespace-pre-line break-words", S(D) ? "text-content-strong" : "text-content-disabled"])
1106
- }, C(S(D) ? G(D) : s(n)("core.state.no_value")), 3)
1131
+ title: R(B)
1132
+ }, _(E(B)), 9, Qa),
1133
+ p("dd", {
1134
+ class: j(["min-w-0 flex-1 whitespace-pre-line break-words", F(B) ? "text-content-strong" : "text-content-disabled"])
1135
+ }, _(F(B) ? I(B) : s(n)("core.state.no_value")), 3)
1107
1136
  ]))), 128))
1108
- ])) : z("", !0)
1109
- ], 64)) : z("", !0)
1137
+ ])) : T("", !0)
1138
+ ], 64)) : T("", !0)
1110
1139
  ])
1111
1140
  ]),
1112
1141
  key: "0"
1113
1142
  } : void 0,
1114
- m.$slots.trailing ? {
1143
+ v.$slots.trailing ? {
1115
1144
  name: "trailing",
1116
- fn: f(() => [
1117
- F(m.$slots, "trailing")
1145
+ fn: m(() => [
1146
+ C(v.$slots, "trailing")
1118
1147
  ]),
1119
1148
  key: "1"
1120
1149
  } : void 0
1121
1150
  ]), 1040, ["value"]));
1122
1151
  }
1123
- }), So = /* @__PURE__ */ P({
1152
+ }), To = /* @__PURE__ */ P({
1124
1153
  __name: "MoneyField",
1125
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
1154
+ props: /* @__PURE__ */ ce({
1126
1155
  label: {},
1127
1156
  labelHidden: { type: Boolean },
1128
1157
  hint: {},
@@ -1133,54 +1162,56 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1133
1162
  lockedReason: {},
1134
1163
  presentation: {},
1135
1164
  name: {},
1165
+ modelValue: {},
1136
1166
  currency: {},
1137
1167
  decimals: {},
1168
+ blankZero: { type: Boolean },
1138
1169
  negative: { type: Boolean },
1139
1170
  width: {}
1140
- }, { ...ce, decimals: 2, negative: !1, width: "sm" }), {
1141
- modelValue: { default: null },
1142
- modelModifiers: {}
1143
- }),
1144
- emits: ["update:modelValue"],
1145
- setup(o, { expose: t }) {
1146
- const e = o, l = ne(o, "modelValue"), n = A("field");
1147
- return t({ focus: () => n.value?.focus() }), (a, u) => (i(), q(jt, X({
1171
+ }, { ...me, modelValue: void 0, decimals: 2, blankZero: !1, negative: !1, width: "sm" }),
1172
+ emits: ["update:modelValue", "focus", "blur"],
1173
+ setup(o, { expose: t, emit: e }) {
1174
+ const a = o, n = e, l = U("field");
1175
+ return t({ focus: () => l.value?.focus() }), (u, c) => (i(), O(jt, Q({
1148
1176
  ref_key: "field",
1149
- ref: n,
1150
- modelValue: l.value,
1151
- "onUpdate:modelValue": u[0] || (u[0] = (c) => l.value = c)
1152
- }, s(de)(e), {
1153
- decimals: e.decimals,
1154
- negative: e.negative,
1155
- suffix: e.currency,
1156
- width: e.width
1157
- }), Q({ _: 2 }, [
1158
- a.$slots.trailing ? {
1177
+ ref: l,
1178
+ "model-value": a.modelValue,
1179
+ "onUpdate:modelValue": c[0] || (c[0] = (b) => n("update:modelValue", b))
1180
+ }, s(fe)(a), {
1181
+ decimals: a.decimals,
1182
+ negative: a.negative,
1183
+ "blank-zero": a.blankZero,
1184
+ suffix: a.currency,
1185
+ width: a.width,
1186
+ onFocus: c[1] || (c[1] = (b) => n("focus", b)),
1187
+ onBlur: c[2] || (c[2] = (b) => n("blur", b))
1188
+ }), ee({ _: 2 }, [
1189
+ u.$slots.trailing ? {
1159
1190
  name: "trailing",
1160
- fn: f(() => [
1161
- F(a.$slots, "trailing")
1191
+ fn: m(() => [
1192
+ C(u.$slots, "trailing")
1162
1193
  ]),
1163
1194
  key: "0"
1164
1195
  } : void 0,
1165
- a.$slots.labelTrailing ? {
1196
+ u.$slots.labelTrailing ? {
1166
1197
  name: "labelTrailing",
1167
- fn: f(() => [
1168
- F(a.$slots, "labelTrailing")
1198
+ fn: m(() => [
1199
+ C(u.$slots, "labelTrailing")
1169
1200
  ]),
1170
1201
  key: "1"
1171
1202
  } : void 0,
1172
- a.$slots.readonly ? {
1203
+ u.$slots.readonly ? {
1173
1204
  name: "readonly",
1174
- fn: f(() => [
1175
- F(a.$slots, "readonly")
1205
+ fn: m(() => [
1206
+ C(u.$slots, "readonly")
1176
1207
  ]),
1177
1208
  key: "2"
1178
1209
  } : void 0
1179
- ]), 1040, ["modelValue", "decimals", "negative", "suffix", "width"]));
1210
+ ]), 1040, ["model-value", "decimals", "negative", "blank-zero", "suffix", "width"]));
1180
1211
  }
1181
- }), Wa = { class: "flex flex-col gap-2" }, Ja = ["onClick"], Co = /* @__PURE__ */ P({
1212
+ }), el = { class: "flex flex-col gap-2" }, tl = ["onClick"], zo = /* @__PURE__ */ P({
1182
1213
  __name: "MonthYearField",
1183
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
1214
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
1184
1215
  label: {},
1185
1216
  labelHidden: { type: Boolean },
1186
1217
  hint: {},
@@ -1193,7 +1224,7 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1193
1224
  name: {},
1194
1225
  minYear: {},
1195
1226
  maxYear: {}
1196
- }, { ...ce, minYear: 1970, maxYear: () => (/* @__PURE__ */ new Date()).getFullYear() + 1 }), {
1227
+ }, { ...me, minYear: 1970, maxYear: () => (/* @__PURE__ */ new Date()).getFullYear() + 1 }), {
1197
1228
  month: { default: null },
1198
1229
  monthModifiers: {},
1199
1230
  year: { default: null },
@@ -1201,58 +1232,58 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1201
1232
  }),
1202
1233
  emits: ["update:month", "update:year"],
1203
1234
  setup(o) {
1204
- const t = o, e = ne(o, "month"), l = ne(o, "year"), { t: n } = te(), a = w(() => e.value !== null && e.value >= 1 && e.value <= 12), u = ($, y) => n(`core.form.months.${y}.${$}`), c = w(() => a.value && l.value !== null ? n("core.form.months.with_year", { month: u(e.value, "long"), year: l.value }) : l.value !== null ? String(l.value) : a.value ? u(e.value, "long") : "");
1205
- function g($, y) {
1206
- e.value = $.month, l.value = $.year, y();
1235
+ const t = o, e = ie(o, "month"), a = ie(o, "year"), { t: n } = oe(), l = k(() => e.value !== null && e.value >= 1 && e.value <= 12), u = (w, x) => n(`core.form.months.${x}.${w}`), c = k(() => l.value && a.value !== null ? n("core.form.months.with_year", { month: u(e.value, "long"), year: a.value }) : a.value !== null ? String(a.value) : l.value ? u(e.value, "long") : "");
1236
+ function b(w, x) {
1237
+ e.value = w.month, a.value = w.year, x();
1207
1238
  }
1208
- function k($) {
1209
- e.value = null, l.value = null, $();
1239
+ function h(w) {
1240
+ e.value = null, a.value = null, w();
1210
1241
  }
1211
- return ($, y) => (i(), q(ye, X(s(de)(t), {
1242
+ return (w, x) => (i(), O(ye, Q(s(fe)(t), {
1212
1243
  value: c.value || null
1213
- }), Q({
1214
- default: f(({ id: r, describedby: d, invalid: p }) => [
1215
- R(Pe, {
1244
+ }), ee({
1245
+ default: m(({ id: r, describedby: f, invalid: g }) => [
1246
+ M(Pe, {
1216
1247
  label: t.label ?? c.value,
1217
1248
  width: "sm",
1218
1249
  placement: "bottom-start",
1219
1250
  arrow: !1
1220
1251
  }, {
1221
- trigger: f(({ toggle: B, presented: T }) => [
1222
- R(ot, X({ id: r, "aria-describedby": d }, {
1223
- expanded: T,
1252
+ trigger: m(({ toggle: S, presented: z }) => [
1253
+ M(ot, Q({ id: r, "aria-describedby": f }, {
1254
+ expanded: z,
1224
1255
  disabled: t.disabled,
1225
- invalid: p,
1226
- onClick: B
1256
+ invalid: g,
1257
+ onClick: S
1227
1258
  }), {
1228
- default: f(() => [
1229
- c.value ? (i(), h(re, { key: 0 }, [
1230
- Y(C(c.value), 1),
1231
- R(s(Z), {
1259
+ default: m(() => [
1260
+ c.value ? (i(), y(ue, { key: 0 }, [
1261
+ Y(_(c.value), 1),
1262
+ M(s(te), {
1232
1263
  name: "calendarLine",
1233
1264
  size: 16,
1234
1265
  class: "ml-2 shrink-0 text-content-muted"
1235
1266
  })
1236
- ], 64)) : z("", !0)
1267
+ ], 64)) : T("", !0)
1237
1268
  ]),
1238
1269
  _: 1
1239
1270
  }, 16, ["expanded", "disabled", "invalid", "onClick"])
1240
1271
  ]),
1241
- default: f(({ dismiss: B }) => [
1242
- b("div", Wa, [
1243
- R(Bt, {
1272
+ default: m(({ dismiss: S }) => [
1273
+ p("div", el, [
1274
+ M(Bt, {
1244
1275
  month: e.value,
1245
- year: l.value,
1276
+ year: a.value,
1246
1277
  "min-year": t.minYear,
1247
1278
  "max-year": t.maxYear,
1248
- onPick: (T) => g(T, B)
1279
+ onPick: (z) => b(z, S)
1249
1280
  }, null, 8, ["month", "year", "min-year", "max-year", "onPick"]),
1250
- a.value || l.value !== null ? (i(), h("button", {
1281
+ l.value || a.value !== null ? (i(), y("button", {
1251
1282
  key: 0,
1252
1283
  type: "button",
1253
1284
  class: "cursor-pointer self-start rounded-control px-1 text-footnote text-content-link",
1254
- onClick: (T) => k(B)
1255
- }, C(s(n)("core.form.select.clear")), 9, Ja)) : z("", !0)
1285
+ onClick: (z) => h(S)
1286
+ }, _(s(n)("core.form.select.clear")), 9, tl)) : T("", !0)
1256
1287
  ])
1257
1288
  ]),
1258
1289
  _: 2
@@ -1260,32 +1291,32 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1260
1291
  ]),
1261
1292
  _: 2
1262
1293
  }, [
1263
- $.$slots.trailing ? {
1294
+ w.$slots.trailing ? {
1264
1295
  name: "trailing",
1265
- fn: f(() => [
1266
- F($.$slots, "trailing")
1296
+ fn: m(() => [
1297
+ C(w.$slots, "trailing")
1267
1298
  ]),
1268
1299
  key: "0"
1269
1300
  } : void 0,
1270
- $.$slots.labelTrailing ? {
1301
+ w.$slots.labelTrailing ? {
1271
1302
  name: "labelTrailing",
1272
- fn: f(() => [
1273
- F($.$slots, "labelTrailing")
1303
+ fn: m(() => [
1304
+ C(w.$slots, "labelTrailing")
1274
1305
  ]),
1275
1306
  key: "1"
1276
1307
  } : void 0,
1277
- $.$slots.readonly ? {
1308
+ w.$slots.readonly ? {
1278
1309
  name: "readonly",
1279
- fn: f(() => [
1280
- F($.$slots, "readonly")
1310
+ fn: m(() => [
1311
+ C(w.$slots, "readonly")
1281
1312
  ]),
1282
1313
  key: "2"
1283
1314
  } : void 0
1284
1315
  ]), 1040, ["value"]));
1285
1316
  }
1286
- }), Xa = { class: "flex min-w-0 flex-wrap items-center gap-1.5 py-0.5" }, Qa = { class: "truncate" }, Za = ["disabled", "aria-label", "onClick"], el = ["id", "disabled", "aria-expanded", "aria-invalid", "aria-describedby", "aria-busy"], tl = ["id", "disabled", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], al = { class: "max-h-72 overflow-y-auto" }, ll = { class: "flex items-center justify-between gap-2" }, Qe = "inline-flex min-h-7 cursor-pointer items-center gap-1 rounded-control bg-fill px-2.5 py-1 text-body text-content-muted hover:bg-fill-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-not-allowed disabled:opacity-45", Fo = /* @__PURE__ */ P({
1317
+ }), al = { class: "flex min-w-0 flex-wrap items-center gap-1.5 py-0.5" }, ll = { class: "truncate" }, ol = ["disabled", "aria-label", "onClick"], nl = ["id", "disabled", "aria-expanded", "aria-invalid", "aria-describedby", "aria-busy"], sl = ["id", "disabled", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], rl = { class: "max-h-72 overflow-y-auto" }, il = { class: "flex items-center justify-between gap-2" }, Xe = "inline-flex min-h-7 cursor-pointer items-center gap-1 rounded-control bg-fill px-2.5 py-1 text-body text-content-muted hover:bg-fill-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-not-allowed disabled:opacity-45", Do = /* @__PURE__ */ P({
1287
1318
  __name: "MultiSelectField",
1288
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
1319
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
1289
1320
  label: {},
1290
1321
  labelHidden: { type: Boolean },
1291
1322
  hint: {},
@@ -1300,114 +1331,114 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1300
1331
  selected: {},
1301
1332
  placeholder: {},
1302
1333
  searchFrom: {}
1303
- }, { ...ce, selected: () => [], placeholder: void 0, searchFrom: 9 }), {
1334
+ }, { ...me, selected: () => [], placeholder: void 0, searchFrom: 9 }), {
1304
1335
  modelValue: { default: () => [] },
1305
1336
  modelModifiers: {}
1306
1337
  }),
1307
1338
  emits: ["update:modelValue"],
1308
1339
  setup(o) {
1309
- const t = o, e = ne(o, "modelValue"), { t: l } = te(), n = Ne(), a = A("sheet"), u = N(!1), c = It(() => t.options, (r) => {
1310
- const d = e.value.filter((p) => r.some((B) => B.value === p));
1311
- d.length !== e.value.length && (e.value = d);
1312
- }), g = w(() => e.value.flatMap((r) => {
1313
- const d = c.known.value.find((p) => p.value === r) ?? t.selected.find((p) => p.value === r);
1314
- return d ? [d] : [];
1315
- })), k = w(() => t.placeholder ?? l("core.form.select.choose"));
1316
- function $(r) {
1317
- r !== null && (e.value = e.value.includes(r) ? e.value.filter((d) => d !== r) : [...e.value, r]);
1340
+ const t = o, e = ie(o, "modelValue"), { t: a } = oe(), n = Ne(), l = U("sheet"), u = N(!1), c = It(() => t.options, (r) => {
1341
+ const f = e.value.filter((g) => r.some((S) => S.value === g));
1342
+ f.length !== e.value.length && (e.value = f);
1343
+ }), b = k(() => e.value.flatMap((r) => {
1344
+ const f = c.known.value.find((g) => g.value === r) ?? t.selected.find((g) => g.value === r);
1345
+ return f ? [f] : [];
1346
+ })), h = k(() => t.placeholder ?? a("core.form.select.choose"));
1347
+ function w(r) {
1348
+ r !== null && (e.value = e.value.includes(r) ? e.value.filter((f) => f !== r) : [...e.value, r]);
1318
1349
  }
1319
- const y = (r) => e.value = e.value.filter((d) => d !== r);
1320
- return (r, d) => (i(), q(ye, X(s(de)(t), {
1321
- value: g.value.length ? g.value.map((p) => p.label).join(", ") : null,
1350
+ const x = (r) => e.value = e.value.filter((f) => f !== r);
1351
+ return (r, f) => (i(), O(ye, Q(s(fe)(t), {
1352
+ value: b.value.length ? b.value.map((g) => g.label).join(", ") : null,
1322
1353
  "row-layout": "stacked"
1323
- }), Q({
1324
- default: f(({ id: p, describedby: B, invalid: T }) => [
1325
- b("div", Xa, [
1326
- (i(!0), h(re, null, xe(g.value, (x) => (i(), h("span", {
1327
- key: String(x.value),
1354
+ }), ee({
1355
+ default: m(({ id: g, describedby: S, invalid: z }) => [
1356
+ p("div", al, [
1357
+ (i(!0), y(ue, null, xe(b.value, ($) => (i(), y("span", {
1358
+ key: String($.value),
1328
1359
  "data-test": "chip",
1329
1360
  class: "inline-flex min-h-7 max-w-full items-center gap-1 rounded-full bg-tint-soft pl-3 pr-1 text-subheadline font-medium text-content-link"
1330
1361
  }, [
1331
- b("span", Qa, C(x.label), 1),
1332
- b("button", {
1362
+ p("span", ll, _($.label), 1),
1363
+ p("button", {
1333
1364
  type: "button",
1334
1365
  disabled: t.disabled,
1335
- "aria-label": `${s(l)("core.form.select.clear")}: ${x.label}`,
1366
+ "aria-label": `${s(a)("core.form.select.clear")}: ${$.label}`,
1336
1367
  class: "flex size-5 shrink-0 cursor-pointer items-center justify-center rounded-full hover:bg-fill focus-visible:outline-2 focus-visible:outline-border-focus disabled:cursor-not-allowed",
1337
- onClick: (G) => y(x.value)
1368
+ onClick: (I) => x($.value)
1338
1369
  }, [
1339
- R(s(Z), {
1370
+ M(s(te), {
1340
1371
  name: "close",
1341
1372
  size: 12
1342
1373
  })
1343
- ], 8, Za)
1374
+ ], 8, ol)
1344
1375
  ]))), 128)),
1345
- s(n) ? (i(), h("button", {
1376
+ s(n) ? (i(), y("button", {
1346
1377
  key: 0,
1347
- id: p,
1378
+ id: g,
1348
1379
  type: "button",
1349
1380
  disabled: t.disabled,
1350
1381
  "aria-haspopup": "dialog",
1351
1382
  "aria-expanded": u.value,
1352
- "aria-invalid": T || void 0,
1353
- "aria-describedby": B,
1383
+ "aria-invalid": z || void 0,
1384
+ "aria-describedby": S,
1354
1385
  "aria-busy": s(c).loading.value || void 0,
1355
- class: E(Qe),
1356
- onClick: d[0] || (d[0] = (x) => a.value?.present())
1386
+ class: j(Xe),
1387
+ onClick: f[0] || (f[0] = ($) => l.value?.present())
1357
1388
  }, [
1358
- s(c).loading.value ? (i(), q(s(Z), {
1389
+ s(c).loading.value ? (i(), O(s(te), {
1359
1390
  key: 0,
1360
1391
  name: "loader4Line",
1361
1392
  size: 14,
1362
1393
  class: "shrink-0 animate-spin"
1363
- })) : z("", !0),
1364
- Y(" " + C(g.value.length ? s(l)("core.actions.edit") : k.value), 1)
1365
- ], 8, el)) : (i(), q(Pe, {
1394
+ })) : T("", !0),
1395
+ Y(" " + _(b.value.length ? s(a)("core.actions.edit") : h.value), 1)
1396
+ ], 8, nl)) : (i(), O(Pe, {
1366
1397
  key: 1,
1367
- label: t.label ?? k.value,
1368
- width: "md",
1398
+ label: t.label ?? h.value,
1399
+ width: "lg",
1369
1400
  "match-trigger-width": "",
1370
1401
  placement: "bottom-start",
1371
1402
  arrow: !1
1372
1403
  }, {
1373
- trigger: f(({ toggle: x, attrs: G }) => [
1374
- b("button", X({
1375
- id: p,
1404
+ trigger: m(({ toggle: $, attrs: I }) => [
1405
+ p("button", Q({
1406
+ id: g,
1376
1407
  type: "button"
1377
- }, G, {
1408
+ }, I, {
1378
1409
  "aria-haspopup": "listbox",
1379
1410
  disabled: t.disabled,
1380
- "aria-invalid": T || void 0,
1381
- "aria-describedby": B,
1411
+ "aria-invalid": z || void 0,
1412
+ "aria-describedby": S,
1382
1413
  "aria-busy": s(c).loading.value || void 0,
1383
- class: Qe,
1384
- onClick: x
1414
+ class: Xe,
1415
+ onClick: $
1385
1416
  }), [
1386
- s(c).loading.value ? (i(), q(s(Z), {
1417
+ s(c).loading.value ? (i(), O(s(te), {
1387
1418
  key: 0,
1388
1419
  name: "loader4Line",
1389
1420
  size: 14,
1390
1421
  class: "shrink-0 animate-spin"
1391
- })) : z("", !0),
1392
- Y(" " + C(g.value.length ? s(l)("core.actions.edit") : k.value), 1)
1393
- ], 16, tl)
1422
+ })) : T("", !0),
1423
+ Y(" " + _(b.value.length ? s(a)("core.actions.edit") : h.value), 1)
1424
+ ], 16, sl)
1394
1425
  ]),
1395
- default: f(() => [
1396
- b("div", al, [
1397
- R(We, {
1426
+ default: m(() => [
1427
+ p("div", rl, [
1428
+ M(We, {
1398
1429
  options: s(c).rows.value,
1399
1430
  status: s(c).status.value,
1400
1431
  "model-value": e.value,
1401
1432
  multiple: "",
1402
1433
  "search-from": t.searchFrom,
1403
1434
  presentation: "plain",
1404
- onSelect: $,
1405
- onRetry: d[1] || (d[1] = (x) => s(c).reload())
1406
- }, Q({ _: 2 }, [
1435
+ onSelect: w,
1436
+ onRetry: f[1] || (f[1] = ($) => s(c).reload())
1437
+ }, ee({ _: 2 }, [
1407
1438
  r.$slots.option ? {
1408
1439
  name: "option",
1409
- fn: f((x) => [
1410
- F(r.$slots, "option", Ve(qe(x)))
1440
+ fn: m(($) => [
1441
+ C(r.$slots, "option", Ve(qe($)))
1411
1442
  ]),
1412
1443
  key: "0"
1413
1444
  } : void 0
@@ -1417,88 +1448,88 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1417
1448
  _: 2
1418
1449
  }, 1032, ["label"]))
1419
1450
  ]),
1420
- s(n) ? (i(), q(Et, {
1451
+ s(n) ? (i(), O(Et, {
1421
1452
  key: 0,
1422
1453
  ref_key: "sheet",
1423
- ref: a,
1424
- title: t.label ?? k.value,
1454
+ ref: l,
1455
+ title: t.label ?? h.value,
1425
1456
  grouped: "",
1426
- onPresented: d[5] || (d[5] = (x) => u.value = !0),
1427
- onDismissed: d[6] || (d[6] = (x) => u.value = !1)
1457
+ onPresented: f[5] || (f[5] = ($) => u.value = !0),
1458
+ onDismissed: f[6] || (f[6] = ($) => u.value = !1)
1428
1459
  }, {
1429
- footer: f(() => [
1430
- b("div", ll, [
1431
- R(ge, {
1460
+ footer: m(() => [
1461
+ p("div", il, [
1462
+ M(ge, {
1432
1463
  prominence: "plain",
1433
1464
  disabled: e.value.length === 0,
1434
- onClick: d[3] || (d[3] = (x) => e.value = [])
1465
+ onClick: f[3] || (f[3] = ($) => e.value = [])
1435
1466
  }, {
1436
- default: f(() => [
1437
- Y(C(s(l)("core.form.select.clear")), 1)
1467
+ default: m(() => [
1468
+ Y(_(s(a)("core.form.select.clear")), 1)
1438
1469
  ]),
1439
1470
  _: 1
1440
1471
  }, 8, ["disabled"]),
1441
- R(ge, {
1472
+ M(ge, {
1442
1473
  prominence: "primary",
1443
- onClick: d[4] || (d[4] = (x) => a.value?.dismiss())
1474
+ onClick: f[4] || (f[4] = ($) => l.value?.dismiss())
1444
1475
  }, {
1445
- default: f(() => [
1446
- Y(C(s(l)("core.form.select.done")), 1)
1476
+ default: m(() => [
1477
+ Y(_(s(a)("core.form.select.done")), 1)
1447
1478
  ]),
1448
1479
  _: 1
1449
1480
  })
1450
1481
  ])
1451
1482
  ]),
1452
- default: f(() => [
1453
- R(We, {
1483
+ default: m(() => [
1484
+ M(We, {
1454
1485
  options: s(c).rows.value,
1455
1486
  status: s(c).status.value,
1456
1487
  "model-value": e.value,
1457
1488
  multiple: "",
1458
1489
  "search-from": t.searchFrom,
1459
- onSelect: $,
1460
- onRetry: d[2] || (d[2] = (x) => s(c).reload())
1461
- }, Q({ _: 2 }, [
1490
+ onSelect: w,
1491
+ onRetry: f[2] || (f[2] = ($) => s(c).reload())
1492
+ }, ee({ _: 2 }, [
1462
1493
  r.$slots.option ? {
1463
1494
  name: "option",
1464
- fn: f((x) => [
1465
- F(r.$slots, "option", Ve(qe(x)))
1495
+ fn: m(($) => [
1496
+ C(r.$slots, "option", Ve(qe($)))
1466
1497
  ]),
1467
1498
  key: "0"
1468
1499
  } : void 0
1469
1500
  ]), 1032, ["options", "status", "model-value", "search-from"])
1470
1501
  ]),
1471
1502
  _: 3
1472
- }, 8, ["title"])) : z("", !0)
1503
+ }, 8, ["title"])) : T("", !0)
1473
1504
  ]),
1474
1505
  _: 2
1475
1506
  }, [
1476
1507
  r.$slots.trailing ? {
1477
1508
  name: "trailing",
1478
- fn: f(() => [
1479
- F(r.$slots, "trailing")
1509
+ fn: m(() => [
1510
+ C(r.$slots, "trailing")
1480
1511
  ]),
1481
1512
  key: "0"
1482
1513
  } : void 0,
1483
1514
  r.$slots.labelTrailing ? {
1484
1515
  name: "labelTrailing",
1485
- fn: f(() => [
1486
- F(r.$slots, "labelTrailing")
1516
+ fn: m(() => [
1517
+ C(r.$slots, "labelTrailing")
1487
1518
  ]),
1488
1519
  key: "1"
1489
1520
  } : void 0,
1490
1521
  r.$slots.readonly ? {
1491
1522
  name: "readonly",
1492
- fn: f(() => [
1493
- F(r.$slots, "readonly")
1523
+ fn: m(() => [
1524
+ C(r.$slots, "readonly")
1494
1525
  ]),
1495
1526
  key: "2"
1496
1527
  } : void 0
1497
1528
  ]), 1040, ["value"]));
1498
1529
  }
1499
- }), ol = ["aria-label"], nl = ["src"], sl = { class: "flex flex-wrap items-center gap-3" }, rl = ["id", "accept", "disabled", "aria-describedby", "aria-invalid"], il = ["aria-label"], ul = ["src"], Bo = /* @__PURE__ */ P({
1530
+ }), ul = ["aria-label"], dl = ["src"], cl = { class: "flex flex-wrap items-center gap-3" }, fl = ["id", "accept", "disabled", "aria-describedby", "aria-invalid"], ml = ["aria-label"], vl = ["src"], Vo = /* @__PURE__ */ P({
1500
1531
  __name: "PhotoField",
1501
- props: /* @__PURE__ */ se(/* @__PURE__ */ ue({
1532
+ props: /* @__PURE__ */ se(/* @__PURE__ */ ce({
1502
1533
  label: {},
1503
1534
  labelHidden: { type: Boolean },
1504
1535
  hint: {},
@@ -1511,59 +1542,59 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1511
1542
  name: {},
1512
1543
  accept: {},
1513
1544
  maxSize: {}
1514
- }, { ...ce, accept: () => ["image/jpeg", "image/png", "image/webp", "image/gif"], maxSize: 5 * 1024 * 1024 }), {
1545
+ }, { ...me, accept: () => ["image/jpeg", "image/png", "image/webp", "image/gif"], maxSize: 5 * 1024 * 1024 }), {
1515
1546
  modelValue: { default: null },
1516
1547
  modelModifiers: {}
1517
1548
  }),
1518
1549
  emits: ["update:modelValue"],
1519
1550
  setup(o) {
1520
- const t = o, e = ne(o, "modelValue"), { t: l } = te(), n = A("chooser"), a = N(null), u = N(null);
1551
+ const t = o, e = ie(o, "modelValue"), { t: a } = oe(), n = U("chooser"), l = N(null), u = N(null);
1521
1552
  function c() {
1522
1553
  u.value && URL.revokeObjectURL(u.value), u.value = null;
1523
1554
  }
1524
- ie(
1555
+ de(
1525
1556
  e,
1526
1557
  (r) => {
1527
1558
  c(), r instanceof File && (u.value = URL.createObjectURL(r)), r === null && n.value && (n.value.value = "");
1528
1559
  },
1529
1560
  { immediate: !0 }
1530
1561
  ), Ee(c);
1531
- const g = w(() => e.value instanceof File ? u.value : e.value), k = A("viewer"), $ = w(() => g.value ? [{ src: g.value, alt: t.label ?? l("core.viewer.label"), downloadName: e.value instanceof File ? e.value.name : void 0 }] : []);
1532
- function y(r) {
1562
+ const b = k(() => e.value instanceof File ? u.value : e.value), h = U("viewer"), w = k(() => b.value ? [{ src: b.value, alt: t.label ?? a("core.viewer.label"), downloadName: e.value instanceof File ? e.value.name : void 0 }] : []);
1563
+ function x(r) {
1533
1564
  if (!r) return;
1534
- const d = nt(r, { accept: t.accept, maxSize: t.maxSize });
1535
- d ? a.value = d === "invalid_type" ? l("core.form.file.invalid_type") : l("core.form.file.too_large", { size: Be(t.maxSize) }) : (a.value = null, e.value = r);
1565
+ const f = nt(r, { accept: t.accept, maxSize: t.maxSize });
1566
+ f ? l.value = f === "invalid_type" ? a("core.form.file.invalid_type") : a("core.form.file.too_large", { size: Be(t.maxSize) }) : (l.value = null, e.value = r);
1536
1567
  }
1537
- return (r, d) => (i(), q(ye, X({ ...s(de)(t), error: a.value ?? t.error }, {
1538
- value: g.value ? s(l)("core.form.file.choose") : null,
1568
+ return (r, f) => (i(), O(ye, Q({ ...s(fe)(t), error: l.value ?? t.error }, {
1569
+ value: b.value ? s(a)("core.form.file.choose") : null,
1539
1570
  "row-layout": "stacked"
1540
- }), Q({
1541
- readonly: f(() => [
1542
- g.value ? (i(), h("button", {
1571
+ }), ee({
1572
+ readonly: m(() => [
1573
+ b.value ? (i(), y("button", {
1543
1574
  key: 0,
1544
1575
  type: "button",
1545
- "aria-label": s(l)("core.viewer.open"),
1576
+ "aria-label": s(a)("core.viewer.open"),
1546
1577
  "data-test": "photo-open",
1547
1578
  class: "block cursor-zoom-in rounded-group focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
1548
- onClick: d[0] || (d[0] = (p) => k.value?.present(0))
1579
+ onClick: f[0] || (f[0] = (g) => h.value?.present(0))
1549
1580
  }, [
1550
- b("img", {
1551
- src: g.value,
1581
+ p("img", {
1582
+ src: b.value,
1552
1583
  alt: "",
1553
1584
  class: "size-40 rounded-group object-cover"
1554
- }, null, 8, nl)
1555
- ], 8, ol)) : z("", !0),
1556
- g.value ? (i(), q(Je, {
1585
+ }, null, 8, dl)
1586
+ ], 8, ul)) : T("", !0),
1587
+ b.value ? (i(), O(Je, {
1557
1588
  key: 1,
1558
1589
  ref_key: "viewer",
1559
- ref: k,
1560
- items: $.value
1561
- }, null, 8, ["items"])) : z("", !0)
1590
+ ref: h,
1591
+ items: w.value
1592
+ }, null, 8, ["items"])) : T("", !0)
1562
1593
  ]),
1563
- default: f(({ id: p, describedby: B, invalid: T }) => [
1564
- b("div", sl, [
1565
- b("input", {
1566
- id: p,
1594
+ default: m(({ id: g, describedby: S, invalid: z }) => [
1595
+ p("div", cl, [
1596
+ p("input", {
1597
+ id: g,
1567
1598
  ref_key: "chooser",
1568
1599
  ref: n,
1569
1600
  type: "file",
@@ -1571,75 +1602,75 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1571
1602
  tabindex: "-1",
1572
1603
  accept: t.accept.join(","),
1573
1604
  disabled: t.disabled,
1574
- "aria-describedby": B,
1575
- "aria-invalid": T || void 0,
1576
- onChange: d[1] || (d[1] = (x) => y(x.target.files?.[0]))
1577
- }, null, 40, rl),
1578
- g.value ? (i(), h("button", {
1605
+ "aria-describedby": S,
1606
+ "aria-invalid": z || void 0,
1607
+ onChange: f[1] || (f[1] = ($) => x($.target.files?.[0]))
1608
+ }, null, 40, fl),
1609
+ b.value ? (i(), y("button", {
1579
1610
  key: 0,
1580
1611
  type: "button",
1581
- "aria-label": s(l)("core.viewer.open"),
1612
+ "aria-label": s(a)("core.viewer.open"),
1582
1613
  "data-test": "photo-open",
1583
1614
  class: "block cursor-zoom-in rounded-group focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
1584
- onClick: d[2] || (d[2] = (x) => k.value?.present(0))
1615
+ onClick: f[2] || (f[2] = ($) => h.value?.present(0))
1585
1616
  }, [
1586
- b("img", {
1587
- src: g.value,
1617
+ p("img", {
1618
+ src: b.value,
1588
1619
  alt: "",
1589
1620
  "data-test": "photo-preview",
1590
1621
  class: "size-28 rounded-group object-cover"
1591
- }, null, 8, ul)
1592
- ], 8, il)) : z("", !0),
1593
- R(ge, {
1622
+ }, null, 8, vl)
1623
+ ], 8, ml)) : T("", !0),
1624
+ M(ge, {
1594
1625
  disabled: t.disabled,
1595
- onClick: d[3] || (d[3] = (x) => n.value?.click())
1626
+ onClick: f[3] || (f[3] = ($) => n.value?.click())
1596
1627
  }, {
1597
- default: f(() => [
1598
- Y(C(s(l)("core.form.file.choose")), 1)
1628
+ default: m(() => [
1629
+ Y(_(s(a)("core.form.file.choose")), 1)
1599
1630
  ]),
1600
1631
  _: 1
1601
1632
  }, 8, ["disabled"]),
1602
- g.value ? (i(), q(ge, {
1633
+ b.value ? (i(), O(ge, {
1603
1634
  key: 1,
1604
1635
  prominence: "plain",
1605
1636
  tone: "critical",
1606
1637
  disabled: t.disabled,
1607
- onClick: d[4] || (d[4] = (x) => {
1608
- e.value = null, a.value = null;
1638
+ onClick: f[4] || (f[4] = ($) => {
1639
+ e.value = null, l.value = null;
1609
1640
  })
1610
1641
  }, {
1611
- default: f(() => [
1612
- Y(C(s(l)("core.form.file.remove")), 1)
1642
+ default: m(() => [
1643
+ Y(_(s(a)("core.form.file.remove")), 1)
1613
1644
  ]),
1614
1645
  _: 1
1615
- }, 8, ["disabled"])) : z("", !0)
1646
+ }, 8, ["disabled"])) : T("", !0)
1616
1647
  ]),
1617
- g.value ? (i(), q(Je, {
1648
+ b.value ? (i(), O(Je, {
1618
1649
  key: 0,
1619
1650
  ref_key: "viewer",
1620
- ref: k,
1621
- items: $.value
1622
- }, null, 8, ["items"])) : z("", !0)
1651
+ ref: h,
1652
+ items: w.value
1653
+ }, null, 8, ["items"])) : T("", !0)
1623
1654
  ]),
1624
1655
  _: 2
1625
1656
  }, [
1626
1657
  r.$slots.trailing ? {
1627
1658
  name: "trailing",
1628
- fn: f(() => [
1629
- F(r.$slots, "trailing")
1659
+ fn: m(() => [
1660
+ C(r.$slots, "trailing")
1630
1661
  ]),
1631
1662
  key: "0"
1632
1663
  } : void 0,
1633
1664
  r.$slots.labelTrailing ? {
1634
1665
  name: "labelTrailing",
1635
- fn: f(() => [
1636
- F(r.$slots, "labelTrailing")
1666
+ fn: m(() => [
1667
+ C(r.$slots, "labelTrailing")
1637
1668
  ]),
1638
1669
  key: "1"
1639
1670
  } : void 0
1640
1671
  ]), 1040, ["value"]));
1641
1672
  }
1642
- }), dl = { class: "text-footnote" }, cl = { class: "text-footnote" }, Lo = /* @__PURE__ */ P({
1673
+ }), pl = { class: "text-footnote" }, bl = { class: "text-footnote" }, qo = /* @__PURE__ */ P({
1643
1674
  __name: "GroupSheet",
1644
1675
  props: {
1645
1676
  sheet: {},
@@ -1652,72 +1683,72 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1652
1683
  },
1653
1684
  emits: ["saved"],
1654
1685
  setup(o, { emit: t }) {
1655
- const e = o, l = t, { t: n } = te(), a = A("modal"), u = A("body"), c = N(!1);
1656
- let g = null;
1657
- ie(() => e.sheet.open.value, (y) => {
1658
- y ? (c.value = !1, a.value?.present()) : a.value?.dismiss();
1686
+ const e = o, a = t, { t: n } = oe(), l = U("modal"), u = U("body"), c = N(!1);
1687
+ let b = null;
1688
+ de(() => e.sheet.open.value, (x) => {
1689
+ x ? (c.value = !1, l.value?.present()) : l.value?.dismiss();
1659
1690
  }), rt(() => {
1660
- e.sheet.open.value && a.value?.present();
1691
+ e.sheet.open.value && l.value?.present();
1661
1692
  }), Ee(() => {
1662
- g && clearTimeout(g);
1693
+ b && clearTimeout(b);
1663
1694
  });
1664
- async function k() {
1665
- await e.sheet.save() && (c.value = !0, l("saved"), g = setTimeout(() => e.sheet.dismiss(), Nt));
1695
+ async function h() {
1696
+ await e.sheet.save() && (c.value = !0, a("saved"), b = setTimeout(() => e.sheet.dismiss(), Nt));
1666
1697
  }
1667
- const $ = w(() => e.sheet.saving.value ? "processing" : c.value ? "done" : "idle");
1668
- return (y, r) => (i(), q(Gt, {
1698
+ const w = k(() => e.sheet.saving.value ? "processing" : c.value ? "done" : "idle");
1699
+ return (x, r) => (i(), O(Gt, {
1669
1700
  ref_key: "modal",
1670
- ref: a,
1701
+ ref: l,
1671
1702
  size: e.size,
1672
1703
  grouped: "",
1673
1704
  title: e.title,
1674
1705
  subtitle: e.subtitle,
1675
1706
  "before-dismiss": e.sheet.beforeDismiss,
1676
1707
  "primary-label": e.editable ? s(n)("core.actions.save") : void 0,
1677
- status: $.value,
1708
+ status: w.value,
1678
1709
  "processing-label": s(n)("core.actions.saving"),
1679
1710
  "done-label": s(n)("core.actions.saved"),
1680
- onPrimary: k,
1681
- onDismissed: r[0] || (r[0] = (d) => e.sheet.closed())
1711
+ onPrimary: h,
1712
+ onDismissed: r[0] || (r[0] = (f) => e.sheet.closed())
1682
1713
  }, {
1683
- default: f(() => [
1684
- b("div", {
1714
+ default: m(() => [
1715
+ p("div", {
1685
1716
  ref_key: "body",
1686
1717
  ref: u,
1687
1718
  class: "flex min-w-0 flex-col gap-group-gap"
1688
1719
  }, [
1689
- e.sheet.notice.value ? (i(), q(Xe, {
1720
+ e.sheet.notice.value ? (i(), O(Ze, {
1690
1721
  key: 0,
1691
1722
  tone: "warning",
1692
1723
  "data-test": "group-sheet-notice"
1693
1724
  }, {
1694
- default: f(() => [
1695
- b("p", dl, C(e.sheet.notice.value), 1)
1725
+ default: m(() => [
1726
+ p("p", pl, _(e.sheet.notice.value), 1)
1696
1727
  ]),
1697
1728
  _: 1
1698
- })) : z("", !0),
1699
- e.sheet.foreignGroups.value.length ? (i(), q(Xe, {
1729
+ })) : T("", !0),
1730
+ e.sheet.foreignGroups.value.length ? (i(), O(Ze, {
1700
1731
  key: 1,
1701
1732
  tone: "warning",
1702
1733
  "data-test": "group-sheet-foreign"
1703
1734
  }, {
1704
- default: f(() => [
1705
- b("p", cl, C(s(n)("core.form.group.foreign", { groups: e.sheet.foreignGroups.value.map(e.groupLabel).join(", ") })), 1)
1735
+ default: m(() => [
1736
+ p("p", bl, _(s(n)("core.form.group.foreign", { groups: e.sheet.foreignGroups.value.map(e.groupLabel).join(", ") })), 1)
1706
1737
  ]),
1707
1738
  _: 1
1708
- })) : z("", !0),
1709
- R(Oe, {
1739
+ })) : T("", !0),
1740
+ M(Me, {
1710
1741
  form: e.sheet.form,
1711
1742
  label: e.fieldLabel,
1712
1743
  scope: u.value
1713
1744
  }, null, 8, ["form", "label", "scope"]),
1714
- F(y.$slots, "default")
1745
+ C(x.$slots, "default")
1715
1746
  ], 512)
1716
1747
  ]),
1717
1748
  _: 3
1718
1749
  }, 8, ["size", "title", "subtitle", "before-dismiss", "primary-label", "status", "processing-label", "done-label"]));
1719
1750
  }
1720
- }), fl = ["data-group"], To = /* @__PURE__ */ P({
1751
+ }), gl = ["data-group"], Ro = /* @__PURE__ */ P({
1721
1752
  __name: "RecordGroupScope",
1722
1753
  props: {
1723
1754
  only: {},
@@ -1725,123 +1756,123 @@ const qa = ["id", "aria-labelledby"], Ra = ["id", "value", "lang", "name", "rows
1725
1756
  },
1726
1757
  setup(o) {
1727
1758
  const t = o;
1728
- return Re(Rt, { only: it(t, "only") }), Re(bt, w(() => t.editable)), (e, l) => (i(), h("div", {
1759
+ return Re(Rt, { only: it(t, "only") }), Re(bt, k(() => t.editable)), (e, a) => (i(), y("div", {
1729
1760
  class: "flex min-w-0 flex-col gap-group-gap",
1730
1761
  "data-test": "record-group-scope",
1731
1762
  "data-group": t.only
1732
1763
  }, [
1733
- F(e.$slots, "default")
1734
- ], 8, fl));
1764
+ C(e.$slots, "default")
1765
+ ], 8, gl));
1735
1766
  }
1736
1767
  });
1737
- function Do(o) {
1768
+ function Oo(o) {
1738
1769
  const { form: t } = o;
1739
1770
  if (o.rebase && !t.rebase) throw new Error("useGroupSheet: `rebase` needs a record form (useResourceForm), which can take the freshly read record as its base.");
1740
- const e = () => typeof o.fields == "function" ? o.fields() : o.fields, l = () => Me(o.restore) ?? e(), n = N(!1), a = N(!1), u = N([]), c = N(null), g = Le({});
1741
- let k = {};
1742
- const $ = (S) => Object.fromEntries(S.map((O) => [O, Se(t.values[O])])), y = w(() => n.value && !He($(l()), g.value)), { confirmDiscard: r } = Ie(() => y.value);
1743
- function d() {
1744
- k = $(l()), g.value = Se(k);
1771
+ const e = () => typeof o.fields == "function" ? o.fields() : o.fields, a = () => Oe(o.restore) ?? e(), n = N(!1), l = N(!1), u = N([]), c = N(null), b = Le({});
1772
+ let h = {};
1773
+ const w = (F) => Object.fromEntries(F.map((E) => [E, Se(t.values[E])])), x = k(() => n.value && !He(w(a()), b.value)), { confirmDiscard: r } = Ie(() => x.value);
1774
+ function f() {
1775
+ h = w(a()), b.value = Se(h);
1745
1776
  }
1746
- function p() {
1747
- d(), u.value = [], c.value = null, t.dismissFailure(), n.value = !0;
1777
+ function g() {
1778
+ f(), u.value = [], c.value = null, t.dismissFailure(), n.value = !0;
1748
1779
  }
1749
- function B() {
1780
+ function S() {
1750
1781
  if (n.value) {
1751
- y.value && Object.assign(t.values, Se(k));
1752
- for (const S of e()) t.errors.clear(S);
1782
+ x.value && Object.assign(t.values, Se(h));
1783
+ for (const F of e()) t.errors.clear(F);
1753
1784
  t.dismissFailure(), n.value = !1;
1754
1785
  }
1755
1786
  }
1756
- function T(S) {
1757
- const O = new Set(e()), I = Me(o.group), H = /* @__PURE__ */ new Set();
1758
- for (const ae of Object.keys(S.all())) {
1759
- const le = et(ae);
1760
- if (O.has(le)) continue;
1761
- const ee = o.groupOf?.(le) ?? o.fallbackGroup;
1762
- ee && ee !== I && H.add(ee);
1787
+ function z(F) {
1788
+ const E = new Set(e()), R = Oe(o.group), Z = /* @__PURE__ */ new Set();
1789
+ for (const W of Object.keys(F.all())) {
1790
+ const J = et(W);
1791
+ if (E.has(J)) continue;
1792
+ const ae = o.groupOf?.(J) ?? o.fallbackGroup;
1793
+ ae && ae !== R && Z.add(ae);
1763
1794
  }
1764
- u.value = [...H];
1795
+ u.value = [...Z];
1765
1796
  }
1766
- async function x(S) {
1767
- const O = Se($(e().filter((I) => !He(t.values[I], g.value[I]))));
1797
+ async function $(F) {
1798
+ const E = Se(w(e().filter((R) => !He(t.values[R], b.value[R]))));
1768
1799
  try {
1769
- await S.reload();
1800
+ await F.reload();
1770
1801
  } catch {
1771
1802
  return;
1772
1803
  }
1773
- t.rebase?.() && (d(), Object.assign(t.values, O), c.value = S.message());
1804
+ t.rebase?.() && (f(), Object.assign(t.values, E), c.value = F.message());
1774
1805
  }
1775
- async function G() {
1776
- if (a.value) return !1;
1777
- a.value = !0, u.value = [], c.value = null;
1806
+ async function I() {
1807
+ if (l.value) return !1;
1808
+ l.value = !0, u.value = [], c.value = null;
1778
1809
  try {
1779
- const S = o.onSaved ? () => o.onSaved?.() : void 0;
1780
- let O;
1781
- if (o.save) O = await t.submitFields(e(), o.save, { refresh: S });
1782
- else if (t.save) O = await t.save({ refresh: S });
1810
+ const F = o.onSaved ? () => o.onSaved?.() : void 0;
1811
+ let E;
1812
+ if (o.save) E = await t.submitFields(e(), o.save, { refresh: F });
1813
+ else if (t.save) E = await t.save({ refresh: F });
1783
1814
  else throw new Error("useGroupSheet: the form has no full-record save(), so give the sheet its own `save` for a dedicated endpoint.");
1784
- switch (O.status) {
1815
+ switch (E.status) {
1785
1816
  case "saved":
1786
- return d(), !0;
1817
+ return f(), !0;
1787
1818
  case "saved-refresh-failed":
1788
- return d(), Pt.warning(t.failure.value?.message ?? ""), !0;
1819
+ return f(), Pt.warning(t.failure.value?.message ?? ""), !0;
1789
1820
  case "aborted":
1790
1821
  return !1;
1791
1822
  case "failed":
1792
- return O.failure.kind === "conflict" && o.rebase ? await x(o.rebase) : T(t.errors), !1;
1823
+ return E.failure.kind === "conflict" && o.rebase ? await $(o.rebase) : z(t.errors), !1;
1793
1824
  }
1794
1825
  } finally {
1795
- a.value = !1;
1826
+ l.value = !1;
1796
1827
  }
1797
1828
  }
1798
1829
  return {
1799
1830
  open: n,
1800
- saving: a,
1801
- dirty: y,
1831
+ saving: l,
1832
+ dirty: x,
1802
1833
  foreignGroups: u,
1803
1834
  notice: c,
1804
1835
  failure: t.failure,
1805
1836
  form: t,
1806
- present: p,
1837
+ present: g,
1807
1838
  dismiss: () => {
1808
1839
  n.value = !1;
1809
1840
  },
1810
- save: G,
1841
+ save: I,
1811
1842
  beforeDismiss: r,
1812
- closed: B
1843
+ closed: S
1813
1844
  };
1814
1845
  }
1815
- const ml = { hidden: "" }, vl = /* @__PURE__ */ P({
1846
+ const yl = { hidden: "" }, hl = /* @__PURE__ */ P({
1816
1847
  __name: "EditorChrome",
1817
1848
  props: {
1818
1849
  options: {}
1819
1850
  },
1820
1851
  setup(o) {
1821
- return Yt(o.options), (e, l) => (i(), h("span", ml));
1852
+ return Yt(o.options), (e, a) => (i(), y("span", yl));
1822
1853
  }
1823
1854
  });
1824
- function pl(o) {
1855
+ function kl(o) {
1825
1856
  const t = N(0);
1826
1857
  let e = 0;
1827
- const l = () => {
1858
+ const a = () => {
1828
1859
  e || (e = requestAnimationFrame(() => {
1829
1860
  e = 0, t.value++;
1830
1861
  }));
1831
- }, n = typeof MutationObserver > "u" ? null : new MutationObserver(l);
1832
- ie(
1862
+ }, n = typeof MutationObserver > "u" ? null : new MutationObserver(a);
1863
+ de(
1833
1864
  () => o.sections.value,
1834
1865
  (c) => {
1835
1866
  n?.disconnect();
1836
- for (const g of c)
1837
- n?.observe(g.element, { subtree: !0, childList: !0, attributes: !0, attributeFilter: ["data-field-error", "data-field-required", "data-field-filled"] });
1838
- l();
1867
+ for (const b of c)
1868
+ n?.observe(b.element, { subtree: !0, childList: !0, attributes: !0, attributeFilter: ["data-field-error", "data-field-required", "data-field-filled"] });
1869
+ a();
1839
1870
  },
1840
1871
  { immediate: !0 }
1841
1872
  ), ut() && dt(() => {
1842
1873
  n?.disconnect(), e && cancelAnimationFrame(e);
1843
1874
  });
1844
- const a = w(() => (t.value, Object.fromEntries(
1875
+ const l = k(() => (t.value, Object.fromEntries(
1845
1876
  o.sections.value.map((c) => [
1846
1877
  c.id,
1847
1878
  {
@@ -1849,16 +1880,16 @@ function pl(o) {
1849
1880
  required: { total: c.element.querySelectorAll("[data-field-required]").length, filled: c.element.querySelectorAll("[data-field-required][data-field-filled]").length }
1850
1881
  }
1851
1882
  ])
1852
- ))), u = w(() => Object.values(a.value).reduce((c, g) => ({ filled: c.filled + g.required.filled, total: c.total + g.required.total }), { filled: 0, total: 0 }));
1853
- return { states: a, totals: u };
1883
+ ))), u = k(() => Object.values(l.value).reduce((c, b) => ({ filled: c.filled + b.required.filled, total: c.total + b.required.total }), { filled: 0, total: 0 }));
1884
+ return { states: l, totals: u };
1854
1885
  }
1855
- const bl = {
1886
+ const xl = {
1856
1887
  class: "grid min-w-0 grid-cols-1 items-start gap-8 lg:grid-cols-[12.5rem_minmax(0,1fr)]",
1857
1888
  "data-test": "editor-page"
1858
- }, gl = {
1889
+ }, wl = {
1859
1890
  key: 0,
1860
1891
  class: "sticky top-[calc(var(--app-bar-height)+1.5rem+var(--shell-banner-h,0px))] hidden min-w-0 flex-col gap-4 self-start lg:flex"
1861
- }, zo = /* @__PURE__ */ P({
1892
+ }, Mo = /* @__PURE__ */ P({
1862
1893
  __name: "EditorPage",
1863
1894
  props: {
1864
1895
  title: {},
@@ -1870,7 +1901,7 @@ const bl = {
1870
1901
  },
1871
1902
  emits: ["save", "cancel"],
1872
1903
  setup(o, { emit: t }) {
1873
- const e = o, l = t, { t: n } = te(), a = Ne(), u = Ut(), { states: c, totals: g } = pl(u), k = A("content"), $ = w(
1904
+ const e = o, a = t, { t: n } = oe(), l = Ne(), u = Ut(), { states: c, totals: b } = kl(u), h = U("content"), w = k(
1874
1905
  () => e.form ? {
1875
1906
  form: e.form,
1876
1907
  label: () => e.saveLabel ?? n("core.actions.save"),
@@ -1878,121 +1909,121 @@ const bl = {
1878
1909
  disabledWhileClean: !1,
1879
1910
  // a create page: an untouched form is submitted to learn what is missing
1880
1911
  save: () => {
1881
- e.form?.submitting.value || l("save");
1912
+ e.form?.submitting.value || a("save");
1882
1913
  },
1883
1914
  cancel: () => {
1884
- e.form?.reset(), l("cancel");
1915
+ e.form?.reset(), a("cancel");
1885
1916
  }
1886
1917
  } : null
1887
1918
  );
1888
- ie(
1919
+ de(
1889
1920
  () => e.form?.failure.value,
1890
1921
  async (r) => {
1891
- r?.kind === "invalid" && (await ke(), await ze(k.value ?? document, u));
1922
+ r?.kind === "invalid" && (await he(), await De(h.value ?? document, u));
1892
1923
  }
1893
1924
  );
1894
- function y(r) {
1895
- const d = u.sections.value.find((p) => p.id === r)?.element;
1896
- d && ke(() => ze(d));
1925
+ function x(r) {
1926
+ const f = u.sections.value.find((g) => g.id === r)?.element;
1927
+ f && he(() => De(f));
1897
1928
  }
1898
- return (r, d) => (i(), q(Kt, {
1929
+ return (r, f) => (i(), O(Kt, {
1899
1930
  title: e.title,
1900
1931
  back: e.back,
1901
1932
  width: "content"
1902
- }, Q({
1903
- default: f(() => [
1904
- $.value ? (i(), q(vl, {
1933
+ }, ee({
1934
+ default: m(() => [
1935
+ w.value ? (i(), O(hl, {
1905
1936
  key: 0,
1906
- options: $.value
1907
- }, null, 8, ["options"])) : z("", !0),
1908
- b("div", bl, [
1909
- s(a) ? z("", !0) : (i(), h("aside", gl, [
1910
- R(At, {
1937
+ options: w.value
1938
+ }, null, 8, ["options"])) : T("", !0),
1939
+ p("div", xl, [
1940
+ s(l) ? T("", !0) : (i(), y("aside", wl, [
1941
+ M(At, {
1911
1942
  standalone: "",
1912
1943
  states: s(c),
1913
- progress: s(g),
1914
- onSelect: y
1944
+ progress: s(b),
1945
+ onSelect: x
1915
1946
  }, null, 8, ["states", "progress"]),
1916
- F(r.$slots, "aside")
1947
+ C(r.$slots, "aside")
1917
1948
  ])),
1918
- b("div", {
1949
+ p("div", {
1919
1950
  ref_key: "content",
1920
- ref: k,
1951
+ ref: h,
1921
1952
  class: "flex min-w-0 flex-col gap-section-gap"
1922
1953
  }, [
1923
- e.form ? (i(), q(Oe, {
1954
+ e.form ? (i(), O(Me, {
1924
1955
  key: 0,
1925
1956
  form: e.form,
1926
1957
  label: e.fieldLabel,
1927
- scope: k.value
1928
- }, null, 8, ["form", "label", "scope"])) : z("", !0),
1929
- F(r.$slots, "default")
1958
+ scope: h.value
1959
+ }, null, 8, ["form", "label", "scope"])) : T("", !0),
1960
+ C(r.$slots, "default")
1930
1961
  ], 512)
1931
1962
  ]),
1932
- s(a) ? (i(), q(Ht, {
1963
+ s(l) ? (i(), O(Ht, {
1933
1964
  key: 1,
1934
1965
  states: s(c)
1935
- }, null, 8, ["states"])) : z("", !0)
1966
+ }, null, 8, ["states"])) : T("", !0)
1936
1967
  ]),
1937
1968
  _: 2
1938
1969
  }, [
1939
1970
  r.$slots.header ? {
1940
1971
  name: "header",
1941
- fn: f(() => [
1942
- F(r.$slots, "header")
1972
+ fn: m(() => [
1973
+ C(r.$slots, "header")
1943
1974
  ]),
1944
1975
  key: "0"
1945
1976
  } : void 0,
1946
1977
  r.$slots.pager ? {
1947
1978
  name: "pager",
1948
- fn: f(() => [
1949
- F(r.$slots, "pager")
1979
+ fn: m(() => [
1980
+ C(r.$slots, "pager")
1950
1981
  ]),
1951
1982
  key: "1"
1952
1983
  } : void 0,
1953
1984
  r.$slots.notices ? {
1954
1985
  name: "notices",
1955
- fn: f(() => [
1956
- F(r.$slots, "notices")
1986
+ fn: m(() => [
1987
+ C(r.$slots, "notices")
1957
1988
  ]),
1958
1989
  key: "2"
1959
1990
  } : void 0,
1960
1991
  r.$slots.bottom ? {
1961
1992
  name: "bottom",
1962
- fn: f(() => [
1963
- F(r.$slots, "bottom")
1993
+ fn: m(() => [
1994
+ C(r.$slots, "bottom")
1964
1995
  ]),
1965
1996
  key: "3"
1966
1997
  } : void 0
1967
1998
  ]), 1032, ["title", "back"]));
1968
1999
  }
1969
2000
  });
1970
- function Vo(o) {
2001
+ function jo(o) {
1971
2002
  const t = Le(null);
1972
2003
  let e = null;
1973
- const l = st({
2004
+ const a = st({
1974
2005
  ...o,
1975
2006
  done: o.done ? (n) => o.done?.(n, { editing: e }) : void 0,
1976
- run(n, a) {
2007
+ run(n, l) {
1977
2008
  const u = e = t.value;
1978
- if (u === null) return o.create(n, a);
2009
+ if (u === null) return o.create(n, l);
1979
2010
  if (!o.update) throw new Error("useRecordDialog: edit() needs an `update`.");
1980
- return o.update(u, n, a);
2011
+ return o.update(u, n, l);
1981
2012
  }
1982
2013
  });
1983
2014
  return {
1984
- command: l,
1985
- form: l.form,
2015
+ command: a,
2016
+ form: a.form,
1986
2017
  editing: t,
1987
2018
  create() {
1988
- t.value = null, l.present();
2019
+ t.value = null, a.present();
1989
2020
  },
1990
2021
  edit(n) {
1991
- t.value = n, l.present(o.toValues?.(n));
2022
+ t.value = n, a.present(o.toValues?.(n));
1992
2023
  }
1993
2024
  };
1994
2025
  }
1995
- const yl = ["value", "aria-label", "disabled", "aria-invalid", "placeholder"], qo = /* @__PURE__ */ P({
2026
+ const $l = ["value", "aria-label", "disabled", "aria-invalid", "placeholder"], Eo = /* @__PURE__ */ P({
1996
2027
  __name: "NumberCell",
1997
2028
  props: /* @__PURE__ */ se({
1998
2029
  label: {},
@@ -2008,13 +2039,13 @@ const yl = ["value", "aria-label", "disabled", "aria-invalid", "placeholder"], q
2008
2039
  }),
2009
2040
  emits: ["update:modelValue"],
2010
2041
  setup(o) {
2011
- const t = o, e = ne(o, "modelValue");
2012
- function l(a) {
2013
- const u = a.target.value.replace(/\D/g, "");
2042
+ const t = o, e = ie(o, "modelValue");
2043
+ function a(l) {
2044
+ const u = l.target.value.replace(/\D/g, "");
2014
2045
  e.value = u === "" ? null : Math.min(t.max, Math.max(t.min, Number(u)));
2015
2046
  }
2016
- const n = (a) => a.target.value = e.value === null ? "" : String(e.value);
2017
- return (a, u) => (i(), h("input", {
2047
+ const n = (l) => l.target.value = e.value === null ? "" : String(e.value);
2048
+ return (l, u) => (i(), y("input", {
2018
2049
  value: e.value ?? "",
2019
2050
  type: "text",
2020
2051
  inputmode: "numeric",
@@ -2023,10 +2054,10 @@ const yl = ["value", "aria-label", "disabled", "aria-invalid", "placeholder"], q
2023
2054
  disabled: t.disabled,
2024
2055
  "aria-invalid": t.invalid || void 0,
2025
2056
  placeholder: t.placeholder,
2026
- class: E(["rounded-control bg-fill px-2 py-1 text-right text-body tabular-nums text-content-strong transition-[background-color,box-shadow] duration-motion-fast ease-motion-standard placeholder:text-content-disabled focus:bg-surface-cell focus:outline-none focus:ring-[1.5px] focus:ring-inset focus:ring-border-focus disabled:opacity-45", [t.wide ? "w-28" : "w-16", t.invalid ? "bg-status-danger-surface ring-[1.5px] ring-inset ring-border-destructive" : ""]]),
2027
- onInput: l,
2057
+ class: j(["rounded-control bg-fill px-2 py-1 text-right text-body tabular-nums text-content-strong transition-[background-color,box-shadow] duration-motion-fast ease-motion-standard placeholder:text-content-disabled focus:bg-surface-cell focus:outline-none focus:ring-[1.5px] focus:ring-inset focus:ring-border-focus disabled:opacity-45", [t.wide ? "w-28" : "w-16", t.invalid ? "bg-status-danger-surface ring-[1.5px] ring-inset ring-border-destructive" : ""]]),
2058
+ onInput: a,
2028
2059
  onBlur: n
2029
- }, null, 42, yl));
2060
+ }, null, 42, $l));
2030
2061
  }
2031
2062
  }), Ke = "vue-core:step-draft:";
2032
2063
  function Ae(o) {
@@ -2036,7 +2067,7 @@ function Ae(o) {
2036
2067
  return null;
2037
2068
  }
2038
2069
  }
2039
- function hl(o) {
2070
+ function _l(o) {
2040
2071
  try {
2041
2072
  const t = Ae(o)?.getItem(Ke + o.key);
2042
2073
  if (!t) return null;
@@ -2046,308 +2077,308 @@ function hl(o) {
2046
2077
  return null;
2047
2078
  }
2048
2079
  }
2049
- function kl(o, t) {
2080
+ function Sl(o, t) {
2050
2081
  try {
2051
2082
  const e = Ae(o);
2052
2083
  if (!e) return !1;
2053
- const l = (n, a) => typeof Blob < "u" && a instanceof Blob ? null : a;
2054
- return e.setItem(Ke + o.key, JSON.stringify({ version: o.version ?? 1, ...t }, l)), !0;
2084
+ const a = (n, l) => typeof Blob < "u" && l instanceof Blob ? null : l;
2085
+ return e.setItem(Ke + o.key, JSON.stringify({ version: o.version ?? 1, ...t }, a)), !0;
2055
2086
  } catch {
2056
2087
  return !1;
2057
2088
  }
2058
2089
  }
2059
- function Ze(o) {
2090
+ function Qe(o) {
2060
2091
  try {
2061
2092
  Ae(o)?.removeItem(Ke + o.key);
2062
2093
  } catch {
2063
2094
  }
2064
2095
  }
2065
- function xl(o, t) {
2066
- for (const [e, l] of Object.entries(o)) {
2096
+ function Cl(o, t) {
2097
+ for (const [e, a] of Object.entries(o)) {
2067
2098
  if (!(e in t)) continue;
2068
2099
  const n = t[e];
2069
- (n === null || l === null || l === void 0 || typeof n == typeof l && Array.isArray(n) === Array.isArray(l)) && (o[e] = n);
2100
+ (n === null || a === null || a === void 0 || typeof n == typeof a && Array.isArray(n) === Array.isArray(a)) && (o[e] = n);
2070
2101
  }
2071
2102
  }
2072
- function Ro(o, t) {
2073
- const { t: e } = te(), l = w(() => Me(t.steps));
2074
- if (l.value.length === 0) throw new Error("useStepForm: a flow needs at least one step.");
2075
- const n = N(l.value[0].name), a = Ue(/* @__PURE__ */ new Set()), u = Ue(/* @__PURE__ */ new Set([l.value[0].name])), c = N(null), g = N(!1), k = N(0), $ = N(!1), y = N(!1);
2076
- let r = !1, d = 0;
2077
- const p = w(() => Math.max(0, l.value.findIndex((v) => v.name === n.value))), B = (v) => v.fields?.filter((V) => o.errors.has(V)).length ?? 0, T = w(
2078
- () => l.value.map((v, V) => {
2079
- const m = B(v), L = V === p.value;
2103
+ function Io(o, t) {
2104
+ const { t: e } = oe(), a = k(() => Oe(t.steps));
2105
+ if (a.value.length === 0) throw new Error("useStepForm: a flow needs at least one step.");
2106
+ const n = N(a.value[0].name), l = Ue(/* @__PURE__ */ new Set()), u = Ue(/* @__PURE__ */ new Set([a.value[0].name])), c = N(null), b = N(!1), h = N(0), w = N(!1), x = N(!1);
2107
+ let r = !1, f = 0;
2108
+ const g = k(() => Math.max(0, a.value.findIndex((d) => d.name === n.value))), S = (d) => d.fields?.filter((V) => o.errors.has(V)).length ?? 0, z = k(
2109
+ () => a.value.map((d, V) => {
2110
+ const v = S(d), q = V === g.value;
2080
2111
  return {
2081
- name: v.name,
2082
- label: v.label,
2112
+ name: d.name,
2113
+ label: d.label,
2083
2114
  position: V + 1,
2084
- state: L ? "current" : a.has(v.name) && m === 0 ? "done" : "todo",
2085
- errors: m,
2086
- reachable: !L && (u.has(v.name) || V < p.value)
2115
+ state: q ? "current" : l.has(d.name) && v === 0 ? "done" : "todo",
2116
+ errors: v,
2117
+ reachable: !q && (u.has(d.name) || V < g.value)
2087
2118
  };
2088
2119
  })
2089
- ), x = w(() => T.value[p.value]), G = w(() => T.value.length), S = w(() => p.value === 0), O = w(() => p.value === G.value - 1), I = w(() => g.value || o.submitting.value);
2090
- function H(v) {
2091
- const V = l.value[v];
2092
- V && (c.value = v > p.value ? "forward" : "back", n.value = V.name, u.add(V.name), d = v, $.value = !1);
2120
+ ), $ = k(() => z.value[g.value]), I = k(() => z.value.length), F = k(() => g.value === 0), E = k(() => g.value === I.value - 1), R = k(() => b.value || o.submitting.value);
2121
+ function Z(d) {
2122
+ const V = a.value[d];
2123
+ V && (c.value = d > g.value ? "forward" : "back", n.value = V.name, u.add(V.name), f = d, w.value = !1);
2093
2124
  }
2094
- ie(
2095
- () => l.value.map((v) => v.name).join("\0"),
2125
+ de(
2126
+ () => a.value.map((d) => d.name).join("\0"),
2096
2127
  () => {
2097
- const v = l.value, V = v.findIndex((L) => L.name === n.value), m = V === -1 ? Math.min(d, v.length - 1) : V;
2098
- n.value = v[m].name, d = m, v.forEach((L, D) => {
2099
- D > m && (a.delete(L.name), u.delete(L.name));
2128
+ const d = a.value, V = d.findIndex((q) => q.name === n.value), v = V === -1 ? Math.min(f, d.length - 1) : V;
2129
+ n.value = d[v].name, f = v, d.forEach((q, B) => {
2130
+ B > v && (l.delete(q.name), u.delete(q.name));
2100
2131
  }), u.add(n.value);
2101
- for (const L of [a, u]) for (const D of [...L]) v.some((ve) => ve.name === D) || L.delete(D);
2132
+ for (const q of [l, u]) for (const B of [...q]) d.some((K) => K.name === B) || q.delete(B);
2102
2133
  }
2103
2134
  );
2104
- function ae(v) {
2105
- const V = v.fields;
2135
+ function W(d) {
2136
+ const V = d.fields;
2106
2137
  if (!V?.length) return !0;
2107
- const m = Object.entries(o.errors.all()).filter(([D]) => !V.includes(et(D))), L = o.check(v.fields);
2108
- return m.length > 0 && o.errors.set({ ...Object.fromEntries(m), ...o.errors.all() }), L;
2138
+ const v = Object.entries(o.errors.all()).filter(([B]) => !V.includes(et(B))), q = o.check(d.fields);
2139
+ return v.length > 0 && o.errors.set({ ...Object.fromEntries(v), ...o.errors.all() }), q;
2109
2140
  }
2110
- async function le(v) {
2111
- if (!ae(v))
2112
- return k.value++, !1;
2113
- if (!v.beforeNext) return !0;
2114
- g.value = !0;
2141
+ async function J(d) {
2142
+ if (!W(d))
2143
+ return h.value++, !1;
2144
+ if (!d.beforeNext) return !0;
2145
+ b.value = !0;
2115
2146
  try {
2116
- if (await v.beforeNext()) return !0;
2147
+ if (await d.beforeNext()) return !0;
2117
2148
  } finally {
2118
- g.value = !1;
2149
+ b.value = !1;
2119
2150
  }
2120
- return k.value++, !1;
2151
+ return h.value++, !1;
2121
2152
  }
2122
- async function ee() {
2123
- const v = await o.submit(t.submit, t.submitOptions);
2124
- if (v.status === "saved" || v.status === "saved-refresh-failed")
2125
- return r = !0, J(), t.onSaved?.(v.value), !0;
2126
- if (v.status === "failed" && (k.value++, x.value.errors === 0)) {
2127
- const V = T.value.findIndex((m) => m.errors > 0);
2128
- V !== -1 && H(V);
2153
+ async function ae() {
2154
+ const d = await o.submit(t.submit, t.submitOptions);
2155
+ if (d.status === "saved" || d.status === "saved-refresh-failed")
2156
+ return r = !0, re(), t.onSaved?.(d.value), !0;
2157
+ if (d.status === "failed" && (h.value++, $.value.errors === 0)) {
2158
+ const V = z.value.findIndex((v) => v.errors > 0);
2159
+ V !== -1 && Z(V);
2129
2160
  }
2130
2161
  return !1;
2131
2162
  }
2132
- async function M() {
2133
- if (I.value) return !1;
2134
- const v = l.value[p.value];
2135
- return await le(v) ? (a.add(v.name), p.value < G.value - 1 ? (H(p.value + 1), !0) : ee()) : !1;
2163
+ async function ve() {
2164
+ if (R.value) return !1;
2165
+ const d = a.value[g.value];
2166
+ return await J(d) ? (l.add(d.name), g.value < I.value - 1 ? (Z(g.value + 1), !0) : ae()) : !1;
2136
2167
  }
2137
- async function W(v) {
2138
- if (I.value) return !1;
2139
- const V = l.value.findIndex((m) => m.name === v);
2168
+ async function D(d) {
2169
+ if (R.value) return !1;
2170
+ const V = a.value.findIndex((v) => v.name === d);
2140
2171
  if (V === -1) return !1;
2141
- if (V <= p.value)
2142
- return V < p.value && H(V), !0;
2143
- if (!u.has(v)) return !1;
2144
- for (; p.value < V; ) if (!await M()) return !1;
2145
- return p.value === V;
2172
+ if (V <= g.value)
2173
+ return V < g.value && Z(V), !0;
2174
+ if (!u.has(d)) return !1;
2175
+ for (; g.value < V; ) if (!await ve()) return !1;
2176
+ return g.value === V;
2146
2177
  }
2147
- const U = t.draft;
2148
- let K;
2149
- function oe() {
2150
- if (K = void 0, !(!U || r)) {
2178
+ const A = t.draft;
2179
+ let G;
2180
+ function ne() {
2181
+ if (G = void 0, !(!A || r)) {
2151
2182
  if (!o.dirty.value) {
2152
- Ze(U), y.value = !1;
2183
+ Qe(A), x.value = !1;
2153
2184
  return;
2154
2185
  }
2155
- y.value = kl(U, { values: Se(o.values), step: n.value, passed: [...a] });
2186
+ x.value = Sl(A, { values: Se(o.values), step: n.value, passed: [...l] });
2156
2187
  }
2157
2188
  }
2158
- function J() {
2159
- r = !0, clearTimeout(K), K = void 0, y.value = !1, U && Ze(U);
2189
+ function re() {
2190
+ r = !0, clearTimeout(G), G = void 0, x.value = !1, A && Qe(A);
2160
2191
  }
2161
- if (U) {
2162
- const v = hl(U);
2163
- if (v) {
2164
- xl(o.values, v.values);
2165
- const V = l.value.map((m) => m.name);
2166
- V.includes(v.step) && (n.value = v.step);
2167
- for (const m of v.passed) V.includes(m) && a.add(m);
2168
- for (const m of [...a, n.value]) u.add(m);
2169
- d = p.value, $.value = o.dirty.value, y.value = $.value;
2192
+ if (A) {
2193
+ const d = _l(A);
2194
+ if (d) {
2195
+ Cl(o.values, d.values);
2196
+ const V = a.value.map((v) => v.name);
2197
+ V.includes(d.step) && (n.value = d.step);
2198
+ for (const v of d.passed) V.includes(v) && l.add(v);
2199
+ for (const v of [...l, n.value]) u.add(v);
2200
+ f = g.value, w.value = o.dirty.value, x.value = w.value;
2170
2201
  }
2171
- ie(
2172
- [() => o.values, n, () => [...a].join("\0")],
2202
+ de(
2203
+ [() => o.values, n, () => [...l].join("\0")],
2173
2204
  () => {
2174
- r || (clearTimeout(K), K = setTimeout(oe, 400));
2205
+ r || (clearTimeout(G), G = setTimeout(ne, 400));
2175
2206
  },
2176
2207
  { deep: !0 }
2177
2208
  ), Ee(() => {
2178
- K !== void 0 && (clearTimeout(K), oe());
2209
+ G !== void 0 && (clearTimeout(G), ne());
2179
2210
  });
2180
2211
  }
2181
- const { confirmDiscard: he } = Ie(() => !r && o.dirty.value);
2182
- tt(Wt, null) && Jt(() => (r || J(), !0));
2183
- async function fe() {
2184
- const v = await he();
2185
- return v && J(), v;
2212
+ const { confirmDiscard: le } = Ie(() => !r && o.dirty.value);
2213
+ tt(Wt, null) && Jt(() => (r || re(), !0));
2214
+ async function ke() {
2215
+ const d = await le();
2216
+ return d && re(), d;
2186
2217
  }
2187
2218
  function we() {
2188
- o.reset(), a.clear(), u.clear(), c.value = null, n.value = l.value[0].name, u.add(n.value), d = 0, $.value = !1, J(), r = !1;
2219
+ o.reset(), l.clear(), u.clear(), c.value = null, n.value = a.value[0].name, u.add(n.value), f = 0, w.value = !1, re(), r = !1;
2189
2220
  }
2190
- const _ = w(() => {
2191
- const v = [e("core.steps.position", { current: p.value + 1, total: G.value }), x.value.label];
2192
- return y.value && v.push(e("core.steps.draft_saved")), v.join(" · ");
2193
- }), j = w(() => {
2194
- const v = l.value[p.value];
2195
- return v.nextLabel ? v.nextLabel : O.value ? t.submitLabel ?? e("core.actions.save") : e("core.steps.next_named", { step: l.value[p.value + 1].label });
2196
- }), me = w(() => S.value ? null : l.value[p.value - 1].label);
2221
+ const X = k(() => {
2222
+ const d = [e("core.steps.position", { current: g.value + 1, total: I.value }), $.value.label];
2223
+ return x.value && d.push(e("core.steps.draft_saved")), d.join(" · ");
2224
+ }), pe = k(() => {
2225
+ const d = a.value[g.value];
2226
+ return d.nextLabel ? d.nextLabel : E.value ? t.submitLabel ?? e("core.actions.save") : e("core.steps.next_named", { step: a.value[g.value + 1].label });
2227
+ }), L = k(() => F.value ? null : a.value[g.value - 1].label);
2197
2228
  return {
2198
- steps: T,
2199
- current: x,
2200
- index: p,
2201
- count: G,
2202
- isFirst: S,
2203
- isLast: O,
2204
- busy: I,
2229
+ steps: z,
2230
+ current: $,
2231
+ index: g,
2232
+ count: I,
2233
+ isFirst: F,
2234
+ isLast: E,
2235
+ busy: R,
2205
2236
  direction: c,
2206
- subtitle: _,
2207
- nextLabel: j,
2208
- backLabel: me,
2209
- restored: $,
2210
- refusals: k,
2237
+ subtitle: X,
2238
+ nextLabel: pe,
2239
+ backLabel: L,
2240
+ restored: w,
2241
+ refusals: h,
2211
2242
  errors: o.errors,
2212
2243
  failure: o.failure,
2213
- next: M,
2214
- back: () => H(p.value - 1),
2215
- goTo: W,
2244
+ next: ve,
2245
+ back: () => Z(g.value - 1),
2246
+ goTo: D,
2216
2247
  restart: we,
2217
- confirmDiscard: fe,
2218
- bindDialog: () => ({ subtitle: _.value, primaryLabel: j.value, status: I.value ? "processing" : "idle", beforeDismiss: fe })
2248
+ confirmDiscard: ke,
2249
+ bindDialog: () => ({ subtitle: X.value, primaryLabel: pe.value, status: R.value ? "processing" : "idle", beforeDismiss: ke })
2219
2250
  };
2220
2251
  }
2221
- const wl = {
2252
+ const Fl = {
2222
2253
  class: "flex flex-wrap items-center gap-2.5 border-t border-border-separator pt-3.5",
2223
2254
  "data-test": "step-navigation"
2224
- }, $l = /* @__PURE__ */ P({
2255
+ }, Bl = /* @__PURE__ */ P({
2225
2256
  __name: "StepNavigation",
2226
2257
  props: {
2227
2258
  flow: {}
2228
2259
  },
2229
2260
  emits: ["cancel"],
2230
2261
  setup(o) {
2231
- const t = o, { t: e } = te();
2232
- return (l, n) => (i(), h("div", wl, [
2233
- t.flow.backLabel.value ? (i(), q(ge, {
2262
+ const t = o, { t: e } = oe();
2263
+ return (a, n) => (i(), y("div", Fl, [
2264
+ t.flow.backLabel.value ? (i(), O(ge, {
2234
2265
  key: 0,
2235
2266
  prominence: "plain",
2236
2267
  icon: "arrowLeftSLine",
2237
2268
  disabled: t.flow.busy.value,
2238
2269
  "data-test": "step-back",
2239
- onClick: n[0] || (n[0] = (a) => t.flow.back())
2270
+ onClick: n[0] || (n[0] = (l) => t.flow.back())
2240
2271
  }, {
2241
- default: f(() => [
2242
- Y(C(t.flow.backLabel.value), 1)
2272
+ default: m(() => [
2273
+ Y(_(t.flow.backLabel.value), 1)
2243
2274
  ]),
2244
2275
  _: 1
2245
- }, 8, ["disabled"])) : z("", !0),
2246
- n[3] || (n[3] = b("div", { class: "grow" }, null, -1)),
2247
- R(ge, {
2276
+ }, 8, ["disabled"])) : T("", !0),
2277
+ n[3] || (n[3] = p("div", { class: "grow" }, null, -1)),
2278
+ M(ge, {
2248
2279
  prominence: "plain",
2249
2280
  "data-test": "step-cancel",
2250
- onClick: n[1] || (n[1] = (a) => l.$emit("cancel"))
2281
+ onClick: n[1] || (n[1] = (l) => a.$emit("cancel"))
2251
2282
  }, {
2252
- default: f(() => [
2253
- Y(C(s(e)("core.actions.cancel")), 1)
2283
+ default: m(() => [
2284
+ Y(_(s(e)("core.actions.cancel")), 1)
2254
2285
  ]),
2255
2286
  _: 1
2256
2287
  }),
2257
- R(ge, {
2288
+ M(ge, {
2258
2289
  prominence: "primary",
2259
2290
  processing: t.flow.busy.value,
2260
2291
  "data-test": "step-next",
2261
- onClick: n[2] || (n[2] = (a) => t.flow.next())
2292
+ onClick: n[2] || (n[2] = (l) => t.flow.next())
2262
2293
  }, {
2263
- default: f(() => [
2264
- Y(C(t.flow.nextLabel.value), 1)
2294
+ default: m(() => [
2295
+ Y(_(t.flow.nextLabel.value), 1)
2265
2296
  ]),
2266
2297
  _: 1
2267
2298
  }, 8, ["processing"])
2268
2299
  ]));
2269
2300
  }
2270
- }), _l = ["aria-label"], Sl = ["aria-current"], Cl = ["aria-label"], Fl = {
2301
+ }), Ll = ["aria-label"], Tl = ["aria-current"], zl = ["aria-label"], Dl = {
2271
2302
  key: 2,
2272
2303
  class: "sr-only"
2273
- }, Bl = {
2304
+ }, Vl = {
2274
2305
  key: 1,
2275
2306
  "data-test": "step-dots",
2276
2307
  class: "flex justify-center gap-1.5",
2277
2308
  "aria-hidden": "true"
2278
- }, Ll = ["data-state"], Tl = /* @__PURE__ */ P({
2309
+ }, ql = ["data-state"], Rl = /* @__PURE__ */ P({
2279
2310
  __name: "StepProgress",
2280
2311
  props: {
2281
2312
  flow: {},
2282
2313
  progress: { default: "bar" }
2283
2314
  },
2284
2315
  setup(o) {
2285
- const t = o, { t: e } = te();
2286
- return (l, n) => t.progress === "bar" ? (i(), h("ol", {
2316
+ const t = o, { t: e } = oe();
2317
+ return (a, n) => t.progress === "bar" ? (i(), y("ol", {
2287
2318
  key: 0,
2288
2319
  "aria-label": s(e)("core.steps.label"),
2289
2320
  "data-test": "step-bar",
2290
2321
  class: "grid min-w-0 gap-2",
2291
2322
  style: ct({ gridTemplateColumns: `repeat(${t.flow.count.value}, minmax(0, 1fr))` })
2292
2323
  }, [
2293
- (i(!0), h(re, null, xe(t.flow.steps.value, (a) => (i(), h("li", {
2294
- key: a.name,
2324
+ (i(!0), y(ue, null, xe(t.flow.steps.value, (l) => (i(), y("li", {
2325
+ key: l.name,
2295
2326
  class: "flex min-w-0",
2296
- "aria-current": a.state === "current" ? "step" : void 0
2327
+ "aria-current": l.state === "current" ? "step" : void 0
2297
2328
  }, [
2298
- (i(), q(ft(a.reachable ? "button" : "div"), {
2299
- type: a.reachable ? "button" : void 0,
2300
- disabled: a.reachable ? t.flow.busy.value : void 0,
2301
- "data-test": `step-${a.name}`,
2302
- "data-state": a.errors > 0 ? "error" : a.state,
2303
- class: E(["group flex min-w-0 flex-1 flex-col gap-1.5 text-left", a.reachable ? "cursor-pointer rounded-control focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-default" : ""]),
2304
- onClick: (u) => a.reachable ? t.flow.goTo(a.name) : void 0
2329
+ (i(), O(ft(l.reachable ? "button" : "div"), {
2330
+ type: l.reachable ? "button" : void 0,
2331
+ disabled: l.reachable ? t.flow.busy.value : void 0,
2332
+ "data-test": `step-${l.name}`,
2333
+ "data-state": l.errors > 0 ? "error" : l.state,
2334
+ class: j(["group flex min-w-0 flex-1 flex-col gap-1.5 text-left", l.reachable ? "cursor-pointer rounded-control focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus disabled:cursor-default" : ""]),
2335
+ onClick: (u) => l.reachable ? t.flow.goTo(l.name) : void 0
2305
2336
  }, {
2306
- default: f(() => [
2307
- b("span", {
2308
- class: E(["h-1 rounded-full transition-colors duration-motion-normal", a.errors > 0 ? "bg-status-danger-solid" : a.state === "current" ? "bg-tint" : a.state === "done" ? "bg-control-on" : "bg-fill-strong"]),
2337
+ default: m(() => [
2338
+ p("span", {
2339
+ class: j(["h-1 rounded-full transition-colors duration-motion-normal", l.errors > 0 ? "bg-status-danger-solid" : l.state === "current" ? "bg-tint" : l.state === "done" ? "bg-control-on" : "bg-fill-strong"]),
2309
2340
  "aria-hidden": "true"
2310
2341
  }, null, 2),
2311
- b("span", {
2312
- class: E(["flex min-w-0 items-center gap-1.5 text-footnote", a.state === "current" ? "font-bold text-content-strong" : a.state === "done" ? "font-medium text-content-link" : "font-medium text-content-muted"])
2342
+ p("span", {
2343
+ class: j(["flex min-w-0 items-center gap-1.5 text-footnote", l.state === "current" ? "font-bold text-content-strong" : l.state === "done" ? "font-medium text-content-link" : "font-medium text-content-muted"])
2313
2344
  }, [
2314
- a.state === "done" ? (i(), q(s(Z), {
2345
+ l.state === "done" ? (i(), O(s(te), {
2315
2346
  key: 0,
2316
2347
  name: "checkCustom",
2317
2348
  size: 12,
2318
2349
  class: "shrink-0"
2319
- })) : z("", !0),
2320
- b("span", {
2321
- class: E(["truncate", a.reachable ? "group-hover:text-content-link" : ""])
2322
- }, C(a.position) + ". " + C(a.label), 3),
2323
- a.errors > 0 ? (i(), h("span", {
2350
+ })) : T("", !0),
2351
+ p("span", {
2352
+ class: j(["truncate", l.reachable ? "group-hover:text-content-link" : ""])
2353
+ }, _(l.position) + ". " + _(l.label), 3),
2354
+ l.errors > 0 ? (i(), y("span", {
2324
2355
  key: 1,
2325
2356
  "data-test": "step-errors",
2326
- "aria-label": s(e)("core.form.sections.errors", { count: a.errors }),
2357
+ "aria-label": s(e)("core.form.sections.errors", { count: l.errors }),
2327
2358
  class: "min-w-4.5 shrink-0 rounded-full bg-status-danger-solid px-1.5 text-center text-caption font-semibold text-white"
2328
- }, C(a.errors), 9, Cl)) : z("", !0),
2329
- a.state === "done" ? (i(), h("span", Fl, C(s(e)("core.steps.done")), 1)) : z("", !0)
2359
+ }, _(l.errors), 9, zl)) : T("", !0),
2360
+ l.state === "done" ? (i(), y("span", Dl, _(s(e)("core.steps.done")), 1)) : T("", !0)
2330
2361
  ], 2)
2331
2362
  ]),
2332
2363
  _: 2
2333
2364
  }, 1032, ["type", "disabled", "data-test", "data-state", "class", "onClick"]))
2334
- ], 8, Sl))), 128))
2335
- ], 12, _l)) : (i(), h("div", Bl, [
2336
- (i(!0), h(re, null, xe(t.flow.steps.value, (a) => (i(), h("span", {
2337
- key: a.name,
2338
- class: E(["h-1.5 rounded-full transition-all duration-motion-fast", [a.state === "current" ? "w-4.5" : "w-1.5", a.errors > 0 ? "bg-status-danger-solid" : a.state === "todo" && a.position > t.flow.index.value ? "bg-fill-strong" : "bg-tint"]]),
2339
- "data-state": a.errors > 0 ? "error" : a.state
2340
- }, null, 10, Ll))), 128))
2365
+ ], 8, Tl))), 128))
2366
+ ], 12, Ll)) : (i(), y("div", Vl, [
2367
+ (i(!0), y(ue, null, xe(t.flow.steps.value, (l) => (i(), y("span", {
2368
+ key: l.name,
2369
+ class: j(["h-1.5 rounded-full transition-all duration-motion-fast", [l.state === "current" ? "w-4.5" : "w-1.5", l.errors > 0 ? "bg-status-danger-solid" : l.state === "todo" && l.position > t.flow.index.value ? "bg-fill-strong" : "bg-tint"]]),
2370
+ "data-state": l.errors > 0 ? "error" : l.state
2371
+ }, null, 10, ql))), 128))
2341
2372
  ]));
2342
2373
  }
2343
- }), Dl = ["data-step"], zl = {
2374
+ }), Ol = ["data-step"], Ml = {
2344
2375
  class: "sr-only",
2345
2376
  "aria-live": "polite"
2346
- }, Vl = {
2377
+ }, jl = {
2347
2378
  key: 1,
2348
2379
  "data-test": "step-restored",
2349
2380
  class: "flex items-center gap-2 text-footnote text-content-muted"
2350
- }, Mo = /* @__PURE__ */ P({
2381
+ }, Go = /* @__PURE__ */ P({
2351
2382
  __name: "StepForm",
2352
2383
  props: {
2353
2384
  flow: {},
@@ -2356,138 +2387,138 @@ const wl = {
2356
2387
  },
2357
2388
  emits: ["cancel"],
2358
2389
  setup(o) {
2359
- const t = o, { t: e } = te(), l = A("body");
2360
- return ie(() => t.flow.current.value.name, async () => {
2361
- await ke(), l.value?.focus();
2362
- }), ie(() => t.flow.refusals.value, async () => {
2363
- await ke(), l.value && await ze(l.value);
2364
- }), (n, a) => (i(), h("div", {
2390
+ const t = o, { t: e } = oe(), a = U("body");
2391
+ return de(() => t.flow.current.value.name, async () => {
2392
+ await he(), a.value?.focus();
2393
+ }), de(() => t.flow.refusals.value, async () => {
2394
+ await he(), a.value && await De(a.value);
2395
+ }), (n, l) => (i(), y("div", {
2365
2396
  class: "flex min-w-0 flex-col gap-group-gap",
2366
2397
  "data-test": "step-form",
2367
2398
  "data-step": t.flow.current.value.name
2368
2399
  }, [
2369
- t.progress !== "none" ? (i(), q(Tl, {
2400
+ t.progress !== "none" ? (i(), O(Rl, {
2370
2401
  key: 0,
2371
2402
  flow: t.flow,
2372
2403
  progress: t.progress
2373
- }, null, 8, ["flow", "progress"])) : z("", !0),
2374
- b("p", zl, C(t.flow.subtitle.value), 1),
2375
- t.flow.restored.value ? (i(), h("div", Vl, [
2376
- b("span", null, C(s(e)("core.steps.restored")), 1),
2377
- R(ge, {
2404
+ }, null, 8, ["flow", "progress"])) : T("", !0),
2405
+ p("p", Ml, _(t.flow.subtitle.value), 1),
2406
+ t.flow.restored.value ? (i(), y("div", jl, [
2407
+ p("span", null, _(s(e)("core.steps.restored")), 1),
2408
+ M(ge, {
2378
2409
  prominence: "link",
2379
2410
  size: "sm",
2380
- onClick: a[0] || (a[0] = (u) => t.flow.restart())
2411
+ onClick: l[0] || (l[0] = (u) => t.flow.restart())
2381
2412
  }, {
2382
- default: f(() => [
2383
- Y(C(s(e)("core.steps.start_over")), 1)
2413
+ default: m(() => [
2414
+ Y(_(s(e)("core.steps.start_over")), 1)
2384
2415
  ]),
2385
2416
  _: 1
2386
2417
  })
2387
- ])) : z("", !0),
2388
- (i(), q(Oe, {
2418
+ ])) : T("", !0),
2419
+ (i(), O(Me, {
2389
2420
  key: t.flow.current.value.name,
2390
2421
  form: t.flow
2391
2422
  }, null, 8, ["form"])),
2392
- (i(), h("form", {
2423
+ (i(), y("form", {
2393
2424
  key: t.flow.current.value.name,
2394
2425
  ref_key: "body",
2395
- ref: l,
2426
+ ref: a,
2396
2427
  tabindex: "-1",
2397
2428
  novalidate: "",
2398
2429
  "data-test": "step-body",
2399
- class: E(["flex min-w-0 flex-col gap-group-gap outline-none", t.flow.direction.value === "back" ? "animate-step-back" : t.flow.direction.value === "forward" ? "animate-step-in" : ""]),
2400
- onSubmit: a[1] || (a[1] = be((u) => t.flow.next(), ["prevent"]))
2430
+ class: j(["flex min-w-0 flex-col gap-group-gap outline-none", t.flow.direction.value === "back" ? "animate-step-back" : t.flow.direction.value === "forward" ? "animate-step-in" : ""]),
2431
+ onSubmit: l[1] || (l[1] = be((u) => t.flow.next(), ["prevent"]))
2401
2432
  }, [
2402
- F(n.$slots, t.flow.current.value.name),
2403
- a[3] || (a[3] = b("button", {
2433
+ C(n.$slots, t.flow.current.value.name),
2434
+ l[3] || (l[3] = p("button", {
2404
2435
  type: "submit",
2405
2436
  class: "sr-only",
2406
2437
  tabindex: "-1",
2407
2438
  "aria-hidden": "true"
2408
2439
  }, null, -1))
2409
2440
  ], 34)),
2410
- t.navigation === "inline" ? (i(), q($l, {
2441
+ t.navigation === "inline" ? (i(), O(Bl, {
2411
2442
  key: 2,
2412
2443
  flow: t.flow,
2413
- onCancel: a[2] || (a[2] = (u) => n.$emit("cancel"))
2414
- }, null, 8, ["flow"])) : z("", !0)
2415
- ], 8, Dl));
2444
+ onCancel: l[2] || (l[2] = (u) => n.$emit("cancel"))
2445
+ }, null, 8, ["flow"])) : T("", !0)
2446
+ ], 8, Ol));
2416
2447
  }
2417
2448
  });
2418
2449
  export {
2419
2450
  _t as Calendar,
2420
- bo as CardSelectField,
2421
- go as CheckboxField,
2422
- yo as ChoiceChips,
2423
- ho as ComboField,
2424
- Po as CommandDialog,
2425
- sn as DateField,
2426
- ko as DateTimeField,
2427
- zo as EditorPage,
2428
- Eo as ErrorBag,
2451
+ xo as CardSelectField,
2452
+ wo as CheckboxField,
2453
+ $o as ChoiceChips,
2454
+ _o as ComboField,
2455
+ Yo as CommandDialog,
2456
+ fn as DateField,
2457
+ So as DateTimeField,
2458
+ Mo as EditorPage,
2459
+ Ko as ErrorBag,
2429
2460
  ye as Field,
2430
- xo as FileField,
2431
- Oe as FormErrors,
2461
+ Co as FileField,
2462
+ Me as FormErrors,
2432
2463
  qt as FormGroup,
2433
- wo as FormGroupButton,
2434
- $o as FormIndent,
2464
+ Fo as FormGroupButton,
2465
+ Bo as FormIndent,
2435
2466
  mt as FormRow,
2436
- bn as FormView,
2437
- cn as GroupEditAction,
2438
- Lo as GroupSheet,
2439
- _o as I18nField,
2440
- Qo as LeaveGuardRoot,
2441
- Ho as MissingLeaveGuardRootError,
2442
- So as MoneyField,
2443
- Co as MonthYearField,
2444
- Fo as MultiSelectField,
2445
- qo as NumberCell,
2467
+ xn as FormView,
2468
+ bn as GroupEditAction,
2469
+ qo as GroupSheet,
2470
+ Lo as I18nField,
2471
+ ln as LeaveGuardRoot,
2472
+ Zo as MissingLeaveGuardRootError,
2473
+ To as MoneyField,
2474
+ zo as MonthYearField,
2475
+ Do as MultiSelectField,
2476
+ Eo as NumberCell,
2446
2477
  jt as NumberField,
2447
2478
  We as OptionList,
2448
- _n as OtpInput,
2449
- Bo as PhotoField,
2450
- To as RecordGroupScope,
2451
- Cn as SegmentedField,
2452
- yn as SelectField,
2453
- Mo as StepForm,
2454
- $l as StepNavigation,
2455
- Tl as StepProgress,
2456
- Bn as SwitchField,
2457
- an as TextField,
2458
- Tn as TextareaField,
2459
- un as TimeField,
2479
+ Ln as OtpInput,
2480
+ Vo as PhotoField,
2481
+ Ro as RecordGroupScope,
2482
+ zn as SegmentedField,
2483
+ $n as SelectField,
2484
+ Go as StepForm,
2485
+ Bl as StepNavigation,
2486
+ Rl as StepProgress,
2487
+ Vn as SwitchField,
2488
+ rn as TextField,
2489
+ Rn as TextareaField,
2490
+ vn as TimeField,
2460
2491
  nt as checkFile,
2461
- fn as createFieldGroups,
2462
- Uo as createLeaveGuard,
2463
- ce as fieldDefaults,
2464
- Ko as fieldKey,
2465
- de as fieldProps,
2466
- ze as focusFirstError,
2492
+ gn as createFieldGroups,
2493
+ Xo as createLeaveGuard,
2494
+ me as fieldDefaults,
2495
+ Wo as fieldKey,
2496
+ fe as fieldProps,
2497
+ De as focusFirstError,
2467
2498
  bt as formEditableKey,
2468
2499
  Be as formatBytes,
2469
- xn as groupOptions,
2470
- Yo as installLeaveGuard,
2471
- Wo as leaveGuardKey,
2472
- wn as matchOptions,
2473
- Va as missingLocales,
2474
- mn as provideRecordGroups,
2475
- on as recentChoicesKey,
2500
+ Cn as groupOptions,
2501
+ Qo as installLeaveGuard,
2502
+ en as leaveGuardKey,
2503
+ Fn as matchOptions,
2504
+ ja as missingLocales,
2505
+ yn as provideRecordGroups,
2506
+ dn as recentChoicesKey,
2476
2507
  Rt as recordGroupsKey,
2477
2508
  st as useCommand,
2478
- Xt as useDirtySnapshot,
2509
+ Zt as useDirtySnapshot,
2479
2510
  at as useFieldMode,
2480
- Io as useForm,
2481
- Do as useGroupSheet,
2482
- Go as useHiddenFieldErrors,
2511
+ Ao as useForm,
2512
+ Oo as useGroupSheet,
2513
+ Ho as useHiddenFieldErrors,
2483
2514
  Ie as useLeaveGuard,
2484
- Jo as useLeaveGuardContext,
2485
- hn as useOptions,
2486
- Vo as useRecordDialog,
2487
- vn as useRecordGroups,
2488
- en as useResourceForm,
2515
+ tn as useLeaveGuardContext,
2516
+ _n as useOptions,
2517
+ jo as useRecordDialog,
2518
+ hn as useRecordGroups,
2519
+ nn as useResourceForm,
2489
2520
  Yt as useSaveChrome,
2490
- pl as useSectionStates,
2491
- po as useSheetDiscardGuard,
2492
- Ro as useStepForm
2521
+ kl as useSectionStates,
2522
+ ko as useSheetDiscardGuard,
2523
+ Io as useStepForm
2493
2524
  };