@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,422 @@
1
+ import { defineComponent as U, ref as N, useId as H, useTemplateRef as P, computed as y, watch as F, nextTick as I, openBlock as n, createElementBlock as b, normalizeClass as g, createElementVNode as s, createVNode as L, unref as t, withDirectives as j, vModelText as G, createCommentVNode as _, toDisplayString as w, createBlock as z, Fragment as B, renderList as T, onScopeDispose as K, useModel as W, mergeProps as E, withCtx as D, createSlots as J, createTextVNode as Q, mergeModels as X, mergeDefaults as Y } from "vue";
2
+ import { useI18n as R } from "vue-i18n";
3
+ import { _ as Z } from "./Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js";
4
+ import { _ as V } from "./Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
5
+ import { u as ee } from "./mediaQuery-CygcXmFW.js";
6
+ import { _ as te } from "./Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js";
7
+ import { _ as oe } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
8
+ import { h as le, m as ae, a as ne, g as se, _ as re, f as ie, b as ue } from "./options-BXkMR63B.js";
9
+ import { a as ce } from "./suggestions-BJAqOj4c.js";
10
+ const de = { class: "flex min-h-9 items-center gap-1.5 rounded-control bg-fill px-2.5 text-content-muted focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-border-focus" }, pe = ["aria-label", "placeholder"], me = ["aria-multiselectable", "aria-busy"], fe = {
11
+ key: 0,
12
+ role: "presentation"
13
+ }, ve = ["aria-selected"], be = { class: "flex-1 py-2" }, ge = {
14
+ key: 1,
15
+ role: "presentation",
16
+ class: "flex items-center gap-2.5 px-row-inset py-4 text-subheadline text-content-muted",
17
+ "data-test": "options-loading"
18
+ }, he = { role: "status" }, ye = {
19
+ key: 2,
20
+ role: "presentation",
21
+ class: "flex flex-col items-start gap-1 px-row-inset py-3",
22
+ "data-test": "options-failed"
23
+ }, xe = {
24
+ role: "alert",
25
+ class: "text-subheadline text-content-destructive"
26
+ }, ke = ["id"], _e = ["aria-labelledby"], we = ["aria-selected"], $e = ["disabled", "onClick"], Ce = {
27
+ key: 0,
28
+ "aria-hidden": "true",
29
+ class: "flex shrink-0 items-center"
30
+ }, Se = { class: "min-w-0 flex-1 text-content-strong" }, Le = {
31
+ key: 0,
32
+ class: "shrink-0 text-footnote text-content-muted"
33
+ }, Ve = {
34
+ key: 3,
35
+ class: "px-4 py-6 text-center text-subheadline text-content-muted"
36
+ }, M = /* @__PURE__ */ U({
37
+ __name: "OptionList",
38
+ props: {
39
+ options: {},
40
+ modelValue: { default: null },
41
+ multiple: { type: Boolean, default: !1 },
42
+ searchFrom: { default: 9 },
43
+ noneLabel: { default: void 0 },
44
+ presentation: { default: "grouped" },
45
+ status: { default: "loaded" }
46
+ },
47
+ emits: ["select", "retry"],
48
+ setup(r, { emit: l }) {
49
+ const e = r, d = l, { t: f } = R(), v = N(""), m = H(), h = P("root"), o = y(() => e.options.length >= e.searchFrom), x = y(() => le(ae(e.options, v.value))), S = (p) => e.multiple ? Array.isArray(e.modelValue) && e.modelValue.includes(p.value) : e.modelValue === p.value, A = y(() => e.multiple ? !1 : e.modelValue === null);
50
+ function O(p) {
51
+ if (!["ArrowDown", "ArrowUp", "Home", "End"].includes(p.key)) return;
52
+ const a = [...h.value?.querySelectorAll("[data-option]:not([disabled])") ?? []];
53
+ if (a.length === 0) return;
54
+ const i = a.indexOf(document.activeElement), c = p.key === "Home" ? 0 : p.key === "End" ? a.length - 1 : p.key === "ArrowDown" ? Math.min(i + 1, a.length - 1) : Math.max(i - 1, 0);
55
+ p.key === "ArrowUp" && i <= 0 ? h.value?.querySelector("[data-option-search]")?.focus() : a[i === -1 && p.key === "ArrowDown" ? 0 : c]?.focus(), p.preventDefault();
56
+ }
57
+ const $ = y(() => e.presentation === "grouped"), C = y(() => e.status === "loading"), u = y(() => e.status === "failed");
58
+ return F(() => e.status, (p, k) => {
59
+ k !== "loading" || p === "loading" || I(() => {
60
+ const a = document.activeElement;
61
+ (!a || a === document.body || a.getAttribute("role") === "dialog" && !!h.value && a.contains(h.value)) && h.value?.querySelector("[data-option-search], [data-option]:not([disabled])")?.focus({ preventScroll: !0 });
62
+ });
63
+ }), (p, k) => (n(), b("div", {
64
+ ref_key: "root",
65
+ ref: h,
66
+ "data-test": "option-list",
67
+ onKeydown: O
68
+ }, [
69
+ o.value ? (n(), b("div", {
70
+ key: 0,
71
+ class: g(["sticky top-0 z-10 pb-2", $.value ? "bg-surface-page pt-1" : "bg-surface-cell"])
72
+ }, [
73
+ s("label", de, [
74
+ L(t(V), {
75
+ name: "search",
76
+ size: 16,
77
+ class: "shrink-0"
78
+ }),
79
+ j(s("input", {
80
+ "onUpdate:modelValue": k[0] || (k[0] = (a) => v.value = a),
81
+ "data-option-search": "",
82
+ type: "search",
83
+ enterkeyhint: "search",
84
+ autocomplete: "off",
85
+ autocapitalize: "off",
86
+ spellcheck: "false",
87
+ "aria-label": t(f)("core.form.select.search"),
88
+ placeholder: t(f)("core.form.select.search"),
89
+ class: "min-w-0 flex-1 border-0 bg-transparent p-0 text-body text-content-strong outline-none placeholder:text-content-disabled focus:ring-0"
90
+ }, null, 8, pe), [
91
+ [G, v.value]
92
+ ])
93
+ ])
94
+ ], 2)) : _("", !0),
95
+ s("ul", {
96
+ class: g(["flex flex-col", $.value ? "gap-group-gap" : "gap-2"]),
97
+ role: "listbox",
98
+ "aria-multiselectable": e.multiple || void 0,
99
+ "aria-busy": C.value || void 0
100
+ }, [
101
+ e.noneLabel && v.value === "" ? (n(), b("li", fe, [
102
+ s("ul", {
103
+ role: "group",
104
+ class: g($.value ? "rounded-group bg-surface-cell shadow-group" : "")
105
+ }, [
106
+ s("li", {
107
+ role: "option",
108
+ "aria-selected": A.value
109
+ }, [
110
+ s("button", {
111
+ type: "button",
112
+ "data-option": "",
113
+ class: g(["flex min-h-row w-full cursor-pointer items-center gap-3 px-row-inset text-left text-body hover:bg-fill focus-visible:bg-fill focus-visible:outline-none active:bg-fill", [A.value ? "text-content-strong" : "text-content-muted", $.value ? "rounded-group" : "rounded-control"]]),
114
+ onClick: k[1] || (k[1] = (a) => d("select", null))
115
+ }, [
116
+ s("span", be, w(e.noneLabel), 1),
117
+ A.value ? (n(), z(t(V), {
118
+ key: 0,
119
+ name: "checkCustom",
120
+ size: 18,
121
+ class: "shrink-0 text-content-link"
122
+ })) : _("", !0)
123
+ ], 2)
124
+ ], 8, ve)
125
+ ], 2)
126
+ ])) : _("", !0),
127
+ C.value ? (n(), b("li", ge, [
128
+ L(t(V), {
129
+ name: "loader4Line",
130
+ size: 16,
131
+ class: "shrink-0 animate-spin text-content-link"
132
+ }),
133
+ s("span", he, w(t(f)("core.form.select.loading")), 1)
134
+ ])) : u.value ? (n(), b("li", ye, [
135
+ s("span", xe, w(t(f)("core.form.select.load_failed")), 1),
136
+ s("button", {
137
+ type: "button",
138
+ "data-option": "",
139
+ "data-test": "options-retry",
140
+ class: "-ml-2 cursor-pointer rounded-control px-2 py-1 text-subheadline font-medium text-content-link hover:bg-fill focus-visible:bg-fill focus-visible:outline-none",
141
+ onClick: k[2] || (k[2] = (a) => d("retry"))
142
+ }, w(t(f)("core.actions.retry")), 1)
143
+ ])) : _("", !0),
144
+ (n(!0), b(B, null, T(x.value, (a, i) => (n(), b("li", {
145
+ key: a.title ?? i,
146
+ role: "presentation"
147
+ }, [
148
+ a.title ? (n(), b("p", {
149
+ key: 0,
150
+ id: `${t(m)}-${i}`,
151
+ class: "px-row-inset pb-1.5 text-footnote uppercase tracking-wide text-content-muted"
152
+ }, w(a.title), 9, ke)) : _("", !0),
153
+ s("ul", {
154
+ role: "group",
155
+ "aria-labelledby": a.title ? `${t(m)}-${i}` : void 0,
156
+ class: g($.value ? "rounded-group bg-surface-cell shadow-group" : "")
157
+ }, [
158
+ (n(!0), b(B, null, T(a.options, (c) => (n(), b("li", {
159
+ key: String(c.value),
160
+ role: "option",
161
+ "aria-selected": S(c),
162
+ class: "group/option"
163
+ }, [
164
+ s("button", {
165
+ type: "button",
166
+ "data-option": "",
167
+ "data-test": "option",
168
+ disabled: c.disabled,
169
+ class: g(["flex w-full cursor-pointer items-stretch gap-3 pl-row-inset text-left text-body hover:bg-fill focus-visible:bg-fill focus-visible:outline-none active:bg-fill disabled:cursor-not-allowed disabled:opacity-45", $.value ? "group-first/option:rounded-t-group group-last/option:rounded-b-group" : "rounded-control"]),
170
+ onClick: (Fe) => d("select", c.value)
171
+ }, [
172
+ e.multiple ? (n(), b("span", Ce, [
173
+ s("span", {
174
+ class: g(["flex size-5.5 items-center justify-center rounded-full border", S(c) ? "border-control-on bg-control-on text-white" : "border-border-control"])
175
+ }, [
176
+ S(c) ? (n(), z(t(V), {
177
+ key: 0,
178
+ name: "checkCustom",
179
+ size: 12
180
+ })) : _("", !0)
181
+ ], 2)
182
+ ])) : _("", !0),
183
+ s("span", {
184
+ class: g(["flex min-h-row min-w-0 flex-1 items-center gap-3 py-2 pr-row-inset", $.value ? "border-t border-border-separator group-first/option:border-t-0" : ""])
185
+ }, [
186
+ s("span", Se, w(c.label), 1),
187
+ c.description ? (n(), b("span", Le, w(c.description), 1)) : _("", !0),
188
+ !e.multiple && S(c) ? (n(), z(t(V), {
189
+ key: 1,
190
+ name: "checkCustom",
191
+ size: 18,
192
+ class: "shrink-0 text-content-link"
193
+ })) : _("", !0)
194
+ ], 2)
195
+ ], 10, $e)
196
+ ], 8, we))), 128))
197
+ ], 10, _e)
198
+ ]))), 128)),
199
+ x.value.length === 0 && !C.value && !u.value ? (n(), b("li", Ve, w(t(f)("core.form.select.no_matches")), 1)) : _("", !0)
200
+ ], 10, me)
201
+ ], 544));
202
+ }
203
+ });
204
+ function Ie(r) {
205
+ const l = ce(), e = r.for !== void 0;
206
+ let d = 0;
207
+ function f() {
208
+ const v = r.for?.();
209
+ if (e && v == null) {
210
+ l.cancel(), l.items.value = [], l.status.value = "idle";
211
+ return;
212
+ }
213
+ l.run(
214
+ (m) => e ? r.load(v, { signal: m }) : r.load({ signal: m })
215
+ );
216
+ }
217
+ return F(
218
+ () => r.for?.(),
219
+ (v, m) => {
220
+ m != null && d++, f();
221
+ },
222
+ { immediate: !0 }
223
+ ), K(l.cancel), {
224
+ get status() {
225
+ return l.status.value;
226
+ },
227
+ get options() {
228
+ return l.items.value;
229
+ },
230
+ get generation() {
231
+ return d;
232
+ },
233
+ reload: f
234
+ };
235
+ }
236
+ const q = (r) => Array.isArray(r), De = [];
237
+ function qe(r, l) {
238
+ const e = y(() => {
239
+ const o = r();
240
+ return q(o) ? o : o.options;
241
+ }), d = y(() => {
242
+ const o = r();
243
+ return q(o) ? "loaded" : o.status;
244
+ }), f = y(() => d.value === "loading" || d.value === "failed" ? De : e.value), v = y(() => d.value === "loading"), m = r();
245
+ let h = q(m) ? 0 : m.generation;
246
+ return F(
247
+ () => {
248
+ const o = r();
249
+ return q(o) ? null : o.status === "loaded" || o.status === "idle" ? o.options : null;
250
+ },
251
+ (o) => {
252
+ const x = r();
253
+ o === null || q(x) || x.generation === h || (h = x.generation, l(o));
254
+ }
255
+ ), { known: e, rows: f, status: d, loading: v, reload: () => {
256
+ const o = r();
257
+ q(o) || o.reload();
258
+ } };
259
+ }
260
+ const ze = ["id", "disabled", "aria-expanded", "aria-required", "aria-invalid", "aria-describedby", "aria-busy"], Ae = ["id", "disabled", "aria-required", "aria-invalid", "aria-describedby", "aria-busy", "onClick"], Oe = { class: "max-h-72 overflow-y-auto" }, je = /* @__PURE__ */ U({
261
+ __name: "SelectField",
262
+ props: /* @__PURE__ */ X(/* @__PURE__ */ Y({
263
+ label: {},
264
+ hint: {},
265
+ error: {},
266
+ required: { type: Boolean },
267
+ editable: { type: Boolean },
268
+ disabled: { type: Boolean },
269
+ lockedReason: {},
270
+ presentation: {},
271
+ name: {},
272
+ options: {},
273
+ selected: {},
274
+ placeholder: {},
275
+ clearable: { type: Boolean },
276
+ searchFrom: {}
277
+ }, { ...ue, selected: null, placeholder: void 0, clearable: !1, searchFrom: 9 }), {
278
+ modelValue: { default: null },
279
+ modelModifiers: {}
280
+ }),
281
+ emits: ["update:modelValue"],
282
+ setup(r) {
283
+ const l = r, e = W(r, "modelValue"), { t: d } = R(), f = ee(), v = !!ne(), m = P("sheet"), h = N(!1), o = qe(() => l.options, (C) => {
284
+ e.value !== null && !C.some((u) => u.value === e.value) && (e.value = null);
285
+ }), x = y(() => o.known.value.find((C) => C.value === e.value) ?? (l.selected?.value === e.value ? l.selected : null)), S = y(() => l.placeholder ?? d("core.form.select.choose")), A = se("popup", () => l.error ? "error" : l.disabled ? "locked" : "rest");
286
+ function O(C) {
287
+ e.value = C, m.value?.dismiss();
288
+ }
289
+ const $ = y(() => [
290
+ "flex max-w-full min-w-0 items-center gap-1.5 py-1 pl-2.5 pr-2 text-body focus-visible:outline-none",
291
+ v ? "compact:pl-0 compact:pr-0" : "",
292
+ l.disabled ? "cursor-not-allowed" : "cursor-pointer"
293
+ ]);
294
+ return (C, u) => (n(), z(re, E(t(ie)(l), {
295
+ value: x.value?.label ?? null
296
+ }), {
297
+ default: D(({ id: p, describedby: k, invalid: a }) => [
298
+ s("div", {
299
+ class: g(["inline-flex max-w-full min-w-0", t(A)])
300
+ }, [
301
+ t(f) ? (n(), b("button", {
302
+ key: 0,
303
+ id: p,
304
+ type: "button",
305
+ disabled: l.disabled,
306
+ "aria-haspopup": "dialog",
307
+ "aria-expanded": h.value,
308
+ "aria-required": l.required || void 0,
309
+ "aria-invalid": a || void 0,
310
+ "aria-describedby": k,
311
+ "aria-busy": t(o).loading.value || void 0,
312
+ class: g($.value),
313
+ onClick: u[0] || (u[0] = (i) => m.value?.present())
314
+ }, [
315
+ s("span", {
316
+ class: g(["min-w-0 truncate", x.value ? v ? "text-content-strong compact:text-content-muted" : "text-content-strong" : "text-content-disabled"])
317
+ }, w(x.value?.label ?? S.value), 3),
318
+ L(t(V), {
319
+ name: t(o).loading.value ? "loader4Line" : "expandUpDownLine",
320
+ size: 14,
321
+ class: g(["shrink-0 text-content-muted", t(o).loading.value ? "animate-spin" : ""])
322
+ }, null, 8, ["name", "class"])
323
+ ], 10, ze)) : (n(), z(oe, {
324
+ key: 1,
325
+ label: l.label ?? S.value,
326
+ width: "md",
327
+ "match-trigger-width": "",
328
+ placement: "bottom-start",
329
+ arrow: !1
330
+ }, {
331
+ trigger: D(({ toggle: i, attrs: c }) => [
332
+ s("button", E({
333
+ id: p,
334
+ type: "button"
335
+ }, c, {
336
+ "aria-haspopup": "listbox",
337
+ disabled: l.disabled,
338
+ "aria-required": l.required || void 0,
339
+ "aria-invalid": a || void 0,
340
+ "aria-describedby": k,
341
+ "aria-busy": t(o).loading.value || void 0,
342
+ class: $.value,
343
+ onClick: i
344
+ }), [
345
+ s("span", {
346
+ class: g(["min-w-0 truncate", x.value ? "text-content-strong" : "text-content-disabled"])
347
+ }, w(x.value?.label ?? S.value), 3),
348
+ L(t(V), {
349
+ name: t(o).loading.value ? "loader4Line" : "expandUpDownLine",
350
+ size: 14,
351
+ class: g(["shrink-0 text-content-muted", t(o).loading.value ? "animate-spin" : ""])
352
+ }, null, 8, ["name", "class"])
353
+ ], 16, Ae)
354
+ ]),
355
+ default: D(({ dismiss: i }) => [
356
+ s("div", Oe, [
357
+ L(M, {
358
+ options: t(o).rows.value,
359
+ status: t(o).status.value,
360
+ "model-value": e.value,
361
+ "search-from": l.searchFrom,
362
+ "none-label": l.clearable ? t(d)("core.form.select.clear") : void 0,
363
+ presentation: "plain",
364
+ onSelect: (c) => {
365
+ e.value = c, i();
366
+ },
367
+ onRetry: u[1] || (u[1] = (c) => t(o).reload())
368
+ }, null, 8, ["options", "status", "model-value", "search-from", "none-label", "onSelect"])
369
+ ])
370
+ ]),
371
+ _: 2
372
+ }, 1032, ["label"]))
373
+ ], 2),
374
+ t(f) ? (n(), z(te, {
375
+ key: 0,
376
+ ref_key: "sheet",
377
+ ref: m,
378
+ title: l.label ?? S.value,
379
+ grouped: "",
380
+ onPresented: u[4] || (u[4] = (i) => h.value = !0),
381
+ onDismissed: u[5] || (u[5] = (i) => h.value = !1)
382
+ }, J({
383
+ default: D(() => [
384
+ L(M, {
385
+ options: t(o).rows.value,
386
+ status: t(o).status.value,
387
+ "model-value": e.value,
388
+ "search-from": l.searchFrom,
389
+ "none-label": l.clearable ? t(d)("core.form.select.clear") : void 0,
390
+ onSelect: O,
391
+ onRetry: u[2] || (u[2] = (i) => t(o).reload())
392
+ }, null, 8, ["options", "status", "model-value", "search-from", "none-label"])
393
+ ]),
394
+ _: 2
395
+ }, [
396
+ l.clearable && e.value !== null ? {
397
+ name: "footer",
398
+ fn: D(() => [
399
+ L(Z, {
400
+ prominence: "plain",
401
+ onClick: u[3] || (u[3] = (i) => O(null))
402
+ }, {
403
+ default: D(() => [
404
+ Q(w(t(d)("core.form.select.clear")), 1)
405
+ ]),
406
+ _: 1
407
+ })
408
+ ]),
409
+ key: "0"
410
+ } : void 0
411
+ ]), 1032, ["title"])) : _("", !0)
412
+ ]),
413
+ _: 1
414
+ }, 16, ["value"]));
415
+ }
416
+ });
417
+ export {
418
+ je as _,
419
+ M as a,
420
+ Ie as b,
421
+ qe as u
422
+ };
@@ -0,0 +1,111 @@
1
+ import { defineComponent as g, openBlock as n, createBlock as i, unref as t, withCtx as a, createCommentVNode as r, createElementBlock as d, Fragment as x, renderList as v, createSlots as w, createElementVNode as l, toDisplayString as s, createTextVNode as m, createVNode as u } from "vue";
2
+ import { useI18n as $ } from "vue-i18n";
3
+ import { _ as C } from "./Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js";
4
+ import { _ as B } from "./IconTile.vue_vue_type_script_setup_true_lang-D7QgnUyN.js";
5
+ import { u as E } from "./format-B8mJm946.js";
6
+ import { _ as N } from "./FormGroup.vue_vue_type_script_setup_true_lang-0mfG8TkU.js";
7
+ import { e as f } from "./options-BXkMR63B.js";
8
+ import { _ as y } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
9
+ const V = { class: "flex flex-wrap items-center gap-x-1.5 gap-y-0.5" }, L = {
10
+ key: 0,
11
+ class: "font-mono"
12
+ }, S = {
13
+ key: 1,
14
+ "aria-hidden": "true"
15
+ }, T = {
16
+ key: 0,
17
+ class: "mt-1 flex flex-wrap gap-1"
18
+ }, K = /* @__PURE__ */ g({
19
+ __name: "SessionList",
20
+ props: {
21
+ sessions: {},
22
+ canEnd: { type: Boolean },
23
+ header: {},
24
+ footer: {}
25
+ },
26
+ emits: ["end"],
27
+ setup(h, { emit: k }) {
28
+ const c = h, b = k, { t: o } = $(), p = E();
29
+ return (F, _) => (n(), i(t(N), {
30
+ header: c.header,
31
+ footer: c.footer
32
+ }, {
33
+ default: a(() => [
34
+ c.sessions.length === 0 ? (n(), i(t(f), {
35
+ key: 0,
36
+ layout: "setting",
37
+ label: t(o)("core.account.sessions.empty")
38
+ }, null, 8, ["label"])) : r("", !0),
39
+ (n(!0), d(x, null, v(c.sessions, (e) => (n(), i(t(f), {
40
+ key: e.id,
41
+ layout: "setting",
42
+ label: e.device || t(o)("core.account.sessions.unknown_device"),
43
+ "data-session": e.id
44
+ }, w({
45
+ leading: a(() => [
46
+ u(t(B), {
47
+ tone: "anchor",
48
+ icon: "deviceLine"
49
+ })
50
+ ]),
51
+ sub: a(() => [
52
+ l("span", V, [
53
+ e.ip ? (n(), d("span", L, s(e.ip), 1)) : r("", !0),
54
+ e.ip ? (n(), d("span", S, "·")) : r("", !0),
55
+ l("span", null, s(t(o)("core.account.sessions.last_active", { when: t(p).dateTime(e.last_used_at) })), 1),
56
+ _[0] || (_[0] = l("span", { "aria-hidden": "true" }, "·", -1)),
57
+ l("span", null, s(t(o)("core.account.sessions.expires", { when: t(p).dateTime(e.expires_at) })), 1)
58
+ ]),
59
+ e.current || e.opened_by ? (n(), d("span", T, [
60
+ e.current ? (n(), i(t(y), {
61
+ key: 0,
62
+ tone: "positive",
63
+ dot: "",
64
+ "data-session-current": ""
65
+ }, {
66
+ default: a(() => [
67
+ m(s(t(o)("core.account.sessions.this_device")), 1)
68
+ ]),
69
+ _: 1
70
+ })) : r("", !0),
71
+ e.opened_by ? (n(), i(t(y), {
72
+ key: 1,
73
+ tone: "warning",
74
+ "data-session-opened-by": ""
75
+ }, {
76
+ default: a(() => [
77
+ m(s(e.opened_by.name ? t(o)("core.account.sessions.opened_by", { name: e.opened_by.name }) : t(o)("core.account.sessions.opened_by_other")), 1)
78
+ ]),
79
+ _: 2
80
+ }, 1024)) : r("", !0)
81
+ ])) : r("", !0)
82
+ ]),
83
+ _: 2
84
+ }, [
85
+ c.canEnd && !e.current ? {
86
+ name: "trailing",
87
+ fn: a(() => [
88
+ u(t(C), {
89
+ prominence: "plain",
90
+ tone: "critical",
91
+ size: "sm",
92
+ "data-end-session": e.id,
93
+ onClick: (z) => b("end", e)
94
+ }, {
95
+ default: a(() => [
96
+ m(s(t(o)("core.account.sessions.end")), 1)
97
+ ]),
98
+ _: 1
99
+ }, 8, ["data-end-session", "onClick"])
100
+ ]),
101
+ key: "0"
102
+ } : void 0
103
+ ]), 1032, ["label", "data-session"]))), 128))
104
+ ]),
105
+ _: 1
106
+ }, 8, ["header", "footer"]));
107
+ }
108
+ });
109
+ export {
110
+ K as _
111
+ };
@@ -0,0 +1,96 @@
1
+ import { defineComponent as x, useTemplateRef as v, computed as w, ref as $, openBlock as E, createElementBlock as P, createVNode as t, unref as e, createSlots as h, withCtx as u, createTextVNode as B, toDisplayString as C } from "vue";
2
+ import { useI18n as N } from "vue-i18n";
3
+ import { _ as q } from "./Button.vue_vue_type_script_setup_true_lang-CYil8h9z.js";
4
+ import { u as A } from "./describeError-Ctga6GcS.js";
5
+ import { P as D, b as L, e as O, i as g, d as T } from "./index-BAcl44SC.js";
6
+ import { _ as k } from "./AlertDialog.vue_vue_type_script_setup_true_lang-CJsMUIUg.js";
7
+ import { t as b } from "./toast-D9Z5To38.js";
8
+ import { u as V } from "./platform-hunMqFdB.js";
9
+ import { b as I } from "./routeResource-DstM0hvf.js";
10
+ import { _ as j } from "./AsyncSection.vue_vue_type_script_setup_true_lang-CCtthMRd.js";
11
+ import { _ as z } from "./SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js";
12
+ import { _ as F } from "./SessionList.vue_vue_type_script_setup_true_lang-DUQpr7gb.js";
13
+ const G = {
14
+ class: "flex min-w-0 flex-col gap-group-gap",
15
+ "data-person-sessions": ""
16
+ }, ne = /* @__PURE__ */ x({
17
+ __name: "Sessions",
18
+ setup(H) {
19
+ const { t: s } = N(), { http: d } = V(), y = A(), r = I(D), c = L(), i = O(), m = v("one"), f = v("all"), l = w(() => i.data.value?.sessions ?? []);
20
+ async function _(a, o) {
21
+ try {
22
+ await a(), b.success(o);
23
+ } catch (n) {
24
+ T(n) || b.error(y(n, { fallback: s("core.account.sessions.end_failed") }));
25
+ }
26
+ await i.reload();
27
+ }
28
+ const S = (a) => _(() => d.request(g.usersRevokeSession, { id: r.id.value ?? 0, session_id: a.id }), s("core.account.sessions.ended")), R = () => _(() => d.request(g.usersRevokeSessions, { id: r.id.value ?? 0 }), s("core.users.sessions.ended_all")), p = $(null);
29
+ return (a, o) => (E(), P("div", G, [
30
+ t(z, {
31
+ title: e(s)("core.users.sections.sessions"),
32
+ description: e(s)("core.users.intro.sessions", { name: e(r).data.value?.name ?? "" })
33
+ }, h({ _: 2 }, [
34
+ e(c).can.endSessions && l.value.length > 0 ? {
35
+ name: "actions",
36
+ fn: u(() => [
37
+ t(e(q), {
38
+ prominence: "plain",
39
+ tone: "critical",
40
+ "data-end-all": "",
41
+ onClick: o[0] || (o[0] = (n) => f.value?.present())
42
+ }, {
43
+ default: u(() => [
44
+ B(C(e(s)("core.users.sessions.end_all")), 1)
45
+ ]),
46
+ _: 1
47
+ })
48
+ ]),
49
+ key: "0"
50
+ } : void 0
51
+ ]), 1032, ["title", "description"]),
52
+ t(e(j), {
53
+ state: e(i).state.value,
54
+ "skeleton-rows": 3,
55
+ "is-empty": () => !1,
56
+ onRetry: o[2] || (o[2] = (n) => e(i).reload())
57
+ }, {
58
+ default: u(() => [
59
+ t(F, {
60
+ sessions: l.value,
61
+ "can-end": e(c).can.endSessions,
62
+ header: e(s)("core.users.sessions.header", { n: l.value.length }),
63
+ footer: e(c).can.endSessions ? e(s)("core.users.sessions.footer") : e(s)("core.users.sessions.own_footer"),
64
+ onEnd: o[1] || (o[1] = (n) => {
65
+ p.value = n, m.value?.present(n);
66
+ })
67
+ }, null, 8, ["sessions", "can-end", "header", "footer"])
68
+ ]),
69
+ _: 1
70
+ }, 8, ["state"]),
71
+ t(e(k), {
72
+ ref_key: "one",
73
+ ref: m,
74
+ tone: "critical",
75
+ icon: "logoutBoxRLine",
76
+ title: e(s)("core.account.sessions.end_title"),
77
+ message: e(s)("core.account.sessions.end_body", { device: p.value?.device || e(s)("core.account.sessions.unknown_device") }),
78
+ "confirm-label": e(s)("core.account.sessions.end"),
79
+ action: S
80
+ }, null, 8, ["title", "message", "confirm-label"]),
81
+ t(e(k), {
82
+ ref_key: "all",
83
+ ref: f,
84
+ tone: "critical",
85
+ icon: "logoutBoxRLine",
86
+ title: e(s)("core.users.sessions.end_all_title"),
87
+ message: e(s)("core.users.sessions.end_all_body", { name: e(r).data.value?.name ?? "" }),
88
+ "confirm-label": e(s)("core.users.sessions.end_all"),
89
+ action: R
90
+ }, null, 8, ["title", "message", "confirm-label"])
91
+ ]));
92
+ }
93
+ });
94
+ export {
95
+ ne as default
96
+ };