quasar 2.19.3 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +5 -5
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2621 -2604
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2616 -2599
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +2 -2
  136. package/dist/types/icon-set.d.ts +16 -16
  137. package/dist/types/shim-icon-set.d.ts +1 -2
  138. package/dist/types/shim-lang.d.ts +1 -2
  139. package/dist/types/ts-helpers.d.ts +3 -3
  140. package/dist/types/tsconfig.json +1 -1
  141. package/dist/types/utils/scroll.d.ts +1 -1
  142. package/dist/types/utils.d.ts +2 -2
  143. package/dist/web-types/web-types.json +1 -1
  144. package/icon-set/bootstrap-icons.js +1 -1
  145. package/icon-set/eva-icons.js +22 -22
  146. package/icon-set/ionicons-v4.js +16 -16
  147. package/icon-set/svg-bootstrap-icons.js +1 -1
  148. package/icon-set/svg-eva-icons.js +22 -22
  149. package/icon-set/svg-fontawesome-v5.js +1 -1
  150. package/icon-set/svg-ionicons-v4.js +16 -16
  151. package/icon-set/svg-themify.js +7 -7
  152. package/icon-set/themify.js +7 -7
  153. package/lang/ar-TN.js +1 -1
  154. package/lang/ar.js +1 -1
  155. package/lang/az-Latn.js +1 -1
  156. package/lang/bg.js +1 -1
  157. package/lang/bn.js +1 -1
  158. package/lang/bs-BA.js +1 -1
  159. package/lang/ca.js +1 -1
  160. package/lang/cs.js +11 -6
  161. package/lang/da.js +1 -1
  162. package/lang/de-CH.js +1 -1
  163. package/lang/de-DE.js +1 -1
  164. package/lang/de.js +1 -1
  165. package/lang/el.js +1 -1
  166. package/lang/en-GB.js +1 -1
  167. package/lang/en-US.js +1 -1
  168. package/lang/eo.js +1 -1
  169. package/lang/es.js +1 -1
  170. package/lang/et.js +1 -1
  171. package/lang/eu.js +1 -1
  172. package/lang/fa-IR.js +1 -1
  173. package/lang/fa.js +1 -1
  174. package/lang/fi.js +1 -1
  175. package/lang/fr.js +1 -1
  176. package/lang/gn.js +1 -1
  177. package/lang/he.js +1 -1
  178. package/lang/hi.js +1 -1
  179. package/lang/hr.js +1 -1
  180. package/lang/hu.js +1 -1
  181. package/lang/id.js +1 -1
  182. package/lang/is.js +1 -1
  183. package/lang/it.js +1 -1
  184. package/lang/ja.js +1 -1
  185. package/lang/kk.js +1 -1
  186. package/lang/km.js +1 -1
  187. package/lang/kur-CKB.js +1 -1
  188. package/lang/lt.js +2 -2
  189. package/lang/lu.js +1 -1
  190. package/lang/lv.js +1 -1
  191. package/lang/mk.js +1 -1
  192. package/lang/ml.js +1 -1
  193. package/lang/mm.js +1 -1
  194. package/lang/ms-MY.js +1 -1
  195. package/lang/ms.js +1 -1
  196. package/lang/my.js +1 -1
  197. package/lang/nb-NO.js +1 -1
  198. package/lang/nl.js +1 -1
  199. package/lang/pl.js +1 -1
  200. package/lang/pt-BR.js +1 -1
  201. package/lang/pt.js +1 -1
  202. package/lang/ro.js +1 -1
  203. package/lang/ru.js +1 -1
  204. package/lang/sk.js +1 -1
  205. package/lang/sl.js +1 -1
  206. package/lang/sm.js +1 -1
  207. package/lang/sq.js +1 -1
  208. package/lang/sr-CYR.js +1 -1
  209. package/lang/sr.js +1 -1
  210. package/lang/sv.js +1 -1
  211. package/lang/ta.js +1 -1
  212. package/lang/th.js +1 -1
  213. package/lang/tl.js +1 -1
  214. package/lang/tr.js +1 -1
  215. package/lang/ug.js +1 -1
  216. package/lang/uk.js +1 -1
  217. package/lang/ur-PK.js +1 -1
  218. package/lang/uz-Cyrl.js +1 -1
  219. package/lang/uz-Latn.js +1 -1
  220. package/lang/vi.js +1 -1
  221. package/lang/zh-CN.js +1 -1
  222. package/lang/zh-TW.js +1 -1
  223. package/package.json +13 -17
  224. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  225. package/src/components/avatar/QAvatar.js +3 -3
  226. package/src/components/avatar/QAvatar.test.js +2 -2
  227. package/src/components/badge/QBadge.js +9 -10
  228. package/src/components/badge/QBadge.test.js +2 -2
  229. package/src/components/banner/QBanner.js +6 -6
  230. package/src/components/banner/QBanner.test.js +2 -2
  231. package/src/components/bar/QBar.js +3 -3
  232. package/src/components/bar/QBar.test.js +2 -2
  233. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  234. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  235. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  236. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  237. package/src/components/btn/QBtn.js +39 -44
  238. package/src/components/btn/QBtn.test.js +2 -2
  239. package/src/components/btn/use-btn.js +34 -47
  240. package/src/components/btn/use-btn.test.js +5 -5
  241. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  242. package/src/components/btn-group/QBtnGroup.js +3 -3
  243. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  244. package/src/components/card/QCard.js +5 -5
  245. package/src/components/card/QCardActions.js +2 -2
  246. package/src/components/card/QCardSection.js +2 -2
  247. package/src/components/carousel/QCarousel.js +32 -38
  248. package/src/components/carousel/QCarouselControl.js +1 -1
  249. package/src/components/carousel/QCarouselSlide.js +1 -1
  250. package/src/components/carousel/QCarouselSlide.json +1 -1
  251. package/src/components/chat/QChatMessage.js +13 -14
  252. package/src/components/chat/QChatMessage.json +1 -1
  253. package/src/components/checkbox/QCheckbox.js +5 -5
  254. package/src/components/checkbox/use-checkbox.js +38 -50
  255. package/src/components/chip/QChip.js +26 -34
  256. package/src/components/chip/QChip.test.js +2 -2
  257. package/src/components/circular-progress/QCircularProgress.js +8 -11
  258. package/src/components/circular-progress/circular-progress.test.js +1 -1
  259. package/src/components/color/QColor.js +75 -98
  260. package/src/components/date/QDate.js +128 -140
  261. package/src/components/date/use-datetime.js +3 -6
  262. package/src/components/dialog/QDialog.js +44 -51
  263. package/src/components/dialog/QDialog.test.js +7 -7
  264. package/src/components/drawer/QDrawer.js +110 -152
  265. package/src/components/editor/QEditor.js +44 -37
  266. package/src/components/editor/editor-caret.js +27 -31
  267. package/src/components/editor/editor-utils.js +9 -5
  268. package/src/components/expansion-item/QExpansionItem.js +36 -48
  269. package/src/components/fab/QFab.js +11 -11
  270. package/src/components/fab/QFabAction.js +2 -4
  271. package/src/components/fab/use-fab.js +6 -7
  272. package/src/components/field/QField.js +2 -2
  273. package/src/components/file/QFile.js +26 -33
  274. package/src/components/footer/QFooter.js +40 -53
  275. package/src/components/form/QForm.js +37 -43
  276. package/src/components/form/QFormChildMixin.js +3 -3
  277. package/src/components/header/QHeader.js +35 -47
  278. package/src/components/icon/QIcon.js +19 -19
  279. package/src/components/img/QImg.js +24 -24
  280. package/src/components/img/QImg.json +3 -3
  281. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  282. package/src/components/inner-loading/QInnerLoading.js +3 -3
  283. package/src/components/input/QInput.js +53 -52
  284. package/src/components/input/use-mask.js +56 -54
  285. package/src/components/intersection/QIntersection.js +6 -8
  286. package/src/components/item/QItem.js +20 -30
  287. package/src/components/item/QItemLabel.js +5 -7
  288. package/src/components/item/QItemSection.js +6 -6
  289. package/src/components/item/QList.js +6 -6
  290. package/src/components/item/QList.test.js +2 -2
  291. package/src/components/knob/QKnob.js +39 -44
  292. package/src/components/layout/QLayout.js +30 -34
  293. package/src/components/linear-progress/QLinearProgress.js +14 -23
  294. package/src/components/markup-table/QMarkupTable.js +7 -9
  295. package/src/components/menu/QMenu.js +36 -37
  296. package/src/components/no-ssr/QNoSsr.js +1 -1
  297. package/src/components/option-group/QOptionGroup.js +5 -5
  298. package/src/components/page/QPage.js +16 -18
  299. package/src/components/page/QPageContainer.js +9 -9
  300. package/src/components/page-scroller/QPageScroller.js +11 -13
  301. package/src/components/page-sticky/use-page-sticky.js +18 -18
  302. package/src/components/pagination/QPagination.js +24 -26
  303. package/src/components/parallax/QParallax.js +15 -9
  304. package/src/components/parallax/QParallax.json +1 -1
  305. package/src/components/popup-edit/QPopupEdit.js +10 -13
  306. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  307. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  308. package/src/components/radio/QRadio.js +24 -29
  309. package/src/components/range/QRange.js +33 -37
  310. package/src/components/rating/QRating.js +59 -61
  311. package/src/components/resize-observer/QResizeObserver.js +55 -62
  312. package/src/components/scroll-area/QScrollArea.js +32 -36
  313. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  314. package/src/components/select/QSelect.js +208 -269
  315. package/src/components/separator/QSeparator.js +7 -10
  316. package/src/components/skeleton/QSkeleton.js +4 -4
  317. package/src/components/slide-item/QSlideItem.js +7 -7
  318. package/src/components/slide-transition/QSlideTransition.js +4 -4
  319. package/src/components/slider/QSlider.js +13 -16
  320. package/src/components/slider/use-slider.js +53 -81
  321. package/src/components/slider/use-slider.json +3 -3
  322. package/src/components/space/QSpace.test.js +1 -1
  323. package/src/components/spinner/QSpinner.test.js +2 -2
  324. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  325. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  326. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  327. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  328. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  329. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  330. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  331. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  332. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  333. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  334. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  335. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  336. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  337. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  338. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  339. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  340. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  341. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  342. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  343. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  344. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  345. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  346. package/src/components/spinner/use-spinner.test.js +1 -1
  347. package/src/components/splitter/QSplitter.js +19 -21
  348. package/src/components/stepper/QStep.js +12 -14
  349. package/src/components/stepper/QStepper.js +13 -14
  350. package/src/components/stepper/StepHeader.js +34 -35
  351. package/src/components/tab-panels/QTabPanels.js +3 -3
  352. package/src/components/table/QTable.js +82 -100
  353. package/src/components/table/QTd.js +3 -3
  354. package/src/components/table/QTh.js +5 -6
  355. package/src/components/table/QTr.js +3 -3
  356. package/src/components/table/table-column-selection.js +4 -6
  357. package/src/components/table/table-filter.js +2 -2
  358. package/src/components/table/table-pagination.js +14 -20
  359. package/src/components/table/table-row-expand.js +3 -3
  360. package/src/components/table/table-row-selection.js +10 -20
  361. package/src/components/table/table-sort.js +7 -7
  362. package/src/components/tabs/QRouteTab.js +1 -1
  363. package/src/components/tabs/QTab.js +1 -1
  364. package/src/components/tabs/QTabs.js +82 -109
  365. package/src/components/tabs/use-tab.js +36 -38
  366. package/src/components/time/QTime.js +109 -132
  367. package/src/components/timeline/QTimeline.js +7 -4
  368. package/src/components/timeline/QTimelineEntry.js +7 -6
  369. package/src/components/timeline/QTimelineEntry.json +1 -1
  370. package/src/components/toggle/QToggle.js +6 -8
  371. package/src/components/toolbar/QToolbar.js +2 -2
  372. package/src/components/toolbar/QToolbar.test.js +2 -2
  373. package/src/components/toolbar/QToolbarTitle.js +2 -4
  374. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  375. package/src/components/tooltip/QTooltip.js +27 -28
  376. package/src/components/tree/QTree.js +96 -114
  377. package/src/components/tree/QTree.json +1 -1
  378. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  379. package/src/components/uploader/uploader-core.js +44 -51
  380. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  381. package/src/components/video/QVideo.js +1 -1
  382. package/src/components/video/QVideo.test.js +2 -2
  383. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  384. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  385. package/src/composables/private.use-align/use-align.js +2 -2
  386. package/src/composables/private.use-align/use-align.test.js +1 -1
  387. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  388. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  389. package/src/composables/private.use-field/use-field.js +79 -99
  390. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  391. package/src/composables/private.use-file/use-file.js +27 -27
  392. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  393. package/src/composables/private.use-history/use-history.js +2 -2
  394. package/src/composables/private.use-history/use-history.test.js +1 -1
  395. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  396. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  397. package/src/composables/private.use-panel/use-panel.js +25 -27
  398. package/src/composables/private.use-portal/use-portal.js +11 -9
  399. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  400. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  401. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  402. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  403. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  404. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  405. package/src/composables/private.use-size/use-size.test.js +1 -1
  406. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  407. package/src/composables/private.use-validate/use-validate.js +23 -36
  408. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  409. package/src/composables/use-form/private.use-form.js +1 -1
  410. package/src/composables/use-form/private.use-form.test.js +3 -3
  411. package/src/composables/use-form/use-form-child.js +7 -7
  412. package/src/composables/use-hydration/use-hydration.js +2 -2
  413. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  414. package/src/composables/use-id/use-id.js +4 -8
  415. package/src/composables/use-id/use-id.test.js +1 -1
  416. package/src/composables/use-interval/use-interval.js +2 -2
  417. package/src/composables/use-interval/use-interval.test.js +1 -1
  418. package/src/composables/use-meta/use-meta.js +3 -3
  419. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  420. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  421. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  422. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  423. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  424. package/src/composables/use-tick/use-tick.js +3 -3
  425. package/src/composables/use-tick/use-tick.test.js +2 -2
  426. package/src/composables/use-timeout/use-timeout.js +2 -2
  427. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  428. package/src/directives/close-popup/ClosePopup.js +4 -9
  429. package/src/directives/intersection/Intersection.js +5 -8
  430. package/src/directives/morph/Morph.js +12 -18
  431. package/src/directives/ripple/Ripple.js +19 -26
  432. package/src/directives/ripple/Ripple.test.js +2 -2
  433. package/src/directives/scroll/Scroll.js +2 -2
  434. package/src/directives/touch-hold/TouchHold.js +22 -28
  435. package/src/directives/touch-pan/TouchPan.js +68 -84
  436. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  437. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  438. package/src/index.ssr.js +2 -0
  439. package/src/index.umd.js +2 -0
  440. package/src/install-quasar.js +9 -9
  441. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  442. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  443. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  444. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  445. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  446. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  447. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  448. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  449. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  450. package/src/plugins/cookies/Cookies.js +50 -62
  451. package/src/plugins/dark/Dark.js +3 -5
  452. package/src/plugins/dark/Dark.test.js +1 -1
  453. package/src/plugins/dialog/Dialog.js +2 -2
  454. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  455. package/src/plugins/icon-set/IconSet.js +2 -4
  456. package/src/plugins/icon-set/IconSet.test.js +1 -1
  457. package/src/plugins/lang/Lang.js +7 -10
  458. package/src/plugins/lang/Lang.json +2 -2
  459. package/src/plugins/lang/Lang.test.js +2 -2
  460. package/src/plugins/loading/Loading.js +10 -12
  461. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  462. package/src/plugins/meta/Meta.js +10 -11
  463. package/src/plugins/notify/Notify.js +67 -72
  464. package/src/plugins/platform/Platform.js +19 -21
  465. package/src/plugins/platform/Platform.test.js +1 -1
  466. package/src/plugins/private.body/Body.js +23 -29
  467. package/src/plugins/private.body/Body.test.js +1 -1
  468. package/src/plugins/private.history/History.js +17 -25
  469. package/src/plugins/private.history/History.test.js +1 -1
  470. package/src/plugins/screen/Screen.js +16 -16
  471. package/src/plugins/screen/Screen.test.js +1 -1
  472. package/src/plugins/storage/LocalStorage.js +3 -4
  473. package/src/plugins/storage/LocalStorage.test.js +2 -2
  474. package/src/plugins/storage/SessionStorage.js +3 -4
  475. package/src/plugins/storage/SessionStorage.test.js +2 -2
  476. package/src/plugins/storage/engine/web-storage.js +30 -23
  477. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  478. package/src/utils/EventBus/EventBus.js +3 -4
  479. package/src/utils/EventBus/EventBus.test.js +1 -1
  480. package/src/utils/clone/clone.test.js +4 -8
  481. package/src/utils/colors/colors.js +38 -29
  482. package/src/utils/colors/colors.test.js +2 -2
  483. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  484. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  485. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  486. package/src/utils/css-var/get-css-var.test.js +2 -2
  487. package/src/utils/css-var/set-css-var.test.js +2 -2
  488. package/src/utils/date/date.js +229 -172
  489. package/src/utils/date/private.persian.js +11 -11
  490. package/src/utils/debounce/debounce.js +3 -7
  491. package/src/utils/debounce/debounce.test.js +1 -1
  492. package/src/utils/dom/dom.js +2 -4
  493. package/src/utils/dom/dom.test.js +4 -4
  494. package/src/utils/event/event.js +21 -23
  495. package/src/utils/export-file/export-file.js +3 -3
  496. package/src/utils/extend/extend.js +15 -14
  497. package/src/utils/extend/extend.test.js +2 -2
  498. package/src/utils/format/format.js +4 -10
  499. package/src/utils/format/format.test.js +1 -1
  500. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  501. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  502. package/src/utils/is/is.js +15 -26
  503. package/src/utils/is/is.test.js +8 -7
  504. package/src/utils/morph/morph.js +57 -48
  505. package/src/utils/open-url/open-url.js +7 -7
  506. package/src/utils/patterns/patterns.js +26 -23
  507. package/src/utils/patterns/patterns.test.js +1 -1
  508. package/src/utils/private.click-outside/click-outside.js +5 -5
  509. package/src/utils/private.config/instance-config.js +2 -0
  510. package/src/utils/private.config/instance-config.test.js +4 -4
  511. package/src/utils/private.config/nodes.js +5 -5
  512. package/src/utils/private.config/nodes.test.js +4 -4
  513. package/src/utils/private.create/create.test.js +1 -1
  514. package/src/utils/private.dialog/create-dialog.js +9 -12
  515. package/src/utils/private.focus/focus-manager.js +5 -1
  516. package/src/utils/private.focus/focus-manager.test.js +4 -4
  517. package/src/utils/private.focus/focusout.js +2 -2
  518. package/src/utils/private.focus/focusout.test.js +1 -1
  519. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  520. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  521. package/src/utils/private.keyboard/escape-key.js +5 -5
  522. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  523. package/src/utils/private.keyboard/key-composition.js +4 -6
  524. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  525. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  526. package/src/utils/private.portal/portal.js +5 -5
  527. package/src/utils/private.position-engine/position-engine.js +20 -22
  528. package/src/utils/private.render/render.js +5 -7
  529. package/src/utils/private.render/render.test.js +5 -5
  530. package/src/utils/private.rtl/rtl.js +3 -2
  531. package/src/utils/private.rtl/rtl.test.js +1 -1
  532. package/src/utils/private.selection/selection.js +1 -1
  533. package/src/utils/private.selection/selection.test.js +2 -2
  534. package/src/utils/private.sort/sort.test.js +2 -2
  535. package/src/utils/private.touch/touch.js +10 -14
  536. package/src/utils/private.touch/touch.test.js +1 -1
  537. package/src/utils/private.vm/vm.js +2 -2
  538. package/src/utils/private.vm/vm.test.js +4 -4
  539. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  540. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  541. package/src/utils/scroll/prevent-scroll.js +9 -9
  542. package/src/utils/scroll/scroll.js +11 -12
  543. package/src/utils/throttle/throttle.js +4 -3
  544. package/src/utils/throttle/throttle.test.js +1 -1
  545. package/src/utils/uid/uid.js +51 -77
  546. package/src/utils/uid/uid.test.js +3 -3
  547. package/wrappers/index.cjs +2 -2
  548. package/wrappers/index.js +2 -2
  549. package/dist/vetur/quasar-attributes.json +0 -1
  550. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,11 +1,11 @@
