@wssto2/vue-core 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js → AccessGate.vue_vue_type_script_setup_true_lang-B8gpkhbw.js} +1 -1
  3. package/dist/{Activity-CW2TOQAY.js → Activity-CfG8_Pp3.js} +7 -7
  4. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-DC-zSRcl.js} +1 -1
  5. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js → AsyncSection.vue_vue_type_script_setup_true_lang-BTIUz3cG.js} +1 -1
  6. package/dist/{Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js → Button.vue_vue_type_script_setup_true_lang-Dn-cJcj3.js} +67 -65
  7. package/dist/{Changes-BCaVkeZg.js → Changes-BT__0XX0.js} +6 -6
  8. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js → CollectionPage.vue_vue_type_script_setup_true_lang-Bcwwr8ng.js} +7 -7
  9. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js → DataTable.vue_vue_type_script_setup_true_lang-CJlllQII.js} +1 -1
  10. package/dist/{DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js → DateField.vue_vue_type_script_setup_true_lang-BuQY5e5x.js} +2 -2
  11. package/dist/{DeadLetters-DUM_bsL-.js → DeadLetters-Btv3u3qh.js} +4 -4
  12. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js → FormGroup.vue_vue_type_script_setup_true_lang-Bzm3yJy5.js} +1 -1
  13. package/dist/{General-Dsh0TJ5w.js → General-Cum9U4Z3.js} +6 -6
  14. package/dist/{IncidentRecord-C9zrjNrp.js → IncidentRecord-C4K8hDJ1.js} +10 -10
  15. package/dist/{IncidentsList-ClQOjd5c.js → IncidentsList-BHfJ1cbg.js} +16 -16
  16. package/dist/{Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js → Modal.vue_vue_type_script_setup_true_lang-BqO9X_-u.js} +1 -1
  17. package/dist/{NewRolePage-Bw2_jXcQ.js → NewRolePage-BSvYZkH4.js} +4 -4
  18. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js → NumberField.vue_vue_type_script_setup_true_lang-CLN2COfp.js} +1 -1
  19. package/dist/{PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js → PageBar.vue_vue_type_script_setup_true_lang-OE8VgTkY.js} +1 -1
  20. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js → PersonAccess.vue_vue_type_script_setup_true_lang-CBQ1kv8G.js} +7 -7
  21. package/dist/{ProfilePage-CJIztbx3.js → ProfilePage-Dnn_VUoB.js} +13 -13
  22. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js → RecordHeader.vue_vue_type_script_setup_true_lang-CU7fZpp2.js} +1 -1
  23. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js → ResourcePage.vue_vue_type_script_setup_true_lang-y3gyR5A-.js} +3 -3
  24. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js → RoleEditor.vue_vue_type_script_setup_true_lang-BcUxVL9y.js} +5 -5
  25. package/dist/{RolePage-Yv6m6u7o.js → RolePage-BIY9dEME.js} +10 -10
  26. package/dist/{RolesPage-TibtzxzQ.js → RolesPage-Be35CA_4.js} +5 -5
  27. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js → SectionList.vue_vue_type_script_setup_true_lang-DzoE_o8v.js} +1 -1
  28. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js → SectionNavigator.vue_vue_type_script_setup_true_lang-CWPD9zQJ.js} +3 -3
  29. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js → SelectField.vue_vue_type_script_setup_true_lang-CYiarLAK.js} +1 -1
  30. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-D2Xj5mr7.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-CKIq1Ljb.js} +7 -7
  31. package/dist/{ServiceAccountRecord-Ct3TrSqZ.js → ServiceAccountRecord-QsIfylwj.js} +13 -13
  32. package/dist/{ServiceAccountsList-CaXEp73j.js → ServiceAccountsList-CVDIhuCh.js} +7 -7
  33. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js → SessionList.vue_vue_type_script_setup_true_lang-CkN7vR71.js} +3 -3
  34. package/dist/{Sessions-Bg4Zk9Gf.js → Sessions-Cl2DTM7s.js} +5 -5
  35. package/dist/{SettingsPage-Brq9U4tJ.js → SettingsPage-B2uWw27O.js} +10 -10
  36. package/dist/{SignIn-DB5LRNlB.js → SignIn-BHYFSMOX.js} +5 -5
  37. package/dist/{SignInPage-Ts-iTaC1.js → SignInPage--OC0hQ8M.js} +3 -3
  38. package/dist/{SignIns-bCvvmCHF.js → SignIns-CJ09NqOn.js} +5 -5
  39. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js → TimeField.vue_vue_type_script_setup_true_lang-B140Gjqd.js} +2 -2
  40. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js → Timestamp.vue_vue_type_script_setup_true_lang-CAz2W69d.js} +1 -1
  41. package/dist/{UserRecord-DgK9FsvV.js → UserRecord-BjXUcHo8.js} +9 -9
  42. package/dist/{UsersList-Due2ZkbO.js → UsersList-D4-eC5tC.js} +9 -9
  43. package/dist/access/index.js +4 -4
  44. package/dist/app/application.d.ts +4 -2
  45. package/dist/app/index.js +2 -2
  46. package/dist/application-DtY0ef-w.js +420 -0
  47. package/dist/button/index.js +1 -1
  48. package/dist/button/shortcut.d.ts +7 -0
  49. package/dist/client/client.d.ts +33 -0
  50. package/dist/client/disposition.d.ts +5 -0
  51. package/dist/client/index.d.ts +1 -1
  52. package/dist/client/index.js +1 -1
  53. package/dist/client-Dr2vV3qH.js +193 -0
  54. package/dist/collection/index.d.ts +1 -1
  55. package/dist/collection/index.js +81 -60
  56. package/dist/collection/savedViews.d.ts +12 -2
  57. package/dist/content/Money.vue.d.ts +31 -0
  58. package/dist/content/index.d.ts +1 -0
  59. package/dist/content/index.js +75 -40
  60. package/dist/{contributions-BQ9dZoRw.js → contributions-DGsAIWd8.js} +1 -1
  61. package/dist/{fieldMessages-DTXpWnBd.js → fieldMessages-6UTV9yWL.js} +1 -1
  62. package/dist/form/FileField.vue.d.ts +1 -1
  63. package/dist/form/PhotoField.vue.d.ts +1 -1
  64. package/dist/form/index.js +18 -18
  65. package/dist/format/format.d.ts +9 -1
  66. package/dist/format/index.js +1 -1
  67. package/dist/format-Dn-BOb-o.js +86 -0
  68. package/dist/{guards-BFCulig0.js → guards-Cz7TOQD8.js} +1 -1
  69. package/dist/identity/index.js +1 -1
  70. package/dist/incidents/index.js +1 -1
  71. package/dist/{index-CXTJ_1NV.js → index-BB0_hxmE.js} +16 -16
  72. package/dist/{index-i-cTTVxo.js → index-C1jSzT1V.js} +7 -7
  73. package/dist/{index-D5_GAqjA.js → index-DZQ3gy3e.js} +8 -8
  74. package/dist/index.d.ts +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/modal/index.js +15 -15
  77. package/dist/modules/savedview/entities.d.ts +7 -0
  78. package/dist/modules/savedview/routes.d.ts +13 -0
  79. package/dist/modules/savedview/schemas.d.ts +11 -0
  80. package/dist/{navigation-BSC9X7FM.js → navigation-CWj6F_cV.js} +1 -1
  81. package/dist/{neighbors-BKzihEGQ.js → neighbors-CcCaurV5.js} +1 -1
  82. package/dist/notifications/index.js +1 -1
  83. package/dist/page/index.js +5 -5
  84. package/dist/platform/index.js +3 -3
  85. package/dist/{platform-Dr4iY3b8.js → platform-BZUWAXQV.js} +1 -1
  86. package/dist/pwa/index.d.ts +2 -0
  87. package/dist/pwa/index.js +51 -0
  88. package/dist/pwa/install.d.ts +12 -0
  89. package/dist/pwa/worker.d.ts +13 -0
  90. package/dist/resource/index.js +1 -1
  91. package/dist/router/index.js +3 -3
  92. package/dist/{rowLayout-Cz-K7jeo.js → rowLayout-BLhJ9-42.js} +4 -4
  93. package/dist/{sections-BXg4_ZhO.js → sections-CmqFs-U-.js} +1 -1
  94. package/dist/shell/index.js +3 -3
  95. package/dist/state/index.js +1 -1
  96. package/dist/{state-ChVIjayU.js → state-BiYPPKoj.js} +1 -1
  97. package/dist/{status-DZ4eSnAS.js → status-Bf4nfIe0.js} +1 -1
  98. package/dist/styles.css +1 -1
  99. package/dist/testing/index.js +2 -2
  100. package/dist/{useCommand-BIZX1ReM.js → useCommand-C3QTZIIw.js} +1 -1
  101. package/dist/{useGroupSheet-DxXzdKo3.js → useGroupSheet-LAnO37WV.js} +2 -2
  102. package/dist/{useRecordDialog-BLVSz7g3.js → useRecordDialog-Da1Sfak1.js} +1 -1
  103. package/dist/{useTypedEntry-CKuGqWT8.js → useTypedEntry-DIYdA7DK.js} +1 -1
  104. package/package.json +6 -2
  105. package/dist/application-D8Nm17zA.js +0 -420
  106. package/dist/client-CZgikXPG.js +0 -151
  107. package/dist/format-D8X4zsx6.js +0 -78
