quasar 2.19.3 → 2.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (550) hide show
  1. package/dist/api/Lang.json +1 -1
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QImg.json +1 -1
  5. package/dist/api/QParallax.json +1 -1
  6. package/dist/api/QRange.json +1 -1
  7. package/dist/api/QSlider.json +1 -1
  8. package/dist/api/QTimelineEntry.json +1 -1
  9. package/dist/api/QTree.json +1 -1
  10. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  11. package/dist/icon-set/eva-icons.umd.prod.js +2 -2
  12. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
  13. package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
  14. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
  15. package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
  16. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  17. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  18. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  19. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  20. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  22. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  24. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  25. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  26. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +5 -5
  28. package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
  29. package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
  30. package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
  31. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  34. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
  35. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
  36. package/dist/icon-set/svg-fontawesome-v7.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +5 -5
  39. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
  40. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +5 -5
  41. package/dist/icon-set/svg-ionicons-v8.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-mdi-v6.umd.prod.js +5 -5
  51. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  53. package/dist/icon-set/themify.umd.prod.js +2 -2
  54. package/dist/lang/ar-TN.umd.prod.js +2 -2
  55. package/dist/lang/ar.umd.prod.js +2 -2
  56. package/dist/lang/az-Latn.umd.prod.js +2 -2
  57. package/dist/lang/bg.umd.prod.js +2 -2
  58. package/dist/lang/bn.umd.prod.js +2 -2
  59. package/dist/lang/bs-BA.umd.prod.js +2 -2
  60. package/dist/lang/ca.umd.prod.js +2 -2
  61. package/dist/lang/cs.umd.prod.js +2 -2
  62. package/dist/lang/da.umd.prod.js +2 -2
  63. package/dist/lang/de-CH.umd.prod.js +2 -2
  64. package/dist/lang/de-DE.umd.prod.js +2 -2
  65. package/dist/lang/de.umd.prod.js +2 -2
  66. package/dist/lang/el.umd.prod.js +2 -2
  67. package/dist/lang/en-GB.umd.prod.js +2 -2
  68. package/dist/lang/en-US.umd.prod.js +2 -2
  69. package/dist/lang/eo.umd.prod.js +2 -2
  70. package/dist/lang/es.umd.prod.js +2 -2
  71. package/dist/lang/et.umd.prod.js +2 -2
  72. package/dist/lang/eu.umd.prod.js +2 -2
  73. package/dist/lang/fa-IR.umd.prod.js +2 -2
  74. package/dist/lang/fa.umd.prod.js +2 -2
  75. package/dist/lang/fi.umd.prod.js +2 -2
  76. package/dist/lang/fr.umd.prod.js +2 -2
  77. package/dist/lang/gn.umd.prod.js +2 -2
  78. package/dist/lang/he.umd.prod.js +2 -2
  79. package/dist/lang/hi.umd.prod.js +2 -2
  80. package/dist/lang/hr.umd.prod.js +2 -2
  81. package/dist/lang/hu.umd.prod.js +2 -2
  82. package/dist/lang/id.umd.prod.js +2 -2
  83. package/dist/lang/is.umd.prod.js +2 -2
  84. package/dist/lang/it.umd.prod.js +2 -2
  85. package/dist/lang/ja.umd.prod.js +2 -2
  86. package/dist/lang/kk.umd.prod.js +2 -2
  87. package/dist/lang/km.umd.prod.js +2 -2
  88. package/dist/lang/ko-KR.umd.prod.js +1 -1
  89. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  90. package/dist/lang/lt.umd.prod.js +2 -2
  91. package/dist/lang/lu.umd.prod.js +2 -2
  92. package/dist/lang/lv.umd.prod.js +2 -2
  93. package/dist/lang/mk.umd.prod.js +2 -2
  94. package/dist/lang/ml.umd.prod.js +2 -2
  95. package/dist/lang/mm.umd.prod.js +2 -2
  96. package/dist/lang/ms-MY.umd.prod.js +2 -2
  97. package/dist/lang/ms.umd.prod.js +2 -2
  98. package/dist/lang/my.umd.prod.js +2 -2
  99. package/dist/lang/nb-NO.umd.prod.js +2 -2
  100. package/dist/lang/nl.umd.prod.js +2 -2
  101. package/dist/lang/pl.umd.prod.js +2 -2
  102. package/dist/lang/pt-BR.umd.prod.js +2 -2
  103. package/dist/lang/pt.umd.prod.js +2 -2
  104. package/dist/lang/ro.umd.prod.js +2 -2
  105. package/dist/lang/ru.umd.prod.js +2 -2
  106. package/dist/lang/sk.umd.prod.js +2 -2
  107. package/dist/lang/sl.umd.prod.js +2 -2
  108. package/dist/lang/sm.umd.prod.js +2 -2
  109. package/dist/lang/sq.umd.prod.js +2 -2
  110. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  111. package/dist/lang/sr.umd.prod.js +2 -2
  112. package/dist/lang/sv.umd.prod.js +2 -2
  113. package/dist/lang/ta.umd.prod.js +2 -2
  114. package/dist/lang/th.umd.prod.js +2 -2
  115. package/dist/lang/tl.umd.prod.js +2 -2
  116. package/dist/lang/tr.umd.prod.js +2 -2
  117. package/dist/lang/ug.umd.prod.js +2 -2
  118. package/dist/lang/uk.umd.prod.js +2 -2
  119. package/dist/lang/ur-PK.umd.prod.js +2 -2
  120. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  121. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  122. package/dist/lang/vi.umd.prod.js +2 -2
  123. package/dist/lang/zh-CN.umd.prod.js +2 -2
  124. package/dist/lang/zh-TW.umd.prod.js +2 -2
  125. package/dist/quasar.client.js +2614 -2602
  126. package/dist/quasar.sass +1 -1
  127. package/dist/quasar.server.prod.cjs +11 -11
  128. package/dist/quasar.server.prod.js +25 -25
  129. package/dist/quasar.umd.js +2609 -2597
  130. package/dist/quasar.umd.prod.js +23 -23
  131. package/dist/types/api/dialog.d.ts +1 -1
  132. package/dist/types/api/qnotify.d.ts +1 -1
  133. package/dist/types/api/qpopupproxy.d.ts +1 -1
  134. package/dist/types/feature-flag.d.ts +2 -2
  135. package/dist/types/globals.d.ts +2 -2
  136. package/dist/types/icon-set.d.ts +16 -16
  137. package/dist/types/shim-icon-set.d.ts +1 -2
  138. package/dist/types/shim-lang.d.ts +1 -2
  139. package/dist/types/ts-helpers.d.ts +3 -3
  140. package/dist/types/tsconfig.json +1 -1
  141. package/dist/types/utils/scroll.d.ts +1 -1
  142. package/dist/types/utils.d.ts +2 -2
  143. package/dist/web-types/web-types.json +1 -1
  144. package/icon-set/bootstrap-icons.js +1 -1
  145. package/icon-set/eva-icons.js +22 -22
  146. package/icon-set/ionicons-v4.js +16 -16
  147. package/icon-set/svg-bootstrap-icons.js +1 -1
  148. package/icon-set/svg-eva-icons.js +22 -22
  149. package/icon-set/svg-fontawesome-v5.js +1 -1
  150. package/icon-set/svg-ionicons-v4.js +16 -16
  151. package/icon-set/svg-themify.js +7 -7
  152. package/icon-set/themify.js +7 -7
  153. package/lang/ar-TN.js +1 -1
  154. package/lang/ar.js +1 -1
  155. package/lang/az-Latn.js +1 -1
  156. package/lang/bg.js +1 -1
  157. package/lang/bn.js +1 -1
  158. package/lang/bs-BA.js +1 -1
  159. package/lang/ca.js +1 -1
  160. package/lang/cs.js +11 -6
  161. package/lang/da.js +1 -1
  162. package/lang/de-CH.js +1 -1
  163. package/lang/de-DE.js +1 -1
  164. package/lang/de.js +1 -1
  165. package/lang/el.js +1 -1
  166. package/lang/en-GB.js +1 -1
  167. package/lang/en-US.js +1 -1
  168. package/lang/eo.js +1 -1
  169. package/lang/es.js +1 -1
  170. package/lang/et.js +1 -1
  171. package/lang/eu.js +1 -1
  172. package/lang/fa-IR.js +1 -1
  173. package/lang/fa.js +1 -1
  174. package/lang/fi.js +1 -1
  175. package/lang/fr.js +1 -1
  176. package/lang/gn.js +1 -1
  177. package/lang/he.js +1 -1
  178. package/lang/hi.js +1 -1
  179. package/lang/hr.js +1 -1
  180. package/lang/hu.js +1 -1
  181. package/lang/id.js +1 -1
  182. package/lang/is.js +1 -1
  183. package/lang/it.js +1 -1
  184. package/lang/ja.js +1 -1
  185. package/lang/kk.js +1 -1
  186. package/lang/km.js +1 -1
  187. package/lang/kur-CKB.js +1 -1
  188. package/lang/lt.js +2 -2
  189. package/lang/lu.js +1 -1
  190. package/lang/lv.js +1 -1
  191. package/lang/mk.js +1 -1
  192. package/lang/ml.js +1 -1
  193. package/lang/mm.js +1 -1
  194. package/lang/ms-MY.js +1 -1
  195. package/lang/ms.js +1 -1
  196. package/lang/my.js +1 -1
  197. package/lang/nb-NO.js +1 -1
  198. package/lang/nl.js +1 -1
  199. package/lang/pl.js +1 -1
  200. package/lang/pt-BR.js +1 -1
  201. package/lang/pt.js +1 -1
  202. package/lang/ro.js +1 -1
  203. package/lang/ru.js +1 -1
  204. package/lang/sk.js +1 -1
  205. package/lang/sl.js +1 -1
  206. package/lang/sm.js +1 -1
  207. package/lang/sq.js +1 -1
  208. package/lang/sr-CYR.js +1 -1
  209. package/lang/sr.js +1 -1
  210. package/lang/sv.js +1 -1
  211. package/lang/ta.js +1 -1
  212. package/lang/th.js +1 -1
  213. package/lang/tl.js +1 -1
  214. package/lang/tr.js +1 -1
  215. package/lang/ug.js +1 -1
  216. package/lang/uk.js +1 -1
  217. package/lang/ur-PK.js +1 -1
  218. package/lang/uz-Cyrl.js +1 -1
  219. package/lang/uz-Latn.js +1 -1
  220. package/lang/vi.js +1 -1
  221. package/lang/zh-CN.js +1 -1
  222. package/lang/zh-TW.js +1 -1
  223. package/package.json +13 -17
  224. package/src/components/ajax-bar/QAjaxBar.js +22 -25
  225. package/src/components/avatar/QAvatar.js +3 -3
  226. package/src/components/avatar/QAvatar.test.js +2 -2
  227. package/src/components/badge/QBadge.js +9 -10
  228. package/src/components/badge/QBadge.test.js +2 -2
  229. package/src/components/banner/QBanner.js +6 -6
  230. package/src/components/banner/QBanner.test.js +2 -2
  231. package/src/components/bar/QBar.js +3 -3
  232. package/src/components/bar/QBar.test.js +2 -2
  233. package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
  234. package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
  235. package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
  236. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
  237. package/src/components/btn/QBtn.js +39 -44
  238. package/src/components/btn/QBtn.test.js +2 -2
  239. package/src/components/btn/use-btn.js +34 -47
  240. package/src/components/btn/use-btn.test.js +5 -5
  241. package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
  242. package/src/components/btn-group/QBtnGroup.js +3 -3
  243. package/src/components/btn-toggle/QBtnToggle.js +5 -9
  244. package/src/components/card/QCard.js +5 -5
  245. package/src/components/card/QCardActions.js +2 -2
  246. package/src/components/card/QCardSection.js +2 -2
  247. package/src/components/carousel/QCarousel.js +32 -38
  248. package/src/components/carousel/QCarouselControl.js +1 -1
  249. package/src/components/carousel/QCarouselSlide.js +1 -1
  250. package/src/components/carousel/QCarouselSlide.json +1 -1
  251. package/src/components/chat/QChatMessage.js +13 -14
  252. package/src/components/chat/QChatMessage.json +1 -1
  253. package/src/components/checkbox/QCheckbox.js +5 -5
  254. package/src/components/checkbox/use-checkbox.js +38 -50
  255. package/src/components/chip/QChip.js +26 -34
  256. package/src/components/chip/QChip.test.js +2 -2
  257. package/src/components/circular-progress/QCircularProgress.js +8 -11
  258. package/src/components/circular-progress/circular-progress.test.js +1 -1
  259. package/src/components/color/QColor.js +75 -98
  260. package/src/components/date/QDate.js +128 -140
  261. package/src/components/date/use-datetime.js +3 -6
  262. package/src/components/dialog/QDialog.js +44 -50
  263. package/src/components/dialog/QDialog.test.js +7 -7
  264. package/src/components/drawer/QDrawer.js +110 -152
  265. package/src/components/editor/QEditor.js +44 -37
  266. package/src/components/editor/editor-caret.js +27 -31
  267. package/src/components/editor/editor-utils.js +9 -5
  268. package/src/components/expansion-item/QExpansionItem.js +36 -48
  269. package/src/components/fab/QFab.js +11 -11
  270. package/src/components/fab/QFabAction.js +2 -4
  271. package/src/components/fab/use-fab.js +6 -7
  272. package/src/components/field/QField.js +2 -2
  273. package/src/components/file/QFile.js +26 -33
  274. package/src/components/footer/QFooter.js +40 -53
  275. package/src/components/form/QForm.js +37 -43
  276. package/src/components/form/QFormChildMixin.js +3 -3
  277. package/src/components/header/QHeader.js +35 -47
  278. package/src/components/icon/QIcon.js +19 -19
  279. package/src/components/img/QImg.js +24 -24
  280. package/src/components/img/QImg.json +3 -3
  281. package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
  282. package/src/components/inner-loading/QInnerLoading.js +3 -3
  283. package/src/components/input/QInput.js +52 -52
  284. package/src/components/input/use-mask.js +56 -54
  285. package/src/components/intersection/QIntersection.js +6 -8
  286. package/src/components/item/QItem.js +20 -30
  287. package/src/components/item/QItemLabel.js +5 -7
  288. package/src/components/item/QItemSection.js +6 -6
  289. package/src/components/item/QList.js +6 -6
  290. package/src/components/item/QList.test.js +2 -2
  291. package/src/components/knob/QKnob.js +39 -44
  292. package/src/components/layout/QLayout.js +30 -34
  293. package/src/components/linear-progress/QLinearProgress.js +14 -23
  294. package/src/components/markup-table/QMarkupTable.js +7 -9
  295. package/src/components/menu/QMenu.js +36 -37
  296. package/src/components/no-ssr/QNoSsr.js +1 -1
  297. package/src/components/option-group/QOptionGroup.js +5 -5
  298. package/src/components/page/QPage.js +16 -18
  299. package/src/components/page/QPageContainer.js +9 -9
  300. package/src/components/page-scroller/QPageScroller.js +11 -13
  301. package/src/components/page-sticky/use-page-sticky.js +18 -18
  302. package/src/components/pagination/QPagination.js +24 -26
  303. package/src/components/parallax/QParallax.js +15 -9
  304. package/src/components/parallax/QParallax.json +1 -1
  305. package/src/components/popup-edit/QPopupEdit.js +10 -13
  306. package/src/components/popup-proxy/QPopupProxy.js +5 -7
  307. package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
  308. package/src/components/radio/QRadio.js +24 -29
  309. package/src/components/range/QRange.js +33 -37
  310. package/src/components/rating/QRating.js +59 -61
  311. package/src/components/resize-observer/QResizeObserver.js +55 -62
  312. package/src/components/scroll-area/QScrollArea.js +32 -36
  313. package/src/components/scroll-observer/QScrollObserver.js +3 -3
  314. package/src/components/select/QSelect.js +208 -269
  315. package/src/components/separator/QSeparator.js +7 -10
  316. package/src/components/skeleton/QSkeleton.js +4 -4
  317. package/src/components/slide-item/QSlideItem.js +7 -7
  318. package/src/components/slide-transition/QSlideTransition.js +4 -4
  319. package/src/components/slider/QSlider.js +13 -16
  320. package/src/components/slider/use-slider.js +53 -81
  321. package/src/components/slider/use-slider.json +3 -3
  322. package/src/components/space/QSpace.test.js +1 -1
  323. package/src/components/spinner/QSpinner.test.js +2 -2
  324. package/src/components/spinner/QSpinnerAudio.test.js +2 -2
  325. package/src/components/spinner/QSpinnerBall.test.js +2 -2
  326. package/src/components/spinner/QSpinnerBars.test.js +2 -2
  327. package/src/components/spinner/QSpinnerBox.test.js +2 -2
  328. package/src/components/spinner/QSpinnerClock.test.js +2 -2
  329. package/src/components/spinner/QSpinnerComment.test.js +2 -2
  330. package/src/components/spinner/QSpinnerCube.test.js +2 -2
  331. package/src/components/spinner/QSpinnerDots.test.js +2 -2
  332. package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
  333. package/src/components/spinner/QSpinnerGears.test.js +2 -2
  334. package/src/components/spinner/QSpinnerGrid.test.js +2 -2
  335. package/src/components/spinner/QSpinnerHearts.test.js +2 -2
  336. package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
  337. package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
  338. package/src/components/spinner/QSpinnerIos.test.js +2 -2
  339. package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
  340. package/src/components/spinner/QSpinnerOval.test.js +2 -2
  341. package/src/components/spinner/QSpinnerPie.test.js +2 -2
  342. package/src/components/spinner/QSpinnerPuff.test.js +2 -2
  343. package/src/components/spinner/QSpinnerRadio.test.js +2 -2
  344. package/src/components/spinner/QSpinnerRings.test.js +2 -2
  345. package/src/components/spinner/QSpinnerTail.test.js +2 -2
  346. package/src/components/spinner/use-spinner.test.js +1 -1
  347. package/src/components/splitter/QSplitter.js +19 -21
  348. package/src/components/stepper/QStep.js +12 -14
  349. package/src/components/stepper/QStepper.js +13 -14
  350. package/src/components/stepper/StepHeader.js +34 -35
  351. package/src/components/tab-panels/QTabPanels.js +3 -3
  352. package/src/components/table/QTable.js +82 -100
  353. package/src/components/table/QTd.js +3 -3
  354. package/src/components/table/QTh.js +5 -6
  355. package/src/components/table/QTr.js +3 -3
  356. package/src/components/table/table-column-selection.js +4 -6
  357. package/src/components/table/table-filter.js +2 -2
  358. package/src/components/table/table-pagination.js +14 -20
  359. package/src/components/table/table-row-expand.js +3 -3
  360. package/src/components/table/table-row-selection.js +10 -20
  361. package/src/components/table/table-sort.js +7 -7
  362. package/src/components/tabs/QRouteTab.js +1 -1
  363. package/src/components/tabs/QTab.js +1 -1
  364. package/src/components/tabs/QTabs.js +82 -109
  365. package/src/components/tabs/use-tab.js +36 -38
  366. package/src/components/time/QTime.js +109 -132
  367. package/src/components/timeline/QTimeline.js +7 -4
  368. package/src/components/timeline/QTimelineEntry.js +7 -6
  369. package/src/components/timeline/QTimelineEntry.json +1 -1
  370. package/src/components/toggle/QToggle.js +6 -8
  371. package/src/components/toolbar/QToolbar.js +2 -2
  372. package/src/components/toolbar/QToolbar.test.js +2 -2
  373. package/src/components/toolbar/QToolbarTitle.js +2 -4
  374. package/src/components/toolbar/QToolbarTitle.test.js +2 -2
  375. package/src/components/tooltip/QTooltip.js +27 -28
  376. package/src/components/tree/QTree.js +96 -114
  377. package/src/components/tree/QTree.json +1 -1
  378. package/src/components/uploader/QUploaderAddTrigger.js +2 -2
  379. package/src/components/uploader/uploader-core.js +44 -51
  380. package/src/components/uploader/xhr-uploader-plugin.js +13 -17
  381. package/src/components/video/QVideo.js +1 -1
  382. package/src/components/video/QVideo.test.js +2 -2
  383. package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
  384. package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
  385. package/src/composables/private.use-align/use-align.js +2 -2
  386. package/src/composables/private.use-align/use-align.test.js +1 -1
  387. package/src/composables/private.use-anchor/use-anchor.js +23 -32
  388. package/src/composables/private.use-dark/use-dark.test.js +1 -1
  389. package/src/composables/private.use-field/use-field.js +79 -99
  390. package/src/composables/private.use-file/use-file-dom-props.js +2 -2
  391. package/src/composables/private.use-file/use-file.js +27 -27
  392. package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
  393. package/src/composables/private.use-history/use-history.js +2 -2
  394. package/src/composables/private.use-history/use-history.test.js +1 -1
  395. package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
  396. package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
  397. package/src/composables/private.use-panel/use-panel.js +25 -27
  398. package/src/composables/private.use-portal/use-portal.js +11 -9
  399. package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
  400. package/src/composables/private.use-ratio/use-ratio.js +6 -5
  401. package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
  402. package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
  403. package/src/composables/private.use-router-link/use-router-link.js +44 -55
  404. package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
  405. package/src/composables/private.use-size/use-size.test.js +1 -1
  406. package/src/composables/private.use-transition/use-transition.test.js +1 -1
  407. package/src/composables/private.use-validate/use-validate.js +23 -36
  408. package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
  409. package/src/composables/use-form/private.use-form.js +1 -1
  410. package/src/composables/use-form/private.use-form.test.js +3 -3
  411. package/src/composables/use-form/use-form-child.js +7 -7
  412. package/src/composables/use-hydration/use-hydration.js +2 -2
  413. package/src/composables/use-hydration/use-hydration.test.js +1 -1
  414. package/src/composables/use-id/use-id.js +4 -8
  415. package/src/composables/use-id/use-id.test.js +1 -1
  416. package/src/composables/use-interval/use-interval.js +2 -2
  417. package/src/composables/use-interval/use-interval.test.js +1 -1
  418. package/src/composables/use-meta/use-meta.js +3 -3
  419. package/src/composables/use-quasar/use-quasar.test.js +1 -1
  420. package/src/composables/use-render-cache/use-render-cache.js +1 -1
  421. package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
  422. package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
  423. package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
  424. package/src/composables/use-tick/use-tick.js +3 -3
  425. package/src/composables/use-tick/use-tick.test.js +2 -2
  426. package/src/composables/use-timeout/use-timeout.js +2 -2
  427. package/src/composables/use-timeout/use-timeout.test.js +1 -1
  428. package/src/directives/close-popup/ClosePopup.js +4 -9
  429. package/src/directives/intersection/Intersection.js +5 -8
  430. package/src/directives/morph/Morph.js +12 -18
  431. package/src/directives/ripple/Ripple.js +19 -26
  432. package/src/directives/ripple/Ripple.test.js +2 -2
  433. package/src/directives/scroll/Scroll.js +2 -2
  434. package/src/directives/touch-hold/TouchHold.js +22 -28
  435. package/src/directives/touch-pan/TouchPan.js +68 -84
  436. package/src/directives/touch-repeat/TouchRepeat.js +28 -39
  437. package/src/directives/touch-swipe/TouchSwipe.js +30 -33
  438. package/src/index.ssr.js +2 -0
  439. package/src/index.umd.js +2 -0
  440. package/src/install-quasar.js +9 -9
  441. package/src/plugins/addressbar/AddressbarColor.js +9 -9
  442. package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
  443. package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
  444. package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
  445. package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
  446. package/src/plugins/app-visibility/AppVisibility.js +5 -5
  447. package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
  448. package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
  449. package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
  450. package/src/plugins/cookies/Cookies.js +50 -62
  451. package/src/plugins/dark/Dark.js +3 -5
  452. package/src/plugins/dark/Dark.test.js +1 -1
  453. package/src/plugins/dialog/Dialog.js +2 -2
  454. package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
  455. package/src/plugins/icon-set/IconSet.js +2 -4
  456. package/src/plugins/icon-set/IconSet.test.js +1 -1
  457. package/src/plugins/lang/Lang.js +7 -10
  458. package/src/plugins/lang/Lang.json +2 -2
  459. package/src/plugins/lang/Lang.test.js +2 -2
  460. package/src/plugins/loading/Loading.js +10 -12
  461. package/src/plugins/loading-bar/LoadingBar.js +4 -4
  462. package/src/plugins/meta/Meta.js +10 -11
  463. package/src/plugins/notify/Notify.js +67 -72
  464. package/src/plugins/platform/Platform.js +19 -21
  465. package/src/plugins/platform/Platform.test.js +1 -1
  466. package/src/plugins/private.body/Body.js +23 -29
  467. package/src/plugins/private.body/Body.test.js +1 -1
  468. package/src/plugins/private.history/History.js +17 -25
  469. package/src/plugins/private.history/History.test.js +1 -1
  470. package/src/plugins/screen/Screen.js +16 -16
  471. package/src/plugins/screen/Screen.test.js +1 -1
  472. package/src/plugins/storage/LocalStorage.js +3 -4
  473. package/src/plugins/storage/LocalStorage.test.js +2 -2
  474. package/src/plugins/storage/SessionStorage.js +3 -4
  475. package/src/plugins/storage/SessionStorage.test.js +2 -2
  476. package/src/plugins/storage/engine/web-storage.js +30 -23
  477. package/src/plugins/storage/engine/web-storage.test.js +1 -1
  478. package/src/utils/EventBus/EventBus.js +3 -4
  479. package/src/utils/EventBus/EventBus.test.js +1 -1
  480. package/src/utils/clone/clone.test.js +4 -8
  481. package/src/utils/colors/colors.js +38 -29
  482. package/src/utils/colors/colors.test.js +2 -2
  483. package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
  484. package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
  485. package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
  486. package/src/utils/css-var/get-css-var.test.js +2 -2
  487. package/src/utils/css-var/set-css-var.test.js +2 -2
  488. package/src/utils/date/date.js +229 -172
  489. package/src/utils/date/private.persian.js +11 -11
  490. package/src/utils/debounce/debounce.js +3 -7
  491. package/src/utils/debounce/debounce.test.js +1 -1
  492. package/src/utils/dom/dom.js +2 -4
  493. package/src/utils/dom/dom.test.js +4 -4
  494. package/src/utils/event/event.js +21 -23
  495. package/src/utils/export-file/export-file.js +3 -3
  496. package/src/utils/extend/extend.js +15 -14
  497. package/src/utils/extend/extend.test.js +2 -2
  498. package/src/utils/format/format.js +4 -10
  499. package/src/utils/format/format.test.js +1 -1
  500. package/src/utils/frame-debounce/frame-debounce.js +23 -12
  501. package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
  502. package/src/utils/is/is.js +15 -26
  503. package/src/utils/is/is.test.js +8 -7
  504. package/src/utils/morph/morph.js +57 -48
  505. package/src/utils/open-url/open-url.js +7 -7
  506. package/src/utils/patterns/patterns.js +26 -23
  507. package/src/utils/patterns/patterns.test.js +1 -1
  508. package/src/utils/private.click-outside/click-outside.js +5 -5
  509. package/src/utils/private.config/instance-config.js +2 -0
  510. package/src/utils/private.config/instance-config.test.js +4 -4
  511. package/src/utils/private.config/nodes.js +5 -5
  512. package/src/utils/private.config/nodes.test.js +4 -4
  513. package/src/utils/private.create/create.test.js +1 -1
  514. package/src/utils/private.dialog/create-dialog.js +9 -12
  515. package/src/utils/private.focus/focus-manager.js +1 -1
  516. package/src/utils/private.focus/focus-manager.test.js +4 -4
  517. package/src/utils/private.focus/focusout.js +2 -2
  518. package/src/utils/private.focus/focusout.test.js +1 -1
  519. package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
  520. package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
  521. package/src/utils/private.keyboard/escape-key.js +5 -5
  522. package/src/utils/private.keyboard/escape-key.test.js +1 -1
  523. package/src/utils/private.keyboard/key-composition.js +4 -6
  524. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
  525. package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
  526. package/src/utils/private.portal/portal.js +5 -5
  527. package/src/utils/private.position-engine/position-engine.js +20 -22
  528. package/src/utils/private.render/render.js +5 -7
  529. package/src/utils/private.render/render.test.js +5 -5
  530. package/src/utils/private.rtl/rtl.js +3 -2
  531. package/src/utils/private.rtl/rtl.test.js +1 -1
  532. package/src/utils/private.selection/selection.js +1 -1
  533. package/src/utils/private.selection/selection.test.js +2 -2
  534. package/src/utils/private.sort/sort.test.js +2 -2
  535. package/src/utils/private.touch/touch.js +10 -14
  536. package/src/utils/private.touch/touch.test.js +1 -1
  537. package/src/utils/private.vm/vm.js +2 -2
  538. package/src/utils/private.vm/vm.test.js +4 -4
  539. package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
  540. package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
  541. package/src/utils/scroll/prevent-scroll.js +9 -9
  542. package/src/utils/scroll/scroll.js +11 -12
  543. package/src/utils/throttle/throttle.js +4 -3
  544. package/src/utils/throttle/throttle.test.js +1 -1
  545. package/src/utils/uid/uid.js +51 -77
  546. package/src/utils/uid/uid.test.js +3 -3
  547. package/wrappers/index.cjs +2 -2
  548. package/wrappers/index.js +2 -2
  549. package/dist/vetur/quasar-attributes.json +0 -1
  550. package/dist/vetur/quasar-tags.json +0 -1
