@wssto2/vue-core 0.3.0 → 0.4.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 (145) hide show
  1. package/README.md +3 -0
  2. package/dist/{AccessGate.vue_vue_type_script_setup_true_lang-DKX3PH2n.js → AccessGate.vue_vue_type_script_setup_true_lang-DcbZBINh.js} +1 -1
  3. package/dist/{AccountMenuItem.vue_vue_type_script_setup_true_lang-DIGqTLwd.js → AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js} +1 -1
  4. package/dist/{ActionRow.vue_vue_type_script_setup_true_lang-B7Lpfkf6.js → ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js} +2 -2
  5. package/dist/{Activity-DviO0VQ8.js → Activity-2gGxQn7v.js} +9 -9
  6. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CvAnzdc1.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js} +3 -3
  7. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js → AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js} +1 -1
  8. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js → AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js} +4 -4
  9. package/dist/{Banner.vue_vue_type_script_setup_true_lang-Cib_YYpr.js → Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js} +1 -1
  10. package/dist/{Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js → Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js} +1 -1
  11. package/dist/{Changes-DlT5mN9G.js → Changes-Bm8xvagD.js} +8 -8
  12. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js → CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js} +176 -172
  13. package/dist/{DataTable.vue_vue_type_script_setup_true_lang-DSYgS9lC.js → DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js} +1 -1
  14. package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +255 -0
  15. package/dist/DeadLetters-CMRtXn_N.js +104 -0
  16. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-Cb3xJI1x.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js} +1 -1
  17. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-C2ZYIT9F.js → EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js} +1 -1
  18. package/dist/{FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js → FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js} +1 -1
  19. package/dist/{FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js → FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js} +10 -10
  20. package/dist/{FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js → FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js} +2 -2
  21. package/dist/{General-BD-Hcz0a.js → General-CTqd0SLK.js} +8 -8
  22. package/dist/HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js +45 -0
  23. package/dist/{Icon.vue_vue_type_script_lang-VvcV2Bzo.js → Icon.vue_vue_type_script_lang-D7oC-d-S.js} +33 -29
  24. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js → IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js} +1 -1
  25. package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js} +1 -1
  26. package/dist/{Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js → Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js} +30 -26
  27. package/dist/{Modal.vue_vue_type_script_setup_true_lang-D7SwVPpL.js → Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js} +2 -2
  28. package/dist/{NewRolePage-Dla4YnMs.js → NewRolePage-DTOWIxxC.js} +4 -4
  29. package/dist/{NoAccess.vue_vue_type_script_setup_true_lang-8m9cNptR.js → NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js} +1 -1
  30. package/dist/{NumberField.vue_vue_type_script_setup_true_lang-CYRg7Kfg.js → NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js} +1 -1
  31. package/dist/{PageBar.vue_vue_type_script_setup_true_lang-Cfr5xsJx.js → PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js} +1 -1
  32. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BCRxRK4D.js → Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js} +1 -1
  33. package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +46 -0
  34. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-B3Q4dhqJ.js → PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js} +1 -1
  35. package/dist/ProfilePage-BlpiWH_W.js +654 -0
  36. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js → RecordHeader.vue_vue_type_script_setup_true_lang-C_ymvhHU.js} +2 -2
  37. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js → ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js} +5 -5
  38. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js → RoleEditor.vue_vue_type_script_setup_true_lang-CmwvSytD.js} +30 -29
  39. package/dist/{RolePage-bZzv_E4l.js → RolePage-DZk7BZOc.js} +13 -13
  40. package/dist/{RolesPage-BniZv0nB.js → RolesPage-DzGGCMnm.js} +9 -9
  41. package/dist/{SectionList.vue_vue_type_script_setup_true_lang-BKP_bge8.js → SectionList.vue_vue_type_script_setup_true_lang-BFYls8fR.js} +3 -3
  42. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js → SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js} +5 -5
  43. package/dist/{SegmentedField.vue_vue_type_script_setup_true_lang-BZ9UdgA1.js → SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js} +1 -1
  44. package/dist/{SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js → SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js} +15 -14
  45. package/dist/{SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js → SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js} +4 -4
  46. package/dist/{Sessions-Co5-xdeb.js → Sessions-CWqjjTr1.js} +6 -6
  47. package/dist/SettingsPage-C4s0IdkW.js +255 -0
  48. package/dist/{Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js → Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js} +48 -45
  49. package/dist/{SignIn-BWwFbxki.js → SignIn-zzKY__df.js} +7 -7
  50. package/dist/{SignInPage-FnLtoi2q.js → SignInPage-Rqnus_s-.js} +6 -6
  51. package/dist/{SignInTable.vue_vue_type_script_setup_true_lang-Dnx3T_42.js → SignInTable.vue_vue_type_script_setup_true_lang-CEbAvZ_C.js} +1 -1
  52. package/dist/{SignIns-3UcI64_h.js → SignIns-Cnf9BVR0.js} +6 -6
  53. package/dist/{SwipeActions.vue_vue_type_script_setup_true_lang-4I8m27ol.js → SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js} +1 -1
  54. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +64 -0
  55. package/dist/{Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js → Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js} +1 -1
  56. package/dist/{TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js → TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js} +3 -3
  57. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +68 -0
  58. package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +164 -0
  59. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-1RJGKxbD.js → Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js} +1 -1
  60. package/dist/{UserRecord-Ci8HfwbX.js → UserRecord-DqigxVxH.js} +12 -12
  61. package/dist/{UsersList-vEJ-cgkT.js → UsersList-DNlZsI9J.js} +8 -8
  62. package/dist/{ViewTabs.vue_vue_type_script_setup_true_lang-ByqTU2JT.js → ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js} +1 -1
  63. package/dist/access/index.js +1 -1
  64. package/dist/app/index.js +9 -9
  65. package/dist/button/index.js +1 -1
  66. package/dist/client/index.js +11 -19
  67. package/dist/{client-Bw0aM5Gu.js → client-k9euDWF4.js} +19 -19
  68. package/dist/collection/definition.d.ts +3 -0
  69. package/dist/collection/index.js +6 -6
  70. package/dist/collection/useCollection.d.ts +2 -0
  71. package/dist/content/index.js +2 -2
  72. package/dist/{contributions-CDDg3fKp.js → contributions-DsfmDoRD.js} +1 -1
  73. package/dist/control-7EP4tjYy.js +313 -0
  74. package/dist/controls/index.js +4 -4
  75. package/dist/form/index.js +987 -1134
  76. package/dist/{guards-Cd1V28oG.js → guards-Dve61KjR.js} +1 -1
  77. package/dist/{http-DGGSKWvU.js → http-CNcDHSOj.js} +9 -8
  78. package/dist/i18n/index.js +20 -20
  79. package/dist/icon/core.d.ts +4 -0
  80. package/dist/icon/index.js +1 -1
  81. package/dist/identity/index.js +1 -1
  82. package/dist/index-BsJ92eub.js +504 -0
  83. package/dist/{index-BAcl44SC.js → index-CGv-u1Ws.js} +19 -19
  84. package/dist/{index-B2dbYZR9.js → index-GcLnFF-z.js} +15 -15
  85. package/dist/index.d.ts +1 -1
  86. package/dist/index.js +1 -1
  87. package/dist/modal/Sheet.vue.d.ts +2 -0
  88. package/dist/modal/index.js +5 -5
  89. package/dist/modules/events/entities.d.ts +16 -0
  90. package/dist/modules/events/routes.d.ts +17 -0
  91. package/dist/modules/events/schemas.d.ts +16 -0
  92. package/dist/modules/notification/entities.d.ts +46 -0
  93. package/dist/modules/notification/routes.d.ts +26 -0
  94. package/dist/modules/notification/schemas.d.ts +25 -0
  95. package/dist/{navigation-BPWa63ge.js → navigation-Cm3iChlR.js} +1 -1
  96. package/dist/{neighbors-D0WRBxXI.js → neighbors-DpaIMQAL.js} +1 -1
  97. package/dist/notifications/InboxPanel.vue.d.ts +16 -0
  98. package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
  99. package/dist/notifications/NotificationBell.vue.d.ts +2 -0
  100. package/dist/notifications/SettingsLink.vue.d.ts +6 -0
  101. package/dist/notifications/context.d.ts +20 -0
  102. package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
  103. package/dist/notifications/deadletters/access.d.ts +3 -0
  104. package/dist/notifications/deadletters/list.d.ts +3 -0
  105. package/dist/notifications/deadletters/routes.d.ts +13 -0
  106. package/dist/notifications/feature.d.ts +31 -0
  107. package/dist/notifications/inbox.d.ts +62 -0
  108. package/dist/notifications/index.d.ts +13 -0
  109. package/dist/notifications/index.js +8 -0
  110. package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
  111. package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
  112. package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
  113. package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
  114. package/dist/notifications/settings/categoryText.d.ts +9 -0
  115. package/dist/notifications/settings/routes.d.ts +13 -0
  116. package/dist/notifications/settings/settings.d.ts +18 -0
  117. package/dist/notifications/settings/state.d.ts +16 -0
  118. package/dist/notifications/state.d.ts +27 -0
  119. package/dist/notifications/stream.d.ts +21 -0
  120. package/dist/options-Ba_0uLWN.js +18 -0
  121. package/dist/overlay/index.js +3 -3
  122. package/dist/page/index.js +7 -7
  123. package/dist/phone/index.js +68 -67
  124. package/dist/platform/index.js +2 -2
  125. package/dist/{platform-hunMqFdB.js → platform-q3cjODLx.js} +1 -1
  126. package/dist/resource/index.js +1 -1
  127. package/dist/route-goWMxDUN.js +13 -0
  128. package/dist/router/index.js +4 -4
  129. package/dist/{rowLayout-BI7a3Kom.js → rowLayout-BqTEhEuy.js} +5 -5
  130. package/dist/{sections-BEqW1dOc.js → sections-CntvUTxn.js} +1 -1
  131. package/dist/shell/index.js +460 -496
  132. package/dist/state/index.js +4 -4
  133. package/dist/{status-C9aXR-Jb.js → status-BuP3ULjH.js} +2 -2
  134. package/dist/styles.css +1 -1
  135. package/dist/{suggestions-BJAqOj4c.js → suggestions-BxMm6MQA.js} +1 -1
  136. package/dist/testing/index.js +1 -1
  137. package/dist/transport-BnP7WC0Y.js +4 -0
  138. package/dist/{useCommand-BgRwnYlV.js → useCommand-BkONMn3X.js} +2 -2
  139. package/dist/{useResourceForm-Bgc9jMcu.js → useResourceForm-D1hIpwW5.js} +1 -1
  140. package/dist/useTypedEntry-aTfPBAhw.js +857 -0
  141. package/package.json +6 -2
  142. package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +0 -1099
  143. package/dist/ProfilePage-OJMQ8cr8.js +0 -691
  144. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +0 -127
  145. package/dist/options-BXkMR63B.js +0 -329
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as d, computed as s, useSlots as u, openBlock as w, createElementBlock as p, createVNode as y, unref as f, createSlots as m, renderList as b, withCtx as h, renderSlot as v, normalizeProps as _, guardReactiveProps as g } from "vue";
2
- import { u as k, _ as R } from "./rowLayout-BI7a3Kom.js";
2
+ import { u as k, _ as R } from "./rowLayout-BqTEhEuy.js";
3
3
  const B = ["aria-busy"], S = /* @__PURE__ */ d({
4
4
  __name: "DataTable",
5
5
  props: {
@@ -0,0 +1,255 @@
1
+ import { computed as f, defineComponent as X, useModel as Z, useTemplateRef as $, openBlock as y, createBlock as A, mergeProps as V, unref as l, withCtx as N, createElementBlock as C, Fragment as I, createVNode as w, createTextVNode as ee, toDisplayString as Q, createCommentVNode as E, createElementVNode as O, normalizeClass as te, mergeModels as re, mergeDefaults as oe, nextTick as Y } from "vue";
2
+ import { useI18n as j } from "vue-i18n";
3
+ import { _ as ae } from "./DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
4
+ import { u as K } from "./format-B8mJm946.js";
5
+ import { _ as ne } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
6
+ import { u as le } from "./mediaQuery-CygcXmFW.js";
7
+ import { _ as se } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
8
+ import { c as ie, _ as de, f as ue, b as ce } from "./control-7EP4tjYy.js";
9
+ import { e as T, f as B, m as G, g as H, h as me, j as fe, u as pe, k as be, _ as ve, l as ye, c as xe } from "./useTypedEntry-aTfPBAhw.js";
10
+ const ke = ["d", "m", "y"];
11
+ function he(o) {
12
+ const r = o("2033-11-22"), e = { y: r.indexOf("2033") >= 0 ? r.indexOf("2033") : r.indexOf("33"), m: r.indexOf("11"), d: r.indexOf("22") };
13
+ return e.y < 0 || e.m < 0 || e.d < 0 ? ke : ["d", "m", "y"].sort((t, a) => e[t] - e[a]);
14
+ }
15
+ const ge = (o) => o.trim().toLowerCase().replace(/\.+$/, "");
16
+ function _e(o, r) {
17
+ if (o.length === 4) return Number(o);
18
+ if (o.length > 2) return null;
19
+ const e = 2e3 + Number(o);
20
+ return e > Number(r.slice(0, 4)) + 30 ? e - 100 : e;
21
+ }
22
+ function x(o, r) {
23
+ const e = o.y === void 0 ? Number(r.slice(0, 4)) : _e(o.y, r), t = o.m === void 0 ? Number(r.slice(5, 7)) : Number(o.m);
24
+ return e === null || o.d === void 0 ? null : G(e, t, Number(o.d));
25
+ }
26
+ function we(o, r) {
27
+ const e = r.today ?? T(), t = ge(o);
28
+ if (t === "") return null;
29
+ const { words: a } = r;
30
+ if (a.today.includes(t)) return e;
31
+ if (a.tomorrow.includes(t)) return B(e, 1);
32
+ if (a.yesterday.includes(t)) return B(e, -1);
33
+ const d = /^([+-])\s*(\d{1,4})$/.exec(t);
34
+ if (d) return B(e, Number(d[2]) * (d[1] === "-" ? -1 : 1));
35
+ const i = /^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(t);
36
+ if (i) return G(Number(i[1]), Number(i[2]), Number(i[3]));
37
+ if (!/^[\d\s./-]+$/.test(t)) return null;
38
+ const n = r.order, p = n.filter((v) => v !== "y");
39
+ if (/^\d+$/.test(t)) {
40
+ if (t.length <= 2) return x({ d: t }, e);
41
+ if (t.length === 4) return x(M(p, [t.slice(0, 2), t.slice(2)]), e);
42
+ if (t.length === 6 || t.length === 8) {
43
+ const v = n.map((u) => u === "y" ? t.length - 4 : 2);
44
+ let k = 0;
45
+ const b = n.map((u, h) => [u, t.slice(k, k += v[h])]);
46
+ return x(Object.fromEntries(b), e);
47
+ }
48
+ return null;
49
+ }
50
+ const m = t.split(/[^\d]+/).filter(Boolean);
51
+ return m.length === 3 ? x(M(n, m), e) : m.length === 2 ? x(M(p, m), e) : m.length === 1 ? x({ d: m[0] }, e) : null;
52
+ }
53
+ function M(o, r) {
54
+ return Object.fromEntries(o.map((e, t) => [e, r[t]]));
55
+ }
56
+ function Ue(o) {
57
+ const r = o.trim().replace(/^(\d{4}-\d{2}-\d{2})T/, "$1 ").split(/\s+/).filter(Boolean), e = r[r.length - 1];
58
+ if (e === void 0) return { date: null, time: null };
59
+ if (!(e.includes(":") || r.length > 1 && /^\d{1,2}\.\d{2}$/.test(e))) return { date: r.join(" "), time: null };
60
+ const a = r.slice(0, -1).join(" ");
61
+ return { date: a === "" ? null : a, time: e };
62
+ }
63
+ function De(o, r, e) {
64
+ const t = o(e), a = /\D+/.exec(t)?.[0].trim() ?? ".", d = /\D+$/.test(t) ? a : "", i = { d: String(Number(e.slice(8))), m: String(Number(e.slice(5, 7))), y: "" };
65
+ return r.filter((n) => n !== "y").map((n) => i[n]).join(a) + d;
66
+ }
67
+ function $e(o) {
68
+ const { t: r } = j(), e = K(), t = (n) => e.date(n), a = f(() => he(t)), d = f(() => ({
69
+ today: [r("core.form.date.words.today").toLowerCase(), "today"],
70
+ tomorrow: [r("core.form.date.words.tomorrow").toLowerCase(), "tomorrow"],
71
+ yesterday: [r("core.form.date.words.yesterday").toLowerCase(), "yesterday"]
72
+ }));
73
+ return {
74
+ placeholder: f(() => r("core.form.date.placeholder", { example: De(t, a.value, T()) })),
75
+ /** The day a text means, or null. */
76
+ parse: (n) => we(n, { order: a.value, words: d.value }),
77
+ available: (n) => !H(n, o()),
78
+ invalidMessage: () => r("core.form.date.invalid", { example: t(T()) }),
79
+ unavailableMessage: () => r("core.form.date.unavailable")
80
+ };
81
+ }
82
+ function Ne(o, r, e) {
83
+ const { t } = j();
84
+ return f(() => {
85
+ const a = T();
86
+ return (o() ?? me(r())).map((d) => {
87
+ const i = fe(d, (n) => t(`core.form.date.${n.replace(/-/g, "_")}`), a);
88
+ return { ...i, disabled: H(i.value, e()) };
89
+ });
90
+ });
91
+ }
92
+ const Ce = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], Oe = ["aria-label", "onClick"], Te = { class: "flex flex-col gap-2.5" }, qe = {
93
+ key: 0,
94
+ class: "border-t border-border-separator pt-2.5"
95
+ }, Pe = { class: "text-footnote text-content-muted" }, Re = /* @__PURE__ */ X({
96
+ __name: "DateField",
97
+ props: /* @__PURE__ */ re(/* @__PURE__ */ oe({
98
+ label: {},
99
+ hint: {},
100
+ error: {},
101
+ required: { type: Boolean },
102
+ editable: { type: Boolean },
103
+ disabled: { type: Boolean },
104
+ lockedReason: {},
105
+ presentation: {},
106
+ name: {},
107
+ min: {},
108
+ max: {},
109
+ disabledDates: { type: [Array, Function] },
110
+ openOn: {},
111
+ quickPicks: {}
112
+ }, { ...ce, min: void 0, max: void 0, disabledDates: void 0, openOn: void 0, quickPicks: void 0 }), {
113
+ modelValue: { default: null },
114
+ modelModifiers: {}
115
+ }),
116
+ emits: ["update:modelValue"],
117
+ setup(o, { expose: r }) {
118
+ const e = o, t = Z(o, "modelValue"), { t: a } = j(), d = K(), i = le(), n = $("input"), p = $("popover"), m = $("calendar"), v = $("sheet"), k = f(() => ({ min: e.min, max: e.max, disabled: e.disabledDates })), b = $e(() => k.value), u = pe({
119
+ model: t,
120
+ display: (c) => d.date(c),
121
+ parse: (c) => {
122
+ const s = b.parse(c);
123
+ return s ? b.available(s) ? { value: s } : { error: b.unavailableMessage() } : { error: b.invalidMessage() };
124
+ }
125
+ }), h = Ne(() => e.quickPicks, () => i.value, () => k.value), L = f(() => e.error || u.message.value), q = f(() => t.value ? d.date(t.value) : null), J = ie("date", () => L.value ? "error" : e.disabled ? "locked" : "rest"), z = f(() => u.typed.value ?? (be(t.value) ? t.value : null));
126
+ async function P(c) {
127
+ e.disabled || (p.value?.present(), c && (await Y(), await Y(), m.value?.focus()));
128
+ }
129
+ function W(c) {
130
+ c.key === "Enter" ? (u.commit(), p.value?.dismiss()) : c.key === "ArrowDown" && (c.preventDefault(), P(!0));
131
+ }
132
+ function F(c, s) {
133
+ u.set(c), s();
134
+ }
135
+ return r({ focus: () => n.value?.focus() }), (c, s) => (y(), A(de, V({ ...l(ue)(e), error: L.value }, {
136
+ value: q.value,
137
+ "value-style": "numeric"
138
+ }), {
139
+ default: N(({ id: S, describedby: U, invalid: R }) => [
140
+ l(i) ? (y(), C(I, { key: 0 }, [
141
+ w(ae, V({ id: S, "aria-describedby": U }, {
142
+ disabled: e.disabled,
143
+ invalid: R,
144
+ placeholder: l(a)("core.form.select.choose"),
145
+ onClick: s[0] || (s[0] = (g) => v.value?.present())
146
+ }), {
147
+ default: N(() => [
148
+ q.value ? (y(), C(I, { key: 0 }, [
149
+ ee(Q(q.value), 1)
150
+ ], 64)) : E("", !0)
151
+ ]),
152
+ _: 1
153
+ }, 16, ["disabled", "invalid", "placeholder"]),
154
+ w(ve, {
155
+ ref_key: "sheet",
156
+ ref: v,
157
+ title: e.label ?? l(a)("core.form.date.calendar"),
158
+ mode: "date",
159
+ "model-value": t.value,
160
+ min: e.min,
161
+ max: e.max,
162
+ "disabled-dates": e.disabledDates,
163
+ "open-on": e.openOn,
164
+ shortcuts: l(h),
165
+ clearable: !e.required,
166
+ "onUpdate:modelValue": l(u).set
167
+ }, null, 8, ["title", "model-value", "min", "max", "disabled-dates", "open-on", "shortcuts", "clearable", "onUpdate:modelValue"])
168
+ ], 64)) : (y(), A(se, {
169
+ key: 1,
170
+ ref_key: "popover",
171
+ ref: p,
172
+ label: e.label ?? l(a)("core.form.date.calendar"),
173
+ width: "lg",
174
+ placement: "bottom-start",
175
+ arrow: !1,
176
+ autofocus: !1
177
+ }, {
178
+ trigger: N(({ attrs: g, presented: _ }) => [
179
+ O("div", {
180
+ class: te(["inline-flex max-w-full items-center gap-2", l(J)])
181
+ }, [
182
+ O("input", V({
183
+ id: S,
184
+ ref_key: "input",
185
+ ref: n
186
+ }, g, {
187
+ type: "text",
188
+ role: "combobox",
189
+ autocomplete: "off",
190
+ size: "16",
191
+ name: e.name,
192
+ value: l(u).text.value,
193
+ placeholder: l(b).placeholder.value,
194
+ disabled: e.disabled,
195
+ required: e.required,
196
+ "aria-required": e.required || void 0,
197
+ "aria-invalid": R || void 0,
198
+ "aria-describedby": U,
199
+ class: "block min-h-7 min-w-0 border-0 bg-transparent py-1 pl-2.5 text-body tabular-nums text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
200
+ onInput: s[1] || (s[1] = (D) => l(u).input(D.target.value)),
201
+ onBlur: s[2] || (s[2] = (D) => l(u).commit()),
202
+ onKeydown: W,
203
+ onClick: s[3] || (s[3] = (D) => P(!1))
204
+ }), null, 16, Ce),
205
+ e.disabled ? E("", !0) : (y(), C("button", {
206
+ key: 0,
207
+ type: "button",
208
+ tabindex: "-1",
209
+ "aria-label": l(a)("core.form.date.open"),
210
+ class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
211
+ onClick: (D) => _ ? p.value?.dismiss() : P(!0)
212
+ }, [
213
+ w(l(ne), {
214
+ name: "calendarLine",
215
+ size: 18
216
+ })
217
+ ], 8, Oe))
218
+ ], 2)
219
+ ]),
220
+ default: N(({ dismiss: g }) => [
221
+ O("div", Te, [
222
+ w(ye, {
223
+ ref_key: "calendar",
224
+ ref: m,
225
+ "model-value": z.value,
226
+ min: e.min,
227
+ max: e.max,
228
+ "disabled-dates": e.disabledDates,
229
+ "open-on": e.openOn,
230
+ "month-picker": "",
231
+ "onUpdate:modelValue": (_) => F(_, g)
232
+ }, null, 8, ["model-value", "min", "max", "disabled-dates", "open-on", "onUpdate:modelValue"]),
233
+ l(h).length > 0 ? (y(), C("div", qe, [
234
+ w(xe, {
235
+ items: l(h),
236
+ selected: z.value,
237
+ onPick: (_) => F(_, g)
238
+ }, null, 8, ["items", "selected", "onPick"])
239
+ ])) : E("", !0),
240
+ O("p", Pe, Q(l(a)("core.form.date.keys")), 1)
241
+ ])
242
+ ]),
243
+ _: 2
244
+ }, 1032, ["label"]))
245
+ ]),
246
+ _: 1
247
+ }, 16, ["value"]));
248
+ }
249
+ });
250
+ export {
251
+ Re as _,
252
+ Ne as a,
253
+ Ue as s,
254
+ $e as u
255
+ };
@@ -0,0 +1,104 @@
1
+ import { defineComponent as B, useTemplateRef as C, computed as y, ref as v, openBlock as D, createBlock as z, unref as r, withCtx as m, createVNode as F, createElementVNode as b, normalizeClass as $, toDisplayString as h } from "vue";
2
+ import { useI18n as q } from "vue-i18n";
3
+ import { a as k } from "./error-CD7x0Jrz.js";
4
+ import { u as V, _ as N } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js";
5
+ import { u as P } from "./describeError-Ctga6GcS.js";
6
+ import { u as I } from "./format-B8mJm946.js";
7
+ import { e as a, R as O } from "./index-BsJ92eub.js";
8
+ import { _ as W } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
9
+ import { t as i } from "./toast-D9Z5To38.js";
10
+ import { u as Y } from "./useLoad-CYRVx6HW.js";
11
+ import { u as j } from "./platform-q3cjODLx.js";
12
+ import { a as G, r as H } from "./http-CNcDHSOj.js";
13
+ function J(u) {
14
+ return G({
15
+ id: "events.deadletters",
16
+ stateVersion: 1,
17
+ load: async (e, { signal: s }) => {
18
+ const l = await u.request(a.deadLettersList, { consumer: e.filters.consumer || void 0, page: e.page, per_page: e.pageSize }, { signal: s });
19
+ return H(l, e);
20
+ },
21
+ key: (e) => `${e.event_id}/${e.consumer}`,
22
+ query: { sorts: [], filters: ["consumer"], views: [], pageSizes: [10, 25, 50, 100], search: !1 },
23
+ defaults: { pageSize: 25 }
24
+ });
25
+ }
26
+ const K = ["title"], M = ["datetime"], le = /* @__PURE__ */ B({
27
+ __name: "DeadLetters",
28
+ setup(u) {
29
+ const { t: e } = q(), { http: s, access: l } = j(), g = I(), w = P(), f = C("confirm"), L = y(() => [
30
+ { key: "event_name", label: e("core.notifications.dead_letters.columns.event"), kind: "identity", title: (t) => t.event_name || e("core.notifications.dead_letters.event_gone"), subtitle: (t) => e("core.notifications.dead_letters.event_id", { id: t.event_id }), mobile: "primary" },
31
+ { key: "consumer", label: e("core.notifications.dead_letters.columns.consumer"), hideBelow: "md", width: 220, mobile: "meta" },
32
+ { key: "attempts", label: e("core.notifications.dead_letters.columns.attempts"), hideBelow: "md", width: 100, align: "center", mobile: "hidden" },
33
+ { key: "last_error", label: e("core.notifications.dead_letters.columns.last_error"), hideBelow: "md", mobile: "hidden" },
34
+ { key: "dead_at", label: e("core.notifications.dead_letters.columns.dead_at"), width: 170, mobile: "accessory" }
35
+ ]), x = Y(async ({ signal: t }) => (await s.request(a.consumers, void 0, { signal: t })).data.consumers), E = y(() => {
36
+ const t = e("core.notifications.dead_letters.columns.consumer"), n = x.data.value;
37
+ return [n ? { key: "consumer", label: t, type: "select", options: n.map((o) => ({ value: o, label: o })), defaultOptionTitle: e("core.notifications.dead_letters.all_consumers") } : { key: "consumer", label: t, type: "text" }];
38
+ }), c = V(J(s), { columns: L, filters: E, state: { kind: "url", key: "query" } }), d = v(!1), _ = v("");
39
+ function p(t) {
40
+ return k(t) && t.kind === "notFound" ? e("core.notifications.dead_letters.errors.not_found") : k(t) && t.kind === "conflict" ? e("core.notifications.dead_letters.errors.event_gone") : w(t);
41
+ }
42
+ async function R(t) {
43
+ if (!d.value) {
44
+ d.value = !0;
45
+ try {
46
+ await s.request(a.deadLettersRetry, { event: t.event_id, consumer: t.consumer }), i.success(e("core.notifications.dead_letters.toasts.retried"));
47
+ } catch (n) {
48
+ i.error(p(n));
49
+ } finally {
50
+ d.value = !1, c.refresh();
51
+ }
52
+ }
53
+ }
54
+ async function S(t) {
55
+ const { data: n } = await s.request(a.deadLettersRetryAll, { consumer: t });
56
+ i.success(e("core.notifications.dead_letters.toasts.retried_all", { count: n.retried })), c.refresh();
57
+ }
58
+ function T(t) {
59
+ return !t.retryable || !l.can(O) ? [] : [
60
+ { key: "retry", label: e("core.notifications.dead_letters.actions.retry"), icon: "refreshLine", tone: "info", onSelect: () => void R(t) },
61
+ { key: "retry-all", label: e("core.notifications.dead_letters.actions.retry_all"), icon: "refreshLine", tone: "info", section: "all", onSelect: () => (_.value = t.consumer, f.value?.present(t.consumer)) }
62
+ ];
63
+ }
64
+ return (t, n) => (D(), z(r(N), {
65
+ collection: r(c),
66
+ title: r(e)("core.notifications.dead_letters.title"),
67
+ description: r(e)("core.notifications.dead_letters.description"),
68
+ icon: "errorWarningLine",
69
+ "row-actions": T,
70
+ "actions-visible": "",
71
+ "row-height": 64,
72
+ "row-label": (o) => o.event_name || r(e)("core.notifications.dead_letters.event_gone")
73
+ }, {
74
+ "cell-last_error": m(({ item: o }) => [
75
+ b("span", {
76
+ class: "line-clamp-2 max-w-md text-footnote break-words whitespace-normal text-content",
77
+ title: o.last_error
78
+ }, h(o.last_error), 9, K)
79
+ ]),
80
+ "cell-dead_at": m(({ item: o, compact: A }) => [
81
+ b("time", {
82
+ datetime: o.dead_at,
83
+ class: $(["text-content", A ? "text-footnote text-content-muted" : "text-body"])
84
+ }, h(r(g).dateTime(o.dead_at)), 11, M)
85
+ ]),
86
+ default: m(() => [
87
+ F(r(W), {
88
+ ref_key: "confirm",
89
+ ref: f,
90
+ tone: "warning",
91
+ title: r(e)("core.notifications.dead_letters.retry_all.title"),
92
+ message: r(e)("core.notifications.dead_letters.retry_all.message", { consumer: _.value }),
93
+ "confirm-label": r(e)("core.notifications.dead_letters.retry_all.confirm"),
94
+ action: S,
95
+ onFailed: n[0] || (n[0] = (o) => r(i).error(p(o)))
96
+ }, null, 8, ["title", "message", "confirm-label"])
97
+ ]),
98
+ _: 1
99
+ }, 8, ["collection", "title", "description", "row-label"]));
100
+ }
101
+ });
102
+ export {
103
+ le as default
104
+ };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as c, useTemplateRef as l, openBlock as m, createBlock as d, unref as s } from "vue";
2
2
  import { useI18n as f } from "vue-i18n";
3
- import { _ as p } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js";
3
+ import { _ as p } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
4
4
  const C = /* @__PURE__ */ c({
5
5
  __name: "DiscardChangesModal",
6
6
  emits: ["confirm", "cancel", "dismissed"],
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as r, openBlock as t, createElementBlock as n, toDisplayString as s, createVNode as a, unref as l, createElementVNode as m, createCommentVNode as c, renderSlot as p } from "vue";
2
- import { _ as d } from "./Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
2
+ import { _ as d } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
3
3
  const _ = {
4
4
  key: 0,
5
5
  class: "text-sm text-content-muted"
@@ -4,7 +4,7 @@ var I = (a, e, s) => Q(a, typeof e != "symbol" ? e + "" : e, s);
4
4
  import { shallowRef as M, computed as x, toRaw as X, reactive as Z, ref as Y, defineComponent as K, watch as ee, nextTick as te, openBlock as b, createBlock as re, withCtx as se, createElementBlock as O, toDisplayString as A, createCommentVNode as E, Fragment as U, createElementVNode as P, normalizeClass as ae, unref as R, renderList as ne, createTextVNode as V } from "vue";
5
5
  import { useI18n as G } from "vue-i18n";
6
6
  import { i as le, a as q } from "./error-CD7x0Jrz.js";
7
- import { _ as ie } from "./Banner.vue_vue_type_script_setup_true_lang-Cib_YYpr.js";
7
+ import { _ as ie } from "./Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js";
8
8
  class ue {
9
9
  constructor() {
10
10
  I(this, "messages", M({}));
@@ -1,8 +1,8 @@
1
- import { defineComponent as B, openBlock as d, createBlock as L, withCtx as N, createTextVNode as g, toDisplayString as m, unref as h, createCommentVNode as i, inject as C, provide as y, ref as R, useSlots as O, computed as n, shallowReactive as E, useTemplateRef as V, useId as A, createElementBlock as p, normalizeStyle as M, normalizeClass as G, createElementVNode as S, renderSlot as f } from "vue";
1
+ import { defineComponent as B, openBlock as d, createBlock as L, withCtx as N, createTextVNode as v, toDisplayString as m, unref as h, createCommentVNode as i, inject as C, provide as y, ref as R, useSlots as O, computed as n, shallowReactive as E, useTemplateRef as V, useId as A, createElementBlock as p, normalizeStyle as M, normalizeClass as G, createElementVNode as S, renderSlot as f } from "vue";
2
2
  import { s as T, u as W } from "./sectionIndex-BS0ic5W7.js";
3
- import { d as $, i as j } from "./options-BXkMR63B.js";
3
+ import { d as $, g as j } from "./control-7EP4tjYy.js";
4
4
  import { useI18n as D } from "vue-i18n";
5
- import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js";
5
+ import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js";
6
6
  const H = /* @__PURE__ */ B({
7
7
  __name: "GroupEditAction",
8
8
  props: {
@@ -21,7 +21,7 @@ const H = /* @__PURE__ */ B({
21
21
  onClick: l[0] || (l[0] = (c) => o("click"))
22
22
  }, {
23
23
  default: N(() => [
24
- g(m(t.label ?? h(a)("core.actions.edit")), 1)
24
+ v(m(t.label ?? h(a)("core.actions.edit")), 1)
25
25
  ]),
26
26
  _: 1
27
27
  })) : i("", !0);
@@ -72,7 +72,7 @@ const Q = ["id"], U = {
72
72
  setup(s) {
73
73
  const e = s, t = O(), o = C($, R(!0));
74
74
  y($, n(() => o.value && e.editable !== !1));
75
- const a = E(/* @__PURE__ */ new Set()), k = n(() => [...a].some((r) => r.value)), l = J(), c = E(/* @__PURE__ */ new Set()), z = n(() => c.size > 0 && [...c].every((r) => r.value)), I = n(() => !l?.only.value || l.only.value === e.group), v = n(() => e.group && l?.edit && !z.value ? l.edit(e.group, e.header ?? "") : null), K = n(() => !!e.group && l?.only.value === e.group);
75
+ const a = E(/* @__PURE__ */ new Set()), k = n(() => [...a].some((r) => r.value)), l = J(), c = E(/* @__PURE__ */ new Set()), z = n(() => c.size > 0 && [...c].every((r) => r.value)), I = n(() => !l?.only.value || l.only.value === e.group), g = n(() => e.group && l?.edit && !z.value ? l.edit(e.group, e.header ?? "") : null), K = n(() => !!e.group && l?.only.value === e.group);
76
76
  y(j, {
77
77
  hideEmpty: n(() => e.hideEmpty),
78
78
  registerLocked(r) {
@@ -96,17 +96,17 @@ const Q = ["id"], U = {
96
96
  class: G(["form-group flex min-w-0 flex-col has-[>.form-group-cell:empty]:hidden", { "scroll-mt-4": e.section }]),
97
97
  style: M({ "--form-label-width": e.labelWidth })
98
98
  }, [
99
- !K.value && (e.header || t.header || t["header-trailing"] || v.value) ? (d(), p("header", U, [
99
+ !K.value && (e.header || t.header || t["header-trailing"] || g.value) ? (d(), p("header", U, [
100
100
  S("h3", X, [
101
101
  f(r.$slots, "header", {}, () => [
102
- g(m(e.header), 1)
102
+ v(m(e.header), 1)
103
103
  ])
104
104
  ]),
105
105
  f(r.$slots, "header-trailing", {}, () => [
106
- v.value ? (d(), L(H, {
106
+ g.value ? (d(), L(H, {
107
107
  key: 0,
108
108
  label: e.group ? h(l)?.editLabel?.(e.group) : void 0,
109
- onClick: u[0] || (u[0] = (x) => v.value())
109
+ onClick: u[0] || (u[0] = (x) => g.value())
110
110
  }, null, 8, ["label"])) : i("", !0)
111
111
  ])
112
112
  ])) : i("", !0),
@@ -115,7 +115,7 @@ const Q = ["id"], U = {
115
115
  ]),
116
116
  e.footer || t.footer ? (d(), p("p", Z, [
117
117
  f(r.$slots, "footer", {}, () => [
118
- g(m(e.footer), 1)
118
+ v(m(e.footer), 1)
119
119
  ])
120
120
  ])) : i("", !0),
121
121
  b.value ? (d(), p("p", {
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as n, provide as f, computed as s, useTemplateRef as u, openBlock as t, createElementBlock as p, withModifiers as c, createBlock as d, createCommentVNode as b, renderSlot as _ } from "vue";
2
- import { d as v } from "./options-BXkMR63B.js";
3
- import { _ as k } from "./FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js";
2
+ import { d as v } from "./control-7EP4tjYy.js";
3
+ import { _ as k } from "./FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js";
4
4
  const x = /* @__PURE__ */ n({
5
5
  __name: "FormView",
6
6
  props: {
@@ -2,18 +2,18 @@ import { defineComponent as R, computed as N, openBlock as i, createElementBlock
2
2
  import { useI18n as V } from "vue-i18n";
3
3
  import { RouterLink as B } from "vue-router";
4
4
  import { u as E } from "./format-B8mJm946.js";
5
- import { u as T } from "./useResourceForm-Bgc9jMcu.js";
6
- import { _ as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js";
7
- import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js";
8
- import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js";
9
- import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js";
5
+ import { u as T } from "./useResourceForm-D1hIpwW5.js";
6
+ import { _ as h } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
7
+ import { _ as F } from "./FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js";
8
+ import { _ as L } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
9
+ import { _ as f } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
10
10
  import { u as A } from "./useSaveChrome-chi6D3HY.js";
11
- import { P as D, b as G, i as I } from "./index-BAcl44SC.js";
11
+ import { P as D, b as G, i as I } from "./index-CGv-u1Ws.js";
12
12
  import { t as M } from "./toast-D9Z5To38.js";
13
- import { u as O } from "./platform-hunMqFdB.js";
13
+ import { u as O } from "./platform-q3cjODLx.js";
14
14
  import { b as U } from "./routeResource-DstM0hvf.js";
15
15
  import { u as j } from "./fieldMessages-C3Rpbktw.js";
16
- import { _ as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-B7Lpfkf6.js";
16
+ import { _ as $ } from "./ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js";
17
17
  import { _ as z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
18
18
  import { u as H } from "./languages-BShG9LpE.js";
19
19
  const J = {
@@ -0,0 +1,45 @@
1
+ import { defineComponent as c, inject as d, computed as u, openBlock as a, createBlock as m, resolveDynamicComponent as f, unref as o, mergeProps as b, withCtx as g, createVNode as h, createElementBlock as n, normalizeClass as v, toDisplayString as x, createCommentVNode as k } from "vue";
2
+ import { RouterLink as p } from "vue-router";
3
+ import { _ as y } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
4
+ import { h as z } from "./AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js";
5
+ const C = {
6
+ key: 1,
7
+ "aria-hidden": "true",
8
+ "data-header-action-badge": "",
9
+ class: "absolute -top-0.5 -right-0.5 min-w-4 rounded-full bg-status-danger-solid px-1 text-center text-3xs leading-4 font-semibold text-white"
10
+ }, S = /* @__PURE__ */ c({
11
+ __name: "HeaderAction",
12
+ props: {
13
+ label: {},
14
+ icon: {},
15
+ to: {},
16
+ badge: {}
17
+ },
18
+ emits: ["click"],
19
+ setup(e, { emit: r }) {
20
+ const l = r, s = d(z, "bar"), t = u(() => s === "rail");
21
+ return (w, i) => (a(), m(f(e.to ? o(p) : "button"), b(e.to ? { to: e.to } : { type: "button" }, {
22
+ "aria-label": e.label,
23
+ "data-header-action": "",
24
+ class: ["hit-target relative flex shrink-0 cursor-pointer items-center justify-center rounded-full transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus", t.value ? "size-9 text-gray-300 hover:bg-white/10 hover:text-white" : "size-8 text-content-link active:bg-tint-soft"],
25
+ onClick: i[0] || (i[0] = (B) => l("click"))
26
+ }), {
27
+ default: g(() => [
28
+ h(o(y), {
29
+ name: e.icon,
30
+ size: t.value ? 20 : 18
31
+ }, null, 8, ["name", "size"]),
32
+ e.badge === "dot" ? (a(), n("span", {
33
+ key: 0,
34
+ "aria-hidden": "true",
35
+ "data-header-action-badge": "",
36
+ class: v(["absolute top-1 right-1 size-2.5 rounded-full bg-status-danger-solid ring-2", t.value ? "ring-anchor-900" : "ring-surface-page"])
37
+ }, null, 2)) : e.badge !== void 0 ? (a(), n("span", C, x(e.badge), 1)) : k("", !0)
38
+ ]),
39
+ _: 1
40
+ }, 16, ["aria-label", "class"]));
41
+ }
42
+ });
43
+ export {
44
+ S as _
45
+ };