@wssto2/vue-core 0.4.15 → 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.
Files changed (74) hide show
  1. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-CkvS5W6K.js → ActionRow.vue_vue_type_script_setup_true_lang-DOjn7fqy.js} +1 -1
  2. package/dist/{Activity-4q26REYj.js → Activity-CVO3sJwy.js} +4 -4
  3. package/dist/{Changes-CKIuGF8O.js → Changes-Bzvl3cEx.js} +3 -3
  4. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-B17cUOzj.js → CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js} +2 -2
  5. package/dist/DateField.vue_vue_type_script_setup_true_lang-BufoFwVQ.js +278 -0
  6. package/dist/{DeadLetters-DPGcQOz1.js → DeadLetters-DmwUtgf9.js} +2 -2
  7. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-noYI9QMk.js → FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js} +1 -1
  8. package/dist/{FormView.vue_vue_type_script_setup_true_lang-BcIbTMHN.js → FormView.vue_vue_type_script_setup_true_lang-Dz5TZt92.js} +1 -1
  9. package/dist/{General-CUA9b3ML.js → General-CUEjJBD4.js} +6 -6
  10. package/dist/{NewRolePage-DBfCvDWA.js → NewRolePage-Cyn-oV6r.js} +2 -2
  11. package/dist/NumberField.vue_vue_type_script_setup_true_lang-a8kN3A7k.js +150 -0
  12. package/dist/{ProfilePage-On-eAiJ-.js → ProfilePage-I74SQBFO.js} +4 -4
  13. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-fvAf3rQm.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ce6wjptT.js} +7 -7
  14. package/dist/{RolePage-B8oul55j.js → RolePage-DWQP3qQl.js} +5 -5
  15. package/dist/{RolesPage-DsXVivdj.js → RolesPage-BeEsHIQ2.js} +4 -4
  16. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMBkEmxr.js +81 -0
  17. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-DedKLLQK.js → SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js} +161 -139
  18. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-CirlMdHb.js → SessionList.vue_vue_type_script_setup_true_lang-DoUo68xE.js} +2 -2
  19. package/dist/{Sessions-BTyXDEuY.js → Sessions-D8IXcb5M.js} +2 -2
  20. package/dist/{SettingsPage-DHTmMgif.js → SettingsPage-DRQP2nrH.js} +6 -6
  21. package/dist/{SignIn-DU4DE2wj.js → SignIn-CAZkovhb.js} +4 -4
  22. package/dist/{SignInPage-BA22kyOp.js → SignInPage-D-49oLY3.js} +3 -3
  23. package/dist/{SignIns-C8QAZBaL.js → SignIns-BtNfgMLc.js} +1 -1
  24. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-0weBvsJf.js +87 -0
  25. package/dist/TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js +292 -0
  26. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-4wC3c0BM.js +91 -0
  27. package/dist/TimeField.vue_vue_type_script_setup_true_lang-pAdLPYXA.js +187 -0
  28. package/dist/{UserRecord-D1BNmYp9.js → UserRecord-BSbNuRFi.js} +5 -5
  29. package/dist/{UsersList-ltx3G23-.js → UsersList-DPHxcaDm.js} +6 -6
  30. package/dist/access/index.js +1 -1
  31. package/dist/app/application.d.ts +1 -1
  32. package/dist/collection/index.js +1 -1
  33. package/dist/{control-CX9BG2UB.js → control-B_Nwtmag.js} +96 -82
  34. package/dist/form/CardSelectField.vue.d.ts +2 -2
  35. package/dist/form/ChoiceChips.vue.d.ts +2 -2
  36. package/dist/form/ComboField.vue.d.ts +2 -2
  37. package/dist/form/DateField.vue.d.ts +9 -2
  38. package/dist/form/DateTimeField.vue.d.ts +9 -2
  39. package/dist/form/Field.vue.d.ts +1 -1
  40. package/dist/form/FileField.vue.d.ts +9 -2
  41. package/dist/form/I18nField.vue.d.ts +9 -2
  42. package/dist/form/MoneyField.vue.d.ts +9 -2
  43. package/dist/form/MonthYearField.vue.d.ts +9 -2
  44. package/dist/form/MultiSelectField.vue.d.ts +2 -2
  45. package/dist/form/NumberField.vue.d.ts +20 -2
  46. package/dist/form/PhotoField.vue.d.ts +9 -2
  47. package/dist/form/SegmentedField.vue.d.ts +2 -2
  48. package/dist/form/SelectField.vue.d.ts +2 -2
  49. package/dist/form/SwitchField.vue.d.ts +2 -2
  50. package/dist/form/TextField.vue.d.ts +9 -2
  51. package/dist/form/TextareaField.vue.d.ts +9 -2
  52. package/dist/form/TimeField.vue.d.ts +9 -2
  53. package/dist/form/field.d.ts +9 -0
  54. package/dist/form/index.d.ts +1 -1
  55. package/dist/form/index.js +1079 -881
  56. package/dist/i18n/index.d.ts +1 -0
  57. package/dist/i18n/index.js +31 -28
  58. package/dist/identity/index.js +1 -1
  59. package/dist/{index-DwdVrW6q.js → index-Bq96L43f.js} +12 -12
  60. package/dist/{index-BCw_Ki6z.js → index-CWeNiBX6.js} +2 -2
  61. package/dist/{index-Chh4z9xW.js → index-yKIOaisE.js} +7 -7
  62. package/dist/index.d.ts +1 -1
  63. package/dist/index.js +1 -1
  64. package/dist/notifications/index.js +1 -1
  65. package/dist/phone/index.js +1 -1
  66. package/dist/{status-cWCAMAmW.js → status-DzmySsWw.js} +1 -1
  67. package/package.json +1 -1
  68. package/dist/DateField.vue_vue_type_script_setup_true_lang-DehwWm78.js +0 -256
  69. package/dist/NumberField.vue_vue_type_script_setup_true_lang-Dm6FfJ2T.js +0 -126
  70. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-B2d55hrh.js +0 -59
  71. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-B2Z2hy_h.js +0 -65
  72. package/dist/TextField.vue_vue_type_script_setup_true_lang-nqnGG7Zc.js +0 -270
  73. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-BgIQyYtf.js +0 -69
  74. package/dist/TimeField.vue_vue_type_script_setup_true_lang-Dr0h-V_8.js +0 -165