@@ -25,11 +25,11 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
25
25
  error: string;
26
26
  required: boolean;
27
27
  presentation: "control" | "value";
28
+ accept: readonly string[];
28
29
  labelHidden: boolean;
29
30
  hint: string;
30
31
  editable: boolean;
31
32
  lockedReason: string;
32
- accept: readonly string[];
33
33
  maxSize: number;
34
34
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
35
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -1,7 +1,7 @@
1
1
  import { _ as He, c as et, f as tt } from "../FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
2
2
  import { E as $o, u as _o, a as Co } from "../FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
3
- import { f as Te } from "../useCommand-BIZX1ReM.js";
4
- import { _ as Fo, a as Bo, u as Lo } from "../useCommand-BIZX1ReM.js";
3
+ import { f as Te } from "../useCommand-C3QTZIIw.js";
4
+ import { _ as Fo, a as Bo, u as Lo } from "../useCommand-C3QTZIIw.js";
5
5
  import { ref as A, computed as h, defineComponent as G, openBlock as u, createBlock as D, mergeProps as W, unref as l, createSlots as J, withCtx as f, createElementVNode as y, normalizeClass as I, createElementBlock as g, Fragment as ie, renderList as xe, createVNode as j, createCommentVNode as L, toDisplayString as _, renderSlot as F, mergeDefaults as ue, useModel as re, useId as qe, withKeys as Ce, withModifiers as pe, createTextVNode as H, mergeModels as le, useTemplateRef as U, shallowRef as Oe, watch as ye, normalizeProps as ze, guardReactiveProps as Ve, nextTick as he, provide as at, inject as Ue, onBeforeUnmount as Ye, getCurrentScope as lt, onScopeDispose as ot, toValue as nt, shallowReactive as Ee, normalizeStyle as st, resolveDynamicComponent as rt } from "vue";
6
6
  import { a as We } from "../leaveGuard-Cc8yeLxM.js";
7
7
  import { M as zo, c as Vo, i as qo, l as Do, u as Ro } from "../leaveGuard-Cc8yeLxM.js";
@@ -16,35 +16,35 @@ import { a as ft } from "../TextField.vue_vue_type_script_setup_true_lang-7IAl4e
16
16
  import { _ as Ao } from "../TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
17
17
  import { u as mt, l as vt } from "../suggestions-niXd1oOl.js";
18
18
  import { r as Uo } from "../suggestions-niXd1oOl.js";
