@wssto2/vue-core 0.3.0 → 0.4.1

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 (161) 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-ylf1r2lv.js} +9 -9
  6. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CvAnzdc1.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CUtGqVGA.js} +4 -4
  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-B1-2LPkp.js} +8 -8
  12. package/dist/{CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js → CollectionPage.vue_vue_type_script_setup_true_lang-DU_jzTg7.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-CcogaMTK.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-DSrflQib.js} +9 -9
  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-Du9eyEG2.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-BjvWyg_e.js +654 -0
  36. package/dist/{RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js → RecordHeader.vue_vue_type_script_setup_true_lang-Ci4fs5s5.js} +2 -2
  37. package/dist/{ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js → ResourcePage.vue_vue_type_script_setup_true_lang-KPVA-1fI.js} +5 -5
  38. package/dist/{RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js → RoleEditor.vue_vue_type_script_setup_true_lang-Ci1Aqc37.js} +30 -29
  39. package/dist/{RolePage-bZzv_E4l.js → RolePage-BDD6volP.js} +13 -13
  40. package/dist/{RolesPage-BniZv0nB.js → RolesPage-Bzun0trr.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-DBheVDeX.js} +3 -3
  42. package/dist/{SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js → SectionNavigator.vue_vue_type_script_setup_true_lang-L4TXI0wR.js} +6 -6
  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-BOzz38WJ.js} +6 -6
  47. package/dist/SettingsPage-BXlYHt8u.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-CenfvX8C.js} +7 -7
  50. package/dist/{SignInPage-FnLtoi2q.js → SignInPage-23sJGIXh.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-DRaTo-T0.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-BreLQOPG.js} +13 -13
  61. package/dist/{UsersList-vEJ-cgkT.js → UsersList-CKLqiOpt.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/access-DmAceEo5.js +42 -0
  65. package/dist/app/feature.d.ts +2 -0
  66. package/dist/app/index.js +11 -11
  67. package/dist/button/index.js +1 -1
  68. package/dist/{chrome-BS3xJcad.js → chrome-nUcmVu8G.js} +2 -2
  69. package/dist/client/index.js +11 -19
  70. package/dist/{client-Bw0aM5Gu.js → client-k9euDWF4.js} +19 -19
  71. package/dist/collection/definition.d.ts +3 -0
  72. package/dist/collection/index.js +6 -6
  73. package/dist/collection/useCollection.d.ts +2 -0
  74. package/dist/content/index.js +2 -2
  75. package/dist/{contributions-CDDg3fKp.js → contributions-DsfmDoRD.js} +1 -1
  76. package/dist/control-7EP4tjYy.js +313 -0
  77. package/dist/controls/index.js +4 -4
  78. package/dist/form/index.js +987 -1134
  79. package/dist/{guards-Cd1V28oG.js → guards-Dve61KjR.js} +1 -1
  80. package/dist/{http-DGGSKWvU.js → http-CNcDHSOj.js} +9 -8
  81. package/dist/i18n/index.js +20 -20
  82. package/dist/icon/core.d.ts +4 -0
  83. package/dist/icon/index.js +1 -1
  84. package/dist/identity/index.js +1 -1
  85. package/dist/index-0TeI4rVv.js +504 -0
  86. package/dist/{index-B2dbYZR9.js → index-BBdzJnvG.js} +15 -15
  87. package/dist/{index-BAcl44SC.js → index-CnVf6Uk_.js} +19 -19
  88. package/dist/index.d.ts +1 -1
  89. package/dist/index.js +1 -1
  90. package/dist/modal/Sheet.vue.d.ts +2 -0
  91. package/dist/modal/index.js +5 -5
  92. package/dist/modules/events/entities.d.ts +16 -0
  93. package/dist/modules/events/routes.d.ts +17 -0
  94. package/dist/modules/events/schemas.d.ts +16 -0
  95. package/dist/modules/notification/entities.d.ts +46 -0
  96. package/dist/modules/notification/routes.d.ts +26 -0
  97. package/dist/modules/notification/schemas.d.ts +25 -0
  98. package/dist/{navigation-BPWa63ge.js → navigation-Cm3iChlR.js} +1 -1
  99. package/dist/{neighbors-D0WRBxXI.js → neighbors-DpaIMQAL.js} +1 -1
  100. package/dist/notifications/InboxPanel.vue.d.ts +16 -0
  101. package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
  102. package/dist/notifications/NotificationBell.vue.d.ts +2 -0
  103. package/dist/notifications/SettingsLink.vue.d.ts +6 -0
  104. package/dist/notifications/context.d.ts +20 -0
  105. package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
  106. package/dist/notifications/deadletters/access.d.ts +3 -0
  107. package/dist/notifications/deadletters/list.d.ts +3 -0
  108. package/dist/notifications/deadletters/routes.d.ts +13 -0
  109. package/dist/notifications/feature.d.ts +31 -0
  110. package/dist/notifications/inbox.d.ts +62 -0
  111. package/dist/notifications/index.d.ts +13 -0
  112. package/dist/notifications/index.js +8 -0
  113. package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
  114. package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
  115. package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
  116. package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
  117. package/dist/notifications/settings/categoryText.d.ts +9 -0
  118. package/dist/notifications/settings/routes.d.ts +13 -0
  119. package/dist/notifications/settings/settings.d.ts +18 -0
  120. package/dist/notifications/settings/state.d.ts +16 -0
  121. package/dist/notifications/state.d.ts +27 -0
  122. package/dist/notifications/stream.d.ts +21 -0
  123. package/dist/options-Ba_0uLWN.js +18 -0
  124. package/dist/overlay/index.js +3 -3
  125. package/dist/page/chrome.d.ts +4 -1
  126. package/dist/page/index.d.ts +1 -1
  127. package/dist/page/index.js +25 -24
  128. package/dist/phone/index.js +68 -67
  129. package/dist/platform/index.js +2 -2
  130. package/dist/{platform-hunMqFdB.js → platform-q3cjODLx.js} +1 -1
  131. package/dist/resource/index.js +1 -1
  132. package/dist/route-goWMxDUN.js +13 -0
  133. package/dist/router/access.d.ts +1 -1
  134. package/dist/router/index.js +5 -5
  135. package/dist/router/pageRefresh.d.ts +6 -0
  136. package/dist/{rowLayout-BI7a3Kom.js → rowLayout-BqTEhEuy.js} +5 -5
  137. package/dist/{sections-BEqW1dOc.js → sections-D-kD98vu.js} +2 -2
  138. package/dist/shell/BackofficeShell.vue.d.ts +4 -1
  139. package/dist/shell/NavigationDrawer.vue.d.ts +1 -1
  140. package/dist/shell/PullToRefresh.vue.d.ts +2 -0
  141. package/dist/shell/ShellSidebar.vue.d.ts +2 -1
  142. package/dist/shell/backofficeShell.d.ts +3 -1
  143. package/dist/shell/index.js +638 -584
  144. package/dist/shell/pullToRefresh.d.ts +16 -0
  145. package/dist/shell/search.d.ts +3 -0
  146. package/dist/state/index.js +4 -4
  147. package/dist/{status-C9aXR-Jb.js → status-jB5r1cG2.js} +2 -2
  148. package/dist/styles.css +1 -1
  149. package/dist/{suggestions-BJAqOj4c.js → suggestions-BxMm6MQA.js} +1 -1
  150. package/dist/testing/index.js +1 -1
  151. package/dist/transport-BnP7WC0Y.js +4 -0
  152. package/dist/{useCommand-BgRwnYlV.js → useCommand-BkONMn3X.js} +2 -2
  153. package/dist/{useResourceForm-Bgc9jMcu.js → useResourceForm-D1hIpwW5.js} +1 -1
  154. package/dist/{useSaveChrome-chi6D3HY.js → useSaveChrome-DuWm0Czf.js} +1 -1
  155. package/dist/useTypedEntry-aTfPBAhw.js +857 -0
  156. package/package.json +8 -4
  157. package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +0 -1099
  158. package/dist/ProfilePage-OJMQ8cr8.js +0 -691
  159. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +0 -127
  160. package/dist/access-DdRFrVV1.js +0 -40
  161. package/dist/options-BXkMR63B.js +0 -329
@@ -1,215 +1,217 @@
1
- import { defineComponent as I, provide as ae, computed as C, ref as F, useId as se, openBlock as u, createElementBlock as h, normalizeClass as _, unref as n, createVNode as p, createCommentVNode as L, createElementVNode as d, toDisplayString as D, createBlock as O, withDirectives as Ie, Fragment as V, renderList as te, vShow as De, withCtx as T, mergeProps as Y, useTemplateRef as ne, renderSlot as z, createSlots as K, normalizeProps as U, guardReactiveProps as X, watch as q, onScopeDispose as le, inject as be, onBeforeUnmount as Oe, normalizeStyle as ge, nextTick as ye, Teleport as Re, shallowRef as Be, h as Z, resolveDynamicComponent as Ne } from "vue";
2
- import { useI18n as N } from "vue-i18n";
3
- import { _ as xe } from "../Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
4
- import { _ as B, u as Pe, c as je } from "../Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
5
- import { _ as Ve } from "../Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
6
- import { u as Fe, S as H } from "../contributions-CDDg3fKp.js";
7
- import { u as Ke } from "../environment-Dva-SG8D.js";
8
- import { _ as We } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
9
- import { l as me } from "../languageName-CItV_SOv.js";
10
- import { t as we } from "../toast-D9Z5To38.js";
11
- import { u as Q, h as ie } from "../platform-hunMqFdB.js";
12
- import { a as Ue, _ as pe, h as re } from "../AccountMenuItem.vue_vue_type_script_setup_true_lang-DIGqTLwd.js";
13
- import { _ as Xe } from "../Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js";
14
- import { _ as Ye } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js";
15
- import { _ as qe } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
16
- import { _ as Ge } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
17
- import { a as ke } from "../chrome-BS3xJcad.js";
18
- import { A as He } from "../access-DdRFrVV1.js";
19
- import { RouterLink as ce, useRoute as Qe, useRouter as ue } from "vue-router";
20
- import { u as Je } from "../navigation-BPWa63ge.js";
21
- import { a as G } from "../mediaQuery-CygcXmFW.js";
22
- import { u as Ze } from "../useDialog-CXR3hN0G.js";
23
- import { _ as et } from "../Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js";
24
- import { W as tt } from "../useWaitStatus-fsacMl4W.js";
25
- import { d as _e } from "../feature-DdUAfyi4.js";
26
- import { S as nt } from "../dialogStack-DZZg55w0.js";
27
- const at = ["aria-expanded", "aria-controls"], ot = { class: "flex-1 whitespace-nowrap" }, st = { class: "truncate" }, lt = ["id"], $e = /* @__PURE__ */ I({
1
+ import { defineComponent as z, provide as Q, computed as C, ref as N, useId as re, openBlock as d, createElementBlock as b, normalizeClass as $, unref as t, createVNode as h, createCommentVNode as S, createElementVNode as f, toDisplayString as D, createBlock as R, withDirectives as Be, Fragment as F, renderList as ne, vShow as je, withCtx as A, mergeProps as G, useTemplateRef as ae, renderSlot as I, createSlots as K, normalizeProps as W, guardReactiveProps as Y, inject as ge, onMounted as Ve, onBeforeUnmount as ye, normalizeStyle as oe, nextTick as ie, watch as q, onScopeDispose as ce, Teleport as Fe, shallowRef as Ke, h as ee } from "vue";
2
+ import { useI18n as B } from "vue-i18n";
3
+ import { _ as we } from "../Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
4
+ import { _ as P, u as Xe, c as Ue } from "../Icon.vue_vue_type_script_lang-D7oC-d-S.js";
5
+ import { _ as We } from "../Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
6
+ import { u as xe, S as X } from "../contributions-DsfmDoRD.js";
7
+ import { u as Ye } from "../environment-Dva-SG8D.js";
8
+ import { _ as He } from "../CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
9
+ import { l as pe } from "../languageName-CItV_SOv.js";
10
+ import { t as _e } from "../toast-D9Z5To38.js";
11
+ import { u as J, h as ue } from "../platform-q3cjODLx.js";
12
+ import { a as qe, _ as ve, h as ke } from "../AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js";
13
+ import { _ as Ge } from "../Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js";
14
+ import { _ as Qe } from "../LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js";
15
+ import { _ as Je } from "../Toaster.vue_vue_type_script_setup_true_lang-55boRLAj.js";
16
+ import { _ as Ze } from "../BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js";
17
+ import { b as $e } from "../chrome-nUcmVu8G.js";
18
+ import { p as Se, A as et } from "../access-DmAceEo5.js";
19
+ import { RouterLink as Le, useRoute as tt, useRouter as de } from "vue-router";
20
+ import { u as nt } from "../navigation-Cm3iChlR.js";
21
+ import { u as at } from "../leaveGuard-Cc8yeLxM.js";
22
+ import { u as ot, S as st } from "../dialogStack-DZZg55w0.js";
23
+ import { a as H } from "../mediaQuery-CygcXmFW.js";
24
+ import { u as lt } from "../useDialog-CXR3hN0G.js";
25
+ import { _ as rt } from "../Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js";
26
+ import { W as it } from "../useWaitStatus-fsacMl4W.js";
27
+ import { d as Ce } from "../feature-DdUAfyi4.js";
28
+ import { _ as fa } from "../HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js";
29
+ const ct = ["aria-expanded", "aria-controls"], ut = { class: "flex-1 whitespace-nowrap" }, dt = { class: "truncate" }, ft = ["id"], Ee = /* @__PURE__ */ z({
28
30
  __name: "AccountMenuContent",
29
31
  props: {
30
32
  appearance: {}
31
33
  },
32
34
  emits: ["close"],
33
35
  setup(e, { emit: a }) {
34
- const t = e, o = a, { t: s } = N(), { session: c } = Q(), r = Ke(), m = Fe();
35
- ae(Ue, { appearance: t.appearance, close: () => o("close") });
36
- const l = t.appearance === "sheet", v = C(() => m.get("accountMenu").length > 0), g = r.locales.length > 1, x = F(!1), k = se(), $ = C(() => me(r.locale.value)), y = (M) => r.localeFlags[M];
37
- async function A() {
36
+ const n = e, o = a, { t: r } = B(), { session: c } = J(), s = Ye(), i = xe();
37
+ Q(qe, { appearance: n.appearance, close: () => o("close") });
38
+ const l = n.appearance === "sheet", p = C(() => i.get("accountMenu").length > 0), g = s.locales.length > 1, v = N(!1), x = re(), _ = C(() => pe(s.locale.value)), w = (M) => s.localeFlags[M];
39
+ async function E() {
38
40
  try {
39
41
  await c.signOut();
40
42
  } catch {
41
- we.error(s("core.shell.account.sign_out_failed"));
43
+ _e.error(r("core.shell.account.sign_out_failed"));
42
44
  }
43
45
  }
44
- const f = l ? "overflow-hidden rounded-group bg-surface-cell shadow-group" : "";
45
- return (M, i) => (u(), h("div", {
46
- class: _(l ? "flex flex-col gap-group-gap text-content-strong" : "-m-1.5 space-y-1 *:not-first:border-t *:not-first:border-border-separator *:not-first:pt-1"),
46
+ const m = l ? "overflow-hidden rounded-group bg-surface-cell shadow-group" : "";
47
+ return (M, u) => (d(), b("div", {
48
+ class: $(l ? "flex flex-col gap-group-gap text-content-strong" : "-m-1.5 space-y-1 *:not-first:border-t *:not-first:border-border-separator *:not-first:pt-1"),
47
49
  "data-shell-account-menu": ""
48
50
  }, [
49
- v.value ? (u(), h("div", {
51
+ p.value ? (d(), b("div", {
50
52
  key: 0,
51
- class: _(n(f))
53
+ class: $(t(m))
52
54
  }, [
53
- p(n(H), { name: "accountMenu" })
54
- ], 2)) : L("", !0),
55
- g ? (u(), h("div", {
55
+ h(t(X), { name: "accountMenu" })
56
+ ], 2)) : S("", !0),
57
+ g ? (d(), b("div", {
56
58
  key: 1,
57
- class: _(n(f))
59
+ class: $(t(m))
58
60
  }, [
59
- d("div", {
60
- class: _(l ? "relative" : "")
61
+ f("div", {
62
+ class: $(l ? "relative" : "")
61
63
  }, [
62
- d("button", {
64
+ f("button", {
63
65
  type: "button",
64
- "aria-expanded": x.value,
65
- "aria-controls": n(k),
66
+ "aria-expanded": v.value,
67
+ "aria-controls": t(x),
66
68
  "data-account-language": "",
67
- class: _(["flex w-full cursor-pointer items-center gap-3 text-left transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", l ? "min-h-row px-row-inset py-2 text-body active:bg-fill" : "rounded-md px-2 py-1.5 text-sm hover:bg-fill"]),
68
- onClick: i[0] || (i[0] = (E) => x.value = !x.value)
69
+ class: $(["flex w-full cursor-pointer items-center gap-3 text-left transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", l ? "min-h-row px-row-inset py-2 text-body active:bg-fill" : "rounded-md px-2 py-1.5 text-sm hover:bg-fill"]),
70
+ onClick: u[0] || (u[0] = (T) => v.value = !v.value)
69
71
  }, [
70
- p(n(B), {
72
+ h(t(P), {
71
73
  name: "translate",
72
74
  size: l ? 22 : 16,
73
75
  class: "shrink-0 text-content-muted"
74
76
  }, null, 8, ["size"]),
75
- d("span", ot, D(n(s)("core.shell.account.language")), 1),
76
- d("span", {
77
- class: _(["flex min-w-0 items-center gap-1.5 text-content-muted", l ? "" : "text-xs"])
77
+ f("span", ut, D(t(r)("core.shell.account.language")), 1),
78
+ f("span", {
79
+ class: $(["flex min-w-0 items-center gap-1.5 text-content-muted", l ? "" : "text-xs"])
78
80
  }, [
79
- y(n(r).locale.value) ? (u(), O(We, {
81
+ w(t(s).locale.value) ? (d(), R(He, {
80
82
  key: 0,
81
- country: y(n(r).locale.value)
82
- }, null, 8, ["country"])) : L("", !0),
83
- d("span", st, D($.value), 1)
83
+ country: w(t(s).locale.value)
84
+ }, null, 8, ["country"])) : S("", !0),
85
+ f("span", dt, D(_.value), 1)
84
86
  ], 2),
85
- p(n(B), {
87
+ h(t(P), {
86
88
  name: "arrowDownSLine",
87
89
  size: l ? 18 : 16,
88
- class: _(["shrink-0 text-content-disabled transition-transform duration-motion-fast", x.value ? "rotate-180" : ""])
90
+ class: $(["shrink-0 text-content-disabled transition-transform duration-motion-fast", v.value ? "rotate-180" : ""])
89
91
  }, null, 8, ["size", "class"])
90
- ], 10, at)
92
+ ], 10, ct)
91
93
  ], 2),
92
- Ie(d("div", {
93
- id: n(k),
94
- class: _(l ? "" : "space-y-0.5 pl-4")
94
+ Be(f("div", {
95
+ id: t(x),
96
+ class: $(l ? "" : "space-y-0.5 pl-4")
95
97
  }, [
96
- (u(!0), h(V, null, te(n(r).locales, (E) => (u(), O(pe, {
97
- key: E,
98
- label: n(me)(E),
99
- flag: y(E),
100
- selected: E === n(r).locale.value,
101
- onClick: (S) => n(r).setLocale(E)
98
+ (d(!0), b(F, null, ne(t(s).locales, (T) => (d(), R(ve, {
99
+ key: T,
100
+ label: t(pe)(T),
101
+ flag: w(T),
102
+ selected: T === t(s).locale.value,
103
+ onClick: (L) => t(s).setLocale(T)
102
104
  }, null, 8, ["label", "flag", "selected", "onClick"]))), 128))
103
- ], 10, lt), [
104
- [De, x.value]
105
+ ], 10, ft), [
106
+ [je, v.value]
105
107
  ])
106
- ], 2)) : L("", !0),
107
- d("div", {
108
- class: _(n(f))
108
+ ], 2)) : S("", !0),
109
+ f("div", {
110
+ class: $(t(m))
109
111
  }, [
110
- p(pe, {
111
- label: n(s)("core.shell.account.sign_out"),
112
+ h(ve, {
113
+ label: t(r)("core.shell.account.sign_out"),
112
114
  icon: "logoutBoxRLine",
113
115
  tone: "critical",
114
- onClick: A
116
+ onClick: E
115
117
  }, null, 8, ["label"])
116
118
  ], 2)
117
119
  ], 2));
118
120
  }
119
- }), it = ["onClick"], rt = { class: "min-w-0 flex-1" }, ct = { class: "block truncate text-sm font-semibold text-white" }, ut = {
121
+ }), mt = ["onClick"], pt = { class: "min-w-0 flex-1" }, vt = { class: "block truncate text-sm font-semibold text-white" }, ht = {
120
122
  key: 0,
121
123
  class: "block truncate text-xs text-gray-300"
122
- }, dt = /* @__PURE__ */ I({
124
+ }, bt = /* @__PURE__ */ z({
123
125
  __name: "AccountMenu",
124
126
  props: {
125
127
  identity: {}
126
128
  },
127
129
  setup(e) {
128
- const { t: a } = N();
129
- return (t, o) => (u(), O(n(Ve), {
130
+ const { t: a } = B();
131
+ return (n, o) => (d(), R(t(We), {
130
132
  placement: "top-start",
131
133
  width: "sm",
132
134
  block: "",
133
135
  arrow: !1,
134
- label: n(a)("core.shell.account.open")
136
+ label: t(a)("core.shell.account.open")
135
137
  }, {
136
- trigger: T(({ toggle: s, attrs: c, presented: r }) => [
137
- d("button", Y({ type: "button" }, c, {
138
+ trigger: A(({ toggle: r, attrs: c, presented: s }) => [
139
+ f("button", G({ type: "button" }, c, {
138
140
  "data-shell-account": "",
139
- class: ["flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-white/5 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", { "bg-white/10": r }],
140
- onClick: s
141
+ class: ["flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-2 text-left transition-colors hover:bg-white/5 focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", { "bg-white/10": s }],
142
+ onClick: r
141
143
  }), [
142
- p(n(xe), {
144
+ h(t(we), {
143
145
  name: e.identity.name,
144
146
  size: "md"
145
147
  }, null, 8, ["name"]),
146
- d("span", rt, [
147
- d("span", ct, D(e.identity.name), 1),
148
- e.identity.detail ? (u(), h("span", ut, D(e.identity.detail), 1)) : L("", !0)
148
+ f("span", pt, [
149
+ f("span", vt, D(e.identity.name), 1),
150
+ e.identity.detail ? (d(), b("span", ht, D(e.identity.detail), 1)) : S("", !0)
149
151
  ]),
150
- p(n(B), {
152
+ h(t(P), {
151
153
  name: "expandUpDownLine",
152
154
  size: 16,
153
155
  class: "shrink-0 text-gray-400"
154
156
  })
155
- ], 16, it)
157
+ ], 16, mt)
156
158
  ]),
157
- default: T(({ dismiss: s }) => [
158
- p($e, {
159
+ default: A(({ dismiss: r }) => [
160
+ h(Ee, {
159
161
  appearance: "popover",
160
- onClose: s
162
+ onClose: r
161
163
  }, null, 8, ["onClose"])
162
164
  ]),
163
165
  _: 1
164
166
  }, 8, ["label"]));
165
167
  }
166
- }), ft = /* @__PURE__ */ I({
168
+ }), gt = /* @__PURE__ */ z({
167
169
  __name: "AccountSheet",
168
170
  props: {
169
171
  identity: {}
170
172
  },
171
173
  setup(e, { expose: a }) {
172
- const t = ne("sheet");
173
- return a({ present: () => t.value?.present(), dismiss: () => t.value?.dismiss() }), (o, s) => (u(), O(n(Xe), {
174
+ const n = ae("sheet");
175
+ return a({ present: () => n.value?.present(), dismiss: () => n.value?.dismiss() }), (o, r) => (d(), R(t(Ge), {
174
176
  ref_key: "sheet",
175
- ref: t,
177
+ ref: n,
176
178
  title: e.identity.name,
177
179
  grouped: ""
178
180
  }, {
179
- default: T(() => [
180
- p($e, {
181
+ default: A(() => [
182
+ h(Ee, {
181
183
  appearance: "sheet",
182
- onClose: s[0] || (s[0] = (c) => t.value?.dismiss())
184
+ onClose: r[0] || (r[0] = (c) => n.value?.dismiss())
183
185
  })
184
186
  ]),
185
187
  _: 1
186
188
  }, 8, ["title"]));
187
189
  }
188
190
  });
189
- function mt() {
190
- const e = Pe(), a = (t, o) => Object.prototype.hasOwnProperty.call(t, o);
191
- return (t) => t && (e[t] !== void 0 || a(je, t)) ? t : null;
191
+ function yt() {
192
+ const e = Xe(), a = (n, o) => Object.prototype.hasOwnProperty.call(n, o);
193
+ return (n) => n && (e[n] !== void 0 || a(Ue, n)) ? n : null;
192
194
  }
193
- function Se(e) {
195
+ function Te(e) {
194
196
  return e.button === 0 && !e.metaKey && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.defaultPrevented;
195
197
  }
196
- const Ce = (e) => e.to ? [e] : e.children.flatMap(Ce);
197
- function pt(e) {
198
+ const Ae = (e) => e.to ? [e] : e.children.flatMap(Ae);
199
+ function wt(e) {
198
200
  const a = [];
199
- for (const t of e) {
200
- const o = Ce(t);
201
+ for (const n of e) {
202
+ const o = Ae(n);
201
203
  if (o.length === 0) continue;
202
- const s = !t.to && o.length > 1 ? t.label : null;
204
+ const r = !n.to && o.length > 1 ? n.label : null;
203
205
  a.push({
204
- key: t.key,
205
- heading: s,
206
- separated: s === null && a.length > 0,
206
+ key: n.key,
207
+ heading: r,
208
+ separated: r === null && a.length > 0,
207
209
  items: o.map((c) => ({ key: c.key, label: c.label, icon: c.icon, to: c.to, active: c.active }))
208
210
  });
209
211
  }
210
212
  return a;
211
213
  }
212
- const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id"], gt = ["aria-labelledby"], yt = ["href", "aria-current", "onClick"], xt = { class: "min-w-0 flex-1 truncate" }, ve = "flex w-full items-center transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", Le = /* @__PURE__ */ I({
214
+ const xt = ["aria-label", "data-appearance"], _t = ["data-separated"], kt = ["id"], $t = ["aria-labelledby"], St = ["href", "aria-current", "onClick"], Lt = { class: "min-w-0 flex-1 truncate" }, he = "flex w-full items-center transition-colors focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", Me = /* @__PURE__ */ z({
213
215
  __name: "NavigationList",
214
216
  props: {
215
217
  items: { default: void 0 },
@@ -218,16 +220,16 @@ const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id
218
220
  },
219
221
  emits: ["select"],
220
222
  setup(e, { emit: a }) {
221
- const t = e, o = a, { t: s } = N(), c = se(), r = t.items === void 0 ? Je() : null, m = mt(), l = C(() => pt(t.items ?? r?.value ?? []));
222
- function v(y, A, f) {
223
- if (t.appearance === "drawer" && Se(y)) {
224
- y.preventDefault(), o("select", f);
223
+ const n = e, o = a, { t: r } = B(), c = re(), s = n.items === void 0 ? nt() : null, i = yt(), l = C(() => wt(n.items ?? s?.value ?? []));
224
+ function p(w, E, m) {
225
+ if (n.appearance === "drawer" && Te(w)) {
226
+ w.preventDefault(), o("select", m);
225
227
  return;
226
228
  }
227
- A(y);
229
+ E(w);
228
230
  }
229
231
  const g = {
230
- item: `${ve} group gap-2.5 rounded-md px-2.5 py-1.5 text-sm`,
232
+ item: `${he} group gap-2.5 rounded-md px-2.5 py-1.5 text-sm`,
231
233
  active: "bg-white/10 font-medium text-white ring-1 ring-inset ring-white/5",
232
234
  inactive: "font-normal text-gray-300 hover:bg-white/5 hover:text-white",
233
235
  iconActive: "text-primary-400",
@@ -235,68 +237,68 @@ const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id
235
237
  heading: "px-2 pb-1 text-2xs font-semibold uppercase tracking-[0.08em] text-gray-400",
236
238
  // A hairline above the group, inset like the rows.
237
239
  separator: "before:mx-2 before:my-2.5 before:block before:border-t before:border-white/10"
238
- }, x = {
239
- item: `${ve} min-h-[2.875rem] cursor-pointer gap-3.5 rounded-group px-3 text-left text-body duration-motion-fast`,
240
+ }, v = {
241
+ item: `${he} min-h-[2.875rem] cursor-pointer gap-3.5 rounded-group px-3 text-left text-body duration-motion-fast`,
240
242
  active: "bg-tint-soft font-semibold text-content-link",
241
243
  inactive: "active:bg-fill",
242
244
  iconActive: "",
243
245
  iconInactive: "",
244
246
  heading: "px-3 pt-4.5 pb-1.5 text-subheadline text-content-muted",
245
247
  separator: "before:mx-3 before:my-3 before:block before:border-t before:border-border-separator"
246
- }, k = C(() => t.appearance === "rail" ? g : x), $ = C(() => t.appearance === "rail" ? 16 : 22);
247
- return (y, A) => (u(), h("nav", {
248
- "aria-label": e.label ?? n(s)("core.shell.menu"),
248
+ }, x = C(() => n.appearance === "rail" ? g : v), _ = C(() => n.appearance === "rail" ? 16 : 22);
249
+ return (w, E) => (d(), b("nav", {
250
+ "aria-label": e.label ?? t(r)("core.shell.menu"),
249
251
  "data-shell-navigation": "",
250
252
  "data-appearance": e.appearance
251
253
  }, [
252
- d("ul", null, [
253
- (u(!0), h(V, null, te(l.value, (f, M) => (u(), h("li", {
254
- key: f.key,
255
- "data-separated": f.separated || void 0,
256
- class: _(f.separated ? k.value.separator : "")
254
+ f("ul", null, [
255
+ (d(!0), b(F, null, ne(l.value, (m, M) => (d(), b("li", {
256
+ key: m.key,
257
+ "data-separated": m.separated || void 0,
258
+ class: $(m.separated ? x.value.separator : "")
257
259
  }, [
258
- f.heading ? (u(), h("p", {
260
+ m.heading ? (d(), b("p", {
259
261
  key: 0,
260
- id: `${n(c)}-${M}`,
261
- class: _([k.value.heading, e.appearance === "rail" ? M > 0 ? "pt-4" : "pt-1" : ""])
262
- }, D(f.heading), 11, bt)) : L("", !0),
263
- d("ul", {
264
- "aria-labelledby": f.heading ? `${n(c)}-${M}` : void 0,
265
- class: _(e.appearance === "rail" ? "space-y-0.5" : "")
262
+ id: `${t(c)}-${M}`,
263
+ class: $([x.value.heading, e.appearance === "rail" ? M > 0 ? "pt-4" : "pt-1" : ""])
264
+ }, D(m.heading), 11, kt)) : S("", !0),
265
+ f("ul", {
266
+ "aria-labelledby": m.heading ? `${t(c)}-${M}` : void 0,
267
+ class: $(e.appearance === "rail" ? "space-y-0.5" : "")
266
268
  }, [
267
- (u(!0), h(V, null, te(f.items, (i) => (u(), h("li", {
268
- key: i.key
269
+ (d(!0), b(F, null, ne(m.items, (u) => (d(), b("li", {
270
+ key: u.key
269
271
  }, [
270
- p(n(ce), {
272
+ h(t(Le), {
271
273
  custom: "",
272
- to: i.to
274
+ to: u.to
273
275
  }, {
274
- default: T(({ href: E, navigate: S }) => [
275
- d("a", {
276
- href: E,
277
- "aria-current": i.active ? "page" : void 0,
276
+ default: A(({ href: T, navigate: L }) => [
277
+ f("a", {
278
+ href: T,
279
+ "aria-current": u.active ? "page" : void 0,
278
280
  "data-shell-destination": "",
279
- class: _([k.value.item, i.active ? k.value.active : k.value.inactive]),
280
- onClick: (w) => v(w, S, i.to)
281
+ class: $([x.value.item, u.active ? x.value.active : x.value.inactive]),
282
+ onClick: (k) => p(k, L, u.to)
281
283
  }, [
282
- n(m)(i.icon) ? (u(), O(n(B), {
284
+ t(i)(u.icon) ? (d(), R(t(P), {
283
285
  key: 0,
284
- name: n(m)(i.icon),
285
- size: $.value,
286
- class: _(i.active ? k.value.iconActive : k.value.iconInactive)
287
- }, null, 8, ["name", "size", "class"])) : L("", !0),
288
- d("span", xt, D(i.label), 1)
289
- ], 10, yt)
286
+ name: t(i)(u.icon),
287
+ size: _.value,
288
+ class: $(u.active ? x.value.iconActive : x.value.iconInactive)
289
+ }, null, 8, ["name", "size", "class"])) : S("", !0),
290
+ f("span", Lt, D(u.label), 1)
291
+ ], 10, St)
290
292
  ]),
291
293
  _: 2
292
294
  }, 1032, ["to"])
293
295
  ]))), 128))
294
- ], 10, gt)
295
- ], 10, ht))), 128))
296
+ ], 10, $t)
297
+ ], 10, _t))), 128))
296
298
  ])
297
- ], 8, vt));
299
+ ], 8, xt));
298
300
  }
299
- }), wt = ["href", "aria-label", "onClick"], de = /* @__PURE__ */ I({
301
+ }), Ct = ["href", "aria-label", "onClick"], fe = /* @__PURE__ */ z({
300
302
  inheritAttrs: !1,
301
303
  __name: "ShellBrand",
302
304
  props: {
@@ -306,43 +308,51 @@ const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id
306
308
  },
307
309
  emits: ["select"],
308
310
  setup(e, { emit: a }) {
309
- const t = e, o = a, { t: s } = N(), { config: c } = Q();
310
- function r(m, l) {
311
- if (t.intercept && Se(m)) {
312
- m.preventDefault(), o("select", t.to);
311
+ const n = e, o = a, { t: r } = B(), { config: c } = J();
312
+ function s(i, l) {
313
+ if (n.intercept && Te(i)) {
314
+ i.preventDefault(), o("select", n.to);
313
315
  return;
314
316
  }
315
- l(m);
317
+ l(i);
316
318
  }
317
- return (m, l) => (u(), O(n(ce), {
319
+ return (i, l) => (d(), R(t(Le), {
318
320
  custom: "",
319
321
  to: e.to
320
322
  }, {
321
- default: T(({ href: v, navigate: g }) => [
322
- d("a", Y(m.$attrs, {
323
- href: v,
324
- "aria-label": n(s)("core.shell.home"),
323
+ default: A(({ href: p, navigate: g }) => [
324
+ f("a", G(i.$attrs, {
325
+ href: p,
326
+ "aria-label": t(r)("core.shell.home"),
325
327
  "data-shell-brand": "",
326
328
  class: "inline-block rounded-control focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
327
- onClick: (x) => r(x, g)
329
+ onClick: (v) => s(v, g)
328
330
  }), [
329
- z(m.$slots, "default", { tone: e.tone }, () => [
330
- d("span", {
331
- class: _(["block truncate text-headline font-semibold", e.tone === "light" ? "text-white" : "text-content-strong"])
332
- }, D(n(c).appName), 3)
331
+ I(i.$slots, "default", { tone: e.tone }, () => [
332
+ f("span", {
333
+ class: $(["block truncate text-headline font-semibold", e.tone === "light" ? "text-white" : "text-content-strong"])
334
+ }, D(t(c).appName), 3)
333
335
  ])
334
- ], 16, wt)
336
+ ], 16, Ct)
335
337
  ]),
336
338
  _: 3
337
339
  }, 8, ["to"]));
338
340
  }
339
- }), kt = {
341
+ });
342
+ function Ie() {
343
+ const e = xe();
344
+ return C(() => e.get("search").length > 0);
345
+ }
346
+ const Et = {
340
347
  class: "flex h-full flex-col bg-surface-page text-content-strong",
341
348
  "data-shell-drawer-content": ""
342
- }, _t = { class: "shrink-0 pt-[calc(max(0.75rem,env(safe-area-inset-top))+0.75rem)] pr-4 pb-4 pl-[max(1.375rem,env(safe-area-inset-left))]" }, $t = { class: "min-w-0 flex-1" }, St = { class: "block truncate text-headline font-semibold" }, Ct = {
349
+ }, Tt = { class: "shrink-0 pt-[calc(max(0.75rem,env(safe-area-inset-top))+0.75rem)] pr-4 pb-4 pl-[max(1.375rem,env(safe-area-inset-left))]" }, At = {
350
+ key: 0,
351
+ class: "shrink-0 pr-4 pb-3 pl-[max(1.125rem,env(safe-area-inset-left))]"
352
+ }, Mt = { class: "min-w-0 flex-1" }, It = { class: "block truncate text-headline font-semibold" }, zt = {
343
353
  key: 0,
344
354
  class: "block truncate text-footnote text-content-muted"
345
- }, Lt = /* @__PURE__ */ I({
355
+ }, Dt = /* @__PURE__ */ z({
346
356
  __name: "NavigationDrawer",
347
357
  props: {
348
358
  identity: {},
@@ -350,52 +360,55 @@ const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id
350
360
  },
351
361
  emits: ["select", "account"],
352
362
  setup(e, { emit: a }) {
353
- const t = a, { t: o } = N();
354
- return (s, c) => (u(), h("div", kt, [
355
- d("div", _t, [
356
- p(de, {
363
+ const n = a, { t: o } = B(), r = Ie();
364
+ return (c, s) => (d(), b("div", Et, [
365
+ f("div", Tt, [
366
+ h(fe, {
357
367
  to: e.home,
358
368
  tone: "brand",
359
369
  intercept: "",
360
370
  class: "max-w-36",
361
- onSelect: c[0] || (c[0] = (r) => t("select", r))
371
+ onSelect: s[0] || (s[0] = (i) => n("select", i))
362
372
  }, K({ _: 2 }, [
363
- s.$slots.brand ? {
373
+ c.$slots.brand ? {
364
374
  name: "default",
365
- fn: T((r) => [
366
- z(s.$slots, "brand", U(X(r)))
375
+ fn: A((i) => [
376
+ I(c.$slots, "brand", W(Y(i)))
367
377
  ]),
368
378
  key: "0"
369
379
  } : void 0
370
380
  ]), 1032, ["to"])
371
381
  ]),
372
- c[3] || (c[3] = d("div", {
382
+ t(r) ? (d(), b("div", At, [
383
+ h(t(X), { name: "search" })
384
+ ])) : S("", !0),
385
+ s[3] || (s[3] = f("div", {
373
386
  class: "mx-5.5 shrink-0 border-t border-border-separator",
374
387
  role: "presentation"
375
388
  }, null, -1)),
376
- p(Le, {
389
+ h(Me, {
377
390
  appearance: "drawer",
378
- label: n(o)("core.shell.menu"),
391
+ label: t(o)("core.shell.menu"),
379
392
  class: "min-h-0 flex-1 overflow-y-auto overscroll-contain pt-2 pr-2.5 pb-3 pl-[max(0.625rem,env(safe-area-inset-left))] [mask-image:linear-gradient(to_bottom,black_calc(100%-1.5rem),transparent)]",
380
- onSelect: c[1] || (c[1] = (r) => t("select", r))
393
+ onSelect: s[1] || (s[1] = (i) => n("select", i))
381
394
  }, null, 8, ["label"]),
382
- z(s.$slots, "footer"),
383
- d("button", {
395
+ I(c.$slots, "footer"),
396
+ f("button", {
384
397
  type: "button",
385
398
  "data-shell-drawer-account": "",
386
399
  "aria-haspopup": "dialog",
387
400
  class: "flex shrink-0 cursor-pointer items-center gap-3 border-t border-border-separator pt-3 pr-4 pb-[max(1rem,env(safe-area-inset-bottom))] pl-[max(1.125rem,env(safe-area-inset-left))] text-left transition-colors duration-motion-fast active:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus",
388
- onClick: c[2] || (c[2] = (r) => t("account"))
401
+ onClick: s[2] || (s[2] = (i) => n("account"))
389
402
  }, [
390
- p(n(xe), {
403
+ h(t(we), {
391
404
  name: e.identity.name,
392
405
  size: "lg"
393
406
  }, null, 8, ["name"]),
394
- d("span", $t, [
395
- d("span", St, D(e.identity.name), 1),
396
- e.identity.detail ? (u(), h("span", Ct, D(e.identity.detail), 1)) : L("", !0)
407
+ f("span", Mt, [
408
+ f("span", It, D(e.identity.name), 1),
409
+ e.identity.detail ? (d(), b("span", zt, D(e.identity.detail), 1)) : S("", !0)
397
410
  ]),
398
- p(n(B), {
411
+ h(t(P), {
399
412
  name: "arrowRightSLine",
400
413
  size: 18,
401
414
  class: "shrink-0 text-content-disabled"
@@ -403,498 +416,575 @@ const vt = ["aria-label", "data-appearance"], ht = ["data-separated"], bt = ["id
403
416
  ])
404
417
  ]));
405
418
  }
406
- }), At = {
419
+ }), ze = Symbol("vue-core.navigationDrawer");
420
+ function De() {
421
+ return ge(ze, null);
422
+ }
423
+ const se = 72, Rt = 110, Ot = 0.5, Pt = 600;
424
+ function Nt(e, a) {
425
+ const n = N(0), o = N(!1);
426
+ let r = 0, c = 0, s = !1;
427
+ function i(v) {
428
+ s = !1, !(!a.enabled() || o.value || v.touches.length !== 1 || window.scrollY > 0) && (r = v.touches[0].clientX, c = v.touches[0].clientY, s = !0);
429
+ }
430
+ function l(v) {
431
+ if (!s) return;
432
+ const x = v.touches[0].clientX - r, _ = v.touches[0].clientY - c;
433
+ if (_ <= 0 || Math.abs(x) > _ || window.scrollY > 0) {
434
+ n.value === 0 && (s = !1), n.value = 0;
435
+ return;
436
+ }
437
+ n.value = Math.min(Rt, _ * Ot);
438
+ }
439
+ async function p() {
440
+ if (s) {
441
+ if (s = !1, n.value < se) {
442
+ n.value = 0;
443
+ return;
444
+ }
445
+ o.value = !0, n.value = se;
446
+ try {
447
+ await Promise.all([e(), new Promise((v) => setTimeout(v, Pt))]);
448
+ } finally {
449
+ o.value = !1, n.value = 0;
450
+ }
451
+ }
452
+ }
453
+ function g() {
454
+ s = !1, o.value || (n.value = 0);
455
+ }
456
+ return Ve(() => {
457
+ window.addEventListener("touchstart", i, { passive: !0 }), window.addEventListener("touchmove", l, { passive: !0 }), window.addEventListener("touchend", p), window.addEventListener("touchcancel", g);
458
+ }), ye(() => {
459
+ window.removeEventListener("touchstart", i), window.removeEventListener("touchmove", l), window.removeEventListener("touchend", p), window.removeEventListener("touchcancel", g);
460
+ }), { pull: n, refreshing: o };
461
+ }
462
+ const Bt = { class: "flex size-9 items-center justify-center rounded-full bg-surface-raised text-primary-700 shadow-md ring-1 ring-border-separator dark:text-primary-300" }, jt = /* @__PURE__ */ z({
463
+ __name: "PullToRefresh",
464
+ setup(e) {
465
+ const a = H("(display-mode: standalone)"), n = ot(), o = De(), r = at(), c = ge(Se, null), { pull: s, refreshing: i } = Nt(
466
+ async () => {
467
+ r.hasUnsavedChanges() && !await r.confirm() || (c && c.value++, await ie());
468
+ },
469
+ {
470
+ enabled: () => c !== null && n.value === 0 && !o?.open.value && (a.value || navigator.standalone === !0)
471
+ }
472
+ );
473
+ return (l, p) => t(s) > 0 || t(i) ? (d(), b("div", {
474
+ key: 0,
475
+ "aria-hidden": "true",
476
+ "data-shell-pull-to-refresh": "",
477
+ class: "pointer-events-none fixed inset-x-0 z-40 flex justify-center",
478
+ style: oe({ top: `calc(env(safe-area-inset-top) + ${Math.max(t(s), 8)}px)` })
479
+ }, [
480
+ f("span", Bt, [
481
+ h(t(P), {
482
+ name: t(i) ? "loader4Line" : "refreshLine",
483
+ size: 20,
484
+ class: $(t(i) ? "animate-spin motion-reduce:animate-none" : ""),
485
+ style: oe(t(i) ? void 0 : { transform: `rotate(${t(s) / t(se) * 270}deg)`, opacity: Math.min(1, t(s) / t(se)) })
486
+ }, null, 8, ["name", "class", "style"])
487
+ ])
488
+ ], 4)) : S("", !0);
489
+ }
490
+ }), Vt = {
407
491
  key: 0,
408
492
  "data-shell-sidebar": "",
409
493
  class: "flex w-64 shrink-0 flex-col bg-anchor-900 dark:border-r dark:border-white/5 dark:bg-anchor-950"
410
- }, Et = { class: "sticky top-[var(--shell-banner-h,0px)] flex h-[calc(100vh-var(--shell-banner-h,0px))] flex-col" }, Tt = { class: "flex items-center justify-between gap-2 pt-5 pr-2 pb-3 pl-4" }, Mt = { class: "flex shrink-0 items-center gap-1" }, zt = { class: "border-t border-white/10 p-2" }, It = /* @__PURE__ */ I({
494
+ }, Ft = { class: "sticky top-[var(--shell-banner-h,0px)] z-30 flex h-[calc(100vh-var(--shell-banner-h,0px))] flex-col" }, Kt = { class: "flex items-center justify-between gap-2 pt-5 pr-2 pb-3 pl-4" }, Xt = { class: "flex shrink-0 items-center gap-1" }, Ut = {
495
+ key: 0,
496
+ class: "px-2 pb-1"
497
+ }, Wt = { class: "border-t border-white/10 p-2" }, Yt = /* @__PURE__ */ z({
411
498
  __name: "ShellSidebar",
412
499
  props: {
413
500
  identity: {},
414
501
  home: {}
415
502
  },
416
503
  setup(e) {
417
- ae(re, "rail");
418
- const a = G("(min-width: 48rem)");
419
- return (t, o) => n(a) ? (u(), h("aside", At, [
420
- d("div", Et, [
421
- d("div", Tt, [
422
- p(de, {
504
+ Q(ke, "rail");
505
+ const a = H("(min-width: 48rem)"), n = Ie();
506
+ return (o, r) => t(a) ? (d(), b("aside", Vt, [
507
+ f("div", Ft, [
508
+ f("div", Kt, [
509
+ h(fe, {
423
510
  to: e.home,
424
511
  tone: "light",
425
512
  class: "min-w-0"
426
513
  }, K({ _: 2 }, [
427
- t.$slots.brand ? {
514
+ o.$slots.brand ? {
428
515
  name: "default",
429
- fn: T((s) => [
430
- z(t.$slots, "brand", U(X(s)))
516
+ fn: A((c) => [
517
+ I(o.$slots, "brand", W(Y(c)))
431
518
  ]),
432
519
  key: "0"
433
520
  } : void 0
434
521
  ]), 1032, ["to"]),
435
- d("div", Mt, [
436
- p(n(H), { name: "headerActions" })
522
+ f("div", Xt, [
523
+ h(t(X), { name: "headerActions" })
437
524
  ])
438
525
  ]),
439
- p(Le, {
526
+ t(n) ? (d(), b("div", Ut, [
527
+ h(t(X), { name: "search" })
528
+ ])) : S("", !0),
529
+ h(Me, {
440
530
  appearance: "rail",
441
531
  class: "scrollbar-subtle min-h-0 flex-1 overflow-y-auto px-2 pt-3 pb-3 [mask-image:linear-gradient(to_bottom,transparent,black_12px,black_calc(100%-12px),transparent)]"
442
532
  }),
443
- z(t.$slots, "footer"),
444
- d("div", zt, [
445
- p(dt, { identity: e.identity }, null, 8, ["identity"])
533
+ I(o.$slots, "footer"),
534
+ f("div", Wt, [
535
+ h(bt, { identity: e.identity }, null, 8, ["identity"])
446
536
  ])
447
537
  ])
448
- ])) : L("", !0);
538
+ ])) : S("", !0);
449
539
  }
450
- }), Dt = 20, Ot = 8, he = 0.5, Rt = 40;
451
- function Bt({ offset: e, startOffset: a, width: t, velocity: o }) {
452
- if (Math.abs(e - a) > Rt) {
453
- if (o > he) return !0;
454
- if (o < -he) return !1;
540
+ }), Ht = 20, qt = 8, be = 0.5, Gt = 40;
541
+ function Qt({ offset: e, startOffset: a, width: n, velocity: o }) {
542
+ if (Math.abs(e - a) > Gt) {
543
+ if (o > be) return !0;
544
+ if (o < -be) return !1;
455
545
  }
456
- return e > t / 2;
546
+ return e > n / 2;
457
547
  }
458
- function Nt(e) {
459
- const a = F(0), t = F(!1);
460
- let o = !1, s = null, c = 0, r = 0, m = 0, l = 0, v = 0, g = 0;
461
- function x(S, w) {
462
- o = !0, s = null, c = l = S.clientX, r = S.clientY, m = w, v = performance.now(), g = 0;
548
+ function Jt(e) {
549
+ const a = N(0), n = N(!1);
550
+ let o = !1, r = null, c = 0, s = 0, i = 0, l = 0, p = 0, g = 0;
551
+ function v(L, k) {
552
+ o = !0, r = null, c = l = L.clientX, s = L.clientY, i = k, p = performance.now(), g = 0;
463
553
  }
464
- function k(S) {
465
- const w = S.touches[0];
466
- if (!o || !w) return;
467
- const R = w.clientX - c, J = w.clientY - r;
468
- if (!s) {
469
- if (Math.max(Math.abs(R), Math.abs(J)) < Ot) return;
470
- if (s = Math.abs(R) > Math.abs(J) ? "x" : "y", s === "y" || m === 0 && R < 0) {
554
+ function x(L) {
555
+ const k = L.touches[0];
556
+ if (!o || !k) return;
557
+ const O = k.clientX - c, Z = k.clientY - s;
558
+ if (!r) {
559
+ if (Math.max(Math.abs(O), Math.abs(Z)) < qt) return;
560
+ if (r = Math.abs(O) > Math.abs(Z) ? "x" : "y", r === "y" || i === 0 && O < 0) {
471
561
  o = !1;
472
562
  return;
473
563
  }
474
- t.value = !0, a.value = m, e.onStart();
564
+ n.value = !0, a.value = i, e.onStart();
475
565
  }
476
- const W = performance.now();
477
- g = (w.clientX - l) / Math.max(W - v, 1), l = w.clientX, v = W, a.value = Math.min(e.width(), Math.max(0, m + R)), S.cancelable && S.preventDefault();
566
+ const U = performance.now();
567
+ g = (k.clientX - l) / Math.max(U - p, 1), l = k.clientX, p = U, a.value = Math.min(e.width(), Math.max(0, i + O)), L.cancelable && L.preventDefault();
478
568
  }
479
- function $() {
480
- o && (o = !1, t.value && (t.value = !1, e.onSettle(Bt({ offset: a.value, startOffset: m, width: e.width(), velocity: g }))));
569
+ function _() {
570
+ o && (o = !1, n.value && (n.value = !1, e.onSettle(Qt({ offset: a.value, startOffset: i, width: e.width(), velocity: g }))));
481
571
  }
482
- function y() {
483
- o = !1, t.value = !1;
572
+ function w() {
573
+ o = !1, n.value = !1;
484
574
  }
485
- function A(S) {
486
- const w = S.touches[0];
487
- !w || S.touches.length !== 1 || e.isOpen() || !e.canOpenFromEdge() || w.clientX > Dt || x(w, 0);
575
+ function E(L) {
576
+ const k = L.touches[0];
577
+ !k || L.touches.length !== 1 || e.isOpen() || !e.canOpenFromEdge() || k.clientX > Ht || v(k, 0);
488
578
  }
489
- let f = !1;
579
+ let m = !1;
490
580
  function M() {
491
- f || (f = !0, window.addEventListener("touchstart", A, { passive: !0 }), window.addEventListener("touchmove", k, { passive: !1 }), window.addEventListener("touchend", $), window.addEventListener("touchcancel", $));
581
+ m || (m = !0, window.addEventListener("touchstart", E, { passive: !0 }), window.addEventListener("touchmove", x, { passive: !1 }), window.addEventListener("touchend", _), window.addEventListener("touchcancel", _));
492
582
  }
493
- function i() {
494
- f && (f = !1, window.removeEventListener("touchstart", A), window.removeEventListener("touchmove", k), window.removeEventListener("touchend", $), window.removeEventListener("touchcancel", $), y());
583
+ function u() {
584
+ m && (m = !1, window.removeEventListener("touchstart", E), window.removeEventListener("touchmove", x), window.removeEventListener("touchend", _), window.removeEventListener("touchcancel", _), w());
495
585
  }
496
- return q(e.enabled, (S) => S ? M() : i(), { immediate: !0 }), le(i), { offset: a, dragging: t, closeEvents: {
497
- onTouchstartPassive(S) {
498
- const w = S.touches[0];
499
- w && S.touches.length === 1 && e.isOpen() && x(w, e.width());
586
+ return q(e.enabled, (L) => L ? M() : u(), { immediate: !0 }), ce(u), { offset: a, dragging: n, closeEvents: {
587
+ onTouchstartPassive(L) {
588
+ const k = L.touches[0];
589
+ k && L.touches.length === 1 && e.isOpen() && v(k, e.width());
500
590
  }
501
- }, cancel: y };
591
+ }, cancel: w };
502
592
  }
503
- const Ae = Symbol("vue-core.navigationDrawer");
504
- function Pt() {
505
- return be(Ae, null);
506
- }
507
- const jt = ["id", "aria-label"], Vt = ["data-drawer", "inert"], Ft = /* @__PURE__ */ I({
593
+ const Zt = ["id", "aria-label"], en = ["data-drawer", "inert"], tn = /* @__PURE__ */ z({
508
594
  __name: "ShellStage",
509
595
  props: {
510
596
  enabled: { type: Boolean }
511
597
  },
512
598
  setup(e) {
513
- const a = e, { t } = N(), o = Qe(), s = ue(), c = G("(max-width: 47.999rem)"), r = G("(display-mode: standalone)"), m = G("(prefers-reduced-motion: reduce)"), l = C(() => a.enabled && c.value), v = ne("stage"), g = ne("scroller"), x = F(null), k = se(), $ = F(!1), y = F(!1), A = F(!1);
514
- let f = 0, M = !1, i, E = null;
515
- const S = () => x.value?.offsetWidth ?? 0, w = Nt({
599
+ const a = e, { t: n } = B(), o = tt(), r = de(), c = H("(max-width: 47.999rem)"), s = H("(display-mode: standalone)"), i = H("(prefers-reduced-motion: reduce)"), l = C(() => a.enabled && c.value), p = ae("stage"), g = ae("scroller"), v = N(null), x = re(), _ = N(!1), w = N(!1), E = N(!1);
600
+ let m = 0, M = !1, u, T = null;
601
+ const L = () => v.value?.offsetWidth ?? 0, k = Jt({
516
602
  enabled: () => l.value,
517
- width: S,
518
- isOpen: () => A.value,
519
- canOpenFromEdge: () => r.value || navigator.standalone === !0,
603
+ width: L,
604
+ isOpen: () => E.value,
605
+ canOpenFromEdge: () => s.value || navigator.standalone === !0,
520
606
  onStart: () => {
521
- clearTimeout(i), fe();
607
+ clearTimeout(u), me();
522
608
  },
523
- onSettle: (b) => b ? $.value = !0 : j()
524
- }), R = C(() => w.dragging.value ? w.offset.value : A.value ? S() : 0), J = C(() => S() ? R.value / S() : 0), W = Ze(x, {
609
+ onSettle: (y) => y ? _.value = !0 : V()
610
+ }), O = C(() => k.dragging.value ? k.offset.value : E.value ? L() : 0), Z = C(() => L() ? O.value / L() : 0), U = lt(v, {
525
611
  initialFocus: "panel",
526
- onEscape: () => j()
612
+ onEscape: () => V()
527
613
  });
528
- function Ee() {
529
- const b = getComputedStyle(document.documentElement).getPropertyValue("--app-motion-drawer").trim();
530
- return b.endsWith("ms") ? parseFloat(b) : parseFloat(b) * 1e3 || 0;
614
+ function Re() {
615
+ const y = getComputedStyle(document.documentElement).getPropertyValue("--app-motion-drawer").trim();
616
+ return y.endsWith("ms") ? parseFloat(y) : parseFloat(y) * 1e3 || 0;
531
617
  }
532
- function fe() {
533
- const b = v.value, P = g.value;
534
- y.value || !b || !P || (f = window.scrollY, M = !1, Object.assign(b.style, { position: "fixed", inset: "0", overflow: "hidden", zIndex: "10" }), Object.assign(P.style, { position: "absolute", inset: "0", overflow: "hidden" }), P.scrollTop = f, y.value = !0);
618
+ function me() {
619
+ const y = p.value, j = g.value;
620
+ w.value || !y || !j || (m = window.scrollY, M = !1, Object.assign(y.style, { position: "fixed", inset: "0", overflow: "hidden", zIndex: "10" }), Object.assign(j.style, { position: "absolute", inset: "0", overflow: "hidden" }), j.scrollTop = m, w.value = !0);
535
621
  }
536
- function oe() {
537
- const b = v.value, P = g.value;
538
- !y.value || !b || !P || (Object.assign(b.style, { position: "", inset: "", overflow: "", zIndex: "", transform: "", transition: "", borderRadius: "" }), Object.assign(P.style, { position: "", inset: "", overflow: "" }), y.value = !1, window.scrollTo({ top: M ? 0 : f, behavior: "instant" }));
622
+ function le() {
623
+ const y = p.value, j = g.value;
624
+ !w.value || !y || !j || (Object.assign(y.style, { position: "", inset: "", overflow: "", zIndex: "", transform: "", transition: "", borderRadius: "" }), Object.assign(j.style, { position: "", inset: "", overflow: "" }), w.value = !1, window.scrollTo({ top: M ? 0 : m, behavior: "instant" }));
539
625
  }
540
- q([R, () => w.dragging.value, y], () => {
541
- const b = v.value;
542
- !b || !y.value || (b.style.transform = `translate3d(${R.value}px, 0, 0)`, b.style.borderRadius = R.value > 0 ? "2.5rem" : "", b.style.transition = w.dragging.value || m.value ? "none" : "transform var(--app-motion-drawer) var(--app-motion-sheet-easing), border-radius var(--app-motion-drawer) var(--app-motion-sheet-easing)");
626
+ q([O, () => k.dragging.value, w], () => {
627
+ const y = p.value;
628
+ !y || !w.value || (y.style.transform = `translate3d(${O.value}px, 0, 0)`, y.style.borderRadius = O.value > 0 ? "2.5rem" : "", y.style.transition = k.dragging.value || i.value ? "none" : "transform var(--app-motion-drawer) var(--app-motion-sheet-easing), border-radius var(--app-motion-drawer) var(--app-motion-sheet-easing)");
543
629
  }, { flush: "sync" });
544
- function Te() {
630
+ function Oe() {
545
631
  if (!l.value) {
546
- $.value = !1;
632
+ _.value = !1;
547
633
  return;
548
634
  }
549
- clearTimeout(i), E = null, fe(), v.value?.offsetWidth, A.value = !0, W.present(), ye(() => {
550
- x.value?.querySelector('[aria-current="page"]')?.focus({ preventScroll: !0 });
635
+ clearTimeout(u), T = null, me(), p.value?.offsetWidth, E.value = !0, U.present(), ie(() => {
636
+ v.value?.querySelector('[aria-current="page"]')?.focus({ preventScroll: !0 });
551
637
  });
552
638
  }
553
- function j(b) {
554
- if (b && (E = b), $.value) {
555
- $.value = !1;
639
+ function V(y) {
640
+ if (y && (T = y), _.value) {
641
+ _.value = !1;
556
642
  return;
557
643
  }
558
- A.value = !1, W.dismissWithoutAsking(), clearTimeout(i), i = setTimeout(Me, Ee() + 30);
644
+ E.value = !1, U.dismissWithoutAsking(), clearTimeout(u), u = setTimeout(Pe, Re() + 30);
559
645
  }
560
- function Me() {
561
- oe();
562
- const b = E;
563
- E = null, b?.();
646
+ function Pe() {
647
+ le();
648
+ const y = T;
649
+ T = null, y?.();
564
650
  }
565
- q($, (b) => b ? Te() : j()), q(l, (b) => {
566
- b || (w.cancel(), clearTimeout(i), E = null, $.value = !1, A.value = !1, W.dismissWithoutAsking(), oe());
651
+ q(_, (y) => y ? Oe() : V()), q(l, (y) => {
652
+ y || (k.cancel(), clearTimeout(u), T = null, _.value = !1, E.value = !1, U.dismissWithoutAsking(), le());
567
653
  }), q(() => o.fullPath, () => {
568
- y.value && (M = !0), A.value && j();
654
+ w.value && (M = !0), E.value && V();
569
655
  });
570
- function ze(b) {
571
- s.push(b).catch(() => {
572
- }).finally(() => j());
656
+ function Ne(y) {
657
+ r.push(y).catch(() => {
658
+ }).finally(() => V());
573
659
  }
574
- return ae(Ae, {
660
+ return Q(ze, {
575
661
  available: l,
576
- open: $,
577
- panelId: k,
662
+ open: _,
663
+ panelId: x,
578
664
  present: () => {
579
- l.value && ($.value = !0);
665
+ l.value && (_.value = !0);
580
666
  },
581
- dismiss: j
582
- }), Oe(() => {
583
- clearTimeout(i), oe();
584
- }), (b, P) => (u(), h(V, null, [
585
- l.value ? (u(), h("div", Y({
667
+ dismiss: V
668
+ }), ye(() => {
669
+ clearTimeout(u), le();
670
+ }), (y, j) => (d(), b(F, null, [
671
+ l.value ? (d(), b("div", G({
586
672
  key: 0,
587
- id: n(k),
673
+ id: t(x),
588
674
  ref_key: "panel",
589
- ref: x,
675
+ ref: v,
590
676
  role: "dialog",
591
677
  "aria-modal": "true",
592
- "aria-label": n(t)("core.shell.menu"),
678
+ "aria-label": t(n)("core.shell.menu"),
593
679
  tabindex: "-1",
594
680
  "data-shell-drawer": "",
595
- class: ["fixed inset-y-0 left-0 z-0 w-[min(82vw,20rem)] outline-none", y.value ? "visible" : "invisible"],
596
- style: n(m) ? { opacity: A.value || n(w).dragging.value ? 1 : 0, transition: "opacity var(--app-motion-drawer) linear" } : void 0
597
- }, n(w).closeEvents), [
598
- z(b.$slots, "drawer", {
599
- select: ze,
600
- dismiss: j
681
+ class: ["fixed inset-y-0 left-0 z-0 w-[min(82vw,20rem)] outline-none", w.value ? "visible" : "invisible"],
682
+ style: t(i) ? { opacity: E.value || t(k).dragging.value ? 1 : 0, transition: "opacity var(--app-motion-drawer) linear" } : void 0
683
+ }, t(k).closeEvents), [
684
+ I(y.$slots, "drawer", {
685
+ select: Ne,
686
+ dismiss: V
601
687
  })
602
- ], 16, jt)) : L("", !0),
603
- d("div", {
688
+ ], 16, Zt)) : S("", !0),
689
+ f("div", {
604
690
  ref_key: "stage",
605
- ref: v,
691
+ ref: p,
606
692
  "data-shell-stage": "",
607
- "data-drawer": A.value ? "open" : void 0,
608
- class: _(["flex flex-1 flex-col", y.value ? "overscroll-none bg-surface-page shadow-dialog" : ""]),
609
- inert: A.value || n(w).dragging.value || void 0
693
+ "data-drawer": E.value ? "open" : void 0,
694
+ class: $(["flex flex-1 flex-col", w.value ? "overscroll-none bg-surface-page shadow-dialog" : ""]),
695
+ inert: E.value || t(k).dragging.value || void 0
610
696
  }, [
611
- d("div", {
697
+ f("div", {
612
698
  ref_key: "scroller",
613
699
  ref: g,
614
700
  class: "flex flex-1 flex-col"
615
701
  }, [
616
- z(b.$slots, "default")
702
+ I(y.$slots, "default")
617
703
  ], 512),
618
- y.value ? (u(), h("div", {
704
+ w.value ? (d(), b("div", {
619
705
  key: 0,
620
706
  "aria-hidden": "true",
621
707
  class: "pointer-events-none fixed inset-0 z-50 bg-scrim",
622
- style: ge({ opacity: J.value * 0.55 })
623
- }, null, 4)) : L("", !0)
624
- ], 10, Vt),
625
- y.value && R.value > 0 ? (u(), h("div", Y({
708
+ style: oe({ opacity: Z.value * 0.55 })
709
+ }, null, 4)) : S("", !0)
710
+ ], 10, en),
711
+ w.value && O.value > 0 ? (d(), b("div", G({
626
712
  key: 1,
627
713
  "aria-hidden": "true",
628
714
  "data-shell-stage-cover": "",
629
715
  class: "fixed inset-y-0 right-0 z-20",
630
- style: { left: `${R.value}px` }
631
- }, n(w).closeEvents, {
632
- onClick: P[0] || (P[0] = (wn) => j())
633
- }), null, 16)) : L("", !0)
716
+ style: { left: `${O.value}px` }
717
+ }, t(k).closeEvents, {
718
+ onClick: j[0] || (j[0] = (zn) => V())
719
+ }), null, 16)) : S("", !0)
634
720
  ], 64));
635
721
  }
636
- }), Kt = ["aria-label", "aria-expanded", "aria-controls"], Wt = /* @__PURE__ */ I({
722
+ }), nn = ["aria-label", "aria-expanded", "aria-controls"], an = /* @__PURE__ */ z({
637
723
  __name: "NavigationMenuButton",
638
724
  setup(e) {
639
- const a = Pt(), { t } = N();
640
- return (o, s) => n(a)?.available.value ? (u(), h("button", {
725
+ const a = De(), { t: n } = B();
726
+ return (o, r) => t(a)?.available.value ? (d(), b("button", {
641
727
  key: 0,
642
728
  type: "button",
643
729
  "data-shell-menu-button": "",
644
- "aria-label": n(t)("core.shell.menu"),
645
- "aria-expanded": n(a).open.value,
646
- "aria-controls": n(a).panelId,
730
+ "aria-label": t(n)("core.shell.menu"),
731
+ "aria-expanded": t(a).open.value,
732
+ "aria-controls": t(a).panelId,
647
733
  "aria-haspopup": "dialog",
648
734
  class: "relative my-1 ml-2 flex size-11 shrink-0 cursor-pointer items-center justify-center rounded-full bg-surface-cell text-content-strong shadow-float transition-transform duration-motion-fast active:scale-95 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-border-focus",
649
- onClick: s[0] || (s[0] = (c) => n(a).present())
735
+ onClick: r[0] || (r[0] = (c) => t(a).present())
650
736
  }, [
651
- p(n(B), {
737
+ h(t(P), {
652
738
  name: "menuLines",
653
739
  size: 20
654
740
  })
655
- ], 8, Kt)) : L("", !0);
741
+ ], 8, nn)) : S("", !0);
656
742
  }
657
- }), Ut = { class: "grid min-h-bar-height grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-1" }, Xt = { class: "flex min-w-0 items-center justify-start" }, Yt = ["data-page-action", "disabled"], qt = { class: "truncate" }, Gt = { class: "ml-1 flex items-center gap-1" }, Ht = { class: "flex min-w-0 items-center justify-end" }, Qt = ["data-page-action", "aria-label", "disabled", "onClick"], Jt = ["data-page-action", "disabled", "aria-label", "aria-busy", "onClick"], Zt = { class: "truncate" }, en = ["aria-label", "onClick"], tn = /* @__PURE__ */ I({
743
+ }), on = { class: "grid min-h-bar-height grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-1" }, sn = { class: "flex min-w-0 items-center justify-start" }, ln = ["data-page-action", "disabled"], rn = { class: "truncate" }, cn = { class: "ml-1 flex items-center gap-1" }, un = { class: "flex min-w-0 items-center justify-end" }, dn = ["data-page-action", "aria-label", "disabled", "onClick"], fn = ["data-page-action", "disabled", "aria-label", "aria-busy", "onClick"], mn = { class: "truncate" }, pn = ["aria-label", "onClick"], vn = /* @__PURE__ */ z({
658
744
  __name: "ShellTopBar",
659
745
  props: {
660
746
  home: {}
661
747
  },
662
748
  setup(e) {
663
- const { t: a } = N(), t = ue(), o = ke(), { session: s } = Q(), c = G("(max-width: 47.999rem)");
664
- ae(re, "bar");
665
- const r = C(() => ie(s.state.value) !== null), m = C(() => !r.value || c.value), l = C(() => r.value ? o.back.value : null), v = C(() => r.value ? o.leading.value : null), g = C(() => o.navTitle.value ?? o.title.value), x = C(() => r.value && !!g.value && (!!o.navTitle.value || !o.titleInView.value)), k = C(() => r.value ? o.actions.value : []), $ = C(() => k.value.filter((f) => f.placement === "primary" && f.tone !== "critical")), y = C(
666
- () => k.value.filter((f) => !$.value.includes(f)).map((f) => ({ id: f.id, label: f.label, icon: f.icon, tone: f.tone, disabled: f.disabled, processing: f.processing, onSelect: f.onClick }))
749
+ const { t: a } = B(), n = de(), o = $e(), { session: r } = J(), c = H("(max-width: 47.999rem)");
750
+ Q(ke, "bar");
751
+ const s = C(() => ue(r.state.value) !== null), i = C(() => !s.value || c.value), l = C(() => s.value ? o.back.value : null), p = C(() => s.value ? o.leading.value : null), g = C(() => o.navTitle.value ?? o.title.value), v = C(() => s.value && !!g.value && (!!o.navTitle.value || !o.titleInView.value)), x = C(() => s.value ? o.actions.value : []), _ = C(() => x.value.filter((m) => m.placement === "primary" && m.tone !== "critical")), w = C(
752
+ () => x.value.filter((m) => !_.value.includes(m)).map((m) => ({ id: m.id, label: m.label, icon: m.icon, tone: m.tone, disabled: m.disabled, processing: m.processing, onSelect: m.onClick }))
667
753
  );
668
- function A() {
669
- l.value && t.push(l.value.to);
754
+ function E() {
755
+ l.value && n.push(l.value.to);
670
756
  }
671
- return (f, M) => m.value ? (u(), h("header", {
757
+ return (m, M) => i.value ? (d(), b("header", {
672
758
  key: 0,
673
759
  "data-shell-top-bar": "",
674
- class: _(["pt-[max(0.25rem,env(safe-area-inset-top))] pr-[max(0.5rem,env(safe-area-inset-right))] pb-1 pl-[max(0.5rem,env(safe-area-inset-left))] text-content-strong", r.value ? ["sticky top-[var(--shell-banner-h,0px)] z-30 border-b bg-surface-page/85 backdrop-blur-xl transition-colors duration-motion-normal", x.value ? "border-border-separator" : "border-transparent"] : "border-b border-border-separator bg-surface-cell"])
760
+ class: $(["pt-[max(0.25rem,env(safe-area-inset-top))] pr-[max(0.5rem,env(safe-area-inset-right))] pb-1 pl-[max(0.5rem,env(safe-area-inset-left))] text-content-strong", s.value ? ["sticky top-[var(--shell-banner-h,0px)] z-30 border-b bg-surface-page/85 backdrop-blur-xl transition-colors duration-motion-normal", v.value ? "border-border-separator" : "border-transparent"] : "border-b border-border-separator bg-surface-cell"])
675
761
  }, [
676
- d("div", Ut, [
677
- d("div", Xt, [
678
- v.value ? (u(), h("button", {
762
+ f("div", on, [
763
+ f("div", sn, [
764
+ p.value ? (d(), b("button", {
679
765
  key: 0,
680
766
  type: "button",
681
767
  "data-shell-bar-leading": "",
682
- "data-page-action": v.value.id,
683
- disabled: v.value.disabled || v.value.processing,
768
+ "data-page-action": p.value.id,
769
+ disabled: p.value.disabled || p.value.processing,
684
770
  class: "hit-target inline-flex min-w-0 cursor-pointer items-center rounded-control px-2 text-body text-content-link disabled:text-content-disabled",
685
- onClick: M[0] || (M[0] = (i) => v.value.onClick())
771
+ onClick: M[0] || (M[0] = (u) => p.value.onClick())
686
772
  }, [
687
- d("span", qt, D(v.value.label), 1)
688
- ], 8, Yt)) : l.value ? (u(), h("button", {
773
+ f("span", rn, D(p.value.label), 1)
774
+ ], 8, ln)) : l.value ? (d(), b("button", {
689
775
  key: 1,
690
776
  type: "button",
691
777
  "data-shell-bar-back": "",
692
778
  class: "hit-target inline-flex min-w-0 cursor-pointer items-center rounded-control pr-2 text-body text-content-link active:opacity-60",
693
- onClick: A
779
+ onClick: E
694
780
  }, [
695
- p(n(B), {
781
+ h(t(P), {
696
782
  name: "arrowLeftSLine",
697
783
  size: 28,
698
784
  class: "-mr-0.5 shrink-0"
699
785
  }),
700
- d("span", {
701
- class: _(["truncate", x.value ? "sr-only" : ""])
786
+ f("span", {
787
+ class: $(["truncate", v.value ? "sr-only" : ""])
702
788
  }, D(l.value.label), 3)
703
- ])) : r.value ? (u(), h(V, { key: 2 }, [
704
- p(Wt),
705
- d("span", Gt, [
706
- p(n(H), { name: "headerActions" })
789
+ ])) : s.value ? (d(), b(F, { key: 2 }, [
790
+ h(an),
791
+ f("span", cn, [
792
+ h(t(X), { name: "headerActions" })
707
793
  ])
708
- ], 64)) : (u(), O(de, {
794
+ ], 64)) : (d(), R(fe, {
709
795
  key: 3,
710
796
  to: e.home,
711
797
  tone: "brand",
712
- class: _(["px-2 transition-opacity", x.value ? "opacity-0" : "opacity-100"])
798
+ class: $(["px-2 transition-opacity", v.value ? "opacity-0" : "opacity-100"])
713
799
  }, K({ _: 2 }, [
714
- f.$slots.brand ? {
800
+ m.$slots.brand ? {
715
801
  name: "default",
716
- fn: T((i) => [
717
- z(f.$slots, "brand", U(X(i)))
802
+ fn: A((u) => [
803
+ I(m.$slots, "brand", W(Y(u)))
718
804
  ]),
719
805
  key: "0"
720
806
  } : void 0
721
807
  ]), 1032, ["to", "class"]))
722
808
  ]),
723
- d("span", {
809
+ f("span", {
724
810
  "aria-hidden": "true",
725
811
  "data-shell-bar-title": "",
726
- class: _(["pointer-events-none truncate text-center text-headline font-semibold transition-opacity duration-motion-normal", x.value ? "max-w-[42vw] opacity-100" : "max-w-0 opacity-0"])
812
+ class: $(["pointer-events-none truncate text-center text-headline font-semibold transition-opacity duration-motion-normal", v.value ? "max-w-[42vw] opacity-100" : "max-w-0 opacity-0"])
727
813
  }, D(g.value), 3),
728
- d("div", Ht, [
729
- r.value ? (u(), h(V, { key: 0 }, [
730
- (u(!0), h(V, null, te($.value, (i) => (u(), h(V, {
731
- key: i.id
814
+ f("div", un, [
815
+ s.value ? (d(), b(F, { key: 0 }, [
816
+ (d(!0), b(F, null, ne(_.value, (u) => (d(), b(F, {
817
+ key: u.id
732
818
  }, [
733
- i.compact === "icon" && i.icon ? (u(), h("button", {
819
+ u.compact === "icon" && u.icon ? (d(), b("button", {
734
820
  key: 0,
735
821
  type: "button",
736
- "data-page-action": i.id,
737
- "aria-label": i.label,
738
- disabled: i.disabled || i.processing,
822
+ "data-page-action": u.id,
823
+ "aria-label": u.label,
824
+ disabled: u.disabled || u.processing,
739
825
  class: "hit-target mx-1 flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-full bg-tint-soft text-content-link disabled:opacity-45",
740
- onClick: (E) => i.onClick()
826
+ onClick: (T) => u.onClick()
741
827
  }, [
742
- p(n(B), {
743
- name: i.processing ? "loader4Line" : i.icon,
828
+ h(t(P), {
829
+ name: u.processing ? "loader4Line" : u.icon,
744
830
  size: 18,
745
- class: _(i.processing ? "animate-spin" : "")
831
+ class: $(u.processing ? "animate-spin" : "")
746
832
  }, null, 8, ["name", "class"])
747
- ], 8, Qt)) : (u(), h("button", {
833
+ ], 8, dn)) : (d(), b("button", {
748
834
  key: 1,
749
835
  type: "button",
750
- "data-page-action": i.id,
751
- disabled: i.disabled || i.processing,
752
- "aria-label": i.shortLabel ? i.label : void 0,
753
- "aria-busy": i.processing || void 0,
836
+ "data-page-action": u.id,
837
+ disabled: u.disabled || u.processing,
838
+ "aria-label": u.shortLabel ? u.label : void 0,
839
+ "aria-busy": u.processing || void 0,
754
840
  class: "hit-target flex min-w-0 shrink cursor-pointer items-center gap-1 rounded-control px-2 text-body font-semibold text-content-link disabled:text-content-disabled",
755
- onClick: (E) => i.onClick()
841
+ onClick: (T) => u.onClick()
756
842
  }, [
757
- i.processing ? (u(), O(n(B), {
843
+ u.processing ? (d(), R(t(P), {
758
844
  key: 0,
759
845
  name: "loader4Line",
760
846
  size: 16,
761
847
  class: "animate-spin"
762
- })) : L("", !0),
763
- d("span", Zt, D(i.shortLabel ?? i.label), 1)
764
- ], 8, Jt))
848
+ })) : S("", !0),
849
+ f("span", mn, D(u.shortLabel ?? u.label), 1)
850
+ ], 8, fn))
765
851
  ], 64))), 128)),
766
- y.value.length ? (u(), O(n(et), {
852
+ w.value.length ? (d(), R(t(rt), {
767
853
  key: 0,
768
- items: y.value,
769
- label: n(a)("core.page.more_actions")
854
+ items: w.value,
855
+ label: t(a)("core.page.more_actions")
770
856
  }, {
771
- trigger: T(({ toggle: i, attrs: E }) => [
772
- d("button", Y({ type: "button" }, E, {
773
- "aria-label": n(a)("core.page.more_actions"),
857
+ trigger: A(({ toggle: u, attrs: T }) => [
858
+ f("button", G({ type: "button" }, T, {
859
+ "aria-label": t(a)("core.page.more_actions"),
774
860
  "data-shell-bar-more": "",
775
861
  class: "hit-target flex size-9 cursor-pointer items-center justify-center rounded-full text-content-link",
776
- onClick: i
862
+ onClick: u
777
863
  }), [
778
- p(n(B), {
864
+ h(t(P), {
779
865
  name: "moreLine",
780
866
  size: 22
781
867
  })
782
- ], 16, en)
868
+ ], 16, pn)
783
869
  ]),
784
870
  _: 1
785
- }, 8, ["items", "label"])) : L("", !0)
786
- ], 64)) : L("", !0),
787
- z(f.$slots, "end")
871
+ }, 8, ["items", "label"])) : S("", !0)
872
+ ], 64)) : S("", !0),
873
+ I(m.$slots, "end")
788
874
  ])
789
875
  ])
790
- ], 2)) : L("", !0);
876
+ ], 2)) : S("", !0);
791
877
  }
792
878
  });
793
- function nn(e) {
794
- const { name: a, email: t } = e;
795
- return { name: typeof a == "string" && a !== "" ? a : String(e.id), detail: typeof t == "string" ? t : null };
879
+ function hn(e) {
880
+ const { name: a, email: n } = e;
881
+ return { name: typeof a == "string" && a !== "" ? a : String(e.id), detail: typeof n == "string" ? n : null };
796
882
  }
797
- function an(e) {
798
- const { session: a } = Q(), t = e ?? nn;
883
+ function bn(e) {
884
+ const { session: a } = J(), n = e ?? hn;
799
885
  return C(() => {
800
- const o = ie(a.state.value);
801
- return o ? t(o.user) : null;
886
+ const o = ue(a.state.value);
887
+ return o ? n(o.user) : null;
802
888
  });
803
889
  }
804
- const on = { class: "flex min-h-screen flex-col bg-surface-page text-base text-content antialiased" }, sn = ["aria-label"], ln = { class: "flex flex-1" }, rn = { class: "flex min-w-0 flex-1 overflow-x-clip" }, cn = { "data-dialog-inert-skip": "" }, un = /* @__PURE__ */ I({
890
+ const gn = { class: "flex min-h-screen flex-col bg-surface-page text-base text-content antialiased" }, yn = ["aria-label"], wn = { class: "flex flex-1" }, xn = { class: "flex min-w-0 flex-1 overflow-x-clip" }, _n = { "data-dialog-inert-skip": "" }, kn = /* @__PURE__ */ z({
805
891
  __name: "BackofficeShell",
806
892
  props: {
807
893
  home: { default: void 0 },
808
894
  identity: { type: Function, default: void 0 },
809
- progress: { default: void 0 }
895
+ progress: { default: void 0 },
896
+ pullToRefresh: { type: Boolean, default: !0 }
810
897
  },
811
898
  setup(e) {
812
- const a = e, { t } = N(), { session: o } = Q(), s = ke(), c = an(a.identity), r = C(() => ie(o.state.value) !== null), m = ne("accountSheet");
813
- return (l, v) => (u(), h("div", on, [
814
- e.progress?.visible.value ? (u(), h("div", {
899
+ const a = e, { t: n } = B(), { session: o } = J(), r = $e(), c = bn(a.identity);
900
+ Q(Se, N(0));
901
+ const s = C(() => ue(o.state.value) !== null), i = ae("accountSheet");
902
+ return (l, p) => (d(), b("div", gn, [
903
+ e.progress?.visible.value ? (d(), b("div", {
815
904
  key: 0,
816
905
  role: "progressbar",
817
- "aria-label": n(t)("core.state.loading"),
906
+ "aria-label": t(n)("core.state.loading"),
818
907
  "data-shell-progress": "",
819
908
  class: "fixed inset-x-0 top-0 z-10000 flex h-1 justify-center bg-primary-800"
820
- }, [...v[0] || (v[0] = [
821
- d("div", { class: "animate-grow-and-shrink-width bg-primary-600 motion-reduce:w-full motion-reduce:animate-none motion-reduce:opacity-60" }, null, -1)
822
- ])], 8, sn)) : L("", !0),
823
- p(n(H), { name: "banner" }),
824
- p(Ft, { enabled: r.value }, K({
825
- default: T(() => [
826
- p(tn, { home: e.home }, K({ _: 2 }, [
909
+ }, [...p[0] || (p[0] = [
910
+ f("div", { class: "animate-grow-and-shrink-width bg-primary-600 motion-reduce:w-full motion-reduce:animate-none motion-reduce:opacity-60" }, null, -1)
911
+ ])], 8, yn)) : S("", !0),
912
+ h(t(X), { name: "banner" }),
913
+ h(tn, { enabled: s.value }, K({
914
+ default: A(() => [
915
+ e.pullToRefresh && s.value ? (d(), R(jt, { key: 0 })) : S("", !0),
916
+ h(vn, { home: e.home }, K({ _: 2 }, [
827
917
  l.$slots.brand ? {
828
918
  name: "brand",
829
- fn: T((g) => [
830
- z(l.$slots, "brand", U(X(g)))
919
+ fn: A((g) => [
920
+ I(l.$slots, "brand", W(Y(g)))
831
921
  ]),
832
922
  key: "0"
833
923
  } : void 0,
834
924
  l.$slots["top-bar-end"] ? {
835
925
  name: "end",
836
- fn: T(() => [
837
- z(l.$slots, "top-bar-end")
926
+ fn: A(() => [
927
+ I(l.$slots, "top-bar-end")
838
928
  ]),
839
929
  key: "1"
840
930
  } : void 0
841
931
  ]), 1032, ["home"]),
842
- d("div", ln, [
843
- n(c) ? (u(), O(It, {
932
+ f("div", wn, [
933
+ t(c) ? (d(), R(Yt, {
844
934
  key: 0,
845
- identity: n(c),
935
+ identity: t(c),
846
936
  home: e.home
847
937
  }, K({ _: 2 }, [
848
938
  l.$slots.brand ? {
849
939
  name: "brand",
850
- fn: T((g) => [
851
- z(l.$slots, "brand", U(X(g)))
940
+ fn: A((g) => [
941
+ I(l.$slots, "brand", W(Y(g)))
852
942
  ]),
853
943
  key: "0"
854
944
  } : void 0,
855
945
  l.$slots.footer ? {
856
946
  name: "footer",
857
- fn: T(() => [
858
- z(l.$slots, "footer")
947
+ fn: A(() => [
948
+ I(l.$slots, "footer")
859
949
  ]),
860
950
  key: "1"
861
951
  } : void 0
862
- ]), 1032, ["identity", "home"])) : L("", !0),
863
- d("div", rn, [
864
- d("main", {
865
- class: _(["flex min-w-0 flex-1 flex-col", n(s).hasShell.value ? "" : "p-4 md:px-8 md:py-6"]),
866
- style: ge(n(s).hasShell.value ? void 0 : { paddingBottom: "calc(var(--bottom-dock-h, 0px) + 1rem)" })
952
+ ]), 1032, ["identity", "home"])) : S("", !0),
953
+ f("div", xn, [
954
+ f("main", {
955
+ class: $(["flex min-w-0 flex-1 flex-col", t(r).hasShell.value ? "" : "p-4 md:px-8 md:py-6"]),
956
+ style: oe(t(r).hasShell.value ? void 0 : { paddingBottom: "calc(var(--bottom-dock-h, 0px) + 1rem)" })
867
957
  }, [
868
- p(n(He))
958
+ h(t(et))
869
959
  ], 6)
870
960
  ])
871
961
  ]),
872
- p(n(Ge), {
873
- class: _(r.value ? "md:left-64" : "")
962
+ h(t(Ze), {
963
+ class: $(s.value ? "md:left-64" : "")
874
964
  }, null, 8, ["class"])
875
965
  ]),
876
966
  _: 2
877
967
  }, [
878
- n(c) ? {
968
+ t(c) ? {
879
969
  name: "drawer",
880
- fn: T(({ select: g, dismiss: x }) => [
881
- p(Lt, {
882
- identity: n(c),
970
+ fn: A(({ select: g, dismiss: v }) => [
971
+ h(Dt, {
972
+ identity: t(c),
883
973
  home: e.home,
884
974
  onSelect: g,
885
- onAccount: (k) => x(() => m.value?.present())
975
+ onAccount: (x) => v(() => i.value?.present())
886
976
  }, K({ _: 2 }, [
887
977
  l.$slots.brand ? {
888
978
  name: "brand",
889
- fn: T((k) => [
890
- z(l.$slots, "brand", U(X(k)))
979
+ fn: A((x) => [
980
+ I(l.$slots, "brand", W(Y(x)))
891
981
  ]),
892
982
  key: "0"
893
983
  } : void 0,
894
984
  l.$slots.footer ? {
895
985
  name: "footer",
896
- fn: T(() => [
897
- z(l.$slots, "footer")
986
+ fn: A(() => [
987
+ I(l.$slots, "footer")
898
988
  ]),
899
989
  key: "1"
900
990
  } : void 0
@@ -903,79 +993,80 @@ const on = { class: "flex min-h-screen flex-col bg-surface-page text-base text-c
903
993
  key: "0"
904
994
  } : void 0
905
995
  ]), 1032, ["enabled"]),
906
- n(c) ? (u(), O(ft, {
996
+ t(c) ? (d(), R(gt, {
907
997
  key: 1,
908
998
  ref_key: "accountSheet",
909
- ref: m,
910
- identity: n(c)
911
- }, null, 8, ["identity"])) : L("", !0),
912
- (u(), O(Re, { to: "body" }, [
913
- d("div", cn, [
914
- p(n(qe))
999
+ ref: i,
1000
+ identity: t(c)
1001
+ }, null, 8, ["identity"])) : S("", !0),
1002
+ (d(), R(Fe, { to: "body" }, [
1003
+ f("div", _n, [
1004
+ h(t(Je))
915
1005
  ])
916
1006
  ])),
917
- p(Ye),
918
- p(n(H), { name: "host" })
1007
+ h(Qe),
1008
+ h(t(X), { name: "host" })
919
1009
  ]));
920
1010
  }
921
1011
  });
922
- function dn(e = tt) {
923
- const a = Be(!1);
924
- let t;
1012
+ function $n(e = it) {
1013
+ const a = Ke(!1);
1014
+ let n;
925
1015
  return {
926
1016
  visible: a,
927
1017
  start() {
928
- clearTimeout(t), t = setTimeout(() => a.value = !0, e);
1018
+ clearTimeout(n), n = setTimeout(() => a.value = !0, e);
929
1019
  },
930
1020
  done() {
931
- clearTimeout(t), t = void 0, a.value = !1;
1021
+ clearTimeout(n), n = void 0, a.value = !1;
932
1022
  }
933
1023
  };
934
1024
  }
935
- function qn(e = {}) {
936
- const a = dn(), { brand: t, footer: o, topBarEnd: s } = e;
937
- return { component: I({
1025
+ function ra(e = {}) {
1026
+ const a = $n(), { brand: n, footer: o, topBarEnd: r } = e;
1027
+ return { component: z({
938
1028
  name: "BackofficeShell",
939
1029
  setup() {
940
- return () => Z(
941
- un,
1030
+ return () => ee(
1031
+ kn,
942
1032
  {
943
1033
  home: e.home,
944
1034
  // The application's session produces U; the shell reads it as the SessionUser it is guaranteed to be.
945
1035
  identity: e.identity,
946
- progress: a
1036
+ progress: a,
1037
+ pullToRefresh: e.pullToRefresh
947
1038
  },
948
1039
  {
949
- ...t && { brand: (r) => Z(t, r) },
950
- ...o && { footer: () => Z(o) },
951
- ...s && { "top-bar-end": () => Z(s) }
1040
+ ...n && { brand: (s) => ee(n, s) },
1041
+ ...o && { footer: () => ee(o) },
1042
+ ...r && { "top-bar-end": () => ee(r) }
952
1043
  }
953
1044
  );
954
1045
  }
955
- }), slots: ["headerActions", "accountMenu", "banner", "host"], progress: a };
1046
+ }), slots: ["headerActions", "search", "accountMenu", "banner", "host"], progress: a };
956
1047
  }
957
- const fn = 30 * 6e4, mn = 6e4;
958
- function pn(e, a) {
959
- const t = new DOMParser().parseFromString(e, "text/html").querySelectorAll('script[type="module"][src]');
960
- return Array.from(t, (o) => new URL(o.getAttribute("src") ?? "", a).pathname).sort();
1048
+ const Sn = 30 * 6e4, Ln = 6e4;
1049
+ function Cn(e, a) {
1050
+ const n = new DOMParser().parseFromString(e, "text/html").querySelectorAll('script[type="module"][src]');
1051
+ return Array.from(n, (o) => new URL(o.getAttribute("src") ?? "", a).pathname).sort();
961
1052
  }
962
- function vn() {
1053
+ function En() {
963
1054
  return Array.from(document.querySelectorAll('script[type="module"][src]'), (e) => new URL(e.src, location.href).pathname).sort();
964
1055
  }
965
- function hn(e) {
966
- return I({
1056
+ function Tn(e) {
1057
+ return z({
967
1058
  name: "AppUpdateNotice",
968
1059
  setup() {
969
1060
  if (e.enabled === !1) return () => null;
970
- const { t: a } = N(), t = e.url ?? "/", o = vn();
971
- let s = !1, c = 0;
972
- async function r() {
973
- if (!(s || o.length === 0 || !navigator.onLine || document.visibilityState !== "visible") && !(Date.now() - c < mn)) {
1061
+ const { t: a } = B(), n = e.url ?? "/", o = En();
1062
+ let r = !1, c = 0;
1063
+ async function s() {
1064
+ if (!(r || o.length === 0 || !navigator.onLine || document.visibilityState !== "visible") && !(Date.now() - c < Ln)) {
974
1065
  c = Date.now();
975
1066
  try {
976
- const v = await fetch(t, { cache: "no-store", credentials: "include" }), g = v.ok ? pn(await v.text(), location.href) : [];
1067
+ const p = await fetch(n, { cache: "no-store", credentials: "include" }), g = p.ok ? Cn(await p.text(), location.href) : [];
977
1068
  if (g.length === 0 || g.join() === o.join()) return;
978
- s = !0, we.info(a("core.shell.update.available"), {
1069
+ r = !0, _e.info(a("core.shell.update.available"), {
979
1070
  duration: 1 / 0,
980
1071
  action: { label: a("core.shell.update.reload"), onClick: () => location.reload() }
981
1072
  });
@@ -983,125 +1074,88 @@ function hn(e) {
983
1074
  }
984
1075
  }
985
1076
  }
986
- const m = () => void r();
987
- document.addEventListener("visibilitychange", m);
988
- const l = setInterval(r, e.checkEveryMs ?? fn);
989
- return le(() => {
990
- document.removeEventListener("visibilitychange", m), clearInterval(l);
1077
+ const i = () => void s();
1078
+ document.addEventListener("visibilitychange", i);
1079
+ const l = setInterval(s, e.checkEveryMs ?? Sn);
1080
+ return ce(() => {
1081
+ document.removeEventListener("visibilitychange", i), clearInterval(l);
991
1082
  }), () => null;
992
1083
  }
993
1084
  });
994
1085
  }
995
- function Gn(e = {}) {
996
- return _e({
1086
+ function ia(e = {}) {
1087
+ return Ce({
997
1088
  id: "vue-core.app-updates",
998
- contributions: [{ id: "vue-core.app-updates", slot: "host", component: hn(e), scope: "always" }]
1089
+ contributions: [{ id: "vue-core.app-updates", slot: "host", component: Tn(e), scope: "always" }]
999
1090
  });
1000
1091
  }
1001
- const bn = {
1002
- key: 1,
1003
- "aria-hidden": "true",
1004
- "data-header-action-badge": "",
1005
- 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"
1006
- }, Hn = /* @__PURE__ */ I({
1007
- __name: "HeaderAction",
1008
- props: {
1009
- label: {},
1010
- icon: {},
1011
- to: {},
1012
- badge: {}
1013
- },
1014
- emits: ["click"],
1015
- setup(e, { emit: a }) {
1016
- const t = a, o = be(re, "bar"), s = C(() => o === "rail");
1017
- return (c, r) => (u(), O(Ne(e.to ? n(ce) : "button"), Y(e.to ? { to: e.to } : { type: "button" }, {
1018
- "aria-label": e.label,
1019
- "data-header-action": "",
1020
- 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", s.value ? "size-9 text-gray-300 hover:bg-white/10 hover:text-white" : "size-8 text-content-link active:bg-tint-soft"],
1021
- onClick: r[0] || (r[0] = (m) => t("click"))
1022
- }), {
1023
- default: T(() => [
1024
- p(n(B), {
1025
- name: e.icon,
1026
- size: s.value ? 20 : 18
1027
- }, null, 8, ["name", "size"]),
1028
- e.badge === "dot" ? (u(), h("span", {
1029
- key: 0,
1030
- "aria-hidden": "true",
1031
- "data-header-action-badge": "",
1032
- class: _(["absolute top-1 right-1 size-2.5 rounded-full bg-status-danger-solid ring-2", s.value ? "ring-anchor-900" : "ring-surface-page"])
1033
- }, null, 2)) : e.badge !== void 0 ? (u(), h("span", bn, D(e.badge), 1)) : L("", !0)
1034
- ]),
1035
- _: 1
1036
- }, 16, ["aria-label", "class"]));
1037
- }
1038
- }), gn = 1e3, ee = (e) => e.path.split("/").filter(Boolean).length;
1039
- function yn(e) {
1092
+ const An = 1e3, te = (e) => e.path.split("/").filter(Boolean).length;
1093
+ function Mn(e) {
1040
1094
  if (typeof document > "u" || typeof document.startViewTransition != "function") return () => {
1041
1095
  };
1042
1096
  let a = null;
1043
- const t = () => window.matchMedia("(max-width: 1023px)").matches && !window.matchMedia("(prefers-reduced-motion: reduce)").matches && !document.body.classList.contains(nt), o = e.beforeResolve((m, l) => {
1044
- if (s(), !l.matched.length || m.path === l.path || !t()) return;
1045
- const v = ee(m) > ee(l) ? "forward" : ee(m) < ee(l) ? "back" : null;
1046
- if (!v) return;
1097
+ const n = () => window.matchMedia("(max-width: 1023px)").matches && !window.matchMedia("(prefers-reduced-motion: reduce)").matches && !document.body.classList.contains(st), o = e.beforeResolve((i, l) => {
1098
+ if (r(), !l.matched.length || i.path === l.path || !n()) return;
1099
+ const p = te(i) > te(l) ? "forward" : te(i) < te(l) ? "back" : null;
1100
+ if (!p) return;
1047
1101
  const g = document.documentElement;
1048
- return g.dataset.navDirection = v, new Promise((x) => {
1049
- const k = document.startViewTransition(
1050
- () => new Promise(($) => {
1051
- const y = setTimeout($, gn);
1102
+ return g.dataset.navDirection = p, new Promise((v) => {
1103
+ const x = document.startViewTransition(
1104
+ () => new Promise((_) => {
1105
+ const w = setTimeout(_, An);
1052
1106
  a = () => {
1053
- clearTimeout(y), $();
1054
- }, x();
1107
+ clearTimeout(w), _();
1108
+ }, v();
1055
1109
  })
1056
1110
  );
1057
- k.ready.catch(() => {
1058
- }), k.finished.catch(() => {
1111
+ x.ready.catch(() => {
1112
+ }), x.finished.catch(() => {
1059
1113
  }).finally(() => {
1060
- g.dataset.navDirection === v && delete g.dataset.navDirection;
1114
+ g.dataset.navDirection === p && delete g.dataset.navDirection;
1061
1115
  });
1062
1116
  });
1063
1117
  });
1064
- function s() {
1065
- const m = a;
1066
- a = null, m && ye().then(m);
1118
+ function r() {
1119
+ const i = a;
1120
+ a = null, i && ie().then(i);
1067
1121
  }
1068
- const c = e.afterEach(s), r = e.onError(s);
1122
+ const c = e.afterEach(r), s = e.onError(r);
1069
1123
  return () => {
1070
- o(), c(), r(), delete document.documentElement.dataset.navDirection, a?.(), a = null;
1124
+ o(), c(), s(), delete document.documentElement.dataset.navDirection, a?.(), a = null;
1071
1125
  };
1072
1126
  }
1073
- const xn = I({
1127
+ const In = z({
1074
1128
  name: "ViewTransitions",
1075
1129
  setup() {
1076
- return le(yn(ue())), () => null;
1130
+ return ce(Mn(de())), () => null;
1077
1131
  }
1078
1132
  });
1079
- function Qn() {
1080
- return _e({
1133
+ function ca() {
1134
+ return Ce({
1081
1135
  id: "vue-core.view-transitions",
1082
- contributions: [{ id: "vue-core.view-transitions", slot: "host", component: xn, scope: "always" }]
1136
+ contributions: [{ id: "vue-core.view-transitions", slot: "host", component: In, scope: "always" }]
1083
1137
  });
1084
1138
  }
1085
1139
  export {
1086
- dt as AccountMenu,
1087
- pe as AccountMenuItem,
1088
- ft as AccountSheet,
1089
- un as BackofficeShell,
1090
- Hn as HeaderAction,
1091
- Lt as NavigationDrawer,
1092
- Le as NavigationList,
1093
- Wt as NavigationMenuButton,
1094
- de as ShellBrand,
1095
- It as ShellSidebar,
1096
- Ft as ShellStage,
1097
- tn as ShellTopBar,
1098
- Gn as appUpdates,
1099
- qn as backofficeShell,
1100
- dn as createNavigationProgress,
1101
- nn as defaultIdentity,
1102
- pt as groupNavigation,
1103
- yn as installViewTransitions,
1104
- Pt as useNavigationDrawer,
1105
- an as useShellIdentity,
1106
- Qn as viewTransitions
1140
+ bt as AccountMenu,
1141
+ ve as AccountMenuItem,
1142
+ gt as AccountSheet,
1143
+ kn as BackofficeShell,
1144
+ fa as HeaderAction,
1145
+ Dt as NavigationDrawer,
1146
+ Me as NavigationList,
1147
+ an as NavigationMenuButton,
1148
+ fe as ShellBrand,
1149
+ Yt as ShellSidebar,
1150
+ tn as ShellStage,
1151
+ vn as ShellTopBar,
1152
+ ia as appUpdates,
1153
+ ra as backofficeShell,
1154
+ $n as createNavigationProgress,
1155
+ hn as defaultIdentity,
1156
+ wt as groupNavigation,
1157
+ Mn as installViewTransitions,
1158
+ De as useNavigationDrawer,
1159
+ bn as useShellIdentity,
1160
+ ca as viewTransitions
1107
1161
  };