@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,12 @@
1
+ import { ref as e } from "vue";
2
+ import { d as r } from "./context-Ch1r4fdN.js";
3
+ const [n, m] = r("vue-core.bottomDock");
4
+ function s(t) {
5
+ const o = e(null);
6
+ return t.provide(n, o), o;
7
+ }
8
+ export {
9
+ n as b,
10
+ s as i,
11
+ m as u
12
+ };
@@ -38,15 +38,15 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
38
38
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
39
39
  onClick?: ((event: KeyboardEvent | MouseEvent) => any) | undefined;
40
40
  }>, {
41
- size: "xs" | "sm" | "md" | "lg" | "xl";
41
+ to: RouteLocationRaw;
42
+ disabled: boolean;
42
43
  type: "button" | "submit";
44
+ size: "xs" | "sm" | "md" | "lg" | "xl";
43
45
  prominence: "primary" | "secondary" | "standard" | "plain" | "link";
44
46
  tone: "critical";
45
47
  icon: IconName;
46
48
  trailingIcon: IconName;
47
- to: RouteLocationRaw;
48
49
  href: string;
49
- disabled: boolean;
50
50
  processing: boolean;
51
51
  keyboardShortcut: KeyboardShortcut;
52
52
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,2 +1,2 @@
1
1
  export { default as Button } from "./Button.vue";
2
- export { useKeyboardShortcut, matchesShortcut, type KeyboardShortcut } from "./shortcut";
2
+ export { useKeyboardShortcut, matchesShortcut, shortcutKeys, useShortcutRegistry, type KeyboardShortcut, type ShortcutListing } from "./shortcut";
@@ -1,6 +1,8 @@
1
- import { _ as a, m as r, u as s } from "../Button.vue_vue_type_script_setup_true_lang-3f0emVNU.js";
1
+ import { _ as a, m as o, s as r, u, a as e } from "../Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js";
2
2
  export {
3
3
  a as Button,
4
- r as matchesShortcut,
5
- s as useKeyboardShortcut
4
+ o as matchesShortcut,
5
+ r as shortcutKeys,
6
+ u as useKeyboardShortcut,
7
+ e as useShortcutRegistry
6
8
  };
@@ -1,11 +1,18 @@
1
- import { type MaybeRefOrGetter } from "vue";
2
- /** A keyboard shortcut: the key (case-insensitive, as `KeyboardEvent.key`) and exactly the modifiers listed. */
1
+ import { type ComputedRef, type MaybeRefOrGetter } from "vue";
2
+ /**
3
+ * A keyboard shortcut: the key (case-insensitive, as `KeyboardEvent.key`) and exactly the modifiers listed.
4
+ * With a `label` it is listed by `useShortcutRegistry()` (a help dialog) for as long as its owner is mounted.
5
+ */
3
6
  export interface KeyboardShortcut {
4
7
  key: string;
5
8
  ctrlKey?: boolean;
6
9
  shiftKey?: boolean;
7
10
  altKey?: boolean;
8
11
  metaKey?: boolean;
12
+ /** What it does, in the app's language ("Search the list"); a function is read when the list is read, so it follows the locale. An empty text is not listed. */
13
+ label?: string | (() => string);
14
+ /** The heading it is listed under; any name the app has a heading for. The library's own use `"list"` and `"record"`. */
15
+ group?: string;
9
16
  }
10
17
  export declare function matchesShortcut(event: KeyboardEvent, shortcut: KeyboardShortcut): boolean;
11
18
  /**
@@ -15,3 +22,22 @@ export declare function matchesShortcut(event: KeyboardEvent, shortcut: Keyboard
15
22
  * scope. A shortcut without Ctrl, Alt or Meta never fires while the user is typing in a field.
16
23
  */
17
24
  export declare function useKeyboardShortcut(shortcut: MaybeRefOrGetter<KeyboardShortcut | undefined>, run: (event: KeyboardEvent) => void | false): void;
25
+ /** The key and modifiers as keycap texts: `["Ctrl", "S"]`, or `["⌘", "K"]` on Apple platforms; arrows as arrows. */
26
+ export declare function shortcutKeys(shortcut: KeyboardShortcut): string[];
27
+ /** One row of a shortcut help list: what it does and every way of doing it (`/`, or `J` and `→`). */
28
+ export interface ShortcutListing {
29
+ readonly group: string | null;
30
+ readonly label: string;
31
+ /** Each alternative as keycap texts, see `shortcutKeys`. */
32
+ readonly keys: readonly (readonly string[])[];
33
+ }
34
+ /**
35
+ * The shortcuts that exist on the page right now, for a help dialog: every `useKeyboardShortcut`
36
+ * with a `label` whose owner is mounted, the library's own included (list search and filters, the
37
+ * record pager). Rows with the same group and label are one row (two lists on a page share "/");
38
+ * reactive, so the dialog follows pages and locale.
39
+ *
40
+ * const rows = useShortcutRegistry();
41
+ * <dl v-for="row in rows"><dt>{{ row.label }}</dt><dd><kbd v-for="key in row.keys[0]">{{ key }}</kbd></dd></dl>
42
+ */
43
+ export declare function useShortcutRegistry(): ComputedRef<ShortcutListing[]>;
@@ -0,0 +1,93 @@
1
+ import { getCurrentInstance as p, inject as w, ref as c, shallowRef as T, computed as m, watch as C, toValue as s, onBeforeUnmount as M } from "vue";
2
+ import { d as k } from "./context-Ch1r4fdN.js";
3
+ const y = 30;
4
+ function O() {
5
+ const l = c(null), a = c(""), u = c(!0), n = T(/* @__PURE__ */ new Map()), v = c(0), r = /* @__PURE__ */ new Map();
6
+ let f = null, o = null;
7
+ const d = m(() => Array.from(n.value.values())), h = m(() => d.value.flatMap((e) => e.actions)), i = (e) => m(() => d.value.map((t) => t[e]).filter((t) => t != null).pop() ?? null);
8
+ return {
9
+ back: l,
10
+ title: a,
11
+ titleInView: u,
12
+ actions: h,
13
+ leading: i("leading"),
14
+ status: i("status"),
15
+ navTitle: i("navTitle"),
16
+ documentTitle: i("documentTitle"),
17
+ hasShell: m(() => v.value > 0),
18
+ claimShell() {
19
+ v.value++;
20
+ let e = !1;
21
+ return () => {
22
+ e || v.value--, e = !0;
23
+ };
24
+ },
25
+ claim() {
26
+ const e = Symbol("page-chrome-owner");
27
+ return {
28
+ setBack(t) {
29
+ f = e, l.value = t;
30
+ },
31
+ clearBack() {
32
+ f === e && (f = null, l.value = null);
33
+ },
34
+ setTitle(t) {
35
+ o !== e && (u.value = !0), o = e, a.value = t;
36
+ },
37
+ setTitleInView(t) {
38
+ o === e && (u.value = t);
39
+ },
40
+ clearTitle() {
41
+ o === e && (o = null, a.value = "", u.value = !0);
42
+ },
43
+ setRegistration(t) {
44
+ n.value = new Map(n.value).set(e, t);
45
+ },
46
+ clearRegistration() {
47
+ if (!n.value.has(e)) return;
48
+ const t = new Map(n.value);
49
+ t.delete(e), n.value = t;
50
+ }
51
+ };
52
+ },
53
+ focusMemory: {
54
+ take(e) {
55
+ const t = r.get(e);
56
+ return r.delete(e), t;
57
+ },
58
+ put(e, t) {
59
+ r.delete(e), r.set(e, t), r.size > y && r.delete(r.keys().next().value ?? "");
60
+ }
61
+ }
62
+ };
63
+ }
64
+ const [g, R] = k("vue-core.pageChrome");
65
+ function P(l) {
66
+ const a = O();
67
+ return l.provide(g, a), a;
68
+ }
69
+ function b() {
70
+ return p() ? w(g, null) : null;
71
+ }
72
+ function S(l) {
73
+ const u = R().claim();
74
+ C(
75
+ () => ({
76
+ actions: s(l.actions) ?? [],
77
+ leading: s(l.leading) ?? null,
78
+ status: s(l.status) ?? null,
79
+ navTitle: s(l.navTitle) ?? null,
80
+ documentTitle: s(l.documentTitle) ?? null
81
+ }),
82
+ (n) => u.setRegistration(n),
83
+ { immediate: !0, deep: !0 }
84
+ ), M(() => u.clearRegistration());
85
+ }
86
+ export {
87
+ R as a,
88
+ b,
89
+ O as c,
90
+ P as i,
91
+ g as p,
92
+ S as u
93
+ };
@@ -1,6 +1,7 @@
1
1
  import { type QueryValue } from "./encode";
2
2
  import { type ApiResult } from "./envelope";
3
3
  import { ApiError } from "./error";
4
+ import type { ApiRoute } from "./route";
4
5
  import { type Transport } from "./transport";
5
6
  export interface RequestOptions {
6
7
  query?: Readonly<Record<string, QueryValue>>;
@@ -34,7 +35,18 @@ export interface HttpClientOptions {
34
35
  */
35
36
  onUnauthorized?: (context: UnauthorizedContext) => UnauthorizedDecision | Promise<UnauthorizedDecision>;
36
37
  }
38
+ /** A route that takes no input (`void`, or an empty object) needs no second argument. */
39
+ type RequestArguments<In> = [In] extends [void] ? [input?: undefined, options?: RequestOptions] : [In] extends [Record<string, never>] ? [input?: In, options?: RequestOptions] : [input: In, options?: RequestOptions];
40
+ /** A route declared `void` has no body: its data is `null`. */
41
+ export type RouteResult<Out> = ApiResult<[Out] extends [void] ? null : Out>;
37
42
  export interface HttpClient {
43
+ /**
44
+ * Calls a declared route: `:name` segments of the path are filled from `input` (encoded), the rest of
45
+ * `input` is the query for GET and DELETE and the JSON body for POST, PUT and PATCH. A missing path
46
+ * parameter rejects with a plain `Error` (a bug in the caller, not an answer from the server) before
47
+ * anything is sent. Abort, request ids and 401 handling are those of `get` and `post`.
48
+ */
49
+ request<In, Out>(route: ApiRoute<In, Out>, ...args: RequestArguments<In>): Promise<RouteResult<Out>>;
38
50
  get<TData = unknown, TMeta = unknown>(path: string, options?: RequestOptions): Promise<ApiResult<TData, TMeta>>;
39
51
  post<TData = unknown, TMeta = unknown>(path: string, body?: unknown, options?: RequestOptions): Promise<ApiResult<TData, TMeta>>;
40
52
  put<TData = unknown, TMeta = unknown>(path: string, body?: unknown, options?: RequestOptions): Promise<ApiResult<TData, TMeta>>;
@@ -43,3 +55,4 @@ export interface HttpClient {
43
55
  }
44
56
  /** A client over a transport. Nothing is global: every call of this factory is independent. */
45
57
  export declare function createHttpClient(options?: HttpClientOptions): HttpClient;
58
+ export {};
@@ -1,5 +1,5 @@
1
1
  export { createHttpClient } from "./client";
2
- export type { HttpClient, HttpClientOptions, RequestOptions, UnauthorizedContext, UnauthorizedDecision } from "./client";
2
+ export type { HttpClient, RouteResult, HttpClientOptions, RequestOptions, UnauthorizedContext, UnauthorizedDecision } from "./client";
3
3
  export type { QueryValue } from "./encode";
4
4
  export { REQUEST_ID_HEADER } from "./envelope";
5
5
  export type { ApiResult } from "./envelope";
@@ -7,3 +7,5 @@ export { ApiError, isAborted, isApiError } from "./error";
7
7
  export type { ApiErrorInit, ApiErrorKind, FieldErrors } from "./error";
8
8
  export { fetchTransport } from "./transport";
9
9
  export type { Transport } from "./transport";
10
+ export { route } from "./route";
11
+ export type { HttpMethod, ListResult, RawRoute, ApiRoute, RouteOptions, ViewCount } from "./route";
@@ -1,140 +1,21 @@
1
- import { A as p, k as U, i as b } from "../error-Bb_dr_Ay.js";
2
- import { a as Q } from "../error-Bb_dr_Ay.js";
3
- function $(t) {
4
- if (!t) return "";
5
- const e = new URLSearchParams();
6
- for (const [n, r] of Object.entries(t))
7
- if (!(r == null || r === ""))
8
- if (Array.isArray(r)) for (const i of r) e.append(n, String(i));
9
- else e.append(n, String(r));
10
- return e.toString();
11
- }
12
- const h = (t) => typeof Blob < "u" && t instanceof Blob;
13
- function D(t) {
14
- const e = new FormData();
15
- for (const [n, r] of Object.entries(t))
16
- if (r != null)
17
- if (Array.isArray(r))
18
- for (const i of r) e.append(`${n}[]`, T(i));
19
- else
20
- e.append(n, T(r));
21
- return e;
22
- }
23
- function T(t) {
24
- return h(t) ? t : t instanceof Date ? t.toISOString() : typeof t == "object" && t !== null ? JSON.stringify(t) : String(t);
25
- }
26
- function O(t) {
27
- if (t === void 0) return { body: void 0, contentType: null };
28
- if (typeof t == "string" || t instanceof FormData || t instanceof URLSearchParams || t instanceof ArrayBuffer || ArrayBuffer.isView(t) || h(t))
29
- return { body: t, contentType: null };
30
- if (typeof t == "object" && t !== null && !Array.isArray(t)) {
31
- const e = t;
32
- if (Object.values(e).some((n) => h(n) || Array.isArray(n) && n.some(h)))
33
- return { body: D(e), contentType: null };
34
- }
35
- return { body: JSON.stringify(t), contentType: "application/json" };
36
- }
37
- function q() {
38
- const t = new Uint8Array(16);
39
- return globalThis.crypto.getRandomValues(t), Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
40
- }
41
- const g = "X-Request-ID", A = (t) => typeof t == "object" && t !== null && !Array.isArray(t), m = (t) => typeof t == "string" && t !== "" ? t : null;
42
- function B(t) {
43
- const e = t?.errors ?? t?.fields;
44
- if (!A(e)) return {};
45
- const n = {};
46
- for (const [r, i] of Object.entries(e))
47
- Array.isArray(i) ? n[r] = i.map(String) : i != null && (n[r] = [String(i)]);
48
- return n;
49
- }
50
- async function z(t) {
51
- const e = await t.text();
52
- if (e.trim() === "") return { payload: null, readable: !0 };
53
- try {
54
- return { payload: JSON.parse(e), readable: !0 };
55
- } catch {
56
- return { payload: null, readable: !1 };
57
- }
58
- }
59
- async function x(t, e) {
60
- const n = t.headers.get(g) ?? e, { payload: r, readable: i } = await z(t), o = A(r) ? r : null;
61
- if (!t.ok) {
62
- const a = B(o), s = o?.params;
63
- throw new p({
64
- kind: U(t.status, Object.keys(a).length > 0),
65
- message: m(o?.error) ?? m(o?.message) ?? `Request failed with status ${t.status}`,
66
- status: t.status,
67
- fields: a,
68
- code: m(o?.code),
69
- params: A(s) ? s : null,
70
- requestId: n,
71
- payload: r
72
- });
73
- }
74
- if (!i)
75
- throw new p({
76
- kind: "malformed",
77
- message: `The server answered ${t.status} with a body that is not JSON`,
78
- status: t.status,
79
- requestId: n
80
- });
81
- return o !== null && typeof o.success == "boolean" ? {
82
- data: o.data ?? null,
83
- meta: o.meta ?? null,
84
- message: m(o.message),
85
- status: t.status,
86
- requestId: n
87
- } : { data: r, meta: null, message: null, status: t.status, requestId: n };
88
- }
89
- const F = (t, e) => globalThis.fetch(t, e), H = (t) => /^[a-z][a-z0-9+.-]*:\/\//i.test(t);
90
- function P(t, e, n) {
91
- const r = H(e) || t === "" ? e : `${t.replace(/\/+$/, "")}/${e.replace(/^\/+/, "")}`;
92
- return n === "" ? r : `${r}${r.includes("?") ? "&" : "?"}${n}`;
93
- }
94
- const S = (t, e) => new p({ kind: "aborted", message: "The request was cancelled", requestId: t, cause: e });
95
- function J(t = {}) {
96
- const { baseUrl: e = "", transport: n = F, credentials: r = "include" } = t;
97
- async function i(a, s, u, d) {
98
- const { signal: f } = d, l = t.requestId === !1 ? null : (t.requestId ?? q)();
99
- if (f?.aborted) throw S(l, f.reason);
100
- const w = O(u), y = new Headers({ Accept: "application/json" }), E = t.headers ? await t.headers() : void 0;
101
- for (const c of [E, d.headers])
102
- c && new Headers(c).forEach((I, R) => y.set(R, I));
103
- l !== null && !y.has(g) && y.set(g, l), w.contentType !== null && !y.has("Content-Type") && y.set("Content-Type", w.contentType);
104
- const j = { method: a, headers: y, credentials: r, body: w.body, signal: f }, k = P(e, s, $(d.query));
105
- try {
106
- const c = await n(k, j);
107
- return await x(c, l);
108
- } catch (c) {
109
- throw b(c) ? c : f?.aborted || c instanceof Error && c.name === "AbortError" ? S(l, c) : new p({
110
- kind: "network",
111
- message: c instanceof Error ? c.message : "The server could not be reached",
112
- requestId: l,
113
- cause: c
114
- });
115
- }
116
- }
117
- async function o(a, s, u, d = {}) {
118
- try {
119
- return await i(a, s, u, d);
120
- } catch (f) {
121
- if (!b(f) || f.kind !== "unauthorized" || d.handleUnauthorized === !1 || !t.onUnauthorized || await t.onUnauthorized({ error: f, method: a, path: s }) !== "retry") throw f;
122
- return i(a, s, u, d);
123
- }
124
- }
125
- return {
126
- get: (a, s) => o("GET", a, void 0, s),
127
- post: (a, s, u) => o("POST", a, s, u),
128
- put: (a, s, u) => o("PUT", a, s, u),
129
- patch: (a, s, u) => o("PATCH", a, s, u),
130
- delete: (a, s) => o("DELETE", a, void 0, s)
131
- };
132
- }
1
+ import { R as p, c as o, f as u } from "../client-Bw0aM5Gu.js";
2
+ import { A as n, i as f, a as l } from "../error-CD7x0Jrz.js";
3
+ function s(e, i, r = {}) {
4
+ return { method: e, path: i, permission: r.permission, public: r.public === !0, raw: !1 };
5
+ }
6
+ s.raw = (e, i, r = {}) => ({
7
+ method: e,
8
+ path: i,
9
+ permission: r.permission,
10
+ public: r.public === !0,
11
+ raw: !0
12
+ });
133
13
  export {
134
- p as ApiError,
135
- g as REQUEST_ID_HEADER,
136
- J as createHttpClient,
137
- F as fetchTransport,
138
- Q as isAborted,
139
- b as isApiError
14
+ n as ApiError,
15
+ p as REQUEST_ID_HEADER,
16
+ o as createHttpClient,
17
+ u as fetchTransport,
18
+ f as isAborted,
19
+ l as isApiError,
20
+ s as route
140
21
  };
@@ -0,0 +1,59 @@
1
+ declare const types: unique symbol;
2
+ export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
3
+ export interface RouteOptions {
4
+ /** The permission the route needs (`"tickets.ticket:view"`); the server enforces it, the client can read it for links and menus. */
5
+ readonly permission?: string;
6
+ /** True for routes that need no session. */
7
+ readonly public?: boolean;
8
+ }
9
+ interface RouteBase {
10
+ readonly method: HttpMethod;
11
+ /** Versioned and relative to the client's `baseUrl`; `:name` segments are filled from the input. */
12
+ readonly path: string;
13
+ readonly permission?: string;
14
+ readonly public: boolean;
15
+ }
16
+ /** A typed call: `In` is what `client.request` takes, `Out` what it resolves to (`void`: no body). */
17
+ export interface ApiRoute<In, Out> extends RouteBase {
18
+ readonly raw: false;
19
+ /** Type-only; never set. */
20
+ readonly [types]?: {
21
+ readonly in: In;
22
+ readonly out: Out;
23
+ };
24
+ }
25
+ /** A route without a JSON answer (an event stream, a file): it keeps method and path for links, `client.request` refuses it. */
26
+ export interface RawRoute extends RouteBase {
27
+ readonly raw: true;
28
+ }
29
+ /**
30
+ * Declares one endpoint. go-core's generator writes these; the types come from the Go input and response.
31
+ *
32
+ * route<ShowInput, Ticket>("GET", "/v1/tickets/:id", { permission: "tickets.ticket:view" })
33
+ */
34
+ export declare function route<In, Out>(method: HttpMethod, path: string, options?: RouteOptions): ApiRoute<In, Out>;
35
+ export declare namespace route {
36
+ var raw: (method: HttpMethod, path: string, options?: RouteOptions) => RawRoute;
37
+ }
38
+ /** One tab's count in `meta.views` (go-core `datatable.ViewCount`). */
39
+ export interface ViewCount {
40
+ readonly key: string;
41
+ readonly count: number;
42
+ }
43
+ /**
44
+ * The wire shape of go-core's `datatable.DatatableResult[T]`: a page of rows with its numbers.
45
+ * `readListPage` (`/collection`) reads it into a `ListPage` with no glue.
46
+ */
47
+ export interface ListResult<Row> {
48
+ readonly data: readonly Row[];
49
+ readonly meta?: Readonly<Record<string, unknown>> & {
50
+ readonly views?: readonly ViewCount[];
51
+ };
52
+ readonly total: number;
53
+ readonly per_page: number;
54
+ readonly current_page: number;
55
+ readonly last_page: number;
56
+ readonly from: number;
57
+ readonly to: number;
58
+ }
59
+ export {};
@@ -0,0 +1,147 @@
1
+ import { A, k as I, a as S } from "./error-CD7x0Jrz.js";
2
+ function U(t) {
3
+ if (!t) return "";
4
+ const e = new URLSearchParams();
5
+ for (const [a, r] of Object.entries(t))
6
+ if (!(r == null || r === ""))
7
+ if (Array.isArray(r)) for (const i of r) e.append(a, String(i));
8
+ else e.append(a, String(r));
9
+ return e.toString();
10
+ }
11
+ const g = (t) => typeof Blob < "u" && t instanceof Blob;
12
+ function D(t) {
13
+ const e = new FormData();
14
+ for (const [a, r] of Object.entries(t))
15
+ if (r != null)
16
+ if (Array.isArray(r))
17
+ for (const i of r) e.append(`${a}[]`, E(i));
18
+ else
19
+ e.append(a, E(r));
20
+ return e;
21
+ }
22
+ function E(t) {
23
+ return g(t) ? t : t instanceof Date ? t.toISOString() : typeof t == "object" && t !== null ? JSON.stringify(t) : String(t);
24
+ }
25
+ function z(t) {
26
+ if (t === void 0) return { body: void 0, contentType: null };
27
+ if (typeof t == "string" || t instanceof FormData || t instanceof URLSearchParams || t instanceof ArrayBuffer || ArrayBuffer.isView(t) || g(t))
28
+ return { body: t, contentType: null };
29
+ if (typeof t == "object" && t !== null && !Array.isArray(t)) {
30
+ const e = t;
31
+ if (Object.values(e).some((a) => g(a) || Array.isArray(a) && a.some(g)))
32
+ return { body: D(e), contentType: null };
33
+ }
34
+ return { body: JSON.stringify(t), contentType: "application/json" };
35
+ }
36
+ function v() {
37
+ const t = new Uint8Array(16);
38
+ return globalThis.crypto.getRandomValues(t), Array.from(t, (e) => e.toString(16).padStart(2, "0")).join("");
39
+ }
40
+ const b = "X-Request-ID", T = (t) => typeof t == "object" && t !== null && !Array.isArray(t), w = (t) => typeof t == "string" && t !== "" ? t : null;
41
+ function B(t) {
42
+ const e = t?.errors ?? t?.fields;
43
+ if (!T(e)) return {};
44
+ const a = {};
45
+ for (const [r, i] of Object.entries(e))
46
+ Array.isArray(i) ? a[r] = i.map(String) : i != null && (a[r] = [String(i)]);
47
+ return a;
48
+ }
49
+ async function O(t) {
50
+ const e = await t.text();
51
+ if (e.trim() === "") return { payload: null, readable: !0 };
52
+ try {
53
+ return { payload: JSON.parse(e), readable: !0 };
54
+ } catch {
55
+ return { payload: null, readable: !1 };
56
+ }
57
+ }
58
+ async function C(t, e) {
59
+ const a = t.headers.get(b) ?? e, { payload: r, readable: i } = await O(t), o = T(r) ? r : null;
60
+ if (!t.ok) {
61
+ const m = B(o), n = o?.params;
62
+ throw new A({
63
+ kind: I(t.status, Object.keys(m).length > 0),
64
+ message: w(o?.error) ?? w(o?.message) ?? `Request failed with status ${t.status}`,
65
+ status: t.status,
66
+ fields: m,
67
+ code: w(o?.code),
68
+ params: T(n) ? n : null,
69
+ requestId: a,
70
+ payload: r
71
+ });
72
+ }
73
+ if (!i)
74
+ throw new A({
75
+ kind: "malformed",
76
+ message: `The server answered ${t.status} with a body that is not JSON`,
77
+ status: t.status,
78
+ requestId: a
79
+ });
80
+ return o !== null && typeof o.success == "boolean" ? {
81
+ data: o.data ?? null,
82
+ meta: o.meta ?? null,
83
+ message: w(o.message),
84
+ status: t.status,
85
+ requestId: a
86
+ } : { data: r, meta: null, message: null, status: t.status, requestId: a };
87
+ }
88
+ const F = (t, e) => globalThis.fetch(t, e), H = (t) => /^[a-z][a-z0-9+.-]*:\/\//i.test(t);
89
+ function P(t, e, a) {
90
+ const r = H(e) || t === "" ? e : `${t.replace(/\/+$/, "")}/${e.replace(/^\/+/, "")}`;
91
+ return a === "" ? r : `${r}${r.includes("?") ? "&" : "?"}${a}`;
92
+ }
93
+ const j = (t, e) => new A({ kind: "aborted", message: "The request was cancelled", requestId: t, cause: e });
94
+ function x(t = {}) {
95
+ const { baseUrl: e = "", transport: a = F, credentials: r = "include" } = t;
96
+ async function i(n, s, c, u) {
97
+ const { signal: f } = u, y = t.requestId === !1 ? null : (t.requestId ?? v)();
98
+ if (f?.aborted) throw j(y, f.reason);
99
+ const p = z(c), l = new Headers({ Accept: "application/json" }), h = t.headers ? await t.headers() : void 0;
100
+ for (const d of [h, u.headers])
101
+ d && new Headers(d).forEach(($, q) => l.set(q, $));
102
+ y !== null && !l.has(b) && l.set(b, y), p.contentType !== null && !l.has("Content-Type") && l.set("Content-Type", p.contentType);
103
+ const k = { method: n, headers: l, credentials: r, body: p.body, signal: f }, R = P(e, s, U(u.query));
104
+ try {
105
+ const d = await a(R, k);
106
+ return await C(d, y);
107
+ } catch (d) {
108
+ throw S(d) ? d : f?.aborted || d instanceof Error && d.name === "AbortError" ? j(y, d) : new A({
109
+ kind: "network",
110
+ message: d instanceof Error ? d.message : "The server could not be reached",
111
+ requestId: y,
112
+ cause: d
113
+ });
114
+ }
115
+ }
116
+ async function o(n, s, c, u = {}) {
117
+ try {
118
+ return await i(n, s, c, u);
119
+ } catch (f) {
120
+ if (!S(f) || f.kind !== "unauthorized" || u.handleUnauthorized === !1 || !t.onUnauthorized || await t.onUnauthorized({ error: f, method: n, path: s }) !== "retry") throw f;
121
+ return i(n, s, c, u);
122
+ }
123
+ }
124
+ async function m(n, s, c = {}) {
125
+ const u = typeof s == "object" && s !== null && !Array.isArray(s) ? { ...s } : {}, f = n.path.replace(/:([A-Za-z_][A-Za-z0-9_]*)/g, (p, l) => {
126
+ const h = u[l];
127
+ if (h == null || h === "")
128
+ throw new Error(`${n.method} ${n.path}: the input has no value for the path parameter "${l}"`);
129
+ return delete u[l], encodeURIComponent(String(h));
130
+ }), y = Object.keys(u).length > 0;
131
+ return n.method === "GET" || n.method === "DELETE" ? o(n.method, f, void 0, { ...c, query: { ...u, ...c.query } }) : o(n.method, f, y ? u : void 0, c);
132
+ }
133
+ return {
134
+ // the rest-tuple overload is the public contract; the implementation takes its arguments positionally
135
+ request: m,
136
+ get: (n, s) => o("GET", n, void 0, s),
137
+ post: (n, s, c) => o("POST", n, s, c),
138
+ put: (n, s, c) => o("PUT", n, s, c),
139
+ patch: (n, s, c) => o("PATCH", n, s, c),
140
+ delete: (n, s) => o("DELETE", n, void 0, s)
141
+ };
142
+ }
143
+ export {
144
+ b as R,
145
+ x as c,
146
+ F as f
147
+ };
@@ -0,0 +1,8 @@
1
+ const e = "vue-core:close-overlays";
2
+ function c() {
3
+ document.dispatchEvent(new Event(e));
4
+ }
5
+ export {
6
+ e as C,
7
+ c
8
+ };
@@ -28,6 +28,7 @@ declare const _default: <Row extends object, Col extends Column<Row>>(__VLS_prop
28
28
  actions?: ((scope: {
29
29
  item: Row;
30
30
  }) => unknown) | undefined;
31
+ } & {
31
32
  toolbar?: () => unknown;
32
33
  empty?: () => unknown;
33
34
  } & {