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,12 +1,12 @@
1
1
  import {
2
+ Transition,
3
+ computed,
4
+ getCurrentInstance,
2
5
  h,
6
+ nextTick,
3
7
  ref,
4
- computed,
5
8
  watch,
6
- withDirectives,
7
- Transition,
8
- nextTick,
9
- getCurrentInstance
9
+ withDirectives
10
10
  } from 'vue'
11
11
 
12
12
  import QBtn from '../btn/QBtn.js'
@@ -16,28 +16,30 @@ import useDark, {
16
16
  useDarkProps
17
17
  } from '../../composables/private.use-dark/use-dark.js'
18
18
  import {
19
- useFormProps,
20
19
  useFormAttrs,
21
- useFormInject
20
+ useFormInject,
21
+ useFormProps
22
22
  } from '../../composables/use-form/private.use-form.js'
23
23
  import useDatetime, {
24
- useDatetimeProps,
24
+ getDayHash,
25
25
  useDatetimeEmits,
26
- getDayHash
26
+ useDatetimeProps
27
27
  } from '../date/use-datetime.js'
28
28
 
29
29
  import { createComponent } from '../../utils/private.create/create.js'
30
30
  import { hSlot } from '../../utils/private.render/render.js'
31
- import { formatDate, __splitDate } from '../../utils/date/date.js'
31
+ import { __splitDate, formatDate } from '../../utils/date/date.js'
32
32
  import { position } from '../../utils/event/event.js'
33
33
  import { pad } from '../../utils/format/format.js'
34
34
  import { vmIsDestroyed } from '../../utils/private.vm/vm.js'
35
35
 
36
+ const defaultDateRE = /^-?[\d]+\/[0-1]\d\/[0-3]\d$/
37
+
36
38
  function getViewByModel(model, withSeconds) {
37
39
  if (model.hour !== null) {
38
40
  if (model.minute === null) {
39
41
  return 'minute'
40
- } else if (withSeconds === true && model.second === null) {
42
+ } else if (withSeconds && model.second === null) {
41
43
  return 'second'
42
44
  }
43
45
  }
@@ -56,6 +58,25 @@ function getCurrentTime() {
56
58
  }
57
59
  }
58
60
 
