@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
@@ -0,0 +1,405 @@
1
+ import { defineComponent as G, openBlock as a, createElementBlock as p, createVNode as l, unref as e, createElementVNode as n, toDisplayString as o, createCommentVNode as c, computed as h, createBlock as d, withCtx as r, Fragment as U, renderList as F, createTextVNode as S, mergeProps as b } from "vue";
2
+ import { useI18n as ee } from "vue-i18n";
3
+ import { useRoute as te } from "vue-router";
4
+ import { _ as se } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
5
+ import { a as ne } from "./neighbors-BKzihEGQ.js";
6
+ import { _ as m } from "./KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js";
7
+ import { _ as T } from "./Panel.vue_vue_type_script_setup_true_lang-D_Wg42hu.js";
8
+ import { _ as ie } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
9
+ import { a as ae } from "./leaveGuard-Cc8yeLxM.js";
10
+ import { u as le } from "./useResourceForm-DYuYT_on.js";
11
+ import { _ as oe } from "./FormErrors.vue_vue_type_script_setup_true_lang-DJiK8iqo.js";
12
+ import { _ as re } from "./FormGroup.vue_vue_type_script_setup_true_lang-BTADNpwB.js";
13
+ import { _ as ce } from "./FormView.vue_vue_type_script_setup_true_lang-Ncl9DmFB.js";
14
+ import { _ as w } from "./SelectField.vue_vue_type_script_setup_true_lang-iJm8qmjT.js";
15
+ import { _ as P } from "./TextareaField.vue_vue_type_script_setup_true_lang-Dyh4Hhyl.js";
16
+ import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-7IAl4eAE.js";
17
+ import { u as de } from "./useSaveChrome-7huA3FzR.js";
18
+ import { u as ue } from "./useCommand-BIZX1ReM.js";
19
+ import { u as _e } from "./format-D8X4zsx6.js";
20
+ import { t as me } from "./toast-CqSDTWRX.js";
21
+ import { _ as fe } from "./RecordHeader.vue_vue_type_script_setup_true_lang-DPm9q1P_.js";
22
+ import { u as pe } from "./platform-Dr4iY3b8.js";
23
+ import { a as be } from "./routeResource-CcYA75T2.js";
24
+ import { a as ve } from "./ResourcePage.vue_vue_type_script_setup_true_lang-Cm3tx76N.js";
25
+ import { _ as N } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
26
+ import { _ as q } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
27
+ import { u as xe, i as he, a as ye, M as ge, U as ke, m as we, f as $e, g as z, r as Se, S as Te, e as D, c as L, d as Ee, b as Ie } from "./index-Cgu6Ntok.js";
28
+ import { _ as Ne } from "./Avatar.vue_vue_type_script_setup_true_lang-BPj_fkJR.js";
29
+ const De = { class: "flex min-w-0 items-center gap-2" }, Le = { class: "flex min-w-0 flex-col items-start" }, Ce = { class: "max-w-full truncate text-xs font-semibold text-content-strong" }, Ae = {
30
+ key: 0,
31
+ class: "max-w-full truncate text-footnote text-content-muted"
32
+ }, E = /* @__PURE__ */ G({
33
+ __name: "Person",
34
+ props: {
35
+ person: {}
36
+ },
37
+ setup(y) {
38
+ return (t, C) => (a(), p("div", De, [
39
+ l(e(Ne), {
40
+ name: y.person.name,
41
+ size: "xs"
42
+ }, null, 8, ["name"]),
43
+ n("div", Le, [
44
+ n("span", Ce, o(y.person.name), 1),
45
+ y.person.email ? (a(), p("span", Ae, o(y.person.email), 1)) : c("", !0)
46
+ ])
47
+ ]));
48
+ }
49
+ }), Oe = { class: "tabular-nums" }, Re = {
50
+ class: "grid grid-cols-1 gap-6 lg:grid-cols-[1fr_300px]",
51
+ "data-test": "incident"
52
+ }, Ve = { class: "flex min-w-0 flex-col gap-6" }, je = { class: "flex flex-col gap-3 text-sm" }, Be = { class: "whitespace-pre-line text-content" }, Ue = { class: "grid grid-cols-2 gap-x-6 gap-y-3" }, Fe = { class: "font-mono" }, Pe = { class: "font-mono" }, Me = { class: "flex flex-col gap-3" }, qe = { class: "whitespace-pre-line font-mono" }, ze = { class: "mt-1 overflow-x-auto whitespace-pre-wrap rounded-control bg-fill p-3 font-mono text-xs font-normal" }, Ge = { class: "mb-2 flex items-center justify-between gap-3" }, Ye = { class: "text-xs text-content-muted" }, He = { class: "text-sm font-semibold text-content-strong" }, Je = { class: "whitespace-pre-line text-sm text-content" }, Ke = { class: "mt-3 flex flex-col gap-2" }, Qe = { class: "whitespace-pre-line font-normal" }, We = { class: "whitespace-pre-line font-normal" }, Xe = { class: "whitespace-pre-line font-normal" }, Ze = { class: "mb-2 flex items-center justify-between gap-3" }, et = { class: "text-xs text-content-muted" }, tt = { class: "whitespace-pre-line text-sm text-content-strong" }, st = {
53
+ key: 0,
54
+ class: "mt-2 inline-flex"
55
+ }, nt = {
56
+ class: "flex flex-col gap-3 border-t border-border-separator p-4",
57
+ "data-test": "incident-comment"
58
+ }, it = { class: "flex min-w-0 flex-col gap-4" }, at = { class: "flex flex-col gap-3 text-xs" }, lt = { key: 0 }, ot = { class: "mb-1 font-semibold uppercase text-content-muted" }, rt = { key: 1 }, ct = { class: "mb-1 font-semibold uppercase text-content-muted" }, dt = { key: 2 }, ut = { class: "mb-1 font-semibold uppercase text-content-muted" }, _t = ["href"], Pt = /* @__PURE__ */ G({
59
+ __name: "IncidentRecord",
60
+ setup(y) {
61
+ const { t } = ee(), C = te(), { http: Y, access: A } = pe(), $ = _e(), I = xe(), v = be({ param: "incidentID", load: (u, { signal: _ }) => I.show(u, { signal: _ }), identify: (u) => u.incident.id }), H = ne(ye(Y), { current: () => v.id.value, list: he.index, param: "incidentID", backLabel: () => t("core.incidents.title") }), O = Number(C.params.incidentID), J = h(() => A.can(ge)), R = h(() => A.can(ke)), i = h(() => v.data.value?.incident ?? null), V = h(() => v.data.value?.reports ?? []), j = h(() => v.data.value?.comments ?? []), f = le({
62
+ source: v,
63
+ defaults: $e,
64
+ toValues: we,
65
+ save: async (u, _, { idempotencyKey: s }) => ({ ..._, incident: await I.update(O, u, s) })
66
+ });
67
+ async function B() {
68
+ (await f.save({ refresh: () => v.reload() })).status === "saved" && me.success(t("core.actions.saved"));
69
+ }
70
+ de({ form: f, label: () => t("core.incidents.actions.save"), allowed: R, ready: () => !!i.value, save: () => void B() });
71
+ const x = ue({
72
+ defaults: z,
73
+ validator: Se(["body"], t("core.account.validation.required")),
74
+ run: (u, { idempotencyKey: _ }) => I.comment(O, u, _),
75
+ done: async () => {
76
+ x.form.hydrate(z()), await v.reload();
77
+ }
78
+ });
79
+ ae(() => x.form.values.body.trim() !== "");
80
+ const g = (u) => h(() => Object.entries(u).map(([_, s]) => ({ value: _, label: t(s) }))), K = g(L), Q = g(D), W = g({ reporter_and_staff: "core.incidents.visibilities.reporter_and_staff", staff_only: "core.incidents.visibilities.staff_only" }), X = g({ public: "core.incidents.comment_visibilities.public", internal: "core.incidents.comment_visibilities.internal" }), Z = g({ none: "core.incidents.ticket_providers.none", github: "core.incidents.ticket_providers.github", jira: "core.incidents.ticket_providers.jira" }), k = (u, _) => t(u[_] ?? _);
81
+ return (u, _) => (a(), d(e(ve), {
82
+ resource: e(v),
83
+ title: i.value?.title ?? e(t)("core.incidents.title"),
84
+ list: e(H).context
85
+ }, {
86
+ header: r(({ record: s }) => [
87
+ l(e(fe), {
88
+ title: s.incident.title,
89
+ subtitle: [s.incident.public_code, k(e(D), s.incident.severity), k(e(L), s.incident.status)].join(" · ")
90
+ }, {
91
+ leading: r(() => [
92
+ l(e(ie), {
93
+ tone: "neutral",
94
+ icon: "alertTriangle",
95
+ size: "lg"
96
+ })
97
+ ]),
98
+ meta: r(() => [
99
+ n("span", Oe, o(s.incident.public_code), 1),
100
+ l(e(N), {
101
+ tone: e(Ee)[s.incident.severity] ?? "neutral"
102
+ }, {
103
+ default: r(() => [
104
+ S(o(k(e(D), s.incident.severity)), 1)
105
+ ]),
106
+ _: 2
107
+ }, 1032, ["tone"]),
108
+ l(e(N), {
109
+ tone: e(Ie)[s.incident.status] ?? "neutral",
110
+ dot: ""
111
+ }, {
112
+ default: r(() => [
113
+ S(o(k(e(L), s.incident.status)), 1)
114
+ ]),
115
+ _: 2
116
+ }, 1032, ["tone"])
117
+ ]),
118
+ _: 2
119
+ }, 1032, ["title", "subtitle"])
120
+ ]),
121
+ default: r(() => [
122
+ n("div", Re, [
123
+ n("div", Ve, [
124
+ i.value ? (a(), d(e(T), {
125
+ key: 0,
126
+ title: e(t)("core.incidents.details.overview")
127
+ }, {
128
+ default: r(() => [
129
+ n("div", je, [
130
+ n("p", Be, o(i.value.description), 1),
131
+ n("dl", Ue, [
132
+ i.value.affected_module ? (a(), d(e(m), {
133
+ key: 0,
134
+ label: e(t)("core.incidents.fields.affected_module"),
135
+ value: i.value.affected_module
136
+ }, null, 8, ["label", "value"])) : c("", !0),
137
+ i.value.affected_route ? (a(), d(e(m), {
138
+ key: 1,
139
+ label: e(t)("core.incidents.fields.affected_route")
140
+ }, {
141
+ default: r(() => [
142
+ n("span", Fe, o(i.value.affected_route), 1)
143
+ ]),
144
+ _: 1
145
+ }, 8, ["label"])) : c("", !0),
146
+ i.value.environment ? (a(), d(e(m), {
147
+ key: 2,
148
+ label: e(t)("core.incidents.fields.environment"),
149
+ value: i.value.environment
150
+ }, null, 8, ["label", "value"])) : c("", !0),
151
+ i.value.error_class ? (a(), d(e(m), {
152
+ key: 3,
153
+ label: e(t)("core.incidents.fields.error_class")
154
+ }, {
155
+ default: r(() => [
156
+ n("span", Pe, o(i.value.error_class), 1)
157
+ ]),
158
+ _: 1
159
+ }, 8, ["label"])) : c("", !0)
160
+ ]),
161
+ n("dl", Me, [
162
+ i.value.error_message_sample ? (a(), d(e(m), {
163
+ key: 0,
164
+ label: e(t)("core.incidents.fields.error_message_sample")
165
+ }, {
166
+ default: r(() => [
167
+ n("span", qe, o(i.value.error_message_sample), 1)
168
+ ]),
169
+ _: 1
170
+ }, 8, ["label"])) : c("", !0),
171
+ i.value.stacktrace_sample ? (a(), d(e(m), {
172
+ key: 1,
173
+ label: e(t)("core.incidents.fields.stacktrace_sample")
174
+ }, {
175
+ default: r(() => [
176
+ n("pre", ze, o(i.value.stacktrace_sample), 1)
177
+ ]),
178
+ _: 1
179
+ }, 8, ["label"])) : c("", !0)
180
+ ])
181
+ ])
182
+ ]),
183
+ _: 1
184
+ }, 8, ["title"])) : c("", !0),
185
+ l(e(T), {
186
+ title: e(t)("core.incidents.details.user_reports"),
187
+ flush: ""
188
+ }, {
189
+ default: r(() => [
190
+ V.value.length === 0 ? (a(), d(e(q), {
191
+ key: 0,
192
+ title: e(t)("core.incidents.details.no_reports"),
193
+ icon: "fileTextLine"
194
+ }, null, 8, ["title"])) : (a(!0), p(U, { key: 1 }, F(V.value, (s) => (a(), p("div", {
195
+ key: s.id,
196
+ class: "p-4 not-last:border-b not-last:border-border-separator",
197
+ "data-test": "incident-report-item"
198
+ }, [
199
+ n("div", Ge, [
200
+ s.reporter ? (a(), d(E, {
201
+ key: 0,
202
+ person: s.reporter
203
+ }, null, 8, ["person"])) : c("", !0),
204
+ n("span", Ye, o(e($).dateTime(s.created_at)), 1)
205
+ ]),
206
+ n("p", He, o(s.title), 1),
207
+ n("p", Je, o(s.description), 1),
208
+ n("dl", Ke, [
209
+ s.steps_to_reproduce ? (a(), d(e(m), {
210
+ key: 0,
211
+ label: e(t)("core.incidents.fields.steps_to_reproduce")
212
+ }, {
213
+ default: r(() => [
214
+ n("span", Qe, o(s.steps_to_reproduce), 1)
215
+ ]),
216
+ _: 2
217
+ }, 1032, ["label"])) : c("", !0),
218
+ s.expected_result ? (a(), d(e(m), {
219
+ key: 1,
220
+ label: e(t)("core.incidents.fields.expected_result")
221
+ }, {
222
+ default: r(() => [
223
+ n("span", We, o(s.expected_result), 1)
224
+ ]),
225
+ _: 2
226
+ }, 1032, ["label"])) : c("", !0),
227
+ s.actual_result ? (a(), d(e(m), {
228
+ key: 2,
229
+ label: e(t)("core.incidents.fields.actual_result")
230
+ }, {
231
+ default: r(() => [
232
+ n("span", Xe, o(s.actual_result), 1)
233
+ ]),
234
+ _: 2
235
+ }, 1032, ["label"])) : c("", !0)
236
+ ])
237
+ ]))), 128))
238
+ ]),
239
+ _: 1
240
+ }, 8, ["title"]),
241
+ l(e(T), {
242
+ title: e(t)("core.incidents.details.comments"),
243
+ flush: ""
244
+ }, {
245
+ default: r(() => [
246
+ j.value.length === 0 ? (a(), d(e(q), {
247
+ key: 0,
248
+ title: e(t)("core.incidents.details.no_comments"),
249
+ icon: "chat4Fill"
250
+ }, null, 8, ["title"])) : (a(!0), p(U, { key: 1 }, F(j.value, (s) => (a(), p("div", {
251
+ key: s.id,
252
+ class: "p-4 not-last:border-b not-last:border-border-separator",
253
+ "data-test": "incident-comment-item"
254
+ }, [
255
+ n("div", Ze, [
256
+ s.author ? (a(), d(E, {
257
+ key: 0,
258
+ person: s.author
259
+ }, null, 8, ["person"])) : c("", !0),
260
+ n("span", et, o(e($).dateTime(s.created_at)), 1)
261
+ ]),
262
+ n("p", tt, o(s.body), 1),
263
+ s.visibility === "internal" ? (a(), p("span", st, [
264
+ l(e(N), { tone: "neutral" }, {
265
+ default: r(() => [
266
+ S(o(e(t)("core.incidents.comment_visibilities.internal")), 1)
267
+ ]),
268
+ _: 1
269
+ })
270
+ ])) : c("", !0)
271
+ ]))), 128)),
272
+ n("div", nt, [
273
+ l(e(oe), {
274
+ form: e(x).form
275
+ }, null, 8, ["form"]),
276
+ l(e(P), b(e(x).form.bind("body"), {
277
+ label: e(t)("core.incidents.fields.comment_body"),
278
+ rows: 3,
279
+ stacked: ""
280
+ }), null, 16, ["label"]),
281
+ J.value ? (a(), d(e(w), b({ key: 0 }, e(x).form.bind("visibility"), {
282
+ label: e(t)("core.incidents.fields.comment_visibility"),
283
+ options: e(X)
284
+ }), null, 16, ["label", "options"])) : c("", !0),
285
+ l(e(se), {
286
+ prominence: "primary",
287
+ processing: e(x).form.submitting.value,
288
+ onClick: _[0] || (_[0] = (s) => e(x).run())
289
+ }, {
290
+ default: r(() => [
291
+ S(o(e(t)("core.incidents.actions.add_comment")), 1)
292
+ ]),
293
+ _: 1
294
+ }, 8, ["processing"])
295
+ ])
296
+ ]),
297
+ _: 1
298
+ }, 8, ["title"])
299
+ ]),
300
+ n("div", it, [
301
+ i.value ? (a(), d(e(T), {
302
+ key: 0,
303
+ title: e(t)("core.incidents.details.summary")
304
+ }, {
305
+ default: r(() => [
306
+ n("div", at, [
307
+ l(e(m), {
308
+ label: e(t)("core.incidents.fields.source"),
309
+ value: k(e(Te), i.value.source)
310
+ }, null, 8, ["label", "value"]),
311
+ l(e(m), {
312
+ label: e(t)("core.incidents.fields.first_seen_at"),
313
+ value: e($).dateTime(i.value.first_seen_at)
314
+ }, null, 8, ["label", "value"]),
315
+ l(e(m), {
316
+ label: e(t)("core.incidents.fields.last_seen_at"),
317
+ value: e($).dateTime(i.value.last_seen_at)
318
+ }, null, 8, ["label", "value"]),
319
+ l(e(m), {
320
+ label: e(t)("core.incidents.fields.occurrence_count"),
321
+ value: i.value.occurrence_count
322
+ }, null, 8, ["label", "value"]),
323
+ i.value.reporter ? (a(), p("div", lt, [
324
+ n("h6", ot, o(e(t)("core.incidents.fields.reporter")), 1),
325
+ l(E, {
326
+ person: i.value.reporter
327
+ }, null, 8, ["person"])
328
+ ])) : c("", !0),
329
+ i.value.assignee ? (a(), p("div", rt, [
330
+ n("h6", ct, o(e(t)("core.incidents.fields.assignee")), 1),
331
+ l(E, {
332
+ person: i.value.assignee
333
+ }, null, 8, ["person"])
334
+ ])) : c("", !0),
335
+ i.value.external_ticket_url ? (a(), p("div", dt, [
336
+ n("h6", ut, o(e(t)("core.incidents.fields.external_ticket")), 1),
337
+ n("a", {
338
+ href: i.value.external_ticket_url,
339
+ target: "_blank",
340
+ rel: "noopener",
341
+ class: "text-content-link hover:underline"
342
+ }, o(i.value.external_ticket_id || i.value.external_ticket_url), 9, _t)
343
+ ])) : c("", !0)
344
+ ])
345
+ ]),
346
+ _: 1
347
+ }, 8, ["title"])) : c("", !0),
348
+ R.value ? (a(), d(e(ce), {
349
+ key: 1,
350
+ form: e(f),
351
+ onSubmit: B
352
+ }, {
353
+ default: r(() => [
354
+ l(e(re), {
355
+ header: e(t)("core.incidents.details.management"),
356
+ "label-width": "7rem",
357
+ "data-test": "incident-management"
358
+ }, {
359
+ default: r(() => [
360
+ l(e(w), b(e(f).bind("status"), {
361
+ label: e(t)("core.incidents.fields.status"),
362
+ options: e(K)
363
+ }), null, 16, ["label", "options"]),
364
+ l(e(w), b(e(f).bind("severity"), {
365
+ label: e(t)("core.incidents.fields.severity"),
366
+ options: e(Q)
367
+ }), null, 16, ["label", "options"]),
368
+ l(e(w), b(e(f).bind("visibility"), {
369
+ label: e(t)("core.incidents.fields.visibility"),
370
+ options: e(W)
371
+ }), null, 16, ["label", "options"]),
372
+ l(e(P), b(e(f).bind("resolution_summary"), {
373
+ label: e(t)("core.incidents.fields.resolution_summary"),
374
+ rows: 3,
375
+ "max-length": 2e3,
376
+ stacked: ""
377
+ }), null, 16, ["label"]),
378
+ l(e(w), b(e(f).bind("external_ticket_provider"), {
379
+ label: e(t)("core.incidents.fields.external_ticket_provider"),
380
+ options: e(Z)
381
+ }), null, 16, ["label", "options"]),
382
+ l(e(M), b(e(f).bind("external_ticket_id"), {
383
+ label: e(t)("core.incidents.fields.external_ticket_id"),
384
+ "max-length": 100
385
+ }), null, 16, ["label"]),
386
+ l(e(M), b(e(f).bind("external_ticket_url"), {
387
+ label: e(t)("core.incidents.fields.external_ticket_url"),
388
+ "max-length": 500
389
+ }), null, 16, ["label"])
390
+ ]),
391
+ _: 1
392
+ }, 8, ["header"])
393
+ ]),
394
+ _: 1
395
+ }, 8, ["form"])) : c("", !0)
396
+ ])
397
+ ])
398
+ ]),
399
+ _: 1
400
+ }, 8, ["resource", "title", "list"]));
401
+ }
402
+ });
403
+ export {
404
+ Pt as default
405
+ };
@@ -0,0 +1,140 @@
1
+ import { defineComponent as $, useTemplateRef as D, computed as d, openBlock as n, createBlock as m, unref as e, withCtx as i, createVNode as c, createElementBlock as p, toDisplayString as a, createElementVNode as F, createTextVNode as f, createCommentVNode as O } from "vue";
2
+ import { useI18n as q } from "vue-i18n";
3
+ import { useRouter as U } from "vue-router";
4
+ import { u as z, _ as P } from "./CollectionPage.vue_vue_type_script_setup_true_lang--onFdKOB.js";
5
+ import { a as y } from "./rowLayout-XlTcD4de.js";
6
+ import { u as Y } from "./datePresets-DB13HHHd.js";
7
+ import { _ as j } from "./Timestamp.vue_vue_type_script_setup_true_lang-u53rHMFG.js";
8
+ import { _ as g } from "./IconTile.vue_vue_type_script_setup_true_lang-BmxCuUZ9.js";
9
+ import { u as K } from "./format-D8X4zsx6.js";
10
+ import { u as G } from "./platform-Dr4iY3b8.js";
11
+ import { _ as k } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
12
+ import { i as v, a as H, C as J, _ as M, S as T, b as Q, c as S, d as W, e as E } from "./index-Cgu6Ntok.js";
13
+ const X = {
14
+ key: 1,
15
+ class: "flex min-w-0 items-center gap-3"
16
+ }, Z = {
17
+ key: 0,
18
+ class: "shrink-0 tabular-nums"
19
+ }, ee = { class: "text-xs" }, te = {
20
+ key: 0,
21
+ class: "tabular-nums"
22
+ }, be = /* @__PURE__ */ $({
23
+ __name: "IncidentsList",
24
+ setup(se) {
25
+ const { t: s } = q(), w = U(), { http: C, access: N } = G(), R = K(), b = D("report"), I = d(() => [
26
+ { key: "title", label: s("core.incidents.table_columns.title"), sort: "title", mobile: "primary" },
27
+ { key: "severity", label: s("core.incidents.table_columns.severity"), width: 110, align: "center", mobile: "meta" },
28
+ { key: "status", label: s("core.incidents.table_columns.status"), width: 130, align: "center", mobile: "accessory" },
29
+ { key: "source", label: s("core.incidents.table_columns.source"), width: 130, align: "center", mobile: "hidden" },
30
+ { key: "report_count", label: s("core.incidents.table_columns.report_count"), width: 90, align: "center", mobile: "hidden" },
31
+ { key: "occurrence_count", label: s("core.incidents.table_columns.occurrence_count"), width: 90, align: "center", mobile: "hidden" },
32
+ { key: "last_seen_at", label: s("core.incidents.table_columns.last_seen_at"), sort: "last_seen_at", width: 150, align: "center", mobile: "meta" }
33
+ ]), u = (l, h, t, o) => ({
34
+ key: l,
35
+ icon: h,
36
+ label: t,
37
+ type: "select",
38
+ options: Object.entries(o).map(([r, V]) => ({ label: s(V), value: r }))
39
+ }), L = Y("created_at"), x = d(() => [
40
+ L.value,
41
+ u("status", "checkCircle", s("core.incidents.table_filters.status"), S),
42
+ u("severity", "alertTriangle", s("core.incidents.table_filters.severity"), E),
43
+ u("source", "gitRepositoryCommitsFill", s("core.incidents.table_filters.source"), T)
44
+ ]), _ = z(H(C), {
45
+ columns: I,
46
+ filters: x,
47
+ state: { kind: "url", key: "query" },
48
+ recordRoute: (l) => v.details({ incidentID: l.id })
49
+ }), A = d(() => N.can(J) ? [{
50
+ id: "create",
51
+ label: s("core.incidents.actions.report"),
52
+ icon: "alertTriangle",
53
+ placement: "primary",
54
+ compact: "icon",
55
+ keyboardShortcut: { key: "N", ctrlKey: !0 },
56
+ onClick: () => void b.value?.show()
57
+ }] : []), B = (l) => void w.push(v.details({ incidentID: l.id }));
58
+ return (l, h) => (n(), m(e(P), {
59
+ collection: e(_),
60
+ title: e(s)("core.incidents.title"),
61
+ description: e(s)("core.incidents.description"),
62
+ icon: "alertTriangle",
63
+ actions: A.value,
64
+ "row-height": 61
65
+ }, {
66
+ leading: i(() => [
67
+ c(e(g), {
68
+ tone: "brand",
69
+ weight: "soft",
70
+ size: "sm",
71
+ icon: "alertTriangle"
72
+ })
73
+ ]),
74
+ "cell-title": i(({ item: t, compact: o, to: r }) => [
75
+ o ? (n(), m(e(y), {
76
+ key: 0,
77
+ title: t.title,
78
+ to: r,
79
+ highlight: e(_).query.value.search
80
+ }, null, 8, ["title", "to", "highlight"])) : (n(), p("div", X, [
81
+ c(e(g), {
82
+ tone: "brand",
83
+ weight: "soft",
84
+ size: "sm",
85
+ icon: "alertTriangle"
86
+ }),
87
+ c(e(y), {
88
+ title: t.title,
89
+ subtitle: t.public_code,
90
+ to: r,
91
+ highlight: e(_).query.value.search,
92
+ "subtitle-selectable": ""
93
+ }, null, 8, ["title", "subtitle", "to", "highlight"])
94
+ ]))
95
+ ]),
96
+ "cell-severity": i(({ item: t, compact: o }) => [
97
+ o ? (n(), p("span", Z, a(t.public_code), 1)) : O("", !0),
98
+ c(e(k), {
99
+ tone: e(W)[t.severity] ?? "neutral"
100
+ }, {
101
+ default: i(() => [
102
+ f(a(e(s)(e(E)[t.severity] ?? t.severity)), 1)
103
+ ]),
104
+ _: 2
105
+ }, 1032, ["tone"])
106
+ ]),
107
+ "cell-status": i(({ item: t }) => [
108
+ c(e(k), {
109
+ tone: e(Q)[t.status] ?? "neutral",
110
+ dot: ""
111
+ }, {
112
+ default: i(() => [
113
+ f(a(e(s)(e(S)[t.status] ?? t.status)), 1)
114
+ ]),
115
+ _: 2
116
+ }, 1032, ["tone"])
117
+ ]),
118
+ "cell-source": i(({ item: t }) => [
119
+ F("span", ee, a(e(s)(e(T)[t.source] ?? t.source)), 1)
120
+ ]),
121
+ "cell-last_seen_at": i(({ item: t, compact: o }) => [
122
+ o ? (n(), p("span", te, a(e(R).date(t.last_seen_at)), 1)) : (n(), m(e(j), {
123
+ key: 1,
124
+ value: t.last_seen_at
125
+ }, null, 8, ["value"]))
126
+ ]),
127
+ default: i(() => [
128
+ c(M, {
129
+ ref_key: "report",
130
+ ref: b,
131
+ onCreated: B
132
+ }, null, 512)
133
+ ]),
134
+ _: 1
135
+ }, 8, ["collection", "title", "description", "actions"]));
136
+ }
137
+ });
138
+ export {
139
+ be as default
140
+ };
@@ -0,0 +1,35 @@
1
+ import { defineComponent as p, useSlots as f, computed as v, openBlock as a, createElementBlock as l, createElementVNode as t, createTextVNode as r, toDisplayString as o, renderSlot as d, normalizeClass as _, Fragment as x, unref as y } from "vue";
2
+ import { useI18n as b } from "vue-i18n";
3
+ const g = { class: "min-w-0" }, k = { class: "flex items-center gap-1 text-xs text-content-muted" }, w = { class: "sr-only" }, E = /* @__PURE__ */ p({
4
+ __name: "KeyValue",
5
+ props: {
6
+ label: {},
7
+ value: { default: void 0 },
8
+ wrap: { type: Boolean, default: !0 }
9
+ },
10
+ setup(u) {
11
+ const e = u, { t: c } = b(), i = f(), m = v(() => !i.default && (e.value === null || e.value === void 0 || e.value === ""));
12
+ return (s, n) => (a(), l("div", g, [
13
+ t("dt", k, [
14
+ r(o(e.label) + " ", 1),
15
+ d(s.$slots, "label")
16
+ ]),
17
+ t("dd", {
18
+ class: _(["mt-0.5 text-sm font-medium text-content-strong", e.wrap ? "break-words" : "truncate"])
19
+ }, [
20
+ m.value ? (a(), l(x, { key: 0 }, [
21
+ n[0] || (n[0] = t("span", {
22
+ "aria-hidden": "true",
23
+ class: "font-normal text-content-disabled"
24
+ }, "—", -1)),
25
+ t("span", w, o(y(c)("core.state.no_value")), 1)
26
+ ], 64)) : d(s.$slots, "default", {}, () => [
27
+ r(o(e.value), 1)
28
+ ], void 0, 1)
29
+ ], 2)
30
+ ]));
31
+ }
32
+ });
33
+ export {
34
+ E as _
35
+ };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as i, onBeforeUnmount as f, useTemplateRef as l, watch as m, openBlock as u, createBlock as p } from "vue";
2
- import { _ as d } from "./DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js";
2
+ import { _ as d } from "./DiscardChangesModal.vue_vue_type_script_setup_true_lang-DcihJfpk.js";
3
3
  import { u as v } from "./leaveGuard-Cc8yeLxM.js";