@@ -0,0 +1,187 @@
1
+ import { computed as m, defineComponent as K, useModel as W, useTemplateRef as b, openBlock as d, createBlock as N, mergeProps as _, unref as o, createSlots as j, withCtx as u, createElementBlock as g, Fragment as P, createVNode as c, createTextVNode as G, toDisplayString as J, createCommentVNode as U, createElementVNode as h, normalizeClass as O, renderSlot as T, mergeModels as X, mergeDefaults as Y, nextTick as z } from "vue";
2
+ import { useI18n as M } from "vue-i18n";
3
+ import { _ as Z } from "./DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
4
+ import { u as ee } from "./format-B8mJm946.js";
5
+ import { _ as te } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
+ import { u as oe } from "./mediaQuery-CygcXmFW.js";
7
+ import { _ as le } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
8
+ import { c as ae, _ as re, f as se, b as ie } from "./control-B_Nwtmag.js";
9
+ import { d as ne, r as ue, t as F, p as me, u as de, a as ce, i as L, _ as pe, b as fe, c as ve } from "./useTypedEntry-aTfPBAhw.js";
10
+ function be(i) {
11
+ const { t: n } = M(), e = m(() => [n("core.form.time.words.now").toLowerCase(), "now"]);
12
+ return {
13
+ placeholder: m(() => n("core.form.time.placeholder")),
14
+ parse(l) {
15
+ if (e.value.includes(l.trim().toLowerCase())) return { value: F(i()) };
16
+ const a = me(l, i());
17
+ return "time" in a ? { value: a.time } : { error: a.error === "step" ? n("core.form.time.step", { step: i() }) : n("core.form.time.invalid") };
18
+ },
19
+ shortcuts: (l) => (l ?? ne).map((a) => ue(a, n("core.form.time.now"), F(i())))
20
+ };
21
+ }
22
+ const ye = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], ke = ["aria-label", "onClick"], Ve = /* @__PURE__ */ K({
23
+ __name: "TimeField",
24
+ props: /* @__PURE__ */ X(/* @__PURE__ */ Y({
25
+ label: {},
26
+ labelHidden: { type: Boolean },
27
+ hint: {},
28
+ error: {},
29
+ required: { type: Boolean },
30
+ editable: { type: Boolean },
31
+ disabled: { type: Boolean },
32
+ lockedReason: {},
33
+ presentation: {},
34
+ name: {},
35
+ minuteStep: {},
36
+ quickTimes: {}
37
+ }, { ...ie, minuteStep: 1, quickTimes: void 0 }), {
38
+ modelValue: { default: null },
39
+ modelModifiers: {}
40
+ }),
41
+ emits: ["update:modelValue"],
42
+ setup(i, { expose: n }) {
43
+ const e = i, l = W(i, "modelValue"), { t: a } = M(), I = ee(), Q = oe(), $ = b("input"), p = b("popover"), x = b("panel"), q = b("sheet"), y = be(() => e.minuteStep), r = de({ model: l, display: (t) => t, parse: y.parse }), C = m(() => y.shortcuts(e.quickTimes)), V = m(() => e.error || r.message.value), R = ae("date", () => V.value ? "error" : e.disabled ? "locked" : "rest"), A = m(() => {
44
+ const t = ce(l.value);
45
+ return t ? I.time(new Date(2e3, 0, 1, t.hour, t.minute)) : null;
46
+ }), S = m(() => L(r.typed.value) ? r.typed.value : L(l.value) ? l.value : null);
47
+ async function k(t) {
48
+ e.disabled || (p.value?.present(), t && (await z(), await z(), x.value?.querySelector("[role=listbox]")?.focus()));
49
+ }
50
+ function H(t) {
51
+ t.key === "Enter" ? (r.commit(), p.value?.dismiss()) : t.key === "ArrowDown" && (t.preventDefault(), k(!0));
52
+ }
53
+ return n({ focus: () => $.value?.focus() }), (t, s) => (d(), N(re, _({ ...o(se)(e), error: V.value }, {
54
+ value: A.value,
55
+ "value-style": "numeric"
56
+ }), j({
57
+ default: u(({ id: B, describedby: D, invalid: E }) => [
58
+ o(Q) ? (d(), g(P, { key: 0 }, [
59
+ c(Z, _({ id: B, "aria-describedby": D }, {
60
+ disabled: e.disabled,
61
+ invalid: E,
62
+ placeholder: o(a)("core.form.select.choose"),
63
+ onClick: s[0] || (s[0] = (f) => q.value?.present())
64
+ }), {
65
+ default: u(() => [
66
+ l.value ? (d(), g(P, { key: 0 }, [
67
+ G(J(l.value), 1)
68
+ ], 64)) : U("", !0)
69
+ ]),
70
+ _: 1
71
+ }, 16, ["disabled", "invalid", "placeholder"]),
72
+ c(pe, {
73
+ ref_key: "sheet",
74
+ ref: q,
75
+ title: e.label ?? o(a)("core.form.time.label"),
76
+ mode: "time",
77
+ "model-value": l.value,
78
+ shortcuts: C.value,
79
+ step: e.minuteStep,
80
+ clearable: !e.required,
81
+ "onUpdate:modelValue": o(r).set
82
+ }, null, 8, ["title", "model-value", "shortcuts", "step", "clearable", "onUpdate:modelValue"])
83
+ ], 64)) : (d(), N(le, {
84
+ key: 1,
85
+ ref_key: "popover",
86
+ ref: p,
87
+ label: e.label ?? o(a)("core.form.time.label"),
88
+ width: "sm",
89
+ placement: "bottom-start",
90
+ arrow: !1,
91
+ autofocus: !1
92
+ }, {
93
+ trigger: u(({ attrs: f, presented: w }) => [
94
+ h("div", {
95
+ class: O(["inline-flex max-w-full items-center gap-2", o(R)])
96
+ }, [
97
+ h("input", _({
98
+ id: B,
99
+ ref_key: "input",
100
+ ref: $
101
+ }, f, {
102
+ type: "text",
103
+ role: "combobox",
104
+ autocomplete: "off",
105
+ size: "10",
106
+ name: e.name,
107
+ value: o(r).text.value,
108
+ placeholder: o(y).placeholder.value,
109
+ disabled: e.disabled,
110
+ required: e.required,
111
+ "aria-required": e.required || void 0,
112
+ "aria-invalid": E || void 0,
113
+ "aria-describedby": D,
114
+ 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",
115
+ onInput: s[1] || (s[1] = (v) => o(r).input(v.target.value)),
116
+ onBlur: s[2] || (s[2] = (v) => o(r).commit()),
117
+ onKeydown: H,
118
+ onClick: s[3] || (s[3] = (v) => k(!1))
119
+ }), null, 16, ye),
120
+ e.disabled ? U("", !0) : (d(), g("button", {
121
+ key: 0,
122
+ type: "button",
123
+ tabindex: "-1",
124
+ "aria-label": o(a)("core.form.time.open"),
125
+ class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
126
+ onClick: (v) => w ? p.value?.dismiss() : k(!0)
127
+ }, [
128
+ c(o(te), {
129
+ name: "timeLine",
130
+ size: 18
131
+ })
132
+ ], 8, ke))
133
+ ], 2)
134
+ ]),
135
+ default: u(({ dismiss: f }) => [
136
+ h("div", {
137
+ ref_key: "panel",
138
+ ref: x,
139
+ class: "flex flex-col gap-2.5"
140
+ }, [
141
+ c(fe, {
142
+ "model-value": S.value,
143
+ step: e.minuteStep,
144
+ "onUpdate:modelValue": o(r).set
145
+ }, null, 8, ["model-value", "step", "onUpdate:modelValue"]),
146
+ c(ve, {
147
+ items: C.value,
148
+ selected: S.value,
149
+ onPick: (w) => {
150
+ o(r).set(w), f();
151
+ }
152
+ }, null, 8, ["items", "selected", "onPick"])
153
+ ], 512)
154
+ ]),
155
+ _: 2
156
+ }, 1032, ["label"]))
157
+ ]),
158
+ _: 2
159
+ }, [
160
+ t.$slots.trailing ? {
161
+ name: "trailing",
162
+ fn: u(() => [
163
+ T(t.$slots, "trailing")
164
+ ]),
165
+ key: "0"
166
+ } : void 0,
167
+ t.$slots.labelTrailing ? {
168
+ name: "labelTrailing",
169
+ fn: u(() => [
170
+ T(t.$slots, "labelTrailing")
171
+ ]),
172
+ key: "1"
173
+ } : void 0,
174
+ t.$slots.readonly ? {
175
+ name: "readonly",
176
+ fn: u(() => [
177
+ T(t.$slots, "readonly")
178
+ ]),
179
+ key: "2"
180
+ } : void 0
181
+ ]), 1040, ["value"]));
182
+ }
183
+ });
184
+ export {
185
+ Ve as _,
186
+ be as u
187
+ };
@@ -3,7 +3,7 @@ import { useI18n as A } from "vue-i18n";
3
3
  import { a as F } from "./neighbors-DVN_cADL.js";
