@wssto2/vue-core 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +4 -3
  3. package/bin/architecture/engine.mjs +3 -0
  4. package/bin/architecture/permissions.mjs +56 -0
  5. package/bin/architecture/rules.mjs +17 -0
  6. package/bin/commands/check-architecture.mjs +19 -0
  7. package/bin/config.mjs +2 -0
  8. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-BH3f0hda.js → AccessGate.vue_vue_type_script_setup_true_lang-Bg8JFAOT.js} +1 -1
  9. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-DybAIOHS.js → ActionRow.vue_vue_type_script_setup_true_lang-B5IMNnTf.js} +4 -4
  10. package/dist/{Activity-DOUuIkZR.js → Activity-CiYn5E6A.js} +7 -7
  11. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-d_dPurWG.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-oXWQTfBs.js} +1 -1
  12. package/dist/{Changes-BfcbVgmu.js → Changes-Cy8STpLX.js} +3 -3
  13. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-B5hSkJ2N.js → CollectionPage.vue_vue_type_script_setup_true_lang-Dr6nFNBB.js} +6 -6
  14. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DbRS37n3.js → DataTable.vue_vue_type_script_setup_true_lang-D372wlxR.js} +1 -1
  15. package/dist/{DateField.vue_vue_type_script_setup_true_lang-DzCvYHAf.js → DateField.vue_vue_type_script_setup_true_lang-D0KcfW8R.js} +17 -16
  16. package/dist/{DeadLetters-CuMvfXH8.js → DeadLetters-DhJkMpd_.js} +4 -4
  17. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-dsO1m9Mm.js → FormGroup.vue_vue_type_script_setup_true_lang-lvAuBG-0.js} +2 -2
  18. package/dist/FormRow.vue_vue_type_script_setup_true_lang-CpgNVQF4.js +160 -0
  19. package/dist/{FormView.vue_vue_type_script_setup_true_lang-Bq_Qa4py.js → FormView.vue_vue_type_script_setup_true_lang-D01Jr4UU.js} +5 -5
  20. package/dist/{General-B5vcSEhP.js → General-CwTPC5UP.js} +10 -10
  21. package/dist/{IncidentRecord-wmStcEag.js → IncidentRecord-hXEGuLGg.js} +13 -13
  22. package/dist/{IncidentsList-CFx5tsxP.js → IncidentsList-C41VyDwK.js} +6 -6
  23. package/dist/{NewRolePage-CZxAp7LR.js → NewRolePage-BYYZJkK7.js} +3 -3
  24. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-U-_kcnGr.js → NumberField.vue_vue_type_script_setup_true_lang-BhNZgEW6.js} +7 -6
  25. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-BPDh9s2m.js → PersonAccess.vue_vue_type_script_setup_true_lang-mYFuG-Y3.js} +56 -56
  26. package/dist/{ProfilePage-B-T8kBcc.js → ProfilePage-DGEsIycR.js} +13 -13
  27. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-Bt5mT19g.js → RecordHeader.vue_vue_type_script_setup_true_lang-B3BnYg1x.js} +1 -1
  28. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-DOiFuJnH.js → ResourcePage.vue_vue_type_script_setup_true_lang-1iZtj3rh.js} +1 -1
  29. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-CqSsNPCw.js → RoleEditor.vue_vue_type_script_setup_true_lang-BslSDDiM.js} +9 -9
  30. package/dist/{RolePage-zcUWpuDE.js → RolePage-C08ZUqw1.js} +9 -9
  31. package/dist/{RolesPage-C7_zWw-c.js → RolesPage-FOuY1VKg.js} +10 -10
  32. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BlCx9dVL.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DCTFxfPB.js} +2 -2
  33. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-zv_AxpBn.js → SegmentedField.vue_vue_type_script_setup_true_lang-CLR6EvzO.js} +13 -12
  34. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-CLkoPbGm.js → SelectField.vue_vue_type_script_setup_true_lang-D5xYofdb.js} +10 -9
  35. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-C2D_D5Hi.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CDr4WNIb.js} +9 -9
  36. package/dist/{ServiceAccountRecord-BYxpHzTR.js → ServiceAccountRecord-kWwIQGZb.js} +12 -12
  37. package/dist/{ServiceAccountsList-BUuK-RUj.js → ServiceAccountsList-CKy9_YHP.js} +8 -8
  38. package/dist/{Sessions-Cm-Kilwl.js → Sessions-BDc8gdYH.js} +4 -4
  39. package/dist/{SettingsPage-Bavl0K-F.js → SettingsPage-t-8kmFVT.js} +13 -13
  40. package/dist/{SignIn-SfEhFiyM.js → SignIn-CqtkvtCZ.js} +7 -7
  41. package/dist/{SignInPage-BU0n2ehq.js → SignInPage-DcdNKZIb.js} +4 -4
  42. package/dist/{SignIns-Ahbn5cO6.js → SignIns-D4-nGu0B.js} +3 -3
  43. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-Ds4q0bbl.js → SwitchField.vue_vue_type_script_setup_true_lang-CLtcuofe.js} +15 -14
  44. package/dist/{TextField.vue_vue_type_script_setup_true_lang-CWIeeZRE.js → TextField.vue_vue_type_script_setup_true_lang-CVGh-p3J.js} +7 -6
  45. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-D2j4s96s.js → TextareaField.vue_vue_type_script_setup_true_lang-YxUlNHSk.js} +6 -5
  46. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-C1mLvOkc.js → TimeField.vue_vue_type_script_setup_true_lang-DHNC_MLt.js} +30 -29
  47. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-jCXYFLtq.js → Timestamp.vue_vue_type_script_setup_true_lang-d_KuxWjH.js} +1 -1
  48. package/dist/{UserRecord-3pCKMHkq.js → UserRecord-CwZCr9Im.js} +10 -10
  49. package/dist/{UsersList-vw3aDpvo.js → UsersList-Cn19sFgv.js} +4 -4
  50. package/dist/access/index.js +4 -4
  51. package/dist/app/application.d.ts +2 -0
  52. package/dist/app/index.js +2 -2
  53. package/dist/app/validate.d.ts +3 -1
  54. package/dist/{application-CHPpOssP.js → application-CDSweJb9.js} +144 -142
  55. package/dist/collection/authors.d.ts +27 -0
  56. package/dist/collection/index.d.ts +2 -0
  57. package/dist/collection/index.js +81 -76
  58. package/dist/config/index.d.ts +42 -0
  59. package/dist/config/index.js +12 -3
  60. package/dist/content/Panel.vue.d.ts +1 -1
  61. package/dist/content/index.js +2 -2
  62. package/dist/{contributions-9CPT-Z5v.js → contributions-B0x5x5xD.js} +1 -1
  63. package/dist/form/CommandDialog.vue.d.ts +1 -1
  64. package/dist/form/DateField.vue.d.ts +1 -1
  65. package/dist/form/DateTimeField.vue.d.ts +1 -1
  66. package/dist/form/FileField.vue.d.ts +1 -1
  67. package/dist/form/FormRow.vue.d.ts +2 -2
  68. package/dist/form/I18nField.vue.d.ts +2 -2
  69. package/dist/form/TextField.vue.d.ts +1 -1
  70. package/dist/form/TextareaField.vue.d.ts +2 -2
  71. package/dist/form/date/value.d.ts +21 -0
  72. package/dist/form/index.d.ts +1 -0
  73. package/dist/form/index.js +745 -715
  74. package/dist/format/format.d.ts +8 -2
  75. package/dist/format/index.js +1 -1
  76. package/dist/format-C_HXlOYQ.js +136 -0
  77. package/dist/{guards-6fJxfUtk.js → guards-CNJ0ATVC.js} +1 -1
  78. package/dist/i18n/index.d.ts +14 -2
  79. package/dist/i18n/index.js +84 -73
  80. package/dist/i18n/messages.d.ts +10 -1
  81. package/dist/i18n/runtime.d.ts +3 -1
  82. package/dist/identity/index.js +3 -3
  83. package/dist/identity/profile/EmailChangeDialog.vue.d.ts +2 -2
  84. package/dist/identity/users/list.d.ts +1 -1
  85. package/dist/incidents/index.js +1 -1
  86. package/dist/{index-D9_xqF5g.js → index-1HS7O2-e.js} +9 -9
  87. package/dist/{index-nByFc1eL.js → index-BA2w8uwD.js} +86 -86
  88. package/dist/{index-Ct7W_gYE.js → index-SLJWm40T.js} +4 -4
  89. package/dist/index.d.ts +1 -1
  90. package/dist/index.js +1 -1
  91. package/dist/modal/DiscardChangesModal.vue.d.ts +2 -2
  92. package/dist/modal/Modal.vue.d.ts +2 -2
  93. package/dist/modal/Sheet.vue.d.ts +2 -2
  94. package/dist/modules/identity/routes.d.ts +1 -1
  95. package/dist/modules/identity/schemas.d.ts +2 -2
  96. package/dist/{navigation-DMJ6akat.js → navigation-d-JAPBGA.js} +1 -1
  97. package/dist/{neighbors-BpypL3Wb.js → neighbors-Dg_LU9ry.js} +1 -1
  98. package/dist/notifications/index.js +1 -1
  99. package/dist/onboarding/index.js +1 -1
  100. package/dist/options-mOOX6JSS.js +214 -0
  101. package/dist/overlay/AlertDialog.vue.d.ts +3 -3
  102. package/dist/overlay/Menu.vue.d.ts +2 -2
  103. package/dist/overlay/PhotoViewer.vue.d.ts +2 -2
  104. package/dist/overlay/Popover.vue.d.ts +2 -2
  105. package/dist/page/SectionNavigator.vue.d.ts +1 -1
  106. package/dist/page/SectionPanel.vue.d.ts +1 -1
  107. package/dist/page/index.js +3 -3
  108. package/dist/phone/index.js +57 -56
  109. package/dist/platform/index.d.ts +10 -1
  110. package/dist/platform/index.js +16 -15
  111. package/dist/platform/platform.d.ts +4 -2
  112. package/dist/{platform-ORzRR3Tw.js → platform-DU9QFts8.js} +7 -6
  113. package/dist/playwright/config.d.ts +33 -0
  114. package/dist/playwright/index.d.ts +2 -0
  115. package/dist/playwright/index.js +192 -171
  116. package/dist/resource/index.js +1 -1
  117. package/dist/router/index.js +3 -3
  118. package/dist/{rowLayout-QKfNHsML.js → rowLayout-PIuD7MGo.js} +2 -2
  119. package/dist/{sections-CSpJN0Z7.js → sections-BpiRLntE.js} +1 -1
  120. package/dist/{serverMessages-Ce8-MK4e.js → serverMessages-C_KkDvpT.js} +1 -1
  121. package/dist/shell/index.js +4 -4
  122. package/dist/state/NextStepPanel.vue.d.ts +63 -0
  123. package/dist/state/PhaseTiles.vue.d.ts +20 -0
  124. package/dist/state/PhaseTrack.vue.d.ts +48 -0
  125. package/dist/state/RequirementList.vue.d.ts +10 -0
  126. package/dist/state/TodoRow.vue.d.ts +52 -0
  127. package/dist/state/index.d.ts +9 -0
  128. package/dist/state/index.js +731 -126
  129. package/dist/state/phaseStep.d.ts +7 -0
  130. package/dist/state/phaseTile.d.ts +10 -0
  131. package/dist/state/requirementItem.d.ts +16 -0
  132. package/dist/state/todoRow.d.ts +8 -0
  133. package/dist/{state-QDaxntgR.js → state-z1iPF1DT.js} +1 -1
  134. package/dist/styles.css +1 -1
  135. package/dist/{suggestions-q_v3M7G6.js → suggestions-DeMgs_ki.js} +1 -1
  136. package/dist/testing/format.d.ts +1 -1
  137. package/dist/testing/index.js +31 -31
  138. package/dist/{useCommand-DAMgQ5NE.js → useCommand-DQKvro1n.js} +2 -2
  139. package/dist/{useGroupSheet-B-Hs4gNO.js → useGroupSheet-CRw3MUmX.js} +3 -3
  140. package/dist/{usePreferences-BfMXVbSO.js → usePreferences-DB29UTFD.js} +1 -1
  141. package/dist/{useRecordDialog-QPKFH1Ww.js → useRecordDialog-0azHxxvm.js} +1 -1
  142. package/dist/{useResourceForm-Oa6bk3NI.js → useResourceForm-zVuWerSn.js} +1 -1
  143. package/dist/{useTypedEntry-CITij2C_.js → useTypedEntry-BsMV66Yc.js} +46 -45
  144. package/package.json +1 -1
  145. package/dist/format-Cp1h0vsC.js +0 -125
  146. package/dist/options-B48UiYsG.js +0 -368
