@wssto2/vue-core 0.2.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 (309) hide show
  1. package/README.md +36 -0
  2. package/dist/AccessGate.vue_vue_type_script_setup_true_lang-DcbZBINh.js +22 -0
  3. package/dist/AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js +76 -0
  4. package/dist/ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js +45 -0
  5. package/dist/Activity-2gGxQn7v.js +156 -0
  6. package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CeKK8_g5.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js} +48 -47
  7. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-e4hzkzg3.js → AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js} +1 -1
  8. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CWLB3xsR.js → AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js} +4 -4
  9. package/dist/{Banner.vue_vue_type_script_setup_true_lang-n_wGPIIu.js → Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js} +1 -1
  10. package/dist/{BottomDock.vue_vue_type_script_setup_true_lang-DhlMnPC2.js → BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js} +1 -1
  11. package/dist/{Button.vue_vue_type_script_setup_true_lang-B1eZgLae.js → Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js} +1 -1
  12. package/dist/Changes-Bm8xvagD.js +129 -0
  13. package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js +1485 -0
  14. package/dist/DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js +52 -0
  15. package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +255 -0
  16. package/dist/DeadLetters-CMRtXn_N.js +104 -0
  17. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-DyhYHRyz.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js} +1 -1
  18. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-BeGpHMUP.js → EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js} +1 -1
  19. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js +276 -0
  20. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js +136 -0
  21. package/dist/FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js +38 -0
  22. package/dist/General-CTqd0SLK.js +145 -0
  23. package/dist/HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js +45 -0
  24. package/dist/{Icon.vue_vue_type_script_lang-DtC4_mkz.js → Icon.vue_vue_type_script_lang-D7oC-d-S.js} +54 -37
  25. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-Csfv6Sel.js → IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js} +1 -1
  26. package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
  27. package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-CvwoT1JF.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js} +2 -2
  28. package/dist/{Menu.vue_vue_type_script_setup_true_lang-CrMj6KPD.js → Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js} +66 -58
  29. package/dist/{Modal.vue_vue_type_script_setup_true_lang-BQZM49gC.js → Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js} +4 -4
  30. package/dist/NewRolePage-DTOWIxxC.js +42 -0
  31. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js +31 -0
  32. package/dist/NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js +113 -0
  33. package/dist/OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js +95 -0
  34. package/dist/PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js +47 -0
  35. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BQmv3cLb.js → Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js} +1 -1
  36. package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +46 -0
  37. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-ElDizaW2.js → PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js} +1 -1
  38. package/dist/Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js +125 -0
  39. package/dist/ProfilePage-BlpiWH_W.js +654 -0
  40. package/dist/{ProgressTrack.vue_vue_type_script_setup_true_lang-1DDaNs2W.js → ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js} +2 -2
  41. package/dist/RecordHeader.vue_vue_type_script_setup_true_lang-C_ymvhHU.js +64 -0
  42. package/dist/ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js +173 -0
  43. package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-CmwvSytD.js +300 -0
  44. package/dist/RolePage-DZk7BZOc.js +315 -0
  45. package/dist/RolesPage-DzGGCMnm.js +115 -0
  46. package/dist/SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js +23 -0
  47. package/dist/SectionList.vue_vue_type_script_setup_true_lang-BFYls8fR.js +148 -0
  48. package/dist/SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js +314 -0
  49. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js +58 -0
  50. package/dist/SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js +423 -0
  51. package/dist/SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js +111 -0
  52. package/dist/Sessions-CWqjjTr1.js +96 -0
  53. package/dist/SettingsPage-C4s0IdkW.js +255 -0
  54. package/dist/Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js +145 -0
  55. package/dist/SignIn-zzKY__df.js +140 -0
  56. package/dist/SignInPage-Rqnus_s-.js +60 -0
  57. package/dist/SignInTable.vue_vue_type_script_setup_true_lang-CEbAvZ_C.js +79 -0
  58. package/dist/SignIns-Cnf9BVR0.js +66 -0
  59. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js +93 -0
  60. package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +64 -0
  61. package/dist/Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js +155 -0
  62. package/dist/TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js +269 -0
  63. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +68 -0
  64. package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +164 -0
  65. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CSY_mMm1.js → Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js} +1 -1
  66. package/dist/UserRecord-DqigxVxH.js +267 -0
  67. package/dist/UsersList-DNlZsI9J.js +155 -0
  68. package/dist/ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js +28 -0
  69. package/dist/access/AddRoleDialog.vue.d.ts +19 -0
  70. package/dist/access/BindingRow.vue.d.ts +19 -0
  71. package/dist/access/EffectiveAccess.vue.d.ts +12 -0
  72. package/dist/access/NewRolePage.vue.d.ts +2 -0
  73. package/dist/access/PermissionTree.vue.d.ts +13 -0
  74. package/dist/access/PersonAccess.vue.d.ts +21 -0
  75. package/dist/access/ReplaceRoleDialog.vue.d.ts +17 -0
  76. package/dist/access/RoleCompareDialog.vue.d.ts +14 -0
  77. package/dist/access/RoleEditor.vue.d.ts +28 -0
  78. package/dist/access/RolePage.vue.d.ts +2 -0
  79. package/dist/access/RolesPage.vue.d.ts +2 -0
  80. package/dist/access/api.d.ts +26 -0
  81. package/dist/access/catalogue.d.ts +64 -0
  82. package/dist/access/context.d.ts +20 -0
  83. package/dist/access/effective.d.ts +42 -0
  84. package/dist/access/feature.d.ts +27 -0
  85. package/dist/access/index.d.ts +13 -0
  86. package/dist/access/index.js +15 -0
  87. package/dist/access/labels.d.ts +35 -0
  88. package/dist/access/refusals.d.ts +6 -0
  89. package/dist/access/routes.d.ts +45 -0
  90. package/dist/access/scopes.d.ts +20 -0
  91. package/dist/app/contributions.d.ts +1 -1
  92. package/dist/app/feature.d.ts +8 -0
  93. package/dist/app/index.js +259 -296
  94. package/dist/bottomDock-BZEiOPYZ.js +12 -0
  95. package/dist/button/Button.vue.d.ts +3 -3
  96. package/dist/button/index.js +1 -1
  97. package/dist/chrome-BS3xJcad.js +93 -0
  98. package/dist/client/client.d.ts +13 -0
  99. package/dist/client/index.d.ts +3 -1
  100. package/dist/client/index.js +11 -138
  101. package/dist/client/route.d.ts +59 -0
  102. package/dist/client-k9euDWF4.js +147 -0
  103. package/dist/closeOverlays-CjVsIrpL.js +8 -0
  104. package/dist/collection/definition.d.ts +3 -0
  105. package/dist/collection/http.d.ts +4 -2
  106. package/dist/collection/index.js +74 -2428
  107. package/dist/collection/useCollection.d.ts +2 -0
  108. package/dist/content/index.js +37 -66
  109. package/dist/contributions-DsfmDoRD.js +26 -0
  110. package/dist/control-7EP4tjYy.js +313 -0
  111. package/dist/controls/DateButton.vue.d.ts +1 -1
  112. package/dist/controls/PopupButton.vue.d.ts +1 -1
  113. package/dist/controls/index.js +11 -10
  114. package/dist/defineRoutes-BGAdiIrt.js +19 -0
  115. package/dist/{describeError-l5T9b8Uv.js → describeError-Ctga6GcS.js} +1 -1
  116. package/dist/environment-Dva-SG8D.js +6 -0
  117. package/dist/{error-Bb_dr_Ay.js → error-CD7x0Jrz.js} +2 -2
  118. package/dist/feature-DdUAfyi4.js +25 -0
  119. package/dist/fieldMessages-C3Rpbktw.js +25 -0
  120. package/dist/form/CheckboxField.vue.d.ts +1 -1
  121. package/dist/form/CommandDialog.vue.d.ts +1 -1
  122. package/dist/form/DateField.vue.d.ts +1 -1
  123. package/dist/form/DateTimeField.vue.d.ts +1 -1
  124. package/dist/form/EditorPage.vue.d.ts +1 -1
  125. package/dist/form/Field.vue.d.ts +1 -1
  126. package/dist/form/FileField.vue.d.ts +1 -1
  127. package/dist/form/FormGroup.vue.d.ts +1 -1
  128. package/dist/form/FormGroupButton.vue.d.ts +1 -1
  129. package/dist/form/FormRow.vue.d.ts +1 -1
  130. package/dist/form/I18nField.vue.d.ts +3 -3
  131. package/dist/form/MoneyField.vue.d.ts +1 -1
  132. package/dist/form/MonthYearField.vue.d.ts +1 -1
  133. package/dist/form/NumberCell.vue.d.ts +1 -1
  134. package/dist/form/NumberField.vue.d.ts +2 -2
  135. package/dist/form/OtpInput.vue.d.ts +2 -2
  136. package/dist/form/PhotoField.vue.d.ts +1 -1
  137. package/dist/form/SwitchField.vue.d.ts +1 -1
  138. package/dist/form/TextField.vue.d.ts +3 -3
  139. package/dist/form/TextareaField.vue.d.ts +3 -3
  140. package/dist/form/TimeField.vue.d.ts +1 -1
  141. package/dist/form/date/DatePickerSheet.vue.d.ts +1 -1
  142. package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
  143. package/dist/form/index.js +1159 -3474
  144. package/dist/guards-Dve61KjR.js +51 -0
  145. package/dist/http-CNcDHSOj.js +194 -0
  146. package/dist/i18n/index.d.ts +281 -0
  147. package/dist/i18n/index.js +52 -52
  148. package/dist/icon/core.d.ts +17 -0
  149. package/dist/icon/index.js +1 -1
  150. package/dist/identity/ImpersonationBanner.vue.d.ts +2 -0
  151. package/dist/identity/LocaleSync.vue.d.ts +2 -0
  152. package/dist/identity/SessionExpiry.vue.d.ts +2 -0
  153. package/dist/identity/SignInAsButton.vue.d.ts +15 -0
  154. package/dist/identity/SignInPage.vue.d.ts +2 -0
  155. package/dist/identity/context.d.ts +7 -0
  156. package/dist/identity/feature.d.ts +16 -0
  157. package/dist/identity/fieldMessages.d.ts +15 -0
  158. package/dist/identity/index.d.ts +16 -0
  159. package/dist/identity/index.js +18 -0
  160. package/dist/identity/profile/DetailsPanel.vue.d.ts +11 -0
  161. package/dist/identity/profile/EmailChangeDialog.vue.d.ts +14 -0
  162. package/dist/identity/profile/EmailPanel.vue.d.ts +11 -0
  163. package/dist/identity/profile/PanelActions.vue.d.ts +17 -0
  164. package/dist/identity/profile/PasswordPanel.vue.d.ts +2 -0
  165. package/dist/identity/profile/ProfileMenuItem.vue.d.ts +2 -0
  166. package/dist/identity/profile/ProfilePage.vue.d.ts +2 -0
  167. package/dist/identity/profile/SessionsPanel.vue.d.ts +2 -0
  168. package/dist/identity/profile/SignInsPanel.vue.d.ts +2 -0
  169. package/dist/identity/profile/VerifyCode.vue.d.ts +49 -0
  170. package/dist/identity/profile/routes.d.ts +13 -0
  171. package/dist/identity/session.d.ts +30 -0
  172. package/dist/identity/shared/ActionRow.vue.d.ts +20 -0
  173. package/dist/identity/shared/ChangeFeed.vue.d.ts +11 -0
  174. package/dist/identity/shared/PageBar.vue.d.ts +12 -0
  175. package/dist/identity/shared/SectionIntro.vue.d.ts +16 -0
  176. package/dist/identity/shared/SessionList.vue.d.ts +19 -0
  177. package/dist/identity/shared/SignInTable.vue.d.ts +11 -0
  178. package/dist/identity/shared/ViewTabs.vue.d.ts +23 -0
  179. package/dist/identity/shared/signInEvents.d.ts +9 -0
  180. package/dist/identity/signIn.d.ts +27 -0
  181. package/dist/identity/useSignInForm.d.ts +20 -0
  182. package/dist/identity/user.d.ts +6 -0
  183. package/dist/identity/users/DeactivateDialog.vue.d.ts +18 -0
  184. package/dist/identity/users/NewUserDialog.vue.d.ts +9 -0
  185. package/dist/identity/users/SetPasswordDialog.vue.d.ts +16 -0
  186. package/dist/identity/users/UserRecord.vue.d.ts +2 -0
  187. package/dist/identity/users/UsersList.vue.d.ts +2 -0
  188. package/dist/identity/users/access.d.ts +4 -0
  189. package/dist/identity/users/context.d.ts +9 -0
  190. package/dist/identity/users/feature.d.ts +34 -0
  191. package/dist/identity/users/languages.d.ts +4 -0
  192. package/dist/identity/users/list.d.ts +8 -0
  193. package/dist/identity/users/person.d.ts +26 -0
  194. package/dist/identity/users/personSections.d.ts +22 -0
  195. package/dist/identity/users/routes.d.ts +22 -0
  196. package/dist/identity/users/sections/Activity.vue.d.ts +2 -0
  197. package/dist/identity/users/sections/Changes.vue.d.ts +2 -0
  198. package/dist/identity/users/sections/General.vue.d.ts +2 -0
  199. package/dist/identity/users/sections/Sessions.vue.d.ts +2 -0
  200. package/dist/identity/users/sections/SignIn.vue.d.ts +2 -0
  201. package/dist/identity/users/sections/SignIns.vue.d.ts +2 -0
  202. package/dist/identity/users/status.d.ts +4 -0
  203. package/dist/index-BsJ92eub.js +504 -0
  204. package/dist/index-CGv-u1Ws.js +459 -0
  205. package/dist/index-GcLnFF-z.js +706 -0
  206. package/dist/index.d.ts +1 -1
  207. package/dist/index.js +1 -1
  208. package/dist/internal/languageName.d.ts +2 -0
  209. package/dist/keepAlive-WYQGRhuz.js +48 -0
  210. package/dist/languageName-CItV_SOv.js +11 -0
  211. package/dist/languages-BShG9LpE.js +10 -0
  212. package/dist/leaveGuard-Cc8yeLxM.js +72 -0
  213. package/dist/modal/Modal.vue.d.ts +1 -1
  214. package/dist/modal/Sheet.vue.d.ts +2 -0
  215. package/dist/modal/index.js +5 -5
  216. package/dist/modules/access/entities.d.ts +112 -0
  217. package/dist/modules/access/routes.d.ts +67 -0
  218. package/dist/modules/access/schemas.d.ts +73 -0
  219. package/dist/modules/events/entities.d.ts +16 -0
  220. package/dist/modules/events/routes.d.ts +17 -0
  221. package/dist/modules/events/schemas.d.ts +16 -0
  222. package/dist/modules/identity/entities.d.ts +150 -0
  223. package/dist/modules/identity/routes.d.ts +118 -0
  224. package/dist/modules/identity/schemas.d.ts +145 -0
  225. package/dist/modules/notification/entities.d.ts +46 -0
  226. package/dist/modules/notification/routes.d.ts +26 -0
  227. package/dist/modules/notification/schemas.d.ts +25 -0
  228. package/dist/{navigation-B33ikiCS.js → navigation-Cm3iChlR.js} +21 -20
  229. package/dist/neighbors-DpaIMQAL.js +86 -0
  230. package/dist/notifications/InboxPanel.vue.d.ts +16 -0
  231. package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
  232. package/dist/notifications/NotificationBell.vue.d.ts +2 -0
  233. package/dist/notifications/SettingsLink.vue.d.ts +6 -0
  234. package/dist/notifications/context.d.ts +20 -0
  235. package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
  236. package/dist/notifications/deadletters/access.d.ts +3 -0
  237. package/dist/notifications/deadletters/list.d.ts +3 -0
  238. package/dist/notifications/deadletters/routes.d.ts +13 -0
  239. package/dist/notifications/feature.d.ts +31 -0
  240. package/dist/notifications/inbox.d.ts +62 -0
  241. package/dist/notifications/index.d.ts +13 -0
  242. package/dist/notifications/index.js +8 -0
  243. package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
  244. package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
  245. package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
  246. package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
  247. package/dist/notifications/settings/categoryText.d.ts +9 -0
  248. package/dist/notifications/settings/routes.d.ts +13 -0
  249. package/dist/notifications/settings/settings.d.ts +18 -0
  250. package/dist/notifications/settings/state.d.ts +16 -0
  251. package/dist/notifications/state.d.ts +27 -0
  252. package/dist/notifications/stream.d.ts +21 -0
  253. package/dist/options-Ba_0uLWN.js +18 -0
  254. package/dist/overlay/AlertDialog.vue.d.ts +3 -3
  255. package/dist/overlay/Popover.vue.d.ts +1 -1
  256. package/dist/overlay/closeOverlays.d.ts +7 -0
  257. package/dist/overlay/index.js +21 -20
  258. package/dist/page/AdaptivePageShell.vue.d.ts +2 -2
  259. package/dist/page/ResourceHeader.vue.d.ts +2 -2
  260. package/dist/page/index.js +99 -457
  261. package/dist/phone/PhoneField.vue.d.ts +2 -2
  262. package/dist/phone/index.js +68 -67
  263. package/dist/platform/index.d.ts +2 -2
  264. package/dist/platform/index.js +73 -90
  265. package/dist/platform/platform.d.ts +2 -2
  266. package/dist/platform/session.d.ts +22 -1
  267. package/dist/platform-q3cjODLx.js +255 -0
  268. package/dist/resource/index.js +8 -248
  269. package/dist/route-goWMxDUN.js +13 -0
  270. package/dist/routeResource-DstM0hvf.js +82 -0
  271. package/dist/router/guards.d.ts +7 -1
  272. package/dist/router/index.js +23 -37
  273. package/dist/router/navigation.d.ts +1 -1
  274. package/dist/rowLayout-BqTEhEuy.js +603 -0
  275. package/dist/sectionIndex-BS0ic5W7.js +86 -0
  276. package/dist/{sections-LtxV5Mtk.js → sections-CntvUTxn.js} +1 -1
  277. package/dist/shell/AccountMenuItem.vue.d.ts +1 -1
  278. package/dist/shell/BackofficeShell.vue.d.ts +2 -2
  279. package/dist/shell/NavigationList.vue.d.ts +1 -1
  280. package/dist/shell/ShellBrand.vue.d.ts +1 -1
  281. package/dist/shell/backofficeShell.d.ts +1 -1
  282. package/dist/shell/identity.d.ts +1 -1
  283. package/dist/shell/index.js +491 -595
  284. package/dist/state/ProgressTrack.vue.d.ts +1 -1
  285. package/dist/state/index.js +59 -92
  286. package/dist/status-BuP3ULjH.js +33 -0
  287. package/dist/styles.css +1 -1
  288. package/dist/suggestions-BxMm6MQA.js +138 -0
  289. package/dist/testing/index.js +1 -1
  290. package/dist/toast-D9Z5To38.js +13 -0
  291. package/dist/transport-BnP7WC0Y.js +4 -0
  292. package/dist/useCommand-BkONMn3X.js +135 -0
  293. package/dist/useLoad-CYRVx6HW.js +39 -0
  294. package/dist/useResourceForm-D1hIpwW5.js +52 -0
  295. package/dist/useSaveChrome-chi6D3HY.js +25 -0
  296. package/dist/useSheetDrag-OsD6Eb6I.js +72 -0
  297. package/dist/useTypedEntry-aTfPBAhw.js +857 -0
  298. package/package.json +26 -5
  299. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-OKW8pKYU.js +0 -78
  300. package/dist/SectionList.vue_vue_type_script_setup_true_lang-L9ita_Kx.js +0 -230
  301. package/dist/SelectField.vue_vue_type_script_setup_true_lang-DZTrU8NJ.js +0 -661
  302. package/dist/Sheet.vue_vue_type_script_setup_true_lang-CtkJ-4e3.js +0 -210
  303. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-CGTuEnTv.js +0 -243
  304. package/dist/chrome-D9pwD6iS.js +0 -101
  305. package/dist/environment-D3nozt9a.js +0 -75
  306. package/dist/feature-DyDtyMLU.js +0 -47
  307. package/dist/options-DAkBtYkI.js +0 -330
  308. package/dist/platform-jqlKVJ2e.js +0 -244
  309. package/dist/toast-DvrHQ6Ag.js +0 -131
