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