maz-ui 4.0.0-alpha.3 → 4.0.0-alpha.5

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 (802) hide show
  1. package/dist/assets/{CountrySelector.Cnqbl3xF.css → CountrySelector.BQiHy60b.css} +1 -1
  2. package/dist/assets/{MazAccordion.DaqF3ZAX.css → MazAccordion.BE-38uDK.css} +1 -1
  3. package/dist/assets/{MazAnimatedCounter.DYYlw_wl.css → MazAnimatedCounter.ButbqlDb.css} +1 -1
  4. package/dist/assets/{MazAnimatedText.Dk4QO4xF.css → MazAnimatedText.BM3XYGO2.css} +1 -1
  5. package/dist/assets/{MazAvatar.L1UreldR.css → MazAvatar.udTL0S0c.css} +1 -1
  6. package/dist/assets/{MazBadge.RMWNkgZL.css → MazBadge.Cgfo0F7e.css} +1 -1
  7. package/dist/assets/{MazBottomSheet.Dqr-kpLb.css → MazBottomSheet.FbcAQBpM.css} +1 -1
  8. package/dist/assets/MazBtn.Bz7wwOFh.css +1 -0
  9. package/dist/assets/{MazCard.Cod9pIM4.css → MazCard.BayiNvpH.css} +1 -1
  10. package/dist/assets/{MazCardSpotlight.DuZac0w4.css → MazCardSpotlight.Y7PEY9QV.css} +1 -1
  11. package/dist/assets/{MazCarousel.BQIrqJ8T.css → MazCarousel.CB32PQvq.css} +1 -1
  12. package/dist/assets/{MazCheckbox.BQVJ7EUB.css → MazCheckbox.5EI5lIDK.css} +1 -1
  13. package/dist/assets/{MazChecklist.5ArDAEhG.css → MazChecklist.BGnIiTsI.css} +1 -1
  14. package/dist/assets/{MazCircularProgressBar.DywLXEfR.css → MazCircularProgressBar.0-JvCHgE.css} +1 -1
  15. package/dist/assets/{MazDialog.BLzdH8aa.css → MazDialog.BJMxj6he.css} +1 -1
  16. package/dist/assets/{MazDrawer.Cu4KVc_z.css → MazDrawer.BqaLe_QM.css} +1 -1
  17. package/dist/assets/{MazFullscreenLoader.DTW_WUM6.css → MazFullscreenLoader.Dkg4LB9B.css} +1 -1
  18. package/dist/assets/MazGallery.BoPDBMcv.css +1 -0
  19. package/dist/assets/MazInput.DMFoUNTH.css +1 -0
  20. package/dist/assets/MazInputCode.C0rRpNFq.css +1 -0
  21. package/dist/assets/{MazInputPhoneNumber.DKac4ZYj.css → MazInputPhoneNumber.Ill3zwW5.css} +1 -1
  22. package/dist/assets/{MazInputTags.eygPFBJC.css → MazInputTags.ewDauXwM.css} +1 -1
  23. package/dist/assets/{MazLazyImg.BvztvWbf.css → MazLazyImg.B6kyFMu0.css} +1 -1
  24. package/dist/assets/MazLink.C905PoWd.css +1 -0
  25. package/dist/assets/MazLoadingBar.BVDaL2oq.css +1 -0
  26. package/dist/assets/{MazPagination.DSYY_yu7.css → MazPagination.DxqlYYDI.css} +1 -1
  27. package/dist/assets/MazPicker.oSzqOK82.css +1 -0
  28. package/dist/assets/{MazPickerCalendar.K1FbevcF.css → MazPickerCalendar.9hsvH81G.css} +1 -1
  29. package/dist/assets/MazPickerCalendarMonth.DoG1aIdE.css +1 -0
  30. package/dist/assets/{MazPickerCalendarSwitcher.23EFP_7Y.css → MazPickerCalendarSwitcher.Cwm0pn-f.css} +1 -1
  31. package/dist/assets/{MazPickerHeader.CfwpRnA1.css → MazPickerHeader.BH5Uy1iP.css} +1 -1
  32. package/dist/assets/{MazPickerMonthSwitcher.Cl1WlZpR.css → MazPickerMonthSwitcher.D9wXQnld.css} +1 -1
  33. package/dist/assets/{MazPickerShortcuts.B1ASAi7L.css → MazPickerShortcuts.CLZ4NUtN.css} +1 -1
  34. package/dist/assets/{MazPickerTime.5J3qaKGo.css → MazPickerTime.B-Ym15z4.css} +1 -1
  35. package/dist/assets/{MazPickerYearSwitcher.Bt0efux6.css → MazPickerYearSwitcher.9YqgG2Jv.css} +1 -1
  36. package/dist/assets/{MazPullToRefresh.BdvKaU9N.css → MazPullToRefresh.BSBm9qbV.css} +1 -1
  37. package/dist/assets/{MazRadio.zYTBn9Pj.css → MazRadio.OJL8pfy2.css} +1 -1
  38. package/dist/assets/{MazRadioButtons.CIq38oX6.css → MazRadioButtons.u111N9bH.css} +1 -1
  39. package/dist/assets/MazReadingProgressBar.CT2EjYkv.css +1 -0
  40. package/dist/assets/{MazSelect.CH_76PSg.css → MazSelect.DG-B1UJ6.css} +1 -1
  41. package/dist/assets/{MazSlider.D08gO9DD.css → MazSlider.KrU-f4K4.css} +1 -1
  42. package/dist/assets/MazSpinner.C2jmWJte.css +1 -0
  43. package/dist/assets/{MazStepper.BE3Mm9rm.css → MazStepper.CFdY5O1y.css} +1 -1
  44. package/dist/assets/MazTable.uvNQLDVh.css +1 -0
  45. package/dist/assets/MazTableCell.DCsBuRdY.css +1 -0
  46. package/dist/assets/MazTableRow.B4o1JJ00.css +1 -0
  47. package/dist/assets/MazTableTitle.CA6gYzgP.css +1 -0
  48. package/dist/assets/{MazTabsBar.-q3BbMXe.css → MazTabsBar.Bfij2njx.css} +1 -1
  49. package/dist/assets/{MazTabsContentItem.C0ygFU51.css → MazTabsContentItem.C9kvAsC7.css} +1 -1
  50. package/dist/assets/{MazTextarea.QTMu0OQv.css → MazTextarea.BML1BVBM.css} +1 -1
  51. package/dist/assets/PhoneInput.BBnKae_d.css +1 -0
  52. package/dist/assets/{fullscreen-img.hjNozahA.css → fullscreen-img.Dnt1uj_5.css} +1 -1
  53. package/dist/assets/{toaster.C9zhIkIO.css → toaster.BfTrtY6B.css} +1 -1
  54. package/dist/chunks/{CountrySelector.mFGaqpPf.cjs → CountrySelector.1nlVeBqW.cjs} +2 -2
  55. package/dist/chunks/CountrySelector.1nlVeBqW.cjs.map +1 -0
  56. package/dist/chunks/{CountrySelector.C5XZelLY.mjs → CountrySelector.qQCR0FE6.mjs} +14 -14
  57. package/dist/chunks/CountrySelector.qQCR0FE6.mjs.map +1 -0
  58. package/dist/chunks/MazDialogPromise.vue_vue_type_script_setup_true_lang.CS5GU9Q2.cjs.map +1 -1
  59. package/dist/chunks/MazDialogPromise.vue_vue_type_script_setup_true_lang.bPYjg0yY.mjs.map +1 -1
  60. package/dist/chunks/MazDropdown.vue_vue_type_script_setup_true_lang.B5kO0VJW.mjs.map +1 -1
  61. package/dist/chunks/MazDropdown.vue_vue_type_script_setup_true_lang.DLWmXVjB.cjs.map +1 -1
  62. package/dist/chunks/MazIcon.vue_vue_type_script_setup_true_lang.C5NwBerh.cjs.map +1 -1
  63. package/dist/chunks/MazIcon.vue_vue_type_script_setup_true_lang.CLoEj0Zf.mjs.map +1 -1
  64. package/dist/chunks/{MazInputNumber.vue_vue_type_script_setup_true_lang.DiawfWBC.cjs → MazInputNumber.vue_vue_type_script_setup_true_lang.BM2uHjda.cjs} +2 -2
  65. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.BM2uHjda.cjs.map +1 -0
  66. package/dist/chunks/{MazInputNumber.vue_vue_type_script_setup_true_lang.Bbod2mLd.mjs → MazInputNumber.vue_vue_type_script_setup_true_lang.CsH-SPhu.mjs} +5 -5
  67. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.CsH-SPhu.mjs.map +1 -0
  68. package/dist/chunks/{MazInputPhoneNumber.B173m1hd.mjs → MazInputPhoneNumber.BluSBPXE.mjs} +10 -10
  69. package/dist/chunks/{MazInputPhoneNumber.B173m1hd.mjs.map → MazInputPhoneNumber.BluSBPXE.mjs.map} +1 -1
  70. package/dist/chunks/{MazInputPhoneNumber.EZVh1Yx5.cjs → MazInputPhoneNumber.TorVuc9s.cjs} +2 -2
  71. package/dist/chunks/{MazInputPhoneNumber.EZVh1Yx5.cjs.map → MazInputPhoneNumber.TorVuc9s.cjs.map} +1 -1
  72. package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.C3X2lwRl.mjs → MazInputPrice.vue_vue_type_script_setup_true_lang.C873_Haj.mjs} +5 -5
  73. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.C873_Haj.mjs.map +1 -0
  74. package/dist/chunks/{MazInputPrice.vue_vue_type_script_setup_true_lang.CCatmP_L.cjs → MazInputPrice.vue_vue_type_script_setup_true_lang.Ovh3fdmh.cjs} +2 -2
  75. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.Ovh3fdmh.cjs.map +1 -0
  76. package/dist/chunks/{MazPicker.BZE8cw36.cjs → MazPicker.D2ra6fVy.cjs} +2 -2
  77. package/dist/chunks/MazPicker.D2ra6fVy.cjs.map +1 -0
  78. package/dist/chunks/{MazPicker.DCnOkRvv.mjs → MazPicker.hoqM5DbN.mjs} +20 -20
  79. package/dist/chunks/MazPicker.hoqM5DbN.mjs.map +1 -0
  80. package/dist/chunks/{MazPickerCalendar.NeYLrtl-.mjs → MazPickerCalendar.Ban3DAo1.mjs} +4 -4
  81. package/dist/chunks/MazPickerCalendar.Ban3DAo1.mjs.map +1 -0
  82. package/dist/chunks/{MazPickerCalendar.CVZ8VoYr.cjs → MazPickerCalendar.CEJcAKlj.cjs} +2 -2
  83. package/dist/chunks/MazPickerCalendar.CEJcAKlj.cjs.map +1 -0
  84. package/dist/chunks/{MazPickerCalendarMonth.rnaiDHFM.mjs → MazPickerCalendarMonth.D4Ink4If.mjs} +14 -14
  85. package/dist/chunks/MazPickerCalendarMonth.D4Ink4If.mjs.map +1 -0
  86. package/dist/chunks/{MazPickerCalendarMonth.DpvQC45k.cjs → MazPickerCalendarMonth.DBDcSR1B.cjs} +2 -2
  87. package/dist/chunks/MazPickerCalendarMonth.DBDcSR1B.cjs.map +1 -0
  88. package/dist/chunks/{MazPickerCalendarSwitcher.DC2wff_J.cjs → MazPickerCalendarSwitcher.CyjRYcya.cjs} +2 -2
  89. package/dist/chunks/MazPickerCalendarSwitcher.CyjRYcya.cjs.map +1 -0
  90. package/dist/chunks/{MazPickerCalendarSwitcher.DFGrD6Cr.mjs → MazPickerCalendarSwitcher.DTDyFG7S.mjs} +19 -19
  91. package/dist/chunks/MazPickerCalendarSwitcher.DTDyFG7S.mjs.map +1 -0
  92. package/dist/chunks/{MazPickerHeader.B7YY9SJI.mjs → MazPickerHeader.C1asX8dz.mjs} +8 -8
  93. package/dist/chunks/MazPickerHeader.C1asX8dz.mjs.map +1 -0
  94. package/dist/chunks/{MazPickerHeader.l7NcmiGH.cjs → MazPickerHeader.COT92ysE.cjs} +2 -2
  95. package/dist/chunks/MazPickerHeader.COT92ysE.cjs.map +1 -0
  96. package/dist/chunks/{MazPickerMonthSwitcher.CbplWFfL.cjs → MazPickerMonthSwitcher.Cw82Rq9C.cjs} +2 -2
  97. package/dist/chunks/MazPickerMonthSwitcher.Cw82Rq9C.cjs.map +1 -0
  98. package/dist/chunks/{MazPickerMonthSwitcher.CAPx3PCt.mjs → MazPickerMonthSwitcher.jPGBQm-N.mjs} +9 -9
  99. package/dist/chunks/MazPickerMonthSwitcher.jPGBQm-N.mjs.map +1 -0
  100. package/dist/chunks/{MazPickerShortcuts.Bawm0q33.mjs → MazPickerShortcuts.Dvs1sJMi.mjs} +3 -3
  101. package/dist/chunks/MazPickerShortcuts.Dvs1sJMi.mjs.map +1 -0
  102. package/dist/chunks/{MazPickerShortcuts.LxFs0Y6N.cjs → MazPickerShortcuts.GUfnNHPI.cjs} +2 -2
  103. package/dist/chunks/MazPickerShortcuts.GUfnNHPI.cjs.map +1 -0
  104. package/dist/chunks/{MazPickerTime.C27aFPPw.mjs → MazPickerTime.C1LitEcr.mjs} +5 -5
  105. package/dist/chunks/MazPickerTime.C1LitEcr.mjs.map +1 -0
  106. package/dist/chunks/{MazPickerTime.7cxq-Qac.cjs → MazPickerTime.wlOm39gv.cjs} +2 -2
  107. package/dist/chunks/MazPickerTime.wlOm39gv.cjs.map +1 -0
  108. package/dist/chunks/{MazPickerYearSwitcher.Dku2IMIJ.cjs → MazPickerYearSwitcher.CPREj35R.cjs} +2 -2
  109. package/dist/chunks/MazPickerYearSwitcher.CPREj35R.cjs.map +1 -0
  110. package/dist/chunks/{MazPickerYearSwitcher.DMBOaMYy.mjs → MazPickerYearSwitcher.D_onf-0L.mjs} +17 -17
  111. package/dist/chunks/MazPickerYearSwitcher.D_onf-0L.mjs.map +1 -0
  112. package/dist/chunks/MazSwitch.vue_vue_type_script_setup_true_lang.C74s_H37.cjs.map +1 -1
  113. package/dist/chunks/MazSwitch.vue_vue_type_script_setup_true_lang.jyNV3g3U.mjs.map +1 -1
  114. package/dist/chunks/{MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Ctmf2NVE.cjs → MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.BnCH1CvT.cjs} +2 -2
  115. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.BnCH1CvT.cjs.map +1 -0
  116. package/dist/chunks/{MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Dwkx-V96.mjs → MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.Dj2OkfOV.mjs} +4 -4
  117. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_cd8655c9_lang.Dj2OkfOV.mjs.map +1 -0
  118. package/dist/chunks/MazTabsContent.vue_vue_type_script_setup_true_lang.BGqO0ynq.mjs.map +1 -1
  119. package/dist/chunks/MazTabsContent.vue_vue_type_script_setup_true_lang.DariT_zv.cjs.map +1 -1
  120. package/dist/chunks/{PhoneInput.9GQJbL9x.mjs → PhoneInput.DYm0yzgy.mjs} +11 -11
  121. package/dist/chunks/PhoneInput.DYm0yzgy.mjs.map +1 -0
  122. package/dist/chunks/{PhoneInput.D5DG4S60.cjs → PhoneInput.wXP8tsCy.cjs} +2 -2
  123. package/dist/chunks/PhoneInput.wXP8tsCy.cjs.map +1 -0
  124. package/dist/chunks/arrow-top-right-on-square.PZtr8Zs0.cjs.map +1 -1
  125. package/dist/chunks/arrow-top-right-on-square.wYk3YJI_.mjs.map +1 -1
  126. package/dist/chunks/arrow-up.CDxvryQT.cjs.map +1 -1
  127. package/dist/chunks/arrow-up.HdMpMK4c.mjs.map +1 -1
  128. package/dist/chunks/banknotes.CQ9Qxg-e.mjs.map +1 -1
  129. package/dist/chunks/banknotes.CdkS5KVY.cjs.map +1 -1
  130. package/dist/chunks/check-circle.D3i-p-t3.cjs.map +1 -1
  131. package/dist/chunks/check-circle.DhFkXzgc.mjs.map +1 -1
  132. package/dist/chunks/check.B-gxQRxL.mjs.map +1 -1
  133. package/dist/chunks/check._ETzZCli.cjs.map +1 -1
  134. package/dist/chunks/chevron-double-left.C1WkQBYN.mjs.map +1 -1
  135. package/dist/chunks/chevron-double-left.D2o-BlKu.cjs.map +1 -1
  136. package/dist/chunks/chevron-down.CWWH3GZ1.mjs.map +1 -1
  137. package/dist/chunks/chevron-down.DdnENkzR.cjs.map +1 -1
  138. package/dist/chunks/chevron-left.BYUi62el.cjs.map +1 -1
  139. package/dist/chunks/chevron-left.njfuF_Vt.mjs.map +1 -1
  140. package/dist/chunks/chevron-right.B0RH9GgM.cjs.map +1 -1
  141. package/dist/chunks/chevron-right.CEEKGU2c.mjs.map +1 -1
  142. package/dist/chunks/ellipsis-horizontal.BKw73_U9.mjs.map +1 -1
  143. package/dist/chunks/ellipsis-horizontal.C28slEaT.cjs.map +1 -1
  144. package/dist/chunks/exclamation-circle.BXs0Yj0f.cjs.map +1 -1
  145. package/dist/chunks/exclamation-circle.D4z1YE7G.mjs.map +1 -1
  146. package/dist/chunks/exclamation-triangle.BtW3be9S.cjs.map +1 -1
  147. package/dist/chunks/exclamation-triangle.DiZZcE2l.mjs.map +1 -1
  148. package/dist/chunks/eye-slash.BrQSe1kT.mjs.map +1 -1
  149. package/dist/chunks/eye-slash.C65GdgwJ.cjs.map +1 -1
  150. package/dist/chunks/eye.CzqaR8eU.cjs.map +1 -1
  151. package/dist/chunks/eye.yaEU50DN.mjs.map +1 -1
  152. package/dist/chunks/{fullscreen-img.directive.CrLLYi0D.mjs → fullscreen-img.directive.CEBhPyiD.mjs} +22 -22
  153. package/dist/chunks/fullscreen-img.directive.CEBhPyiD.mjs.map +1 -0
  154. package/dist/chunks/{fullscreen-img.directive.CeREtf7H.cjs → fullscreen-img.directive.CK-8DToy.cjs} +2 -2
  155. package/dist/chunks/fullscreen-img.directive.CK-8DToy.cjs.map +1 -0
  156. package/dist/chunks/information-circle.89FseEuJ.cjs.map +1 -1
  157. package/dist/chunks/information-circle.CEsJ8VHx.mjs.map +1 -1
  158. package/dist/chunks/lazy-img.directive.BeENE6S9.cjs.map +1 -1
  159. package/dist/chunks/lazy-img.directive.DqXA0UFo.mjs.map +1 -1
  160. package/dist/chunks/link.CUxj8BQ5.cjs.map +1 -1
  161. package/dist/chunks/link.qHT4E8pY.mjs.map +1 -1
  162. package/dist/chunks/magnifying-glass.6EkSEo-G.mjs.map +1 -1
  163. package/dist/chunks/magnifying-glass.CSf_M2wG.cjs.map +1 -1
  164. package/dist/chunks/minus.B8s20I4l.cjs.map +1 -1
  165. package/dist/chunks/minus.BHEyT7J2.mjs.map +1 -1
  166. package/dist/chunks/no-photography.B6pz0xMN.mjs.map +1 -1
  167. package/dist/chunks/no-photography.BJX8HSus.mjs.map +1 -1
  168. package/dist/chunks/no-photography.BPChQgKp.cjs.map +1 -1
  169. package/dist/chunks/no-photography.CLNgmzDi.cjs.map +1 -1
  170. package/dist/chunks/no-symbol.D1DeANDx.cjs.map +1 -1
  171. package/dist/chunks/no-symbol.DqVEpOgn.mjs.map +1 -1
  172. package/dist/chunks/pencil.Cl_0Egfc.mjs.map +1 -1
  173. package/dist/chunks/pencil.TIXFeSep.cjs.map +1 -1
  174. package/dist/chunks/plus.CNCGxFPJ.mjs.map +1 -1
  175. package/dist/chunks/plus.CbUgaWqj.cjs.map +1 -1
  176. package/dist/chunks/trash.hx3p13ce.cjs.map +1 -1
  177. package/dist/chunks/trash.lmwqE3cE.mjs.map +1 -1
  178. package/dist/chunks/{utils.Bex2hM45.mjs → utils.BxNCknPj.mjs} +11 -11
  179. package/dist/chunks/utils.BxNCknPj.mjs.map +1 -0
  180. package/dist/chunks/{utils.vGzCTXH5.cjs → utils.K864VNFX.cjs} +2 -2
  181. package/dist/chunks/utils.K864VNFX.cjs.map +1 -0
  182. package/dist/chunks/x-mark.DTWA3lfG.mjs.map +1 -1
  183. package/dist/chunks/x-mark.Dz-FO7Es.cjs.map +1 -1
  184. package/dist/components/MazAccordion.cjs +1 -1
  185. package/dist/components/MazAccordion.cjs.map +1 -1
  186. package/dist/components/MazAccordion.mjs +13 -13
  187. package/dist/components/MazAccordion.mjs.map +1 -1
  188. package/dist/components/MazAnimatedCounter.cjs +1 -1
  189. package/dist/components/MazAnimatedCounter.cjs.map +1 -1
  190. package/dist/components/MazAnimatedCounter.mjs +2 -2
  191. package/dist/components/MazAnimatedCounter.mjs.map +1 -1
  192. package/dist/components/MazAnimatedText.cjs +1 -1
  193. package/dist/components/MazAnimatedText.cjs.map +1 -1
  194. package/dist/components/MazAnimatedText.mjs +11 -11
  195. package/dist/components/MazAnimatedText.mjs.map +1 -1
  196. package/dist/components/MazAvatar.cjs +1 -1
  197. package/dist/components/MazAvatar.cjs.map +1 -1
  198. package/dist/components/MazAvatar.mjs +2 -2
  199. package/dist/components/MazAvatar.mjs.map +1 -1
  200. package/dist/components/MazBadge.cjs +1 -1
  201. package/dist/components/MazBadge.mjs +2 -2
  202. package/dist/components/MazBottomSheet.cjs +1 -1
  203. package/dist/components/MazBottomSheet.cjs.map +1 -1
  204. package/dist/components/MazBottomSheet.mjs +10 -10
  205. package/dist/components/MazBottomSheet.mjs.map +1 -1
  206. package/dist/components/MazBtn.cjs +1 -1
  207. package/dist/components/MazBtn.cjs.map +1 -1
  208. package/dist/components/MazBtn.mjs +2 -2
  209. package/dist/components/MazBtn.mjs.map +1 -1
  210. package/dist/components/MazCard.cjs +1 -1
  211. package/dist/components/MazCard.cjs.map +1 -1
  212. package/dist/components/MazCard.mjs +2 -2
  213. package/dist/components/MazCard.mjs.map +1 -1
  214. package/dist/components/MazCardSpotlight.cjs +1 -1
  215. package/dist/components/MazCardSpotlight.cjs.map +1 -1
  216. package/dist/components/MazCardSpotlight.mjs +2 -2
  217. package/dist/components/MazCardSpotlight.mjs.map +1 -1
  218. package/dist/components/MazCarousel.cjs +1 -1
  219. package/dist/components/MazCarousel.cjs.map +1 -1
  220. package/dist/components/MazCarousel.mjs +2 -2
  221. package/dist/components/MazCarousel.mjs.map +1 -1
  222. package/dist/components/MazCheckbox.cjs +1 -1
  223. package/dist/components/MazCheckbox.cjs.map +1 -1
  224. package/dist/components/MazCheckbox.mjs +6 -6
  225. package/dist/components/MazCheckbox.mjs.map +1 -1
  226. package/dist/components/MazChecklist.cjs +1 -1
  227. package/dist/components/MazChecklist.cjs.map +1 -1
  228. package/dist/components/MazChecklist.mjs +3 -3
  229. package/dist/components/MazChecklist.mjs.map +1 -1
  230. package/dist/components/MazCircularProgressBar.cjs +1 -1
  231. package/dist/components/MazCircularProgressBar.cjs.map +1 -1
  232. package/dist/components/MazCircularProgressBar.mjs +2 -2
  233. package/dist/components/MazCircularProgressBar.mjs.map +1 -1
  234. package/dist/components/MazDialog.cjs +1 -1
  235. package/dist/components/MazDialog.cjs.map +1 -1
  236. package/dist/components/MazDialog.mjs +2 -2
  237. package/dist/components/MazDialog.mjs.map +1 -1
  238. package/dist/components/MazDrawer.cjs +1 -1
  239. package/dist/components/MazDrawer.cjs.map +1 -1
  240. package/dist/components/MazDrawer.mjs +8 -8
  241. package/dist/components/MazDrawer.mjs.map +1 -1
  242. package/dist/components/MazDropzone.cjs.map +1 -1
  243. package/dist/components/MazDropzone.mjs.map +1 -1
  244. package/dist/components/MazFullscreenLoader.cjs +1 -1
  245. package/dist/components/MazFullscreenLoader.cjs.map +1 -1
  246. package/dist/components/MazFullscreenLoader.mjs +2 -2
  247. package/dist/components/MazFullscreenLoader.mjs.map +1 -1
  248. package/dist/components/MazGallery.cjs +1 -1
  249. package/dist/components/MazGallery.cjs.map +1 -1
  250. package/dist/components/MazGallery.mjs +3 -3
  251. package/dist/components/MazGallery.mjs.map +1 -1
  252. package/dist/components/MazInput.cjs +1 -1
  253. package/dist/components/MazInput.cjs.map +1 -1
  254. package/dist/components/MazInput.mjs +2 -2
  255. package/dist/components/MazInput.mjs.map +1 -1
  256. package/dist/components/MazInputCode.cjs +1 -1
  257. package/dist/components/MazInputCode.cjs.map +1 -1
  258. package/dist/components/MazInputCode.mjs +5 -5
  259. package/dist/components/MazInputCode.mjs.map +1 -1
  260. package/dist/components/MazInputNumber.cjs +1 -1
  261. package/dist/components/MazInputNumber.mjs +1 -1
  262. package/dist/components/MazInputPhoneNumber.cjs +1 -1
  263. package/dist/components/MazInputPhoneNumber.mjs +1 -1
  264. package/dist/components/MazInputPrice.cjs +1 -1
  265. package/dist/components/MazInputPrice.mjs +1 -1
  266. package/dist/components/MazInputTags.cjs +1 -1
  267. package/dist/components/MazInputTags.cjs.map +1 -1
  268. package/dist/components/MazInputTags.mjs +8 -8
  269. package/dist/components/MazInputTags.mjs.map +1 -1
  270. package/dist/components/MazLazyImg.cjs +1 -1
  271. package/dist/components/MazLazyImg.cjs.map +1 -1
  272. package/dist/components/MazLazyImg.mjs +5 -5
  273. package/dist/components/MazLazyImg.mjs.map +1 -1
  274. package/dist/components/MazLink.cjs +1 -1
  275. package/dist/components/MazLink.cjs.map +1 -1
  276. package/dist/components/MazLink.mjs +2 -2
  277. package/dist/components/MazLink.mjs.map +1 -1
  278. package/dist/components/MazLoadingBar.cjs +1 -1
  279. package/dist/components/MazLoadingBar.cjs.map +1 -1
  280. package/dist/components/MazLoadingBar.mjs +4 -4
  281. package/dist/components/MazLoadingBar.mjs.map +1 -1
  282. package/dist/components/MazPagination.cjs +1 -1
  283. package/dist/components/MazPagination.cjs.map +1 -1
  284. package/dist/components/MazPagination.mjs +2 -2
  285. package/dist/components/MazPagination.mjs.map +1 -1
  286. package/dist/components/MazPicker.cjs +1 -1
  287. package/dist/components/MazPicker.mjs +1 -1
  288. package/dist/components/MazPullToRefresh.cjs +1 -1
  289. package/dist/components/MazPullToRefresh.cjs.map +1 -1
  290. package/dist/components/MazPullToRefresh.mjs +2 -2
  291. package/dist/components/MazPullToRefresh.mjs.map +1 -1
  292. package/dist/components/MazRadio.cjs +1 -1
  293. package/dist/components/MazRadio.cjs.map +1 -1
  294. package/dist/components/MazRadio.mjs +7 -7
  295. package/dist/components/MazRadio.mjs.map +1 -1
  296. package/dist/components/MazRadioButtons.cjs +1 -1
  297. package/dist/components/MazRadioButtons.cjs.map +1 -1
  298. package/dist/components/MazRadioButtons.mjs +2 -2
  299. package/dist/components/MazRadioButtons.mjs.map +1 -1
  300. package/dist/components/MazReadingProgressBar.cjs +1 -1
  301. package/dist/components/MazReadingProgressBar.cjs.map +1 -1
  302. package/dist/components/MazReadingProgressBar.mjs +7 -7
  303. package/dist/components/MazReadingProgressBar.mjs.map +1 -1
  304. package/dist/components/MazSelect.cjs +1 -1
  305. package/dist/components/MazSelect.cjs.map +1 -1
  306. package/dist/components/MazSelect.mjs +7 -7
  307. package/dist/components/MazSelect.mjs.map +1 -1
  308. package/dist/components/MazSlider.cjs +1 -1
  309. package/dist/components/MazSlider.cjs.map +1 -1
  310. package/dist/components/MazSlider.mjs +11 -11
  311. package/dist/components/MazSlider.mjs.map +1 -1
  312. package/dist/components/MazSpinner.cjs +1 -1
  313. package/dist/components/MazSpinner.mjs +2 -2
  314. package/dist/components/MazStepper.cjs +1 -1
  315. package/dist/components/MazStepper.cjs.map +1 -1
  316. package/dist/components/MazStepper.mjs +22 -22
  317. package/dist/components/MazStepper.mjs.map +1 -1
  318. package/dist/components/MazTable.cjs +1 -1
  319. package/dist/components/MazTable.mjs +3 -3
  320. package/dist/components/MazTableCell.cjs +1 -1
  321. package/dist/components/MazTableCell.cjs.map +1 -1
  322. package/dist/components/MazTableCell.mjs +7 -7
  323. package/dist/components/MazTableCell.mjs.map +1 -1
  324. package/dist/components/MazTableRow.cjs +1 -1
  325. package/dist/components/MazTableRow.cjs.map +1 -1
  326. package/dist/components/MazTableRow.mjs +7 -7
  327. package/dist/components/MazTableRow.mjs.map +1 -1
  328. package/dist/components/MazTableTitle.cjs +1 -1
  329. package/dist/components/MazTableTitle.cjs.map +1 -1
  330. package/dist/components/MazTableTitle.mjs +3 -3
  331. package/dist/components/MazTableTitle.mjs.map +1 -1
  332. package/dist/components/MazTabsBar.cjs +1 -1
  333. package/dist/components/MazTabsBar.cjs.map +1 -1
  334. package/dist/components/MazTabsBar.mjs +2 -2
  335. package/dist/components/MazTabsBar.mjs.map +1 -1
  336. package/dist/components/MazTabsContentItem.cjs +1 -1
  337. package/dist/components/MazTabsContentItem.cjs.map +1 -1
  338. package/dist/components/MazTabsContentItem.mjs +2 -2
  339. package/dist/components/MazTabsContentItem.mjs.map +1 -1
  340. package/dist/components/MazTextarea.cjs +1 -1
  341. package/dist/components/MazTextarea.cjs.map +1 -1
  342. package/dist/components/MazTextarea.mjs +6 -6
  343. package/dist/components/MazTextarea.mjs.map +1 -1
  344. package/dist/composables/useAos.cjs.map +1 -1
  345. package/dist/composables/useAos.mjs.map +1 -1
  346. package/dist/composables/useBreakpoints.cjs.map +1 -1
  347. package/dist/composables/useBreakpoints.mjs.map +1 -1
  348. package/dist/composables/useDialog.cjs.map +1 -1
  349. package/dist/composables/useDialog.mjs.map +1 -1
  350. package/dist/composables/useFormField.cjs +1 -1
  351. package/dist/composables/useFormField.cjs.map +1 -1
  352. package/dist/composables/useFormField.mjs +19 -19
  353. package/dist/composables/useFormField.mjs.map +1 -1
  354. package/dist/composables/useFormValidator.cjs +1 -1
  355. package/dist/composables/useFormValidator.cjs.map +1 -1
  356. package/dist/composables/useFormValidator.mjs +11 -11
  357. package/dist/composables/useFormValidator.mjs.map +1 -1
  358. package/dist/composables/useIdleTimeout.cjs.map +1 -1
  359. package/dist/composables/useIdleTimeout.mjs.map +1 -1
  360. package/dist/composables/useStringMatching.cjs +1 -1
  361. package/dist/composables/useStringMatching.cjs.map +1 -1
  362. package/dist/composables/useStringMatching.mjs +1 -1
  363. package/dist/composables/useStringMatching.mjs.map +1 -1
  364. package/dist/composables/useSwipe.cjs +1 -1
  365. package/dist/composables/useSwipe.cjs.map +1 -1
  366. package/dist/composables/useSwipe.mjs +3 -3
  367. package/dist/composables/useSwipe.mjs.map +1 -1
  368. package/dist/composables/useThemeHandler.cjs +1 -1
  369. package/dist/composables/useThemeHandler.cjs.map +1 -1
  370. package/dist/composables/useThemeHandler.mjs +1 -1
  371. package/dist/composables/useThemeHandler.mjs.map +1 -1
  372. package/dist/composables/useToast.cjs.map +1 -1
  373. package/dist/composables/useToast.mjs.map +1 -1
  374. package/dist/composables/useUserVisibilty.cjs.map +1 -1
  375. package/dist/composables/useUserVisibilty.mjs.map +1 -1
  376. package/dist/composables/useWait.cjs.map +1 -1
  377. package/dist/composables/useWait.mjs.map +1 -1
  378. package/dist/composables/useWindowSize.cjs +1 -1
  379. package/dist/composables/useWindowSize.cjs.map +1 -1
  380. package/dist/composables/useWindowSize.mjs +5 -5
  381. package/dist/composables/useWindowSize.mjs.map +1 -1
  382. package/dist/css/main.css +1 -1
  383. package/dist/directives/vClickOutside.cjs.map +1 -1
  384. package/dist/directives/vClickOutside.mjs.map +1 -1
  385. package/dist/directives/vClosable.cjs.map +1 -1
  386. package/dist/directives/vClosable.mjs.map +1 -1
  387. package/dist/directives/vFullscreenImg.cjs +1 -1
  388. package/dist/directives/vFullscreenImg.mjs +1 -1
  389. package/dist/directives/vLazyImg.cjs.map +1 -1
  390. package/dist/directives/vLazyImg.mjs.map +1 -1
  391. package/dist/directives/vTooltip.cjs.map +1 -1
  392. package/dist/directives/vTooltip.mjs.map +1 -1
  393. package/dist/filters/pascalCase.cjs.map +1 -1
  394. package/dist/filters/pascalCase.mjs.map +1 -1
  395. package/dist/helpers/countryCodeToUnicodeFlag.cjs.map +1 -1
  396. package/dist/helpers/countryCodeToUnicodeFlag.mjs.map +1 -1
  397. package/dist/index.cjs +1 -1
  398. package/dist/index.mjs +5 -5
  399. package/dist/nuxt/module.d.mts +1 -1
  400. package/dist/nuxt/module.d.ts +1 -1
  401. package/dist/nuxt/module.json +1 -1
  402. package/dist/nuxt/module.mjs +13 -8
  403. package/dist/nuxt/runtime/plugins/dialog.js +2 -2
  404. package/dist/plugins/aos.cjs.map +1 -1
  405. package/dist/plugins/aos.mjs.map +1 -1
  406. package/dist/plugins/dialog.cjs.map +1 -1
  407. package/dist/plugins/dialog.mjs.map +1 -1
  408. package/dist/plugins/toaster.cjs +1 -1
  409. package/dist/plugins/toaster.cjs.map +1 -1
  410. package/dist/plugins/toaster.mjs +2 -2
  411. package/dist/plugins/toaster.mjs.map +1 -1
  412. package/dist/resolvers/UnpluginVueComponentsResolver.cjs.map +1 -1
  413. package/dist/resolvers/UnpluginVueComponentsResolver.mjs.map +1 -1
  414. package/dist/types/components/MazAvatar.vue.d.ts +1 -1
  415. package/dist/types/components/MazCard.vue.d.ts +1 -1
  416. package/dist/types/components/MazDialogPromise/useMazDialogPromise.d.ts +1 -1
  417. package/dist/types/components/MazDropdown.vue.d.ts +1 -1
  418. package/dist/types/components/MazInputPhoneNumber/CountrySelector.vue.d.ts +3 -3
  419. package/dist/types/components/MazInputPhoneNumber/types.d.ts +1 -1
  420. package/dist/types/components/MazInputPhoneNumber.vue.d.ts +1 -1
  421. package/dist/types/components/MazLazyImg.vue.d.ts +1 -1
  422. package/dist/types/components/MazLink.vue.d.ts +1 -1
  423. package/dist/types/components/MazPicker/MazPickerCalendar.vue.d.ts +1 -1
  424. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarGrid.vue.d.ts +1 -1
  425. package/dist/types/components/MazPicker/MazPickerCalendarMonth/MazPickerCalendarMonth.vue.d.ts +1 -1
  426. package/dist/types/components/MazPicker/MazPickerContainer.vue.d.ts +1 -1
  427. package/dist/types/components/MazPicker/MazPickerHeader.vue.d.ts +1 -1
  428. package/dist/types/components/MazPicker/MazPickerShortcuts.vue.d.ts +1 -1
  429. package/dist/types/components/MazPicker/MazPickerTime.vue.d.ts +2 -2
  430. package/dist/types/components/MazPicker/utils.d.ts +1 -1
  431. package/dist/types/components/MazSlider.vue.d.ts +1 -1
  432. package/dist/types/components/constantes.d.ts +1 -2
  433. package/dist/types/components/types.d.ts +2 -1
  434. package/dist/types/composables/useFormField.d.ts +2 -2
  435. package/dist/types/composables/useFormValidator/types.d.ts +3 -3
  436. package/dist/types/composables/useFormValidator.d.ts +3 -3
  437. package/dist/types/directives/vClickOutside.d.ts +1 -1
  438. package/dist/types/directives/vClosable.d.ts +1 -1
  439. package/dist/types/directives/vLazyImg.d.ts +2 -1
  440. package/dist/types/directives/vTooltip.d.ts +1 -1
  441. package/package.json +6 -6
  442. package/{dist/tailwindcss → tailwindcss}/tailwind.css +1 -1
  443. package/dist/assets/MazBtn.7QWd6o3M.css +0 -1
  444. package/dist/assets/MazGallery.ChuEM3_y.css +0 -1
  445. package/dist/assets/MazInput.C5uUOQLJ.css +0 -1
  446. package/dist/assets/MazInputCode.C1Mlb3p3.css +0 -1
  447. package/dist/assets/MazLink.DQ7r1i9T.css +0 -1
  448. package/dist/assets/MazLoadingBar.C6sNjytz.css +0 -1
  449. package/dist/assets/MazPicker.fY2qT4ER.css +0 -1
  450. package/dist/assets/MazPickerCalendarMonth.GACBSeof.css +0 -1
  451. package/dist/assets/MazReadingProgressBar.CbqVvC8N.css +0 -1
  452. package/dist/assets/MazSpinner.DTuz1RdS.css +0 -1
  453. package/dist/assets/MazTable.D06R_2nI.css +0 -1
  454. package/dist/assets/MazTableCell.BDmda4j7.css +0 -1
  455. package/dist/assets/MazTableRow.Copw9RJN.css +0 -1
  456. package/dist/assets/MazTableTitle.Cspgmj1g.css +0 -1
  457. package/dist/assets/PhoneInput.utJQQXVJ.css +0 -1
  458. package/dist/bin/maz.mjs +0 -2
  459. package/dist/chunks/CountrySelector.C5XZelLY.mjs.map +0 -1
  460. package/dist/chunks/CountrySelector.mFGaqpPf.cjs.map +0 -1
  461. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.Bbod2mLd.mjs.map +0 -1
  462. package/dist/chunks/MazInputNumber.vue_vue_type_script_setup_true_lang.DiawfWBC.cjs.map +0 -1
  463. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.C3X2lwRl.mjs.map +0 -1
  464. package/dist/chunks/MazInputPrice.vue_vue_type_script_setup_true_lang.CCatmP_L.cjs.map +0 -1
  465. package/dist/chunks/MazPicker.BZE8cw36.cjs.map +0 -1
  466. package/dist/chunks/MazPicker.DCnOkRvv.mjs.map +0 -1
  467. package/dist/chunks/MazPickerCalendar.CVZ8VoYr.cjs.map +0 -1
  468. package/dist/chunks/MazPickerCalendar.NeYLrtl-.mjs.map +0 -1
  469. package/dist/chunks/MazPickerCalendarMonth.DpvQC45k.cjs.map +0 -1
  470. package/dist/chunks/MazPickerCalendarMonth.rnaiDHFM.mjs.map +0 -1
  471. package/dist/chunks/MazPickerCalendarSwitcher.DC2wff_J.cjs.map +0 -1
  472. package/dist/chunks/MazPickerCalendarSwitcher.DFGrD6Cr.mjs.map +0 -1
  473. package/dist/chunks/MazPickerHeader.B7YY9SJI.mjs.map +0 -1
  474. package/dist/chunks/MazPickerHeader.l7NcmiGH.cjs.map +0 -1
  475. package/dist/chunks/MazPickerMonthSwitcher.CAPx3PCt.mjs.map +0 -1
  476. package/dist/chunks/MazPickerMonthSwitcher.CbplWFfL.cjs.map +0 -1
  477. package/dist/chunks/MazPickerShortcuts.Bawm0q33.mjs.map +0 -1
  478. package/dist/chunks/MazPickerShortcuts.LxFs0Y6N.cjs.map +0 -1
  479. package/dist/chunks/MazPickerTime.7cxq-Qac.cjs.map +0 -1
  480. package/dist/chunks/MazPickerTime.C27aFPPw.mjs.map +0 -1
  481. package/dist/chunks/MazPickerYearSwitcher.DMBOaMYy.mjs.map +0 -1
  482. package/dist/chunks/MazPickerYearSwitcher.Dku2IMIJ.cjs.map +0 -1
  483. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Ctmf2NVE.cjs.map +0 -1
  484. package/dist/chunks/MazTable.vue_vue_type_style_index_0_scoped_4101f1d3_lang.Dwkx-V96.mjs.map +0 -1
  485. package/dist/chunks/PhoneInput.9GQJbL9x.mjs.map +0 -1
  486. package/dist/chunks/PhoneInput.D5DG4S60.cjs.map +0 -1
  487. package/dist/chunks/fullscreen-img.directive.CeREtf7H.cjs.map +0 -1
  488. package/dist/chunks/fullscreen-img.directive.CrLLYi0D.mjs.map +0 -1
  489. package/dist/chunks/utils.Bex2hM45.mjs.map +0 -1
  490. package/dist/chunks/utils.vGzCTXH5.cjs.map +0 -1
  491. package/dist/types/tailwindcss/tailwind.config.d.ts +0 -121
  492. package/dist/types/tailwindcss/utils/colors.d.ts +0 -1
  493. package/dist/types/tailwindcss/variables/breakpoints.d.ts +0 -15
  494. package/dist/types/tailwindcss/variables/colors.d.ts +0 -32
  495. package/dist/types/tailwindcss/variables/utilities.d.ts +0 -22
  496. package/dist/types/tailwindcss/variables/z-indexes.d.ts +0 -14
  497. /package/{dist/icons → icons}/academic-cap.svg +0 -0
  498. /package/{dist/icons → icons}/adjustments-horizontal.svg +0 -0
  499. /package/{dist/icons → icons}/adjustments-vertical.svg +0 -0
  500. /package/{dist/icons → icons}/archive-box-arrow-down.svg +0 -0
  501. /package/{dist/icons → icons}/archive-box-x-mark.svg +0 -0
  502. /package/{dist/icons → icons}/archive-box.svg +0 -0
  503. /package/{dist/icons → icons}/arrow-down-circle.svg +0 -0
  504. /package/{dist/icons → icons}/arrow-down-left.svg +0 -0
  505. /package/{dist/icons → icons}/arrow-down-on-square-stack.svg +0 -0
  506. /package/{dist/icons → icons}/arrow-down-on-square.svg +0 -0
  507. /package/{dist/icons → icons}/arrow-down-right.svg +0 -0
  508. /package/{dist/icons → icons}/arrow-down-tray.svg +0 -0
  509. /package/{dist/icons → icons}/arrow-down.svg +0 -0
  510. /package/{dist/icons → icons}/arrow-left-circle.svg +0 -0
  511. /package/{dist/icons → icons}/arrow-left-end-on-rectangle.svg +0 -0
  512. /package/{dist/icons → icons}/arrow-left-on-rectangle.svg +0 -0
  513. /package/{dist/icons → icons}/arrow-left-start-on-rectangle.svg +0 -0
  514. /package/{dist/icons → icons}/arrow-left.svg +0 -0
  515. /package/{dist/icons → icons}/arrow-long-down.svg +0 -0
  516. /package/{dist/icons → icons}/arrow-long-left.svg +0 -0
  517. /package/{dist/icons → icons}/arrow-long-right.svg +0 -0
  518. /package/{dist/icons → icons}/arrow-long-up.svg +0 -0
  519. /package/{dist/icons → icons}/arrow-path-rounded-square.svg +0 -0
  520. /package/{dist/icons → icons}/arrow-path.svg +0 -0
  521. /package/{dist/icons → icons}/arrow-right-circle.svg +0 -0
  522. /package/{dist/icons → icons}/arrow-right-end-on-rectangle.svg +0 -0
  523. /package/{dist/icons → icons}/arrow-right-on-rectangle.svg +0 -0
  524. /package/{dist/icons → icons}/arrow-right-start-on-rectangle.svg +0 -0
  525. /package/{dist/icons → icons}/arrow-right.svg +0 -0
  526. /package/{dist/icons → icons}/arrow-small-down.svg +0 -0
  527. /package/{dist/icons → icons}/arrow-small-left.svg +0 -0
  528. /package/{dist/icons → icons}/arrow-small-right.svg +0 -0
  529. /package/{dist/icons → icons}/arrow-small-up.svg +0 -0
  530. /package/{dist/icons → icons}/arrow-top-right-on-square.svg +0 -0
  531. /package/{dist/icons → icons}/arrow-trending-down.svg +0 -0
  532. /package/{dist/icons → icons}/arrow-trending-up.svg +0 -0
  533. /package/{dist/icons → icons}/arrow-up-circle.svg +0 -0
  534. /package/{dist/icons → icons}/arrow-up-left.svg +0 -0
  535. /package/{dist/icons → icons}/arrow-up-on-square-stack.svg +0 -0
  536. /package/{dist/icons → icons}/arrow-up-on-square.svg +0 -0
  537. /package/{dist/icons → icons}/arrow-up-right.svg +0 -0
  538. /package/{dist/icons → icons}/arrow-up-tray.svg +0 -0
  539. /package/{dist/icons → icons}/arrow-up.svg +0 -0
  540. /package/{dist/icons → icons}/arrow-uturn-down.svg +0 -0
  541. /package/{dist/icons → icons}/arrow-uturn-left.svg +0 -0
  542. /package/{dist/icons → icons}/arrow-uturn-right.svg +0 -0
  543. /package/{dist/icons → icons}/arrow-uturn-up.svg +0 -0
  544. /package/{dist/icons → icons}/arrows-pointing-in.svg +0 -0
  545. /package/{dist/icons → icons}/arrows-pointing-out.svg +0 -0
  546. /package/{dist/icons → icons}/arrows-right-left.svg +0 -0
  547. /package/{dist/icons → icons}/arrows-up-down.svg +0 -0
  548. /package/{dist/icons → icons}/at-symbol.svg +0 -0
  549. /package/{dist/icons → icons}/backspace.svg +0 -0
  550. /package/{dist/icons → icons}/backward.svg +0 -0
  551. /package/{dist/icons → icons}/banknotes.svg +0 -0
  552. /package/{dist/icons → icons}/bars-2.svg +0 -0
  553. /package/{dist/icons → icons}/bars-3-bottom-left.svg +0 -0
  554. /package/{dist/icons → icons}/bars-3-bottom-right.svg +0 -0
  555. /package/{dist/icons → icons}/bars-3-center-left.svg +0 -0
  556. /package/{dist/icons → icons}/bars-3.svg +0 -0
  557. /package/{dist/icons → icons}/bars-4.svg +0 -0
  558. /package/{dist/icons → icons}/bars-arrow-down.svg +0 -0
  559. /package/{dist/icons → icons}/bars-arrow-up.svg +0 -0
  560. /package/{dist/icons → icons}/battery-0.svg +0 -0
  561. /package/{dist/icons → icons}/battery-100.svg +0 -0
  562. /package/{dist/icons → icons}/battery-50.svg +0 -0
  563. /package/{dist/icons → icons}/beaker.svg +0 -0
  564. /package/{dist/icons → icons}/bell-alert.svg +0 -0
  565. /package/{dist/icons → icons}/bell-slash.svg +0 -0
  566. /package/{dist/icons → icons}/bell-snooze.svg +0 -0
  567. /package/{dist/icons → icons}/bell.svg +0 -0
  568. /package/{dist/icons → icons}/bolt-slash.svg +0 -0
  569. /package/{dist/icons → icons}/bolt.svg +0 -0
  570. /package/{dist/icons → icons}/book-open.svg +0 -0
  571. /package/{dist/icons → icons}/bookmark-slash.svg +0 -0
  572. /package/{dist/icons → icons}/bookmark-square.svg +0 -0
  573. /package/{dist/icons → icons}/bookmark.svg +0 -0
  574. /package/{dist/icons → icons}/briefcase.svg +0 -0
  575. /package/{dist/icons → icons}/bug-ant.svg +0 -0
  576. /package/{dist/icons → icons}/building-library.svg +0 -0
  577. /package/{dist/icons → icons}/building-office-2.svg +0 -0
  578. /package/{dist/icons → icons}/building-office.svg +0 -0
  579. /package/{dist/icons → icons}/building-storefront.svg +0 -0
  580. /package/{dist/icons → icons}/cake.svg +0 -0
  581. /package/{dist/icons → icons}/calculator.svg +0 -0
  582. /package/{dist/icons → icons}/calendar-days.svg +0 -0
  583. /package/{dist/icons → icons}/calendar.svg +0 -0
  584. /package/{dist/icons → icons}/camera.svg +0 -0
  585. /package/{dist/icons → icons}/chart-bar-square.svg +0 -0
  586. /package/{dist/icons → icons}/chart-bar.svg +0 -0
  587. /package/{dist/icons → icons}/chart-pie.svg +0 -0
  588. /package/{dist/icons → icons}/chat-bubble-bottom-center-text.svg +0 -0
  589. /package/{dist/icons → icons}/chat-bubble-bottom-center.svg +0 -0
  590. /package/{dist/icons → icons}/chat-bubble-left-ellipsis.svg +0 -0
  591. /package/{dist/icons → icons}/chat-bubble-left-right.svg +0 -0
  592. /package/{dist/icons → icons}/chat-bubble-left.svg +0 -0
  593. /package/{dist/icons → icons}/chat-bubble-oval-left-ellipsis.svg +0 -0
  594. /package/{dist/icons → icons}/chat-bubble-oval-left.svg +0 -0
  595. /package/{dist/icons → icons}/check-badge.svg +0 -0
  596. /package/{dist/icons → icons}/check-circle.svg +0 -0
  597. /package/{dist/icons → icons}/check.svg +0 -0
  598. /package/{dist/icons → icons}/chevron-double-down.svg +0 -0
  599. /package/{dist/icons → icons}/chevron-double-left.svg +0 -0
  600. /package/{dist/icons → icons}/chevron-double-right.svg +0 -0
  601. /package/{dist/icons → icons}/chevron-double-up.svg +0 -0
  602. /package/{dist/icons → icons}/chevron-down.svg +0 -0
  603. /package/{dist/icons → icons}/chevron-left.svg +0 -0
  604. /package/{dist/icons → icons}/chevron-right.svg +0 -0
  605. /package/{dist/icons → icons}/chevron-up-down.svg +0 -0
  606. /package/{dist/icons → icons}/chevron-up.svg +0 -0
  607. /package/{dist/icons → icons}/circle-stack.svg +0 -0
  608. /package/{dist/icons → icons}/clipboard-document-check.svg +0 -0
  609. /package/{dist/icons → icons}/clipboard-document-list.svg +0 -0
  610. /package/{dist/icons → icons}/clipboard-document.svg +0 -0
  611. /package/{dist/icons → icons}/clipboard.svg +0 -0
  612. /package/{dist/icons → icons}/clock.svg +0 -0
  613. /package/{dist/icons → icons}/cloud-arrow-down.svg +0 -0
  614. /package/{dist/icons → icons}/cloud-arrow-up.svg +0 -0
  615. /package/{dist/icons → icons}/cloud.svg +0 -0
  616. /package/{dist/icons → icons}/code-bracket-square.svg +0 -0
  617. /package/{dist/icons → icons}/code-bracket.svg +0 -0
  618. /package/{dist/icons → icons}/cog-6-tooth.svg +0 -0
  619. /package/{dist/icons → icons}/cog-8-tooth.svg +0 -0
  620. /package/{dist/icons → icons}/cog.svg +0 -0
  621. /package/{dist/icons → icons}/command-line.svg +0 -0
  622. /package/{dist/icons → icons}/computer-desktop.svg +0 -0
  623. /package/{dist/icons → icons}/cpu-chip.svg +0 -0
  624. /package/{dist/icons → icons}/credit-card.svg +0 -0
  625. /package/{dist/icons → icons}/cube-transparent.svg +0 -0
  626. /package/{dist/icons → icons}/cube.svg +0 -0
  627. /package/{dist/icons → icons}/currency-bangladeshi.svg +0 -0
  628. /package/{dist/icons → icons}/currency-dollar.svg +0 -0
  629. /package/{dist/icons → icons}/currency-euro.svg +0 -0
  630. /package/{dist/icons → icons}/currency-pound.svg +0 -0
  631. /package/{dist/icons → icons}/currency-rupee.svg +0 -0
  632. /package/{dist/icons → icons}/currency-yen.svg +0 -0
  633. /package/{dist/icons → icons}/cursor-arrow-rays.svg +0 -0
  634. /package/{dist/icons → icons}/cursor-arrow-ripple.svg +0 -0
  635. /package/{dist/icons → icons}/device-phone-mobile.svg +0 -0
  636. /package/{dist/icons → icons}/device-tablet.svg +0 -0
  637. /package/{dist/icons → icons}/document-arrow-down.svg +0 -0
  638. /package/{dist/icons → icons}/document-arrow-up.svg +0 -0
  639. /package/{dist/icons → icons}/document-chart-bar.svg +0 -0
  640. /package/{dist/icons → icons}/document-check.svg +0 -0
  641. /package/{dist/icons → icons}/document-duplicate.svg +0 -0
  642. /package/{dist/icons → icons}/document-magnifying-glass.svg +0 -0
  643. /package/{dist/icons → icons}/document-minus.svg +0 -0
  644. /package/{dist/icons → icons}/document-plus.svg +0 -0
  645. /package/{dist/icons → icons}/document-text.svg +0 -0
  646. /package/{dist/icons → icons}/document.svg +0 -0
  647. /package/{dist/icons → icons}/ellipsis-horizontal-circle.svg +0 -0
  648. /package/{dist/icons → icons}/ellipsis-horizontal.svg +0 -0
  649. /package/{dist/icons → icons}/ellipsis-vertical.svg +0 -0
  650. /package/{dist/icons → icons}/envelope-open.svg +0 -0
  651. /package/{dist/icons → icons}/envelope.svg +0 -0
  652. /package/{dist/icons → icons}/exclamation-circle.svg +0 -0
  653. /package/{dist/icons → icons}/exclamation-triangle.svg +0 -0
  654. /package/{dist/icons → icons}/eye-dropper.svg +0 -0
  655. /package/{dist/icons → icons}/eye-slash.svg +0 -0
  656. /package/{dist/icons → icons}/eye.svg +0 -0
  657. /package/{dist/icons → icons}/face-frown.svg +0 -0
  658. /package/{dist/icons → icons}/face-smile.svg +0 -0
  659. /package/{dist/icons → icons}/film.svg +0 -0
  660. /package/{dist/icons → icons}/finger-print.svg +0 -0
  661. /package/{dist/icons → icons}/fire.svg +0 -0
  662. /package/{dist/icons → icons}/flag.svg +0 -0
  663. /package/{dist/icons → icons}/folder-arrow-down.svg +0 -0
  664. /package/{dist/icons → icons}/folder-minus.svg +0 -0
  665. /package/{dist/icons → icons}/folder-open.svg +0 -0
  666. /package/{dist/icons → icons}/folder-plus.svg +0 -0
  667. /package/{dist/icons → icons}/folder.svg +0 -0
  668. /package/{dist/icons → icons}/fork.svg +0 -0
  669. /package/{dist/icons → icons}/forward.svg +0 -0
  670. /package/{dist/icons → icons}/funnel.svg +0 -0
  671. /package/{dist/icons → icons}/gif.svg +0 -0
  672. /package/{dist/icons → icons}/gift-top.svg +0 -0
  673. /package/{dist/icons → icons}/gift.svg +0 -0
  674. /package/{dist/icons → icons}/github.svg +0 -0
  675. /package/{dist/icons → icons}/globe-alt.svg +0 -0
  676. /package/{dist/icons → icons}/globe-americas.svg +0 -0
  677. /package/{dist/icons → icons}/globe-asia-australia.svg +0 -0
  678. /package/{dist/icons → icons}/globe-europe-africa.svg +0 -0
  679. /package/{dist/icons → icons}/hand-raised.svg +0 -0
  680. /package/{dist/icons → icons}/hand-thumb-down.svg +0 -0
  681. /package/{dist/icons → icons}/hand-thumb-up.svg +0 -0
  682. /package/{dist/icons → icons}/hashtag.svg +0 -0
  683. /package/{dist/icons → icons}/heart.svg +0 -0
  684. /package/{dist/icons → icons}/home-modern.svg +0 -0
  685. /package/{dist/icons → icons}/home.svg +0 -0
  686. /package/{dist/icons → icons}/identification.svg +0 -0
  687. /package/{dist/icons → icons}/inbox-arrow-down.svg +0 -0
  688. /package/{dist/icons → icons}/inbox-stack.svg +0 -0
  689. /package/{dist/icons → icons}/inbox.svg +0 -0
  690. /package/{dist/icons → icons}/information-circle.svg +0 -0
  691. /package/{dist/icons → icons}/key.svg +0 -0
  692. /package/{dist/icons → icons}/language.svg +0 -0
  693. /package/{dist/icons → icons}/lifebuoy.svg +0 -0
  694. /package/{dist/icons → icons}/light-bulb.svg +0 -0
  695. /package/{dist/icons → icons}/link.svg +0 -0
  696. /package/{dist/icons → icons}/list-bullet.svg +0 -0
  697. /package/{dist/icons → icons}/lock-closed.svg +0 -0
  698. /package/{dist/icons → icons}/lock-open.svg +0 -0
  699. /package/{dist/icons → icons}/magnifying-glass-circle.svg +0 -0
  700. /package/{dist/icons → icons}/magnifying-glass-minus.svg +0 -0
  701. /package/{dist/icons → icons}/magnifying-glass-plus.svg +0 -0
  702. /package/{dist/icons → icons}/magnifying-glass.svg +0 -0
  703. /package/{dist/icons → icons}/map-pin.svg +0 -0
  704. /package/{dist/icons → icons}/map.svg +0 -0
  705. /package/{dist/icons → icons}/megaphone.svg +0 -0
  706. /package/{dist/icons → icons}/microphone.svg +0 -0
  707. /package/{dist/icons → icons}/minus-circle.svg +0 -0
  708. /package/{dist/icons → icons}/minus-small.svg +0 -0
  709. /package/{dist/icons → icons}/minus.svg +0 -0
  710. /package/{dist/icons → icons}/moon.svg +0 -0
  711. /package/{dist/icons → icons}/musical-note.svg +0 -0
  712. /package/{dist/icons → icons}/newspaper.svg +0 -0
  713. /package/{dist/icons → icons}/no-photography.svg +0 -0
  714. /package/{dist/icons → icons}/no-symbol.svg +0 -0
  715. /package/{dist/icons → icons}/paint-brush.svg +0 -0
  716. /package/{dist/icons → icons}/paper-airplane.svg +0 -0
  717. /package/{dist/icons → icons}/paper-clip.svg +0 -0
  718. /package/{dist/icons → icons}/pause-circle.svg +0 -0
  719. /package/{dist/icons → icons}/pause.svg +0 -0
  720. /package/{dist/icons → icons}/pencil-square.svg +0 -0
  721. /package/{dist/icons → icons}/pencil.svg +0 -0
  722. /package/{dist/icons → icons}/phone-arrow-down-left.svg +0 -0
  723. /package/{dist/icons → icons}/phone-arrow-up-right.svg +0 -0
  724. /package/{dist/icons → icons}/phone-x-mark.svg +0 -0
  725. /package/{dist/icons → icons}/phone.svg +0 -0
  726. /package/{dist/icons → icons}/photo.svg +0 -0
  727. /package/{dist/icons → icons}/play-circle.svg +0 -0
  728. /package/{dist/icons → icons}/play-pause.svg +0 -0
  729. /package/{dist/icons → icons}/play.svg +0 -0
  730. /package/{dist/icons → icons}/plus-circle.svg +0 -0
  731. /package/{dist/icons → icons}/plus-small.svg +0 -0
  732. /package/{dist/icons → icons}/plus.svg +0 -0
  733. /package/{dist/icons → icons}/power.svg +0 -0
  734. /package/{dist/icons → icons}/presentation-chart-bar.svg +0 -0
  735. /package/{dist/icons → icons}/presentation-chart-line.svg +0 -0
  736. /package/{dist/icons → icons}/printer.svg +0 -0
  737. /package/{dist/icons → icons}/puzzle-piece.svg +0 -0
  738. /package/{dist/icons → icons}/qr-code.svg +0 -0
  739. /package/{dist/icons → icons}/question-mark-circle.svg +0 -0
  740. /package/{dist/icons → icons}/queue-list.svg +0 -0
  741. /package/{dist/icons → icons}/radio.svg +0 -0
  742. /package/{dist/icons → icons}/receipt-percent.svg +0 -0
  743. /package/{dist/icons → icons}/receipt-refund.svg +0 -0
  744. /package/{dist/icons → icons}/rectangle-group.svg +0 -0
  745. /package/{dist/icons → icons}/rectangle-stack.svg +0 -0
  746. /package/{dist/icons → icons}/rocket-launch.svg +0 -0
  747. /package/{dist/icons → icons}/rss.svg +0 -0
  748. /package/{dist/icons → icons}/scale.svg +0 -0
  749. /package/{dist/icons → icons}/scissors.svg +0 -0
  750. /package/{dist/icons → icons}/server-stack.svg +0 -0
  751. /package/{dist/icons → icons}/server.svg +0 -0
  752. /package/{dist/icons → icons}/share.svg +0 -0
  753. /package/{dist/icons → icons}/shield-check.svg +0 -0
  754. /package/{dist/icons → icons}/shield-exclamation.svg +0 -0
  755. /package/{dist/icons → icons}/shopping-bag.svg +0 -0
  756. /package/{dist/icons → icons}/shopping-cart.svg +0 -0
  757. /package/{dist/icons → icons}/signal-slash.svg +0 -0
  758. /package/{dist/icons → icons}/signal.svg +0 -0
  759. /package/{dist/icons → icons}/sparkles.svg +0 -0
  760. /package/{dist/icons → icons}/speaker-wave.svg +0 -0
  761. /package/{dist/icons → icons}/speaker-x-mark.svg +0 -0
  762. /package/{dist/icons → icons}/square-2-stack.svg +0 -0
  763. /package/{dist/icons → icons}/square-3-stack-3d.svg +0 -0
  764. /package/{dist/icons → icons}/squares-2x2.svg +0 -0
  765. /package/{dist/icons → icons}/squares-plus.svg +0 -0
  766. /package/{dist/icons → icons}/star-solid.svg +0 -0
  767. /package/{dist/icons → icons}/star.svg +0 -0
  768. /package/{dist/icons → icons}/stop-circle.svg +0 -0
  769. /package/{dist/icons → icons}/stop.svg +0 -0
  770. /package/{dist/icons → icons}/sun.svg +0 -0
  771. /package/{dist/icons → icons}/swatch.svg +0 -0
  772. /package/{dist/icons → icons}/table-cells.svg +0 -0
  773. /package/{dist/icons → icons}/tag.svg +0 -0
  774. /package/{dist/icons → icons}/ticket.svg +0 -0
  775. /package/{dist/icons → icons}/trash.svg +0 -0
  776. /package/{dist/icons → icons}/trophy.svg +0 -0
  777. /package/{dist/icons → icons}/truck.svg +0 -0
  778. /package/{dist/icons → icons}/tv.svg +0 -0
  779. /package/{dist/icons → icons}/user-circle.svg +0 -0
  780. /package/{dist/icons → icons}/user-group.svg +0 -0
  781. /package/{dist/icons → icons}/user-minus.svg +0 -0
  782. /package/{dist/icons → icons}/user-plus.svg +0 -0
  783. /package/{dist/icons → icons}/user.svg +0 -0
  784. /package/{dist/icons → icons}/users.svg +0 -0
  785. /package/{dist/icons → icons}/variable.svg +0 -0
  786. /package/{dist/icons → icons}/video-camera-slash.svg +0 -0
  787. /package/{dist/icons → icons}/video-camera.svg +0 -0
  788. /package/{dist/icons → icons}/view-columns.svg +0 -0
  789. /package/{dist/icons → icons}/viewfinder-circle.svg +0 -0
  790. /package/{dist/icons → icons}/wallet.svg +0 -0
  791. /package/{dist/icons → icons}/wifi.svg +0 -0
  792. /package/{dist/icons → icons}/window.svg +0 -0
  793. /package/{dist/icons → icons}/wrench-screwdriver.svg +0 -0
  794. /package/{dist/icons → icons}/wrench.svg +0 -0
  795. /package/{dist/icons → icons}/x-circle.svg +0 -0
  796. /package/{dist/icons → icons}/x-mark.svg +0 -0
  797. /package/{dist/tailwindcss → tailwindcss}/tailwind.config.ts +0 -0
  798. /package/{dist/tailwindcss → tailwindcss}/utils/colors.ts +0 -0
  799. /package/{dist/tailwindcss → tailwindcss}/variables/breakpoints.ts +0 -0
  800. /package/{dist/tailwindcss → tailwindcss}/variables/colors.ts +0 -0
  801. /package/{dist/tailwindcss → tailwindcss}/variables/utilities.ts +0 -0
  802. /package/{dist/tailwindcss → tailwindcss}/variables/z-indexes.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"useFormField.mjs","sources":["../../src/composables/useFormField.ts"],"sourcesContent":["import type {\n BaseFormPayload,\n ExtractModelKey,\n FormFieldOptions,\n FormSchema,\n ValidationIssues,\n} from '@composables/useFormValidator/types'\nimport type { ComponentPublicInstance, ComputedRef, WritableComputedRef } from 'vue'\n\nimport {\n addEventToInteractiveElements,\n fieldHasValidation,\n findInteractiveElements,\n getContext,\n getInstance,\n getValidationEvents,\n handleFieldBlur,\n hasModeIncludes,\n removeEventFromInteractiveElements,\n setFieldValidationState,\n updateFieldState,\n} from '@composables/useFormValidator/utils'\nimport { checkAvailability } from '@helpers/checkAvailability'\nimport { freezeValue } from '@helpers/freezeValue'\nimport { isEqual } from '@helpers/isEqual'\nimport { computed, onMounted, onUnmounted } from 'vue'\n\ninterface UseFormFieldReturn<FieldType> {\n /**\n * Indicates if the field has an error\n */\n hasError: ComputedRef<boolean>\n /**\n * Errors of the field\n */\n errors: ComputedRef<ValidationIssues>\n /**\n * Error message of the field\n * It's the first error of the field\n */\n errorMessage: ComputedRef<string | undefined>\n /**\n * Indicates if the field is valid\n */\n isValid: ComputedRef<boolean>\n /**\n * Indicates if the field has been modified\n */\n isDirty: ComputedRef<boolean>\n /**\n * Indicates if the field has been blurred\n */\n isBlurred: ComputedRef<boolean>\n /**\n * Indicates if the field has been validated\n */\n isValidated: ComputedRef<boolean>\n /**\n * Indicates if the field is validating\n */\n isValidating: ComputedRef<boolean>\n /**\n * Validation mode of the field\n */\n mode: ComputedRef<FormFieldOptions<FieldType>['mode']>\n /**\n * Value of the field\n */\n value: WritableComputedRef<FieldType>\n /**\n * Validation events of the field\n */\n validationEvents: ComputedRef<ReturnType<typeof getValidationEvents>>\n /**\n * Function to handle the blur event of the field\n */\n onBlur: () => void\n}\n\nexport function useFormField<\n FieldType extends Model[ExtractModelKey<FormSchema<Model>>],\n Model extends BaseFormPayload = BaseFormPayload,\n>(name: ExtractModelKey<FormSchema<Model>>, options?: FormFieldOptions<FieldType>): UseFormFieldReturn<FieldType> {\n const opts = {\n formIdentifier: 'main-form-validator',\n ...options,\n } satisfies FormFieldOptions<FieldType>\n\n const {\n fieldsStates,\n payload,\n options: formOptions,\n internalSchema,\n errorMessages,\n isSubmitted,\n } = getContext<Model>(opts.formIdentifier, 'useFormField')\n\n const fieldMode = fieldHasValidation(name, internalSchema.value) ? options?.mode ?? formOptions.mode : undefined\n opts.mode = fieldMode\n\n const fieldState = computed(() => fieldsStates.value[name])\n\n fieldsStates.value[name] = updateFieldState<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n options: { ...formOptions, ...opts },\n })\n\n if (opts.defaultValue !== undefined && !isEqual(payload.value[name], opts.defaultValue)) {\n const initialValue = opts.defaultValue\n payload.value[name] = initialValue\n fieldsStates.value[name].initialValue = freezeValue(initialValue)\n }\n\n if (fieldMode) {\n setFieldValidationState<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n setError: fieldMode === 'aggressive',\n setErrorIfInvalidAndNotEmpty: fieldMode === 'lazy',\n })\n }\n\n function onBlur() {\n handleFieldBlur<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n })\n }\n\n const validationEvents = computed(() =>\n getValidationEvents({\n ref: opts.ref,\n onBlur,\n fieldState: fieldState.value,\n }),\n )\n\n if (opts.ref && hasModeIncludes(['eager', 'blur', 'progressive'], fieldMode)) {\n let interactiveElements: HTMLElement[] = []\n\n const handleInteractiveElements = (element: HTMLElement) => {\n interactiveElements = findInteractiveElements(element)\n addEventToInteractiveElements({\n interactiveElements,\n onBlur,\n mode: fieldMode,\n })\n }\n\n onMounted(() => {\n const instance = getInstance<Model>(`useFormField of ${name as string}`)\n\n checkAvailability(() => instance.refs[opts.ref as string] as HTMLElement | ComponentPublicInstance | undefined, (element) => {\n const interactiveElement = element instanceof HTMLElement ? element : element?.$el as HTMLElement | undefined\n if (interactiveElement) {\n handleInteractiveElements(interactiveElement)\n }\n }, {\n errorMessage: `[maz-ui](useFormField) No element found for ref ${opts.ref} for field ${name as string}`,\n })\n })\n\n onUnmounted(() => {\n removeEventFromInteractiveElements({\n interactiveElements,\n onBlur,\n })\n })\n }\n\n return {\n hasError: computed(() => fieldState.value.error),\n errors: computed(() => fieldState.value.errors),\n errorMessage: computed(() => errorMessages.value[name]),\n isValid: computed(() => fieldState.value.valid),\n isDirty: computed(() => fieldState.value.dirty),\n isBlurred: computed(() => fieldState.value.blurred),\n isValidated: computed(() => fieldState.value.validated),\n isValidating: computed(() => fieldState.value.validating),\n mode: computed(() => fieldState.value.mode),\n value: computed({\n get: () => payload.value[name] as FieldType,\n set: value => (payload.value[name] = value),\n }),\n validationEvents,\n onBlur,\n }\n}\n"],"names":["useFormField","name","options","opts","fieldsStates","payload","formOptions","internalSchema","errorMessages","isSubmitted","getContext","fieldMode","fieldHasValidation","fieldState","computed","updateFieldState","isEqual","initialValue","freezeValue","setFieldValidationState","onBlur","handleFieldBlur","validationEvents","getValidationEvents","hasModeIncludes","interactiveElements","handleInteractiveElements","element","findInteractiveElements","addEventToInteractiveElements","onMounted","instance","getInstance","checkAvailability","interactiveElement","onUnmounted","removeEventFromInteractiveElements","value"],"mappings":"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"}