@@ -0,0 +1,255 @@
1
+ import { c as P } from "./client-k9euDWF4.js";
2
+ import { d as k } from "./context-Ch1r4fdN.js";
3
+ import { a as x, A as q } from "./error-CD7x0Jrz.js";
4
+ import { shallowRef as U } from "vue";
5
+ const _ = (e, n) => e.level === n.level && e.id === n.id, z = (e, n) => Object.prototype.hasOwnProperty.call(e, n);
6
+ function C(e, n = {}) {
7
+ const t = n.covers ?? _;
8
+ function o(r) {
9
+ const s = e();
10
+ return !s || !z(s.permissions, r) || s.unavailable.includes(r) ? null : s.permissions[r] ?? null;
11
+ }
12
+ function a(r, s) {
13
+ const i = o(r);
14
+ return i ? s ? (i.clauses.length > 0 ? i.clauses.map((c) => c.scope) : [i.scope]).some((c) => t(c, s)) : !0 : !1;
15
+ }
16
+ return {
17
+ get root() {
18
+ return e()?.root ?? !1;
19
+ },
20
+ can: a,
21
+ canAny: (r) => r.some((s) => a(s)),
22
+ canAll: (r) => r.every((s) => a(s)),
23
+ held: o
24
+ };
25
+ }
26
+ const A = ["own", "own_location", "all"], m = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
27
+ function $(e, n, t) {
28
+ return !m(e) || typeof e.level != "string" ? (t.push(`${n}: expected { level: string, id?: number }`), { level: "" }) : (e.id !== void 0 && typeof e.id != "number" && t.push(`${n}.id: expected number`), typeof e.id == "number" ? { level: e.level, id: e.id } : { level: e.level });
29
+ }
30
+ function S(e, n, t) {
31
+ return typeof e == "string" && A.includes(e) ? e : (t.push(`${n}: expected one of ${A.join(", ")}`), "own");
32
+ }
33
+ function I(e) {
34
+ const n = [], t = {}, o = { root: !1, permissions: {}, unavailable: [] };
35
+ if (!m(e)) return { snapshot: o, issues: ["access: expected an object"] };
36
+ if (!m(e.permissions)) n.push("access.permissions: expected an object");
37
+ else
38
+ for (const [r, s] of Object.entries(e.permissions)) {
39
+ const i = `access.permissions.${r}`;
40
+ if (!m(s)) {
41
+ n.push(`${i}: expected an object`);
42
+ continue;
43
+ }
44
+ const u = (Array.isArray(s.clauses) ? s.clauses : []).map((c, y) => {
45
+ const l = `${i}.clauses[${y}]`;
46
+ if (!m(c))
47
+ return n.push(`${l}: expected an object`), { scope: { level: "" }, qualifier: "own" };
48
+ const f = { scope: $(c.scope, `${l}.scope`, n), qualifier: S(c.qualifier, `${l}.qualifier`, n) };
49
+ return typeof c.role == "string" ? { ...f, role: c.role } : f;
50
+ });
51
+ t[r] = {
52
+ scope: $(s.scope, `${i}.scope`, n),
53
+ qualifier: S(s.qualifier, `${i}.qualifier`, n),
54
+ clauses: u
55
+ };
56
+ }
57
+ const a = e.unavailable ?? [];
58
+ return (!Array.isArray(a) || !a.every((r) => typeof r == "string")) && n.push("access.unavailable: expected an array of strings"), {
59
+ snapshot: {
60
+ root: e.root === !0,
61
+ permissions: t,
62
+ unavailable: Array.isArray(a) ? a.filter((r) => typeof r == "string") : []
63
+ },
64
+ issues: n
65
+ };
66
+ }
67
+ const T = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
68
+ function j(e, n, t = "navigation") {
69
+ return Array.isArray(e) ? e.flatMap((o, a) => {
70
+ const r = `${t}[${a}]`;
71
+ if (!T(o) || typeof o.i18n != "string")
72
+ return n.push(`${r}: expected an object with an i18n key`), [];
73
+ for (const i of ["icon", "route"])
74
+ o[i] != null && typeof o[i] != "string" && n.push(`${r}.${i}: expected a string`);
75
+ const s = o.children == null ? void 0 : j(o.children, n, `${r}.children`);
76
+ return [
77
+ {
78
+ i18n: o.i18n,
79
+ ...typeof o.icon == "string" && { icon: o.icon },
80
+ ...typeof o.route == "string" && { route: o.route },
81
+ ...s && { children: s }
82
+ }
83
+ ];
84
+ }) : (n.push(`${t}: expected an array`), []);
85
+ }
86
+ const b = (e) => typeof e == "object" && e !== null && !Array.isArray(e), N = (e) => {
87
+ if (b(e) && (typeof e.id == "number" || typeof e.id == "string")) return { id: e.id };
88
+ throw new TypeError("expected an object with a numeric or string id");
89
+ };
90
+ function B(e, n = N) {
91
+ const t = [];
92
+ if (!b(e)) throw O(["expected an object"]);
93
+ let o = null;
94
+ try {
95
+ o = n(e.user);
96
+ } catch (u) {
97
+ t.push(`user: ${u instanceof Error ? u.message : "invalid"}`);
98
+ }
99
+ let a = null;
100
+ if (e.expires_at !== void 0 && e.expires_at !== null) {
101
+ const u = typeof e.expires_at == "string" ? new Date(e.expires_at) : null;
102
+ u === null || Number.isNaN(u.getTime()) ? t.push("expires_at: expected an ISO date-time string") : a = u;
103
+ }
104
+ let r;
105
+ if (e.impersonator !== void 0 && e.impersonator !== null) {
106
+ const u = e.impersonator;
107
+ b(u) && (typeof u.id == "number" || typeof u.id == "string") && typeof u.name == "string" ? r = { id: u.id, name: u.name } : t.push("impersonator: expected { id, name }");
108
+ }
109
+ const s = I(e.access);
110
+ t.push(...s.issues);
111
+ const i = e.navigation === void 0 || e.navigation === null ? void 0 : j(e.navigation, t);
112
+ if (o === null || t.length > 0) throw O(t);
113
+ return { user: o, expiresAt: a, access: s.snapshot, ...r && { impersonator: r }, ...i && { navigation: i } };
114
+ }
115
+ const O = (e) => new q({ kind: "malformed", message: `Unreadable session payload: ${e.join("; ")}` });
116
+ function F(e, n = {}) {
117
+ const { mePath: t = "/auth/me", signOutPath: o = "/auth/logout", parseUser: a } = n;
118
+ return {
119
+ async load(r) {
120
+ try {
121
+ const { data: s } = await e.get(t, { signal: r, handleUnauthorized: !1 });
122
+ return B(s, a);
123
+ } catch (s) {
124
+ if (x(s) && s.kind === "unauthorized") return null;
125
+ throw s;
126
+ }
127
+ },
128
+ async signOut() {
129
+ try {
130
+ await e.post(o, void 0, { handleUnauthorized: !1 });
131
+ } catch (r) {
132
+ if (!(x(r) && r.kind === "unauthorized")) throw r;
133
+ }
134
+ }
135
+ };
136
+ }
137
+ function E(e) {
138
+ return e.status === "authenticated" ? e : e.status === "anonymous" && e.reason === "expired" ? e.previous ?? null : null;
139
+ }
140
+ const w = 3e3;
141
+ function H(e, n = {}) {
142
+ const t = U({ status: "unknown" });
143
+ let o = 0;
144
+ const a = new Set(n.beforeSignOut ? [n.beforeSignOut] : []);
145
+ let r = !1, s = null, i = null;
146
+ function u() {
147
+ o++, i?.controller.abort(), i = null;
148
+ }
149
+ async function c(l) {
150
+ const f = new AbortController();
151
+ let h;
152
+ const g = new Promise((d) => {
153
+ h = setTimeout(() => {
154
+ f.abort(), n.onError?.(new Error(`A before-sign-out hook did not finish within ${w} ms; signing out without it.`)), d();
155
+ }, w);
156
+ }), v = Promise.all(
157
+ [...a].map(async (d) => {
158
+ try {
159
+ await d(l, f.signal);
160
+ } catch (p) {
161
+ n.onError?.(p);
162
+ }
163
+ })
164
+ ).then(() => {
165
+ });
166
+ await Promise.race([v, g]), clearTimeout(h);
167
+ }
168
+ function y() {
169
+ if (i) return i.promise;
170
+ const l = o, f = new AbortController(), h = t.value, g = E(h) !== null;
171
+ g || (t.value = { status: "loading" });
172
+ const v = async () => {
173
+ try {
174
+ const p = await e.load(f.signal);
175
+ if (o !== l) return t.value;
176
+ t.value = p ? { status: "authenticated", ...p } : { status: "anonymous", reason: "none" };
177
+ } catch (p) {
178
+ if (o !== l) return t.value;
179
+ n.onError?.(p), t.value = g ? h : { status: "failed", error: p };
180
+ } finally {
181
+ o === l && (i = null);
182
+ }
183
+ return t.value;
184
+ }, d = Promise.resolve().then(v);
185
+ return i = { controller: f, promise: d }, d;
186
+ }
187
+ return {
188
+ state: t,
189
+ restore: () => t.value.status === "unknown" || t.value.status === "failed" ? y() : i?.promise ?? Promise.resolve(t.value),
190
+ refresh: y,
191
+ establish(l) {
192
+ u(), t.value = { status: "authenticated", ...l };
193
+ },
194
+ expire() {
195
+ if (t.value.status !== "authenticated") return;
196
+ const { status: l, ...f } = t.value;
197
+ u(), t.value = r && !t.value.impersonator ? { status: "anonymous", reason: "expired", previous: f } : { status: "anonymous", reason: "expired" }, n.onExpired?.();
198
+ },
199
+ signOut() {
200
+ return s ?? (s = (async () => {
201
+ try {
202
+ const l = t.value;
203
+ l.status === "authenticated" && a.size > 0 && await c(l.user), u(), t.value = { status: "anonymous", reason: "signedOut" }, await e.signOut();
204
+ } finally {
205
+ s = null;
206
+ }
207
+ })()), s;
208
+ },
209
+ holdExpired(l) {
210
+ r = l;
211
+ },
212
+ onBeforeSignOut(l) {
213
+ return a.add(l), () => void a.delete(l);
214
+ }
215
+ };
216
+ }
217
+ function M(e) {
218
+ let n = null;
219
+ const t = P({
220
+ baseUrl: e.config.apiBase,
221
+ transport: e.transport,
222
+ headers: e.headers,
223
+ credentials: e.credentials,
224
+ requestId: e.requestId,
225
+ async onUnauthorized() {
226
+ return r.state.value.status !== "authenticated" ? "fail" : e.renewSession && (n ?? (n = e.renewSession(r, t).then(
227
+ (i) => i,
228
+ () => !1
229
+ ).finally(() => {
230
+ n = null;
231
+ })), await n) ? "retry" : (r.expire(), "fail");
232
+ }
233
+ }), o = e.session ?? ((i) => F(i)), a = typeof o == "function" ? o(t) : o, r = H(a, { onError: e.onSessionError, onExpired: e.onSessionExpired, beforeSignOut: e.beforeSignOut }), s = C(
234
+ () => E(r.state.value)?.access ?? null,
235
+ { covers: e.covers }
236
+ );
237
+ return { config: e.config, http: t, session: r, access: s };
238
+ }
239
+ const [Q, G] = k("platform");
240
+ function J(e, n) {
241
+ e.provide(Q, n);
242
+ }
243
+ export {
244
+ M as a,
245
+ w as b,
246
+ C as c,
247
+ H as d,
248
+ F as e,
249
+ B as f,
250
+ Q as g,
251
+ E as h,
252
+ J as i,
253
+ j as p,
254
+ G as u
255
+ };
@@ -1,250 +1,10 @@
1
- import { computed as f, toValue as K, shallowRef as F, watch as P, getCurrentScope as M, onScopeDispose as J, provide as U, hasInjectionContext as O, inject as W, defineComponent as V, openBlock as c, createElementBlock as R, unref as a, createBlock as h, withCtx as d, createVNode as b, normalizeClass as k, createElementVNode as q, toDisplayString as z, createSlots as j, renderSlot as _, createCommentVNode as G } from "vue";
2
- import { useI18n as C } from "vue-i18n";
3
- import { i as S } from "../error-Bb_dr_Ay.js";
4
- import { useRoute as H, useRouter as Q, RouterLink as I } from "vue-router";
5
- import { M as N } from "../context-Ch1r4fdN.js";
6
- import { u as T } from "../Button.vue_vue_type_script_setup_true_lang-B1eZgLae.js";
7
- import { _ as w } from "../Icon.vue_vue_type_script_lang-DtC4_mkz.js";
8
- import { _ as D } from "../Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js";
9
- import { a as X } from "../AdaptivePageShell.vue_vue_type_script_setup_true_lang-CeKK8_g5.js";
10
- import { _ as Y } from "../AsyncSection.vue_vue_type_script_setup_true_lang-CWLB3xsR.js";
11
- import { _ as Z } from "../EmptyState.vue_vue_type_script_setup_true_lang-BeGpHMUP.js";
12
- function ee(t) {
13
- if (!/^\d+$/.test(t)) return null;
14
- const e = Number(t);
15
- return Number.isSafeInteger(e) && e > 0 ? e : null;
16
- }
17
- const te = (t) => typeof t == "object" && t !== null && "state" in t && "reload" in t && "id" in t, re = (t) => typeof t == "object" && t !== null && "id" in t;
18
- function oe(t) {
19
- const { t: e } = C(), o = te(t.for) ? t.for : null, i = f(() => o ? o.id.value : K(t.for)), u = f(() => o !== null && o.data.value === null), r = F({ status: "loading" });
20
- let n = null, s = 0, m = null;
21
- const y = t.errorMessage ?? ((l) => S(l) && l.kind === "network" ? e("core.resource.offline") : S(l) && l.kind === "forbidden" ? e("core.no_access.body") : e("core.resource.unavailable"));
22
- function $() {
23
- return m?.abort(), m = null, ++s;
24
- }
25
- async function A() {
26
- const l = i.value, p = $();
27
- if (u.value) {
28
- n = null, r.value = { status: "loading" };
29
- return;
30
- }
31
- if (l === null) {
32
- n = null, r.value = { status: "failed", reason: "notFound", error: e("core.resource.not_found.body") };
33
- return;
34
- }
35
- const g = n === l && "value" in r.value ? r.value : null;
36
- g ? r.value = { status: "refreshing", value: g.value } : (n = null, r.value = { status: "loading" });
37
- const L = new AbortController();
38
- m = L;
39
- try {
40
- const v = await t.load(l, { signal: L.signal });
41
- if (p !== s) return;
42
- n = l, r.value = { status: "loaded", value: v };
43
- } catch (v) {
44
- if (p !== s) return;
45
- S(v) && v.kind === "notFound" ? (n = null, r.value = { status: "failed", reason: "notFound", error: e("core.resource.not_found.body") }) : g ? r.value = { status: "stale", value: g.value, error: y(v) } : (n = null, r.value = { status: "failed", reason: "unavailable", error: y(v) });
46
- }
47
- }
48
- function B(l) {
49
- const p = i.value, g = t.identify ? t.identify(l) : re(l) ? l.id : p;
50
- return p === null || g !== p ? !1 : ($(), n = p, r.value = { status: "loaded", value: l }, !0);
51
- }
52
- return P([i, u], () => void A(), { immediate: !0, flush: "sync" }), M() && J($), {
53
- id: i,
54
- state: f(() => r.value),
55
- data: f(() => "value" in r.value ? r.value.value : null),
56
- reload: A,
57
- update: B
58
- };
59
- }
60
- function he(t) {
61
- const e = H(), o = t.parse ?? ee, i = F(null);
62
- let u = !1;
63
- P(
64
- () => e.params[t.param],
65
- (n) => {
66
- if (n === void 0 && u) return;
67
- u = !0;
68
- const s = Array.isArray(n) ? n[0] : n;
69
- i.value = s === void 0 ? null : o(s);
70
- },
71
- { immediate: !0, flush: "sync" }
72
- );
73
- const r = oe({ ...t, for: i });
74
- return t.key && U(t.key, r), r;
75
- }
76
- function ye(t) {
77
- const e = t.description ?? "route resource";
78
- if (!O()) throw new N(e, "outside-setup");
79
- const o = W(t, null);
80
- if (!o) throw new N(e, "not-provided");
81
- return o;
82
- }
83
- const ne = ["aria-label"], se = {
84
- class: "min-w-14 px-1 text-center text-footnote tabular-nums text-content-muted compact:px-1.5",
85
- "data-test": "pager-position",
86
- "aria-live": "polite"
87
- }, x = "hit-target flex size-6 items-center justify-center rounded-button text-content-strong transition-colors duration-motion-fast hover:bg-fill-strong focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus compact:size-9 compact:text-content-link compact:hover:bg-transparent", E = "pointer-events-none opacity-40", ae = /* @__PURE__ */ V({
88
- __name: "RecordPager",
89
- props: {
90
- neighbors: {}
91
- },
92
- setup(t) {
93
- const e = t, { t: o } = C(), i = Q(), u = (r, n) => T({ key: r, group: "record", label: () => o(`core.resource.pager.${n}`) }, () => {
94
- const s = e.neighbors[n];
95
- if (!s) return !1;
96
- i.push(s);
97
- });
98
- return u("j", "next"), u("ArrowRight", "next"), u("k", "previous"), u("ArrowLeft", "previous"), (r, n) => (c(), R("nav", {
99
- "aria-label": a(o)("core.resource.pager.records"),
100
- "data-test": "record-pager",
101
- class: "inline-flex shrink-0 items-center rounded-button bg-fill p-0.5 compact:gap-0.5 compact:bg-surface-overlay compact:p-1 compact:shadow-float"
102
- }, [
103
- e.neighbors.previous ? (c(), h(a(D), {
104
- key: 0,
105
- side: "bottom",
106
- delay: 300,
107
- text: `${a(o)("core.resource.pager.previous")} (← / K)`
108
- }, {
109
- default: d(() => [
110
- b(a(I), {
111
- to: e.neighbors.previous,
112
- "aria-label": a(o)("core.resource.pager.previous"),
113
- "aria-keyshortcuts": "ArrowLeft K",
114
- "data-test": "pager-previous",
115
- class: k(x)
116
- }, {
117
- default: d(() => [
118
- b(a(w), {
119
- name: "arrowUpSLine",
120
- size: 18
121
- })
122
- ]),
123
- _: 1
124
- }, 8, ["to", "aria-label"])
125
- ]),
126
- _: 1
127
- }, 8, ["text"])) : (c(), R("span", {
128
- key: 1,
129
- class: k([x, E]),
130
- "aria-hidden": "true"
131
- }, [
132
- b(a(w), {
133
- name: "arrowUpSLine",
134
- size: 18
135
- })
136
- ], 2)),
137
- q("span", se, z(e.neighbors.position) + " / " + z(e.neighbors.total), 1),
138
- e.neighbors.next ? (c(), h(a(D), {
139
- key: 2,
140
- side: "bottom",
141
- delay: 300,
142
- text: `${a(o)("core.resource.pager.next")} (→ / J)`
143
- }, {
144
- default: d(() => [
145
- b(a(I), {
146
- to: e.neighbors.next,
147
- "aria-label": a(o)("core.resource.pager.next"),
148
- "aria-keyshortcuts": "ArrowRight J",
149
- "data-test": "pager-next",
150
- class: k(x)
151
- }, {
152
- default: d(() => [
153
- b(a(w), {
154
- name: "arrowDownSLine",
155
- size: 18
156
- })
157
- ]),
158
- _: 1
159
- }, 8, ["to", "aria-label"])
160
- ]),
161
- _: 1
162
- }, 8, ["text"])) : (c(), R("span", {
163
- key: 3,
164
- class: k([x, E]),
165
- "aria-hidden": "true"
166
- }, [
167
- b(a(w), {
168
- name: "arrowDownSLine",
169
- size: 18
170
- })
171
- ], 2))
172
- ], 8, ne));
173
- }
174
- }), ke = /* @__PURE__ */ V({
175
- __name: "ResourcePage",
176
- props: {
177
- resource: {},
178
- title: {},
179
- back: { default: void 0 },
180
- list: { default: null },
181
- actions: { default: () => [] },
182
- width: { default: "content" }
183
- },
184
- setup(t) {
185
- const e = t, { t: o } = C(), i = f(() => e.resource.state.value), u = f(() => e.resource.data.value), r = f(() => i.value.status === "failed" && "reason" in i.value && i.value.reason === "notFound"), n = f(() => e.back ?? e.list?.back ?? null);
186
- return (s, m) => (c(), h(X, {
187
- title: e.title,
188
- "document-title": e.title,
189
- back: n.value,
190
- actions: e.actions,
191
- width: e.width
192
- }, j({
193
- default: d(() => [
194
- r.value ? (c(), h(Z, {
195
- key: 0,
196
- title: a(o)("core.resource.not_found.title"),
197
- description: a(o)("core.resource.not_found.body"),
198
- icon: "errorWarningLine"
199
- }, null, 8, ["title", "description"])) : (c(), h(Y, {
200
- key: 1,
201
- state: i.value,
202
- "is-empty": () => !1,
203
- onRetry: m[0] || (m[0] = (y) => e.resource.reload())
204
- }, j({
205
- default: d(({ value: y }) => [
206
- _(s.$slots, "default", { record: y })
207
- ]),
208
- _: 2
209
- }, [
210
- s.$slots.loading ? {
211
- name: "skeleton",
212
- fn: d(() => [
213
- _(s.$slots, "loading")
214
- ]),
215
- key: "0"
216
- } : void 0
217
- ]), 1032, ["state"]))
218
- ]),
219
- _: 2
220
- }, [
221
- s.$slots.pager || e.list?.neighbors ? {
222
- name: "pager",
223
- fn: d(() => [
224
- _(s.$slots, "pager", {}, () => [
225
- e.list?.neighbors ? (c(), h(ae, {
226
- key: 0,
227
- neighbors: e.list.neighbors
228
- }, null, 8, ["neighbors"])) : G("", !0)
229
- ])
230
- ]),
231
- key: "0"
232
- } : void 0,
233
- u.value !== null && s.$slots.header ? {
234
- name: "header",
235
- fn: d(() => [
236
- _(s.$slots, "header", { record: u.value })
237
- ]),
238
- key: "1"
239
- } : void 0
240
- ]), 1032, ["title", "document-title", "back", "actions", "width"]));
241
- }
242
- });
1
+ import { p as o, u as r, a, b as u } from "../routeResource-DstM0hvf.js";
2
+ import { _ as R, a as c } from "../ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js";
243
3
  export {
244
- ae as RecordPager,
245
- ke as ResourcePage,
246
- ee as positiveInteger,
247
- oe as useResource,
248
- he as useRouteResource,
249
- ye as useRouteResourceContext
4
+ R as RecordPager,
5
+ c as ResourcePage,
6
+ o as positiveInteger,
7
+ r as useResource,
8
+ a as useRouteResource,
9
+ u as useRouteResourceContext
250
10
  };
