@wssto2/vue-core 0.2.0 → 0.3.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 (265) hide show
  1. package/README.md +33 -0
  2. package/dist/AccessGate.vue_vue_type_script_setup_true_lang-DKX3PH2n.js +22 -0
  3. package/dist/AccountMenuItem.vue_vue_type_script_setup_true_lang-DIGqTLwd.js +76 -0
  4. package/dist/ActionRow.vue_vue_type_script_setup_true_lang-B7Lpfkf6.js +45 -0
  5. package/dist/Activity-DviO0VQ8.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-CvAnzdc1.js} +48 -47
  7. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-e4hzkzg3.js → AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js} +1 -1
  8. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CWLB3xsR.js → AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.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-Cib_YYpr.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-CYil8h9z.js} +1 -1
  12. package/dist/Changes-DlT5mN9G.js +129 -0
  13. package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js +1481 -0
  14. package/dist/DataTable.vue_vue_type_script_setup_true_lang-DSYgS9lC.js +52 -0
  15. package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +1099 -0
  16. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-DyhYHRyz.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-Cb3xJI1x.js} +1 -1
  17. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-BeGpHMUP.js → EmptyState.vue_vue_type_script_setup_true_lang-C2ZYIT9F.js} +1 -1
  18. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js +276 -0
  19. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js +136 -0
  20. package/dist/FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js +38 -0
  21. package/dist/General-BD-Hcz0a.js +145 -0
  22. package/dist/{Icon.vue_vue_type_script_lang-DtC4_mkz.js → Icon.vue_vue_type_script_lang-VvcV2Bzo.js} +46 -33
  23. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-Csfv6Sel.js → IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js} +1 -1
  24. package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
  25. package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-CvwoT1JF.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js} +2 -2
  26. package/dist/{Menu.vue_vue_type_script_setup_true_lang-CrMj6KPD.js → Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js} +61 -57
  27. package/dist/{Modal.vue_vue_type_script_setup_true_lang-BQZM49gC.js → Modal.vue_vue_type_script_setup_true_lang-D7SwVPpL.js} +4 -4
  28. package/dist/NewRolePage-Dla4YnMs.js +42 -0
  29. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-8m9cNptR.js +31 -0
  30. package/dist/NumberField.vue_vue_type_script_setup_true_lang-CYRg7Kfg.js +113 -0
  31. package/dist/OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js +95 -0
  32. package/dist/PageBar.vue_vue_type_script_setup_true_lang-Cfr5xsJx.js +47 -0
  33. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BQmv3cLb.js → Panel.vue_vue_type_script_setup_true_lang-BCRxRK4D.js} +1 -1
  34. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-ElDizaW2.js → PhotoViewer.vue_vue_type_script_setup_true_lang-B3Q4dhqJ.js} +1 -1
  35. package/dist/Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js +125 -0
  36. package/dist/ProfilePage-OJMQ8cr8.js +691 -0
  37. package/dist/{ProgressTrack.vue_vue_type_script_setup_true_lang-1DDaNs2W.js → ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js} +2 -2
  38. package/dist/RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js +64 -0
  39. package/dist/ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js +173 -0
  40. package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js +299 -0
  41. package/dist/RolePage-bZzv_E4l.js +315 -0
  42. package/dist/RolesPage-BniZv0nB.js +115 -0
  43. package/dist/SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js +23 -0
  44. package/dist/SectionList.vue_vue_type_script_setup_true_lang-BKP_bge8.js +148 -0
  45. package/dist/SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js +314 -0
  46. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BZ9UdgA1.js +58 -0
  47. package/dist/SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js +422 -0
  48. package/dist/SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js +111 -0
  49. package/dist/Sessions-Co5-xdeb.js +96 -0
  50. package/dist/Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js +142 -0
  51. package/dist/SignIn-BWwFbxki.js +140 -0
  52. package/dist/SignInPage-FnLtoi2q.js +60 -0
  53. package/dist/SignInTable.vue_vue_type_script_setup_true_lang-Dnx3T_42.js +79 -0
  54. package/dist/SignIns-3UcI64_h.js +66 -0
  55. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-4I8m27ol.js +93 -0
  56. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js +155 -0
  57. package/dist/TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js +269 -0
  58. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +127 -0
  59. package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CSY_mMm1.js → Timestamp.vue_vue_type_script_setup_true_lang-1RJGKxbD.js} +1 -1
  60. package/dist/UserRecord-Ci8HfwbX.js +267 -0
  61. package/dist/UsersList-vEJ-cgkT.js +155 -0
  62. package/dist/ViewTabs.vue_vue_type_script_setup_true_lang-ByqTU2JT.js +28 -0
  63. package/dist/access/AddRoleDialog.vue.d.ts +19 -0
  64. package/dist/access/BindingRow.vue.d.ts +19 -0
  65. package/dist/access/EffectiveAccess.vue.d.ts +12 -0
  66. package/dist/access/NewRolePage.vue.d.ts +2 -0
  67. package/dist/access/PermissionTree.vue.d.ts +13 -0
  68. package/dist/access/PersonAccess.vue.d.ts +21 -0
  69. package/dist/access/ReplaceRoleDialog.vue.d.ts +17 -0
  70. package/dist/access/RoleCompareDialog.vue.d.ts +14 -0
  71. package/dist/access/RoleEditor.vue.d.ts +28 -0
  72. package/dist/access/RolePage.vue.d.ts +2 -0
  73. package/dist/access/RolesPage.vue.d.ts +2 -0
  74. package/dist/access/api.d.ts +26 -0
  75. package/dist/access/catalogue.d.ts +64 -0
  76. package/dist/access/context.d.ts +20 -0
  77. package/dist/access/effective.d.ts +42 -0
  78. package/dist/access/feature.d.ts +27 -0
  79. package/dist/access/index.d.ts +13 -0
  80. package/dist/access/index.js +15 -0
  81. package/dist/access/labels.d.ts +35 -0
  82. package/dist/access/refusals.d.ts +6 -0
  83. package/dist/access/routes.d.ts +45 -0
  84. package/dist/access/scopes.d.ts +20 -0
  85. package/dist/app/contributions.d.ts +1 -1
  86. package/dist/app/feature.d.ts +8 -0
  87. package/dist/app/index.js +259 -296
  88. package/dist/bottomDock-BZEiOPYZ.js +12 -0
  89. package/dist/button/Button.vue.d.ts +3 -3
  90. package/dist/button/index.js +1 -1
  91. package/dist/chrome-BS3xJcad.js +93 -0
  92. package/dist/client/client.d.ts +13 -0
  93. package/dist/client/index.d.ts +3 -1
  94. package/dist/client/index.js +19 -138
  95. package/dist/client/route.d.ts +59 -0
  96. package/dist/client-Bw0aM5Gu.js +147 -0
  97. package/dist/closeOverlays-CjVsIrpL.js +8 -0
  98. package/dist/collection/http.d.ts +4 -2
  99. package/dist/collection/index.js +74 -2428
  100. package/dist/content/index.js +37 -66
  101. package/dist/contributions-CDDg3fKp.js +26 -0
  102. package/dist/controls/DateButton.vue.d.ts +1 -1
  103. package/dist/controls/PopupButton.vue.d.ts +1 -1
  104. package/dist/controls/index.js +11 -10
  105. package/dist/defineRoutes-BGAdiIrt.js +19 -0
  106. package/dist/{describeError-l5T9b8Uv.js → describeError-Ctga6GcS.js} +1 -1
  107. package/dist/environment-Dva-SG8D.js +6 -0
  108. package/dist/{error-Bb_dr_Ay.js → error-CD7x0Jrz.js} +2 -2
  109. package/dist/feature-DdUAfyi4.js +25 -0
  110. package/dist/fieldMessages-C3Rpbktw.js +25 -0
  111. package/dist/form/CheckboxField.vue.d.ts +1 -1
  112. package/dist/form/CommandDialog.vue.d.ts +1 -1
  113. package/dist/form/DateField.vue.d.ts +1 -1
  114. package/dist/form/DateTimeField.vue.d.ts +1 -1
  115. package/dist/form/EditorPage.vue.d.ts +1 -1
  116. package/dist/form/Field.vue.d.ts +1 -1
  117. package/dist/form/FileField.vue.d.ts +1 -1
  118. package/dist/form/FormGroup.vue.d.ts +1 -1
  119. package/dist/form/FormGroupButton.vue.d.ts +1 -1
  120. package/dist/form/FormRow.vue.d.ts +1 -1
  121. package/dist/form/I18nField.vue.d.ts +3 -3
  122. package/dist/form/MoneyField.vue.d.ts +1 -1
  123. package/dist/form/MonthYearField.vue.d.ts +1 -1
  124. package/dist/form/NumberCell.vue.d.ts +1 -1
  125. package/dist/form/NumberField.vue.d.ts +2 -2
  126. package/dist/form/OtpInput.vue.d.ts +2 -2
  127. package/dist/form/PhotoField.vue.d.ts +1 -1
  128. package/dist/form/SwitchField.vue.d.ts +1 -1
  129. package/dist/form/TextField.vue.d.ts +3 -3
  130. package/dist/form/TextareaField.vue.d.ts +3 -3
  131. package/dist/form/TimeField.vue.d.ts +1 -1
  132. package/dist/form/date/DatePickerSheet.vue.d.ts +1 -1
  133. package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
  134. package/dist/form/index.js +1262 -3430
  135. package/dist/guards-Cd1V28oG.js +51 -0
  136. package/dist/http-DGGSKWvU.js +193 -0
  137. package/dist/i18n/index.d.ts +281 -0
  138. package/dist/i18n/index.js +50 -50
  139. package/dist/icon/core.d.ts +13 -0
  140. package/dist/icon/index.js +1 -1
  141. package/dist/identity/ImpersonationBanner.vue.d.ts +2 -0
  142. package/dist/identity/LocaleSync.vue.d.ts +2 -0
  143. package/dist/identity/SessionExpiry.vue.d.ts +2 -0
  144. package/dist/identity/SignInAsButton.vue.d.ts +15 -0
  145. package/dist/identity/SignInPage.vue.d.ts +2 -0
  146. package/dist/identity/context.d.ts +7 -0
  147. package/dist/identity/feature.d.ts +16 -0
  148. package/dist/identity/fieldMessages.d.ts +15 -0
  149. package/dist/identity/index.d.ts +16 -0
  150. package/dist/identity/index.js +18 -0
  151. package/dist/identity/profile/DetailsPanel.vue.d.ts +11 -0
  152. package/dist/identity/profile/EmailChangeDialog.vue.d.ts +14 -0
  153. package/dist/identity/profile/EmailPanel.vue.d.ts +11 -0
  154. package/dist/identity/profile/PanelActions.vue.d.ts +17 -0
  155. package/dist/identity/profile/PasswordPanel.vue.d.ts +2 -0
  156. package/dist/identity/profile/ProfileMenuItem.vue.d.ts +2 -0
  157. package/dist/identity/profile/ProfilePage.vue.d.ts +2 -0
  158. package/dist/identity/profile/SessionsPanel.vue.d.ts +2 -0
  159. package/dist/identity/profile/SignInsPanel.vue.d.ts +2 -0
  160. package/dist/identity/profile/VerifyCode.vue.d.ts +49 -0
  161. package/dist/identity/profile/routes.d.ts +13 -0
  162. package/dist/identity/session.d.ts +30 -0
  163. package/dist/identity/shared/ActionRow.vue.d.ts +20 -0
  164. package/dist/identity/shared/ChangeFeed.vue.d.ts +11 -0
  165. package/dist/identity/shared/PageBar.vue.d.ts +12 -0
  166. package/dist/identity/shared/SectionIntro.vue.d.ts +16 -0
  167. package/dist/identity/shared/SessionList.vue.d.ts +19 -0
  168. package/dist/identity/shared/SignInTable.vue.d.ts +11 -0
  169. package/dist/identity/shared/ViewTabs.vue.d.ts +23 -0
  170. package/dist/identity/shared/signInEvents.d.ts +9 -0
  171. package/dist/identity/signIn.d.ts +27 -0
  172. package/dist/identity/useSignInForm.d.ts +20 -0
  173. package/dist/identity/user.d.ts +6 -0
  174. package/dist/identity/users/DeactivateDialog.vue.d.ts +18 -0
  175. package/dist/identity/users/NewUserDialog.vue.d.ts +9 -0
  176. package/dist/identity/users/SetPasswordDialog.vue.d.ts +16 -0
  177. package/dist/identity/users/UserRecord.vue.d.ts +2 -0
  178. package/dist/identity/users/UsersList.vue.d.ts +2 -0
  179. package/dist/identity/users/access.d.ts +4 -0
  180. package/dist/identity/users/context.d.ts +9 -0
  181. package/dist/identity/users/feature.d.ts +34 -0
  182. package/dist/identity/users/languages.d.ts +4 -0
  183. package/dist/identity/users/list.d.ts +8 -0
  184. package/dist/identity/users/person.d.ts +26 -0
  185. package/dist/identity/users/personSections.d.ts +22 -0
  186. package/dist/identity/users/routes.d.ts +22 -0
  187. package/dist/identity/users/sections/Activity.vue.d.ts +2 -0
  188. package/dist/identity/users/sections/Changes.vue.d.ts +2 -0
  189. package/dist/identity/users/sections/General.vue.d.ts +2 -0
  190. package/dist/identity/users/sections/Sessions.vue.d.ts +2 -0
  191. package/dist/identity/users/sections/SignIn.vue.d.ts +2 -0
  192. package/dist/identity/users/sections/SignIns.vue.d.ts +2 -0
  193. package/dist/identity/users/status.d.ts +4 -0
  194. package/dist/index-B2dbYZR9.js +706 -0
  195. package/dist/index-BAcl44SC.js +459 -0
  196. package/dist/index.d.ts +1 -1
  197. package/dist/index.js +1 -1
  198. package/dist/internal/languageName.d.ts +2 -0
  199. package/dist/keepAlive-WYQGRhuz.js +48 -0
  200. package/dist/languageName-CItV_SOv.js +11 -0
  201. package/dist/languages-BShG9LpE.js +10 -0
  202. package/dist/leaveGuard-Cc8yeLxM.js +72 -0
  203. package/dist/modal/Modal.vue.d.ts +1 -1
  204. package/dist/modal/index.js +5 -5
  205. package/dist/modules/access/entities.d.ts +112 -0
  206. package/dist/modules/access/routes.d.ts +67 -0
  207. package/dist/modules/access/schemas.d.ts +73 -0
  208. package/dist/modules/identity/entities.d.ts +150 -0
  209. package/dist/modules/identity/routes.d.ts +118 -0
  210. package/dist/modules/identity/schemas.d.ts +145 -0
  211. package/dist/{navigation-B33ikiCS.js → navigation-BPWa63ge.js} +21 -20
  212. package/dist/neighbors-D0WRBxXI.js +86 -0
  213. package/dist/{options-DAkBtYkI.js → options-BXkMR63B.js} +51 -52
  214. package/dist/overlay/AlertDialog.vue.d.ts +3 -3
  215. package/dist/overlay/Popover.vue.d.ts +1 -1
  216. package/dist/overlay/closeOverlays.d.ts +7 -0
  217. package/dist/overlay/index.js +21 -20
  218. package/dist/page/AdaptivePageShell.vue.d.ts +2 -2
  219. package/dist/page/ResourceHeader.vue.d.ts +2 -2
  220. package/dist/page/index.js +99 -457
  221. package/dist/phone/PhoneField.vue.d.ts +2 -2
  222. package/dist/phone/index.js +2 -2
  223. package/dist/platform/index.d.ts +2 -2
  224. package/dist/platform/index.js +73 -90
  225. package/dist/platform/platform.d.ts +2 -2
  226. package/dist/platform/session.d.ts +22 -1
  227. package/dist/platform-hunMqFdB.js +255 -0
  228. package/dist/resource/index.js +8 -248
  229. package/dist/routeResource-DstM0hvf.js +82 -0
  230. package/dist/router/guards.d.ts +7 -1
  231. package/dist/router/index.js +23 -37
  232. package/dist/router/navigation.d.ts +1 -1
  233. package/dist/rowLayout-BI7a3Kom.js +603 -0
  234. package/dist/sectionIndex-BS0ic5W7.js +86 -0
  235. package/dist/{sections-LtxV5Mtk.js → sections-BEqW1dOc.js} +1 -1
  236. package/dist/shell/AccountMenuItem.vue.d.ts +1 -1
  237. package/dist/shell/BackofficeShell.vue.d.ts +2 -2
  238. package/dist/shell/NavigationList.vue.d.ts +1 -1
  239. package/dist/shell/ShellBrand.vue.d.ts +1 -1
  240. package/dist/shell/backofficeShell.d.ts +1 -1
  241. package/dist/shell/identity.d.ts +1 -1
  242. package/dist/shell/index.js +507 -575
  243. package/dist/state/ProgressTrack.vue.d.ts +1 -1
  244. package/dist/state/index.js +59 -92
  245. package/dist/status-C9aXR-Jb.js +33 -0
  246. package/dist/styles.css +1 -1
  247. package/dist/suggestions-BJAqOj4c.js +138 -0
  248. package/dist/testing/index.js +1 -1
  249. package/dist/toast-D9Z5To38.js +13 -0
  250. package/dist/useCommand-BgRwnYlV.js +135 -0
  251. package/dist/useLoad-CYRVx6HW.js +39 -0
  252. package/dist/useResourceForm-Bgc9jMcu.js +52 -0
  253. package/dist/useSaveChrome-chi6D3HY.js +25 -0
  254. package/dist/useSheetDrag-OsD6Eb6I.js +72 -0
  255. package/package.json +22 -5
  256. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-OKW8pKYU.js +0 -78
  257. package/dist/SectionList.vue_vue_type_script_setup_true_lang-L9ita_Kx.js +0 -230
  258. package/dist/SelectField.vue_vue_type_script_setup_true_lang-DZTrU8NJ.js +0 -661
  259. package/dist/Sheet.vue_vue_type_script_setup_true_lang-CtkJ-4e3.js +0 -210
  260. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-CGTuEnTv.js +0 -243
  261. package/dist/chrome-D9pwD6iS.js +0 -101
  262. package/dist/environment-D3nozt9a.js +0 -75
  263. package/dist/feature-DyDtyMLU.js +0 -47
  264. package/dist/platform-jqlKVJ2e.js +0 -244
  265. package/dist/toast-DvrHQ6Ag.js +0 -131
