quasar 2.19.2 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +6 -0
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +6 -0
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +2 -2
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +6 -0
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +2 -2
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +6 -0
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +6 -0
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2615 -2603
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2610 -2598
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +3 -3
  136. package/dist/types/{extras/icon-set.d.ts → icon-set.d.ts} +21 -16
  137. package/dist/types/index.d.ts +1 -1
  138. package/dist/types/plugin.d.ts +1 -1
  139. package/dist/types/shim-icon-set.d.ts +1 -2
  140. package/dist/types/shim-lang.d.ts +1 -2
  141. package/dist/types/ts-helpers.d.ts +3 -3
  142. package/dist/types/tsconfig.json +1 -1
  143. package/dist/types/utils/scroll.d.ts +1 -1
  144. package/dist/types/utils.d.ts +2 -2
  145. package/dist/web-types/web-types.json +1 -1
  146. package/icon-set/bootstrap-icons.js +1 -1
  147. package/icon-set/eva-icons.js +23 -23
  148. package/icon-set/fontawesome-v7-pro.js +128 -0
  149. package/icon-set/fontawesome-v7.js +128 -0
  150. package/icon-set/ionicons-v4.js +17 -17
  151. package/icon-set/svg-bootstrap-icons.js +1 -1
  152. package/icon-set/svg-eva-icons.js +23 -23
  153. package/icon-set/svg-fontawesome-v5.js +1 -1
  154. package/icon-set/svg-fontawesome-v7.js +197 -0
  155. package/icon-set/svg-ionicons-v4.js +17 -17
  156. package/icon-set/svg-ionicons-v5.js +1 -1
  157. package/icon-set/svg-ionicons-v6.js +1 -1
  158. package/icon-set/svg-ionicons-v7.js +224 -0
  159. package/icon-set/svg-ionicons-v8.js +224 -0
  160. package/icon-set/svg-themify.js +7 -7
  161. package/icon-set/themify.js +7 -7
  162. package/lang/ar-TN.js +1 -1
  163. package/lang/ar.js +1 -1
  164. package/lang/az-Latn.js +1 -1
  165. package/lang/bg.js +1 -1
  166. package/lang/bn.js +1 -1
  167. package/lang/bs-BA.js +1 -1
  168. package/lang/ca.js +1 -1
  169. package/lang/cs.js +11 -6
  170. package/lang/da.js +1 -1
  171. package/lang/de-CH.js +1 -1
  172. package/lang/de-DE.js +1 -1
  173. package/lang/de.js +1 -1
  174. package/lang/el.js +1 -1
  175. package/lang/en-GB.js +1 -1
  176. package/lang/en-US.js +1 -1
  177. package/lang/eo.js +1 -1
  178. package/lang/es.js +1 -1
  179. package/lang/et.js +1 -1
  180. package/lang/eu.js +1 -1
  181. package/lang/fa-IR.js +1 -1
  182. package/lang/fa.js +1 -1
  183. package/lang/fi.js +1 -1
  184. package/lang/fr.js +1 -1
  185. package/lang/gn.js +1 -1
  186. package/lang/he.js +1 -1
  187. package/lang/hi.js +1 -1
  188. package/lang/hr.js +1 -1
  189. package/lang/hu.js +1 -1
  190. package/lang/id.js +1 -1
  191. package/lang/is.js +1 -1
  192. package/lang/it.js +9 -9
  193. package/lang/ja.js +1 -1
  194. package/lang/kk.js +1 -1
  195. package/lang/km.js +1 -1
  196. package/lang/kur-CKB.js +1 -1
  197. package/lang/lt.js +2 -2
  198. package/lang/lu.js +1 -1
  199. package/lang/lv.js +1 -1
  200. package/lang/mk.js +1 -1
  201. package/lang/ml.js +1 -1
  202. package/lang/mm.js +1 -1
  203. package/lang/ms-MY.js +1 -1
  204. package/lang/ms.js +1 -1
  205. package/lang/my.js +1 -1
  206. package/lang/nb-NO.js +1 -1
  207. package/lang/nl.js +1 -1
  208. package/lang/pl.js +1 -1
  209. package/lang/pt-BR.js +1 -1
  210. package/lang/pt.js +1 -1
  211. package/lang/ro.js +1 -1
  212. package/lang/ru.js +1 -1
  213. package/lang/sk.js +1 -1
  214. package/lang/sl.js +1 -1
  215. package/lang/sm.js +1 -1
  216. package/lang/sq.js +1 -1
  217. package/lang/sr-CYR.js +1 -1
  218. package/lang/sr.js +1 -1
  219. package/lang/sv.js +1 -1
  220. package/lang/ta.js +1 -1
  221. package/lang/th.js +1 -1
  222. package/lang/tl.js +1 -1
  223. package/lang/tr.js +1 -1
  224. package/lang/ug.js +1 -1
  225. package/lang/uk.js +1 -1
  226. package/lang/ur-PK.js +1 -1
  227. package/lang/uz-Cyrl.js +1 -1
  228. package/lang/uz-Latn.js +1 -1
  229. package/lang/vi.js +1 -1
  230. package/lang/zh-CN.js +1 -1
  231. package/lang/zh-TW.js +1 -1
  232. package/package.json +13 -17
  233. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  234. package/src/components/avatar/QAvatar.js +3 -3
  235. package/src/components/avatar/QAvatar.test.js +2 -2
  236. package/src/components/badge/QBadge.js +9 -10
  237. package/src/components/badge/QBadge.test.js +2 -2
  238. package/src/components/banner/QBanner.js +6 -6
  239. package/src/components/banner/QBanner.test.js +2 -2
  240. package/src/components/bar/QBar.js +3 -3
  241. package/src/components/bar/QBar.test.js +2 -2
  242. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  243. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  244. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  245. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  246. package/src/components/btn/QBtn.js +39 -44
  247. package/src/components/btn/QBtn.test.js +2 -2
  248. package/src/components/btn/use-btn.js +34 -47
  249. package/src/components/btn/use-btn.test.js +5 -5
  250. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  251. package/src/components/btn-group/QBtnGroup.js +3 -3
  252. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  253. package/src/components/card/QCard.js +5 -5
  254. package/src/components/card/QCardActions.js +2 -2
  255. package/src/components/card/QCardSection.js +2 -2
  256. package/src/components/carousel/QCarousel.js +32 -38
  257. package/src/components/carousel/QCarouselControl.js +1 -1
  258. package/src/components/carousel/QCarouselSlide.js +1 -1
  259. package/src/components/carousel/QCarouselSlide.json +1 -1
  260. package/src/components/chat/QChatMessage.js +13 -14
  261. package/src/components/chat/QChatMessage.json +1 -1
  262. package/src/components/checkbox/QCheckbox.js +5 -5
  263. package/src/components/checkbox/use-checkbox.js +38 -50
  264. package/src/components/chip/QChip.js +26 -34
  265. package/src/components/chip/QChip.test.js +2 -2
  266. package/src/components/circular-progress/QCircularProgress.js +8 -11
  267. package/src/components/circular-progress/circular-progress.test.js +1 -1
  268. package/src/components/color/QColor.js +75 -98
  269. package/src/components/date/QDate.js +128 -140
  270. package/src/components/date/use-datetime.js +3 -6
  271. package/src/components/dialog/QDialog.js +44 -50
  272. package/src/components/dialog/QDialog.test.js +7 -7
  273. package/src/components/drawer/QDrawer.js +110 -152
  274. package/src/components/editor/QEditor.js +44 -37
  275. package/src/components/editor/editor-caret.js +27 -31
  276. package/src/components/editor/editor-utils.js +9 -5
  277. package/src/components/expansion-item/QExpansionItem.js +36 -48
  278. package/src/components/fab/QFab.js +11 -11
  279. package/src/components/fab/QFabAction.js +2 -4
  280. package/src/components/fab/use-fab.js +6 -7
  281. package/src/components/field/QField.js +2 -2
  282. package/src/components/file/QFile.js +26 -33
  283. package/src/components/footer/QFooter.js +40 -53
  284. package/src/components/form/QForm.js +37 -43
  285. package/src/components/form/QFormChildMixin.js +3 -3
  286. package/src/components/header/QHeader.js +35 -47
  287. package/src/components/icon/QIcon.js +19 -19
  288. package/src/components/img/QImg.js +24 -24
  289. package/src/components/img/QImg.json +3 -3
  290. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  291. package/src/components/inner-loading/QInnerLoading.js +3 -3
  292. package/src/components/input/QInput.js +52 -52
  293. package/src/components/input/use-mask.js +56 -54
  294. package/src/components/intersection/QIntersection.js +6 -8
  295. package/src/components/item/QItem.js +20 -30
  296. package/src/components/item/QItemLabel.js +5 -7
  297. package/src/components/item/QItemSection.js +6 -6
  298. package/src/components/item/QList.js +6 -6
  299. package/src/components/item/QList.test.js +2 -2
  300. package/src/components/knob/QKnob.js +39 -44
  301. package/src/components/layout/QLayout.js +30 -34
  302. package/src/components/linear-progress/QLinearProgress.js +14 -23
  303. package/src/components/markup-table/QMarkupTable.js +7 -9
  304. package/src/components/menu/QMenu.js +36 -37
  305. package/src/components/no-ssr/QNoSsr.js +1 -1
  306. package/src/components/option-group/QOptionGroup.js +5 -5
  307. package/src/components/page/QPage.js +16 -18
  308. package/src/components/page/QPageContainer.js +9 -9
  309. package/src/components/page-scroller/QPageScroller.js +11 -13
  310. package/src/components/page-sticky/use-page-sticky.js +18 -18
  311. package/src/components/pagination/QPagination.js +24 -26
  312. package/src/components/parallax/QParallax.js +15 -9
  313. package/src/components/parallax/QParallax.json +1 -1
  314. package/src/components/popup-edit/QPopupEdit.js +10 -13
  315. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  316. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  317. package/src/components/radio/QRadio.js +24 -29
  318. package/src/components/range/QRange.js +33 -37
  319. package/src/components/rating/QRating.js +59 -61
  320. package/src/components/resize-observer/QResizeObserver.js +55 -62
  321. package/src/components/scroll-area/QScrollArea.js +32 -36
  322. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  323. package/src/components/select/QSelect.js +208 -269
  324. package/src/components/separator/QSeparator.js +7 -10
  325. package/src/components/skeleton/QSkeleton.js +4 -4
  326. package/src/components/slide-item/QSlideItem.js +7 -7
  327. package/src/components/slide-transition/QSlideTransition.js +4 -4
  328. package/src/components/slider/QSlider.js +13 -16
  329. package/src/components/slider/use-slider.js +53 -81
  330. package/src/components/slider/use-slider.json +3 -3
  331. package/src/components/space/QSpace.test.js +1 -1
  332. package/src/components/spinner/QSpinner.test.js +2 -2
  333. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  334. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  335. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  336. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  337. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  338. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  339. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  340. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  341. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  342. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  343. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  344. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  345. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  346. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  347. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  348. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  349. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  350. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  351. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  352. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  353. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  354. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  355. package/src/components/spinner/use-spinner.test.js +1 -1
  356. package/src/components/splitter/QSplitter.js +19 -21
  357. package/src/components/stepper/QStep.js +12 -14
  358. package/src/components/stepper/QStepper.js +13 -14
  359. package/src/components/stepper/StepHeader.js +34 -35
  360. package/src/components/tab-panels/QTabPanels.js +3 -3
  361. package/src/components/table/QTable.js +82 -100
  362. package/src/components/table/QTd.js +3 -3
  363. package/src/components/table/QTh.js +5 -6
  364. package/src/components/table/QTr.js +3 -3
  365. package/src/components/table/table-column-selection.js +4 -6
  366. package/src/components/table/table-filter.js +2 -2
  367. package/src/components/table/table-pagination.js +14 -20
  368. package/src/components/table/table-row-expand.js +3 -3
  369. package/src/components/table/table-row-selection.js +10 -20
  370. package/src/components/table/table-sort.js +7 -7
  371. package/src/components/tabs/QRouteTab.js +1 -1
  372. package/src/components/tabs/QTab.js +1 -1
  373. package/src/components/tabs/QTabs.js +82 -109
  374. package/src/components/tabs/use-tab.js +36 -38
  375. package/src/components/time/QTime.js +109 -132
  376. package/src/components/timeline/QTimeline.js +7 -4
  377. package/src/components/timeline/QTimelineEntry.js +7 -6
  378. package/src/components/timeline/QTimelineEntry.json +1 -1
  379. package/src/components/toggle/QToggle.js +6 -8
  380. package/src/components/toolbar/QToolbar.js +2 -2
  381. package/src/components/toolbar/QToolbar.test.js +2 -2
  382. package/src/components/toolbar/QToolbarTitle.js +2 -4
  383. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  384. package/src/components/tooltip/QTooltip.js +27 -28
  385. package/src/components/tree/QTree.js +96 -114
  386. package/src/components/tree/QTree.json +1 -1
  387. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  388. package/src/components/uploader/uploader-core.js +44 -51
  389. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  390. package/src/components/video/QVideo.js +1 -1
  391. package/src/components/video/QVideo.test.js +2 -2
  392. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  393. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  394. package/src/composables/private.use-align/use-align.js +2 -2
  395. package/src/composables/private.use-align/use-align.test.js +1 -1
  396. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  397. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  398. package/src/composables/private.use-field/use-field.js +79 -99
  399. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  400. package/src/composables/private.use-file/use-file.js +27 -27
  401. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  402. package/src/composables/private.use-history/use-history.js +2 -2
  403. package/src/composables/private.use-history/use-history.test.js +1 -1
  404. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  405. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  406. package/src/composables/private.use-panel/use-panel.js +25 -27
  407. package/src/composables/private.use-portal/use-portal.js +11 -9
  408. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  409. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  410. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  411. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  412. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  413. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  414. package/src/composables/private.use-size/use-size.test.js +1 -1
  415. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  416. package/src/composables/private.use-validate/use-validate.js +23 -36
  417. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  418. package/src/composables/use-form/private.use-form.js +1 -1
  419. package/src/composables/use-form/private.use-form.test.js +3 -3
  420. package/src/composables/use-form/use-form-child.js +7 -7
  421. package/src/composables/use-hydration/use-hydration.js +2 -2
  422. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  423. package/src/composables/use-id/use-id.js +4 -8
  424. package/src/composables/use-id/use-id.test.js +1 -1
  425. package/src/composables/use-interval/use-interval.js +3 -3
  426. package/src/composables/use-interval/use-interval.test.js +1 -1
  427. package/src/composables/use-meta/use-meta.js +3 -3
  428. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  429. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  430. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  431. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  432. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  433. package/src/composables/use-tick/use-tick.js +3 -3
  434. package/src/composables/use-tick/use-tick.test.js +2 -2
  435. package/src/composables/use-timeout/use-timeout.js +2 -2
  436. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  437. package/src/directives/close-popup/ClosePopup.js +4 -9
  438. package/src/directives/intersection/Intersection.js +5 -8
  439. package/src/directives/morph/Morph.js +12 -18
  440. package/src/directives/ripple/Ripple.js +19 -26
  441. package/src/directives/ripple/Ripple.test.js +2 -2
  442. package/src/directives/scroll/Scroll.js +2 -2
  443. package/src/directives/touch-hold/TouchHold.js +22 -28
  444. package/src/directives/touch-pan/TouchPan.js +68 -84
  445. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  446. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  447. package/src/index.ssr.js +2 -0
  448. package/src/index.umd.js +2 -0
  449. package/src/install-quasar.js +9 -9
  450. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  451. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  452. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  453. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  454. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  455. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  456. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  457. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  458. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  459. package/src/plugins/cookies/Cookies.js +50 -62
  460. package/src/plugins/dark/Dark.js +3 -5
  461. package/src/plugins/dark/Dark.test.js +1 -1
  462. package/src/plugins/dialog/Dialog.js +2 -2
  463. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  464. package/src/plugins/icon-set/IconSet.js +2 -4
  465. package/src/plugins/icon-set/IconSet.test.js +1 -1
  466. package/src/plugins/lang/Lang.js +7 -10
  467. package/src/plugins/lang/Lang.json +2 -2
  468. package/src/plugins/lang/Lang.test.js +2 -2
  469. package/src/plugins/loading/Loading.js +10 -12
  470. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  471. package/src/plugins/meta/Meta.js +10 -11
  472. package/src/plugins/notify/Notify.js +67 -72
  473. package/src/plugins/platform/Platform.js +19 -21
  474. package/src/plugins/platform/Platform.test.js +1 -1
  475. package/src/plugins/private.body/Body.js +23 -29
  476. package/src/plugins/private.body/Body.test.js +1 -1
  477. package/src/plugins/private.history/History.js +17 -25
  478. package/src/plugins/private.history/History.test.js +1 -1
  479. package/src/plugins/screen/Screen.js +16 -16
  480. package/src/plugins/screen/Screen.test.js +1 -1
  481. package/src/plugins/storage/LocalStorage.js +3 -4
  482. package/src/plugins/storage/LocalStorage.test.js +2 -2
  483. package/src/plugins/storage/SessionStorage.js +3 -4
  484. package/src/plugins/storage/SessionStorage.test.js +2 -2
  485. package/src/plugins/storage/engine/web-storage.js +30 -23
  486. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  487. package/src/utils/EventBus/EventBus.js +3 -4
  488. package/src/utils/EventBus/EventBus.test.js +1 -1
  489. package/src/utils/clone/clone.test.js +4 -8
  490. package/src/utils/colors/colors.js +38 -29
  491. package/src/utils/colors/colors.test.js +2 -2
  492. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  493. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  494. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  495. package/src/utils/css-var/get-css-var.test.js +2 -2
  496. package/src/utils/css-var/set-css-var.test.js +2 -2
  497. package/src/utils/date/date.js +229 -172
  498. package/src/utils/date/private.persian.js +11 -11
  499. package/src/utils/debounce/debounce.js +3 -7
  500. package/src/utils/debounce/debounce.test.js +1 -1
  501. package/src/utils/dom/dom.js +2 -4
  502. package/src/utils/dom/dom.test.js +4 -4
  503. package/src/utils/event/event.js +21 -23
  504. package/src/utils/export-file/export-file.js +3 -3
  505. package/src/utils/extend/extend.js +15 -14
  506. package/src/utils/extend/extend.test.js +2 -2
  507. package/src/utils/format/format.js +4 -10
  508. package/src/utils/format/format.test.js +1 -1
  509. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  510. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  511. package/src/utils/is/is.js +15 -26
  512. package/src/utils/is/is.test.js +8 -7
  513. package/src/utils/morph/morph.js +57 -48
  514. package/src/utils/open-url/open-url.js +7 -7
  515. package/src/utils/patterns/patterns.js +26 -23
  516. package/src/utils/patterns/patterns.test.js +1 -1
  517. package/src/utils/private.click-outside/click-outside.js +5 -5
  518. package/src/utils/private.config/instance-config.js +2 -0
  519. package/src/utils/private.config/instance-config.test.js +4 -4
  520. package/src/utils/private.config/nodes.js +5 -5
  521. package/src/utils/private.config/nodes.test.js +4 -4
  522. package/src/utils/private.create/create.test.js +1 -1
  523. package/src/utils/private.dialog/create-dialog.js +9 -12
  524. package/src/utils/private.focus/focus-manager.js +1 -1
  525. package/src/utils/private.focus/focus-manager.test.js +4 -4
  526. package/src/utils/private.focus/focusout.js +2 -2
  527. package/src/utils/private.focus/focusout.test.js +1 -1
  528. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  529. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  530. package/src/utils/private.keyboard/escape-key.js +5 -5
  531. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  532. package/src/utils/private.keyboard/key-composition.js +4 -6
  533. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  534. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  535. package/src/utils/private.portal/portal.js +5 -5
  536. package/src/utils/private.position-engine/position-engine.js +20 -22
  537. package/src/utils/private.render/render.js +5 -7
  538. package/src/utils/private.render/render.test.js +5 -5
  539. package/src/utils/private.rtl/rtl.js +3 -2
  540. package/src/utils/private.rtl/rtl.test.js +1 -1
  541. package/src/utils/private.selection/selection.js +1 -1
  542. package/src/utils/private.selection/selection.test.js +2 -2
  543. package/src/utils/private.sort/sort.test.js +2 -2
  544. package/src/utils/private.touch/touch.js +10 -14
  545. package/src/utils/private.touch/touch.test.js +1 -1
  546. package/src/utils/private.vm/vm.js +2 -2
  547. package/src/utils/private.vm/vm.test.js +4 -4
  548. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  549. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  550. package/src/utils/scroll/prevent-scroll.js +9 -9
  551. package/src/utils/scroll/scroll.js +11 -12
  552. package/src/utils/throttle/throttle.js +4 -3
  553. package/src/utils/throttle/throttle.test.js +1 -1
  554. package/src/utils/uid/uid.js +51 -77
  555. package/src/utils/uid/uid.test.js +3 -3
  556. package/wrappers/index.cjs +2 -2
  557. package/wrappers/index.js +2 -2
  558. package/dist/types/extras/animations.d.ts +0 -106
  559. package/dist/types/extras/fonts.d.ts +0 -1
  560. package/dist/types/extras.d.ts +0 -3
  561. package/dist/vetur/quasar-attributes.json +0 -1
  562. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,4 +1,4 @@
