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