@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
@@ -1,113 +1,125 @@
1
- import { D as O, L as j, a as U } from "../state-BC1Fc6U2.js";
2
- import { _ as X, a as Z, u as q } from "../CollectionPage.vue_vue_type_script_setup_true_lang-DPcCnrjr.js";
3
- import { h as J, l as K, r as Q } from "../http-nz92KjdS.js";
4
- import { u as Y, a as ee } from "../neighbors-DNZuGlQH.js";
5
- import { a as se, b as oe } from "../rowLayout-BBFyLbOl.js";
6
- import { _ as ne } from "../DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js";
7
- import { defineComponent as y, openBlock as c, createElementBlock as d, Fragment as h, renderList as v, createBlock as k, unref as f, withCtx as C, normalizeClass as m, createVNode as p, createCommentVNode as g, computed as w, toValue as E } from "vue";
8
- import { _ } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
9
- import { _ as S } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
10
- import { useI18n as T } from "vue-i18n";
11
- function $(r = {}) {
12
- const s = new Map(Object.entries(r).map(([t, e]) => [t, [...e]]));
1
+ import { D as q, d as z } from "../definition-C7QuyV3i.js";
2
+ import { _ as j, a as G, u as U } from "../CollectionPage.vue_vue_type_script_setup_true_lang--onFdKOB.js";
3
+ import { h as X, l as Z, r as H } from "../http-nz92KjdS.js";
4
+ import { L as Q } from "../state-ChVIjayU.js";
5
+ import { u as Y, a as ee } from "../neighbors-BKzihEGQ.js";
6
+ import { route as f } from "../client/index.js";
7
+ import { b as se, a as ae } from "../rowLayout-XlTcD4de.js";
8
+ import { _ as ne } from "../DataTable.vue_vue_type_script_setup_true_lang-CTukf2B2.js";
9
+ import { defineComponent as k, openBlock as d, createElementBlock as c, Fragment as C, renderList as g, createBlock as h, unref as m, withCtx as E, normalizeClass as p, createVNode as b, createCommentVNode as S } from "vue";
10
+ import { _ } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
11
+ import { _ as T } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
12
+ import { D as ie, u as le } from "../datePresets-DB13HHHd.js";
13
+ const v = {
14
+ index: f("GET", "/v1/saved-views"),
15
+ store: f("POST", "/v1/saved-views"),
16
+ delete: f("DELETE", "/v1/saved-views/:id")
17
+ }, x = ({ id: o, name: t, state: a }) => ({ id: o, name: t, state: a });
18
+ function I(o) {
19
+ return {
20
+ async list(t, { signal: a }) {
21
+ return (await o.request(v.index, { list: t }, { signal: a })).data.map(x);
22
+ },
23
+ async save(t, a, n) {
24
+ const s = JSON.stringify({ ...n, view: n.view || void 0 });
25
+ return x((await o.request(v.store, { list_key: t, name: a, state: s })).data);
26
+ },
27
+ async remove(t, a) {
28
+ await o.request(v.delete, { id: Number(a) });
29
+ }
30
+ };
31
+ }
32
+ function O(o = {}) {
33
+ const t = new Map(Object.entries(o).map(([s, e]) => [s, [...e]]));
13
34
  let a = 1;
14
- const o = (t) => {
15
- let e = s.get(t);
16
- return e || s.set(t, e = []), e;
35
+ const n = (s) => {
36
+ let e = t.get(s);
37
+ return e || t.set(s, e = []), e;
17
38
  };
18
39
  return {
19
- async list(t) {
20
- return [...o(t)];
40
+ async list(s) {
41
+ return [...n(s)];
21
42
  },
22
- async save(t, e, i) {
23
- const n = o(t), l = n.findIndex((x) => x.name === e), u = { id: l === -1 ? `view-${a++}` : n[l].id, name: e, state: i };
24
- return l === -1 ? n.push(u) : n[l] = u, u;
43
+ async save(s, e, l) {
44
+ const r = n(s), i = r.findIndex((y) => y.name === e), u = { id: i === -1 ? `view-${a++}` : r[i].id, name: e, state: l };
45
+ return i === -1 ? r.push(u) : r[i] = u, u;
25
46
  },
26
- async remove(t, e) {
27
- const i = o(t), n = i.findIndex((l) => l.id === e);
28
- n !== -1 && i.splice(n, 1);
47
+ async remove(s, e) {
48
+ const l = n(s), r = l.findIndex((i) => i.id === e);
49
+ r !== -1 && l.splice(r, 1);
29
50
  }
30
51
  };
31
52
  }
32
- const A = {
53
+ const P = {
33
54
  key: 0,
34
55
  class: "flex items-center justify-center gap-1",
35
56
  "data-test": "row-actions"
36
- }, P = ["href", "target", "rel", "aria-label", "data-action"], L = ["aria-label", "data-action", "disabled", "onClick"], b = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus", N = /* @__PURE__ */ y({
57
+ }, A = ["href", "target", "rel", "aria-label", "data-action"], D = ["aria-label", "data-action", "disabled", "onClick"], w = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus", V = /* @__PURE__ */ k({
37
58
  __name: "RowActions",
38
59
  props: {
39
60
  actions: {},
40
61
  disabled: { type: Boolean, default: !1 }
41
62
  },
42
- setup(r) {
43
- const s = r, a = (o) => o.tone === "critical" ? "text-status-danger-content hover:bg-status-danger-surface" : "text-content-link hover:bg-tint-soft";
44
- return (o, t) => s.actions.length > 0 ? (c(), d("div", A, [
45
- (c(!0), d(h, null, v(s.actions, (e) => (c(), k(f(S), {
63
+ setup(o) {
64
+ const t = o, a = (n) => n.tone === "critical" ? "text-status-danger-content hover:bg-status-danger-surface" : "text-content-link hover:bg-tint-soft";
65
+ return (n, s) => t.actions.length > 0 ? (d(), c("div", P, [
66
+ (d(!0), c(C, null, g(t.actions, (e) => (d(), h(m(T), {
46
67
  key: e.key,
47
68
  text: e.label,
48
69
  side: "left"
49
70
  }, {
50
- default: C(() => [
51
- e.href && !s.disabled ? (c(), d("a", {
71
+ default: E(() => [
72
+ e.href && !t.disabled ? (d(), c("a", {
52
73
  key: 0,
53
74
  href: e.href,
54
75
  target: e.external ? "_blank" : void 0,
55
76
  rel: e.external ? "noopener" : void 0,
56
77
  "aria-label": e.label,
57
78
  "data-action": e.key,
58
- class: m(["inline-flex rounded-md p-1.5 transition-colors", [a(e), b]])
79
+ class: p(["inline-flex rounded-md p-1.5 transition-colors", [a(e), w]])
59
80
  }, [
60
- p(f(_), {
81
+ b(m(_), {
61
82
  name: e.icon,
62
83
  size: 18
63
84
  }, null, 8, ["name"])
64
- ], 10, P)) : (c(), d("button", {
85
+ ], 10, A)) : (d(), c("button", {
65
86
  key: 1,
66
87
  type: "button",
67
88
  "aria-label": e.label,
68
89
  "data-action": e.key,
69
- disabled: s.disabled,
70
- class: m(["inline-flex cursor-pointer rounded-md p-1.5 transition-colors disabled:pointer-events-none disabled:opacity-40", [a(e), b]]),
71
- onClick: (i) => e.onSelect?.()
90
+ disabled: t.disabled,
91
+ class: p(["inline-flex cursor-pointer rounded-md p-1.5 transition-colors disabled:pointer-events-none disabled:opacity-40", [a(e), w]]),
92
+ onClick: (l) => e.onSelect?.()
72
93
  }, [
73
- p(f(_), {
94
+ b(m(_), {
74
95
  name: e.icon,
75
96
  size: 18
76
97
  }, null, 8, ["name"])
77
- ], 10, L))
98
+ ], 10, D))
78
99
  ]),
79
100
  _: 2
80
101
  }, 1032, ["text"]))), 128))
81
- ])) : g("", !0);
102
+ ])) : S("", !0);
82
103
  }
83
- }), B = ["today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year"];
84
- function V(r, s) {
85
- const { t: a } = T();
86
- return w(() => ({
87
- key: r,
88
- icon: "calendarEventFill",
89
- label: E(s) ?? a("core.collection.date_presets.label"),
90
- type: "select",
91
- options: B.map((o) => ({ value: o, label: a(`core.collection.date_presets.options.${o}`) }))
92
- }));
93
- }
104
+ });
94
105
  export {
95
106
  se as CollectionCell,
96
- X as CollectionPage,
97
- Z as CollectionTable,
98
- B as DATE_PRESETS,
99
- O as DEFAULT_PAGE_SIZES,
107
+ j as CollectionPage,
108
+ G as CollectionTable,
109
+ ie as DATE_PRESETS,
110
+ q as DEFAULT_PAGE_SIZES,
100
111
  ne as DataTable,
101
- j as LIST_CONTEXT_PARAM,
102
- oe as RecordIdentity,
103
- N as RowActions,
104
- $ as createMemorySavedViews,
105
- U as defineCollection,
106
- J as httpList,
107
- K as listParams,
108
- Q as readListPage,
109
- q as useCollection,
112
+ Q as LIST_CONTEXT_PARAM,
113
+ ae as RecordIdentity,
114
+ V as RowActions,
115
+ O as createMemorySavedViews,
116
+ z as defineCollection,
117
+ X as httpList,
118
+ Z as listParams,
119
+ H as readListPage,
120
+ I as serverSavedViews,
121
+ U as useCollection,
110
122
  Y as useCollectionBack,
111
123
  ee as useCollectionNeighbors,
112
- V as useDatePresetFilter
124
+ le as useDatePresetFilter
113
125
  };
@@ -1,3 +1,4 @@
1
+ import type { HttpClient } from "../client";
1
2
  /**
2
3
  * What "Saved views" stores for a list: the filters, the search and the scope, stamped with the
3
4
  * definition's `stateVersion` so a view saved before the meaning of a key changed is migrated or
@@ -15,8 +16,8 @@ export interface SavedView {
15
16
  readonly state: SavedViewState;
16
17
  }
17
18
  /**
18
- * The seam to wherever an application keeps a person's saved views (go-core has no endpoint for it
19
- * yet). The application supplies one per list (`useCollection(def, { savedViews })`); the library
19
+ * The seam to wherever an application keeps a person's saved views (`serverSavedViews` is the one for
20
+ * go-core's `savedview` module). The application supplies one per list (`useCollection(def, { savedViews })`); the library
20
21
  * only reads, saves and removes through it. A saved view belongs to the signed-in person: the
21
22
  * adapter's backend decides who that is, the library clears what it loaded when the session changes.
22
23
  */
@@ -28,5 +29,14 @@ export interface SavedViews {
28
29
  save(listId: string, name: string, state: SavedViewState): Promise<SavedView>;
29
30
  remove(listId: string, id: SavedView["id"]): Promise<void>;
30
31
  }
32
+ /**
33
+ * `SavedViews` over go-core's `savedview` module (`GET | POST /v1/saved-views`, `DELETE /v1/saved-views/:id`): the
34
+ * signed-in person's views, kept per list id. Make it in `setup` over the platform's client and pass it to
35
+ * `useCollection(def, { savedViews: serverSavedViews(usePlatform().http) })`; a list that passes none has no saved views.
36
+ *
37
+ * The state travels as the library wrote it, `version` included: a view saved without one comes back without one
38
+ * and is skipped by `useCollection` like any view of another `stateVersion`.
39
+ */
40
+ export declare function serverSavedViews(http: HttpClient): SavedViews;
31
41
  /** An in-memory `SavedViews` for tests and the playground. It forgets everything on reload; not for an application. */
32
42
  export declare function createMemorySavedViews(initial?: Readonly<Record<string, readonly SavedView[]>>): SavedViews;
@@ -1,107 +1,78 @@
1
- import { _ as A, i as G } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
2
- import { defineComponent as d, openBlock as l, createElementBlock as n, createElementVNode as o, toDisplayString as c, createCommentVNode as g, useSlots as y, computed as b, createTextVNode as m, renderSlot as u, normalizeClass as f, Fragment as _, unref as k, renderList as $, createBlock as x, createSlots as h, withCtx as v, resolveDynamicComponent as w } from "vue";
3
- import { useI18n as V } from "vue-i18n";
4
- import { _ as R } from "../Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js";
5
- import { _ as q } from "../Timestamp.vue_vue_type_script_setup_true_lang-CutyQkJb.js";
6
- const C = {
1
+ import { _ as K, i as S } from "../Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
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
+ 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-D_Wg42hu.js";
5
+ import { _ as N } from "../Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js";
6
+ const k = {
7
7
  role: "separator",
8
8
  class: "my-2 flex items-center gap-4"
9
- }, D = {
9
+ }, v = {
10
10
  key: 0,
11
11
  class: "select-none whitespace-nowrap font-mono text-2xs uppercase tracking-widest text-content-muted"
12
- }, F = /* @__PURE__ */ d({
12
+ }, D = /* @__PURE__ */ o({
13
13
  __name: "Divider",
14
14
  props: {
15
15
  label: {}
16
16
  },
17
17
  setup(s) {
18
- return (e, t) => (l(), n("div", C, [
19
- t[0] || (t[0] = o("span", { class: "h-px flex-1 bg-border-separator" }, null, -1)),
20
- s.label ? (l(), n("span", D, c(s.label), 1)) : g("", !0),
21
- t[1] || (t[1] = o("span", { class: "h-px flex-1 bg-border-separator" }, null, -1))
18
+ return (a, e) => (t(), l("div", k, [
19
+ e[0] || (e[0] = c("span", { class: "h-px flex-1 bg-border-separator" }, null, -1)),
20
+ s.label ? (t(), l("span", v, u(s.label), 1)) : d("", !0),
21
+ e[1] || (e[1] = c("span", { class: "h-px flex-1 bg-border-separator" }, null, -1))
22
22
  ]));
23
23
  }
24
- }), L = { class: "min-w-0" }, B = { class: "flex items-center gap-1 text-xs text-content-muted" }, K = { class: "sr-only" }, S = /* @__PURE__ */ d({
25
- __name: "KeyValue",
26
- props: {
27
- label: {},
28
- value: { default: void 0 },
29
- wrap: { type: Boolean, default: !0 }
30
- },
31
- setup(s) {
32
- const e = s, { t } = V(), r = y(), i = b(() => !r.default && (e.value === null || e.value === void 0 || e.value === ""));
33
- return (a, p) => (l(), n("div", L, [
34
- o("dt", B, [
35
- m(c(e.label) + " ", 1),
36
- u(a.$slots, "label")
37
- ]),
38
- o("dd", {
39
- class: f(["mt-0.5 text-sm font-medium text-content-strong", e.wrap ? "break-words" : "truncate"])
40
- }, [
41
- i.value ? (l(), n(_, { key: 0 }, [
42
- p[0] || (p[0] = o("span", {
43
- "aria-hidden": "true",
44
- class: "font-normal text-content-disabled"
45
- }, "—", -1)),
46
- o("span", K, c(k(t)("core.state.no_value")), 1)
47
- ], 64)) : u(a.$slots, "default", {}, () => [
48
- m(c(e.value), 1)
49
- ], void 0, 1)
50
- ], 2)
51
- ]));
52
- }
53
- }), I = /* @__PURE__ */ d({
24
+ }), L = /* @__PURE__ */ o({
54
25
  __name: "KeyValueList",
55
26
  props: {
56
27
  items: {},
57
28
  columns: { default: 1 }
58
29
  },
59
30
  setup(s) {
60
- const e = s, t = {
31
+ const a = s, e = {
61
32
  1: "grid-cols-1",
62
33
  2: "grid-cols-1 sm:grid-cols-2",
63
34
  3: "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"
64
35
  };
65
- return (r, i) => (l(), n("dl", {
66
- class: f(["grid gap-x-6 gap-y-3", t[e.columns]])
36
+ return (n, $) => (t(), l("dl", {
37
+ class: f(["grid gap-x-6 gap-y-3", e[a.columns]])
67
38
  }, [
68
- (l(!0), n(_, null, $(e.items, (a) => (l(), x(S, {
69
- key: a.key,
70
- label: a.label,
71
- value: a.value,
72
- "data-key": a.key
73
- }, h({ _: 2 }, [
74
- r.$slots.value ? {
39
+ (t(!0), l(_, null, g(a.items, (r) => (t(), i(b, {
40
+ key: r.key,
41
+ label: r.label,
42
+ value: r.value,
43
+ "data-key": r.key
44
+ }, x({ _: 2 }, [
45
+ n.$slots.value ? {
75
46
  name: "default",
76
- fn: v(() => [
77
- u(r.$slots, "value", { item: a })
47
+ fn: p(() => [
48
+ m(n.$slots, "value", { item: r })
78
49
  ]),
79
50
  key: "0"
80
51
  } : void 0
81
52
  ]), 1032, ["label", "value", "data-key"]))), 128))
82
53
  ], 2));
83
54
  }
84
- }), M = /* @__PURE__ */ d({
55
+ }), V = /* @__PURE__ */ o({
85
56
  __name: "MicroLabel",
86
57
  props: {
87
58
  as: { default: "span" }
88
59
  },
89
60
  setup(s) {
90
- return (e, t) => (l(), x(w(s.as), { class: "text-2xs font-semibold uppercase tracking-[0.06em] text-content-muted" }, {
91
- default: v(() => [
92
- u(e.$slots, "default")
61
+ return (a, e) => (t(), i(y(s.as), { class: "text-2xs font-semibold uppercase tracking-[0.06em] text-content-muted" }, {
62
+ default: p(() => [
63
+ m(a.$slots, "default")
93
64
  ]),
94
65
  _: 3
95
66
  }));
96
67
  }
97
68
  });
98
69
  export {
99
- A as Avatar,
100
- F as Divider,
101
- S as KeyValue,
102
- I as KeyValueList,
103
- M as MicroLabel,
104
- R as Panel,
105
- q as Timestamp,
106
- G as initialsFor
70
+ K as Avatar,
71
+ D as Divider,
72
+ b as KeyValue,
73
+ L as KeyValueList,
74
+ V as MicroLabel,
75
+ F as Panel,
76
+ N as Timestamp,
77
+ S as initialsFor
107
78
  };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i, h as l } from "vue";
2
2
  import { d as u } from "./context-Ch1r4fdN.js";
3
- import { h as a } from "./platform-Dx6STiwY.js";
3
+ import { h as a } from "./platform-Dr4iY3b8.js";
4
4
  function h(o, n) {
5
5
  const t = o.map(({ contribution: e }) => e).sort((e, r) => (e.order ?? 0) - (r.order ?? 0));
6
6
  return {
@@ -1,9 +1,9 @@
1
- import { _ as A } from "../IconTile.vue_vue_type_script_setup_true_lang-_FXvaj93.js";
1
+ import { _ as A } from "../IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
2
2
  import { defineComponent as p, useSlots as c, openBlock as r, createElementBlock as d, normalizeClass as u, createElementVNode as f, renderSlot as m, toDisplayString as b, createVNode as x, unref as h, useModel as v, useTemplateRef as _, withDirectives as y, mergeProps as g, vModelText as k, mergeModels as w } from "vue";
3
- import { _ as B } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
+ import { _ as B } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
4
4
  import { _ as N } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
5
- import { _ as W } from "../Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js";
6
- import { _ as L } from "../SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js";
5
+ import { _ as W } from "../Tabs.vue_vue_type_script_setup_true_lang-tpkGp98F.js";
6
+ import { _ as L } from "../SwipeActions.vue_vue_type_script_setup_true_lang-D8SiC0G7.js";
7
7
  import { c as j, a as F, b as G, d as H } from "../controlSurface-t7OEFESJ.js";
8
8
  const S = ["disabled", "aria-haspopup", "aria-expanded", "aria-invalid"], V = { class: "min-w-0 truncate" }, P = {
9
9
  key: 1,
@@ -0,0 +1,17 @@
1
+ import { computed as l, toValue as s } from "vue";
2
+ import { useI18n as r } from "vue-i18n";
3
+ const n = ["today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year"];
4
+ function p(o, a) {
5
+ const { t: e } = r();
6
+ return l(() => ({
7
+ key: o,
8
+ icon: "calendarEventFill",
9
+ label: s(a) ?? e("core.collection.date_presets.label"),
10
+ type: "select",
11
+ options: n.map((t) => ({ value: t, label: e(`core.collection.date_presets.options.${t}`) }))
12
+ }));
13
+ }
14
+ export {
15
+ n as D,
16
+ p as u
17
+ };
@@ -0,0 +1,54 @@
1
+ const w = [5, 8, 10, 15, 25, 50, 100], d = 25;
2
+ function u(e) {
3
+ const s = `defineCollection("${e.id}")`;
4
+ if (typeof e.id != "string" || e.id.trim() === "") throw new Error("defineCollection: `id` must be a non-empty string.");
5
+ if (!Number.isInteger(e.stateVersion) || e.stateVersion < 1) throw new Error(`${s}: \`stateVersion\` must be a positive integer.`);
6
+ if (typeof e.load != "function") throw new Error(`${s}: \`load\` must be a function.`);
7
+ if (typeof e.key != "function") throw new Error(`${s}: \`key\` must be a function.`);
8
+ const r = {
9
+ sorts: e.query?.sorts ? [...e.query.sorts] : null,
10
+ filters: e.query?.filters ? [...e.query.filters] : null,
11
+ views: e.query?.views ? [...e.query.views] : null,
12
+ sensitive: [...e.query?.sensitive ?? []],
13
+ pageSizes: [...e.query?.pageSizes ?? w],
14
+ search: e.query?.search ?? !0
15
+ };
16
+ if (r.pageSizes.length === 0 || r.pageSizes.some((t) => !Number.isInteger(t) || t < 1))
17
+ throw new Error(`${s}: \`query.pageSizes\` must list positive integers.`);
18
+ for (const t of r.sensitive)
19
+ if (r.filters && !r.filters.includes(t)) throw new Error(`${s}: sensitive filter "${t}" is not in \`query.filters\`.`);
20
+ const i = e.defaults ?? {}, f = i.pageSize ?? (r.pageSizes.includes(d) ? d : r.pageSizes[0]);
21
+ if (!r.pageSizes.includes(f)) throw new Error(`${s}: default page size ${f} is not one of ${r.pageSizes.join(", ")}.`);
22
+ const o = i.sort ?? null;
23
+ if (o !== null && r.sorts && !r.sorts.includes(o)) throw new Error(`${s}: default sort "${o}" is not in \`query.sorts\`.`);
24
+ const n = i.view ?? null;
25
+ if (n !== null && r.views && !r.views.includes(n)) throw new Error(`${s}: default view "${n}" is not in \`query.views\`.`);
26
+ const a = Object.fromEntries(Object.entries(i.filters ?? {}).filter(([, t]) => t !== void 0 && t !== ""));
27
+ for (const t of Object.keys(a))
28
+ if (r.filters && !r.filters.includes(t)) throw new Error(`${s}: default filter "${t}" is not in \`query.filters\`.`);
29
+ const l = i.page ?? 1;
30
+ if (!Number.isInteger(l) || l < 1) throw new Error(`${s}: default page must be a positive integer.`);
31
+ const c = i.direction ?? "asc";
32
+ if (c !== "asc" && c !== "desc") throw new Error(`${s}: default direction must be "asc" or "desc".`);
33
+ return Object.freeze({
34
+ id: e.id,
35
+ stateVersion: e.stateVersion,
36
+ load: e.load,
37
+ key: e.key,
38
+ defaults: Object.freeze({
39
+ page: l,
40
+ pageSize: f,
41
+ sort: o,
42
+ direction: c,
43
+ search: i.search ?? "",
44
+ view: n,
45
+ filters: Object.freeze(a)
46
+ }),
47
+ contract: Object.freeze(r),
48
+ migrate: e.migrate
49
+ });
50
+ }
51
+ export {
52
+ w as D,
53
+ u as d
54
+ };
@@ -1,50 +1,50 @@
1
- import { _ as He, c as et, f as tt } from "../FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js";
2
- import { E as $o, u as _o, a as Co } from "../FormErrors.vue_vue_type_script_setup_true_lang-D7edzNTL.js";
3
- import { f as Te } from "../useCommand-CfG727e8.js";
4
- import { _ as Fo, a as Bo, u as Lo } from "../useCommand-CfG727e8.js";
1
+ import { _ as He, c as et, f as tt } from "../FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
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";
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";
8
- import { _ as jo } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
9
- import { u as Oo } from "../useResourceForm-CJfl8rj_.js";
10
- import { _ as Z } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
11
- import { u as Je, _ as ge, f as de, b as ce, a as Ze, e as De, g as it, j as ut, k as dt } from "../options-e_CAfvDQ.js";
12
- import { d as No, i as Go, m as Ko } from "../options-e_CAfvDQ.js";
8
+ import { _ as jo } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-ChIsmnts.js";
9
+ import { u as Oo } from "../useResourceForm-DYuYT_on.js";
10
+ import { _ as Z } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
11
+ import { u as Je, _ as ge, f as de, b as ce, a as Ze, e as De, g as it, j as ut, k as dt } from "../options-QuOkMKVZ.js";
12
+ import { d as No, i as Go, m as Ko } from "../options-QuOkMKVZ.js";
13
13
  import { useI18n as oe } from "vue-i18n";
14
14
  import { b as ct } from "../controlSurface-t7OEFESJ.js";
15
- import { a as ft } from "../TextField.vue_vue_type_script_setup_true_lang-CX3LdZLK.js";
16
- import { _ as Ao } from "../TextField.vue_vue_type_script_setup_true_lang-CX3LdZLK.js";
17
- import { u as mt, l as vt } from "../suggestions-cPjs5gQz.js";
18
- import { r as Uo } from "../suggestions-cPjs5gQz.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-C7k7Dyl-.js";
20
- import { u as $t, a as _t, s as Ct } from "../DateField.vue_vue_type_script_setup_true_lang-BxUuUypB.js";
21
- import { _ as Wo } from "../DateField.vue_vue_type_script_setup_true_lang-BxUuUypB.js";
15
+ import { a as ft } from "../TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
16
+ import { _ as Ao } from "../TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
17
+ import { u as mt, l as vt } from "../suggestions-niXd1oOl.js";
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";
22
22
  import { _ as Xe } from "../DateButton.vue_vue_type_script_setup_true_lang-CovKG5lN.js";
23
23
  import { u as St } from "../format-D8X4zsx6.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-CbflIrq6.js";
27
- import { _ as Zo } from "../TimeField.vue_vue_type_script_setup_true_lang-CbflIrq6.js";
28
- import { _ as be } from "../Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
29
- import { _ as Bt } from "../FormGroup.vue_vue_type_script_setup_true_lang-CNb2CK01.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-CNb2CK01.js";
31
- import { _ as nn } from "../FormView.vue_vue_type_script_setup_true_lang-nyz8EkzM.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";
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-C8um4ARi.js";
35
- import { _ as Vt } from "../Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
36
- import { b as qt, a as Ge } from "../SelectField.vue_vue_type_script_setup_true_lang-CBZhGNpm.js";
37
- import { _ as rn, u as un } from "../SelectField.vue_vue_type_script_setup_true_lang-CBZhGNpm.js";
38
- import { _ as cn, b as fn, a as mn, u as vn } from "../useGroupSheet-BVcNDWbP.js";
39
- import { _ as Ke } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-CY5EZiyK.js";
40
- import { _ as bn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-B_hBL5f4.js";
41
- import { _ as gn } from "../SwitchField.vue_vue_type_script_setup_true_lang-DXZK89A3.js";
42
- import { _ as kn } from "../TextareaField.vue_vue_type_script_setup_true_lang-BOtn_1GT.js";
43
- import { a as Dt } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js";
44
- import { _ as Rt, a as Mt } from "../SectionList.vue_vue_type_script_setup_true_lang-wyW7n3Uq.js";
34
+ import { _ as zt } from "../NumberField.vue_vue_type_script_setup_true_lang-C3nw944P.js";
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";
39
+ import { _ as Ke } from "../PhotoViewer.vue_vue_type_script_setup_true_lang-Cj0hSMk9.js";
40
+ import { _ as bn } from "../SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js";
41
+ import { _ as gn } from "../SwitchField.vue_vue_type_script_setup_true_lang-BMA2YXTZ.js";
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";
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-D65FF85F.js";
47
+ import { u as wn } from "../useRecordDialog-BLVSz7g3.js";
48
48
  import { matchedRouteKey as Ot, onBeforeRouteLeave as Et } from "vue-router";
49
49
  function Nt(r) {
50
50
  const a = A(null);
@@ -1,5 +1,5 @@
1
1
  import { effectScope as R, watch as g } from "vue";
2
- import { h as b } from "./platform-Dx6STiwY.js";
2
+ import { h as b } from "./platform-Dr4iY3b8.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;