@wssto2/vue-core 0.4.14 → 0.4.16
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-LlfIPWsJ.js → ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js} +1 -1
- package/dist/{Activity-BdSvn0GP.js → Activity-CVO3sJwy.js} +6 -6
- package/dist/{Changes-BQO--N9F.js → Changes-Bzvl3cEx.js} +5 -5
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-DkpFEHUw.js → CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js} +2 -2
- package/dist/DateField.vue_vue_type_script_setup_true_lang-BufoFwVQ.js +278 -0
- package/dist/{DeadLetters-OmeiADEi.js → DeadLetters-DmwUtgf9.js} +4 -4
- package/dist/FormErrors.vue_vue_type_script_setup_true_lang-DWcVKZM3.js +285 -0
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js → FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js} +1 -1
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js → FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js} +2 -2
- package/dist/{General-CBwFLiKQ.js → General-CUEjJBD4.js} +10 -10
- package/dist/{NewRolePage-CblUW2gA.js → NewRolePage-Cyn-oV6r.js} +3 -3
- package/dist/NumberField.vue_vue_type_script_setup_true_lang-a8kN3A7k.js +150 -0
- package/dist/{ProfilePage-BOoDDbmB.js → ProfilePage-I74SQBFO.js} +41 -41
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-BCE5yrwy.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js} +44 -44
- package/dist/{RolePage-xDsFL_eC.js → RolePage-DWQP3qQl.js} +8 -8
- package/dist/{RolesPage-C39wsF6X.js → RolesPage-BeEsHIQ2.js} +5 -5
- package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js +81 -0
- package/dist/SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js +465 -0
- package/dist/{SessionList.vue_vue_type_script_setup_true_lang-D4k5QeWS.js → SessionList.vue_vue_type_script_setup_true_lang-DoUo68xE.js} +2 -2
- package/dist/{Sessions-m_i4aTfw.js → Sessions-D8IXcb5M.js} +4 -4
- package/dist/{SettingsPage-ktKvQQnE.js → SettingsPage-DRQP2nrH.js} +9 -9
- package/dist/{SignIn-CkoEixY4.js → SignIn-CAZkovhb.js} +6 -6
- package/dist/{SignInPage-DVcpFz3G.js → SignInPage-D-49oLY3.js} +3 -3
- package/dist/{SignIns-BnVAtncZ.js → SignIns-BtNfgMLc.js} +3 -3
- package/dist/SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js +87 -0
- package/dist/TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js +292 -0
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +91 -0
- package/dist/TimeField.vue_vue_type_script_setup_true_lang-pAdLPYXA.js +187 -0
- package/dist/{UserRecord-Cg69_mbU.js → UserRecord-BSbNuRFi.js} +10 -10
- package/dist/{UsersList-BFmBDGs7.js → UsersList-DPHxcaDm.js} +8 -8
- package/dist/access/index.js +1 -1
- package/dist/app/application.d.ts +8 -2
- package/dist/app/index.js +93 -93
- package/dist/collection/index.js +1 -1
- package/dist/control-B_Nwtmag.js +334 -0
- package/dist/{describeError-CvGmajU0.js → describeError-B-NMa--w.js} +12 -7
- package/dist/fieldMessages-DV6sESpn.js +25 -0
- package/dist/form/CardSelectField.vue.d.ts +2 -2
- package/dist/form/ChoiceChips.vue.d.ts +2 -2
- package/dist/form/ComboField.vue.d.ts +2 -2
- package/dist/form/DateField.vue.d.ts +10 -2
- package/dist/form/DateTimeField.vue.d.ts +10 -2
- package/dist/form/Field.vue.d.ts +2 -1
- package/dist/form/FileField.vue.d.ts +10 -2
- package/dist/form/FormErrors.vue.d.ts +1 -1
- package/dist/form/FormRow.vue.d.ts +3 -0
- package/dist/form/I18nField.vue.d.ts +10 -2
- package/dist/form/MoneyField.vue.d.ts +10 -2
- package/dist/form/MonthYearField.vue.d.ts +10 -2
- package/dist/form/MultiSelectField.vue.d.ts +2 -2
- package/dist/form/NumberField.vue.d.ts +25 -2
- package/dist/form/PhotoField.vue.d.ts +10 -2
- package/dist/form/SegmentedField.vue.d.ts +2 -2
- package/dist/form/SelectField.vue.d.ts +7 -8
- package/dist/form/SwitchField.vue.d.ts +3 -2
- package/dist/form/TextField.vue.d.ts +10 -2
- package/dist/form/TextareaField.vue.d.ts +10 -2
- package/dist/form/TimeField.vue.d.ts +10 -2
- package/dist/form/field.d.ts +12 -0
- package/dist/form/index.d.ts +3 -1
- package/dist/form/index.js +1167 -956
- package/dist/form/useForm.d.ts +2 -2
- package/dist/form/useHiddenFieldErrors.d.ts +23 -0
- package/dist/form/useSaveChrome.d.ts +8 -3
- package/dist/i18n/describeError.d.ts +8 -0
- package/dist/i18n/index.d.ts +3 -2
- package/dist/i18n/index.js +32 -28
- package/dist/identity/fieldMessages.d.ts +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/{index-RNF5-9uf.js → index-Bq96L43f.js} +15 -15
- package/dist/{index-B416VXmR.js → index-CWeNiBX6.js} +2 -2
- package/dist/{index-KcCoCfr-.js → index-yKIOaisE.js} +10 -10
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/phone/PhoneField.vue.d.ts +1 -0
- package/dist/phone/index.js +66 -65
- package/dist/resource/index.js +1 -1
- package/dist/{routeResource-BwEFXzIX.js → routeResource-DlTsGTg_.js} +1 -1
- package/dist/state/index.js +1 -1
- package/dist/{status-OZUHZpWl.js → status-DzmySsWw.js} +1 -1
- package/dist/{useCommand-BkONMn3X.js → useCommand-B-N6HJOz.js} +1 -1
- package/dist/{useLoad-DuEsLECT.js → useLoad-M7V-AVwR.js} +1 -1
- package/dist/{useResourceForm-D1hIpwW5.js → useResourceForm-CP2lCwmD.js} +1 -1
- package/dist/useSaveChrome-7huA3FzR.js +26 -0
- package/package.json +1 -1
- package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +0 -255
- package/dist/FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js +0 -276
- package/dist/NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js +0 -113
- package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js +0 -58
- package/dist/SelectField.vue_vue_type_script_setup_true_lang-BJoAkBo2.js +0 -437
- package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +0 -64
- package/dist/TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js +0 -269
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +0 -68
- package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +0 -164
- package/dist/control-7EP4tjYy.js +0 -313
- package/dist/fieldMessages-D_dpSe19.js +0 -25
- package/dist/useSaveChrome-DuWm0Czf.js +0 -25
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { inject as B, ref as z, computed as r, onBeforeUnmount as A, defineComponent as C, useSlots as F, openBlock as a, createBlock as L, resolveDynamicComponent as T, unref as t, normalizeClass as b, withCtx as _, createElementBlock as s, renderSlot as f, createCommentVNode as n, createElementVNode as g, createTextVNode as h, toDisplayString as v, createVNode as V, useAttrs as G, useId as K, mergeProps as j, createSlots as P, mergeDefaults as M } from "vue";
|
|
2
|
+
import { useI18n as O } from "vue-i18n";
|
|
3
|
+
import { _ as I } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
4
|
+
import { RouterLink as U } from "vue-router";
|
|
5
|
+
import { c as Y, a as J } from "./controlSurface-t7OEFESJ.js";
|
|
6
|
+
import { u as Q } from "./mediaQuery-CygcXmFW.js";
|
|
7
|
+
const W = {
|
|
8
|
+
label: void 0,
|
|
9
|
+
labelHidden: !1,
|
|
10
|
+
hint: void 0,
|
|
11
|
+
error: void 0,
|
|
12
|
+
required: !1,
|
|
13
|
+
editable: !0,
|
|
14
|
+
disabled: !1,
|
|
15
|
+
lockedReason: void 0,
|
|
16
|
+
presentation: "control",
|
|
17
|
+
name: void 0
|
|
18
|
+
}, X = Symbol("vue-core.formGroup"), Z = Symbol("vue-core.formRowIndent"), ee = Symbol("vue-core.formEditable"), R = () => B(X, null), te = () => B(Z, 0);
|
|
19
|
+
function oe(i) {
|
|
20
|
+
const e = R(), d = B(ee, z(!0)), c = Q(), k = r(() => !!e && !!i.disabled && (c.value || i.presentation === "value")), m = r(() => (i.editable ?? !0) && d.value && !k.value), o = r(() => !!e && !!i.disabled && m.value);
|
|
21
|
+
if (e) {
|
|
22
|
+
const u = e.registerLocked(r(() => !!i.disabled && d.value && i.presentation !== "value"));
|
|
23
|
+
A(u);
|
|
24
|
+
}
|
|
25
|
+
return { editable: m, locked: o };
|
|
26
|
+
}
|
|
27
|
+
const le = ["label", "labelHidden", "hint", "error", "required", "editable", "disabled", "lockedReason", "presentation", "name"];
|
|
28
|
+
function Re(i) {
|
|
29
|
+
return Object.fromEntries(le.map((e) => [e, i[e]]));
|
|
30
|
+
}
|
|
31
|
+
const ae = {
|
|
32
|
+
key: 0,
|
|
33
|
+
class: "flex shrink-0 items-center"
|
|
34
|
+
}, re = { class: "row-body min-h-row min-w-0 flex-1 border-t border-border-separator py-2 pr-row-inset" }, se = {
|
|
35
|
+
key: 0,
|
|
36
|
+
class: "text-content-destructive",
|
|
37
|
+
"aria-hidden": "true"
|
|
38
|
+
}, ne = ["id"], ie = {
|
|
39
|
+
key: 0,
|
|
40
|
+
class: "break-words text-body text-content-strong"
|
|
41
|
+
}, de = ["id"], ue = /* @__PURE__ */ C({
|
|
42
|
+
__name: "FormRow",
|
|
43
|
+
props: {
|
|
44
|
+
label: { default: void 0 },
|
|
45
|
+
labelHidden: { type: Boolean, default: !1 },
|
|
46
|
+
for: { default: void 0 },
|
|
47
|
+
sub: { default: void 0 },
|
|
48
|
+
subId: { default: void 0 },
|
|
49
|
+
required: { type: Boolean, default: !1 },
|
|
50
|
+
layout: { default: "entry" },
|
|
51
|
+
value: { default: void 0 },
|
|
52
|
+
to: { default: void 0 },
|
|
53
|
+
error: { default: void 0 },
|
|
54
|
+
errorId: { default: void 0 },
|
|
55
|
+
indent: { default: 0 },
|
|
56
|
+
labelLines: { default: void 0 },
|
|
57
|
+
labelAlign: { default: "center" }
|
|
58
|
+
},
|
|
59
|
+
setup(i) {
|
|
60
|
+
const e = i, d = F(), c = te(), k = r(() => c + e.indent), m = ["pl-row-inset", "pl-[calc(var(--app-row-inset)+1.25rem)]", "pl-[calc(var(--app-row-inset)+2.5rem)]"], o = { 1: "line-clamp-1", 2: "line-clamp-2", 3: "line-clamp-3" }, u = r(() => e.labelHidden && (e.layout === "entry" || e.layout === "value") ? "stacked" : e.layout), S = r(() => {
|
|
61
|
+
switch (u.value) {
|
|
62
|
+
case "entry":
|
|
63
|
+
return "grid grid-cols-[var(--form-label-width,11rem)_minmax(0,1fr)] items-center gap-x-4 compact:grid-cols-[minmax(0,auto)_minmax(40%,1fr)]";
|
|
64
|
+
case "value":
|
|
65
|
+
return "grid grid-cols-[minmax(min-content,1fr)_minmax(0,auto)] items-center gap-x-4";
|
|
66
|
+
case "setting":
|
|
67
|
+
return "flex items-center gap-4";
|
|
68
|
+
default:
|
|
69
|
+
return "flex flex-col gap-1";
|
|
70
|
+
}
|
|
71
|
+
}), y = r(() => e.labelHidden ? "sr-only" : u.value === "stacked" ? "text-footnote text-content-muted" : e.layout === "value" ? "text-body text-content-muted" : "text-body text-content-strong"), w = r(() => e.value !== void 0 && e.value !== null && e.value !== "");
|
|
72
|
+
return (p, x) => (a(), L(T(e.to ? t(U) : "div"), {
|
|
73
|
+
to: e.to,
|
|
74
|
+
"data-test": "form-row",
|
|
75
|
+
"data-layout": u.value,
|
|
76
|
+
"data-field-error": e.error ? "true" : void 0,
|
|
77
|
+
class: b(["form-row flex min-w-0 items-stretch gap-3 transition-colors duration-motion-fast first:rounded-t-group last:rounded-b-group focus-within:bg-tint-soft/50 [&:first-child>.row-body]:border-t-0", [m[Math.min(k.value, 2)], e.to ? "hover:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus" : ""]])
|
|
78
|
+
}, {
|
|
79
|
+
default: _(() => [
|
|
80
|
+
d.leading ? (a(), s("div", ae, [
|
|
81
|
+
f(p.$slots, "leading")
|
|
82
|
+
])) : n("", !0),
|
|
83
|
+
g("div", re, [
|
|
84
|
+
g("div", {
|
|
85
|
+
class: b(["min-w-0", S.value])
|
|
86
|
+
}, [
|
|
87
|
+
e.label || e.sub || d.sub ? (a(), s("div", {
|
|
88
|
+
key: 0,
|
|
89
|
+
class: b([e.labelHidden && !e.sub && !d.sub ? "contents" : u.value === "setting" ? "min-w-min flex-1" : "min-w-0", e.labelAlign === "top" ? "self-start pt-1" : ""])
|
|
90
|
+
}, [
|
|
91
|
+
g("div", {
|
|
92
|
+
class: b(d["label-trailing"] ? "flex items-center justify-between gap-3" : "")
|
|
93
|
+
}, [
|
|
94
|
+
(a(), L(T(e.for ? "label" : "span"), {
|
|
95
|
+
for: e.for,
|
|
96
|
+
class: b(["break-words", [y.value, e.labelHidden ? "" : e.labelLines ? o[e.labelLines] : "block"]])
|
|
97
|
+
}, {
|
|
98
|
+
default: _(() => [
|
|
99
|
+
h(v(e.label), 1),
|
|
100
|
+
e.required ? (a(), s("span", se, " *")) : n("", !0)
|
|
101
|
+
]),
|
|
102
|
+
_: 1
|
|
103
|
+
}, 8, ["for", "class"])),
|
|
104
|
+
f(p.$slots, "label-trailing")
|
|
105
|
+
], 2),
|
|
106
|
+
e.sub || d.sub ? (a(), s("small", {
|
|
107
|
+
key: 0,
|
|
108
|
+
id: e.subId,
|
|
109
|
+
class: "mt-0.5 block text-footnote text-content-muted"
|
|
110
|
+
}, [
|
|
111
|
+
f(p.$slots, "sub", {}, () => [
|
|
112
|
+
h(v(e.sub), 1)
|
|
113
|
+
])
|
|
114
|
+
], 8, ne)) : n("", !0)
|
|
115
|
+
], 2)) : n("", !0),
|
|
116
|
+
g("div", {
|
|
117
|
+
class: b(["flex min-w-0 items-center gap-2", u.value === "value" ? "justify-end text-right" : u.value === "setting" ? "flex-wrap justify-end text-right" : u.value === "entry" ? "compact:justify-end" : ""])
|
|
118
|
+
}, [
|
|
119
|
+
f(p.$slots, "default", {}, () => [
|
|
120
|
+
w.value ? (a(), s("span", ie, v(e.value), 1)) : n("", !0)
|
|
121
|
+
]),
|
|
122
|
+
f(p.$slots, "trailing"),
|
|
123
|
+
e.to ? (a(), L(t(I), {
|
|
124
|
+
key: 0,
|
|
125
|
+
name: "arrowRightSLine",
|
|
126
|
+
size: 18,
|
|
127
|
+
class: "shrink-0 text-content-disabled"
|
|
128
|
+
})) : n("", !0)
|
|
129
|
+
], 2)
|
|
130
|
+
], 2),
|
|
131
|
+
e.error ? (a(), s("p", {
|
|
132
|
+
key: 0,
|
|
133
|
+
id: e.errorId,
|
|
134
|
+
class: "mt-1 flex items-start gap-1.5 text-footnote text-content-destructive",
|
|
135
|
+
role: "alert"
|
|
136
|
+
}, [
|
|
137
|
+
V(t(I), {
|
|
138
|
+
name: "alertTriangle",
|
|
139
|
+
size: 14,
|
|
140
|
+
class: "mt-px shrink-0"
|
|
141
|
+
}),
|
|
142
|
+
h(" " + v(e.error), 1)
|
|
143
|
+
], 8, de)) : n("", !0)
|
|
144
|
+
])
|
|
145
|
+
]),
|
|
146
|
+
_: 3
|
|
147
|
+
}, 8, ["to", "data-layout", "data-field-error", "class"]));
|
|
148
|
+
}
|
|
149
|
+
}), ce = ["title"], fe = {
|
|
150
|
+
key: 0,
|
|
151
|
+
class: "mr-1"
|
|
152
|
+
}, ve = {
|
|
153
|
+
key: 1,
|
|
154
|
+
class: "ml-1 text-content-muted"
|
|
155
|
+
}, me = {
|
|
156
|
+
key: 3,
|
|
157
|
+
class: "block text-body text-content-disabled"
|
|
158
|
+
}, be = {
|
|
159
|
+
key: 0,
|
|
160
|
+
class: "sr-only"
|
|
161
|
+
}, ye = ["data-field-error"], pe = ["for"], ge = {
|
|
162
|
+
key: 0,
|
|
163
|
+
class: "text-content-destructive",
|
|
164
|
+
"aria-hidden": "true"
|
|
165
|
+
}, xe = {
|
|
166
|
+
key: 1,
|
|
167
|
+
class: "flex min-w-0 items-center gap-2"
|
|
168
|
+
}, he = { class: "min-w-0 flex-1" }, ke = ["id"], we = ["id"], Ee = /* @__PURE__ */ C({
|
|
169
|
+
__name: "Field",
|
|
170
|
+
props: /* @__PURE__ */ M({
|
|
171
|
+
label: {},
|
|
172
|
+
labelHidden: { type: Boolean },
|
|
173
|
+
hint: {},
|
|
174
|
+
error: {},
|
|
175
|
+
required: { type: Boolean },
|
|
176
|
+
editable: { type: Boolean },
|
|
177
|
+
disabled: { type: Boolean },
|
|
178
|
+
lockedReason: {},
|
|
179
|
+
presentation: {},
|
|
180
|
+
name: {},
|
|
181
|
+
value: { type: [String, Number, Boolean, null] },
|
|
182
|
+
prefix: {},
|
|
183
|
+
suffix: {},
|
|
184
|
+
valueStyle: {},
|
|
185
|
+
rowLayout: {},
|
|
186
|
+
rowLabelAlign: {}
|
|
187
|
+
}, { ...W, value: void 0, prefix: void 0, suffix: void 0, valueStyle: void 0, rowLayout: "entry", rowLabelAlign: "center" }),
|
|
188
|
+
setup(i) {
|
|
189
|
+
const e = i, { t: d } = O(), c = F(), k = G(), m = R(), { editable: o, locked: u } = oe(e), S = K(), y = r(() => e.name ?? S), w = r(() => `${y.value}-hint`), p = r(() => `${y.value}-error`);
|
|
190
|
+
if (m?.registerField) {
|
|
191
|
+
const l = k["data-field-key"], N = m.registerField(typeof l == "string" ? l : void 0, r(() => e.disabled));
|
|
192
|
+
A(N);
|
|
193
|
+
}
|
|
194
|
+
const x = r(() => {
|
|
195
|
+
const l = e.value;
|
|
196
|
+
return l == null ? !1 : typeof l == "string" ? l.length > 0 : typeof l == "number" ? !Number.isNaN(l) : !0;
|
|
197
|
+
}), E = r(() => typeof e.value == "boolean" ? e.value ? d("core.form.yes") : d("core.form.no") : e.value), D = r(() => !!m && !o.value && m.hideEmpty.value && !x.value && !c.readonly), q = r(() => [e.hint && o.value ? w.value : null, e.error ? p.value : null].filter(Boolean).join(" ") || void 0), $ = r(() => {
|
|
198
|
+
const l = o.value ? e.rowLayout : e.rowLayout === "stacked" ? "stacked" : "value";
|
|
199
|
+
return e.labelHidden && (l === "entry" || l === "value") ? "stacked" : l;
|
|
200
|
+
}), H = r(
|
|
201
|
+
() => o.value && !u.value && e.required ? { "data-field-required": "true", "data-field-filled": x.value ? "true" : void 0 } : {}
|
|
202
|
+
);
|
|
203
|
+
return (l, N) => t(m) && !D.value ? (a(), L(ue, j({ key: 0 }, H.value, {
|
|
204
|
+
label: e.label,
|
|
205
|
+
"label-hidden": e.labelHidden,
|
|
206
|
+
for: t(o) ? y.value : void 0,
|
|
207
|
+
sub: t(o) ? e.hint : void 0,
|
|
208
|
+
"sub-id": w.value,
|
|
209
|
+
required: t(o) && !t(u) && e.required,
|
|
210
|
+
layout: $.value,
|
|
211
|
+
"label-align": $.value === "entry" ? e.rowLabelAlign : void 0,
|
|
212
|
+
error: t(o) ? e.error : void 0,
|
|
213
|
+
"error-id": p.value,
|
|
214
|
+
"data-field-locked": t(u) ? "true" : void 0
|
|
215
|
+
}), P({
|
|
216
|
+
default: _(() => [
|
|
217
|
+
g("div", {
|
|
218
|
+
class: "relative w-full min-w-0",
|
|
219
|
+
title: t(u) ? e.lockedReason : void 0
|
|
220
|
+
}, [
|
|
221
|
+
g("div", {
|
|
222
|
+
class: b(t(o) ? $.value === "setting" ? "flex min-w-0 flex-col items-end" : $.value === "stacked" ? "flex min-w-0 flex-col items-stretch" : "flex min-w-0 flex-col items-start compact:items-end" : "")
|
|
223
|
+
}, [
|
|
224
|
+
t(o) ? f(l.$slots, "default", {
|
|
225
|
+
id: y.value,
|
|
226
|
+
describedby: q.value,
|
|
227
|
+
invalid: !!e.error,
|
|
228
|
+
required: e.required,
|
|
229
|
+
disabled: e.disabled
|
|
230
|
+
}, void 0, void 0, 0) : t(c).readonly ? f(l.$slots, "readonly", {}, void 0, void 0, 1) : x.value ? (a(), s("span", {
|
|
231
|
+
key: 2,
|
|
232
|
+
class: b(["block break-words text-body text-content-strong", e.valueStyle === "mono" ? "font-mono" : e.valueStyle === "numeric" ? "tabular-nums" : ""])
|
|
233
|
+
}, [
|
|
234
|
+
e.prefix ? (a(), s("span", fe, v(e.prefix), 1)) : n("", !0),
|
|
235
|
+
h(v(E.value), 1),
|
|
236
|
+
e.suffix ? (a(), s("span", ve, v(e.suffix), 1)) : n("", !0)
|
|
237
|
+
], 2)) : (a(), s("span", me, v(t(d)("core.state.no_value")), 1))
|
|
238
|
+
], 2)
|
|
239
|
+
], 8, ce),
|
|
240
|
+
t(u) && e.lockedReason ? (a(), s("span", be, v(e.lockedReason), 1)) : n("", !0)
|
|
241
|
+
]),
|
|
242
|
+
_: 2
|
|
243
|
+
}, [
|
|
244
|
+
t(o) && t(c).trailing ? {
|
|
245
|
+
name: "trailing",
|
|
246
|
+
fn: _(() => [
|
|
247
|
+
f(l.$slots, "trailing")
|
|
248
|
+
]),
|
|
249
|
+
key: "0"
|
|
250
|
+
} : void 0,
|
|
251
|
+
t(o) && t(c).labelTrailing ? {
|
|
252
|
+
name: "label-trailing",
|
|
253
|
+
fn: _(() => [
|
|
254
|
+
f(l.$slots, "labelTrailing")
|
|
255
|
+
]),
|
|
256
|
+
key: "1"
|
|
257
|
+
} : void 0
|
|
258
|
+
]), 1040, ["label", "label-hidden", "for", "sub", "sub-id", "required", "layout", "label-align", "error", "error-id", "data-field-locked"])) : t(m) ? n("", !0) : (a(), s("div", j({ key: 1 }, H.value, {
|
|
259
|
+
"data-field-error": e.error ? "true" : void 0,
|
|
260
|
+
class: "flex min-w-0 flex-col gap-1"
|
|
261
|
+
}), [
|
|
262
|
+
e.label || t(o) && t(c).labelTrailing ? (a(), s("div", {
|
|
263
|
+
key: 0,
|
|
264
|
+
class: b(e.labelHidden && !(t(o) && t(c).labelTrailing) ? "contents" : "flex items-center justify-between gap-3")
|
|
265
|
+
}, [
|
|
266
|
+
e.label ? (a(), s("label", {
|
|
267
|
+
key: 0,
|
|
268
|
+
for: t(o) ? y.value : void 0,
|
|
269
|
+
class: b(e.labelHidden ? "sr-only" : "text-footnote font-medium text-content-muted")
|
|
270
|
+
}, [
|
|
271
|
+
h(v(e.label), 1),
|
|
272
|
+
t(o) && e.required ? (a(), s("span", ge, " *")) : n("", !0)
|
|
273
|
+
], 10, pe)) : n("", !0),
|
|
274
|
+
t(o) ? f(l.$slots, "labelTrailing", {}, void 0, void 0, 1) : n("", !0)
|
|
275
|
+
], 2)) : n("", !0),
|
|
276
|
+
t(o) && t(c).trailing ? (a(), s("div", xe, [
|
|
277
|
+
g("div", he, [
|
|
278
|
+
f(l.$slots, "default", {
|
|
279
|
+
id: y.value,
|
|
280
|
+
describedby: q.value,
|
|
281
|
+
invalid: !!e.error,
|
|
282
|
+
required: e.required,
|
|
283
|
+
disabled: e.disabled
|
|
284
|
+
})
|
|
285
|
+
]),
|
|
286
|
+
f(l.$slots, "trailing")
|
|
287
|
+
])) : t(o) ? f(l.$slots, "default", {
|
|
288
|
+
id: y.value,
|
|
289
|
+
describedby: q.value,
|
|
290
|
+
invalid: !!e.error,
|
|
291
|
+
required: e.required,
|
|
292
|
+
disabled: e.disabled
|
|
293
|
+
}, void 0, void 0, 2) : t(c).readonly ? f(l.$slots, "readonly", {}, void 0, void 0, 3) : (a(), s("span", {
|
|
294
|
+
key: 4,
|
|
295
|
+
class: b(["text-body", x.value ? "text-content-strong" : "text-content-disabled"])
|
|
296
|
+
}, v(x.value ? `${e.prefix ?? ""}${E.value}${e.suffix ?? ""}` : t(d)("core.state.no_value")), 3)),
|
|
297
|
+
e.hint && t(o) ? (a(), s("p", {
|
|
298
|
+
key: 5,
|
|
299
|
+
id: w.value,
|
|
300
|
+
class: "text-footnote text-content-muted"
|
|
301
|
+
}, v(e.hint), 9, ke)) : n("", !0),
|
|
302
|
+
e.error ? (a(), s("p", {
|
|
303
|
+
key: 6,
|
|
304
|
+
id: p.value,
|
|
305
|
+
role: "alert",
|
|
306
|
+
class: "flex items-start gap-1.5 text-footnote text-content-destructive"
|
|
307
|
+
}, [
|
|
308
|
+
V(t(I), {
|
|
309
|
+
name: "alertTriangle",
|
|
310
|
+
size: 14,
|
|
311
|
+
class: "mt-px shrink-0"
|
|
312
|
+
}),
|
|
313
|
+
h(" " + v(e.error), 1)
|
|
314
|
+
], 8, we)) : n("", !0)
|
|
315
|
+
], 16, ye));
|
|
316
|
+
}
|
|
317
|
+
}), _e = "rounded-control transition-[background-color,box-shadow,opacity] duration-motion-fast ease-motion-standard";
|
|
318
|
+
function He(i, e) {
|
|
319
|
+
const d = !!R();
|
|
320
|
+
return r(() => d ? Y({ kind: i, state: e() }) : [_e, ...J(i, e()).map(([c]) => c)].join(" "));
|
|
321
|
+
}
|
|
322
|
+
export {
|
|
323
|
+
Ee as _,
|
|
324
|
+
R as a,
|
|
325
|
+
W as b,
|
|
326
|
+
He as c,
|
|
327
|
+
ee as d,
|
|
328
|
+
ue as e,
|
|
329
|
+
Re as f,
|
|
330
|
+
X as g,
|
|
331
|
+
Z as h,
|
|
332
|
+
te as i,
|
|
333
|
+
oe as u
|
|
334
|
+
};
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { hasInjectionContext as t, inject as i } from "vue";
|
|
2
2
|
import { useI18n as u } from "vue-i18n";
|
|
3
3
|
import { a } from "./error-CD7x0Jrz.js";
|
|
4
|
-
const d = Symbol("vue-core.describeError");
|
|
5
|
-
function
|
|
4
|
+
const d = Symbol("vue-core.describeError"), f = Symbol("vue-core.describeFieldError");
|
|
5
|
+
function h() {
|
|
6
|
+
return t() ? i(f, null) : null;
|
|
7
|
+
}
|
|
8
|
+
function l() {
|
|
6
9
|
return t() ? i(d, null) : null;
|
|
7
10
|
}
|
|
8
|
-
function
|
|
11
|
+
function p({ t: r, te: c }) {
|
|
9
12
|
return (e, { fallback: s } = {}) => {
|
|
10
13
|
const o = s ?? r("core.errors.unexpected");
|
|
11
14
|
if (!a(e)) return o;
|
|
@@ -37,12 +40,14 @@ function l({ t: r, te: c }) {
|
|
|
37
40
|
return e.status === 429 ? r("core.errors.rate_limited") : s ?? (e.message || r("core.errors.unexpected"));
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
|
-
function
|
|
41
|
-
const { t: r, te: c } = u(), e =
|
|
43
|
+
function y() {
|
|
44
|
+
const { t: r, te: c } = u(), e = l(), s = p({ t: (o, n) => r(o, n ?? {}), te: (o) => c(o) });
|
|
42
45
|
return e ? (o, n) => e(o) ?? s(o, n) : s;
|
|
43
46
|
}
|
|
44
47
|
export {
|
|
45
|
-
|
|
48
|
+
l as a,
|
|
46
49
|
d as b,
|
|
47
|
-
|
|
50
|
+
f as c,
|
|
51
|
+
h as d,
|
|
52
|
+
y as u
|
|
48
53
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useI18n as f } from "vue-i18n";
|
|
2
|
+
import { a as c } from "./error-CD7x0Jrz.js";
|
|
3
|
+
import { u as m } from "./format-B8mJm946.js";
|
|
4
|
+
import { u as l } from "./describeError-B-NMa--w.js";
|
|
5
|
+
function E() {
|
|
6
|
+
const { t: i, te: u } = f(), a = m(), d = l(), s = (e) => [`errors.${e}`, `core.errors.${e}`].find((t) => u(t));
|
|
7
|
+
function n(e, t) {
|
|
8
|
+
if (c(e) && e.code) {
|
|
9
|
+
const r = s(e.code), o = typeof e.params?.locked_until == "string" ? new Date(e.params.locked_until) : null;
|
|
10
|
+
if (r && o && !Number.isNaN(o.getTime())) return i(r, { ...e.params, locked_until: a.time(o) });
|
|
11
|
+
}
|
|
12
|
+
return d(e, t === void 0 ? void 0 : { fallback: t });
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
sentence: n,
|
|
16
|
+
describeFieldError: (e) => {
|
|
17
|
+
const t = s(e);
|
|
18
|
+
return t === void 0 ? e : i(t);
|
|
19
|
+
},
|
|
20
|
+
failureMessage: (e, t) => c(t) && t.code && (e === "failed" || e === "forbidden" || e === "conflict") ? n(t) : void 0
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
E as u
|
|
25
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IconName } from "../icon";
|
|
2
|
-
import { type FieldProps } from "./field";
|
|
2
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
3
3
|
import type { SelectOption } from "./options";
|
|
4
4
|
declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
5
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
@@ -14,7 +14,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
|
|
|
14
14
|
}) & Partial<{}>> & import("vue").PublicProps;
|
|
15
15
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
16
16
|
attrs: any;
|
|
17
|
-
slots:
|
|
17
|
+
slots: FieldSlots;
|
|
18
18
|
emit: (evt: "update:modelValue", value: Value) => void;
|
|
19
19
|
}>) => import("vue").VNode & {
|
|
20
20
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FieldProps } from "./field";
|
|
1
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
2
2
|
import type { SelectOption } from "./options";
|
|
3
3
|
declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
4
4
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
@@ -10,7 +10,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
|
|
|
10
10
|
}) & Partial<{}>> & import("vue").PublicProps;
|
|
11
11
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
12
12
|
attrs: any;
|
|
13
|
-
slots:
|
|
13
|
+
slots: FieldSlots;
|
|
14
14
|
emit: (evt: "update:modelValue", value: Value[]) => void;
|
|
15
15
|
}>) => import("vue").VNode & {
|
|
16
16
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ControlWidth } from "../controls";
|
|
2
|
-
import { type FieldProps } from "./field";
|
|
2
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
3
3
|
import type { SelectOption } from "./options";
|
|
4
4
|
declare const _default: <Value extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
5
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
@@ -31,7 +31,7 @@ declare const _default: <Value extends string | number>(__VLS_props: NonNullable
|
|
|
31
31
|
focus: () => void | undefined;
|
|
32
32
|
}>): void;
|
|
33
33
|
attrs: any;
|
|
34
|
-
slots:
|
|
34
|
+
slots: FieldSlots;
|
|
35
35
|
emit: ((evt: "picked", option: SelectOption<Value>) => void) & ((evt: "update:modelValue", value: Value | null) => void);
|
|
36
36
|
}>) => import("vue").VNode & {
|
|
37
37
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Day, type DisabledDates } from "./date/days";
|
|
2
2
|
import type { QuickPick } from "./date/quickPicks";
|
|
3
|
-
import { type FieldProps } from "./field";
|
|
3
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
4
4
|
/**
|
|
5
5
|
* A calendar day, without a time or a zone: `"2026-09-30"`, or `null`. Typing is the main way in and is forgiving: the
|
|
6
6
|
* app's own format (`30.09.2026.`), `30.9.` (this year), `+7` and `-1` (days from today) and the words for today and
|
|
@@ -22,10 +22,11 @@ type __VLS_Props = FieldProps & {
|
|
|
22
22
|
openOn?: Day;
|
|
23
23
|
quickPicks?: readonly QuickPick[];
|
|
24
24
|
};
|
|
25
|
+
type __VLS_Slots = FieldSlots;
|
|
25
26
|
type __VLS_PublicProps = __VLS_Props & {
|
|
26
27
|
modelValue?: string | null;
|
|
27
28
|
};
|
|
28
|
-
declare const
|
|
29
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
29
30
|
focus: () => void | undefined;
|
|
30
31
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
31
32
|
"update:modelValue": (value: string | null) => any;
|
|
@@ -38,6 +39,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
38
39
|
error: string;
|
|
39
40
|
required: boolean;
|
|
40
41
|
presentation: "control" | "value";
|
|
42
|
+
labelHidden: boolean;
|
|
41
43
|
hint: string;
|
|
42
44
|
editable: boolean;
|
|
43
45
|
lockedReason: string;
|
|
@@ -47,4 +49,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
47
49
|
openOn: Day;
|
|
48
50
|
quickPicks: readonly QuickPick[];
|
|
49
51
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
52
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
50
53
|
export default _default;
|
|
54
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
55
|
+
new (): {
|
|
56
|
+
$slots: S;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Day, type DisabledDates } from "./date/days";
|
|
2
2
|
import type { QuickPick } from "./date/quickPicks";
|
|
3
|
-
import { type FieldProps } from "./field";
|
|
3
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
4
4
|
/**
|
|
5
5
|
* A calendar day and a time on the clock of the user, without a zone: `"2026-09-30T14:35"`, or `null`; turning this
|
|
6
6
|
* wall-clock time into an instant (or back) is the feature's mapping. Typing is the main way in (`15.10.2026. 14:35`,
|
|
@@ -22,10 +22,11 @@ type __VLS_Props = FieldProps & {
|
|
|
22
22
|
minuteStep?: number;
|
|
23
23
|
quickPicks?: readonly QuickPick[];
|
|
24
24
|
};
|
|
25
|
+
type __VLS_Slots = FieldSlots;
|
|
25
26
|
type __VLS_PublicProps = __VLS_Props & {
|
|
26
27
|
modelValue?: string | null;
|
|
27
28
|
};
|
|
28
|
-
declare const
|
|
29
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
29
30
|
focus: () => void | undefined;
|
|
30
31
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
31
32
|
"update:modelValue": (value: string | null) => any;
|
|
@@ -38,6 +39,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
38
39
|
error: string;
|
|
39
40
|
required: boolean;
|
|
40
41
|
presentation: "control" | "value";
|
|
42
|
+
labelHidden: boolean;
|
|
41
43
|
hint: string;
|
|
42
44
|
editable: boolean;
|
|
43
45
|
lockedReason: string;
|
|
@@ -48,4 +50,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
48
50
|
quickPicks: readonly QuickPick[];
|
|
49
51
|
minuteStep: number;
|
|
50
52
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
53
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
51
54
|
export default _default;
|
|
55
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
56
|
+
new (): {
|
|
57
|
+
$slots: S;
|
|
58
|
+
};
|
|
59
|
+
};
|
package/dist/form/Field.vue.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ type __VLS_Slots = {
|
|
|
36
36
|
}) => unknown;
|
|
37
37
|
/** A custom read-only presentation (a picked record's card) when `value` is not enough. */
|
|
38
38
|
readonly?: () => unknown;
|
|
39
|
-
/** A row action after the control (a per-row Save). */
|
|
39
|
+
/** A row action after the control (a per-row Save), in a group's row and on a field of its own. */
|
|
40
40
|
trailing?: () => unknown;
|
|
41
41
|
/** At the end of the label's line while editing (the language tabs of `I18nField`). */
|
|
42
42
|
labelTrailing?: () => unknown;
|
|
@@ -50,6 +50,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
50
50
|
value: string | number | boolean | null;
|
|
51
51
|
prefix: string;
|
|
52
52
|
presentation: "control" | "value";
|
|
53
|
+
labelHidden: boolean;
|
|
53
54
|
hint: string;
|
|
54
55
|
editable: boolean;
|
|
55
56
|
lockedReason: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FieldProps } from "./field";
|
|
1
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
2
2
|
/**
|
|
3
3
|
* A file to upload. The field holds the chosen `File` and checks what it can (type and size) before the form does;
|
|
4
4
|
* the upload itself is the app's (the form's `send` puts the file in a multipart body, or hands it to an uploader).
|
|
@@ -17,10 +17,11 @@ type __VLS_Props = FieldProps & {
|
|
|
17
17
|
maxSize?: number;
|
|
18
18
|
};
|
|
19
19
|
declare function clear(): void;
|
|
20
|
+
type __VLS_Slots = FieldSlots;
|
|
20
21
|
type __VLS_PublicProps = __VLS_Props & {
|
|
21
22
|
modelValue?: File | null;
|
|
22
23
|
};
|
|
23
|
-
declare const
|
|
24
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
24
25
|
clear: typeof clear;
|
|
25
26
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
26
27
|
"update:modelValue": (value: File | null) => any;
|
|
@@ -34,10 +35,17 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
34
35
|
required: boolean;
|
|
35
36
|
presentation: "control" | "value";
|
|
36
37
|
variant: "button" | "dropzone";
|
|
38
|
+
labelHidden: boolean;
|
|
37
39
|
hint: string;
|
|
38
40
|
editable: boolean;
|
|
39
41
|
lockedReason: string;
|
|
40
42
|
accept: readonly string[];
|
|
41
43
|
maxSize: number;
|
|
42
44
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
45
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
43
46
|
export default _default;
|
|
47
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
48
|
+
new (): {
|
|
49
|
+
$slots: S;
|
|
50
|
+
};
|
|
51
|
+
};
|
|
@@ -8,7 +8,7 @@ import type { Form } from "./useForm";
|
|
|
8
8
|
* <FormErrors :form="form" :label="fieldLabel" />
|
|
9
9
|
*
|
|
10
10
|
* A field counts as shown while an element carries `data-field-key="<name>"` (`form.bind()` sets it; `fieldKey(path)` does for a field wired by hand,
|
|
11
|
-
* such as one inside a list), or carries the name of something that contains it.
|
|
11
|
+
* such as one inside a list), or carries the name of something that contains it. `useHiddenFieldErrors` is the same list for your own use.
|
|
12
12
|
*/
|
|
13
13
|
type __VLS_Props = {
|
|
14
14
|
form: Pick<Form<object>, "failure" | "errors">;
|
|
@@ -12,6 +12,8 @@ import { type FormRowLayout } from "./field";
|
|
|
12
12
|
*/
|
|
13
13
|
type __VLS_Props = {
|
|
14
14
|
label?: string;
|
|
15
|
+
/** The label is read by screen readers but not drawn; the row lays out as if it had none. */
|
|
16
|
+
labelHidden?: boolean;
|
|
15
17
|
/** The id of the control the label names (editable rows). */
|
|
16
18
|
for?: string;
|
|
17
19
|
/** A secondary line under the label. */
|
|
@@ -50,6 +52,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
50
52
|
required: boolean;
|
|
51
53
|
value: string | number | null;
|
|
52
54
|
for: string;
|
|
55
|
+
labelHidden: boolean;
|
|
53
56
|
subId: string;
|
|
54
57
|
layout: FormRowLayout;
|
|
55
58
|
errorId: string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FieldProps } from "./field";
|
|
1
|
+
import { type FieldProps, type FieldSlots } from "./field";
|
|
2
2
|
import { type I18nText } from "./i18nText";
|
|
3
3
|
/**
|
|
4
4
|
* One text in several languages: the title of an advert, a product name. A segment per language sits next to the label,
|
|
@@ -21,10 +21,11 @@ type __VLS_Props = FieldProps & {
|
|
|
21
21
|
placeholder?: string;
|
|
22
22
|
maxLength?: number;
|
|
23
23
|
};
|
|
24
|
+
type __VLS_Slots = Pick<FieldSlots, "trailing">;
|
|
24
25
|
type __VLS_PublicProps = __VLS_Props & {
|
|
25
26
|
modelValue?: I18nText;
|
|
26
27
|
};
|
|
27
|
-
declare const
|
|
28
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
28
29
|
focus: () => void | undefined;
|
|
29
30
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
30
31
|
"update:modelValue": (value: I18nText) => any;
|
|
@@ -39,6 +40,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
39
40
|
required: boolean;
|
|
40
41
|
presentation: "control" | "value";
|
|
41
42
|
rows: number;
|
|
43
|
+
labelHidden: boolean;
|
|
42
44
|
hint: string;
|
|
43
45
|
editable: boolean;
|
|
44
46
|
lockedReason: string;
|
|
@@ -48,4 +50,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
48
50
|
multiline: boolean;
|
|
49
51
|
maxLength: number;
|
|
50
52
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
53
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
51
54
|
export default _default;
|
|
55
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
56
|
+
new (): {
|
|
57
|
+
$slots: S;
|
|
58
|
+
};
|
|
59
|
+
};
|