quasar 2.19.2 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +6 -0
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +6 -0
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +6 -0
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +6 -0
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +6 -0
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2615 -2603
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2610 -2598
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +3 -3
  136. package/dist/types/{extras/icon-set.d.ts → icon-set.d.ts} +21 -16
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/plugin.d.ts +1 -1
  139. package/dist/types/shim-icon-set.d.ts +1 -2
  140. package/dist/types/shim-lang.d.ts +1 -2
  141. package/dist/types/ts-helpers.d.ts +3 -3
  142. package/dist/types/tsconfig.json +1 -1
  143. package/dist/types/utils/scroll.d.ts +1 -1
  144. package/dist/types/utils.d.ts +2 -2
  145. package/dist/web-types/web-types.json +1 -1
  146. package/icon-set/bootstrap-icons.js +1 -1
  147. package/icon-set/eva-icons.js +23 -23
  148. package/icon-set/fontawesome-v7-pro.js +128 -0
  149. package/icon-set/fontawesome-v7.js +128 -0
  150. package/icon-set/ionicons-v4.js +17 -17
  151. package/icon-set/svg-bootstrap-icons.js +1 -1
  152. package/icon-set/svg-eva-icons.js +23 -23
  153. package/icon-set/svg-fontawesome-v5.js +1 -1
  154. package/icon-set/svg-fontawesome-v7.js +197 -0
  155. package/icon-set/svg-ionicons-v4.js +17 -17
  156. package/icon-set/svg-ionicons-v5.js +1 -1
  157. package/icon-set/svg-ionicons-v6.js +1 -1
  158. package/icon-set/svg-ionicons-v7.js +224 -0
  159. package/icon-set/svg-ionicons-v8.js +224 -0
  160. package/icon-set/svg-themify.js +7 -7
  161. package/icon-set/themify.js +7 -7
  162. package/lang/ar-TN.js +1 -1
  163. package/lang/ar.js +1 -1
  164. package/lang/az-Latn.js +1 -1
  165. package/lang/bg.js +1 -1
  166. package/lang/bn.js +1 -1
  167. package/lang/bs-BA.js +1 -1
  168. package/lang/ca.js +1 -1
  169. package/lang/cs.js +11 -6
  170. package/lang/da.js +1 -1
  171. package/lang/de-CH.js +1 -1
  172. package/lang/de-DE.js +1 -1
  173. package/lang/de.js +1 -1
  174. package/lang/el.js +1 -1
  175. package/lang/en-GB.js +1 -1
  176. package/lang/en-US.js +1 -1
  177. package/lang/eo.js +1 -1
  178. package/lang/es.js +1 -1
  179. package/lang/et.js +1 -1
  180. package/lang/eu.js +1 -1
  181. package/lang/fa-IR.js +1 -1
  182. package/lang/fa.js +1 -1
  183. package/lang/fi.js +1 -1
  184. package/lang/fr.js +1 -1
  185. package/lang/gn.js +1 -1
  186. package/lang/he.js +1 -1
  187. package/lang/hi.js +1 -1
  188. package/lang/hr.js +1 -1
  189. package/lang/hu.js +1 -1
  190. package/lang/id.js +1 -1
  191. package/lang/is.js +1 -1
  192. package/lang/it.js +9 -9
  193. package/lang/ja.js +1 -1
  194. package/lang/kk.js +1 -1
  195. package/lang/km.js +1 -1
  196. package/lang/kur-CKB.js +1 -1
  197. package/lang/lt.js +2 -2
  198. package/lang/lu.js +1 -1
  199. package/lang/lv.js +1 -1
  200. package/lang/mk.js +1 -1
  201. package/lang/ml.js +1 -1
  202. package/lang/mm.js +1 -1
  203. package/lang/ms-MY.js +1 -1
  204. package/lang/ms.js +1 -1
  205. package/lang/my.js +1 -1
  206. package/lang/nb-NO.js +1 -1
  207. package/lang/nl.js +1 -1
  208. package/lang/pl.js +1 -1
  209. package/lang/pt-BR.js +1 -1
  210. package/lang/pt.js +1 -1
  211. package/lang/ro.js +1 -1
  212. package/lang/ru.js +1 -1
  213. package/lang/sk.js +1 -1
  214. package/lang/sl.js +1 -1
  215. package/lang/sm.js +1 -1
  216. package/lang/sq.js +1 -1
  217. package/lang/sr-CYR.js +1 -1
  218. package/lang/sr.js +1 -1
  219. package/lang/sv.js +1 -1
  220. package/lang/ta.js +1 -1
  221. package/lang/th.js +1 -1
  222. package/lang/tl.js +1 -1
  223. package/lang/tr.js +1 -1
  224. package/lang/ug.js +1 -1
  225. package/lang/uk.js +1 -1
  226. package/lang/ur-PK.js +1 -1
  227. package/lang/uz-Cyrl.js +1 -1
  228. package/lang/uz-Latn.js +1 -1
  229. package/lang/vi.js +1 -1
  230. package/lang/zh-CN.js +1 -1
  231. package/lang/zh-TW.js +1 -1
  232. package/package.json +13 -17
  233. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  234. package/src/components/avatar/QAvatar.js +3 -3
  235. package/src/components/avatar/QAvatar.test.js +2 -2
  236. package/src/components/badge/QBadge.js +9 -10
  237. package/src/components/badge/QBadge.test.js +2 -2
  238. package/src/components/banner/QBanner.js +6 -6
  239. package/src/components/banner/QBanner.test.js +2 -2
  240. package/src/components/bar/QBar.js +3 -3
  241. package/src/components/bar/QBar.test.js +2 -2
  242. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  243. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  244. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  245. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  246. package/src/components/btn/QBtn.js +39 -44
  247. package/src/components/btn/QBtn.test.js +2 -2
  248. package/src/components/btn/use-btn.js +34 -47
  249. package/src/components/btn/use-btn.test.js +5 -5
  250. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  251. package/src/components/btn-group/QBtnGroup.js +3 -3
  252. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  253. package/src/components/card/QCard.js +5 -5
  254. package/src/components/card/QCardActions.js +2 -2
  255. package/src/components/card/QCardSection.js +2 -2
  256. package/src/components/carousel/QCarousel.js +32 -38
  257. package/src/components/carousel/QCarouselControl.js +1 -1
  258. package/src/components/carousel/QCarouselSlide.js +1 -1
  259. package/src/components/carousel/QCarouselSlide.json +1 -1
  260. package/src/components/chat/QChatMessage.js +13 -14
  261. package/src/components/chat/QChatMessage.json +1 -1
  262. package/src/components/checkbox/QCheckbox.js +5 -5
  263. package/src/components/checkbox/use-checkbox.js +38 -50
  264. package/src/components/chip/QChip.js +26 -34
  265. package/src/components/chip/QChip.test.js +2 -2
  266. package/src/components/circular-progress/QCircularProgress.js +8 -11
  267. package/src/components/circular-progress/circular-progress.test.js +1 -1
  268. package/src/components/color/QColor.js +75 -98
  269. package/src/components/date/QDate.js +128 -140
  270. package/src/components/date/use-datetime.js +3 -6
  271. package/src/components/dialog/QDialog.js +44 -50
  272. package/src/components/dialog/QDialog.test.js +7 -7
  273. package/src/components/drawer/QDrawer.js +110 -152
  274. package/src/components/editor/QEditor.js +44 -37
  275. package/src/components/editor/editor-caret.js +27 -31
  276. package/src/components/editor/editor-utils.js +9 -5
  277. package/src/components/expansion-item/QExpansionItem.js +36 -48
  278. package/src/components/fab/QFab.js +11 -11
  279. package/src/components/fab/QFabAction.js +2 -4
  280. package/src/components/fab/use-fab.js +6 -7
  281. package/src/components/field/QField.js +2 -2
  282. package/src/components/file/QFile.js +26 -33
  283. package/src/components/footer/QFooter.js +40 -53
  284. package/src/components/form/QForm.js +37 -43
  285. package/src/components/form/QFormChildMixin.js +3 -3
  286. package/src/components/header/QHeader.js +35 -47
  287. package/src/components/icon/QIcon.js +19 -19
  288. package/src/components/img/QImg.js +24 -24
  289. package/src/components/img/QImg.json +3 -3
  290. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  291. package/src/components/inner-loading/QInnerLoading.js +3 -3
  292. package/src/components/input/QInput.js +52 -52
  293. package/src/components/input/use-mask.js +56 -54
  294. package/src/components/intersection/QIntersection.js +6 -8
  295. package/src/components/item/QItem.js +20 -30
  296. package/src/components/item/QItemLabel.js +5 -7
  297. package/src/components/item/QItemSection.js +6 -6
  298. package/src/components/item/QList.js +6 -6
  299. package/src/components/item/QList.test.js +2 -2
  300. package/src/components/knob/QKnob.js +39 -44
  301. package/src/components/layout/QLayout.js +30 -34
  302. package/src/components/linear-progress/QLinearProgress.js +14 -23
  303. package/src/components/markup-table/QMarkupTable.js +7 -9
  304. package/src/components/menu/QMenu.js +36 -37
  305. package/src/components/no-ssr/QNoSsr.js +1 -1
  306. package/src/components/option-group/QOptionGroup.js +5 -5
  307. package/src/components/page/QPage.js +16 -18
  308. package/src/components/page/QPageContainer.js +9 -9
  309. package/src/components/page-scroller/QPageScroller.js +11 -13
  310. package/src/components/page-sticky/use-page-sticky.js +18 -18
  311. package/src/components/pagination/QPagination.js +24 -26
  312. package/src/components/parallax/QParallax.js +15 -9
  313. package/src/components/parallax/QParallax.json +1 -1
  314. package/src/components/popup-edit/QPopupEdit.js +10 -13
  315. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  316. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  317. package/src/components/radio/QRadio.js +24 -29
  318. package/src/components/range/QRange.js +33 -37
  319. package/src/components/rating/QRating.js +59 -61
  320. package/src/components/resize-observer/QResizeObserver.js +55 -62
  321. package/src/components/scroll-area/QScrollArea.js +32 -36
  322. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  323. package/src/components/select/QSelect.js +208 -269
  324. package/src/components/separator/QSeparator.js +7 -10
  325. package/src/components/skeleton/QSkeleton.js +4 -4
  326. package/src/components/slide-item/QSlideItem.js +7 -7
  327. package/src/components/slide-transition/QSlideTransition.js +4 -4
  328. package/src/components/slider/QSlider.js +13 -16
  329. package/src/components/slider/use-slider.js +53 -81
  330. package/src/components/slider/use-slider.json +3 -3
  331. package/src/components/space/QSpace.test.js +1 -1
  332. package/src/components/spinner/QSpinner.test.js +2 -2
  333. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  334. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  335. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  336. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  337. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  338. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  339. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  340. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  341. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  342. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  343. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  344. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  345. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  346. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  347. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  348. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  349. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  350. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  351. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  352. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  353. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  354. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  355. package/src/components/spinner/use-spinner.test.js +1 -1
  356. package/src/components/splitter/QSplitter.js +19 -21
  357. package/src/components/stepper/QStep.js +12 -14
  358. package/src/components/stepper/QStepper.js +13 -14
  359. package/src/components/stepper/StepHeader.js +34 -35
  360. package/src/components/tab-panels/QTabPanels.js +3 -3
  361. package/src/components/table/QTable.js +82 -100
  362. package/src/components/table/QTd.js +3 -3
  363. package/src/components/table/QTh.js +5 -6
  364. package/src/components/table/QTr.js +3 -3
  365. package/src/components/table/table-column-selection.js +4 -6
  366. package/src/components/table/table-filter.js +2 -2
  367. package/src/components/table/table-pagination.js +14 -20
  368. package/src/components/table/table-row-expand.js +3 -3
  369. package/src/components/table/table-row-selection.js +10 -20
  370. package/src/components/table/table-sort.js +7 -7
  371. package/src/components/tabs/QRouteTab.js +1 -1
  372. package/src/components/tabs/QTab.js +1 -1
  373. package/src/components/tabs/QTabs.js +82 -109
  374. package/src/components/tabs/use-tab.js +36 -38
  375. package/src/components/time/QTime.js +109 -132
  376. package/src/components/timeline/QTimeline.js +7 -4
  377. package/src/components/timeline/QTimelineEntry.js +7 -6
  378. package/src/components/timeline/QTimelineEntry.json +1 -1
  379. package/src/components/toggle/QToggle.js +6 -8
  380. package/src/components/toolbar/QToolbar.js +2 -2
  381. package/src/components/toolbar/QToolbar.test.js +2 -2
  382. package/src/components/toolbar/QToolbarTitle.js +2 -4
  383. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  384. package/src/components/tooltip/QTooltip.js +27 -28
  385. package/src/components/tree/QTree.js +96 -114
  386. package/src/components/tree/QTree.json +1 -1
  387. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  388. package/src/components/uploader/uploader-core.js +44 -51
  389. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  390. package/src/components/video/QVideo.js +1 -1
  391. package/src/components/video/QVideo.test.js +2 -2
  392. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  393. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  394. package/src/composables/private.use-align/use-align.js +2 -2
  395. package/src/composables/private.use-align/use-align.test.js +1 -1
  396. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  397. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  398. package/src/composables/private.use-field/use-field.js +79 -99
  399. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  400. package/src/composables/private.use-file/use-file.js +27 -27
  401. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  402. package/src/composables/private.use-history/use-history.js +2 -2
  403. package/src/composables/private.use-history/use-history.test.js +1 -1
  404. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  405. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  406. package/src/composables/private.use-panel/use-panel.js +25 -27
  407. package/src/composables/private.use-portal/use-portal.js +11 -9
  408. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  409. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  410. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  411. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  412. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  413. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  414. package/src/composables/private.use-size/use-size.test.js +1 -1
  415. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  416. package/src/composables/private.use-validate/use-validate.js +23 -36
  417. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  418. package/src/composables/use-form/private.use-form.js +1 -1
  419. package/src/composables/use-form/private.use-form.test.js +3 -3
  420. package/src/composables/use-form/use-form-child.js +7 -7
  421. package/src/composables/use-hydration/use-hydration.js +2 -2
  422. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  423. package/src/composables/use-id/use-id.js +4 -8
  424. package/src/composables/use-id/use-id.test.js +1 -1
  425. package/src/composables/use-interval/use-interval.js +3 -3
  426. package/src/composables/use-interval/use-interval.test.js +1 -1
  427. package/src/composables/use-meta/use-meta.js +3 -3
  428. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  429. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  430. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  431. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  432. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  433. package/src/composables/use-tick/use-tick.js +3 -3
  434. package/src/composables/use-tick/use-tick.test.js +2 -2
  435. package/src/composables/use-timeout/use-timeout.js +2 -2
  436. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  437. package/src/directives/close-popup/ClosePopup.js +4 -9
  438. package/src/directives/intersection/Intersection.js +5 -8
  439. package/src/directives/morph/Morph.js +12 -18
  440. package/src/directives/ripple/Ripple.js +19 -26
  441. package/src/directives/ripple/Ripple.test.js +2 -2
  442. package/src/directives/scroll/Scroll.js +2 -2
  443. package/src/directives/touch-hold/TouchHold.js +22 -28
  444. package/src/directives/touch-pan/TouchPan.js +68 -84
  445. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  446. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  447. package/src/index.ssr.js +2 -0
  448. package/src/index.umd.js +2 -0
  449. package/src/install-quasar.js +9 -9
  450. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  451. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  452. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  453. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  454. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  455. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  456. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  457. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  458. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  459. package/src/plugins/cookies/Cookies.js +50 -62
  460. package/src/plugins/dark/Dark.js +3 -5
  461. package/src/plugins/dark/Dark.test.js +1 -1
  462. package/src/plugins/dialog/Dialog.js +2 -2
  463. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  464. package/src/plugins/icon-set/IconSet.js +2 -4
  465. package/src/plugins/icon-set/IconSet.test.js +1 -1
  466. package/src/plugins/lang/Lang.js +7 -10
  467. package/src/plugins/lang/Lang.json +2 -2
  468. package/src/plugins/lang/Lang.test.js +2 -2
  469. package/src/plugins/loading/Loading.js +10 -12
  470. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  471. package/src/plugins/meta/Meta.js +10 -11
  472. package/src/plugins/notify/Notify.js +67 -72
  473. package/src/plugins/platform/Platform.js +19 -21
  474. package/src/plugins/platform/Platform.test.js +1 -1
  475. package/src/plugins/private.body/Body.js +23 -29
  476. package/src/plugins/private.body/Body.test.js +1 -1
  477. package/src/plugins/private.history/History.js +17 -25
  478. package/src/plugins/private.history/History.test.js +1 -1
  479. package/src/plugins/screen/Screen.js +16 -16
  480. package/src/plugins/screen/Screen.test.js +1 -1
  481. package/src/plugins/storage/LocalStorage.js +3 -4
  482. package/src/plugins/storage/LocalStorage.test.js +2 -2
  483. package/src/plugins/storage/SessionStorage.js +3 -4
  484. package/src/plugins/storage/SessionStorage.test.js +2 -2
  485. package/src/plugins/storage/engine/web-storage.js +30 -23
  486. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  487. package/src/utils/EventBus/EventBus.js +3 -4
  488. package/src/utils/EventBus/EventBus.test.js +1 -1
  489. package/src/utils/clone/clone.test.js +4 -8
  490. package/src/utils/colors/colors.js +38 -29
  491. package/src/utils/colors/colors.test.js +2 -2
  492. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  493. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  494. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  495. package/src/utils/css-var/get-css-var.test.js +2 -2
  496. package/src/utils/css-var/set-css-var.test.js +2 -2
  497. package/src/utils/date/date.js +229 -172
  498. package/src/utils/date/private.persian.js +11 -11
  499. package/src/utils/debounce/debounce.js +3 -7
  500. package/src/utils/debounce/debounce.test.js +1 -1
  501. package/src/utils/dom/dom.js +2 -4
  502. package/src/utils/dom/dom.test.js +4 -4
  503. package/src/utils/event/event.js +21 -23
  504. package/src/utils/export-file/export-file.js +3 -3
  505. package/src/utils/extend/extend.js +15 -14
  506. package/src/utils/extend/extend.test.js +2 -2
  507. package/src/utils/format/format.js +4 -10
  508. package/src/utils/format/format.test.js +1 -1
  509. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  510. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  511. package/src/utils/is/is.js +15 -26
  512. package/src/utils/is/is.test.js +8 -7
  513. package/src/utils/morph/morph.js +57 -48
  514. package/src/utils/open-url/open-url.js +7 -7
  515. package/src/utils/patterns/patterns.js +26 -23
  516. package/src/utils/patterns/patterns.test.js +1 -1
  517. package/src/utils/private.click-outside/click-outside.js +5 -5
  518. package/src/utils/private.config/instance-config.js +2 -0
  519. package/src/utils/private.config/instance-config.test.js +4 -4
  520. package/src/utils/private.config/nodes.js +5 -5
  521. package/src/utils/private.config/nodes.test.js +4 -4
  522. package/src/utils/private.create/create.test.js +1 -1
  523. package/src/utils/private.dialog/create-dialog.js +9 -12
  524. package/src/utils/private.focus/focus-manager.js +1 -1
  525. package/src/utils/private.focus/focus-manager.test.js +4 -4
  526. package/src/utils/private.focus/focusout.js +2 -2
  527. package/src/utils/private.focus/focusout.test.js +1 -1
  528. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  529. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  530. package/src/utils/private.keyboard/escape-key.js +5 -5
  531. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  532. package/src/utils/private.keyboard/key-composition.js +4 -6
  533. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  534. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  535. package/src/utils/private.portal/portal.js +5 -5
  536. package/src/utils/private.position-engine/position-engine.js +20 -22
  537. package/src/utils/private.render/render.js +5 -7
  538. package/src/utils/private.render/render.test.js +5 -5
  539. package/src/utils/private.rtl/rtl.js +3 -2
  540. package/src/utils/private.rtl/rtl.test.js +1 -1
  541. package/src/utils/private.selection/selection.js +1 -1
  542. package/src/utils/private.selection/selection.test.js +2 -2
  543. package/src/utils/private.sort/sort.test.js +2 -2
  544. package/src/utils/private.touch/touch.js +10 -14
  545. package/src/utils/private.touch/touch.test.js +1 -1
  546. package/src/utils/private.vm/vm.js +2 -2
  547. package/src/utils/private.vm/vm.test.js +4 -4
  548. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  549. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  550. package/src/utils/scroll/prevent-scroll.js +9 -9
  551. package/src/utils/scroll/scroll.js +11 -12
  552. package/src/utils/throttle/throttle.js +4 -3
  553. package/src/utils/throttle/throttle.test.js +1 -1
  554. package/src/utils/uid/uid.js +51 -77
  555. package/src/utils/uid/uid.test.js +3 -3
  556. package/wrappers/index.cjs +2 -2
  557. package/wrappers/index.js +2 -2
  558. package/dist/types/extras/animations.d.ts +0 -106
  559. package/dist/types/extras/fonts.d.ts +0 -1
  560. package/dist/types/extras.d.ts +0 -3
  561. package/dist/vetur/quasar-attributes.json +0 -1
  562. package/dist/vetur/quasar-tags.json +0 -1
