@wssto2/vue-core 0.4.28 → 0.5.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 (138) hide show
  1. package/CHANGELOG.md +67 -0
  2. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-J5HoyGNJ.js → AccessGate.vue_vue_type_script_setup_true_lang-Nw1IsB8N.js} +1 -1
  3. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-QPvYudWc.js → ActionRow.vue_vue_type_script_setup_true_lang-BCgKzUvG.js} +1 -1
  4. package/dist/{Activity-BWkVX1Nx.js → Activity-CoGI2_GL.js} +7 -7
  5. package/dist/{Changes-MG77TDwz.js → Changes-Cwfe6wbX.js} +6 -6
  6. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-Bnpv9TEj.js → CollectionPage.vue_vue_type_script_setup_true_lang-CtvHtFLy.js} +4 -4
  7. package/dist/{DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js → DateField.vue_vue_type_script_setup_true_lang-DRuWzSaX.js} +1 -1
  8. package/dist/{DeadLetters-CkDE71B3.js → DeadLetters-DyA5Dqn0.js} +7 -7
  9. package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-DGOSc-PS.js → FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js} +2 -2
  10. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js → FormGroup.vue_vue_type_script_setup_true_lang-BPchlRCl.js} +2 -2
  11. package/dist/{FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js → FormView.vue_vue_type_script_setup_true_lang-CPSYV7iQ.js} +2 -2
  12. package/dist/{General-UTBVEXbN.js → General-DTEfxWls.js} +10 -10
  13. package/dist/MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js +28 -0
  14. package/dist/{NewRolePage-B7DwFWPk.js → NewRolePage-CRZoUajV.js} +3 -3
  15. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-DaE5BLm4.js → NumberField.vue_vue_type_script_setup_true_lang-ButMV_sf.js} +1 -1
  16. package/dist/ProfilePage-DLY81mvN.js +764 -0
  17. package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-gXbxXG2R.js +325 -0
  18. package/dist/RolePage-B9t586Q8.js +314 -0
  19. package/dist/{RolesPage-B5RwSZ89.js → RolesPage-BRdG-OSL.js} +6 -6
  20. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dmv6TpCi.js → SectionNavigator.vue_vue_type_script_setup_true_lang-Cy9Oi0ts.js} +1 -1
  21. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js → SegmentedField.vue_vue_type_script_setup_true_lang-BwyMvkis.js} +1 -1
  22. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js → SelectField.vue_vue_type_script_setup_true_lang-BzQC1qDQ.js} +11 -12
  23. package/dist/SessionList.vue_vue_type_script_setup_true_lang-DhoTd5D7.js +133 -0
  24. package/dist/{Sessions-DWj2OGo0.js → Sessions-vGyUOnPG.js} +5 -5
  25. package/dist/SettingsPage-V8WeADZZ.js +632 -0
  26. package/dist/{SignIn-COThB9XN.js → SignIn-C-3i8RG6.js} +7 -7
  27. package/dist/{SignInPage-CdzgSvRm.js → SignInPage-D2NA3VKU.js} +4 -4
  28. package/dist/SignIns-eoYPB6kB.js +121 -0
  29. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js → SwitchField.vue_vue_type_script_setup_true_lang-D_-HACqT.js} +1 -1
  30. package/dist/{TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js → TextField.vue_vue_type_script_setup_true_lang-DTAQPbW0.js} +2 -2
  31. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js → TextareaField.vue_vue_type_script_setup_true_lang-DsjK2C9T.js} +1 -1
  32. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js → TimeField.vue_vue_type_script_setup_true_lang-Cz7KhUqt.js} +1 -1
  33. package/dist/{UserRecord-BWMnXz4q.js → UserRecord-BaQl2zzQ.js} +13 -13
  34. package/dist/{UsersList-Chq8yM5C.js → UsersList-BfXWgH5K.js} +9 -9
  35. package/dist/access/RoleCompareDialog.vue.d.ts +1 -1
  36. package/dist/access/RoleEditor.vue.d.ts +2 -0
  37. package/dist/access/constraints.d.ts +28 -0
  38. package/dist/access/context.d.ts +5 -0
  39. package/dist/access/feature.d.ts +17 -0
  40. package/dist/access/index.d.ts +3 -1
  41. package/dist/access/index.js +11 -9
  42. package/dist/access/refusals.d.ts +20 -2
  43. package/dist/app/index.js +6 -6
  44. package/dist/client/index.js +19 -11
  45. package/dist/{client-k9euDWF4.js → client-BHPFfBj3.js} +20 -20
  46. package/dist/collection/index.js +3 -3
  47. package/dist/content/index.js +66 -37
  48. package/dist/{contributions-BVBZP5Jb.js → contributions-DVQPcjJz.js} +1 -1
  49. package/dist/{describeError-B-NMa--w.js → describeError-BqGAUZgX.js} +1 -1
  50. package/dist/{error-CD7x0Jrz.js → error-Bb_dr_Ay.js} +2 -2
  51. package/dist/{fieldMessages-6HVzSDqG.js → fieldMessages-DTXpWnBd.js} +7 -7
  52. package/dist/form/index.js +1235 -1412
  53. package/dist/{guards-BJZjc3FZ.js → guards-DRh4zmxO.js} +1 -1
  54. package/dist/{http-BFfkA7gN.js → http-D_pBg22D.js} +1 -1
  55. package/dist/i18n/index.d.ts +2 -2
  56. package/dist/i18n/index.js +30 -30
  57. package/dist/identity/index.d.ts +2 -0
  58. package/dist/identity/index.js +8 -6
  59. package/dist/identity/profile/DetailsFields.vue.d.ts +8 -0
  60. package/dist/identity/profile/{DetailsPanel.vue.d.ts → DetailsGroup.vue.d.ts} +4 -1
  61. package/dist/identity/profile/{EmailPanel.vue.d.ts → EmailGroup.vue.d.ts} +1 -1
  62. package/dist/identity/profile/SignInsGroup.vue.d.ts +2 -0
  63. package/dist/identity/profile/profileSections.d.ts +37 -0
  64. package/dist/identity/shared/SignInList.vue.d.ts +22 -0
  65. package/dist/identity/shared/deviceLabel.d.ts +7 -0
  66. package/dist/identity/useReturnToOwnAccount.d.ts +10 -0
  67. package/dist/identity/users/context.d.ts +3 -0
  68. package/dist/identity/users/feature.d.ts +3 -0
  69. package/dist/index-WkbzC_ee.js +745 -0
  70. package/dist/index-g-qbUeTk.js +630 -0
  71. package/dist/index-kqk7Mclb.js +480 -0
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +1 -1
  74. package/dist/modules/notification/entities.d.ts +19 -0
  75. package/dist/modules/notification/routes.d.ts +25 -1
  76. package/dist/modules/notification/schemas.d.ts +24 -0
  77. package/dist/{navigation-DpcDF0rX.js → navigation-DuQwti76.js} +1 -1
  78. package/dist/{neighbors-RVQ4O3Qv.js → neighbors-IMRQ4rkm.js} +22 -22
  79. package/dist/notifications/context.d.ts +24 -1
  80. package/dist/notifications/feature.d.ts +10 -1
  81. package/dist/notifications/index.d.ts +1 -1
  82. package/dist/notifications/index.js +1 -1
  83. package/dist/notifications/push/DevicesSection.vue.d.ts +12 -0
  84. package/dist/notifications/push/ThisDeviceSection.vue.d.ts +15 -0
  85. package/dist/notifications/push/browser.d.ts +40 -0
  86. package/dist/notifications/push/devices.d.ts +15 -0
  87. package/dist/notifications/push/thisDevice.d.ts +28 -0
  88. package/dist/notifications/settings/ChannelsSection.vue.d.ts +16 -0
  89. package/dist/notifications/settings/{QuietHoursPanel.vue.d.ts → QuietHoursSection.vue.d.ts} +3 -1
  90. package/dist/notifications/settings/SettingsBody.vue.d.ts +17 -0
  91. package/dist/notifications/settings/settings.d.ts +4 -3
  92. package/dist/notifications/settings/state.d.ts +4 -2
  93. package/dist/options-g8RwEhBk.js +366 -0
  94. package/dist/overlay/index.js +37 -59
  95. package/dist/page/index.js +1 -1
  96. package/dist/phone/index.js +10 -11
  97. package/dist/platform/index.js +3 -3
  98. package/dist/{platform-PZpUkkMS.js → platform-Dl1fbScN.js} +2 -2
  99. package/dist/push-worker/index.d.ts +91 -0
  100. package/dist/push-worker/index.js +54 -0
  101. package/dist/resource/index.js +1 -1
  102. package/dist/{routeResource-DlTsGTg_.js → routeResource-CcYA75T2.js} +2 -2
  103. package/dist/router/index.js +3 -3
  104. package/dist/{sections-CeZl-Jxg.js → sections-D5rgQ4YB.js} +1 -1
  105. package/dist/shell/index.js +3 -3
  106. package/dist/signInEvents-DWShrJox.js +30 -0
  107. package/dist/state/index.js +1 -1
  108. package/dist/{status-dGvfh1TP.js → status-C2gHqkj6.js} +2 -2
  109. package/dist/styles.css +1 -1
  110. package/dist/{suggestions-DHJFKB26.js → suggestions-CfFTHi8y.js} +2 -2
  111. package/dist/testing/index.js +1 -1
  112. package/dist/{useCommand-Cj-APj-P.js → useCommand-CtqheKUv.js} +2 -2
  113. package/dist/useGroupSheet-ATvc0IiM.js +278 -0
  114. package/dist/{useLoad-M7V-AVwR.js → useLoad-W4tfxmm5.js} +1 -1
  115. package/dist/{useResourceForm-tGYTfKhH.js → useResourceForm-CJfl8rj_.js} +1 -1
  116. package/package.json +6 -2
  117. package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +0 -35
  118. package/dist/OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js +0 -95
  119. package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +0 -46
  120. package/dist/ProfilePage-C8VhiKIh.js +0 -654
  121. package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-DRHmjA9w.js +0 -300
  122. package/dist/RolePage-ODFu68Ce.js +0 -315
  123. package/dist/SessionList.vue_vue_type_script_setup_true_lang-D5qm77Zo.js +0 -111
  124. package/dist/SettingsPage-C3fPSmi7.js +0 -255
  125. package/dist/SignInTable.vue_vue_type_script_setup_true_lang-Bs0yTi2E.js +0 -79
  126. package/dist/SignIns-cztICmqt.js +0 -66
  127. package/dist/control-B4SdblL6.js +0 -350
  128. package/dist/identity/profile/PanelActions.vue.d.ts +0 -17
  129. package/dist/index-BhtJR4c_.js +0 -459
  130. package/dist/index-C3E6DcO0.js +0 -706
  131. package/dist/index-sTBBHqNG.js +0 -504
  132. package/dist/notifications/settings/EmailPanel.vue.d.ts +0 -14
  133. package/dist/options-Ba_0uLWN.js +0 -18
  134. package/dist/route-goWMxDUN.js +0 -13
  135. package/dist/transport-BnP7WC0Y.js +0 -4
  136. /package/dist/identity/{profile/PasswordPanel.vue.d.ts → ReturnMenuItem.vue.d.ts} +0 -0
  137. /package/dist/identity/profile/{SessionsPanel.vue.d.ts → PasswordGroup.vue.d.ts} +0 -0
  138. /package/dist/identity/profile/{SignInsPanel.vue.d.ts → SessionsGroup.vue.d.ts} +0 -0