19
- import { s as $e, u as Ne, i as pt, o as _e, e as Se, k as bt, _ as yt, l as gt, c as ht, b as kt, t as Le, g as xt, q as wt } from "../useTypedEntry-CKuGqWT8.js";
20
- import { u as $t, a as _t, s as Ct } from "../DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js";
21
- import { _ as Wo } from "../DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js";
19
+ import { s as $e, u as Ne, i as pt, o as _e, e as Se, k as bt, _ as yt, l as gt, c as ht, b as kt, t as Le, g as xt, q as wt } from "../useTypedEntry-DIYdA7DK.js";
20
+ import { u as $t, a as _t, s as Ct } from "../DateField.vue_vue_type_script_setup_true_lang-BuQY5e5x.js";
21
+ import { _ as Wo } from "../DateField.vue_vue_type_script_setup_true_lang-BuQY5e5x.js";
22
22
  import { _ as Xe } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
23
- import { u as St } from "../format-D8X4zsx6.js";
23
+ import { u as St } from "../format-Dn-BOb-o.js";
24
24
  import { u as Re } from "../mediaQuery-CygcXmFW.js";
25
25
  import { _ as Me } from "../Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
26
- import { u as Ft } from "../TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js";
27
- import { _ as Zo } from "../TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js";
28
- import { _ as be } from "../Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
29
- import { _ as Bt } from "../FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
30
- import { a as Qo, c as en, p as tn, r as an, u as ln } from "../FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
26
+ import { u as Ft } from "../TimeField.vue_vue_type_script_setup_true_lang-B140Gjqd.js";
27
+ import { _ as Zo } from "../TimeField.vue_vue_type_script_setup_true_lang-B140Gjqd.js";
28
+ import { _ as be } from "../Button.vue_vue_type_script_setup_true_lang-Dn-cJcj3.js";
29
+ import { _ as Bt } from "../FormGroup.vue_vue_type_script_setup_true_lang-Bzm3yJy5.js";
30
+ import { a as Qo, c as en, p as tn, r as an, u as ln } from "../FormGroup.vue_vue_type_script_setup_true_lang-Bzm3yJy5.js";
31
31
  import { _ as nn } from "../FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
32
32
  import { i as Lt } from "../intlLocale-CeRU44qJ.js";
33
33
  import { a as Tt } from "../environment-Dva-SG8D.js";
34
- import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js";
34
+ import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-CLN2COfp.js";
35
35
  import { _ as Vt } from "../Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js";
