quasar 2.19.3 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +5 -5
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2621 -2604
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2616 -2599
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +2 -2
  136. package/dist/types/icon-set.d.ts +16 -16
  137. package/dist/types/shim-icon-set.d.ts +1 -2
  138. package/dist/types/shim-lang.d.ts +1 -2
  139. package/dist/types/ts-helpers.d.ts +3 -3
  140. package/dist/types/tsconfig.json +1 -1
  141. package/dist/types/utils/scroll.d.ts +1 -1
  142. package/dist/types/utils.d.ts +2 -2
  143. package/dist/web-types/web-types.json +1 -1
  144. package/icon-set/bootstrap-icons.js +1 -1
  145. package/icon-set/eva-icons.js +22 -22
  146. package/icon-set/ionicons-v4.js +16 -16
  147. package/icon-set/svg-bootstrap-icons.js +1 -1
  148. package/icon-set/svg-eva-icons.js +22 -22
  149. package/icon-set/svg-fontawesome-v5.js +1 -1
  150. package/icon-set/svg-ionicons-v4.js +16 -16
  151. package/icon-set/svg-themify.js +7 -7
  152. package/icon-set/themify.js +7 -7
  153. package/lang/ar-TN.js +1 -1
  154. package/lang/ar.js +1 -1
  155. package/lang/az-Latn.js +1 -1
  156. package/lang/bg.js +1 -1
  157. package/lang/bn.js +1 -1
  158. package/lang/bs-BA.js +1 -1
  159. package/lang/ca.js +1 -1
  160. package/lang/cs.js +11 -6
  161. package/lang/da.js +1 -1
  162. package/lang/de-CH.js +1 -1
  163. package/lang/de-DE.js +1 -1
  164. package/lang/de.js +1 -1
  165. package/lang/el.js +1 -1
  166. package/lang/en-GB.js +1 -1
  167. package/lang/en-US.js +1 -1
  168. package/lang/eo.js +1 -1
  169. package/lang/es.js +1 -1
  170. package/lang/et.js +1 -1
  171. package/lang/eu.js +1 -1
  172. package/lang/fa-IR.js +1 -1
  173. package/lang/fa.js +1 -1
  174. package/lang/fi.js +1 -1
  175. package/lang/fr.js +1 -1
  176. package/lang/gn.js +1 -1
  177. package/lang/he.js +1 -1
  178. package/lang/hi.js +1 -1
  179. package/lang/hr.js +1 -1
  180. package/lang/hu.js +1 -1
  181. package/lang/id.js +1 -1
  182. package/lang/is.js +1 -1
  183. package/lang/it.js +1 -1
  184. package/lang/ja.js +1 -1
  185. package/lang/kk.js +1 -1
  186. package/lang/km.js +1 -1
  187. package/lang/kur-CKB.js +1 -1
  188. package/lang/lt.js +2 -2
  189. package/lang/lu.js +1 -1
  190. package/lang/lv.js +1 -1
  191. package/lang/mk.js +1 -1
  192. package/lang/ml.js +1 -1
  193. package/lang/mm.js +1 -1
  194. package/lang/ms-MY.js +1 -1
  195. package/lang/ms.js +1 -1
  196. package/lang/my.js +1 -1
  197. package/lang/nb-NO.js +1 -1
  198. package/lang/nl.js +1 -1
  199. package/lang/pl.js +1 -1
  200. package/lang/pt-BR.js +1 -1
  201. package/lang/pt.js +1 -1
  202. package/lang/ro.js +1 -1
  203. package/lang/ru.js +1 -1
  204. package/lang/sk.js +1 -1
  205. package/lang/sl.js +1 -1
  206. package/lang/sm.js +1 -1
  207. package/lang/sq.js +1 -1
  208. package/lang/sr-CYR.js +1 -1
  209. package/lang/sr.js +1 -1
  210. package/lang/sv.js +1 -1
  211. package/lang/ta.js +1 -1
  212. package/lang/th.js +1 -1
  213. package/lang/tl.js +1 -1
  214. package/lang/tr.js +1 -1
  215. package/lang/ug.js +1 -1
  216. package/lang/uk.js +1 -1
  217. package/lang/ur-PK.js +1 -1
  218. package/lang/uz-Cyrl.js +1 -1
  219. package/lang/uz-Latn.js +1 -1
  220. package/lang/vi.js +1 -1
  221. package/lang/zh-CN.js +1 -1
  222. package/lang/zh-TW.js +1 -1
  223. package/package.json +13 -17
  224. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  225. package/src/components/avatar/QAvatar.js +3 -3
  226. package/src/components/avatar/QAvatar.test.js +2 -2
  227. package/src/components/badge/QBadge.js +9 -10
  228. package/src/components/badge/QBadge.test.js +2 -2
  229. package/src/components/banner/QBanner.js +6 -6
  230. package/src/components/banner/QBanner.test.js +2 -2
  231. package/src/components/bar/QBar.js +3 -3
  232. package/src/components/bar/QBar.test.js +2 -2
  233. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  234. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  235. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  236. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  237. package/src/components/btn/QBtn.js +39 -44
  238. package/src/components/btn/QBtn.test.js +2 -2
  239. package/src/components/btn/use-btn.js +34 -47
  240. package/src/components/btn/use-btn.test.js +5 -5
  241. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  242. package/src/components/btn-group/QBtnGroup.js +3 -3
  243. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  244. package/src/components/card/QCard.js +5 -5
  245. package/src/components/card/QCardActions.js +2 -2
  246. package/src/components/card/QCardSection.js +2 -2
  247. package/src/components/carousel/QCarousel.js +32 -38
  248. package/src/components/carousel/QCarouselControl.js +1 -1
  249. package/src/components/carousel/QCarouselSlide.js +1 -1
  250. package/src/components/carousel/QCarouselSlide.json +1 -1
  251. package/src/components/chat/QChatMessage.js +13 -14
  252. package/src/components/chat/QChatMessage.json +1 -1
  253. package/src/components/checkbox/QCheckbox.js +5 -5
  254. package/src/components/checkbox/use-checkbox.js +38 -50
  255. package/src/components/chip/QChip.js +26 -34
  256. package/src/components/chip/QChip.test.js +2 -2
  257. package/src/components/circular-progress/QCircularProgress.js +8 -11
  258. package/src/components/circular-progress/circular-progress.test.js +1 -1
  259. package/src/components/color/QColor.js +75 -98
  260. package/src/components/date/QDate.js +128 -140
  261. package/src/components/date/use-datetime.js +3 -6
  262. package/src/components/dialog/QDialog.js +44 -51
  263. package/src/components/dialog/QDialog.test.js +7 -7
  264. package/src/components/drawer/QDrawer.js +110 -152
  265. package/src/components/editor/QEditor.js +44 -37
  266. package/src/components/editor/editor-caret.js +27 -31
  267. package/src/components/editor/editor-utils.js +9 -5
  268. package/src/components/expansion-item/QExpansionItem.js +36 -48
  269. package/src/components/fab/QFab.js +11 -11
  270. package/src/components/fab/QFabAction.js +2 -4
  271. package/src/components/fab/use-fab.js +6 -7
  272. package/src/components/field/QField.js +2 -2
  273. package/src/components/file/QFile.js +26 -33
  274. package/src/components/footer/QFooter.js +40 -53
  275. package/src/components/form/QForm.js +37 -43
  276. package/src/components/form/QFormChildMixin.js +3 -3
  277. package/src/components/header/QHeader.js +35 -47
  278. package/src/components/icon/QIcon.js +19 -19
  279. package/src/components/img/QImg.js +24 -24
  280. package/src/components/img/QImg.json +3 -3
  281. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  282. package/src/components/inner-loading/QInnerLoading.js +3 -3
  283. package/src/components/input/QInput.js +53 -52
  284. package/src/components/input/use-mask.js +56 -54
  285. package/src/components/intersection/QIntersection.js +6 -8
  286. package/src/components/item/QItem.js +20 -30
  287. package/src/components/item/QItemLabel.js +5 -7
  288. package/src/components/item/QItemSection.js +6 -6
  289. package/src/components/item/QList.js +6 -6
  290. package/src/components/item/QList.test.js +2 -2
  291. package/src/components/knob/QKnob.js +39 -44
  292. package/src/components/layout/QLayout.js +30 -34
  293. package/src/components/linear-progress/QLinearProgress.js +14 -23
  294. package/src/components/markup-table/QMarkupTable.js +7 -9
  295. package/src/components/menu/QMenu.js +36 -37
  296. package/src/components/no-ssr/QNoSsr.js +1 -1
  297. package/src/components/option-group/QOptionGroup.js +5 -5
  298. package/src/components/page/QPage.js +16 -18
  299. package/src/components/page/QPageContainer.js +9 -9
  300. package/src/components/page-scroller/QPageScroller.js +11 -13
  301. package/src/components/page-sticky/use-page-sticky.js +18 -18
  302. package/src/components/pagination/QPagination.js +24 -26
  303. package/src/components/parallax/QParallax.js +15 -9
  304. package/src/components/parallax/QParallax.json +1 -1
  305. package/src/components/popup-edit/QPopupEdit.js +10 -13
  306. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  307. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  308. package/src/components/radio/QRadio.js +24 -29
  309. package/src/components/range/QRange.js +33 -37
  310. package/src/components/rating/QRating.js +59 -61
  311. package/src/components/resize-observer/QResizeObserver.js +55 -62
  312. package/src/components/scroll-area/QScrollArea.js +32 -36
  313. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  314. package/src/components/select/QSelect.js +208 -269
  315. package/src/components/separator/QSeparator.js +7 -10
  316. package/src/components/skeleton/QSkeleton.js +4 -4
  317. package/src/components/slide-item/QSlideItem.js +7 -7
  318. package/src/components/slide-transition/QSlideTransition.js +4 -4
  319. package/src/components/slider/QSlider.js +13 -16
  320. package/src/components/slider/use-slider.js +53 -81
  321. package/src/components/slider/use-slider.json +3 -3
  322. package/src/components/space/QSpace.test.js +1 -1
  323. package/src/components/spinner/QSpinner.test.js +2 -2
  324. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  325. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  326. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  327. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  328. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  329. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  330. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  331. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  332. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  333. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  334. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  335. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  336. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  337. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  338. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  339. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  340. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  341. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  342. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  343. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  344. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  345. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  346. package/src/components/spinner/use-spinner.test.js +1 -1
  347. package/src/components/splitter/QSplitter.js +19 -21
  348. package/src/components/stepper/QStep.js +12 -14
  349. package/src/components/stepper/QStepper.js +13 -14
  350. package/src/components/stepper/StepHeader.js +34 -35
  351. package/src/components/tab-panels/QTabPanels.js +3 -3
  352. package/src/components/table/QTable.js +82 -100
  353. package/src/components/table/QTd.js +3 -3
  354. package/src/components/table/QTh.js +5 -6
  355. package/src/components/table/QTr.js +3 -3
  356. package/src/components/table/table-column-selection.js +4 -6
  357. package/src/components/table/table-filter.js +2 -2
  358. package/src/components/table/table-pagination.js +14 -20
  359. package/src/components/table/table-row-expand.js +3 -3
  360. package/src/components/table/table-row-selection.js +10 -20
  361. package/src/components/table/table-sort.js +7 -7
  362. package/src/components/tabs/QRouteTab.js +1 -1
  363. package/src/components/tabs/QTab.js +1 -1
  364. package/src/components/tabs/QTabs.js +82 -109
  365. package/src/components/tabs/use-tab.js +36 -38
  366. package/src/components/time/QTime.js +109 -132
  367. package/src/components/timeline/QTimeline.js +7 -4
  368. package/src/components/timeline/QTimelineEntry.js +7 -6
  369. package/src/components/timeline/QTimelineEntry.json +1 -1
  370. package/src/components/toggle/QToggle.js +6 -8
  371. package/src/components/toolbar/QToolbar.js +2 -2
  372. package/src/components/toolbar/QToolbar.test.js +2 -2
  373. package/src/components/toolbar/QToolbarTitle.js +2 -4
  374. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  375. package/src/components/tooltip/QTooltip.js +27 -28
  376. package/src/components/tree/QTree.js +96 -114
  377. package/src/components/tree/QTree.json +1 -1
  378. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  379. package/src/components/uploader/uploader-core.js +44 -51
  380. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  381. package/src/components/video/QVideo.js +1 -1
  382. package/src/components/video/QVideo.test.js +2 -2
  383. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  384. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  385. package/src/composables/private.use-align/use-align.js +2 -2
  386. package/src/composables/private.use-align/use-align.test.js +1 -1
  387. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  388. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  389. package/src/composables/private.use-field/use-field.js +79 -99
  390. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  391. package/src/composables/private.use-file/use-file.js +27 -27
  392. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  393. package/src/composables/private.use-history/use-history.js +2 -2
  394. package/src/composables/private.use-history/use-history.test.js +1 -1
  395. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  396. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  397. package/src/composables/private.use-panel/use-panel.js +25 -27
  398. package/src/composables/private.use-portal/use-portal.js +11 -9
  399. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  400. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  401. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  402. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  403. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  404. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  405. package/src/composables/private.use-size/use-size.test.js +1 -1
  406. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  407. package/src/composables/private.use-validate/use-validate.js +23 -36
  408. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  409. package/src/composables/use-form/private.use-form.js +1 -1
  410. package/src/composables/use-form/private.use-form.test.js +3 -3
  411. package/src/composables/use-form/use-form-child.js +7 -7
  412. package/src/composables/use-hydration/use-hydration.js +2 -2
  413. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  414. package/src/composables/use-id/use-id.js +4 -8
  415. package/src/composables/use-id/use-id.test.js +1 -1
  416. package/src/composables/use-interval/use-interval.js +2 -2
  417. package/src/composables/use-interval/use-interval.test.js +1 -1
  418. package/src/composables/use-meta/use-meta.js +3 -3
  419. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  420. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  421. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  422. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  423. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  424. package/src/composables/use-tick/use-tick.js +3 -3
  425. package/src/composables/use-tick/use-tick.test.js +2 -2
  426. package/src/composables/use-timeout/use-timeout.js +2 -2
  427. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  428. package/src/directives/close-popup/ClosePopup.js +4 -9
  429. package/src/directives/intersection/Intersection.js +5 -8
  430. package/src/directives/morph/Morph.js +12 -18
  431. package/src/directives/ripple/Ripple.js +19 -26
  432. package/src/directives/ripple/Ripple.test.js +2 -2
  433. package/src/directives/scroll/Scroll.js +2 -2
  434. package/src/directives/touch-hold/TouchHold.js +22 -28
  435. package/src/directives/touch-pan/TouchPan.js +68 -84
  436. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  437. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  438. package/src/index.ssr.js +2 -0
  439. package/src/index.umd.js +2 -0
  440. package/src/install-quasar.js +9 -9
  441. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  442. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  443. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  444. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  445. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  446. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  447. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  448. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  449. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  450. package/src/plugins/cookies/Cookies.js +50 -62
  451. package/src/plugins/dark/Dark.js +3 -5
  452. package/src/plugins/dark/Dark.test.js +1 -1
  453. package/src/plugins/dialog/Dialog.js +2 -2
  454. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  455. package/src/plugins/icon-set/IconSet.js +2 -4
  456. package/src/plugins/icon-set/IconSet.test.js +1 -1
  457. package/src/plugins/lang/Lang.js +7 -10
  458. package/src/plugins/lang/Lang.json +2 -2
  459. package/src/plugins/lang/Lang.test.js +2 -2
  460. package/src/plugins/loading/Loading.js +10 -12
  461. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  462. package/src/plugins/meta/Meta.js +10 -11
  463. package/src/plugins/notify/Notify.js +67 -72
  464. package/src/plugins/platform/Platform.js +19 -21
  465. package/src/plugins/platform/Platform.test.js +1 -1
  466. package/src/plugins/private.body/Body.js +23 -29
  467. package/src/plugins/private.body/Body.test.js +1 -1
  468. package/src/plugins/private.history/History.js +17 -25
  469. package/src/plugins/private.history/History.test.js +1 -1
  470. package/src/plugins/screen/Screen.js +16 -16
  471. package/src/plugins/screen/Screen.test.js +1 -1
  472. package/src/plugins/storage/LocalStorage.js +3 -4
  473. package/src/plugins/storage/LocalStorage.test.js +2 -2
  474. package/src/plugins/storage/SessionStorage.js +3 -4
  475. package/src/plugins/storage/SessionStorage.test.js +2 -2
  476. package/src/plugins/storage/engine/web-storage.js +30 -23
  477. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  478. package/src/utils/EventBus/EventBus.js +3 -4
  479. package/src/utils/EventBus/EventBus.test.js +1 -1
  480. package/src/utils/clone/clone.test.js +4 -8
  481. package/src/utils/colors/colors.js +38 -29
  482. package/src/utils/colors/colors.test.js +2 -2
  483. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  484. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  485. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  486. package/src/utils/css-var/get-css-var.test.js +2 -2
  487. package/src/utils/css-var/set-css-var.test.js +2 -2
  488. package/src/utils/date/date.js +229 -172
  489. package/src/utils/date/private.persian.js +11 -11
  490. package/src/utils/debounce/debounce.js +3 -7
  491. package/src/utils/debounce/debounce.test.js +1 -1
  492. package/src/utils/dom/dom.js +2 -4
  493. package/src/utils/dom/dom.test.js +4 -4
  494. package/src/utils/event/event.js +21 -23
  495. package/src/utils/export-file/export-file.js +3 -3
  496. package/src/utils/extend/extend.js +15 -14
  497. package/src/utils/extend/extend.test.js +2 -2
  498. package/src/utils/format/format.js +4 -10
  499. package/src/utils/format/format.test.js +1 -1
  500. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  501. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  502. package/src/utils/is/is.js +15 -26
  503. package/src/utils/is/is.test.js +8 -7
  504. package/src/utils/morph/morph.js +57 -48
  505. package/src/utils/open-url/open-url.js +7 -7
  506. package/src/utils/patterns/patterns.js +26 -23
  507. package/src/utils/patterns/patterns.test.js +1 -1
  508. package/src/utils/private.click-outside/click-outside.js +5 -5
  509. package/src/utils/private.config/instance-config.js +2 -0
  510. package/src/utils/private.config/instance-config.test.js +4 -4
  511. package/src/utils/private.config/nodes.js +5 -5
  512. package/src/utils/private.config/nodes.test.js +4 -4
  513. package/src/utils/private.create/create.test.js +1 -1
  514. package/src/utils/private.dialog/create-dialog.js +9 -12
  515. package/src/utils/private.focus/focus-manager.js +5 -1
  516. package/src/utils/private.focus/focus-manager.test.js +4 -4
  517. package/src/utils/private.focus/focusout.js +2 -2
  518. package/src/utils/private.focus/focusout.test.js +1 -1
  519. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  520. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  521. package/src/utils/private.keyboard/escape-key.js +5 -5
  522. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  523. package/src/utils/private.keyboard/key-composition.js +4 -6
  524. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  525. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  526. package/src/utils/private.portal/portal.js +5 -5
  527. package/src/utils/private.position-engine/position-engine.js +20 -22
  528. package/src/utils/private.render/render.js +5 -7
  529. package/src/utils/private.render/render.test.js +5 -5
  530. package/src/utils/private.rtl/rtl.js +3 -2
  531. package/src/utils/private.rtl/rtl.test.js +1 -1
  532. package/src/utils/private.selection/selection.js +1 -1
  533. package/src/utils/private.selection/selection.test.js +2 -2
  534. package/src/utils/private.sort/sort.test.js +2 -2
  535. package/src/utils/private.touch/touch.js +10 -14
  536. package/src/utils/private.touch/touch.test.js +1 -1
  537. package/src/utils/private.vm/vm.js +2 -2
  538. package/src/utils/private.vm/vm.test.js +4 -4
  539. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  540. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  541. package/src/utils/scroll/prevent-scroll.js +9 -9
  542. package/src/utils/scroll/scroll.js +11 -12
  543. package/src/utils/throttle/throttle.js +4 -3
  544. package/src/utils/throttle/throttle.test.js +1 -1
  545. package/src/utils/uid/uid.js +51 -77
  546. package/src/utils/uid/uid.test.js +3 -3
  547. package/wrappers/index.cjs +2 -2
  548. package/wrappers/index.js +2 -2
  549. package/dist/vetur/quasar-attributes.json +0 -1
  550. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,10 +1,10 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  import QIcon from '../icon/QIcon.js'