@@ -1,5 +1,5 @@
1
- import { describe, test, expect, vi, afterEach } from 'vitest'
2
- import { mount, flushPromises } from '@vue/test-utils'
1
+ import { afterEach, describe, expect, test, vi } from 'vitest'
2
+ import { flushPromises, mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
5
5
  import useTick from './use-tick.js'
@@ -1,4 +1,4 @@
1
- import { onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { getCurrentInstance, onBeforeUnmount, onDeactivated } from 'vue'
2
2
 
3
3
  import { vmIsDestroyed } from '../../utils/private.vm/vm.js'
4
4
 
@@ -28,7 +28,7 @@ export default function useTimeout() {
28
28
  registerTimeout(fn, delay) {
29
29
  removeTimeout()
30
30
 
31
- if (vmIsDestroyed(vm) === false) {
31
+ if (!vmIsDestroyed(vm)) {
32
32
  timer = setTimeout(() => {
33
33
  timer = null
34
34
  fn()
@@ -1,4 +1,4 @@
1
- import { describe, test, expect, vi, beforeEach, afterEach } from 'vitest'
1
+ import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'
2
2
  import { mount } from '@vue/test-utils'
3
3
  import { defineComponent } from 'vue'
4
4
 
@@ -14,15 +14,10 @@ import getSSRProps from '../../utils/private.noop-ssr-directive-transform/noop-s
14
14
  */
15
15
 
16
16
  function getDepth(value) {
17
- if (value === false) {
18
- return 0
19
- }
20
- if (value === true || value === void 0) {
21
- return 1
22
- }
17
+ if (value === false) return 0
18
+ if (value === true || value === void 0) return 1
23
19
 
24
- const depth = parseInt(value, 10)
25
- return isNaN(depth) ? 0 : depth
20
+ return Number.parseInt(value, 10) || 0
26
21
  }
27
22
 
28
23
  export default createDirective(
@@ -48,7 +43,7 @@ export default createDirective(
48
43
  },
49
44
 
50
45
  handlerKey(evt) {
51
- if (isKeyCode(evt, 13) === true) ctx.handler(evt)
46
+ if (isKeyCode(evt, 13)) ctx.handler(evt)
52
47
  }
53
48
  }
54
49
 
@@ -17,15 +17,15 @@ function update(el, ctx, value) {
17
17
  changed = ctx.cfg === void 0
18
18
  } else {
19
19
  handler = value.handler
20
- cfg = Object.assign({}, defaultCfg, value.cfg)
21
- changed = ctx.cfg === void 0 || isDeepEqual(ctx.cfg, cfg) === false
20
+ cfg = { ...defaultCfg, ...value.cfg }
21
+ changed = ctx.cfg === void 0 || !isDeepEqual(ctx.cfg, cfg)
22
22
  }
23
23
 
24
24
  if (ctx.handler !== handler) {
25
25
  ctx.handler = handler
26
26
  }
27
27
 
28
- if (changed === true) {
28
+ if (changed) {
29
29
  ctx.cfg = cfg
30
30
  ctx.observer?.unobserve(el)
31
31
 
@@ -33,7 +33,7 @@ function update(el, ctx, value) {
33
33
  if (typeof ctx.handler === 'function') {
34
34
  // if observed element is part of a vue transition
35
35
  // then we need to be careful...
36
- if (entry.rootBounds === null && document.body.contains(el) === true) {
36
+ if (entry.rootBounds === null && document.body.contains(el)) {
37
37
  ctx.observer.unobserve(el)
38
38
  ctx.observer.observe(el)
39
39
  return
@@ -41,10 +41,7 @@ function update(el, ctx, value) {
41
41
 
42
42
  const res = ctx.handler(entry, ctx.observer)
43
43
 
44
- if (
45
- res === false ||
46
- (ctx.once === true && entry.isIntersecting === true)
47
- ) {
44
+ if (res === false || (ctx.once && entry.isIntersecting)) {
48
45
  destroy(el)
49
46
  }
50
47
  }
@@ -30,7 +30,7 @@ function changeClass(ctx, action) {
30
30
  }
31
31
 
32
32
  function trigger(group) {
33
- if (group.animating === true || group.queue.length < 2) return
33
+ if (group.animating || group.queue.length < 2) return
34
34
 
35
35
  const [from, to] = group.queue
36
36
 
@@ -51,8 +51,7 @@ function trigger(group) {
51
51
  ...to.opts,
52
52
  onEnd(dir, aborted) {
53
53
  to.opts.onEnd?.(dir, aborted)
54
-
55
- if (aborted === true) return
54
+ if (aborted) return
56
55
 
57
56
  from.animating = false
58
57
  to.animating = false
@@ -85,8 +84,9 @@ function insertArgs(arg, ctx) {
85
84
  ctx.name = opts[0]
86
85
  ctx.group = opts[1]
87
86
 
87
+ const parsedOpt = Number.parseFloat(opts[2])
88
88
  Object.assign(ctx.opts, {
89
- duration: isNaN(opts[2]) === true ? 300 : parseFloat(opts[2]),
89
+ duration: Number.isFinite(parsedOpt) ? parsedOpt : 300,
90
90
  waitFor: opts[3]
91
91
  })
92
92
  }
@@ -128,7 +128,7 @@ function updateModel(name, ctx) {
128
128
  group.model = name
129
129
  group.queue.push(ctx)
130
130
 
131
- if (group.animating === false && group.queue.length === 2) {
131
+ if (!group.animating && group.queue.length === 2) {
132
132
  trigger(group)
133
133
  }
134
134
  }
@@ -136,9 +136,7 @@ function updateModel(name, ctx) {
136
136
  return
137
137
  }
138
138
 
139
- if (ctx.animating === false) {
140
- changeClass(ctx, 'add')
141
- }
139
+ if (!ctx.animating) changeClass(ctx, 'add')
142
140
  }
143
141
 
144
142
  function updateValue(ctx, value) {
@@ -155,7 +153,7 @@ function updateValue(ctx, value) {
155
153
  if (model !== ctx.model) {
156
154
  ctx.model = model
157
155
  updateModel(model, ctx)
158
- } else if (ctx.animating === false && ctx.clsAction !== void 0) {
156
+ } else if (!ctx.animating && ctx.clsAction !== void 0) {
159
157
  // ensure HMR
160
158
  ctx.el.classList[ctx.clsAction]('q-morph--invisible')
161
159
  }
@@ -199,16 +197,12 @@ export default createDirective(
199
197
 
200
198
  const group = morphGroups[ctx.group]
201
199
 
202
- if (group !== void 0) {
203
- const index = group.queue.indexOf(ctx)
204
-
205
- if (index !== -1) {
206
- group.queue = group.queue.filter(item => item !== ctx)
200
+ if (group?.queue.includes(ctx)) {
201
+ group.queue = group.queue.filter(item => item !== ctx)
207
202
 
208
- if (group.queue.length === 0) {
209
- group.cancel?.()
210
- delete morphGroups[ctx.group]
211
- }
203
+ if (group.queue.length === 0) {
204
+ group.cancel?.()
205
+ delete morphGroups[ctx.group]
212
206
  }
213
207
  }
214
208
 
@@ -1,22 +1,20 @@
1
1
  import { createDirective } from '../../utils/private.create/create.js'
2
2
  import { css } from '../../utils/dom/dom.js'
3
- import { position, stop, addEvt, cleanEvt } from '../../utils/event/event.js'
3
+ import { addEvt, cleanEvt, position, stop } from '../../utils/event/event.js'
4
4
  import { isKeyCode } from '../../utils/private.keyboard/key-composition.js'
5
5
  import throttle from '../../utils/throttle/throttle.js'
6
6
  import getSSRProps from '../../utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js'
7
7
 
8
8
  function showRipple(evt, el, ctx, forceCenter) {
9
- if (ctx.modifiers.stop === true) stop(evt)
9
+ if (ctx.modifiers.stop) stop(evt)
10
10
 
11
- const color = ctx.modifiers.color
12
- let center = ctx.modifiers.center
13
- center = center === true || forceCenter === true
14
-
15
- const node = document.createElement('span'),
11
+ const color = ctx.modifiers.color,
12
+ center = ctx.modifiers.center || forceCenter === true,
13
+ node = document.createElement('span'),
16
14
  innerNode = document.createElement('span'),
17
15
  pos = position(evt),
18
16
  { left, top, width, height } = el.getBoundingClientRect(),
19
- diameter = Math.sqrt(width * width + height * height),
17
+ diameter = Math.hypot(width, height),
20
18
  radius = diameter / 2,
21
19
  centerX = `${(width - diameter) / 2}px`,
22
20
  x = center ? centerX : `${pos.left - left - radius}px`,
@@ -33,8 +31,8 @@ function showRipple(evt, el, ctx, forceCenter) {
33
31
 
34
32
  node.className = `q-ripple${color ? ' text-' + color : ''}`
35
33
  node.setAttribute('dir', 'ltr')
36
- node.appendChild(innerNode)
37
- el.appendChild(node)
34
+ node.append(innerNode)
35
+ el.append(node)
38
36
 
39
37
  const abort = () => {
40
38
  node.remove()
@@ -61,13 +59,13 @@ function showRipple(evt, el, ctx, forceCenter) {
61
59
  }
62
60
 
63
61
  function updateModifiers(ctx, { modifiers, value, arg }) {
64
- const cfg = Object.assign({}, ctx.cfg.ripple, modifiers, value)
62
+ const cfg = { ...ctx.cfg.ripple, ...modifiers, ...value }
65
63
  ctx.modifiers = {
66
64
  early: cfg.early === true,
67
65
  stop: cfg.stop === true,
68
66
  center: cfg.center === true,
69
67
  color: cfg.color || arg,
70
- keyCodes: [].concat(cfg.keyCodes || 13)
68
+ keyCodes: [cfg.keyCodes || 13].flat()
71
69
  }
72
70
  }
73
71
 
@@ -92,10 +90,9 @@ export default createDirective(
92
90
 
93
91
  start(evt) {
94
92
  if (
95
- ctx.enabled === true &&
96
- evt.qSkipRipple !== true &&
97
- evt.type ===
98
- (ctx.modifiers.early === true ? 'pointerdown' : 'click')
93
+ ctx.enabled &&
94
+ !evt.qSkipRipple &&
95
+ evt.type === (ctx.modifiers.early ? 'pointerdown' : 'click')
99
96
  ) {
100
97
  showRipple(evt, el, ctx, evt.qKeyEvent === true)
101
98
  }
@@ -103,11 +100,10 @@ export default createDirective(
103
100
 
104
101
  keystart: throttle(evt => {
105
102
  if (
106
- ctx.enabled === true &&
107
- evt.qSkipRipple !== true &&
108
- isKeyCode(evt, ctx.modifiers.keyCodes) === true &&
109
- evt.type ===
110
- `key${ctx.modifiers.early === true ? 'down' : 'up'}`
103
+ ctx.enabled &&
104
+ !evt.qSkipRipple &&
105
+ isKeyCode(evt, ctx.modifiers.keyCodes) &&
106
+ evt.type === `key${ctx.modifiers.early ? 'down' : 'up'}`
111
107
  ) {
112
108
  showRipple(evt, el, ctx, true)
113
109
  }
@@ -132,10 +128,7 @@ export default createDirective(
132
128
  if (ctx !== void 0) {
133
129
  ctx.enabled = binding.value !== false
134
130
 
135
- if (
136
- ctx.enabled === true &&
137
- Object(binding.value) === binding.value
138
- ) {
131
+ if (ctx.enabled && Object(binding.value) === binding.value) {
139
132
  updateModifiers(ctx, binding)
140
133
  }
141
134
  }
@@ -149,7 +142,7 @@ export default createDirective(
149
142
  fn()
150
143
  })
151
144
  cleanEvt(ctx, 'main')
152
- delete el._qripple
145
+ delete el.__qripple
153
146
  }
154
147
  }
155
148
  }
@@ -3,8 +3,8 @@
3
3
  * [(modifier)center]
4
4
  */
5
5
 
6
- import { mount, flushPromises } from '@vue/test-utils'
7
- import { describe, test, expect } from 'vitest'
6
+ import { flushPromises, mount } from '@vue/test-utils'
7
+ import { describe, expect, test } from 'vitest'
8
8
  import { defineComponent, ref } from 'vue'
9
9
 
10
10
  import Ripple from './Ripple.js'
@@ -1,8 +1,8 @@
1
1
  import { createDirective } from '../../utils/private.create/create.js'
2
2
  import {
3
+ getHorizontalScrollPosition,
3
4
  getScrollTarget,
4
- getVerticalScrollPosition,
5
- getHorizontalScrollPosition
5
+ getVerticalScrollPosition
6
6
  } from '../../utils/scroll/scroll.js'
7
7
  import { listenOpts } from '../../utils/event/event.js'
8
8
  import getSSRProps from '../../utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js'
@@ -4,14 +4,18 @@ import { createDirective } from '../../utils/private.create/create.js'
4
4
  import {
5
5
  addEvt,
6
6
  cleanEvt,
7
- position,
8
7
  leftClick,
9
- stopAndPrevent,
10
- noop
8
+ noop,
9
+ position,
10
+ stopAndPrevent
11
11
  } from '../../utils/event/event.js'
12
12
  import { clearSelection } from '../../utils/private.selection/selection.js'
13
13
  import getSSRProps from '../../utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js'
14
14
 
15
+ function removeBodyNonSelectable() {
16
+ document.body.classList.remove('non-selectable')
17
+ }
18
+
15
19
  export default createDirective(
16
20
  __QUASAR_SSR_SERVER__
17
21
  ? { name: 'touch-hold', getSSRProps }
@@ -22,17 +26,14 @@ export default createDirective(
22
26
  const { modifiers } = binding
23
27
 
24
28
  // early return, we don't need to do anything
25
- if (modifiers.mouse !== true && client.has.touch !== true) return
29
+ if (!modifiers.mouse && !client.has.touch) return
26
30
 
27
31
  const ctx = {
28
32
  handler: binding.value,
29
33
  noop,
30
34
 
31
35
  mouseStart(evt) {
32
- if (
33
- typeof ctx.handler === 'function' &&
34
- leftClick(evt) === true
35
- ) {
36
+ if (typeof ctx.handler === 'function' && leftClick(evt)) {
36
37
  addEvt(ctx, 'temp', [
37
38
  [document, 'mousemove', 'move', 'passiveCapture'],
38
39
  [document, 'click', 'end', 'notPassiveCapture']
@@ -58,31 +59,26 @@ export default createDirective(
58
59
 
59
60
  const startTime = Date.now()
60
61
 
61
- if (client.is.mobile === true) {
62
+ if (client.is.mobile) {
62
63
  document.body.classList.add('non-selectable')
63
64
  clearSelection()
64
65
 
65
66
  ctx.styleCleanup = withDelay => {
66
67
  ctx.styleCleanup = void 0
67
68
 
68
- const remove = () => {
69
- document.body.classList.remove('non-selectable')
70
- }
71
-
72
69
  if (withDelay === true) {
73
70
  clearSelection()
74
- setTimeout(remove, 10)
71
+ setTimeout(removeBodyNonSelectable, 10)
75
72
  } else {
76
- remove()
73
+ removeBodyNonSelectable()
77
74
  }
78
75
  }
79
76
  }
80
77
 
81
78
  ctx.triggered = false
82
- ctx.sensitivity =
83
- mouseEvent === true
84
- ? ctx.mouseSensitivity
85
- : ctx.touchSensitivity
79
+ ctx.sensitivity = mouseEvent
80
+ ? ctx.mouseSensitivity
81
+ : ctx.touchSensitivity
86
82
 
87
83
  ctx.timer = setTimeout(() => {
88
84
  ctx.timer = void 0
@@ -91,7 +87,7 @@ export default createDirective(
91
87
 
92
88
  ctx.handler({
93
89
  evt,
94
- touch: mouseEvent !== true,
90
+ touch: !mouseEvent,
95
91
  mouse: mouseEvent === true,
96
92
  position: ctx.origin,
97
93
  duration: Date.now() - startTime
@@ -117,7 +113,7 @@ export default createDirective(
117
113
  // delay needed otherwise selection still occurs
118
114
  ctx.styleCleanup?.(ctx.triggered)
119
115
 
120
- if (ctx.triggered === true) {
116
+ if (ctx.triggered) {
121
117
  if (evt !== void 0) stopAndPrevent(evt)
122
118
  } else if (ctx.timer !== void 0) {
123
119
  clearTimeout(ctx.timer)
@@ -131,7 +127,7 @@ export default createDirective(
131
127
 
132
128
  if (typeof binding.arg === 'string' && binding.arg.length !== 0) {
133
129
  binding.arg.split(':').forEach((val, index) => {
134
- const v = parseInt(val, 10)
130
+ const v = Number.parseInt(val, 10)
135
131
  if (v) data[index] = v
136
132
  })
137
133
  }
@@ -140,25 +136,23 @@ export default createDirective(
140
136
 
141
137
  el.__qtouchhold = ctx
142
138
 
143
- if (modifiers.mouse === true) {
139
+ if (modifiers.mouse) {
144
140
  // account for UMD too where modifiers will be lowercased to work
145
141
  const capture =
146
- modifiers.mouseCapture === true || modifiers.mousecapture === true
147
- ? 'Capture'
148
- : ''
142
+ modifiers.mouseCapture || modifiers.mousecapture ? 'Capture' : ''
149
143
 
150
144
  addEvt(ctx, 'main', [
151
145
  [el, 'mousedown', 'mouseStart', `passive${capture}`]
152
146
  ])
153
147
  }
154
148
 
155
- if (client.has.touch === true) {
149
+ if (client.has.touch) {
156
150
  addEvt(ctx, 'main', [
157
151
  [
158
152
  el,
159
153
  'touchstart',
160
154
  'touchStart',
161
- `passive${modifiers.capture === true ? 'Capture' : ''}`
155
+ `passive${modifiers.capture ? 'Capture' : ''}`
162
156
  ],
163
157
  [el, 'touchend', 'noop', 'notPassiveCapture']
164
158
  ])