@wssto2/vue-core 0.1.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 (314) hide show
  1. package/README.md +53 -9
  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-CKghARkW.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-CvAnzdc1.js} +48 -47
  7. package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-BZb4qKXo.js → AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js} +2 -2
  8. package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-B82bl36A.js → AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js} +4 -4
  9. package/dist/Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js +51 -0
  10. 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
  11. package/dist/{BottomDock.vue_vue_type_script_setup_true_lang-DhlMnPC2.js → BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js} +1 -1
  12. package/dist/Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js +182 -0
  13. package/dist/Changes-DlT5mN9G.js +129 -0
  14. package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js +1481 -0
  15. package/dist/CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js +299 -0
  16. package/dist/DataTable.vue_vue_type_script_setup_true_lang-DSYgS9lC.js +52 -0
  17. package/dist/DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js +1099 -0
  18. package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-Bx5O1RZJ.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-Cb3xJI1x.js} +1 -1
  19. package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-BeGpHMUP.js → EmptyState.vue_vue_type_script_setup_true_lang-C2ZYIT9F.js} +1 -1
  20. package/dist/FormErrors.vue_vue_type_script_setup_true_lang-DVgNBQ8p.js +276 -0
  21. package/dist/FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js +136 -0
  22. package/dist/FormView.vue_vue_type_script_setup_true_lang-Bz2m3AtF.js +38 -0
  23. package/dist/General-BD-Hcz0a.js +145 -0
  24. package/dist/{Icon.vue_vue_type_script_lang-DtC4_mkz.js → Icon.vue_vue_type_script_lang-VvcV2Bzo.js} +46 -33
  25. package/dist/{IconTile.vue_vue_type_script_setup_true_lang-Csfv6Sel.js → IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.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-DH6EB8br.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-C2udmeEA.js} +2 -2
  28. package/dist/{Menu.vue_vue_type_script_setup_true_lang-D44EHXQZ.js → Menu.vue_vue_type_script_setup_true_lang-BNAjx9tj.js} +61 -57
  29. package/dist/{Modal.vue_vue_type_script_setup_true_lang-DYQgaUtj.js → Modal.vue_vue_type_script_setup_true_lang-D7SwVPpL.js} +139 -129
  30. package/dist/NewRolePage-Dla4YnMs.js +42 -0
  31. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-8m9cNptR.js +31 -0
  32. package/dist/NumberField.vue_vue_type_script_setup_true_lang-CYRg7Kfg.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-Cfr5xsJx.js +47 -0
  35. package/dist/{Panel.vue_vue_type_script_setup_true_lang-BQmv3cLb.js → Panel.vue_vue_type_script_setup_true_lang-BCRxRK4D.js} +1 -1
  36. package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-DDVQXJRB.js → PhotoViewer.vue_vue_type_script_setup_true_lang-B3Q4dhqJ.js} +2 -2
  37. package/dist/Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js +125 -0
  38. package/dist/ProfilePage-OJMQ8cr8.js +691 -0
  39. package/dist/{ProgressTrack.vue_vue_type_script_setup_true_lang-1DDaNs2W.js → ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js} +2 -2
  40. package/dist/RecordHeader.vue_vue_type_script_setup_true_lang-DKsaKlAq.js +64 -0
  41. package/dist/ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js +173 -0
  42. package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-DuEPOmjI.js +299 -0
  43. package/dist/RolePage-bZzv_E4l.js +315 -0
  44. package/dist/RolesPage-BniZv0nB.js +115 -0
  45. package/dist/SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js +23 -0
  46. package/dist/SectionList.vue_vue_type_script_setup_true_lang-BKP_bge8.js +148 -0
  47. package/dist/SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js +314 -0
  48. package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BZ9UdgA1.js +58 -0
  49. package/dist/SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js +422 -0
  50. package/dist/SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js +111 -0
  51. package/dist/Sessions-Co5-xdeb.js +96 -0
  52. package/dist/Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js +142 -0
  53. package/dist/SignIn-BWwFbxki.js +140 -0
  54. package/dist/SignInPage-FnLtoi2q.js +60 -0
  55. package/dist/SignInTable.vue_vue_type_script_setup_true_lang-Dnx3T_42.js +79 -0
  56. package/dist/SignIns-3UcI64_h.js +66 -0
  57. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-4I8m27ol.js +93 -0
  58. package/dist/Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js +155 -0
  59. package/dist/TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js +269 -0
  60. package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CU3KTKIJ.js +127 -0
  61. 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
  62. package/dist/{Tooltip.vue_vue_type_script_setup_true_lang-BJWPVyfT.js → Tooltip.vue_vue_type_script_setup_true_lang-OOD_XNWx.js} +1 -1
  63. package/dist/UserRecord-Ci8HfwbX.js +267 -0
  64. package/dist/UsersList-vEJ-cgkT.js +155 -0
  65. package/dist/ViewTabs.vue_vue_type_script_setup_true_lang-ByqTU2JT.js +28 -0
  66. package/dist/access/AddRoleDialog.vue.d.ts +19 -0
  67. package/dist/access/BindingRow.vue.d.ts +19 -0
  68. package/dist/access/EffectiveAccess.vue.d.ts +12 -0
  69. package/dist/access/NewRolePage.vue.d.ts +2 -0
  70. package/dist/access/PermissionTree.vue.d.ts +13 -0
  71. package/dist/access/PersonAccess.vue.d.ts +21 -0
  72. package/dist/access/ReplaceRoleDialog.vue.d.ts +17 -0
  73. package/dist/access/RoleCompareDialog.vue.d.ts +14 -0
  74. package/dist/access/RoleEditor.vue.d.ts +28 -0
  75. package/dist/access/RolePage.vue.d.ts +2 -0
  76. package/dist/access/RolesPage.vue.d.ts +2 -0
  77. package/dist/access/api.d.ts +26 -0
  78. package/dist/access/catalogue.d.ts +64 -0
  79. package/dist/access/context.d.ts +20 -0
  80. package/dist/access/effective.d.ts +42 -0
  81. package/dist/access/feature.d.ts +27 -0
  82. package/dist/access/index.d.ts +13 -0
  83. package/dist/access/index.js +15 -0
  84. package/dist/access/labels.d.ts +35 -0
  85. package/dist/access/refusals.d.ts +6 -0
  86. package/dist/access/routes.d.ts +45 -0
  87. package/dist/access/scopes.d.ts +20 -0
  88. package/dist/app/application.d.ts +5 -0
  89. package/dist/app/contributions.d.ts +1 -1
  90. package/dist/app/environment.d.ts +2 -0
  91. package/dist/app/feature.d.ts +8 -0
  92. package/dist/app/index.js +260 -294
  93. package/dist/bottomDock-BZEiOPYZ.js +12 -0
  94. package/dist/button/Button.vue.d.ts +3 -3
  95. package/dist/button/index.d.ts +1 -1
  96. package/dist/button/index.js +5 -3
  97. package/dist/button/shortcut.d.ts +28 -2
  98. package/dist/chrome-BS3xJcad.js +93 -0
  99. package/dist/client/client.d.ts +13 -0
  100. package/dist/client/index.d.ts +3 -1
  101. package/dist/client/index.js +19 -138
  102. package/dist/client/route.d.ts +59 -0
  103. package/dist/client-Bw0aM5Gu.js +147 -0
  104. package/dist/closeOverlays-CjVsIrpL.js +8 -0
  105. package/dist/collection/CollectionPage.vue.d.ts +1 -0
  106. package/dist/collection/CollectionRows.vue.d.ts +59 -0
  107. package/dist/collection/CollectionTable.vue.d.ts +1 -1
  108. package/dist/collection/DataTable.vue.d.ts +47 -0
  109. package/dist/collection/RowActions.vue.d.ts +19 -0
  110. package/dist/collection/columns.d.ts +2 -0
  111. package/dist/collection/http.d.ts +4 -2
  112. package/dist/collection/index.d.ts +4 -2
  113. package/dist/collection/index.js +87 -2299
  114. package/dist/collection/rowLayout.d.ts +10 -0
  115. package/dist/collection/slots.d.ts +6 -3
  116. package/dist/content/index.js +37 -66
  117. package/dist/contributions-CDDg3fKp.js +26 -0
  118. package/dist/controls/DateButton.vue.d.ts +1 -1
  119. package/dist/controls/PopupButton.vue.d.ts +1 -1
  120. package/dist/controls/index.js +11 -10
  121. package/dist/defineRoutes-BGAdiIrt.js +19 -0
  122. package/dist/describeError-Ctga6GcS.js +41 -0
  123. package/dist/dialogStack-DZZg55w0.js +31 -0
  124. package/dist/environment-Dva-SG8D.js +6 -0
  125. package/dist/{error-Bb_dr_Ay.js → error-CD7x0Jrz.js} +2 -2
  126. package/dist/feature-DdUAfyi4.js +25 -0
  127. package/dist/fieldMessages-C3Rpbktw.js +25 -0
  128. package/dist/form/CheckboxField.vue.d.ts +1 -1
  129. package/dist/form/CommandDialog.vue.d.ts +13 -2
  130. package/dist/form/DateField.vue.d.ts +1 -1
  131. package/dist/form/DateTimeField.vue.d.ts +1 -1
  132. package/dist/form/EditorPage.vue.d.ts +1 -1
  133. package/dist/form/Field.vue.d.ts +1 -1
  134. package/dist/form/FileField.vue.d.ts +1 -1
  135. package/dist/form/FormGroup.vue.d.ts +1 -1
  136. package/dist/form/FormGroupButton.vue.d.ts +1 -1
  137. package/dist/form/FormRow.vue.d.ts +1 -1
  138. package/dist/form/I18nField.vue.d.ts +3 -3
  139. package/dist/form/MoneyField.vue.d.ts +1 -1
  140. package/dist/form/MonthYearField.vue.d.ts +1 -1
  141. package/dist/form/MultiSelectField.vue.d.ts +4 -1
  142. package/dist/form/NumberCell.vue.d.ts +1 -1
  143. package/dist/form/NumberField.vue.d.ts +8 -2
  144. package/dist/form/OptionList.vue.d.ts +6 -2
  145. package/dist/form/OtpInput.vue.d.ts +2 -2
  146. package/dist/form/PhotoField.vue.d.ts +1 -1
  147. package/dist/form/SelectField.vue.d.ts +4 -1
  148. package/dist/form/SwitchField.vue.d.ts +1 -1
  149. package/dist/form/TextField.vue.d.ts +3 -3
  150. package/dist/form/TextareaField.vue.d.ts +3 -3
  151. package/dist/form/TimeField.vue.d.ts +1 -1
  152. package/dist/form/date/DatePickerSheet.vue.d.ts +1 -1
  153. package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
  154. package/dist/form/index.d.ts +2 -0
  155. package/dist/form/index.js +1273 -3509
  156. package/dist/form/suggestions.d.ts +11 -0
  157. package/dist/form/useOptions.d.ts +60 -0
  158. package/dist/guards-Cd1V28oG.js +51 -0
  159. package/dist/http-DGGSKWvU.js +193 -0
  160. package/dist/i18n/describeError.d.ts +31 -0
  161. package/dist/i18n/index.d.ts +307 -0
  162. package/dist/i18n/index.js +54 -52
  163. package/dist/icon/core.d.ts +13 -0
  164. package/dist/icon/index.js +1 -1
  165. package/dist/identity/ImpersonationBanner.vue.d.ts +2 -0
  166. package/dist/identity/LocaleSync.vue.d.ts +2 -0
  167. package/dist/identity/SessionExpiry.vue.d.ts +2 -0
  168. package/dist/identity/SignInAsButton.vue.d.ts +15 -0
  169. package/dist/identity/SignInPage.vue.d.ts +2 -0
  170. package/dist/identity/context.d.ts +7 -0
  171. package/dist/identity/feature.d.ts +16 -0
  172. package/dist/identity/fieldMessages.d.ts +15 -0
  173. package/dist/identity/index.d.ts +16 -0
  174. package/dist/identity/index.js +18 -0
  175. package/dist/identity/profile/DetailsPanel.vue.d.ts +11 -0
  176. package/dist/identity/profile/EmailChangeDialog.vue.d.ts +14 -0
  177. package/dist/identity/profile/EmailPanel.vue.d.ts +11 -0
  178. package/dist/identity/profile/PanelActions.vue.d.ts +17 -0
  179. package/dist/identity/profile/PasswordPanel.vue.d.ts +2 -0
  180. package/dist/identity/profile/ProfileMenuItem.vue.d.ts +2 -0
  181. package/dist/identity/profile/ProfilePage.vue.d.ts +2 -0
  182. package/dist/identity/profile/SessionsPanel.vue.d.ts +2 -0
  183. package/dist/identity/profile/SignInsPanel.vue.d.ts +2 -0
  184. package/dist/identity/profile/VerifyCode.vue.d.ts +49 -0
  185. package/dist/identity/profile/routes.d.ts +13 -0
  186. package/dist/identity/session.d.ts +30 -0
  187. package/dist/identity/shared/ActionRow.vue.d.ts +20 -0
  188. package/dist/identity/shared/ChangeFeed.vue.d.ts +11 -0
  189. package/dist/identity/shared/PageBar.vue.d.ts +12 -0
  190. package/dist/identity/shared/SectionIntro.vue.d.ts +16 -0
  191. package/dist/identity/shared/SessionList.vue.d.ts +19 -0
  192. package/dist/{phone/CountryFlag.vue.d.ts → identity/shared/SignInTable.vue.d.ts} +5 -4
  193. package/dist/identity/shared/ViewTabs.vue.d.ts +23 -0
  194. package/dist/identity/shared/signInEvents.d.ts +9 -0
  195. package/dist/identity/signIn.d.ts +27 -0
  196. package/dist/identity/useSignInForm.d.ts +20 -0
  197. package/dist/identity/user.d.ts +6 -0
  198. package/dist/identity/users/DeactivateDialog.vue.d.ts +18 -0
  199. package/dist/identity/users/NewUserDialog.vue.d.ts +9 -0
  200. package/dist/identity/users/SetPasswordDialog.vue.d.ts +16 -0
  201. package/dist/identity/users/UserRecord.vue.d.ts +2 -0
  202. package/dist/identity/users/UsersList.vue.d.ts +2 -0
  203. package/dist/identity/users/access.d.ts +4 -0
  204. package/dist/identity/users/context.d.ts +9 -0
  205. package/dist/identity/users/feature.d.ts +34 -0
  206. package/dist/identity/users/languages.d.ts +4 -0
  207. package/dist/identity/users/list.d.ts +8 -0
  208. package/dist/identity/users/person.d.ts +26 -0
  209. package/dist/identity/users/personSections.d.ts +22 -0
  210. package/dist/identity/users/routes.d.ts +22 -0
  211. package/dist/identity/users/sections/Activity.vue.d.ts +2 -0
  212. package/dist/identity/users/sections/Changes.vue.d.ts +2 -0
  213. package/dist/identity/users/sections/General.vue.d.ts +2 -0
  214. package/dist/identity/users/sections/Sessions.vue.d.ts +2 -0
  215. package/dist/identity/users/sections/SignIn.vue.d.ts +2 -0
  216. package/dist/identity/users/sections/SignIns.vue.d.ts +2 -0
  217. package/dist/identity/users/status.d.ts +4 -0
  218. package/dist/index-B2dbYZR9.js +706 -0
  219. package/dist/index-BAcl44SC.js +459 -0
  220. package/dist/index.d.ts +1 -1
  221. package/dist/index.js +1 -1
  222. package/dist/internal/CountryFlag.vue.d.ts +10 -0
  223. package/dist/internal/languageName.d.ts +2 -0
  224. package/dist/keepAlive-WYQGRhuz.js +48 -0
  225. package/dist/languageName-CItV_SOv.js +11 -0
  226. package/dist/languages-BShG9LpE.js +10 -0
  227. package/dist/leaveGuard-Cc8yeLxM.js +72 -0
  228. package/dist/modal/Modal.vue.d.ts +4 -0
  229. package/dist/modal/ShortcutHelp.vue.d.ts +2 -0
  230. package/dist/modal/index.d.ts +2 -0
  231. package/dist/modal/index.js +64 -6
  232. package/dist/modal/placement.d.ts +22 -0
  233. package/dist/modules/access/entities.d.ts +112 -0
  234. package/dist/modules/access/routes.d.ts +67 -0
  235. package/dist/modules/access/schemas.d.ts +73 -0
  236. package/dist/modules/identity/entities.d.ts +150 -0
  237. package/dist/modules/identity/routes.d.ts +118 -0
  238. package/dist/modules/identity/schemas.d.ts +145 -0
  239. package/dist/{navigation-B33ikiCS.js → navigation-BPWa63ge.js} +21 -20
  240. package/dist/neighbors-D0WRBxXI.js +86 -0
  241. package/dist/{options-CjSz2dQK.js → options-BXkMR63B.js} +48 -49
  242. package/dist/overlay/AlertDialog.vue.d.ts +3 -3
  243. package/dist/overlay/Popover.vue.d.ts +4 -1
  244. package/dist/overlay/closeOverlays.d.ts +7 -0
  245. package/dist/overlay/dialogStack.d.ts +9 -0
  246. package/dist/overlay/index.d.ts +1 -1
  247. package/dist/overlay/index.js +20 -18
  248. package/dist/page/AdaptivePageShell.vue.d.ts +2 -2
  249. package/dist/page/ResourceHeader.vue.d.ts +2 -2
  250. package/dist/page/index.js +99 -457
  251. package/dist/phone/PhoneField.vue.d.ts +2 -2
  252. package/dist/phone/index.js +247 -540
  253. package/dist/platform/AccessGate.vue.d.ts +50 -0
  254. package/dist/platform/index.d.ts +4 -2
  255. package/dist/platform/index.js +38 -35
  256. package/dist/platform/platform.d.ts +2 -2
  257. package/dist/platform/session.d.ts +22 -1
  258. package/dist/platform-hunMqFdB.js +255 -0
  259. package/dist/resource/index.js +8 -248
  260. package/dist/routeResource-DstM0hvf.js +82 -0
  261. package/dist/router/guards.d.ts +7 -1
  262. package/dist/router/index.js +23 -37
  263. package/dist/router/navigation.d.ts +1 -1
  264. package/dist/rowLayout-BI7a3Kom.js +603 -0
  265. package/dist/sectionIndex-BS0ic5W7.js +86 -0
  266. package/dist/{sections-LtxV5Mtk.js → sections-BEqW1dOc.js} +1 -1
  267. package/dist/shell/AccountMenuItem.vue.d.ts +4 -1
  268. package/dist/shell/BackofficeShell.vue.d.ts +2 -2
  269. package/dist/shell/ShellBrand.vue.d.ts +1 -1
  270. package/dist/shell/backofficeShell.d.ts +1 -1
  271. package/dist/shell/identity.d.ts +1 -1
  272. package/dist/shell/index.js +476 -532
  273. package/dist/state/Badge.vue.d.ts +17 -10
  274. package/dist/state/ProgressTrack.vue.d.ts +1 -1
  275. package/dist/state/hue.d.ts +8 -0
  276. package/dist/state/index.d.ts +2 -0
  277. package/dist/state/index.js +34 -31
  278. package/dist/state/useLoad.d.ts +41 -0
  279. package/dist/status-C9aXR-Jb.js +33 -0
  280. package/dist/styles.css +1 -1
  281. package/dist/suggestions-BJAqOj4c.js +138 -0
  282. package/dist/testing/app.d.ts +61 -0
  283. package/dist/testing/async.d.ts +12 -0
  284. package/dist/testing/collection.d.ts +18 -0
  285. package/dist/testing/format.d.ts +9 -0
  286. package/dist/testing/i18n.d.ts +16 -0
  287. package/dist/testing/index.d.ts +14 -0
  288. package/dist/testing/index.js +178 -0
  289. package/dist/testing/media.d.ts +23 -0
  290. package/dist/testing/platform.d.ts +40 -0
  291. package/dist/testing/transport.d.ts +40 -0
  292. package/dist/toast-D9Z5To38.js +13 -0
  293. package/dist/useCommand-BgRwnYlV.js +135 -0
  294. package/dist/{useDialog-wmyNx2j_.js → useDialog-CXR3hN0G.js} +1 -1
  295. package/dist/useLoad-CYRVx6HW.js +39 -0
  296. package/dist/useResourceForm-Bgc9jMcu.js +52 -0
  297. package/dist/useSaveChrome-chi6D3HY.js +25 -0
  298. package/dist/useSheetDrag-OsD6Eb6I.js +72 -0
  299. package/package.json +26 -5
  300. package/src/styles/theme.css +60 -0
  301. package/dist/Badge.vue_vue_type_script_setup_true_lang-DKc6ugmr.js +0 -31
  302. package/dist/Button.vue_vue_type_script_setup_true_lang-3f0emVNU.js +0 -141
  303. package/dist/NoAccess.vue_vue_type_script_setup_true_lang-OKW8pKYU.js +0 -78
  304. package/dist/SectionList.vue_vue_type_script_setup_true_lang-DGcKX_OJ.js +0 -230
  305. package/dist/SelectField.vue_vue_type_script_setup_true_lang-SyFWE33A.js +0 -422
  306. package/dist/Sheet.vue_vue_type_script_setup_true_lang-BLBD5ps8.js +0 -210
  307. package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-CGTuEnTv.js +0 -243
  308. package/dist/chrome-D9pwD6iS.js +0 -101
  309. package/dist/dialogStack-DiTG1rZc.js +0 -26
  310. package/dist/environment-D3nozt9a.js +0 -75
  311. package/dist/feature-DyDtyMLU.js +0 -47
  312. package/dist/platform-jqlKVJ2e.js +0 -244
  313. package/dist/toast-BTeX0r66.js +0 -129
  314. /package/dist/{phone → internal}/flagLoaders.d.ts +0 -0