4
4
  import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
5
5
  import { u as J } from "./describeError-B-NMa--w.js";
6
- import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-DwdVrW6q.js";
6
+ import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-Bq96L43f.js";
7
7
  import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
8
8
  import { t as k } from "./toast-CqSDTWRX.js";
9
9
  import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-D5Cnb4_O.js";
@@ -14,12 +14,12 @@ import { A as re } from "./access-DmAceEo5.js";
14
14
  import { _ as ne } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
15
  import { u as ie } from "./useLoad-M7V-AVwR.js";
16
16
  import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
17
- import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-noYI9QMk.js";
18
- import { e as B } from "./control-CX9BG2UB.js";
17
+ import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
18
+ import { e as B } from "./control-B_Nwtmag.js";
19
19
  import { u as z, _ as K } from "./useCommand-B-N6HJOz.js";
20
20
  import { u as U } from "./fieldMessages-DV6sESpn.js";
21
- import { u as ce, s as le } from "./status-cWCAMAmW.js";
22
- import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-nqnGG7Zc.js";
21
+ import { u as ce, s as le } from "./status-DzmySsWw.js";
22
+ import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js";
23
23
  const ue = /* @__PURE__ */ R({
24
24
  __name: "DeactivateDialog",
25
25
  props: {
@@ -1,18 +1,18 @@
1
1
  import { defineComponent as U, openBlock as p, createBlock as C, unref as e, withCtx as c, createVNode as r, mergeProps as i, useTemplateRef as V, computed as q, createTextVNode as z, toDisplayString as $, createCommentVNode as A, createElementBlock as S, normalizeClass as N } from "vue";
2
2
  import { useI18n as B } from "vue-i18n";
3
3
  import { useRouter as M } from "vue-router";
4
- import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-B17cUOzj.js";
4
+ import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js";
5
5
  import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
6
6
  import { u as F } from "./format-B8mJm946.js";
7
7
  import { u as L } from "./platform-q3cjODLx.js";
8
8
  import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
- import { i as K, f as E, M as W } from "./index-DwdVrW6q.js";
10
- import { U as j, u as H, s as J } from "./status-cWCAMAmW.js";
9
+ import { i as K, f as E, M as W } from "./index-Bq96L43f.js";
10
+ import { U as j, u as H, s as J } from "./status-DzmySsWw.js";
11
11
  import { u as O } from "./environment-Dva-SG8D.js";
12
12
  import { u as Q } from "./languages-BShG9LpE.js";
13
- import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-noYI9QMk.js";
14
- import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-DedKLLQK.js";
15
- import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-nqnGG7Zc.js";
13
+ import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-BokxZ7LU.js";
14
+ import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-C1Flb1hA.js";
15
+ import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-D3-R5XXG.js";
16
16
  import { u as Z, _ as ee } from "./useCommand-B-N6HJOz.js";
17
17
  import { t as se } from "./toast-CqSDTWRX.js";
18
18
  import { u as te } from "./fieldMessages-DV6sESpn.js";
@@ -1,4 +1,4 @@
1
- import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-Chh4z9xW.js";
1
+ import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-yKIOaisE.js";
2
2
  export {
3
3
  a as BindingRow,
4
4
  c as PersonAccess,
@@ -58,7 +58,7 @@ export interface ApplicationLocaleOptions {
58
58
  initial?: string;
59
59
  /** The locale whose texts stand in for missing ones. Default `en`. */
60
60
  fallback?: string;
61
- /** The locales the application offers. Default: the library's (`en`, `hr`, `bs`, `sl`). */
61
+ /** The locales the application offers. Default: the library's (`en`, `hr`, `bs`, `sl`, `sr-Latn`). */
62
62
  supported?: readonly string[];
63
63
  /**
64
64
  * The flag shown beside each locale's name in the language menu, as an ISO 3166-1 country code: `{ en: "GB", sl: "SI" }`.
@@ -1,5 +1,5 @@
1
1
  import { D as O, L as j, a as U, h as G, l as X, r as Z } from "../http-D_D9YbLH.js";
2
- import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-B17cUOzj.js";
2
+ import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-CD5zZ29o.js";
3
3
  import { u as W, a as Y } from "../neighbors-DVN_cADL.js";
4
4
  import { a as te, b as se } from "../rowLayout-D1cYQghV.js";
5
5
  import { _ as ae } from "../DataTable.vue_vue_type_script_setup_true_lang-ChS9ULwk.js";
@@ -1,4 +1,4 @@
1
- import { inject as q, ref as z, computed as r, onBeforeUnmount as A, defineComponent as C, useSlots as F, openBlock as l, createBlock as L, resolveDynamicComponent as T, unref as t, normalizeClass as b, withCtx as _, createElementBlock as s, renderSlot as v, createCommentVNode as n, createElementVNode as x, createTextVNode as h, toDisplayString as f, createVNode as V, useAttrs as G, useId as K, mergeProps as j, createSlots as P, mergeDefaults as M } from "vue";
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
2
  import { useI18n as O } from "vue-i18n";
3
3
  import { _ as I } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
4
4
  import { RouterLink as U } from "vue-router";
@@ -15,9 +15,9 @@ const W = {
15
15
  lockedReason: void 0,
16
16
  presentation: "control",
17
17
  name: void 0
18
- }, X = Symbol("vue-core.formGroup"), Z = Symbol("vue-core.formRowIndent"), ee = Symbol("vue-core.formEditable"), B = () => q(X, null), te = () => q(Z, 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
19
  function oe(i) {
20
- const e = B(), d = q(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);
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
21
  if (e) {
22
22
  const u = e.registerLocked(r(() => !!i.disabled && d.value && i.presentation !== "value"));
23
23
  A(u);
@@ -25,7 +25,7 @@ function oe(i) {
25
25
  return { editable: m, locked: o };
26
26
  }
27
27
  const le = ["label", "labelHidden", "hint", "error", "required", "editable", "disabled", "lockedReason", "presentation", "name"];
28
- function qe(i) {
28
+ function Re(i) {
29
29
  return Object.fromEntries(le.map((e) => [e, i[e]]));
30
30
  }
31
31
  const ae = {
@@ -68,8 +68,8 @@ const ae = {
68
68
  default:
69
69
  return "flex flex-col gap-1";
70
70
  }
71
- }), p = 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 (y, g) => (l(), L(T(e.to ? t(U) : "div"), {
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
73
  to: e.to,
74
74
  "data-test": "form-row",
75
75
  "data-layout": u.value,
@@ -77,50 +77,50 @@ const ae = {
77
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
78
  }, {
79
79
  default: _(() => [
80
- d.leading ? (l(), s("div", ae, [
81
- v(y.$slots, "leading")
80
+ d.leading ? (a(), s("div", ae, [
81
+ f(p.$slots, "leading")
82
82
  ])) : n("", !0),
83
- x("div", re, [
84
- x("div", {
83
+ g("div", re, [
84
+ g("div", {
85
85
  class: b(["min-w-0", S.value])
86
86
  }, [
87
- e.label || e.sub || d.sub ? (l(), s("div", {
87
+ e.label || e.sub || d.sub ? (a(), s("div", {
88
88
  key: 0,
89
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
90
  }, [
91
- x("div", {
91
+ g("div", {
92
92
  class: b(d["label-trailing"] ? "flex items-center justify-between gap-3" : "")
93
93
  }, [
94
- (l(), L(T(e.for ? "label" : "span"), {
94
+ (a(), L(T(e.for ? "label" : "span"), {
95
95
  for: e.for,
96
- class: b(["break-words", [p.value, e.labelHidden ? "" : e.labelLines ? o[e.labelLines] : "block"]])
96
+ class: b(["break-words", [y.value, e.labelHidden ? "" : e.labelLines ? o[e.labelLines] : "block"]])
97
97
  }, {
98
98
  default: _(() => [
99
- h(f(e.label), 1),
100
- e.required ? (l(), s("span", se, " *")) : n("", !0)
99
+ h(v(e.label), 1),
100
+ e.required ? (a(), s("span", se, " *")) : n("", !0)
101
101
  ]),
102
102
  _: 1
103
103
  }, 8, ["for", "class"])),
104
- v(y.$slots, "label-trailing")
104
+ f(p.$slots, "label-trailing")
105
105
  ], 2),
106
- e.sub || d.sub ? (l(), s("small", {
106
+ e.sub || d.sub ? (a(), s("small", {
107
107
  key: 0,
108
108
  id: e.subId,
109
109
  class: "mt-0.5 block text-footnote text-content-muted"
110
110
  }, [
111
- v(y.$slots, "sub", {}, () => [
112
- h(f(e.sub), 1)
111
+ f(p.$slots, "sub", {}, () => [
112
+ h(v(e.sub), 1)
113
113
  ])
114
114
  ], 8, ne)) : n("", !0)
115
115
  ], 2)) : n("", !0),
116
- x("div", {
116
+ g("div", {
117
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
118
  }, [
119
- v(y.$slots, "default", {}, () => [
120
- w.value ? (l(), s("span", ie, f(e.value), 1)) : n("", !0)
119
+ f(p.$slots, "default", {}, () => [
120
+ w.value ? (a(), s("span", ie, v(e.value), 1)) : n("", !0)
121
121
  ]),
122
- v(y.$slots, "trailing"),
123
- e.to ? (l(), L(t(I), {
122
+ f(p.$slots, "trailing"),
123
+ e.to ? (a(), L(t(I), {
124
124
  key: 0,
125
125
  name: "arrowRightSLine",
126
126
  size: 18,
@@ -128,7 +128,7 @@ const ae = {
128
128
  })) : n("", !0)
129
129
  ], 2)
130
130
  ], 2),
131
- e.error ? (l(), s("p", {
131
+ e.error ? (a(), s("p", {
132
132
  key: 0,
133
133
  id: e.errorId,
134
134
  class: "mt-1 flex items-start gap-1.5 text-footnote text-content-destructive",
@@ -139,7 +139,7 @@ const ae = {
139
139
  size: 14,
140
140
  class: "mt-px shrink-0"
141
141
  }),
142
- h(" " + f(e.error), 1)
142
+ h(" " + v(e.error), 1)
143
143
  ], 8, de)) : n("", !0)
144
144
  ])
145
145
  ]),
@@ -162,7 +162,10 @@ const ae = {
162
162
  key: 0,
163
163
  class: "text-content-destructive",
164
164
  "aria-hidden": "true"
165
- }, xe = ["id"], he = ["id"], Be = /* @__PURE__ */ C({
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({
166
169
  __name: "Field",
167
170
  props: /* @__PURE__ */ M({
168
171
  label: {},
@@ -183,111 +186,122 @@ const ae = {
183
186
  rowLabelAlign: {}
184
187
  }, { ...W, value: void 0, prefix: void 0, suffix: void 0, valueStyle: void 0, rowLayout: "entry", rowLabelAlign: "center" }),
185
188
  setup(i) {
186
- const e = i, { t: d } = O(), c = F(), k = G(), m = B(), { editable: o, locked: u } = oe(e), S = K(), p = r(() => e.name ?? S), w = r(() => `${p.value}-hint`), y = r(() => `${p.value}-error`);
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`);
187
190
  if (m?.registerField) {
188
- const a = k["data-field-key"], N = m.registerField(typeof a == "string" ? a : void 0, r(() => e.disabled));
191
+ const l = k["data-field-key"], N = m.registerField(typeof l == "string" ? l : void 0, r(() => e.disabled));
189
192
  A(N);
190
193
  }
191
- const g = r(() => {
192
- const a = e.value;
193
- return a == null ? !1 : typeof a == "string" ? a.length > 0 : typeof a == "number" ? !Number.isNaN(a) : !0;
194
- }), R = 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 && !g.value && !c.readonly), E = r(() => [e.hint && o.value ? w.value : null, e.error ? y.value : null].filter(Boolean).join(" ") || void 0), $ = r(() => {
195
- const a = o.value ? e.rowLayout : e.rowLayout === "stacked" ? "stacked" : "value";
196
- return e.labelHidden && (a === "entry" || a === "value") ? "stacked" : a;
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;
197
200
  }), H = r(
198
- () => o.value && !u.value && e.required ? { "data-field-required": "true", "data-field-filled": g.value ? "true" : void 0 } : {}
201
+ () => o.value && !u.value && e.required ? { "data-field-required": "true", "data-field-filled": x.value ? "true" : void 0 } : {}
199
202
  );
200
- return (a, N) => t(m) && !D.value ? (l(), L(ue, j({ key: 0 }, H.value, {
203
+ return (l, N) => t(m) && !D.value ? (a(), L(ue, j({ key: 0 }, H.value, {
201
204
  label: e.label,
202
205
  "label-hidden": e.labelHidden,
203
- for: t(o) ? p.value : void 0,
206
+ for: t(o) ? y.value : void 0,
204
207
  sub: t(o) ? e.hint : void 0,
205
208
  "sub-id": w.value,
206
209
  required: t(o) && !t(u) && e.required,
207
210
  layout: $.value,
208
211
  "label-align": $.value === "entry" ? e.rowLabelAlign : void 0,
209
212
  error: t(o) ? e.error : void 0,
210
- "error-id": y.value,
213
+ "error-id": p.value,
211
214
  "data-field-locked": t(u) ? "true" : void 0
212
215
  }), P({
213
216
  default: _(() => [
214
- x("div", {
217
+ g("div", {
215
218
  class: "relative w-full min-w-0",
216
219
  title: t(u) ? e.lockedReason : void 0
217
220
  }, [
218
- x("div", {
221
+ g("div", {
219
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" : "")
220
223
  }, [
221
- t(o) ? v(a.$slots, "default", {
222
- id: p.value,
223
- describedby: E.value,
224
+ t(o) ? f(l.$slots, "default", {
225
+ id: y.value,
226
+ describedby: q.value,
224
227
  invalid: !!e.error,
225
228
  required: e.required,
226
229
  disabled: e.disabled
227
- }, void 0, void 0, 0) : t(c).readonly ? v(a.$slots, "readonly", {}, void 0, void 0, 1) : g.value ? (l(), s("span", {
230
+ }, void 0, void 0, 0) : t(c).readonly ? f(l.$slots, "readonly", {}, void 0, void 0, 1) : x.value ? (a(), s("span", {
228
231
  key: 2,
229
232
  class: b(["block break-words text-body text-content-strong", e.valueStyle === "mono" ? "font-mono" : e.valueStyle === "numeric" ? "tabular-nums" : ""])
230
233
  }, [
231
- e.prefix ? (l(), s("span", fe, f(e.prefix), 1)) : n("", !0),
232
- h(f(R.value), 1),
233
- e.suffix ? (l(), s("span", ve, f(e.suffix), 1)) : n("", !0)
234
- ], 2)) : (l(), s("span", me, f(t(d)("core.state.no_value")), 1))
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))
235
238
  ], 2)
236
239
  ], 8, ce),
237
- t(u) && e.lockedReason ? (l(), s("span", be, f(e.lockedReason), 1)) : n("", !0)
240
+ t(u) && e.lockedReason ? (a(), s("span", be, v(e.lockedReason), 1)) : n("", !0)
238
241
  ]),
239
242
  _: 2
240
243
  }, [
241
244
  t(o) && t(c).trailing ? {
242
245
  name: "trailing",
243
246
  fn: _(() => [
244
- v(a.$slots, "trailing")
247
+ f(l.$slots, "trailing")
245
248
  ]),
246
249
  key: "0"
247
250
  } : void 0,
248
251
  t(o) && t(c).labelTrailing ? {
249
252
  name: "label-trailing",
250
253
  fn: _(() => [
251
- v(a.$slots, "labelTrailing")
254
+ f(l.$slots, "labelTrailing")
252
255
  ]),
253
256
  key: "1"
254
257
  } : void 0
255
- ]), 1040, ["label", "label-hidden", "for", "sub", "sub-id", "required", "layout", "label-align", "error", "error-id", "data-field-locked"])) : t(m) ? n("", !0) : (l(), s("div", j({ key: 1 }, H.value, {
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, {
256
259
  "data-field-error": e.error ? "true" : void 0,
257
260
  class: "flex min-w-0 flex-col gap-1"
258
261
  }), [
259
- e.label || t(o) && t(c).labelTrailing ? (l(), s("div", {
262
+ e.label || t(o) && t(c).labelTrailing ? (a(), s("div", {
260
263
  key: 0,
261
264
  class: b(e.labelHidden && !(t(o) && t(c).labelTrailing) ? "contents" : "flex items-center justify-between gap-3")
262
265
  }, [
263
- e.label ? (l(), s("label", {
266
+ e.label ? (a(), s("label", {
264
267
  key: 0,
265
- for: t(o) ? p.value : void 0,
268
+ for: t(o) ? y.value : void 0,
266
269
  class: b(e.labelHidden ? "sr-only" : "text-footnote font-medium text-content-muted")
267
270
  }, [
268
- h(f(e.label), 1),
269
- t(o) && e.required ? (l(), s("span", ge, " *")) : n("", !0)
271
+ h(v(e.label), 1),
272
+ t(o) && e.required ? (a(), s("span", ge, " *")) : n("", !0)
270
273
  ], 10, pe)) : n("", !0),
271
- t(o) ? v(a.$slots, "labelTrailing", {}, void 0, void 0, 1) : n("", !0)
274
+ t(o) ? f(l.$slots, "labelTrailing", {}, void 0, void 0, 1) : n("", !0)
272
275
  ], 2)) : n("", !0),
273
- t(o) ? v(a.$slots, "default", {
274
- id: p.value,
275
- describedby: E.value,
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,
276
290
  invalid: !!e.error,
277
291
  required: e.required,
278
292
  disabled: e.disabled
279
- }, void 0, void 0, 1) : t(c).readonly ? v(a.$slots, "readonly", {}, void 0, void 0, 2) : (l(), s("span", {
280
- key: 3,
281
- class: b(["text-body", g.value ? "text-content-strong" : "text-content-disabled"])
282
- }, f(g.value ? `${e.prefix ?? ""}${R.value}${e.suffix ?? ""}` : t(d)("core.state.no_value")), 3)),
283
- e.hint && t(o) ? (l(), s("p", {
293
+ }, void 0, void 0, 2) : t(c).readonly ? f(l.$slots, "readonly", {}, void 0, void 0, 3) : (a(), s("span", {
284
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,
285
299
  id: w.value,
286
300
  class: "text-footnote text-content-muted"
287
- }, f(e.hint), 9, xe)) : n("", !0),
288
- e.error ? (l(), s("p", {
289
- key: 5,
290
- id: y.value,
301
+ }, v(e.hint), 9, ke)) : n("", !0),
302
+ e.error ? (a(), s("p", {
303
+ key: 6,
304
+ id: p.value,
291
305
  role: "alert",
292
306
  class: "flex items-start gap-1.5 text-footnote text-content-destructive"
293
307
  }, [
@@ -296,23 +310,23 @@ const ae = {
296
310
  size: 14,
297
311
  class: "mt-px shrink-0"
298
312
  }),
299
- h(" " + f(e.error), 1)
300
- ], 8, he)) : n("", !0)
313
+ h(" " + v(e.error), 1)
314
+ ], 8, we)) : n("", !0)
301
315
  ], 16, ye));
302
316
  }
303
- }), ke = "rounded-control transition-[background-color,box-shadow,opacity] duration-motion-fast ease-motion-standard";
304
- function Re(i, e) {
305
- const d = !!B();
306
- return r(() => d ? Y({ kind: i, state: e() }) : [ke, ...J(i, e()).map(([c]) => c)].join(" "));
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(" "));
307
321
  }
308
322
  export {
309
- Be as _,
310
- B as a,
323
+ Ee as _,
324
+ R as a,
311
325
  W as b,
312
- Re as c,
326
+ He as c,
313
327
  ee as d,
314
328
  ue as e,
315
- qe as f,
329
+ Re as f,
316
330
  X as g,
317
331
  Z as h,
318
332
  te as i,
@@ -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>;