@wssto2/vue-core 0.3.0 → 0.4.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/README.md +3 -0
- package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DKX3PH2n.js → AccessGate.vue_vue_type_script_setup_true_lang-DcbZBINh.js} +1 -1
- package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-DIGqTLwd.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js} +1 -1
- package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-B7Lpfkf6.js → ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js} +2 -2
- package/dist/{Activity-DviO0VQ8.js → Activity-ylf1r2lv.js} +9 -9
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CvAnzdc1.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js} +4 -4
- package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js → AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js} +1 -1
- package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js → AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js} +4 -4
- package/dist/{Banner.vue_vue_type_script_setup_true_lang-Cib_YYpr.js → Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js} +1 -1
- package/dist/{Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js → Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js} +1 -1
- package/dist/{Changes-DlT5mN9G.js → Changes-B1-2LPkp.js} +8 -8
- package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js → CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.js} +176 -172
- package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DSYgS9lC.js → DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js} +1 -1
- package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +255 -0
- package/dist/DeadLetters-CcogaMTK.js +104 -0
- package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-Cb3xJI1x.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-C2ZYIT9F.js → EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js} +1 -1
- package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js → FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js} +1 -1
- package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js → FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js} +10 -10
- package/dist/{FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js → FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js} +2 -2
- package/dist/{General-BD-Hcz0a.js → General-DSrflQib.js} +9 -9
- package/dist/HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js +45 -0
- package/dist/{Icon.vue_vue_type_script_lang-VvcV2Bzo.js → Icon.vue_vue_type_script_lang-D7oC-d-S.js} +33 -29
- package/dist/{IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js → IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js} +1 -1
- package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js} +1 -1
- package/dist/{Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js → Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js} +30 -26
- package/dist/{Modal.vue_vue_type_script_setup_true_lang-D7SwVPpL.js → Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js} +2 -2
- package/dist/{NewRolePage-Dla4YnMs.js → NewRolePage-Du9eyEG2.js} +4 -4
- package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-8m9cNptR.js → NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js} +1 -1
- package/dist/{NumberField.vue_vue_type_script_setup_true_lang-CYRg7Kfg.js → NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js} +1 -1
- package/dist/{PageBar.vue_vue_type_script_setup_true_lang-Cfr5xsJx.js → PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js} +1 -1
- package/dist/{Panel.vue_vue_type_script_setup_true_lang-BCRxRK4D.js → Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js} +1 -1
- package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +46 -0
- package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-B3Q4dhqJ.js → PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js} +1 -1
- package/dist/ProfilePage-BjvWyg_e.js +654 -0
- package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js → RecordHeader.vue_vue_type_script_setup_true_lang-Ci4fs5s5.js} +2 -2
- package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js → ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js} +5 -5
- package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ci1Aqc37.js} +30 -29
- package/dist/{RolePage-bZzv_E4l.js → RolePage-BDD6volP.js} +13 -13
- package/dist/{RolesPage-BniZv0nB.js → RolesPage-Bzun0trr.js} +9 -9
- package/dist/{SectionList.vue_vue_type_script_setup_true_lang-BKP_bge8.js → SectionList.vue_vue_type_script_setup_true_lang-DBheVDeX.js} +3 -3
- package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js → SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js} +6 -6
- package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BZ9UdgA1.js → SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js} +1 -1
- package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js → SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js} +15 -14
- package/dist/{SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js → SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js} +4 -4
- package/dist/{Sessions-Co5-xdeb.js → Sessions-BOzz38WJ.js} +6 -6
- package/dist/SettingsPage-BXlYHt8u.js +255 -0
- package/dist/{Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js → Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js} +48 -45
- package/dist/{SignIn-BWwFbxki.js → SignIn-CenfvX8C.js} +7 -7
- package/dist/{SignInPage-FnLtoi2q.js → SignInPage-23sJGIXh.js} +6 -6
- package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-Dnx3T_42.js → SignInTable.vue_vue_type_script_setup_true_lang-CEbAvZ_C.js} +1 -1
- package/dist/{SignIns-3UcI64_h.js → SignIns-DRaTo-T0.js} +6 -6
- package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-4I8m27ol.js → SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js} +1 -1
- package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +64 -0
- package/dist/{Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js → Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js} +1 -1
- package/dist/{TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js → TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js} +3 -3
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +68 -0
- package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +164 -0
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-1RJGKxbD.js → Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js} +1 -1
- package/dist/{UserRecord-Ci8HfwbX.js → UserRecord-BreLQOPG.js} +13 -13
- package/dist/{UsersList-vEJ-cgkT.js → UsersList-CKLqiOpt.js} +8 -8
- package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-ByqTU2JT.js → ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js} +1 -1
- package/dist/access/index.js +1 -1
- package/dist/access-DmAceEo5.js +42 -0
- package/dist/app/feature.d.ts +2 -0
- package/dist/app/index.js +11 -11
- package/dist/button/index.js +1 -1
- package/dist/{chrome-BS3xJcad.js → chrome-nUcmVu8G.js} +2 -2
- package/dist/client/index.js +11 -19
- package/dist/{client-Bw0aM5Gu.js → client-k9euDWF4.js} +19 -19
- package/dist/collection/definition.d.ts +3 -0
- package/dist/collection/index.js +6 -6
- package/dist/collection/useCollection.d.ts +2 -0
- package/dist/content/index.js +2 -2
- package/dist/{contributions-CDDg3fKp.js → contributions-DsfmDoRD.js} +1 -1
- package/dist/control-7EP4tjYy.js +313 -0
- package/dist/controls/index.js +4 -4
- package/dist/form/index.js +987 -1134
- package/dist/{guards-Cd1V28oG.js → guards-Dve61KjR.js} +1 -1
- package/dist/{http-DGGSKWvU.js → http-CNcDHSOj.js} +9 -8
- package/dist/i18n/index.js +20 -20
- package/dist/icon/core.d.ts +4 -0
- package/dist/icon/index.js +1 -1
- package/dist/identity/index.js +1 -1
- package/dist/index-0TeI4rVv.js +504 -0
- package/dist/{index-B2dbYZR9.js → index-BBdzJnvG.js} +15 -15
- package/dist/{index-BAcl44SC.js → index-CnVf6Uk_.js} +19 -19
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/modal/Sheet.vue.d.ts +2 -0
- package/dist/modal/index.js +5 -5
- package/dist/modules/events/entities.d.ts +16 -0
- package/dist/modules/events/routes.d.ts +17 -0
- package/dist/modules/events/schemas.d.ts +16 -0
- package/dist/modules/notification/entities.d.ts +46 -0
- package/dist/modules/notification/routes.d.ts +26 -0
- package/dist/modules/notification/schemas.d.ts +25 -0
- package/dist/{navigation-BPWa63ge.js → navigation-Cm3iChlR.js} +1 -1
- package/dist/{neighbors-D0WRBxXI.js → neighbors-DpaIMQAL.js} +1 -1
- package/dist/notifications/InboxPanel.vue.d.ts +16 -0
- package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
- package/dist/notifications/NotificationBell.vue.d.ts +2 -0
- package/dist/notifications/SettingsLink.vue.d.ts +6 -0
- package/dist/notifications/context.d.ts +20 -0
- package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
- package/dist/notifications/deadletters/access.d.ts +3 -0
- package/dist/notifications/deadletters/list.d.ts +3 -0
- package/dist/notifications/deadletters/routes.d.ts +13 -0
- package/dist/notifications/feature.d.ts +31 -0
- package/dist/notifications/inbox.d.ts +62 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
- package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
- package/dist/notifications/settings/categoryText.d.ts +9 -0
- package/dist/notifications/settings/routes.d.ts +13 -0
- package/dist/notifications/settings/settings.d.ts +18 -0
- package/dist/notifications/settings/state.d.ts +16 -0
- package/dist/notifications/state.d.ts +27 -0
- package/dist/notifications/stream.d.ts +21 -0
- package/dist/options-Ba_0uLWN.js +18 -0
- package/dist/overlay/index.js +3 -3
- package/dist/page/chrome.d.ts +4 -1
- package/dist/page/index.d.ts +1 -1
- package/dist/page/index.js +25 -24
- package/dist/phone/index.js +68 -67
- package/dist/platform/index.js +2 -2
- package/dist/{platform-hunMqFdB.js → platform-q3cjODLx.js} +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/route-goWMxDUN.js +13 -0
- package/dist/router/access.d.ts +1 -1
- package/dist/router/index.js +5 -5
- package/dist/router/pageRefresh.d.ts +6 -0
- package/dist/{rowLayout-BI7a3Kom.js → rowLayout-BqTEhEuy.js} +5 -5
- package/dist/{sections-BEqW1dOc.js → sections-D-kD98vu.js} +2 -2
- package/dist/shell/BackofficeShell.vue.d.ts +4 -1
- package/dist/shell/NavigationDrawer.vue.d.ts +1 -1
- package/dist/shell/PullToRefresh.vue.d.ts +2 -0
- package/dist/shell/ShellSidebar.vue.d.ts +2 -1
- package/dist/shell/backofficeShell.d.ts +3 -1
- package/dist/shell/index.js +638 -584
- package/dist/shell/pullToRefresh.d.ts +16 -0
- package/dist/shell/search.d.ts +3 -0
- package/dist/state/index.js +4 -4
- package/dist/{status-C9aXR-Jb.js → status-jB5r1cG2.js} +2 -2
- package/dist/styles.css +1 -1
- package/dist/{suggestions-BJAqOj4c.js → suggestions-BxMm6MQA.js} +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/transport-BnP7WC0Y.js +4 -0
- package/dist/{useCommand-BgRwnYlV.js → useCommand-BkONMn3X.js} +2 -2
- package/dist/{useResourceForm-Bgc9jMcu.js → useResourceForm-D1hIpwW5.js} +1 -1
- package/dist/{useSaveChrome-chi6D3HY.js → useSaveChrome-DuWm0Czf.js} +1 -1
- package/dist/useTypedEntry-aTfPBAhw.js +857 -0
- package/package.json +8 -4
- package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +0 -1099
- package/dist/ProfilePage-OJMQ8cr8.js +0 -691
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +0 -127
- package/dist/access-DdRFrVV1.js +0 -40
- package/dist/options-BXkMR63B.js +0 -329
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { defineComponent as k, useModel as _, useTemplateRef as B, computed as l, openBlock as d, createBlock as q, mergeProps as C, unref as i, withCtx as V, createElementVNode as u, normalizeClass as c, withDirectives as L, vModelText as M, createElementBlock as D, toDisplayString as z, createCommentVNode as E, mergeModels as F, mergeDefaults as P } from "vue";
|
|
2
|
+
import { u as R } from "./mediaQuery-CygcXmFW.js";
|
|
3
|
+
import { a as T, u as $, c as N, _ as S, f as j, b as G } from "./control-7EP4tjYy.js";
|
|
4
|
+
const U = ["id", "name", "rows", "placeholder", "maxlength", "autocomplete", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], A = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "mt-1 self-end text-footnote tabular-nums text-content-muted"
|
|
7
|
+
}, O = /* @__PURE__ */ k({
|
|
8
|
+
__name: "TextareaField",
|
|
9
|
+
props: /* @__PURE__ */ F(/* @__PURE__ */ P({
|
|
10
|
+
label: {},
|
|
11
|
+
hint: {},
|
|
12
|
+
error: {},
|
|
13
|
+
required: { type: Boolean },
|
|
14
|
+
editable: { type: Boolean },
|
|
15
|
+
disabled: { type: Boolean },
|
|
16
|
+
lockedReason: {},
|
|
17
|
+
presentation: {},
|
|
18
|
+
name: {},
|
|
19
|
+
placeholder: {},
|
|
20
|
+
maxLength: {},
|
|
21
|
+
rows: {},
|
|
22
|
+
autocomplete: {},
|
|
23
|
+
stacked: { type: Boolean }
|
|
24
|
+
}, { ...G, placeholder: void 0, maxLength: void 0, rows: 3, autocomplete: void 0, stacked: !1 }), {
|
|
25
|
+
modelValue: { default: "" },
|
|
26
|
+
modelModifiers: {}
|
|
27
|
+
}),
|
|
28
|
+
emits: ["update:modelValue"],
|
|
29
|
+
setup(r, { expose: m }) {
|
|
30
|
+
const e = r, a = _(r, "modelValue"), s = B("area"), p = !!T(), f = R(), { editable: v } = $(e), t = l(() => p && !e.stacked && !f.value && v.value && !!e.label), o = l(() => e.maxLength ? `${a.value.length} / ${e.maxLength}` : void 0), b = l(() => t.value && o.value ? [e.hint, o.value].filter(Boolean).join(" · ") : e.hint), h = N("area", () => e.error ? "error" : e.disabled ? "locked" : "rest");
|
|
31
|
+
return m({ focus: () => s.value?.focus() }), (H, n) => (d(), q(S, C({ ...i(j)(e), hint: b.value }, {
|
|
32
|
+
value: a.value,
|
|
33
|
+
"row-layout": t.value ? "entry" : "stacked",
|
|
34
|
+
"row-label-align": "top"
|
|
35
|
+
}), {
|
|
36
|
+
default: V(({ id: x, describedby: g, invalid: y }) => [
|
|
37
|
+
u("div", {
|
|
38
|
+
class: c(["w-full", i(h)])
|
|
39
|
+
}, [
|
|
40
|
+
L(u("textarea", {
|
|
41
|
+
id: x,
|
|
42
|
+
ref_key: "area",
|
|
43
|
+
ref: s,
|
|
44
|
+
"onUpdate:modelValue": n[0] || (n[0] = (w) => a.value = w),
|
|
45
|
+
name: e.name,
|
|
46
|
+
rows: e.rows,
|
|
47
|
+
placeholder: e.placeholder,
|
|
48
|
+
maxlength: e.maxLength,
|
|
49
|
+
autocomplete: e.autocomplete,
|
|
50
|
+
disabled: e.disabled,
|
|
51
|
+
required: e.required,
|
|
52
|
+
"aria-required": e.required || void 0,
|
|
53
|
+
"aria-invalid": y || void 0,
|
|
54
|
+
"aria-describedby": g,
|
|
55
|
+
class: c(["block w-full border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed", e.disabled ? "resize-none" : "resize-y"])
|
|
56
|
+
}, null, 10, U), [
|
|
57
|
+
[M, a.value]
|
|
58
|
+
])
|
|
59
|
+
], 2),
|
|
60
|
+
!t.value && o.value ? (d(), D("p", A, z(o.value), 1)) : E("", !0)
|
|
61
|
+
]),
|
|
62
|
+
_: 1
|
|
63
|
+
}, 16, ["value", "row-layout"]));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
export {
|
|
67
|
+
O as _
|
|
68
|
+
};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { computed as u, defineComponent as K, useModel as W, useTemplateRef as v, openBlock as m, createBlock as E, mergeProps as w, unref as t, withCtx as b, createElementBlock as x, Fragment as N, createVNode as d, createTextVNode as j, toDisplayString as G, createCommentVNode as P, createElementVNode as h, normalizeClass as H, mergeModels as J, mergeDefaults as O, nextTick as U } from "vue";
|
|
2
|
+
import { useI18n as L } from "vue-i18n";
|
|
3
|
+
import { _ as X } from "./DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
|
|
4
|
+
import { u as Y } from "./format-B8mJm946.js";
|
|
5
|
+
import { _ as Z } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
6
|
+
import { u as ee } from "./mediaQuery-CygcXmFW.js";
|
|
7
|
+
import { _ as te } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
|
|
8
|
+
import { c as oe, _ as re, f as ae, b as le } from "./control-7EP4tjYy.js";
|
|
9
|
+
import { d as se, r as ie, t as z, p as ne, u as ue, a as me, i as F, _ as de, b as ce, c as pe } from "./useTypedEntry-aTfPBAhw.js";
|
|
10
|
+
function fe(i) {
|
|
11
|
+
const { t: n } = L(), e = u(() => [n("core.form.time.words.now").toLowerCase(), "now"]);
|
|
12
|
+
return {
|
|
13
|
+
placeholder: u(() => n("core.form.time.placeholder")),
|
|
14
|
+
parse(o) {
|
|
15
|
+
if (e.value.includes(o.trim().toLowerCase())) return { value: z(i()) };
|
|
16
|
+
const a = ne(o, i());
|
|
17
|
+
return "time" in a ? { value: a.time } : { error: a.error === "step" ? n("core.form.time.step", { step: i() }) : n("core.form.time.invalid") };
|
|
18
|
+
},
|
|
19
|
+
shortcuts: (o) => (o ?? se).map((a) => ie(a, n("core.form.time.now"), z(i())))
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const ve = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], be = ["aria-label", "onClick"], Ce = /* @__PURE__ */ K({
|
|
23
|
+
__name: "TimeField",
|
|
24
|
+
props: /* @__PURE__ */ J(/* @__PURE__ */ O({
|
|
25
|
+
label: {},
|
|
26
|
+
hint: {},
|
|
27
|
+
error: {},
|
|
28
|
+
required: { type: Boolean },
|
|
29
|
+
editable: { type: Boolean },
|
|
30
|
+
disabled: { type: Boolean },
|
|
31
|
+
lockedReason: {},
|
|
32
|
+
presentation: {},
|
|
33
|
+
name: {},
|
|
34
|
+
minuteStep: {},
|
|
35
|
+
quickTimes: {}
|
|
36
|
+
}, { ...le, minuteStep: 1, quickTimes: void 0 }), {
|
|
37
|
+
modelValue: { default: null },
|
|
38
|
+
modelModifiers: {}
|
|
39
|
+
}),
|
|
40
|
+
emits: ["update:modelValue"],
|
|
41
|
+
setup(i, { expose: n }) {
|
|
42
|
+
const e = i, o = W(i, "modelValue"), { t: a } = L(), M = Y(), I = ee(), T = v("input"), c = v("popover"), g = v("panel"), q = v("sheet"), k = fe(() => e.minuteStep), l = ue({ model: o, display: (r) => r, parse: k.parse }), C = u(() => k.shortcuts(e.quickTimes)), V = u(() => e.error || l.message.value), Q = oe("date", () => V.value ? "error" : e.disabled ? "locked" : "rest"), R = u(() => {
|
|
43
|
+
const r = me(o.value);
|
|
44
|
+
return r ? M.time(new Date(2e3, 0, 1, r.hour, r.minute)) : null;
|
|
45
|
+
}), $ = u(() => F(l.typed.value) ? l.typed.value : F(o.value) ? o.value : null);
|
|
46
|
+
async function y(r) {
|
|
47
|
+
e.disabled || (c.value?.present(), r && (await U(), await U(), g.value?.querySelector("[role=listbox]")?.focus()));
|
|
48
|
+
}
|
|
49
|
+
function A(r) {
|
|
50
|
+
r.key === "Enter" ? (l.commit(), c.value?.dismiss()) : r.key === "ArrowDown" && (r.preventDefault(), y(!0));
|
|
51
|
+
}
|
|
52
|
+
return n({ focus: () => T.value?.focus() }), (r, s) => (m(), E(re, w({ ...t(ae)(e), error: V.value }, {
|
|
53
|
+
value: R.value,
|
|
54
|
+
"value-style": "numeric"
|
|
55
|
+
}), {
|
|
56
|
+
default: b(({ id: S, describedby: B, invalid: D }) => [
|
|
57
|
+
t(I) ? (m(), x(N, { key: 0 }, [
|
|
58
|
+
d(X, w({ id: S, "aria-describedby": B }, {
|
|
59
|
+
disabled: e.disabled,
|
|
60
|
+
invalid: D,
|
|
61
|
+
placeholder: t(a)("core.form.select.choose"),
|
|
62
|
+
onClick: s[0] || (s[0] = (p) => q.value?.present())
|
|
63
|
+
}), {
|
|
64
|
+
default: b(() => [
|
|
65
|
+
o.value ? (m(), x(N, { key: 0 }, [
|
|
66
|
+
j(G(o.value), 1)
|
|
67
|
+
], 64)) : P("", !0)
|
|
68
|
+
]),
|
|
69
|
+
_: 1
|
|
70
|
+
}, 16, ["disabled", "invalid", "placeholder"]),
|
|
71
|
+
d(de, {
|
|
72
|
+
ref_key: "sheet",
|
|
73
|
+
ref: q,
|
|
74
|
+
title: e.label ?? t(a)("core.form.time.label"),
|
|
75
|
+
mode: "time",
|
|
76
|
+
"model-value": o.value,
|
|
77
|
+
shortcuts: C.value,
|
|
78
|
+
step: e.minuteStep,
|
|
79
|
+
clearable: !e.required,
|
|
80
|
+
"onUpdate:modelValue": t(l).set
|
|
81
|
+
}, null, 8, ["title", "model-value", "shortcuts", "step", "clearable", "onUpdate:modelValue"])
|
|
82
|
+
], 64)) : (m(), E(te, {
|
|
83
|
+
key: 1,
|
|
84
|
+
ref_key: "popover",
|
|
85
|
+
ref: c,
|
|
86
|
+
label: e.label ?? t(a)("core.form.time.label"),
|
|
87
|
+
width: "sm",
|
|
88
|
+
placement: "bottom-start",
|
|
89
|
+
arrow: !1,
|
|
90
|
+
autofocus: !1
|
|
91
|
+
}, {
|
|
92
|
+
trigger: b(({ attrs: p, presented: _ }) => [
|
|
93
|
+
h("div", {
|
|
94
|
+
class: H(["inline-flex max-w-full items-center gap-2", t(Q)])
|
|
95
|
+
}, [
|
|
96
|
+
h("input", w({
|
|
97
|
+
id: S,
|
|
98
|
+
ref_key: "input",
|
|
99
|
+
ref: T
|
|
100
|
+
}, p, {
|
|
101
|
+
type: "text",
|
|
102
|
+
role: "combobox",
|
|
103
|
+
autocomplete: "off",
|
|
104
|
+
size: "10",
|
|
105
|
+
name: e.name,
|
|
106
|
+
value: t(l).text.value,
|
|
107
|
+
placeholder: t(k).placeholder.value,
|
|
108
|
+
disabled: e.disabled,
|
|
109
|
+
required: e.required,
|
|
110
|
+
"aria-required": e.required || void 0,
|
|
111
|
+
"aria-invalid": D || void 0,
|
|
112
|
+
"aria-describedby": B,
|
|
113
|
+
class: "block min-h-7 min-w-0 border-0 bg-transparent py-1 pl-2.5 text-body tabular-nums text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
|
|
114
|
+
onInput: s[1] || (s[1] = (f) => t(l).input(f.target.value)),
|
|
115
|
+
onBlur: s[2] || (s[2] = (f) => t(l).commit()),
|
|
116
|
+
onKeydown: A,
|
|
117
|
+
onClick: s[3] || (s[3] = (f) => y(!1))
|
|
118
|
+
}), null, 16, ve),
|
|
119
|
+
e.disabled ? P("", !0) : (m(), x("button", {
|
|
120
|
+
key: 0,
|
|
121
|
+
type: "button",
|
|
122
|
+
tabindex: "-1",
|
|
123
|
+
"aria-label": t(a)("core.form.time.open"),
|
|
124
|
+
class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
|
|
125
|
+
onClick: (f) => _ ? c.value?.dismiss() : y(!0)
|
|
126
|
+
}, [
|
|
127
|
+
d(t(Z), {
|
|
128
|
+
name: "timeLine",
|
|
129
|
+
size: 18
|
|
130
|
+
})
|
|
131
|
+
], 8, be))
|
|
132
|
+
], 2)
|
|
133
|
+
]),
|
|
134
|
+
default: b(({ dismiss: p }) => [
|
|
135
|
+
h("div", {
|
|
136
|
+
ref_key: "panel",
|
|
137
|
+
ref: g,
|
|
138
|
+
class: "flex flex-col gap-2.5"
|
|
139
|
+
}, [
|
|
140
|
+
d(ce, {
|
|
141
|
+
"model-value": $.value,
|
|
142
|
+
step: e.minuteStep,
|
|
143
|
+
"onUpdate:modelValue": t(l).set
|
|
144
|
+
}, null, 8, ["model-value", "step", "onUpdate:modelValue"]),
|
|
145
|
+
d(pe, {
|
|
146
|
+
items: C.value,
|
|
147
|
+
selected: $.value,
|
|
148
|
+
onPick: (_) => {
|
|
149
|
+
t(l).set(_), p();
|
|
150
|
+
}
|
|
151
|
+
}, null, 8, ["items", "selected", "onPick"])
|
|
152
|
+
], 512)
|
|
153
|
+
]),
|
|
154
|
+
_: 2
|
|
155
|
+
}, 1032, ["label"]))
|
|
156
|
+
]),
|
|
157
|
+
_: 1
|
|
158
|
+
}, 16, ["value"]));
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
export {
|
|
162
|
+
Ce as _,
|
|
163
|
+
fe as u
|
|
164
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as p, computed as a, openBlock as n, createElementBlock as s, createVNode as v, unref as r, createTextVNode as _, toDisplayString as c } from "vue";
|
|
2
2
|
import { useI18n as f } from "vue-i18n";
|
|
3
3
|
import { u as x, t as y } from "./format-B8mJm946.js";
|
|
4
|
-
import { _ as T } from "./Icon.vue_vue_type_script_lang-
|
|
4
|
+
import { _ as T } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
5
5
|
const g = ["datetime"], k = {
|
|
6
6
|
key: 1,
|
|
7
7
|
class: "text-xs text-content-muted"
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { defineComponent as R, openBlock as q, createBlock as P, unref as e, withCtx as u, createVNode as t, mergeProps as L, provide as N, computed as g, useTemplateRef as $, createElementVNode as x, toDisplayString as C, createTextVNode as j } from "vue";
|
|
2
2
|
import { useI18n as A } from "vue-i18n";
|
|
3
|
-
import { u as F } from "./neighbors-
|
|
3
|
+
import { u as F } from "./neighbors-DpaIMQAL.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-Ctga6GcS.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-
|
|
7
|
-
import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-
|
|
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-CnVf6Uk_.js";
|
|
7
|
+
import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
|
|
8
8
|
import { t as k } from "./toast-D9Z5To38.js";
|
|
9
|
-
import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-
|
|
10
|
-
import { u as E } from "./platform-
|
|
9
|
+
import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js";
|
|
10
|
+
import { u as E } from "./platform-q3cjODLx.js";
|
|
11
11
|
import { a as te } from "./routeResource-DstM0hvf.js";
|
|
12
|
-
import { a as oe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-
|
|
13
|
-
import { A as re } from "./access-
|
|
12
|
+
import { a as oe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js";
|
|
13
|
+
import { A as re } from "./access-DmAceEo5.js";
|
|
14
14
|
import { _ as ne } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
15
15
|
import { u as ie } from "./useLoad-CYRVx6HW.js";
|
|
16
|
-
import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-
|
|
17
|
-
import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
18
|
-
import { e as B } from "./
|
|
19
|
-
import { u as z, _ as K } from "./useCommand-
|
|
16
|
+
import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js";
|
|
17
|
+
import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
|
|
18
|
+
import { e as B } from "./control-7EP4tjYy.js";
|
|
19
|
+
import { u as z, _ as K } from "./useCommand-BkONMn3X.js";
|
|
20
20
|
import { u as U } from "./fieldMessages-C3Rpbktw.js";
|
|
21
|
-
import { u as ce, s as le } from "./status-
|
|
22
|
-
import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
21
|
+
import { u as ce, s as le } from "./status-jB5r1cG2.js";
|
|
22
|
+
import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
|
|
23
23
|
const ue = /* @__PURE__ */ R({
|
|
24
24
|
__name: "DeactivateDialog",
|
|
25
25
|
props: {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { defineComponent as U, openBlock as p, createBlock as C, unref as e, withCtx as c, createVNode as r, mergeProps as i, useTemplateRef as V, computed as q, createTextVNode as z, toDisplayString as $, createCommentVNode as A, createElementBlock as S, normalizeClass as N } from "vue";
|
|
2
2
|
import { useI18n as B } from "vue-i18n";
|
|
3
3
|
import { useRouter as M } from "vue-router";
|
|
4
|
-
import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.js";
|
|
5
5
|
import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
|
|
6
6
|
import { u as F } from "./format-B8mJm946.js";
|
|
7
|
-
import { u as L } from "./platform-
|
|
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-CnVf6Uk_.js";
|
|
10
|
+
import { U as j, u as H, s as J } from "./status-jB5r1cG2.js";
|
|
11
11
|
import { u as O } from "./environment-Dva-SG8D.js";
|
|
12
12
|
import { u as Q } from "./languages-BShG9LpE.js";
|
|
13
|
-
import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-
|
|
14
|
-
import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-
|
|
15
|
-
import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-
|
|
16
|
-
import { u as Z, _ as ee } from "./useCommand-
|
|
13
|
+
import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
|
|
14
|
+
import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
|
|
15
|
+
import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
|
|
16
|
+
import { u as Z, _ as ee } from "./useCommand-BkONMn3X.js";
|
|
17
17
|
import { t as se } from "./toast-D9Z5To38.js";
|
|
18
18
|
import { u as te } from "./fieldMessages-C3Rpbktw.js";
|
|
19
19
|
const oe = /* @__PURE__ */ U({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as u, useModel as m, computed as d, openBlock as r, createBlock as p, unref as c, mergeModels as i } from "vue";
|
|
2
|
-
import { _ as b } from "./Tabs.vue_vue_type_script_setup_true_lang-
|
|
2
|
+
import { _ as b } from "./Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
|
|
3
3
|
const _ = /* @__PURE__ */ u({
|
|
4
4
|
__name: "ViewTabs",
|
|
5
5
|
props: /* @__PURE__ */ i({
|
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-BBdzJnvG.js";
|
|
2
2
|
export {
|
|
3
3
|
a as BindingRow,
|
|
4
4
|
c as PersonAccess,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { defineComponent as d, inject as a, provide as l, h as o, computed as p } from "vue";
|
|
2
|
+
import { RouterView as m } from "vue-router";
|
|
3
|
+
import { d as v } from "./context-Ch1r4fdN.js";
|
|
4
|
+
function y(e, r) {
|
|
5
|
+
return e === void 0 ? !0 : typeof e == "string" ? r.can(e) : "any" in e ? e.any.some((t) => r.can(t)) : e.all.every((t) => r.can(t));
|
|
6
|
+
}
|
|
7
|
+
const A = Symbol("vue-core.pageRefresh");
|
|
8
|
+
function h(e, r) {
|
|
9
|
+
return e.matched.findIndex((t) => !y(t.meta.access, r));
|
|
10
|
+
}
|
|
11
|
+
function x(e) {
|
|
12
|
+
return {
|
|
13
|
+
deniedFrom: p(() => h(e.router.currentRoute.value, e.access)),
|
|
14
|
+
noAccess: e.noAccess
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const [F, R] = v("vue-core.routeAccess"), i = Symbol("vue-core.routerViewDepth"), K = d({
|
|
18
|
+
name: "AppRouterView",
|
|
19
|
+
setup() {
|
|
20
|
+
const e = a(i, 0);
|
|
21
|
+
l(i, e + 1);
|
|
22
|
+
const r = R(), t = e === 0 ? a(A, null) : null;
|
|
23
|
+
return () => o(m, null, {
|
|
24
|
+
default: ({ Component: s, route: c }) => {
|
|
25
|
+
const u = r.deniedFrom.value;
|
|
26
|
+
if (u !== -1 && e >= u) return o(r.noAccess);
|
|
27
|
+
if (!s) return null;
|
|
28
|
+
const n = c.meta.remountOnParam, f = [n ? `${n}:${String(c.params[n])}` : "", t?.value ? `refresh:${t.value}` : ""].filter(Boolean).join("|");
|
|
29
|
+
return o(s, { key: f || void 0 });
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export {
|
|
35
|
+
K as A,
|
|
36
|
+
x as c,
|
|
37
|
+
h as f,
|
|
38
|
+
y as i,
|
|
39
|
+
A as p,
|
|
40
|
+
F as r,
|
|
41
|
+
R as u
|
|
42
|
+
};
|
package/dist/app/feature.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ export declare function provideContext<T>(key: InjectionKey<T>, value: T): Conte
|
|
|
19
19
|
* shell that offers more augments this interface (declaration merging, like `IconRegistry`).
|
|
20
20
|
*
|
|
21
21
|
* - `headerActions`: the actions of the top bar (a notification bell, a search button)
|
|
22
|
+
* - `search`: a search field at the top of the sidebar, under the brand, and at the top of the phone drawer (a quick-search trigger that looks like a field)
|
|
22
23
|
* - `accountMenu`: entries of the signed-in user's menu
|
|
23
24
|
* - `banner`: a strip across the top of the whole shell, above everything (a notice that must stay in view: signed in as somebody else)
|
|
24
25
|
* - `host`: components with no place of their own that must be mounted once (a command palette, a dialog host)
|
|
@@ -27,6 +28,7 @@ export interface ShellSlots {
|
|
|
27
28
|
}
|
|
28
29
|
interface DocumentedShellSlots {
|
|
29
30
|
headerActions: true;
|
|
31
|
+
search: true;
|
|
30
32
|
accountMenu: true;
|
|
31
33
|
banner: true;
|
|
32
34
|
host: true;
|
package/dist/app/index.js
CHANGED
|
@@ -7,20 +7,20 @@ import { createRouter as Ke, isNavigationFailure as _e } from "vue-router";
|
|
|
7
7
|
import { i as Ie } from "../leaveGuard-Cc8yeLxM.js";
|
|
8
8
|
import { c as Fe, i as Te, f as qe } from "../format-B8mJm946.js";
|
|
9
9
|
import { coreMessages as oe, createMessageRuntime as Pe } from "../i18n/index.js";
|
|
10
|
-
import { i as We, a as Be } from "../Icon.vue_vue_type_script_lang-
|
|
10
|
+
import { i as We, a as Be } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
11
11
|
import { i as De, b as He } from "../bottomDock-BZEiOPYZ.js";
|
|
12
|
-
import { i as Ve, p as Ge } from "../chrome-
|
|
13
|
-
import { i as Je, g as ze } from "../platform-
|
|
14
|
-
import { c as Qe, A as Ue, r as re } from "../access-
|
|
15
|
-
import { c as Xe, _ as Ye } from "../NoAccess.vue_vue_type_script_setup_true_lang-
|
|
16
|
-
import { i as Ze } from "../guards-
|
|
17
|
-
import { b as et, c as tt, n as ne } from "../navigation-
|
|
18
|
-
import { c as st, s as ae } from "../contributions-
|
|
19
|
-
import { S as Tt } from "../contributions-
|
|
12
|
+
import { i as Ve, p as Ge } from "../chrome-nUcmVu8G.js";
|
|
13
|
+
import { i as Je, g as ze } from "../platform-q3cjODLx.js";
|
|
14
|
+
import { c as Qe, A as Ue, r as re } from "../access-DmAceEo5.js";
|
|
15
|
+
import { c as Xe, _ as Ye } from "../NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js";
|
|
16
|
+
import { i as Ze } from "../guards-Dve61KjR.js";
|
|
17
|
+
import { b as et, c as tt, n as ne } from "../navigation-Cm3iChlR.js";
|
|
18
|
+
import { c as st, s as ae } from "../contributions-DsfmDoRD.js";
|
|
19
|
+
import { S as Tt } from "../contributions-DsfmDoRD.js";
|
|
20
20
|
import { a as ie } from "../environment-Dva-SG8D.js";
|
|
21
21
|
import { u as Pt } from "../environment-Dva-SG8D.js";
|
|
22
|
-
import { _ as ot } from "../Button.vue_vue_type_script_setup_true_lang-
|
|
23
|
-
import { _ as rt } from "../EmptyState.vue_vue_type_script_setup_true_lang-
|
|
22
|
+
import { _ as ot } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
23
|
+
import { _ as rt } from "../EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
|
|
24
24
|
import { i as nt } from "../feature-DdUAfyi4.js";
|
|
25
25
|
import { d as Bt, p as Dt } from "../feature-DdUAfyi4.js";
|
|
26
26
|
import { k as Vt } from "../keepAlive-WYQGRhuz.js";
|
package/dist/button/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as a, m as o, s as r, u, a as e } from "../Button.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as a, m as o, s as r, u, a as e } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
|
|
2
2
|
export {
|
|
3
3
|
a as Button,
|
|
4
4
|
o as matchesShortcut,
|
package/dist/client/index.js
CHANGED
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import { R as
|
|
2
|
-
import { A as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
s.raw = (e, i, r = {}) => ({
|
|
7
|
-
method: e,
|
|
8
|
-
path: i,
|
|
9
|
-
permission: r.permission,
|
|
10
|
-
public: r.public === !0,
|
|
11
|
-
raw: !0
|
|
12
|
-
});
|
|
1
|
+
import { R as t, c as a } from "../client-k9euDWF4.js";
|
|
2
|
+
import { A as s, i as p, a as f } from "../error-CD7x0Jrz.js";
|
|
3
|
+
import { f as E } from "../transport-BnP7WC0Y.js";
|
|
4
|
+
import { r as m } from "../route-goWMxDUN.js";
|
|
13
5
|
export {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
s as ApiError,
|
|
7
|
+
t as REQUEST_ID_HEADER,
|
|
8
|
+
a as createHttpClient,
|
|
9
|
+
E as fetchTransport,
|
|
10
|
+
p as isAborted,
|
|
11
|
+
f as isApiError,
|
|
12
|
+
m as route
|
|
21
13
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { A, k as I, a as S } from "./error-CD7x0Jrz.js";
|
|
2
|
-
|
|
2
|
+
import { f as U } from "./transport-BnP7WC0Y.js";
|
|
3
|
+
function D(t) {
|
|
3
4
|
if (!t) return "";
|
|
4
5
|
const e = new URLSearchParams();
|
|
5
6
|
for (const [a, r] of Object.entries(t))
|
|
@@ -9,7 +10,7 @@ function U(t) {
|
|
|
9
10
|
return e.toString();
|
|
10
11
|
}
|
|
11
12
|
const g = (t) => typeof Blob < "u" && t instanceof Blob;
|
|
12
|
-
function
|
|
13
|
+
function z(t) {
|
|
13
14
|
const e = new FormData();
|
|
14
15
|
for (const [a, r] of Object.entries(t))
|
|
15
16
|
if (r != null)
|
|
@@ -22,23 +23,23 @@ function D(t) {
|
|
|
22
23
|
function E(t) {
|
|
23
24
|
return g(t) ? t : t instanceof Date ? t.toISOString() : typeof t == "object" && t !== null ? JSON.stringify(t) : String(t);
|
|
24
25
|
}
|
|
25
|
-
function
|
|
26
|
+
function v(t) {
|
|
26
27
|
if (t === void 0) return { body: void 0, contentType: null };
|
|
27
28
|
if (typeof t == "string" || t instanceof FormData || t instanceof URLSearchParams || t instanceof ArrayBuffer || ArrayBuffer.isView(t) || g(t))
|
|
28
29
|
return { body: t, contentType: null };
|
|
29
30
|
if (typeof t == "object" && t !== null && !Array.isArray(t)) {
|
|
30
31
|
const e = t;
|
|
31
32
|
if (Object.values(e).some((a) => g(a) || Array.isArray(a) && a.some(g)))
|
|
32
|
-
return { body:
|
|
33
|
+
return { body: z(e), contentType: null };
|
|
33
34
|
}
|
|
34
35
|
return { body: JSON.stringify(t), contentType: "application/json" };
|
|
35
36
|
}
|
|
36
|
-
function
|
|
37
|
+
function B() {
|
|
37
38
|
const t = new Uint8Array(16);
|
|
38
39
|
return globalThis.crypto.getRandomValues(t), Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
|
|
39
40
|
}
|
|
40
41
|
const b = "X-Request-ID", T = (t) => typeof t == "object" && t !== null && !Array.isArray(t), w = (t) => typeof t == "string" && t !== "" ? t : null;
|
|
41
|
-
function
|
|
42
|
+
function O(t) {
|
|
42
43
|
const e = t?.errors ?? t?.fields;
|
|
43
44
|
if (!T(e)) return {};
|
|
44
45
|
const a = {};
|
|
@@ -46,7 +47,7 @@ function B(t) {
|
|
|
46
47
|
Array.isArray(i) ? a[r] = i.map(String) : i != null && (a[r] = [String(i)]);
|
|
47
48
|
return a;
|
|
48
49
|
}
|
|
49
|
-
async function
|
|
50
|
+
async function C(t) {
|
|
50
51
|
const e = await t.text();
|
|
51
52
|
if (e.trim() === "") return { payload: null, readable: !0 };
|
|
52
53
|
try {
|
|
@@ -55,10 +56,10 @@ async function O(t) {
|
|
|
55
56
|
return { payload: null, readable: !1 };
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
|
-
async function
|
|
59
|
-
const a = t.headers.get(b) ?? e, { payload: r, readable: i } = await
|
|
59
|
+
async function F(t, e) {
|
|
60
|
+
const a = t.headers.get(b) ?? e, { payload: r, readable: i } = await C(t), o = T(r) ? r : null;
|
|
60
61
|
if (!t.ok) {
|
|
61
|
-
const m =
|
|
62
|
+
const m = O(o), n = o?.params;
|
|
62
63
|
throw new A({
|
|
63
64
|
kind: I(t.status, Object.keys(m).length > 0),
|
|
64
65
|
message: w(o?.error) ?? w(o?.message) ?? `Request failed with status ${t.status}`,
|
|
@@ -85,25 +86,25 @@ async function C(t, e) {
|
|
|
85
86
|
requestId: a
|
|
86
87
|
} : { data: r, meta: null, message: null, status: t.status, requestId: a };
|
|
87
88
|
}
|
|
88
|
-
const
|
|
89
|
+
const H = (t) => /^[a-z][a-z0-9+.-]*:\/\//i.test(t);
|
|
89
90
|
function P(t, e, a) {
|
|
90
91
|
const r = H(e) || t === "" ? e : `${t.replace(/\/+$/, "")}/${e.replace(/^\/+/, "")}`;
|
|
91
92
|
return a === "" ? r : `${r}${r.includes("?") ? "&" : "?"}${a}`;
|
|
92
93
|
}
|
|
93
94
|
const j = (t, e) => new A({ kind: "aborted", message: "The request was cancelled", requestId: t, cause: e });
|
|
94
|
-
function
|
|
95
|
-
const { baseUrl: e = "", transport: a =
|
|
95
|
+
function J(t = {}) {
|
|
96
|
+
const { baseUrl: e = "", transport: a = U, credentials: r = "include" } = t;
|
|
96
97
|
async function i(n, s, c, u) {
|
|
97
|
-
const { signal: f } = u, y = t.requestId === !1 ? null : (t.requestId ??
|
|
98
|
+
const { signal: f } = u, y = t.requestId === !1 ? null : (t.requestId ?? B)();
|
|
98
99
|
if (f?.aborted) throw j(y, f.reason);
|
|
99
|
-
const p =
|
|
100
|
+
const p = v(c), l = new Headers({ Accept: "application/json" }), h = t.headers ? await t.headers() : void 0;
|
|
100
101
|
for (const d of [h, u.headers])
|
|
101
102
|
d && new Headers(d).forEach(($, q) => l.set(q, $));
|
|
102
103
|
y !== null && !l.has(b) && l.set(b, y), p.contentType !== null && !l.has("Content-Type") && l.set("Content-Type", p.contentType);
|
|
103
|
-
const k = { method: n, headers: l, credentials: r, body: p.body, signal: f }, R = P(e, s,
|
|
104
|
+
const k = { method: n, headers: l, credentials: r, body: p.body, signal: f }, R = P(e, s, D(u.query));
|
|
104
105
|
try {
|
|
105
106
|
const d = await a(R, k);
|
|
106
|
-
return await
|
|
107
|
+
return await F(d, y);
|
|
107
108
|
} catch (d) {
|
|
108
109
|
throw S(d) ? d : f?.aborted || d instanceof Error && d.name === "AbortError" ? j(y, d) : new A({
|
|
109
110
|
kind: "network",
|
|
@@ -142,6 +143,5 @@ function x(t = {}) {
|
|
|
142
143
|
}
|
|
143
144
|
export {
|
|
144
145
|
b as R,
|
|
145
|
-
|
|
146
|
-
F as f
|
|
146
|
+
J as c
|
|
147
147
|
};
|
|
@@ -21,6 +21,8 @@ export interface QueryContract<Sort extends string, Filter extends string, View
|
|
|
21
21
|
readonly sensitive?: readonly Filter[];
|
|
22
22
|
/** Default: `DEFAULT_PAGE_SIZES`. */
|
|
23
23
|
readonly pageSizes?: readonly number[];
|
|
24
|
+
/** Whether the backend searches by text. `false` leaves the search field out of the toolbar (a list the server only filters). Default true. */
|
|
25
|
+
readonly search?: boolean;
|
|
24
26
|
}
|
|
25
27
|
export type CollectionDefaults<Sort extends string, Filter extends string, View extends string> = Partial<CollectionQuery<Sort, Filter, View>>;
|
|
26
28
|
/** The state a stored version of a list's state (a link, a saved view) is migrated from. */
|
|
@@ -56,6 +58,7 @@ export interface CollectionDefinition<Row, Sort extends string = string, Filter
|
|
|
56
58
|
readonly views: readonly View[] | null;
|
|
57
59
|
readonly sensitive: readonly Filter[];
|
|
58
60
|
readonly pageSizes: readonly number[];
|
|
61
|
+
readonly search: boolean;
|
|
59
62
|
};
|
|
60
63
|
readonly migrate?: (stored: StoredState, version: number) => StoredState | null;
|
|
61
64
|
}
|
package/dist/collection/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { D as M, L as O, a as V, h as j, l as U, r as G } from "../http-
|
|
2
|
-
import { _ as Z, a as q, u as H } from "../CollectionPage.vue_vue_type_script_setup_true_lang-
|
|
3
|
-
import { u as K } from "../neighbors-
|
|
4
|
-
import { a as W, b as Y } from "../rowLayout-
|
|
5
|
-
import { _ as te } from "../DataTable.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { D as M, L as O, a as V, h as j, l as U, r as G } from "../http-CNcDHSOj.js";
|
|
2
|
+
import { _ as Z, a as q, u as H } from "../CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.js";
|
|
3
|
+
import { u as K } from "../neighbors-DpaIMQAL.js";
|
|
4
|
+
import { a as W, b as Y } from "../rowLayout-BqTEhEuy.js";
|
|
5
|
+
import { _ as te } from "../DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js";
|
|
6
6
|
import { defineComponent as y, openBlock as c, createElementBlock as d, Fragment as h, renderList as v, createBlock as k, unref as u, withCtx as C, normalizeClass as m, createVNode as p, createCommentVNode as g } from "vue";
|
|
7
|
-
import { _ } from "../Icon.vue_vue_type_script_lang-
|
|
7
|
+
import { _ } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
8
8
|
import { _ as w } from "../Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js";
|
|
9
9
|
import { useI18n as E } from "vue-i18n";
|
|
10
10
|
function R(r = {}) {
|
|
@@ -74,6 +74,8 @@ export interface Collection<Row, Sort extends string = string, Filter extends st
|
|
|
74
74
|
rowKey(row: Row): string | number;
|
|
75
75
|
/** The page sizes the list offers. */
|
|
76
76
|
readonly pageSizes: readonly number[];
|
|
77
|
+
/** Whether the list can be searched by text (the definition's `query.search`); the toolbar shows the search field only then. */
|
|
78
|
+
readonly searchable: boolean;
|
|
77
79
|
/** The request state: loading (nothing to show), loaded, refreshing (previous rows stay), stale (a refresh failed, previous rows stay) or failed. */
|
|
78
80
|
readonly state: Readonly<Ref<AsyncState<ListPage<Row>>>>;
|
|
79
81
|
/** The query the list shows or is loading. */
|
package/dist/content/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _ as K, i as S } from "../Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
|
|
2
2
|
import { defineComponent as o, openBlock as t, createElementBlock as l, createElementVNode as c, toDisplayString as u, createCommentVNode as d, normalizeClass as f, Fragment as _, renderList as g, createBlock as i, createSlots as x, withCtx as p, renderSlot as m, resolveDynamicComponent as y } from "vue";
|
|
3
3
|
import { _ as b } from "../KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
|
|
4
|
-
import { _ as F } from "../Panel.vue_vue_type_script_setup_true_lang-
|
|
5
|
-
import { _ as N } from "../Timestamp.vue_vue_type_script_setup_true_lang-
|
|
4
|
+
import { _ as F } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
|
|
5
|
+
import { _ as N } from "../Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js";
|
|
6
6
|
const k = {
|
|
7
7
|
role: "separator",
|
|
8
8
|
class: "my-2 flex items-center gap-4"
|