@wssto2/vue-core 0.6.0 → 0.8.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 (148) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +3 -0
  3. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DZ9GcLC1.js → AccessGate.vue_vue_type_script_setup_true_lang-CkomzGrt.js} +1 -1
  4. package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-BIYgaihv.js} +1 -1
  5. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-D8NCXX4p.js → ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js} +2 -2
  6. package/dist/{Activity-DGodh6BU.js → Activity-Cm1dlM2b.js} +9 -9
  7. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js} +3 -3
  8. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js → AlertDialog.vue_vue_type_script_setup_true_lang-BvGc1Rfl.js} +1 -1
  9. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js → AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js} +4 -4
  10. package/dist/{Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js → Banner.vue_vue_type_script_setup_true_lang-sv0phngk.js} +1 -1
  11. package/dist/{Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js → Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js} +1 -1
  12. package/dist/{Changes-38u4xY6e.js → Changes-fN0KMYbW.js} +8 -8
  13. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-DPcCnrjr.js → CollectionPage.vue_vue_type_script_setup_true_lang--onFdKOB.js} +17 -16
  14. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js → DataTable.vue_vue_type_script_setup_true_lang-CTukf2B2.js} +1 -1
  15. package/dist/{DateField.vue_vue_type_script_setup_true_lang-BxUuUypB.js → DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js} +3 -3
  16. package/dist/{DeadLetters-CeHfhFHP.js → DeadLetters-BslDh93e.js} +5 -5
  17. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js} +1 -1
  18. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js → EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js} +1 -1
  19. package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js → FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js} +1 -1
  20. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-CNb2CK01.js → FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js} +2 -2
  21. package/dist/{FormView.vue_vue_type_script_setup_true_lang-nyz8EkzM.js → FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js} +2 -2
  22. package/dist/{General-BNTjPvat.js → General-DJ53Egpp.js} +8 -8
  23. package/dist/{HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js → HeaderAction.vue_vue_type_script_setup_true_lang-Da59TLBh.js} +2 -2
  24. package/dist/{Icon.vue_vue_type_script_lang-D7oC-d-S.js → Icon.vue_vue_type_script_lang-BhhsFYwp.js} +45 -42
  25. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js → IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js} +1 -1
  26. package/dist/IncidentRecord-DQTnYQEe.js +405 -0
  27. package/dist/IncidentsList-C3yUnwwY.js +140 -0
  28. package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
  29. package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js} +1 -1
  30. package/dist/{Menu.vue_vue_type_script_setup_true_lang-DsFOeCVe.js → Menu.vue_vue_type_script_setup_true_lang-ldLdJ5Q-.js} +1 -1
  31. package/dist/{MenuButton.vue_vue_type_script_setup_true_lang-AGbN9r5q.js → MenuButton.vue_vue_type_script_setup_true_lang-C-XRr5f2.js} +1 -1
  32. package/dist/{Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js → Modal.vue_vue_type_script_setup_true_lang-4MsnTWyx.js} +2 -2
  33. package/dist/{NewRolePage-Btg7gzzH.js → NewRolePage-Bw2_jXcQ.js} +4 -4
  34. package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js → NoAccess.vue_vue_type_script_setup_true_lang-BHzZtZ50.js} +1 -1
  35. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-C8um4ARi.js → NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js} +1 -1
  36. package/dist/{PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js → PageBar.vue_vue_type_script_setup_true_lang-DPpcZxuT.js} +1 -1
  37. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js → Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js} +1 -1
  38. package/dist/{PersonAccess.vue_vue_type_script_setup_true_lang-ClmawvYm.js → PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js} +12 -12
  39. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js → PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js} +1 -1
  40. package/dist/{ProfilePage-CoZyG11N.js → ProfilePage-DxALOfzC.js} +19 -19
  41. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-fmx0f8xi.js → RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js} +2 -2
  42. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-BFBGvevP.js → ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js} +5 -5
  43. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-Bs9bo0Zb.js → RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js} +13 -13
  44. package/dist/{RolePage-CPlwZA6X.js → RolePage-Yv6m6u7o.js} +13 -13
  45. package/dist/{RolesPage-CdYdIHR4.js → RolesPage-TibtzxzQ.js} +9 -9
  46. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js → SectionList.vue_vue_type_script_setup_true_lang-DAnZbfWA.js} +3 -3
  47. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-Ci04hApd.js → SectionNavigator.vue_vue_type_script_setup_true_lang-ivdGWUeF.js} +5 -5
  48. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-B_hBL5f4.js → SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js} +1 -1
  49. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-CBZhGNpm.js → SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js} +5 -5
  50. package/dist/{ServiceAccountDialog.vue_vue_type_script_setup_true_lang-DuvSSBbX.js → ServiceAccountDialog.vue_vue_type_script_setup_true_lang-en2w_pAJ.js} +8 -8
  51. package/dist/{ServiceAccountRecord-BtaUZuWU.js → ServiceAccountRecord-B_amE8fL.js} +18 -18
  52. package/dist/{ServiceAccountsList-CcRJvNaf.js → ServiceAccountsList-CoDKG_15.js} +10 -10
  53. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-VvBB2EZz.js → SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js} +4 -4
  54. package/dist/{Sessions-DkGNO1FO.js → Sessions-BrAEXAMA.js} +6 -6
  55. package/dist/{SettingsPage-D4G1HGbG.js → SettingsPage-Cje1X0ix.js} +19 -19
  56. package/dist/{Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js → Sheet.vue_vue_type_script_setup_true_lang-sh9YD0Pm.js} +1 -1
  57. package/dist/{SignIn-DS1YymqD.js → SignIn-CbWgDlFb.js} +7 -7
  58. package/dist/{SignInPage-BrmL0PUw.js → SignInPage-DmHdrZR-.js} +6 -6
  59. package/dist/{SignIns-C7l7IPHQ.js → SignIns-D5BRb9Sr.js} +6 -6
  60. package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js → SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js} +1 -1
  61. package/dist/{SwitchField.vue_vue_type_script_setup_true_lang-DXZK89A3.js → SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js} +1 -1
  62. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js → Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js} +1 -1
  63. package/dist/{TextField.vue_vue_type_script_setup_true_lang-CX3LdZLK.js → TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js} +3 -3
  64. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-BOtn_1GT.js → TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js} +1 -1
  65. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-CbflIrq6.js → TimeField.vue_vue_type_script_setup_true_lang-BwoE08jT.js} +3 -3
  66. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js → Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js} +1 -1
  67. package/dist/{UserRecord-Du8M_kuk.js → UserRecord-rIeTkocJ.js} +12 -12
  68. package/dist/{UsersList-D3ydQice.js → UsersList-CiPeerC7.js} +8 -8
  69. package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js → ViewTabs.vue_vue_type_script_setup_true_lang-BjdDXE3T.js} +1 -1
  70. package/dist/access/index.js +4 -4
  71. package/dist/app/application.d.ts +2 -0
  72. package/dist/app/index.js +13 -427
  73. package/dist/application-D8Nm17zA.js +420 -0
  74. package/dist/button/index.js +1 -1
  75. package/dist/client/client.d.ts +7 -0
  76. package/dist/client/index.d.ts +1 -1
  77. package/dist/client/index.js +5 -4
  78. package/dist/client-CZgikXPG.js +151 -0
  79. package/dist/collection/index.d.ts +1 -1
  80. package/dist/collection/index.js +77 -65
  81. package/dist/collection/savedViews.d.ts +12 -2
  82. package/dist/content/index.js +37 -66
  83. package/dist/{contributions-fx5q5n1u.js → contributions-BQ9dZoRw.js} +1 -1
  84. package/dist/controls/index.js +4 -4
  85. package/dist/datePresets-DB13HHHd.js +17 -0
  86. package/dist/definition-C7QuyV3i.js +54 -0
  87. package/dist/form/index.js +34 -34
  88. package/dist/{guards-D4mXf_2X.js → guards-BFCulig0.js} +1 -1
  89. package/dist/i18n/index.js +18 -18
  90. package/dist/icon/core.d.ts +3 -0
  91. package/dist/icon/index.js +1 -1
  92. package/dist/identity/index.js +2 -2
  93. package/dist/incidents/IncidentRecord.vue.d.ts +2 -0
  94. package/dist/incidents/IncidentsList.vue.d.ts +2 -0
  95. package/dist/incidents/Person.vue.d.ts +7 -0
  96. package/dist/incidents/ReportDialog.vue.d.ts +21 -0
  97. package/dist/incidents/ReportHost.vue.d.ts +2 -0
  98. package/dist/incidents/ReportMenuItem.vue.d.ts +2 -0
  99. package/dist/incidents/access.d.ts +6 -0
  100. package/dist/incidents/api.d.ts +27 -0
  101. package/dist/incidents/clientErrorReporter.d.ts +38 -0
  102. package/dist/incidents/context.d.ts +7 -0
  103. package/dist/incidents/feature.d.ts +20 -0
  104. package/dist/incidents/form.d.ts +16 -0
  105. package/dist/incidents/index.d.ts +9 -0
  106. package/dist/incidents/index.js +8 -0
  107. package/dist/incidents/look.d.ts +6 -0
  108. package/dist/incidents/routes.d.ts +21 -0
  109. package/dist/{index-DH0MoFqg.js → index-BQg5X6iK.js} +10 -10
  110. package/dist/{index-Cmj9iZmT.js → index-B_lzrZot.js} +21 -21
  111. package/dist/index-Cgu6Ntok.js +340 -0
  112. package/dist/index.d.ts +1 -1
  113. package/dist/index.js +1 -1
  114. package/dist/modal/index.js +5 -5
  115. package/dist/modules/incident/entities.d.ts +84 -0
  116. package/dist/modules/incident/routes.d.ts +54 -0
  117. package/dist/modules/incident/schemas.d.ts +48 -0
  118. package/dist/modules/savedview/entities.d.ts +7 -0
  119. package/dist/modules/savedview/routes.d.ts +13 -0
  120. package/dist/modules/savedview/schemas.d.ts +11 -0
  121. package/dist/{navigation-Bc5EQ_Si.js → navigation-BSC9X7FM.js} +1 -1
  122. package/dist/{neighbors-DNZuGlQH.js → neighbors-BKzihEGQ.js} +1 -1
  123. package/dist/notifications/index.js +1 -1
  124. package/dist/{options-e_CAfvDQ.js → options-QuOkMKVZ.js} +1 -1
  125. package/dist/overlay/index.js +4 -4
  126. package/dist/page/index.js +7 -7
  127. package/dist/phone/index.js +2 -2
  128. package/dist/platform/index.js +3 -3
  129. package/dist/{platform-Dx6STiwY.js → platform-Dr4iY3b8.js} +1 -1
  130. package/dist/resource/index.js +1 -1
  131. package/dist/router/index.js +4 -4
  132. package/dist/{rowLayout-BBFyLbOl.js → rowLayout-XlTcD4de.js} +7 -7
  133. package/dist/{sections-B0HxIOC2.js → sections-BXg4_ZhO.js} +1 -1
  134. package/dist/shell/index.js +9 -9
  135. package/dist/state/index.js +4 -4
  136. package/dist/state-ChVIjayU.js +102 -0
  137. package/dist/{status-C8XtnK6m.js → status-BV5Ae4K4.js} +5 -5
  138. package/dist/styles.css +1 -1
  139. package/dist/{suggestions-cPjs5gQz.js → suggestions-niXd1oOl.js} +1 -1
  140. package/dist/testing/index.js +1 -1
  141. package/dist/{useCommand-CfG727e8.js → useCommand-BIZX1ReM.js} +4 -4
  142. package/dist/{useGroupSheet-BVcNDWbP.js → useGroupSheet-DxXzdKo3.js} +5 -5
  143. package/dist/{useRecordDialog-D65FF85F.js → useRecordDialog-BLVSz7g3.js} +1 -1
  144. package/dist/{useResourceForm-CJfl8rj_.js → useResourceForm-DYuYT_on.js} +1 -1
  145. package/dist/{useTypedEntry-C7k7Dyl-.js → useTypedEntry-CKuGqWT8.js} +2 -2
  146. package/package.json +6 -2
  147. package/dist/client-BHPFfBj3.js +0 -147
  148. package/dist/state-BC1Fc6U2.js +0 -154