4
4
  const $ = /* @__PURE__ */ i({
5
5
  __name: "LeaveGuardRoot",
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as G, useId as Y, ref as v, computed as y, watch as k, nextTick as h, onUnmounted as j, openBlock as o, createElementBlock as r, Fragment as x, renderSlot as J, createCommentVNode as u, createBlock as d, Teleport as Q, createVNode as W, Transition as X, withCtx as Z, mergeProps as ee, unref as p, renderList as te, normalizeClass as ne, createElementVNode as oe, toDisplayString as R } from "vue";
2
- import { _ } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
2
+ import { _ } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
3
3
  import { _ as ae } from "./ToneDot.vue_vue_type_script_setup_true_lang-99rNn-L5.js";
4
4
  import { u as ie } from "./anchored-DpuUwf-9.js";
5
5
  import { I as re } from "./dialogStack-DZZg55w0.js";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as n, openBlock as s, createElementBlock as r, mergeProps as i, createVNode as l, unref as a } from "vue";
2
- import { _ as c } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
2
+ import { _ as c } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
3
3
  const u = ["aria-label", "data-pressed"], b = /* @__PURE__ */ n({
4
4
  __name: "MenuButton",
5
5
  props: {
@@ -1,7 +1,7 @@
1
1
  import { toValue as oe, watch as ee, onUnmounted as le, computed as i, ref as j, defineComponent as ne, useSlots as q, useId as ie, inject as re, openBlock as t, createBlock as _, Teleport as de, createElementBlock as a, unref as s, createVNode as k, Transition as T, withCtx as z, normalizeStyle as V, createCommentVNode as o, normalizeClass as y, createElementVNode as n, mergeProps as G, toDisplayString as m, renderSlot as f, createTextVNode as ce } from "vue";
2
2
  import { useI18n as ue } from "vue-i18n";
3
- import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
4
- import { _ as Q } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
+ import { _ as J } from "./Button.vue_vue_type_script_setup_true_lang-DQq_0P0p.js";
4
+ import { _ as Q } from "./Icon.vue_vue_type_script_lang-BhhsFYwp.js";
5
5
  import { u as pe } from "./mediaQuery-CygcXmFW.js";
6
6
  import { u as me } from "./useDialog-CXR3hN0G.js";
7
7
  import { u as fe } from "./useSheetDrag-OsD6Eb6I.js";
@@ -1,11 +1,11 @@
1
1
  import { defineComponent as _, computed as d, openBlock as y, createBlock as w, unref as e, withCtx as i, createVNode as l } from "vue";
2
2
  import { useI18n as v } from "vue-i18n";
3
3
  import { useRoute as k, useRouter as R } from "vue-router";
4
- import { a as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-GUTIXuNd.js";
5
- import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-B0NfvG3B.js";
4
+ import { a as $ } from "./AdaptivePageShell.vue_vue_type_script_setup_true_lang-9Lt1XggN.js";
5
+ import { _ as b } from "./AsyncSection.vue_vue_type_script_setup_true_lang-GxAsImnO.js";
6
6
  import { u as g } from "./useLoad-W4tfxmm5.js";
7
- import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-ClmawvYm.js";
8
- import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-Bs9bo0Zb.js";
7
+ import { u as x } from "./PersonAccess.vue_vue_type_script_setup_true_lang-07pq4SrY.js";
8
+ import { _ as P } from "./RoleEditor.vue_vue_type_script_setup_true_lang-DuQR8hFf.js";
9
9
  import { accessPages as u } from "./access/index.js";
10
10
  const j = /* @__PURE__ */ _({
11
11
  __name: "NewRolePage",
@@ -1,7 +1,7 @@
1
1
  import { createWebHistory as c } from "vue-router";
2
2
  import { defineComponent as s, openBlock as i, createBlock as a, unref as o } from "vue";
3
3
  import { useI18n as p } from "vue-i18n";
4
- import { _ as u } from "./EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js";
4
+ import { _ as u } from "./EmptyState.vue_vue_type_script_setup_true_lang-DbZiO2RF.js";
5
5
  function _(e = navigator) {
6
6
  return e.standalone === !0;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as H, ref as _, computed as B, useTemplateRef as K, watch as R, openBlock as q, createBlock as J, mergeProps as L, unref as T, createSlots as Q, withCtx as $, createElementVNode as Z, normalizeClass as E, createElementBlock as G, toDisplayString as I, createCommentVNode as P, isRef as W, renderSlot as N, mergeDefaults as U } from "vue";
2
2
  import { b as X } from "./controlSurface-t7OEFESJ.js";
3
3
  import { u as Y } from "./format-D8X4zsx6.js";
4
- import { a as ee, e as te, _ as le, f as ae, b as oe } from "./options-e_CAfvDQ.js";
4
+ import { a as ee, e as te, _ as le, f as ae, b as oe } from "./options-QuOkMKVZ.js";
5
5
  function ne(c) {
6
6
  const r = c.number(1234.5, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: !0 }), u = /^\d(\D)\d/.exec(r)?.[1] ?? "";
7
7
  return { decimal: r.charAt(r.length - 2) || ".", group: u === "." || u === "," ? u : "" };