4
4
 
5
5
  import useCheckbox, {
6
- useCheckboxProps,
7
- useCheckboxEmits
6
+ useCheckboxEmits,
7
+ useCheckboxProps
8
8
  } from '../checkbox/use-checkbox.js'
9
9
 
10
10
  import { createComponent } from '../../utils/private.create/create.js'
@@ -25,16 +25,14 @@ export default createComponent({
25
25
  function getInner(isTrue, isIndeterminate) {
26
26
  const icon = computed(
27
27
  () =>
28
- (isTrue.value === true
28
+ (isTrue.value
29
29
  ? props.checkedIcon
30
- : isIndeterminate.value === true
30
+ : isIndeterminate.value
31
31
  ? props.indeterminateIcon
32
32
  : props.uncheckedIcon) || props.icon
33
33
  )
34
34
 
35
- const color = computed(() =>
36
- isTrue.value === true ? props.iconColor : null
37
- )
35
+ const color = computed(() => (isTrue.value ? props.iconColor : null))
38
36
 
39
37
  return () => [
40
38
  h('div', { class: 'q-toggle__track' }),
@@ -1,4 +1,4 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import { hSlot } from '../../utils/private.render/render.js'
@@ -14,7 +14,7 @@ export default createComponent({
14
14
  const classes = computed(
15
15
  () =>
16
16
  'q-toolbar row no-wrap items-center' +
17
- (props.inset === true ? ' q-toolbar--inset' : '')
17
+ (props.inset ? ' q-toolbar--inset' : '')
18
18
  )
19
19
 
20
20
  return () =>
@@ -1,5 +1,5 @@
1
- import { mount, flushPromises } from '@vue/test-utils'
2
- import { describe, test, expect } from 'vitest'
1
+ import { flushPromises, mount } from '@vue/test-utils'
2
+ import { describe, expect, test } from 'vitest'
3
3
 
4
4
  import QToolbar from './QToolbar.js'
5
5
 
@@ -1,4 +1,4 @@
1
- import { h, computed } from 'vue'
1
+ import { computed, h } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import { hSlot } from '../../utils/private.render/render.js'
@@ -12,9 +12,7 @@ export default createComponent({
12
12
 
13
13
  setup(props, { slots }) {
14
14
  const classes = computed(
15
- () =>
16
- 'q-toolbar__title ellipsis' +
17
- (props.shrink === true ? ' col-shrink' : '')
15
+ () => 'q-toolbar__title ellipsis' + (props.shrink ? ' col-shrink' : '')
18
16
  )
19
17
 
20
18
  return () => h('div', { class: classes.value }, hSlot(slots.default))
@@ -1,5 +1,5 @@
1
- import { mount, flushPromises } from '@vue/test-utils'
2
- import { describe, test, expect } from 'vitest'
1
+ import { flushPromises, mount } from '@vue/test-utils'
2
+ import { describe, expect, test } from 'vitest'
3
3
 
4
4
  import QToolbarTitle from './QToolbarTitle.js'
5
5
 
@@ -1,11 +1,11 @@
1
1
  import {
2
- h,
3
- ref,
2
+ Transition,
4
3
  computed,
5
- watch,
4
+ getCurrentInstance,
5
+ h,
6
6
  onBeforeUnmount,
7
- Transition,
8
- getCurrentInstance
7
+ ref,
8
+ watch
9
9
  } from 'vue'
10
10
 
11
11
  import useAnchor, {
@@ -13,8 +13,8 @@ import useAnchor, {
13
13
  } from '../../composables/private.use-anchor/use-anchor.js'
14
14
  import useScrollTarget from '../../composables/private.use-scroll-target/use-scroll-target.js'
15
15
  import useModelToggle, {
16
- useModelToggleProps,
17
- useModelToggleEmits
16
+ useModelToggleEmits,
17
+ useModelToggleProps
18
18
  } from '../../composables/private.use-model-toggle/use-model-toggle.js'
19
19
  import usePortal from '../../composables/private.use-portal/use-portal.js'
20
20
  import useTransition, {
@@ -25,7 +25,7 @@ import useTimeout from '../../composables/use-timeout/use-timeout.js'
25
25
 
26
26
  import { createComponent } from '../../utils/private.create/create.js'
27
27
  import { getScrollTarget, scrollTargetProp } from '../../utils/scroll/scroll.js'
28
- import { stopAndPrevent, addEvt, cleanEvt } from '../../utils/event/event.js'
28
+ import { addEvt, cleanEvt, stopAndPrevent } from '../../utils/event/event.js'
29
29
  import { clearSelection } from '../../utils/private.selection/selection.js'
30
30
  import { hSlot } from '../../utils/private.render/render.js'
31
31
  import {
@@ -33,10 +33,10 @@ import {
33
33
  removeClickOutside
34
34
  } from '../../utils/private.click-outside/click-outside.js'
35
35
  import {
36
- validatePosition,
37
- validateOffset,
36
+ parsePosition,
38
37
  setPosition,
39
- parsePosition
38
+ validateOffset,
39
+ validatePosition
40
40
  } from '../../utils/private.position-engine/position-engine.js'
41
41
 
42
42
  export default createComponent({
@@ -115,7 +115,7 @@ export default createComponent({
115
115
  parsePosition(props.anchor, $q.lang.rtl)
116
116
  )
117
117
  const selfOrigin = computed(() => parsePosition(props.self, $q.lang.rtl))
118
- const hideOnRouteChange = computed(() => props.persistent !== true)
118
+ const hideOnRouteChange = computed(() => !props.persistent)
119
119
 
120
120
  const { registerTick, removeTick } = useTick()
121
121
  const { registerTimeout } = useTimeout()
@@ -148,7 +148,7 @@ export default createComponent({
148
148
 
149
149
  // if we're on mobile, let's improve the experience
150
150
  // by closing it when user taps outside of it
151
- if ($q.platform.is.mobile === true) {
151
+ if ($q.platform.is.mobile) {
152
152
  const clickOutsideProps = {
153
153
  anchorEl,
154
154
  innerRef,
@@ -170,12 +170,12 @@ export default createComponent({
170
170
  // (null is the default value)
171
171
  props.modelValue === null &&
172
172
  // and it's not persistent
173
- props.persistent !== true &&
174
- showing.value === true
173
+ !props.persistent &&
174
+ showing.value
175
175
  )
176
176
 
177
177
  watch(hasClickOutside, val => {
178
- const fn = val === true ? addClickOutside : removeClickOutside
178
+ const fn = val ? addClickOutside : removeClickOutside
179
179
  fn(clickOutsideProps)
180
180
  })
181
181
 
@@ -264,7 +264,7 @@ export default createComponent({
264
264
  }
265
265
 
266
266
  function delayShow(evt) {
267
- if ($q.platform.is.mobile === true) {
267
+ if ($q.platform.is.mobile) {
268
268
  clearSelection()
269
269
  document.body.classList.add('non-selectable')
270
270
 
@@ -282,7 +282,7 @@ export default createComponent({
282
282
  }
283
283
 
284
284
  function delayHide(evt) {
285
- if ($q.platform.is.mobile === true) {
285
+ if ($q.platform.is.mobile) {
286
286
  cleanEvt(anchorEvents, 'tooltipTemp')
287
287
  clearSelection()
288
288
  // delay needed otherwise selection still occurs
@@ -298,15 +298,14 @@ export default createComponent({
298
298
  }
299
299
 
300
300
  function configureAnchorEl() {
301
- if (props.noParentEvent === true || anchorEl.value === null) return
301
+ if (props.noParentEvent || anchorEl.value === null) return
302
302
 
303
- const evts =
304
- $q.platform.is.mobile === true
305
- ? [[anchorEl.value, 'touchstart', 'delayShow', 'passive']]
306
- : [
307
- [anchorEl.value, 'mouseenter', 'delayShow', 'passive'],
308
- [anchorEl.value, 'mouseleave', 'delayHide', 'passive']
309
- ]
303
+ const evts = $q.platform.is.mobile
304
+ ? [[anchorEl.value, 'touchstart', 'delayShow', 'passive']]
305
+ : [
306
+ [anchorEl.value, 'mouseenter', 'delayShow', 'passive'],
307
+ [anchorEl.value, 'mouseleave', 'delayHide', 'passive']
308
+ ]
310
309
 
311
310
  addEvt(anchorEvents, 'anchor', evts)
312
311
  }
@@ -317,14 +316,14 @@ export default createComponent({
317
316
  anchorEl.value,
318
317
  props.scrollTarget
319
318
  )
320
- const fn = props.noParentEvent === true ? updatePosition : hide
319
+ const fn = props.noParentEvent ? updatePosition : hide
321
320
 
322
321
  changeScrollEvent(localScrollTarget.value, fn)
323
322
  }
324
323
  }
325
324
 
326
325
  function getTooltipContent() {
327
- return showing.value === true
326
+ return showing.value
328
327
  ? h(
329
328
  'div',
330
329
  {
@@ -1,13 +1,13 @@
1
1
  import {
2
+ computed,
3
+ getCurrentInstance,
2
4
  h,
5
+ nextTick,
6
+ onBeforeUpdate,
3
7
  ref,
4
- computed,
5
- watch,
6
- withDirectives,
7
8
  vShow,
8
- nextTick,
9
- getCurrentInstance,
10
- onBeforeUpdate
9
+ watch,
10
+ withDirectives
11
11
  } from 'vue'
12
12
 
13
13
  import QIcon from '../icon/QIcon.js'
@@ -26,6 +26,23 @@ import { injectProp } from '../../utils/private.inject-obj-prop/inject-obj-prop.
26
26
 
27
27
  const tickStrategyOptions = ['none', 'strict', 'leaf', 'leaf-filtered']
28
28
 
29
+ function getNodeMedia(node) {
30
+ if (node.icon !== void 0) {
31
+ return h(QIcon, {
32
+ class: 'q-tree__icon q-mr-sm',
33
+ name: node.icon,
34
+ color: node.iconColor
35
+ })
36
+ }
37
+ const src = node.img || node.avatar
38
+ if (src) {
39
+ return h('img', {
40
+ class: `q-tree__${node.img ? 'img' : 'avatar'} q-mr-sm`,
41
+ src
42
+ })
43
+ }
44
+ }
45
+
29
46
  export default createComponent({
30
47
  name: 'QTree',
31
48
 
@@ -110,16 +127,15 @@ export default createComponent({
110
127
 
111
128
  const classes = computed(
112
129
  () =>
113
- `q-tree q-tree--${props.dense === true ? 'dense' : 'standard'}` +
114
- (props.noConnectors === true ? ' q-tree--no-connectors' : '') +
115
- (isDark.value === true ? ' q-tree--dark' : '') +
130
+ `q-tree q-tree--${props.dense ? 'dense' : 'standard'}` +
131
+ (props.noConnectors ? ' q-tree--no-connectors' : '') +
132
+ (isDark.value ? ' q-tree--dark' : '') +
116
133
  (props.color !== void 0 ? ` text-${props.color}` : '')
117
134
  )
118
135
 
119
136
  const hasSelection = computed(() => props.selected !== void 0)
120
137
 
121
138
  const computedIcon = computed(() => props.icon || $q.iconSet.tree.icon)
122
-
123
139
  const computedControlColor = computed(
124
140
  () => props.controlColor || props.color
125
141
  )
@@ -140,7 +156,7 @@ export default createComponent({
140
156
  const filt = filter.toLowerCase()
141
157
  return (
142
158
  node[props.labelKey] &&
143
- node[props.labelKey].toLowerCase().indexOf(filt) !== -1
159
+ node[props.labelKey].toLowerCase().includes(filt)
144
160
  )
145
161
  }
146
162
  )
@@ -158,19 +174,17 @@ export default createComponent({
158
174
  Array.isArray(node[props.childrenKey]) &&
159
175
  node[props.childrenKey].length !== 0,
160
176
  selectable =
161
- node.disabled !== true &&
162
- hasSelection.value === true &&
163
- node.selectable !== false,
164
- expandable = node.disabled !== true && node.expandable !== false,
177
+ !node.disabled && hasSelection.value && node.selectable !== false,
178
+ expandable = !node.disabled && node.expandable !== false,
165
179
  hasTicking = tickStrategy !== 'none',
166
180
  strictTicking = tickStrategy === 'strict',
167
181
  leafFilteredTicking = tickStrategy === 'leaf-filtered',
168
182
  leafTicking =
169
183
  tickStrategy === 'leaf' || tickStrategy === 'leaf-filtered'
170
184
 
171
- let tickable = node.disabled !== true && node.tickable !== false
185
+ let tickable = !node.disabled && node.tickable !== false
172
186
  if (
173
- leafTicking === true &&
187
+ leafTicking &&
174
188
  tickable === true &&
175
189
  parent &&
176
190
  parent.tickable !== true
@@ -182,7 +196,7 @@ export default createComponent({
182
196
  if (
183
197
  localLazy === true &&
184
198
  lazy.value[key] !== void 0 &&
185
- Array.isArray(node[props.childrenKey]) === true
199
+ Array.isArray(node[props.childrenKey])
186
200
  ) {
187
201
  localLazy = lazy.value[key]
188
202
  }
@@ -194,40 +208,36 @@ export default createComponent({
194
208
  lazy: localLazy,
195
209
  disabled: node.disabled,
196
210
  link:
197
- node.disabled !== true &&
198
- (selectable === true ||
199
- (expandable === true &&
200
- (isParent === true || localLazy === true))),
211
+ !node.disabled &&
212
+ (selectable || (expandable && (isParent || localLazy === true))),
201
213
  children: [],
202
214
  matchesFilter: props.filter
203
215
  ? computedFilterMethod.value(node, props.filter)
204
216
  : true,
205
217
 
206
- selected: key === props.selected && selectable === true,
218
+ selected: key === props.selected && selectable,
207
219
  selectable,
208
- expanded:
209
- isParent === true ? innerExpanded.value.includes(key) : false,
220
+ expanded: isParent ? innerExpanded.value.includes(key) : false,
210
221
  expandable,
211
222
  noTick:
212
223
  node.noTick === true ||
213
- (strictTicking !== true && localLazy && localLazy !== 'loaded'),
224
+ (!strictTicking && localLazy && localLazy !== 'loaded'),
214
225
  tickable,
215
226
  tickStrategy,
216
227
  hasTicking,
217
228
  strictTicking,
218
229
  leafFilteredTicking,
219
230
  leafTicking,
220
- ticked:
221
- strictTicking === true
222
- ? innerTicked.value.includes(key)
223
- : isParent === true
224
- ? false
225
- : innerTicked.value.includes(key)
231
+ ticked: strictTicking
232
+ ? innerTicked.value.includes(key)
233
+ : isParent
234
+ ? false
235
+ : innerTicked.value.includes(key)
226
236
  }
227
237
 
228
238
  acc[key] = m
229
239
 
230
- if (isParent === true) {
240
+ if (isParent) {
231
241
  m.children = node[props.childrenKey].map(n => travel(n, m))
232
242
 
233
243
  if (props.filter) {
@@ -237,13 +247,13 @@ export default createComponent({
237
247
  m.noTick !== true &&
238
248
  m.disabled !== true &&
239
249
  m.tickable === true &&
240
- leafFilteredTicking === true &&
250
+ leafFilteredTicking &&
241
251
  m.children.every(
242
252
  n =>
243
253
  n.matchesFilter !== true ||
244
254
  n.noTick === true ||
245
255
  n.tickable !== true
246
- ) === true
256
+ )
247
257
  ) {
248
258
  m.tickable = false
249
259
  }
@@ -253,7 +263,7 @@ export default createComponent({
253
263
  if (
254
264
  m.noTick !== true &&
255
265
  strictTicking !== true &&
256
- m.children.every(n => n.noTick) === true
266
+ m.children.every(n => n.noTick)
257
267
  ) {
258
268
  m.noTick = true
259
269
  }
@@ -311,14 +321,12 @@ export default createComponent({
311
321
  )
312
322
 
313
323
  function getNodeByKey(key) {
314
- const reduce = [].reduce
315
-
316
324
  const find = (result, node) => {
317
325
  if (result || !node) {
318
326
  return result
319
327
  }
320
- if (Array.isArray(node) === true) {
321
- return reduce.call(Object(node), find, result)
328
+ if (Array.isArray(node)) {
329
+ return node.reduce(find, result)
322
330
  }
323
331
  if (node[props.nodeKey] === key) {
324
332
  return node
@@ -354,11 +362,14 @@ export default createComponent({
354
362
  function expandAll() {
355
363
  const expanded = []
356
364
  const travel = node => {
357
- if (node[props.childrenKey] && node[props.childrenKey].length !== 0) {
358
- if (node.expandable !== false && node.disabled !== true) {
359
- expanded.push(node[props.nodeKey])
360
- node[props.childrenKey].forEach(travel)
361
- }
365
+ if (
366
+ node[props.childrenKey] &&
367
+ node[props.childrenKey].length !== 0 &&
368
+ node.expandable !== false &&
369
+ node.disabled !== true
370
+ ) {
371
+ expanded.push(node[props.nodeKey])
372
+ node[props.childrenKey].forEach(travel)
362
373
  }
363
374
  }
364
375
 
@@ -381,7 +392,7 @@ export default createComponent({
381
392
  if (m.lazy === 'loading') return
382
393
 
383
394
  lazy.value[key] = 'loading'
384
- if (Array.isArray(node[props.childrenKey]) !== true) {
395
+ if (!Array.isArray(node[props.childrenKey])) {
385
396
  node[props.childrenKey] = []
386
397
  }
387
398
  emit('lazyLoad', {
@@ -389,8 +400,7 @@ export default createComponent({
389
400
  key,
390
401
  done: children => {
391
402
  lazy.value[key] = 'loaded'
392
- node[props.childrenKey] =
393
- Array.isArray(children) === true ? children : []
403
+ node[props.childrenKey] = Array.isArray(children) ? children : []
394
404
  nextTick(() => {
395
405
  const localMeta = meta.value[key]
396
406
  if (localMeta?.isParent === true) {
@@ -414,42 +424,39 @@ export default createComponent({
414
424
  let target = innerExpanded.value
415
425
  const shouldEmit = props.expanded !== void 0
416
426
 
417
- if (shouldEmit === true) {
418
- target = target.slice()
419
- }
427
+ if (shouldEmit) target = [...target]
420
428
 
421
429
  if (state) {
422
- if (props.accordion) {
423
- if (meta.value[key]) {
424
- const collapse = []
425
- if (meta.value[key].parent) {
426
- meta.value[key].parent.children.forEach(m => {
427
- if (m.key !== key && m.expandable === true) {
428
- collapse.push(m.key)
429
- }
430
- })
431
- } else {
432
- props.nodes.forEach(node => {
433
- const k = node[props.nodeKey]
434
- if (k !== key) {
435
- collapse.push(k)
436
- }
437
- })
438
- }
439
- if (collapse.length !== 0) {
440
- target = target.filter(k => collapse.includes(k) === false)
441
- }
430
+ if (props.accordion && meta.value[key]) {
431
+ const collapse = []
432
+ if (meta.value[key].parent) {
433
+ meta.value[key].parent.children.forEach(m => {
434
+ if (m.key !== key && m.expandable === true) {
435
+ collapse.push(m.key)
436
+ }
437
+ })
438
+ } else {
439
+ props.nodes.forEach(node => {
440
+ const k = node[props.nodeKey]
441
+ if (k !== key) {
442
+ collapse.push(k)
443
+ }
444
+ })
445
+ }
446
+
447
+ if (collapse.length !== 0) {
448
+ target = target.filter(k => !collapse.includes(k))
442
449
  }
443
450
  }
444
451
 
445
- target = target
446
- .concat([key])
447
- .filter((entryKey, index, self) => self.indexOf(entryKey) === index)
452
+ target = [...target, key].filter(
453
+ (entryKey, index, self) => self.indexOf(entryKey) === index
454
+ )
448
455
  } else {
449
456
  target = target.filter(k => k !== key)
450
457
  }
451
458
 
452
- if (shouldEmit === true) {
459
+ if (shouldEmit) {
453
460
  emit('update:expanded', target)
454
461
  } else {
455
462
  innerExpanded.value = target
@@ -464,21 +471,15 @@ export default createComponent({
464
471
  let target = innerTicked.value
465
472
  const shouldEmit = props.ticked !== void 0
466
473
 
467
- if (shouldEmit === true) {
468
- target = target.slice()
469
- }
474
+ if (shouldEmit) target = [...target]
470
475
 
471
- if (state) {
472
- target = target
473
- .concat(keys)
474
- .filter((key, index, self) => self.indexOf(key) === index)
475
- } else {
476
- target = target.filter(k => keys.includes(k) === false)
477
- }
476
+ target = state
477
+ ? [...target, ...keys].filter(
478
+ (key, index, self) => self.indexOf(key) === index
479
+ )
480
+ : target.filter(k => !keys.includes(k))
478
481
 
479
- if (shouldEmit === true) {
480
- emit('update:ticked', target)
481
- }
482
+ if (shouldEmit) emit('update:ticked', target)
482
483
  }
483
484
 
484
485
  function getSlotScope(node, localMeta, key) {
@@ -523,23 +524,6 @@ export default createComponent({
523
524
  ).map(child => getNode(child))
524
525
  }
525
526
 
526
- function getNodeMedia(node) {
527
- if (node.icon !== void 0) {
528
- return h(QIcon, {
529
- class: 'q-tree__icon q-mr-sm',
530
- name: node.icon,
531
- color: node.iconColor
532
- })
533
- }
534
- const src = node.img || node.avatar
535
- if (src) {
536
- return h('img', {
537
- class: `q-tree__${node.img ? 'img' : 'avatar'} q-mr-sm`,
538
- src
539
- })
540
- }
541
- }
542
-
543
527
  function onShow() {
544
528
  emit('afterShow')
545
529
  }
@@ -579,7 +563,7 @@ export default createComponent({
579
563
  key,
580
564
  class:
581
565
  'q-tree__node relative-position' +
582
- ` q-tree__node--${isParent === true ? 'parent' : 'child'}`
566
+ ` q-tree__node--${isParent ? 'parent' : 'child'}`
583
567
  },
584
568
  [
585
569
  h(
@@ -593,7 +577,7 @@ export default createComponent({
593
577
  (m.selected === true ? ' q-tree__node--selected' : '') +
594
578
  (m.disabled === true ? ' q-tree__node--disabled' : ''),
595
579
  tabindex: m.link === true ? 0 : -1,
596
- ariaExpanded: children.length > 0 ? m.expanded : null,
580
+ ariaExpanded: children.length !== 0 ? m.expanded : null,
597
581
  role: 'treeitem',
598
582
  onClick: e => {
599
583
  onClick(node, m, e)
@@ -622,7 +606,7 @@ export default createComponent({
622
606
  class: 'q-tree__spinner',
623
607
  color: computedControlColor.value
624
608
  })
625
- : isParent === true
609
+ : isParent
626
610
  ? h(QIcon, {
627
611
  class:
628
612
  'q-tree__arrow' +
@@ -668,8 +652,8 @@ export default createComponent({
668
652
  ]
669
653
  ),
670
654
 
671
- isParent === true
672
- ? props.noTransition === true
655
+ isParent
656
+ ? props.noTransition
673
657
  ? m.expanded === true
674
658
  ? h(
675
659
  'div',
@@ -744,7 +728,7 @@ export default createComponent({
744
728
  }
745
729
 
746
730
  if (hasSelection.value && localMeta.selectable) {
747
- if (props.noSelectionUnset === false) {
731
+ if (!props.noSelectionUnset) {
748
732
  emit(
749
733
  'update:selected',
750
734
  localMeta.key !== props.selected ? localMeta.key : null
@@ -808,9 +792,7 @@ export default createComponent({
808
792
  }
809
793
  }
810
794
 
811
- if (props.defaultExpandAll === true) {
812
- expandAll()
813
- }
795
+ if (props.defaultExpandAll) expandAll()
814
796
 
815
797
  // expose public methods
816
798
  Object.assign(proxy, {
@@ -158,7 +158,7 @@
158
158
  "desc": "Matches or not"
159
159
  },
160
160
  "examples": [
161
- "(node, filter) => node.label.toLowerCase().indexOf(filter.toLowerCase()) !== -1"
161
+ "(node, filter) => node.label.toLowerCase().includes(filter.toLowerCase())"
162
162
  ],
163
163
  "category": "filter"
164
164
  },
@@ -2,8 +2,8 @@ import { inject } from 'vue'
2
2
 
3
3
  import { createComponent } from '../../utils/private.create/create.js'
4
4
  import {
5
- uploaderKey,
6
- emptyRenderFn
5
+ emptyRenderFn,
6
+ uploaderKey
7
7
  } from '../../utils/private.symbols/symbols.js'
8
8
 
9
9
  export default createComponent({