package/dist/app/index.js CHANGED
@@ -1,429 +1,15 @@
1
- var Se = Object.defineProperty;
2
- var Re = (e, n, r) => n in e ? Se(e, n, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[n] = r;
3
- var Z = (e, n, r) => Re(e, typeof n != "symbol" ? n + "" : n, r);
4
- import { effectScope as P, watch as W, defineComponent as pe, openBlock as Me, createElementBlock as Ae, createVNode as ee, unref as C, withCtx as te, createTextVNode as Le, toDisplayString as je, shallowRef as Ne, computed as Ke, h as se, createApp as Oe } from "vue";
5
- import { useI18n as Ce, createI18n as _e } from "vue-i18n";
6
- import { createRouter as Fe, isNavigationFailure as Ie } from "vue-router";
7
- import { i as Te } from "../leaveGuard-Cc8yeLxM.js";
8
- import { c as qe, i as De, f as Pe } from "../format-D8X4zsx6.js";
9
- import { coreMessages as oe, createMessageRuntime as We } from "../i18n/index.js";
10
- import { i as Be, a as He } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
- import { i as Ve, b as Ge } from "../bottomDock-BZEiOPYZ.js";
12
- import { i as Je, p as ze } from "../chrome-nUcmVu8G.js";
13
- import { i as Qe, g as Ue } from "../platform-Dx6STiwY.js";
14
- import { c as Xe, A as Ye, r as re } from "../access-DmAceEo5.js";
15
- import { c as Ze, _ as et } from "../NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js";
16
- import { i as tt } from "../guards-D4mXf_2X.js";
17
- import { b as st, c as ot, n as ae } from "../navigation-Bc5EQ_Si.js";
18
- import { c as rt, s as ne } from "../contributions-fx5q5n1u.js";
19
- import { S as Pt } from "../contributions-fx5q5n1u.js";
20
- import { a as ie } from "../environment-Dva-SG8D.js";
21
- import { u as Bt } from "../environment-Dva-SG8D.js";
22
- import { b as ce, c as le } from "../describeError-BqGAUZgX.js";
23
- import { _ as at } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
24
- import { _ as nt } from "../EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
25
- import { i as it } from "../feature-DdUAfyi4.js";
26
- import { d as Vt, p as Gt } from "../feature-DdUAfyi4.js";
27
- import { k as zt } from "../keepAlive-z3IRFkQq.js";
28
- function ct(e) {
29
- const { platform: n } = e, r = P();
30
- let i = null, v = null, y = !1;
31
- function E(l, m) {
32
- const h = new AbortController(), u = { controller: h, stops: [] };
33
- for (const k of l)
34
- try {
35
- const b = m(k, h.signal);
36
- typeof b == "function" && u.stops.push({ owned: k, stop: b });
37
- } catch (b) {
38
- e.onError(b, k);
39
- }
40
- return u;
41
- }
42
- function R(l) {
43
- if (l) {
44
- l.controller.abort();
45
- for (const { owned: m, stop: h } of l.stops.reverse())
46
- try {
47
- h();
48
- } catch (u) {
49
- e.onError(u, m);
50
- }
51
- }
52
- }
53
- const L = (l) => e.effects.filter((m) => m.effect.scope === l), M = (l) => l.status !== "authenticated" ? null : e.sessionKey ? e.sessionKey(l) : String(l.user.id);
54
- return {
55
- start() {
56
- if (y || i) return;
57
- i = E(
58
- L("app"),
59
- (m, h) => m.effect.start({ signal: h, platform: n, report: (u) => e.onError(u, m) })
60
- );
61
- const l = L("session");
62
- r.run(
63
- () => W(
64
- () => M(n.session.state.value),
65
- (m) => {
66
- R(v), v = null;
67
- const h = n.session.state.value;
68
- m === null || h.status !== "authenticated" || (v = E(
69
- l,
70
- (u, k) => u.effect.start({ signal: k, platform: n, user: h.user, report: (b) => e.onError(b, u) })
71
- ));
72
- },
73
- { immediate: !0, flush: "sync" }
74
- )
75
- );
76
- },
77
- dispose() {
78
- y || (y = !0, r.stop(), R(v), R(i), v = i = null);
79
- }
80
- };
81
- }
82
- const lt = { class: "mx-auto flex min-h-screen max-w-content items-center justify-center p-screen-padding" }, ut = /* @__PURE__ */ pe({
83
- __name: "StartupFailure",
84
- props: {
85
- kind: {}
86
- },
87
- emits: ["retry"],
88
- setup(e) {
89
- const { t: n } = Ce();
90
- return (r, i) => (Me(), Ae("div", lt, [
91
- ee(C(nt), {
92
- title: C(n)("core.startup.title"),
93
- description: C(n)(e.kind === "startup" ? "core.startup.other" : `core.startup.${e.kind}`),
94
- icon: "errorWarningLine"
95
- }, {
96
- actions: te(() => [
97
- ee(C(at), {
98
- prominence: "primary",
99
- icon: "refreshLine",
100
- onClick: i[0] || (i[0] = (v) => r.$emit("retry"))
101
- }, {
102
- default: te(() => [
103
- Le(je(C(n)("core.actions.retry")), 1)
104
- ]),
105
- _: 1
106
- })
107
- ]),
108
- _: 1
109
- }, 8, ["title", "description"])
110
- ]));
111
- }
112
- });
113
- class ue extends Error {
114
- constructor(r) {
115
- super(`The application composition is invalid:
116
- ${r.map((i) => ` - [${i.owner}] ${i.message}`).join(`
117
- `)}`);
118
- Z(this, "issues");
119
- this.name = "ApplicationError", this.issues = r;
120
- }
121
- }
122
- const fe = "application", w = (e) => `feature "${e.id}"`;
123
- function* B(e, n = "") {
124
- for (const r of e) {
125
- const i = r.path.startsWith("/") ? r.path : `${n.replace(/\/$/, "")}/${r.path}`;
126
- yield { record: r, path: i }, r.children && (yield* B(r.children, i));
127
- }
128
- }
129
- function ft(e) {
130
- const n = [], r = (o, s) => n.push({ owner: o, message: s }), i = [];
131
- e.features.forEach((o, s) => {
132
- it(o) ? i.push(o) : r(fe, `features[${s}] was not created with defineFeature().`);
133
- });
134
- const v = /* @__PURE__ */ new Map();
135
- for (const o of i)
136
- v.has(o.id) ? r(w(o), `the feature id "${o.id}" is used twice in the features list.`) : v.set(o.id, o);
137
- for (const o of i)
138
- for (const s of o.requires)
139
- v.has(s) || r(w(o), `requires the feature "${s}", which is not in the features list.`);
140
- const y = [], E = /* @__PURE__ */ new Set(), R = (o) => {
141
- if (E.has(o.id)) return;
142
- const s = y.indexOf(o.id);
143
- if (s !== -1) {
144
- r(w(o), `requirements form a cycle: ${[...y.slice(s), o.id].join(" -> ")}.`), E.add(o.id);
145
- return;
146
- }
147
- y.push(o.id);
148
- for (const c of o.requires) {
149
- const f = v.get(c);
150
- f && R(f);
151
- }
152
- y.pop(), E.add(o.id);
153
- };
154
- i.forEach(R);
155
- const L = new Set(e.platform.config.capabilities);
156
- for (const o of i)
157
- for (const s of o.backend)
158
- L.has(s) || r(w(o), `needs the backend capability "${s}", which the server does not report.`);
159
- const M = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map();
160
- for (const o of i) {
161
- for (const s of o.routes) {
162
- const c = s.path.length > 1 ? s.path.replace(/\/$/, "") : s.path, f = l.get(c);
163
- f ? r(w(o), `declares the path "${s.path}", which feature "${f.id}" declares too.`) : l.set(c, o);
164
- }
165
- for (const { record: s } of B(o.routes)) {
166
- if (s.meta && "feature" in s.meta && r(w(o), `the route "${String(s.name ?? s.path)}" sets meta.feature, which the runtime owns.`), typeof s.name != "string") continue;
167
- const c = M.get(s.name);
168
- c ? r(w(o), `declares the route name "${s.name}", which feature "${c.id}" declares too.`) : M.set(s.name, o);
169
- }
170
- }
171
- const m = new Set(e.reservedContexts), h = /* @__PURE__ */ new Map();
172
- for (const o of i)
173
- for (const { key: s } of o.contexts) {
174
- const c = s.description ?? "a context";
175
- m.has(s) && r(w(o), `provides the context "${c}", which the runtime provides itself.`);
176
- const f = h.get(s);
177
- f ? r(w(o), `provides the context "${c}", which feature "${f.id}" provides too.`) : h.set(s, o);
178
- }
179
- const u = /* @__PURE__ */ new Map(), k = (o, s) => {
180
- for (const c of s) {
181
- const f = u.get(c.namespace);
182
- f ? r(o, `declares the message namespace "${c.namespace}", which ${f} declares too.`) : u.set(c.namespace, o);
183
- for (const j of Object.keys(c.loaders))
184
- e.supportedLocales.includes(j) || r(o, `the namespace "${c.namespace}" has a loader for "${j}", which is not a supported locale (${e.supportedLocales.join(", ")}).`);
185
- }
186
- };
187
- for (const o of i) k(w(o), o.messages);
188
- k(fe, e.messages);
189
- const b = (o) => u.has(o);
190
- for (const o of i)
191
- for (const { record: s } of B(o.routes))
192
- for (const c of s.meta?.messages ?? [])
193
- b(c) || r(w(o), `the route "${String(s.name ?? s.path)}" needs the message namespace "${c}", which nobody declares.`);
194
- const x = /* @__PURE__ */ new Map();
195
- for (const o of i)
196
- for (const s of o.contributions) {
197
- const c = x.get(s.id);
198
- c ? r(w(o), `declares the shell contribution "${s.id}", which feature "${c.id}" declares too.`) : x.set(s.id, o), e.shellSlots && !s.optional && !e.shellSlots.includes(s.slot) && r(w(o), `contributes "${s.id}" to the slot "${s.slot}", which the shell does not render (it renders ${e.shellSlots.join(", ") || "none"}). Mark it optional to leave it out instead.`);
199
- for (const f of s.messages ?? [])
200
- b(f) || r(w(o), `the contribution "${s.id}" needs the message namespace "${f}", which nobody declares.`);
201
- }
202
- const A = /* @__PURE__ */ new Map();
203
- for (const o of i)
204
- for (const s of o.effects) {
205
- const c = A.get(s.id);
206
- c ? r(w(o), `declares the effect "${s.id}", which feature "${c.id}" declares too.`) : A.set(s.id, o);
207
- const f = s.scope;
208
- f !== "app" && f !== "session" && r(w(o), `the effect "${s.id}" has the scope "${f}"; use "app" or "session".`);
209
- }
210
- return { features: i, issues: n };
211
- }
212
- const dt = (e, n, r) => _e({
213
- legacy: !1,
214
- locale: e,
215
- fallbackLocale: n,
216
- pluralRules: r?.pluralRules && { ...r.pluralRules },
217
- ...r?.missingWarn === !1 && { missingWarn: !1, fallbackWarn: !1 },
218
- messages: {}
219
- }), pt = (e) => typeof e == "object" && e !== null && "component" in e && "slots" in e;
220
- function me(e, n) {
221
- return e.map((r) => ({
222
- ...r,
223
- meta: { ...r.meta, feature: n },
224
- ...r.children && { children: me(r.children, n) }
225
- }));
226
- }
227
- const de = (e) => [...new Set(e)];
228
- function Tt(e) {
229
- const { platform: n } = e, r = e.locale?.supported ?? Object.keys(oe), i = e.locale?.fallback ?? "en", v = e.shell === void 0 ? void 0 : pt(e.shell) ? e.shell : { component: e.shell, slots: void 0, progress: void 0 }, y = [];
230
- r.includes(i) || y.push({ owner: "application", message: `the fallback locale "${i}" is not among the supported locales (${r.join(", ")}).` });
231
- for (const t of Object.keys(e.locale?.flags ?? {}))
232
- r.includes(t) || y.push({ owner: "application", message: `locale.flags names the locale "${t}", which is not among the supported locales (${r.join(", ")}).` });
233
- const E = e.locale?.initial ?? (r.includes(n.config.locale) ? n.config.locale : i);
234
- r.includes(E) || y.push({ owner: "application", message: `the initial locale "${E}" is not among the supported locales (${r.join(", ")}).` });
235
- const R = [Ue, Pe, ze, Ge, He, ae, ne, re, ie, ce, le], L = ft({
236
- features: e.features,
237
- platform: n,
238
- messages: e.messages ?? [],
239
- reservedContexts: R,
240
- supportedLocales: r,
241
- shellSlots: v?.slots
242
- }), M = [...y, ...L.issues], l = L.features, m = st(
243
- l.flatMap((t) => t.navigation.map((a) => ({ feature: t.id, binding: a }))),
244
- e.navigation
245
- );
246
- for (const t of m.issues) M.push({ owner: "navigation", message: t });
247
- if (M.length > 0) throw new ue(M);
248
- const h = dt(E, i, e.i18n), u = h.global;
249
- for (const [t, a] of Object.entries(oe)) u.mergeLocaleMessage(t, a);
250
- for (const [t, a] of Object.entries(e.i18n?.messages ?? {})) u.mergeLocaleMessage(t, a);
251
- const k = qe({ locale: () => u.locale.value, formatters: e.formatting }), b = [...l.flatMap((t) => t.messages), ...e.messages ?? []], x = (t) => (e.onError ?? mt)({ ...t, route: s.currentRoute.value.matched.length > 0 ? s.currentRoute.value.fullPath : null }), A = We({
252
- target: u,
253
- namespaces: b,
254
- fallback: i,
255
- supported: r,
256
- onFailure: (t) => x({ source: "messages", error: t.error, detail: `${t.namespace} (${t.locale})`, feature: o.get(t.namespace) })
257
- }), o = new Map(l.flatMap((t) => t.messages.map((a) => [a.namespace, t.id]))), s = Fe({
258
- history: e.router?.history ?? Ze(),
259
- routes: l.flatMap((t) => me(t.routes, t.id)),
260
- scrollBehavior: e.router?.scrollBehavior ?? ((t, a) => t.name === a.name ? !1 : { top: 0 })
261
- }), c = e.router?.login ?? { name: "login" }, f = e.router?.home ?? { path: "/" }, j = [], H = (t) => {
262
- try {
263
- return s.resolve(t).matched.length > 0 ? null : "matches no route";
264
- } catch (a) {
265
- const p = a instanceof Error ? a.message : String(a);
266
- return p.startsWith("No match for") ? "matches no route" : `cannot be resolved (${p})`;
267
- }
268
- };
269
- if (l.some((t) => t.routes.some((a) => a.meta?.public !== !0))) {
270
- const t = H(c) ?? (s.resolve(c).meta.public === !0 ? null : "is not public (meta.public: true)");
271
- t && j.push({ owner: "application", message: `the login route ${JSON.stringify(c)} ${t.replace("matches no route", "does not exist")}, but protected routes are installed: an anonymous visitor would have nowhere to go. Install a feature with the login route or set router.login.` });
272
- }
273
- for (const { feature: t, binding: a } of m.destinations.values()) {
274
- const p = H(a.to);
275
- p && j.push({ owner: `feature "${t}"`, message: `the destination "${a.destination}" is bound to ${JSON.stringify(a.to)}, which ${p}.` });
276
- }
277
- if (j.length > 0) throw new ue(j);
278
- const N = Ne({ status: "idle" }), _ = {
279
- state: N,
280
- locale: Ke(() => u.locale.value),
281
- locales: r,
282
- localeFlags: e.locale?.flags ?? {},
283
- setLocale: async (t) => {
284
- const a = u.locale.value, p = await A.setLocale(t);
285
- if (p && u.locale.value !== a) {
286
- const g = (O) => x({ source: "locale", error: O, detail: t });
287
- try {
288
- Promise.resolve(e.locale?.onChange?.(t)).catch(g);
289
- } catch (O) {
290
- g(O);
291
- }
292
- }
293
- return p;
294
- },
295
- retry: () => D()
296
- }, I = {
297
- contributions: l.flatMap((t) => t.contributions.map((a) => ({ feature: t.id, contribution: a }))),
298
- effects: l.flatMap((t) => t.effects.map((a) => ({ feature: t.id, effect: a })))
299
- }, V = ct({
300
- effects: I.effects,
301
- platform: n,
302
- sessionKey: e.sessionKey,
303
- onError: (t, a) => x({ source: "effect", error: t, feature: a.feature, detail: a.effect.id })
304
- }), he = new Map(l.map((t) => [t.id, t.messages.map((a) => a.namespace)])), G = (t) => de(I.contributions.filter(({ contribution: a }) => a.scope === t).flatMap(({ contribution: a }) => a.messages ?? [])), ge = G("always"), we = G("authenticated");
305
- async function ve(t) {
306
- const a = t.matched.flatMap((g) => [...he.get(g.meta.feature ?? "") ?? [], ...g.meta.messages ?? []]), p = n.session.state.value.status === "authenticated";
307
- await A.load(de([...a, ...ge, ...p ? we : []]));
308
- }
309
- let T = null;
310
- function q(t) {
311
- const a = t.meta.titleKey, p = T?.documentTitle.value ?? (a && u.te(a) ? u.t(a) : null), g = (e.router?.documentTitle ?? ht)(p, n.config.appName);
312
- g !== "" && (document.title = g);
313
- }
314
- const ye = ot({ session: n.session, router: s, i18n: u, destinations: m.destinations }), $e = rt(I.contributions, n.session), be = Xe({ router: s, access: n.access, noAccess: e.noAccess ?? et }), Ee = pe({
315
- name: "ApplicationRoot",
316
- setup() {
317
- return () => {
318
- const t = N.value;
319
- return t.status === "failed" ? se(ut, { kind: t.kind, onRetry: () => void D() }) : t.status !== "ready" ? null : se(v?.component ?? Ye);
320
- };
321
- }
322
- }), d = Oe(Ee);
323
- Qe(d, n), d.use(h), De(d, k), T = Je(d), Ve(d), Te(d), e.icons && Be(d, ...Array.isArray(e.icons) ? e.icons : [e.icons]), d.provide(ie, _), e.describeError && d.provide(ce, e.describeError), e.describeFieldError && d.provide(le, e.describeFieldError), d.provide(ae, ye), d.provide(ne, $e), d.provide(re, be);
324
- for (const t of l) for (const { key: a, value: p } of t.contexts) d.provide(a, p);
325
- let S = !1, J = !1, z = !1, Q = !1;
326
- const K = [];
327
- function ke() {
328
- const t = d.config.errorHandler;
329
- d.config.errorHandler = ($, xe, Y) => {
330
- x({ source: "vue", error: $, detail: Y }), t?.($, xe, Y);
331
- };
332
- const a = ($) => x({ source: "unhandledrejection", error: $.reason }), p = ($) => {
333
- $.error && x({ source: "window", error: $.error });
334
- };
335
- window.addEventListener("unhandledrejection", a), window.addEventListener("error", p), K.push(() => {
336
- window.removeEventListener("unhandledrejection", a), window.removeEventListener("error", p);
337
- });
338
- const g = l.some(($) => $.holdsExpiredSession);
339
- n.session.holdExpired(g), K.push(() => n.session.holdExpired(!1)), K.push(
340
- tt({
341
- router: s,
342
- session: n.session,
343
- login: c,
344
- home: f,
345
- holdExpired: g,
346
- prepare: ve,
347
- afterNavigation: q,
348
- progress: e.router?.progress ?? v?.progress,
349
- onError: ($) => x({ source: "router", error: $ })
350
- })
351
- );
352
- const O = P();
353
- O.run(() => W(() => T?.documentTitle.value, () => q(s.currentRoute.value))), K.push(() => O.stop());
354
- const X = P();
355
- X.run(
356
- () => W(
357
- () => u.locale.value,
358
- ($) => {
359
- document.documentElement.lang = $, q(s.currentRoute.value);
360
- },
361
- { immediate: !0 }
362
- )
363
- ), K.push(() => X.stop());
364
- }
365
- const F = (t, a) => {
366
- N.value = { status: "failed", kind: t, error: a };
367
- };
368
- async function U() {
369
- N.value = { status: "starting" };
370
- const t = await n.session.restore();
371
- if (S) return;
372
- if (t.status === "failed") return F("session", t.error);
373
- const a = t.status === "authenticated" ? t.user.locale : void 0;
374
- if (typeof a == "string" && a !== u.locale.value && r.includes(a) && await _.setLocale(a), S) return;
375
- const p = await A.loadEssential();
376
- if (!S) {
377
- if (p.length > 0) return F("messages", p[0].error);
378
- try {
379
- const g = await s.replace(s.options.history.location);
380
- if (S) return;
381
- if (Ie(g)) return F("startup", g);
382
- } catch (g) {
383
- S || F("startup", g);
384
- return;
385
- }
386
- Q || (d.use(s), Q = !0), N.value = { status: "ready" }, V.start();
387
- }
388
- }
389
- async function D() {
390
- S || N.value.status !== "failed" || (await A.retry(), await U());
391
- }
392
- return {
393
- app: d,
394
- router: s,
395
- i18n: h,
396
- state: N,
397
- locale: _.locale,
398
- setLocale: _.setLocale,
399
- async mount(t) {
400
- if (S) throw new Error("This application was disposed; create a new one with createApplication().");
401
- if (J) throw new Error("This application is already mounted.");
402
- J = !0, ke(), await U(), !S && (d.mount(t), z = !0);
403
- },
404
- retry: D,
405
- dispose() {
406
- if (!S) {
407
- S = !0, V.dispose(), A.dispose(), z && d.unmount();
408
- for (const t of K.reverse()) t();
409
- s.options.history.destroy();
410
- }
411
- }
412
- };
413
- }
414
- function mt(e) {
415
- console.error(`[vue-core] ${e.source}${e.feature ? ` (${e.feature})` : ""}${e.detail ? `: ${e.detail}` : ""}`, e.error);
416
- }
417
- function ht(e, n) {
418
- return [e, n].filter((r) => !!r).join(" · ");
419
- }
1
+ import { A as a, c as p } from "../application-D8Nm17zA.js";
2
+ import { S as t } from "../contributions-BQ9dZoRw.js";
3
+ import { a as s, u as l } from "../environment-Dva-SG8D.js";
4
+ import { d as c, p as f } from "../feature-DdUAfyi4.js";
5
+ import { k as m } from "../keepAlive-z3IRFkQq.js";
420
6
  export {
421
- ue as ApplicationError,
422
- Pt as ShellOutlet,
423
- ie as applicationKey,
424
- Tt as createApplication,
425
- Vt as defineFeature,
426
- zt as keepSessionAlive,
427
- Gt as provideContext,
428
- Bt as useApplication
7
+ a as ApplicationError,
8
+ t as ShellOutlet,
9
+ s as applicationKey,
10
+ p as createApplication,
11
+ c as defineFeature,
12
+ m as keepSessionAlive,
13
+ f as provideContext,
14
+ l as useApplication
429
15
  };