@wssto2/vue-core 0.4.23 → 0.4.25
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 +36 -0
- package/dist/{Activity-Cu_mAn_m.js → Activity-CI-l_OFl.js} +1 -1
- package/dist/{Changes-DW_3-MwX.js → Changes-BdR0R20V.js} +1 -1
- package/dist/{DeadLetters-CpcMccCc.js → DeadLetters-CRTeoZS1.js} +1 -1
- package/dist/FormErrors.vue_vue_type_script_setup_true_lang-DGOSc-PS.js +295 -0
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-CbvMRBOc.js → FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js} +1 -1
- package/dist/{General-Dbc3qDRz.js → General-hdmVP72B.js} +3 -3
- package/dist/{NewRolePage-DPHFJ0I8.js → NewRolePage-BPeKasOp.js} +2 -2
- package/dist/PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js +433 -0
- package/dist/{ProfilePage-Cc7eiyV2.js → ProfilePage-Dq9lcO5O.js} +3 -3
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-2fpYYCXj.js → RoleEditor.vue_vue_type_script_setup_true_lang-B6g2760V.js} +3 -3
- package/dist/{RolePage-C0jmkQkO.js → RolePage-BYH-0fVI.js} +3 -3
- package/dist/{RolesPage-eb4gqxdW.js → RolesPage-BRm5xDw7.js} +1 -1
- package/dist/{Sessions-DSDcj8Yd.js → Sessions-B1eKG_I2.js} +1 -1
- package/dist/{SettingsPage-BF7MW1GH.js → SettingsPage-0P38Ty4w.js} +3 -3
- package/dist/{SignIn-BR8-RVIk.js → SignIn-Dp8Ji0_r.js} +1 -1
- package/dist/{SignInPage-Dcws582A.js → SignInPage-CiStJboK.js} +2 -2
- package/dist/{SignIns-3u7YgKqh.js → SignIns-Bo7R2Coi.js} +1 -1
- package/dist/{UserRecord-AtZIwCO9.js → UserRecord-DGq_PPy1.js} +3 -3
- package/dist/{UsersList-1IeQnvOL.js → UsersList-BulNu4aE.js} +3 -3
- package/dist/access/index.js +1 -1
- package/dist/form/CommandDialog.vue.d.ts +6 -0
- package/dist/form/index.js +9 -9
- package/dist/form/useForm.d.ts +5 -1
- package/dist/form/useRecordDialog.d.ts +2 -2
- package/dist/identity/index.js +1 -1
- package/dist/{index--CxZ33h0.js → index-BmowiT1y.js} +12 -12
- package/dist/{index-Du3Ti2Zp.js → index-Yy28omu6.js} +4 -4
- package/dist/{index-DBTK_iMB.js → index-tnSTp0cM.js} +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/notifications/index.js +1 -1
- package/dist/overlay/PhotoViewer.vue.d.ts +4 -3
- package/dist/overlay/PhotoViewerAction.vue.d.ts +22 -0
- package/dist/overlay/index.d.ts +1 -0
- package/dist/overlay/index.js +47 -23
- package/dist/{status-QOGPjIHu.js → status-Bh3-Cg7o.js} +1 -1
- package/dist/styles.css +1 -1
- package/dist/{useCommand-CT1RF_IB.js → useCommand-Cj-APj-P.js} +53 -50
- package/dist/{useResourceForm-CQuniKhd.js → useResourceForm-tGYTfKhH.js} +1 -1
- package/package.json +1 -1
- package/dist/FormErrors.vue_vue_type_script_setup_true_lang-4WQz-TYS.js +0 -286
- package/dist/PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js +0 -411
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
import { defineComponent as Ne, useModel as Xe, ref as k, useTemplateRef as se, watch as Q, computed as g, onBeforeUnmount as Ve, nextTick as ye, onMounted as Ye, openBlock as h, createBlock as Ze, Teleport as je, createElementBlock as m, createVNode as C, Transition as Ee, withCtx as Ke, unref as s, createElementVNode as p, toDisplayString as ee, createCommentVNode as w, renderSlot as be, normalizeClass as M, withModifiers as re, normalizeStyle as te, Fragment as We, renderList as Ue, mergeModels as _e } from "vue";
|
|
2
|
+
import { useI18n as Fe } from "vue-i18n";
|
|
3
|
+
import { _ as I } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
4
|
+
import { u as He } from "./mediaQuery-CygcXmFW.js";
|
|
5
|
+
import { u as qe } from "./useDialog-CXR3hN0G.js";
|
|
6
|
+
const ke = [1, 1.5, 2, 3, 4, 5], Me = 1, ue = 5, Ge = (a) => Math.min(ue, Math.max(Me, a)), ze = (a, l) => l % 2 === 0 ? a : { width: a.height, height: a.width };
|
|
7
|
+
function Je(a, l, r) {
|
|
8
|
+
const i = ze(a, r);
|
|
9
|
+
if (i.width <= 0 || i.height <= 0 || l.width <= 0 || l.height <= 0) return { width: 0, height: 0 };
|
|
10
|
+
const o = Math.min(l.width / i.width, l.height / i.height);
|
|
11
|
+
return { width: a.width * o, height: a.height * o };
|
|
12
|
+
}
|
|
13
|
+
function Qe(a, l, r) {
|
|
14
|
+
return { x: Math.max(0, (a.width * r - l.width) / 2), y: Math.max(0, (a.height * r - l.height) / 2) };
|
|
15
|
+
}
|
|
16
|
+
function X(a, l, r, i) {
|
|
17
|
+
const o = Qe(l, r, i);
|
|
18
|
+
return { x: Math.min(o.x, Math.max(-o.x, a.x)) + 0, y: Math.min(o.y, Math.max(-o.y, a.y)) + 0 };
|
|
19
|
+
}
|
|
20
|
+
function et(a, l, r, i, o) {
|
|
21
|
+
const z = Ge(l), u = z / a.zoom, $ = { x: r.x - (r.x - a.pan.x) * u, y: r.y - (r.y - a.pan.y) * u };
|
|
22
|
+
return { zoom: z, pan: X($, i, o, z) };
|
|
23
|
+
}
|
|
24
|
+
function tt(a, l) {
|
|
25
|
+
return l === 1 ? ke.find((i) => i > a + 1e-3) ?? ue : [...ke].reverse().find((i) => i < a - 1e-3) ?? Me;
|
|
26
|
+
}
|
|
27
|
+
function at(a, l, r, i, o) {
|
|
28
|
+
const z = Math.min(o.width / a.width, o.height / a.height), u = { width: a.width * z, height: a.height * z }, $ = { width: a.width * r, height: a.height * r }, T = { width: Math.min(1, l.width / $.width), height: Math.min(1, l.height / $.height) }, O = { x: 0.5 - i.x / $.width, y: 0.5 - i.y / $.height };
|
|
29
|
+
return {
|
|
30
|
+
image: u,
|
|
31
|
+
view: { x: (O.x - T.width / 2) * u.width, y: (O.y - T.height / 2) * u.height, width: T.width * u.width, height: T.height * u.height }
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function it(a, l, r, i) {
|
|
35
|
+
return X({ x: (0.5 - a.x) * l.width * i, y: (0.5 - a.y) * l.height * i }, l, r, i);
|
|
36
|
+
}
|
|
37
|
+
const ot = {
|
|
38
|
+
key: 0,
|
|
39
|
+
class: "relative z-9999"
|
|
40
|
+
}, nt = ["aria-label"], lt = {
|
|
41
|
+
"data-test": "photo-header",
|
|
42
|
+
class: "flex items-center gap-2 px-4 pt-[max(0.875rem,var(--app-safe-top))] pb-3.5 md:px-4.5"
|
|
43
|
+
}, st = { class: "flex min-w-0 text-headline font-semibold" }, rt = {
|
|
44
|
+
key: 0,
|
|
45
|
+
class: "truncate"
|
|
46
|
+
}, ut = {
|
|
47
|
+
key: 1,
|
|
48
|
+
class: "shrink-0 whitespace-pre"
|
|
49
|
+
}, ct = {
|
|
50
|
+
class: "shrink-0 whitespace-nowrap",
|
|
51
|
+
"aria-live": "polite",
|
|
52
|
+
"data-test": "photo-counter"
|
|
53
|
+
}, dt = ["aria-label", "aria-disabled"], ht = {
|
|
54
|
+
class: "w-13 text-center text-subheadline tabular-nums compact:hidden",
|
|
55
|
+
"data-test": "zoom-percent"
|
|
56
|
+
}, vt = ["aria-label", "aria-disabled"], mt = ["aria-label"], pt = ["href", "download", "aria-label"], ft = ["aria-label"], gt = { class: "flex min-h-0 grow items-center gap-4 px-4 md:px-4.5" }, wt = ["aria-label", "aria-disabled"], xt = ["src", "alt"], yt = ["src"], bt = ["aria-label", "aria-disabled"], _t = {
|
|
57
|
+
key: 0,
|
|
58
|
+
"data-test": "photo-toolbar",
|
|
59
|
+
class: "flex shrink-0 items-center justify-center gap-2 px-4 pt-3 pb-1"
|
|
60
|
+
}, kt = ["aria-label", "aria-current", "onClick"], Mt = ["src"], zt = {
|
|
61
|
+
key: 2,
|
|
62
|
+
class: "h-[max(1.25rem,var(--app-safe-bottom))] shrink-0"
|
|
63
|
+
}, $t = {
|
|
64
|
+
class: "sr-only",
|
|
65
|
+
"aria-live": "polite"
|
|
66
|
+
}, Pt = 8, Ct = 300, B = "flex size-10 shrink-0 cursor-pointer items-center justify-center rounded-full bg-white/8 text-[#f1f5f3] 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-30 aria-disabled:hover:bg-white/8", Bt = /* @__PURE__ */ Ne({
|
|
67
|
+
__name: "PhotoViewer",
|
|
68
|
+
props: /* @__PURE__ */ _e({
|
|
69
|
+
items: {},
|
|
70
|
+
title: { default: void 0 }
|
|
71
|
+
}, {
|
|
72
|
+
index: { default: 0 },
|
|
73
|
+
indexModifiers: {}
|
|
74
|
+
}),
|
|
75
|
+
emits: /* @__PURE__ */ _e(["presented", "dismissed"], ["update:index"]),
|
|
76
|
+
setup(a, { expose: l, emit: r }) {
|
|
77
|
+
const i = a, o = Xe(a, "index"), z = r, { t: u } = Fe(), $ = He(), T = k(null), O = se("stage"), $e = se("image"), ce = se("strip"), E = qe(T, { initialFocus: "panel", onPresented: () => z("presented"), onDismissed: () => z("dismissed") }), { isOpen: K } = E, ae = k(!1);
|
|
78
|
+
Q(K, (e) => {
|
|
79
|
+
e && (ae.value = !0);
|
|
80
|
+
}, { flush: "sync" });
|
|
81
|
+
const Pe = () => {
|
|
82
|
+
K.value || (ae.value = !1);
|
|
83
|
+
}, d = k(1), c = k({ x: 0, y: 0 }), P = k(0), W = k({ width: 0, height: 0 }), x = k({ width: 0, height: 0 }), b = k(0), ie = k(!1), V = k(null), v = g(() => i.items[o.value]), D = g(() => Je(W.value, x.value, P.value)), L = g(() => ze(D.value, P.value)), de = g(() => D.value.width > 0), Ce = g(() => Math.round(d.value * 100)), A = g(() => d.value > 1.001), he = g(() => o.value > 0), ve = g(() => o.value < i.items.length - 1), Te = g(() => ({
|
|
84
|
+
width: `${D.value.width}px`,
|
|
85
|
+
height: `${D.value.height}px`,
|
|
86
|
+
marginLeft: `${-D.value.width / 2}px`,
|
|
87
|
+
marginTop: `${-D.value.height / 2}px`,
|
|
88
|
+
transform: `translate(${c.value.x + b.value}px, ${c.value.y}px) scale(${d.value}) rotate(${P.value * 90}deg)`
|
|
89
|
+
}));
|
|
90
|
+
function U() {
|
|
91
|
+
d.value = 1, c.value = { x: 0, y: 0 }, b.value = 0;
|
|
92
|
+
}
|
|
93
|
+
function F() {
|
|
94
|
+
const e = O.value;
|
|
95
|
+
e && (x.value = { width: e.clientWidth, height: e.clientHeight }), oe();
|
|
96
|
+
}
|
|
97
|
+
function oe() {
|
|
98
|
+
const e = $e.value;
|
|
99
|
+
e && e.naturalWidth > 0 && (W.value = { width: e.naturalWidth, height: e.naturalHeight });
|
|
100
|
+
}
|
|
101
|
+
let H = null;
|
|
102
|
+
Q(O, (e) => {
|
|
103
|
+
H?.disconnect(), e && (F(), typeof ResizeObserver < "u" && (H = new ResizeObserver(() => {
|
|
104
|
+
F(), c.value = X(c.value, L.value, x.value, d.value);
|
|
105
|
+
}), H.observe(e)));
|
|
106
|
+
}), Ve(() => H?.disconnect()), Q(o, () => {
|
|
107
|
+
U(), P.value = 0, W.value = { width: 0, height: 0 }, ye(() => {
|
|
108
|
+
oe(), ce.value?.querySelector("[aria-current=true]")?.scrollIntoView?.({ inline: "center", block: "nearest" });
|
|
109
|
+
});
|
|
110
|
+
}), Q(() => i.items.length, (e) => {
|
|
111
|
+
e === 0 ? E.dismiss() : o.value > e - 1 && (o.value = e - 1);
|
|
112
|
+
});
|
|
113
|
+
function Oe(e = 0) {
|
|
114
|
+
o.value = Math.min(Math.max(0, e), Math.max(0, i.items.length - 1)), U(), P.value = 0, W.value = { width: 0, height: 0 }, V.value = null, E.present(), ye(F);
|
|
115
|
+
}
|
|
116
|
+
const me = () => E.dismiss();
|
|
117
|
+
l({ present: Oe, dismiss: me });
|
|
118
|
+
function Y(e) {
|
|
119
|
+
const t = o.value + e;
|
|
120
|
+
t < 0 || t > i.items.length - 1 || (V.value = e === 1 ? "forward" : "back", o.value = t);
|
|
121
|
+
}
|
|
122
|
+
function R(e) {
|
|
123
|
+
q(tt(d.value, e), { x: 0, y: 0 });
|
|
124
|
+
}
|
|
125
|
+
function q(e, t) {
|
|
126
|
+
const n = et({ zoom: d.value, pan: c.value }, e, t, L.value, x.value);
|
|
127
|
+
d.value = n.zoom, c.value = n.pan;
|
|
128
|
+
}
|
|
129
|
+
function ne() {
|
|
130
|
+
P.value = (P.value + 3) % 4, c.value = X(c.value, L.value, x.value, d.value);
|
|
131
|
+
}
|
|
132
|
+
function Le(e) {
|
|
133
|
+
if (e.altKey || e.ctrlKey || e.metaKey) return;
|
|
134
|
+
const n = {
|
|
135
|
+
ArrowLeft: () => Y(-1),
|
|
136
|
+
ArrowRight: () => Y(1),
|
|
137
|
+
"+": () => R(1),
|
|
138
|
+
"=": () => R(1),
|
|
139
|
+
"-": () => R(-1),
|
|
140
|
+
_: () => R(-1),
|
|
141
|
+
0: U,
|
|
142
|
+
r: ne,
|
|
143
|
+
R: ne
|
|
144
|
+
}[e.key];
|
|
145
|
+
n && (e.preventDefault(), n());
|
|
146
|
+
}
|
|
147
|
+
const le = (e) => {
|
|
148
|
+
const t = O.value?.getBoundingClientRect();
|
|
149
|
+
return { x: e.clientX - (t ? t.left + t.width / 2 : 0), y: e.clientY - (t ? t.top + t.height / 2 : 0) };
|
|
150
|
+
}, _ = /* @__PURE__ */ new Map();
|
|
151
|
+
let Z = !1, pe = 0, N = { x: 0, y: 0 }, j = null;
|
|
152
|
+
const fe = () => {
|
|
153
|
+
const [e, t] = [..._.values()];
|
|
154
|
+
return { x: (e.x + t.x) / 2, y: (e.y + t.y) / 2 };
|
|
155
|
+
}, ge = () => {
|
|
156
|
+
const [e, t] = [..._.values()];
|
|
157
|
+
return Math.hypot(e.x - t.x, e.y - t.y);
|
|
158
|
+
};
|
|
159
|
+
function Se(e) {
|
|
160
|
+
e.pointerType === "mouse" && e.button !== 0 || (O.value?.setPointerCapture?.(e.pointerId), _.set(e.pointerId, { x: e.clientX, y: e.clientY }), ie.value = !0, _.size === 1 ? (Z = !1, pe = Date.now(), N = { x: 0, y: 0 }) : Z = !0);
|
|
161
|
+
}
|
|
162
|
+
function Ie(e) {
|
|
163
|
+
const t = _.get(e.pointerId);
|
|
164
|
+
if (!t) return;
|
|
165
|
+
const n = { x: e.clientX, y: e.clientY };
|
|
166
|
+
if (_.size === 2) {
|
|
167
|
+
const [G, J] = [ge(), fe()];
|
|
168
|
+
_.set(e.pointerId, n);
|
|
169
|
+
const S = fe();
|
|
170
|
+
q(d.value * (ge() / (G || 1)), le({ clientX: S.x, clientY: S.y })), c.value = X({ x: c.value.x + S.x - J.x, y: c.value.y + S.y - J.y }, L.value, x.value, d.value);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
_.set(e.pointerId, n);
|
|
174
|
+
const f = { x: n.x - t.x, y: n.y - t.y };
|
|
175
|
+
N = { x: N.x + f.x, y: N.y + f.y }, !(!Z && Math.hypot(N.x, N.y) < Pt) && (Z = !0, A.value ? c.value = X({ x: c.value.x + f.x, y: c.value.y + f.y }, L.value, x.value, d.value) : b.value = (b.value + f.x) * (b.value + f.x < 0 && !ve.value || b.value + f.x > 0 && !he.value ? 0.6 : 1));
|
|
176
|
+
}
|
|
177
|
+
function we(e, t = !1) {
|
|
178
|
+
if (!_.delete(e.pointerId) || _.size > 0) return;
|
|
179
|
+
ie.value = !1;
|
|
180
|
+
const n = le(e);
|
|
181
|
+
if (!Z && !t) {
|
|
182
|
+
const S = j && Date.now() - j.at < Ct && Math.hypot(n.x - j.point.x, n.y - j.point.y) < 32;
|
|
183
|
+
j = S ? null : { at: Date.now(), point: n }, S && (A.value ? U() : q(2, n));
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const f = Date.now() - pe < 250 && Math.abs(b.value) > 30, G = Math.abs(b.value) > Math.max(50, x.value.width * 0.15), J = b.value;
|
|
187
|
+
b.value = 0, !t && !A.value && (G || f) && Y(J < 0 ? 1 : -1);
|
|
188
|
+
}
|
|
189
|
+
function Be(e) {
|
|
190
|
+
const t = e.deltaMode === 1 ? 16 : 1;
|
|
191
|
+
q(d.value * Math.exp(-e.deltaY * t * (e.ctrlKey ? 0.01 : 15e-4)), le(e));
|
|
192
|
+
}
|
|
193
|
+
const De = { width: 120, height: 80 }, y = g(() => de.value ? at(L.value, x.value, d.value, c.value, De) : null);
|
|
194
|
+
function xe(e) {
|
|
195
|
+
if (e.type === "pointermove" && e.buttons === 0) return;
|
|
196
|
+
const t = e.currentTarget.getBoundingClientRect();
|
|
197
|
+
t.width === 0 || t.height === 0 || (c.value = it({ x: (e.clientX - t.left) / t.width, y: (e.clientY - t.top) / t.height }, L.value, x.value, d.value));
|
|
198
|
+
}
|
|
199
|
+
const Ae = g(() => {
|
|
200
|
+
if (!y.value) return {};
|
|
201
|
+
const { width: e, height: t } = P.value % 2 === 0 ? y.value.image : { width: y.value.image.height, height: y.value.image.width };
|
|
202
|
+
return { width: `${e}px`, height: `${t}px`, marginLeft: `${-e / 2}px`, marginTop: `${-t / 2}px`, transform: `rotate(${P.value * 90}deg)` };
|
|
203
|
+
});
|
|
204
|
+
Ye(() => {
|
|
205
|
+
K.value && F();
|
|
206
|
+
});
|
|
207
|
+
const Re = g(() => i.title ?? u("core.viewer.label"));
|
|
208
|
+
return (e, t) => (h(), Ze(je, { to: "body" }, [
|
|
209
|
+
ae.value ? (h(), m("div", ot, [
|
|
210
|
+
C(Ee, {
|
|
211
|
+
appear: "",
|
|
212
|
+
"enter-active-class": "transition-opacity duration-motion-normal ease-motion-standard",
|
|
213
|
+
"enter-from-class": "opacity-0",
|
|
214
|
+
"leave-active-class": "pointer-events-none transition-opacity duration-motion-normal ease-motion-standard",
|
|
215
|
+
"leave-to-class": "opacity-0",
|
|
216
|
+
onAfterLeave: Pe
|
|
217
|
+
}, {
|
|
218
|
+
default: Ke(() => [
|
|
219
|
+
s(K) ? (h(), m("div", {
|
|
220
|
+
key: 0,
|
|
221
|
+
ref_key: "panel",
|
|
222
|
+
ref: T,
|
|
223
|
+
role: "dialog",
|
|
224
|
+
"aria-modal": "true",
|
|
225
|
+
"aria-label": Re.value,
|
|
226
|
+
tabindex: "-1",
|
|
227
|
+
"data-part": "panel",
|
|
228
|
+
"data-test": "photo-viewer",
|
|
229
|
+
class: "fixed inset-0 flex flex-col bg-[#0b1210] text-[#f1f5f3] outline-none",
|
|
230
|
+
onKeydown: Le
|
|
231
|
+
}, [
|
|
232
|
+
p("div", lt, [
|
|
233
|
+
p("h2", st, [
|
|
234
|
+
i.title ? (h(), m("span", rt, ee(i.title), 1)) : w("", !0),
|
|
235
|
+
i.title ? (h(), m("span", ut, " · ")) : w("", !0),
|
|
236
|
+
p("span", ct, ee(s(u)("core.viewer.counter", { current: o.value + 1, total: i.items.length })), 1)
|
|
237
|
+
]),
|
|
238
|
+
t[6] || (t[6] = p("div", { class: "grow" }, null, -1)),
|
|
239
|
+
v.value && !s($) ? be(e.$slots, "actions", {
|
|
240
|
+
item: v.value,
|
|
241
|
+
index: o.value
|
|
242
|
+
}, void 0, void 0, 0) : w("", !0),
|
|
243
|
+
p("button", {
|
|
244
|
+
type: "button",
|
|
245
|
+
class: M([B, "compact:hidden"]),
|
|
246
|
+
"aria-label": s(u)("core.viewer.zoom_out"),
|
|
247
|
+
"aria-disabled": !A.value,
|
|
248
|
+
"data-test": "zoom-out",
|
|
249
|
+
onClick: t[0] || (t[0] = (n) => R(-1))
|
|
250
|
+
}, [
|
|
251
|
+
C(s(I), {
|
|
252
|
+
name: "zoomOut",
|
|
253
|
+
size: 18
|
|
254
|
+
})
|
|
255
|
+
], 10, dt),
|
|
256
|
+
p("p", ht, ee(s(u)("core.viewer.zoom_percent", { percent: Ce.value })), 1),
|
|
257
|
+
p("button", {
|
|
258
|
+
type: "button",
|
|
259
|
+
class: M([B, "compact:hidden"]),
|
|
260
|
+
"aria-label": s(u)("core.viewer.zoom_in"),
|
|
261
|
+
"aria-disabled": d.value >= s(ue),
|
|
262
|
+
"data-test": "zoom-in",
|
|
263
|
+
onClick: t[1] || (t[1] = (n) => R(1))
|
|
264
|
+
}, [
|
|
265
|
+
C(s(I), {
|
|
266
|
+
name: "zoomIn",
|
|
267
|
+
size: 18
|
|
268
|
+
})
|
|
269
|
+
], 10, vt),
|
|
270
|
+
p("button", {
|
|
271
|
+
type: "button",
|
|
272
|
+
class: M(B),
|
|
273
|
+
"aria-label": s(u)("core.viewer.rotate"),
|
|
274
|
+
"data-test": "rotate",
|
|
275
|
+
onClick: ne
|
|
276
|
+
}, [
|
|
277
|
+
C(s(I), {
|
|
278
|
+
name: "rotateCounterclockwise",
|
|
279
|
+
size: 18
|
|
280
|
+
})
|
|
281
|
+
], 8, mt),
|
|
282
|
+
v.value ? (h(), m("a", {
|
|
283
|
+
key: 1,
|
|
284
|
+
href: v.value.src,
|
|
285
|
+
download: v.value.downloadName ?? "",
|
|
286
|
+
target: "_blank",
|
|
287
|
+
rel: "noopener",
|
|
288
|
+
class: M(B),
|
|
289
|
+
"aria-label": s(u)("core.viewer.download"),
|
|
290
|
+
"data-test": "download"
|
|
291
|
+
}, [
|
|
292
|
+
C(s(I), {
|
|
293
|
+
name: "download",
|
|
294
|
+
size: 18
|
|
295
|
+
})
|
|
296
|
+
], 8, pt)) : w("", !0),
|
|
297
|
+
p("button", {
|
|
298
|
+
type: "button",
|
|
299
|
+
class: M([B, "bg-white/16"]),
|
|
300
|
+
"aria-label": s(u)("core.actions.close"),
|
|
301
|
+
"data-test": "close",
|
|
302
|
+
onClick: me
|
|
303
|
+
}, [
|
|
304
|
+
C(s(I), {
|
|
305
|
+
name: "close",
|
|
306
|
+
size: 18
|
|
307
|
+
})
|
|
308
|
+
], 10, ft)
|
|
309
|
+
]),
|
|
310
|
+
p("div", gt, [
|
|
311
|
+
i.items.length > 1 ? (h(), m("button", {
|
|
312
|
+
key: 0,
|
|
313
|
+
type: "button",
|
|
314
|
+
class: M([B, "size-12 compact:hidden"]),
|
|
315
|
+
"aria-label": s(u)("core.viewer.previous"),
|
|
316
|
+
"aria-disabled": !he.value,
|
|
317
|
+
"data-test": "previous",
|
|
318
|
+
onClick: t[2] || (t[2] = (n) => Y(-1))
|
|
319
|
+
}, [
|
|
320
|
+
C(s(I), {
|
|
321
|
+
name: "arrowLeftSLine",
|
|
322
|
+
size: 22
|
|
323
|
+
})
|
|
324
|
+
], 10, wt)) : w("", !0),
|
|
325
|
+
p("div", {
|
|
326
|
+
ref_key: "stage",
|
|
327
|
+
ref: x,
|
|
328
|
+
"data-test": "photo-stage",
|
|
329
|
+
class: M(["relative h-full min-w-0 grow touch-none overflow-hidden rounded-md select-none", A.value ? "cursor-grab active:cursor-grabbing" : ""]),
|
|
330
|
+
onPointerdown: Se,
|
|
331
|
+
onPointermove: Ie,
|
|
332
|
+
onPointerup: t[3] || (t[3] = (n) => we(n)),
|
|
333
|
+
onPointercancel: t[4] || (t[4] = (n) => we(n, !0)),
|
|
334
|
+
onWheel: re(Be, ["prevent"])
|
|
335
|
+
}, [
|
|
336
|
+
v.value ? (h(), m("img", {
|
|
337
|
+
key: v.value.src,
|
|
338
|
+
ref: "image",
|
|
339
|
+
src: v.value.src,
|
|
340
|
+
alt: v.value.alt,
|
|
341
|
+
draggable: "false",
|
|
342
|
+
"data-test": "photo",
|
|
343
|
+
class: M(["absolute top-1/2 left-1/2 max-w-none", [de.value ? "" : "opacity-0", ie.value ? "" : "transition-transform duration-motion-normal ease-motion-standard", V.value === "back" ? "animate-step-back" : V.value === "forward" ? "animate-step-in" : ""]]),
|
|
344
|
+
style: te(Te.value),
|
|
345
|
+
onLoad: oe
|
|
346
|
+
}, null, 46, xt)) : w("", !0),
|
|
347
|
+
A.value && y.value ? (h(), m("div", {
|
|
348
|
+
key: 1,
|
|
349
|
+
"data-test": "mini-map",
|
|
350
|
+
class: "absolute right-3.5 bottom-3.5 overflow-hidden rounded-md bg-black/50 ring-1 ring-white/20",
|
|
351
|
+
style: te({ width: `${y.value.image.width}px`, height: `${y.value.image.height}px` }),
|
|
352
|
+
onPointerdown: re(xe, ["stop"]),
|
|
353
|
+
onPointermove: re(xe, ["stop"])
|
|
354
|
+
}, [
|
|
355
|
+
v.value ? (h(), m("img", {
|
|
356
|
+
key: 0,
|
|
357
|
+
src: v.value.thumb ?? v.value.src,
|
|
358
|
+
alt: "",
|
|
359
|
+
draggable: "false",
|
|
360
|
+
class: "pointer-events-none absolute top-1/2 left-1/2 max-w-none opacity-80",
|
|
361
|
+
style: te(Ae.value)
|
|
362
|
+
}, null, 12, yt)) : w("", !0),
|
|
363
|
+
p("span", {
|
|
364
|
+
class: "pointer-events-none absolute rounded-xs ring-2 ring-[#6ee7b7]",
|
|
365
|
+
"data-test": "mini-map-view",
|
|
366
|
+
style: te({ left: `${y.value.view.x}px`, top: `${y.value.view.y}px`, width: `${y.value.view.width}px`, height: `${y.value.view.height}px` })
|
|
367
|
+
}, null, 4)
|
|
368
|
+
], 36)) : w("", !0)
|
|
369
|
+
], 34),
|
|
370
|
+
i.items.length > 1 ? (h(), m("button", {
|
|
371
|
+
key: 1,
|
|
372
|
+
type: "button",
|
|
373
|
+
class: M([B, "size-12 compact:hidden"]),
|
|
374
|
+
"aria-label": s(u)("core.viewer.next"),
|
|
375
|
+
"aria-disabled": !ve.value,
|
|
376
|
+
"data-test": "next",
|
|
377
|
+
onClick: t[5] || (t[5] = (n) => Y(1))
|
|
378
|
+
}, [
|
|
379
|
+
C(s(I), {
|
|
380
|
+
name: "arrowRightSLine",
|
|
381
|
+
size: 22
|
|
382
|
+
})
|
|
383
|
+
], 10, bt)) : w("", !0)
|
|
384
|
+
]),
|
|
385
|
+
s($) && v.value && e.$slots.actions ? (h(), m("div", _t, [
|
|
386
|
+
be(e.$slots, "actions", {
|
|
387
|
+
item: v.value,
|
|
388
|
+
index: o.value
|
|
389
|
+
})
|
|
390
|
+
])) : w("", !0),
|
|
391
|
+
i.items.length > 1 ? (h(), m("ul", {
|
|
392
|
+
key: 1,
|
|
393
|
+
ref_key: "strip",
|
|
394
|
+
ref: ce,
|
|
395
|
+
"data-test": "photo-strip",
|
|
396
|
+
class: "flex shrink-0 justify-start gap-2 overflow-x-auto px-4 pt-4 pb-[max(1.25rem,var(--app-safe-bottom))] scrollbar-hide md:justify-center md:px-4.5"
|
|
397
|
+
}, [
|
|
398
|
+
(h(!0), m(We, null, Ue(i.items, (n, f) => (h(), m("li", {
|
|
399
|
+
key: n.src,
|
|
400
|
+
class: "shrink-0"
|
|
401
|
+
}, [
|
|
402
|
+
p("button", {
|
|
403
|
+
type: "button",
|
|
404
|
+
"aria-label": n.alt,
|
|
405
|
+
"aria-current": f === o.value ? "true" : void 0,
|
|
406
|
+
"data-test": "thumbnail",
|
|
407
|
+
class: M(["block h-11 w-16 cursor-pointer overflow-hidden rounded-[5px] bg-[#2a3431] transition-opacity duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#6ee7b7]", f === o.value ? "ring-2 ring-[#6ee7b7]" : "opacity-60 hover:opacity-100"]),
|
|
408
|
+
onClick: (G) => {
|
|
409
|
+
V.value = f > o.value ? "forward" : "back", o.value = f;
|
|
410
|
+
}
|
|
411
|
+
}, [
|
|
412
|
+
p("img", {
|
|
413
|
+
src: n.thumb ?? n.src,
|
|
414
|
+
alt: "",
|
|
415
|
+
loading: "lazy",
|
|
416
|
+
draggable: "false",
|
|
417
|
+
class: "size-full object-cover"
|
|
418
|
+
}, null, 8, Mt)
|
|
419
|
+
], 10, kt)
|
|
420
|
+
]))), 128))
|
|
421
|
+
], 512)) : (h(), m("div", zt)),
|
|
422
|
+
p("span", $t, ee(v.value?.alt), 1)
|
|
423
|
+
], 40, nt)) : w("", !0)
|
|
424
|
+
]),
|
|
425
|
+
_: 3
|
|
426
|
+
})
|
|
427
|
+
])) : w("", !0)
|
|
428
|
+
]));
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
export {
|
|
432
|
+
Bt as _
|
|
433
|
+
};
|
|
@@ -4,9 +4,9 @@ import { a as ge } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang
|
|
|
4
4
|
import { u as L } from "./platform-q3cjODLx.js";
|
|
5
5
|
import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
|
|
6
6
|
import { u as Y } from "./useLoad-M7V-AVwR.js";
|
|
7
|
-
import { i as k, d as G } from "./index
|
|
8
|
-
import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-
|
|
9
|
-
import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
7
|
+
import { i as k, d as G } from "./index-BmowiT1y.js";
|
|
8
|
+
import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DGOSc-PS.js";
|
|
9
|
+
import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js";
|
|
10
10
|
import { _ as U } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
|
|
11
11
|
import { _ as H } from "./Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
|
|
12
12
|
import { t as C } from "./toast-CqSDTWRX.js";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { defineComponent as I, computed as h, ref as M, openBlock as l, createElementBlock as v, createElementVNode as w, unref as t, Fragment as B, renderList as N, normalizeClass as K, toDisplayString as d, createVNode as V, withCtx as p, createTextVNode as y, createCommentVNode as $, createBlock as _, createSlots as X, watch as Y, mergeProps as F } from "vue";
|
|
2
2
|
import { useI18n as Q } from "vue-i18n";
|
|
3
|
-
import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-
|
|
3
|
+
import { u as Z } from "./FormErrors.vue_vue_type_script_setup_true_lang-DGOSc-PS.js";
|
|
4
4
|
import { _ as W } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
|
|
5
|
-
import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
5
|
+
import { _ as ee } from "./FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js";
|
|
6
6
|
import { _ as te } from "./TextareaField.vue_vue_type_script_setup_true_lang-BJ4__cvJ.js";
|
|
7
7
|
import { _ as se } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
|
|
8
8
|
import { u as ae } from "./useSaveChrome-7huA3FzR.js";
|
|
9
9
|
import { t as oe } from "./toast-CqSDTWRX.js";
|
|
10
10
|
import { _ as S } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
11
11
|
import { _ as E } from "./Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
|
|
12
|
-
import { d as G, u as J, p as ne, o as R, r as D, g as H, s as le, e as re, a as ie, f as ce, b as ue, h as de } from "./index-
|
|
12
|
+
import { d as G, u as J, p as ne, o as R, r as D, g as H, s as le, e as re, a as ie, f as ce, b as ue, h as de } from "./index-Yy28omu6.js";
|
|
13
13
|
import { _ as me } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
14
14
|
import { _ as fe } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
|
|
15
15
|
import { _ as pe } from "./SegmentedField.vue_vue_type_script_setup_true_lang-Dg-_ZjgR.js";
|
|
@@ -13,11 +13,11 @@ import { a as ae, u as le } from "./routeResource-DlTsGTg_.js";
|
|
|
13
13
|
import { a as se } from "./ResourcePage.vue_vue_type_script_setup_true_lang-BFaaFQSm.js";
|
|
14
14
|
import { _ as re } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
|
|
15
15
|
import { _ as H } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
16
|
-
import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-
|
|
16
|
+
import { u as O, a as U, f as ce, d as ne, b as M, c as T } from "./index-Yy28omu6.js";
|
|
17
17
|
import { _ as J } from "./SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
|
|
18
|
-
import { u as ie, _ as ue } from "./useCommand-
|
|
18
|
+
import { u as ie, _ as ue } from "./useCommand-Cj-APj-P.js";
|
|
19
19
|
import { _ as me } from "./Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js";
|
|
20
|
-
import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-
|
|
20
|
+
import { _ as pe } from "./RoleEditor.vue_vue_type_script_setup_true_lang-B6g2760V.js";
|
|
21
21
|
const de = { "data-test": "role-replace" }, fe = /* @__PURE__ */ I({
|
|
22
22
|
__name: "ReplaceRoleDialog",
|
|
23
23
|
props: {
|
|
@@ -11,7 +11,7 @@ import { u as K } from "./platform-q3cjODLx.js";
|
|
|
11
11
|
import { _ as T } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
|
|
12
12
|
import { _ as q } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
13
13
|
import { u as z } from "./useLoad-M7V-AVwR.js";
|
|
14
|
-
import { u as G, a as H, b as J, c as x } from "./index-
|
|
14
|
+
import { u as G, a as H, b as J, c as x } from "./index-Yy28omu6.js";
|
|
15
15
|
const M = {
|
|
16
16
|
class: "flex min-w-0 flex-col gap-group-gap",
|
|
17
17
|
"data-test": "roles-index"
|
|
@@ -2,7 +2,7 @@ import { defineComponent as x, useTemplateRef as v, computed as w, ref as $, ope
|
|
|
2
2
|
import { useI18n as N } from "vue-i18n";
|
|
3
3
|
import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
4
4
|
import { u as A } from "./describeError-B-NMa--w.js";
|
|
5
|
-
import { P as D, b as L, e as O, i as g, d as T } from "./index
|
|
5
|
+
import { P as D, b as L, e as O, i as g, d as T } from "./index-BmowiT1y.js";
|
|
6
6
|
import { _ as k } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
|
|
7
7
|
import { t as b } from "./toast-CqSDTWRX.js";
|
|
8
8
|
import { u as V } from "./platform-q3cjODLx.js";
|
|
@@ -10,12 +10,12 @@ import { _ as R } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5
|
|
|
10
10
|
import { e as G } from "./control-B4SdblL6.js";
|
|
11
11
|
import { _ as Z } from "./SwitchField.vue_vue_type_script_setup_true_lang-ALvJisiP.js";
|
|
12
12
|
import { _ as J } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
13
|
-
import { u as K } from "./FormErrors.vue_vue_type_script_setup_true_lang-
|
|
14
|
-
import { _ as W } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
13
|
+
import { u as K } from "./FormErrors.vue_vue_type_script_setup_true_lang-DGOSc-PS.js";
|
|
14
|
+
import { _ as W } from "./FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js";
|
|
15
15
|
import { _ as E } from "./TimeField.vue_vue_type_script_setup_true_lang-DBxKAWRo.js";
|
|
16
16
|
import { a as k, n as X } from "./useTypedEntry-C7k7Dyl-.js";
|
|
17
17
|
import { _ as Y } from "./PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js";
|
|
18
|
-
import { n as q } from "./index-
|
|
18
|
+
import { n as q } from "./index-tnSTp0cM.js";
|
|
19
19
|
import { u as ee } from "./platform-q3cjODLx.js";
|
|
20
20
|
import { u as te } from "./useLoad-M7V-AVwR.js";
|
|
21
21
|
function ne() {
|
|
@@ -6,7 +6,7 @@ import { u as D } from "./format-D8X4zsx6.js";
|
|
|
6
6
|
import { _ as p } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
|
|
7
7
|
import { e as b } from "./control-B4SdblL6.js";
|
|
8
8
|
import { u as U } from "./describeError-B-NMa--w.js";
|
|
9
|
-
import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index
|
|
9
|
+
import { c as q, P as z, b as F, _ as L, i as O, d as T } from "./index-BmowiT1y.js";
|
|
10
10
|
import { t as h } from "./toast-CqSDTWRX.js";
|
|
11
11
|
import { u as j, h as G } from "./platform-q3cjODLx.js";
|
|
12
12
|
import { b as H } from "./routeResource-DlTsGTg_.js";
|
|
@@ -3,10 +3,10 @@ import { useI18n as x } from "vue-i18n";
|
|
|
3
3
|
import { useRoute as y, useRouter as h } from "vue-router";
|
|
4
4
|
import { _ as I } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
5
5
|
import { _ as N } from "./Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
|
|
6
|
-
import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-
|
|
6
|
+
import { _ as S } from "./FormView.vue_vue_type_script_setup_true_lang-BUrYkjmF.js";
|
|
7
7
|
import { _ as a } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
|
|
8
8
|
import { r as $ } from "./guards-Dve61KjR.js";
|
|
9
|
-
import { u as C, a as E } from "./index
|
|
9
|
+
import { u as C, a as E } from "./index-BmowiT1y.js";
|
|
10
10
|
const V = { class: "flex flex-1 flex-col items-center justify-center gap-8" }, k = { class: "text-xl font-semibold text-content-strong" }, H = /* @__PURE__ */ d({
|
|
11
11
|
__name: "SignInPage",
|
|
12
12
|
setup(q) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as g, ref as m, watch as p, openBlock as c, createElementBlock as v, createVNode as i, unref as e, withCtx as w, createBlock as x, createCommentVNode as y, createElementVNode as V, toDisplayString as $ } from "vue";
|
|
2
2
|
import { useI18n as N } from "vue-i18n";
|
|
3
|
-
import { P as S, i as b } from "./index
|
|
3
|
+
import { P as S, i as b } from "./index-BmowiT1y.js";
|
|
4
4
|
import { u as k } from "./platform-q3cjODLx.js";
|
|
5
5
|
import { b as I } from "./routeResource-DlTsGTg_.js";
|
|
6
6
|
import { _ as R } from "./AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js";
|
|
@@ -3,7 +3,7 @@ import { useI18n as A } from "vue-i18n";
|
|
|
3
3
|
import { a as F } from "./neighbors-DVN_cADL.js";
|
|
4
4
|
import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
|
|
5
5
|
import { u as J } from "./describeError-B-NMa--w.js";
|
|
6
|
-
import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index
|
|
6
|
+
import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-BmowiT1y.js";
|
|
7
7
|
import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
|
|
8
8
|
import { t as k } from "./toast-CqSDTWRX.js";
|
|
9
9
|
import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-BltrQnrQ.js";
|
|
@@ -16,9 +16,9 @@ import { u as ie } from "./useLoad-M7V-AVwR.js";
|
|
|
16
16
|
import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
|
|
17
17
|
import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
|
|
18
18
|
import { e as B } from "./control-B4SdblL6.js";
|
|
19
|
-
import { u as z, _ as K } from "./useCommand-
|
|
19
|
+
import { u as z, _ as K } from "./useCommand-Cj-APj-P.js";
|
|
20
20
|
import { u as U } from "./fieldMessages-6HVzSDqG.js";
|
|
21
|
-
import { u as ce, s as le } from "./status-
|
|
21
|
+
import { u as ce, s as le } from "./status-Bh3-Cg7o.js";
|
|
22
22
|
import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
|
|
23
23
|
const ue = /* @__PURE__ */ R({
|
|
24
24
|
__name: "DeactivateDialog",
|
|
@@ -6,14 +6,14 @@ import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js
|
|
|
6
6
|
import { u as F } from "./format-D8X4zsx6.js";
|
|
7
7
|
import { u as L } from "./platform-q3cjODLx.js";
|
|
8
8
|
import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
9
|
-
import { i as K, f as E, M as W } from "./index
|
|
10
|
-
import { U as j, u as H, s as J } from "./status-
|
|
9
|
+
import { i as K, f as E, M as W } from "./index-BmowiT1y.js";
|
|
10
|
+
import { U as j, u as H, s as J } from "./status-Bh3-Cg7o.js";
|
|
11
11
|
import { u as O } from "./environment-Dva-SG8D.js";
|
|
12
12
|
import { u as Q } from "./languages-BShG9LpE.js";
|
|
13
13
|
import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-DSwSRsA5.js";
|
|
14
14
|
import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-C3FbRQW7.js";
|
|
15
15
|
import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-CP2WeU36.js";
|
|
16
|
-
import { u as Z, _ as ee } from "./useCommand-
|
|
16
|
+
import { u as Z, _ as ee } from "./useCommand-Cj-APj-P.js";
|
|
17
17
|
import { t as se } from "./toast-CqSDTWRX.js";
|
|
18
18
|
import { u as te } from "./fieldMessages-6HVzSDqG.js";
|
|
19
19
|
const oe = /* @__PURE__ */ U({
|
package/dist/access/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-
|
|
1
|
+
import { _ as a, i as c, j as o, c as r, b as n, k as i, l as u, p as l, m as p, n as t, u as d, f as m } from "../index-Yy28omu6.js";
|
|
2
2
|
export {
|
|
3
3
|
a as BindingRow,
|
|
4
4
|
c as PersonAccess,
|
|
@@ -13,6 +13,9 @@ import type { Form } from "./useForm";
|
|
|
13
13
|
* instead of closing, opens the dialog again with fresh inputs (the command's defaults), so the next record can be entered
|
|
14
14
|
* (the add-a-record recipe, `docs/recipes/forms.md`).
|
|
15
15
|
*
|
|
16
|
+
* `:editable="false"` is the same dialog for someone who may only look: the fields read (like `FormGroup :editable="false"`), there is no
|
|
17
|
+
* primary action (nor `#actions`), the dismiss button says "Close", and closing never asks. Give the same body to both; do not write a second dialog.
|
|
18
|
+
*
|
|
16
19
|
* A command with `ask` puts its question here, in an `AlertDialog` over the filled form, once the inputs check out: Cancel
|
|
17
20
|
* returns to the form untouched and nothing is sent; the action runs the command, and a refusal then lands on the form like any other.
|
|
18
21
|
*/
|
|
@@ -24,6 +27,8 @@ type __VLS_Props = {
|
|
|
24
27
|
subtitle?: string;
|
|
25
28
|
/** What the primary action says: exactly what it does ("Assign"). */
|
|
26
29
|
confirmLabel: string;
|
|
30
|
+
/** `false`: the record is shown, not edited: fields read, no primary action, "Close" instead of Cancel, no discard question. */
|
|
31
|
+
editable?: boolean;
|
|
27
32
|
/** Disables the primary action while true (a proposal still loading). The inputs, Cancel and the leave guard work as before, and `run()` does nothing. */
|
|
28
33
|
confirmDisabled?: boolean;
|
|
29
34
|
/** What it says once done; by default "Saved". */
|
|
@@ -54,6 +59,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
54
59
|
message: string;
|
|
55
60
|
size: "sm" | "md" | "lg";
|
|
56
61
|
subtitle: string;
|
|
62
|
+
editable: boolean;
|
|
57
63
|
fieldLabel: (field: string) => string;
|
|
58
64
|
doneLabel: string;
|
|
59
65
|
confirmDisabled: boolean;
|