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