@@ -24,11 +24,11 @@ export default function useAlign(props) {
24
24
  return computed(() => {
25
25
  const align =
26
26
  props.align === void 0
27
- ? props.vertical === true
27
+ ? props.vertical
28
28
  ? 'stretch'
29
29
  : 'left'
30
30
  : props.align
31
31
 
32
- return `${props.vertical === true ? 'items' : 'justify'}-${alignMap[align]}`
32
+ return `${props.vertical ? 'items' : 'justify'}-${alignMap[align]}`
33
33
  })
34
34
  }
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useAlign, { alignMap, alignValues, useAlignProps } from './use-align.js'
4
4
 
@@ -1,10 +1,10 @@
1
1
  import {
2
- ref,
3
- watch,
4
- onMounted,
5
- onBeforeUnmount,
2
+ getCurrentInstance,
6
3
  nextTick,
7
- getCurrentInstance
4
+ onBeforeUnmount,
5
+ onMounted,
6
+ ref,
7
+ watch
8
8
  } from 'vue'
9
9
 
10
10
  import { clearSelection } from '../../utils/private.selection/selection.js'
@@ -63,7 +63,7 @@ export default function useAnchor({
63
63
  },
64
64
 
65
65
  toggleKey(evt) {
66
- if (isKeyCode(evt, 13) === true) anchorEvents.toggle(evt)
66
+ if (isKeyCode(evt, 13)) anchorEvents.toggle(evt)
67
67
  },
68
68
 
69
69
  contextClick(evt) {
@@ -80,7 +80,7 @@ export default function useAnchor({
80
80
  mobileTouch(evt) {
81
81
  anchorEvents.mobileCleanup(evt)
82
82
 
83
- if (canShow(evt) !== true) return
83
+ if (!canShow(evt)) return
84
84
 
85
85
  proxy.hide(evt)
86
86
  anchorEl.value.classList.add('non-selectable')
@@ -108,34 +108,29 @@ export default function useAnchor({
108
108
  touchTimer = null
109
109
  }
110
110
 
111
- if (showing.value === true && evt !== void 0) {
111
+ if (showing.value && evt !== void 0) {
112
112
  clearSelection()
113
113
  }
114
114
  }
115
115
  })
116
116
 
117
+ // oxlint-disable-next-line func-name-matching
117
118
  configureAnchorEl = function configureAnchorElFn(
118
119
  context = props.contextMenu
119
120
  ) {
120
- if (props.noParentEvent === true || anchorEl.value === null) return
121
-
122
- let evts
123
-
124
- if (context === true) {
125
- if (proxy.$q.platform.is.mobile === true) {
126
- evts = [[anchorEl.value, 'touchstart', 'mobileTouch', 'passive']]
127
- } else {
128
- evts = [
129
- [anchorEl.value, 'mousedown', 'hide', 'passive'],
130
- [anchorEl.value, 'contextmenu', 'contextClick', 'notPassive']
121
+ if (props.noParentEvent || anchorEl.value === null) return
122
+
123
+ const evts = context
124
+ ? proxy.$q.platform.is.mobile
125
+ ? [[anchorEl.value, 'touchstart', 'mobileTouch', 'passive']]
126
+ : [
127
+ [anchorEl.value, 'mousedown', 'hide', 'passive'],
128
+ [anchorEl.value, 'contextmenu', 'contextClick', 'notPassive']
129
+ ]
130
+ : [
131
+ [anchorEl.value, 'click', 'toggle', 'passive'],
132
+ [anchorEl.value, 'keyup', 'toggleKey', 'passive']
131
133
  ]
132
- }
133
- } else {
134
- evts = [
135
- [anchorEl.value, 'click', 'toggle', 'passive'],
136
- [anchorEl.value, 'keyup', 'toggleKey', 'passive']
137
- ]
138
- }
139
134
 
140
135
  addEvt(anchorEvents, 'anchor', evts)
141
136
  }
@@ -208,7 +203,7 @@ export default function useAnchor({
208
203
  () => props.noParentEvent,
209
204
  val => {
210
205
  if (anchorEl.value !== null) {
211
- if (val === true) {
206
+ if (val) {
212
207
  unconfigureAnchorEl()
213
208
  } else {
214
209
  configureAnchorEl()
@@ -220,11 +215,7 @@ export default function useAnchor({
220
215
  onMounted(() => {
221
216
  pickAnchorEl()
222
217
 
223
- if (
224
- avoidEmit !== true &&
225
- props.modelValue === true &&
226
- anchorEl.value === null
227
- ) {
218
+ if (!avoidEmit && props.modelValue && anchorEl.value === null) {
228
219
  emit('update:modelValue', false)
229
220
  }
230
221
  })
@@ -1,4 +1,4 @@
1
- import { describe, test, expect } from 'vitest'
1
+ import { describe, expect, test } from 'vitest'
2
2
 
3
3
  import useDark, { useDarkProps } from './use-dark.js'
4
4
 
@@ -1,14 +1,14 @@
1
1
  import {
2
- h,
3
- ref,
4
- computed,
5
2
  Transition,
3
+ computed,
4
+ getCurrentInstance,
5
+ h,
6
6
  nextTick,
7
7
  onActivated,
8
- onDeactivated,
9
8
  onBeforeUnmount,
9
+ onDeactivated,
10
10
  onMounted,
11
- getCurrentInstance
11
+ ref
12
12
  } from 'vue'
13
13
 
14
14
  import QIcon from '../../components/icon/QIcon.js'
@@ -103,11 +103,11 @@ export function useFieldState({
103
103
  return {
104
104
  requiredForAttr,
105
105
  changeEvent,
106
- tag: tagProp === true ? computed(() => props.tag) : { value: 'label' },
106
+ tag: tagProp ? computed(() => props.tag) : { value: 'label' },
107
107
 
108
108
  isDark,
109
109
 
110
- editable: computed(() => props.disable !== true && props.readonly !== true),
110
+ editable: computed(() => !props.disable && !props.readonly),
111
111
 
112
112
  innerLoading: ref(false),
113
113
  focused: ref(false),
@@ -141,6 +141,20 @@ export function useFieldState({
141
141
  }
142
142
  }
143
143
 
144
+ function getInnerAppendNode(key, content) {
145
+ return content === null
146
+ ? null
147
+ : h(
148
+ 'div',
149
+ {
150
+ key,
151
+ class:
152
+ 'q-field__append q-field__marginal row no-wrap items-center q-anchor--skip'
153
+ },
154
+ content
155
+ )
156
+ }
157
+
144
158
  export default function useField(state) {
145
159
  const { props, emit, slots, attrs, proxy } = getCurrentInstance()
146
160
  const { $q } = proxy
@@ -173,12 +187,12 @@ export default function useField(state) {
173
187
 
174
188
  if (state.computedCounter === void 0) {
175
189
  state.computedCounter = computed(() => {
176
- if (props.counter !== false) {
190
+ if (props.counter) {
177
191
  const len =
178
192
  typeof props.modelValue === 'string' ||
179
193
  typeof props.modelValue === 'number'
180
194
  ? String(props.modelValue).length
181
- : Array.isArray(props.modelValue) === true
195
+ : Array.isArray(props.modelValue)
182
196
  ? props.modelValue.length
183
197
  : 0
184
198
 
@@ -197,39 +211,26 @@ export default function useField(state) {
197
211
  state.floatingLabel !== void 0
198
212
  ? computed(
199
213
  () =>
200
- props.stackLabel === true ||
201
- state.focused.value === true ||
202
- state.floatingLabel.value === true
214
+ props.stackLabel || state.focused.value || state.floatingLabel.value
203
215
  )
204
216
  : computed(
205
- () =>
206
- props.stackLabel === true ||
207
- state.focused.value === true ||
208
- state.hasValue.value === true
217
+ () => props.stackLabel || state.focused.value || state.hasValue.value
209
218
  )
210
219
 
211
220
  const shouldRenderBottom = computed(
212
221
  () =>
213
- props.bottomSlots === true ||
222
+ props.bottomSlots ||
214
223
  props.hint !== void 0 ||
215
- hasRules.value === true ||
216
- props.counter === true ||
224
+ hasRules.value ||
225
+ props.counter ||
217
226
  props.error !== null
218
227
  )
219
228
 
220
229
  const styleType = computed(() => {
221
- if (props.filled === true) {
222
- return 'filled'
223
- }
224
- if (props.outlined === true) {
225
- return 'outlined'
226
- }
227
- if (props.borderless === true) {
228
- return 'borderless'
229
- }
230
- if (props.standout) {
231
- return 'standout'
232
- }
230
+ if (props.filled) return 'filled'
231
+ if (props.outlined) return 'outlined'
232
+ if (props.borderless) return 'borderless'
233
+ if (props.standout) return 'standout'
233
234
  return 'standard'
234
235
  })
235
236
 
@@ -237,25 +238,23 @@ export default function useField(state) {
237
238
  () =>
238
239
  `q-field row no-wrap items-start q-field--${styleType.value}` +
239
240
  (state.fieldClass !== void 0 ? ` ${state.fieldClass.value}` : '') +
240
- (props.rounded === true ? ' q-field--rounded' : '') +
241
- (props.square === true ? ' q-field--square' : '') +
242
- (floatingLabel.value === true ? ' q-field--float' : '') +
243
- (hasLabel.value === true ? ' q-field--labeled' : '') +
244
- (props.dense === true ? ' q-field--dense' : '') +
245
- (props.itemAligned === true ? ' q-field--item-aligned q-item-type' : '') +
246
- (state.isDark.value === true ? ' q-field--dark' : '') +
241
+ (props.rounded ? ' q-field--rounded' : '') +
242
+ (props.square ? ' q-field--square' : '') +
243
+ (floatingLabel.value ? ' q-field--float' : '') +
244
+ (hasLabel.value ? ' q-field--labeled' : '') +
245
+ (props.dense ? ' q-field--dense' : '') +
246
+ (props.itemAligned ? ' q-field--item-aligned q-item-type' : '') +
247
+ (state.isDark.value ? ' q-field--dark' : '') +
247
248
  (state.getControl === void 0 ? ' q-field--auto-height' : '') +
248
- (state.focused.value === true ? ' q-field--focused' : '') +
249
- (hasError.value === true ? ' q-field--error' : '') +
250
- (hasError.value === true || state.focused.value === true
251
- ? ' q-field--highlighted'
252
- : '') +
253
- (props.hideBottomSpace !== true && shouldRenderBottom.value === true
249
+ (state.focused.value ? ' q-field--focused' : '') +
250
+ (hasError.value ? ' q-field--error' : '') +
251
+ (hasError.value || state.focused.value ? ' q-field--highlighted' : '') +
252
+ (!props.hideBottomSpace && shouldRenderBottom.value
254
253
  ? ' q-field--with-bottom'
255
254
  : '') +
256
- (props.disable === true
255
+ (props.disable
257
256
  ? ' q-field--disabled'
258
- : props.readonly === true
257
+ : props.readonly
259
258
  ? ' q-field--readonly'
260
259
  : '')
261
260
  )
@@ -264,25 +263,23 @@ export default function useField(state) {
264
263
  () =>
265
264
  'q-field__control relative-position row no-wrap' +
266
265
  (props.bgColor !== void 0 ? ` bg-${props.bgColor}` : '') +
267
- (hasError.value === true
266
+ (hasError.value
268
267
  ? ' text-negative'
269
268
  : typeof props.standout === 'string' &&
270
269
  props.standout.length !== 0 &&
271
- state.focused.value === true
270
+ state.focused.value
272
271
  ? ` ${props.standout}`
273
272
  : props.color !== void 0
274
273
  ? ` text-${props.color}`
275
274
  : '')
276
275
  )
277
276
 
278
- const hasLabel = computed(
279
- () => props.labelSlot === true || props.label !== void 0
280
- )
277
+ const hasLabel = computed(() => props.labelSlot || props.label !== void 0)
281
278
 
282
279
  const labelClass = computed(
283
280
  () =>
284
281
  'q-field__label no-pointer-events absolute ellipsis' +
285
- (props.labelColor !== void 0 && hasError.value !== true
282
+ (props.labelColor !== void 0 && !hasError.value
286
283
  ? ` text-${props.labelColor}`
287
284
  : '')
288
285
  )
@@ -303,7 +300,7 @@ export default function useField(state) {
303
300
  acc.for = state.targetUid.value
304
301
  }
305
302
 
306
- if (props.disable === true) {
303
+ if (props.disable) {
307
304
  acc['aria-disabled'] = 'true'
308
305
  }
309
306
 
@@ -315,7 +312,7 @@ export default function useField(state) {
315
312
  let target = state.targetRef?.value
316
313
 
317
314
  if (target && (el === null || el.id !== state.targetUid.value)) {
318
- if (target.hasAttribute('tabindex') !== true) {
315
+ if (!target.hasAttribute('tabindex')) {
319
316
  target = target.querySelector('[tabindex]')
320
317
  }
321
318
 
@@ -343,7 +340,7 @@ export default function useField(state) {
343
340
  focusoutTimer = null
344
341
  }
345
342
 
346
- if (state.editable.value === true && state.focused.value === false) {
343
+ if (state.editable.value && !state.focused.value) {
347
344
  state.focused.value = true
348
345
  emit('focus', e)
349
346
  }
@@ -355,16 +352,16 @@ export default function useField(state) {
355
352
  focusoutTimer = null
356
353
 
357
354
  if (
358
- document.hasFocus() === true &&
359
- (state.hasPopupOpen === true ||
355
+ document.hasFocus() &&
356
+ (state.hasPopupOpen ||
360
357
  state.controlRef === void 0 ||
361
358
  state.controlRef.value === null ||
362
- state.controlRef.value.contains(document.activeElement) !== false)
359
+ state.controlRef.value.contains(document.activeElement))
363
360
  ) {
364
361
  return
365
362
  }
366
363
 
367
- if (state.focused.value === true) {
364
+ if (state.focused.value) {
368
365
  state.focused.value = false
369
366
  emit('blur', e)
370
367
  }
@@ -377,10 +374,10 @@ export default function useField(state) {
377
374
  // prevent activating the field but keep focus on desktop
378
375
  stopAndPrevent(e)
379
376
 
380
- if ($q.platform.is.mobile !== true) {
377
+ if (!$q.platform.is.mobile) {
381
378
  const el = state.targetRef?.value || state.rootRef.value
382
379
  el.focus()
383
- } else if (state.rootRef.value.contains(document.activeElement) === true) {
380
+ } else if (state.rootRef.value.contains(document.activeElement)) {
384
381
  document.activeElement.blur()
385
382
  }
386
383
 
@@ -392,7 +389,7 @@ export default function useField(state) {
392
389
  }
393
390
 
394
391
  emit('update:modelValue', null)
395
- if (state.changeEvent === true) emit('change', null)
392
+ if (state.changeEvent) emit('change', null)
396
393
  emit('clear', props.modelValue)
397
394
 
398
395
  nextTick(() => {
@@ -435,7 +432,7 @@ export default function useField(state) {
435
432
  )
436
433
  )
437
434
 
438
- if (hasError.value === true && props.noErrorIcon === false) {
435
+ if (hasError.value && !props.noErrorIcon) {
439
436
  node.push(
440
437
  getInnerAppendNode('error', [
441
438
  h(QIcon, { name: $q.iconSet.field.error, color: 'negative' })
@@ -443,7 +440,7 @@ export default function useField(state) {
443
440
  )
444
441
  }
445
442
 
446
- if (props.loading === true || state.innerLoading.value === true) {
443
+ if (props.loading || state.innerLoading.value) {
447
444
  node.push(
448
445
  getInnerAppendNode(
449
446
  'inner-loading-append',
@@ -453,9 +450,9 @@ export default function useField(state) {
453
450
  )
454
451
  )
455
452
  } else if (
456
- props.clearable === true &&
457
- state.hasValue.value === true &&
458
- state.editable.value === true
453
+ props.clearable &&
454
+ state.hasValue.value &&
455
+ state.editable.value
459
456
  ) {
460
457
  node.push(
461
458
  getInnerAppendNode('inner-clearable-append', [
@@ -513,11 +510,11 @@ export default function useField(state) {
513
510
  )
514
511
  }
515
512
 
516
- if (state.getShadowControl !== void 0 && state.hasShadow.value === true) {
513
+ if (state.getShadowControl !== void 0 && state.hasShadow.value) {
517
514
  node.push(state.getShadowControl())
518
515
  }
519
516
 
520
- if (hasLabel.value === true) {
517
+ if (hasLabel.value) {
521
518
  node.push(
522
519
  h(
523
520
  'div',
@@ -544,7 +541,7 @@ export default function useField(state) {
544
541
  class: 'q-field__native row',
545
542
  tabindex: -1,
546
543
  ...state.splitAttrs.attributes.value,
547
- 'data-autofocus': props.autofocus === true || void 0
544
+ 'data-autofocus': props.autofocus || void 0
548
545
  },
549
546
  slots.control(controlSlotScope.value)
550
547
  )
@@ -563,13 +560,14 @@ export default function useField(state) {
563
560
  )
564
561
  }
565
562
 
563
+ // oxlint-disable-next-line unicorn/prefer-spread
566
564
  return node.concat(hSlot(slots.default))
567
565
  }
568
566
 
569
567
  function getBottom() {
570
568
  let msg, key
571
569
 
572
- if (hasError.value === true) {
570
+ if (hasError.value) {
573
571
  if (errorMessage.value !== null) {
574
572
  msg = [h('div', { role: 'alert' }, errorMessage.value)]
575
573
  key = `q--slot-error-${errorMessage.value}`
@@ -577,7 +575,7 @@ export default function useField(state) {
577
575
  msg = hSlot(slots.error)
578
576
  key = 'q--slot-error'
579
577
  }
580
- } else if (props.hideHint !== true || state.focused.value === true) {
578
+ } else if (!props.hideHint || state.focused.value) {
581
579
  if (props.hint !== void 0) {
582
580
  msg = [h('div', props.hint)]
583
581
  key = `q--slot-hint-${props.hint}`
@@ -587,13 +585,9 @@ export default function useField(state) {
587
585
  }
588
586
  }
589
587
 
590
- const hasCounter = props.counter === true || slots.counter !== void 0
588
+ const hasCounter = props.counter || slots.counter !== void 0
591
589
 
592
- if (
593
- props.hideBottomSpace === true &&
594
- hasCounter === false &&
595
- msg === void 0
596
- ) {
590
+ if (props.hideBottomSpace && !hasCounter && msg === void 0) {
597
591
  return
598
592
  }
599
593
 
@@ -611,15 +605,15 @@ export default function useField(state) {
611
605
  {
612
606
  class:
613
607
  'q-field__bottom row items-start q-field__bottom--' +
614
- (props.hideBottomSpace !== true ? 'animated' : 'stale'),
608
+ (props.hideBottomSpace ? 'stale' : 'animated'),
615
609
  onClick: prevent
616
610
  },
617
611
  [
618
- props.hideBottomSpace === true
612
+ props.hideBottomSpace
619
613
  ? main
620
614
  : h(Transition, { name: 'q-transition--field-message' }, () => main),
621
615
 
622
- hasCounter === true
616
+ hasCounter
623
617
  ? h(
624
618
  'div',
625
619
  {
@@ -634,20 +628,6 @@ export default function useField(state) {
634
628
  )
635
629
  }
636
630
 
637
- function getInnerAppendNode(key, content) {
638
- return content === null
639
- ? null
640
- : h(
641
- 'div',
642
- {
643
- key,
644
- class:
645
- 'q-field__append q-field__marginal row no-wrap items-center q-anchor--skip'
646
- },
647
- content
648
- )
649
- }
650
-
651
631
  let shouldActivate = false
652
632
 
653
633
  onDeactivated(() => {
@@ -655,12 +635,12 @@ export default function useField(state) {
655
635
  })
656
636
 
657
637
  onActivated(() => {
658
- if (shouldActivate === true && props.autofocus === true) {
638
+ if (shouldActivate && props.autofocus) {
659
639
  proxy.focus()
660
640
  }
661
641
  })
662
642
 
663
- if (props.autofocus === true) {
643
+ if (props.autofocus) {
664
644
  onMounted(() => {
665
645
  proxy.focus()
666
646
  })
@@ -678,7 +658,7 @@ export default function useField(state) {
678
658
  state.getControl === void 0 && slots.control === void 0
679
659
  ? {
680
660
  ...state.splitAttrs.attributes.value,
681
- 'data-autofocus': props.autofocus === true || void 0,
661
+ 'data-autofocus': props.autofocus || void 0,
682
662
  ...attributes.value
683
663
  }
684
664
  : attributes.value
@@ -721,7 +701,7 @@ export default function useField(state) {
721
701
  getContent()
722
702
  ),
723
703
 
724
- shouldRenderBottom.value === true ? getBottom() : null
704
+ shouldRenderBottom.value ? getBottom() : null
725
705
  ]
726
706
  ),
727
707
 
@@ -13,7 +13,7 @@ export default function useFileDomProps(props, typeGuard) {
13
13
  : void 0
14
14
 
15
15
  if (Object(model) === model) {
16
- ;('length' in model ? Array.from(model) : [model]).forEach(file => {
16
+ ;('length' in model ? [...model] : [model]).forEach(file => {
17
17
  dt.items.add(file)
18
18
  })
19
19
  }
@@ -28,7 +28,7 @@ export default function useFileDomProps(props, typeGuard) {
28
28
  }
29
29
  }
30
30
 
31
- return typeGuard === true
31
+ return typeGuard
32
32
  ? computed(() => {
33
33
  if (props.type !== 'file') return
34
34
  return getFormDomProps()