@wssto2/vue-core 0.5.4 → 0.7.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 (168) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +6 -1
  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-Bv-APkGf.js → ActionRow.vue_vue_type_script_setup_true_lang-Cg1lhpcA.js} +2 -2
  6. package/dist/{Activity-DUjDaPfP.js → Activity-CW2TOQAY.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-B0tZO6BZ.js → Changes-BCaVkeZg.js} +8 -8
  13. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js → CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js} +17 -16
  14. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js → DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js} +1 -1
  15. package/dist/{DateField.vue_vue_type_script_setup_true_lang-CDg31ZU7.js → DateField.vue_vue_type_script_setup_true_lang-DmYp54mq.js} +3 -3
  16. package/dist/{DeadLetters-IgVHao84.js → DeadLetters-DUM_bsL-.js} +8 -7
  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-CSgT4ITL.js → FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js} +2 -2
  21. package/dist/{FormView.vue_vue_type_script_setup_true_lang-D31Hk3pJ.js → FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js} +2 -2
  22. package/dist/{General-C40HxupS.js → General-Dsh0TJ5w.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-C9zrjNrp.js +405 -0
  27. package/dist/IncidentsList-ClQOjd5c.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-Bhy8KJO1.js → NewRolePage-Bw2_jXcQ.js} +9 -8
  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-BdS7BxuS.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-07pq4SrY.js +600 -0
  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-Bf7dFzGd.js → ProfilePage-CJIztbx3.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-C6oloGIh.js → RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js} +35 -34
  44. package/dist/{RolePage-BjbvciTg.js → RolePage-Yv6m6u7o.js} +43 -41
  45. package/dist/{RolesPage-DzVOgF4z.js → RolesPage-TibtzxzQ.js} +34 -32
  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-DXe_iOS8.js → SegmentedField.vue_vue_type_script_setup_true_lang-ChfDFAA2.js} +1 -1
  49. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BN4vzvV9.js → SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js} +7 -7
  50. package/dist/ServiceAccountDialog.vue_vue_type_script_setup_true_lang-D2Xj5mr7.js +126 -0
  51. package/dist/ServiceAccountRecord-Ct3TrSqZ.js +511 -0
  52. package/dist/ServiceAccountsList-CaXEp73j.js +137 -0
  53. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-PuWIK-Wa.js → SessionList.vue_vue_type_script_setup_true_lang-BEKTaL0g.js} +4 -4
  54. package/dist/{Sessions-CRUObe5G.js → Sessions-Bg4Zk9Gf.js} +6 -6
  55. package/dist/{SettingsPage-C0qEC0uI.js → SettingsPage-Brq9U4tJ.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-Uy0Jujzz.js → SignIn-DB5LRNlB.js} +7 -7
  58. package/dist/{SignInPage-CpVZfrLZ.js → SignInPage-Ts-iTaC1.js} +6 -6
  59. package/dist/{SignIns-Cp5Gx2dk.js → SignIns-bCvvmCHF.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-Dj5Aq8QT.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-BwfNNQEz.js → TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js} +3 -3
  64. package/dist/{TextareaField.vue_vue_type_script_setup_true_lang-aT1P8Xqr.js → TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js} +1 -1
  65. package/dist/{TimeField.vue_vue_type_script_setup_true_lang-jPKPE1hc.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-DbSMnTbj.js → UserRecord-DgK9FsvV.js} +30 -30
  68. package/dist/{UsersList-9MicE2pG.js → UsersList-Due2ZkbO.js} +14 -14
  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/api.d.ts +7 -8
  71. package/dist/access/context.d.ts +2 -7
  72. package/dist/access/feature.d.ts +0 -8
  73. package/dist/access/index.js +47 -15
  74. package/dist/app/application.d.ts +2 -0
  75. package/dist/app/index.js +13 -427
  76. package/dist/application-D8Nm17zA.js +420 -0
  77. package/dist/button/index.js +1 -1
  78. package/dist/client/client.d.ts +7 -0
  79. package/dist/client/index.d.ts +1 -1
  80. package/dist/client/index.js +5 -4
  81. package/dist/client-CZgikXPG.js +151 -0
  82. package/dist/collection/index.js +55 -63
  83. package/dist/content/index.js +37 -66
  84. package/dist/{contributions-fx5q5n1u.js → contributions-BQ9dZoRw.js} +1 -1
  85. package/dist/controls/index.js +4 -4
  86. package/dist/datePresets-DB13HHHd.js +17 -0
  87. package/dist/definition-C7QuyV3i.js +54 -0
  88. package/dist/form/index.js +590 -615
  89. package/dist/{guards-D4mXf_2X.js → guards-BFCulig0.js} +1 -1
  90. package/dist/http-nz92KjdS.js +42 -0
  91. package/dist/i18n/index.js +36 -36
  92. package/dist/icon/core.d.ts +3 -0
  93. package/dist/icon/index.js +1 -1
  94. package/dist/identity/index.d.ts +7 -0
  95. package/dist/identity/index.js +19 -15
  96. package/dist/identity/serviceaccounts/ApiKeysPanel.vue.d.ts +17 -0
  97. package/dist/identity/serviceaccounts/CreatedApiKeyDialog.vue.d.ts +53 -0
  98. package/dist/identity/serviceaccounts/NewApiKeyDialog.vue.d.ts +24 -0
  99. package/dist/identity/serviceaccounts/ServiceAccountDialog.vue.d.ts +22 -0
  100. package/dist/identity/serviceaccounts/ServiceAccountRecord.vue.d.ts +2 -0
  101. package/dist/identity/serviceaccounts/ServiceAccountsList.vue.d.ts +2 -0
  102. package/dist/identity/serviceaccounts/access.d.ts +4 -0
  103. package/dist/identity/serviceaccounts/api.d.ts +27 -0
  104. package/dist/identity/serviceaccounts/context.d.ts +14 -0
  105. package/dist/identity/serviceaccounts/feature.d.ts +23 -0
  106. package/dist/identity/serviceaccounts/form.d.ts +4 -0
  107. package/dist/identity/serviceaccounts/messages.d.ts +11 -0
  108. package/dist/identity/serviceaccounts/routes.d.ts +22 -0
  109. package/dist/incidents/IncidentRecord.vue.d.ts +2 -0
  110. package/dist/incidents/IncidentsList.vue.d.ts +2 -0
  111. package/dist/incidents/Person.vue.d.ts +7 -0
  112. package/dist/incidents/ReportDialog.vue.d.ts +21 -0
  113. package/dist/incidents/ReportHost.vue.d.ts +2 -0
  114. package/dist/incidents/ReportMenuItem.vue.d.ts +2 -0
  115. package/dist/incidents/access.d.ts +6 -0
  116. package/dist/incidents/api.d.ts +27 -0
  117. package/dist/incidents/clientErrorReporter.d.ts +38 -0
  118. package/dist/incidents/context.d.ts +7 -0
  119. package/dist/incidents/feature.d.ts +20 -0
  120. package/dist/incidents/form.d.ts +16 -0
  121. package/dist/incidents/index.d.ts +9 -0
  122. package/dist/incidents/index.js +8 -0
  123. package/dist/incidents/look.d.ts +6 -0
  124. package/dist/incidents/routes.d.ts +21 -0
  125. package/dist/{index-Ok29ucE3.js → index-CXTJ_1NV.js} +191 -168
  126. package/dist/index-D5_GAqjA.js +340 -0
  127. package/dist/{index-C-oM_Mnf.js → index-i-cTTVxo.js} +10 -10
  128. package/dist/index.d.ts +1 -1
  129. package/dist/index.js +1 -1
  130. package/dist/internal/copyText.d.ts +5 -0
  131. package/dist/modal/index.js +5 -5
  132. package/dist/modules/incident/entities.d.ts +84 -0
  133. package/dist/modules/incident/routes.d.ts +54 -0
  134. package/dist/modules/incident/schemas.d.ts +48 -0
  135. package/dist/modules/serviceaccount/entities.d.ts +127 -0
  136. package/dist/modules/serviceaccount/routes.d.ts +58 -0
  137. package/dist/modules/serviceaccount/schemas.d.ts +49 -0
  138. package/dist/{navigation-Bc5EQ_Si.js → navigation-BSC9X7FM.js} +1 -1
  139. package/dist/{neighbors-Bv6vnWlW.js → neighbors-BKzihEGQ.js} +1 -1
  140. package/dist/notifications/index.js +1 -1
  141. package/dist/{options-Bu0XbEpN.js → options-QuOkMKVZ.js} +4 -4
  142. package/dist/overlay/index.js +4 -4
  143. package/dist/page/index.js +7 -7
  144. package/dist/phone/index.js +2 -2
  145. package/dist/platform/index.js +3 -3
  146. package/dist/{platform-Dx6STiwY.js → platform-Dr4iY3b8.js} +1 -1
  147. package/dist/refusals-COPr15XZ.js +135 -0
  148. package/dist/resource/index.js +1 -1
  149. package/dist/router/index.js +4 -4
  150. package/dist/routes-CVckt7Pj.js +19 -0
  151. package/dist/{rowLayout-BBFyLbOl.js → rowLayout-Cz-K7jeo.js} +5 -5
  152. package/dist/{sections-B0HxIOC2.js → sections-BXg4_ZhO.js} +1 -1
  153. package/dist/shell/index.js +9 -9
  154. package/dist/state/index.js +4 -4
  155. package/dist/state-ChVIjayU.js +102 -0
  156. package/dist/{status-C78NpXyB.js → status-DZ4eSnAS.js} +9 -8
  157. package/dist/styles.css +1 -1
  158. package/dist/{suggestions-ClyLexMO.js → suggestions-niXd1oOl.js} +1 -1
  159. package/dist/testing/index.js +1 -1
  160. package/dist/{useCommand-DyuPTosF.js → useCommand-BIZX1ReM.js} +4 -4
  161. package/dist/{useGroupSheet-C2NyqWRp.js → useGroupSheet-DxXzdKo3.js} +5 -5
  162. package/dist/useRecordDialog-BLVSz7g3.js +30 -0
  163. package/dist/{useResourceForm-CJfl8rj_.js → useResourceForm-DYuYT_on.js} +1 -1
  164. package/dist/{useTypedEntry-C7k7Dyl-.js → useTypedEntry-CKuGqWT8.js} +2 -2
  165. package/package.json +6 -2
  166. package/dist/client-BHPFfBj3.js +0 -147
  167. package/dist/http-CdQowFlW.js +0 -194
  168. package/dist/index-BdGnA1Jh.js +0 -765
