@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
package/README.md CHANGED
@@ -10,14 +10,17 @@ Its plan and rules are in [PLAN.md](PLAN.md).
10
10
 
11
11
  | Import | For |
12
12
  |---|---|
13
- | `@wssto2/vue-core/platform` | `readBootstrap`, `createPlatform` (HTTP client, session, access), typed contexts |
13
+ | `@wssto2/vue-core/platform` | `readBootstrap`, `createPlatform` (HTTP client, session, access), `AccessGate`, typed contexts |
14
14
  | `@wssto2/vue-core/app` | `createApplication`, `defineFeature`, shell outlets, effects |
15
15
  | `@wssto2/vue-core/shell` | `backofficeShell`, the shell's parts for a custom one |
16
16
  | `@wssto2/vue-core/router` | `defineRoutes` (typed targets), guards, navigation |
17
- | `@wssto2/vue-core/collection` | `defineCollection`, `useCollection`, `CollectionPage`, record neighbors |
17
+ | `@wssto2/vue-core/collection` | `defineCollection`, `useCollection`, `CollectionPage`, `DataTable` (a table over an array), record neighbors |
18
18
  | `@wssto2/vue-core/resource`, `/page` | `useRouteResource`, `ResourcePage`, `SectionNavigator`, `AdaptivePageShell` |
19
19
  | `@wssto2/vue-core/button`, `/controls`, `/content`, `/state`, `/overlay`, `/modal`, `/icon` | the primitives |
20
- | `@wssto2/vue-core/i18n`, `/format`, `/client` | messages, formatting, `HttpClient` and `ApiError` |
20
+ | `@wssto2/vue-core/i18n`, `/format`, `/client` | messages, `useDescribeError`, formatting, `HttpClient` and `ApiError` |
21
+ | `@wssto2/vue-core/identity`, `/access` | go-core's module contracts (types, route tables) and, in `/identity`, `identityFeature` (sign-in page, language), `identityPlatform()` and `usersFeature` (users, "my profile"): [sign-in](docs/recipes/sign-in.md), [users](docs/recipes/users.md) |
22
+ | `@wssto2/vue-core/access` (screens) | `accessFeature({ catalogue })`: roles list and editor, compare, replace, a person's roles (`PersonAccess`) and what they can do: [roles and access](docs/recipes/access.md) |
23
+ | `@wssto2/vue-core/testing` | `createTestPlatform`, `createTestApp`, fake transports: for your tests, [testing](docs/recipes/testing.md) |
21
24
 
22
25
  Nothing is reachable by a deep import. The peers are `vue`, `vue-router` and `vue-i18n`; the library never bundles them.
23
26
 
@@ -174,12 +177,40 @@ Its texts are JSON files under the feature, loaded the first time one of its rou
174
177
  "open": "Open",
175
178
  "closed": "Closed",
176
179
  "record": "Ticket",
177
- "details": "Details"
180
+ "details": "Details",
181
+ "history": "History",
182
+ "history_empty": "Nothing has happened yet.",
183
+ "when": "When",
184
+ "kind": "Kind",
185
+ "author": "Author",
186
+ "note": "Note",
187
+ "comment": "Comment",
188
+ "change": "Status change",
189
+ "remove": "Remove"
178
190
  }