@@ -1,368 +0,0 @@
1
- import { inject as C, ref as z, computed as d, onBeforeUnmount as F, defineComponent as O, useSlots as A, openBlock as r, createBlock as L, resolveDynamicComponent as T, unref as t, normalizeClass as b, withCtx as w, createElementBlock as i, renderSlot as f, createCommentVNode as u, createElementVNode as k, createTextVNode as h, toDisplayString as m, createVNode as D, useAttrs as G, useId as K, mergeProps as j, createSlots as M, mergeDefaults as P } from "vue";
2
- import { useI18n as U } from "vue-i18n";
3
- import { _ as B } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
4
- import { RouterLink as Y } from "vue-router";
5
- import { c as J, a as Q } from "./controlSurface-t7OEFESJ.js";
6
- import { u as W } from "./mediaQuery-CygcXmFW.js";
7
- const X = {
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
- }, Z = Symbol("vue-core.formGroup"), ee = Symbol("vue-core.formRowIndent"), te = Symbol("vue-core.formEditable"), N = () => C(Z, null), oe = () => C(ee, 0);
19
- function le(n) {
20
- const e = N(), l = C(te, z(!0)), o = W(), g = d(() => !!e && !!n.disabled && (o.value || n.presentation === "value")), v = d(() => (n.editable ?? !0) && l.value && !g.value), s = d(() => !!e && !!n.disabled && v.value);
21
- if (e) {
22
- const c = e.registerLocked(d(() => !!n.disabled && l.value && n.presentation !== "value"));
23
- F(c);
24
- }
25
- return { editable: v, locked: s };
26
- }
27
- const ae = ["label", "labelHidden", "hint", "error", "required", "editable", "disabled", "lockedReason", "presentation", "name"];
28
- function He(n) {
29
- return Object.fromEntries(ae.map((e) => [e, n[e]]));
30
- }
31
- const re = {
32
- key: 0,
33
- class: "flex shrink-0 items-center"
34
- }, se = { class: "row-body min-h-row min-w-0 flex-1 border-t border-border-separator py-2 pr-row-inset" }, ne = {
35
- key: 0,
36
- class: "text-content-destructive",
37
- "aria-hidden": "true"
38
- }, ie = ["id"], de = ["data-stacked"], ue = {
39
- key: 0,
40
- class: "break-words text-body text-content-strong"
41
- }, ce = ["id"], fe = /* @__PURE__ */ O({
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
- stackOnCompact: { type: Boolean, default: !1 }
59
- },
60
- setup(n) {
61
- const e = n, l = A(), o = oe(), g = d(() => o + e.indent), v = ["pl-row-inset", "pl-[calc(var(--app-row-inset)+1.25rem)]", "pl-[calc(var(--app-row-inset)+2.5rem)]"], s = { 1: "line-clamp-1", 2: "line-clamp-2", 3: "line-clamp-3" }, c = d(() => e.labelHidden && (e.layout === "entry" || e.layout === "value") ? "stacked" : e.layout), S = d(() => {
62
- switch (c.value) {
63
- case "entry":
64
- 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)]";
65
- case "value":
66
- return "grid grid-cols-[minmax(min-content,1fr)_minmax(0,auto)] items-center gap-x-4";
67
- case "setting":
68
- return e.stackOnCompact ? "flex items-center gap-4 compact:flex-col compact:items-stretch compact:gap-1" : "flex items-center gap-4";
69
- default:
70
- return "flex flex-col gap-1";
71
- }
72
- }), p = d(() => e.labelHidden ? "sr-only" : c.value === "stacked" ? "text-footnote text-content-muted" : e.layout === "value" ? "text-body text-content-muted" : "text-body text-content-strong"), _ = d(() => e.value !== void 0 && e.value !== null && e.value !== "");
73
- return (y, x) => (r(), L(T(e.to ? t(Y) : "div"), {
74
- to: e.to,
75
- "data-test": "form-row",
76
- "data-layout": c.value,
77
- "data-field-error": e.error ? "true" : void 0,
78
- 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", [v[Math.min(g.value, 2)], e.to ? "hover:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus" : ""]])
79
- }, {
80
- default: w(() => [
81
- l.leading ? (r(), i("div", re, [
82
- f(y.$slots, "leading")
83
- ])) : u("", !0),
84
- k("div", se, [
85
- k("div", {
86
- class: b(["min-w-0", S.value])
87
- }, [
88
- e.label || e.sub || l.sub ? (r(), i("div", {
89
- key: 0,
90
- class: b([e.labelHidden && !e.sub && !l.sub ? "contents" : c.value === "setting" ? "min-w-min flex-1" : "min-w-0", e.labelAlign === "top" ? "self-start pt-1" : ""])
91
- }, [
92
- k("div", {
93
- class: b(l["label-trailing"] ? "flex items-center justify-between gap-3" : "")
94
- }, [
95
- (r(), L(T(e.for ? "label" : "span"), {
96
- for: e.for,
97
- class: b(["break-words", [p.value, e.labelHidden ? "" : e.labelLines ? s[e.labelLines] : "block"]])
98
- }, {
99
- default: w(() => [
100
- h(m(e.label), 1),
101
- e.required ? (r(), i("span", ne, " *")) : u("", !0)
102
- ]),
103
- _: 1
104
- }, 8, ["for", "class"])),
105
- f(y.$slots, "label-trailing")
106
- ], 2),
107
- e.sub || l.sub ? (r(), i("small", {
108
- key: 0,
109
- id: e.subId,
110
- class: "mt-0.5 block text-footnote text-content-muted"
111
- }, [
112
- f(y.$slots, "sub", {}, () => [
113
- h(m(e.sub), 1)
114
- ])
115
- ], 8, ie)) : u("", !0)
116
- ], 2)) : u("", !0),
117
- k("div", {
118
- class: b(["flex min-w-0 items-center gap-2", c.value === "value" ? "justify-end text-right" : c.value === "setting" ? ["flex-wrap justify-end text-right", e.stackOnCompact ? "compact:flex-col compact:items-start compact:text-left" : ""] : c.value === "entry" ? "compact:justify-end" : ""]),
119
- "data-stacked": c.value === "setting" && e.stackOnCompact ? "compact" : void 0
120
- }, [
121
- f(y.$slots, "default", {}, () => [
122
- _.value ? (r(), i("span", ue, m(e.value), 1)) : u("", !0)
123
- ]),
124
- f(y.$slots, "trailing"),
125
- e.to ? (r(), L(t(B), {
126
- key: 0,
127
- name: "arrowRightSLine",
128
- size: 18,
129
- class: "shrink-0 text-content-disabled"
130
- })) : u("", !0)
131
- ], 10, de)
132
- ], 2),
133
- e.error ? (r(), i("p", {
134
- key: 0,
135
- id: e.errorId,
136
- class: "mt-1 flex items-start gap-1.5 text-footnote text-content-destructive",
137
- role: "alert"
138
- }, [
139
- D(t(B), {
140
- name: "alertTriangle",
141
- size: 14,
142
- class: "mt-px shrink-0"
143
- }),
144
- h(" " + m(e.error), 1)
145
- ], 8, ce)) : u("", !0)
146
- ])
147
- ]),
148
- _: 3
149
- }, 8, ["to", "data-layout", "data-field-error", "class"]));
150
- }
151
- }), me = ["title"], ve = {
152
- key: 0,
153
- class: "mr-1.5 inline-flex shrink-0 items-center align-middle",
154
- "data-test": "field-prefix"
155
- }, be = {
156
- key: 1,
157
- class: "mr-1"
158
- }, pe = {
159
- key: 2,
160
- class: "ml-1 text-content-muted"
161
- }, ye = {
162
- key: 3,
163
- class: "block text-body text-content-disabled"
164
- }, ge = {
165
- key: 0,
166
- class: "sr-only"
167
- }, xe = ["data-field-error"], ke = ["for"], he = {
168
- key: 0,
169
- class: "text-content-destructive",
170
- "aria-hidden": "true"
171
- }, _e = {
172
- key: 1,
173
- class: "flex min-w-0 items-center gap-2"
174
- }, we = { class: "min-w-0 flex-1" }, $e = {
175
- key: 0,
176
- class: "mr-1.5 inline-flex shrink-0 items-center align-middle",
177
- "data-test": "field-prefix"
178
- }, Le = ["id"], Se = ["id"], Te = /* @__PURE__ */ O({
179
- __name: "Field",
180
- props: /* @__PURE__ */ P({
181
- label: {},
182
- labelHidden: { type: Boolean },
183
- hint: {},
184
- error: {},
185
- required: { type: Boolean },
186
- editable: { type: Boolean },
187
- disabled: { type: Boolean },
188
- lockedReason: {},
189
- presentation: {},
190
- name: {},
191
- value: { type: [String, Number, Boolean, null] },
192
- prefix: {},
193
- suffix: {},
194
- valueStyle: {},
195
- rowLayout: {},
196
- rowLabelAlign: {}
197
- }, { ...X, value: void 0, prefix: void 0, suffix: void 0, valueStyle: void 0, rowLayout: "entry", rowLabelAlign: "center" }),
198
- setup(n) {
199
- const e = n, { t: l } = U(), o = A(), g = G(), v = N(), { editable: s, locked: c } = le(e), S = K(), p = d(() => e.name ?? S), _ = d(() => `${p.value}-hint`), y = d(() => `${p.value}-error`);
200
- if (v?.registerField) {
201
- const a = g["data-field-key"], H = v.registerField(typeof a == "string" ? a : void 0, d(() => e.disabled));
202
- F(H);
203
- }
204
- const x = d(() => {
205
- const a = e.value;
206
- return a == null ? !1 : typeof a == "string" ? a.length > 0 : typeof a == "number" ? !Number.isNaN(a) : !0;
207
- }), R = d(() => typeof e.value == "boolean" ? e.value ? l("core.form.yes") : l("core.form.no") : e.value), V = d(() => !!v && !s.value && v.hideEmpty.value && !x.value && !o.readonly), q = d(() => [e.hint && s.value ? _.value : null, e.error ? y.value : null].filter(Boolean).join(" ") || void 0), $ = d(() => {
208
- const a = s.value ? e.rowLayout : e.rowLayout === "stacked" ? "stacked" : "value";
209
- return e.labelHidden && (a === "entry" || a === "value") ? "stacked" : a;
210
- }), E = d(
211
- () => s.value && !c.value && e.required ? { "data-field-required": "true", "data-field-filled": x.value ? "true" : void 0 } : {}
212
- );
213
- return (a, H) => t(v) && !V.value ? (r(), L(fe, j({ key: 0 }, E.value, {
214
- label: e.label,
215
- "label-hidden": e.labelHidden,
216
- for: t(s) ? p.value : void 0,
217
- sub: t(s) ? e.hint : void 0,
218
- "sub-id": _.value,
219
- required: t(s) && !t(c) && e.required,
220
- layout: $.value,
221
- "label-align": $.value === "entry" ? e.rowLabelAlign : void 0,
222
- error: t(s) ? e.error : void 0,
223
- "error-id": y.value,
224
- "data-field-locked": t(c) ? "true" : void 0
225
- }), M({
226
- default: w(() => [
227
- k("div", {
228
- class: "relative w-full min-w-0",
229
- title: t(c) ? e.lockedReason : void 0
230
- }, [
231
- k("div", {
232
- class: b(t(s) ? $.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" : "")
233
- }, [
234
- t(s) ? f(a.$slots, "default", {
235
- id: p.value,
236
- describedby: q.value,
237
- invalid: !!e.error,
238
- required: e.required,
239
- disabled: e.disabled
240
- }, void 0, void 0, 0) : t(o).readonly ? f(a.$slots, "readonly", {}, void 0, void 0, 1) : x.value ? (r(), i("span", {
241
- key: 2,
242
- class: b(["block break-words text-body text-content-strong", e.valueStyle === "mono" ? "font-mono" : e.valueStyle === "numeric" ? "tabular-nums" : ""])
243
- }, [
244
- t(o).prefix ? (r(), i("span", ve, [
245
- f(a.$slots, "prefix")
246
- ])) : u("", !0),
247
- e.prefix ? (r(), i("span", be, m(e.prefix), 1)) : u("", !0),
248
- h(m(R.value), 1),
249
- e.suffix ? (r(), i("span", pe, m(e.suffix), 1)) : u("", !0)
250
- ], 2)) : (r(), i("span", ye, m(t(l)("core.state.no_value")), 1))
251
- ], 2)
252
- ], 8, me),
253
- t(c) && e.lockedReason ? (r(), i("span", ge, m(e.lockedReason), 1)) : u("", !0)
254
- ]),
255
- _: 2
256
- }, [
257
- t(s) && t(o).trailing ? {
258
- name: "trailing",
259
- fn: w(() => [
260
- f(a.$slots, "trailing")
261
- ]),
262
- key: "0"
263
- } : void 0,
264
- t(s) && t(o).labelTrailing ? {
265
- name: "label-trailing",
266
- fn: w(() => [
267
- f(a.$slots, "labelTrailing")
268
- ]),
269
- key: "1"
270
- } : void 0
271
- ]), 1040, ["label", "label-hidden", "for", "sub", "sub-id", "required", "layout", "label-align", "error", "error-id", "data-field-locked"])) : t(v) ? u("", !0) : (r(), i("div", j({ key: 1 }, E.value, {
272
- "data-field-error": e.error ? "true" : void 0,
273
- class: "flex min-w-0 flex-col gap-1"
274
- }), [
275
- e.label || t(s) && t(o).labelTrailing ? (r(), i("div", {
276
- key: 0,
277
- class: b(e.labelHidden && !(t(s) && t(o).labelTrailing) ? "contents" : "flex items-center justify-between gap-3")
278
- }, [
279
- e.label ? (r(), i("label", {
280
- key: 0,
281
- for: t(s) ? p.value : void 0,
282
- class: b(e.labelHidden ? "sr-only" : "text-footnote font-medium text-content-muted")
283
- }, [
284
- h(m(e.label), 1),
285
- t(s) && e.required ? (r(), i("span", he, " *")) : u("", !0)
286
- ], 10, ke)) : u("", !0),
287
- t(s) ? f(a.$slots, "labelTrailing", {}, void 0, void 0, 1) : u("", !0)
288
- ], 2)) : u("", !0),
289
- t(s) && t(o).trailing ? (r(), i("div", _e, [
290
- k("div", we, [
291
- f(a.$slots, "default", {
292
- id: p.value,
293
- describedby: q.value,
294
- invalid: !!e.error,
295
- required: e.required,
296
- disabled: e.disabled
297
- })
298
- ]),
299
- f(a.$slots, "trailing")
300
- ])) : t(s) ? f(a.$slots, "default", {
301
- id: p.value,
302
- describedby: q.value,
303
- invalid: !!e.error,
304
- required: e.required,
305
- disabled: e.disabled
306
- }, void 0, void 0, 2) : t(o).readonly ? f(a.$slots, "readonly", {}, void 0, void 0, 3) : (r(), i("span", {
307
- key: 4,
308
- class: b(["text-body", x.value ? "text-content-strong" : "text-content-disabled"])
309
- }, [
310
- x.value && t(o).prefix ? (r(), i("span", $e, [
311
- f(a.$slots, "prefix")
312
- ])) : u("", !0),
313
- h(m(x.value ? `${e.prefix ?? ""}${R.value}${e.suffix ?? ""}` : t(l)("core.state.no_value")), 1)
314
- ], 2)),
315
- e.hint && t(s) ? (r(), i("p", {
316
- key: 5,
317
- id: _.value,
318
- class: "text-footnote text-content-muted"
319
- }, m(e.hint), 9, Le)) : u("", !0),
320
- e.error ? (r(), i("p", {
321
- key: 6,
322
- id: y.value,
323
- role: "alert",
324
- class: "flex items-start gap-1.5 text-footnote text-content-destructive"
325
- }, [
326
- D(t(B), {
327
- name: "alertTriangle",
328
- size: 14,
329
- class: "mt-px shrink-0"
330
- }),
331
- h(" " + m(e.error), 1)
332
- ], 8, Se)) : u("", !0)
333
- ], 16, xe));
334
- }
335
- }), qe = "rounded-control transition-[background-color,box-shadow,opacity] duration-motion-fast ease-motion-standard";
336
- function je(n, e) {
337
- const l = !!N();
338
- return d(() => l ? J({ kind: n, state: e() }) : [qe, ...Q(n, e()).map(([o]) => o)].join(" "));
339
- }
340
- function Fe(n) {
341
- const e = /* @__PURE__ */ new Map();
342
- for (const l of n) {
343
- const o = l.group ?? null, g = e.get(o) ?? [];
344
- g.push(l), e.set(o, g);
345
- }
346
- return [...e.entries()].sort(([l], [o]) => l === null ? -1 : o === null ? 1 : 0).map(([l, o]) => ({ title: l, options: o }));
347
- }
348
- function Oe(n, e) {
349
- const l = I(e.trim());
350
- return l === "" ? n : n.filter((o) => I(o.label).includes(l) || o.description !== void 0 && I(o.description).includes(l));
351
- }
352
- const I = (n) => n.normalize("NFD").replace(/[̀-ͯ]/g, "").toLocaleLowerCase();
353
- export {
354
- Te as _,
355
- N as a,
356
- X as b,
357
- I as c,
358
- te as d,
359
- je as e,
360
- He as f,
361
- fe as g,
362
- Fe as h,
363
- Z as i,
364
- ee as j,
365
- oe as k,
366
- Oe as m,
367
- le as u
368
- };