@@ -1,112 +1,104 @@
1
- import { D as O, L as j, a as U, h as G, l as X, r as Z } from "../http-CdQowFlW.js";
2
- import { _ as H, a as J, u as K } from "../CollectionPage.vue_vue_type_script_setup_true_lang-o_Pj-JcD.js";
3
- import { u as W, a as Y } from "../neighbors-Bv6vnWlW.js";
4
- import { a as te, b as se } from "../rowLayout-BBFyLbOl.js";
5
- import { _ as ae } from "../DataTable.vue_vue_type_script_setup_true_lang-BEvz5zqo.js";
6
- 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";
7
- import { _ } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
8
- import { _ as S } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
9
- import { useI18n as T } from "vue-i18n";
10
- function $(r = {}) {
11
- const s = new Map(Object.entries(r).map(([t, e]) => [t, [...e]]));
12
- let a = 1;
13
- const o = (t) => {
1
+ import { D as I, d as N } from "../definition-C7QuyV3i.js";
2
+ import { _ as z, a as M, u as O } from "../CollectionPage.vue_vue_type_script_setup_true_lang-BmXnfM5f.js";
3
+ import { h as j, l as U, r as G } from "../http-nz92KjdS.js";
4
+ import { L as Z } from "../state-ChVIjayU.js";
5
+ import { u as H, a as J } from "../neighbors-BKzihEGQ.js";
6
+ import { a as Q, b as W } from "../rowLayout-Cz-K7jeo.js";
7
+ import { _ as ee } from "../DataTable.vue_vue_type_script_setup_true_lang-DRWrCRLr.js";
8
+ import { defineComponent as v, openBlock as l, createElementBlock as c, Fragment as h, renderList as y, createBlock as C, unref as u, withCtx as k, normalizeClass as m, createVNode as p, createCommentVNode as g } from "vue";
9
+ import { _ as b } from "../Icon.vue_vue_type_script_lang-BhhsFYwp.js";
10
+ import { _ as w } from "../Tooltip.vue_vue_type_script_setup_true_lang-mErNPt8e.js";
11
+ import { D as se, u as oe } from "../datePresets-DB13HHHd.js";
12
+ function L(d = {}) {
13
+ const s = new Map(Object.entries(d).map(([t, e]) => [t, [...e]]));
14
+ let i = 1;
15
+ const a = (t) => {
14
16
  let e = s.get(t);
15
17
  return e || s.set(t, e = []), e;
16
18
  };
17
19
  return {
18
20
  async list(t) {
19
- return [...o(t)];
21
+ return [...a(t)];
20
22
  },
21
- async save(t, e, i) {
22
- const n = o(t), l = n.findIndex((x) => x.name === e), u = { id: l === -1 ? `view-${a++}` : n[l].id, name: e, state: i };
23
- return l === -1 ? n.push(u) : n[l] = u, u;
23
+ async save(t, e, r) {
24
+ const o = a(t), n = o.findIndex((x) => x.name === e), f = { id: n === -1 ? `view-${i++}` : o[n].id, name: e, state: r };
25
+ return n === -1 ? o.push(f) : o[n] = f, f;
24
26
  },
25
27
  async remove(t, e) {
26
- const i = o(t), n = i.findIndex((l) => l.id === e);
27
- n !== -1 && i.splice(n, 1);
28
+ const r = a(t), o = r.findIndex((n) => n.id === e);
29
+ o !== -1 && r.splice(o, 1);
28
30
  }
29
31
  };
30
32
  }
31
- const A = {
33
+ const E = {
32
34
  key: 0,
33
35
  class: "flex items-center justify-center gap-1",
34
36
  "data-test": "row-actions"
35
- }, 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({
37
+ }, S = ["href", "target", "rel", "aria-label", "data-action"], T = ["aria-label", "data-action", "disabled", "onClick"], _ = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus", B = /* @__PURE__ */ v({
36
38
  __name: "RowActions",
37
39
  props: {
38
40
  actions: {},
39
41
  disabled: { type: Boolean, default: !1 }
40
42
  },
41
- setup(r) {
42
- const s = r, a = (o) => o.tone === "critical" ? "text-status-danger-content hover:bg-status-danger-surface" : "text-content-link hover:bg-tint-soft";
43
- return (o, t) => s.actions.length > 0 ? (c(), d("div", A, [
44
- (c(!0), d(h, null, v(s.actions, (e) => (c(), k(f(S), {
43
+ setup(d) {
44
+ const s = d, i = (a) => a.tone === "critical" ? "text-status-danger-content hover:bg-status-danger-surface" : "text-content-link hover:bg-tint-soft";
45
+ return (a, t) => s.actions.length > 0 ? (l(), c("div", E, [
46
+ (l(!0), c(h, null, y(s.actions, (e) => (l(), C(u(w), {
45
47
  key: e.key,
46
48
  text: e.label,
47
49
  side: "left"
48
50
  }, {
49
- default: C(() => [
50
- e.href && !s.disabled ? (c(), d("a", {
51
+ default: k(() => [
52
+ e.href && !s.disabled ? (l(), c("a", {
51
53
  key: 0,
52
54
  href: e.href,
53
55
  target: e.external ? "_blank" : void 0,
54
56
  rel: e.external ? "noopener" : void 0,
55
57
  "aria-label": e.label,
56
58
  "data-action": e.key,
57
- class: m(["inline-flex rounded-md p-1.5 transition-colors", [a(e), b]])
59
+ class: m(["inline-flex rounded-md p-1.5 transition-colors", [i(e), _]])
58
60
  }, [
59
- p(f(_), {
61
+ p(u(b), {
60
62
  name: e.icon,
61
63
  size: 18
62
64
  }, null, 8, ["name"])
63
- ], 10, P)) : (c(), d("button", {
65
+ ], 10, S)) : (l(), c("button", {
64
66
  key: 1,
65
67
  type: "button",
66
68
  "aria-label": e.label,
67
69
  "data-action": e.key,
68
70
  disabled: s.disabled,
69
- class: m(["inline-flex cursor-pointer rounded-md p-1.5 transition-colors disabled:pointer-events-none disabled:opacity-40", [a(e), b]]),
70
- onClick: (i) => e.onSelect?.()
71
+ class: m(["inline-flex cursor-pointer rounded-md p-1.5 transition-colors disabled:pointer-events-none disabled:opacity-40", [i(e), _]]),
72
+ onClick: (r) => e.onSelect?.()
71
73
  }, [
72
- p(f(_), {
74
+ p(u(b), {
73
75
  name: e.icon,
74
76
  size: 18
75
77
  }, null, 8, ["name"])
76
- ], 10, L))
78
+ ], 10, T))
77
79
  ]),
78
80
  _: 2
79
81
  }, 1032, ["text"]))), 128))
80
82
  ])) : g("", !0);
81
83
  }
82
- }), B = ["today", "yesterday", "this_week", "last_week", "this_month", "last_month", "this_year", "last_year"];
83
- function V(r, s) {
84
- const { t: a } = T();
85
- return w(() => ({
86
- key: r,
87
- icon: "calendarEventFill",
88
- label: E(s) ?? a("core.collection.date_presets.label"),
89
- type: "select",
90
- options: B.map((o) => ({ value: o, label: a(`core.collection.date_presets.options.${o}`) }))
91
- }));
92
- }
84
+ });
93
85
  export {
94
- te as CollectionCell,
95
- H as CollectionPage,
96
- J as CollectionTable,
97
- B as DATE_PRESETS,
98
- O as DEFAULT_PAGE_SIZES,
99
- ae as DataTable,
100
- j as LIST_CONTEXT_PARAM,
101
- se as RecordIdentity,
102
- N as RowActions,
103
- $ as createMemorySavedViews,
104
- U as defineCollection,
105
- G as httpList,
106
- X as listParams,
107
- Z as readListPage,
108
- K as useCollection,
109
- W as useCollectionBack,
110
- Y as useCollectionNeighbors,
111
- V as useDatePresetFilter
86
+ Q as CollectionCell,
87
+ z as CollectionPage,
88
+ M as CollectionTable,
89
+ se as DATE_PRESETS,
90
+ I as DEFAULT_PAGE_SIZES,
91
+ ee as DataTable,
92
+ Z as LIST_CONTEXT_PARAM,
93
+ W as RecordIdentity,
94
+ B as RowActions,
95
+ L as createMemorySavedViews,
96
+ N as defineCollection,
97
+ j as httpList,
98
+ U as listParams,
99
+ G as readListPage,
100
+ O as useCollection,
101
+ H as useCollectionBack,
102
+ J as useCollectionNeighbors,
103
+ oe as useDatePresetFilter
112
104
  };
@@ -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
+ };