quasar 2.19.3 → 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 (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 +2614 -2602
  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 +2609 -2597
  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 -50
  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 +52 -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 +1 -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
@@ -5,13 +5,14 @@ export const useRatioProps = {
5
5
  }
6
6
 
7
7
  export default function useRatio(props, naturalRatio) {
8
- // return ratioStyle
9
8
  return computed(() => {
10
- const ratio = Number(
11
- props.ratio || (naturalRatio !== void 0 ? naturalRatio.value : void 0)
12
- )
9
+ const rawValue = props.ratio || naturalRatio?.value
10
+ if (typeof rawValue === 'string' && rawValue.trim() === '') {
11
+ return null
12
+ }
13
13
 
14
- return isNaN(ratio) !== true && ratio > 0
14
+ const ratio = Number(rawValue)
15
+ return Number.isFinite(ratio) && ratio > 0
15
16
  ? { paddingBottom: `${100 / ratio}%` }
16
17
  : null
17
18
  })
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useRatio, { useRatioProps } from './use-ratio.js'
4
4
 
@@ -1,12 +1,10 @@
1
- import { h, computed, ref } from 'vue'
1
+ import { computed, h, ref } from 'vue'
2
2
 
3
3
  export default function useRefocusTarget(props, rootRef) {
4
4
  const refocusRef = ref(null)
5
5
 
6
6
  const refocusTargetEl = computed(() => {
7
- if (props.disable === true) {
8
- return null
9
- }
7
+ if (props.disable) return null
10
8
 
11
9
  return h('span', {
12
10
  ref: refocusRef,
@@ -25,11 +25,9 @@ function includesParams(outer, inner) {
25
25
  outerValue = outer[key]
26
26
 
27
27
  if (typeof innerValue === 'string') {
28
- if (innerValue !== outerValue) {
29
- return false
30
- }
28
+ if (innerValue !== outerValue) return false
31
29
  } else if (
32
- Array.isArray(outerValue) === false ||
30
+ !Array.isArray(outerValue) ||
33
31
  outerValue.length !== innerValue.length ||
34
32
  innerValue.some((value, i) => value !== outerValue[i])
35
33
  ) {
@@ -41,15 +39,15 @@ function includesParams(outer, inner) {
41
39
  }
42
40
 
43
41
  function isEquivalentArray(a, b) {
44
- return Array.isArray(b) === true
42
+ return Array.isArray(b)
45
43
  ? a.length === b.length && a.every((value, i) => value === b[i])
46
44
  : a.length === 1 && a[0] === b
47
45
  }
48
46
 
49
47
  function isSameRouteLocationParamsValue(a, b) {
50
- return Array.isArray(a) === true
48
+ return Array.isArray(a)
51
49
  ? isEquivalentArray(a, b)
52
- : Array.isArray(b) === true
50
+ : Array.isArray(b)
53
51
  ? isEquivalentArray(b, a)
54
52
  : a === b
55
53
  }
@@ -60,7 +58,7 @@ function isSameRouteLocationParams(a, b) {
60
58
  }
61
59
 
62
60
  for (const key in a) {
63
- if (isSameRouteLocationParamsValue(a[key], b[key]) === false) {
61
+ if (!isSameRouteLocationParamsValue(a[key], b[key])) {
64
62
  return false
65
63
  }
66
64
  }
@@ -106,53 +104,48 @@ export default function useRouterLink({
106
104
  const { props, proxy, emit } = vm
107
105
 
108
106
  const hasRouter = vmHasRouter(vm)
109
- const hasHrefLink = computed(
110
- () => props.disable !== true && props.href !== void 0
111
- )
107
+ const hasHrefLink = computed(() => !props.disable && props.href !== void 0)
112
108
 
113
109
  // for perf reasons, we use minimum amount of runtime work
114
- const hasRouterLinkProps =
115
- useDisableForRouterLinkProps === true
116
- ? computed(
117
- () =>
118
- hasRouter === true &&
119
- props.disable !== true &&
120
- hasHrefLink.value !== true &&
121
- props.to !== void 0 &&
122
- props.to !== null &&
123
- props.to !== ''
124
- )
125
- : computed(
126
- () =>
127
- hasRouter === true &&
128
- hasHrefLink.value !== true &&
129
- props.to !== void 0 &&
130
- props.to !== null &&
131
- props.to !== ''
132
- )
110
+ const hasRouterLinkProps = useDisableForRouterLinkProps
111
+ ? computed(
112
+ () =>
113
+ hasRouter &&
114
+ !props.disable &&
115
+ !hasHrefLink.value &&
116
+ props.to !== void 0 &&
117
+ props.to !== null &&
118
+ props.to !== ''
119
+ )
120
+ : computed(
121
+ () =>
122
+ hasRouter &&
123
+ !hasHrefLink.value &&
124
+ props.to !== void 0 &&
125
+ props.to !== null &&
126
+ props.to !== ''
127
+ )
133
128
 
134
129
  const resolvedLink = computed(() =>
135
- hasRouterLinkProps.value === true ? getLink(props.to) : null
130
+ hasRouterLinkProps.value ? getLink(props.to) : null
136
131
  )
137
132
 
138
133
  const hasRouterLink = computed(() => resolvedLink.value !== null)
139
- const hasLink = computed(
140
- () => hasHrefLink.value === true || hasRouterLink.value === true
141
- )
134
+ const hasLink = computed(() => hasHrefLink.value || hasRouterLink.value)
142
135
 
143
136
  const linkTag = computed(() =>
144
- props.type === 'a' || hasLink.value === true
137
+ props.type === 'a' || hasLink.value
145
138
  ? 'a'
146
139
  : props.tag || fallbackTag || 'div'
147
140
  )
148
141
 
149
142
  const linkAttrs = computed(() =>
150
- hasHrefLink.value === true
143
+ hasHrefLink.value
151
144
  ? {
152
145
  href: props.href,
153
146
  target: props.target
154
147
  }
155
- : hasRouterLink.value === true
148
+ : hasRouterLink.value
156
149
  ? {
157
150
  href: resolvedLink.value.href,
158
151
  target: props.target
@@ -161,9 +154,7 @@ export default function useRouterLink({
161
154
  )
162
155
 
163
156
  const linkActiveIndex = computed(() => {
164
- if (hasRouterLink.value === false) {
165
- return -1
166
- }
157
+ if (!hasRouterLink.value) return -1
167
158
 
168
159
  const { matched } = resolvedLink.value,
169
160
  { length } = matched,
@@ -183,9 +174,7 @@ export default function useRouterLink({
183
174
  isSameRouteRecord.bind(null, routeMatched)
184
175
  )
185
176
 
186
- if (index !== -1) {
187
- return index
188
- }
177
+ if (index !== -1) return index
189
178
 
190
179
  // possible parent record
191
180
  const parentRecordPath = getOriginalPath(matched[length - 2])
@@ -198,7 +187,7 @@ export default function useRouterLink({
198
187
  // child of the same parent
199
188
  getOriginalPath(routeMatched) === parentRecordPath &&
200
189
  // avoid comparing the child with its parent
201
- currentMatched[currentMatched.length - 1].path !== parentRecordPath
190
+ currentMatched.at(-1).path !== parentRecordPath
202
191
  ? currentMatched.findIndex(
203
192
  isSameRouteRecord.bind(null, matched[length - 2])
204
193
  )
@@ -208,25 +197,25 @@ export default function useRouterLink({
208
197
 
209
198
  const linkIsActive = computed(
210
199
  () =>
211
- hasRouterLink.value === true &&
200
+ hasRouterLink.value &&
212
201
  linkActiveIndex.value !== -1 &&
213
202
  includesParams(proxy.$route.params, resolvedLink.value.params)
214
203
  )
215
204
 
216
205
  const linkIsExactActive = computed(
217
206
  () =>
218
- linkIsActive.value === true &&
207
+ linkIsActive.value &&
219
208
  linkActiveIndex.value === proxy.$route.matched.length - 1 &&
220
209
  isSameRouteLocationParams(proxy.$route.params, resolvedLink.value.params)
221
210
  )
222
211
 
223
212
  const linkClass = computed(() =>
224
- hasRouterLink.value === true
225
- ? linkIsExactActive.value === true
213
+ hasRouterLink.value
214
+ ? linkIsExactActive.value
226
215
  ? ` ${props.exactActiveClass} ${props.activeClass}`
227
- : props.exact === true
216
+ : props.exact
228
217
  ? ''
229
- : linkIsActive.value === true
218
+ : linkIsActive.value
230
219
  ? ` ${props.activeClass}`
231
220
  : ''
232
221
  : ''
@@ -247,7 +236,7 @@ export default function useRouterLink({
247
236
  e,
248
237
  { returnRouterError, to = props.to, replace = props.replace } = {}
249
238
  ) {
250
- if (props.disable === true) {
239
+ if (props.disable) {
251
240
  // ensure native navigation is prevented in all cases,
252
241
  // like when useDisableForRouterLinkProps === false (QRouteTab)
253
242
  e.preventDefault()
@@ -273,9 +262,9 @@ export default function useRouterLink({
273
262
  e.preventDefault()
274
263
 
275
264
  // then() can also return a "soft" router error (Vue Router behavior)
276
- const promise = proxy.$router[replace === true ? 'replace' : 'push'](to)
265
+ const promise = proxy.$router[replace ? 'replace' : 'push'](to)
277
266
 
278
- return returnRouterError === true
267
+ return returnRouterError
279
268
  ? promise
280
269
  : // else catching hard errors and also "soft" ones - then(err => ...)
281
270
  promise.then(() => {}).catch(() => {})
@@ -283,11 +272,11 @@ export default function useRouterLink({
283
272
 
284
273
  // warning! ensure that the component using it has 'click' included in its 'emits' definition prop
285
274
  function navigateOnClick(e) {
286
- if (hasRouterLink.value === true) {
275
+ if (hasRouterLink.value) {
287
276
  const go = opts => navigateToRouterLink(e, opts)
288
277
 
289
278
  emit('click', e, go)
290
- if (e.defaultPrevented !== true) go()
279
+ if (!e.defaultPrevented) go()
291
280
  } else {
292
281
  emit('click', e)
293
282
  }
@@ -1,4 +1,4 @@
1
- import { ref, watch, onBeforeUnmount } from 'vue'
1
+ import { onBeforeUnmount, ref, watch } from 'vue'
2
2
 
3
3
  import { listenOpts } from '../../utils/event/event.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useSize, { useSizeDefaults, useSizeProps } from './use-size.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useTransition, { useTransitionProps } from './use-transition.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { computed, getCurrentInstance, onBeforeUnmount, ref, watch } from 'vue'
2
2
 
3
3
  import useFormChild from '../use-form/use-form-child.js'
4
4
  import { testPattern } from '../../utils/patterns/patterns.js'
@@ -45,17 +45,15 @@ export default function useValidate(focused, innerLoading) {
45
45
 
46
46
  const canDebounceValidate = computed(
47
47
  () =>
48
- props.disable !== true &&
49
- hasRules.value === true &&
48
+ !props.disable &&
49
+ hasRules.value &&
50
50
  // Should not have a validation in progress already;
51
51
  // It might mean that focus switched to submit btn and
52
52
  // QForm's submit() has been called already (ENTER key)
53
- innerLoading.value === false
53
+ !innerLoading.value
54
54
  )
55
55
 
56
- const hasError = computed(
57
- () => props.error === true || innerError.value === true
58
- )
56
+ const hasError = computed(() => props.error === true || innerError.value)
59
57
 
60
58
  const errorMessage = computed(() =>
61
59
  typeof props.errorMessage === 'string' && props.errorMessage.length !== 0
@@ -69,7 +67,7 @@ export default function useValidate(focused, innerLoading) {
69
67
  isDirtyModel.value = true
70
68
 
71
69
  if (
72
- canDebounceValidate.value === true &&
70
+ canDebounceValidate.value &&
73
71
  // trigger validation if not using any kind of lazy-rules
74
72
  props.lazyRules === false
75
73
  ) {
@@ -81,8 +79,8 @@ export default function useValidate(focused, innerLoading) {
81
79
  function onRulesChange() {
82
80
  if (
83
81
  props.lazyRules !== 'ondemand' &&
84
- canDebounceValidate.value === true &&
85
- isDirtyModel.value === true
82
+ canDebounceValidate.value &&
83
+ isDirtyModel.value
86
84
  ) {
87
85
  debouncedValidate()
88
86
  }
@@ -91,7 +89,7 @@ export default function useValidate(focused, innerLoading) {
91
89
  watch(
92
90
  () => props.reactiveRules,
93
91
  val => {
94
- if (val === true) {
92
+ if (val) {
95
93
  if (unwatchRules === void 0) {
96
94
  unwatchRules = watch(() => props.rules, onRulesChange, {
97
95
  immediate: true,
@@ -109,12 +107,9 @@ export default function useValidate(focused, innerLoading) {
109
107
  watch(() => props.lazyRules, onRulesChange)
110
108
 
111
109
  watch(focused, val => {
112
- if (val === true) {
110
+ if (val) {
113
111
  isDirtyModel.value = true
114
- } else if (
115
- canDebounceValidate.value === true &&
116
- props.lazyRules !== 'ondemand'
117
- ) {
112
+ } else if (canDebounceValidate.value && props.lazyRules !== 'ondemand') {
118
113
  debouncedValidate()
119
114
  }
120
115
  })
@@ -135,23 +130,19 @@ export default function useValidate(focused, innerLoading) {
135
130
  * - Promise (pending async validation)
136
131
  */
137
132
  function validate(val = props.modelValue) {
138
- if (props.disable === true || hasRules.value === false) {
139
- return true
140
- }
133
+ if (props.disable || !hasRules.value) return true
141
134
 
142
135
  const index = ++validateIndex
136
+ const setDirty = innerLoading.value
137
+ ? () => {}
138
+ : () => {
139
+ isDirtyModel.value = true
140
+ }
143
141
 
144
- const setDirty =
145
- innerLoading.value !== true
146
- ? () => {
147
- isDirtyModel.value = true
148
- }
149
- : () => {}
150
-
151
- const update = (err, msg) => {
152
- if (err === true) setDirty()
142
+ const update = (hasErr, msg) => {
143
+ if (hasErr) setDirty()
153
144
 
154
- innerError.value = err
145
+ innerError.value = hasErr
155
146
  innerErrorMessage.value = msg || null
156
147
  innerLoading.value = false
157
148
  }
@@ -185,11 +176,7 @@ export default function useValidate(focused, innerLoading) {
185
176
 
186
177
  return Promise.all(promises).then(
187
178
  res => {
188
- if (
189
- res === void 0 ||
190
- Array.isArray(res) === false ||
191
- res.length === 0
192
- ) {
179
+ if (res === void 0 || !Array.isArray(res) || res.length === 0) {
193
180
  if (index === validateIndex) update(false)
194
181
  return true
195
182
  }
@@ -198,9 +185,9 @@ export default function useValidate(focused, innerLoading) {
198
185
  if (index === validateIndex) update(msg !== void 0, msg)
199
186
  return msg === void 0
200
187
  },
201
- e => {
188
+ err => {
202
189
  if (index === validateIndex) {
203
- console.error(e)
190
+ console.error(err)
204
191
  update(true)
205
192
  }
206
193
 
@@ -1,4 +1,4 @@
1
- import { ref, getCurrentInstance } from 'vue'
1
+ import { getCurrentInstance, ref } from 'vue'
2
2
 
3
3
  import getEmitsObject from '../../utils/private.get-emits-object/get-emits-object.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  export const useFormProps = {
4
4
  name: String
@@ -1,11 +1,11 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
  import { computed } from 'vue'
3
3
 
4
4
  import {
5
- useFormProps,
6
5
  useFormAttrs,
7
6
  useFormInject,
8
- useFormInputNameAttr
7
+ useFormInputNameAttr,
8
+ useFormProps
9
9
  } from './private.use-form.js'
10
10
 
11
11
  describe('[useForm API]', () => {
@@ -1,9 +1,9 @@
1
1
  import {
2
- inject,
3
- watch,
4
2
  getCurrentInstance,
3
+ inject,
4
+ onBeforeUnmount,
5
5
  onMounted,
6
- onBeforeUnmount
6
+ watch
7
7
  } from 'vue'
8
8
 
9
9
  import { formKey } from '../../utils/private.symbols/symbols.js'
@@ -24,7 +24,7 @@ export default function useFormChild({
24
24
  watch(
25
25
  () => props.disable,
26
26
  val => {
27
- if (val === true) {
27
+ if (val) {
28
28
  if (typeof resetValidation === 'function') resetValidation()
29
29
  $form.unbindComponent(proxy)
30
30
  } else {
@@ -35,14 +35,14 @@ export default function useFormChild({
35
35
 
36
36
  onMounted(() => {
37
37
  // register to parent QForm
38
- if (props.disable !== true) $form.bindComponent(proxy)
38
+ if (!props.disable) $form.bindComponent(proxy)
39
39
  })
40
40
 
41
41
  onBeforeUnmount(() => {
42
42
  // un-register from parent QForm
43
- if (props.disable !== true) $form.unbindComponent(proxy)
43
+ if (!props.disable) $form.unbindComponent(proxy)
44
44
  })
45
- } else if (requiresQForm === true) {
45
+ } else if (requiresQForm) {
46
46
  console.error('Parent QForm not found on useFormChild()!')
47
47
  }
48
48
  }
@@ -1,4 +1,4 @@
1
- import { ref, onMounted } from 'vue'
1
+ import { onMounted, ref } from 'vue'
2
2
 
3
3
  // using it to manage SSR rendering with best performance
4
4
  import { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'
@@ -6,7 +6,7 @@ import { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'
6
6
  export default function useHydration() {
7
7
  const isHydrated = ref(!isRuntimeSsrPreHydration.value)
8
8
 
9
- if (isHydrated.value === false) {
9
+ if (!isHydrated.value) {
10
10
  onMounted(() => {
11
11
  isHydrated.value = true
12
12
  })
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, onMounted } from 'vue'
1
+ import { computed, onMounted, ref, watch } from 'vue'
2
2
 
3
3
  import uid from '../../utils/uid/uid.js'
4
4
 
@@ -9,11 +9,7 @@ function parseValue(val) {
9
9
  }
10
10
 
11
11
  function getId(val, required) {
12
- return val === void 0 || val === null
13
- ? required === true
14
- ? `f_${uid()}`
15
- : null
16
- : val
12
+ return val === void 0 || val === null ? (required ? `f_${uid()}` : null) : val
17
13
  }
18
14
 
19
15
  /**
@@ -24,10 +20,10 @@ function getId(val, required) {
24
20
  * avoid hydration errors.
25
21
  */
26
22
  export default function useId({ getValue, required = true } = {}) {
27
- if (isRuntimeSsrPreHydration.value === true) {
23
+ if (isRuntimeSsrPreHydration.value) {
28
24
  const id = getValue !== void 0 ? ref(parseValue(getValue())) : ref(null)
29
25
 
30
- if (required === true && id.value === null) {
26
+ if (required && id.value === null) {
31
27
  onMounted(() => {
32
28
  id.value = `f_${uid()}` // getId(null, true)
33
29
  })
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -1,4 +1,4 @@
1
- import { onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { getCurrentInstance, onBeforeUnmount, onDeactivated } from 'vue'
2
2
 
3
3
  import { vmIsDestroyed } from '../../utils/private.vm/vm.js'
4
4
 
@@ -28,7 +28,7 @@ export default function useInterval() {
28
28
  registerInterval(fn, delay) {
29
29
  removeInterval()
30
30
 
31
- if (vmIsDestroyed(vm) === false) {
31
+ if (!vmIsDestroyed(vm)) {
32
32
  timer = setInterval(fn, delay)
33
33
  }
34
34
  }
@@ -1,4 +1,4 @@
1
- import { describe, test, expect, vi, beforeEach, afterEach } from 'vitest'
1
+ import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  computed,
3
- watch,
4
3
  onActivated,
5
4
  onDeactivated,
6
5
  onUnmounted,
7
- useSSRContext
6
+ useSSRContext,
7
+ watch
8
8
  } from 'vue'
9
9
 
10
10
  import { clientList, planClientUpdate } from '../../plugins/meta/Meta.js'
@@ -25,7 +25,7 @@ export default function useMeta(metaOptions) {
25
25
 
26
26
  watch(content, val => {
27
27
  meta.val = val
28
- if (meta.active === true) planClientUpdate()
28
+ if (meta.active) planClientUpdate()
29
29
  })
30
30
  } else {
31
31
  meta.val = metaOptions
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -18,7 +18,7 @@ export default function useRenderCache() {
18
18
  },
19
19
 
20
20
  hasCache(key) {
21
- return Object.hasOwnProperty.call(cache, key)
21
+ return Object.hasOwn(cache, key)
22
22
  },
23
23
 
24
24
  clearCache(key) {
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useRenderCache from './use-render-cache.js'
4
4
 
@@ -1,4 +1,4 @@
1
- import { ref, onBeforeUpdate, getCurrentInstance } from 'vue'
1
+ import { getCurrentInstance, onBeforeUpdate, ref } from 'vue'
2
2
 
3
3
  const listenerRE = /^on[A-Z]/
4
4
 
@@ -15,17 +15,13 @@ export default function useSplitAttrs() {
15
15
  const listeners = {}
16
16
 
17
17
  for (const key in attrs) {
18
- if (
19
- key !== 'class' &&
20
- key !== 'style' &&
21
- listenerRE.test(key) === false
22
- ) {
18
+ if (key !== 'class' && key !== 'style' && !listenerRE.test(key)) {
23
19
  attributes[key] = attrs[key]
24
20
  }
25
21
  }
26
22
 
27
23
  for (const key in vnode.props) {
28
- if (listenerRE.test(key) === true) {
24
+ if (listenerRE.test(key)) {
29
25
  listeners[key] = vnode.props[key]
30
26
  }
31
27
  }
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -1,8 +1,8 @@
1
1
  import {
2
+ getCurrentInstance,
2
3
  nextTick,
3
- onDeactivated,
4
4
  onBeforeUnmount,
5
- getCurrentInstance
5
+ onDeactivated
6
6
  } from 'vue'
7
7
 
8
8
  import { vmIsDestroyed } from '../../utils/private.vm/vm.js'
@@ -34,7 +34,7 @@ export default function useTick() {
34
34
  if (tickFn === fn) {
35
35
  // we also check if VM is destroyed, since if it
36
36
  // got to trigger one nextTick() we cannot stop it
37
- if (vmIsDestroyed(vm) === false) tickFn()
37
+ if (!vmIsDestroyed(vm)) tickFn()
38
38
  tickFn = void 0
39
39
  }
40
40
  })