@@ -1,244 +0,0 @@
1
- import { createHttpClient as j } from "./client/index.js";
2
- import { d as E } from "./context-Ch1r4fdN.js";
3
- import { i as g, A as P } from "./error-Bb_dr_Ay.js";
4
- import { shallowRef as k } from "vue";
5
- const q = (e, t) => e.level === t.level && e.id === t.id, U = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
6
- function z(e, t = {}) {
7
- const n = t.covers ?? q;
8
- function o(r) {
9
- const s = e();
10
- return !s || !U(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((u) => u.scope) : [i.scope]).some((u) => n(u, 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 v = ["own", "own_location", "all"], d = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
27
- function b(e, t, n) {
28
- return !d(e) || typeof e.level != "string" ? (n.push(`${t}: expected { level: string, id?: number }`), { level: "" }) : (e.id !== void 0 && typeof e.id != "number" && n.push(`${t}.id: expected number`), typeof e.id == "number" ? { level: e.level, id: e.id } : { level: e.level });
29
- }
30
- function x(e, t, n) {
31
- return typeof e == "string" && v.includes(e) ? e : (n.push(`${t}: expected one of ${v.join(", ")}`), "own");
32
- }
33
- function _(e) {
34
- const t = [], n = {}, o = { root: !1, permissions: {}, unavailable: [] };
35
- if (!d(e)) return { snapshot: o, issues: ["access: expected an object"] };
36
- if (!d(e.permissions)) t.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 (!d(s)) {
41
- t.push(`${i}: expected an object`);
42
- continue;
43
- }
44
- const h = (Array.isArray(s.clauses) ? s.clauses : []).map((u, c) => {
45
- const l = `${i}.clauses[${c}]`;
46
- if (!d(u))
47
- return t.push(`${l}: expected an object`), { scope: { level: "" }, qualifier: "own" };
48
- const f = { scope: b(u.scope, `${l}.scope`, t), qualifier: x(u.qualifier, `${l}.qualifier`, t) };
49
- return typeof u.role == "string" ? { ...f, role: u.role } : f;
50
- });
51
- n[r] = {
52
- scope: b(s.scope, `${i}.scope`, t),
53
- qualifier: x(s.qualifier, `${i}.qualifier`, t),
54
- clauses: h
55
- };
56
- }
57
- const a = e.unavailable ?? [];
58
- return (!Array.isArray(a) || !a.every((r) => typeof r == "string")) && t.push("access.unavailable: expected an array of strings"), {
59
- snapshot: {
60
- root: e.root === !0,
61
- permissions: n,
62
- unavailable: Array.isArray(a) ? a.filter((r) => typeof r == "string") : []
63
- },
64
- issues: t
65
- };
66
- }
67
- const C = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
68
- function w(e, t, n = "navigation") {
69
- return Array.isArray(e) ? e.flatMap((o, a) => {
70
- const r = `${n}[${a}]`;
71
- if (!C(o) || typeof o.i18n != "string")
72
- return t.push(`${r}: expected an object with an i18n key`), [];
73
- for (const i of ["icon", "route"])
74
- o[i] != null && typeof o[i] != "string" && t.push(`${r}.${i}: expected a string`);
75
- const s = o.children == null ? void 0 : w(o.children, t, `${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
- }) : (t.push(`${n}: expected an array`), []);
85
- }
86
- const S = (e) => typeof e == "object" && e !== null && !Array.isArray(e), I = (e) => {
87
- if (S(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 T(e, t = I) {
91
- const n = [];
92
- if (!S(e)) throw A(["expected an object"]);
93
- let o = null;
94
- try {
95
- o = t(e.user);
96
- } catch (i) {
97
- n.push(`user: ${i instanceof Error ? i.message : "invalid"}`);
98
- }
99
- let a = null;
100
- if (e.expires_at !== void 0 && e.expires_at !== null) {
101
- const i = typeof e.expires_at == "string" ? new Date(e.expires_at) : null;
102
- i === null || Number.isNaN(i.getTime()) ? n.push("expires_at: expected an ISO date-time string") : a = i;
103
- }
104
- const r = _(e.access);
105
- n.push(...r.issues);
106
- const s = e.navigation === void 0 || e.navigation === null ? void 0 : w(e.navigation, n);
107
- if (o === null || n.length > 0) throw A(n);
108
- return { user: o, expiresAt: a, access: r.snapshot, ...s && { navigation: s } };
109
- }
110
- const A = (e) => new P({ kind: "malformed", message: `Unreadable session payload: ${e.join("; ")}` });
111
- function N(e, t = {}) {
112
- const { mePath: n = "/auth/me", signOutPath: o = "/auth/logout", parseUser: a } = t;
113
- return {
114
- async load(r) {
115
- try {
116
- const { data: s } = await e.get(n, { signal: r, handleUnauthorized: !1 });
117
- return T(s, a);
118
- } catch (s) {
119
- if (g(s) && s.kind === "unauthorized") return null;
120
- throw s;
121
- }
122
- },
123
- async signOut() {
124
- try {
125
- await e.post(o, void 0, { handleUnauthorized: !1 });
126
- } catch (r) {
127
- if (!(g(r) && r.kind === "unauthorized")) throw r;
128
- }
129
- }
130
- };
131
- }
132
- const $ = 3e3;
133
- function B(e, t = {}) {
134
- const n = k({ status: "unknown" });
135
- let o = 0;
136
- const a = new Set(t.beforeSignOut ? [t.beforeSignOut] : []);
137
- let r = null, s = null;
138
- function i() {
139
- o++, s?.controller.abort(), s = null;
140
- }
141
- async function h(c) {
142
- const l = new AbortController();
143
- let f;
144
- const y = new Promise((p) => {
145
- f = setTimeout(() => {
146
- l.abort(), t.onError?.(new Error(`A before-sign-out hook did not finish within ${$} ms; signing out without it.`)), p();
147
- }, $);
148
- }), m = Promise.all(
149
- [...a].map(async (p) => {
150
- try {
151
- await p(c, l.signal);
152
- } catch (O) {
153
- t.onError?.(O);
154
- }
155
- })
156
- ).then(() => {
157
- });
158
- await Promise.race([m, y]), clearTimeout(f);
159
- }
160
- function u() {
161
- if (s) return s.promise;
162
- const c = o, l = new AbortController(), f = n.value;
163
- f.status !== "authenticated" && (n.value = { status: "loading" });
164
- const y = async () => {
165
- try {
166
- const p = await e.load(l.signal);
167
- if (o !== c) return n.value;
168
- n.value = p ? { status: "authenticated", ...p } : { status: "anonymous", reason: "none" };
169
- } catch (p) {
170
- if (o !== c) return n.value;
171
- t.onError?.(p), n.value = f.status === "authenticated" ? f : { status: "failed", error: p };
172
- } finally {
173
- o === c && (s = null);
174
- }
175
- return n.value;
176
- }, m = Promise.resolve().then(y);
177
- return s = { controller: l, promise: m }, m;
178
- }
179
- return {
180
- state: n,
181
- restore: () => n.value.status === "unknown" || n.value.status === "failed" ? u() : s?.promise ?? Promise.resolve(n.value),
182
- refresh: u,
183
- establish(c) {
184
- i(), n.value = { status: "authenticated", ...c };
185
- },
186
- expire() {
187
- n.value.status === "authenticated" && (i(), n.value = { status: "anonymous", reason: "expired" }, t.onExpired?.());
188
- },
189
- signOut() {
190
- return r ?? (r = (async () => {
191
- try {
192
- const c = n.value;
193
- c.status === "authenticated" && a.size > 0 && await h(c.user), i(), n.value = { status: "anonymous", reason: "signedOut" }, await e.signOut();
194
- } finally {
195
- r = null;
196
- }
197
- })()), r;
198
- },
199
- onBeforeSignOut(c) {
200
- return a.add(c), () => void a.delete(c);
201
- }
202
- };
203
- }
204
- function K(e) {
205
- let t = null;
206
- const n = j({
207
- baseUrl: e.config.apiBase,
208
- transport: e.transport,
209
- headers: e.headers,
210
- credentials: e.credentials,
211
- requestId: e.requestId,
212
- async onUnauthorized() {
213
- return r.state.value.status !== "authenticated" ? "fail" : e.renewSession && (t ?? (t = e.renewSession(r).then(
214
- (i) => i,
215
- () => !1
216
- ).finally(() => {
217
- t = null;
218
- })), await t) ? "retry" : (r.expire(), "fail");
219
- }
220
- }), o = e.session ?? ((i) => N(i)), a = typeof o == "function" ? o(n) : o, r = B(a, { onError: e.onSessionError, onExpired: e.onSessionExpired, beforeSignOut: e.beforeSignOut }), s = z(
221
- () => {
222
- const i = r.state.value;
223
- return i.status === "authenticated" ? i.access : null;
224
- },
225
- { covers: e.covers }
226
- );
227
- return { config: e.config, http: n, session: r, access: s };
228
- }
229
- const [F, L] = E("platform");
230
- function M(e, t) {
231
- e.provide(F, t);
232
- }
233
- export {
234
- K as a,
235
- $ as b,
236
- z as c,
237
- B as d,
238
- T as e,
239
- F as f,
240
- N as h,
241
- M as i,
242
- w as p,
243
- L as u
244
- };
@@ -1,131 +0,0 @@
1
- import { defineComponent as D, useId as F, ref as c, watch as B, nextTick as C, onUnmounted as M, computed as U, openBlock as m, createElementBlock as w, normalizeClass as f, createElementVNode as j, renderSlot as $, createVNode as G, Transition as H, withCtx as K, normalizeStyle as P, unref as n, createCommentVNode as I } from "vue";
2
- import { f as L } from "./useDialog-CXR3hN0G.js";
3
- import { u as q, a as p } from "./anchored-Cj4--8dT.js";
4
- import { toast as l } from "vue-sonner";
5
- const J = ["aria-label"], N = 12, Q = 640, te = /* @__PURE__ */ D({
6
- __name: "Popover",
7
- props: {
8
- label: {},
9
- placement: { default: "bottom" },
10
- width: { default: "lg" },
11
- arrow: { type: Boolean, default: !0 },
12
- matchTriggerWidth: { type: Boolean, default: !1 },
13
- block: { type: Boolean, default: !1 },
14
- autofocus: { type: Boolean, default: !0 }
15
- },
16
- emits: ["presented", "dismissed"],
17
- setup(t, { expose: o, emit: O }) {
18
- const s = t, v = O, R = { sm: "w-56", md: "w-72", lg: "w-80", auto: "w-max" }, h = `popover-${F()}`, a = c(!1), i = c(null), d = c(null), g = c(null), { style: S, arrowStyle: z, resolvedPlacement: u } = q(d, {
19
- reference: () => i.value?.firstElementChild ?? i.value,
20
- placement: () => s.placement,
21
- offset: 10,
22
- padding: N,
23
- arrow: g,
24
- fit: (e, _) => {
25
- const T = i.value?.firstElementChild ?? i.value;
26
- Object.assign(e.style, window.innerWidth < Q ? { width: `${window.innerWidth - N * 2}px`, maxWidth: "", minWidth: "" } : { width: "", maxWidth: `${Math.max(0, _.width)}px`, minWidth: s.matchTriggerWidth && T ? `${Math.round(T.getBoundingClientRect().width)}px` : "" });
27
- }
28
- });
29
- function y() {
30
- a.value || (a.value = !0, v("presented"));
31
- }
32
- function r(e = !1) {
33
- a.value && (a.value = !1, v("dismissed"), e && C(() => L(i.value)[0]?.focus()));
34
- }
35
- function x() {
36
- a.value ? r() : y();
37
- }
38
- function b(e) {
39
- e.key === "Escape" && (e.preventDefault(), e.stopPropagation(), r(!0));
40
- }
41
- function k(e) {
42
- return e instanceof Node && (!!d.value?.contains(e) || !!i.value?.contains(e));
43
- }
44
- function E(e) {
45
- k(e.target) || r();
46
- }
47
- function V(e) {
48
- e.relatedTarget && !k(e.relatedTarget) && r();
49
- }
50
- B(d, (e) => {
51
- e && s.autofocus && C(() => (L(e)[0] ?? e).focus({ preventScroll: !0 }));
52
- });
53
- function W() {
54
- window.removeEventListener("keydown", b, !0), document.removeEventListener("pointerdown", E, !0);
55
- }
56
- B(a, (e) => {
57
- e ? (window.addEventListener("keydown", b, !0), document.addEventListener("pointerdown", E, !0)) : W();
58
- }), M(W);
59
- const A = U(() => ({
60
- "aria-expanded": a.value,
61
- "aria-haspopup": "dialog",
62
- "aria-controls": h
63
- }));
64
- return o({ present: y, dismiss: () => r(), toggle: x }), (e, _) => (m(), w("span", {
65
- class: f(s.block ? "flex w-full" : "inline-flex"),
66
- onFocusout: V
67
- }, [
68
- j("span", {
69
- ref_key: "anchor",
70
- ref: i,
71
- class: f(s.block ? "flex w-full" : "inline-flex")
72
- }, [
73
- $(e.$slots, "trigger", {
74
- presented: a.value,
75
- toggle: x,
76
- attrs: A.value
77
- })
78
- ], 2),
79
- G(H, {
80
- "enter-active-class": "transition-opacity duration-motion-fast ease-motion-standard",
81
- "enter-from-class": "opacity-0",
82
- "leave-active-class": "pointer-events-none transition-opacity duration-motion-fast ease-motion-standard",
83
- "leave-to-class": "opacity-0"
84
- }, {
85
- default: K(() => [
86
- a.value ? (m(), w("div", {
87
- key: 0,
88
- id: h,
89
- ref_key: "panel",
90
- ref: d,
91
- role: "dialog",
92
- "aria-label": s.label,
93
- tabindex: "-1",
94
- class: f(["z-1000 rounded-menu bg-surface-overlay p-3 text-content-strong shadow-float outline-none", R[s.width]]),
95
- style: P(n(S))
96
- }, [
97
- $(e.$slots, "default", {
98
- dismiss: () => r(!0)
99
- }),
100
- s.arrow ? (m(), w("span", {
101
- key: 0,
102
- ref_key: "arrowEl",
103
- ref: g,
104
- "aria-hidden": "true",
105
- class: f(["absolute size-2.5 rotate-45 bg-surface-overlay", {
106
- "-bottom-[5px]": n(p)(n(u)) === "bottom",
107
- "-top-[5px]": n(p)(n(u)) === "top",
108
- "-left-[5px]": n(p)(n(u)) === "left",
109
- "-right-[5px]": n(p)(n(u)) === "right"
110
- }]),
111
- style: P(n(z))
112
- }, null, 6)) : I("", !0)
113
- ], 14, J)) : I("", !0)
114
- ]),
115
- _: 3
116
- })
117
- ], 34));
118
- }
119
- }), oe = {
120
- success: (t, o) => l.success(t, o),
121
- info: (t, o) => l.info(t, o),
122
- warning: (t, o) => l.warning(t, o),
123
- error: (t, o) => l.error(t, o),
124
- loading: (t, o) => l.loading(t, o),
125
- /** Dismisses one toast, or all of them without an id. */
126
- dismiss: (t) => void l.dismiss(t)
127
- };
128
- export {
129
- te as _,
130
- oe as t
131
- };