1
+ {"version":3,"file":"useFormField.mjs","sources":["../../src/composables/useFormField.ts"],"sourcesContent":["import type { ComponentPublicInstance, ComputedRef, WritableComputedRef } from 'vue'\nimport type {\n BaseFormPayload,\n ExtractModelKey,\n FormFieldOptions,\n FormSchema,\n ValidationIssues,\n} from '../composables/useFormValidator/types'\n\nimport { computed, onMounted, onUnmounted } from 'vue'\n\nimport {\n addEventToInteractiveElements,\n fieldHasValidation,\n findInteractiveElements,\n getContext,\n getInstance,\n getValidationEvents,\n handleFieldBlur,\n hasModeIncludes,\n removeEventFromInteractiveElements,\n setFieldValidationState,\n updateFieldState,\n} from '../composables/useFormValidator/utils'\nimport { checkAvailability } from '../helpers/checkAvailability'\nimport { freezeValue } from '../helpers/freezeValue'\nimport { isEqual } from '../helpers/isEqual'\n\ninterface UseFormFieldReturn<FieldType> {\n /**\n * Indicates if the field has an error\n */\n hasError: ComputedRef<boolean>\n /**\n * Errors of the field\n */\n errors: ComputedRef<ValidationIssues>\n /**\n * Error message of the field\n * It's the first error of the field\n */\n errorMessage: ComputedRef<string | undefined>\n /**\n * Indicates if the field is valid\n */\n isValid: ComputedRef<boolean>\n /**\n * Indicates if the field has been modified\n */\n isDirty: ComputedRef<boolean>\n /**\n * Indicates if the field has been blurred\n */\n isBlurred: ComputedRef<boolean>\n /**\n * Indicates if the field has been validated\n */\n isValidated: ComputedRef<boolean>\n /**\n * Indicates if the field is validating\n */\n isValidating: ComputedRef<boolean>\n /**\n * Validation mode of the field\n */\n mode: ComputedRef<FormFieldOptions<FieldType>['mode']>\n /**\n * Value of the field\n */\n value: WritableComputedRef<FieldType>\n /**\n * Validation events of the field\n */\n validationEvents: ComputedRef<ReturnType<typeof getValidationEvents>>\n /**\n * Function to handle the blur event of the field\n */\n onBlur: () => void\n}\n\nexport function useFormField<\n FieldType extends Model[ExtractModelKey<FormSchema<Model>>],\n Model extends BaseFormPayload = BaseFormPayload,\n>(name: ExtractModelKey<FormSchema<Model>>, options?: FormFieldOptions<FieldType>): UseFormFieldReturn<FieldType> {\n const opts = {\n formIdentifier: 'main-form-validator',\n ...options,\n } satisfies FormFieldOptions<FieldType>\n\n const {\n fieldsStates,\n payload,\n options: formOptions,\n internalSchema,\n errorMessages,\n isSubmitted,\n } = getContext<Model>(opts.formIdentifier, 'useFormField')\n\n const fieldMode = fieldHasValidation(name, internalSchema.value) ? options?.mode ?? formOptions.mode : undefined\n opts.mode = fieldMode\n\n const fieldState = computed(() => fieldsStates.value[name])\n\n fieldsStates.value[name] = updateFieldState<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n options: { ...formOptions, ...opts },\n })\n\n if (opts.defaultValue !== undefined && !isEqual(payload.value[name], opts.defaultValue)) {\n const initialValue = opts.defaultValue\n payload.value[name] = initialValue\n fieldsStates.value[name].initialValue = freezeValue(initialValue)\n }\n\n if (fieldMode) {\n setFieldValidationState<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n setError: fieldMode === 'aggressive',\n setErrorIfInvalidAndNotEmpty: fieldMode === 'lazy',\n })\n }\n\n function onBlur() {\n handleFieldBlur<Model>({\n name,\n fieldState: fieldState.value,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n })\n }\n\n const validationEvents = computed(() =>\n getValidationEvents({\n ref: opts.ref,\n onBlur,\n fieldState: fieldState.value,\n }),\n )\n\n if (opts.ref && hasModeIncludes(['eager', 'blur', 'progressive'], fieldMode)) {\n let interactiveElements: HTMLElement[] = []\n\n const handleInteractiveElements = (element: HTMLElement) => {\n interactiveElements = findInteractiveElements(element)\n addEventToInteractiveElements({\n interactiveElements,\n onBlur,\n mode: fieldMode,\n })\n }\n\n onMounted(() => {\n const instance = getInstance<Model>(`useFormField of ${name as string}`)\n\n checkAvailability(() => instance.refs[opts.ref as string] as HTMLElement | ComponentPublicInstance | undefined, (element) => {\n const interactiveElement = element instanceof HTMLElement ? element : element?.$el as HTMLElement | undefined\n if (interactiveElement) {\n handleInteractiveElements(interactiveElement)\n }\n }, {\n errorMessage: `[maz-ui](useFormField) No element found for ref ${opts.ref} for field ${name as string}`,\n })\n })\n\n onUnmounted(() => {\n removeEventFromInteractiveElements({\n interactiveElements,\n onBlur,\n })\n })\n }\n\n return {\n hasError: computed(() => fieldState.value.error),\n errors: computed(() => fieldState.value.errors),\n errorMessage: computed(() => errorMessages.value[name]),\n isValid: computed(() => fieldState.value.valid),\n isDirty: computed(() => fieldState.value.dirty),\n isBlurred: computed(() => fieldState.value.blurred),\n isValidated: computed(() => fieldState.value.validated),\n isValidating: computed(() => fieldState.value.validating),\n mode: computed(() => fieldState.value.mode),\n value: computed({\n get: () => payload.value[name] as FieldType,\n set: value => (payload.value[name] = value),\n }),\n validationEvents,\n onBlur,\n }\n}\n"],"names":["useFormField","name","options","opts","fieldsStates","payload","formOptions","internalSchema","errorMessages","isSubmitted","getContext","fieldMode","fieldHasValidation","fieldState","computed","updateFieldState","isEqual","initialValue","freezeValue","setFieldValidationState","onBlur","handleFieldBlur","validationEvents","getValidationEvents","hasModeIncludes","interactiveElements","handleInteractiveElements","element","findInteractiveElements","addEventToInteractiveElements","onMounted","instance","getInstance","checkAvailability","interactiveElement","onUnmounted","removeEventFromInteractiveElements","value"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../chunks/utils.vGzCTXH5.cjs"),t=require("vue");function O({schema:w,defaultValues:E,model:u,options:T}){const c=a.getInstance("useFormValidator"),l={mode:a.CONFIG.mode,scrollToError:a.CONFIG.scrollToErrorSelector,debouncedFields:null,throttledFields:null,identifier:"main-form-validator",...T},p=t.ref(E),o=t.ref({...p.value,...u==null?void 0:u.value}),s=t.ref(w),r=t.ref(a.getFieldsStates({schema:s.value,payload:o.value,options:l})),n=t.ref(!1),d=t.ref(!1),m=t.computed(()=>Object.values(r.value).every(({valid:e})=>e)),V=t.computed(()=>Object.values(r.value).some(({dirty:e})=>e)),h=t.computed(()=>a.getFieldsErrors(r.value)),y=t.computed(()=>a.getErrorMessages(h.value,r.value));u&&t.watch(o,e=>{u.value={...p.value,...e}},{deep:!0}),t.watch(p,e=>{o.value={...e,...o.value}},{deep:!0}),t.watch(s,e=>{a.updateFieldsStates({schema:e,fieldsStates:r.value,payload:o.value,options:l}),f()},{deep:!0}),f();function f(e=l.mode==="aggressive"){return a.validateForm({fieldsStates:r.value,payload:o.value,schema:s.value,showErrors:e})}const F=[];async function j(e){await t.nextTick();const v=t.watch(()=>o.value[e],()=>{const i=r.value[e];a.handleFieldInput({name:e,fieldState:i,payload:o.value,schema:s.value,isSubmitted:d.value,forceValidation:a.hasModeIncludes(["aggressive","lazy","progressive"],i.mode)})},{deep:typeof s.value[e]=="object"});F.push(v)}function I(){for(const e of F)e();for(const e of Object.keys(s.value))j(e)}function M(e,v){return async i=>{if(i==null||i.preventDefault(),!n.value){d.value=!0,n.value=!0;try{await f(!0);const S=typeof v=="string"?v:l.scrollToError;let b;return m.value?b=await e(o.value):typeof S!="boolean"&&a.scrollToError(S),n.value=!1,b}finally{n.value=!1}}}}const g={fieldsStates:r,payload:o,options:l,internalSchema:s,errorMessages:y,isSubmitted:d};return c.formContexts??(c.formContexts=new Map),c.formContexts.set(l.identifier,g),t.provide(l.identifier,g),I(),{identifier:l.identifier,isDirty:V,isSubmitting:n,isSubmitted:d,isValid:m,errors:h,model:o,fieldsStates:r,validateForm:f,scrollToError:a.scrollToError,handleSubmit:M,errorMessages:y}}exports.useFormValidator=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),a=require("../chunks/utils.K864VNFX.cjs");function O({schema:w,defaultValues:E,model:u,options:T}){const c=a.getInstance("useFormValidator"),l={mode:a.CONFIG.mode,scrollToError:a.CONFIG.scrollToErrorSelector,debouncedFields:null,throttledFields:null,identifier:"main-form-validator",...T},p=t.ref(E),o=t.ref({...p.value,...u==null?void 0:u.value}),s=t.ref(w),r=t.ref(a.getFieldsStates({schema:s.value,payload:o.value,options:l})),n=t.ref(!1),d=t.ref(!1),m=t.computed(()=>Object.values(r.value).every(({valid:e})=>e)),V=t.computed(()=>Object.values(r.value).some(({dirty:e})=>e)),h=t.computed(()=>a.getFieldsErrors(r.value)),y=t.computed(()=>a.getErrorMessages(h.value,r.value));u&&t.watch(o,e=>{u.value={...p.value,...e}},{deep:!0}),t.watch(p,e=>{o.value={...e,...o.value}},{deep:!0}),t.watch(s,e=>{a.updateFieldsStates({schema:e,fieldsStates:r.value,payload:o.value,options:l}),f()},{deep:!0}),f();function f(e=l.mode==="aggressive"){return a.validateForm({fieldsStates:r.value,payload:o.value,schema:s.value,showErrors:e})}const F=[];async function j(e){await t.nextTick();const v=t.watch(()=>o.value[e],()=>{const i=r.value[e];a.handleFieldInput({name:e,fieldState:i,payload:o.value,schema:s.value,isSubmitted:d.value,forceValidation:a.hasModeIncludes(["aggressive","lazy","progressive"],i.mode)})},{deep:typeof s.value[e]=="object"});F.push(v)}function I(){for(const e of F)e();for(const e of Object.keys(s.value))j(e)}function M(e,v){return async i=>{if(i==null||i.preventDefault(),!n.value){d.value=!0,n.value=!0;try{await f(!0);const S=typeof v=="string"?v:l.scrollToError;let b;return m.value?b=await e(o.value):typeof S!="boolean"&&a.scrollToError(S),n.value=!1,b}finally{n.value=!1}}}}const g={fieldsStates:r,payload:o,options:l,internalSchema:s,errorMessages:y,isSubmitted:d};return c.formContexts??(c.formContexts=new Map),c.formContexts.set(l.identifier,g),t.provide(l.identifier,g),I(),{identifier:l.identifier,isDirty:V,isSubmitting:n,isSubmitted:d,isValid:m,errors:h,model:o,fieldsStates:r,validateForm:f,scrollToError:a.scrollToError,handleSubmit:M,errorMessages:y}}exports.useFormValidator=O;
2
2
  //# sourceMappingURL=useFormValidator.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValidator.cjs","sources":["../../src/composables/useFormValidator.ts"],"sourcesContent":["import type {\n BaseFormPayload,\n ExtractModelKey,\n FieldsStates,\n FormContext,\n FormSchema,\n FormValidatorOptions,\n StrictOptions,\n UseFormValidatorParams,\n} from '@composables/useFormValidator/types'\nimport type { Ref, WatchStopHandle } from 'vue'\n\nimport { CONFIG } from '@composables/useFormValidator/config'\nimport {\n getErrorMessages,\n getFieldsErrors,\n getFieldsStates,\n getInstance,\n handleFieldInput,\n hasModeIncludes,\n scrollToError,\n updateFieldsStates,\n validateForm,\n} from '@composables/useFormValidator/utils'\nimport { computed, nextTick, provide, ref, watch } from 'vue'\n\nexport function useFormValidator<\n Model extends BaseFormPayload,\n>({ schema, defaultValues, model, options }: UseFormValidatorParams<Model>) {\n const instance = getInstance<Model>('useFormValidator')\n\n const opts = {\n mode: CONFIG.mode,\n scrollToError: CONFIG.scrollToErrorSelector,\n debouncedFields: null,\n throttledFields: null,\n identifier: 'main-form-validator',\n ...options,\n } satisfies StrictOptions<Model>\n\n const internalDefaultValues = ref(defaultValues) as Ref<Partial<Model>>\n const payload = ref({ ...internalDefaultValues.value, ...model?.value }) as Ref<Model>\n const internalSchema = ref(schema) as Ref<FormSchema<Model>>\n const fieldsStates = ref(\n getFieldsStates<Model>({\n schema: internalSchema.value,\n payload: payload.value,\n options: opts,\n }),\n ) as Ref<FieldsStates<Model>>\n\n const isSubmitting = ref(false)\n const isSubmitted = ref(false)\n\n const isValid = computed(() => Object.values(fieldsStates.value).every(({ valid }) => valid))\n const isDirty = computed(() => Object.values(fieldsStates.value).some(({ dirty }) => dirty))\n const errors = computed(() => getFieldsErrors(fieldsStates.value))\n const errorMessages = computed(() => getErrorMessages(errors.value, fieldsStates.value))\n\n if (model) {\n watch(\n payload,\n (newModel) => {\n model.value = { ...internalDefaultValues.value, ...newModel }\n },\n { deep: true },\n )\n }\n\n watch(\n internalDefaultValues,\n (newDefaultValues) => {\n payload.value = { ...newDefaultValues, ...payload.value }\n },\n { deep: true },\n )\n\n watch(\n internalSchema,\n (schema) => {\n updateFieldsStates({\n schema,\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n options: opts,\n })\n internalValidateForm()\n },\n { deep: true },\n )\n\n internalValidateForm()\n\n function internalValidateForm(showErrors = opts.mode === 'aggressive') {\n return validateForm<Model>({\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n schema: internalSchema.value,\n showErrors,\n })\n }\n\n const watchedPayloadStopFunctions: WatchStopHandle[] = []\n\n async function addFieldValidationWatch(name: ExtractModelKey<FormSchema<Model>>) {\n await nextTick()\n\n const watchStopFunc = watch(\n () => payload.value[name],\n () => {\n const fieldState = fieldsStates.value[name]\n\n handleFieldInput<Model>({\n name,\n fieldState,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n forceValidation: hasModeIncludes(['aggressive', 'lazy', 'progressive'], fieldState.mode),\n })\n },\n { deep: typeof internalSchema.value[name] === 'object' },\n )\n\n watchedPayloadStopFunctions.push(watchStopFunc)\n }\n\n function addFieldsValidationWatch() {\n for (const watchStopFunc of watchedPayloadStopFunctions) {\n watchStopFunc()\n }\n\n for (const name of Object.keys(internalSchema.value)) {\n addFieldValidationWatch(name as ExtractModelKey<FormSchema<Model>>)\n }\n }\n\n function handleSubmit<Func extends (model: Model) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(\n successCallback: Func,\n enableScrollOrSelector?: FormValidatorOptions['scrollToError'],\n ) {\n return async (event?: Event) => {\n event?.preventDefault()\n\n if (isSubmitting.value)\n return\n\n isSubmitted.value = true\n isSubmitting.value = true\n\n try {\n await internalValidateForm(true)\n\n const scrollToErrorParam\n = typeof enableScrollOrSelector === 'string' ? enableScrollOrSelector : opts.scrollToError\n\n let response: Awaited<ReturnType<Func>> | ReturnType<Func> | undefined\n\n if (isValid.value) {\n response = await successCallback(payload.value)\n }\n else if (typeof scrollToErrorParam !== 'boolean') {\n scrollToError(scrollToErrorParam)\n }\n\n isSubmitting.value = false\n\n return response\n }\n finally {\n isSubmitting.value = false\n }\n }\n }\n\n const context = {\n fieldsStates,\n payload,\n options: opts,\n internalSchema,\n errorMessages,\n isSubmitted,\n } satisfies FormContext<Model>\n\n instance.formContexts ??= new Map()\n instance.formContexts.set(opts.identifier, context)\n\n provide(opts.identifier, context)\n\n addFieldsValidationWatch()\n\n return {\n identifier: opts.identifier,\n isDirty,\n isSubmitting,\n isSubmitted,\n isValid,\n errors,\n model: payload,\n fieldsStates,\n validateForm: internalValidateForm,\n scrollToError,\n handleSubmit,\n errorMessages,\n }\n}\n"],"names":["useFormValidator","schema","defaultValues","model","options","instance","getInstance","opts","CONFIG","internalDefaultValues","ref","payload","internalSchema","fieldsStates","getFieldsStates","isSubmitting","isSubmitted","isValid","computed","valid","isDirty","dirty","errors","getFieldsErrors","errorMessages","getErrorMessages","watch","newModel","newDefaultValues","updateFieldsStates","internalValidateForm","showErrors","validateForm","watchedPayloadStopFunctions","addFieldValidationWatch","name","nextTick","watchStopFunc","fieldState","handleFieldInput","hasModeIncludes","addFieldsValidationWatch","handleSubmit","successCallback","enableScrollOrSelector","event","scrollToErrorParam","response","scrollToError","context","provide"],"mappings":"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"}
1
+ {"version":3,"file":"useFormValidator.cjs","sources":["../../src/composables/useFormValidator.ts"],"sourcesContent":["import type { Ref, WatchStopHandle } from 'vue'\nimport type {\n BaseFormPayload,\n ExtractModelKey,\n FieldsStates,\n FormContext,\n FormSchema,\n FormValidatorOptions,\n StrictOptions,\n UseFormValidatorParams,\n} from '../composables/useFormValidator/types'\n\nimport { computed, nextTick, provide, ref, watch } from 'vue'\nimport { CONFIG } from '../composables/useFormValidator/config'\nimport {\n getErrorMessages,\n getFieldsErrors,\n getFieldsStates,\n getInstance,\n handleFieldInput,\n hasModeIncludes,\n scrollToError,\n updateFieldsStates,\n validateForm,\n} from '../composables/useFormValidator/utils'\n\nexport function useFormValidator<\n Model extends BaseFormPayload,\n>({ schema, defaultValues, model, options }: UseFormValidatorParams<Model>) {\n const instance = getInstance<Model>('useFormValidator')\n\n const opts = {\n mode: CONFIG.mode,\n scrollToError: CONFIG.scrollToErrorSelector,\n debouncedFields: null,\n throttledFields: null,\n identifier: 'main-form-validator',\n ...options,\n } satisfies StrictOptions<Model>\n\n const internalDefaultValues = ref(defaultValues) as Ref<Partial<Model>>\n const payload = ref({ ...internalDefaultValues.value, ...model?.value }) as Ref<Model>\n const internalSchema = ref(schema) as Ref<FormSchema<Model>>\n const fieldsStates = ref(\n getFieldsStates<Model>({\n schema: internalSchema.value,\n payload: payload.value,\n options: opts,\n }),\n ) as Ref<FieldsStates<Model>>\n\n const isSubmitting = ref(false)\n const isSubmitted = ref(false)\n\n const isValid = computed(() => Object.values(fieldsStates.value).every(({ valid }) => valid))\n const isDirty = computed(() => Object.values(fieldsStates.value).some(({ dirty }) => dirty))\n const errors = computed(() => getFieldsErrors(fieldsStates.value))\n const errorMessages = computed(() => getErrorMessages(errors.value, fieldsStates.value))\n\n if (model) {\n watch(\n payload,\n (newModel) => {\n model.value = { ...internalDefaultValues.value, ...newModel }\n },\n { deep: true },\n )\n }\n\n watch(\n internalDefaultValues,\n (newDefaultValues) => {\n payload.value = { ...newDefaultValues, ...payload.value }\n },\n { deep: true },\n )\n\n watch(\n internalSchema,\n (schema) => {\n updateFieldsStates({\n schema,\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n options: opts,\n })\n internalValidateForm()\n },\n { deep: true },\n )\n\n internalValidateForm()\n\n function internalValidateForm(showErrors = opts.mode === 'aggressive') {\n return validateForm<Model>({\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n schema: internalSchema.value,\n showErrors,\n })\n }\n\n const watchedPayloadStopFunctions: WatchStopHandle[] = []\n\n async function addFieldValidationWatch(name: ExtractModelKey<FormSchema<Model>>) {\n await nextTick()\n\n const watchStopFunc = watch(\n () => payload.value[name],\n () => {\n const fieldState = fieldsStates.value[name]\n\n handleFieldInput<Model>({\n name,\n fieldState,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n forceValidation: hasModeIncludes(['aggressive', 'lazy', 'progressive'], fieldState.mode),\n })\n },\n { deep: typeof internalSchema.value[name] === 'object' },\n )\n\n watchedPayloadStopFunctions.push(watchStopFunc)\n }\n\n function addFieldsValidationWatch() {\n for (const watchStopFunc of watchedPayloadStopFunctions) {\n watchStopFunc()\n }\n\n for (const name of Object.keys(internalSchema.value)) {\n addFieldValidationWatch(name as ExtractModelKey<FormSchema<Model>>)\n }\n }\n\n function handleSubmit<Func extends (model: Model) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(\n successCallback: Func,\n enableScrollOrSelector?: FormValidatorOptions['scrollToError'],\n ) {\n return async (event?: Event) => {\n event?.preventDefault()\n\n if (isSubmitting.value)\n return\n\n isSubmitted.value = true\n isSubmitting.value = true\n\n try {\n await internalValidateForm(true)\n\n const scrollToErrorParam\n = typeof enableScrollOrSelector === 'string' ? enableScrollOrSelector : opts.scrollToError\n\n let response: Awaited<ReturnType<Func>> | ReturnType<Func> | undefined\n\n if (isValid.value) {\n response = await successCallback(payload.value)\n }\n else if (typeof scrollToErrorParam !== 'boolean') {\n scrollToError(scrollToErrorParam)\n }\n\n isSubmitting.value = false\n\n return response\n }\n finally {\n isSubmitting.value = false\n }\n }\n }\n\n const context = {\n fieldsStates,\n payload,\n options: opts,\n internalSchema,\n errorMessages,\n isSubmitted,\n } satisfies FormContext<Model>\n\n instance.formContexts ??= new Map()\n instance.formContexts.set(opts.identifier, context)\n\n provide(opts.identifier, context)\n\n addFieldsValidationWatch()\n\n return {\n identifier: opts.identifier,\n isDirty,\n isSubmitting,\n isSubmitted,\n isValid,\n errors,\n model: payload,\n fieldsStates,\n validateForm: internalValidateForm,\n scrollToError,\n handleSubmit,\n errorMessages,\n }\n}\n"],"names":["useFormValidator","schema","defaultValues","model","options","instance","getInstance","opts","CONFIG","internalDefaultValues","ref","payload","internalSchema","fieldsStates","getFieldsStates","isSubmitting","isSubmitted","isValid","computed","valid","isDirty","dirty","errors","getFieldsErrors","errorMessages","getErrorMessages","watch","newModel","newDefaultValues","updateFieldsStates","internalValidateForm","showErrors","validateForm","watchedPayloadStopFunctions","addFieldValidationWatch","name","nextTick","watchStopFunc","fieldState","handleFieldInput","hasModeIncludes","addFieldsValidationWatch","handleSubmit","successCallback","enableScrollOrSelector","event","scrollToErrorParam","response","scrollToError","context","provide"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { g as O, C as V, a as k, b as P, c as W, u as z, v as G, s as E, h as N, d as q } from "../chunks/utils.Bex2hM45.mjs";
2
- import { ref as r, computed as f, watch as p, provide as A, nextTick as B } from "vue";
1
+ import { ref as r, computed as f, watch as p, provide as O, nextTick as k } from "vue";
2
+ import { g as P, C as V, a as W, b as z, c as G, u as N, v as q, s as E, h as A, d as B } from "../chunks/utils.BxNCknPj.mjs";
3
3
  function K({ schema: T, defaultValues: x, model: i, options: j }) {
4
- const n = O("useFormValidator"), s = {
4
+ const n = P("useFormValidator"), s = {
5
5
  mode: V.mode,
6
6
  scrollToError: V.scrollToErrorSelector,
7
7
  debouncedFields: null,
@@ -9,12 +9,12 @@ function K({ schema: T, defaultValues: x, model: i, options: j }) {
9
9
  identifier: "main-form-validator",
10
10
  ...j
11
11
  }, m = r(x), a = r({ ...m.value, ...i == null ? void 0 : i.value }), o = r(T), t = r(
12
- k({
12
+ W({
13
13
  schema: o.value,
14
14
  payload: a.value,
15
15
  options: s
16
16
  })
17
- ), u = r(!1), c = r(!1), h = f(() => Object.values(t.value).every(({ valid: e }) => e)), C = f(() => Object.values(t.value).some(({ dirty: e }) => e)), y = f(() => P(t.value)), F = f(() => W(y.value, t.value));
17
+ ), u = r(!1), c = r(!1), h = f(() => Object.values(t.value).every(({ valid: e }) => e)), C = f(() => Object.values(t.value).some(({ dirty: e }) => e)), y = f(() => z(t.value)), F = f(() => G(y.value, t.value));
18
18
  i && p(
19
19
  a,
20
20
  (e) => {
@@ -30,7 +30,7 @@ function K({ schema: T, defaultValues: x, model: i, options: j }) {
30
30
  ), p(
31
31
  o,
32
32
  (e) => {
33
- z({
33
+ N({
34
34
  schema: e,
35
35
  fieldsStates: t.value,
36
36
  payload: a.value,
@@ -40,7 +40,7 @@ function K({ schema: T, defaultValues: x, model: i, options: j }) {
40
40
  { deep: !0 }
41
41
  ), d();
42
42
  function d(e = s.mode === "aggressive") {
43
- return G({
43
+ return q({
44
44
  fieldsStates: t.value,
45
45
  payload: a.value,
46
46
  schema: o.value,
@@ -49,18 +49,18 @@ function K({ schema: T, defaultValues: x, model: i, options: j }) {
49
49
  }
50
50
  const g = [];
51
51
  async function I(e) {
52
- await B();
52
+ await k();
53
53
  const v = p(
54
54
  () => a.value[e],
55
55
  () => {
56
56
  const l = t.value[e];
57
- N({
57
+ A({
58
58
  name: e,
59
59
  fieldState: l,
60
60
  payload: a.value,
61
61
  schema: o.value,
62
62
  isSubmitted: c.value,
63
- forceValidation: q(["aggressive", "lazy", "progressive"], l.mode)
63
+ forceValidation: B(["aggressive", "lazy", "progressive"], l.mode)
64
64
  });
65
65
  },
66
66
  { deep: typeof o.value[e] == "object" }
@@ -96,7 +96,7 @@ function K({ schema: T, defaultValues: x, model: i, options: j }) {
96
96
  errorMessages: F,
97
97
  isSubmitted: c
98
98
  };
99
- return n.formContexts ?? (n.formContexts = /* @__PURE__ */ new Map()), n.formContexts.set(s.identifier, S), A(s.identifier, S), M(), {
99
+ return n.formContexts ?? (n.formContexts = /* @__PURE__ */ new Map()), n.formContexts.set(s.identifier, S), O(s.identifier, S), M(), {
100
100
  identifier: s.identifier,
101
101
  isDirty: C,
102
102
  isSubmitting: u,
@@ -1 +1 @@
1
- {"version":3,"file":"useFormValidator.mjs","sources":["../../src/composables/useFormValidator.ts"],"sourcesContent":["import type {\n BaseFormPayload,\n ExtractModelKey,\n FieldsStates,\n FormContext,\n FormSchema,\n FormValidatorOptions,\n StrictOptions,\n UseFormValidatorParams,\n} from '@composables/useFormValidator/types'\nimport type { Ref, WatchStopHandle } from 'vue'\n\nimport { CONFIG } from '@composables/useFormValidator/config'\nimport {\n getErrorMessages,\n getFieldsErrors,\n getFieldsStates,\n getInstance,\n handleFieldInput,\n hasModeIncludes,\n scrollToError,\n updateFieldsStates,\n validateForm,\n} from '@composables/useFormValidator/utils'\nimport { computed, nextTick, provide, ref, watch } from 'vue'\n\nexport function useFormValidator<\n Model extends BaseFormPayload,\n>({ schema, defaultValues, model, options }: UseFormValidatorParams<Model>) {\n const instance = getInstance<Model>('useFormValidator')\n\n const opts = {\n mode: CONFIG.mode,\n scrollToError: CONFIG.scrollToErrorSelector,\n debouncedFields: null,\n throttledFields: null,\n identifier: 'main-form-validator',\n ...options,\n } satisfies StrictOptions<Model>\n\n const internalDefaultValues = ref(defaultValues) as Ref<Partial<Model>>\n const payload = ref({ ...internalDefaultValues.value, ...model?.value }) as Ref<Model>\n const internalSchema = ref(schema) as Ref<FormSchema<Model>>\n const fieldsStates = ref(\n getFieldsStates<Model>({\n schema: internalSchema.value,\n payload: payload.value,\n options: opts,\n }),\n ) as Ref<FieldsStates<Model>>\n\n const isSubmitting = ref(false)\n const isSubmitted = ref(false)\n\n const isValid = computed(() => Object.values(fieldsStates.value).every(({ valid }) => valid))\n const isDirty = computed(() => Object.values(fieldsStates.value).some(({ dirty }) => dirty))\n const errors = computed(() => getFieldsErrors(fieldsStates.value))\n const errorMessages = computed(() => getErrorMessages(errors.value, fieldsStates.value))\n\n if (model) {\n watch(\n payload,\n (newModel) => {\n model.value = { ...internalDefaultValues.value, ...newModel }\n },\n { deep: true },\n )\n }\n\n watch(\n internalDefaultValues,\n (newDefaultValues) => {\n payload.value = { ...newDefaultValues, ...payload.value }\n },\n { deep: true },\n )\n\n watch(\n internalSchema,\n (schema) => {\n updateFieldsStates({\n schema,\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n options: opts,\n })\n internalValidateForm()\n },\n { deep: true },\n )\n\n internalValidateForm()\n\n function internalValidateForm(showErrors = opts.mode === 'aggressive') {\n return validateForm<Model>({\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n schema: internalSchema.value,\n showErrors,\n })\n }\n\n const watchedPayloadStopFunctions: WatchStopHandle[] = []\n\n async function addFieldValidationWatch(name: ExtractModelKey<FormSchema<Model>>) {\n await nextTick()\n\n const watchStopFunc = watch(\n () => payload.value[name],\n () => {\n const fieldState = fieldsStates.value[name]\n\n handleFieldInput<Model>({\n name,\n fieldState,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n forceValidation: hasModeIncludes(['aggressive', 'lazy', 'progressive'], fieldState.mode),\n })\n },\n { deep: typeof internalSchema.value[name] === 'object' },\n )\n\n watchedPayloadStopFunctions.push(watchStopFunc)\n }\n\n function addFieldsValidationWatch() {\n for (const watchStopFunc of watchedPayloadStopFunctions) {\n watchStopFunc()\n }\n\n for (const name of Object.keys(internalSchema.value)) {\n addFieldValidationWatch(name as ExtractModelKey<FormSchema<Model>>)\n }\n }\n\n function handleSubmit<Func extends (model: Model) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(\n successCallback: Func,\n enableScrollOrSelector?: FormValidatorOptions['scrollToError'],\n ) {\n return async (event?: Event) => {\n event?.preventDefault()\n\n if (isSubmitting.value)\n return\n\n isSubmitted.value = true\n isSubmitting.value = true\n\n try {\n await internalValidateForm(true)\n\n const scrollToErrorParam\n = typeof enableScrollOrSelector === 'string' ? enableScrollOrSelector : opts.scrollToError\n\n let response: Awaited<ReturnType<Func>> | ReturnType<Func> | undefined\n\n if (isValid.value) {\n response = await successCallback(payload.value)\n }\n else if (typeof scrollToErrorParam !== 'boolean') {\n scrollToError(scrollToErrorParam)\n }\n\n isSubmitting.value = false\n\n return response\n }\n finally {\n isSubmitting.value = false\n }\n }\n }\n\n const context = {\n fieldsStates,\n payload,\n options: opts,\n internalSchema,\n errorMessages,\n isSubmitted,\n } satisfies FormContext<Model>\n\n instance.formContexts ??= new Map()\n instance.formContexts.set(opts.identifier, context)\n\n provide(opts.identifier, context)\n\n addFieldsValidationWatch()\n\n return {\n identifier: opts.identifier,\n isDirty,\n isSubmitting,\n isSubmitted,\n isValid,\n errors,\n model: payload,\n fieldsStates,\n validateForm: internalValidateForm,\n scrollToError,\n handleSubmit,\n errorMessages,\n }\n}\n"],"names":["useFormValidator","schema","defaultValues","model","options","instance","getInstance","opts","CONFIG","internalDefaultValues","ref","payload","internalSchema","fieldsStates","getFieldsStates","isSubmitting","isSubmitted","isValid","computed","valid","isDirty","dirty","errors","getFieldsErrors","errorMessages","getErrorMessages","watch","newModel","newDefaultValues","updateFieldsStates","internalValidateForm","showErrors","validateForm","watchedPayloadStopFunctions","addFieldValidationWatch","name","nextTick","watchStopFunc","fieldState","handleFieldInput","hasModeIncludes","addFieldsValidationWatch","handleSubmit","successCallback","enableScrollOrSelector","event","scrollToErrorParam","response","scrollToError","context","provide"],"mappings":"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"}
1
+ {"version":3,"file":"useFormValidator.mjs","sources":["../../src/composables/useFormValidator.ts"],"sourcesContent":["import type { Ref, WatchStopHandle } from 'vue'\nimport type {\n BaseFormPayload,\n ExtractModelKey,\n FieldsStates,\n FormContext,\n FormSchema,\n FormValidatorOptions,\n StrictOptions,\n UseFormValidatorParams,\n} from '../composables/useFormValidator/types'\n\nimport { computed, nextTick, provide, ref, watch } from 'vue'\nimport { CONFIG } from '../composables/useFormValidator/config'\nimport {\n getErrorMessages,\n getFieldsErrors,\n getFieldsStates,\n getInstance,\n handleFieldInput,\n hasModeIncludes,\n scrollToError,\n updateFieldsStates,\n validateForm,\n} from '../composables/useFormValidator/utils'\n\nexport function useFormValidator<\n Model extends BaseFormPayload,\n>({ schema, defaultValues, model, options }: UseFormValidatorParams<Model>) {\n const instance = getInstance<Model>('useFormValidator')\n\n const opts = {\n mode: CONFIG.mode,\n scrollToError: CONFIG.scrollToErrorSelector,\n debouncedFields: null,\n throttledFields: null,\n identifier: 'main-form-validator',\n ...options,\n } satisfies StrictOptions<Model>\n\n const internalDefaultValues = ref(defaultValues) as Ref<Partial<Model>>\n const payload = ref({ ...internalDefaultValues.value, ...model?.value }) as Ref<Model>\n const internalSchema = ref(schema) as Ref<FormSchema<Model>>\n const fieldsStates = ref(\n getFieldsStates<Model>({\n schema: internalSchema.value,\n payload: payload.value,\n options: opts,\n }),\n ) as Ref<FieldsStates<Model>>\n\n const isSubmitting = ref(false)\n const isSubmitted = ref(false)\n\n const isValid = computed(() => Object.values(fieldsStates.value).every(({ valid }) => valid))\n const isDirty = computed(() => Object.values(fieldsStates.value).some(({ dirty }) => dirty))\n const errors = computed(() => getFieldsErrors(fieldsStates.value))\n const errorMessages = computed(() => getErrorMessages(errors.value, fieldsStates.value))\n\n if (model) {\n watch(\n payload,\n (newModel) => {\n model.value = { ...internalDefaultValues.value, ...newModel }\n },\n { deep: true },\n )\n }\n\n watch(\n internalDefaultValues,\n (newDefaultValues) => {\n payload.value = { ...newDefaultValues, ...payload.value }\n },\n { deep: true },\n )\n\n watch(\n internalSchema,\n (schema) => {\n updateFieldsStates({\n schema,\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n options: opts,\n })\n internalValidateForm()\n },\n { deep: true },\n )\n\n internalValidateForm()\n\n function internalValidateForm(showErrors = opts.mode === 'aggressive') {\n return validateForm<Model>({\n fieldsStates: fieldsStates.value,\n payload: payload.value,\n schema: internalSchema.value,\n showErrors,\n })\n }\n\n const watchedPayloadStopFunctions: WatchStopHandle[] = []\n\n async function addFieldValidationWatch(name: ExtractModelKey<FormSchema<Model>>) {\n await nextTick()\n\n const watchStopFunc = watch(\n () => payload.value[name],\n () => {\n const fieldState = fieldsStates.value[name]\n\n handleFieldInput<Model>({\n name,\n fieldState,\n payload: payload.value,\n schema: internalSchema.value,\n isSubmitted: isSubmitted.value,\n forceValidation: hasModeIncludes(['aggressive', 'lazy', 'progressive'], fieldState.mode),\n })\n },\n { deep: typeof internalSchema.value[name] === 'object' },\n )\n\n watchedPayloadStopFunctions.push(watchStopFunc)\n }\n\n function addFieldsValidationWatch() {\n for (const watchStopFunc of watchedPayloadStopFunctions) {\n watchStopFunc()\n }\n\n for (const name of Object.keys(internalSchema.value)) {\n addFieldValidationWatch(name as ExtractModelKey<FormSchema<Model>>)\n }\n }\n\n function handleSubmit<Func extends (model: Model) => Promise<Awaited<ReturnType<Func>>> | ReturnType<Func>>(\n successCallback: Func,\n enableScrollOrSelector?: FormValidatorOptions['scrollToError'],\n ) {\n return async (event?: Event) => {\n event?.preventDefault()\n\n if (isSubmitting.value)\n return\n\n isSubmitted.value = true\n isSubmitting.value = true\n\n try {\n await internalValidateForm(true)\n\n const scrollToErrorParam\n = typeof enableScrollOrSelector === 'string' ? enableScrollOrSelector : opts.scrollToError\n\n let response: Awaited<ReturnType<Func>> | ReturnType<Func> | undefined\n\n if (isValid.value) {\n response = await successCallback(payload.value)\n }\n else if (typeof scrollToErrorParam !== 'boolean') {\n scrollToError(scrollToErrorParam)\n }\n\n isSubmitting.value = false\n\n return response\n }\n finally {\n isSubmitting.value = false\n }\n }\n }\n\n const context = {\n fieldsStates,\n payload,\n options: opts,\n internalSchema,\n errorMessages,\n isSubmitted,\n } satisfies FormContext<Model>\n\n instance.formContexts ??= new Map()\n instance.formContexts.set(opts.identifier, context)\n\n provide(opts.identifier, context)\n\n addFieldsValidationWatch()\n\n return {\n identifier: opts.identifier,\n isDirty,\n isSubmitting,\n isSubmitted,\n isValid,\n errors,\n model: payload,\n fieldsStates,\n validateForm: internalValidateForm,\n scrollToError,\n handleSubmit,\n errorMessages,\n }\n}\n"],"names":["useFormValidator","schema","defaultValues","model","options","instance","getInstance","opts","CONFIG","internalDefaultValues","ref","payload","internalSchema","fieldsStates","getFieldsStates","isSubmitting","isSubmitted","isValid","computed","valid","isDirty","dirty","errors","getFieldsErrors","errorMessages","getErrorMessages","watch","newModel","newDefaultValues","updateFieldsStates","internalValidateForm","showErrors","validateForm","watchedPayloadStopFunctions","addFieldValidationWatch","name","nextTick","watchStopFunc","fieldState","handleFieldInput","hasModeIncludes","addFieldsValidationWatch","handleSubmit","successCallback","enableScrollOrSelector","event","scrollToErrorParam","response","scrollToError","context","provide"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIdleTimeout.cjs","sources":["../../src/composables/useIdleTimeout.ts"],"sourcesContent":["import {\n IdleTimeout,\n type IdleTimeoutCallback,\n type IdleTimeoutOptions,\n} from '@helpers/idleTimeout'\n\nexport function useIdleTimeout({\n callback,\n options,\n}: {\n callback: IdleTimeoutCallback\n options?: IdleTimeoutOptions\n}) {\n return new IdleTimeout(callback, options)\n}\n"],"names":["useIdleTimeout","callback","options","IdleTimeout"],"mappings":"8HAMO,SAASA,EAAe,CAC7B,SAAAC,EACA,QAAAC,CACF,EAGG,CACM,OAAA,IAAIC,EAAAA,YAAYF,EAAUC,CAAO,CAC1C"}
1
+ {"version":3,"file":"useIdleTimeout.cjs","sources":["../../src/composables/useIdleTimeout.ts"],"sourcesContent":["import {\n IdleTimeout,\n type IdleTimeoutCallback,\n type IdleTimeoutOptions,\n} from '../helpers/idleTimeout'\n\nexport function useIdleTimeout({\n callback,\n options,\n}: {\n callback: IdleTimeoutCallback\n options?: IdleTimeoutOptions\n}) {\n return new IdleTimeout(callback, options)\n}\n"],"names":["useIdleTimeout","callback","options","IdleTimeout"],"mappings":"8HAMO,SAASA,EAAe,CAC7B,SAAAC,EACA,QAAAC,CACF,EAGG,CACM,OAAA,IAAIC,EAAAA,YAAYF,EAAUC,CAAO,CAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIdleTimeout.mjs","sources":["../../src/composables/useIdleTimeout.ts"],"sourcesContent":["import {\n IdleTimeout,\n type IdleTimeoutCallback,\n type IdleTimeoutOptions,\n} from '@helpers/idleTimeout'\n\nexport function useIdleTimeout({\n callback,\n options,\n}: {\n callback: IdleTimeoutCallback\n options?: IdleTimeoutOptions\n}) {\n return new IdleTimeout(callback, options)\n}\n"],"names":["useIdleTimeout","callback","options","IdleTimeout"],"mappings":";AAMO,SAASA,EAAe;AAAA,EAC7B,UAAAC;AAAA,EACA,SAAAC;AACF,GAGG;AACM,SAAA,IAAIC,EAAYF,GAAUC,CAAO;AAC1C;"}
1
+ {"version":3,"file":"useIdleTimeout.mjs","sources":["../../src/composables/useIdleTimeout.ts"],"sourcesContent":["import {\n IdleTimeout,\n type IdleTimeoutCallback,\n type IdleTimeoutOptions,\n} from '../helpers/idleTimeout'\n\nexport function useIdleTimeout({\n callback,\n options,\n}: {\n callback: IdleTimeoutCallback\n options?: IdleTimeoutOptions\n}) {\n return new IdleTimeout(callback, options)\n}\n"],"names":["useIdleTimeout","callback","options","IdleTimeout"],"mappings":";AAMO,SAASA,EAAe;AAAA,EAC7B,UAAAC;AAAA,EACA,SAAAC;AACF,GAGG;AACM,SAAA,IAAIC,EAAYF,GAAUC,CAAO;AAC1C;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../helpers/normalizeString.cjs"),r=require("vue");function g(t,n){const o=t.length,u=n.length,c=[];for(let e=0;e<=o;e++)c[e]=[e];for(let e=0;e<=u;e++)c[0][e]=e;for(let e=1;e<=o;e++)for(let i=1;i<=u;i++){const a=t[e-1]===n[i-1]?0:1;c[e][i]=Math.min(c[e-1][i]+1,c[e][i-1]+1,c[e-1][i-1]+a)}return c[o][u]}function s(t,n){const o=g(t,n),u=Math.max(t.length,n.length);return 1-o/u}function h(t,n,o=.75){return s(t,n)>=o}function m(t,n,o=.75){const u=r.computed(()=>l.normalizeString(typeof t=="string"?t:t.value)),c=r.computed(()=>l.normalizeString(typeof n=="string"?n:n.value)),e=r.computed(()=>typeof o=="number"?o:o.value),i=r.computed(()=>s(u.value,c.value));return{isMatching:r.computed(()=>h(u.value,c.value,e.value)),score:i}}exports.useStringMatching=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),l=require("../helpers/normalizeString.cjs");function g(t,n){const o=t.length,u=n.length,c=[];for(let e=0;e<=o;e++)c[e]=[e];for(let e=0;e<=u;e++)c[0][e]=e;for(let e=1;e<=o;e++)for(let i=1;i<=u;i++){const a=t[e-1]===n[i-1]?0:1;c[e][i]=Math.min(c[e-1][i]+1,c[e][i-1]+1,c[e-1][i-1]+a)}return c[o][u]}function s(t,n){const o=g(t,n),u=Math.max(t.length,n.length);return 1-o/u}function h(t,n,o=.75){return s(t,n)>=o}function m(t,n,o=.75){const u=r.computed(()=>l.normalizeString(typeof t=="string"?t:t.value)),c=r.computed(()=>l.normalizeString(typeof n=="string"?n:n.value)),e=r.computed(()=>typeof o=="number"?o:o.value),i=r.computed(()=>s(u.value,c.value));return{isMatching:r.computed(()=>h(u.value,c.value,e.value)),score:i}}exports.useStringMatching=m;
2
2
  //# sourceMappingURL=useStringMatching.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStringMatching.cjs","sources":["../../src/composables/useStringMatching.ts"],"sourcesContent":["import { normalizeString } from '@helpers/normalizeString'\nimport { computed, type Ref } from 'vue'\n\nfunction levenshteinDistance(string1: string, string2: string): number {\n const length1 = string1.length\n const length2 = string2.length\n\n const matrix: number[][] = []\n\n for (let index = 0; index <= length1; index++) {\n matrix[index] = [index]\n }\n for (let index = 0; index <= length2; index++) {\n matrix[0][index] = index\n }\n\n // Calcul de la distance de Levenshtein\n for (let index = 1; index <= length1; index++) {\n for (let index_ = 1; index_ <= length2; index_++) {\n const cost = string1[index - 1] === string2[index_ - 1] ? 0 : 1\n matrix[index][index_] = Math.min(\n matrix[index - 1][index_] + 1,\n matrix[index][index_ - 1] + 1,\n matrix[index - 1][index_ - 1] + cost,\n )\n }\n }\n\n return matrix[length1][length2]\n}\n\nfunction getMatchingScore(string1: string, string2: string): number {\n const distance = levenshteinDistance(string1, string2)\n\n const maxLength = Math.max(string1.length, string2.length)\n return 1 - distance / maxLength\n}\n\nfunction getMatchingResults(string1: string, string2: string, threshold = 0.75): boolean {\n const score = getMatchingScore(string1, string2)\n\n return score >= threshold\n}\n\nexport function useStringMatching(\n string1: string | Ref<string>,\n string2: string | Ref<string>,\n threshold: number | Ref<number> = 0.75,\n) {\n const _string1 = computed(() =>\n normalizeString(typeof string1 === 'string' ? string1 : string1.value),\n )\n const _string2 = computed(() =>\n normalizeString(typeof string2 === 'string' ? string2 : string2.value),\n )\n const _threshold = computed(() => (typeof threshold === 'number' ? threshold : threshold.value))\n\n const score = computed(() => getMatchingScore(_string1.value, _string2.value))\n\n const isMatching = computed(() =>\n getMatchingResults(_string1.value, _string2.value, _threshold.value),\n )\n\n return {\n isMatching,\n score,\n }\n}\n"],"names":["levenshteinDistance","string1","string2","length1","length2","matrix","index","index_","cost","getMatchingScore","distance","maxLength","getMatchingResults","threshold","useStringMatching","_string1","computed","normalizeString","_string2","_threshold","score"],"mappings":"mJAGA,SAASA,EAAoBC,EAAiBC,EAAyB,CACrE,MAAMC,EAAUF,EAAQ,OAClBG,EAAUF,EAAQ,OAElBG,EAAqB,CAAC,EAE5B,QAASC,EAAQ,EAAGA,GAASH,EAASG,IAC7BD,EAAAC,CAAK,EAAI,CAACA,CAAK,EAExB,QAASA,EAAQ,EAAGA,GAASF,EAASE,IAC7BD,EAAA,CAAC,EAAEC,CAAK,EAAIA,EAIrB,QAASA,EAAQ,EAAGA,GAASH,EAASG,IACpC,QAASC,EAAS,EAAGA,GAAUH,EAASG,IAAU,CAC1C,MAAAC,EAAOP,EAAQK,EAAQ,CAAC,IAAMJ,EAAQK,EAAS,CAAC,EAAI,EAAI,EAC9DF,EAAOC,CAAK,EAAEC,CAAM,EAAI,KAAK,IAC3BF,EAAOC,EAAQ,CAAC,EAAEC,CAAM,EAAI,EAC5BF,EAAOC,CAAK,EAAEC,EAAS,CAAC,EAAI,EAC5BF,EAAOC,EAAQ,CAAC,EAAEC,EAAS,CAAC,EAAIC,CAClC,CAAA,CAIG,OAAAH,EAAOF,CAAO,EAAEC,CAAO,CAChC,CAEA,SAASK,EAAiBR,EAAiBC,EAAyB,CAC5D,MAAAQ,EAAWV,EAAoBC,EAASC,CAAO,EAE/CS,EAAY,KAAK,IAAIV,EAAQ,OAAQC,EAAQ,MAAM,EACzD,MAAO,GAAIQ,EAAWC,CACxB,CAEA,SAASC,EAAmBX,EAAiBC,EAAiBW,EAAY,IAAe,CAGvF,OAFcJ,EAAiBR,EAASC,CAAO,GAE/BW,CAClB,CAEO,SAASC,EACdb,EACAC,EACAW,EAAkC,IAClC,CACA,MAAME,EAAWC,EAAA,SAAS,IACxBC,EAAAA,gBAAgB,OAAOhB,GAAY,SAAWA,EAAUA,EAAQ,KAAK,CACvE,EACMiB,EAAWF,EAAA,SAAS,IACxBC,EAAAA,gBAAgB,OAAOf,GAAY,SAAWA,EAAUA,EAAQ,KAAK,CACvE,EACMiB,EAAaH,WAAS,IAAO,OAAOH,GAAc,SAAWA,EAAYA,EAAU,KAAM,EAEzFO,EAAQJ,WAAS,IAAMP,EAAiBM,EAAS,MAAOG,EAAS,KAAK,CAAC,EAMtE,MAAA,CACL,WALiBF,EAAA,SAAS,IAC1BJ,EAAmBG,EAAS,MAAOG,EAAS,MAAOC,EAAW,KAAK,CACrE,EAIE,MAAAC,CACF,CACF"}
1
+ {"version":3,"file":"useStringMatching.cjs","sources":["../../src/composables/useStringMatching.ts"],"sourcesContent":["import { computed, type Ref } from 'vue'\nimport { normalizeString } from '../helpers/normalizeString'\n\nfunction levenshteinDistance(string1: string, string2: string): number {\n const length1 = string1.length\n const length2 = string2.length\n\n const matrix: number[][] = []\n\n for (let index = 0; index <= length1; index++) {\n matrix[index] = [index]\n }\n for (let index = 0; index <= length2; index++) {\n matrix[0][index] = index\n }\n\n // Calcul de la distance de Levenshtein\n for (let index = 1; index <= length1; index++) {\n for (let index_ = 1; index_ <= length2; index_++) {\n const cost = string1[index - 1] === string2[index_ - 1] ? 0 : 1\n matrix[index][index_] = Math.min(\n matrix[index - 1][index_] + 1,\n matrix[index][index_ - 1] + 1,\n matrix[index - 1][index_ - 1] + cost,\n )\n }\n }\n\n return matrix[length1][length2]\n}\n\nfunction getMatchingScore(string1: string, string2: string): number {\n const distance = levenshteinDistance(string1, string2)\n\n const maxLength = Math.max(string1.length, string2.length)\n return 1 - distance / maxLength\n}\n\nfunction getMatchingResults(string1: string, string2: string, threshold = 0.75): boolean {\n const score = getMatchingScore(string1, string2)\n\n return score >= threshold\n}\n\nexport function useStringMatching(\n string1: string | Ref<string>,\n string2: string | Ref<string>,\n threshold: number | Ref<number> = 0.75,\n) {\n const _string1 = computed(() =>\n normalizeString(typeof string1 === 'string' ? string1 : string1.value),\n )\n const _string2 = computed(() =>\n normalizeString(typeof string2 === 'string' ? string2 : string2.value),\n )\n const _threshold = computed(() => (typeof threshold === 'number' ? threshold : threshold.value))\n\n const score = computed(() => getMatchingScore(_string1.value, _string2.value))\n\n const isMatching = computed(() =>\n getMatchingResults(_string1.value, _string2.value, _threshold.value),\n )\n\n return {\n isMatching,\n score,\n }\n}\n"],"names":["levenshteinDistance","string1","string2","length1","length2","matrix","index","index_","cost","getMatchingScore","distance","maxLength","getMatchingResults","threshold","useStringMatching","_string1","computed","normalizeString","_string2","_threshold","score"],"mappings":"mJAGA,SAASA,EAAoBC,EAAiBC,EAAyB,CACrE,MAAMC,EAAUF,EAAQ,OAClBG,EAAUF,EAAQ,OAElBG,EAAqB,CAAC,EAE5B,QAASC,EAAQ,EAAGA,GAASH,EAASG,IAC7BD,EAAAC,CAAK,EAAI,CAACA,CAAK,EAExB,QAASA,EAAQ,EAAGA,GAASF,EAASE,IAC7BD,EAAA,CAAC,EAAEC,CAAK,EAAIA,EAIrB,QAASA,EAAQ,EAAGA,GAASH,EAASG,IACpC,QAASC,EAAS,EAAGA,GAAUH,EAASG,IAAU,CAC1C,MAAAC,EAAOP,EAAQK,EAAQ,CAAC,IAAMJ,EAAQK,EAAS,CAAC,EAAI,EAAI,EAC9DF,EAAOC,CAAK,EAAEC,CAAM,EAAI,KAAK,IAC3BF,EAAOC,EAAQ,CAAC,EAAEC,CAAM,EAAI,EAC5BF,EAAOC,CAAK,EAAEC,EAAS,CAAC,EAAI,EAC5BF,EAAOC,EAAQ,CAAC,EAAEC,EAAS,CAAC,EAAIC,CAClC,CAAA,CAIG,OAAAH,EAAOF,CAAO,EAAEC,CAAO,CAChC,CAEA,SAASK,EAAiBR,EAAiBC,EAAyB,CAC5D,MAAAQ,EAAWV,EAAoBC,EAASC,CAAO,EAE/CS,EAAY,KAAK,IAAIV,EAAQ,OAAQC,EAAQ,MAAM,EACzD,MAAO,GAAIQ,EAAWC,CACxB,CAEA,SAASC,EAAmBX,EAAiBC,EAAiBW,EAAY,IAAe,CAGvF,OAFcJ,EAAiBR,EAASC,CAAO,GAE/BW,CAClB,CAEO,SAASC,EACdb,EACAC,EACAW,EAAkC,IAClC,CACA,MAAME,EAAWC,EAAA,SAAS,IACxBC,EAAAA,gBAAgB,OAAOhB,GAAY,SAAWA,EAAUA,EAAQ,KAAK,CACvE,EACMiB,EAAWF,EAAA,SAAS,IACxBC,EAAAA,gBAAgB,OAAOf,GAAY,SAAWA,EAAUA,EAAQ,KAAK,CACvE,EACMiB,EAAaH,WAAS,IAAO,OAAOH,GAAc,SAAWA,EAAYA,EAAU,KAAM,EAEzFO,EAAQJ,WAAS,IAAMP,EAAiBM,EAAS,MAAOG,EAAS,KAAK,CAAC,EAMtE,MAAA,CACL,WALiBF,EAAA,SAAS,IAC1BJ,EAAmBG,EAAS,MAAOG,EAAS,MAAOC,EAAW,KAAK,CACrE,EAIE,MAAAC,CACF,CACF"}
@@ -1,5 +1,5 @@
1
- import { normalizeString as u } from "../helpers/normalizeString.mjs";
2
1
  import { computed as r } from "vue";
2
+ import { normalizeString as u } from "../helpers/normalizeString.mjs";
3
3
  function f(e, n) {
4
4
  const o = e.length, a = n.length, c = [];
5
5
  for (let t = 0; t <= o; t++)
@@ -1 +1 @@
1
- {"version":3,"file":"useStringMatching.mjs","sources":["../../src/composables/useStringMatching.ts"],"sourcesContent":["import { normalizeString } from '@helpers/normalizeString'\nimport { computed, type Ref } from 'vue'\n\nfunction levenshteinDistance(string1: string, string2: string): number {\n const length1 = string1.length\n const length2 = string2.length\n\n const matrix: number[][] = []\n\n for (let index = 0; index <= length1; index++) {\n matrix[index] = [index]\n }\n for (let index = 0; index <= length2; index++) {\n matrix[0][index] = index\n }\n\n // Calcul de la distance de Levenshtein\n for (let index = 1; index <= length1; index++) {\n for (let index_ = 1; index_ <= length2; index_++) {\n const cost = string1[index - 1] === string2[index_ - 1] ? 0 : 1\n matrix[index][index_] = Math.min(\n matrix[index - 1][index_] + 1,\n matrix[index][index_ - 1] + 1,\n matrix[index - 1][index_ - 1] + cost,\n )\n }\n }\n\n return matrix[length1][length2]\n}\n\nfunction getMatchingScore(string1: string, string2: string): number {\n const distance = levenshteinDistance(string1, string2)\n\n const maxLength = Math.max(string1.length, string2.length)\n return 1 - distance / maxLength\n}\n\nfunction getMatchingResults(string1: string, string2: string, threshold = 0.75): boolean {\n const score = getMatchingScore(string1, string2)\n\n return score >= threshold\n}\n\nexport function useStringMatching(\n string1: string | Ref<string>,\n string2: string | Ref<string>,\n threshold: number | Ref<number> = 0.75,\n) {\n const _string1 = computed(() =>\n normalizeString(typeof string1 === 'string' ? string1 : string1.value),\n )\n const _string2 = computed(() =>\n normalizeString(typeof string2 === 'string' ? string2 : string2.value),\n )\n const _threshold = computed(() => (typeof threshold === 'number' ? threshold : threshold.value))\n\n const score = computed(() => getMatchingScore(_string1.value, _string2.value))\n\n const isMatching = computed(() =>\n getMatchingResults(_string1.value, _string2.value, _threshold.value),\n )\n\n return {\n isMatching,\n score,\n }\n}\n"],"names":["levenshteinDistance","string1","string2","length1","length2","matrix","index","index_","cost","getMatchingScore","distance","maxLength","getMatchingResults","threshold","useStringMatching","_string1","computed","normalizeString","_string2","_threshold","score"],"mappings":";;AAGA,SAASA,EAAoBC,GAAiBC,GAAyB;AACrE,QAAMC,IAAUF,EAAQ,QAClBG,IAAUF,EAAQ,QAElBG,IAAqB,CAAC;AAE5B,WAASC,IAAQ,GAAGA,KAASH,GAASG;AAC7B,IAAAD,EAAAC,CAAK,IAAI,CAACA,CAAK;AAExB,WAASA,IAAQ,GAAGA,KAASF,GAASE;AAC7B,IAAAD,EAAA,CAAC,EAAEC,CAAK,IAAIA;AAIrB,WAASA,IAAQ,GAAGA,KAASH,GAASG;AACpC,aAASC,IAAS,GAAGA,KAAUH,GAASG,KAAU;AAC1C,YAAAC,IAAOP,EAAQK,IAAQ,CAAC,MAAMJ,EAAQK,IAAS,CAAC,IAAI,IAAI;AAC9D,MAAAF,EAAOC,CAAK,EAAEC,CAAM,IAAI,KAAK;AAAA,QAC3BF,EAAOC,IAAQ,CAAC,EAAEC,CAAM,IAAI;AAAA,QAC5BF,EAAOC,CAAK,EAAEC,IAAS,CAAC,IAAI;AAAA,QAC5BF,EAAOC,IAAQ,CAAC,EAAEC,IAAS,CAAC,IAAIC;AAAA,MAClC;AAAA,IAAA;AAIG,SAAAH,EAAOF,CAAO,EAAEC,CAAO;AAChC;AAEA,SAASK,EAAiBR,GAAiBC,GAAyB;AAC5D,QAAAQ,IAAWV,EAAoBC,GAASC,CAAO,GAE/CS,IAAY,KAAK,IAAIV,EAAQ,QAAQC,EAAQ,MAAM;AACzD,SAAO,IAAIQ,IAAWC;AACxB;AAEA,SAASC,EAAmBX,GAAiBC,GAAiBW,IAAY,MAAe;AAGvF,SAFcJ,EAAiBR,GAASC,CAAO,KAE/BW;AAClB;AAEO,SAASC,EACdb,GACAC,GACAW,IAAkC,MAClC;AACA,QAAME,IAAWC;AAAA,IAAS,MACxBC,EAAgB,OAAOhB,KAAY,WAAWA,IAAUA,EAAQ,KAAK;AAAA,EACvE,GACMiB,IAAWF;AAAA,IAAS,MACxBC,EAAgB,OAAOf,KAAY,WAAWA,IAAUA,EAAQ,KAAK;AAAA,EACvE,GACMiB,IAAaH,EAAS,MAAO,OAAOH,KAAc,WAAWA,IAAYA,EAAU,KAAM,GAEzFO,IAAQJ,EAAS,MAAMP,EAAiBM,EAAS,OAAOG,EAAS,KAAK,CAAC;AAMtE,SAAA;AAAA,IACL,YALiBF;AAAA,MAAS,MAC1BJ,EAAmBG,EAAS,OAAOG,EAAS,OAAOC,EAAW,KAAK;AAAA,IACrE;AAAA,IAIE,OAAAC;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"useStringMatching.mjs","sources":["../../src/composables/useStringMatching.ts"],"sourcesContent":["import { computed, type Ref } from 'vue'\nimport { normalizeString } from '../helpers/normalizeString'\n\nfunction levenshteinDistance(string1: string, string2: string): number {\n const length1 = string1.length\n const length2 = string2.length\n\n const matrix: number[][] = []\n\n for (let index = 0; index <= length1; index++) {\n matrix[index] = [index]\n }\n for (let index = 0; index <= length2; index++) {\n matrix[0][index] = index\n }\n\n // Calcul de la distance de Levenshtein\n for (let index = 1; index <= length1; index++) {\n for (let index_ = 1; index_ <= length2; index_++) {\n const cost = string1[index - 1] === string2[index_ - 1] ? 0 : 1\n matrix[index][index_] = Math.min(\n matrix[index - 1][index_] + 1,\n matrix[index][index_ - 1] + 1,\n matrix[index - 1][index_ - 1] + cost,\n )\n }\n }\n\n return matrix[length1][length2]\n}\n\nfunction getMatchingScore(string1: string, string2: string): number {\n const distance = levenshteinDistance(string1, string2)\n\n const maxLength = Math.max(string1.length, string2.length)\n return 1 - distance / maxLength\n}\n\nfunction getMatchingResults(string1: string, string2: string, threshold = 0.75): boolean {\n const score = getMatchingScore(string1, string2)\n\n return score >= threshold\n}\n\nexport function useStringMatching(\n string1: string | Ref<string>,\n string2: string | Ref<string>,\n threshold: number | Ref<number> = 0.75,\n) {\n const _string1 = computed(() =>\n normalizeString(typeof string1 === 'string' ? string1 : string1.value),\n )\n const _string2 = computed(() =>\n normalizeString(typeof string2 === 'string' ? string2 : string2.value),\n )\n const _threshold = computed(() => (typeof threshold === 'number' ? threshold : threshold.value))\n\n const score = computed(() => getMatchingScore(_string1.value, _string2.value))\n\n const isMatching = computed(() =>\n getMatchingResults(_string1.value, _string2.value, _threshold.value),\n )\n\n return {\n isMatching,\n score,\n }\n}\n"],"names":["levenshteinDistance","string1","string2","length1","length2","matrix","index","index_","cost","getMatchingScore","distance","maxLength","getMatchingResults","threshold","useStringMatching","_string1","computed","normalizeString","_string2","_threshold","score"],"mappings":";;AAGA,SAASA,EAAoBC,GAAiBC,GAAyB;AACrE,QAAMC,IAAUF,EAAQ,QAClBG,IAAUF,EAAQ,QAElBG,IAAqB,CAAC;AAE5B,WAASC,IAAQ,GAAGA,KAASH,GAASG;AAC7B,IAAAD,EAAAC,CAAK,IAAI,CAACA,CAAK;AAExB,WAASA,IAAQ,GAAGA,KAASF,GAASE;AAC7B,IAAAD,EAAA,CAAC,EAAEC,CAAK,IAAIA;AAIrB,WAASA,IAAQ,GAAGA,KAASH,GAASG;AACpC,aAASC,IAAS,GAAGA,KAAUH,GAASG,KAAU;AAC1C,YAAAC,IAAOP,EAAQK,IAAQ,CAAC,MAAMJ,EAAQK,IAAS,CAAC,IAAI,IAAI;AAC9D,MAAAF,EAAOC,CAAK,EAAEC,CAAM,IAAI,KAAK;AAAA,QAC3BF,EAAOC,IAAQ,CAAC,EAAEC,CAAM,IAAI;AAAA,QAC5BF,EAAOC,CAAK,EAAEC,IAAS,CAAC,IAAI;AAAA,QAC5BF,EAAOC,IAAQ,CAAC,EAAEC,IAAS,CAAC,IAAIC;AAAA,MAClC;AAAA,IAAA;AAIG,SAAAH,EAAOF,CAAO,EAAEC,CAAO;AAChC;AAEA,SAASK,EAAiBR,GAAiBC,GAAyB;AAC5D,QAAAQ,IAAWV,EAAoBC,GAASC,CAAO,GAE/CS,IAAY,KAAK,IAAIV,EAAQ,QAAQC,EAAQ,MAAM;AACzD,SAAO,IAAIQ,IAAWC;AACxB;AAEA,SAASC,EAAmBX,GAAiBC,GAAiBW,IAAY,MAAe;AAGvF,SAFcJ,EAAiBR,GAASC,CAAO,KAE/BW;AAClB;AAEO,SAASC,EACdb,GACAC,GACAW,IAAkC,MAClC;AACA,QAAME,IAAWC;AAAA,IAAS,MACxBC,EAAgB,OAAOhB,KAAY,WAAWA,IAAUA,EAAQ,KAAK;AAAA,EACvE,GACMiB,IAAWF;AAAA,IAAS,MACxBC,EAAgB,OAAOf,KAAY,WAAWA,IAAUA,EAAQ,KAAK;AAAA,EACvE,GACMiB,IAAaH,EAAS,MAAO,OAAOH,KAAc,WAAWA,IAAYA,EAAU,KAAM,GAEzFO,IAAQJ,EAAS,MAAMP,EAAiBM,EAAS,OAAOG,EAAS,KAAK,CAAC;AAMtE,SAAA;AAAA,IACL,YALiBF;AAAA,MAAS,MAC1BJ,EAAmBG,EAAS,OAAOG,EAAS,OAAOC,EAAW,KAAK;AAAA,IACrE;AAAA,IAIE,OAAAC;AAAA,EACF;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../helpers/swipeHandler.cjs"),e=require("vue");function p(o){const s=e.ref(),a=e.ref(),f=e.ref(),u=e.ref(),i=e.ref(),l=e.ref(),r=e.computed(()=>e.toValue(o.element)),n=new c.Swipe({...o,element:r.value,onValuesChanged(t){s.value=t.xDiff,a.value=t.yDiff,f.value=t.xStart,u.value=t.xEnd,i.value=t.yStart,l.value=t.yEnd}});return{xDiff:s,yDiff:a,xStart:f,xEnd:u,yStart:i,yEnd:l,start:()=>{r.value&&(n.options.element=r.value),n.start()},stop:n.stop}}exports.useSwipe=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("../helpers/swipeHandler.cjs");function p(o){const s=e.ref(),a=e.ref(),f=e.ref(),u=e.ref(),i=e.ref(),l=e.ref(),r=e.computed(()=>e.toValue(o.element)),n=new c.Swipe({...o,element:r.value,onValuesChanged(t){s.value=t.xDiff,a.value=t.yDiff,f.value=t.xStart,u.value=t.xEnd,i.value=t.yStart,l.value=t.yEnd}});return{xDiff:s,yDiff:a,xStart:f,xEnd:u,yStart:i,yEnd:l,start:()=>{r.value&&(n.options.element=r.value),n.start()},stop:n.stop}}exports.useSwipe=p;
2
2
  //# sourceMappingURL=useSwipe.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSwipe.cjs","sources":["../../src/composables/useSwipe.ts"],"sourcesContent":["import type { MaybeRef } from 'vue'\nimport { Swipe, type SwipeOptions } from '@helpers/swipeHandler'\nimport { computed, ref, toValue } from 'vue'\n\nexport function useSwipe(options: Omit<SwipeOptions, 'onValuesChanged' | 'element'> & { element: MaybeRef<HTMLElement> | string | null | undefined }) {\n const xDiff = ref<number>()\n const yDiff = ref<number>()\n const xStart = ref<number>()\n const xEnd = ref<number>()\n const yStart = ref<number>()\n const yEnd = ref<number>()\n\n const element = computed(() => toValue(options.element))\n\n const swiper = new Swipe({\n ...options,\n element: element.value,\n onValuesChanged(values) {\n xDiff.value = values.xDiff\n yDiff.value = values.yDiff\n xStart.value = values.xStart\n xEnd.value = values.xEnd\n yStart.value = values.yStart\n yEnd.value = values.yEnd\n },\n })\n\n return {\n xDiff,\n yDiff,\n xStart,\n xEnd,\n yStart,\n yEnd,\n start: () => {\n if (element.value) {\n swiper.options.element = element.value\n swiper.start()\n }\n else {\n swiper.start()\n }\n },\n stop: swiper.stop,\n }\n}\n"],"names":["useSwipe","options","xDiff","ref","yDiff","xStart","xEnd","yStart","yEnd","element","computed","toValue","swiper","Swipe","values"],"mappings":"gJAIO,SAASA,EAASC,EAA6H,CACpJ,MAAMC,EAAQC,EAAAA,IAAY,EACpBC,EAAQD,EAAAA,IAAY,EACpBE,EAASF,EAAAA,IAAY,EACrBG,EAAOH,EAAAA,IAAY,EACnBI,EAASJ,EAAAA,IAAY,EACrBK,EAAOL,EAAAA,IAAY,EAEnBM,EAAUC,EAAAA,SAAS,IAAMC,EAAQ,QAAAV,EAAQ,OAAO,CAAC,EAEjDW,EAAS,IAAIC,QAAM,CACvB,GAAGZ,EACH,QAASQ,EAAQ,MACjB,gBAAgBK,EAAQ,CACtBZ,EAAM,MAAQY,EAAO,MACrBV,EAAM,MAAQU,EAAO,MACrBT,EAAO,MAAQS,EAAO,OACtBR,EAAK,MAAQQ,EAAO,KACpBP,EAAO,MAAQO,EAAO,OACtBN,EAAK,MAAQM,EAAO,IAAA,CACtB,CACD,EAEM,MAAA,CACL,MAAAZ,EACA,MAAAE,EACA,OAAAC,EACA,KAAAC,EACA,OAAAC,EACA,KAAAC,EACA,MAAO,IAAM,CACPC,EAAQ,QACHG,EAAA,QAAQ,QAAUH,EAAQ,OACjCG,EAAO,MAAM,CAKjB,EACA,KAAMA,EAAO,IACf,CACF"}
1
+ {"version":3,"file":"useSwipe.cjs","sources":["../../src/composables/useSwipe.ts"],"sourcesContent":["import type { MaybeRef } from 'vue'\nimport { computed, ref, toValue } from 'vue'\nimport { Swipe, type SwipeOptions } from '../helpers/swipeHandler'\n\nexport function useSwipe(options: Omit<SwipeOptions, 'onValuesChanged' | 'element'> & { element: MaybeRef<HTMLElement> | string | null | undefined }) {\n const xDiff = ref<number>()\n const yDiff = ref<number>()\n const xStart = ref<number>()\n const xEnd = ref<number>()\n const yStart = ref<number>()\n const yEnd = ref<number>()\n\n const element = computed(() => toValue(options.element))\n\n const swiper = new Swipe({\n ...options,\n element: element.value,\n onValuesChanged(values) {\n xDiff.value = values.xDiff\n yDiff.value = values.yDiff\n xStart.value = values.xStart\n xEnd.value = values.xEnd\n yStart.value = values.yStart\n yEnd.value = values.yEnd\n },\n })\n\n return {\n xDiff,\n yDiff,\n xStart,\n xEnd,\n yStart,\n yEnd,\n start: () => {\n if (element.value) {\n swiper.options.element = element.value\n swiper.start()\n }\n else {\n swiper.start()\n }\n },\n stop: swiper.stop,\n }\n}\n"],"names":["useSwipe","options","xDiff","ref","yDiff","xStart","xEnd","yStart","yEnd","element","computed","toValue","swiper","Swipe","values"],"mappings":"gJAIO,SAASA,EAASC,EAA6H,CACpJ,MAAMC,EAAQC,EAAAA,IAAY,EACpBC,EAAQD,EAAAA,IAAY,EACpBE,EAASF,EAAAA,IAAY,EACrBG,EAAOH,EAAAA,IAAY,EACnBI,EAASJ,EAAAA,IAAY,EACrBK,EAAOL,EAAAA,IAAY,EAEnBM,EAAUC,EAAAA,SAAS,IAAMC,EAAQ,QAAAV,EAAQ,OAAO,CAAC,EAEjDW,EAAS,IAAIC,QAAM,CACvB,GAAGZ,EACH,QAASQ,EAAQ,MACjB,gBAAgBK,EAAQ,CACtBZ,EAAM,MAAQY,EAAO,MACrBV,EAAM,MAAQU,EAAO,MACrBT,EAAO,MAAQS,EAAO,OACtBR,EAAK,MAAQQ,EAAO,KACpBP,EAAO,MAAQO,EAAO,OACtBN,EAAK,MAAQM,EAAO,IAAA,CACtB,CACD,EAEM,MAAA,CACL,MAAAZ,EACA,MAAAE,EACA,OAAAC,EACA,KAAAC,EACA,OAAAC,EACA,KAAAC,EACA,MAAO,IAAM,CACPC,EAAQ,QACHG,EAAA,QAAQ,QAAUH,EAAQ,OACjCG,EAAO,MAAM,CAKjB,EACA,KAAMA,EAAO,IACf,CACF"}
@@ -1,7 +1,7 @@
1
- import { Swipe as u } from "../helpers/swipeHandler.mjs";
2
- import { ref as e, computed as m, toValue as p } from "vue";
1
+ import { ref as e, computed as u, toValue as m } from "vue";
2
+ import { Swipe as p } from "../helpers/swipeHandler.mjs";
3
3
  function y(r) {
4
- const a = e(), f = e(), s = e(), i = e(), l = e(), c = e(), o = m(() => p(r.element)), n = new u({
4
+ const a = e(), f = e(), s = e(), i = e(), l = e(), c = e(), o = u(() => m(r.element)), n = new p({
5
5
  ...r,
6
6
  element: o.value,
7
7
  onValuesChanged(t) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSwipe.mjs","sources":["../../src/composables/useSwipe.ts"],"sourcesContent":["import type { MaybeRef } from 'vue'\nimport { Swipe, type SwipeOptions } from '@helpers/swipeHandler'\nimport { computed, ref, toValue } from 'vue'\n\nexport function useSwipe(options: Omit<SwipeOptions, 'onValuesChanged' | 'element'> & { element: MaybeRef<HTMLElement> | string | null | undefined }) {\n const xDiff = ref<number>()\n const yDiff = ref<number>()\n const xStart = ref<number>()\n const xEnd = ref<number>()\n const yStart = ref<number>()\n const yEnd = ref<number>()\n\n const element = computed(() => toValue(options.element))\n\n const swiper = new Swipe({\n ...options,\n element: element.value,\n onValuesChanged(values) {\n xDiff.value = values.xDiff\n yDiff.value = values.yDiff\n xStart.value = values.xStart\n xEnd.value = values.xEnd\n yStart.value = values.yStart\n yEnd.value = values.yEnd\n },\n })\n\n return {\n xDiff,\n yDiff,\n xStart,\n xEnd,\n yStart,\n yEnd,\n start: () => {\n if (element.value) {\n swiper.options.element = element.value\n swiper.start()\n }\n else {\n swiper.start()\n }\n },\n stop: swiper.stop,\n }\n}\n"],"names":["useSwipe","options","xDiff","ref","yDiff","xStart","xEnd","yStart","yEnd","element","computed","toValue","swiper","Swipe","values"],"mappings":";;AAIO,SAASA,EAASC,GAA6H;AACpJ,QAAMC,IAAQC,EAAY,GACpBC,IAAQD,EAAY,GACpBE,IAASF,EAAY,GACrBG,IAAOH,EAAY,GACnBI,IAASJ,EAAY,GACrBK,IAAOL,EAAY,GAEnBM,IAAUC,EAAS,MAAMC,EAAQV,EAAQ,OAAO,CAAC,GAEjDW,IAAS,IAAIC,EAAM;AAAA,IACvB,GAAGZ;AAAA,IACH,SAASQ,EAAQ;AAAA,IACjB,gBAAgBK,GAAQ;AACtB,MAAAZ,EAAM,QAAQY,EAAO,OACrBV,EAAM,QAAQU,EAAO,OACrBT,EAAO,QAAQS,EAAO,QACtBR,EAAK,QAAQQ,EAAO,MACpBP,EAAO,QAAQO,EAAO,QACtBN,EAAK,QAAQM,EAAO;AAAA,IAAA;AAAA,EACtB,CACD;AAEM,SAAA;AAAA,IACL,OAAAZ;AAAA,IACA,OAAAE;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAO,MAAM;AACX,MAAIC,EAAQ,UACHG,EAAA,QAAQ,UAAUH,EAAQ,QACjCG,EAAO,MAAM;AAAA,IAKjB;AAAA,IACA,MAAMA,EAAO;AAAA,EACf;AACF;"}
1
+ {"version":3,"file":"useSwipe.mjs","sources":["../../src/composables/useSwipe.ts"],"sourcesContent":["import type { MaybeRef } from 'vue'\nimport { computed, ref, toValue } from 'vue'\nimport { Swipe, type SwipeOptions } from '../helpers/swipeHandler'\n\nexport function useSwipe(options: Omit<SwipeOptions, 'onValuesChanged' | 'element'> & { element: MaybeRef<HTMLElement> | string | null | undefined }) {\n const xDiff = ref<number>()\n const yDiff = ref<number>()\n const xStart = ref<number>()\n const xEnd = ref<number>()\n const yStart = ref<number>()\n const yEnd = ref<number>()\n\n const element = computed(() => toValue(options.element))\n\n const swiper = new Swipe({\n ...options,\n element: element.value,\n onValuesChanged(values) {\n xDiff.value = values.xDiff\n yDiff.value = values.yDiff\n xStart.value = values.xStart\n xEnd.value = values.xEnd\n yStart.value = values.yStart\n yEnd.value = values.yEnd\n },\n })\n\n return {\n xDiff,\n yDiff,\n xStart,\n xEnd,\n yStart,\n yEnd,\n start: () => {\n if (element.value) {\n swiper.options.element = element.value\n swiper.start()\n }\n else {\n swiper.start()\n }\n },\n stop: swiper.stop,\n }\n}\n"],"names":["useSwipe","options","xDiff","ref","yDiff","xStart","xEnd","yStart","yEnd","element","computed","toValue","swiper","Swipe","values"],"mappings":";;AAIO,SAASA,EAASC,GAA6H;AACpJ,QAAMC,IAAQC,EAAY,GACpBC,IAAQD,EAAY,GACpBE,IAASF,EAAY,GACrBG,IAAOH,EAAY,GACnBI,IAASJ,EAAY,GACrBK,IAAOL,EAAY,GAEnBM,IAAUC,EAAS,MAAMC,EAAQV,EAAQ,OAAO,CAAC,GAEjDW,IAAS,IAAIC,EAAM;AAAA,IACvB,GAAGZ;AAAA,IACH,SAASQ,EAAQ;AAAA,IACjB,gBAAgBK,GAAQ;AACtB,MAAAZ,EAAM,QAAQY,EAAO,OACrBV,EAAM,QAAQU,EAAO,OACrBT,EAAO,QAAQS,EAAO,QACtBR,EAAK,QAAQQ,EAAO,MACpBP,EAAO,QAAQO,EAAO,QACtBN,EAAK,QAAQM,EAAO;AAAA,IAAA;AAAA,EACtB,CACD;AAEM,SAAA;AAAA,IACL,OAAAZ;AAAA,IACA,OAAAE;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,QAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAO,MAAM;AACX,MAAIC,EAAQ,UACHG,EAAA,QAAQ,UAAUH,EAAQ,QACjCG,EAAO,MAAM;AAAA,IAKjB;AAAA,IACA,MAAMA,EAAO;AAAA,EACf;AACF;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../helpers/isClient.cjs"),l=require("vue"),S={darkClass:"dark",lightClass:"light",storageThemeKey:"theme",storageThemeValueDark:"dark",storageThemeValueLight:"light",storageThemeValueSystem:"system",watchChanges:!0},m=l.ref("system"),r=l.ref("system");function T(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function u({darkClass:t,lightClass:e,storageThemeKey:s,storageThemeValueDark:a,setLocalStorageValue:o=!0,setSelectedTheme:n=!0}){c.isClient()&&(document.documentElement.classList.remove(e),document.documentElement.classList.add(t),m.value=a,n&&(r.value=a),o&&(localStorage[s]=a))}function h({darkClass:t,lightClass:e,storageThemeKey:s,storageThemeValueLight:a,setLocalStorageValue:o=!0,setSelectedTheme:n=!0}){c.isClient()&&(document.documentElement.classList.remove(t),document.documentElement.classList.add(e),m.value=a,n&&(r.value=a),o&&(localStorage[s]=a))}function i({setLocalStorageValue:t=!0,...e}){if(c.isClient())return document.documentElement.classList.remove(e.darkClass),document.documentElement.classList.remove(e.lightClass),m.value=e.storageThemeValueSystem,r.value=e.storageThemeValueSystem,t&&(localStorage[e.storageThemeKey]=e.storageThemeValueSystem),g(e)}function f(t){if(!t.defaultTheme)return console.error("[maz-ui](useThemeHandler) No default theme set");if(!["light","dark"].includes(t.defaultTheme))return console.error('[maz-ui](useThemeHandler) Default theme must be "light" or "dark"');switch(t.defaultTheme){case"dark":return u({...t,setLocalStorageValue:!1,setSelectedTheme:!0});case"light":return h({...t,setLocalStorageValue:!1,setSelectedTheme:!0})}}function g(t){return c.isClient()?!localStorage[t.storageThemeKey]&&t.defaultTheme?f(t):localStorage[t.storageThemeKey]===t.storageThemeValueDark||!localStorage[t.storageThemeKey]&&T()||localStorage[t.storageThemeKey]===t.storageThemeValueSystem&&T()?u({...t,setLocalStorageValue:!1,setSelectedTheme:!1}):h({...t,setLocalStorageValue:!1,setSelectedTheme:!1}):void 0}function d({theme:t,...e}){return t==="system"?i(e):t==="dark"?u(e):h(e)}function y(t){return m.value===t.storageThemeValueDark?h(t):u(t)}function k(t){const e={...S,...t};function s(){g(e)}return l.onMounted(()=>{localStorage[e.storageThemeKey]&&(r.value=localStorage[e.storageThemeKey]),e.watchChanges&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",s)}),l.onBeforeUnmount(()=>{e.watchChanges&&window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",s)}),l.watch(r,a=>{switch(localStorage[e.storageThemeKey]=a,a){case e.storageThemeValueDark:{u(e);break}case e.storageThemeValueLight:{h(e);break}case e.storageThemeValueSystem:{i(e);break}}}),{autoSetTheme:()=>g(e),toggleTheme:()=>y(e),setSystemTheme:()=>d({...e,theme:"system"}),setDarkTheme:()=>d({...e,theme:"dark"}),setLightTheme:()=>d({...e,theme:"light"}),setDefaultTheme:()=>f(e),hasDarkTheme:l.computed(()=>r.value===e.storageThemeValueDark),hasLightTheme:l.computed(()=>r.value===e.storageThemeValueLight),hasSystemTheme:l.computed(()=>r.value===e.storageThemeValueSystem),theme:m,selectedTheme:r}}exports.useThemeHandler=k;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),c=require("../helpers/isClient.cjs"),S={darkClass:"dark",lightClass:"light",storageThemeKey:"theme",storageThemeValueDark:"dark",storageThemeValueLight:"light",storageThemeValueSystem:"system",watchChanges:!0},m=l.ref("system"),r=l.ref("system");function T(){return window.matchMedia("(prefers-color-scheme: dark)").matches}function u({darkClass:t,lightClass:e,storageThemeKey:s,storageThemeValueDark:a,setLocalStorageValue:o=!0,setSelectedTheme:n=!0}){c.isClient()&&(document.documentElement.classList.remove(e),document.documentElement.classList.add(t),m.value=a,n&&(r.value=a),o&&(localStorage[s]=a))}function h({darkClass:t,lightClass:e,storageThemeKey:s,storageThemeValueLight:a,setLocalStorageValue:o=!0,setSelectedTheme:n=!0}){c.isClient()&&(document.documentElement.classList.remove(t),document.documentElement.classList.add(e),m.value=a,n&&(r.value=a),o&&(localStorage[s]=a))}function i({setLocalStorageValue:t=!0,...e}){if(c.isClient())return document.documentElement.classList.remove(e.darkClass),document.documentElement.classList.remove(e.lightClass),m.value=e.storageThemeValueSystem,r.value=e.storageThemeValueSystem,t&&(localStorage[e.storageThemeKey]=e.storageThemeValueSystem),g(e)}function f(t){if(!t.defaultTheme)return console.error("[maz-ui](useThemeHandler) No default theme set");if(!["light","dark"].includes(t.defaultTheme))return console.error('[maz-ui](useThemeHandler) Default theme must be "light" or "dark"');switch(t.defaultTheme){case"dark":return u({...t,setLocalStorageValue:!1,setSelectedTheme:!0});case"light":return h({...t,setLocalStorageValue:!1,setSelectedTheme:!0})}}function g(t){return c.isClient()?!localStorage[t.storageThemeKey]&&t.defaultTheme?f(t):localStorage[t.storageThemeKey]===t.storageThemeValueDark||!localStorage[t.storageThemeKey]&&T()||localStorage[t.storageThemeKey]===t.storageThemeValueSystem&&T()?u({...t,setLocalStorageValue:!1,setSelectedTheme:!1}):h({...t,setLocalStorageValue:!1,setSelectedTheme:!1}):void 0}function d({theme:t,...e}){return t==="system"?i(e):t==="dark"?u(e):h(e)}function y(t){return m.value===t.storageThemeValueDark?h(t):u(t)}function k(t){const e={...S,...t};function s(){g(e)}return l.onMounted(()=>{localStorage[e.storageThemeKey]&&(r.value=localStorage[e.storageThemeKey]),e.watchChanges&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",s)}),l.onBeforeUnmount(()=>{e.watchChanges&&window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",s)}),l.watch(r,a=>{switch(localStorage[e.storageThemeKey]=a,a){case e.storageThemeValueDark:{u(e);break}case e.storageThemeValueLight:{h(e);break}case e.storageThemeValueSystem:{i(e);break}}}),{autoSetTheme:()=>g(e),toggleTheme:()=>y(e),setSystemTheme:()=>d({...e,theme:"system"}),setDarkTheme:()=>d({...e,theme:"dark"}),setLightTheme:()=>d({...e,theme:"light"}),setDefaultTheme:()=>f(e),hasDarkTheme:l.computed(()=>r.value===e.storageThemeValueDark),hasLightTheme:l.computed(()=>r.value===e.storageThemeValueLight),hasSystemTheme:l.computed(()=>r.value===e.storageThemeValueSystem),theme:m,selectedTheme:r}}exports.useThemeHandler=k;
2
2
  //# sourceMappingURL=useThemeHandler.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeHandler.cjs","sources":["../../src/composables/useThemeHandler.ts"],"sourcesContent":["import { isClient } from '@helpers/isClient'\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nexport interface StrictThemeHandlerOptions {\n /**\n * Class to be added to the html element when dark theme is set\n * @default 'dark'\n */\n darkClass: string\n /**\n * Class to be added to the html element when light theme is set\n * @default 'light'\n */\n lightClass: string\n /**\n * Key to store the theme in local storage\n * @default 'theme'\n */\n storageThemeKey: string\n /**\n * Value to set the theme to dark\n * @default 'dark'\n */\n storageThemeValueDark: string\n /**\n * Value to set the theme to light\n * @default 'light'\n */\n storageThemeValueLight: string\n /**\n * Value to set the theme to system\n * @default 'system'\n */\n storageThemeValueSystem: string\n /**\n * Watch for changes in the system theme\n * @default true\n */\n watchChanges: boolean\n /**\n * Default theme to set if no theme has been previously set by the user\n * Useful to force a theme on first visit\n * The value will not be stored in local storage\n * @default undefined\n */\n defaultTheme?: 'light' | 'dark'\n}\nexport type ThemeHandlerOptions = Partial<StrictThemeHandlerOptions>\n\nconst DEFAULT_OPTIONS: StrictThemeHandlerOptions = {\n darkClass: 'dark',\n lightClass: 'light',\n storageThemeKey: 'theme',\n storageThemeValueDark: 'dark',\n storageThemeValueLight: 'light',\n storageThemeValueSystem: 'system',\n watchChanges: true,\n}\n\nconst theme = ref<string>('system')\nconst selectedTheme = ref<string>('system')\n\nfunction getPrefDark(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n}\n\nfunction setDarkTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueDark,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(lightClass)\n document.documentElement.classList.add(darkClass)\n\n theme.value = storageThemeValueDark\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueDark\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueDark\n }\n}\n\nfunction setLightTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueLight,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(darkClass)\n document.documentElement.classList.add(lightClass)\n\n theme.value = storageThemeValueLight\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueLight\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueLight\n }\n}\n\nfunction setSytemTheme({\n setLocalStorageValue = true,\n ...options\n}: StrictThemeHandlerOptions & { setLocalStorageValue?: boolean }) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(options.darkClass)\n document.documentElement.classList.remove(options.lightClass)\n\n theme.value = options.storageThemeValueSystem\n selectedTheme.value = options.storageThemeValueSystem\n\n if (setLocalStorageValue) {\n localStorage[options.storageThemeKey] = options.storageThemeValueSystem\n }\n\n return autoSetTheme(options)\n}\n\nfunction setDefaultTheme(options: StrictThemeHandlerOptions) {\n if (!options.defaultTheme) {\n return console.error('[maz-ui](useThemeHandler) No default theme set')\n }\n\n if (!['light', 'dark'].includes(options.defaultTheme)) {\n return console.error('[maz-ui](useThemeHandler) Default theme must be \"light\" or \"dark\"')\n }\n\n switch (options.defaultTheme) {\n case 'dark': {\n return setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n case 'light': {\n return setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n }\n}\n\nfunction autoSetTheme(options: StrictThemeHandlerOptions) {\n if (!isClient()) {\n return\n }\n\n if (!localStorage[options.storageThemeKey] && options.defaultTheme) {\n return setDefaultTheme(options)\n }\n\n const shouldSetDarkTheme\n = localStorage[options.storageThemeKey] === options.storageThemeValueDark\n || (!localStorage[options.storageThemeKey] && getPrefDark())\n || (localStorage[options.storageThemeKey] === options.storageThemeValueSystem && getPrefDark())\n\n return shouldSetDarkTheme\n ? setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n : setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n}\n\nfunction setTheme({\n theme,\n ...rest\n}: StrictThemeHandlerOptions & { theme: 'light' | 'dark' | 'system' }) {\n if (theme === 'system') {\n return setSytemTheme(rest)\n }\n\n if (theme === 'dark') {\n return setDarkTheme(rest)\n }\n\n return setLightTheme(rest)\n}\n\nfunction toggleTheme(options: StrictThemeHandlerOptions) {\n return theme.value === options.storageThemeValueDark\n ? setLightTheme(options)\n : setDarkTheme(options)\n}\n\nexport function useThemeHandler(opts?: ThemeHandlerOptions) {\n const globalOptions = {\n ...DEFAULT_OPTIONS,\n ...opts,\n }\n\n function themeWatchHandler() {\n autoSetTheme(globalOptions)\n }\n\n onMounted(() => {\n if (localStorage[globalOptions.storageThemeKey]) {\n selectedTheme.value = localStorage[globalOptions.storageThemeKey]\n }\n\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .addEventListener('change', themeWatchHandler)\n }\n })\n\n onBeforeUnmount(() => {\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .removeEventListener('change', themeWatchHandler)\n }\n })\n\n watch(selectedTheme, (value) => {\n localStorage[globalOptions.storageThemeKey] = value\n\n switch (value) {\n case globalOptions.storageThemeValueDark: {\n setDarkTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueLight: {\n setLightTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueSystem: {\n setSytemTheme(globalOptions)\n break\n }\n }\n })\n\n return {\n autoSetTheme: () => autoSetTheme(globalOptions),\n toggleTheme: () => toggleTheme(globalOptions),\n setSystemTheme: () => setTheme({ ...globalOptions, theme: 'system' }),\n setDarkTheme: () => setTheme({ ...globalOptions, theme: 'dark' }),\n setLightTheme: () => setTheme({ ...globalOptions, theme: 'light' }),\n setDefaultTheme: () => setDefaultTheme(globalOptions),\n hasDarkTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueDark),\n hasLightTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueLight),\n hasSystemTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueSystem),\n theme,\n selectedTheme,\n }\n}\n"],"names":["DEFAULT_OPTIONS","theme","ref","selectedTheme","getPrefDark","setDarkTheme","darkClass","lightClass","storageThemeKey","storageThemeValueDark","setLocalStorageValue","setSelectedTheme","isClient","setLightTheme","storageThemeValueLight","setSytemTheme","options","autoSetTheme","setDefaultTheme","setTheme","rest","toggleTheme","useThemeHandler","opts","globalOptions","themeWatchHandler","onMounted","onBeforeUnmount","watch","value","computed"],"mappings":"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"}
1
+ {"version":3,"file":"useThemeHandler.cjs","sources":["../../src/composables/useThemeHandler.ts"],"sourcesContent":["import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { isClient } from '../helpers/isClient'\n\nexport interface StrictThemeHandlerOptions {\n /**\n * Class to be added to the html element when dark theme is set\n * @default 'dark'\n */\n darkClass: string\n /**\n * Class to be added to the html element when light theme is set\n * @default 'light'\n */\n lightClass: string\n /**\n * Key to store the theme in local storage\n * @default 'theme'\n */\n storageThemeKey: string\n /**\n * Value to set the theme to dark\n * @default 'dark'\n */\n storageThemeValueDark: string\n /**\n * Value to set the theme to light\n * @default 'light'\n */\n storageThemeValueLight: string\n /**\n * Value to set the theme to system\n * @default 'system'\n */\n storageThemeValueSystem: string\n /**\n * Watch for changes in the system theme\n * @default true\n */\n watchChanges: boolean\n /**\n * Default theme to set if no theme has been previously set by the user\n * Useful to force a theme on first visit\n * The value will not be stored in local storage\n * @default undefined\n */\n defaultTheme?: 'light' | 'dark'\n}\nexport type ThemeHandlerOptions = Partial<StrictThemeHandlerOptions>\n\nconst DEFAULT_OPTIONS: StrictThemeHandlerOptions = {\n darkClass: 'dark',\n lightClass: 'light',\n storageThemeKey: 'theme',\n storageThemeValueDark: 'dark',\n storageThemeValueLight: 'light',\n storageThemeValueSystem: 'system',\n watchChanges: true,\n}\n\nconst theme = ref<string>('system')\nconst selectedTheme = ref<string>('system')\n\nfunction getPrefDark(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n}\n\nfunction setDarkTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueDark,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(lightClass)\n document.documentElement.classList.add(darkClass)\n\n theme.value = storageThemeValueDark\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueDark\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueDark\n }\n}\n\nfunction setLightTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueLight,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(darkClass)\n document.documentElement.classList.add(lightClass)\n\n theme.value = storageThemeValueLight\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueLight\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueLight\n }\n}\n\nfunction setSytemTheme({\n setLocalStorageValue = true,\n ...options\n}: StrictThemeHandlerOptions & { setLocalStorageValue?: boolean }) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(options.darkClass)\n document.documentElement.classList.remove(options.lightClass)\n\n theme.value = options.storageThemeValueSystem\n selectedTheme.value = options.storageThemeValueSystem\n\n if (setLocalStorageValue) {\n localStorage[options.storageThemeKey] = options.storageThemeValueSystem\n }\n\n return autoSetTheme(options)\n}\n\nfunction setDefaultTheme(options: StrictThemeHandlerOptions) {\n if (!options.defaultTheme) {\n return console.error('[maz-ui](useThemeHandler) No default theme set')\n }\n\n if (!['light', 'dark'].includes(options.defaultTheme)) {\n return console.error('[maz-ui](useThemeHandler) Default theme must be \"light\" or \"dark\"')\n }\n\n switch (options.defaultTheme) {\n case 'dark': {\n return setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n case 'light': {\n return setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n }\n}\n\nfunction autoSetTheme(options: StrictThemeHandlerOptions) {\n if (!isClient()) {\n return\n }\n\n if (!localStorage[options.storageThemeKey] && options.defaultTheme) {\n return setDefaultTheme(options)\n }\n\n const shouldSetDarkTheme\n = localStorage[options.storageThemeKey] === options.storageThemeValueDark\n || (!localStorage[options.storageThemeKey] && getPrefDark())\n || (localStorage[options.storageThemeKey] === options.storageThemeValueSystem && getPrefDark())\n\n return shouldSetDarkTheme\n ? setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n : setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n}\n\nfunction setTheme({\n theme,\n ...rest\n}: StrictThemeHandlerOptions & { theme: 'light' | 'dark' | 'system' }) {\n if (theme === 'system') {\n return setSytemTheme(rest)\n }\n\n if (theme === 'dark') {\n return setDarkTheme(rest)\n }\n\n return setLightTheme(rest)\n}\n\nfunction toggleTheme(options: StrictThemeHandlerOptions) {\n return theme.value === options.storageThemeValueDark\n ? setLightTheme(options)\n : setDarkTheme(options)\n}\n\nexport function useThemeHandler(opts?: ThemeHandlerOptions) {\n const globalOptions = {\n ...DEFAULT_OPTIONS,\n ...opts,\n }\n\n function themeWatchHandler() {\n autoSetTheme(globalOptions)\n }\n\n onMounted(() => {\n if (localStorage[globalOptions.storageThemeKey]) {\n selectedTheme.value = localStorage[globalOptions.storageThemeKey]\n }\n\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .addEventListener('change', themeWatchHandler)\n }\n })\n\n onBeforeUnmount(() => {\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .removeEventListener('change', themeWatchHandler)\n }\n })\n\n watch(selectedTheme, (value) => {\n localStorage[globalOptions.storageThemeKey] = value\n\n switch (value) {\n case globalOptions.storageThemeValueDark: {\n setDarkTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueLight: {\n setLightTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueSystem: {\n setSytemTheme(globalOptions)\n break\n }\n }\n })\n\n return {\n autoSetTheme: () => autoSetTheme(globalOptions),\n toggleTheme: () => toggleTheme(globalOptions),\n setSystemTheme: () => setTheme({ ...globalOptions, theme: 'system' }),\n setDarkTheme: () => setTheme({ ...globalOptions, theme: 'dark' }),\n setLightTheme: () => setTheme({ ...globalOptions, theme: 'light' }),\n setDefaultTheme: () => setDefaultTheme(globalOptions),\n hasDarkTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueDark),\n hasLightTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueLight),\n hasSystemTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueSystem),\n theme,\n selectedTheme,\n }\n}\n"],"names":["DEFAULT_OPTIONS","theme","ref","selectedTheme","getPrefDark","setDarkTheme","darkClass","lightClass","storageThemeKey","storageThemeValueDark","setLocalStorageValue","setSelectedTheme","isClient","setLightTheme","storageThemeValueLight","setSytemTheme","options","autoSetTheme","setDefaultTheme","setTheme","rest","toggleTheme","useThemeHandler","opts","globalOptions","themeWatchHandler","onMounted","onBeforeUnmount","watch","value","computed"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { isClient as u } from "../helpers/isClient.mjs";
2
1
  import { ref as f, onMounted as k, onBeforeUnmount as y, watch as v, computed as n } from "vue";
2
+ import { isClient as u } from "../helpers/isClient.mjs";
3
3
  const L = {
4
4
  darkClass: "dark",
5
5
  lightClass: "light",
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeHandler.mjs","sources":["../../src/composables/useThemeHandler.ts"],"sourcesContent":["import { isClient } from '@helpers/isClient'\nimport { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\n\nexport interface StrictThemeHandlerOptions {\n /**\n * Class to be added to the html element when dark theme is set\n * @default 'dark'\n */\n darkClass: string\n /**\n * Class to be added to the html element when light theme is set\n * @default 'light'\n */\n lightClass: string\n /**\n * Key to store the theme in local storage\n * @default 'theme'\n */\n storageThemeKey: string\n /**\n * Value to set the theme to dark\n * @default 'dark'\n */\n storageThemeValueDark: string\n /**\n * Value to set the theme to light\n * @default 'light'\n */\n storageThemeValueLight: string\n /**\n * Value to set the theme to system\n * @default 'system'\n */\n storageThemeValueSystem: string\n /**\n * Watch for changes in the system theme\n * @default true\n */\n watchChanges: boolean\n /**\n * Default theme to set if no theme has been previously set by the user\n * Useful to force a theme on first visit\n * The value will not be stored in local storage\n * @default undefined\n */\n defaultTheme?: 'light' | 'dark'\n}\nexport type ThemeHandlerOptions = Partial<StrictThemeHandlerOptions>\n\nconst DEFAULT_OPTIONS: StrictThemeHandlerOptions = {\n darkClass: 'dark',\n lightClass: 'light',\n storageThemeKey: 'theme',\n storageThemeValueDark: 'dark',\n storageThemeValueLight: 'light',\n storageThemeValueSystem: 'system',\n watchChanges: true,\n}\n\nconst theme = ref<string>('system')\nconst selectedTheme = ref<string>('system')\n\nfunction getPrefDark(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n}\n\nfunction setDarkTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueDark,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(lightClass)\n document.documentElement.classList.add(darkClass)\n\n theme.value = storageThemeValueDark\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueDark\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueDark\n }\n}\n\nfunction setLightTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueLight,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(darkClass)\n document.documentElement.classList.add(lightClass)\n\n theme.value = storageThemeValueLight\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueLight\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueLight\n }\n}\n\nfunction setSytemTheme({\n setLocalStorageValue = true,\n ...options\n}: StrictThemeHandlerOptions & { setLocalStorageValue?: boolean }) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(options.darkClass)\n document.documentElement.classList.remove(options.lightClass)\n\n theme.value = options.storageThemeValueSystem\n selectedTheme.value = options.storageThemeValueSystem\n\n if (setLocalStorageValue) {\n localStorage[options.storageThemeKey] = options.storageThemeValueSystem\n }\n\n return autoSetTheme(options)\n}\n\nfunction setDefaultTheme(options: StrictThemeHandlerOptions) {\n if (!options.defaultTheme) {\n return console.error('[maz-ui](useThemeHandler) No default theme set')\n }\n\n if (!['light', 'dark'].includes(options.defaultTheme)) {\n return console.error('[maz-ui](useThemeHandler) Default theme must be \"light\" or \"dark\"')\n }\n\n switch (options.defaultTheme) {\n case 'dark': {\n return setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n case 'light': {\n return setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n }\n}\n\nfunction autoSetTheme(options: StrictThemeHandlerOptions) {\n if (!isClient()) {\n return\n }\n\n if (!localStorage[options.storageThemeKey] && options.defaultTheme) {\n return setDefaultTheme(options)\n }\n\n const shouldSetDarkTheme\n = localStorage[options.storageThemeKey] === options.storageThemeValueDark\n || (!localStorage[options.storageThemeKey] && getPrefDark())\n || (localStorage[options.storageThemeKey] === options.storageThemeValueSystem && getPrefDark())\n\n return shouldSetDarkTheme\n ? setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n : setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n}\n\nfunction setTheme({\n theme,\n ...rest\n}: StrictThemeHandlerOptions & { theme: 'light' | 'dark' | 'system' }) {\n if (theme === 'system') {\n return setSytemTheme(rest)\n }\n\n if (theme === 'dark') {\n return setDarkTheme(rest)\n }\n\n return setLightTheme(rest)\n}\n\nfunction toggleTheme(options: StrictThemeHandlerOptions) {\n return theme.value === options.storageThemeValueDark\n ? setLightTheme(options)\n : setDarkTheme(options)\n}\n\nexport function useThemeHandler(opts?: ThemeHandlerOptions) {\n const globalOptions = {\n ...DEFAULT_OPTIONS,\n ...opts,\n }\n\n function themeWatchHandler() {\n autoSetTheme(globalOptions)\n }\n\n onMounted(() => {\n if (localStorage[globalOptions.storageThemeKey]) {\n selectedTheme.value = localStorage[globalOptions.storageThemeKey]\n }\n\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .addEventListener('change', themeWatchHandler)\n }\n })\n\n onBeforeUnmount(() => {\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .removeEventListener('change', themeWatchHandler)\n }\n })\n\n watch(selectedTheme, (value) => {\n localStorage[globalOptions.storageThemeKey] = value\n\n switch (value) {\n case globalOptions.storageThemeValueDark: {\n setDarkTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueLight: {\n setLightTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueSystem: {\n setSytemTheme(globalOptions)\n break\n }\n }\n })\n\n return {\n autoSetTheme: () => autoSetTheme(globalOptions),\n toggleTheme: () => toggleTheme(globalOptions),\n setSystemTheme: () => setTheme({ ...globalOptions, theme: 'system' }),\n setDarkTheme: () => setTheme({ ...globalOptions, theme: 'dark' }),\n setLightTheme: () => setTheme({ ...globalOptions, theme: 'light' }),\n setDefaultTheme: () => setDefaultTheme(globalOptions),\n hasDarkTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueDark),\n hasLightTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueLight),\n hasSystemTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueSystem),\n theme,\n selectedTheme,\n }\n}\n"],"names":["DEFAULT_OPTIONS","theme","ref","selectedTheme","getPrefDark","setDarkTheme","darkClass","lightClass","storageThemeKey","storageThemeValueDark","setLocalStorageValue","setSelectedTheme","isClient","setLightTheme","storageThemeValueLight","setSytemTheme","options","autoSetTheme","setDefaultTheme","setTheme","rest","toggleTheme","useThemeHandler","opts","globalOptions","themeWatchHandler","onMounted","onBeforeUnmount","watch","value","computed"],"mappings":"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"}
1
+ {"version":3,"file":"useThemeHandler.mjs","sources":["../../src/composables/useThemeHandler.ts"],"sourcesContent":["import { computed, onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { isClient } from '../helpers/isClient'\n\nexport interface StrictThemeHandlerOptions {\n /**\n * Class to be added to the html element when dark theme is set\n * @default 'dark'\n */\n darkClass: string\n /**\n * Class to be added to the html element when light theme is set\n * @default 'light'\n */\n lightClass: string\n /**\n * Key to store the theme in local storage\n * @default 'theme'\n */\n storageThemeKey: string\n /**\n * Value to set the theme to dark\n * @default 'dark'\n */\n storageThemeValueDark: string\n /**\n * Value to set the theme to light\n * @default 'light'\n */\n storageThemeValueLight: string\n /**\n * Value to set the theme to system\n * @default 'system'\n */\n storageThemeValueSystem: string\n /**\n * Watch for changes in the system theme\n * @default true\n */\n watchChanges: boolean\n /**\n * Default theme to set if no theme has been previously set by the user\n * Useful to force a theme on first visit\n * The value will not be stored in local storage\n * @default undefined\n */\n defaultTheme?: 'light' | 'dark'\n}\nexport type ThemeHandlerOptions = Partial<StrictThemeHandlerOptions>\n\nconst DEFAULT_OPTIONS: StrictThemeHandlerOptions = {\n darkClass: 'dark',\n lightClass: 'light',\n storageThemeKey: 'theme',\n storageThemeValueDark: 'dark',\n storageThemeValueLight: 'light',\n storageThemeValueSystem: 'system',\n watchChanges: true,\n}\n\nconst theme = ref<string>('system')\nconst selectedTheme = ref<string>('system')\n\nfunction getPrefDark(): boolean {\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n}\n\nfunction setDarkTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueDark,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(lightClass)\n document.documentElement.classList.add(darkClass)\n\n theme.value = storageThemeValueDark\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueDark\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueDark\n }\n}\n\nfunction setLightTheme({\n darkClass,\n lightClass,\n storageThemeKey,\n storageThemeValueLight,\n setLocalStorageValue = true,\n setSelectedTheme = true,\n}: StrictThemeHandlerOptions & {\n setLocalStorageValue?: boolean\n setSelectedTheme?: boolean\n}) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(darkClass)\n document.documentElement.classList.add(lightClass)\n\n theme.value = storageThemeValueLight\n if (setSelectedTheme)\n selectedTheme.value = storageThemeValueLight\n\n if (setLocalStorageValue) {\n localStorage[storageThemeKey] = storageThemeValueLight\n }\n}\n\nfunction setSytemTheme({\n setLocalStorageValue = true,\n ...options\n}: StrictThemeHandlerOptions & { setLocalStorageValue?: boolean }) {\n if (!isClient()) {\n return\n }\n\n document.documentElement.classList.remove(options.darkClass)\n document.documentElement.classList.remove(options.lightClass)\n\n theme.value = options.storageThemeValueSystem\n selectedTheme.value = options.storageThemeValueSystem\n\n if (setLocalStorageValue) {\n localStorage[options.storageThemeKey] = options.storageThemeValueSystem\n }\n\n return autoSetTheme(options)\n}\n\nfunction setDefaultTheme(options: StrictThemeHandlerOptions) {\n if (!options.defaultTheme) {\n return console.error('[maz-ui](useThemeHandler) No default theme set')\n }\n\n if (!['light', 'dark'].includes(options.defaultTheme)) {\n return console.error('[maz-ui](useThemeHandler) Default theme must be \"light\" or \"dark\"')\n }\n\n switch (options.defaultTheme) {\n case 'dark': {\n return setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n case 'light': {\n return setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: true,\n })\n }\n }\n}\n\nfunction autoSetTheme(options: StrictThemeHandlerOptions) {\n if (!isClient()) {\n return\n }\n\n if (!localStorage[options.storageThemeKey] && options.defaultTheme) {\n return setDefaultTheme(options)\n }\n\n const shouldSetDarkTheme\n = localStorage[options.storageThemeKey] === options.storageThemeValueDark\n || (!localStorage[options.storageThemeKey] && getPrefDark())\n || (localStorage[options.storageThemeKey] === options.storageThemeValueSystem && getPrefDark())\n\n return shouldSetDarkTheme\n ? setDarkTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n : setLightTheme({\n ...options,\n setLocalStorageValue: false,\n setSelectedTheme: false,\n })\n}\n\nfunction setTheme({\n theme,\n ...rest\n}: StrictThemeHandlerOptions & { theme: 'light' | 'dark' | 'system' }) {\n if (theme === 'system') {\n return setSytemTheme(rest)\n }\n\n if (theme === 'dark') {\n return setDarkTheme(rest)\n }\n\n return setLightTheme(rest)\n}\n\nfunction toggleTheme(options: StrictThemeHandlerOptions) {\n return theme.value === options.storageThemeValueDark\n ? setLightTheme(options)\n : setDarkTheme(options)\n}\n\nexport function useThemeHandler(opts?: ThemeHandlerOptions) {\n const globalOptions = {\n ...DEFAULT_OPTIONS,\n ...opts,\n }\n\n function themeWatchHandler() {\n autoSetTheme(globalOptions)\n }\n\n onMounted(() => {\n if (localStorage[globalOptions.storageThemeKey]) {\n selectedTheme.value = localStorage[globalOptions.storageThemeKey]\n }\n\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .addEventListener('change', themeWatchHandler)\n }\n })\n\n onBeforeUnmount(() => {\n if (globalOptions.watchChanges) {\n window\n .matchMedia('(prefers-color-scheme: dark)')\n .removeEventListener('change', themeWatchHandler)\n }\n })\n\n watch(selectedTheme, (value) => {\n localStorage[globalOptions.storageThemeKey] = value\n\n switch (value) {\n case globalOptions.storageThemeValueDark: {\n setDarkTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueLight: {\n setLightTheme(globalOptions)\n break\n }\n case globalOptions.storageThemeValueSystem: {\n setSytemTheme(globalOptions)\n break\n }\n }\n })\n\n return {\n autoSetTheme: () => autoSetTheme(globalOptions),\n toggleTheme: () => toggleTheme(globalOptions),\n setSystemTheme: () => setTheme({ ...globalOptions, theme: 'system' }),\n setDarkTheme: () => setTheme({ ...globalOptions, theme: 'dark' }),\n setLightTheme: () => setTheme({ ...globalOptions, theme: 'light' }),\n setDefaultTheme: () => setDefaultTheme(globalOptions),\n hasDarkTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueDark),\n hasLightTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueLight),\n hasSystemTheme: computed(() => selectedTheme.value === globalOptions.storageThemeValueSystem),\n theme,\n selectedTheme,\n }\n}\n"],"names":["DEFAULT_OPTIONS","theme","ref","selectedTheme","getPrefDark","setDarkTheme","darkClass","lightClass","storageThemeKey","storageThemeValueDark","setLocalStorageValue","setSelectedTheme","isClient","setLightTheme","storageThemeValueLight","setSytemTheme","options","autoSetTheme","setDefaultTheme","setTheme","rest","toggleTheme","useThemeHandler","opts","globalOptions","themeWatchHandler","onMounted","onBeforeUnmount","watch","value","computed"],"mappings":";;AAiDA,MAAMA,IAA6C;AAAA,EACjD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,yBAAyB;AAAA,EACzB,cAAc;AAChB,GAEMC,IAAQC,EAAY,QAAQ,GAC5BC,IAAgBD,EAAY,QAAQ;AAE1C,SAASE,IAAuB;AACvB,SAAA,OAAO,WAAW,8BAA8B,EAAE;AAC3D;AAEA,SAASC,EAAa;AAAA,EACpB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,sBAAAC,IAAuB;AAAA,EACvB,kBAAAC,IAAmB;AACrB,GAGG;AACG,EAACC,QAII,SAAA,gBAAgB,UAAU,OAAOL,CAAU,GAC3C,SAAA,gBAAgB,UAAU,IAAID,CAAS,GAEhDL,EAAM,QAAQQ,GACVE,MACFR,EAAc,QAAQM,IAEpBC,MACF,aAAaF,CAAe,IAAIC;AAEpC;AAEA,SAASI,EAAc;AAAA,EACrB,WAAAP;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,wBAAAM;AAAA,EACA,sBAAAJ,IAAuB;AAAA,EACvB,kBAAAC,IAAmB;AACrB,GAGG;AACG,EAACC,QAII,SAAA,gBAAgB,UAAU,OAAON,CAAS,GAC1C,SAAA,gBAAgB,UAAU,IAAIC,CAAU,GAEjDN,EAAM,QAAQa,GACVH,MACFR,EAAc,QAAQW,IAEpBJ,MACF,aAAaF,CAAe,IAAIM;AAEpC;AAEA,SAASC,EAAc;AAAA,EACrB,sBAAAL,IAAuB;AAAA,EACvB,GAAGM;AACL,GAAmE;AAC7D,MAACJ;AAIL,oBAAS,gBAAgB,UAAU,OAAOI,EAAQ,SAAS,GAC3D,SAAS,gBAAgB,UAAU,OAAOA,EAAQ,UAAU,GAE5Df,EAAM,QAAQe,EAAQ,yBACtBb,EAAc,QAAQa,EAAQ,yBAE1BN,MACW,aAAAM,EAAQ,eAAe,IAAIA,EAAQ,0BAG3CC,EAAaD,CAAO;AAC7B;AAEA,SAASE,EAAgBF,GAAoC;AACvD,MAAA,CAACA,EAAQ;AACJ,WAAA,QAAQ,MAAM,gDAAgD;AAGnE,MAAA,CAAC,CAAC,SAAS,MAAM,EAAE,SAASA,EAAQ,YAAY;AAC3C,WAAA,QAAQ,MAAM,mEAAmE;AAG1F,UAAQA,EAAQ,cAAc;AAAA,IAC5B,KAAK;AACH,aAAOX,EAAa;AAAA,QAClB,GAAGW;AAAA,QACH,sBAAsB;AAAA,QACtB,kBAAkB;AAAA,MAAA,CACnB;AAAA,IAEH,KAAK;AACH,aAAOH,EAAc;AAAA,QACnB,GAAGG;AAAA,QACH,sBAAsB;AAAA,QACtB,kBAAkB;AAAA,MAAA,CACnB;AAAA,EACH;AAEJ;AAEA,SAASC,EAAaD,GAAoC;AACpD,SAACJ,MAID,CAAC,aAAaI,EAAQ,eAAe,KAAKA,EAAQ,eAC7CE,EAAgBF,CAAO,IAI5B,aAAaA,EAAQ,eAAe,MAAMA,EAAQ,yBAChD,CAAC,aAAaA,EAAQ,eAAe,KAAKZ,OAC1C,aAAaY,EAAQ,eAAe,MAAMA,EAAQ,2BAA2BZ,EAAY,IAG3FC,EAAa;AAAA,IACb,GAAGW;AAAA,IACH,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,EACnB,CAAA,IACCH,EAAc;AAAA,IACd,GAAGG;AAAA,IACH,sBAAsB;AAAA,IACtB,kBAAkB;AAAA,EAAA,CACnB,IAtBD;AAuBJ;AAEA,SAASG,EAAS;AAAA,EAChB,OAAAlB;AAAAA,EACA,GAAGmB;AACL,GAAuE;AACrE,SAAInB,MAAU,WACLc,EAAcK,CAAI,IAGvBnB,MAAU,SACLI,EAAae,CAAI,IAGnBP,EAAcO,CAAI;AAC3B;AAEA,SAASC,EAAYL,GAAoC;AAChD,SAAAf,EAAM,UAAUe,EAAQ,wBAC3BH,EAAcG,CAAO,IACrBX,EAAaW,CAAO;AAC1B;AAEO,SAASM,EAAgBC,GAA4B;AAC1D,QAAMC,IAAgB;AAAA,IACpB,GAAGxB;AAAA,IACH,GAAGuB;AAAA,EACL;AAEA,WAASE,IAAoB;AAC3B,IAAAR,EAAaO,CAAa;AAAA,EAAA;AAG5B,SAAAE,EAAU,MAAM;AACV,IAAA,aAAaF,EAAc,eAAe,MAC9BrB,EAAA,QAAQ,aAAaqB,EAAc,eAAe,IAG9DA,EAAc,gBAChB,OACG,WAAW,8BAA8B,EACzC,iBAAiB,UAAUC,CAAiB;AAAA,EACjD,CACD,GAEDE,EAAgB,MAAM;AACpB,IAAIH,EAAc,gBAChB,OACG,WAAW,8BAA8B,EACzC,oBAAoB,UAAUC,CAAiB;AAAA,EACpD,CACD,GAEKG,EAAAzB,GAAe,CAAC0B,MAAU;AAG9B,YAFa,aAAAL,EAAc,eAAe,IAAIK,GAEtCA,GAAO;AAAA,MACb,KAAKL,EAAc,uBAAuB;AACxC,QAAAnB,EAAamB,CAAa;AAC1B;AAAA,MAAA;AAAA,MAEF,KAAKA,EAAc,wBAAwB;AACzC,QAAAX,EAAcW,CAAa;AAC3B;AAAA,MAAA;AAAA,MAEF,KAAKA,EAAc,yBAAyB;AAC1C,QAAAT,EAAcS,CAAa;AAC3B;AAAA,MAAA;AAAA,IACF;AAAA,EACF,CACD,GAEM;AAAA,IACL,cAAc,MAAMP,EAAaO,CAAa;AAAA,IAC9C,aAAa,MAAMH,EAAYG,CAAa;AAAA,IAC5C,gBAAgB,MAAML,EAAS,EAAE,GAAGK,GAAe,OAAO,UAAU;AAAA,IACpE,cAAc,MAAML,EAAS,EAAE,GAAGK,GAAe,OAAO,QAAQ;AAAA,IAChE,eAAe,MAAML,EAAS,EAAE,GAAGK,GAAe,OAAO,SAAS;AAAA,IAClE,iBAAiB,MAAMN,EAAgBM,CAAa;AAAA,IACpD,cAAcM,EAAS,MAAM3B,EAAc,UAAUqB,EAAc,qBAAqB;AAAA,IACxF,eAAeM,EAAS,MAAM3B,EAAc,UAAUqB,EAAc,sBAAsB;AAAA,IAC1F,gBAAgBM,EAAS,MAAM3B,EAAc,UAAUqB,EAAc,uBAAuB;AAAA,IAC5F,OAAAvB;AAAA,IACA,eAAAE;AAAA,EACF;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.cjs","sources":["../../src/composables/useToast.ts"],"sourcesContent":["import type { ToasterHandler } from '@plugins/toaster/ToasterHandler'\nimport { injectStrict } from '@helpers/injectStrict'\n\nexport function useToast() {\n return injectStrict<ToasterHandler>('toast')\n}\n"],"names":["useToast","injectStrict"],"mappings":"+HAGO,SAASA,GAAW,CACzB,OAAOC,EAAAA,aAA6B,OAAO,CAC7C"}
1
+ {"version":3,"file":"useToast.cjs","sources":["../../src/composables/useToast.ts"],"sourcesContent":["import type { ToasterHandler } from '../plugins/toaster/ToasterHandler'\nimport { injectStrict } from '../helpers/injectStrict'\n\nexport function useToast() {\n return injectStrict<ToasterHandler>('toast')\n}\n"],"names":["useToast","injectStrict"],"mappings":"+HAGO,SAASA,GAAW,CACzB,OAAOC,EAAAA,aAA6B,OAAO,CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useToast.mjs","sources":["../../src/composables/useToast.ts"],"sourcesContent":["import type { ToasterHandler } from '@plugins/toaster/ToasterHandler'\nimport { injectStrict } from '@helpers/injectStrict'\n\nexport function useToast() {\n return injectStrict<ToasterHandler>('toast')\n}\n"],"names":["useToast","injectStrict"],"mappings":";AAGO,SAASA,IAAW;AACzB,SAAOC,EAA6B,OAAO;AAC7C;"}
1
+ {"version":3,"file":"useToast.mjs","sources":["../../src/composables/useToast.ts"],"sourcesContent":["import type { ToasterHandler } from '../plugins/toaster/ToasterHandler'\nimport { injectStrict } from '../helpers/injectStrict'\n\nexport function useToast() {\n return injectStrict<ToasterHandler>('toast')\n}\n"],"names":["useToast","injectStrict"],"mappings":";AAGO,SAASA,IAAW;AACzB,SAAOC,EAA6B,OAAO;AAC7C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUserVisibilty.cjs","sources":["../../src/composables/useUserVisibilty.ts"],"sourcesContent":["import {\n UserVisibility,\n type UserVisibilyCallback,\n type UserVisibilyOptions,\n} from '@helpers/userVisibility'\n\nexport function useUserVisibility({\n callback,\n options,\n}: {\n callback: UserVisibilyCallback\n options?: UserVisibilyOptions\n}) {\n return new UserVisibility(callback, options)\n}\n"],"names":["useUserVisibility","callback","options","UserVisibility"],"mappings":"iIAMO,SAASA,EAAkB,CAChC,SAAAC,EACA,QAAAC,CACF,EAGG,CACM,OAAA,IAAIC,EAAAA,eAAeF,EAAUC,CAAO,CAC7C"}
1
+ {"version":3,"file":"useUserVisibilty.cjs","sources":["../../src/composables/useUserVisibilty.ts"],"sourcesContent":["import {\n UserVisibility,\n type UserVisibilyCallback,\n type UserVisibilyOptions,\n} from '../helpers/userVisibility'\n\nexport function useUserVisibility({\n callback,\n options,\n}: {\n callback: UserVisibilyCallback\n options?: UserVisibilyOptions\n}) {\n return new UserVisibility(callback, options)\n}\n"],"names":["useUserVisibility","callback","options","UserVisibility"],"mappings":"iIAMO,SAASA,EAAkB,CAChC,SAAAC,EACA,QAAAC,CACF,EAGG,CACM,OAAA,IAAIC,EAAAA,eAAeF,EAAUC,CAAO,CAC7C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useUserVisibilty.mjs","sources":["../../src/composables/useUserVisibilty.ts"],"sourcesContent":["import {\n UserVisibility,\n type UserVisibilyCallback,\n type UserVisibilyOptions,\n} from '@helpers/userVisibility'\n\nexport function useUserVisibility({\n callback,\n options,\n}: {\n callback: UserVisibilyCallback\n options?: UserVisibilyOptions\n}) {\n return new UserVisibility(callback, options)\n}\n"],"names":["useUserVisibility","callback","options","UserVisibility"],"mappings":";AAMO,SAASA,EAAkB;AAAA,EAChC,UAAAC;AAAA,EACA,SAAAC;AACF,GAGG;AACM,SAAA,IAAIC,EAAeF,GAAUC,CAAO;AAC7C;"}
1
+ {"version":3,"file":"useUserVisibilty.mjs","sources":["../../src/composables/useUserVisibilty.ts"],"sourcesContent":["import {\n UserVisibility,\n type UserVisibilyCallback,\n type UserVisibilyOptions,\n} from '../helpers/userVisibility'\n\nexport function useUserVisibility({\n callback,\n options,\n}: {\n callback: UserVisibilyCallback\n options?: UserVisibilyOptions\n}) {\n return new UserVisibility(callback, options)\n}\n"],"names":["useUserVisibility","callback","options","UserVisibility"],"mappings":";AAMO,SAASA,EAAkB;AAAA,EAChC,UAAAC;AAAA,EACA,SAAAC;AACF,GAGG;AACM,SAAA,IAAIC,EAAeF,GAAUC,CAAO;AAC7C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWait.cjs","sources":["../../src/composables/useWait.ts"],"sourcesContent":["import type { WaitHandler } from '@plugins/wait'\nimport { injectStrict } from '@helpers/injectStrict'\n\nexport function useWait() {\n return injectStrict<WaitHandler>('wait')\n}\n"],"names":["useWait","injectStrict"],"mappings":"+HAGO,SAASA,GAAU,CACxB,OAAOC,EAAAA,aAA0B,MAAM,CACzC"}
1
+ {"version":3,"file":"useWait.cjs","sources":["../../src/composables/useWait.ts"],"sourcesContent":["import type { WaitHandler } from '../plugins/wait'\nimport { injectStrict } from '../helpers/injectStrict'\n\nexport function useWait() {\n return injectStrict<WaitHandler>('wait')\n}\n"],"names":["useWait","injectStrict"],"mappings":"+HAGO,SAASA,GAAU,CACxB,OAAOC,EAAAA,aAA0B,MAAM,CACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWait.mjs","sources":["../../src/composables/useWait.ts"],"sourcesContent":["import type { WaitHandler } from '@plugins/wait'\nimport { injectStrict } from '@helpers/injectStrict'\n\nexport function useWait() {\n return injectStrict<WaitHandler>('wait')\n}\n"],"names":["useWait","injectStrict"],"mappings":";AAGO,SAASA,IAAU;AACxB,SAAOC,EAA0B,MAAM;AACzC;"}
1
+ {"version":3,"file":"useWait.mjs","sources":["../../src/composables/useWait.ts"],"sourcesContent":["import type { WaitHandler } from '../plugins/wait'\nimport { injectStrict } from '../helpers/injectStrict'\n\nexport function useWait() {\n return injectStrict<WaitHandler>('wait')\n}\n"],"names":["useWait","injectStrict"],"mappings":";AAGO,SAASA,IAAU;AACxB,SAAOC,EAA0B,MAAM;AACzC;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../helpers/isClient.cjs"),i=require("vue");function c(r={}){const{internalWindow:e=s.isClient()?window:void 0,initialWidth:u=Number.POSITIVE_INFINITY,initialHeight:d=Number.POSITIVE_INFINITY,includeScrollbar:l=!0}=r,n=i.ref(u),t=i.ref(d);function o(){e&&(l?(n.value=e.innerWidth,t.value=e.innerHeight):(n.value=e.document.documentElement.clientWidth,t.value=e.document.documentElement.clientHeight))}return o(),i.onMounted(()=>{e&&window.addEventListener("resize",o,{passive:!0})}),i.onUnmounted(()=>{e&&window.removeEventListener("resize",o)}),{width:n,height:t}}exports.useWindowSize=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("vue"),s=require("../helpers/isClient.cjs");function c(r={}){const{internalWindow:e=s.isClient()?window:void 0,initialWidth:u=Number.POSITIVE_INFINITY,initialHeight:d=Number.POSITIVE_INFINITY,includeScrollbar:l=!0}=r,n=i.ref(u),t=i.ref(d);function o(){e&&(l?(n.value=e.innerWidth,t.value=e.innerHeight):(n.value=e.document.documentElement.clientWidth,t.value=e.document.documentElement.clientHeight))}return o(),i.onMounted(()=>{e&&window.addEventListener("resize",o,{passive:!0})}),i.onUnmounted(()=>{e&&window.removeEventListener("resize",o)}),{width:n,height:t}}exports.useWindowSize=c;
2
2
  //# sourceMappingURL=useWindowSize.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowSize.cjs","sources":["../../src/composables/useWindowSize.ts"],"sourcesContent":["import { isClient } from '@helpers/isClient'\nimport { onMounted, onUnmounted, ref } from 'vue'\n\nexport interface UseWindowSizeOptions {\n /**\n * The window object to use\n * @default window - in browser, undefined in SSR\n */\n internalWindow?: Window | undefined\n /**\n * Initial width of the window (useful in SSR)\n * @default Number.POSITIVE_INFINITY\n */\n initialWidth?: number\n /**\n * Initial height of the window (useful in SSR)\n * @default Number.POSITIVE_INFINITY\n */\n initialHeight?: number\n /**\n * Listen to window `orientationchange` event\n *\n * @default true\n */\n listenOrientation?: boolean\n\n /**\n * Whether the scrollbar should be included in the width and height\n * @default true\n */\n includeScrollbar?: boolean\n}\n\nexport function useWindowSize(options: UseWindowSizeOptions = {}) {\n const {\n internalWindow = isClient() ? window : undefined,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n includeScrollbar = true,\n } = options\n\n const width = ref(initialWidth)\n const height = ref(initialHeight)\n\n function update() {\n if (internalWindow) {\n if (includeScrollbar) {\n width.value = internalWindow.innerWidth\n height.value = internalWindow.innerHeight\n }\n else {\n width.value = internalWindow.document.documentElement.clientWidth\n height.value = internalWindow.document.documentElement.clientHeight\n }\n }\n }\n\n update()\n\n onMounted(() => {\n if (internalWindow) {\n window.addEventListener('resize', update, { passive: true })\n }\n })\n\n onUnmounted(() => {\n if (internalWindow) {\n window.removeEventListener('resize', update)\n }\n })\n\n return { width, height }\n}\n"],"names":["useWindowSize","options","internalWindow","isClient","initialWidth","initialHeight","includeScrollbar","width","ref","height","update","onMounted","onUnmounted"],"mappings":"4IAiCgB,SAAAA,EAAcC,EAAgC,GAAI,CAC1D,KAAA,CACJ,eAAAC,EAAiBC,EAAS,SAAA,EAAI,OAAS,OACvC,aAAAC,EAAe,OAAO,kBACtB,cAAAC,EAAgB,OAAO,kBACvB,iBAAAC,EAAmB,EAAA,EACjBL,EAEEM,EAAQC,MAAIJ,CAAY,EACxBK,EAASD,MAAIH,CAAa,EAEhC,SAASK,GAAS,CACZR,IACEI,GACFC,EAAM,MAAQL,EAAe,WAC7BO,EAAO,MAAQP,EAAe,cAGxBK,EAAA,MAAQL,EAAe,SAAS,gBAAgB,YAC/CO,EAAA,MAAQP,EAAe,SAAS,gBAAgB,cAE3D,CAGK,OAAAQ,EAAA,EAEPC,EAAAA,UAAU,IAAM,CACVT,GACF,OAAO,iBAAiB,SAAUQ,EAAQ,CAAE,QAAS,GAAM,CAC7D,CACD,EAEDE,EAAAA,YAAY,IAAM,CACZV,GACK,OAAA,oBAAoB,SAAUQ,CAAM,CAC7C,CACD,EAEM,CAAE,MAAAH,EAAO,OAAAE,CAAO,CACzB"}
1
+ {"version":3,"file":"useWindowSize.cjs","sources":["../../src/composables/useWindowSize.ts"],"sourcesContent":["import { onMounted, onUnmounted, ref } from 'vue'\nimport { isClient } from '../helpers/isClient'\n\nexport interface UseWindowSizeOptions {\n /**\n * The window object to use\n * @default window - in browser, undefined in SSR\n */\n internalWindow?: Window | undefined\n /**\n * Initial width of the window (useful in SSR)\n * @default Number.POSITIVE_INFINITY\n */\n initialWidth?: number\n /**\n * Initial height of the window (useful in SSR)\n * @default Number.POSITIVE_INFINITY\n */\n initialHeight?: number\n /**\n * Listen to window `orientationchange` event\n *\n * @default true\n */\n listenOrientation?: boolean\n\n /**\n * Whether the scrollbar should be included in the width and height\n * @default true\n */\n includeScrollbar?: boolean\n}\n\nexport function useWindowSize(options: UseWindowSizeOptions = {}) {\n const {\n internalWindow = isClient() ? window : undefined,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n includeScrollbar = true,\n } = options\n\n const width = ref(initialWidth)\n const height = ref(initialHeight)\n\n function update() {\n if (internalWindow) {\n if (includeScrollbar) {\n width.value = internalWindow.innerWidth\n height.value = internalWindow.innerHeight\n }\n else {\n width.value = internalWindow.document.documentElement.clientWidth\n height.value = internalWindow.document.documentElement.clientHeight\n }\n }\n }\n\n update()\n\n onMounted(() => {\n if (internalWindow) {\n window.addEventListener('resize', update, { passive: true })\n }\n })\n\n onUnmounted(() => {\n if (internalWindow) {\n window.removeEventListener('resize', update)\n }\n })\n\n return { width, height }\n}\n"],"names":["useWindowSize","options","internalWindow","isClient","initialWidth","initialHeight","includeScrollbar","width","ref","height","update","onMounted","onUnmounted"],"mappings":"4IAiCgB,SAAAA,EAAcC,EAAgC,GAAI,CAC1D,KAAA,CACJ,eAAAC,EAAiBC,EAAS,SAAA,EAAI,OAAS,OACvC,aAAAC,EAAe,OAAO,kBACtB,cAAAC,EAAgB,OAAO,kBACvB,iBAAAC,EAAmB,EAAA,EACjBL,EAEEM,EAAQC,MAAIJ,CAAY,EACxBK,EAASD,MAAIH,CAAa,EAEhC,SAASK,GAAS,CACZR,IACEI,GACFC,EAAM,MAAQL,EAAe,WAC7BO,EAAO,MAAQP,EAAe,cAGxBK,EAAA,MAAQL,EAAe,SAAS,gBAAgB,YAC/CO,EAAA,MAAQP,EAAe,SAAS,gBAAgB,cAE3D,CAGK,OAAAQ,EAAA,EAEPC,EAAAA,UAAU,IAAM,CACVT,GACF,OAAO,iBAAiB,SAAUQ,EAAQ,CAAE,QAAS,GAAM,CAC7D,CACD,EAEDE,EAAAA,YAAY,IAAM,CACZV,GACK,OAAA,oBAAoB,SAAUQ,CAAM,CAC7C,CACD,EAEM,CAAE,MAAAH,EAAO,OAAAE,CAAO,CACzB"}