@@ -0,0 +1,366 @@
1
+ import { inject as N, ref as O, computed as d, onBeforeUnmount as F, defineComponent as A, useSlots as D, openBlock as r, createBlock as L, resolveDynamicComponent as j, unref as t, normalizeClass as b, withCtx as _, createElementBlock as i, renderSlot as c, createCommentVNode as u, createElementVNode as h, createTextVNode as k, toDisplayString as v, createVNode as V, useAttrs as G, useId as K, mergeProps as C, 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-D7oC-d-S.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"), R = () => N(Z, null), oe = () => N(ee, 0);
19
+ function le(n) {
20
+ const e = R(), l = N(te, O(!0)), o = W(), g = d(() => !!e && !!n.disabled && (o.value || n.presentation === "value")), m = d(() => (n.editable ?? !0) && l.value && !g.value), s = d(() => !!e && !!n.disabled && m.value);
21
+ if (e) {
22
+ const f = e.registerLocked(d(() => !!n.disabled && l.value && n.presentation !== "value"));
23
+ F(f);
24
+ }
25
+ return { editable: m, 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 = {
39
+ key: 0,
40
+ class: "break-words text-body text-content-strong"
41
+ }, ue = ["id"], ce = /* @__PURE__ */ A({
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(n) {
60
+ const e = n, l = D(), o = oe(), g = d(() => o + e.indent), m = ["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" }, f = d(() => e.labelHidden && (e.layout === "entry" || e.layout === "value") ? "stacked" : e.layout), S = d(() => {
61
+ switch (f.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
+ }), p = d(() => e.labelHidden ? "sr-only" : f.value === "stacked" ? "text-footnote text-content-muted" : e.layout === "value" ? "text-body text-content-muted" : "text-body text-content-strong"), w = d(() => e.value !== void 0 && e.value !== null && e.value !== "");
72
+ return (y, x) => (r(), L(j(e.to ? t(Y) : "div"), {
73
+ to: e.to,
74
+ "data-test": "form-row",
75
+ "data-layout": f.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(g.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
+ l.leading ? (r(), i("div", re, [
81
+ c(y.$slots, "leading")
82
+ ])) : u("", !0),
83
+ h("div", se, [
84
+ h("div", {
85
+ class: b(["min-w-0", S.value])
86
+ }, [
87
+ e.label || e.sub || l.sub ? (r(), i("div", {
88
+ key: 0,
89
+ class: b([e.labelHidden && !e.sub && !l.sub ? "contents" : f.value === "setting" ? "min-w-min flex-1" : "min-w-0", e.labelAlign === "top" ? "self-start pt-1" : ""])
90
+ }, [
91
+ h("div", {
92
+ class: b(l["label-trailing"] ? "flex items-center justify-between gap-3" : "")
93
+ }, [
94
+ (r(), L(j(e.for ? "label" : "span"), {
95
+ for: e.for,
96
+ class: b(["break-words", [p.value, e.labelHidden ? "" : e.labelLines ? s[e.labelLines] : "block"]])
97
+ }, {
98
+ default: _(() => [
99
+ k(v(e.label), 1),
100
+ e.required ? (r(), i("span", ne, " *")) : u("", !0)
101
+ ]),
102
+ _: 1
103
+ }, 8, ["for", "class"])),
104
+ c(y.$slots, "label-trailing")
105
+ ], 2),
106
+ e.sub || l.sub ? (r(), i("small", {
107
+ key: 0,
108
+ id: e.subId,
109
+ class: "mt-0.5 block text-footnote text-content-muted"
110
+ }, [
111
+ c(y.$slots, "sub", {}, () => [
112
+ k(v(e.sub), 1)
113
+ ])
114
+ ], 8, ie)) : u("", !0)
115
+ ], 2)) : u("", !0),
116
+ h("div", {
117
+ class: b(["flex min-w-0 items-center gap-2", f.value === "value" ? "justify-end text-right" : f.value === "setting" ? "flex-wrap justify-end text-right" : f.value === "entry" ? "compact:justify-end" : ""])
118
+ }, [
119
+ c(y.$slots, "default", {}, () => [
120
+ w.value ? (r(), i("span", de, v(e.value), 1)) : u("", !0)
121
+ ]),
122
+ c(y.$slots, "trailing"),
123
+ e.to ? (r(), L(t(B), {
124
+ key: 0,
125
+ name: "arrowRightSLine",
126
+ size: 18,
127
+ class: "shrink-0 text-content-disabled"
128
+ })) : u("", !0)
129
+ ], 2)
130
+ ], 2),
131
+ e.error ? (r(), i("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(B), {
138
+ name: "alertTriangle",
139
+ size: 14,
140
+ class: "mt-px shrink-0"
141
+ }),
142
+ k(" " + v(e.error), 1)
143
+ ], 8, ue)) : u("", !0)
144
+ ])
145
+ ]),
146
+ _: 3
147
+ }, 8, ["to", "data-layout", "data-field-error", "class"]));
148
+ }
149
+ }), fe = ["title"], ve = {
150
+ key: 0,
151
+ class: "mr-1.5 inline-flex shrink-0 items-center align-middle",
152
+ "data-test": "field-prefix"
153
+ }, me = {
154
+ key: 1,
155
+ class: "mr-1"
156
+ }, be = {
157
+ key: 2,
158
+ class: "ml-1 text-content-muted"
159
+ }, pe = {
160
+ key: 3,
161
+ class: "block text-body text-content-disabled"
162
+ }, ye = {
163
+ key: 0,
164
+ class: "sr-only"
165
+ }, ge = ["data-field-error"], xe = ["for"], he = {
166
+ key: 0,
167
+ class: "text-content-destructive",
168
+ "aria-hidden": "true"
169
+ }, ke = {
170
+ key: 1,
171
+ class: "flex min-w-0 items-center gap-2"
172
+ }, we = { class: "min-w-0 flex-1" }, _e = {
173
+ key: 0,
174
+ class: "mr-1.5 inline-flex shrink-0 items-center align-middle",
175
+ "data-test": "field-prefix"
176
+ }, $e = ["id"], Le = ["id"], Te = /* @__PURE__ */ A({
177
+ __name: "Field",
178
+ props: /* @__PURE__ */ P({
179
+ label: {},
180
+ labelHidden: { type: Boolean },
181
+ hint: {},
182
+ error: {},
183
+ required: { type: Boolean },
184
+ editable: { type: Boolean },
185
+ disabled: { type: Boolean },
186
+ lockedReason: {},
187
+ presentation: {},
188
+ name: {},
189
+ value: { type: [String, Number, Boolean, null] },
190
+ prefix: {},
191
+ suffix: {},
192
+ valueStyle: {},
193
+ rowLayout: {},
194
+ rowLabelAlign: {}
195
+ }, { ...X, value: void 0, prefix: void 0, suffix: void 0, valueStyle: void 0, rowLayout: "entry", rowLabelAlign: "center" }),
196
+ setup(n) {
197
+ const e = n, { t: l } = U(), o = D(), g = G(), m = R(), { editable: s, locked: f } = le(e), S = K(), p = d(() => e.name ?? S), w = d(() => `${p.value}-hint`), y = d(() => `${p.value}-error`);
198
+ if (m?.registerField) {
199
+ const a = g["data-field-key"], T = m.registerField(typeof a == "string" ? a : void 0, d(() => e.disabled));
200
+ F(T);
201
+ }
202
+ const x = d(() => {
203
+ const a = e.value;
204
+ return a == null ? !1 : typeof a == "string" ? a.length > 0 : typeof a == "number" ? !Number.isNaN(a) : !0;
205
+ }), E = d(() => typeof e.value == "boolean" ? e.value ? l("core.form.yes") : l("core.form.no") : e.value), z = d(() => !!m && !s.value && m.hideEmpty.value && !x.value && !o.readonly), q = d(() => [e.hint && s.value ? w.value : null, e.error ? y.value : null].filter(Boolean).join(" ") || void 0), $ = d(() => {
206
+ const a = s.value ? e.rowLayout : e.rowLayout === "stacked" ? "stacked" : "value";
207
+ return e.labelHidden && (a === "entry" || a === "value") ? "stacked" : a;
208
+ }), H = d(
209
+ () => s.value && !f.value && e.required ? { "data-field-required": "true", "data-field-filled": x.value ? "true" : void 0 } : {}
210
+ );
211
+ return (a, T) => t(m) && !z.value ? (r(), L(ce, C({ key: 0 }, H.value, {
212
+ label: e.label,
213
+ "label-hidden": e.labelHidden,
214
+ for: t(s) ? p.value : void 0,
215
+ sub: t(s) ? e.hint : void 0,
216
+ "sub-id": w.value,
217
+ required: t(s) && !t(f) && e.required,
218
+ layout: $.value,
219
+ "label-align": $.value === "entry" ? e.rowLabelAlign : void 0,
220
+ error: t(s) ? e.error : void 0,
221
+ "error-id": y.value,
222
+ "data-field-locked": t(f) ? "true" : void 0
223
+ }), M({
224
+ default: _(() => [
225
+ h("div", {
226
+ class: "relative w-full min-w-0",
227
+ title: t(f) ? e.lockedReason : void 0
228
+ }, [
229
+ h("div", {
230
+ 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" : "")
231
+ }, [
232
+ t(s) ? c(a.$slots, "default", {
233
+ id: p.value,
234
+ describedby: q.value,
235
+ invalid: !!e.error,
236
+ required: e.required,
237
+ disabled: e.disabled
238
+ }, void 0, void 0, 0) : t(o).readonly ? c(a.$slots, "readonly", {}, void 0, void 0, 1) : x.value ? (r(), i("span", {
239
+ key: 2,
240
+ class: b(["block break-words text-body text-content-strong", e.valueStyle === "mono" ? "font-mono" : e.valueStyle === "numeric" ? "tabular-nums" : ""])
241
+ }, [
242
+ t(o).prefix ? (r(), i("span", ve, [
243
+ c(a.$slots, "prefix")
244
+ ])) : u("", !0),
245
+ e.prefix ? (r(), i("span", me, v(e.prefix), 1)) : u("", !0),
246
+ k(v(E.value), 1),
247
+ e.suffix ? (r(), i("span", be, v(e.suffix), 1)) : u("", !0)
248
+ ], 2)) : (r(), i("span", pe, v(t(l)("core.state.no_value")), 1))
249
+ ], 2)
250
+ ], 8, fe),
251
+ t(f) && e.lockedReason ? (r(), i("span", ye, v(e.lockedReason), 1)) : u("", !0)
252
+ ]),
253
+ _: 2
254
+ }, [
255
+ t(s) && t(o).trailing ? {
256
+ name: "trailing",
257
+ fn: _(() => [
258
+ c(a.$slots, "trailing")
259
+ ]),
260
+ key: "0"
261
+ } : void 0,
262
+ t(s) && t(o).labelTrailing ? {
263
+ name: "label-trailing",
264
+ fn: _(() => [
265
+ c(a.$slots, "labelTrailing")
266
+ ]),
267
+ key: "1"
268
+ } : void 0
269
+ ]), 1040, ["label", "label-hidden", "for", "sub", "sub-id", "required", "layout", "label-align", "error", "error-id", "data-field-locked"])) : t(m) ? u("", !0) : (r(), i("div", C({ key: 1 }, H.value, {
270
+ "data-field-error": e.error ? "true" : void 0,
271
+ class: "flex min-w-0 flex-col gap-1"
272
+ }), [
273
+ e.label || t(s) && t(o).labelTrailing ? (r(), i("div", {
274
+ key: 0,
275
+ class: b(e.labelHidden && !(t(s) && t(o).labelTrailing) ? "contents" : "flex items-center justify-between gap-3")
276
+ }, [
277
+ e.label ? (r(), i("label", {
278
+ key: 0,
279
+ for: t(s) ? p.value : void 0,
280
+ class: b(e.labelHidden ? "sr-only" : "text-footnote font-medium text-content-muted")
281
+ }, [
282
+ k(v(e.label), 1),
283
+ t(s) && e.required ? (r(), i("span", he, " *")) : u("", !0)
284
+ ], 10, xe)) : u("", !0),
285
+ t(s) ? c(a.$slots, "labelTrailing", {}, void 0, void 0, 1) : u("", !0)
286
+ ], 2)) : u("", !0),
287
+ t(s) && t(o).trailing ? (r(), i("div", ke, [
288
+ h("div", we, [
289
+ c(a.$slots, "default", {
290
+ id: p.value,
291
+ describedby: q.value,
292
+ invalid: !!e.error,
293
+ required: e.required,
294
+ disabled: e.disabled
295
+ })
296
+ ]),
297
+ c(a.$slots, "trailing")
298
+ ])) : t(s) ? c(a.$slots, "default", {
299
+ id: p.value,
300
+ describedby: q.value,
301
+ invalid: !!e.error,
302
+ required: e.required,
303
+ disabled: e.disabled
304
+ }, void 0, void 0, 2) : t(o).readonly ? c(a.$slots, "readonly", {}, void 0, void 0, 3) : (r(), i("span", {
305
+ key: 4,
306
+ class: b(["text-body", x.value ? "text-content-strong" : "text-content-disabled"])
307
+ }, [
308
+ x.value && t(o).prefix ? (r(), i("span", _e, [
309
+ c(a.$slots, "prefix")
310
+ ])) : u("", !0),
311
+ k(v(x.value ? `${e.prefix ?? ""}${E.value}${e.suffix ?? ""}` : t(l)("core.state.no_value")), 1)
312
+ ], 2)),
313
+ e.hint && t(s) ? (r(), i("p", {
314
+ key: 5,
315
+ id: w.value,
316
+ class: "text-footnote text-content-muted"
317
+ }, v(e.hint), 9, $e)) : u("", !0),
318
+ e.error ? (r(), i("p", {
319
+ key: 6,
320
+ id: y.value,
321
+ role: "alert",
322
+ class: "flex items-start gap-1.5 text-footnote text-content-destructive"
323
+ }, [
324
+ V(t(B), {
325
+ name: "alertTriangle",
326
+ size: 14,
327
+ class: "mt-px shrink-0"
328
+ }),
329
+ k(" " + v(e.error), 1)
330
+ ], 8, Le)) : u("", !0)
331
+ ], 16, ge));
332
+ }
333
+ }), Se = "rounded-control transition-[background-color,box-shadow,opacity] duration-motion-fast ease-motion-standard";
334
+ function je(n, e) {
335
+ const l = !!R();
336
+ return d(() => l ? J({ kind: n, state: e() }) : [Se, ...Q(n, e()).map(([o]) => o)].join(" "));
337
+ }
338
+ function Ce(n) {
339
+ const e = /* @__PURE__ */ new Map();
340
+ for (const l of n) {
341
+ const o = l.group ?? null, g = e.get(o) ?? [];
342
+ g.push(l), e.set(o, g);
343
+ }
344
+ return [...e.entries()].sort(([l], [o]) => l === null ? -1 : o === null ? 1 : 0).map(([l, o]) => ({ title: l, options: o }));
345
+ }
346
+ function Fe(n, e) {
347
+ const l = I(e.trim());
348
+ return l === "" ? n : n.filter((o) => I(o.label).includes(l) || o.description !== void 0 && I(o.description).includes(l));
349
+ }
350
+ const I = (n) => n.normalize("NFD").replace(/[̀-ͯ]/g, "").toLocaleLowerCase();
351
+ export {
352
+ Te as _,
353
+ R as a,
354
+ X as b,
355
+ je as c,
356
+ I as d,
357
+ te as e,
358
+ He as f,
359
+ ce as g,
360
+ Z as h,
361
+ Ce as i,
362
+ ee as j,
363
+ oe as k,
364
+ Fe as m,
365
+ le as u
366
+ };
@@ -1,38 +1,16 @@
1
- import { _ as P } from "../AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
2
- import { _ as y } from "../Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js";
3
- import { defineComponent as i, openBlock as n, createElementBlock as a, mergeProps as l, createVNode as c, unref as u, normalizeClass as f, toDisplayString as p } from "vue";
4
- import { _ as d } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
5
- import { _ as k } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
6
- import { _ as D } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
7
- import { _ as E } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
8
- import { t as S } from "../toast-CqSDTWRX.js";
9
- import { I as $, u as N } from "../dialogStack-DZZg55w0.js";
10
- import { I as j, u as z } from "../useDialog-CXR3hN0G.js";
11
- import { C as L, u as U } from "../mediaQuery-CygcXmFW.js";
12
- import { _ as Q } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js";
13
- const m = ["aria-label", "data-pressed"], v = /* @__PURE__ */ i({
14
- __name: "MenuButton",
15
- props: {
16
- label: {},
17
- icon: { default: "moreLine" },
18
- presented: { type: Boolean },
19
- toggle: {},
20
- attrs: {}
21
- },
22
- setup(s) {
23
- const e = s;
24
- return (t, o) => (n(), a("button", l({ type: "button" }, e.attrs, {
25
- "aria-label": e.label,
26
- class: "hit-target flex size-9 shrink-0 cursor-pointer items-center justify-center rounded-full text-content-muted transition-colors duration-motion-fast hover:bg-fill hover:text-content-strong focus-visible:bg-fill focus-visible:text-content-strong data-pressed:bg-fill-strong data-pressed:text-content-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
27
- "data-pressed": e.presented || void 0,
28
- onClick: o[0] || (o[0] = (r) => e.toggle())
29
- }), [
30
- c(u(d), {
31
- name: e.icon
32
- }, null, 8, ["name"])
33
- ], 16, m));
34
- }
35
- }), b = ["aria-disabled"], C = /* @__PURE__ */ i({
1
+ import { _ as x } from "../AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
2
+ import { _ as w } from "../Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js";
3
+ import { _ as I } from "../MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js";
4
+ import { _ as v } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
5
+ import { _ as P } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
6
+ import { _ as y } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
7
+ import { t as k } from "../toast-CqSDTWRX.js";
8
+ import { I as E, u as M } from "../dialogStack-DZZg55w0.js";
9
+ import { I as S, u as O } from "../useDialog-CXR3hN0G.js";
10
+ import { C as K, u as N } from "../mediaQuery-CygcXmFW.js";
11
+ import { _ as j } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js";
12
+ import { defineComponent as r, openBlock as s, createElementBlock as n, normalizeClass as l, toDisplayString as p } from "vue";
13
+ const c = ["aria-disabled"], d = /* @__PURE__ */ r({
36
14
  __name: "PhotoViewerAction",
37
15
  props: {
38
16
  label: {},
@@ -40,34 +18,34 @@ const m = ["aria-label", "data-pressed"], v = /* @__PURE__ */ i({
40
18
  disabled: { type: Boolean }
41
19
  },
42
20
  emits: ["select"],
43
- setup(s, { emit: e }) {
44
- const t = s, o = e;
45
- function r() {
46
- t.disabled || o("select");
21
+ setup(o, { emit: t }) {
22
+ const e = o, i = t;
23
+ function a() {
24
+ e.disabled || i("select");
47
25
  }
48
- return (_, x) => (n(), a("button", {
26
+ return (f, u) => (s(), n("button", {
49
27
  type: "button",
50
- "aria-disabled": t.disabled || void 0,
28
+ "aria-disabled": e.disabled || void 0,
51
29
  "data-part": "photo-viewer-action",
52
- class: f(["flex min-h-11 shrink-0 cursor-pointer items-center justify-center rounded-full bg-white/8 px-4 text-subheadline font-medium whitespace-nowrap transition-colors duration-motion-fast hover:bg-white/16 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#6ee7b7] aria-disabled:cursor-default aria-disabled:opacity-40 aria-disabled:hover:bg-white/8", t.tone === "critical" ? "text-[#ff8a80]" : "text-[#f1f5f3]"]),
53
- onClick: r
54
- }, p(t.label), 11, b));
30
+ class: l(["flex min-h-11 shrink-0 cursor-pointer items-center justify-center rounded-full bg-white/8 px-4 text-subheadline font-medium whitespace-nowrap transition-colors duration-motion-fast hover:bg-white/16 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#6ee7b7] aria-disabled:cursor-default aria-disabled:opacity-40 aria-disabled:hover:bg-white/8", e.tone === "critical" ? "text-[#ff8a80]" : "text-[#f1f5f3]"]),
31
+ onClick: a
32
+ }, p(e.label), 11, c));
55
33
  }
56
34
  });
57
35
  export {
58
- P as AlertDialog,
59
- L as COMPACT_MEDIA_QUERY,
60
- $ as INERT_SKIP_ATTR,
61
- j as INITIAL_FOCUS_SKIP_ATTR,
62
- y as Menu,
63
- v as MenuButton,
64
- Q as PhotoViewer,
65
- C as PhotoViewerAction,
66
- k as Popover,
67
- D as Toaster,
68
- E as Tooltip,
69
- S as toast,
70
- U as useCompactPresentation,
71
- z as useDialog,
72
- N as useOpenDialogCount
36
+ x as AlertDialog,
37
+ K as COMPACT_MEDIA_QUERY,
38
+ E as INERT_SKIP_ATTR,
39
+ S as INITIAL_FOCUS_SKIP_ATTR,
40
+ w as Menu,
41
+ I as MenuButton,
42
+ j as PhotoViewer,
43
+ d as PhotoViewerAction,
44
+ v as Popover,
45
+ P as Toaster,
46
+ y as Tooltip,
47
+ k as toast,
48
+ N as useCompactPresentation,
49
+ O as useDialog,
50
+ M as useOpenDialogCount
73
51
  };
@@ -8,7 +8,7 @@ import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-fmx
8
8
  import { c as pe, i as fe, p as me, a as be, u as ge, b as ve } from "../chrome-nUcmVu8G.js";
9
9
  import { s as z, u as I } from "../sectionIndex-BS0ic5W7.js";
10
10
  import { p as _e, a as xe } from "../sectionIndex-BS0ic5W7.js";
11
- import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-Dmv6TpCi.js";
11
+ import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-Cy9Oi0ts.js";
12
12
  import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js";
13
13
  import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
14
14
  const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex", "onClick"], R = { class: "relative" }, E = {
@@ -1,14 +1,13 @@
1
1
  import { defineComponent as fe, useModel as me, useTemplateRef as F, ref as E, computed as g, watch as ne, nextTick as A, openBlock as w, createElementBlock as $, createElementVNode as f, normalizeClass as P, unref as s, createVNode as M, toDisplayString as T, normalizeStyle as xe, Fragment as ee, renderList as le, createCommentVNode as J, withModifiers as we, withDirectives as _e, vModelText as ke, mergeModels as ae, inject as Ce, shallowRef as $e, onBeforeUnmount as De, createBlock as Me, mergeProps as Te, createSlots as Se, withCtx as ie, createTextVNode as Ne, renderSlot as Ie, mergeDefaults as Pe } from "vue";
2
2
  import { useI18n as pe } from "vue-i18n";
3
3
  import { b as Ve } from "../controlSurface-t7OEFESJ.js";
4
- import { a as Oe, c as Re, _ as Be, f as Ee, b as ze } from "../control-B4SdblL6.js";
4
+ import { d as se, a as Oe, c as Re, _ as Be, f as Ee, b as ze } from "../options-g8RwEhBk.js";
5
5
  import { _ as q } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
- import { _ as se } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
6
+ import { _ as ue } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
7
7
  import { u as Fe } from "../anchored-DpuUwf-9.js";
8
8
  import { i as ve } from "../intlLocale-CeRU44qJ.js";
9
9
  import { AsYouType as L, validatePhoneNumberLength as qe, parsePhoneNumberFromString as he, getCountries as Ae, getCountryCallingCode as Le } from "libphonenumber-js/max";
10
10
  import We from "libphonenumber-js/max/metadata";
11
- import { f as ue } from "../options-Ba_0uLWN.js";
12
11
  const ce = ["HR", "BA", "SI", "RS"], Ke = 15;
13
12
  function ye(t) {
14
13
  return We.country_calling_codes[t]?.[0];
@@ -57,7 +56,7 @@ function be(t) {
57
56
  const a = Ye(t), o = qe(t);
58
57
  return o === "TOO_SHORT" ? { kind: "too_short", country: a } : o === "TOO_LONG" ? { kind: "too_long", country: a } : o !== void 0 ? { kind: "invalid", country: a } : he(t)?.isValid() ? null : { kind: "invalid", country: a };
59
58
  }
60
- const Mt = (t) => be(t) === null;
59
+ const Dt = (t) => be(t) === null;
61
60
  function ge(t, a) {
62
61
  try {
63
62
  return new Intl.DisplayNames([ve(a)], { type: "region" }).of(t) ?? t;
@@ -66,9 +65,9 @@ function ge(t, a) {
66
65
  }
67
66
  }
68
67
  function Je(t, a, o) {
69
- const r = ue(t.trim());
68
+ const r = se(t.trim());
70
69
  if (r === "") return o;
71
- const l = r.replace(/\D/g, ""), x = new Intl.DisplayNames([ve(a)], { type: "region" }), p = (h) => ue(x.of(h) ?? h), _ = r.startsWith("+") || /^\d+$/.test(r);
70
+ const l = r.replace(/\D/g, ""), x = new Intl.DisplayNames([ve(a)], { type: "region" }), p = (h) => se(x.of(h) ?? h), _ = r.startsWith("+") || /^\d+$/.test(r);
72
71
  return o.filter((h) => _ ? W(h).startsWith(l) : p(h).includes(r) || h.toLowerCase() === r);
73
72
  }
74
73
  const Qe = ["id", "disabled", "aria-label", "aria-expanded"], Ze = { class: "tabular-nums" }, et = ["id", "aria-label"], tt = {
@@ -160,7 +159,7 @@ const Qe = ["id", "disabled", "aria-label", "aria-expanded"], Ze = { class: "tab
160
159
  onClick: i[0] || (i[0] = (c) => C.value ? N(!0) : j()),
161
160
  onKeydown: B
162
161
  }, [
163
- M(se, { country: l.value }, null, 8, ["country"]),
162
+ M(ue, { country: l.value }, null, 8, ["country"]),
164
163
  f("span", Ze, T(s(de)(l.value)), 1),
165
164
  M(s(q), {
166
165
  name: "arrowDownSLine",
@@ -199,7 +198,7 @@ const Qe = ["id", "disabled", "aria-label", "aria-expanded"], Ze = { class: "tab
199
198
  onMouseenter: (m) => d.value = (z.value[n] ?? 0) + b,
200
199
  onClick: (m) => R(u)
201
200
  }, [
202
- M(se, { country: u }, null, 8, ["country"]),
201
+ M(ue, { country: u }, null, 8, ["country"]),
203
202
  f("span", {
204
203
  class: P(["min-w-0 flex-1 truncate text-content-strong", u === l.value ? "font-semibold" : ""])
205
204
  }, T(S(u)), 3),
@@ -239,7 +238,7 @@ const Qe = ["id", "disabled", "aria-label", "aria-expanded"], Ze = { class: "tab
239
238
  }, ft = ["href", "aria-label", "title"], mt = ["href", "aria-label", "title"], pt = ["aria-label", "title"], vt = {
240
239
  class: "sr-only",
241
240
  role: "status"
242
- }, Tt = /* @__PURE__ */ fe({
241
+ }, Mt = /* @__PURE__ */ fe({
243
242
  __name: "PhoneField",
244
243
  props: /* @__PURE__ */ ae(/* @__PURE__ */ Pe({
245
244
  label: {},
@@ -430,11 +429,11 @@ const Qe = ["id", "disabled", "aria-label", "aria-expanded"], Ze = { class: "tab
430
429
  });
431
430
  export {
432
431
  ce as COMMON_COUNTRIES,
433
- Tt as PhoneField,
432
+ Mt as PhoneField,
434
433
  ge as countryName,
435
434
  de as dialCode,
436
435
  He as formatInternational,
437
- Mt as isValidPhone,
436
+ Dt as isValidPhone,
438
437
  Ye as phoneCountry,
439
438
  st as phoneDefaultsKey,
440
439
  Xe as phoneKind,
@@ -5,11 +5,11 @@ var S = (s) => {
5
5
  var v = (s, t, e) => t in s ? N(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
6
6
  var $ = (s, t, e) => v(s, typeof t != "symbol" ? t + "" : t, e), w = (s, t, e) => t.has(s) || S("Cannot " + e);
7
7
  var o = (s, t, e) => (w(s, t, "read from private field"), e ? e.call(s) : t.get(s)), l = (s, t, e) => t.has(s) ? S("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(s) : t.set(s, e), f = (s, t, e, r) => (w(s, t, "write to private field"), r ? r.call(s, e) : t.set(s, e), e), h = (s, t, e) => (w(s, t, "access private method"), e);
8
- import { u as E } from "../platform-PZpUkkMS.js";
9
- import { b as F, c as G, a as K, d as U, h as _, e as z, i as D, p as H, f as Q, g as R } from "../platform-PZpUkkMS.js";
8
+ import { u as E } from "../platform-Dl1fbScN.js";
9
+ import { b as F, c as G, a as K, d as U, h as _, e as z, i as D, p as H, f as Q, g as R } from "../platform-Dl1fbScN.js";
10
10
  import { M as W, d as X } from "../context-Ch1r4fdN.js";
11
11
  import { computed as O } from "vue";
12
- import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-J5HoyGNJ.js";
12
+ import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-Nw1IsB8N.js";
13
13
  class m extends Error {
14
14
  constructor(e, r = [], n) {
15
15
  super(r.length > 0 ? `${e}: ${r.join("; ")}` : e);
@@ -1,6 +1,6 @@
1
- import { c as k } from "./client-k9euDWF4.js";
1
+ import { c as k } from "./client-BHPFfBj3.js";
2
2
  import { d as q } from "./context-Ch1r4fdN.js";
3
- import { a as x, A as U } from "./error-CD7x0Jrz.js";
3
+ import { i as x, A as U } from "./error-Bb_dr_Ay.js";
4
4
  import { shallowRef as _ } from "vue";
5
5
  const z = (e, n) => e.level === n.level && e.id === n.id, C = (e, n) => Object.prototype.hasOwnProperty.call(e, n);
6
6
  function I(e, n = {}) {