quasar 2.19.3 → 2.20.1

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 (550) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +5 -5
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2621 -2604
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2616 -2599
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +2 -2
  136. package/dist/types/icon-set.d.ts +16 -16
  137. package/dist/types/shim-icon-set.d.ts +1 -2
  138. package/dist/types/shim-lang.d.ts +1 -2
  139. package/dist/types/ts-helpers.d.ts +3 -3
  140. package/dist/types/tsconfig.json +1 -1
  141. package/dist/types/utils/scroll.d.ts +1 -1
  142. package/dist/types/utils.d.ts +2 -2
  143. package/dist/web-types/web-types.json +1 -1
  144. package/icon-set/bootstrap-icons.js +1 -1
  145. package/icon-set/eva-icons.js +22 -22
  146. package/icon-set/ionicons-v4.js +16 -16
  147. package/icon-set/svg-bootstrap-icons.js +1 -1
  148. package/icon-set/svg-eva-icons.js +22 -22
  149. package/icon-set/svg-fontawesome-v5.js +1 -1
  150. package/icon-set/svg-ionicons-v4.js +16 -16
  151. package/icon-set/svg-themify.js +7 -7
  152. package/icon-set/themify.js +7 -7
  153. package/lang/ar-TN.js +1 -1
  154. package/lang/ar.js +1 -1
  155. package/lang/az-Latn.js +1 -1
  156. package/lang/bg.js +1 -1
  157. package/lang/bn.js +1 -1
  158. package/lang/bs-BA.js +1 -1
  159. package/lang/ca.js +1 -1
  160. package/lang/cs.js +11 -6
  161. package/lang/da.js +1 -1
  162. package/lang/de-CH.js +1 -1
  163. package/lang/de-DE.js +1 -1
  164. package/lang/de.js +1 -1
  165. package/lang/el.js +1 -1
  166. package/lang/en-GB.js +1 -1
  167. package/lang/en-US.js +1 -1
  168. package/lang/eo.js +1 -1
  169. package/lang/es.js +1 -1
  170. package/lang/et.js +1 -1
  171. package/lang/eu.js +1 -1
  172. package/lang/fa-IR.js +1 -1
  173. package/lang/fa.js +1 -1
  174. package/lang/fi.js +1 -1
  175. package/lang/fr.js +1 -1
  176. package/lang/gn.js +1 -1
  177. package/lang/he.js +1 -1
  178. package/lang/hi.js +1 -1
  179. package/lang/hr.js +1 -1
  180. package/lang/hu.js +1 -1
  181. package/lang/id.js +1 -1
  182. package/lang/is.js +1 -1
  183. package/lang/it.js +1 -1
  184. package/lang/ja.js +1 -1
  185. package/lang/kk.js +1 -1
  186. package/lang/km.js +1 -1
  187. package/lang/kur-CKB.js +1 -1
  188. package/lang/lt.js +2 -2
  189. package/lang/lu.js +1 -1
  190. package/lang/lv.js +1 -1
  191. package/lang/mk.js +1 -1
  192. package/lang/ml.js +1 -1
  193. package/lang/mm.js +1 -1
  194. package/lang/ms-MY.js +1 -1
  195. package/lang/ms.js +1 -1
  196. package/lang/my.js +1 -1
  197. package/lang/nb-NO.js +1 -1
  198. package/lang/nl.js +1 -1
  199. package/lang/pl.js +1 -1
  200. package/lang/pt-BR.js +1 -1
  201. package/lang/pt.js +1 -1
  202. package/lang/ro.js +1 -1
  203. package/lang/ru.js +1 -1
  204. package/lang/sk.js +1 -1
  205. package/lang/sl.js +1 -1
  206. package/lang/sm.js +1 -1
  207. package/lang/sq.js +1 -1
  208. package/lang/sr-CYR.js +1 -1
  209. package/lang/sr.js +1 -1
  210. package/lang/sv.js +1 -1
  211. package/lang/ta.js +1 -1
  212. package/lang/th.js +1 -1
  213. package/lang/tl.js +1 -1
  214. package/lang/tr.js +1 -1
  215. package/lang/ug.js +1 -1
  216. package/lang/uk.js +1 -1
  217. package/lang/ur-PK.js +1 -1
  218. package/lang/uz-Cyrl.js +1 -1
  219. package/lang/uz-Latn.js +1 -1
  220. package/lang/vi.js +1 -1
  221. package/lang/zh-CN.js +1 -1
  222. package/lang/zh-TW.js +1 -1
  223. package/package.json +13 -17
  224. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  225. package/src/components/avatar/QAvatar.js +3 -3
  226. package/src/components/avatar/QAvatar.test.js +2 -2
  227. package/src/components/badge/QBadge.js +9 -10
  228. package/src/components/badge/QBadge.test.js +2 -2
  229. package/src/components/banner/QBanner.js +6 -6
  230. package/src/components/banner/QBanner.test.js +2 -2
  231. package/src/components/bar/QBar.js +3 -3
  232. package/src/components/bar/QBar.test.js +2 -2
  233. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  234. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  235. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  236. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  237. package/src/components/btn/QBtn.js +39 -44
  238. package/src/components/btn/QBtn.test.js +2 -2
  239. package/src/components/btn/use-btn.js +34 -47
  240. package/src/components/btn/use-btn.test.js +5 -5
  241. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  242. package/src/components/btn-group/QBtnGroup.js +3 -3
  243. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  244. package/src/components/card/QCard.js +5 -5
  245. package/src/components/card/QCardActions.js +2 -2
  246. package/src/components/card/QCardSection.js +2 -2
  247. package/src/components/carousel/QCarousel.js +32 -38
  248. package/src/components/carousel/QCarouselControl.js +1 -1
  249. package/src/components/carousel/QCarouselSlide.js +1 -1
  250. package/src/components/carousel/QCarouselSlide.json +1 -1
  251. package/src/components/chat/QChatMessage.js +13 -14
  252. package/src/components/chat/QChatMessage.json +1 -1
  253. package/src/components/checkbox/QCheckbox.js +5 -5
  254. package/src/components/checkbox/use-checkbox.js +38 -50
  255. package/src/components/chip/QChip.js +26 -34
  256. package/src/components/chip/QChip.test.js +2 -2
  257. package/src/components/circular-progress/QCircularProgress.js +8 -11
  258. package/src/components/circular-progress/circular-progress.test.js +1 -1
  259. package/src/components/color/QColor.js +75 -98
  260. package/src/components/date/QDate.js +128 -140
  261. package/src/components/date/use-datetime.js +3 -6
  262. package/src/components/dialog/QDialog.js +44 -51
  263. package/src/components/dialog/QDialog.test.js +7 -7
  264. package/src/components/drawer/QDrawer.js +110 -152
  265. package/src/components/editor/QEditor.js +44 -37
  266. package/src/components/editor/editor-caret.js +27 -31
  267. package/src/components/editor/editor-utils.js +9 -5
  268. package/src/components/expansion-item/QExpansionItem.js +36 -48
  269. package/src/components/fab/QFab.js +11 -11
  270. package/src/components/fab/QFabAction.js +2 -4
  271. package/src/components/fab/use-fab.js +6 -7
  272. package/src/components/field/QField.js +2 -2
  273. package/src/components/file/QFile.js +26 -33
  274. package/src/components/footer/QFooter.js +40 -53
  275. package/src/components/form/QForm.js +37 -43
  276. package/src/components/form/QFormChildMixin.js +3 -3
  277. package/src/components/header/QHeader.js +35 -47
  278. package/src/components/icon/QIcon.js +19 -19
  279. package/src/components/img/QImg.js +24 -24
  280. package/src/components/img/QImg.json +3 -3
  281. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  282. package/src/components/inner-loading/QInnerLoading.js +3 -3
  283. package/src/components/input/QInput.js +53 -52
  284. package/src/components/input/use-mask.js +56 -54
  285. package/src/components/intersection/QIntersection.js +6 -8
  286. package/src/components/item/QItem.js +20 -30
  287. package/src/components/item/QItemLabel.js +5 -7
  288. package/src/components/item/QItemSection.js +6 -6
  289. package/src/components/item/QList.js +6 -6
  290. package/src/components/item/QList.test.js +2 -2
  291. package/src/components/knob/QKnob.js +39 -44
  292. package/src/components/layout/QLayout.js +30 -34
  293. package/src/components/linear-progress/QLinearProgress.js +14 -23
  294. package/src/components/markup-table/QMarkupTable.js +7 -9
  295. package/src/components/menu/QMenu.js +36 -37
  296. package/src/components/no-ssr/QNoSsr.js +1 -1
  297. package/src/components/option-group/QOptionGroup.js +5 -5
  298. package/src/components/page/QPage.js +16 -18
  299. package/src/components/page/QPageContainer.js +9 -9
  300. package/src/components/page-scroller/QPageScroller.js +11 -13
  301. package/src/components/page-sticky/use-page-sticky.js +18 -18
  302. package/src/components/pagination/QPagination.js +24 -26
  303. package/src/components/parallax/QParallax.js +15 -9
  304. package/src/components/parallax/QParallax.json +1 -1
  305. package/src/components/popup-edit/QPopupEdit.js +10 -13
  306. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  307. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  308. package/src/components/radio/QRadio.js +24 -29
  309. package/src/components/range/QRange.js +33 -37
  310. package/src/components/rating/QRating.js +59 -61
  311. package/src/components/resize-observer/QResizeObserver.js +55 -62
  312. package/src/components/scroll-area/QScrollArea.js +32 -36
  313. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  314. package/src/components/select/QSelect.js +208 -269
  315. package/src/components/separator/QSeparator.js +7 -10
  316. package/src/components/skeleton/QSkeleton.js +4 -4
  317. package/src/components/slide-item/QSlideItem.js +7 -7
  318. package/src/components/slide-transition/QSlideTransition.js +4 -4
  319. package/src/components/slider/QSlider.js +13 -16
  320. package/src/components/slider/use-slider.js +53 -81
  321. package/src/components/slider/use-slider.json +3 -3
  322. package/src/components/space/QSpace.test.js +1 -1
  323. package/src/components/spinner/QSpinner.test.js +2 -2
  324. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  325. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  326. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  327. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  328. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  329. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  330. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  331. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  332. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  333. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  334. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  335. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  336. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  337. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  338. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  339. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  340. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  341. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  342. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  343. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  344. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  345. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  346. package/src/components/spinner/use-spinner.test.js +1 -1
  347. package/src/components/splitter/QSplitter.js +19 -21
  348. package/src/components/stepper/QStep.js +12 -14
  349. package/src/components/stepper/QStepper.js +13 -14
  350. package/src/components/stepper/StepHeader.js +34 -35
  351. package/src/components/tab-panels/QTabPanels.js +3 -3
  352. package/src/components/table/QTable.js +82 -100
  353. package/src/components/table/QTd.js +3 -3
  354. package/src/components/table/QTh.js +5 -6
  355. package/src/components/table/QTr.js +3 -3
  356. package/src/components/table/table-column-selection.js +4 -6
  357. package/src/components/table/table-filter.js +2 -2
  358. package/src/components/table/table-pagination.js +14 -20
  359. package/src/components/table/table-row-expand.js +3 -3
  360. package/src/components/table/table-row-selection.js +10 -20
  361. package/src/components/table/table-sort.js +7 -7
  362. package/src/components/tabs/QRouteTab.js +1 -1
  363. package/src/components/tabs/QTab.js +1 -1
  364. package/src/components/tabs/QTabs.js +82 -109
  365. package/src/components/tabs/use-tab.js +36 -38
  366. package/src/components/time/QTime.js +109 -132
  367. package/src/components/timeline/QTimeline.js +7 -4
  368. package/src/components/timeline/QTimelineEntry.js +7 -6
  369. package/src/components/timeline/QTimelineEntry.json +1 -1
  370. package/src/components/toggle/QToggle.js +6 -8
  371. package/src/components/toolbar/QToolbar.js +2 -2
  372. package/src/components/toolbar/QToolbar.test.js +2 -2
  373. package/src/components/toolbar/QToolbarTitle.js +2 -4
  374. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  375. package/src/components/tooltip/QTooltip.js +27 -28
  376. package/src/components/tree/QTree.js +96 -114
  377. package/src/components/tree/QTree.json +1 -1
  378. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  379. package/src/components/uploader/uploader-core.js +44 -51
  380. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  381. package/src/components/video/QVideo.js +1 -1
  382. package/src/components/video/QVideo.test.js +2 -2
  383. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  384. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  385. package/src/composables/private.use-align/use-align.js +2 -2
  386. package/src/composables/private.use-align/use-align.test.js +1 -1
  387. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  388. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  389. package/src/composables/private.use-field/use-field.js +79 -99
  390. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  391. package/src/composables/private.use-file/use-file.js +27 -27
  392. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  393. package/src/composables/private.use-history/use-history.js +2 -2
  394. package/src/composables/private.use-history/use-history.test.js +1 -1
  395. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  396. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  397. package/src/composables/private.use-panel/use-panel.js +25 -27
  398. package/src/composables/private.use-portal/use-portal.js +11 -9
  399. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  400. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  401. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  402. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  403. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  404. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  405. package/src/composables/private.use-size/use-size.test.js +1 -1
  406. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  407. package/src/composables/private.use-validate/use-validate.js +23 -36
  408. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  409. package/src/composables/use-form/private.use-form.js +1 -1
  410. package/src/composables/use-form/private.use-form.test.js +3 -3
  411. package/src/composables/use-form/use-form-child.js +7 -7
  412. package/src/composables/use-hydration/use-hydration.js +2 -2
  413. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  414. package/src/composables/use-id/use-id.js +4 -8
  415. package/src/composables/use-id/use-id.test.js +1 -1
  416. package/src/composables/use-interval/use-interval.js +2 -2
  417. package/src/composables/use-interval/use-interval.test.js +1 -1
  418. package/src/composables/use-meta/use-meta.js +3 -3
  419. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  420. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  421. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  422. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  423. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  424. package/src/composables/use-tick/use-tick.js +3 -3
  425. package/src/composables/use-tick/use-tick.test.js +2 -2
  426. package/src/composables/use-timeout/use-timeout.js +2 -2
  427. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  428. package/src/directives/close-popup/ClosePopup.js +4 -9
  429. package/src/directives/intersection/Intersection.js +5 -8
  430. package/src/directives/morph/Morph.js +12 -18
  431. package/src/directives/ripple/Ripple.js +19 -26
  432. package/src/directives/ripple/Ripple.test.js +2 -2
  433. package/src/directives/scroll/Scroll.js +2 -2
  434. package/src/directives/touch-hold/TouchHold.js +22 -28
  435. package/src/directives/touch-pan/TouchPan.js +68 -84
  436. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  437. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  438. package/src/index.ssr.js +2 -0
  439. package/src/index.umd.js +2 -0
  440. package/src/install-quasar.js +9 -9
  441. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  442. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  443. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  444. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  445. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  446. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  447. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  448. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  449. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  450. package/src/plugins/cookies/Cookies.js +50 -62
  451. package/src/plugins/dark/Dark.js +3 -5
  452. package/src/plugins/dark/Dark.test.js +1 -1
  453. package/src/plugins/dialog/Dialog.js +2 -2
  454. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  455. package/src/plugins/icon-set/IconSet.js +2 -4
  456. package/src/plugins/icon-set/IconSet.test.js +1 -1
  457. package/src/plugins/lang/Lang.js +7 -10
  458. package/src/plugins/lang/Lang.json +2 -2
  459. package/src/plugins/lang/Lang.test.js +2 -2
  460. package/src/plugins/loading/Loading.js +10 -12
  461. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  462. package/src/plugins/meta/Meta.js +10 -11
  463. package/src/plugins/notify/Notify.js +67 -72
  464. package/src/plugins/platform/Platform.js +19 -21
  465. package/src/plugins/platform/Platform.test.js +1 -1
  466. package/src/plugins/private.body/Body.js +23 -29
  467. package/src/plugins/private.body/Body.test.js +1 -1
  468. package/src/plugins/private.history/History.js +17 -25
  469. package/src/plugins/private.history/History.test.js +1 -1
  470. package/src/plugins/screen/Screen.js +16 -16
  471. package/src/plugins/screen/Screen.test.js +1 -1
  472. package/src/plugins/storage/LocalStorage.js +3 -4
  473. package/src/plugins/storage/LocalStorage.test.js +2 -2
  474. package/src/plugins/storage/SessionStorage.js +3 -4
  475. package/src/plugins/storage/SessionStorage.test.js +2 -2
  476. package/src/plugins/storage/engine/web-storage.js +30 -23
  477. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  478. package/src/utils/EventBus/EventBus.js +3 -4
  479. package/src/utils/EventBus/EventBus.test.js +1 -1
  480. package/src/utils/clone/clone.test.js +4 -8
  481. package/src/utils/colors/colors.js +38 -29
  482. package/src/utils/colors/colors.test.js +2 -2
  483. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  484. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  485. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  486. package/src/utils/css-var/get-css-var.test.js +2 -2
  487. package/src/utils/css-var/set-css-var.test.js +2 -2
  488. package/src/utils/date/date.js +229 -172
  489. package/src/utils/date/private.persian.js +11 -11
  490. package/src/utils/debounce/debounce.js +3 -7
  491. package/src/utils/debounce/debounce.test.js +1 -1
  492. package/src/utils/dom/dom.js +2 -4
  493. package/src/utils/dom/dom.test.js +4 -4
  494. package/src/utils/event/event.js +21 -23
  495. package/src/utils/export-file/export-file.js +3 -3
  496. package/src/utils/extend/extend.js +15 -14
  497. package/src/utils/extend/extend.test.js +2 -2
  498. package/src/utils/format/format.js +4 -10
  499. package/src/utils/format/format.test.js +1 -1
  500. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  501. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  502. package/src/utils/is/is.js +15 -26
  503. package/src/utils/is/is.test.js +8 -7
  504. package/src/utils/morph/morph.js +57 -48
  505. package/src/utils/open-url/open-url.js +7 -7
  506. package/src/utils/patterns/patterns.js +26 -23
  507. package/src/utils/patterns/patterns.test.js +1 -1
  508. package/src/utils/private.click-outside/click-outside.js +5 -5
  509. package/src/utils/private.config/instance-config.js +2 -0
  510. package/src/utils/private.config/instance-config.test.js +4 -4
  511. package/src/utils/private.config/nodes.js +5 -5
  512. package/src/utils/private.config/nodes.test.js +4 -4
  513. package/src/utils/private.create/create.test.js +1 -1
  514. package/src/utils/private.dialog/create-dialog.js +9 -12
  515. package/src/utils/private.focus/focus-manager.js +5 -1
  516. package/src/utils/private.focus/focus-manager.test.js +4 -4
  517. package/src/utils/private.focus/focusout.js +2 -2
  518. package/src/utils/private.focus/focusout.test.js +1 -1
  519. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  520. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  521. package/src/utils/private.keyboard/escape-key.js +5 -5
  522. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  523. package/src/utils/private.keyboard/key-composition.js +4 -6
  524. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  525. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  526. package/src/utils/private.portal/portal.js +5 -5
  527. package/src/utils/private.position-engine/position-engine.js +20 -22
  528. package/src/utils/private.render/render.js +5 -7
  529. package/src/utils/private.render/render.test.js +5 -5
  530. package/src/utils/private.rtl/rtl.js +3 -2
  531. package/src/utils/private.rtl/rtl.test.js +1 -1
  532. package/src/utils/private.selection/selection.js +1 -1
  533. package/src/utils/private.selection/selection.test.js +2 -2
  534. package/src/utils/private.sort/sort.test.js +2 -2
  535. package/src/utils/private.touch/touch.js +10 -14
  536. package/src/utils/private.touch/touch.test.js +1 -1
  537. package/src/utils/private.vm/vm.js +2 -2
  538. package/src/utils/private.vm/vm.test.js +4 -4
  539. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  540. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  541. package/src/utils/scroll/prevent-scroll.js +9 -9
  542. package/src/utils/scroll/scroll.js +11 -12
  543. package/src/utils/throttle/throttle.js +4 -3
  544. package/src/utils/throttle/throttle.test.js +1 -1
  545. package/src/utils/uid/uid.js +51 -77
  546. package/src/utils/uid/uid.test.js +3 -3
  547. package/wrappers/index.cjs +2 -2
  548. package/wrappers/index.js +2 -2
  549. package/dist/vetur/quasar-attributes.json +0 -1
  550. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,11 +1,11 @@
