@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,1099 @@
1
+ import { defineComponent as G, ref as I, watch as pe, computed as x, openBlock as f, createElementBlock as p, Fragment as O, createElementVNode as y, normalizeClass as N, unref as c, createVNode as S, createTextVNode as Le, toDisplayString as U, renderList as R, useModel as he, useId as Pe, useTemplateRef as K, createCommentVNode as B, createBlock as se, mergeModels as ye, nextTick as ve, onMounted as Re, onBeforeUnmount as We, normalizeStyle as de, withCtx as X, mergeProps as we, mergeDefaults as He } from "vue";
2
+ import { useI18n as W } from "vue-i18n";
3
+ import { _ as Ke } from "./DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
4
+ import { u as xe } from "./format-B8mJm946.js";
5
+ import { _ as E } from "./Icon.vue_vue_type_script_lang-VvcV2Bzo.js";
6
+ import { a as Qe, u as Ge } from "./mediaQuery-CygcXmFW.js";
7
+ import { _ as Ze } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
8
+ import { g as Je, _ as Xe, f as et, b as tt } from "./options-BXkMR63B.js";
9
+ import { _ as at } from "./Sheet.vue_vue_type_script_setup_true_lang-bHYzx7-J.js";
10
+ const nt = /^(\d{4})-(\d{2})-(\d{2})$/, Ye = 864e5, ee = (e, a = 2) => String(e).padStart(a, "0"), lt = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], ot = (e) => e % 4 === 0 && e % 100 !== 0 || e % 400 === 0, ge = (e, a) => a === 2 && ot(e) ? 29 : lt[a - 1] ?? 0;
11
+ function j(e, a, t) {
12
+ return !Number.isInteger(e) || !Number.isInteger(a) || !Number.isInteger(t) || e < 1 || e > 9999 || a < 1 || a > 12 || t < 1 || t > ge(e, a) ? null : `${ee(e, 4)}-${ee(a)}-${ee(t)}`;
13
+ }
14
+ function te(e) {
15
+ const a = e ? nt.exec(e) : null;
16
+ if (!a) return null;
17
+ const t = { year: Number(a[1]), month: Number(a[2]), day: Number(a[3]) };
18
+ return j(t.year, t.month, t.day) ? t : null;
19
+ }
20
+ const re = (e) => te(e) !== null, Oe = (e) => `${ee(e.year, 4)}-${ee(e.month)}-${ee(e.day)}`;
21
+ function Ae(e) {
22
+ const a = /* @__PURE__ */ new Date(0);
23
+ return a.setUTCFullYear(e.year, e.month - 1, e.day), Math.round(a.getTime() / Ye);
24
+ }
25
+ function rt(e) {
26
+ const a = new Date(e * Ye);
27
+ return { year: a.getUTCFullYear(), month: a.getUTCMonth() + 1, day: a.getUTCDate() };
28
+ }
29
+ const ke = (e) => te(e) ?? { year: 1970, month: 1, day: 1 };
30
+ function L(e, a) {
31
+ return Oe(rt(Ae(ke(e)) + a));
32
+ }
33
+ function ae(e, a) {
34
+ const t = ke(e), n = t.year * 12 + (t.month - 1) + a, l = Math.floor(n / 12), u = n % 12 + 1;
35
+ return j(l, u, Math.min(t.day, ge(l, u))) ?? e;
36
+ }
37
+ const Te = (e, a) => ae(e, a * 12);
38
+ function be(e) {
39
+ const a = ke(e);
40
+ return Oe({ ...a, day: ge(a.year, a.month) });
41
+ }
42
+ function $e(e) {
43
+ const a = (Ae(ke(e)) + 3) % 7;
44
+ return (a < 0 ? a + 7 : a) + 1;
45
+ }
46
+ function De(e, a) {
47
+ return L(e, -(($e(e) - a + 7) % 7));
48
+ }
49
+ const st = (e, a) => L(De(e, a), 6);
50
+ function it(e) {
51
+ let a = L(e, 1);
52
+ for (; $e(a) >= 6; ) a = L(a, 1);
53
+ return a;
54
+ }
55
+ function Q(e = /* @__PURE__ */ new Date()) {
56
+ return j(e.getFullYear(), e.getMonth() + 1, e.getDate()) ?? "1970-01-01";
57
+ }
58
+ function Ce(e, a) {
59
+ if (a.min && e < a.min || a.max && e > a.max) return !0;
60
+ const t = a.disabled;
61
+ return t ? typeof t == "function" ? t(e) : t.some((n) => typeof n == "string" ? n === e : e >= n.from && e <= n.to) : !1;
62
+ }
63
+ function ce(e, a) {
64
+ return a.min && e < a.min ? a.min : a.max && e > a.max ? a.max : e;
65
+ }
66
+ function ut(e) {
67
+ return Ie(e)?.firstDay ?? 1;
68
+ }
69
+ function dt(e) {
70
+ return Ie(e)?.weekend ?? [6, 7];
71
+ }
72
+ function Ie(e) {
73
+ try {
74
+ const a = new Intl.Locale(e);
75
+ return a.getWeekInfo?.() ?? a.weekInfo ?? null;
76
+ } catch {
77
+ return null;
78
+ }
79
+ }
80
+ function ct(e, a, t) {
81
+ const n = j(e, a, 1) ?? "1970-01-01", l = be(n), u = [];
82
+ for (let o = De(n, t.firstWeekday); o <= l; o = L(o, 7))
83
+ u.push(
84
+ Array.from({ length: 7 }, (r, s) => {
85
+ const d = L(o, s);
86
+ return {
87
+ day: d,
88
+ date: Number(d.slice(8)),
89
+ inMonth: d.startsWith(n.slice(0, 7)),
90
+ weekend: t.weekend.includes($e(d)),
91
+ today: d === t.today,
92
+ selected: d === t.selected,
93
+ disabled: Ce(d, t.rules)
94
+ };
95
+ })
96
+ );
97
+ return u;
98
+ }
99
+ function mt(e, a, t, n) {
100
+ switch (a) {
101
+ case "ArrowLeft":
102
+ return L(e, -1);
103
+ case "ArrowRight":
104
+ return L(e, 1);
105
+ case "ArrowUp":
106
+ return L(e, -7);
107
+ case "ArrowDown":
108
+ return L(e, 7);
109
+ case "PageUp":
110
+ return t ? Te(e, -1) : ae(e, -1);
111
+ case "PageDown":
112
+ return t ? Te(e, 1) : ae(e, 1);
113
+ case "Home":
114
+ return De(e, n);
115
+ case "End":
116
+ return st(e, n);
117
+ default:
118
+ return null;
119
+ }
120
+ }
121
+ const ft = {
122
+ class: "flex flex-col gap-2",
123
+ "data-test": "month-year-panel"
124
+ }, vt = { class: "flex items-center" }, bt = ["disabled", "aria-label"], pt = ["aria-label"], ht = ["disabled", "aria-label"], yt = { class: "grid grid-cols-3 gap-1.5" }, xt = ["aria-pressed", "aria-label", "disabled", "onClick"], gt = { class: "flex items-center" }, kt = ["disabled", "aria-label"], wt = {
125
+ class: "grow text-center text-body font-semibold tabular-nums",
126
+ "aria-live": "polite"
127
+ }, _t = ["disabled", "aria-label"], $t = { class: "grid grid-cols-3 gap-1.5" }, Dt = ["aria-pressed", "disabled", "onClick"], me = "flex size-8 cursor-pointer items-center justify-center rounded-control text-content-link hover:bg-fill disabled:cursor-default disabled:text-content-disabled disabled:hover:bg-transparent focus-visible:outline-2 focus-visible:outline-border-focus", Ne = "min-h-9 cursor-pointer rounded-full px-1 text-subheadline focus-visible:outline-2 focus-visible:outline-border-focus disabled:cursor-default disabled:text-content-disabled disabled:hover:bg-fill", Ct = /* @__PURE__ */ G({
128
+ __name: "MonthYearPanel",
129
+ props: {
130
+ month: { default: null },
131
+ year: { default: null },
132
+ viewYear: { default: void 0 },
133
+ minYear: { default: 1 },
134
+ maxYear: { default: 9999 },
135
+ monthDisabled: { type: Function, default: void 0 }
136
+ },
137
+ emits: ["pick"],
138
+ setup(e, { emit: a }) {
139
+ const t = e, n = a, { t: l } = W(), u = (w) => Math.floor(w / 10) * 10, o = I(d(t.year ?? t.viewYear ?? (/* @__PURE__ */ new Date()).getFullYear())), r = I(!1), s = I(u(o.value));
140
+ pe(
141
+ () => t.year,
142
+ (w) => {
143
+ w !== null && (o.value = d(w));
144
+ }
145
+ );
146
+ function d(w) {
147
+ return Math.min(t.maxYear, Math.max(t.minYear, w));
148
+ }
149
+ const v = x(() => Array.from({ length: 12 }, (w, $) => s.value + $)), g = (w, $) => l(`core.form.months.${$}.${w}`), _ = (w) => t.month === w && t.year === o.value;
150
+ function D() {
151
+ s.value = u(o.value), r.value = !0;
152
+ }
153
+ function M(w) {
154
+ o.value = w, r.value = !1;
155
+ }
156
+ const Y = (w) => w ? "bg-tint font-semibold text-content-on-tint" : "bg-fill text-content-strong hover:bg-fill-strong";
157
+ return (w, $) => (f(), p("div", ft, [
158
+ r.value ? (f(), p(O, { key: 1 }, [
159
+ y("div", gt, [
160
+ y("button", {
161
+ type: "button",
162
+ disabled: s.value <= t.minYear,
163
+ "aria-label": c(l)("core.form.date.previous_years"),
164
+ class: N(me),
165
+ onClick: $[2] || ($[2] = (h) => s.value -= 12)
166
+ }, [
167
+ S(c(E), {
168
+ name: "arrowLeftSLine",
169
+ size: 18
170
+ })
171
+ ], 8, kt),
172
+ y("p", wt, U(v.value[0]) + " – " + U(v.value[11]), 1),
173
+ y("button", {
174
+ type: "button",
175
+ disabled: s.value + 11 >= t.maxYear,
176
+ "aria-label": c(l)("core.form.date.next_years"),
177
+ class: N(me),
178
+ onClick: $[3] || ($[3] = (h) => s.value += 12)
179
+ }, [
180
+ S(c(E), {
181
+ name: "arrowRightSLine",
182
+ size: 18
183
+ })
184
+ ], 8, _t)
185
+ ]),
186
+ y("div", $t, [
187
+ (f(!0), p(O, null, R(v.value, (h) => (f(), p("button", {
188
+ key: h,
189
+ type: "button",
190
+ "aria-pressed": t.year === h,
191
+ disabled: h < t.minYear || h > t.maxYear,
192
+ class: N([Ne, "tabular-nums", Y(t.year === h || t.year === null && o.value === h)]),
193
+ onClick: (i) => M(h)
194
+ }, U(h), 11, Dt))), 128))
195
+ ])
196
+ ], 64)) : (f(), p(O, { key: 0 }, [
197
+ y("div", vt, [
198
+ y("button", {
199
+ type: "button",
200
+ disabled: o.value <= t.minYear,
201
+ "aria-label": c(l)("core.form.date.previous_year"),
202
+ class: N(me),
203
+ onClick: $[0] || ($[0] = (h) => o.value = d(o.value - 1))
204
+ }, [
205
+ S(c(E), {
206
+ name: "arrowLeftSLine",
207
+ size: 18
208
+ })
209
+ ], 8, bt),
210
+ y("button", {
211
+ type: "button",
212
+ "aria-label": c(l)("core.form.date.years"),
213
+ "aria-expanded": "false",
214
+ class: "flex min-h-8 grow cursor-pointer items-center justify-center gap-1 rounded-control text-lg font-semibold tabular-nums hover:bg-fill focus-visible:outline-2 focus-visible:outline-border-focus",
215
+ onClick: D
216
+ }, [
217
+ Le(U(o.value), 1),
218
+ S(c(E), {
219
+ name: "arrowDownSLine",
220
+ size: 14,
221
+ class: "text-content-link"
222
+ })
223
+ ], 8, pt),
224
+ y("button", {
225
+ type: "button",
226
+ disabled: o.value >= t.maxYear,
227
+ "aria-label": c(l)("core.form.date.next_year"),
228
+ class: N(me),
229
+ onClick: $[1] || ($[1] = (h) => o.value = d(o.value + 1))
230
+ }, [
231
+ S(c(E), {
232
+ name: "arrowRightSLine",
233
+ size: 18
234
+ })
235
+ ], 8, ht)
236
+ ]),
237
+ y("div", yt, [
238
+ (f(), p(O, null, R(12, (h) => y("button", {
239
+ key: h,
240
+ type: "button",
241
+ "aria-pressed": _(h),
242
+ "aria-label": `${g(h, "long")} ${o.value}`,
243
+ disabled: t.monthDisabled?.(o.value, h),
244
+ class: N([Ne, Y(_(h))]),
245
+ onClick: (i) => n("pick", { month: h, year: o.value })
246
+ }, U(g(h, "short")), 11, xt)), 64))
247
+ ])
248
+ ], 64))
249
+ ]));
250
+ }
251
+ }), Tt = ["aria-expanded", "aria-label"], Nt = ["id"], Mt = ["id"], Vt = ["disabled", "aria-label"], St = ["disabled", "aria-label"], Ut = ["aria-labelledby"], zt = ["aria-selected"], Lt = ["data-day", "aria-label", "aria-current", "aria-disabled", "tabindex", "onClick"], Me = "flex shrink-0 cursor-pointer items-center justify-center rounded-control text-content-link hover:bg-fill disabled:cursor-default disabled:text-content-disabled disabled:hover:bg-transparent focus-visible:outline-2 focus-visible:outline-border-focus", Ee = /* @__PURE__ */ G({
252
+ __name: "Calendar",
253
+ props: /* @__PURE__ */ ye({
254
+ min: { default: null },
255
+ max: { default: null },
256
+ disabledDates: { type: [Array, Function], default: void 0 },
257
+ openOn: { default: null },
258
+ size: { default: "regular" },
259
+ monthPicker: { type: Boolean, default: !1 }
260
+ }, {
261
+ modelValue: { default: null },
262
+ modelModifiers: {}
263
+ }),
264
+ emits: ["update:modelValue"],
265
+ setup(e, { expose: a }) {
266
+ const t = e, n = he(e, "modelValue"), { t: l } = W(), u = xe(), o = Pe(), r = K("grid"), s = x(() => ({ min: t.min, max: t.max, disabled: t.disabledDates })), d = x(() => ut(u.locale));
267
+ function v() {
268
+ return re(n.value) ? n.value : ce(re(t.openOn) ? t.openOn : Q(), s.value);
269
+ }
270
+ const g = te(v()), _ = I({ year: g.year, month: g.month }), D = I(v()), M = I(!1);
271
+ pe(n, (b) => {
272
+ re(b) && Y(b);
273
+ });
274
+ function Y(b) {
275
+ const k = te(b);
276
+ _.value = { year: k.year, month: k.month }, D.value = b;
277
+ }
278
+ const w = x(
279
+ () => ct(_.value.year, _.value.month, { firstWeekday: d.value, weekend: dt(u.locale), today: Q(), selected: n.value, rules: s.value })
280
+ ), $ = x(() => j(_.value.year, _.value.month, 1) ?? "1970-01-01"), h = x(() => D.value.startsWith($.value.slice(0, 7)) ? D.value : $.value), i = x(() => l("core.form.months.with_year", { month: l(`core.form.months.long.${_.value.month}`), year: _.value.year })), V = x(() => {
281
+ const b = new Intl.DateTimeFormat(u.locale, { weekday: "short", timeZone: "UTC" });
282
+ return Array.from({ length: 7 }, (k, z) => {
283
+ const le = new Date(Date.UTC(2026, 8, 28 + (d.value - 1 + z) % 7)), P = b.format(le).replace(/\.$/, "");
284
+ return P.charAt(0).toLocaleUpperCase(u.locale) + P.slice(1, 2);
285
+ });
286
+ }), m = x(() => {
287
+ const b = new Intl.DateTimeFormat(u.locale, { dateStyle: "full", timeZone: "UTC" });
288
+ return (k) => {
289
+ const z = te(k);
290
+ return b.format(new Date(Date.UTC(z.year, z.month - 1, z.day)));
291
+ };
292
+ }), C = x(() => !t.min || be(ae($.value, -1)) >= t.min), T = x(() => !t.max || ae($.value, 1) <= t.max);
293
+ async function F(b, k) {
294
+ Y(b), k && (await ve(), ne());
295
+ }
296
+ function ne() {
297
+ r.value?.querySelector(`[data-day="${h.value}"]`)?.focus();
298
+ }
299
+ function ue(b) {
300
+ if (b.altKey || b.ctrlKey || b.metaKey) return;
301
+ const k = mt(h.value, b.key, b.shiftKey, d.value);
302
+ k && (b.preventDefault(), F(ce(k, s.value), !0));
303
+ }
304
+ const q = (b) => F(ce(ae(h.value, b), s.value), !1);
305
+ function H(b, k) {
306
+ D.value = b, k || (n.value = b);
307
+ }
308
+ function Z(b) {
309
+ const k = j(b.year, b.month, Math.min(Number(h.value.slice(8)), ge(b.year, b.month)));
310
+ M.value = !1, F(ce(k ?? $.value, s.value), !0);
311
+ }
312
+ const qe = (b, k) => {
313
+ const z = j(b, k, 1) ?? "";
314
+ return !!t.max && z > t.max || !!t.min && be(z) < t.min;
315
+ };
316
+ a({ focus: ne });
317
+ const A = x(() => t.size === "touch");
318
+ function Be(b) {
319
+ if (b.selected) return "bg-tint font-semibold text-content-on-tint";
320
+ const k = b.disabled ? "cursor-default text-content-disabled line-through decoration-1" : b.inMonth ? b.weekend ? "text-content-muted" : "text-content-strong" : "text-content-disabled", z = b.today ? "font-bold text-content-link ring-[1.5px] ring-inset ring-tint" : "";
321
+ return [k, z, b.disabled ? "" : "hover:bg-fill"].join(" ");
322
+ }
323
+ return (b, k) => (f(), p("div", {
324
+ class: N(["flex flex-col", A.value ? "gap-1" : "gap-2"]),
325
+ "data-test": "calendar"
326
+ }, [
327
+ y("div", {
328
+ class: N(["flex items-center gap-1", A.value ? "px-1" : ""])
329
+ }, [
330
+ t.monthPicker ? (f(), p("button", {
331
+ key: 0,
332
+ type: "button",
333
+ "aria-expanded": M.value,
334
+ "aria-label": c(l)("core.form.date.choose_month"),
335
+ class: "flex min-h-8 cursor-pointer items-center gap-1 rounded-control px-1.5 py-1 text-lg font-semibold hover:bg-fill focus-visible:outline-2 focus-visible:outline-border-focus",
336
+ onClick: k[0] || (k[0] = (z) => M.value = !M.value)
337
+ }, [
338
+ y("span", {
339
+ id: c(o),
340
+ "aria-live": "polite"
341
+ }, U(i.value), 9, Nt),
342
+ S(c(E), {
343
+ name: "arrowDownSLine",
344
+ size: 14,
345
+ class: "text-content-link"
346
+ })
347
+ ], 8, Tt)) : (f(), p("p", {
348
+ key: 1,
349
+ id: c(o),
350
+ "aria-live": "polite",
351
+ class: N(["ml-1.5 font-semibold", A.value ? "text-headline" : "text-lg"])
352
+ }, U(i.value), 11, Mt)),
353
+ k[3] || (k[3] = y("span", { class: "grow" }, null, -1)),
354
+ M.value ? B("", !0) : (f(), p(O, { key: 2 }, [
355
+ y("button", {
356
+ type: "button",
357
+ disabled: !C.value,
358
+ "aria-label": c(l)("core.form.date.previous_month"),
359
+ class: N([Me, A.value ? "size-11" : "size-8"]),
360
+ onClick: k[1] || (k[1] = (z) => q(-1))
361
+ }, [
362
+ S(c(E), {
363
+ name: "arrowLeftSLine",
364
+ size: A.value ? 22 : 18
365
+ }, null, 8, ["size"])
366
+ ], 10, Vt),
367
+ y("button", {
368
+ type: "button",
369
+ disabled: !T.value,
370
+ "aria-label": c(l)("core.form.date.next_month"),
371
+ class: N([Me, A.value ? "size-11" : "size-8"]),
372
+ onClick: k[2] || (k[2] = (z) => q(1))
373
+ }, [
374
+ S(c(E), {
375
+ name: "arrowRightSLine",
376
+ size: A.value ? 22 : 18
377
+ }, null, 8, ["size"])
378
+ ], 10, St)
379
+ ], 64))
380
+ ], 2),
381
+ M.value ? (f(), se(Ct, {
382
+ key: 0,
383
+ month: _.value.month,
384
+ year: _.value.year,
385
+ "min-year": t.min ? Number(t.min.slice(0, 4)) : 1,
386
+ "max-year": t.max ? Number(t.max.slice(0, 4)) : 9999,
387
+ "month-disabled": qe,
388
+ onPick: Z
389
+ }, null, 8, ["month", "year", "min-year", "max-year"])) : (f(), p("div", {
390
+ key: 1,
391
+ ref_key: "grid",
392
+ ref: r,
393
+ role: "grid",
394
+ "aria-labelledby": c(o),
395
+ class: N(["flex flex-col", A.value ? "gap-y-1" : "gap-0.5"]),
396
+ onKeydown: ue
397
+ }, [
398
+ y("div", {
399
+ role: "row",
400
+ class: N(["grid grid-cols-7 text-center", A.value ? "" : "gap-0.5"])
401
+ }, [
402
+ (f(!0), p(O, null, R(V.value, (z, le) => (f(), p("div", {
403
+ key: le,
404
+ role: "columnheader",
405
+ class: N(["py-1 font-semibold text-content-disabled", A.value ? "text-footnote" : "text-caption"])
406
+ }, U(z), 3))), 128))
407
+ ], 2),
408
+ (f(!0), p(O, null, R(w.value, (z, le) => (f(), p("div", {
409
+ key: le,
410
+ role: "row",
411
+ class: N(["grid grid-cols-7", A.value ? "" : "gap-0.5"])
412
+ }, [
413
+ (f(!0), p(O, null, R(z, (P) => (f(), p("div", {
414
+ key: P.day,
415
+ role: "gridcell",
416
+ "aria-selected": P.selected
417
+ }, [
418
+ y("button", {
419
+ type: "button",
420
+ "data-day": P.day,
421
+ "aria-label": m.value(P.day),
422
+ "aria-current": P.today ? "date" : void 0,
423
+ "aria-disabled": P.disabled || void 0,
424
+ tabindex: P.day === h.value ? 0 : -1,
425
+ class: N(["w-full cursor-pointer rounded-full tabular-nums transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-border-focus", [A.value ? "h-11 text-body" : "h-9 text-body", Be(P)]]),
426
+ onClick: (ka) => H(P.day, P.disabled)
427
+ }, U(P.date), 11, Lt)
428
+ ], 8, zt))), 128))
429
+ ], 2))), 128))
430
+ ], 42, Ut))
431
+ ], 2));
432
+ }
433
+ }), Pt = ["aria-label"], Yt = ["disabled", "aria-pressed", "onClick"], je = /* @__PURE__ */ G({
434
+ __name: "QuickChips",
435
+ props: {
436
+ items: {},
437
+ selected: { default: null },
438
+ variant: { default: "popover" }
439
+ },
440
+ emits: ["pick"],
441
+ setup(e, { emit: a }) {
442
+ const t = e, n = a, { t: l } = W();
443
+ return (u, o) => (f(), p("div", {
444
+ role: "group",
445
+ "aria-label": c(l)("core.form.date.quick"),
446
+ class: "flex flex-wrap gap-1.5",
447
+ "data-test": "quick-picks"
448
+ }, [
449
+ (f(!0), p(O, null, R(t.items, (r) => (f(), p("button", {
450
+ key: r.key,
451
+ type: "button",
452
+ disabled: r.disabled,
453
+ "aria-pressed": r.value === t.selected,
454
+ class: N(["cursor-pointer whitespace-nowrap rounded-full font-medium transition-colors duration-motion-fast focus-visible:outline-2 focus-visible:outline-border-focus disabled:cursor-default disabled:opacity-45", [
455
+ t.variant === "sheet" ? "px-3 py-2 text-subheadline" : "px-2.5 py-1.5 text-footnote",
456
+ r.value === t.selected ? t.variant === "sheet" ? "bg-tint text-content-on-tint" : "bg-tint-soft text-content-link" : t.variant === "sheet" ? "bg-surface-cell text-content-strong shadow-group" : "bg-fill text-content-strong hover:bg-fill-strong"
457
+ ]]),
458
+ onClick: (s) => n("pick", r.value)
459
+ }, U(r.label), 11, Yt))), 128))
460
+ ], 8, Pt));
461
+ }
462
+ }), Ot = /^(\d{2}):(\d{2})$/, Ve = (e) => String(e).padStart(2, "0");
463
+ function ie(e, a) {
464
+ return !Number.isInteger(e) || !Number.isInteger(a) || e < 0 || e > 23 || a < 0 || a > 59 ? null : `${Ve(e)}:${Ve(a)}`;
465
+ }
466
+ function Fe(e) {
467
+ const a = e ? Ot.exec(e) : null;
468
+ return a && ie(Number(a[1]), Number(a[2])) ? { hour: Number(a[1]), minute: Number(a[2]) } : null;
469
+ }
470
+ const Sa = (e) => Fe(e) !== null;
471
+ function At(e) {
472
+ const a = Number.isInteger(e) && e >= 1 && e <= 30 ? e : 1;
473
+ return Array.from({ length: Math.ceil(60 / a) }, (t, n) => n * a);
474
+ }
475
+ const Se = Array.from({ length: 24 }, (e, a) => a);
476
+ function Ue(e = 1, a = /* @__PURE__ */ new Date()) {
477
+ const t = Number.isInteger(e) && e >= 1 && e <= 30 ? e : 1;
478
+ return ie(a.getHours(), a.getMinutes() - a.getMinutes() % t) ?? "00:00";
479
+ }
480
+ function Ua(e, a = 1) {
481
+ const t = e.trim().toLowerCase();
482
+ let n, l;
483
+ const u = /^(\d{1,2})\s*[:.,h]\s*(\d{1,2})?$/.exec(t);
484
+ if (u)
485
+ n = Number(u[1]), l = u[2] === void 0 ? 0 : Number(u[2]);
486
+ else if (/^\d{1,2}$/.test(t))
487
+ n = Number(t), l = 0;
488
+ else if (/^\d{3,4}$/.test(t))
489
+ n = Number(t.slice(0, -2)), l = Number(t.slice(-2));
490
+ else return { error: "invalid" };
491
+ const o = ie(n, l);
492
+ return o ? a > 1 && l % a !== 0 ? { error: "step" } : { time: o } : { error: "invalid" };
493
+ }
494
+ const It = (e, a) => `${e}T${a}`;
495
+ function Et(e) {
496
+ const a = e ? /^(\d{4}-\d{2}-\d{2})(?:[T ](\d{2}:\d{2}))?/.exec(e) : null;
497
+ return { day: a?.[1] ?? null, time: a?.[2] ?? null };
498
+ }
499
+ const jt = ["aria-label", "aria-activedescendant"], Ft = ["id", "aria-selected", "data-value", "onClick"], qt = ["aria-label", "aria-activedescendant"], Bt = ["id", "aria-selected", "data-value", "onClick"], oe = 30, ze = 150, fe = /* @__PURE__ */ G({
500
+ __name: "ValueColumn",
501
+ props: /* @__PURE__ */ ye({
502
+ values: {},
503
+ label: {},
504
+ variant: { default: "list" }
505
+ }, {
506
+ modelValue: { default: null },
507
+ modelModifiers: {}
508
+ }),
509
+ emits: ["update:modelValue"],
510
+ setup(e) {
511
+ const a = e, t = he(e, "modelValue"), n = (ze - oe) / 2, l = Pe(), u = K("scroller"), o = Qe("(prefers-reduced-motion: reduce)"), r = x(() => t.value === null ? -1 : a.values.indexOf(t.value)), s = I(Math.max(0, r.value));
512
+ let d;
513
+ const v = (i) => String(i).padStart(2, "0"), g = (i) => `${l}-${i}`;
514
+ function _(i) {
515
+ i !== void 0 && (t.value = i);
516
+ }
517
+ function D(i) {
518
+ const V = a.values.length - 1, m = r.value, T = {
519
+ ArrowDown: m < 0 ? 0 : Math.min(V, m + 1),
520
+ ArrowUp: m < 0 ? 0 : Math.max(0, m - 1),
521
+ PageDown: m < 0 ? 0 : Math.min(V, m + 5),
522
+ PageUp: m < 0 ? 0 : Math.max(0, m - 5),
523
+ Home: 0,
524
+ End: V
525
+ }[i.key];
526
+ T !== void 0 && (i.preventDefault(), _(a.values[T]));
527
+ }
528
+ function M(i) {
529
+ _(i);
530
+ }
531
+ function Y(i, V) {
532
+ const m = u.value;
533
+ if (!m || i < 0 || typeof m.scrollTo != "function") return;
534
+ const C = V || o.value ? "instant" : "smooth";
535
+ if (a.variant === "wheel") {
536
+ Math.abs(m.scrollTop - i * oe) > 1 && m.scrollTo({ top: i * oe, behavior: C });
537
+ return;
538
+ }
539
+ const T = m.querySelector(`[data-value="${a.values[i]}"]`);
540
+ if (!T) return;
541
+ const F = T.offsetTop - (m.clientHeight - T.offsetHeight) / 2;
542
+ m.scrollTo({ top: Math.max(0, F), behavior: C });
543
+ }
544
+ function w() {
545
+ const i = u.value;
546
+ a.variant !== "wheel" || !i || (s.value = Math.min(a.values.length - 1, Math.max(0, Math.round(i.scrollTop / oe))), clearTimeout(d), d = setTimeout(() => {
547
+ const V = a.values[s.value];
548
+ V !== void 0 && V !== t.value && (t.value = V);
549
+ }, 90));
550
+ }
551
+ Re(() => void ve(() => Y(r.value, !0))), We(() => clearTimeout(d)), pe(r, (i) => {
552
+ s.value = Math.max(0, i), Y(i, !1);
553
+ });
554
+ const $ = (i) => Math.abs(i - s.value), h = (i) => $(i) === 0 ? "text-[22px] font-semibold text-content-strong" : $(i) === 1 ? "text-[19px] text-content-muted" : "text-base text-content-disabled";
555
+ return (i, V) => a.variant === "list" ? (f(), p("div", {
556
+ key: 0,
557
+ ref_key: "scroller",
558
+ ref: u,
559
+ role: "listbox",
560
+ tabindex: "0",
561
+ "aria-label": a.label,
562
+ "aria-activedescendant": r.value >= 0 ? g(a.values[r.value]) : void 0,
563
+ class: "relative flex min-w-0 grow flex-col gap-0.5 overflow-y-auto rounded-control [scrollbar-width:none] focus-visible:outline-2 focus-visible:outline-border-focus [&::-webkit-scrollbar]:hidden",
564
+ onKeydown: D
565
+ }, [
566
+ (f(!0), p(O, null, R(a.values, (m) => (f(), p("div", {
567
+ id: g(m),
568
+ key: m,
569
+ role: "option",
570
+ "aria-selected": m === t.value,
571
+ "data-value": m,
572
+ class: N(["flex min-h-6.5 shrink-0 cursor-pointer items-center justify-center rounded-md text-body tabular-nums transition-colors duration-motion-fast", m === t.value ? "bg-tint font-semibold text-content-on-tint" : "text-content-strong hover:bg-fill"]),
573
+ onClick: (C) => M(m)
574
+ }, U(v(m)), 11, Ft))), 128))
575
+ ], 40, jt)) : (f(), p("div", {
576
+ key: 1,
577
+ ref_key: "scroller",
578
+ ref: u,
579
+ role: "listbox",
580
+ tabindex: "0",
581
+ "aria-label": a.label,
582
+ "aria-activedescendant": r.value >= 0 ? g(a.values[r.value]) : void 0,
583
+ class: "relative w-16 snap-y snap-mandatory overflow-y-auto overscroll-contain rounded-control [scrollbar-width:none] focus-visible:outline-2 focus-visible:outline-border-focus [&::-webkit-scrollbar]:hidden",
584
+ style: de({ height: `${ze}px` }),
585
+ onScrollPassive: w,
586
+ onKeydown: D
587
+ }, [
588
+ y("div", {
589
+ style: de({ height: `${n}px` }),
590
+ "aria-hidden": "true"
591
+ }, null, 4),
592
+ (f(!0), p(O, null, R(a.values, (m, C) => (f(), p("div", {
593
+ id: g(m),
594
+ key: m,
595
+ role: "option",
596
+ "aria-selected": m === t.value,
597
+ "data-value": m,
598
+ class: N(["flex cursor-pointer snap-center items-center justify-center tabular-nums", h(C)]),
599
+ style: de({ height: `${oe}px` }),
600
+ onClick: (T) => M(m)
601
+ }, U(v(m)), 15, Bt))), 128)),
602
+ y("div", {
603
+ style: de({ height: `${n}px` }),
604
+ "aria-hidden": "true"
605
+ }, null, 4)
606
+ ], 44, qt));
607
+ }
608
+ }), Rt = {
609
+ key: 0,
610
+ class: "flex h-49 gap-1.5",
611
+ "data-test": "time-columns"
612
+ }, Wt = {
613
+ key: 1,
614
+ class: "relative flex items-center justify-center gap-1",
615
+ "data-test": "time-columns"
616
+ }, Ht = /* @__PURE__ */ G({
617
+ __name: "TimeColumns",
618
+ props: /* @__PURE__ */ ye({
619
+ step: { default: 1 },
620
+ variant: { default: "list" }
621
+ }, {
622
+ modelValue: { default: null },
623
+ modelModifiers: {}
624
+ }),
625
+ emits: ["update:modelValue"],
626
+ setup(e) {
627
+ const a = e, t = he(e, "modelValue"), { t: n } = W(), l = x(() => Fe(t.value)), u = x(() => At(a.step)), o = x({
628
+ get: () => l.value?.hour ?? null,
629
+ set: (s) => {
630
+ s !== null && (t.value = ie(s, l.value?.minute ?? 0));
631
+ }
632
+ }), r = x({
633
+ get: () => l.value?.minute ?? null,
634
+ set: (s) => {
635
+ s !== null && (t.value = ie(l.value?.hour ?? 0, s));
636
+ }
637
+ });
638
+ return (s, d) => a.variant === "list" ? (f(), p("div", Rt, [
639
+ S(fe, {
640
+ modelValue: o.value,
641
+ "onUpdate:modelValue": d[0] || (d[0] = (v) => o.value = v),
642
+ values: c(Se),
643
+ label: c(n)("core.form.time.hour")
644
+ }, null, 8, ["modelValue", "values", "label"]),
645
+ S(fe, {
646
+ modelValue: r.value,
647
+ "onUpdate:modelValue": d[1] || (d[1] = (v) => r.value = v),
648
+ values: u.value,
649
+ label: c(n)("core.form.time.minute")
650
+ }, null, 8, ["modelValue", "values", "label"])
651
+ ])) : (f(), p("div", Wt, [
652
+ d[4] || (d[4] = y("div", {
653
+ class: "pointer-events-none absolute inset-x-0 h-9 rounded-lg bg-fill",
654
+ "aria-hidden": "true"
655
+ }, null, -1)),
656
+ S(fe, {
657
+ modelValue: o.value,
658
+ "onUpdate:modelValue": d[2] || (d[2] = (v) => o.value = v),
659
+ values: c(Se),
660
+ label: c(n)("core.form.time.hour"),
661
+ variant: "wheel",
662
+ class: "relative"
663
+ }, null, 8, ["modelValue", "values", "label"]),
664
+ d[5] || (d[5] = y("span", {
665
+ class: "relative text-[22px] font-semibold",
666
+ "aria-hidden": "true"
667
+ }, ":", -1)),
668
+ S(fe, {
669
+ modelValue: r.value,
670
+ "onUpdate:modelValue": d[3] || (d[3] = (v) => r.value = v),
671
+ values: u.value,
672
+ label: c(n)("core.form.time.minute"),
673
+ variant: "wheel",
674
+ class: "relative"
675
+ }, null, 8, ["modelValue", "values", "label"])
676
+ ]));
677
+ }
678
+ }), Kt = { class: "flex min-h-bar-height items-center gap-2 px-4 pb-1" }, Qt = ["disabled"], Gt = ["id"], Zt = {
679
+ class: "flex flex-col gap-3.5",
680
+ "data-test": "date-picker-sheet"
681
+ }, Jt = {
682
+ key: 1,
683
+ class: "rounded-group bg-surface-cell p-2.5 shadow-group"
684
+ }, Xt = {
685
+ key: 2,
686
+ class: "flex items-center gap-2 rounded-group bg-surface-cell px-4 py-2 shadow-group"
687
+ }, ea = {
688
+ key: 0,
689
+ class: "w-22 shrink-0 text-body"
690
+ }, ta = { class: "flex grow justify-center" }, aa = {
691
+ class: "min-h-5 text-center text-subheadline text-content-muted",
692
+ "aria-live": "polite"
693
+ }, na = /* @__PURE__ */ G({
694
+ __name: "DatePickerSheet",
695
+ props: {
696
+ title: {},
697
+ mode: {},
698
+ modelValue: { default: null },
699
+ min: { default: null },
700
+ max: { default: null },
701
+ disabledDates: { type: [Array, Function], default: void 0 },
702
+ openOn: { default: null },
703
+ shortcuts: { default: () => [] },
704
+ step: { default: 1 },
705
+ clearable: { type: Boolean, default: !0 }
706
+ },
707
+ emits: ["update:modelValue"],
708
+ setup(e, { expose: a, emit: t }) {
709
+ const n = e, l = t, { t: u } = W(), o = xe(), r = K("sheet"), s = x(() => n.mode !== "time"), d = x(() => n.mode !== "date"), v = I(null), g = I(null);
710
+ function _() {
711
+ const i = n.mode === "time" ? { day: null, time: n.modelValue } : n.mode === "date" ? { day: n.modelValue, time: null } : Et(n.modelValue);
712
+ v.value = re(i.day) ? i.day : null, g.value = d.value ? i.time ?? Ue(n.step) : null, r.value?.present();
713
+ }
714
+ function D() {
715
+ return n.mode === "time" ? g.value : v.value ? n.mode === "date" ? v.value : It(v.value, g.value ?? Ue(n.step)) : null;
716
+ }
717
+ function M() {
718
+ l("update:modelValue", D()), r.value?.dismiss();
719
+ }
720
+ function Y() {
721
+ l("update:modelValue", null), r.value?.dismiss();
722
+ }
723
+ function w(i) {
724
+ n.mode === "time" ? g.value = i : v.value = i;
725
+ }
726
+ function $(i) {
727
+ g.value = i, s.value && !v.value && (v.value = Q());
728
+ }
729
+ const h = x(() => {
730
+ const i = (V) => {
731
+ const m = te(V), C = new Intl.DateTimeFormat(o.locale, { dateStyle: "full", timeZone: "UTC" }).format(new Date(Date.UTC(m.year, m.month - 1, m.day)));
732
+ return C.charAt(0).toLocaleUpperCase(o.locale) + C.slice(1);
733
+ };
734
+ return n.mode === "time" ? g.value ?? "" : v.value ? n.mode === "date" || !g.value ? i(v.value) : u("core.form.time.at", { date: i(v.value), time: g.value }) : "";
735
+ });
736
+ return a({ present: _, dismiss: () => r.value?.dismiss() }), (i, V) => (f(), se(at, {
737
+ ref_key: "sheet",
738
+ ref: r,
739
+ title: n.title,
740
+ grouped: ""
741
+ }, {
742
+ header: X(({ titleId: m }) => [
743
+ y("div", Kt, [
744
+ y("button", {
745
+ type: "button",
746
+ disabled: !n.clearable,
747
+ class: "min-w-16 cursor-pointer py-1.5 text-start text-headline text-content-link focus-visible:outline-2 focus-visible:outline-border-focus disabled:cursor-default disabled:text-content-disabled",
748
+ onClick: Y
749
+ }, U(c(u)("core.form.select.clear")), 9, Qt),
750
+ y("h3", {
751
+ id: m,
752
+ class: "min-w-0 grow truncate text-center text-headline font-semibold"
753
+ }, U(n.title), 9, Gt),
754
+ y("button", {
755
+ type: "button",
756
+ class: "min-w-16 cursor-pointer py-1.5 text-end text-headline font-semibold text-content-link focus-visible:outline-2 focus-visible:outline-border-focus",
757
+ onClick: M
758
+ }, U(c(u)("core.form.select.done")), 1)
759
+ ])
760
+ ]),
761
+ default: X(() => [
762
+ y("div", Zt, [
763
+ n.shortcuts.length > 0 ? (f(), se(je, {
764
+ key: 0,
765
+ variant: "sheet",
766
+ items: n.shortcuts,
767
+ selected: n.mode === "time" ? g.value : v.value,
768
+ onPick: w
769
+ }, null, 8, ["items", "selected"])) : B("", !0),
770
+ s.value ? (f(), p("div", Jt, [
771
+ S(Ee, {
772
+ modelValue: v.value,
773
+ "onUpdate:modelValue": V[0] || (V[0] = (m) => v.value = m),
774
+ size: "touch",
775
+ min: n.min,
776
+ max: n.max,
777
+ "disabled-dates": n.disabledDates,
778
+ "open-on": n.openOn
779
+ }, null, 8, ["modelValue", "min", "max", "disabled-dates", "open-on"])
780
+ ])) : B("", !0),
781
+ d.value ? (f(), p("div", Xt, [
782
+ s.value ? (f(), p("p", ea, U(c(u)("core.form.time.label")), 1)) : B("", !0),
783
+ y("div", ta, [
784
+ S(Ht, {
785
+ "model-value": g.value,
786
+ variant: "wheel",
787
+ step: n.step,
788
+ "onUpdate:modelValue": $
789
+ }, null, 8, ["model-value", "step"])
790
+ ])
791
+ ])) : B("", !0),
792
+ y("p", aa, U(h.value), 1)
793
+ ])
794
+ ]),
795
+ _: 1
796
+ }, 8, ["title"]));
797
+ }
798
+ }), la = ["d", "m", "y"];
799
+ function oa(e) {
800
+ const a = e("2033-11-22"), t = { y: a.indexOf("2033") >= 0 ? a.indexOf("2033") : a.indexOf("33"), m: a.indexOf("11"), d: a.indexOf("22") };
801
+ return t.y < 0 || t.m < 0 || t.d < 0 ? la : ["d", "m", "y"].sort((n, l) => t[n] - t[l]);
802
+ }
803
+ const ra = (e) => e.trim().toLowerCase().replace(/\.+$/, "");
804
+ function sa(e, a) {
805
+ if (e.length === 4) return Number(e);
806
+ if (e.length > 2) return null;
807
+ const t = 2e3 + Number(e);
808
+ return t > Number(a.slice(0, 4)) + 30 ? t - 100 : t;
809
+ }
810
+ function J(e, a) {
811
+ const t = e.y === void 0 ? Number(a.slice(0, 4)) : sa(e.y, a), n = e.m === void 0 ? Number(a.slice(5, 7)) : Number(e.m);
812
+ return t === null || e.d === void 0 ? null : j(t, n, Number(e.d));
813
+ }
814
+ function ia(e, a) {
815
+ const t = a.today ?? Q(), n = ra(e);
816
+ if (n === "") return null;
817
+ const { words: l } = a;
818
+ if (l.today.includes(n)) return t;
819
+ if (l.tomorrow.includes(n)) return L(t, 1);
820
+ if (l.yesterday.includes(n)) return L(t, -1);
821
+ const u = /^([+-])\s*(\d{1,4})$/.exec(n);
822
+ if (u) return L(t, Number(u[2]) * (u[1] === "-" ? -1 : 1));
823
+ const o = /^(\d{4})-(\d{1,2})-(\d{1,2})$/.exec(n);
824
+ if (o) return j(Number(o[1]), Number(o[2]), Number(o[3]));
825
+ if (!/^[\d\s./-]+$/.test(n)) return null;
826
+ const r = a.order, s = r.filter((v) => v !== "y");
827
+ if (/^\d+$/.test(n)) {
828
+ if (n.length <= 2) return J({ d: n }, t);
829
+ if (n.length === 4) return J(_e(s, [n.slice(0, 2), n.slice(2)]), t);
830
+ if (n.length === 6 || n.length === 8) {
831
+ const v = r.map((D) => D === "y" ? n.length - 4 : 2);
832
+ let g = 0;
833
+ const _ = r.map((D, M) => [D, n.slice(g, g += v[M])]);
834
+ return J(Object.fromEntries(_), t);
835
+ }
836
+ return null;
837
+ }
838
+ const d = n.split(/[^\d]+/).filter(Boolean);
839
+ return d.length === 3 ? J(_e(r, d), t) : d.length === 2 ? J(_e(s, d), t) : d.length === 1 ? J({ d: d[0] }, t) : null;
840
+ }
841
+ function _e(e, a) {
842
+ return Object.fromEntries(e.map((t, n) => [t, a[n]]));
843
+ }
844
+ function za(e) {
845
+ const a = e.trim().replace(/^(\d{4}-\d{2}-\d{2})T/, "$1 ").split(/\s+/).filter(Boolean), t = a[a.length - 1];
846
+ if (t === void 0) return { date: null, time: null };
847
+ if (!(t.includes(":") || a.length > 1 && /^\d{1,2}\.\d{2}$/.test(t))) return { date: a.join(" "), time: null };
848
+ const l = a.slice(0, -1).join(" ");
849
+ return { date: l === "" ? null : l, time: t };
850
+ }
851
+ function ua(e, a, t) {
852
+ const n = e(t), l = /\D+/.exec(n)?.[0].trim() ?? ".", u = /\D+$/.test(n) ? l : "", o = { d: String(Number(t.slice(8))), m: String(Number(t.slice(5, 7))), y: "" };
853
+ return a.filter((r) => r !== "y").map((r) => o[r]).join(l) + u;
854
+ }
855
+ function da(e) {
856
+ const { t: a } = W(), t = xe(), n = (r) => t.date(r), l = x(() => oa(n)), u = x(() => ({
857
+ today: [a("core.form.date.words.today").toLowerCase(), "today"],
858
+ tomorrow: [a("core.form.date.words.tomorrow").toLowerCase(), "tomorrow"],
859
+ yesterday: [a("core.form.date.words.yesterday").toLowerCase(), "yesterday"]
860
+ }));
861
+ return {
862
+ placeholder: x(() => a("core.form.date.placeholder", { example: ua(n, l.value, Q()) })),
863
+ /** The day a text means, or null. */
864
+ parse: (r) => ia(r, { order: l.value, words: u.value }),
865
+ available: (r) => !Ce(r, e()),
866
+ invalidMessage: () => a("core.form.date.invalid", { example: n(Q()) }),
867
+ unavailableMessage: () => a("core.form.date.unavailable")
868
+ };
869
+ }
870
+ const ca = (e) => e ? ["today", "tomorrow", "next-working-day"] : ["today", "tomorrow", "week", "month-end"], La = ["now", "08:00", "12:00"], ma = {
871
+ today: (e) => e,
872
+ tomorrow: (e) => L(e, 1),
873
+ week: (e) => L(e, 7),
874
+ "month-end": (e) => be(e),
875
+ "next-working-day": (e) => it(e)
876
+ };
877
+ function fa(e, a, t) {
878
+ return typeof e == "string" ? { key: e, label: a(e), value: ma[e](t) } : { key: e.label, label: e.label, value: e.day(t) };
879
+ }
880
+ function Pa(e, a, t) {
881
+ return e === "now" ? { key: "now", label: a, value: t } : typeof e == "string" ? { key: e, label: `${Number(e.slice(0, 2))}${e.slice(2)}`, value: e } : { key: e.label, label: e.label, value: e.time() };
882
+ }
883
+ function va(e, a, t) {
884
+ const { t: n } = W();
885
+ return x(() => {
886
+ const l = Q();
887
+ return (e() ?? ca(a())).map((u) => {
888
+ const o = fa(u, (r) => n(`core.form.date.${r.replace(/-/g, "_")}`), l);
889
+ return { ...o, disabled: Ce(o.value, t()) };
890
+ });
891
+ });
892
+ }
893
+ function ba(e) {
894
+ const a = I(null), t = I(), n = x(() => a.value ?? (e.model.value ? e.display(e.model.value) : "")), l = x(() => {
895
+ if (a.value === null || a.value.trim() === "") return null;
896
+ const s = e.parse(a.value);
897
+ return "value" in s ? s.value : null;
898
+ });
899
+ function u(s) {
900
+ a.value = s, t.value = void 0;
901
+ }
902
+ function o(s) {
903
+ a.value = null, t.value = void 0, e.model.value = s;
904
+ }
905
+ function r() {
906
+ if (a.value === null) return;
907
+ if (a.value.trim() === "") return o(null);
908
+ const s = e.parse(a.value);
909
+ if ("error" in s) {
910
+ t.value = s.error, e.model.value !== null && (e.model.value = null);
911
+ return;
912
+ }
913
+ o(s.value);
914
+ }
915
+ return pe(e.model, (s) => {
916
+ s === null && t.value || (a.value = null, t.value = void 0);
917
+ }), { text: n, typed: l, message: t, input: u, commit: r, set: o };
918
+ }
919
+ const pa = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], ha = ["aria-label", "onClick"], ya = { class: "flex flex-col gap-2.5" }, xa = {
920
+ key: 0,
921
+ class: "border-t border-border-separator pt-2.5"
922
+ }, ga = { class: "text-footnote text-content-muted" }, Ya = /* @__PURE__ */ G({
923
+ __name: "DateField",
924
+ props: /* @__PURE__ */ ye(/* @__PURE__ */ He({
925
+ label: {},
926
+ hint: {},
927
+ error: {},
928
+ required: { type: Boolean },
929
+ editable: { type: Boolean },
930
+ disabled: { type: Boolean },
931
+ lockedReason: {},
932
+ presentation: {},
933
+ name: {},
934
+ min: {},
935
+ max: {},
936
+ disabledDates: { type: [Array, Function] },
937
+ openOn: {},
938
+ quickPicks: {}
939
+ }, { ...tt, min: void 0, max: void 0, disabledDates: void 0, openOn: void 0, quickPicks: void 0 }), {
940
+ modelValue: { default: null },
941
+ modelModifiers: {}
942
+ }),
943
+ emits: ["update:modelValue"],
944
+ setup(e, { expose: a }) {
945
+ const t = e, n = he(e, "modelValue"), { t: l } = W(), u = xe(), o = Ge(), r = K("input"), s = K("popover"), d = K("calendar"), v = K("sheet"), g = x(() => ({ min: t.min, max: t.max, disabled: t.disabledDates })), _ = da(() => g.value), D = ba({
946
+ model: n,
947
+ display: (C) => u.date(C),
948
+ parse: (C) => {
949
+ const T = _.parse(C);
950
+ return T ? _.available(T) ? { value: T } : { error: _.unavailableMessage() } : { error: _.invalidMessage() };
951
+ }
952
+ }), M = va(() => t.quickPicks, () => o.value, () => g.value), Y = x(() => t.error || D.message.value), w = x(() => n.value ? u.date(n.value) : null), $ = Je("date", () => Y.value ? "error" : t.disabled ? "locked" : "rest"), h = x(() => D.typed.value ?? (re(n.value) ? n.value : null));
953
+ async function i(C) {
954
+ t.disabled || (s.value?.present(), C && (await ve(), await ve(), d.value?.focus()));
955
+ }
956
+ function V(C) {
957
+ C.key === "Enter" ? (D.commit(), s.value?.dismiss()) : C.key === "ArrowDown" && (C.preventDefault(), i(!0));
958
+ }
959
+ function m(C, T) {
960
+ D.set(C), T();
961
+ }
962
+ return a({ focus: () => r.value?.focus() }), (C, T) => (f(), se(Xe, we({ ...c(et)(t), error: Y.value }, {
963
+ value: w.value,
964
+ "value-style": "numeric"
965
+ }), {
966
+ default: X(({ id: F, describedby: ne, invalid: ue }) => [
967
+ c(o) ? (f(), p(O, { key: 0 }, [
968
+ S(Ke, we({ id: F, "aria-describedby": ne }, {
969
+ disabled: t.disabled,
970
+ invalid: ue,
971
+ placeholder: c(l)("core.form.select.choose"),
972
+ onClick: T[0] || (T[0] = (q) => v.value?.present())
973
+ }), {
974
+ default: X(() => [
975
+ w.value ? (f(), p(O, { key: 0 }, [
976
+ Le(U(w.value), 1)
977
+ ], 64)) : B("", !0)
978
+ ]),
979
+ _: 1
980
+ }, 16, ["disabled", "invalid", "placeholder"]),
981
+ S(na, {
982
+ ref_key: "sheet",
983
+ ref: v,
984
+ title: t.label ?? c(l)("core.form.date.calendar"),
985
+ mode: "date",
986
+ "model-value": n.value,
987
+ min: t.min,
988
+ max: t.max,
989
+ "disabled-dates": t.disabledDates,
990
+ "open-on": t.openOn,
991
+ shortcuts: c(M),
992
+ clearable: !t.required,
993
+ "onUpdate:modelValue": c(D).set
994
+ }, null, 8, ["title", "model-value", "min", "max", "disabled-dates", "open-on", "shortcuts", "clearable", "onUpdate:modelValue"])
995
+ ], 64)) : (f(), se(Ze, {
996
+ key: 1,
997
+ ref_key: "popover",
998
+ ref: s,
999
+ label: t.label ?? c(l)("core.form.date.calendar"),
1000
+ width: "lg",
1001
+ placement: "bottom-start",
1002
+ arrow: !1,
1003
+ autofocus: !1
1004
+ }, {
1005
+ trigger: X(({ attrs: q, presented: H }) => [
1006
+ y("div", {
1007
+ class: N(["inline-flex max-w-full items-center gap-2", c($)])
1008
+ }, [
1009
+ y("input", we({
1010
+ id: F,
1011
+ ref_key: "input",
1012
+ ref: r
1013
+ }, q, {
1014
+ type: "text",
1015
+ role: "combobox",
1016
+ autocomplete: "off",
1017
+ size: "16",
1018
+ name: t.name,
1019
+ value: c(D).text.value,
1020
+ placeholder: c(_).placeholder.value,
1021
+ disabled: t.disabled,
1022
+ required: t.required,
1023
+ "aria-required": t.required || void 0,
1024
+ "aria-invalid": ue || void 0,
1025
+ "aria-describedby": ne,
1026
+ class: "block min-h-7 min-w-0 border-0 bg-transparent py-1 pl-2.5 text-body tabular-nums text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
1027
+ onInput: T[1] || (T[1] = (Z) => c(D).input(Z.target.value)),
1028
+ onBlur: T[2] || (T[2] = (Z) => c(D).commit()),
1029
+ onKeydown: V,
1030
+ onClick: T[3] || (T[3] = (Z) => i(!1))
1031
+ }), null, 16, pa),
1032
+ t.disabled ? B("", !0) : (f(), p("button", {
1033
+ key: 0,
1034
+ type: "button",
1035
+ tabindex: "-1",
1036
+ "aria-label": c(l)("core.form.date.open"),
1037
+ class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
1038
+ onClick: (Z) => H ? s.value?.dismiss() : i(!0)
1039
+ }, [
1040
+ S(c(E), {
1041
+ name: "calendarLine",
1042
+ size: 18
1043
+ })
1044
+ ], 8, ha))
1045
+ ], 2)
1046
+ ]),
1047
+ default: X(({ dismiss: q }) => [
1048
+ y("div", ya, [
1049
+ S(Ee, {
1050
+ ref_key: "calendar",
1051
+ ref: d,
1052
+ "model-value": h.value,
1053
+ min: t.min,
1054
+ max: t.max,
1055
+ "disabled-dates": t.disabledDates,
1056
+ "open-on": t.openOn,
1057
+ "month-picker": "",
1058
+ "onUpdate:modelValue": (H) => m(H, q)
1059
+ }, null, 8, ["model-value", "min", "max", "disabled-dates", "open-on", "onUpdate:modelValue"]),
1060
+ c(M).length > 0 ? (f(), p("div", xa, [
1061
+ S(je, {
1062
+ items: c(M),
1063
+ selected: h.value,
1064
+ onPick: (H) => m(H, q)
1065
+ }, null, 8, ["items", "selected", "onPick"])
1066
+ ])) : B("", !0),
1067
+ y("p", ga, U(c(l)("core.form.date.keys")), 1)
1068
+ ])
1069
+ ]),
1070
+ _: 2
1071
+ }, 1032, ["label"]))
1072
+ ]),
1073
+ _: 1
1074
+ }, 16, ["value"]));
1075
+ }
1076
+ });
1077
+ export {
1078
+ Ya as _,
1079
+ ba as a,
1080
+ Q as b,
1081
+ va as c,
1082
+ La as d,
1083
+ re as e,
1084
+ na as f,
1085
+ Ee as g,
1086
+ je as h,
1087
+ Sa as i,
1088
+ It as j,
1089
+ Ht as k,
1090
+ za as l,
1091
+ Ce as m,
1092
+ Ct as n,
1093
+ Fe as o,
1094
+ Ua as p,
1095
+ Pa as r,
1096
+ Et as s,
1097
+ Ue as t,
1098
+ da as u
1099
+ };