@@ -0,0 +1,13 @@
1
+ function u(e, i, r = {}) {
2
+ return { method: e, path: i, permission: r.permission, public: r.public === !0, raw: !1 };
3
+ }
4
+ u.raw = (e, i, r = {}) => ({
5
+ method: e,
6
+ path: i,
7
+ permission: r.permission,
8
+ public: r.public === !0,
9
+ raw: !0
10
+ });
11
+ export {
12
+ u as r
13
+ };
@@ -0,0 +1,82 @@
1
+ import { computed as f, toValue as x, shallowRef as R, watch as w, getCurrentScope as C, onScopeDispose as I, provide as j, hasInjectionContext as A, inject as F } from "vue";
2
+ import { useRoute as M } from "vue-router";
3
+ import { M as h } from "./context-Ch1r4fdN.js";
4
+ import { useI18n as S } from "vue-i18n";
5
+ import { a as p } from "./error-CD7x0Jrz.js";
6
+ function _(e) {
7
+ if (!/^\d+$/.test(e)) return null;
8
+ const n = Number(e);
9
+ return Number.isSafeInteger(n) && n > 0 ? n : null;
10
+ }
11
+ const E = (e) => typeof e == "object" && e !== null && "state" in e && "reload" in e && "id" in e, N = (e) => typeof e == "object" && e !== null && "id" in e;
12
+ function D(e) {
13
+ const { t: n } = S(), o = E(e.for) ? e.for : null, s = f(() => o ? o.id.value : x(e.for)), d = f(() => o !== null && o.data.value === null), t = R({ status: "loading" });
14
+ let u = null, a = 0, v = null;
15
+ const g = e.errorMessage ?? ((r) => p(r) && r.kind === "network" ? n("core.resource.offline") : p(r) && r.kind === "forbidden" ? n("core.no_access.body") : n("core.resource.unavailable"));
16
+ function m() {
17
+ return v?.abort(), v = null, ++a;
18
+ }
19
+ async function y() {
20
+ const r = s.value, l = m();
21
+ if (d.value) {
22
+ u = null, t.value = { status: "loading" };
23
+ return;
24
+ }
25
+ if (r === null) {
26
+ u = null, t.value = { status: "failed", reason: "notFound", error: n("core.resource.not_found.body") };
27
+ return;
28
+ }
29
+ const i = u === r && "value" in t.value ? t.value : null;
30
+ i ? t.value = { status: "refreshing", value: i.value } : (u = null, t.value = { status: "loading" });
31
+ const b = new AbortController();
32
+ v = b;
33
+ try {
34
+ const c = await e.load(r, { signal: b.signal });
35
+ if (l !== a) return;
36
+ u = r, t.value = { status: "loaded", value: c };
37
+ } catch (c) {
38
+ if (l !== a) return;
39
+ p(c) && c.kind === "notFound" ? (u = null, t.value = { status: "failed", reason: "notFound", error: n("core.resource.not_found.body") }) : i ? t.value = { status: "stale", value: i.value, error: g(c) } : (u = null, t.value = { status: "failed", reason: "unavailable", error: g(c) });
40
+ }
41
+ }
42
+ function k(r) {
43
+ const l = s.value, i = e.identify ? e.identify(r) : N(r) ? r.id : l;
44
+ return l === null || i !== l ? !1 : (m(), u = l, t.value = { status: "loaded", value: r }, !0);
45
+ }
46
+ return w([s, d], () => void y(), { immediate: !0, flush: "sync" }), C() && I(m), {
47
+ id: s,
48
+ state: f(() => t.value),
49
+ data: f(() => "value" in t.value ? t.value.value : null),
50
+ reload: y,
51
+ update: k
52
+ };
53
+ }
54
+ function B(e) {
55
+ const n = M(), o = e.parse ?? _, s = R(null);
56
+ let d = !1;
57
+ w(
58
+ () => n.params[e.param],
59
+ (u) => {
60
+ if (u === void 0 && d) return;
61
+ d = !0;
62
+ const a = Array.isArray(u) ? u[0] : u;
63
+ s.value = a === void 0 ? null : o(a);
64
+ },
65
+ { immediate: !0, flush: "sync" }
66
+ );
67
+ const t = D({ ...e, for: s });
68
+ return e.key && j(e.key, t), t;
69
+ }
70
+ function G(e) {
71
+ const n = e.description ?? "route resource";
72
+ if (!A()) throw new h(n, "outside-setup");
73
+ const o = F(e, null);
74
+ if (!o) throw new h(n, "not-provided");
75
+ return o;
76
+ }
77
+ export {
78
+ B as a,
79
+ G as b,
80
+ _ as p,
81
+ D as u
82
+ };
@@ -1,5 +1,5 @@
1
1
  import type { RouteLocationNormalized, RouteLocationRaw, Router } from "vue-router";
2
- import type { Session } from "../platform/session";
2
+ import { type Session } from "../platform/session";
3
3
  export interface RouterGuardOptions {
4
4
  router: Router;
5
5
  session: Session;
@@ -19,6 +19,12 @@ export interface RouterGuardOptions {
19
19
  start(): void;
20
20
  done(): void;
21
21
  };
22
+ /**
23
+ * True when something on the page asks the person to sign in again when their session expires (the identity
24
+ * feature's sheet): an expired session then stays on its protected page instead of going to the login page.
25
+ * A session that ends any other way still goes to the login page.
26
+ */
27
+ holdExpired?: boolean;
22
28
  /** A failure of the session check or of the router (a lazy view that did not load). */
23
29
  onError?: (error: unknown) => void;
24
30
  }