@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
@@ -32,6 +32,17 @@ export declare function matchParts(label: string, query: string): {
32
32
  export declare function completionOf(typed: string, label: string): string;
33
33
  /** Whether the list has anything to say: rows, a loading or failed line, or (a pick list) that nothing matched. */
34
34
  export declare function listShows(open: boolean, count: number, status: SuggestionStatus, emptyMessage: boolean): boolean;
35
+ /**
36
+ * One load at a time, the latest wins: asking again aborts the older request and its late answer (or late failure) is dropped.
37
+ * The status is the discriminated state of the wait (`idle` until something is asked). Shared by the suggestions engine and by
38
+ * `useOptions`, so a typed search and a dependent select race the same way.
39
+ */
40
+ export declare function useLatestLoad<Item>(): {
41
+ items: import("vue").ShallowRef<readonly Item[], readonly Item[]>;
42
+ status: import("vue").Ref<SuggestionStatus, SuggestionStatus>;
43
+ run: (load: (signal: AbortSignal) => Promise<readonly Item[]>, settle?: (found: readonly Item[]) => readonly Item[]) => Promise<void>;
44
+ cancel: () => void;
45
+ };
35
46
  export interface SuggestionsOptions<Value extends string | number> {
36
47
  source: () => SuggestionSource<Value> | undefined;
37
48
  /** The fewest characters before a function source is asked. */
@@ -0,0 +1,60 @@
1
+ import type { SelectOption } from "./options";
2
+ import { type SuggestionStatus } from "./suggestions";
3
+ /**
4
+ * The options of a select that arrive from the server. `status` is the state of the wait, `options` the last answer that
5
+ * landed (kept while the next is loading, so the chosen option keeps its label). Pass it where a list goes:
6
+ * `<SelectField :options="models" />`, `<MultiSelectField :options="models" />`.
7
+ */
8
+ export interface AsyncOptions<Value extends string | number = string | number> {
9
+ /** `idle`: nothing to ask yet (the input this depends on is empty). */
10
+ readonly status: SuggestionStatus;
11
+ readonly options: readonly SelectOption<Value>[];
12
+ /**
13
+ * Counts how often the input these options depend on moved away from a value (the user picked another make). A field clears
14
+ * a value the options lack only when options land for a newer generation: never on the first load (a saved value the list no
15
+ * longer offers stays), never on a `reload()` of the same input.
16
+ */
17
+ readonly generation: number;
18
+ /** Asks again for the current input (the "Try again" row of a failed load). */
19
+ reload(): void;
20
+ }
21
+ /** What a select takes as its options: a list, or one that loads. */
22
+ export type OptionsSource<Value extends string | number> = readonly SelectOption<Value>[] | AsyncOptions<Value>;
23
+ export interface OptionsContext {
24
+ /** Aborted when a newer ask replaced this one or the scope ended: pass it on to the request. */
25
+ readonly signal: AbortSignal;
26
+ }
27
+ /**
28
+ * Options loaded from the server, with the race rules built in: the latest input wins, an answer for an older input is dropped
29
+ * (and its request aborted), nothing lands after the scope ended. A select given these shows a spinner while it loads, a
30
+ * "Loading…" row when opened, a "Try again" row when it failed, and clears a value the new options do not contain.
31
+ *
32
+ * const makes = useOptions({ load: (context) => api.makes(context) });
33
+ * const models = useOptions({ for: () => form.values.make, load: (make, context) => api.models(make, context) });
34
+ * <SelectField v-bind="form.bind('make')" :label="t('make')" :options="makes" />
35
+ * <SelectField v-bind="form.bind('model')" :label="t('model')" :options="models" :disabled="!form.values.make" />
36
+ *
37
+ * `for` is a getter of the input the options depend on (reactive); `null` or `undefined` asks nothing (the list is empty, `idle`), anything
38
+ * else asks, again whenever it changes. Without `for` the options load once.
39
+ */
40
+ export declare function useOptions<Input, Value extends string | number>(options: {
41
+ readonly for: () => Input | null | undefined;
42
+ readonly load: (input: Input, context: OptionsContext) => Promise<readonly SelectOption<Value>[]>;
43
+ }): AsyncOptions<Value>;
44
+ export declare function useOptions<Value extends string | number>(options: {
45
+ readonly load: (context: OptionsContext) => Promise<readonly SelectOption<Value>[]>;
46
+ }): AsyncOptions<Value>;
47
+ /**
48
+ * What a select makes of its `options` prop, a list or a loader: the options known (also the stale ones while loading, so the
49
+ * chosen label stays), the rows to list (none while loading or failed), the status for the control and the list, and `arrived`,
50
+ * called with the new options when a load lands for a different input than the one the value belongs to (the user picked
51
+ * another make, or emptied it), so the field can drop a value they do not contain. The first load and a reload of the same
52
+ * input never call it.
53
+ */
54
+ export declare function useOptionSource<Value extends string | number>(source: () => OptionsSource<Value>, arrived: (options: readonly SelectOption<Value>[]) => void): {
55
+ known: import("vue").ComputedRef<readonly SelectOption<Value>[]>;
56
+ rows: import("vue").ComputedRef<readonly SelectOption<Value>[]>;
57
+ status: import("vue").ComputedRef<SuggestionStatus>;
58
+ loading: import("vue").ComputedRef<boolean>;
59
+ reload: () => void;
60
+ };
@@ -0,0 +1,51 @@
1
+ import { effectScope as R, watch as g } from "vue";
2
+ import { h as b } from "./platform-hunMqFdB.js";
3
+ const i = "redirect";
4
+ function q(r) {
5
+ const t = r.query[i], n = Array.isArray(t) ? t[0] : t;
6
+ return typeof n == "string" && n.startsWith("/") && !n.startsWith("//") && !n.includes("\\") ? n : null;
7
+ }
8
+ function m(r, t) {
9
+ return t === null ? r : typeof r == "string" ? { path: r, query: { [i]: t } } : { ...r, query: { ...r.query, [i]: t } };
10
+ }
11
+ function W(r) {
12
+ const { router: t, session: n, login: o, home: d } = r, f = /* @__PURE__ */ new WeakMap();
13
+ let s = !1;
14
+ const h = () => {
15
+ s || (s = !0, r.progress?.start());
16
+ }, c = () => {
17
+ s && (s = !1, r.progress?.done());
18
+ }, p = () => t.resolve(o).name, v = t.beforeEach(async (e) => {
19
+ if (h(), e.meta.public === !0) {
20
+ if (e.name !== void 0 && e.name === p() && (await n.restore()).status === "authenticated") return q(e) ?? d;
21
+ } else {
22
+ const a = await n.restore();
23
+ if (a.status === "failed")
24
+ return r.onError?.(a.error), !1;
25
+ if (a.status !== "authenticated") return m(o, e.fullPath);
26
+ }
27
+ return r.prepare && f.set(e, r.prepare(e)), !0;
28
+ }), y = t.beforeResolve(async (e) => {
29
+ await f.get(e);
30
+ }), E = t.afterEach((e, a, u) => {
31
+ c(), u || r.afterNavigation?.(e);
32
+ }), w = t.onError((e) => {
33
+ c(), r.onError?.(e);
34
+ }), l = R();
35
+ return l.run(
36
+ () => g(
37
+ () => n.state.value,
38
+ (e, a) => {
39
+ if (e.status !== "anonymous" || b(a) === null) return;
40
+ const u = t.currentRoute.value;
41
+ u.meta.public !== !0 && (e.reason === "expired" && r.holdExpired && e.previous || t.replace(m(o, e.reason === "expired" ? u.fullPath : null)).catch(r.onError));
42
+ }
43
+ )
44
+ ), () => {
45
+ v(), y(), E(), w(), l.stop(), c();
46
+ };
47
+ }
48
+ export {
49
+ W as i,
50
+ q as r
51
+ };
@@ -0,0 +1,193 @@
1
+ import { hasInjectionContext as z, inject as $, watch as _ } from "vue";
2
+ import { g as O } from "./platform-hunMqFdB.js";
3
+ const j = [5, 8, 10, 15, 25, 50, 100], E = 25;
4
+ function U(e) {
5
+ const t = `defineCollection("${e.id}")`;
6
+ if (typeof e.id != "string" || e.id.trim() === "") throw new Error("defineCollection: `id` must be a non-empty string.");
7
+ if (!Number.isInteger(e.stateVersion) || e.stateVersion < 1) throw new Error(`${t}: \`stateVersion\` must be a positive integer.`);
8
+ if (typeof e.load != "function") throw new Error(`${t}: \`load\` must be a function.`);
9
+ if (typeof e.key != "function") throw new Error(`${t}: \`key\` must be a function.`);
10
+ const r = {
11
+ sorts: e.query?.sorts ? [...e.query.sorts] : null,
12
+ filters: e.query?.filters ? [...e.query.filters] : null,
13
+ views: e.query?.views ? [...e.query.views] : null,
14
+ sensitive: [...e.query?.sensitive ?? []],
15
+ pageSizes: [...e.query?.pageSizes ?? j]
16
+ };
17
+ if (r.pageSizes.length === 0 || r.pageSizes.some((c) => !Number.isInteger(c) || c < 1))
18
+ throw new Error(`${t}: \`query.pageSizes\` must list positive integers.`);
19
+ for (const c of r.sensitive)
20
+ if (r.filters && !r.filters.includes(c)) throw new Error(`${t}: sensitive filter "${c}" is not in \`query.filters\`.`);
21
+ const s = e.defaults ?? {}, n = s.pageSize ?? (r.pageSizes.includes(E) ? E : r.pageSizes[0]);
22
+ if (!r.pageSizes.includes(n)) throw new Error(`${t}: default page size ${n} is not one of ${r.pageSizes.join(", ")}.`);
23
+ const o = s.sort ?? null;
24
+ if (o !== null && r.sorts && !r.sorts.includes(o)) throw new Error(`${t}: default sort "${o}" is not in \`query.sorts\`.`);
25
+ const i = s.view ?? null;
26
+ if (i !== null && r.views && !r.views.includes(i)) throw new Error(`${t}: default view "${i}" is not in \`query.views\`.`);
27
+ const a = Object.fromEntries(Object.entries(s.filters ?? {}).filter(([, c]) => c !== void 0 && c !== ""));
28
+ for (const c of Object.keys(a))
29
+ if (r.filters && !r.filters.includes(c)) throw new Error(`${t}: default filter "${c}" is not in \`query.filters\`.`);
30
+ const l = s.page ?? 1;
31
+ if (!Number.isInteger(l) || l < 1) throw new Error(`${t}: default page must be a positive integer.`);
32
+ const f = s.direction ?? "asc";
33
+ if (f !== "asc" && f !== "desc") throw new Error(`${t}: default direction must be "asc" or "desc".`);
34
+ return Object.freeze({
35
+ id: e.id,
36
+ stateVersion: e.stateVersion,
37
+ load: e.load,
38
+ key: e.key,
39
+ defaults: Object.freeze({
40
+ page: l,
41
+ pageSize: n,
42
+ sort: o,
43
+ direction: f,
44
+ search: s.search ?? "",
45
+ view: i,
46
+ filters: Object.freeze(a)
47
+ }),
48
+ contract: Object.freeze(r),
49
+ migrate: e.migrate
50
+ });
51
+ }
52
+ const X = "from";
53
+ function F(e, t) {
54
+ if (typeof e == "string") {
55
+ const r = new URLSearchParams(t).toString(), s = e.indexOf("#"), n = s === -1 ? e : e.slice(0, s);
56
+ return `${n}${n.includes("?") ? "&" : "?"}${r}${s === -1 ? "" : e.slice(s)}`;
57
+ }
58
+ return { ...e, query: { ...e.query, ...t } };
59
+ }
60
+ function G(e) {
61
+ if (!z()) return;
62
+ const t = $(O, null);
63
+ t && _(
64
+ () => {
65
+ const r = t.session.state.value;
66
+ return r.status === "authenticated" ? r.user.id : null;
67
+ },
68
+ e,
69
+ { flush: "sync" }
70
+ );
71
+ }
72
+ const I = 4096, k = 200, T = 32, N = 1e6, v = /^[A-Za-z0-9_.-]{1,64}$/;
73
+ function C(e) {
74
+ let t = "";
75
+ for (const r of new TextEncoder().encode(e)) t += String.fromCharCode(r);
76
+ return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
77
+ }
78
+ function M(e) {
79
+ const t = e.replace(/-/g, "+").replace(/_/g, "/"), r = atob(t.padEnd(Math.ceil(t.length / 4) * 4, "="));
80
+ return new TextDecoder("utf-8", { fatal: !0 }).decode(Uint8Array.from(r, (s) => s.charCodeAt(0)));
81
+ }
82
+ const S = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
83
+ function h(e, t = k) {
84
+ return typeof e == "string" && e.length <= t ? e : null;
85
+ }
86
+ function A(e, t) {
87
+ const { defaults: r, contract: s } = e, n = typeof t.p == "number" && Number.isInteger(t.p) && t.p >= 1 && t.p <= N ? t.p : r.page, o = typeof t.l == "number" && s.pageSizes.includes(t.l) ? t.l : r.pageSize;
88
+ let i = r.sort;
89
+ const a = h(t.c, 64);
90
+ a !== null && (s.sorts ? s.sorts.includes(a) : v.test(a)) && (i = a);
91
+ const l = t.d === "asc" || t.d === "desc" ? t.d : r.direction, f = h(t.s) ?? r.search;
92
+ let c = r.view;
93
+ const g = h(t.w, 64);
94
+ g !== null && (s.views ? s.views.includes(g) : v.test(g)) && (c = g);
95
+ const w = S(t.f) ? {} : { ...r.filters };
96
+ if (S(t.f)) {
97
+ let y = 0;
98
+ for (const [u, m] of Object.entries(t.f)) {
99
+ if (++y > T) break;
100
+ if (!(s.filters ? s.filters.includes(u) : v.test(u)) || s.sensitive.includes(u)) continue;
101
+ const b = typeof m == "number" || typeof m == "boolean" ? String(m) : h(m);
102
+ b !== null && b !== "" && (w[u] = b);
103
+ }
104
+ }
105
+ return { page: n, pageSize: o, sort: i, direction: l, search: f, view: c, filters: w };
106
+ }
107
+ function J(e, t) {
108
+ const r = { v: e.stateVersion, p: t.page, l: t.pageSize };
109
+ t.sort && (r.c = t.sort), r.d = t.direction, t.search && (r.s = t.search), t.view && (r.w = t.view);
110
+ const s = Object.fromEntries(
111
+ Object.entries(t.filters).filter(([n, o]) => o !== void 0 && o !== "" && !e.contract.sensitive.includes(n))
112
+ );
113
+ return (Object.keys(s).length > 0 || Object.keys(e.defaults.filters).length > 0) && (r.f = s), C(JSON.stringify(r));
114
+ }
115
+ function x(e, t) {
116
+ const r = t.v === void 0 ? e.stateVersion : t.v;
117
+ if (typeof r != "number" || !Number.isInteger(r)) return null;
118
+ if (r === e.stateVersion) return A(e, t);
119
+ const s = e.migrate?.(t, r);
120
+ return s ? A(e, s) : null;
121
+ }
122
+ function Z(e, t) {
123
+ if (typeof t != "string" || t === "" || t.length > I) return null;
124
+ let r;
125
+ try {
126
+ r = JSON.parse(M(t));
127
+ } catch {
128
+ return null;
129
+ }
130
+ return S(r) ? x(e, r) : null;
131
+ }
132
+ function B(e) {
133
+ return JSON.stringify([
134
+ e.page,
135
+ e.pageSize,
136
+ e.sort,
137
+ e.direction,
138
+ e.search,
139
+ e.view,
140
+ Object.entries(e.filters).sort(([t], [r]) => t.localeCompare(r))
141
+ ]);
142
+ }
143
+ const d = (e) => typeof e == "object" && e !== null && !Array.isArray(e), p = (...e) => {
144
+ for (const t of e) if (typeof t == "number" && Number.isFinite(t)) return t;
145
+ return null;
146
+ };
147
+ function L(e) {
148
+ return {
149
+ // Filters first: the reserved names below always win, a filter called "page" cannot break paging.
150
+ ...e.filters,
151
+ page: e.page,
152
+ per_page: e.pageSize,
153
+ order_col: e.sort,
154
+ order_dir: e.sort ? e.direction : null,
155
+ search: e.search,
156
+ view: e.view
157
+ };
158
+ }
159
+ function P(e, t) {
160
+ const r = e.data, s = d(r) && Array.isArray(r.data), n = Array.isArray(r) ? r : s ? r.data : [], o = s ? r : {}, i = d(e.meta) ? e.meta : d(o.meta) ? o.meta : {}, a = p(o.per_page, i.per_page) ?? t.pageSize, l = p(o.total, i.total) ?? n.length, f = p(o.current_page, i.page, i.current_page) ?? t.page, c = p(o.last_page, i.last_page) ?? (l === 0 ? 0 : Math.ceil(l / Math.max(1, a))), g = p(o.from, i.from) ?? (n.length === 0 ? 0 : (f - 1) * a + 1), w = p(o.to, i.to) ?? (n.length === 0 ? 0 : g + n.length - 1), y = Array.isArray(i.views) ? i.views : Array.isArray(o.views) ? o.views : void 0;
161
+ return {
162
+ rows: n,
163
+ total: l,
164
+ page: f,
165
+ pageSize: a,
166
+ lastPage: c,
167
+ from: g,
168
+ to: w,
169
+ views: y?.filter(d).flatMap((u) => typeof u.key == "string" ? [{ key: u.key, count: p(u.count) ?? void 0 }] : []),
170
+ meta: i,
171
+ requestId: e.requestId
172
+ };
173
+ }
174
+ function K(e, t, r = {}) {
175
+ return async (s, { signal: n }) => {
176
+ const o = await e.get(t, { query: r.params ? r.params(s) : L(s), signal: n });
177
+ return P(o, s);
178
+ };
179
+ }
180
+ export {
181
+ j as D,
182
+ X as L,
183
+ U as a,
184
+ x as b,
185
+ Z as d,
186
+ J as e,
187
+ K as h,
188
+ L as l,
189
+ G as o,
190
+ B as q,
191
+ P as r,
192
+ F as w
193
+ };
@@ -0,0 +1,31 @@
1
+ export interface DescribeErrorOptions {
2
+ /**
3
+ * What to say when nothing more specific is known: a server fault, an unreadable answer, an error that
4
+ * is not a failed request, a rejection without a reason of its own. Say what failed ("The changes could not be saved.").
5
+ */
6
+ readonly fallback?: string;
7
+ }
8
+ /** The sentence to show a person for a failure; see `useDescribeError`. */
9
+ export type DescribeError = (error: unknown, options?: DescribeErrorOptions) => string;
10
+ /** The part of a vue-i18n composer the sentences are read with. */
11
+ interface Translator {
12
+ t(key: string, params?: Record<string, unknown>): string;
13
+ te(key: string): boolean;
14
+ }
15
+ /** `describeError` over a translator; exported for the composable and tests. */
16
+ export declare function describeErrorWith({ t, te }: Translator): DescribeError;
17
+ /**
18
+ * The sentence for a failed request, in the app's language, for toasts and inline messages.
19
+ * Call it in `setup` (it reads the composer), use the result anywhere later:
20
+ *
21
+ * const describeError = useDescribeError();
22
+ * try { await save(); } catch (error) { toast.error(describeError(error, { fallback: t("tickets.save_failed") })); }
23
+ *
24
+ * In order: a go-core `code` the app or the library has a text for (`errors.<code>`, then
25
+ * `core.errors.<code>`, with the error's `params`); the server's own text when it sent a code (it is
26
+ * already translated); then by kind: 401, 403, 404, 409, no answer, cancelled, 429, "check the marked
27
+ * fields" for a validation answer with fields; server faults and anything unreadable give `fallback`;
28
+ * any other 4xx gives `fallback` too, or the server's text.
29
+ */
30
+ export declare function useDescribeError(): DescribeError;
31
+ export {};