179
191
  ```
180
192
 
181
193
  The views are [a list page](docs/recipes/list-page.md) and [a record page](docs/recipes/record-page.md).
182
194
 
195
+ ## Typed routes
196
+
197
+ go-core's generator writes one `route<In, Out>(method, path, options?)` per endpoint; `client.request(route, input)` calls it with the input and the answer typed. Details, a list from a route and the errors: [typed routes](docs/recipes/typed-routes.md).
198
+
199
+ <!-- example: docs/examples/routes/api.ts:1-11 -->
200
+ ```ts
201
+ import { createHttpClient, isApiError } from "@wssto2/vue-core/client";
202
+ import { ticketsRoutes } from "./routes";
203
+ import { route } from "@wssto2/vue-core/client";
204
+
205
+ const http = createHttpClient({ baseUrl: "/api" });
206
+
207
+ // A path parameter and the rest as the query: GET /api/v1/tickets/7
208
+ export async function loadTicket(id: number, signal: AbortSignal) {
209
+ const result = await http.request(ticketsRoutes.show, { id }, { signal });
210
+ return result.data; // typed as Ticket
211
+ }
212
+ ```
213
+
183
214
  ## Permissions, destinations and icons
184
215
 
185
216
  The library knows none of your permissions, none of your backend's menu destinations and none of your icons. You declare them by merging into three interfaces, like vue-router's `RouteMeta`; after that a typo in `meta.access`, in a navigation binding or in `<Icon name>` is a compile error:
@@ -196,6 +227,12 @@ declare module "@wssto2/vue-core/platform" {
196
227
  "tickets:view": true;
197
228
  "tickets:update": true;
198
229
  "accounts:view": true;
230
+ // go-core's access module defines these in the catalogue, so a generated union has them (the roles screens name them).
231
+ "iam.role:view": true;
232
+ "iam.role:manage": true;
233
+ "iam.role:delete": true;
234
+ "iam.user:view": true;
235
+ "iam.user:manage": true;
199
236
  }
200
237
  }
201
238
 
@@ -203,6 +240,8 @@ declare module "@wssto2/vue-core/router" {
203
240
  interface DestinationRegistry {
204
241
  tickets: true;
205
242
  accounts: true;
243
+ users: true;
244
+ "iam.roles": true;
206
245
  }
207
246
  }
208
247
 
@@ -284,12 +323,17 @@ The library's own texts are under the `core` namespace in English, Croatian, Bos
284
323
 
285
324
  ## Recipes
286
325
 
287
- - [List page](docs/recipes/list-page.md): a typed collection, columns, filters, row actions, URL state
288
- - [Record page](docs/recipes/record-page.md): a simple record, a record with sections, regions that load on their own, previous / next
289
- - [Shell](docs/recipes/shell.md): the default shell, contributions from features, a custom shell
290
- - [App setup](docs/recipes/app-setup.md): config, session, effects, locales, errors
326
+ - [List page](docs/recipes/list-page.md): a typed collection, columns, filters, row actions, URL state; a table over an array
327
+ - [Record page](docs/recipes/record-page.md): a simple record, a record with sections, regions that load on their own (`useResource`, `useLoad`), previous / next
328
+ - [Shell](docs/recipes/shell.md): the default shell, contributions from features, keyboard shortcuts and their help, running inside a frame, a custom shell
329
+ - [App setup](docs/recipes/app-setup.md): config, session, effects, locales and flags, permissions in the UI, error sentences, startup errors
291
330
  - [Forms](docs/recipes/forms.md): form state, fields, a record edited in group sheets, a long form, commands
292
- - [Theming](docs/recipes/theming.md): brand accent, dark mode, tokens
331
+ - [Typed routes](docs/recipes/typed-routes.md): generated routes, `client.request`, a list from a route
332
+ - [Sign-in](docs/recipes/sign-in.md): go-core's identity module: the sign-in page, the session wiring, the language, the module's committed types, the dev server
333
+ - [Users and profile](docs/recipes/users.md): the users list and a person's record, "my profile" with the e-mail change by code, opting out, extra sections, refusals
334
+ - [Roles and access](docs/recipes/access.md): go-core's access module: the roles list and editor from your catalogue, a person's roles and effective access, where a role applies, the refusals
335
+ - [Theming](docs/recipes/theming.md): brand accent, dark mode, tokens, status tones and category hues
336
+ - [Testing](docs/recipes/testing.md): the application's environment and a fake backend for your tests
293
337
 
294
338
  Forms have their own recipe when that phase lands.
295
339
 
@@ -0,0 +1,22 @@
1
+ import { defineComponent as t, computed as i, renderSlot as n } from "vue";
2
+ import { u as l } from "./platform-hunMqFdB.js";
3
+ const m = /* @__PURE__ */ t({
4
+ __name: "AccessGate",
5
+ props: {
6
+ permission: {},
7
+ any: {},
8
+ all: {}
9
+ },
10
+ setup(r) {
11
+ const o = r, e = l().access, a = i(() => {
12
+ if (o.permission !== void 0) return e.can(o.permission);
13
+ if (o.any !== void 0) return e.canAny(o.any);
14
+ if (o.all !== void 0) return e.canAll(o.all);
15
+ throw new Error("AccessGate needs one of the props permission, any or all.");
16
+ });
17
+ return (s, c) => a.value ? n(s.$slots, "default", {}, void 0, void 0, 0) : n(s.$slots, "fallback", {}, void 0, void 0, 1);
18
+ }
19
+ });
20
+ export {
21
+ m as _
22
+ };
@@ -0,0 +1,76 @@
1
+ import { defineComponent as p, computed as r, openBlock as o, createElementBlock as d, normalizeClass as a, createBlock as c, resolveDynamicComponent as C, unref as i, mergeProps as E, withCtx as S, createCommentVNode as f, createElementVNode as m, toDisplayString as O } from "vue";
2
+ import { RouterLink as R } from "vue-router";
3
+ import { _ as s } from "./Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
4
+ import { _ as z } from "./CountryFlag.vue_vue_type_script_setup_true_lang-Kry_vPPZ.js";
5
+ import { d as v } from "./context-Ch1r4fdN.js";
6
+ const [D, B] = v("vue-core.accountMenu"), [F] = v("vue-core.headerSurface"), h = "focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus", I = "relative not-first:before:absolute not-first:before:top-0 not-first:before:right-0 not-first:before:left-[calc(var(--app-row-inset)+2.25rem)] not-first:before:border-t not-first:before:border-border-separator", H = /* @__PURE__ */ p({
7
+ __name: "AccountMenuItem",
8
+ props: {
9
+ label: {},
10
+ icon: { default: void 0 },
11
+ to: { default: void 0 },
12
+ checked: { type: Boolean, default: void 0 },
13
+ selected: { type: Boolean, default: void 0 },
14
+ tone: { default: void 0 },
15
+ flag: { default: void 0 }
16
+ },
17
+ emits: ["click"],
18
+ setup(e, { emit: k }) {
19
+ const l = e, b = k, u = B(), t = r(() => u.appearance === "sheet"), x = r(() => l.checked !== void 0 || l.selected !== void 0), n = r(() => l.tone === "critical"), w = `flex w-full cursor-pointer items-center gap-3 rounded-md px-2 py-1.5 text-left text-sm hover:bg-fill ${h}`, y = `flex min-h-row w-full cursor-pointer items-center gap-3 px-row-inset py-2 text-left text-body transition-colors duration-motion-fast active:bg-fill ${h}`;
20
+ function g() {
21
+ x.value || u.close(), b("click");
22
+ }
23
+ return (M, N) => (o(), d("div", {
24
+ class: a(t.value ? I : "")
25
+ }, [
26
+ (o(), c(C(e.to ? i(R) : "button"), E(e.to ? { to: e.to } : { type: "button" }, {
27
+ class: [t.value ? y : w, n.value ? "text-content-destructive" : "text-content-strong", t.value && n.value ? "justify-center" : ""],
28
+ role: e.checked !== void 0 ? "switch" : void 0,
29
+ "aria-checked": e.checked,
30
+ "aria-current": e.selected ? "true" : void 0,
31
+ "data-account-menu-item": "",
32
+ onClick: g
33
+ }), {
34
+ default: S(() => [
35
+ e.flag ? (o(), c(z, {
36
+ key: 0,
37
+ country: e.flag
38
+ }, null, 8, ["country"])) : e.icon && !(t.value && n.value) ? (o(), c(i(s), {
39
+ key: 1,
40
+ name: e.icon,
41
+ size: t.value ? 22 : 16,
42
+ class: a(["shrink-0", n.value ? "" : "text-content-muted"])
43
+ }, null, 8, ["name", "size", "class"])) : f("", !0),
44
+ m("span", {
45
+ class: a(["min-w-0 truncate", t.value && n.value ? "" : "flex-1"])
46
+ }, O(e.label), 3),
47
+ e.checked !== void 0 ? (o(), d("span", {
48
+ key: 2,
49
+ "aria-hidden": "true",
50
+ class: a(["relative inline-flex shrink-0 rounded-full transition-colors duration-motion-fast", [e.checked ? "bg-control-on" : "bg-fill-strong", t.value ? "h-switch-height w-switch-width" : "h-5 w-9"]])
51
+ }, [
52
+ m("span", {
53
+ class: a(["absolute top-0.5 left-0.5 aspect-square h-[calc(100%-0.25rem)] rounded-full bg-white shadow-knob transition-transform duration-motion-fast", e.checked ? t.value ? "translate-x-[calc(var(--app-switch-width)-var(--app-switch-height))]" : "translate-x-4" : "translate-x-0"])
54
+ }, null, 2)
55
+ ], 2)) : e.selected ? (o(), c(i(s), {
56
+ key: 3,
57
+ name: "checkCustom",
58
+ size: 16,
59
+ class: "shrink-0 text-content-link"
60
+ })) : e.to && t.value ? (o(), c(i(s), {
61
+ key: 4,
62
+ name: "arrowRightSLine",
63
+ size: 18,
64
+ class: "shrink-0 text-content-disabled"
65
+ })) : f("", !0)
66
+ ]),
67
+ _: 1
68
+ }, 16, ["class", "role", "aria-checked", "aria-current"]))
69
+ ], 2));
70
+ }
71
+ });
72
+ export {
73
+ H as _,
74
+ D as a,
75
+ F as h
76
+ };
@@ -0,0 +1,45 @@
1
+ import { defineComponent as r, openBlock as s, createBlock as d, unref as n, withCtx as f, createElementVNode as t, normalizeClass as m, toDisplayString as l, createElementBlock as u, createCommentVNode as p, createVNode as b } from "vue";
2
+ import { e as _ } from "./options-BXkMR63B.js";
3
+ import { _ as x } from "./Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
4
+ const k = ["disabled"], y = { class: "flex min-w-0 flex-1 flex-col" }, h = {
5
+ key: 0,
6
+ class: "text-footnote text-content-muted"
7
+ }, N = /* @__PURE__ */ r({
8
+ __name: "ActionRow",
9
+ props: {
10
+ label: {},
11
+ sub: { default: void 0 },
12
+ tone: { default: "link" },
13
+ disabled: { type: Boolean, default: !1 }
14
+ },
15
+ emits: ["click"],
16
+ setup(i, { emit: a }) {
17
+ const e = i, c = a;
18
+ return (v, o) => (s(), d(n(_), { layout: "stacked" }, {
19
+ default: f(() => [
20
+ t("button", {
21
+ type: "button",
22
+ disabled: e.disabled,
23
+ class: "flex w-full items-center gap-3 py-0.5 text-left focus-visible:outline-2 focus-visible:outline-border-focus disabled:opacity-50",
24
+ onClick: o[0] || (o[0] = (w) => c("click"))
25
+ }, [
26
+ t("span", y, [
27
+ t("span", {
28
+ class: m(["text-body", e.tone === "critical" ? "text-content-destructive" : "text-content-link"])
29
+ }, l(e.label), 3),
30
+ e.sub ? (s(), u("span", h, l(e.sub), 1)) : p("", !0)
31
+ ]),
32
+ b(n(x), {
33
+ name: "arrowRightSLine",
34
+ size: 18,
35
+ class: "shrink-0 text-content-disabled"
36
+ })
37
+ ], 8, k)
38
+ ]),
39
+ _: 1
40
+ }));
41
+ }
42
+ });
43
+ export {
44
+ N as _
45
+ };
@@ -0,0 +1,156 @@
1
+ import { defineComponent as S, ref as g, watch as w, computed as k, openBlock as i, createElementBlock as y, createVNode as _, unref as t, createElementVNode as r, withCtx as f, toDisplayString as u, Fragment as C, renderList as N, createBlock as x, createTextVNode as j, createCommentVNode as R } from "vue";
2
+ import { useI18n as q } from "vue-i18n";
3
+ import { _ as D } from "./IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js";
4
+ import { _ as I } from "./Tabs.vue_vue_type_script_setup_true_lang-BeGaydRr.js";
5
+ import { u as O } from "./format-B8mJm946.js";
6
+ import { _ as U } from "./DateField.vue_vue_type_script_setup_true_lang-DMVjNsaM.js";
7
+ import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js";
8
+ import { e as z } from "./options-BXkMR63B.js";
9
+ import { P as G, c as H, i as J } from "./index-BAcl44SC.js";
10
+ import { u as K } from "./platform-hunMqFdB.js";
11
+ import { b as M } from "./routeResource-DstM0hvf.js";
12
+ import { _ as Q } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js";
13
+ import { _ as W } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
14
+ import { u as X } from "./useLoad-CYRVx6HW.js";
15
+ import { _ as Y } from "./PageBar.vue_vue_type_script_setup_true_lang-Cfr5xsJx.js";
16
+ import { _ as Z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
17
+ const ee = {
18
+ class: "flex min-w-0 flex-col gap-group-gap",
19
+ "data-person-activity": ""
20
+ }, te = { class: "flex flex-wrap items-end justify-between gap-3" }, ae = {
21
+ class: "flex items-end gap-2",
22
+ "data-activity-range": ""
23
+ }, se = {
24
+ key: 0,
25
+ class: "px-row-inset py-4 text-body text-content-muted",
26
+ "data-activity-empty": ""
27
+ }, oe = {
28
+ key: 1,
29
+ class: "flex min-w-0 flex-col gap-group-gap",
30
+ "data-activity-feed": ""
31
+ }, le = { class: "flex flex-wrap items-center gap-x-1.5" }, ne = { class: "text-body tabular-nums text-content-muted" }, ie = { class: "px-row-inset text-footnote text-content-muted" }, we = /* @__PURE__ */ S({
32
+ __name: "Activity",
33
+ setup(re) {
34
+ const { t: o, te: $ } = q(), { http: A } = K(), V = O(), b = M(G), { activityAreas: B } = H(), c = g("all"), d = g(null), m = g(null), v = g(1), p = X(
35
+ async ({ signal: a }) => {
36
+ const e = b.id.value;
37
+ if (e === null) return null;
38
+ const s = { id: e, page: v.value, per_page: 20, ...c.value === "all" ? {} : { area: c.value }, ...d.value ? { from: d.value } : {}, ...m.value ? { to: m.value } : {} };
39
+ return (await A.request(J.usersActivity, s, { signal: a })).data;
40
+ },
41
+ { watch: () => b.id.value }
42
+ );
43
+ w([c, d, m], () => {
44
+ v.value = 1, p.reload();
45
+ }), w(v, () => void p.reload());
46
+ const h = (a) => {
47
+ if (a === "all" || a === "identity" || a === "other") return o(`core.users.activity.areas.${a}`);
48
+ const e = B[a];
49
+ return e && $(e) ? o(e) : o("core.users.activity.areas.other");
50
+ }, E = k(() => p.data.value?.meta?.views ?? []), P = k(() => {
51
+ const a = E.value.filter((e) => e.key === "all" || e.key === c.value || e.count > 0).map((e) => ({ value: e.key, label: h(e.key), badge: e.count }));
52
+ return a.length > 0 ? a : [{ value: "all", label: h("all") }];
53
+ }), F = (a) => $(`core.users.activity.actions.${a}`) ? o(`core.users.activity.actions.${a}`) : o("core.users.activity.actions.other"), L = k(() => {
54
+ const a = [];
55
+ for (const e of p.data.value?.data ?? []) {
56
+ const s = e.created_at.slice(0, 10), l = a[a.length - 1];
57
+ l && l.key === s ? l.rows.push(e) : a.push({ key: s, header: V.date(e.created_at), rows: [e] });
58
+ }
59
+ return a;
60
+ });
61
+ return (a, e) => (i(), y("div", ee, [
62
+ _(Z, {
63
+ title: t(o)("core.users.sections.activity"),
64
+ description: t(o)("core.users.intro.activity", { name: t(b).data.value?.name ?? "" })
65
+ }, null, 8, ["title", "description"]),
66
+ r("div", te, [
67
+ _(t(I), {
68
+ modelValue: c.value,
69
+ "onUpdate:modelValue": e[0] || (e[0] = (s) => c.value = s),
70
+ tabs: P.value,
71
+ presentation: "scope",
72
+ label: t(o)("core.users.activity.areas_label")
73
+ }, null, 8, ["modelValue", "tabs", "label"]),
74
+ r("div", ae, [
75
+ _(t(U), {
76
+ modelValue: d.value,
77
+ "onUpdate:modelValue": e[1] || (e[1] = (s) => d.value = s),
78
+ label: t(o)("core.users.activity.since"),
79
+ max: m.value ?? void 0
80
+ }, null, 8, ["modelValue", "label", "max"]),
81
+ _(t(U), {
82
+ modelValue: m.value,
83
+ "onUpdate:modelValue": e[2] || (e[2] = (s) => m.value = s),
84
+ label: t(o)("core.users.activity.until"),
85
+ min: d.value ?? void 0
86
+ }, null, 8, ["modelValue", "label", "min"])
87
+ ])
88
+ ]),
89
+ _(t(Q), {
90
+ state: t(p).state.value,
91
+ "skeleton-rows": 5,
92
+ "is-empty": () => !1,
93
+ onRetry: e[4] || (e[4] = (s) => t(p).reload())
94
+ }, {
95
+ default: f(({ value: s }) => [
96
+ !s || s.data.length === 0 ? (i(), y("p", se, u(t(o)("core.users.activity.empty")), 1)) : (i(), y("div", oe, [
97
+ (i(!0), y(C, null, N(L.value, (l) => (i(), x(t(T), {
98
+ key: l.key,
99
+ header: l.header
100
+ }, {
101
+ default: f(() => [
102
+ (i(!0), y(C, null, N(l.rows, (n) => (i(), x(t(z), {
103
+ key: n.id,
104
+ layout: "setting",
105
+ label: `${F(n.action)}`,
106
+ "data-activity-row": ""
107
+ }, {
108
+ leading: f(() => [
109
+ _(t(D), {
110
+ tone: "anchor",
111
+ icon: "listCheck"
112
+ })
113
+ ]),
114
+ sub: f(() => [
115
+ r("span", le, [
116
+ r("span", null, u(h(n.area)), 1),
117
+ e[5] || (e[5] = r("span", { "aria-hidden": "true" }, "·", -1)),
118
+ r("span", null, u(n.record_type) + " #" + u(n.record_id), 1)
119
+ ])
120
+ ]),
121
+ default: f(() => [
122
+ n.signed_in_as ? (i(), x(t(W), {
123
+ key: 0,
124
+ tone: "warning",
125
+ "data-activity-signed-in-as": ""
126
+ }, {
127
+ default: f(() => [
128
+ j(u(n.signed_in_as.name ? t(o)("core.users.activity.signed_in_as", { name: n.signed_in_as.name }) : t(o)("core.users.activity.signed_in_as_other")), 1)
129
+ ]),
130
+ _: 2
131
+ }, 1024)) : R("", !0),
132
+ r("span", ne, u(t(V).time(n.created_at)), 1)
133
+ ]),
134
+ _: 2
135
+ }, 1032, ["label"]))), 128))
136
+ ]),
137
+ _: 2
138
+ }, 1032, ["header"]))), 128))
139
+ ])),
140
+ s ? (i(), x(Y, {
141
+ key: 2,
142
+ page: v.value,
143
+ "onUpdate:page": e[3] || (e[3] = (l) => v.value = l),
144
+ "last-page": s.last_page,
145
+ total: s.total
146
+ }, null, 8, ["page", "last-page", "total"])) : R("", !0),
147
+ r("p", ie, u(t(o)("core.users.activity.footer")), 1)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["state"])
151
+ ]));
152
+ }
153
+ });
154
+ export {
155
+ we as default
156
+ };