@wssto2/vue-core 0.4.28 → 0.5.1

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