1
1
  import {
2
- h,
3
- ref,
4
2
  computed,
5
- watch,
6
- onBeforeUnmount,
3
+ getCurrentInstance,
4
+ h,
7
5
  inject,
8
- getCurrentInstance
6
+ onBeforeUnmount,
7
+ ref,
8
+ watch
9
9
  } from 'vue'
10
10
 
11
11
  import QResizeObserver from '../resize-observer/QResizeObserver.js'
@@ -13,10 +13,16 @@ import QResizeObserver from '../resize-observer/QResizeObserver.js'
13
13
  import { createComponent } from '../../utils/private.create/create.js'
14
14
  import { hUniqueSlot } from '../../utils/private.render/render.js'
15
15
  import {
16
- layoutKey,
17
- emptyRenderFn
16
+ emptyRenderFn,
17
+ layoutKey
18
18
  } from '../../utils/private.symbols/symbols.js'
19
19
 
20
+ function updateLocal(prop, val) {
21
+ if (prop.value !== val) {
22
+ prop.value = val
23
+ }
24
+ }
25
+
20
26
  export default createComponent({
21
27
  name: 'QHeader',
22
28
 
@@ -52,60 +58,51 @@ export default createComponent({
52
58
  return emptyRenderFn
53
59
  }
54
60
 
55
- const size = ref(parseInt(props.heightHint, 10))
61
+ const size = ref(Number.parseInt(props.heightHint, 10))
56
62
  const revealed = ref(true)
57
63
 
58
64
  const fixed = computed(
59
65
  () =>
60
- props.reveal === true ||
61
- $layout.view.value.indexOf('H') !== -1 ||
62
- ($q.platform.is.ios && $layout.isContainer.value === true)
66
+ props.reveal ||
67
+ $layout.view.value.includes('H') ||
68
+ ($q.platform.is.ios && $layout.isContainer.value)
63
69
  )
64
70
 
65
71
  const offset = computed(() => {
66
- if (props.modelValue !== true) {
67
- return 0
68
- }
69
- if (fixed.value === true) {
70
- return revealed.value === true ? size.value : 0
71
- }
72
+ if (!props.modelValue) return 0
73
+ if (fixed.value) return revealed.value ? size.value : 0
72
74
 
73
75
  const localOffset = size.value - $layout.scroll.value.position
74
- return localOffset > 0 ? localOffset : 0
76
+ return Math.max(localOffset, 0)
75
77
  })
76
78
 
77
79
  const hidden = computed(
78
- () =>
79
- props.modelValue !== true ||
80
- (fixed.value === true && revealed.value !== true)
80
+ () => !props.modelValue || (fixed.value && !revealed.value)
81
81
  )
82
82
 
83
83
  const revealOnFocus = computed(
84
- () =>
85
- props.modelValue === true &&
86
- hidden.value === true &&
87
- props.reveal === true
84
+ () => props.modelValue && hidden.value && props.reveal
88
85
  )
89
86
 
90
87
  const classes = computed(
91
88
  () =>
92
89
  'q-header q-layout__section--marginal ' +
93
- (fixed.value === true ? 'fixed' : 'absolute') +
90
+ (fixed.value ? 'fixed' : 'absolute') +
94
91
  '-top' +
95
- (props.bordered === true ? ' q-header--bordered' : '') +
96
- (hidden.value === true ? ' q-header--hidden' : '') +
97
- (props.modelValue !== true ? ' q-layout--prevent-focus' : '')
92
+ (props.bordered ? ' q-header--bordered' : '') +
93
+ (hidden.value ? ' q-header--hidden' : '') +
94
+ (props.modelValue ? '' : ' q-layout--prevent-focus')
98
95
  )
99
96
 
100
97
  const style = computed(() => {
101
98
  const view = $layout.rows.value.top,
102
99
  css = {}
103
100
 
104
- if (view[0] === 'l' && $layout.left.space === true) {
105
- css[$q.lang.rtl === true ? 'right' : 'left'] = `${$layout.left.size}px`
101
+ if (view[0] === 'l' && $layout.left.space) {
102
+ css[$q.lang.rtl ? 'right' : 'left'] = `${$layout.left.size}px`
106
103
  }
107
- if (view[2] === 'r' && $layout.right.space === true) {
108
- css[$q.lang.rtl === true ? 'left' : 'right'] = `${$layout.right.size}px`
104
+ if (view[2] === 'r' && $layout.right.space) {
105
+ css[$q.lang.rtl ? 'left' : 'right'] = `${$layout.right.size}px`
109
106
  }
110
107
 
111
108
  return css
@@ -115,22 +112,13 @@ export default createComponent({
115
112
  $layout.update('header', prop, val)
116
113
  }
117
114
 
118
- function updateLocal(prop, val) {
119
- if (prop.value !== val) {
120
- prop.value = val
121
- }
122
- }
123
-
124
115
  function onResize({ height }) {
125
116
  updateLocal(size, height)
126
117
  updateLayout('size', height)
127
118
  }
128
119
 
129
120
  function onFocusin(evt) {
130
- if (revealOnFocus.value === true) {
131
- updateLocal(revealed, true)
132
- }
133
-
121
+ if (revealOnFocus.value) updateLocal(revealed, true)
134
122
  emit('focusin', evt)
135
123
  }
136
124
 
@@ -150,7 +138,7 @@ export default createComponent({
150
138
  watch(
151
139
  () => props.reveal,
152
140
  val => {
153
- if (val === false) updateLocal(revealed, props.modelValue)
141
+ if (!val) updateLocal(revealed, props.modelValue)
154
142
  }
155
143
  )
156
144
 
@@ -160,7 +148,7 @@ export default createComponent({
160
148
  })
161
149
 
162
150
  watch($layout.scroll, scroll => {
163
- if (props.reveal === true) {
151
+ if (props.reveal) {
164
152
  updateLocal(
165
153
  revealed,
166
154
  scroll.direction === 'up' ||
@@ -173,7 +161,7 @@ export default createComponent({
173
161
  const instance = {}
174
162
 
175
163
  $layout.instances.header = instance
176
- if (props.modelValue === true) updateLayout('size', size.value)
164
+ if (props.modelValue) updateLayout('size', size.value)
177
165
  updateLayout('space', props.modelValue)
178
166
  updateLayout('offset', offset.value)
179
167
 
@@ -189,7 +177,7 @@ export default createComponent({
189
177
  return () => {
190
178
  const child = hUniqueSlot(slots.default, [])
191
179
 
192
- if (props.elevated === true) {
180
+ if (props.elevated) {
193
181
  child.push(
194
182
  h('div', {
195
183
  class:
@@ -1,11 +1,11 @@
1
- import { h, computed, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, h } from 'vue'
2
2
 
3
3
  import useSize, {
4
4
  useSizeProps
5
5
  } from '../../composables/private.use-size/use-size.js'
6
6
 
7
7
  import { createComponent } from '../../utils/private.create/create.js'
8
- import { hSlot, hMergeSlot } from '../../utils/private.render/render.js'
8
+ import { hMergeSlot, hSlot } from '../../utils/private.render/render.js'
9
9
 
10
10
  const defaultViewBox = '0 0 24 24'
11
11
 
@@ -74,8 +74,8 @@ export default createComponent({
74
74
  const classes = computed(
75
75
  () =>
76
76
  'q-icon' +
77
- (props.left === true ? ' on-left' : '') + // TODO Qv3: drop this
78
- (props.right === true ? ' on-right' : '') +
77
+ (props.left ? ' on-left' : '') + // TODO Qv3: drop this
78
+ (props.right ? ' on-right' : '') +
79
79
  (props.color !== void 0 ? ` text-${props.color}` : '')
80
80
  )
81
81
 
@@ -104,7 +104,7 @@ export default createComponent({
104
104
  }
105
105
  }
106
106
 
107
- if (mRE.test(icon) === true) {
107
+ if (mRE.test(icon)) {
108
108
  const [def, viewBox = defaultViewBox] = icon.split('|')
109
109
 
110
110
  return {
@@ -117,19 +117,19 @@ export default createComponent({
117
117
  }
118
118
  }
119
119
 
120
- if (imgRE.test(icon) === true) {
120
+ if (imgRE.test(icon)) {
121
121
  return {
122
122
  img: true,
123
- src: icon.substring(4)
123
+ src: icon.slice(4)
124
124
  }
125
125
  }
126
126
 
127
- if (svgUseRE.test(icon) === true) {
127
+ if (svgUseRE.test(icon)) {
128
128
  const [def, viewBox = defaultViewBox] = icon.split('|')
129
129
 
130
130
  return {
131
131
  svguse: true,
132
- src: def.substring(7),
132
+ src: def.slice(7),
133
133
  viewBox
134
134
  }
135
135
  }
@@ -139,11 +139,11 @@ export default createComponent({
139
139
 
140
140
  if (matches !== null) {
141
141
  cls = libMap[matches[1]](icon)
142
- } else if (faRE.test(icon) === true) {
142
+ } else if (faRE.test(icon)) {
143
143
  cls = icon
144
- } else if (ionRE.test(icon) === true) {
145
- cls = `ionicons ion-${$q.platform.is.ios === true ? 'ios' : 'md'}${icon.substring(3)}`
146
- } else if (symRE.test(icon) === true) {
144
+ } else if (ionRE.test(icon)) {
145
+ cls = `ionicons ion-${$q.platform.is.ios ? 'ios' : 'md'}${icon.slice(3)}`
146
+ } else if (symRE.test(icon)) {
147
147
  // "notranslate" class is for Google Translate
148
148
  // to avoid tampering with Material Symbols ligature font
149
149
  //
@@ -153,7 +153,7 @@ export default createComponent({
153
153
 
154
154
  const symMatches = icon.match(symRE)
155
155
  if (symMatches !== null) {
156
- icon = icon.substring(6)
156
+ icon = icon.slice(6)
157
157
  cls += symMap[symMatches[1]]
158
158
  }
159
159
 
@@ -168,7 +168,7 @@ export default createComponent({
168
168
 
169
169
  const matMatches = icon.match(matRE)
170
170
  if (matMatches !== null) {
171
- icon = icon.substring(2)
171
+ icon = icon.slice(2)
172
172
  cls += matMap[matMatches[1]]
173
173
  }
174
174
 
@@ -188,11 +188,11 @@ export default createComponent({
188
188
  'aria-hidden': 'true'
189
189
  }
190
190
 
191
- if (type.value.none === true) {
191
+ if (type.value.none) {
192
192
  return h(props.tag, data, hSlot(slots.default))
193
193
  }
194
194
 
195
- if (type.value.img === true) {
195
+ if (type.value.img) {
196
196
  return h(
197
197
  props.tag,
198
198
  data,
@@ -200,7 +200,7 @@ export default createComponent({
200
200
  )
201
201
  }
202
202
 
203
- if (type.value.svg === true) {
203
+ if (type.value.svg) {
204
204
  return h(
205
205
  props.tag,
206
206
  data,
@@ -216,7 +216,7 @@ export default createComponent({
216
216
  )
217
217
  }
218
218
 
219
- if (type.value.svguse === true) {
219
+ if (type.value.svguse) {
220
220
  return h(
221
221
  props.tag,
222
222
  data,
@@ -1,11 +1,11 @@
1
1
  import {
2
- h,
3
- ref,
2
+ Transition,
4
3
  computed,
5
- watch,
4
+ getCurrentInstance,
5
+ h,
6
6
  onMounted,
7
- Transition,
8
- getCurrentInstance
7
+ ref,
8
+ watch
9
9
  } from 'vue'
10
10
 
11
11
  import QSpinner from '../spinner/QSpinner.js'
@@ -114,7 +114,7 @@ export default createComponent({
114
114
  const hasError = ref(false)
115
115
 
116
116
  const classes = computed(
117
- () => `q-img q-img--${props.noNativeMenu === true ? 'no-' : ''}menu`
117
+ () => `q-img q-img--${props.noNativeMenu ? 'no-' : ''}menu`
118
118
  )
119
119
 
120
120
  const style = computed(() => ({
@@ -125,7 +125,7 @@ export default createComponent({
125
125
  const imgClass = computed(
126
126
  () =>
127
127
  `q-img__image ${props.imgClass !== void 0 ? props.imgClass + ' ' : ''}` +
128
- `q-img__image--with${props.noTransition === true ? 'out' : ''}-transition` +
128
+ `q-img__image--with${props.noTransition ? 'out' : ''}-transition` +
129
129
  ' q-img__image--'
130
130
  )
131
131
 
@@ -154,23 +154,23 @@ export default createComponent({
154
154
  }
155
155
 
156
156
  function onLoad({ target }) {
157
- if (vmIsDestroyed(vm) === false) {
158
- removeLoadTimeout()
157
+ if (vmIsDestroyed(vm)) return
158
+
159
+ removeLoadTimeout()
159
160
 
160
- naturalRatio.value =
161
- target.naturalHeight === 0
162
- ? 0.5
163
- : target.naturalWidth / target.naturalHeight
161
+ naturalRatio.value =
162
+ target.naturalHeight === 0
163
+ ? 0.5
164
+ : target.naturalWidth / target.naturalHeight
164
165
 
165
- waitForCompleteness(target, 1)
166
- }
166
+ waitForCompleteness(target, 1)
167
167
  }
168
168
 
169
169
  function waitForCompleteness(target, count) {
170
170
  // protect against running forever
171
- if (count === 1000 || vmIsDestroyed(vm) === true) return
171
+ if (count === 1000 || vmIsDestroyed(vm)) return
172
172
 
173
- if (target.complete === true) {
173
+ if (target.complete) {
174
174
  onReady(target)
175
175
  } else {
176
176
  registerLoadTimeout(() => {
@@ -180,7 +180,7 @@ export default createComponent({
180
180
  }
181
181
 
182
182
  function onReady(target) {
183
- if (vmIsDestroyed(vm) === true) return
183
+ if (vmIsDestroyed(vm)) return
184
184
 
185
185
  position.value = position.value ^ 1
186
186
  images[position.value].value = null
@@ -243,14 +243,14 @@ export default createComponent({
243
243
  }
244
244
 
245
245
  function getContent() {
246
- if (isLoading.value === false) {
246
+ if (!isLoading.value) {
247
247
  return h(
248
248
  'div',
249
249
  {
250
250
  key: 'content',
251
251
  class: 'q-img__content absolute-full q-anchor--skip'
252
252
  },
253
- hSlot(slots[hasError.value === true ? 'error' : 'default'])
253
+ hSlot(slots[hasError.value ? 'error' : 'default'])
254
254
  )
255
255
  }
256
256
 
@@ -262,7 +262,7 @@ export default createComponent({
262
262
  },
263
263
  slots.loading !== void 0
264
264
  ? slots.loading()
265
- : props.noSpinner === true
265
+ : props.noSpinner
266
266
  ? void 0
267
267
  : [
268
268
  h(QSpinner, {
@@ -273,8 +273,8 @@ export default createComponent({
273
273
  )
274
274
  }
275
275
 
276
- if (__QUASAR_SSR_SERVER__ !== true) {
277
- function watchSrc() {
276
+ if (!__QUASAR_SSR_SERVER__) {
277
+ const watchSrc = () => {
278
278
  watch(
279
279
  () =>
280
280
  props.src || props.srcset || props.sizes
@@ -301,7 +301,7 @@ export default createComponent({
301
301
  )
302
302
  }
303
303
 
304
- if (isRuntimeSsrPreHydration.value === true) {
304
+ if (isRuntimeSsrPreHydration.value) {
305
305
  onMounted(watchSrc)
306
306
  } else {
307
307
  watchSrc()
@@ -12,7 +12,7 @@
12
12
  "transformAssetUrls": true,
13
13
  "examples": [
14
14
  "# (public folder) src=\"img/something.png\"",
15
- "# (assets folder) src=\"~assets/my-img.gif\"",
15
+ "# (assets folder) src=\"~@/assets/my-img.gif\"",
16
16
  "# (relative path format) :src=\"require('./my_img.jpg')\"",
17
17
  "# (URL) src=\"https://picsum.photos/500/300\""
18
18
  ],
@@ -43,7 +43,7 @@
43
43
  "transformAssetUrls": true,
44
44
  "examples": [
45
45
  "# (public folder) placeholder-src=\"img/some-placeholder.png\"",
46
- "# (assets folder) placeholder-src=\"~assets/my-placeholder.gif\"",
46
+ "# (assets folder) placeholder-src=\"~@/assets/my-placeholder.gif\"",
47
47
  "# (relative path format) :placeholder-src=\"require('./placeholder.jpg')\"",
48
48
  "# (URL) placeholder-src=\"https://picsum.photos/500/300\""
49
49
  ],
@@ -56,7 +56,7 @@
56
56
  "transformAssetUrls": true,
57
57
  "examples": [
58
58
  "# (public folder) error-src=\"img/some-placeholder.png\"",
59
- "# (assets folder) error-src=\"~assets/my-placeholder.gif\"",
59
+ "# (assets folder) error-src=\"~@/assets/my-placeholder.gif\"",
60
60
  "# (relative path format) :error-src=\"require('./placeholder.jpg')\"",
61
61
  "# (URL) error-src=\"https://picsum.photos/500/300\""
62
62
  ],
@@ -1,25 +1,25 @@
1
1
  import {
2
- h,
3
- ref,
4
2
  computed,
5
- watch,
6
- onMounted,
3
+ getCurrentInstance,
4
+ h,
5
+ nextTick,
7
6
  onActivated,
8
- onDeactivated,
9
7
  onBeforeUnmount,
10
- nextTick,
11
- getCurrentInstance
8
+ onDeactivated,
9
+ onMounted,
10
+ ref,
11
+ watch
12
12
  } from 'vue'
13
13
 
14
14
  import { createComponent } from '../../utils/private.create/create.js'
15
15
  import debounce from '../../utils/debounce/debounce.js'
16
16
  import { height } from '../../utils/dom/dom.js'
17
17
  import {
18
- getScrollTarget,
19
18
  getScrollHeight,
19
+ getScrollTarget,
20
20
  getVerticalScrollPosition,
21
- setVerticalScrollPosition,
22
- scrollTargetProp
21
+ scrollTargetProp,
22
+ setVerticalScrollPosition
23
23
  } from '../../utils/scroll/scroll.js'
24
24
  import { listenOpts } from '../../utils/event/event.js'
25
25
  import { hSlot, hUniqueSlot } from '../../utils/private.render/render.js'
@@ -64,16 +64,11 @@ export default createComponent({
64
64
 
65
65
  const classes = computed(
66
66
  () =>
67
- 'q-infinite-scroll__loading' +
68
- (isFetching.value === true ? '' : ' invisible')
67
+ 'q-infinite-scroll__loading' + (isFetching.value ? '' : ' invisible')
69
68
  )
70
69
 
71
70
  function immediatePoll() {
72
- if (
73
- props.disable === true ||
74
- isFetching.value === true ||
75
- isWorking.value === false
76
- ) {
71
+ if (props.disable || isFetching.value || !isWorking.value) {
77
72
  return
78
73
  }
79
74
 
@@ -81,7 +76,7 @@ export default createComponent({
81
76
  scrollPosition = getVerticalScrollPosition(localScrollTarget),
82
77
  containerHeight = height(localScrollTarget)
83
78
 
84
- if (props.reverse === false) {
79
+ if (!props.reverse) {
85
80
  if (
86
81
  Math.round(scrollPosition + containerHeight + props.offset) >=
87
82
  Math.round(scrollHeight)
@@ -94,11 +89,7 @@ export default createComponent({
94
89
  }
95
90
 
96
91
  function trigger() {
97
- if (
98
- props.disable === true ||
99
- isFetching.value === true ||
100
- isWorking.value === false
101
- ) {
92
+ if (props.disable || isFetching.value || !isWorking.value) {
102
93
  return
103
94
  }
104
95
 
@@ -108,10 +99,10 @@ export default createComponent({
108
99
  const heightBefore = getScrollHeight(localScrollTarget)
109
100
 
110
101
  emit('load', index, isDone => {
111
- if (isWorking.value === true) {
102
+ if (isWorking.value) {
112
103
  isFetching.value = false
113
104
  nextTick(() => {
114
- if (props.reverse === true) {
105
+ if (props.reverse) {
115
106
  const heightAfter = getScrollHeight(localScrollTarget),
116
107
  scrollPosition = getVerticalScrollPosition(localScrollTarget),
117
108
  heightDifference = heightAfter - heightBefore
@@ -124,8 +115,8 @@ export default createComponent({
124
115
 
125
116
  if (isDone === true) {
126
117
  stop()
127
- } else if (rootRef.value) {
128
- if (rootRef.value.closest('body')) poll()
118
+ } else if (rootRef.value?.closest('body')) {
119
+ poll()
129
120
  }
130
121
  })
131
122
  }
@@ -137,7 +128,7 @@ export default createComponent({
137
128
  }
138
129
 
139
130
  function resume() {
140
- if (isWorking.value === false) {
131
+ if (!isWorking.value) {
141
132
  isWorking.value = true
142
133
  localScrollTarget.addEventListener('scroll', poll, passive)
143
134
  }
@@ -146,7 +137,7 @@ export default createComponent({
146
137
  }
147
138
 
148
139
  function stop() {
149
- if (isWorking.value === true) {
140
+ if (isWorking.value) {
150
141
  isWorking.value = false
151
142
  isFetching.value = false
152
143
  localScrollTarget.removeEventListener('scroll', poll, passive)
@@ -155,16 +146,16 @@ export default createComponent({
155
146
  }
156
147
 
157
148
  function updateScrollTarget() {
158
- if (localScrollTarget && isWorking.value === true) {
149
+ if (localScrollTarget && isWorking.value) {
159
150
  localScrollTarget.removeEventListener('scroll', poll, passive)
160
151
  }
161
152
 
162
153
  localScrollTarget = getScrollTarget(rootRef.value, props.scrollTarget)
163
154
 
164
- if (isWorking.value === true) {
155
+ if (isWorking.value) {
165
156
  localScrollTarget.addEventListener('scroll', poll, passive)
166
157
 
167
- if (props.reverse === true) {
158
+ if (props.reverse) {
168
159
  const scrollHeight = getScrollHeight(localScrollTarget),
169
160
  containerHeight = height(localScrollTarget)
170
161
 
@@ -183,16 +174,16 @@ export default createComponent({
183
174
  }
184
175
 
185
176
  function setDebounce(val) {
186
- val = parseInt(val, 10)
177
+ val = Number.parseInt(val, 10)
187
178
 
188
179
  const oldPoll = poll
189
180
 
190
181
  poll =
191
182
  val <= 0
192
183
  ? immediatePoll
193
- : debounce(immediatePoll, isNaN(val) === true ? 100 : val)
184
+ : debounce(immediatePoll, Number.isNaN(val) ? 100 : val)
194
185
 
195
- if (localScrollTarget && isWorking.value === true) {
186
+ if (localScrollTarget && isWorking.value) {
196
187
  if (oldPoll !== void 0) {
197
188
  localScrollTarget.removeEventListener('scroll', oldPoll, passive)
198
189
  }
@@ -202,9 +193,9 @@ export default createComponent({
202
193
  }
203
194
 
204
195
  function updateSvgAnimations(isRetry) {
205
- if (renderLoadingSlot.value === true) {
196
+ if (renderLoadingSlot.value) {
206
197
  if (loadingRef.value === null) {
207
- if (isRetry !== true) {
198
+ if (!isRetry) {
208
199
  nextTick(() => {
209
200
  updateSvgAnimations(true)
210
201
  })
@@ -214,16 +205,14 @@ export default createComponent({
214
205
 
215
206
  // we need to pause svg animations (if any) when hiding
216
207
  // otherwise the browser will keep on recalculating the style
217
- const action = `${isFetching.value === true ? 'un' : ''}pauseAnimations`
218
- Array.from(loadingRef.value.getElementsByTagName('svg')).forEach(el => {
208
+ const action = `${isFetching.value ? 'un' : ''}pauseAnimations`
209
+ ;[...loadingRef.value.getElementsByTagName('svg')].forEach(el => {
219
210
  el[action]()
220
211
  })
221
212
  }
222
213
  }
223
214
 
224
- const renderLoadingSlot = computed(
225
- () => props.disable !== true && isWorking.value === true
226
- )
215
+ const renderLoadingSlot = computed(() => !props.disable && isWorking.value)
227
216
 
228
217
  watch([isFetching, renderLoadingSlot], () => {
229
218
  updateSvgAnimations()
@@ -232,18 +221,15 @@ export default createComponent({
232
221
  watch(
233
222
  () => props.disable,
234
223
  val => {
235
- if (val === true) {
236
- stop()
237
- } else {
238
- resume()
239
- }
224
+ if (val) stop()
225
+ else resume()
240
226
  }
241
227
  )
242
228
 
243
229
  watch(
244
230
  () => props.reverse,
245
231
  () => {
246
- if (isFetching.value === false && isWorking.value === true) {
232
+ if (!isFetching.value && isWorking.value) {
247
233
  immediatePoll()
248
234
  }
249
235
  }
@@ -267,7 +253,7 @@ export default createComponent({
267
253
  })
268
254
 
269
255
  onBeforeUnmount(() => {
270
- if (isWorking.value === true) {
256
+ if (isWorking.value) {
271
257
  localScrollTarget.removeEventListener('scroll', poll, passive)
272
258
  }
273
259
  })
@@ -276,7 +262,7 @@ export default createComponent({
276
262
  setDebounce(props.debounce)
277
263
  updateScrollTarget()
278
264
 
279
- if (isFetching.value === false) updateSvgAnimations()
265
+ if (!isFetching.value) updateSvgAnimations()
280
266
  })
281
267
 
282
268
  // expose public methods
@@ -296,8 +282,8 @@ export default createComponent({
296
282
  return () => {
297
283
  const child = hUniqueSlot(slots.default, [])
298
284
 
299
- if (renderLoadingSlot.value === true) {
300
- child[props.reverse === false ? 'push' : 'unshift'](
285
+ if (renderLoadingSlot.value) {
286
+ child[props.reverse ? 'unshift' : 'push'](
301
287
  h(
302
288
  'div',
303
289
  { ref: loadingRef, class: classes.value },