1
- import { h, computed, Transition, getCurrentInstance } from 'vue'
1
+ import { Transition, computed, getCurrentInstance, h } from 'vue'
2
2
 
3
3
  import QSpinner from '../spinner/QSpinner.js'
4
4
 
@@ -39,7 +39,7 @@ export default createComponent({
39
39
  const classes = computed(
40
40
  () =>
41
41
  'q-inner-loading q--avoid-card-border absolute-full column flex-center' +
42
- (isDark.value === true ? ' q-inner-loading--dark' : '')
42
+ (isDark.value ? ' q-inner-loading--dark' : '')
43
43
  )
44
44
 
45
45
  const labelClass = computed(
@@ -73,7 +73,7 @@ export default createComponent({
73
73
  }
74
74
 
75
75
  function getContent() {
76
- return props.showing === true
76
+ return props.showing
77
77
  ? h(
78
78
  'div',
79
79
  { class: classes.value, style: transitionStyle.value },
@@ -1,24 +1,24 @@
1
1
  import {
2
- h,
3
- ref,
4
2
  computed,
5
- watch,
3
+ getCurrentInstance,
4
+ h,
5
+ nextTick,
6
6
  onBeforeUnmount,
7
7
  onMounted,
8
- nextTick,
9
- getCurrentInstance
8
+ ref,
9
+ watch
10
10
  } from 'vue'
11
11
 
12
12
  import useField, {
13
- useFieldState,
14
- useFieldProps,
13
+ fieldValueIsFilled,
15
14
  useFieldEmits,
16
- fieldValueIsFilled
15
+ useFieldProps,
16
+ useFieldState
17
17
  } from '../../composables/private.use-field/use-field.js'
18
18
  import useMask, { useMaskProps } from './use-mask.js'
19
19
  import {
20
- useFormProps,
21
- useFormInputNameAttr
20
+ useFormInputNameAttr,
21
+ useFormProps
22
22
  } from '../../composables/use-form/private.use-form.js'
23
23
  import useFileFormDomProps from '../../composables/private.use-file/use-file-dom-props.js'
24
24
  import useKeyComposition from '../../composables/private.use-key-composition/use-key-composition.js'
@@ -72,9 +72,9 @@ export default createComponent({
72
72
  const { $q } = proxy
73
73
 
74
74
  const temp = {}
75
- let emitCachedValue = NaN,
76
- typedNumber,
77
- stopValueWatcher,
75
+ let emitCachedValue = Number.NaN,
76
+ typedNumber = false,
77
+ stopValueWatcher = false,
78
78
  emitTimer = null,
79
79
  emitValueFn
80
80
 
@@ -98,12 +98,12 @@ export default createComponent({
98
98
  const state = useFieldState({ changeEvent: true })
99
99
 
100
100
  const isTextarea = computed(
101
- () => props.type === 'textarea' || props.autogrow === true
101
+ () => props.type === 'textarea' || props.autogrow
102
102
  )
103
103
 
104
104
  const isTypeText = computed(
105
105
  () =>
106
- isTextarea.value === true ||
106
+ isTextarea.value ||
107
107
  ['text', 'search', 'url', 'tel', 'password'].includes(props.type)
108
108
  )
109
109
 
@@ -126,13 +126,13 @@ export default createComponent({
126
126
  evt.onCompositionend =
127
127
  onComposition
128
128
 
129
- if (hasMask.value === true) {
129
+ if (hasMask.value) {
130
130
  evt.onKeydown = onMaskedKeydown
131
131
  // reset selection anchor on pointer selection
132
132
  evt.onClick = onMaskedClick
133
133
  }
134
134
 
135
- if (props.autogrow === true) {
135
+ if (props.autogrow) {
136
136
  evt.onAnimationend = onAnimationend
137
137
  }
138
138
 
@@ -142,22 +142,22 @@ export default createComponent({
142
142
  const inputAttrs = computed(() => {
143
143
  const acc = {
144
144
  tabindex: 0,
145
- 'data-autofocus': props.autofocus === true || void 0,
145
+ 'data-autofocus': props.autofocus || void 0,
146
146
  rows: props.type === 'textarea' ? 6 : void 0,
147
147
  'aria-label': props.label,
148
148
  name: nameProp.value,
149
149
  ...state.splitAttrs.attributes.value,
150
150
  id: state.targetUid.value,
151
151
  maxlength: props.maxlength,
152
- disabled: props.disable === true,
153
- readonly: props.readonly === true
152
+ disabled: props.disable,
153
+ readonly: props.readonly
154
154
  }
155
155
 
156
- if (isTextarea.value === false) {
156
+ if (!isTextarea.value) {
157
157
  acc.type = props.type
158
158
  }
159
159
 
160
- if (props.autogrow === true) {
160
+ if (props.autogrow) {
161
161
  acc.rows = 1
162
162
  }
163
163
 
@@ -179,8 +179,8 @@ export default createComponent({
179
179
  watch(
180
180
  () => props.modelValue,
181
181
  v => {
182
- if (hasMask.value === true) {
183
- if (stopValueWatcher === true) {
182
+ if (hasMask.value) {
183
+ if (stopValueWatcher) {
184
184
  stopValueWatcher = false
185
185
  if (String(v) === emitCachedValue) return
186
186
  }
@@ -189,11 +189,8 @@ export default createComponent({
189
189
  } else if (innerValue.value !== v) {
190
190
  innerValue.value = v
191
191
 
192
- if (
193
- props.type === 'number' &&
194
- temp.hasOwnProperty('value') === true
195
- ) {
196
- if (typedNumber === true) {
192
+ if (props.type === 'number' && Object.hasOwn(temp, 'value')) {
193
+ if (typedNumber) {
197
194
  typedNumber = false
198
195
  } else {
199
196
  delete temp.value
@@ -202,7 +199,7 @@ export default createComponent({
202
199
  }
203
200
 
204
201
  // textarea only
205
- if (props.autogrow === true) nextTick(adjustHeight)
202
+ if (props.autogrow) nextTick(adjustHeight)
206
203
  }
207
204
  )
208
205
 
@@ -210,7 +207,7 @@ export default createComponent({
210
207
  () => props.autogrow,
211
208
  val => {
212
209
  // textarea only
213
- if (val === true) {
210
+ if (val) {
214
211
  nextTick(adjustHeight)
215
212
  }
216
213
  // if it has a number of rows set respect it
@@ -223,7 +220,7 @@ export default createComponent({
223
220
  watch(
224
221
  () => props.dense,
225
222
  () => {
226
- if (props.autogrow === true) nextTick(adjustHeight)
223
+ if (props.autogrow) nextTick(adjustHeight)
227
224
  }
228
225
  )
229
226
 
@@ -245,7 +242,7 @@ export default createComponent({
245
242
  }
246
243
 
247
244
  function onPaste(e) {
248
- if (hasMask.value === true && props.reverseFillMask !== true) {
245
+ if (hasMask.value && props.reverseFillMask !== true) {
249
246
  const inp = e.target
250
247
  moveCursorForPaste(inp, inp.selectionStart, inp.selectionEnd)
251
248
  }
@@ -263,17 +260,17 @@ export default createComponent({
263
260
 
264
261
  const val = e.target.value
265
262
 
266
- if (e.target.qComposing === true) {
263
+ if (e.target.qComposing) {
267
264
  temp.value = val
268
265
  return
269
266
  }
270
267
 
271
- if (hasMask.value === true) {
268
+ if (hasMask.value) {
272
269
  updateMaskValue(val, false, e.inputType)
273
270
  } else {
274
271
  emitValue(val)
275
272
 
276
- if (isTypeText.value === true && e.target === document.activeElement) {
273
+ if (isTypeText.value && e.target === document.activeElement) {
277
274
  const { selectionStart, selectionEnd } = e.target
278
275
 
279
276
  if (selectionStart !== void 0 && selectionEnd !== void 0) {
@@ -291,7 +288,7 @@ export default createComponent({
291
288
 
292
289
  // we need to trigger it immediately too,
293
290
  // to avoid "flickering"
294
- if (props.autogrow === true) adjustHeight()
291
+ if (props.autogrow) adjustHeight()
295
292
  }
296
293
 
297
294
  function onAnimationend(e) {
@@ -303,7 +300,7 @@ export default createComponent({
303
300
  emitValueFn = () => {
304
301
  emitTimer = null
305
302
 
306
- if (props.type !== 'number' && temp.hasOwnProperty('value') === true) {
303
+ if (props.type !== 'number' && Object.hasOwn(temp, 'value')) {
307
304
  delete temp.value
308
305
  }
309
306
 
@@ -314,7 +311,7 @@ export default createComponent({
314
311
  emit('update:modelValue', val)
315
312
 
316
313
  nextTick(() => {
317
- if (emitCachedValue === val) emitCachedValue = NaN
314
+ if (emitCachedValue === val) emitCachedValue = Number.NaN
318
315
  })
319
316
  }
320
317
 
@@ -344,8 +341,9 @@ export default createComponent({
344
341
  // chrome does not keep scroll #15498
345
342
  const { scrollTop } = inp
346
343
  // chrome calculates a smaller scrollHeight when in a .column container
347
- const { overflowY, maxHeight } =
348
- $q.platform.is.firefox === true ? {} : window.getComputedStyle(inp)
344
+ const { overflowY, maxHeight } = $q.platform.is.firefox
345
+ ? {}
346
+ : window.getComputedStyle(inp)
349
347
  // on firefox or if overflowY is specified as scroll #14263, #14344
350
348
  // we don't touch overflow
351
349
  // firefox is not so bad in the end
@@ -353,16 +351,18 @@ export default createComponent({
353
351
 
354
352
  // reset height of textarea to a small size to detect the real height
355
353
  // but keep the total control size the same
356
- if (changeOverflow === true) inp.style.overflowY = 'hidden'
354
+ if (changeOverflow) inp.style.overflowY = 'hidden'
357
355
  parentStyle.marginBottom = inp.scrollHeight - 1 + 'px'
358
356
  inp.style.height = '1px'
359
357
 
360
358
  inp.style.height = inp.scrollHeight + 'px'
361
359
  // we should allow scrollbars only
362
360
  // if there is maxHeight and content is taller than maxHeight
363
- if (changeOverflow === true) {
361
+ if (changeOverflow) {
364
362
  inp.style.overflowY =
365
- parseInt(maxHeight, 10) < inp.scrollHeight ? 'auto' : 'hidden'
363
+ Number.parseInt(maxHeight, 10) < inp.scrollHeight
364
+ ? 'auto'
365
+ : 'hidden'
366
366
  }
367
367
  parentStyle.marginBottom = ''
368
368
  inp.scrollTop = scrollTop
@@ -410,7 +410,7 @@ export default createComponent({
410
410
  }
411
411
 
412
412
  function getCurValue() {
413
- return temp.hasOwnProperty('value') === true
413
+ return Object.hasOwn(temp, 'value')
414
414
  ? temp.value
415
415
  : innerValue.value !== void 0
416
416
  ? innerValue.value
@@ -423,7 +423,7 @@ export default createComponent({
423
423
 
424
424
  onMounted(() => {
425
425
  // textarea only
426
- if (props.autogrow === true) adjustHeight()
426
+ if (props.autogrow) adjustHeight()
427
427
  })
428
428
 
429
429
  Object.assign(state, {
@@ -431,8 +431,8 @@ export default createComponent({
431
431
 
432
432
  fieldClass: computed(
433
433
  () =>
434
- `q-${isTextarea.value === true ? 'textarea' : 'input'}` +
435
- (props.autogrow === true ? ' q-textarea--autogrow' : '')
434
+ `q-${isTextarea.value ? 'textarea' : 'input'}` +
435
+ (props.autogrow ? ' q-textarea--autogrow' : '')
436
436
  ),
437
437
 
438
438
  hasShadow: computed(
@@ -450,13 +450,13 @@ export default createComponent({
450
450
 
451
451
  floatingLabel: computed(
452
452
  () =>
453
- (hasValue.value === true &&
454
- (props.type !== 'number' || isNaN(innerValue.value) === false)) ||
453
+ (hasValue.value &&
454
+ (props.type !== 'number' || Number.isFinite(innerValue.value))) ||
455
455
  fieldValueIsFilled(props.displayValue)
456
456
  ),
457
457
 
458
458
  getControl: () =>
459
- h(isTextarea.value === true ? 'textarea' : 'input', {
459
+ h(isTextarea.value ? 'textarea' : 'input', {
460
460
  ref: inputRef,
461
461
  class: ['q-field__native q-placeholder', props.inputClass],
462
462
  style: props.inputStyle,
@@ -473,7 +473,7 @@ export default createComponent({
473
473
  {
474
474
  class:
475
475
  'q-field__native q-field__shadow absolute-bottom no-pointer-events' +
476
- (isTextarea.value === true ? '' : ' text-no-wrap')
476
+ (isTextarea.value ? '' : ' text-no-wrap')
477
477
  },
478
478
  [
479
479
  h('span', { class: 'invisible' }, getCurValue()),
@@ -1,4 +1,4 @@
1
- import { ref, computed, watch, nextTick } from 'vue'
1
+ import { computed, nextTick, ref, watch } from 'vue'
2
2
 
3
3
  import { shouldIgnoreKey } from '../../utils/private.keyboard/key-composition.js'
4
4
 
@@ -59,6 +59,7 @@ function getTokenMap(tokens) {
59
59
 
60
60
  function getTokenRegexMask(keys) {
61
61
  return new RegExp(
62
+ // oxlint-disable-next-line no-template-curly-in-string
62
63
  '\\\\([^.*+?^${}()|([\\]])|([.*+?^${}()|[\\]])|([' +
63
64
  keys.join('') +
64
65
  '])|(.)',
@@ -68,7 +69,7 @@ function getTokenRegexMask(keys) {
68
69
 
69
70
  const escRegex = /[.*+?^${}()|[\]\\]/g
70
71
  const DEFAULT_TOKEN_REGEX_MASK = getTokenRegexMask(DEFAULT_TOKEN_MAP_KEYS)
71
- const MARKER = String.fromCharCode(1)
72
+ const MARKER = String.fromCodePoint(1)
72
73
 
73
74
  export const useMaskProps = {
74
75
  mask: String,
@@ -111,7 +112,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
111
112
 
112
113
  function getIsTypeText() {
113
114
  return (
114
- props.autogrow === true ||
115
+ props.autogrow ||
115
116
  ['textarea', 'text', 'search', 'url', 'tel', 'password'].includes(
116
117
  props.type
117
118
  )
@@ -136,21 +137,21 @@ export default function useMask(props, emit, emitValue, inputRef) {
136
137
  watch(
137
138
  () => props.fillMask + props.reverseFillMask,
138
139
  () => {
139
- if (hasMask.value === true) updateMaskValue(innerValue.value, true)
140
+ if (hasMask.value) updateMaskValue(innerValue.value, true)
140
141
  }
141
142
  )
142
143
 
143
144
  watch(
144
145
  () => props.unmaskedValue,
145
146
  () => {
146
- if (hasMask.value === true) updateMaskValue(innerValue.value)
147
+ if (hasMask.value) updateMaskValue(innerValue.value)
147
148
  }
148
149
  )
149
150
 
150
151
  function getInitialMaskedValue() {
151
152
  updateMaskInternals()
152
153
 
153
- if (hasMask.value === true) {
154
+ if (hasMask.value) {
154
155
  const masked = maskValue(unmaskValue(props.modelValue))
155
156
 
156
157
  return props.fillMask !== false ? fillWithMask(masked) : masked
@@ -184,7 +185,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
184
185
  hasMask.value =
185
186
  props.mask !== void 0 && props.mask.length !== 0 && getIsTypeText()
186
187
 
187
- if (hasMask.value === false) {
188
+ if (!hasMask.value) {
188
189
  computedUnmask = void 0
189
190
  maskMarked = ''
190
191
  maskReplaced = ''
@@ -199,12 +200,12 @@ export default function useMask(props, emit, emitValue, inputRef) {
199
200
  typeof props.fillMask === 'string' && props.fillMask.length !== 0
200
201
  ? props.fillMask.slice(0, 1)
201
202
  : '_',
202
- fillCharEscaped = fillChar.replace(escRegex, '\\$&'),
203
+ fillCharEscaped = fillChar.replace(escRegex, String.raw`\$&`),
203
204
  unmask = [],
204
205
  extract = [],
205
206
  mask = []
206
207
 
207
- let firstMatch = props.reverseFillMask === true,
208
+ let firstMatch = props.reverseFillMask,
208
209
  unmaskChar = '',
209
210
  negateChar = ''
210
211
 
@@ -215,7 +216,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
215
216
  const c = tokens.value.tokenMap[token]
216
217
  mask.push(c)
217
218
  negateChar = c.negate
218
- if (firstMatch === true) {
219
+ if (firstMatch) {
219
220
  extract.push(
220
221
  '(?:' +
221
222
  negateChar +
@@ -230,16 +231,22 @@ export default function useMask(props, emit, emitValue, inputRef) {
230
231
  firstMatch = false
231
232
  }
232
233
  extract.push('(?:' + negateChar + '+)?(' + c.pattern + ')?')
233
- } else if (esc !== void 0) {
234
+ return
235
+ }
236
+
237
+ if (esc !== void 0) {
234
238
  unmaskChar = '\\' + (esc === '\\' ? '' : esc)
235
239
  mask.push(esc)
236
- unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')
237
240
  } else {
238
241
  const c = char1 !== void 0 ? char1 : char2
239
- unmaskChar = c === '\\' ? '\\\\\\\\' : c.replace(escRegex, '\\\\$&')
242
+ unmaskChar =
243
+ c === '\\'
244
+ ? String.raw`\\\\`
245
+ : c.replace(escRegex, String.raw`\\$&`)
240
246
  mask.push(c)
241
- unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')
242
247
  }
248
+
249
+ unmask.push('([^' + unmaskChar + ']+)?' + unmaskChar + '?')
243
250
  }
244
251
  )
245
252
 
@@ -254,7 +261,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
254
261
  ),
255
262
  extractLast = extract.length - 1,
256
263
  extractMatcher = extract.map((re, index) => {
257
- if (index === 0 && props.reverseFillMask === true) {
264
+ if (index === 0 && props.reverseFillMask) {
258
265
  return new RegExp('^' + fillCharEscaped + '*' + re)
259
266
  } else if (index === extractLast) {
260
267
  return new RegExp(
@@ -263,7 +270,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
263
270
  '(' +
264
271
  (negateChar === '' ? '.' : negateChar) +
265
272
  '+)?' +
266
- (props.reverseFillMask === true ? '$' : fillCharEscaped + '*')
273
+ (props.reverseFillMask ? '$' : fillCharEscaped + '*')
267
274
  )
268
275
  }
269
276
 
@@ -273,7 +280,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
273
280
  computedMask = mask
274
281
  computedUnmask = val => {
275
282
  const unmaskMatch = unmaskMatcher.exec(
276
- props.reverseFillMask === true ? val : val.slice(0, mask.length + 1)
283
+ props.reverseFillMask ? val : val.slice(0, mask.length + 1)
277
284
  )
278
285
  if (unmaskMatch !== null) {
279
286
  val = unmaskMatch.slice(1).join('')
@@ -318,18 +325,17 @@ export default function useMask(props, emit, emitValue, inputRef) {
318
325
  // We want to avoid "flickering" so we set value immediately
319
326
  if (inp.value !== masked) inp.value = masked
320
327
 
321
- if (changed === true) innerValue.value = masked
328
+ if (changed) innerValue.value = masked
322
329
 
323
330
  if (document.activeElement === inp) {
324
331
  nextTick(() => {
325
332
  if (masked === maskReplaced) {
326
- const cursor =
327
- props.reverseFillMask === true ? maskReplaced.length : 0
333
+ const cursor = props.reverseFillMask ? maskReplaced.length : 0
328
334
  inp.setSelectionRange(cursor, cursor, 'forward')
329
335
  return
330
336
  }
331
337
 
332
- if (inputType === 'insertFromPaste' && props.reverseFillMask !== true) {
338
+ if (inputType === 'insertFromPaste' && !props.reverseFillMask) {
333
339
  const maxEnd = inp.selectionEnd
334
340
  let cursor = end - 1
335
341
  // each non-marker char means we move once to right
@@ -344,31 +350,28 @@ export default function useMask(props, emit, emitValue, inputRef) {
344
350
  }
345
351
 
346
352
  if (
347
- ['deleteContentBackward', 'deleteContentForward'].indexOf(
348
- inputType
349
- ) !== -1
353
+ ['deleteContentBackward', 'deleteContentForward'].includes(inputType)
350
354
  ) {
351
- const cursor =
352
- props.reverseFillMask === true
353
- ? end === 0
354
- ? masked.length > preMasked.length
355
- ? 1
356
- : 0
357
- : Math.max(
358
- 0,
359
- masked.length -
360
- (masked === maskReplaced
361
- ? 0
362
- : Math.min(preMasked.length, endReverse) + 1)
363
- ) + 1
364
- : end
355
+ const cursor = props.reverseFillMask
356
+ ? end === 0
357
+ ? masked.length > preMasked.length
358
+ ? 1
359
+ : 0
360
+ : Math.max(
361
+ 0,
362
+ masked.length -
363
+ (masked === maskReplaced
364
+ ? 0
365
+ : Math.min(preMasked.length, endReverse) + 1)
366
+ ) + 1
367
+ : end
365
368
 
366
369
  inp.setSelectionRange(cursor, cursor, 'forward')
367
370
  return
368
371
  }
369
372
 
370
- if (props.reverseFillMask === true) {
371
- if (changed === true) {
373
+ if (props.reverseFillMask) {
374
+ if (changed) {
372
375
  const cursor = Math.max(
373
376
  0,
374
377
  masked.length -
@@ -386,7 +389,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
386
389
  const cursor = masked.length - endReverse
387
390
  inp.setSelectionRange(cursor, cursor, 'backward')
388
391
  }
389
- } else if (changed === true) {
392
+ } else if (changed) {
390
393
  const cursor = Math.max(
391
394
  0,
392
395
  maskMarked.indexOf(MARKER),
@@ -400,7 +403,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
400
403
  })
401
404
  }
402
405
 
403
- const val = props.unmaskedValue === true ? unmaskValue(masked) : masked
406
+ const val = props.unmaskedValue ? unmaskValue(masked) : masked
404
407
 
405
408
  if (
406
409
  String(props.modelValue) !== val &&
@@ -425,13 +428,13 @@ export default function useMask(props, emit, emitValue, inputRef) {
425
428
 
426
429
  const moveCursor = {
427
430
  left(inp, cursor) {
428
- const noMarkBefore = maskMarked.slice(cursor - 1).indexOf(MARKER) === -1
431
+ const noMarkBefore = !maskMarked.slice(cursor - 1).includes(MARKER)
429
432
  let i = Math.max(0, cursor - 1)
430
433
 
431
434
  for (; i >= 0; i--) {
432
435
  if (maskMarked[i] === MARKER) {
433
436
  cursor = i
434
- if (noMarkBefore === true) cursor++
437
+ if (noMarkBefore) cursor++
435
438
  break
436
439
  }
437
440
  }
@@ -501,14 +504,13 @@ export default function useMask(props, emit, emitValue, inputRef) {
501
504
  rightReverse(inp, cursor) {
502
505
  const limit = inp.value.length,
503
506
  localMaskMarked = getPaddedMaskMarked(limit),
504
- noMarkBefore =
505
- localMaskMarked.slice(0, cursor + 1).indexOf(MARKER) === -1
507
+ noMarkBefore = !localMaskMarked.slice(0, cursor + 1).includes(MARKER)
506
508
  let i = Math.min(limit, cursor + 1)
507
509
 
508
510
  for (; i <= limit; i++) {
509
511
  if (localMaskMarked[i - 1] === MARKER) {
510
512
  cursor = i
511
- if (cursor > 0 && noMarkBefore === true) cursor--
513
+ if (cursor > 0 && noMarkBefore) cursor--
512
514
  break
513
515
  }
514
516
  }
@@ -535,8 +537,8 @@ export default function useMask(props, emit, emitValue, inputRef) {
535
537
  emit('keydown', e)
536
538
 
537
539
  if (
538
- shouldIgnoreKey(e) === true ||
539
- e.altKey === true // let browser handle these
540
+ shouldIgnoreKey(e) ||
541
+ e.altKey // let browser handle these
540
542
  ) {
541
543
  return
542
544
  }
@@ -558,7 +560,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
558
560
  const fn =
559
561
  moveCursor[
560
562
  (e.keyCode === 39 ? 'right' : 'left') +
561
- (props.reverseFillMask === true ? 'Reverse' : '')
563
+ (props.reverseFillMask ? 'Reverse' : '')
562
564
  ]
563
565
 
564
566
  e.preventDefault()
@@ -574,14 +576,14 @@ export default function useMask(props, emit, emitValue, inputRef) {
574
576
  }
575
577
  } else if (
576
578
  e.keyCode === 8 && // Backspace
577
- props.reverseFillMask !== true &&
579
+ !props.reverseFillMask &&
578
580
  start === end
579
581
  ) {
580
582
  moveCursor.left(inp, start)
581
583
  inp.setSelectionRange(inp.selectionStart, end, 'backward')
582
584
  } else if (
583
585
  e.keyCode === 46 && // Delete
584
- props.reverseFillMask === true &&
586
+ props.reverseFillMask &&
585
587
  start === end
586
588
  ) {
587
589
  moveCursor.rightReverse(inp, end)
@@ -594,7 +596,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
594
596
  return ''
595
597
  }
596
598
 
597
- if (props.reverseFillMask === true) {
599
+ if (props.reverseFillMask) {
598
600
  return maskValueReverse(val, updateMaskInternalsFlag)
599
601
  }
600
602
 
@@ -682,7 +684,7 @@ export default function useMask(props, emit, emitValue, inputRef) {
682
684
  return val
683
685
  }
684
686
 
685
- return props.reverseFillMask === true && val.length !== 0
687
+ return props.reverseFillMask && val.length !== 0
686
688
  ? maskReplaced.slice(0, -val.length) + val
687
689
  : val + maskReplaced.slice(val.length)
688
690
  }
@@ -1,11 +1,11 @@
1
- import { h, ref, computed, Transition } from 'vue'
1
+ import { Transition, computed, h, ref } from 'vue'
2
2
 
3
3
  import { isRuntimeSsrPreHydration } from '../../plugins/platform/Platform.js'
4
4
 
5
5
  import Intersection from '../../directives/intersection/Intersection.js'
6
6
 
7
7
  import { createComponent } from '../../utils/private.create/create.js'
8
- import { hSlot, hDir } from '../../utils/private.render/render.js'
8
+ import { hDir, hSlot } from '../../utils/private.render/render.js'
9
9
 
10
10
  export default createComponent({
11
11
  name: 'QIntersection',
@@ -38,7 +38,7 @@ export default createComponent({
38
38
 
39
39
  setup(props, { slots, emit }) {
40
40
  const showing = ref(
41
- isRuntimeSsrPreHydration.value === true ? props.ssrPrerender : false
41
+ isRuntimeSsrPreHydration.value ? props.ssrPrerender : false
42
42
  )
43
43
 
44
44
  const intersectionProps = computed(() =>
@@ -58,10 +58,8 @@ export default createComponent({
58
58
 
59
59
  const hasDirective = computed(
60
60
  () =>
61
- props.disable !== true &&
62
- (isRuntimeSsrPreHydration.value !== true ||
63
- props.once !== true ||
64
- props.ssrPrerender !== true)
61
+ !props.disable &&
62
+ (!isRuntimeSsrPreHydration.value || !props.once || !props.ssrPrerender)
65
63
  )
66
64
 
67
65
  const directives = computed(() => [
@@ -80,7 +78,7 @@ export default createComponent({
80
78
  }
81
79
 
82
80
  function getContent() {
83
- if (showing.value === true) {
81
+ if (showing.value) {
84
82
  return [
85
83
  h(
86
84
  'div',