1
1
  import { isDate } from '../is/is.js'
2
- import { pad, capitalize } from '../format/format.js'
2
+ import { capitalize, pad } from '../format/format.js'
3
3
  import { jalaaliMonthLength } from './private.persian.js'
4
4
  import Lang, { defaultLang } from '../../plugins/lang/Lang.js'
5
5
 
6
- const MILLISECONDS_IN_DAY = 86400000,
7
- MILLISECONDS_IN_HOUR = 3600000,
8
- MILLISECONDS_IN_MINUTE = 60000,
6
+ const MILLISECONDS_IN_DAY = 86_400_000,
7
+ MILLISECONDS_IN_HOUR = 3_600_000,
8
+ MILLISECONDS_IN_MINUTE = 60_000,
9
9
  defaultMask = 'YYYY-MM-DDTHH:mm:ss.SSSZ',
10
10
  token =
11
11
  /\[((?:[^\]\\]|\\]|\\)*)\]|do|d{1,4}|Mo|M{1,4}|m{1,2}|wo|w{1,2}|Qo|Do|DDDo|D{1,4}|YY(?:YY)?|H{1,2}|h{1,2}|s{1,2}|S{1,3}|Z{1,2}|a{1,2}|[AQExX]/g,
@@ -31,126 +31,166 @@ function getRegexData(mask, dateLocale) {
31
31
  const regexText = mask.replace(reverseToken, match => {
32
32
  index++
33
33
  switch (match) {
34
- case 'YY':
34
+ case 'YY': {
35
35
  map.YY = index
36
- return '(-?\\d{1,2})'
37
- case 'YYYY':
36
+ return String.raw`(-?\d{1,2})`
37
+ }
38
+ case 'YYYY': {
38
39
  map.YYYY = index
39
- return '(-?\\d{1,4})'
40
- case 'M':
40
+ return String.raw`(-?\d{1,4})`
41
+ }
42
+ case 'M': {
41
43
  map.M = index
42
- return '(\\d{1,2})'
43
- case 'Mo':
44
+ return String.raw`(\d{1,2})`
45
+ }
46
+ case 'Mo': {
44
47
  map.M = index++ // bumping to M
45
- return '(\\d{1,2}(st|nd|rd|th))'
46
- case 'MM':
48
+ return String.raw`(\d{1,2}(st|nd|rd|th))`
49
+ }
50
+ case 'MM': {
47
51
  map.M = index // bumping to M
48
- return '(\\d{2})'
49
- case 'MMM':
52
+ return String.raw`(\d{2})`
53
+ }
54
+ case 'MMM': {
50
55
  map.MMM = index
51
56
  return monthsShort
52
- case 'MMMM':
57
+ }
58
+ case 'MMMM': {
53
59
  map.MMMM = index
54
60
  return months
55
- case 'D':
61
+ }
62
+ case 'D': {
56
63
  map.D = index
57
- return '(\\d{1,2})'
58
- case 'Do':
64
+ return String.raw`(\d{1,2})`
65
+ }
66
+ case 'Do': {
59
67
  map.D = index++ // bumping to D
60
- return '(\\d{1,2}(st|nd|rd|th))'
61
- case 'DD':
68
+ return String.raw`(\d{1,2}(st|nd|rd|th))`
69
+ }
70
+ case 'DD': {
62
71
  map.D = index // bumping to D
63
- return '(\\d{2})'
64
- case 'H':
72
+ return String.raw`(\d{2})`
73
+ }
74
+ case 'H': {
65
75
  map.H = index
66
- return '(\\d{1,2})'
67
- case 'HH':
76
+ return String.raw`(\d{1,2})`
77
+ }
78
+ case 'HH': {
68
79
  map.H = index // bumping to H
69
- return '(\\d{2})'
70
- case 'h':
80
+ return String.raw`(\d{2})`
81
+ }
82
+ case 'h': {
71
83
  map.h = index
72
- return '(\\d{1,2})'
73
- case 'hh':
84
+ return String.raw`(\d{1,2})`
85
+ }
86
+ case 'hh': {
74
87
  map.h = index // bumping to h
75
- return '(\\d{2})'
76
- case 'm':
88
+ return String.raw`(\d{2})`
89
+ }
90
+ case 'm': {
77
91
  map.m = index
78
- return '(\\d{1,2})'
79
- case 'mm':
92
+ return String.raw`(\d{1,2})`
93
+ }
94
+ case 'mm': {
80
95
  map.m = index // bumping to m
81
- return '(\\d{2})'
82
- case 's':
96
+ return String.raw`(\d{2})`
97
+ }
98
+ case 's': {
83
99
  map.s = index
84
- return '(\\d{1,2})'
85
- case 'ss':
100
+ return String.raw`(\d{1,2})`
101
+ }
102
+ case 'ss': {
86
103
  map.s = index // bumping to s
87
- return '(\\d{2})'
88
- case 'S':
104
+ return String.raw`(\d{2})`
105
+ }
106
+ case 'S': {
89
107
  map.S = index
90
- return '(\\d{1})'
91
- case 'SS':
108
+ return String.raw`(\d{1})`
109
+ }
110
+ case 'SS': {
92
111
  map.S = index // bump to S
93
- return '(\\d{2})'
94
- case 'SSS':
112
+ return String.raw`(\d{2})`
113
+ }
114
+ case 'SSS': {
95
115
  map.S = index // bump to S
96
- return '(\\d{3})'
97
- case 'A':
116
+ return String.raw`(\d{3})`
117
+ }
118
+ case 'A': {
98
119
  map.A = index
99
120
  return '(AM|PM)'
100
- case 'a':
121
+ }
122
+ case 'a': {
101
123
  map.a = index
102
124
  return '(am|pm)'
103
- case 'aa':
125
+ }
126
+ case 'aa': {
104
127
  map.aa = index
105
- return '(a\\.m\\.|p\\.m\\.)'
128
+ return String.raw`(a\.m\.|p\.m\.)`
129
+ }
106
130
 
107
- case 'ddd':
131
+ case 'ddd': {
108
132
  return daysShort
109
- case 'dddd':
133
+ }
134
+ case 'dddd': {
110
135
  return days
136
+ }
111
137
  case 'Q':
112
138
  case 'd':
113
- case 'E':
114
- return '(\\d{1})'
115
- case 'do':
139
+ case 'E': {
140
+ return String.raw`(\d{1})`
141
+ }
142
+ case 'do': {
116
143
  index++
117
- return '(\\d{1}(st|nd|rd|th))'
118
- case 'Qo':
144
+ return String.raw`(\d{1}(st|nd|rd|th))`
145
+ }
146
+ case 'Qo': {
119
147
  return '(1st|2nd|3rd|4th)'
148
+ }
120
149
  case 'DDD':
121
- case 'DDDD':
122
- return '(\\d{1,3})'
123
- case 'DDDo':
150
+ case 'DDDD': {
151
+ return String.raw`(\d{1,3})`
152
+ }
153
+ case 'DDDo': {
124
154
  index++
125
- return '(\\d{1,3}(st|nd|rd|th))'
126
- case 'w':
127
- return '(\\d{1,2})'
128
- case 'wo':
155
+ return String.raw`(\d{1,3}(st|nd|rd|th))`
156
+ }
157
+ case 'w': {
158
+ return String.raw`(\d{1,2})`
159
+ }
160
+ case 'wo': {
129
161
  index++
130
- return '(\\d{1,2}(st|nd|rd|th))'
131
- case 'ww':
132
- return '(\\d{2})'
162
+ return String.raw`(\d{1,2}(st|nd|rd|th))`
163
+ }
164
+ case 'ww': {
165
+ return String.raw`(\d{2})`
166
+ }
133
167
 
134
- case 'Z': // to split: (?:(Z)()()|([+-])?(\\d{2}):?(\\d{2}))
168
+ case 'Z': {
169
+ // to split: (?:(Z)()()|([+-])?(\\d{2}):?(\\d{2}))
135
170
  map.Z = index
136
- return '(Z|[+-]\\d{2}:\\d{2})'
137
- case 'ZZ':
171
+ return String.raw`(Z|[+-]\d{2}:\d{2})`
172
+ }
173
+ case 'ZZ': {
138
174
  map.ZZ = index
139
- return '(Z|[+-]\\d{2}\\d{2})'
175
+ return String.raw`(Z|[+-]\d{2}\d{2})`
176
+ }
140
177
 
141
- case 'X':
178
+ case 'X': {
142
179
  map.X = index
143
- return '(-?\\d+)'
144
- case 'x':
180
+ return String.raw`(-?\d+)`
181
+ }
182
+ case 'x': {
145
183
  map.x = index
146
- return '(-?\\d{4,})'
184
+ return String.raw`(-?\d{4,})`
185
+ }
147
186
 
148
- default:
187
+ default: {
149
188
  index--
150
189
  if (match[0] === '[') {
151
- match = match.substring(1, match.length - 1)
190
+ match = match.slice(1, -1)
152
191
  }
153
- return match.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
192
+ return match.replaceAll(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`)
193
+ }
154
194
  }
155
195
  })
156
196
 
@@ -294,7 +334,7 @@ function normalizeMod(mod) {
294
334
 
295
335
  export function adjustDate(date, rawMod, utc) {
296
336
  const mod = normalizeMod(rawMod),
297
- middle = utc === true ? 'UTC' : '',
337
+ middle = utc ? 'UTC' : '',
298
338
  d = new Date(date),
299
339
  t =
300
340
  mod.year !== void 0 || mod.month !== void 0 || mod.date !== void 0
@@ -302,7 +342,7 @@ export function adjustDate(date, rawMod, utc) {
302
342
  : d
303
343
 
304
344
  for (const key in mod) {
305
- const op = key.charAt(0).toUpperCase() + key.slice(1)
345
+ const op = key.at(0).toUpperCase() + key.slice(1)
306
346
  t[`set${middle}${op}`](mod[key])
307
347
  }
308
348
 
@@ -360,19 +400,13 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
360
400
  const { regex, map } = getRegexData(mask, langOpts)
361
401
 
362
402
  const match = str.match(regex)
363
-
364
- if (match === null) {
365
- return date
366
- }
403
+ if (match === null) return date
367
404
 
368
405
  let tzString = ''
369
406
 
370
407
  if (map.X !== void 0 || map.x !== void 0) {
371
- const stamp = parseInt(match[map.X !== void 0 ? map.X : map.x], 10)
372
-
373
- if (isNaN(stamp) === true || stamp < 0) {
374
- return date
375
- }
408
+ const stamp = Number.parseInt(match[map.X ?? map.x], 10)
409
+ if (Number.isNaN(stamp) || stamp < 0) return date
376
410
 
377
411
  const d = new Date(stamp * (map.X !== void 0 ? 1000 : 1))
378
412
 
@@ -385,17 +419,15 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
385
419
  date.millisecond = d.getMilliseconds()
386
420
  } else {
387
421
  if (map.YYYY !== void 0) {
388
- date.year = parseInt(match[map.YYYY], 10)
422
+ date.year = Number.parseInt(match[map.YYYY], 10)
389
423
  } else if (map.YY !== void 0) {
390
- const y = parseInt(match[map.YY], 10)
424
+ const y = Number.parseInt(match[map.YY], 10)
391
425
  date.year = y < 0 ? y : 2000 + y
392
426
  }
393
427
 
394
428
  if (map.M !== void 0) {
395
- date.month = parseInt(match[map.M], 10)
396
- if (date.month < 1 || date.month > 12) {
397
- return date
398
- }
429
+ date.month = Number.parseInt(match[map.M], 10)
430
+ if (date.month < 1 || date.month > 12) return date
399
431
  } else if (map.MMM !== void 0) {
400
432
  date.month = monthsShort.indexOf(match[map.MMM]) + 1
401
433
  } else if (map.MMMM !== void 0) {
@@ -403,7 +435,7 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
403
435
  }
404
436
 
405
437
  if (map.D !== void 0) {
406
- date.day = parseInt(match[map.D], 10)
438
+ date.day = Number.parseInt(match[map.D], 10)
407
439
 
408
440
  if (date.year === null || date.month === null || date.day < 1) {
409
441
  return date
@@ -414,15 +446,13 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
414
446
  ? new Date(date.year, date.month, 0).getDate()
415
447
  : jalaaliMonthLength(date.year, date.month)
416
448
 
417
- if (date.day > maxDay) {
418
- return date
419
- }
449
+ if (date.day > maxDay) return date
420
450
  }
421
451
 
422
452
  if (map.H !== void 0) {
423
- date.hour = parseInt(match[map.H], 10) % 24
453
+ date.hour = Number.parseInt(match[map.H], 10) % 24
424
454
  } else if (map.h !== void 0) {
425
- date.hour = parseInt(match[map.h], 10) % 12
455
+ date.hour = Number.parseInt(match[map.h], 10) % 12
426
456
  if (
427
457
  (map.A && match[map.A] === 'PM') ||
428
458
  (map.a && match[map.a] === 'pm') ||
@@ -430,20 +460,21 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
430
460
  ) {
431
461
  date.hour += 12
432
462
  }
463
+
433
464
  date.hour = date.hour % 24
434
465
  }
435
466
 
436
467
  if (map.m !== void 0) {
437
- date.minute = parseInt(match[map.m], 10) % 60
468
+ date.minute = Number.parseInt(match[map.m], 10) % 60
438
469
  }
439
470
 
440
471
  if (map.s !== void 0) {
441
- date.second = parseInt(match[map.s], 10) % 60
472
+ date.second = Number.parseInt(match[map.s], 10) % 60
442
473
  }
443
474
 
444
475
  if (map.S !== void 0) {
445
476
  date.millisecond =
446
- parseInt(match[map.S], 10) * 10 ** (3 - match[map.S].length)
477
+ Number.parseInt(match[map.S], 10) * 10 ** (3 - match[map.S].length)
447
478
  }
448
479
 
449
480
  if (map.Z !== void 0 || map.ZZ !== void 0) {
@@ -464,7 +495,7 @@ export function __splitDate(str, mask, dateLocale, calendar, defaultModel) {
464
495
  }
465
496
 
466
497
  export function isValid(date) {
467
- return typeof date === 'number' ? true : isNaN(Date.parse(date)) === false
498
+ return Number.isFinite(date) || Number.isFinite(Date.parse(date))
468
499
  }
469
500
 
470
501
  export function buildDate(mod, utc) {
@@ -501,12 +532,12 @@ export function getWeekOfYear(date) {
501
532
  }
502
533
 
503
534
  function getDayIdentifier(date) {
504
- return date.getFullYear() * 10000 + date.getMonth() * 100 + date.getDate()
535
+ return date.getFullYear() * 10_000 + date.getMonth() * 100 + date.getDate()
505
536
  }
506
537
 
507
538
  function getDateIdentifier(date, onlyDate /* = false */) {
508
539
  const d = new Date(date)
509
- return onlyDate === true ? getDayIdentifier(d) : d.getTime()
540
+ return onlyDate ? getDayIdentifier(d) : d.getTime()
510
541
  }
511
542
 
512
543
  export function isBetweenDates(date, from, to, opts = {}) {
@@ -515,8 +546,8 @@ export function isBetweenDates(date, from, to, opts = {}) {
515
546
  cur = getDateIdentifier(date, opts.onlyDate)
516
547
 
517
548
  return (
518
- (cur > d1 || (opts.inclusiveFrom === true && cur === d1)) &&
519
- (cur < d2 || (opts.inclusiveTo === true && cur === d2))
549
+ (cur > d1 || (opts.inclusiveFrom && cur === d1)) &&
550
+ (cur < d2 || (opts.inclusiveTo && cur === d2))
520
551
  )
521
552
  }
522
553
 
@@ -529,74 +560,88 @@ export function subtractFromDate(date, mod) {
529
560
 
530
561
  export function startOfDate(date, unit, utc) {
531
562
  const t = new Date(date),
532
- prefix = `set${utc === true ? 'UTC' : ''}`
563
+ prefix = `set${utc ? 'UTC' : ''}`
533
564
 
534
565
  switch (unit) {
535
566
  case 'year':
536
- case 'years':
567
+ case 'years': {
537
568
  t[`${prefix}Month`](0)
538
- case 'month':
539
- case 'months':
569
+ }
570
+ case 'month': // oxlint-disable-line no-fallthrough
571
+ case 'months': {
540
572
  t[`${prefix}Date`](1)
541
- case 'day':
573
+ }
574
+ case 'day': // oxlint-disable-line no-fallthrough
542
575
  case 'days':
543
- case 'date':
576
+ case 'date': {
544
577
  t[`${prefix}Hours`](0)
545
- case 'hour':
546
- case 'hours':
578
+ }
579
+ case 'hour': // oxlint-disable-line no-fallthrough
580
+ case 'hours': {
547
581
  t[`${prefix}Minutes`](0)
548
- case 'minute':
549
- case 'minutes':
582
+ }
583
+ case 'minute': // oxlint-disable-line no-fallthrough
584
+ case 'minutes': {
550
585
  t[`${prefix}Seconds`](0)
551
- case 'second':
552
- case 'seconds':
586
+ }
587
+ case 'second': // oxlint-disable-line no-fallthrough
588
+ case 'seconds': {
553
589
  t[`${prefix}Milliseconds`](0)
590
+ }
554
591
  }
555
592
  return t
556
593
  }
557
594
 
558
595
  export function endOfDate(date, unit, utc) {
559
596
  const t = new Date(date),
560
- prefix = `set${utc === true ? 'UTC' : ''}`
597
+ prefix = `set${utc ? 'UTC' : ''}`
561
598
 
562
599
  switch (unit) {
563
600
  case 'year':
564
- case 'years':
601
+ case 'years': {
565
602
  t[`${prefix}Month`](11)
566
- case 'month':
567
- case 'months':
603
+ }
604
+ case 'month': // oxlint-disable-line no-fallthrough
605
+ case 'months': {
568
606
  t[`${prefix}Date`](daysInMonth(t))
569
- case 'day':
607
+ }
608
+ case 'day': // oxlint-disable-line no-fallthrough
570
609
  case 'days':
571
- case 'date':
610
+ case 'date': {
572
611
  t[`${prefix}Hours`](23)
573
- case 'hour':
574
- case 'hours':
612
+ }
613
+ case 'hour': // oxlint-disable-line no-fallthrough
614
+ case 'hours': {
575
615
  t[`${prefix}Minutes`](59)
576
- case 'minute':
577
- case 'minutes':
616
+ }
617
+ case 'minute': // oxlint-disable-line no-fallthrough
618
+ case 'minutes': {
578
619
  t[`${prefix}Seconds`](59)
579
- case 'second':
580
- case 'seconds':
620
+ }
621
+ case 'second': // oxlint-disable-line no-fallthrough
622
+ case 'seconds': {
581
623
  t[`${prefix}Milliseconds`](999)
624
+ }
582
625
  }
583
626
  return t
584
627
  }
585
628
 
586
- export function getMaxDate(date /* , ...args */) {
587
- let t = new Date(date)
588
- Array.prototype.slice.call(arguments, 1).forEach(d => {
589
- t = Math.max(t, new Date(d))
590
- })
591
- return new Date(t)
629
+ export function getMaxDate(date, ...args) {
630
+ const maxTimestamp = Math.max(
631
+ new Date(date).getTime(),
632
+ ...args.map(d => new Date(d).getTime())
633
+ )
634
+
635
+ return new Date(maxTimestamp)
592
636
  }
593
637
 
594
- export function getMinDate(date /*, ...args */) {
595
- let t = new Date(date)
596
- Array.prototype.slice.call(arguments, 1).forEach(d => {
597
- t = Math.min(t, new Date(d))
598
- })
599
- return new Date(t)
638
+ export function getMinDate(date, ...args) {
639
+ const minTimestamp = Math.min(
640
+ new Date(date).getTime(),
641
+ ...args.map(d => new Date(d).getTime())
642
+ )
643
+
644
+ return new Date(minTimestamp)
600
645
  }
601
646
 
602
647
  function getDiff(t, sub, interval) {
@@ -614,45 +659,51 @@ export function getDateDiff(date, subtract, unit = 'days') {
614
659
 
615
660
  switch (unit) {
616
661
  case 'years':
617
- case 'year':
662
+ case 'year': {
618
663
  return t.getFullYear() - sub.getFullYear()
664
+ }
619
665
 
620
666
  case 'months':
621
- case 'month':
667
+ case 'month': {
622
668
  return (
623
669
  (t.getFullYear() - sub.getFullYear()) * 12 +
624
670
  t.getMonth() -
625
671
  sub.getMonth()
626
672
  )
673
+ }
627
674
 
628
675
  case 'days':
629
676
  case 'day':
630
- case 'date':
677
+ case 'date': {
631
678
  return getDiff(
632
679
  startOfDate(t, 'day'),
633
680
  startOfDate(sub, 'day'),
634
681
  MILLISECONDS_IN_DAY
635
682
  )
683
+ }
636
684
 
637
685
  case 'hours':
638
- case 'hour':
686
+ case 'hour': {
639
687
  return getDiff(
640
688
  startOfDate(t, 'hour'),
641
689
  startOfDate(sub, 'hour'),
642
690
  MILLISECONDS_IN_HOUR
643
691
  )
692
+ }
644
693
 
645
694
  case 'minutes':
646
- case 'minute':
695
+ case 'minute': {
647
696
  return getDiff(
648
697
  startOfDate(t, 'minute'),
649
698
  startOfDate(sub, 'minute'),
650
699
  MILLISECONDS_IN_MINUTE
651
700
  )
701
+ }
652
702
 
653
703
  case 'seconds':
654
- case 'second':
704
+ case 'second': {
655
705
  return getDiff(startOfDate(t, 'second'), startOfDate(sub, 'second'), 1000)
706
+ }
656
707
  }
657
708
  }
658
709
 
@@ -661,11 +712,7 @@ export function getDayOfYear(date) {
661
712
  }
662
713
 
663
714
  export function inferDateFormat(date) {
664
- return isDate(date) === true
665
- ? 'date'
666
- : typeof date === 'number'
667
- ? 'number'
668
- : 'string'
715
+ return isDate(date) ? 'date' : typeof date === 'number' ? 'number' : 'string'
669
716
  }
670
717
 
671
718
  export function getDateBetween(date, min, max) {
@@ -698,39 +745,46 @@ export function isSameDate(date, date2, unit) {
698
745
 
699
746
  switch (unit) {
700
747
  case 'second':
701
- case 'seconds':
748
+ case 'seconds': {
702
749
  if (t.getSeconds() !== d.getSeconds()) {
703
750
  return false
704
751
  }
705
- case 'minute': // intentional fall-through
706
- case 'minutes':
752
+ }
753
+ case 'minute': // oxlint-disable-line no-fallthrough
754
+ case 'minutes': {
707
755
  if (t.getMinutes() !== d.getMinutes()) {
708
756
  return false
709
757
  }
710
- case 'hour': // intentional fall-through
711
- case 'hours':
758
+ }
759
+ case 'hour': // oxlint-disable-line no-fallthrough
760
+ case 'hours': {
712
761
  if (t.getHours() !== d.getHours()) {
713
762
  return false
714
763
  }
715
- case 'day': // intentional fall-through
764
+ }
765
+ case 'day': // oxlint-disable-line no-fallthrough
716
766
  case 'days':
717
- case 'date':
767
+ case 'date': {
718
768
  if (t.getDate() !== d.getDate()) {
719
769
  return false
720
770
  }
721
- case 'month': // intentional fall-through
722
- case 'months':
771
+ }
772
+ case 'month': // oxlint-disable-line no-fallthrough
773
+ case 'months': {
723
774
  if (t.getMonth() !== d.getMonth()) {
724
775
  return false
725
776
  }
726
- case 'year': // intentional fall-through
727
- case 'years':
777
+ }
778
+ case 'year': // oxlint-disable-line no-fallthrough
779
+ case 'years': {
728
780
  if (t.getFullYear() !== d.getFullYear()) {
729
781
  return false
730
782
  }
731
783
  break
732
- default:
784
+ }
785
+ default: {
733
786
  throw new Error(`date isSameDate unknown unit ${unit}`)
787
+ }
734
788
  }
735
789
 
736
790
  return true
@@ -745,12 +799,15 @@ function getOrdinal(n) {
745
799
  return `${n}th`
746
800
  }
747
801
  switch (n % 10) {
748
- case 1:
802
+ case 1: {
749
803
  return `${n}st`
750
- case 2:
804
+ }
805
+ case 2: {
751
806
  return `${n}nd`
752
- case 3:
807
+ }
808
+ case 3: {
753
809
  return `${n}rd`
810
+ }
754
811
  }
755
812
  return `${n}th`
756
813
  }
@@ -994,7 +1051,7 @@ export function formatDate(
994
1051
 
995
1052
  const date = new Date(val)
996
1053
 
997
- if (isNaN(date)) return
1054
+ if (Number.isNaN(date)) return
998
1055
 
999
1056
  if (mask === void 0) {
1000
1057
  mask = defaultMask
@@ -1007,12 +1064,12 @@ export function formatDate(
1007
1064
  ? formatter[match](date, locale, __forcedYear, __forcedTimezoneOffset)
1008
1065
  : text === void 0
1009
1066
  ? match
1010
- : text.split('\\]').join(']')
1067
+ : text.split(String.raw`\]`).join(']')
1011
1068
  )
1012
1069
  }
1013
1070
 
1014
1071
  export function clone(date) {
1015
- return isDate(date) === true ? new Date(date.getTime()) : date
1072
+ return isDate(date) ? new Date(date) : date
1016
1073
  }
1017
1074
 
1018
1075
  export default {