quasar 2.19.2 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) 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 +6 -0
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +6 -0
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  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 +6 -0
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  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 +6 -0
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +6 -0
  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 +2 -2
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  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 +2615 -2603
  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 +2610 -2598
  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 +3 -3
  136. package/dist/types/{extras/icon-set.d.ts → icon-set.d.ts} +21 -16
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/plugin.d.ts +1 -1
  139. package/dist/types/shim-icon-set.d.ts +1 -2
  140. package/dist/types/shim-lang.d.ts +1 -2
  141. package/dist/types/ts-helpers.d.ts +3 -3
  142. package/dist/types/tsconfig.json +1 -1
  143. package/dist/types/utils/scroll.d.ts +1 -1
  144. package/dist/types/utils.d.ts +2 -2
  145. package/dist/web-types/web-types.json +1 -1
  146. package/icon-set/bootstrap-icons.js +1 -1
  147. package/icon-set/eva-icons.js +23 -23
  148. package/icon-set/fontawesome-v7-pro.js +128 -0
  149. package/icon-set/fontawesome-v7.js +128 -0
  150. package/icon-set/ionicons-v4.js +17 -17
  151. package/icon-set/svg-bootstrap-icons.js +1 -1
  152. package/icon-set/svg-eva-icons.js +23 -23
  153. package/icon-set/svg-fontawesome-v5.js +1 -1
  154. package/icon-set/svg-fontawesome-v7.js +197 -0
  155. package/icon-set/svg-ionicons-v4.js +17 -17
  156. package/icon-set/svg-ionicons-v5.js +1 -1
  157. package/icon-set/svg-ionicons-v6.js +1 -1
  158. package/icon-set/svg-ionicons-v7.js +224 -0
  159. package/icon-set/svg-ionicons-v8.js +224 -0
  160. package/icon-set/svg-themify.js +7 -7
  161. package/icon-set/themify.js +7 -7
  162. package/lang/ar-TN.js +1 -1
  163. package/lang/ar.js +1 -1
  164. package/lang/az-Latn.js +1 -1
  165. package/lang/bg.js +1 -1
  166. package/lang/bn.js +1 -1
  167. package/lang/bs-BA.js +1 -1
  168. package/lang/ca.js +1 -1
  169. package/lang/cs.js +11 -6
  170. package/lang/da.js +1 -1
  171. package/lang/de-CH.js +1 -1
  172. package/lang/de-DE.js +1 -1
  173. package/lang/de.js +1 -1
  174. package/lang/el.js +1 -1
  175. package/lang/en-GB.js +1 -1
  176. package/lang/en-US.js +1 -1
  177. package/lang/eo.js +1 -1
  178. package/lang/es.js +1 -1
  179. package/lang/et.js +1 -1
  180. package/lang/eu.js +1 -1
  181. package/lang/fa-IR.js +1 -1
  182. package/lang/fa.js +1 -1
  183. package/lang/fi.js +1 -1
  184. package/lang/fr.js +1 -1
  185. package/lang/gn.js +1 -1
  186. package/lang/he.js +1 -1
  187. package/lang/hi.js +1 -1
  188. package/lang/hr.js +1 -1
  189. package/lang/hu.js +1 -1
  190. package/lang/id.js +1 -1
  191. package/lang/is.js +1 -1
  192. package/lang/it.js +9 -9
  193. package/lang/ja.js +1 -1
  194. package/lang/kk.js +1 -1
  195. package/lang/km.js +1 -1
  196. package/lang/kur-CKB.js +1 -1
  197. package/lang/lt.js +2 -2
  198. package/lang/lu.js +1 -1
  199. package/lang/lv.js +1 -1
  200. package/lang/mk.js +1 -1
  201. package/lang/ml.js +1 -1
  202. package/lang/mm.js +1 -1
  203. package/lang/ms-MY.js +1 -1
  204. package/lang/ms.js +1 -1
  205. package/lang/my.js +1 -1
  206. package/lang/nb-NO.js +1 -1
  207. package/lang/nl.js +1 -1
  208. package/lang/pl.js +1 -1
  209. package/lang/pt-BR.js +1 -1
  210. package/lang/pt.js +1 -1
  211. package/lang/ro.js +1 -1
  212. package/lang/ru.js +1 -1
  213. package/lang/sk.js +1 -1
  214. package/lang/sl.js +1 -1
  215. package/lang/sm.js +1 -1
  216. package/lang/sq.js +1 -1
  217. package/lang/sr-CYR.js +1 -1
  218. package/lang/sr.js +1 -1
  219. package/lang/sv.js +1 -1
  220. package/lang/ta.js +1 -1
  221. package/lang/th.js +1 -1
  222. package/lang/tl.js +1 -1
  223. package/lang/tr.js +1 -1
  224. package/lang/ug.js +1 -1
  225. package/lang/uk.js +1 -1
  226. package/lang/ur-PK.js +1 -1
  227. package/lang/uz-Cyrl.js +1 -1
  228. package/lang/uz-Latn.js +1 -1
  229. package/lang/vi.js +1 -1
  230. package/lang/zh-CN.js +1 -1
  231. package/lang/zh-TW.js +1 -1
  232. package/package.json +13 -17
  233. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  234. package/src/components/avatar/QAvatar.js +3 -3
  235. package/src/components/avatar/QAvatar.test.js +2 -2
  236. package/src/components/badge/QBadge.js +9 -10
  237. package/src/components/badge/QBadge.test.js +2 -2
  238. package/src/components/banner/QBanner.js +6 -6
  239. package/src/components/banner/QBanner.test.js +2 -2
  240. package/src/components/bar/QBar.js +3 -3
  241. package/src/components/bar/QBar.test.js +2 -2
  242. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  243. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  244. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  245. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  246. package/src/components/btn/QBtn.js +39 -44
  247. package/src/components/btn/QBtn.test.js +2 -2
  248. package/src/components/btn/use-btn.js +34 -47
  249. package/src/components/btn/use-btn.test.js +5 -5
  250. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  251. package/src/components/btn-group/QBtnGroup.js +3 -3
  252. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  253. package/src/components/card/QCard.js +5 -5
  254. package/src/components/card/QCardActions.js +2 -2
  255. package/src/components/card/QCardSection.js +2 -2
  256. package/src/components/carousel/QCarousel.js +32 -38
  257. package/src/components/carousel/QCarouselControl.js +1 -1
  258. package/src/components/carousel/QCarouselSlide.js +1 -1
  259. package/src/components/carousel/QCarouselSlide.json +1 -1
  260. package/src/components/chat/QChatMessage.js +13 -14
  261. package/src/components/chat/QChatMessage.json +1 -1
  262. package/src/components/checkbox/QCheckbox.js +5 -5
  263. package/src/components/checkbox/use-checkbox.js +38 -50
  264. package/src/components/chip/QChip.js +26 -34
  265. package/src/components/chip/QChip.test.js +2 -2
  266. package/src/components/circular-progress/QCircularProgress.js +8 -11
  267. package/src/components/circular-progress/circular-progress.test.js +1 -1
  268. package/src/components/color/QColor.js +75 -98
  269. package/src/components/date/QDate.js +128 -140
  270. package/src/components/date/use-datetime.js +3 -6
  271. package/src/components/dialog/QDialog.js +44 -50
  272. package/src/components/dialog/QDialog.test.js +7 -7
  273. package/src/components/drawer/QDrawer.js +110 -152
  274. package/src/components/editor/QEditor.js +44 -37
  275. package/src/components/editor/editor-caret.js +27 -31
  276. package/src/components/editor/editor-utils.js +9 -5
  277. package/src/components/expansion-item/QExpansionItem.js +36 -48
  278. package/src/components/fab/QFab.js +11 -11
  279. package/src/components/fab/QFabAction.js +2 -4
  280. package/src/components/fab/use-fab.js +6 -7
  281. package/src/components/field/QField.js +2 -2
  282. package/src/components/file/QFile.js +26 -33
  283. package/src/components/footer/QFooter.js +40 -53
  284. package/src/components/form/QForm.js +37 -43
  285. package/src/components/form/QFormChildMixin.js +3 -3
  286. package/src/components/header/QHeader.js +35 -47
  287. package/src/components/icon/QIcon.js +19 -19
  288. package/src/components/img/QImg.js +24 -24
  289. package/src/components/img/QImg.json +3 -3
  290. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  291. package/src/components/inner-loading/QInnerLoading.js +3 -3
  292. package/src/components/input/QInput.js +52 -52
  293. package/src/components/input/use-mask.js +56 -54
  294. package/src/components/intersection/QIntersection.js +6 -8
  295. package/src/components/item/QItem.js +20 -30
  296. package/src/components/item/QItemLabel.js +5 -7
  297. package/src/components/item/QItemSection.js +6 -6
  298. package/src/components/item/QList.js +6 -6
  299. package/src/components/item/QList.test.js +2 -2
  300. package/src/components/knob/QKnob.js +39 -44
  301. package/src/components/layout/QLayout.js +30 -34
  302. package/src/components/linear-progress/QLinearProgress.js +14 -23
  303. package/src/components/markup-table/QMarkupTable.js +7 -9
  304. package/src/components/menu/QMenu.js +36 -37
  305. package/src/components/no-ssr/QNoSsr.js +1 -1
  306. package/src/components/option-group/QOptionGroup.js +5 -5
  307. package/src/components/page/QPage.js +16 -18
  308. package/src/components/page/QPageContainer.js +9 -9
  309. package/src/components/page-scroller/QPageScroller.js +11 -13
  310. package/src/components/page-sticky/use-page-sticky.js +18 -18
  311. package/src/components/pagination/QPagination.js +24 -26
  312. package/src/components/parallax/QParallax.js +15 -9
  313. package/src/components/parallax/QParallax.json +1 -1
  314. package/src/components/popup-edit/QPopupEdit.js +10 -13
  315. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  316. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  317. package/src/components/radio/QRadio.js +24 -29
  318. package/src/components/range/QRange.js +33 -37
  319. package/src/components/rating/QRating.js +59 -61
  320. package/src/components/resize-observer/QResizeObserver.js +55 -62
  321. package/src/components/scroll-area/QScrollArea.js +32 -36
  322. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  323. package/src/components/select/QSelect.js +208 -269
  324. package/src/components/separator/QSeparator.js +7 -10
  325. package/src/components/skeleton/QSkeleton.js +4 -4
  326. package/src/components/slide-item/QSlideItem.js +7 -7
  327. package/src/components/slide-transition/QSlideTransition.js +4 -4
  328. package/src/components/slider/QSlider.js +13 -16
  329. package/src/components/slider/use-slider.js +53 -81
  330. package/src/components/slider/use-slider.json +3 -3
  331. package/src/components/space/QSpace.test.js +1 -1
  332. package/src/components/spinner/QSpinner.test.js +2 -2
  333. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  334. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  335. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  336. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  337. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  338. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  339. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  340. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  341. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  342. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  343. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  344. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  345. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  346. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  347. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  348. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  349. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  350. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  351. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  352. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  353. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  354. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  355. package/src/components/spinner/use-spinner.test.js +1 -1
  356. package/src/components/splitter/QSplitter.js +19 -21
  357. package/src/components/stepper/QStep.js +12 -14
  358. package/src/components/stepper/QStepper.js +13 -14
  359. package/src/components/stepper/StepHeader.js +34 -35
  360. package/src/components/tab-panels/QTabPanels.js +3 -3
  361. package/src/components/table/QTable.js +82 -100
  362. package/src/components/table/QTd.js +3 -3
  363. package/src/components/table/QTh.js +5 -6
  364. package/src/components/table/QTr.js +3 -3
  365. package/src/components/table/table-column-selection.js +4 -6
  366. package/src/components/table/table-filter.js +2 -2
  367. package/src/components/table/table-pagination.js +14 -20
  368. package/src/components/table/table-row-expand.js +3 -3
  369. package/src/components/table/table-row-selection.js +10 -20
  370. package/src/components/table/table-sort.js +7 -7
  371. package/src/components/tabs/QRouteTab.js +1 -1
  372. package/src/components/tabs/QTab.js +1 -1
  373. package/src/components/tabs/QTabs.js +82 -109
  374. package/src/components/tabs/use-tab.js +36 -38
  375. package/src/components/time/QTime.js +109 -132
  376. package/src/components/timeline/QTimeline.js +7 -4
  377. package/src/components/timeline/QTimelineEntry.js +7 -6
  378. package/src/components/timeline/QTimelineEntry.json +1 -1
  379. package/src/components/toggle/QToggle.js +6 -8
  380. package/src/components/toolbar/QToolbar.js +2 -2
  381. package/src/components/toolbar/QToolbar.test.js +2 -2
  382. package/src/components/toolbar/QToolbarTitle.js +2 -4
  383. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  384. package/src/components/tooltip/QTooltip.js +27 -28
  385. package/src/components/tree/QTree.js +96 -114
  386. package/src/components/tree/QTree.json +1 -1
  387. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  388. package/src/components/uploader/uploader-core.js +44 -51
  389. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  390. package/src/components/video/QVideo.js +1 -1
  391. package/src/components/video/QVideo.test.js +2 -2
  392. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  393. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  394. package/src/composables/private.use-align/use-align.js +2 -2
  395. package/src/composables/private.use-align/use-align.test.js +1 -1
  396. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  397. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  398. package/src/composables/private.use-field/use-field.js +79 -99
  399. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  400. package/src/composables/private.use-file/use-file.js +27 -27
  401. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  402. package/src/composables/private.use-history/use-history.js +2 -2
  403. package/src/composables/private.use-history/use-history.test.js +1 -1
  404. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  405. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  406. package/src/composables/private.use-panel/use-panel.js +25 -27
  407. package/src/composables/private.use-portal/use-portal.js +11 -9
  408. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  409. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  410. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  411. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  412. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  413. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  414. package/src/composables/private.use-size/use-size.test.js +1 -1
  415. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  416. package/src/composables/private.use-validate/use-validate.js +23 -36
  417. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  418. package/src/composables/use-form/private.use-form.js +1 -1
  419. package/src/composables/use-form/private.use-form.test.js +3 -3
  420. package/src/composables/use-form/use-form-child.js +7 -7
  421. package/src/composables/use-hydration/use-hydration.js +2 -2
  422. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  423. package/src/composables/use-id/use-id.js +4 -8
  424. package/src/composables/use-id/use-id.test.js +1 -1
  425. package/src/composables/use-interval/use-interval.js +3 -3
  426. package/src/composables/use-interval/use-interval.test.js +1 -1
  427. package/src/composables/use-meta/use-meta.js +3 -3
  428. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  429. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  430. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  431. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  432. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  433. package/src/composables/use-tick/use-tick.js +3 -3
  434. package/src/composables/use-tick/use-tick.test.js +2 -2
  435. package/src/composables/use-timeout/use-timeout.js +2 -2
  436. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  437. package/src/directives/close-popup/ClosePopup.js +4 -9
  438. package/src/directives/intersection/Intersection.js +5 -8
  439. package/src/directives/morph/Morph.js +12 -18
  440. package/src/directives/ripple/Ripple.js +19 -26
  441. package/src/directives/ripple/Ripple.test.js +2 -2
  442. package/src/directives/scroll/Scroll.js +2 -2
  443. package/src/directives/touch-hold/TouchHold.js +22 -28
  444. package/src/directives/touch-pan/TouchPan.js +68 -84
  445. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  446. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  447. package/src/index.ssr.js +2 -0
  448. package/src/index.umd.js +2 -0
  449. package/src/install-quasar.js +9 -9
  450. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  451. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  452. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  453. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  454. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  455. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  456. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  457. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  458. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  459. package/src/plugins/cookies/Cookies.js +50 -62
  460. package/src/plugins/dark/Dark.js +3 -5
  461. package/src/plugins/dark/Dark.test.js +1 -1
  462. package/src/plugins/dialog/Dialog.js +2 -2
  463. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  464. package/src/plugins/icon-set/IconSet.js +2 -4
  465. package/src/plugins/icon-set/IconSet.test.js +1 -1
  466. package/src/plugins/lang/Lang.js +7 -10
  467. package/src/plugins/lang/Lang.json +2 -2
  468. package/src/plugins/lang/Lang.test.js +2 -2
  469. package/src/plugins/loading/Loading.js +10 -12
  470. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  471. package/src/plugins/meta/Meta.js +10 -11
  472. package/src/plugins/notify/Notify.js +67 -72
  473. package/src/plugins/platform/Platform.js +19 -21
  474. package/src/plugins/platform/Platform.test.js +1 -1
  475. package/src/plugins/private.body/Body.js +23 -29
  476. package/src/plugins/private.body/Body.test.js +1 -1
  477. package/src/plugins/private.history/History.js +17 -25
  478. package/src/plugins/private.history/History.test.js +1 -1
  479. package/src/plugins/screen/Screen.js +16 -16
  480. package/src/plugins/screen/Screen.test.js +1 -1
  481. package/src/plugins/storage/LocalStorage.js +3 -4
  482. package/src/plugins/storage/LocalStorage.test.js +2 -2
  483. package/src/plugins/storage/SessionStorage.js +3 -4
  484. package/src/plugins/storage/SessionStorage.test.js +2 -2
  485. package/src/plugins/storage/engine/web-storage.js +30 -23
  486. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  487. package/src/utils/EventBus/EventBus.js +3 -4
  488. package/src/utils/EventBus/EventBus.test.js +1 -1
  489. package/src/utils/clone/clone.test.js +4 -8
  490. package/src/utils/colors/colors.js +38 -29
  491. package/src/utils/colors/colors.test.js +2 -2
  492. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  493. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  494. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  495. package/src/utils/css-var/get-css-var.test.js +2 -2
  496. package/src/utils/css-var/set-css-var.test.js +2 -2
  497. package/src/utils/date/date.js +229 -172
  498. package/src/utils/date/private.persian.js +11 -11
  499. package/src/utils/debounce/debounce.js +3 -7
  500. package/src/utils/debounce/debounce.test.js +1 -1
  501. package/src/utils/dom/dom.js +2 -4
  502. package/src/utils/dom/dom.test.js +4 -4
  503. package/src/utils/event/event.js +21 -23
  504. package/src/utils/export-file/export-file.js +3 -3
  505. package/src/utils/extend/extend.js +15 -14
  506. package/src/utils/extend/extend.test.js +2 -2
  507. package/src/utils/format/format.js +4 -10
  508. package/src/utils/format/format.test.js +1 -1
  509. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  510. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  511. package/src/utils/is/is.js +15 -26
  512. package/src/utils/is/is.test.js +8 -7
  513. package/src/utils/morph/morph.js +57 -48
  514. package/src/utils/open-url/open-url.js +7 -7
  515. package/src/utils/patterns/patterns.js +26 -23
  516. package/src/utils/patterns/patterns.test.js +1 -1
  517. package/src/utils/private.click-outside/click-outside.js +5 -5
  518. package/src/utils/private.config/instance-config.js +2 -0
  519. package/src/utils/private.config/instance-config.test.js +4 -4
  520. package/src/utils/private.config/nodes.js +5 -5
  521. package/src/utils/private.config/nodes.test.js +4 -4
  522. package/src/utils/private.create/create.test.js +1 -1
  523. package/src/utils/private.dialog/create-dialog.js +9 -12
  524. package/src/utils/private.focus/focus-manager.js +1 -1
  525. package/src/utils/private.focus/focus-manager.test.js +4 -4
  526. package/src/utils/private.focus/focusout.js +2 -2
  527. package/src/utils/private.focus/focusout.test.js +1 -1
  528. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  529. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  530. package/src/utils/private.keyboard/escape-key.js +5 -5
  531. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  532. package/src/utils/private.keyboard/key-composition.js +4 -6
  533. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  534. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  535. package/src/utils/private.portal/portal.js +5 -5
  536. package/src/utils/private.position-engine/position-engine.js +20 -22
  537. package/src/utils/private.render/render.js +5 -7
  538. package/src/utils/private.render/render.test.js +5 -5
  539. package/src/utils/private.rtl/rtl.js +3 -2
  540. package/src/utils/private.rtl/rtl.test.js +1 -1
  541. package/src/utils/private.selection/selection.js +1 -1
  542. package/src/utils/private.selection/selection.test.js +2 -2
  543. package/src/utils/private.sort/sort.test.js +2 -2
  544. package/src/utils/private.touch/touch.js +10 -14
  545. package/src/utils/private.touch/touch.test.js +1 -1
  546. package/src/utils/private.vm/vm.js +2 -2
  547. package/src/utils/private.vm/vm.test.js +4 -4
  548. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  549. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  550. package/src/utils/scroll/prevent-scroll.js +9 -9
  551. package/src/utils/scroll/scroll.js +11 -12
  552. package/src/utils/throttle/throttle.js +4 -3
  553. package/src/utils/throttle/throttle.test.js +1 -1
  554. package/src/utils/uid/uid.js +51 -77
  555. package/src/utils/uid/uid.test.js +3 -3
  556. package/wrappers/index.cjs +2 -2
  557. package/wrappers/index.js +2 -2
  558. package/dist/types/extras/animations.d.ts +0 -106
  559. package/dist/types/extras/fonts.d.ts +0 -1
  560. package/dist/types/extras.d.ts +0 -3
  561. package/dist/vetur/quasar-attributes.json +0 -1
  562. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,4 +1,4 @@
