@wssto2/vue-core 0.4.28 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +77 -0
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-J5HoyGNJ.js → AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-QPvYudWc.js → ActionRow.vue_vue_type_script_setup_true_lang-BCgKzUvG.js} +1 -1
- package/dist/{Activity-BWkVX1Nx.js → Activity-dpY2kIs2.js} +7 -7
- package/dist/{Changes-MG77TDwz.js → Changes-CL8F1w8q.js} +6 -6
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-Bnpv9TEj.js → CollectionPage.vue_vue_type_script_setup_true_lang-l-e-6WeS.js} +4 -4
- package/dist/{DateField.vue_vue_type_script_setup_true_lang-CpuH0WTl.js → DateField.vue_vue_type_script_setup_true_lang-DRuWzSaX.js} +1 -1
- package/dist/{DeadLetters-CkDE71B3.js → DeadLetters-BZLyL5lR.js} +7 -7
- 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
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js → FormGroup.vue_vue_type_script_setup_true_lang-BPchlRCl.js} +2 -2
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js → FormView.vue_vue_type_script_setup_true_lang-CPSYV7iQ.js} +2 -2
- package/dist/{General-UTBVEXbN.js → General-mrVzi-5R.js} +10 -10
- package/dist/MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js +28 -0
- package/dist/{NewRolePage-B7DwFWPk.js → NewRolePage-B2DItwvf.js} +3 -3
- 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
- package/dist/ProfilePage-EiTIYzZ5.js +764 -0
- package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-BqqilJGF.js +325 -0
- package/dist/RolePage-jMHAt9y8.js +314 -0
- package/dist/{RolesPage-B5RwSZ89.js → RolesPage-B9GaVQBx.js} +6 -6
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Dmv6TpCi.js → SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js} +1 -1
- 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
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js → SelectField.vue_vue_type_script_setup_true_lang-BzQC1qDQ.js} +11 -12
- package/dist/SessionList.vue_vue_type_script_setup_true_lang-DhoTd5D7.js +133 -0
- package/dist/{Sessions-DWj2OGo0.js → Sessions-CHLokZ9e.js} +5 -5
- package/dist/SettingsPage-CudoKdXm.js +632 -0
- package/dist/{SignIn-COThB9XN.js → SignIn-ypRvdmjg.js} +7 -7
- package/dist/{SignInPage-CdzgSvRm.js → SignInPage-CbPeKlAo.js} +4 -4
- package/dist/SignIns-BApzbGq-.js +121 -0
- 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
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js → TextField.vue_vue_type_script_setup_true_lang-DTAQPbW0.js} +2 -2
- 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
- package/dist/{TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js → TimeField.vue_vue_type_script_setup_true_lang-Cz7KhUqt.js} +1 -1
- package/dist/{UserRecord-BWMnXz4q.js → UserRecord-BCTaBajE.js} +13 -13
- package/dist/{UsersList-Chq8yM5C.js → UsersList-CqSK3cQL.js} +9 -9
- package/dist/access/RoleCompareDialog.vue.d.ts +1 -1
- package/dist/access/RoleEditor.vue.d.ts +2 -0
- package/dist/access/constraints.d.ts +28 -0
- package/dist/access/context.d.ts +5 -0
- package/dist/access/feature.d.ts +17 -0
- package/dist/access/index.d.ts +3 -1
- package/dist/access/index.js +11 -9
- package/dist/access/refusals.d.ts +20 -2
- package/dist/app/index.js +118 -116
- package/dist/app/keepAlive.d.ts +4 -8
- package/dist/client/index.js +19 -11
- package/dist/{client-k9euDWF4.js → client-BHPFfBj3.js} +20 -20
- package/dist/collection/index.js +3 -3
- package/dist/content/index.js +66 -37
- package/dist/{contributions-BVBZP5Jb.js → contributions-fx5q5n1u.js} +1 -1
- package/dist/{describeError-B-NMa--w.js → describeError-BqGAUZgX.js} +1 -1
- package/dist/{error-CD7x0Jrz.js → error-Bb_dr_Ay.js} +2 -2
- package/dist/{fieldMessages-6HVzSDqG.js → fieldMessages-DTXpWnBd.js} +7 -7
- package/dist/form/index.js +1235 -1412
- package/dist/{guards-BJZjc3FZ.js → guards-D4mXf_2X.js} +1 -1
- package/dist/{http-BFfkA7gN.js → http-CdQowFlW.js} +1 -1
- package/dist/i18n/index.d.ts +2 -2
- package/dist/i18n/index.js +30 -30
- package/dist/identity/index.d.ts +3 -1
- package/dist/identity/index.js +7 -6
- package/dist/identity/profile/DetailsFields.vue.d.ts +8 -0
- package/dist/identity/profile/{DetailsPanel.vue.d.ts → DetailsGroup.vue.d.ts} +4 -1
- package/dist/identity/profile/{EmailPanel.vue.d.ts → EmailGroup.vue.d.ts} +1 -1
- package/dist/identity/profile/SignInsGroup.vue.d.ts +2 -0
- package/dist/identity/profile/profileSections.d.ts +37 -0
- package/dist/identity/session.d.ts +10 -7
- package/dist/identity/shared/SignInList.vue.d.ts +22 -0
- package/dist/identity/shared/deviceLabel.d.ts +7 -0
- package/dist/identity/useReturnToOwnAccount.d.ts +10 -0
- package/dist/identity/users/context.d.ts +3 -0
- package/dist/identity/users/feature.d.ts +3 -0
- package/dist/index-BTRv8mcf.js +630 -0
- package/dist/index-VPzJJN6Z.js +745 -0
- package/dist/index-auJqVMWC.js +478 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/keepAlive-z3IRFkQq.js +46 -0
- package/dist/modules/notification/entities.d.ts +19 -0
- package/dist/modules/notification/routes.d.ts +25 -1
- package/dist/modules/notification/schemas.d.ts +24 -0
- package/dist/{navigation-DpcDF0rX.js → navigation-Bc5EQ_Si.js} +1 -1
- package/dist/{neighbors-RVQ4O3Qv.js → neighbors-Bv6vnWlW.js} +22 -22
- package/dist/notifications/context.d.ts +24 -1
- package/dist/notifications/feature.d.ts +10 -1
- package/dist/notifications/index.d.ts +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/notifications/push/DevicesSection.vue.d.ts +12 -0
- package/dist/notifications/push/ThisDeviceSection.vue.d.ts +15 -0
- package/dist/notifications/push/browser.d.ts +40 -0
- package/dist/notifications/push/devices.d.ts +15 -0
- package/dist/notifications/push/thisDevice.d.ts +28 -0
- package/dist/notifications/settings/ChannelsSection.vue.d.ts +16 -0
- package/dist/notifications/settings/{QuietHoursPanel.vue.d.ts → QuietHoursSection.vue.d.ts} +3 -1
- package/dist/notifications/settings/SettingsBody.vue.d.ts +17 -0
- package/dist/notifications/settings/settings.d.ts +4 -3
- package/dist/notifications/settings/state.d.ts +4 -2
- package/dist/options-g8RwEhBk.js +366 -0
- package/dist/overlay/index.js +37 -59
- package/dist/page/index.js +1 -1
- package/dist/phone/index.js +10 -11
- package/dist/platform/index.js +3 -3
- package/dist/platform/platform.d.ts +7 -2
- package/dist/platform/session.d.ts +17 -0
- package/dist/platform-Dx6STiwY.js +283 -0
- package/dist/push-worker/index.d.ts +91 -0
- package/dist/push-worker/index.js +54 -0
- package/dist/resource/index.js +1 -1
- package/dist/{routeResource-DlTsGTg_.js → routeResource-CcYA75T2.js} +2 -2
- package/dist/router/index.js +3 -3
- package/dist/{sections-CeZl-Jxg.js → sections-B0HxIOC2.js} +1 -1
- package/dist/shell/index.js +3 -3
- package/dist/signInEvents-DWShrJox.js +30 -0
- package/dist/state/index.js +1 -1
- package/dist/{status-dGvfh1TP.js → status-BUFELJz2.js} +2 -2
- package/dist/styles.css +1 -1
- package/dist/{suggestions-DHJFKB26.js → suggestions-CfFTHi8y.js} +2 -2
- package/dist/testing/index.js +1 -1
- package/dist/{useCommand-Cj-APj-P.js → useCommand-CtqheKUv.js} +2 -2
- package/dist/useGroupSheet-ATvc0IiM.js +278 -0
- package/dist/{useLoad-M7V-AVwR.js → useLoad-W4tfxmm5.js} +1 -1
- package/dist/{useResourceForm-tGYTfKhH.js → useResourceForm-CJfl8rj_.js} +1 -1
- package/package.json +6 -2
- package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +0 -35
- package/dist/OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js +0 -95
- package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +0 -46
- package/dist/ProfilePage-C8VhiKIh.js +0 -654
- package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-DRHmjA9w.js +0 -300
- package/dist/RolePage-ODFu68Ce.js +0 -315
- package/dist/SessionList.vue_vue_type_script_setup_true_lang-D5qm77Zo.js +0 -111
- package/dist/SettingsPage-C3fPSmi7.js +0 -255
- package/dist/SignInTable.vue_vue_type_script_setup_true_lang-Bs0yTi2E.js +0 -79
- package/dist/SignIns-cztICmqt.js +0 -66
- package/dist/control-B4SdblL6.js +0 -350
- package/dist/identity/profile/PanelActions.vue.d.ts +0 -17
- package/dist/index-BhtJR4c_.js +0 -459
- package/dist/index-C3E6DcO0.js +0 -706
- package/dist/index-sTBBHqNG.js +0 -504
- package/dist/keepAlive-CDvMQlcJ.js +0 -49
- package/dist/notifications/settings/EmailPanel.vue.d.ts +0 -14
- package/dist/options-Ba_0uLWN.js +0 -18
- package/dist/platform-PZpUkkMS.js +0 -268
- package/dist/route-goWMxDUN.js +0 -13
- package/dist/transport-BnP7WC0Y.js +0 -4
- /package/dist/identity/{profile/PasswordPanel.vue.d.ts → ReturnMenuItem.vue.d.ts} +0 -0
- /package/dist/identity/profile/{SessionsPanel.vue.d.ts → PasswordGroup.vue.d.ts} +0 -0
- /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
|
+
};
|
package/dist/overlay/index.js
CHANGED
|
@@ -1,38 +1,16 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
import { _ as
|
|
3
|
-
import {
|
|
4
|
-
import { _ as
|
|
5
|
-
import { _ as
|
|
6
|
-
import { _ as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { I as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
const
|
|
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(
|
|
44
|
-
const
|
|
45
|
-
function
|
|
46
|
-
|
|
21
|
+
setup(o, { emit: t }) {
|
|
22
|
+
const e = o, i = t;
|
|
23
|
+
function a() {
|
|
24
|
+
e.disabled || i("select");
|
|
47
25
|
}
|
|
48
|
-
return (
|
|
26
|
+
return (f, u) => (s(), n("button", {
|
|
49
27
|
type: "button",
|
|
50
|
-
"aria-disabled":
|
|
28
|
+
"aria-disabled": e.disabled || void 0,
|
|
51
29
|
"data-part": "photo-viewer-action",
|
|
52
|
-
class:
|
|
53
|
-
onClick:
|
|
54
|
-
}, p(
|
|
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
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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
|
};
|
package/dist/page/index.js
CHANGED
|
@@ -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-
|
|
11
|
+
import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.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 = {
|
package/dist/phone/index.js
CHANGED
|
@@ -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 "../
|
|
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
|
|
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
|
|
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 =
|
|
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) =>
|
|
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(
|
|
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(
|
|
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
|
-
},
|
|
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
|
-
|
|
432
|
+
Mt as PhoneField,
|
|
434
433
|
ge as countryName,
|
|
435
434
|
de as dialCode,
|
|
436
435
|
He as formatInternational,
|
|
437
|
-
|
|
436
|
+
Dt as isValidPhone,
|
|
438
437
|
Ye as phoneCountry,
|
|
439
438
|
st as phoneDefaultsKey,
|
|
440
439
|
Xe as phoneKind,
|
package/dist/platform/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
8
|
+
import { u as E } from "../platform-Dx6STiwY.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-Dx6STiwY.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-
|
|
12
|
+
import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js";
|
|
13
13
|
class m extends Error {
|
|
14
14
|
constructor(e, r = [], n) {
|
|
15
15
|
super(r.length > 0 ? `${e}: ${r.join("; ")}` : e);
|
|
@@ -30,12 +30,17 @@ export interface PlatformOptions<U extends SessionUser, C extends BootstrapConfi
|
|
|
30
30
|
*/
|
|
31
31
|
session?: SessionAdapter<U> | ((http: HttpClient) => SessionAdapter<U>);
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
33
|
+
* How the session is renewed (`session.renew()`): when a request is answered 401 while signed in, before the
|
|
34
|
+
* session is given up, and when `keepSessionAlive` finds it due. Concurrent renewals, whoever asked, share one call. Renew it with the platform's client (for example a refresh-token call, then
|
|
35
35
|
* `session.refresh()`) and return true: the failed request is sent again. False or a throw expires
|
|
36
36
|
* the session. Without it a 401 expires the session at once.
|
|
37
37
|
*/
|
|
38
38
|
renewSession?: (session: Session<U>, http: HttpClient) => Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* False while the session cannot be renewed, for example an embed session (a bearer token with no refresh token):
|
|
41
|
+
* a 401 then ends the session at once and `keepSessionAlive` stays idle. Asked each time. Default: renewable when `renewSession` is given.
|
|
42
|
+
*/
|
|
43
|
+
renewable?: () => boolean;
|
|
39
44
|
/** Called after a 401 expired a signed-in session: the application decides (usually: go to the login page). */
|
|
40
45
|
onSessionExpired?: () => void;
|
|
41
46
|
/** Called with the failure of a session load or of a before-sign-out hook. */
|
|
@@ -89,6 +89,19 @@ export interface Session<U extends SessionUser = SessionUser> {
|
|
|
89
89
|
update(patch: SessionPatch<U>): void;
|
|
90
90
|
/** The server rejected the session (401): signed in becomes anonymous with reason `expired`. No-op when nobody is signed in. */
|
|
91
91
|
expire(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Whether this session can be renewed at all: the platform was given a `renewSession` and its `renewable()` says
|
|
94
|
+
* yes. An embed session (a bearer token with no refresh token) is not: nothing renews it, and `keepSessionAlive` idles.
|
|
95
|
+
*/
|
|
96
|
+
readonly renewable: boolean;
|
|
97
|
+
/**
|
|
98
|
+
* The one way a session is renewed: the timer's (`keepSessionAlive`), the client's after a 401, and an application's own
|
|
99
|
+
* fetch wrapper all call it. Concurrent callers share one in-flight renewal, so the refresh token (which go-core rotates
|
|
100
|
+
* on every use) is presented once. Resolves true when the session goes on (the failed request may be sent again), false
|
|
101
|
+
* when it ended: a refused or throwing renewal, or a session that is not `renewable`, expires it (`onExpired` runs once).
|
|
102
|
+
* False without effect when nobody is signed in.
|
|
103
|
+
*/
|
|
104
|
+
renew(): Promise<boolean>;
|
|
92
105
|
/**
|
|
93
106
|
* Runs the before-sign-out hooks (together, at most `beforeSignOutTimeout` ms; a failing or late one is reported
|
|
94
107
|
* to `onError` and never blocks), then signs out locally (state cleared before anything else can read it), then
|
|
@@ -114,5 +127,9 @@ export interface SessionOptions<U extends SessionUser = SessionUser> {
|
|
|
114
127
|
beforeSignOut?: BeforeSignOutHook<U>;
|
|
115
128
|
/** Called after `expire()` moved a signed-in session to anonymous. */
|
|
116
129
|
onExpired?: () => void;
|
|
130
|
+
/** What a renewal does: renew the tokens and read the session again; true when it goes on. Without it the session is not `renewable`. */
|
|
131
|
+
renew?: (session: Session<U>) => Promise<boolean>;
|
|
132
|
+
/** Asked at each renewal and by `keepSessionAlive`; false when this session cannot be renewed (an embed token). Default true. */
|
|
133
|
+
renewable?: () => boolean;
|
|
117
134
|
}
|
|
118
135
|
export declare function createSession<U extends SessionUser = SessionUser>(adapter: SessionAdapter<U>, options?: SessionOptions<U>): Session<U>;
|