@@ -0,0 +1,267 @@
1
+ import { defineComponent as R, openBlock as q, createBlock as P, unref as e, withCtx as u, createVNode as t, mergeProps as L, provide as N, computed as g, useTemplateRef as $, createElementVNode as x, toDisplayString as C, createTextVNode as j } from "vue";
2
+ import { useI18n as A } from "vue-i18n";
3
+ import { u as F } from "./neighbors-D0WRBxXI.js";
4
+ import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
5
+ import { u as J } from "./describeError-Ctga6GcS.js";
6
+ import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-BAcl44SC.js";
7
+ import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js";
8
+ import { t as k } from "./toast-D9Z5To38.js";
9
+ import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-BgGEGxSI.js";
10
+ import { u as E } from "./platform-hunMqFdB.js";
11
+ import { a as te } from "./routeResource-DstM0hvf.js";
12
+ import { a as oe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-CJcKa9SW.js";
13
+ import { A as re } from "./access-DdRFrVV1.js";
14
+ import { _ as ne } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
15
+ import { u as ie } from "./useLoad-CYRVx6HW.js";
16
+ import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js";
17
+ import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js";
18
+ import { e as B } from "./options-BXkMR63B.js";
19
+ import { u as z, _ as K } from "./useCommand-BgRwnYlV.js";
20
+ import { u as U } from "./fieldMessages-C3Rpbktw.js";
21
+ import { u as ce, s as le } from "./status-C9aXR-Jb.js";
22
+ import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js";
23
+ const ue = /* @__PURE__ */ R({
24
+ __name: "DeactivateDialog",
25
+ props: {
26
+ id: {},
27
+ name: {},
28
+ sessionCount: {}
29
+ },
30
+ emits: ["done"],
31
+ setup(h, { expose: a, emit: d }) {
32
+ const c = h, v = d, { t: s } = A(), { http: n } = E(), l = z({
33
+ ...U(),
34
+ defaults: () => ({}),
35
+ run: () => n.request(w.usersDeactivate, { id: c.id }),
36
+ done: () => {
37
+ k.success(s("core.users.deactivate.done", { name: c.name })), v("done");
38
+ }
39
+ });
40
+ return a({ open: () => l.present() }), (f, o) => (q(), P(e(K), {
41
+ command: e(l),
42
+ title: e(s)("core.users.deactivate.title"),
43
+ subtitle: c.name,
44
+ "confirm-label": e(s)("core.users.actions.deactivate_short"),
45
+ "busy-label": e(s)("core.users.deactivate.busy"),
46
+ "done-label": e(s)("core.users.deactivate.done_label"),
47
+ size: "md"
48
+ }, {
49
+ default: u(() => [
50
+ t(e(T), { "data-deactivate-dialog": "" }, {
51
+ default: u(() => [
52
+ t(e(B), {
53
+ layout: "setting",
54
+ label: e(s)("core.users.deactivate.signs_out", { n: c.sessionCount ?? 0 }),
55
+ sub: e(s)("core.users.deactivate.signs_out_sub")
56
+ }, {
57
+ leading: u(() => [
58
+ t(e(V), {
59
+ tone: "anchor",
60
+ icon: "logoutBoxRLine"
61
+ })
62
+ ]),
63
+ _: 1
64
+ }, 8, ["label", "sub"]),
65
+ t(e(B), {
66
+ layout: "setting",
67
+ label: e(s)("core.users.deactivate.cannot_sign_in"),
68
+ sub: e(s)("core.users.deactivate.cannot_sign_in_sub")
69
+ }, {
70
+ leading: u(() => [
71
+ t(e(V), {
72
+ tone: "anchor",
73
+ icon: "lockLine"
74
+ })
75
+ ]),
76
+ _: 1
77
+ }, 8, ["label", "sub"])
78
+ ]),
79
+ _: 1
80
+ })
81
+ ]),
82
+ _: 1
83
+ }, 8, ["command", "title", "subtitle", "confirm-label", "busy-label", "done-label"]));
84
+ }
85
+ }), de = /* @__PURE__ */ R({
86
+ __name: "SetPasswordDialog",
87
+ props: {
88
+ id: {},
89
+ name: {}
90
+ },
91
+ emits: ["saved"],
92
+ setup(h, { expose: a, emit: d }) {
93
+ const c = h, v = d, { t: s } = A(), { http: n } = E(), l = {
94
+ safeParse(o) {
95
+ const { password: m, repeat: _ } = o, b = [
96
+ ...m === "" ? [{ path: ["password"], message: s("core.account.validation.required") }] : [],
97
+ ...m !== "" && _ !== m ? [{ path: ["repeat"], message: s(_ === "" ? "core.account.validation.required" : "core.account.validation.mismatch") }] : []
98
+ ];
99
+ return b.length > 0 ? { success: !1, error: { issues: b } } : { success: !0, data: { password: m } };
100
+ }
101
+ }, f = z({
102
+ ...U(),
103
+ defaults: () => ({ password: "", repeat: "" }),
104
+ validator: l,
105
+ run: (o) => n.request(w.usersSetPassword, { id: c.id, password: o.password }),
106
+ done: () => {
107
+ k.success(s("core.users.password.done", { name: c.name })), v("saved");
108
+ }
109
+ });
110
+ return a({ open: () => f.present() }), (o, m) => (q(), P(e(K), {
111
+ command: e(f),
112
+ title: e(s)("core.users.password.title"),
113
+ subtitle: c.name,
114
+ "confirm-label": e(s)("core.users.password.action")
115
+ }, {
116
+ default: u(() => [
117
+ t(e(T), {
118
+ footer: e(s)("core.users.password.footer"),
119
+ "data-set-password-dialog": ""
120
+ }, {
121
+ default: u(() => [
122
+ t(e(M), L(e(f).form.bind("password"), {
123
+ label: e(s)("core.users.fields.password"),
124
+ type: "password",
125
+ required: "",
126
+ autocomplete: "new-password"
127
+ }), null, 16, ["label"]),
128
+ t(e(M), L(e(f).form.bind("repeat"), {
129
+ label: e(s)("core.users.fields.password_repeat"),
130
+ type: "password",
131
+ required: "",
132
+ autocomplete: "new-password"
133
+ }), null, 16, ["label"])
134
+ ]),
135
+ _: 1
136
+ }, 8, ["footer"])
137
+ ]),
138
+ _: 1
139
+ }, 8, ["command", "title", "subtitle", "confirm-label"]));
140
+ }
141
+ }), me = {
142
+ class: "flex items-center gap-3 px-1.5",
143
+ "data-person-identity": ""
144
+ }, pe = { class: "flex min-w-0 flex-col items-start gap-0.5" }, fe = { class: "max-w-full truncate text-headline font-semibold text-content-strong" }, ve = { class: "max-w-full truncate text-footnote text-content-muted" }, Te = /* @__PURE__ */ R({
145
+ __name: "UserRecord",
146
+ setup(h) {
147
+ const { t: a } = A(), { http: d, access: c, session: v } = E(), s = J(), n = te({
148
+ key: Q,
149
+ param: "id",
150
+ load: async (r, { signal: p }) => (await d.request(w.usersShow, { id: r }, { signal: p })).data
151
+ }), l = ie(
152
+ async ({ signal: r }) => {
153
+ const p = n.data.value?.id;
154
+ return p === void 0 ? { sessions: [] } : (await d.request(w.usersSessions, { id: p }, { signal: r })).data;
155
+ },
156
+ { watch: () => n.data.value?.id }
157
+ );
158
+ N(W, l);
159
+ const f = F(ce(d), { current: () => n.id.value, list: X.index, param: "id", backLabel: () => a("core.users.title") }), o = g(() => n.data.value), m = g(() => o.value !== null && v.state.value.status === "authenticated" && v.state.value.user.id === o.value.id), _ = $("deactivateDialog"), b = $("passwordDialog"), D = $("activateDialog");
160
+ async function y() {
161
+ await Promise.all([n.reload(), l.reload()]);
162
+ }
163
+ async function G() {
164
+ const r = n.id.value;
165
+ if (r !== null) {
166
+ try {
167
+ await d.request(w.usersActivate, { id: r }), k.success(a("core.users.activate.done", { name: o.value?.name ?? "" }));
168
+ } catch (p) {
169
+ ee(p) || k.error(s(p, { fallback: a("core.users.activate.failed") }));
170
+ }
171
+ await y();
172
+ }
173
+ }
174
+ const S = g(() => {
175
+ const r = c.can(Y);
176
+ return { manage: r, deactivate: r && !!o.value?.active && !m.value, activate: r && o.value !== null && !o.value.active, endSessions: r && !m.value };
177
+ });
178
+ N(Z, {
179
+ get can() {
180
+ return S.value;
181
+ },
182
+ deactivate: () => _.value?.open(),
183
+ activate: () => D.value?.present(),
184
+ setPassword: () => b.value?.open(),
185
+ refresh: y
186
+ });
187
+ const I = g(() => [
188
+ ...S.value.deactivate ? [{ id: "deactivate", label: a("core.users.actions.deactivate"), icon: "lockLine", placement: "overflow", tone: "critical", onClick: () => _.value?.open() }] : [],
189
+ ...S.value.activate ? [{ id: "activate", label: a("core.users.actions.activate"), icon: "checkCircle", placement: "overflow", onClick: () => D.value?.present() }] : []
190
+ ]), O = g(() => ({
191
+ ...l.data.value ? { "users.record.sessions": l.data.value.sessions.length } : {},
192
+ ...o.value?.status === "locked" ? { "users.record.signin": a("core.users.status.locked") } : {}
193
+ }));
194
+ return (r, p) => (q(), P(e(oe), {
195
+ resource: e(n),
196
+ title: o.value?.name ?? e(a)("core.users.record"),
197
+ list: e(f).context,
198
+ actions: I.value
199
+ }, {
200
+ default: u(({ record: i }) => [
201
+ t(e(ae), {
202
+ label: e(a)("core.users.sections_label"),
203
+ desktop: "sidebar",
204
+ compact: "rows",
205
+ "back-label": i.name,
206
+ counts: O.value
207
+ }, {
208
+ summary: u(() => [
209
+ x("div", me, [
210
+ t(e(H), {
211
+ name: i.name,
212
+ size: "lg",
213
+ tone: "anchor"
214
+ }, null, 8, ["name"]),
215
+ x("div", pe, [
216
+ x("span", fe, C(i.name), 1),
217
+ x("span", ve, C(i.email), 1),
218
+ t(e(ne), {
219
+ tone: e(le)(i.status),
220
+ dot: "",
221
+ "data-person-status": ""
222
+ }, {
223
+ default: u(() => [
224
+ j(C(e(a)(`core.users.status.${i.status}`)), 1)
225
+ ]),
226
+ _: 2
227
+ }, 1032, ["tone"])
228
+ ])
229
+ ])
230
+ ]),
231
+ default: u(() => [
232
+ t(e(re))
233
+ ]),
234
+ _: 2
235
+ }, 1032, ["label", "back-label", "counts"]),
236
+ t(ue, {
237
+ ref_key: "deactivateDialog",
238
+ ref: _,
239
+ id: i.id,
240
+ name: i.name,
241
+ "session-count": e(l).data.value?.sessions.length ?? null,
242
+ onDone: y
243
+ }, null, 8, ["id", "name", "session-count"]),
244
+ t(de, {
245
+ ref_key: "passwordDialog",
246
+ ref: b,
247
+ id: i.id,
248
+ name: i.name,
249
+ onSaved: y
250
+ }, null, 8, ["id", "name"]),
251
+ t(e(se), {
252
+ ref_key: "activateDialog",
253
+ ref: D,
254
+ icon: "checkCircle",
255
+ title: e(a)("core.users.activate.title"),
256
+ message: e(a)("core.users.activate.body", { name: i.name }),
257
+ "confirm-label": e(a)("core.users.actions.activate"),
258
+ action: G
259
+ }, null, 8, ["title", "message", "confirm-label"])
260
+ ]),
261
+ _: 1
262
+ }, 8, ["resource", "title", "list", "actions"]));
263
+ }
264
+ });
265
+ export {
266
+ Te as default
267
+ };
@@ -0,0 +1,155 @@
1
+ import { defineComponent as U, openBlock as p, createBlock as C, unref as e, withCtx as c, createVNode as r, mergeProps as i, useTemplateRef as V, computed as q, createTextVNode as z, toDisplayString as $, createCommentVNode as A, createElementBlock as S, normalizeClass as N } from "vue";
2
+ import { useI18n as B } from "vue-i18n";
3
+ import { useRouter as M } from "vue-router";
4
+ import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-CXILftEc.js";
5
+ import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
6
+ import { u as F } from "./format-B8mJm946.js";
7
+ import { u as L } from "./platform-hunMqFdB.js";
8
+ import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
+ import { i as K, f as E, M as W } from "./index-BAcl44SC.js";
10
+ import { U as j, u as H, s as J } from "./status-C9aXR-Jb.js";
11
+ import { u as O } from "./environment-Dva-SG8D.js";
12
+ import { u as Q } from "./languages-BShG9LpE.js";
13
+ import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js";
14
+ import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-BiGaEKBQ.js";
15
+ import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-C_FMf3Vc.js";
16
+ import { u as Z, _ as ee } from "./useCommand-BgRwnYlV.js";
17
+ import { t as se } from "./toast-D9Z5To38.js";
18
+ import { u as te } from "./fieldMessages-C3Rpbktw.js";
19
+ const oe = /* @__PURE__ */ U({
20
+ __name: "NewUserDialog",
21
+ emits: ["created"],
22
+ setup(T, { expose: o, emit: b }) {
23
+ const { t } = B(), { http: g } = L(), h = O(), f = te(), w = Q(), y = () => ({ login: "", name: "", email: "", phone: "", locale: h.locale.value, password: "", repeat: "" }), m = (s) => s.trim() === "", k = {
24
+ safeParse(s) {
25
+ const { repeat: n, locale: R, ...u } = s, v = t("core.account.validation.required"), _ = ["login", "name", "email", "password"].filter((x) => m(u[x])).map((x) => ({ path: [x], message: v }));
26
+ return R === null && _.push({ path: ["locale"], message: v }), !m(u.password) && n !== u.password && _.push({ path: ["repeat"], message: m(n) ? v : t("core.account.validation.mismatch") }), _.length > 0 ? { success: !1, error: { issues: _ } } : { success: !0, data: { ...u, locale: R ?? "", phone: m(u.phone) ? void 0 : u.phone } };
27
+ }
28
+ }, l = b, a = Z({
29
+ ...f,
30
+ defaults: y,
31
+ validator: k,
32
+ run: async (s) => (await g.request(K.usersCreate, s)).data,
33
+ done: (s) => {
34
+ se.success(t("core.users.create.done", { name: s.name })), l("created", s);
35
+ }
36
+ });
37
+ return o({ create: () => a.present() }), (s, n) => (p(), C(e(ee), {
38
+ command: e(a),
39
+ title: e(t)("core.users.create.title"),
40
+ subtitle: e(t)("core.users.create.subtitle"),
41
+ "confirm-label": e(t)("core.users.create.action"),
42
+ size: "md"
43
+ }, {
44
+ default: c(() => [
45
+ r(e(X), { "label-width": "11rem" }, {
46
+ default: c(() => [
47
+ r(e(d), i(e(a).form.bind("name"), {
48
+ label: e(t)("core.users.fields.name"),
49
+ required: "",
50
+ autocomplete: "off"
51
+ }), null, 16, ["label"]),
52
+ r(e(d), i(e(a).form.bind("login"), {
53
+ label: e(t)("core.users.fields.login"),
54
+ required: "",
55
+ mono: "",
56
+ autocomplete: "off"
57
+ }), null, 16, ["label"]),
58
+ r(e(d), i(e(a).form.bind("password"), {
59
+ label: e(t)("core.users.fields.password"),
60
+ type: "password",
61
+ required: "",
62
+ autocomplete: "new-password"
63
+ }), null, 16, ["label"]),
64
+ r(e(d), i(e(a).form.bind("repeat"), {
65
+ label: e(t)("core.users.fields.password_repeat"),
66
+ type: "password",
67
+ required: "",
68
+ autocomplete: "new-password"
69
+ }), null, 16, ["label"]),
70
+ r(e(d), i(e(a).form.bind("email"), {
71
+ label: e(t)("core.users.fields.email"),
72
+ type: "email",
73
+ required: "",
74
+ autocomplete: "off"
75
+ }), null, 16, ["label"]),
76
+ r(e(d), i(e(a).form.bind("phone"), {
77
+ label: e(t)("core.users.fields.phone"),
78
+ type: "tel",
79
+ autocomplete: "off"
80
+ }), null, 16, ["label"]),
81
+ r(e(Y), i(e(a).form.bind("locale"), {
82
+ label: e(t)("core.users.fields.locale"),
83
+ options: e(w),
84
+ required: ""
85
+ }), null, 16, ["label", "options"])
86
+ ]),
87
+ _: 1
88
+ })
89
+ ]),
90
+ _: 1
91
+ }, 8, ["command", "title", "subtitle", "confirm-label"]));
92
+ }
93
+ }), ae = ["datetime"], xe = /* @__PURE__ */ U({
94
+ __name: "UsersList",
95
+ setup(T) {
96
+ const { t: o } = B(), { http: b, access: t } = L(), g = F(), h = M(), f = V("dialog"), w = q(() => [
97
+ { key: "name", label: o("core.users.columns.person"), kind: "identity", subtitle: (l) => l.email, sort: "name", mobile: "primary" },
98
+ { key: "login", label: o("core.users.columns.login"), sort: "login", hideBelow: "md", width: 180, mobile: "hidden" },
99
+ { key: "last_sign_in", label: o("core.users.columns.last_sign_in"), width: 170, mobile: "meta" },
100
+ { key: "status", label: o("core.users.columns.status"), width: 130, mobile: "accessory" }
101
+ ]), y = q(() => j.map((l) => ({ key: l, label: o(`core.users.views.${l}`) }))), m = P(H(b), { columns: w, views: y, state: { kind: "url", key: "query" }, recordRoute: (l) => E.record({ id: l.id }) }), k = q(
102
+ () => t.can(W) ? [{ id: "create", label: o("core.users.create.title"), icon: "addLine", placement: "primary", compact: "icon", keyboardShortcut: { key: "N", ctrlKey: !0 }, onClick: () => f.value?.create() }] : []
103
+ );
104
+ return (l, a) => (p(), C(e(D), {
105
+ collection: e(m),
106
+ title: e(o)("core.users.title"),
107
+ description: e(o)("core.users.description"),
108
+ actions: k.value,
109
+ "row-height": 64,
110
+ "row-label": (s) => s.name,
111
+ "views-presentation": "scope"
112
+ }, {
113
+ leading: c(({ item: s }) => [
114
+ r(e(I), {
115
+ name: s.name,
116
+ size: "md",
117
+ tone: "anchor"
118
+ }, null, 8, ["name"])
119
+ ]),
120
+ "cell-last_sign_in": c(({ item: s, compact: n }) => [
121
+ s.last_sign_in ? (p(), S("time", {
122
+ key: 0,
123
+ datetime: s.last_sign_in,
124
+ class: N(["text-content", n ? "text-footnote text-content-muted" : "text-body"])
125
+ }, $(e(g).dateTime(s.last_sign_in)), 11, ae)) : (p(), S("span", {
126
+ key: 1,
127
+ class: N(n ? "text-footnote text-content-disabled" : "text-body text-content-disabled")
128
+ }, $(e(o)("core.users.never")), 3))
129
+ ]),
130
+ "cell-status": c(({ item: s, compact: n }) => [
131
+ !n || s.status !== "active" ? (p(), C(e(G), {
132
+ key: 0,
133
+ tone: e(J)(s.status),
134
+ dot: ""
135
+ }, {
136
+ default: c(() => [
137
+ z($(e(o)(`core.users.status.${s.status}`)), 1)
138
+ ]),
139
+ _: 2
140
+ }, 1032, ["tone"])) : A("", !0)
141
+ ]),
142
+ default: c(() => [
143
+ r(oe, {
144
+ ref_key: "dialog",
145
+ ref: f,
146
+ onCreated: a[0] || (a[0] = (s) => e(h).push(e(E).record({ id: s.id })))
147
+ }, null, 512)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["collection", "title", "description", "actions", "row-label"]));
151
+ }
152
+ });
153
+ export {
154
+ xe as default
155
+ };
@@ -0,0 +1,28 @@
1
+ import { defineComponent as u, useModel as m, computed as d, openBlock as r, createBlock as p, unref as c, mergeModels as i } from "vue";
2
+ import { _ as b } from "./Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js";
3
+ const _ = /* @__PURE__ */ u({
4
+ __name: "ViewTabs",
5
+ props: /* @__PURE__ */ i({
6
+ views: {},
7
+ counts: {},
8
+ labelOf: { type: Function },
9
+ label: {}
10
+ }, {
11
+ modelValue: { required: !0 },
12
+ modelModifiers: {}
13
+ }),
14
+ emits: ["update:modelValue"],
15
+ setup(a) {
16
+ const e = a, t = m(a, "modelValue"), n = d(() => e.views.map((l) => ({ value: l, label: e.labelOf(l), badge: e.counts?.find((o) => o.key === l)?.count })));
17
+ return (l, o) => (r(), p(c(b), {
18
+ modelValue: t.value,
19
+ "onUpdate:modelValue": o[0] || (o[0] = (s) => t.value = s),
20
+ tabs: n.value,
21
+ presentation: "scope",
22
+ label: e.label
23
+ }, null, 8, ["modelValue", "tabs", "label"]));
24
+ }
25
+ });
26
+ export {
27
+ _
28
+ };
@@ -0,0 +1,19 @@
1
+ import type { Binding, SubjectRef } from "../modules/access/entities";
2
+ /**
3
+ * *Add role*: where first (a level of the hierarchy and the place, from what the server says this person may be given and the actor may give;
4
+ * an application with one level asks nothing here), then the role, from the ones the actor may give there (delegation already applied). What the
5
+ * chosen role reaches is the role's own and is only shown: it changes in Roles, not here.
6
+ */
7
+ type __VLS_Props = {
8
+ subject: SubjectRef;
9
+ subjectLabel: string;
10
+ };
11
+ declare function present(): Promise<void>;
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
13
+ present: typeof present;
14
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ added: (binding: Binding) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onAdded?: ((binding: Binding) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import type { Binding } from "../modules/access/entities";
2
+ /**
3
+ * One role a person holds and where it applies, read-only: the role's name, its kind under it, the place on the right. The
4
+ * access panel puts *Remove* in the trailing slot; a profile page shows it as it is.
5
+ */
6
+ type __VLS_Props = {
7
+ binding: Pick<Binding, "role" | "scope">;
8
+ };
9
+ type __VLS_Slots = {
10
+ trailing?: () => unknown;
11
+ };
12
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,12 @@
1
+ import type { EffectivePermission } from "../modules/access/entities";
2
+ /**
3
+ * *What {name} can do*: the effective permissions by module and screen, worked out from the roles; nothing here edits. Each screen says
4
+ * which actions are held, which roles give them and how wide (whose records, which places); *Why* opens the reason for every action.
5
+ * A permission switched off for the tenant is marked. On a phone the modules beyond the first three sit behind *All n modules*.
6
+ */
7
+ type __VLS_Props = {
8
+ effective: readonly EffectivePermission[];
9
+ name: string;
10
+ };
11
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,13 @@
1
+ import { type Grants } from "./catalogue";
2
+ /**
3
+ * The permissions of a role as the editor shows them: the catalogue's modules (a list on the left, a tab bar on phones)
4
+ * with what the role holds of each, then each screen as a group of switches. Switching a permission on switches on what it
5
+ * needs, off what needs it; where a screen's records have an owner the group opens with *whose* (own, location's, all), held
6
+ * once per record type. `grants` is edited in place; `readonly` shows the role without letting it change.
7
+ */
8
+ type __VLS_Props = {
9
+ grants: Grants;
10
+ readonly: boolean;
11
+ };
12
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,21 @@
1
+ import type { SubjectRef } from "../modules/access/entities";
2
+ /**
3
+ * A person's access: their roles, each with where it applies, *Add role* and removal (both offered only when the server says the actor may
4
+ * manage them), then *What {name} can do*, the effective permissions with their reasons. Put it on the person's record, as a section
5
+ * (`<PersonAccess :subject="{ kind: 'user', id }" :name="person.name" />`); `subjectLabel` says who a role is added for under the dialog's title.
6
+ */
7
+ type __VLS_Props = {
8
+ subject: SubjectRef;
9
+ /** The person's name, for "What Ana can do". */
10
+ name: string;
11
+ /** Under the add dialog's title; by default the name. */
12
+ subjectLabel?: string;
13
+ };
14
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
15
+ reload: () => Promise<void>;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ loaded: (bindings: number) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ onLoaded?: ((bindings: number) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import type { Role, RoleSummary } from "../modules/access/entities";
2
+ /**
3
+ * *Replace*: every holder of a custom role gets a predefined role at the same place instead. It goes through the same rules as
4
+ * giving a role, so it can be refused (you cannot give more than you hold); either every holder moves or none does.
5
+ */
6
+ type __VLS_Props = {
7
+ role: Role;
8
+ others: readonly RoleSummary[];
9
+ };
10
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
11
+ present: () => void;
12
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ replaced: (rebound: number) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onReplaced?: ((rebound: number) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import type { Role, RoleSummary } from "../modules/access/entities";
2
+ /**
3
+ * *Compare with a predefined role*: what a custom role holds that the other does not, what it lacks, and where the whose
4
+ * differs. The way to see how far a copy has drifted before replacing it.
5
+ */
6
+ type __VLS_Props = {
7
+ role: Role;
8
+ others: readonly RoleSummary[];
9
+ };
10
+ declare function present(): void;
11
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
12
+ present: typeof present;
13
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
14
+ export default _default;
@@ -0,0 +1,28 @@
1
+ import type { Role } from "../modules/access/entities";
2
+ import { type Grants } from "./catalogue";
3
+ /**
4
+ * A role, read or edited: its name and description, then the permission tree. A custom role edits with Save and Cancel in the
5
+ * page chrome; a predefined or computed role only reads (*Copy* is its way to a custom one). `source` prefills a new role from
6
+ * another (Copy): it is still created as a new role.
7
+ */
8
+ type __VLS_Props = {
9
+ /** The saved role; null while creating a new one. */
10
+ role: Role | null;
11
+ /** The role a new one is copied from. */
12
+ source?: Role | null;
13
+ };
14
+ interface Draft {
15
+ name: string;
16
+ description: string;
17
+ grants: Grants;
18
+ }
19
+ declare function save(): Promise<void>;
20
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {
21
+ form: import("../form").Form<Draft, Draft>;
22
+ save: typeof save;
23
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
+ saved: (role: Role) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onSaved?: ((role: Role) => any) | undefined;
27
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import type { HttpClient } from "../client";
2
+ import type { BindInput, CreateRoleInput, UpdateRoleInput } from "../modules/access/schemas";
3
+ import type { SubjectRef } from "../modules/access/entities";
4
+ type Options = {
5
+ readonly signal?: AbortSignal;
6
+ };
7
+ /** go-core's access routes as calls; `data` of each answer already read. */
8
+ export declare function createAccessApi(http: HttpClient): {
9
+ roles: (options?: Options) => Promise<import(".").RoleSummary[]>;
10
+ role: (ref: string, options?: Options) => Promise<import(".").Role>;
11
+ holders: (ref: string, options?: Options) => Promise<import(".").RoleHolder[]>;
12
+ compare: (ref: string, other: string, options?: Options) => Promise<import(".").RoleComparison>;
13
+ create: (input: CreateRoleInput) => Promise<import(".").Role>;
14
+ update: (input: UpdateRoleInput) => Promise<import(".").Role>;
15
+ remove: (ref: string) => Promise<undefined>;
16
+ replace: (ref: string, other: string) => Promise<number>;
17
+ access: (subject: SubjectRef, options?: Options) => Promise<import(".").SubjectAccess>;
18
+ scopes: (subject: SubjectRef, options?: Options) => Promise<import(".").ScopeOptions>;
19
+ bindable: (level: string, scopeId: number | null, options?: Options) => Promise<import(".").Role[]>;
20
+ bind: (subject: SubjectRef, input: Omit<BindInput, "id">) => Promise<import(".").Binding>;
21
+ unbind: (subject: SubjectRef, bindingId: number) => Promise<undefined>;
22
+ };
23
+ export type AccessApi = ReturnType<typeof createAccessApi>;
24
+ /** The calls, over the platform's client; call it in `setup`. */
25
+ export declare const useAccessApi: () => AccessApi;
26
+ export {};