1
- import { h, ref, computed, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h, ref } from 'vue'
2
2
 
3
3
  import useDark, {
4
4
  useDarkProps
@@ -54,54 +54,44 @@ export default createComponent({
54
54
  const blurTargetRef = ref(null)
55
55
 
56
56
  const isActionable = computed(
57
- () =>
58
- props.clickable === true ||
59
- hasLink.value === true ||
60
- props.tag === 'label'
57
+ () => props.clickable || hasLink.value || props.tag === 'label'
61
58
  )
62
59
 
63
- const isClickable = computed(
64
- () => props.disable !== true && isActionable.value === true
65
- )
60
+ const isClickable = computed(() => !props.disable && isActionable.value)
66
61
 
67
62
  const classes = computed(
68
63
  () =>
69
64
  'q-item q-item-type row no-wrap' +
70
- (props.dense === true ? ' q-item--dense' : '') +
71
- (isDark.value === true ? ' q-item--dark' : '') +
72
- (hasLink.value === true && props.active === null
65
+ (props.dense ? ' q-item--dense' : '') +
66
+ (isDark.value ? ' q-item--dark' : '') +
67
+ (hasLink.value && props.active === null
73
68
  ? linkClass.value
74
- : props.active === true
69
+ : props.active
75
70
  ? ` q-item--active${props.activeClass !== void 0 ? ` ${props.activeClass}` : ''}`
76
71
  : '') +
77
- (props.disable === true ? ' disabled' : '') +
78
- (isClickable.value === true
72
+ (props.disable ? ' disabled' : '') +
73
+ (isClickable.value
79
74
  ? ' q-item--clickable q-link cursor-pointer ' +
80
- (props.manualFocus === true
75
+ (props.manualFocus
81
76
  ? 'q-manual-focusable'
82
77
  : 'q-focusable q-hoverable') +
83
- (props.focused === true ? ' q-manual-focusable--focused' : '')
78
+ (props.focused ? ' q-manual-focusable--focused' : '')
84
79
  : '')
85
80
  )
86
81
 
87
82
  const style = computed(() => {
88
- if (props.insetLevel === void 0) {
89
- return null
90
- }
83
+ if (props.insetLevel === void 0) return null
91
84
 
92
- const dir = $q.lang.rtl === true ? 'Right' : 'Left'
85
+ const dir = $q.lang.rtl ? 'Right' : 'Left'
93
86
  return {
94
87
  ['padding' + dir]: 16 + props.insetLevel * 56 + 'px'
95
88
  }
96
89
  })
97
90
 
98
91
  function onClick(e) {
99
- if (isClickable.value === true) {
100
- if (blurTargetRef.value !== null && e.qAvoidFocus !== true) {
101
- if (
102
- e.qKeyEvent !== true &&
103
- document.activeElement === rootRef.value
104
- ) {
92
+ if (isClickable.value) {
93
+ if (blurTargetRef.value !== null && !e.qAvoidFocus) {
94
+ if (!e.qKeyEvent && document.activeElement === rootRef.value) {
105
95
  blurTargetRef.value.focus()
106
96
  } else if (document.activeElement === blurTargetRef.value) {
107
97
  rootRef.value.focus()
@@ -113,7 +103,7 @@ export default createComponent({
113
103
  }
114
104
 
115
105
  function onKeyup(e) {
116
- if (isClickable.value === true && isKeyCode(e, [13, 32]) === true) {
106
+ if (isClickable.value && isKeyCode(e, [13, 32])) {
117
107
  stopAndPrevent(e)
118
108
 
119
109
  // for ripple
@@ -131,7 +121,7 @@ export default createComponent({
131
121
  function getContent() {
132
122
  const child = hUniqueSlot(slots.default, [])
133
123
 
134
- if (isClickable.value === true) {
124
+ if (isClickable.value) {
135
125
  child.unshift(
136
126
  h('div', {
137
127
  class: 'q-focus-helper',
@@ -154,10 +144,10 @@ export default createComponent({
154
144
  onKeyup
155
145
  }
156
146
 
157
- if (isClickable.value === true) {
147
+ if (isClickable.value) {
158
148
  data.tabindex = props.tabindex || '0'
159
149
  Object.assign(data, linkAttrs.value)
160
- } else if (isActionable.value === true) {
150
+ } else if (isActionable.value) {
161
151
  data['aria-disabled'] = 'true'
162
152
  }
163
153
 
@@ -1,4 +1,4 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import { hSlot } from '../../utils/private.render/render.js'
@@ -14,16 +14,14 @@ export default createComponent({
14
14
  },
15
15
 
16
16
  setup(props, { slots }) {
17
- const parsedLines = computed(() => parseInt(props.lines, 10))
17
+ const parsedLines = computed(() => Number.parseInt(props.lines, 10))
18
18
 
19
19
  const classes = computed(
20
20
  () =>
21
21
  'q-item__label' +
22
- (props.overline === true
23
- ? ' q-item__label--overline text-overline'
24
- : '') +
25
- (props.caption === true ? ' q-item__label--caption text-caption' : '') +
26
- (props.header === true ? ' q-item__label--header' : '') +
22
+ (props.overline ? ' q-item__label--overline text-overline' : '') +
23
+ (props.caption ? ' q-item__label--caption text-caption' : '') +
24
+ (props.header ? ' q-item__label--header' : '') +
27
25
  (parsedLines.value === 1 ? ' ellipsis' : '')
28
26
  )
29
27
 
@@ -1,4 +1,4 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import { hSlot } from '../../utils/private.render/render.js'
@@ -18,13 +18,13 @@ export default createComponent({
18
18
  const classes = computed(
19
19
  () =>
20
20
  'q-item__section column' +
21
- ` q-item__section--${props.avatar === true || props.side === true || props.thumbnail === true ? 'side' : 'main'}` +
22
- (props.top === true
21
+ ` q-item__section--${props.avatar || props.side || props.thumbnail ? 'side' : 'main'}` +
22
+ (props.top
23
23
  ? ' q-item__section--top justify-start'
24
24
  : ' justify-center') +
25
- (props.avatar === true ? ' q-item__section--avatar' : '') +
26
- (props.thumbnail === true ? ' q-item__section--thumbnail' : '') +
27
- (props.noWrap === true ? ' q-item__section--nowrap' : '')
25
+ (props.avatar ? ' q-item__section--avatar' : '') +
26
+ (props.thumbnail ? ' q-item__section--thumbnail' : '') +
27
+ (props.noWrap ? ' q-item__section--nowrap' : '')
28
28
  )
29
29
 
30
30
  return () => h('div', { class: classes.value }, hSlot(slots.default))
@@ -1,4 +1,4 @@
1
- import { h, computed, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import useDark, {
@@ -36,11 +36,11 @@ export default createComponent({
36
36
  const classes = computed(
37
37
  () =>
38
38
  'q-list' +
39
- (props.bordered === true ? ' q-list--bordered' : '') +
40
- (props.dense === true ? ' q-list--dense' : '') +
41
- (props.separator === true ? ' q-list--separator' : '') +
42
- (isDark.value === true ? ' q-list--dark' : '') +
43
- (props.padding === true ? ' q-list--padding' : '')
39
+ (props.bordered ? ' q-list--bordered' : '') +
40
+ (props.dense ? ' q-list--dense' : '') +
41
+ (props.separator ? ' q-list--separator' : '') +
42
+ (isDark.value ? ' q-list--dark' : '') +
43
+ (props.padding ? ' q-list--padding' : '')
44
44
  )
45
45
 
46
46
  return () =>
@@ -1,5 +1,5 @@
1
- import { mount, flushPromises } from '@vue/test-utils'
2
- import { describe, test, expect } from 'vitest'
1
+ import { flushPromises, mount } from '@vue/test-utils'
2
+ import { describe, expect, test } from 'vitest'
3
3
 
4
4
  import QList from './QList.js'
5
5
 
@@ -1,4 +1,4 @@
1
- import { h, ref, computed, watch, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h, ref, watch } from 'vue'
2
2
 
3
3
  import QCircularProgress from '../circular-progress/QCircularProgress.js'
4
4
  import TouchPan from '../../directives/touch-pan/TouchPan.js'
@@ -9,8 +9,8 @@ import { between, normalizeToInterval } from '../../utils/format/format.js'
9
9
  import { hDir } from '../../utils/private.render/render.js'
10
10
 
11
11
  import {
12
- useFormProps,
13
- useFormAttrs
12
+ useFormAttrs,
13
+ useFormProps
14
14
  } from '../../composables/use-form/private.use-form.js'
15
15
  import { useCircularCommonProps } from '../circular-progress/circular-progress.js'
16
16
 
@@ -58,12 +58,12 @@ export default createComponent({
58
58
  const dragging = ref(false)
59
59
 
60
60
  const innerMin = computed(() =>
61
- isNaN(props.innerMin) === true || props.innerMin < props.min
61
+ !Number.isFinite(props.innerMin) || props.innerMin < props.min
62
62
  ? props.min
63
63
  : props.innerMin
64
64
  )
65
65
  const innerMax = computed(() =>
66
- isNaN(props.innerMax) === true || props.innerMax > props.max
66
+ !Number.isFinite(props.innerMax) || props.innerMax > props.max
67
67
  ? props.max
68
68
  : props.innerMax
69
69
  )
@@ -86,16 +86,14 @@ export default createComponent({
86
86
 
87
87
  normalizeModel()
88
88
 
89
- const editable = computed(
90
- () => props.disable === false && props.readonly === false
91
- )
89
+ const editable = computed(() => !props.disable && !props.readonly)
92
90
 
93
91
  const classes = computed(
94
92
  () =>
95
93
  'q-knob non-selectable' +
96
- (editable.value === true
94
+ (editable.value
97
95
  ? ' q-knob--editable'
98
- : props.disable === true
96
+ : props.disable
99
97
  ? ' disabled'
100
98
  : '')
101
99
  )
@@ -105,28 +103,27 @@ export default createComponent({
105
103
  )
106
104
  const step = computed(() => (props.step === 0 ? 1 : props.step))
107
105
  const instantFeedback = computed(
108
- () => props.instantFeedback === true || dragging.value === true
106
+ () => props.instantFeedback || dragging.value
109
107
  )
110
108
 
111
- const onEvents =
112
- $q.platform.is.mobile === true
113
- ? computed(() => (editable.value === true ? { onClick } : {}))
114
- : computed(() =>
115
- editable.value === true
116
- ? {
117
- onMousedown,
118
- onClick,
119
- onKeydown,
120
- onKeyup
121
- }
122
- : {}
123
- )
109
+ const onEvents = $q.platform.is.mobile
110
+ ? computed(() => (editable.value ? { onClick } : {}))
111
+ : computed(() =>
112
+ editable.value
113
+ ? {
114
+ onMousedown,
115
+ onClick,
116
+ onKeydown,
117
+ onKeyup
118
+ }
119
+ : {}
120
+ )
124
121
 
125
122
  const attrs = computed(() =>
126
- editable.value === true
123
+ editable.value
127
124
  ? { tabindex: props.tabindex }
128
125
  : {
129
- [`aria-${props.disable === true ? 'disabled' : 'readonly'}`]: 'true'
126
+ [`aria-${props.disable ? 'disabled' : 'readonly'}`]: 'true'
130
127
  }
131
128
  )
132
129
 
@@ -142,13 +139,15 @@ export default createComponent({
142
139
  if (event.isFinal) {
143
140
  updatePosition(event.evt, true)
144
141
  dragging.value = false
145
- } else if (event.isFirst) {
142
+ return
143
+ }
144
+
145
+ if (event.isFirst) {
146
146
  updateCenterPosition()
147
147
  dragging.value = true
148
- updatePosition(event.evt)
149
- } else {
150
- updatePosition(event.evt)
151
148
  }
149
+
150
+ updatePosition(event.evt, false)
152
151
  }
153
152
 
154
153
  const directives = computed(() => [
@@ -165,7 +164,7 @@ export default createComponent({
165
164
 
166
165
  function onMousedown(evt) {
167
166
  updateCenterPosition()
168
- updatePosition(evt)
167
+ updatePosition(evt, false)
169
168
  }
170
169
 
171
170
  function onClick(evt) {
@@ -174,7 +173,7 @@ export default createComponent({
174
173
  }
175
174
 
176
175
  function onKeydown(evt) {
177
- if (keyCodes.includes(evt.keyCode) === false) return
176
+ if (!keyCodes.includes(evt.keyCode)) return
178
177
 
179
178
  stopAndPrevent(evt)
180
179
 
@@ -182,20 +181,18 @@ export default createComponent({
182
181
  offset = [34, 37, 40].includes(evt.keyCode) ? -stepVal : stepVal
183
182
 
184
183
  model.value = between(
185
- parseFloat((model.value + offset).toFixed(decimals.value)),
184
+ Number.parseFloat((model.value + offset).toFixed(decimals.value)),
186
185
  innerMin.value,
187
186
  innerMax.value
188
187
  )
189
188
 
190
- updateValue()
189
+ updateValue(false)
191
190
  }
192
191
 
193
192
  function updatePosition(evt, change) {
194
193
  const pos = position(evt),
195
194
  height = Math.abs(pos.top - centerPosition.top),
196
- distance = Math.sqrt(
197
- height ** 2 + Math.abs(pos.left - centerPosition.left) ** 2
198
- )
195
+ distance = Math.hypot(height, pos.left - centerPosition.left)
199
196
 
200
197
  let angle = Math.asin(height / distance) * (180 / Math.PI)
201
198
 
@@ -205,15 +202,13 @@ export default createComponent({
205
202
  angle = centerPosition.left < pos.left ? angle + 90 : 270 - angle
206
203
  }
207
204
 
208
- if ($q.lang.rtl === true) {
205
+ if ($q.lang.rtl) {
209
206
  angle = normalizeToInterval(-angle - props.angle, 0, 360)
210
207
  } else if (props.angle) {
211
208
  angle = normalizeToInterval(angle - props.angle, 0, 360)
212
209
  }
213
210
 
214
- if (props.reverse === true) {
215
- angle = 360 - angle
216
- }
211
+ if (props.reverse) angle = 360 - angle
217
212
 
218
213
  let newModel = props.min + (angle / 360) * (props.max - props.min)
219
214
 
@@ -227,7 +222,7 @@ export default createComponent({
227
222
  ? (modulo < 0 ? -1 : 1) * step.value
228
223
  : 0)
229
224
 
230
- newModel = parseFloat(newModel.toFixed(decimals.value))
225
+ newModel = Number.parseFloat(newModel.toFixed(decimals.value))
231
226
  }
232
227
 
233
228
  newModel = between(newModel, innerMin.value, innerMax.value)
@@ -252,7 +247,7 @@ export default createComponent({
252
247
  emit('update:modelValue', model.value)
253
248
  }
254
249
 
255
- if (change === true) emit('change', model.value)
250
+ if (change) emit('change', model.value)
256
251
  }
257
252
 
258
253
  const formAttrs = useFormAttrs(props)
@@ -279,7 +274,7 @@ export default createComponent({
279
274
  default: slots.default
280
275
  }
281
276
 
282
- if (editable.value === true && props.name !== void 0) {
277
+ if (editable.value && props.name !== void 0) {
283
278
  child.internal = getNameInput
284
279
  }
285
280
 
@@ -1,12 +1,12 @@
1
1
  import {
2
- h,
3
- ref,
4
- reactive,
5
2
  computed,
6
- watch,
7
- provide,
3
+ getCurrentInstance,
4
+ h,
8
5
  onUnmounted,
9
- getCurrentInstance
6
+ provide,
7
+ reactive,
8
+ ref,
9
+ watch
10
10
  } from 'vue'
11
11
 
12
12
  import { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'
@@ -19,6 +19,8 @@ import { getScrollbarWidth } from '../../utils/scroll/scroll.js'
19
19
  import { hMergeSlot } from '../../utils/private.render/render.js'
20
20
  import { layoutKey } from '../../utils/private.symbols/symbols.js'
21
21
 
22
+ const viewRE = /^(h|l)h(h|r) lpr (f|l)f(f|r)$/
23
+
22
24
  export default createComponent({
23
25
  name: 'QLayout',
24
26
 
@@ -27,7 +29,7 @@ export default createComponent({
27
29
  view: {
28
30
  type: String,
29
31
  default: 'hhh lpr fff',
30
- validator: v => /^(h|l)h(h|r) lpr (f|l)f(f|r)$/.test(v.toLowerCase())
32
+ validator: v => viewRE.test(v.toLowerCase())
31
33
  },
32
34
 
33
35
  onScroll: Function,
@@ -44,31 +46,29 @@ export default createComponent({
44
46
 
45
47
  // page related
46
48
  const height = ref($q.screen.height)
47
- const width = ref(props.container === true ? 0 : $q.screen.width)
49
+ const width = ref(props.container ? 0 : $q.screen.width)
48
50
  const scroll = ref({ position: 0, direction: 'down', inflectionPoint: 0 })
49
51
 
50
52
  // container only prop
51
53
  const containerHeight = ref(0)
52
54
  const scrollbarWidth = ref(
53
- isRuntimeSsrPreHydration.value === true ? 0 : getScrollbarWidth()
55
+ isRuntimeSsrPreHydration.value ? 0 : getScrollbarWidth()
54
56
  )
55
57
 
56
58
  const classes = computed(
57
59
  () =>
58
- 'q-layout q-layout--' +
59
- (props.container === true ? 'containerized' : 'standard')
60
+ 'q-layout q-layout--' + (props.container ? 'containerized' : 'standard')
60
61
  )
61
62
 
62
63
  const style = computed(() =>
63
- props.container === false ? { minHeight: $q.screen.height + 'px' } : null
64
+ props.container ? null : { minHeight: $q.screen.height + 'px' }
64
65
  )
65
66
 
66
67
  // used by container only
67
68
  const targetStyle = computed(() =>
68
69
  scrollbarWidth.value !== 0
69
70
  ? {
70
- [$q.lang.rtl === true ? 'left' : 'right']:
71
- `${scrollbarWidth.value}px`
71
+ [$q.lang.rtl ? 'left' : 'right']: `${scrollbarWidth.value}px`
72
72
  }
73
73
  : null
74
74
  )
@@ -76,16 +76,15 @@ export default createComponent({
76
76
  const targetChildStyle = computed(() =>
77
77
  scrollbarWidth.value !== 0
78
78
  ? {
79
- [$q.lang.rtl === true ? 'right' : 'left']: 0,
80
- [$q.lang.rtl === true ? 'left' : 'right']:
81
- `-${scrollbarWidth.value}px`,
79
+ [$q.lang.rtl ? 'right' : 'left']: 0,
80
+ [$q.lang.rtl ? 'left' : 'right']: `-${scrollbarWidth.value}px`,
82
81
  width: `calc(100% + ${scrollbarWidth.value}px)`
83
82
  }
84
83
  : null
85
84
  )
86
85
 
87
86
  function onPageScroll(data) {
88
- if (props.container === true || document.qScrollPrevented !== true) {
87
+ if (props.container || !document.qScrollPrevented) {
89
88
  const info = {
90
89
  position: data.position.top,
91
90
  direction: data.direction,
@@ -114,7 +113,7 @@ export default createComponent({
114
113
  width.value = newWidth
115
114
  }
116
115
 
117
- if (resized === true && props.onResize !== void 0) {
116
+ if (resized && props.onResize !== void 0) {
118
117
  emit('resize', data)
119
118
  }
120
119
  }
@@ -127,7 +126,7 @@ export default createComponent({
127
126
  }
128
127
 
129
128
  function updateScrollbarWidth() {
130
- if (props.container === true) {
129
+ if (props.container) {
131
130
  const newWidth =
132
131
  height.value > containerHeight.value ? getScrollbarWidth() : 0
133
132
 
@@ -154,9 +153,9 @@ export default createComponent({
154
153
  rows: computed(() => {
155
154
  const rows = props.view.toLowerCase().split(' ')
156
155
  return {
157
- top: rows[0].split(''),
158
- middle: rows[1].split(''),
159
- bottom: rows[2].split('')
156
+ top: [...rows[0]],
157
+ middle: [...rows[1]],
158
+ bottom: [...rows[2]]
160
159
  }
161
160
  }),
162
161
 
@@ -189,16 +188,16 @@ export default createComponent({
189
188
 
190
189
  // prevent scrollbar flicker while resizing window height
191
190
  // if no page scrollbar is already present
192
- if (__QUASAR_SSR_SERVER__ !== true && getScrollbarWidth() > 0) {
191
+ if (!__QUASAR_SSR_SERVER__ && getScrollbarWidth() > 0) {
193
192
  let timer = null
194
193
  const el = document.body
195
194
 
196
- function restoreScrollbar() {
195
+ const restoreScrollbar = () => {
197
196
  timer = null
198
197
  el.classList.remove('hide-scrollbar')
199
198
  }
200
199
 
201
- function hideScrollbar() {
200
+ const hideScrollbar = () => {
202
201
  if (timer === null) {
203
202
  // if it has no scrollbar then there's nothing to do
204
203
  if (el.scrollHeight > $q.screen.height) return
@@ -211,7 +210,7 @@ export default createComponent({
211
210
  timer = setTimeout(restoreScrollbar, 300)
212
211
  }
213
212
 
214
- function updateScrollEvent(action) {
213
+ const updateScrollEvent = action => {
215
214
  if (timer !== null && action === 'remove') {
216
215
  clearTimeout(timer)
217
216
  restoreScrollbar()
@@ -220,12 +219,9 @@ export default createComponent({
220
219
  window[`${action}EventListener`]('resize', hideScrollbar)
221
220
  }
222
221
 
223
- watch(
224
- () => (props.container !== true ? 'add' : 'remove'),
225
- updateScrollEvent
226
- )
222
+ watch(() => (props.container ? 'remove' : 'add'), updateScrollEvent)
227
223
 
228
- if (props.container !== true) updateScrollEvent('add')
224
+ if (!props.container) updateScrollEvent('add')
229
225
 
230
226
  onUnmounted(() => {
231
227
  updateScrollEvent('remove')
@@ -243,13 +239,13 @@ export default createComponent({
243
239
  {
244
240
  class: classes.value,
245
241
  style: style.value,
246
- ref: props.container === true ? void 0 : rootRef,
242
+ ref: props.container ? void 0 : rootRef,
247
243
  tabindex: -1
248
244
  },
249
245
  content
250
246
  )
251
247
 
252
- if (props.container === true) {
248
+ if (props.container) {
253
249
  return h(
254
250
  'div',
255
251
  {
@@ -1,4 +1,4 @@
1
- import { h, computed, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h } from 'vue'
2
2
 
3
3
  import useDark, {
4
4
  useDarkProps
@@ -20,10 +20,9 @@ const defaultSizes = {
20
20
 
21
21
  function width(val, reverse, $q) {
22
22
  return {
23
- transform:
24
- reverse === true
25
- ? `translateX(${$q.lang.rtl === true ? '-' : ''}100%) scale3d(${-val},1,1)`
26
- : `scale3d(${val},1,1)`
23
+ transform: reverse
24
+ ? `translateX(${$q.lang.rtl ? '-' : ''}100%) scale3d(${-val},1,1)`
25
+ : `scale3d(${val},1,1)`
27
26
  }
28
27
  }
29
28
 
@@ -62,9 +61,7 @@ export default createComponent({
62
61
  const isDark = useDark(props, proxy.$q)
63
62
  const sizeStyle = useSize(props, defaultSizes)
64
63
 
65
- const motion = computed(
66
- () => props.indeterminate === true || props.query === true
67
- )
64
+ const motion = computed(() => props.indeterminate || props.query)
68
65
  const widthReverse = computed(() => props.reverse !== props.query)
69
66
  const style = computed(() => ({
70
67
  ...(sizeStyle.value !== null ? sizeStyle.value : {}),
@@ -75,10 +72,8 @@ export default createComponent({
75
72
  () =>
76
73
  'q-linear-progress' +
77
74
  (props.color !== void 0 ? ` text-${props.color}` : '') +
78
- (props.reverse === true || props.query === true
79
- ? ' q-linear-progress--reverse'
80
- : '') +
81
- (props.rounded === true ? ' rounded-borders' : '')
75
+ (props.reverse || props.query ? ' q-linear-progress--reverse' : '') +
76
+ (props.rounded ? ' rounded-borders' : '')
82
77
  )
83
78
 
84
79
  const trackStyle = computed(() =>
@@ -89,35 +84,31 @@ export default createComponent({
89
84
  )
90
85
  )
91
86
  const transitionSuffix = computed(
92
- () => `with${props.instantFeedback === true ? 'out' : ''}-transition`
87
+ () => `with${props.instantFeedback ? 'out' : ''}-transition`
93
88
  )
94
89
 
95
90
  const trackClass = computed(
96
91
  () =>
97
92
  'q-linear-progress__track absolute-full' +
98
93
  ` q-linear-progress__track--${transitionSuffix.value}` +
99
- ` q-linear-progress__track--${isDark.value === true ? 'dark' : 'light'}` +
94
+ ` q-linear-progress__track--${isDark.value ? 'dark' : 'light'}` +
100
95
  (props.trackColor !== void 0 ? ` bg-${props.trackColor}` : '')
101
96
  )
102
97
 
103
98
  const modelStyle = computed(() =>
104
- width(
105
- motion.value === true ? 1 : props.value,
106
- widthReverse.value,
107
- proxy.$q
108
- )
99
+ width(motion.value ? 1 : props.value, widthReverse.value, proxy.$q)
109
100
  )
110
101
  const modelClass = computed(
111
102
  () =>
112
103
  'q-linear-progress__model absolute-full' +
113
104
  ` q-linear-progress__model--${transitionSuffix.value}` +
114
- ` q-linear-progress__model--${motion.value === true ? 'in' : ''}determinate`
105
+ ` q-linear-progress__model--${motion.value ? 'in' : ''}determinate`
115
106
  )
116
107
 
117
108
  const stripeStyle = computed(() => ({ width: `${props.value * 100}%` }))
118
109
  const stripeClass = computed(
119
110
  () =>
120
- `q-linear-progress__stripe absolute-${props.reverse === true ? 'right' : 'left'}` +
111
+ `q-linear-progress__stripe absolute-${props.reverse ? 'right' : 'left'}` +
121
112
  ` q-linear-progress__stripe--${transitionSuffix.value}`
122
113
  )
123
114
 
@@ -134,7 +125,7 @@ export default createComponent({
134
125
  })
135
126
  ]
136
127
 
137
- if (props.stripe === true && motion.value === false) {
128
+ if (props.stripe && !motion.value) {
138
129
  child.push(
139
130
  h('div', {
140
131
  class: stripeClass.value,
@@ -151,7 +142,7 @@ export default createComponent({
151
142
  role: 'progressbar',
152
143
  'aria-valuemin': 0,
153
144
  'aria-valuemax': 1,
154
- 'aria-valuenow': props.indeterminate === true ? void 0 : props.value
145
+ 'aria-valuenow': props.indeterminate ? void 0 : props.value
155
146
  },
156
147
  hMergeSlot(slots.default, child)
157
148
  )