61
+ function getWheelDist(a, b, threshold) {
62
+ const diff = Math.abs(a - b)
63
+ return Math.min(diff, threshold - diff)
64
+ }
65
+
66
+ function getValidValues(start, count, testFn) {
67
+ const values = Array.from(
68
+ { length: count + 1 },
69
+ (_, index) => index + start
70
+ ).filter(i => testFn(i))
71
+
72
+ return {
73
+ min: values[0],
74
+ max: values.at(-1),
75
+ values,
76
+ threshold: count + 1
77
+ }
78
+ }
79
+
59
80
  export default createComponent({
60
81
  name: 'QTime',
61
82
 
@@ -81,7 +102,7 @@ export default createComponent({
81
102
 
82
103
  defaultDate: {
83
104
  type: String,
84
- validator: v => /^-?[\d]+\/[0-1]\d\/[0-3]\d$/.test(v)
105
+ validator: v => defaultDateRE.test(v)
85
106
  },
86
107
 
87
108
  options: Function,
@@ -128,19 +149,22 @@ export default createComponent({
128
149
  const view = ref(getViewByModel(model))
129
150
  const innerModel = ref(model)
130
151
  const isAM = ref(model.hour === null || model.hour < 12)
152
+ const computedFormat24h = computed(() =>
153
+ props.format24h !== null ? props.format24h : $q.lang.date.format24h
154
+ )
131
155
 
132
156
  const classes = computed(
133
157
  () =>
134
- `q-time q-time--${props.landscape === true ? 'landscape' : 'portrait'}` +
135
- (isDark.value === true ? ' q-time--dark q-dark' : '') +
136
- (props.disable === true
158
+ `q-time q-time--${props.landscape ? 'landscape' : 'portrait'}` +
159
+ (isDark.value ? ' q-time--dark q-dark' : '') +
160
+ (props.disable
137
161
  ? ' disabled'
138
- : props.readonly === true
162
+ : props.readonly
139
163
  ? ' q-time--readonly'
140
164
  : '') +
141
- (props.bordered === true ? ' q-time--bordered' : '') +
142
- (props.square === true ? ' q-time--square no-border-radius' : '') +
143
- (props.flat === true ? ' q-time--flat no-shadow' : '')
165
+ (props.bordered ? ' q-time--bordered' : '') +
166
+ (props.square ? ' q-time--square no-border-radius' : '') +
167
+ (props.flat ? ' q-time--flat no-shadow' : '')
144
168
  )
145
169
 
146
170
  const stringModel = computed(() => {
@@ -150,10 +174,10 @@ export default createComponent({
150
174
  hour:
151
175
  time.hour === null
152
176
  ? '--'
153
- : computedFormat24h.value === true
177
+ : computedFormat24h.value
154
178
  ? pad(time.hour)
155
179
  : String(
156
- isAM.value === true
180
+ isAM.value
157
181
  ? time.hour === 0
158
182
  ? 12
159
183
  : time.hour
@@ -166,23 +190,15 @@ export default createComponent({
166
190
  }
167
191
  })
168
192
 
169
- const computedFormat24h = computed(() =>
170
- props.format24h !== null ? props.format24h : $q.lang.date.format24h
171
- )
172
-
173
193
  const pointerStyle = computed(() => {
174
194
  const forHour = view.value === 'hour',
175
- divider = forHour === true ? 12 : 60,
195
+ divider = forHour ? 12 : 60,
176
196
  amount = innerModel.value[view.value],
177
197
  degrees = Math.round(amount * (360 / divider)) - 180
178
198
 
179
199
  let transform = `rotate(${degrees}deg) translateX(-50%)`
180
200
 
181
- if (
182
- forHour === true &&
183
- computedFormat24h.value === true &&
184
- innerModel.value.hour >= 12
185
- ) {
201
+ if (forHour && computedFormat24h.value && innerModel.value.hour >= 12) {
186
202
  transform += ' scale(.7)'
187
203
  }
188
204
 
@@ -191,7 +207,7 @@ export default createComponent({
191
207
 
192
208
  const minLink = computed(() => innerModel.value.hour !== null)
193
209
  const secLink = computed(
194
- () => minLink.value === true && innerModel.value.minute !== null
210
+ () => minLink.value && innerModel.value.minute !== null
195
211
  )
196
212
 
197
213
  const hourInSelection = computed(() =>
@@ -220,13 +236,11 @@ export default createComponent({
220
236
  )
221
237
 
222
238
  const validHours = computed(() => {
223
- if (hourInSelection.value === null) {
224
- return null
225
- }
239
+ if (hourInSelection.value === null) return null
226
240
 
227
241
  const am = getValidValues(0, 11, hourInSelection.value)
228
242
  const pm = getValidValues(12, 11, hourInSelection.value)
229
- return { am, pm, values: am.values.concat(pm.values) }
243
+ return { am, pm, values: [...am.values, ...pm.values] }
230
244
  })
231
245
 
232
246
  const validMinutes = computed(() =>
@@ -243,49 +257,45 @@ export default createComponent({
243
257
 
244
258
  const viewValidOptions = computed(() => {
245
259
  switch (view.value) {
246
- case 'hour':
260
+ case 'hour': {
247
261
  return validHours.value
248
- case 'minute':
262
+ }
263
+ case 'minute': {
249
264
  return validMinutes.value
250
- case 'second':
265
+ }
266
+ case 'second': {
251
267
  return validSeconds.value
268
+ }
252
269
  }
253
270
  })
254
271
 
255
272
  const positions = computed(() => {
256
- let start,
257
- end,
273
+ let end,
258
274
  offset = 0,
259
275
  step = 1
260
276
  const values =
261
277
  viewValidOptions.value !== null ? viewValidOptions.value.values : void 0
262
278
 
263
279
  if (view.value === 'hour') {
264
- if (computedFormat24h.value === true) {
265
- start = 0
280
+ if (computedFormat24h.value) {
266
281
  end = 23
267
282
  } else {
268
- start = 0
269
283
  end = 11
270
-
271
- if (isAM.value === false) {
272
- offset = 12
273
- }
284
+ if (!isAM.value) offset = 12
274
285
  }
275
286
  } else {
276
- start = 0
277
287
  end = 55
278
288
  step = 5
279
289
  }
280
290
 
281
291
  const pos = []
282
292
 
283
- for (let val = start, index = start; val <= end; val += step, index++) {
293
+ for (let val = 0, index = 0; val <= end; val += step, index++) {
284
294
  const actualVal = val + offset,
285
295
  disable = values?.includes(actualVal) === false,
286
296
  label =
287
297
  view.value === 'hour' && val === 0
288
- ? computedFormat24h.value === true
298
+ ? computedFormat24h.value
289
299
  ? '00'
290
300
  : '12'
291
301
  : val
@@ -353,31 +363,6 @@ export default createComponent({
353
363
  view.value = 'hour'
354
364
  }
355
365
 
356
- function getValidValues(start, count, testFn) {
357
- const values = Array.apply(null, { length: count + 1 })
358
- .map((_, index) => {
359
- const i = index + start
360
- return {
361
- index: i,
362
- val: testFn(i) === true // force boolean
363
- }
364
- })
365
- .filter(v => v.val === true)
366
- .map(v => v.index)
367
-
368
- return {
369
- min: values[0],
370
- max: values[values.length - 1],
371
- values,
372
- threshold: count + 1
373
- }
374
- }
375
-
376
- function getWheelDist(a, b, threshold) {
377
- const diff = Math.abs(a - b)
378
- return Math.min(diff, threshold - diff)
379
- }
380
-
381
366
  function getNormalizedClockValue(val, { min, max, values, threshold }) {
382
367
  if (val === min) {
383
368
  return min
@@ -400,7 +385,7 @@ export default createComponent({
400
385
  function getMask() {
401
386
  return props.calendar !== 'persian' && props.mask !== null
402
387
  ? props.mask
403
- : `HH:mm${props.withSeconds === true ? ':ss' : ''}`
388
+ : `HH:mm${props.withSeconds ? ':ss' : ''}`
404
389
  }
405
390
 
406
391
  function getDefaultDateModel() {
@@ -420,14 +405,13 @@ export default createComponent({
420
405
 
421
406
  function shouldAbortInteraction() {
422
407
  return (
423
- vmIsDestroyed(vm) === true ||
408
+ vmIsDestroyed(vm) ||
424
409
  // if we have limited options, can we actually set any?
425
410
  (viewValidOptions.value !== null &&
426
411
  (viewValidOptions.value.values.length === 0 ||
427
412
  (view.value === 'hour' &&
428
- computedFormat24h.value !== true &&
429
- validHours.value[isAM.value === true ? 'am' : 'pm'].values
430
- .length === 0)))
413
+ !computedFormat24h.value &&
414
+ validHours.value[isAM.value ? 'am' : 'pm'].values.length === 0)))
431
415
  )
432
416
  }
433
417
 
@@ -444,9 +428,9 @@ export default createComponent({
444
428
  }
445
429
 
446
430
  function onPan(event) {
447
- if (shouldAbortInteraction() === true) return
431
+ if (shouldAbortInteraction()) return
448
432
 
449
- if (event.isFirst === true) {
433
+ if (event.isFirst) {
450
434
  draggingClockRect = getClockRect()
451
435
  dragCache = updateClock(event.evt, draggingClockRect)
452
436
  return
@@ -454,7 +438,7 @@ export default createComponent({
454
438
 
455
439
  dragCache = updateClock(event.evt, draggingClockRect, dragCache)
456
440
 
457
- if (event.isFinal === true) {
441
+ if (event.isFinal) {
458
442
  draggingClockRect = false
459
443
  dragCache = null
460
444
  goToNextView()
@@ -472,9 +456,9 @@ export default createComponent({
472
456
  function updateClock(evt, clockRect, cacheVal) {
473
457
  const pos = position(evt),
474
458
  height = Math.abs(pos.top - clockRect.top),
475
- distance = Math.sqrt(
476
- Math.abs(pos.top - clockRect.top) ** 2 +
477
- Math.abs(pos.left - clockRect.left) ** 2
459
+ distance = Math.hypot(
460
+ pos.top - clockRect.top,
461
+ pos.left - clockRect.left
478
462
  )
479
463
 
480
464
  let val,
@@ -490,22 +474,21 @@ export default createComponent({
490
474
  val = angle / 30
491
475
 
492
476
  if (validHours.value !== null) {
493
- const am =
494
- computedFormat24h.value !== true
495
- ? isAM.value === true
496
- : validHours.value.am.values.length !== 0 &&
497
- validHours.value.pm.values.length !== 0
498
- ? distance >= clockRect.dist
499
- : validHours.value.am.values.length !== 0
477
+ const am = !computedFormat24h.value
478
+ ? isAM.value
479
+ : validHours.value.am.values.length !== 0 &&
480
+ validHours.value.pm.values.length !== 0
481
+ ? distance >= clockRect.dist
482
+ : validHours.value.am.values.length !== 0
500
483
 
501
484
  val = getNormalizedClockValue(
502
- val + (am === true ? 0 : 12),
503
- validHours.value[am === true ? 'am' : 'pm']
485
+ val + (am ? 0 : 12),
486
+ validHours.value[am ? 'am' : 'pm']
504
487
  )
505
488
  } else {
506
489
  val = Math.round(val)
507
490
 
508
- if (computedFormat24h.value === true) {
491
+ if (computedFormat24h.value) {
509
492
  if (distance < clockRect.dist) {
510
493
  if (val < 12) {
511
494
  val += 12
@@ -513,14 +496,14 @@ export default createComponent({
513
496
  } else if (val === 12) {
514
497
  val = 0
515
498
  }
516
- } else if (isAM.value === true && val === 12) {
499
+ } else if (isAM.value && val === 12) {
517
500
  val = 0
518
- } else if (isAM.value === false && val !== 12) {
501
+ } else if (!isAM.value && val !== 12) {
519
502
  val += 12
520
503
  }
521
504
  }
522
505
 
523
- if (computedFormat24h.value === true) {
506
+ if (computedFormat24h.value) {
524
507
  isAM.value = val < 12
525
508
  }
526
509
  } else {
@@ -561,10 +544,10 @@ export default createComponent({
561
544
  }
562
545
 
563
546
  function onClick(evt) {
564
- if (shouldAbortInteraction() !== true) {
547
+ if (!shouldAbortInteraction()) {
565
548
  // onMousedown() has already updated the offset
566
549
  // (on desktop only, through mousedown event)
567
- if ($q.platform.is.desktop !== true) {
550
+ if (!$q.platform.is.desktop) {
568
551
  updateClock(evt, getClockRect())
569
552
  }
570
553
 
@@ -573,7 +556,7 @@ export default createComponent({
573
556
  }
574
557
 
575
558
  function onMousedown(evt) {
576
- if (shouldAbortInteraction() !== true) {
559
+ if (!shouldAbortInteraction()) {
577
560
  updateClock(evt, getClockRect())
578
561
  }
579
562
  }
@@ -586,10 +569,9 @@ export default createComponent({
586
569
  const payload = e.keyCode === 37 ? -1 : 1
587
570
 
588
571
  if (validHours.value !== null) {
589
- const values =
590
- computedFormat24h.value === true
591
- ? validHours.value.values
592
- : validHours.value[isAM.value === true ? 'am' : 'pm'].values
572
+ const values = computedFormat24h.value
573
+ ? validHours.value.values
574
+ : validHours.value[isAM.value ? 'am' : 'pm'].values
593
575
 
594
576
  if (values.length === 0) return
595
577
 
@@ -605,9 +587,8 @@ export default createComponent({
605
587
  setHour(values[index])
606
588
  }
607
589
  } else {
608
- const wrap = computedFormat24h.value === true ? 24 : 12,
609
- offset =
610
- computedFormat24h.value !== true && isAM.value === false ? 12 : 0,
590
+ const wrap = computedFormat24h.value ? 24 : 12,
591
+ offset = !computedFormat24h.value && !isAM.value ? 12 : 0,
611
592
  val =
612
593
  innerModel.value.hour === null ? -payload : innerModel.value.hour
613
594
 
@@ -710,7 +691,7 @@ export default createComponent({
710
691
  }
711
692
 
712
693
  function setAm() {
713
- if (isAM.value === false) {
694
+ if (!isAM.value) {
714
695
  isAM.value = true
715
696
 
716
697
  if (innerModel.value.hour !== null) {
@@ -721,7 +702,7 @@ export default createComponent({
721
702
  }
722
703
 
723
704
  function setPm() {
724
- if (isAM.value === true) {
705
+ if (isAM.value) {
725
706
  isAM.value = false
726
707
 
727
708
  if (innerModel.value.hour !== null) {
@@ -747,7 +728,7 @@ export default createComponent({
747
728
  function verifyAndUpdate() {
748
729
  if (
749
730
  hourInSelection.value !== null &&
750
- hourInSelection.value(innerModel.value.hour) !== true
731
+ !hourInSelection.value(innerModel.value.hour)
751
732
  ) {
752
733
  innerModel.value = __splitDate()
753
734
  goToViewWhenHasModel('hour')
@@ -756,7 +737,7 @@ export default createComponent({
756
737
 
757
738
  if (
758
739
  minuteInSelection.value !== null &&
759
- minuteInSelection.value(innerModel.value.minute) !== true
740
+ !minuteInSelection.value(innerModel.value.minute)
760
741
  ) {
761
742
  innerModel.value.minute = null
762
743
  innerModel.value.second = null
@@ -765,9 +746,9 @@ export default createComponent({
765
746
  }
766
747
 
767
748
  if (
768
- props.withSeconds === true &&
749
+ props.withSeconds &&
769
750
  secondInSelection.value !== null &&
770
- secondInSelection.value(innerModel.value.second) !== true
751
+ !secondInSelection.value(innerModel.value.second)
771
752
  ) {
772
753
  innerModel.value.second = null
773
754
  goToViewWhenHasModel('second')
@@ -777,7 +758,7 @@ export default createComponent({
777
758
  if (
778
759
  innerModel.value.hour === null ||
779
760
  innerModel.value.minute === null ||
780
- (props.withSeconds === true && innerModel.value.second === null)
761
+ (props.withSeconds && innerModel.value.second === null)
781
762
  ) {
782
763
  return
783
764
  }
@@ -786,14 +767,14 @@ export default createComponent({
786
767
  }
787
768
 
788
769
  function updateValue(obj) {
789
- const date = Object.assign({ ...innerModel.value }, obj)
770
+ const date = { ...innerModel.value, ...obj }
790
771
 
791
772
  const val =
792
773
  props.calendar === 'persian'
793
774
  ? pad(date.hour) +
794
775
  ':' +
795
776
  pad(date.minute) +
796
- (props.withSeconds === true ? ':' + pad(date.second) : '')
777
+ (props.withSeconds ? ':' + pad(date.second) : '')
797
778
  : formatDate(
798
779
  new Date(
799
780
  date.year,
@@ -835,7 +816,7 @@ export default createComponent({
835
816
 
836
817
  h(
837
818
  'div',
838
- minLink.value === true
819
+ minLink.value
839
820
  ? {
840
821
  class:
841
822
  'q-time__link ' +
@@ -851,13 +832,13 @@ export default createComponent({
851
832
  )
852
833
  ]
853
834
 
854
- if (props.withSeconds === true) {
835
+ if (props.withSeconds) {
855
836
  label.push(
856
837
  h('div', ':'),
857
838
 
858
839
  h(
859
840
  'div',
860
- secLink.value === true
841
+ secLink.value
861
842
  ? {
862
843
  class:
863
844
  'q-time__link ' +
@@ -885,7 +866,7 @@ export default createComponent({
885
866
  )
886
867
  ]
887
868
 
888
- if (computedFormat24h.value === false) {
869
+ if (!computedFormat24h.value) {
889
870
  child.push(
890
871
  h(
891
872
  'div',
@@ -898,9 +879,7 @@ export default createComponent({
898
879
  {
899
880
  class:
900
881
  'q-time__link ' +
901
- (isAM.value === true
902
- ? 'q-time__link--active'
903
- : 'cursor-pointer'),
882
+ (isAM.value ? 'q-time__link--active' : 'cursor-pointer'),
904
883
  tabindex: tabindex.value,
905
884
  onClick: setAm,
906
885
  onKeyup: setAmOnKey
@@ -913,9 +892,7 @@ export default createComponent({
913
892
  {
914
893
  class:
915
894
  'q-time__link ' +
916
- (isAM.value !== true
917
- ? 'q-time__link--active'
918
- : 'cursor-pointer'),
895
+ (isAM.value ? 'cursor-pointer' : 'q-time__link--active'),
919
896
  tabindex: tabindex.value,
920
897
  onClick: setPm,
921
898
  onKeyup: setPmOnKey
@@ -996,7 +973,7 @@ export default createComponent({
996
973
  (pos.val === current
997
974
  ? ' q-time__clock-position--active ' +
998
975
  headerClass.value
999
- : pos.disable === true
976
+ : pos.disable
1000
977
  ? ' q-time__clock-position--disable'
1001
978
  : '')
1002
979
  },
@@ -1014,7 +991,7 @@ export default createComponent({
1014
991
  )
1015
992
  ),
1016
993
 
1017
- props.nowBtn === true
994
+ props.nowBtn
1018
995
  ? h(QBtn, {
1019
996
  class: 'q-time__now-button absolute',
1020
997
  icon: $q.iconSet.datetime.now,
@@ -1042,7 +1019,7 @@ export default createComponent({
1042
1019
  child.push(h('div', { class: 'q-time__actions' }, def))
1043
1020
  }
1044
1021
 
1045
- if (props.name !== void 0 && props.disable !== true) {
1022
+ if (props.name !== void 0 && !props.disable) {
1046
1023
  injectFormInput(child, 'push')
1047
1024
  }
1048
1025
 
@@ -1,4 +1,4 @@
1
- import { h, computed, provide, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h, provide } from 'vue'
2
2
 
3
3
  import useDark, {
4
4
  useDarkProps
@@ -8,6 +8,9 @@ import { createComponent } from '../../utils/private.create/create.js'
8
8
  import { hSlot } from '../../utils/private.render/render.js'
9
9
  import { timelineKey } from '../../utils/private.symbols/symbols.js'
10
10
 
11
+ const sideValues = ['left', 'right']
12
+ const layoutValues = ['dense', 'comfortable', 'loose']
13
+
11
14
  export default createComponent({
12
15
  name: 'QTimeline',
13
16
 
@@ -21,12 +24,12 @@ export default createComponent({
21
24
  side: {
22
25
  type: String,
23
26
  default: 'right',
24
- validator: v => ['left', 'right'].includes(v)
27
+ validator: v => sideValues.includes(v)
25
28
  },
26
29
  layout: {
27
30
  type: String,
28
31
  default: 'dense',
29
- validator: v => ['dense', 'comfortable', 'loose'].includes(v)
32
+ validator: v => layoutValues.includes(v)
30
33
  }
31
34
  },
32
35
 
@@ -39,7 +42,7 @@ export default createComponent({
39
42
  const classes = computed(
40
43
  () =>
41
44
  `q-timeline q-timeline--${props.layout} q-timeline--${props.layout}--${props.side}` +
42
- (isDark.value === true ? ' q-timeline--dark' : '')
45
+ (isDark.value ? ' q-timeline--dark' : '')
43
46
  )
44
47
 
45
48
  return () => h('ul', { class: classes.value }, hSlot(slots.default))
@@ -1,12 +1,12 @@
1
- import { h, computed, inject } from 'vue'
1
+ import { computed, h, inject } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
 
5
5
  import { createComponent } from '../../utils/private.create/create.js'
6
6
  import { hSlot, hUniqueSlot } from '../../utils/private.render/render.js'
7
7
  import {
8
- timelineKey,
9
- emptyRenderFn
8
+ emptyRenderFn,
9
+ timelineKey
10
10
  } from '../../utils/private.symbols/symbols.js'
11
11
 
12
12
  export default createComponent({
@@ -64,7 +64,7 @@ export default createComponent({
64
64
  child.unshift(props.body)
65
65
  }
66
66
 
67
- if (props.heading === true) {
67
+ if (props.heading) {
68
68
  const content = [
69
69
  h('div'),
70
70
  h('div'),
@@ -76,7 +76,7 @@ export default createComponent({
76
76
  {
77
77
  class: 'q-timeline__heading'
78
78
  },
79
- reverse.value === true ? content.reverse() : content
79
+ reverse.value ? content.reverse() : content
80
80
  )
81
81
  }
82
82
 
@@ -108,6 +108,7 @@ export default createComponent({
108
108
  h(
109
109
  'div',
110
110
  { class: 'q-timeline__content' },
111
+ // oxlint-disable-next-line unicorn/prefer-spread
111
112
  [
112
113
  h(
113
114
  'h6',
@@ -123,7 +124,7 @@ export default createComponent({
123
124
  {
124
125
  class: classes.value
125
126
  },
126
- reverse.value === true ? content.reverse() : content
127
+ reverse.value ? content.reverse() : content
127
128
  )
128
129
  }
129
130
  }
@@ -35,7 +35,7 @@
35
35
  "transformAssetUrls": true,
36
36
  "examples": [
37
37
  "# (public folder) src=\"img/my-bg.png\"",
38
- "# (assets folder) src=\"~assets/my-img.png\"",
38
+ "# (assets folder) src=\"~@/assets/my-img.png\"",
39
39
  "# (relative path format) :src=\"require('./my_img.jpg')\"",
40
40
  "# (URL) src=\"https://picsum.photos/500/300\""
41
41
  ],