36
- import { b as qt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
37
- import { _ as rn, u as un } from "../SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
38
- import { _ as cn, b as fn, a as mn, u as vn } from "../useGroupSheet-DxXzdKo3.js";
36
+ import { b as qt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-CYiarLAK.js";
37
+ import { _ as rn, u as un } from "../SelectField.vue_vue_type_script_setup_true_lang-CYiarLAK.js";
38
+ import { _ as cn, b as fn, a as mn, u as vn } from "../useGroupSheet-LAnO37WV.js";
39
39
  import { _ as Ke } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js";
40
40
  import { _ as bn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js";
41
41
  import { _ as gn } from "../SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js";
42
42
  import { _ as kn } from "../TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
43
- import { a as Dt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
44
- import { _ as Rt, a as Mt } from "../SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js";
43
+ import { a as Dt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-DC-zSRcl.js";
44
+ import { _ as Rt, a as Mt } from "../SectionList.vue_vue_type_script_setup_true_lang-DzoE_o8v.js";
45
45
  import { p as jt } from "../sectionIndex-BS0ic5W7.js";
46
46
  import { u as It } from "../useSaveChrome-7huA3FzR.js";
47
- import { u as wn } from "../useRecordDialog-BLVSz7g3.js";
47
+ import { u as wn } from "../useRecordDialog-Da1Sfak1.js";
48
48
  import { matchedRouteKey as Ot, onBeforeRouteLeave as Et } from "vue-router";
49
49
  function Nt(r) {
50
50
  const a = A(null);
@@ -34,7 +34,13 @@ export interface Formatting {
34
34
  dateTime(value: DateInput): string;
35
35
  time(value: DateInput): string;
36
36
  number(value: number | null | undefined, options?: Intl.NumberFormatOptions): string;
37
- money(amount: number | null | undefined, currency: string): string;
37
+ /**
38
+ * With an ISO `currency` ("EUR"): `Intl`'s currency style. Without one: the amount with two decimals, then the
39
+ * `currencySymbol` after a space ("1.234,50 KM"), or the bare amount when the application set no symbol.
40
+ */
41
+ money(amount: number | null | undefined, currency?: string): string;
42
+ /** The display symbol the application set (`""` when none), for a caller that draws it apart from the amount. */
43
+ readonly currencySymbol: string;
38
44
  /** "3 days ago", "in 2 hours", "now": the largest whole unit. */
39
45
  relative(value: DateInput, now?: Date): string;
40
46
  }
@@ -45,6 +51,8 @@ export interface FormattingOptions {
45
51
  locale: () => string;
46
52
  /** Replaces any of the `Intl` defaults. */
47
53
  formatters?: Partial<Formatters>;
54
+ /** The symbol shown after an amount when no ISO currency is passed: "€", "KM". It is text, not a currency code. */
55
+ currencySymbol?: string;
48
56
  }
49
57
  export declare function createFormatting(options: FormattingOptions): Formatting;
50
58
  /** The formatting of the app (or of a subtree): `installFormatting(app, createFormatting(...))` once, `useFormat()` below. */
@@ -1,4 +1,4 @@
1
- import { c as r, f as s, i as o, a as e, t as i, u as m } from "../format-D8X4zsx6.js";
1
+ import { c as r, f as s, i as o, a as e, t as i, u as m } from "../format-Dn-BOb-o.js";
2
2
  export {
3
3
  r as createFormatting,
4
4
  s as formattingKey,
@@ -0,0 +1,86 @@
1
+ import { d as y } from "./context-Ch1r4fdN.js";
2
+ import { i } from "./intlLocale-CeRU44qJ.js";
3
+ const b = /^(\d{4})-(\d{2})-(\d{2})$/;
4
+ function c(r) {
5
+ if (r == null || r === "") return null;
6
+ let n;
7
+ if (r instanceof Date) n = r;
8
+ else if (typeof r == "number") n = new Date(r);
9
+ else {
10
+ const a = b.exec(r);
11
+ n = a ? new Date(Number(a[1]), Number(a[2]) - 1, Number(a[3])) : new Date(r);
12
+ }
13
+ return Number.isNaN(n.getTime()) || n.getTime() <= 0 ? null : n;
14
+ }
15
+ const s = { year: "numeric", month: "2-digit", day: "2-digit" }, f = { hour: "2-digit", minute: "2-digit" }, o = [
16
+ ["year", 31536e3],
17
+ ["month", 2592e3],
18
+ ["week", 604800],
19
+ ["day", 86400],
20
+ ["hour", 3600],
21
+ ["minute", 60],
22
+ ["second", 1]
23
+ ];
24
+ function T() {
25
+ const r = /* @__PURE__ */ new Map(), n = (e, t) => {
26
+ let m = r.get(e);
27
+ return m || (m = t(), r.set(e, m)), m;
28
+ }, a = (e, t) => n(`d|${e}|${JSON.stringify(t)}`, () => new Intl.DateTimeFormat(i(e), t));
29
+ return {
30
+ date: (e, t) => a(t, s).format(e),
31
+ dateTime: (e, t) => a(t, { ...s, ...f }).format(e),
32
+ time: (e, t) => a(t, f).format(e),
33
+ number: (e, t, m) => n(`n|${t}|${JSON.stringify(m ?? {})}`, () => new Intl.NumberFormat(i(t), m)).format(e),
34
+ money: (e, t, m) => n(`m|${m}|${t}`, () => new Intl.NumberFormat(i(m), { style: "currency", currency: t })).format(e),
35
+ relative(e, t, m) {
36
+ const u = Math.trunc((e.getTime() - m.getTime()) / 1e3), [d, l] = o.find(([, g]) => Math.abs(u) >= g) ?? o[o.length - 1];
37
+ return n(`r|${t}`, () => new Intl.RelativeTimeFormat(i(t), { numeric: "auto" })).format(Math.trunc(u / l), d);
38
+ }
39
+ };
40
+ }
41
+ function h(r) {
42
+ const n = { ...T(), ...r.formatters }, a = (e) => typeof e == "number" && Number.isFinite(e);
43
+ return {
44
+ get locale() {
45
+ return r.locale();
46
+ },
47
+ date: (e) => {
48
+ const t = c(e);
49
+ return t ? n.date(t, r.locale()) : "";
50
+ },
51
+ dateTime: (e) => {
52
+ const t = c(e);
53
+ return t ? n.dateTime(t, r.locale()) : "";
54
+ },
55
+ time: (e) => {
56
+ const t = c(e);
57
+ return t ? n.time(t, r.locale()) : "";
58
+ },
59
+ number: (e, t) => a(e) ? n.number(e, r.locale(), t) : "",
60
+ get currencySymbol() {
61
+ return r.currencySymbol ?? "";
62
+ },
63
+ money: (e, t) => {
64
+ if (!a(e)) return "";
65
+ if (t) return n.money(e, t, r.locale());
66
+ const m = n.number(e, r.locale(), { minimumFractionDigits: 2, maximumFractionDigits: 2 });
67
+ return r.currencySymbol ? `${m} ${r.currencySymbol}` : m;
68
+ },
69
+ relative: (e, t = /* @__PURE__ */ new Date()) => {
70
+ const m = c(e);
71
+ return m ? n.relative(m, r.locale(), t) : "";
72
+ }
73
+ };
74
+ }
75
+ const [F, w] = y("vue-core.formatting");
76
+ function $(r, n) {
77
+ r.provide(F, n);
78
+ }
79
+ export {
80
+ T as a,
81
+ h as c,
82
+ F as f,
83
+ $ as i,
84
+ c as t,
85
+ w as u
86
+ };
@@ -1,5 +1,5 @@
1
1
  import { effectScope as R, watch as g } from "vue";
2
- import { h as b } from "./platform-Dr4iY3b8.js";
2
+ import { h as b } from "./platform-BZUWAXQV.js";
3
3
  const i = "redirect";
4
4
  function q(r) {
5
5
  const t = r.query[i], n = Array.isArray(t) ? t[0] : t;
@@ -1,4 +1,4 @@
1
- import { _ as t, k as a, l as o, i as n, m as i, d as r, n as u, o as c, q as d, r as A, t as p, s as R, v as f, w as l, x as m, g as y } from "../index-CXTJ_1NV.js";
1
+ import { _ as t, k as a, l as o, i as n, m as i, d as r, n as u, o as c, q as d, r as A, t as p, s as R, v as f, w as l, x as m, g as y } from "../index-BB0_hxmE.js";
2
2
  import { _ as v } from "../ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
3
3
  import { s as I } from "../routes-CVckt7Pj.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { h as t, j as i, k as r, l as n, i as a } from "../index-D5_GAqjA.js";
1
+ import { h as t, j as i, k as r, l as n, i as a } from "../index-DZQ3gy3e.js";
2
2
  export {
3
3
  t as MAX_REPORTS_PER_SESSION,
4
4
  i as clientErrorReporter,
@@ -8,12 +8,12 @@ import { i as P } from "./error-Bb_dr_Ay.js";
8
8
  import { u as ve } from "./environment-Dva-SG8D.js";
9
9
  import { u as C } from "./describeError-BqGAUZgX.js";
10
10
  import { t as k } from "./toast-CqSDTWRX.js";
11
- import { u as x, h as R, f as j } from "./platform-Dr4iY3b8.js";
11
+ import { u as x, h as R, f as j } from "./platform-BZUWAXQV.js";
12
12
  import { useI18n as E } from "vue-i18n";
13
13
  import { _ as J } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
14
14
  import { useRouter as Q, useRoute as ye } from "vue-router";
15
15
  import { _ as X } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
16
- import { _ as G } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
16
+ import { _ as G } from "./Button.vue_vue_type_script_setup_true_lang-Dn-cJcj3.js";
17
17
  import { u as ge } from "./leaveGuard-Cc8yeLxM.js";
18
18
  import { _ as _e } from "./FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
19
19
  import { _ as be } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
@@ -21,10 +21,10 @@ import { u as we } from "./mediaQuery-CygcXmFW.js";
21
21
  import { u as xe } from "./useDialog-CXR3hN0G.js";
22
22
  import { c as Ee } from "./closeOverlays-CjVsIrpL.js";
23
23
  import { u as Se } from "./FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
24
- import { u as Te } from "./format-D8X4zsx6.js";
24
+ import { u as Te } from "./format-Dn-BOb-o.js";
25
25
  import { b as ke } from "./routeResource-CcYA75T2.js";
26
26
  import "./ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js";
27
- import { _ as Ae } from "./AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js";
27
+ import { _ as Ae } from "./AccessGate.vue_vue_type_script_setup_true_lang-B8gpkhbw.js";
28
28
  import "./routes-CVckt7Pj.js";
29
29
  const b = {
30
30
  login: i("POST", "/v1/auth/login", { public: !0 }),
@@ -287,7 +287,7 @@ const De = ["aria-labelledby"], Ve = ["id"], Me = { class: "mt-1 text-subheadlin
287
287
  ]));
288
288
  }
289
289
  }), Je = K({
290
- login: { name: "login", path: "/login", component: () => import("./SignInPage-Ts-iTaC1.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
290
+ login: { name: "login", path: "/login", component: () => import("./SignInPage--OC0hQ8M.js"), meta: { public: !0, titleKey: "core.identity.signin.title" } }
291
291
  });
292
292
  function $s(e = {}) {
293
293
  return N({
@@ -355,7 +355,7 @@ function Ls(e) {
355
355
  };
356
356
  }
357
357
  const te = K({
358
- index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-CJIztbx3.js"), meta: { titleKey: "core.profile.title" } }
358
+ index: { name: "profile", path: "/profile", component: () => import("./ProfilePage-Dnn_VUoB.js"), meta: { titleKey: "core.profile.title" } }
359
359
  }), es = /* @__PURE__ */ w({
360
360
  __name: "ProfileMenuItem",
361
361
  setup(e) {
@@ -379,19 +379,19 @@ function ns(e) {
379
379
  return { name: `users.record.${e.path}`, path: e.path, component: s, meta: { ...e.meta } };
380
380
  }
381
381
  const W = "iam.user:view", Ds = "iam.user:manage", os = "iam.user.activity:view", ne = K({
382
- index: { name: "users.index", path: "/users", component: () => import("./UsersList-Due2ZkbO.js"), meta: { access: W, titleKey: "core.users.title" } },
382
+ index: { name: "users.index", path: "/users", component: () => import("./UsersList-D4-eC5tC.js"), meta: { access: W, titleKey: "core.users.title" } },
383
383
  record: {
384
384
  name: "users.record",
385
385
  path: "/users/:id",
386
- component: () => import("./UserRecord-DgK9FsvV.js"),
386
+ component: () => import("./UserRecord-BjXUcHo8.js"),
387
387
  meta: { access: W, titleKey: "core.users.title", remountOnParam: "id" },
388
388
  children: [
389
- { name: "users.record.general", path: "general", component: () => import("./General-Dsh0TJ5w.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
390
- { name: "users.record.signin", path: "signin", component: () => import("./SignIn-DB5LRNlB.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
391
- { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-Bg4Zk9Gf.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
392
- { name: "users.record.signins", path: "signins", component: () => import("./SignIns-bCvvmCHF.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
393
- { name: "users.record.changes", path: "changes", component: () => import("./Changes-BCaVkeZg.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
394
- { name: "users.record.activity", path: "activity", component: () => import("./Activity-CW2TOQAY.js"), meta: { access: os, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
389
+ { name: "users.record.general", path: "general", component: () => import("./General-Cum9U4Z3.js"), meta: { section: { labelKey: "core.users.sections.general", icon: "user3Line", groupKey: "core.users.section_groups.person" } } },
390
+ { name: "users.record.signin", path: "signin", component: () => import("./SignIn-BHYFSMOX.js"), meta: { section: { labelKey: "core.users.sections.signin", icon: "key2Line", groupKey: "core.users.section_groups.access" } } },
391
+ { name: "users.record.sessions", path: "sessions", component: () => import("./Sessions-Cl2DTM7s.js"), meta: { section: { labelKey: "core.users.sections.sessions", icon: "deviceLine", groupKey: "core.users.section_groups.access" } } },
392
+ { name: "users.record.signins", path: "signins", component: () => import("./SignIns-CJ09NqOn.js"), meta: { section: { labelKey: "core.users.sections.signins", icon: "timeFill", groupKey: "core.users.section_groups.activity" } } },
393
+ { name: "users.record.changes", path: "changes", component: () => import("./Changes-BT__0XX0.js"), meta: { section: { labelKey: "core.users.sections.changes", icon: "edit", groupKey: "core.users.section_groups.activity" } } },
394
+ { name: "users.record.activity", path: "activity", component: () => import("./Activity-CfG8_Pp3.js"), meta: { access: os, section: { labelKey: "core.users.sections.activity", icon: "listCheck", groupKey: "core.users.section_groups.activity" } } }
395
395
  ]
396
396
  }
397
397
  });
@@ -452,11 +452,11 @@ const Ms = /* @__PURE__ */ w({
452
452
  }, 8, ["permission"])) : I("", !0);
453
453
  }
454
454
  }), [rs, Bs] = A("vue-core.serviceaccounts"), Y = "iam.serviceaccount:view", js = "iam.serviceaccount:manage", Ws = "iam.serviceaccount:revoke", H = K({
455
- index: { name: "serviceaccounts.index", path: "/iam/service-accounts", component: () => import("./ServiceAccountsList-CaXEp73j.js"), meta: { access: Y, titleKey: "core.serviceaccounts.title_plural" } },
455
+ index: { name: "serviceaccounts.index", path: "/iam/service-accounts", component: () => import("./ServiceAccountsList-CVDIhuCh.js"), meta: { access: Y, titleKey: "core.serviceaccounts.title_plural" } },
456
456
  record: {
457
457
  name: "serviceaccounts.record",
458
458
  path: "/iam/service-accounts/:id",
459
- component: () => import("./ServiceAccountRecord-Ct3TrSqZ.js"),
459
+ component: () => import("./ServiceAccountRecord-QsIfylwj.js"),
460
460
  meta: { access: Y, titleKey: "core.serviceaccounts.title_plural", remountOnParam: "id" }
461
461
  }
462
462
  });
@@ -2,20 +2,20 @@ import { route as v } from "./client/index.js";
2
2
  import { d as ve, p as me } from "./feature-DdUAfyi4.js";
3
3
  import { ref as C, readonly as $, defineComponent as q, openBlock as _, createBlock as U, unref as s, shallowRef as z, withCtx as A, createTextVNode as X, toDisplayString as L, mergeProps as Z, computed as N, createElementBlock as S, createElementVNode as P, createCommentVNode as R, createVNode as T, Fragment as G, renderList as be, normalizeClass as H, useTemplateRef as he, createSlots as ye } from "vue";
4
4
  import { d as ge } from "./context-Ch1r4fdN.js";
5
- import { u as ee } from "./platform-Dr4iY3b8.js";
5
+ import { u as ee } from "./platform-BZUWAXQV.js";
6
6
  import { d as te } from "./defineRoutes-BGAdiIrt.js";
7
7
  import { useI18n as I } from "vue-i18n";
8
8
  import { _ as _e } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
9
- import { f as xe } from "./client-CZgikXPG.js";
9
+ import { f as xe } from "./client-Dr2vV3qH.js";
10
10
  import { u as we } from "./mediaQuery-CygcXmFW.js";
11
11
  import { _ as ke } from "./Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js";
12
12
  import { _ as Se } from "./Popover.vue_vue_type_script_setup_true_lang-C70GrCP7.js";
13
13
  import { _ as J } from "./HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js";
14
14
  import { useRouter as Te } from "vue-router";
15
- import { _ as K } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
16
- import { u as Ee } from "./format-D8X4zsx6.js";
15
+ import { _ as K } from "./Button.vue_vue_type_script_setup_true_lang-Dn-cJcj3.js";
16
+ import { u as Ee } from "./format-Dn-BOb-o.js";
17
17
  import { _ as Pe } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
18
- import { _ as Ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
18
+ import { _ as Ce } from "./AsyncSection.vue_vue_type_script_setup_true_lang-BTIUz3cG.js";
19
19
  const E = {
20
20
  list: v("GET", "/v1/notifications"),
21
21
  unread: v("GET", "/v1/notifications/unread"),
@@ -135,9 +135,9 @@ function Me(n = ee().http, t = W()) {
135
135
  return { state: $(e), hash: $(i), busy: $(a), inspect: c, enable: u, disable: g };
136
136
  }
137
137
  const Ne = "events.deadletter:view", $t = "events.deadletter:retry", Y = te({
138
- index: { name: "events.deadletters", path: "/events/dead-letters", component: () => import("./DeadLetters-DUM_bsL-.js"), meta: { access: Ne, titleKey: "core.notifications.dead_letters.title" } }
138
+ index: { name: "events.deadletters", path: "/events/dead-letters", component: () => import("./DeadLetters-Btv3u3qh.js"), meta: { access: Ne, titleKey: "core.notifications.dead_letters.title" } }
139
139
  }), j = te({
140
- index: { name: "notifications.settings", path: "/profile/notifications", component: () => import("./SettingsPage-Brq9U4tJ.js"), meta: { titleKey: "core.notifications.settings.title" } }
140
+ index: { name: "notifications.settings", path: "/profile/notifications", component: () => import("./SettingsPage-B2uWw27O.js"), meta: { titleKey: "core.notifications.settings.title" } }
141
141
  }), Oe = /* @__PURE__ */ q({
142
142
  __name: "SettingsMenuItem",
143
143
  setup(n) {
@@ -3,19 +3,19 @@ import { d as V, p as U } from "./feature-DdUAfyi4.js";
3
3
  import { defineComponent as A, computed as O, onMounted as L, watch as B, openBlock as S, createBlock as y, unref as e, withCtx as I, createElementVNode as X, createVNode as c, mergeProps as d, createCommentVNode as R, ref as F } from "vue";
4
4
  import { d as j } from "./context-Ch1r4fdN.js";
5
5
  import { useI18n as P } from "vue-i18n";
6
- import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
7
- import { _ as G } from "./SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
6
+ import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-Bzm3yJy5.js";
7
+ import { _ as G } from "./SelectField.vue_vue_type_script_setup_true_lang-CYiarLAK.js";
8
8
  import { _ as g } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
9
9
  import { _ as E } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
10
- import { u as K, _ as z } from "./useCommand-BIZX1ReM.js";
10
+ import { u as K, _ as z } from "./useCommand-C3QTZIIw.js";
11
11
  import { t as H } from "./toast-CqSDTWRX.js";
12
- import { u as k } from "./platform-Dr4iY3b8.js";
12
+ import { u as k } from "./platform-BZUWAXQV.js";
13
13
  import { d as Q } from "./definition-C7QuyV3i.js";
14
14
  import { r as W, l as Y } from "./http-nz92KjdS.js";
15
15
  import { _ as J } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js";
16
16
  import { d as Z } from "./defineRoutes-BGAdiIrt.js";
17
- import { d as ee } from "./application-D8Nm17zA.js";
18
- import { R as te } from "./client-CZgikXPG.js";
17
+ import { d as ee } from "./application-DtY0ef-w.js";
18
+ import { R as te } from "./client-Dr2vV3qH.js";
19
19
  import { i as ne } from "./error-Bb_dr_Ay.js";
20
20
  const v = {
21
21
  index: p("GET", "/v1/incidents", { permission: "incident:view" }),
@@ -263,11 +263,11 @@ const Qe = {
263
263
  }, null, 8, ["label"])) : R("", !0);
264
264
  }
265
265
  }), M = Z({
266
- index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-ClQOjd5c.js"), meta: { access: q, titleKey: "core.incidents.title" } },
266
+ index: { name: "incidents.index", path: "/incidents", component: () => import("./IncidentsList-BHfJ1cbg.js"), meta: { access: q, titleKey: "core.incidents.title" } },
267
267
  details: {
268
268
  name: "incidents.details",
269
269
  path: "/incidents/:incidentID",
270
- component: () => import("./IncidentRecord-C9zrjNrp.js"),
270
+ component: () => import("./IncidentRecord-C4K8hDJ1.js"),
271
271
  // Previous / next record swaps the id in place.
272
272
  meta: { access: q, titleKey: "core.incidents.title", remountOnParam: "incidentID" }
273
273
  }
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** The version of @wssto2/vue-core (kept equal to package.json by index.test.ts). */
2
- export declare const version = "0.7.0";
2
+ export declare const version = "0.9.0";
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- const o = "0.7.0";
1
+ const o = "0.9.0";
2
2
  export {
3
3
  o as version
4
4
  };
@@ -1,42 +1,42 @@
1
1
  import { _ as G } from "../DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js";
2
- import { _ as y } from "../Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js";
3
- import { m as O } from "../Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js";
2
+ import { _ as b } from "../Modal.vue_vue_type_script_setup_true_lang-BqO9X_-u.js";
3
+ import { m as O } from "../Modal.vue_vue_type_script_setup_true_lang-BqO9X_-u.js";
4
4
  import { _ as T } from "../Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js";
5
- import { defineComponent as b, ref as k, computed as v, openBlock as t, createBlock as w, unref as i, withCtx as S, createElementVNode as r, createElementBlock as o, Fragment as c, renderList as u, toDisplayString as l, createCommentVNode as C } from "vue";
5
+ import { defineComponent as y, ref as k, computed as v, openBlock as t, createBlock as w, unref as i, withCtx as S, createElementVNode as r, createElementBlock as o, Fragment as c, renderList as u, toDisplayString as l, createCommentVNode as C } from "vue";
6
6
  import { useI18n as B } from "vue-i18n";
7
- import { a as K, u as M } from "../Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
8
- const $ = {
7
+ import { a as M, u as $ } from "../Button.vue_vue_type_script_setup_true_lang-Dn-cJcj3.js";
8
+ const j = {
9
9
  class: "flex flex-col gap-5",
10
10
  "data-test": "shortcut-help"
11
- }, j = { class: "mb-1 text-footnote font-semibold text-content-muted uppercase" }, D = { class: "divide-y divide-border-separator" }, E = { class: "text-body" }, H = { class: "flex shrink-0 items-center gap-1 text-footnote text-content-muted" }, N = { key: 0 }, V = { class: "text-footnote text-content-muted" }, R = /* @__PURE__ */ b({
11
+ }, D = { class: "mb-1 text-footnote font-semibold text-content-muted uppercase" }, E = { class: "divide-y divide-border-separator" }, H = { class: "text-body" }, K = { class: "flex shrink-0 items-center gap-1 text-footnote text-content-muted" }, N = { key: 0 }, V = { class: "text-footnote text-content-muted" }, R = /* @__PURE__ */ y({
12
12
  __name: "ShortcutHelp",
13
13
  setup(z) {
14
- const { t: s, te: f } = B(), p = k(null), h = K();
15
- M({ key: "?", shiftKey: !0, group: "general", label: () => s("core.shortcuts.show_help") }, () => p.value?.present());
14
+ const { t: s, te: f } = B(), p = k(null), h = M();
15
+ $({ key: "?", group: "general", label: () => s("core.shortcuts.show_help") }, () => p.value?.present());
16
16
  const x = v(() => {
17
17
  const a = /* @__PURE__ */ new Map();
18
18
  for (const e of h.value) a.set(e.group ?? "general", [...a.get(e.group ?? "general") ?? [], e]);
19
19
  return [...a].map(([e, n]) => ({ group: e, title: f(`core.shortcuts.groups.${e}`) ? s(`core.shortcuts.groups.${e}`) : e, rows: n }));
20
20
  });
21
- return (a, e) => (t(), w(y, {
21
+ return (a, e) => (t(), w(b, {
22
22
  ref_key: "modal",
23
23
  ref: p,
24
24
  title: i(s)("core.shortcuts.title"),
25
25
  size: "sm"
26
26
  }, {
27
27
  default: S(() => [
28
- r("div", $, [
28
+ r("div", j, [
29
29
  (t(!0), o(c, null, u(x.value, (n) => (t(), o("section", {
30
30
  key: n.group
31
31
  }, [
32
- r("h3", j, l(n.title), 1),
33
- r("dl", D, [
32
+ r("h3", D, l(n.title), 1),
33
+ r("dl", E, [
34
34
  (t(!0), o(c, null, u(n.rows, (d) => (t(), o("div", {
35
35
  key: d.label,
36
36
  class: "flex items-center justify-between gap-4 py-1.5"
37
37
  }, [
38
- r("dt", E, l(d.label), 1),
39
- r("dd", H, [
38
+ r("dt", H, l(d.label), 1),
39
+ r("dd", K, [
40
40
  (t(!0), o(c, null, u(d.keys, (m, g) => (t(), o(c, {
41
41
  key: m.join("+")
42
42
  }, [
@@ -59,7 +59,7 @@ const $ = {
59
59
  });
60
60
  export {
61
61
  G as DiscardChangesModal,
62
- y as Modal,
62
+ b as Modal,
63
63
  T as Sheet,
64
64
  R as ShortcutHelp,
65
65
  O as modalPlacementKey
@@ -0,0 +1,7 @@
1
+ export type ViewResponse = {
2
+ id: number;
3
+ list_key: string;
4
+ name: string;
5
+ state: Record<string, unknown>;
6
+ updated_at: string;
7
+ };
@@ -0,0 +1,13 @@
1
+ import { type QueryValue } from "../../client";
2
+ import type { ViewResponse } from "./entities";
3
+ export declare const savedviewRoutes: {
4
+ readonly index: import("../../client").ApiRoute<Record<string, QueryValue>, ViewResponse[], unknown>;
5
+ readonly store: import("../../client").ApiRoute<{
6
+ list_key: string;
7
+ name: string;
8
+ state: string;
9
+ }, ViewResponse, unknown>;
10
+ readonly delete: import("../../client").ApiRoute<{
11
+ id: number;
12
+ }, void, unknown>;
13
+ };
@@ -0,0 +1,11 @@
1
+ import { z } from 'zod';
2
+ export declare const SaveInputSchema: z.ZodObject<{
3
+ list_key: z.ZodString;
4
+ name: z.ZodString;
5
+ state: z.ZodString;
6
+ }, z.core.$strip>;
7
+ export type SaveInput = z.infer<typeof SaveInputSchema>;
8
+ export declare const ViewPathSchema: z.ZodObject<{
9
+ id: z.ZodNumber;
10
+ }, z.core.$strip>;
11
+ export type ViewPath = z.infer<typeof ViewPathSchema>;
@@ -1,6 +1,6 @@
1
1
  import { computed as k } from "vue";
2
2
  import { d as y } from "./context-Ch1r4fdN.js";
3
- import { h as N } from "./platform-Dr4iY3b8.js";
3
+ import { h as N } from "./platform-BZUWAXQV.js";
4
4
  function F(l, a = {}) {
5
5
  const i = /* @__PURE__ */ new Map(), o = [];
6
6
  for (const e of l) {
@@ -1,7 +1,7 @@
1
1
  import { computed as j, ref as z, shallowRef as I, watch as F, getCurrentScope as J, onScopeDispose as Q } from "vue";
2
2
  import { useRoute as O } from "vue-router";
3
3
  import { a as N } from "./error-Bb_dr_Ay.js";
4
- import { L as k, d as B, e as D, o as U, q as V } from "./state-ChVIjayU.js";
4
+ import { L as k, d as B, e as D, o as U, q as V } from "./state-BiYPPKoj.js";
5
5
  function K(l, t, n, g) {
6
6
  return typeof t == "string" ? t : { ...t, query: { ...t.query, [n]: D(l, g) } };
7
7
  }
@@ -1,4 +1,4 @@
1
- import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-i-cTTVxo.js";
1
+ import { d as s, e as a, n as o, b as i, c as n, f as u } from "../index-C1jSzT1V.js";
2
2
  export {
3
3
  s as deadLettersRoutes,
4
4
  a as eventsRoutes,
@@ -1,15 +1,15 @@
1
- import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
2
- import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
1
+ import { _ as x } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-DC-zSRcl.js";
2
+ import { a as W, b as X, c as Y, d as Z, p as ee, u as te, e as ae } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-DC-zSRcl.js";
3
3
  import { _ as se } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
4
4
  import { b as ne, i as re, u as ie } from "../bottomDock-BZEiOPYZ.js";
5
5
  import { defineComponent as v, openBlock as a, createBlock as b, withCtx as c, createElementVNode as s, normalizeStyle as k, createElementBlock as l, Fragment as y, renderList as B, normalizeClass as d, unref as h, createCommentVNode as p, toDisplayString as f, useModel as S, useId as C, useTemplateRef as P, computed as $, mergeProps as w, createSlots as T, renderSlot as m, mergeModels as D } from "vue";
6
6
  import { _ as L } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
7
- import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js";
7
+ import { _ as ue } from "../RecordHeader.vue_vue_type_script_setup_true_lang-CU7fZpp2.js";
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-ivdGWUeF.js";
12
- import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js";
11
+ import { _ as ye } from "../SectionNavigator.vue_vue_type_script_setup_true_lang-CWPD9zQJ.js";
12
+ import { a as Se, _ as Ce } from "../SectionList.vue_vue_type_script_setup_true_lang-DzoE_o8v.js";
13
13
  import { _ as A } from "../Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
14
14
  const K = ["aria-label"], M = ["aria-label"], N = ["aria-selected", "tabindex", "onClick"], R = { class: "relative" }, E = {
15
15
  key: 2,
@@ -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-Dr4iY3b8.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-Dr4iY3b8.js";
8
+ import { u as E } from "../platform-BZUWAXQV.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-BZUWAXQV.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-CkomzGrt.js";
12
+ import { _ as Z } from "../AccessGate.vue_vue_type_script_setup_true_lang-B8gpkhbw.js";
13
13
  class m extends Error {
14
14
  constructor(e, r = [], n) {
15
15
  super(r.length > 0 ? `${e}: ${r.join("; ")}` : e);
@@ -1,4 +1,4 @@
1
- import { c as U } from "./client-CZgikXPG.js";
1
+ import { c as U } from "./client-Dr2vV3qH.js";
2
2
  import { d as _ } from "./context-Ch1r4fdN.js";
3
3
  import { i as A, A as z } from "./error-Bb_dr_Ay.js";
4
4
  import { shallowRef as C } from "vue";
@@ -0,0 +1,2 @@
1
+ export { captureInstallPrompt, currentPlatform, isStandalone, useInstallPrompt, type AppPlatform } from "./install";
2
+ export { registerServiceWorker, type ServiceWorkerOptions } from "./worker";