quasar 2.15.0 → 2.15.2

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 (523) hide show
  1. package/dist/api/AddressbarColor.json +1 -1
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/ClosePopup.json +1 -1
  4. package/dist/api/Cookies.json +1 -1
  5. package/dist/api/Dark.json +1 -1
  6. package/dist/api/Dialog.json +1 -1
  7. package/dist/api/Intersection.json +1 -1
  8. package/dist/api/Loading.json +1 -1
  9. package/dist/api/LoadingBar.json +1 -1
  10. package/dist/api/LocalStorage.json +1 -1
  11. package/dist/api/Morph.json +1 -1
  12. package/dist/api/Mutation.json +1 -1
  13. package/dist/api/Notify.json +1 -1
  14. package/dist/api/Platform.json +1 -1
  15. package/dist/api/QAjaxBar.json +1 -1
  16. package/dist/api/QAvatar.json +1 -1
  17. package/dist/api/QBadge.json +1 -1
  18. package/dist/api/QBanner.json +1 -1
  19. package/dist/api/QBar.json +1 -1
  20. package/dist/api/QBreadcrumbs.json +1 -1
  21. package/dist/api/QBreadcrumbsEl.json +1 -1
  22. package/dist/api/QBtn.json +1 -1
  23. package/dist/api/QBtnDropdown.json +1 -1
  24. package/dist/api/QBtnToggle.json +1 -1
  25. package/dist/api/QCard.json +1 -1
  26. package/dist/api/QCardActions.json +1 -1
  27. package/dist/api/QCardSection.json +1 -1
  28. package/dist/api/QCarousel.json +1 -1
  29. package/dist/api/QCarouselControl.json +1 -1
  30. package/dist/api/QCarouselSlide.json +1 -1
  31. package/dist/api/QChatMessage.json +1 -1
  32. package/dist/api/QCheckbox.json +1 -1
  33. package/dist/api/QChip.json +1 -1
  34. package/dist/api/QCircularProgress.json +1 -1
  35. package/dist/api/QColor.json +1 -1
  36. package/dist/api/QDate.json +1 -1
  37. package/dist/api/QDialog.json +1 -1
  38. package/dist/api/QDrawer.json +1 -1
  39. package/dist/api/QEditor.json +1 -1
  40. package/dist/api/QExpansionItem.json +1 -1
  41. package/dist/api/QFab.json +1 -1
  42. package/dist/api/QFabAction.json +1 -1
  43. package/dist/api/QField.json +1 -1
  44. package/dist/api/QFile.json +1 -1
  45. package/dist/api/QFooter.json +1 -1
  46. package/dist/api/QHeader.json +1 -1
  47. package/dist/api/QIcon.json +1 -1
  48. package/dist/api/QImg.json +1 -1
  49. package/dist/api/QInfiniteScroll.json +1 -1
  50. package/dist/api/QInnerLoading.json +1 -1
  51. package/dist/api/QInput.json +1 -1
  52. package/dist/api/QIntersection.json +1 -1
  53. package/dist/api/QItem.json +1 -1
  54. package/dist/api/QKnob.json +1 -1
  55. package/dist/api/QLayout.json +1 -1
  56. package/dist/api/QLinearProgress.json +1 -1
  57. package/dist/api/QList.json +1 -1
  58. package/dist/api/QMarkupTable.json +1 -1
  59. package/dist/api/QMenu.json +1 -1
  60. package/dist/api/QNoSsr.json +1 -1
  61. package/dist/api/QOptionGroup.json +1 -1
  62. package/dist/api/QPage.json +1 -1
  63. package/dist/api/QPageScroller.json +1 -1
  64. package/dist/api/QPageSticky.json +1 -1
  65. package/dist/api/QPagination.json +1 -1
  66. package/dist/api/QParallax.json +1 -1
  67. package/dist/api/QPopupEdit.json +1 -1
  68. package/dist/api/QPopupProxy.json +1 -1
  69. package/dist/api/QPullToRefresh.json +1 -1
  70. package/dist/api/QRadio.json +1 -1
  71. package/dist/api/QRange.json +1 -1
  72. package/dist/api/QRating.json +1 -1
  73. package/dist/api/QResizeObserver.json +1 -1
  74. package/dist/api/QResponsive.json +1 -1
  75. package/dist/api/QRouteTab.json +1 -1
  76. package/dist/api/QScrollArea.json +1 -1
  77. package/dist/api/QScrollObserver.json +1 -1
  78. package/dist/api/QSelect.json +1 -1
  79. package/dist/api/QSeparator.json +1 -1
  80. package/dist/api/QSkeleton.json +1 -1
  81. package/dist/api/QSlideItem.json +1 -1
  82. package/dist/api/QSlideTransition.json +1 -1
  83. package/dist/api/QSlider.json +1 -1
  84. package/dist/api/QSpinner.json +1 -1
  85. package/dist/api/QSpinnerAudio.json +1 -1
  86. package/dist/api/QSpinnerBall.json +1 -1
  87. package/dist/api/QSpinnerBars.json +1 -1
  88. package/dist/api/QSpinnerBox.json +1 -1
  89. package/dist/api/QSpinnerClock.json +1 -1
  90. package/dist/api/QSpinnerComment.json +1 -1
  91. package/dist/api/QSpinnerCube.json +1 -1
  92. package/dist/api/QSpinnerDots.json +1 -1
  93. package/dist/api/QSpinnerFacebook.json +1 -1
  94. package/dist/api/QSpinnerGears.json +1 -1
  95. package/dist/api/QSpinnerGrid.json +1 -1
  96. package/dist/api/QSpinnerHearts.json +1 -1
  97. package/dist/api/QSpinnerHourglass.json +1 -1
  98. package/dist/api/QSpinnerInfinity.json +1 -1
  99. package/dist/api/QSpinnerIos.json +1 -1
  100. package/dist/api/QSpinnerOrbit.json +1 -1
  101. package/dist/api/QSpinnerOval.json +1 -1
  102. package/dist/api/QSpinnerPie.json +1 -1
  103. package/dist/api/QSpinnerPuff.json +1 -1
  104. package/dist/api/QSpinnerRadio.json +1 -1
  105. package/dist/api/QSpinnerRings.json +1 -1
  106. package/dist/api/QSpinnerTail.json +1 -1
  107. package/dist/api/QSplitter.json +1 -1
  108. package/dist/api/QStep.json +1 -1
  109. package/dist/api/QStepper.json +1 -1
  110. package/dist/api/QTab.json +1 -1
  111. package/dist/api/QTabPanel.json +1 -1
  112. package/dist/api/QTabPanels.json +1 -1
  113. package/dist/api/QTable.json +1 -1
  114. package/dist/api/QTabs.json +1 -1
  115. package/dist/api/QTd.json +1 -1
  116. package/dist/api/QTh.json +1 -1
  117. package/dist/api/QTime.json +1 -1
  118. package/dist/api/QTimeline.json +1 -1
  119. package/dist/api/QTimelineEntry.json +1 -1
  120. package/dist/api/QToggle.json +1 -1
  121. package/dist/api/QTooltip.json +1 -1
  122. package/dist/api/QTr.json +1 -1
  123. package/dist/api/QTree.json +1 -1
  124. package/dist/api/QUploader.json +1 -1
  125. package/dist/api/QVideo.json +1 -1
  126. package/dist/api/QVirtualScroll.json +1 -1
  127. package/dist/api/Ripple.json +1 -1
  128. package/dist/api/Screen.json +1 -1
  129. package/dist/api/Scroll.json +1 -1
  130. package/dist/api/ScrollFire.json +1 -1
  131. package/dist/api/SessionStorage.json +1 -1
  132. package/dist/api/TouchHold.json +1 -1
  133. package/dist/api/TouchPan.json +1 -1
  134. package/dist/api/TouchRepeat.json +1 -1
  135. package/dist/api/TouchSwipe.json +1 -1
  136. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  137. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  138. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  139. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  140. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  141. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  142. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  143. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  144. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  145. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  146. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  147. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  148. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  149. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  150. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  151. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  152. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  153. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  154. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  155. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  156. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  157. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  158. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  159. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  160. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  161. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  162. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  163. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  164. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  165. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  166. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  167. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  168. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  169. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  170. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  171. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  172. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  173. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  174. package/dist/icon-set/themify.umd.prod.js +1 -1
  175. package/dist/lang/ar-TN.umd.prod.js +1 -1
  176. package/dist/lang/ar.umd.prod.js +1 -1
  177. package/dist/lang/az-Latn.umd.prod.js +1 -1
  178. package/dist/lang/bg.umd.prod.js +1 -1
  179. package/dist/lang/bn.umd.prod.js +1 -1
  180. package/dist/lang/ca.umd.prod.js +1 -1
  181. package/dist/lang/cs.umd.prod.js +1 -1
  182. package/dist/lang/da.umd.prod.js +1 -1
  183. package/dist/lang/de-CH.umd.prod.js +1 -1
  184. package/dist/lang/de-DE.umd.prod.js +1 -1
  185. package/dist/lang/de.umd.prod.js +1 -1
  186. package/dist/lang/el.umd.prod.js +1 -1
  187. package/dist/lang/en-GB.umd.prod.js +1 -1
  188. package/dist/lang/en-US.umd.prod.js +1 -1
  189. package/dist/lang/eo.umd.prod.js +1 -1
  190. package/dist/lang/es.umd.prod.js +1 -1
  191. package/dist/lang/et.umd.prod.js +1 -1
  192. package/dist/lang/eu.umd.prod.js +1 -1
  193. package/dist/lang/fa-IR.umd.prod.js +1 -1
  194. package/dist/lang/fa.umd.prod.js +1 -1
  195. package/dist/lang/fi.umd.prod.js +1 -1
  196. package/dist/lang/fr.umd.prod.js +1 -1
  197. package/dist/lang/gn.umd.prod.js +1 -1
  198. package/dist/lang/he.umd.prod.js +1 -1
  199. package/dist/lang/hi.umd.prod.js +1 -1
  200. package/dist/lang/hr.umd.prod.js +1 -1
  201. package/dist/lang/hu.umd.prod.js +1 -1
  202. package/dist/lang/id.umd.prod.js +1 -1
  203. package/dist/lang/is.umd.prod.js +1 -1
  204. package/dist/lang/it.umd.prod.js +1 -1
  205. package/dist/lang/ja.umd.prod.js +1 -1
  206. package/dist/lang/kk.umd.prod.js +1 -1
  207. package/dist/lang/km.umd.prod.js +1 -1
  208. package/dist/lang/ko-KR.umd.prod.js +1 -1
  209. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  210. package/dist/lang/lt.umd.prod.js +1 -1
  211. package/dist/lang/lu.umd.prod.js +1 -1
  212. package/dist/lang/lv.umd.prod.js +1 -1
  213. package/dist/lang/mk.umd.prod.js +1 -1
  214. package/dist/lang/ml.umd.prod.js +1 -1
  215. package/dist/lang/mm.umd.prod.js +1 -1
  216. package/dist/lang/ms-MY.umd.prod.js +1 -1
  217. package/dist/lang/ms.umd.prod.js +1 -1
  218. package/dist/lang/my.umd.prod.js +1 -1
  219. package/dist/lang/nb-NO.umd.prod.js +1 -1
  220. package/dist/lang/nl.umd.prod.js +1 -1
  221. package/dist/lang/pl.umd.prod.js +1 -1
  222. package/dist/lang/pt-BR.umd.prod.js +1 -1
  223. package/dist/lang/pt.umd.prod.js +1 -1
  224. package/dist/lang/ro.umd.prod.js +1 -1
  225. package/dist/lang/ru.umd.prod.js +1 -1
  226. package/dist/lang/sk.umd.prod.js +1 -1
  227. package/dist/lang/sl.umd.prod.js +1 -1
  228. package/dist/lang/sm.umd.prod.js +1 -1
  229. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  230. package/dist/lang/sr.umd.prod.js +1 -1
  231. package/dist/lang/sv.umd.prod.js +1 -1
  232. package/dist/lang/ta.umd.prod.js +1 -1
  233. package/dist/lang/th.umd.prod.js +1 -1
  234. package/dist/lang/tl.umd.prod.js +1 -1
  235. package/dist/lang/tr.umd.prod.js +1 -1
  236. package/dist/lang/ug.umd.prod.js +1 -1
  237. package/dist/lang/uk.umd.prod.js +1 -1
  238. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  239. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  240. package/dist/lang/vi.umd.prod.js +1 -1
  241. package/dist/lang/zh-CN.umd.prod.js +1 -1
  242. package/dist/lang/zh-TW.umd.prod.js +1 -1
  243. package/dist/quasar.cjs.prod.js +12 -12
  244. package/dist/quasar.css +53 -53
  245. package/dist/quasar.esm.js +82 -51
  246. package/dist/quasar.esm.prod.js +10 -10
  247. package/dist/quasar.prod.css +1 -1
  248. package/dist/quasar.rtl.css +65 -65
  249. package/dist/quasar.rtl.prod.css +1 -1
  250. package/dist/quasar.sass +37 -37
  251. package/dist/quasar.umd.js +80 -50
  252. package/dist/quasar.umd.prod.js +6 -6
  253. package/dist/transforms/import-map.json +1 -1
  254. package/dist/types/composables.d.ts +5 -0
  255. package/dist/types/index.d.ts +325 -235
  256. package/dist/types/tsconfig.json +1 -1
  257. package/dist/vetur/quasar-attributes.json +1 -1
  258. package/dist/web-types/web-types.json +1 -1
  259. package/package.json +21 -44
  260. package/src/api-file-example.json +5 -5
  261. package/src/api.extends.json +18 -18
  262. package/src/body.js +1 -1
  263. package/src/components/ajax-bar/QAjaxBar.json +5 -5
  264. package/src/components/avatar/QAvatar.json +1 -1
  265. package/src/components/avatar/QAvatar.test.js +146 -0
  266. package/src/components/badge/QBadge.json +2 -2
  267. package/src/components/badge/QBadge.test.js +167 -0
  268. package/src/components/banner/QBanner.test.js +123 -0
  269. package/src/components/bar/QBar.test.js +55 -0
  270. package/src/components/breadcrumbs/QBreadcrumbs.json +7 -7
  271. package/src/components/breadcrumbs/QBreadcrumbs.test.js +123 -0
  272. package/src/components/breadcrumbs/QBreadcrumbsEl.json +4 -4
  273. package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +134 -0
  274. package/src/components/btn/QBtn.js +1 -1
  275. package/src/components/btn/QBtn.json +1 -1
  276. package/src/components/btn/QBtn.test.js +350 -0
  277. package/src/components/btn/use-btn.json +13 -13
  278. package/src/components/btn/use-btn.test.js +590 -0
  279. package/src/components/btn-dropdown/QBtnDropdown.json +14 -14
  280. package/src/components/btn-toggle/QBtnToggle.json +6 -6
  281. package/src/components/card/QCard.json +2 -2
  282. package/src/components/card/QCardActions.json +3 -3
  283. package/src/components/card/QCardSection.json +2 -2
  284. package/src/components/carousel/QCarousel.json +9 -9
  285. package/src/components/carousel/QCarouselControl.json +5 -5
  286. package/src/components/carousel/QCarouselSlide.json +4 -7
  287. package/src/components/chat/QChatMessage.json +9 -9
  288. package/src/components/checkbox/use-checkbox.json +13 -13
  289. package/src/components/chip/QChip.js +1 -1
  290. package/src/components/chip/QChip.json +6 -8
  291. package/src/components/chip/QChip.test.js +534 -0
  292. package/src/components/circular-progress/QCircularProgress.json +8 -8
  293. package/src/components/color/QColor.js +2 -2
  294. package/src/components/color/QColor.json +8 -10
  295. package/src/components/date/QDate.json +31 -30
  296. package/src/components/date/use-datetime.json +3 -3
  297. package/src/components/dialog/QDialog.json +13 -13
  298. package/src/components/dialog/QDialog.test.js +390 -0
  299. package/src/components/dialog/test/DialogWrapper.vue +17 -0
  300. package/src/components/drawer/QDrawer.js +1 -1
  301. package/src/components/drawer/QDrawer.json +8 -12
  302. package/src/components/editor/QEditor.json +31 -45
  303. package/src/components/expansion-item/QExpansionItem.js +1 -1
  304. package/src/components/expansion-item/QExpansionItem.json +14 -14
  305. package/src/components/fab/QFab.json +4 -4
  306. package/src/components/fab/QFabAction.json +3 -5
  307. package/src/components/fab/use-fab.json +10 -12
  308. package/src/components/field/QField.json +5 -5
  309. package/src/components/file/QFile.json +9 -11
  310. package/src/components/footer/QFooter.js +1 -1
  311. package/src/components/footer/QFooter.json +3 -5
  312. package/src/components/form/QForm.json +1 -3
  313. package/src/components/form/QFormChildMixin.json +1 -3
  314. package/src/components/header/QHeader.json +4 -6
  315. package/src/components/icon/QIcon.json +2 -2
  316. package/src/components/img/QImg.js +1 -1
  317. package/src/components/img/QImg.json +45 -59
  318. package/src/components/infinite-scroll/QInfiniteScroll.json +3 -3
  319. package/src/components/inner-loading/QInnerLoading.json +5 -7
  320. package/src/components/input/QInput.json +10 -10
  321. package/src/components/input/use-mask.json +1 -1
  322. package/src/components/intersection/QIntersection.js +2 -2
  323. package/src/components/intersection/QIntersection.json +7 -7
  324. package/src/components/item/QItem.json +5 -5
  325. package/src/components/item/QList.json +2 -2
  326. package/src/components/knob/QKnob.js +1 -1
  327. package/src/components/knob/QKnob.json +6 -6
  328. package/src/components/layout/QLayout.js +1 -1
  329. package/src/components/layout/QLayout.json +3 -5
  330. package/src/components/linear-progress/QLinearProgress.json +2 -2
  331. package/src/components/markup-table/QMarkupTable.json +3 -3
  332. package/src/components/menu/QMenu.json +8 -8
  333. package/src/components/no-ssr/QNoSsr.json +3 -3
  334. package/src/components/option-group/QOptionGroup.json +11 -13
  335. package/src/components/page/QPage.json +2 -2
  336. package/src/components/page-scroller/QPageScroller.json +3 -3
  337. package/src/components/page-sticky/QPageSticky.json +4 -4
  338. package/src/components/pagination/QPagination.json +20 -20
  339. package/src/components/parallax/QParallax.json +5 -5
  340. package/src/components/popup-edit/QPopupEdit.json +17 -19
  341. package/src/components/popup-proxy/QPopupProxy.json +2 -2
  342. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
  343. package/src/components/radio/QRadio.json +5 -5
  344. package/src/components/range/QRange.json +3 -7
  345. package/src/components/rating/QRating.json +16 -19
  346. package/src/components/resize-observer/QResizeObserver.json +2 -2
  347. package/src/components/scroll-area/QScrollArea.js +1 -1
  348. package/src/components/scroll-area/QScrollArea.json +12 -12
  349. package/src/components/scroll-observer/QScrollObserver.json +4 -4
  350. package/src/components/select/QSelect.js +0 -0
  351. package/src/components/select/QSelect.json +55 -59
  352. package/src/components/select/__tests__/QSelect.cy.js +21 -1
  353. package/src/components/separator/QSeparator.json +3 -5
  354. package/src/components/skeleton/QSkeleton.json +14 -16
  355. package/src/components/slide-item/QSlideItem.js +1 -1
  356. package/src/components/slide-item/QSlideItem.json +2 -2
  357. package/src/components/slide-transition/QSlideTransition.json +1 -1
  358. package/src/components/slider/QSlider.json +2 -4
  359. package/src/components/slider/use-slider.js +1 -1
  360. package/src/components/slider/use-slider.json +18 -22
  361. package/src/components/spinner/QSpinner.json +1 -1
  362. package/src/components/spinner/QSpinnerAudio.json +1 -1
  363. package/src/components/spinner/QSpinnerBall.json +1 -1
  364. package/src/components/spinner/QSpinnerBars.json +1 -1
  365. package/src/components/spinner/QSpinnerBox.json +1 -1
  366. package/src/components/spinner/QSpinnerClock.json +1 -1
  367. package/src/components/spinner/QSpinnerComment.json +1 -1
  368. package/src/components/spinner/QSpinnerCube.json +1 -1
  369. package/src/components/spinner/QSpinnerDots.json +1 -1
  370. package/src/components/spinner/QSpinnerFacebook.json +1 -1
  371. package/src/components/spinner/QSpinnerGears.json +1 -1
  372. package/src/components/spinner/QSpinnerGrid.json +1 -1
  373. package/src/components/spinner/QSpinnerHearts.json +1 -1
  374. package/src/components/spinner/QSpinnerHourglass.json +1 -1
  375. package/src/components/spinner/QSpinnerInfinity.json +1 -1
  376. package/src/components/spinner/QSpinnerIos.json +1 -1
  377. package/src/components/spinner/QSpinnerOrbit.json +1 -1
  378. package/src/components/spinner/QSpinnerOval.json +1 -1
  379. package/src/components/spinner/QSpinnerPie.json +1 -1
  380. package/src/components/spinner/QSpinnerPuff.json +1 -1
  381. package/src/components/spinner/QSpinnerRadio.json +1 -1
  382. package/src/components/spinner/QSpinnerRings.json +1 -1
  383. package/src/components/spinner/QSpinnerTail.json +1 -1
  384. package/src/components/splitter/QSplitter.js +1 -1
  385. package/src/components/splitter/QSplitter.json +14 -14
  386. package/src/components/stepper/QStep.json +4 -10
  387. package/src/components/stepper/QStepper.json +1 -3
  388. package/src/components/stepper/StepHeader.js +1 -1
  389. package/src/components/table/QTable.js +1 -1
  390. package/src/components/table/QTable.json +113 -126
  391. package/src/components/table/QTd.json +1 -1
  392. package/src/components/table/QTh.json +1 -1
  393. package/src/components/table/QTr.json +1 -1
  394. package/src/components/tabs/QRouteTab.json +1 -1
  395. package/src/components/tabs/QTab.json +6 -13
  396. package/src/components/tabs/QTabs.json +8 -8
  397. package/src/components/tabs/use-tab.js +1 -1
  398. package/src/components/time/QTime.js +1 -1
  399. package/src/components/time/QTime.json +10 -22
  400. package/src/components/timeline/QTimeline.json +4 -4
  401. package/src/components/timeline/QTimelineEntry.json +11 -11
  402. package/src/components/tooltip/QTooltip.json +17 -20
  403. package/src/components/tree/QTree.json +26 -26
  404. package/src/components/uploader/QUploader.json +4 -4
  405. package/src/components/uploader/xhr-uploader-plugin.json +12 -12
  406. package/src/components/video/QVideo.json +15 -19
  407. package/src/components/virtual-scroll/QVirtualScroll.json +7 -10
  408. package/src/components/virtual-scroll/use-virtual-scroll.json +9 -8
  409. package/src/composables/private/use-anchor.json +6 -6
  410. package/src/composables/private/use-field.json +8 -11
  411. package/src/composables/private/use-file.js +1 -1
  412. package/src/composables/private/use-file.json +6 -8
  413. package/src/composables/private/use-form.json +1 -1
  414. package/src/composables/private/use-form.test.js +93 -0
  415. package/src/composables/private/use-fullscreen.json +1 -3
  416. package/src/composables/private/use-key-composition.js +1 -1
  417. package/src/composables/private/use-panel.child.json +1 -3
  418. package/src/composables/private/use-panel.js +1 -1
  419. package/src/composables/private/use-panel.json +12 -12
  420. package/src/composables/private/use-portal.js +16 -1
  421. package/src/composables/private/use-ratio.json +4 -3
  422. package/src/composables/private/use-ratio.test.js +27 -0
  423. package/src/composables/private/use-router-link.json +6 -6
  424. package/src/composables/private/use-size.json +1 -1
  425. package/src/composables/private/use-size.test.js +22 -0
  426. package/src/composables/private/use-transition.json +3 -3
  427. package/src/composables/private/use-validate.json +6 -6
  428. package/src/composables/use-hydration.js +1 -1
  429. package/src/composables/use-id.js +1 -1
  430. package/src/composables/use-id.test.js +55 -0
  431. package/src/composables/use-interval.js +36 -0
  432. package/src/composables/use-meta.js +1 -1
  433. package/src/composables/use-timeout.js +4 -1
  434. package/src/composables.js +2 -0
  435. package/src/css/index.sass +6 -6
  436. package/src/directives/{ClosePopup.js → close-popup/ClosePopup.js} +4 -4
  437. package/src/directives/{ClosePopup.json → close-popup/ClosePopup.json} +5 -5
  438. package/src/directives/{Intersection.js → intersection/Intersection.js} +3 -3
  439. package/src/directives/{Intersection.json → intersection/Intersection.json} +4 -6
  440. package/src/directives/{Morph.js → morph/Morph.js} +2 -2
  441. package/src/directives/{Morph.json → morph/Morph.json} +20 -20
  442. package/src/directives/{Mutation.js → mutation/Mutation.js} +2 -2
  443. package/src/directives/{Mutation.json → mutation/Mutation.json} +10 -12
  444. package/src/directives/{Ripple.js → ripple/Ripple.js} +6 -6
  445. package/src/directives/{Ripple.json → ripple/Ripple.json} +7 -13
  446. package/src/directives/{Scroll.js → scroll/Scroll.js} +4 -4
  447. package/src/directives/{Scroll.json → scroll/Scroll.json} +2 -2
  448. package/src/directives/{ScrollFire.js → scroll-fire/ScrollFire.js} +6 -6
  449. package/src/directives/{ScrollFire.json → scroll-fire/ScrollFire.json} +1 -1
  450. package/src/directives/{TouchHold.js → touch-hold/TouchHold.js} +5 -5
  451. package/src/directives/{TouchHold.json → touch-hold/TouchHold.json} +6 -6
  452. package/src/directives/{TouchPan.js → touch-pan/TouchPan.js} +6 -6
  453. package/src/directives/{TouchPan.json → touch-pan/TouchPan.json} +4 -4
  454. package/src/directives/{TouchRepeat.js → touch-repeat/TouchRepeat.js} +6 -6
  455. package/src/directives/{TouchRepeat.json → touch-repeat/TouchRepeat.json} +4 -4
  456. package/src/directives/{TouchSwipe.js → touch-swipe/TouchSwipe.js} +6 -6
  457. package/src/directives/{TouchSwipe.json → touch-swipe/TouchSwipe.json} +4 -4
  458. package/src/directives.js +11 -11
  459. package/src/history.js +1 -1
  460. package/src/install-quasar.js +3 -3
  461. package/src/plugins/{AddressbarColor.js → addressbar/AddressbarColor.js} +3 -3
  462. package/src/plugins/{AddressbarColor.json → addressbar/AddressbarColor.json} +1 -1
  463. package/src/plugins/{AppFullscreen.js → app-fullscreen/AppFullscreen.js} +2 -2
  464. package/src/plugins/{AppVisibility.js → app-visibility/AppVisibility.js} +2 -2
  465. package/src/plugins/{BottomSheet.js → bottom-sheet/BottomSheet.js} +2 -2
  466. package/src/plugins/{BottomSheet.json → bottom-sheet/BottomSheet.json} +10 -10
  467. package/src/{components/dialog-bottom-sheet/BottomSheet.js → plugins/bottom-sheet/component/BottomSheetComponent.js} +10 -10
  468. package/src/plugins/{Cookies.json → cookies/Cookies.json} +14 -16
  469. package/src/plugins/{Dark.js → dark/Dark.js} +1 -1
  470. package/src/plugins/{Dark.json → dark/Dark.json} +3 -3
  471. package/src/plugins/{Dialog.js → dialog/Dialog.js} +2 -2
  472. package/src/plugins/{Dialog.json → dialog/Dialog.json} +15 -15
  473. package/src/{components/dialog-plugin/DialogPlugin.js → plugins/dialog/component/DialogPluginComponent.js} +14 -14
  474. package/src/plugins/{Loading.js → loading/Loading.js} +7 -6
  475. package/src/plugins/{Loading.json → loading/Loading.json} +15 -15
  476. package/src/plugins/{LoadingBar.js → loading-bar/LoadingBar.js} +6 -6
  477. package/src/plugins/{LoadingBar.json → loading-bar/LoadingBar.json} +1 -1
  478. package/src/plugins/{LocalStorage.js → local-storage/LocalStorage.js} +2 -2
  479. package/src/plugins/{Meta.js → meta/Meta.js} +2 -2
  480. package/src/plugins/{Notify.js → notify/Notify.js} +11 -10
  481. package/src/plugins/{Notify.json → notify/Notify.json} +52 -68
  482. package/src/plugins/{Platform.js → platform/Platform.js} +3 -9
  483. package/src/plugins/{Platform.json → platform/Platform.json} +6 -10
  484. package/src/plugins/{Screen.js → screen/Screen.js} +4 -4
  485. package/src/plugins/{Screen.json → screen/Screen.json} +6 -12
  486. package/src/plugins/{SessionStorage.js → session-storage/SessionStorage.js} +2 -2
  487. package/src/plugins.js +15 -15
  488. package/src/utils/create-meta-mixin.js +1 -1
  489. package/src/utils/open-url.js +1 -1
  490. package/src/utils/prevent-scroll.js +1 -1
  491. package/src/utils/private/escape-key.js +1 -1
  492. package/src/utils/private/focusout.js +1 -1
  493. package/src/utils/private/global-dialog.json +2 -2
  494. package/src/utils/private/position-engine.js +1 -1
  495. package/src/utils/private/selection.js +1 -1
  496. package/src/utils/private/web-storage.json +8 -10
  497. package/src/components/avatar/__tests__/QAvatar.cy.js +0 -120
  498. package/src/components/badge/__tests__/QBadge.cy.js +0 -148
  499. package/src/components/banner/__tests__/QBanner.cy.js +0 -106
  500. package/src/components/bar/__tests__/QBar.cy.js +0 -45
  501. package/src/components/breadcrumbs/__tests__/QBreadcrumbs.cy.js +0 -111
  502. package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.cy.js +0 -87
  503. package/src/components/btn/__tests__/QBtn.cy.js +0 -128
  504. package/src/components/btn/__tests__/use-btn.cy.js +0 -517
  505. package/src/components/chip/__tests__/QChip.cy.js +0 -480
  506. package/src/components/dialog/__tests__/DialogWrapper.vue +0 -33
  507. package/src/components/dialog/__tests__/QDialog.cy.js +0 -543
  508. package/src/components/tabs/__tests__/QRouteTab.cy.js +0 -9
  509. /package/src/components/breadcrumbs/{__tests__ → test}/BasicBreadcrumbs.vue +0 -0
  510. /package/src/components/breadcrumbs/{__tests__ → test}/BreadcrumbWithSeparatorSlot.vue +0 -0
  511. /package/src/components/spinner/{__spinner-mixin.json → spinner.json} +0 -0
  512. /package/src/directives/{Morph.sass → morph/Morph.sass} +0 -0
  513. /package/src/directives/{Ripple.sass → ripple/Ripple.sass} +0 -0
  514. /package/src/plugins/{AppFullscreen.json → app-fullscreen/AppFullscreen.json} +0 -0
  515. /package/src/plugins/{AppVisibility.json → app-visibility/AppVisibility.json} +0 -0
  516. /package/src/{components/dialog-bottom-sheet/BottomSheet.sass → plugins/bottom-sheet/component/BottomSheetComponent.sass} +0 -0
  517. /package/src/plugins/{Cookies.js → cookies/Cookies.js} +0 -0
  518. /package/src/{components/dialog-plugin/DialogPlugin.sass → plugins/dialog/component/DialogPluginComponent.sass} +0 -0
  519. /package/src/plugins/{Loading.sass → loading/Loading.sass} +0 -0
  520. /package/src/plugins/{LocalStorage.json → local-storage/LocalStorage.json} +0 -0
  521. /package/src/plugins/{Meta.json → meta/Meta.json} +0 -0
  522. /package/src/plugins/{Notify.sass → notify/Notify.sass} +0 -0
  523. /package/src/plugins/{SessionStorage.json → session-storage/SessionStorage.json} +0 -0
@@ -0,0 +1,534 @@
1
+ import { mount } from '@vue/test-utils'
2
+ import { describe, test, expect, vi } from 'vitest'
3
+
4
+ import QChip, { defaultSizes } from './QChip.js'
5
+
6
+ const defaultOptions = {
7
+ label: 'simple chip'
8
+ }
9
+
10
+ const chipSizeValues = Object.keys(defaultSizes)
11
+
12
+ function mountQChip (options = {}) {
13
+ options.props = {
14
+ ...defaultOptions,
15
+ ...options.props
16
+ }
17
+
18
+ return mount(QChip, options)
19
+ }
20
+
21
+ describe('[QChip API]', () => {
22
+ describe('[Props]', () => {
23
+ describe('[(prop)icon]', () => {
24
+ test('should render an icon on the left', () => {
25
+ const icon = 'add'
26
+ const wrapper = mountQChip({
27
+ props: {
28
+ icon
29
+ }
30
+ })
31
+
32
+ expect(
33
+ wrapper.get('.q-chip')
34
+ .get('.q-icon.q-chip__icon--left')
35
+ .text()
36
+ ).toBe(icon)
37
+ })
38
+ })
39
+
40
+ describe('[(prop)icon-right]', () => {
41
+ test('should render an icon on the right', () => {
42
+ const icon = 'add'
43
+ const wrapper = mountQChip({
44
+ props: {
45
+ iconRight: icon
46
+ }
47
+ })
48
+
49
+ expect(
50
+ wrapper.get('.q-chip')
51
+ .get('.q-icon.q-chip__icon--right')
52
+ .text()
53
+ ).toBe(icon)
54
+ })
55
+ })
56
+
57
+ describe('[(prop)icon-remove]', () => {
58
+ test('should render a custom remove icon', () => {
59
+ const icon = 'delete'
60
+ const wrapper = mountQChip({
61
+ props: {
62
+ removable: true,
63
+ iconRemove: icon
64
+ }
65
+ })
66
+
67
+ expect(
68
+ wrapper.get('.q-chip')
69
+ .get('.q-icon.q-chip__icon--remove')
70
+ .text()
71
+ ).toBe(icon)
72
+ })
73
+ })
74
+
75
+ describe('[(prop)icon-selected]', () => {
76
+ test('should render a custom selected icon when one provided', () => {
77
+ const icon = 'done'
78
+ const wrapper = mountQChip({
79
+ props: {
80
+ selected: true,
81
+ iconSelected: icon
82
+ }
83
+ })
84
+
85
+ expect(
86
+ wrapper.get('.q-chip.q-chip--selected')
87
+ .get('.q-icon')
88
+ .text()
89
+ ).toBe(icon)
90
+ })
91
+ })
92
+
93
+ describe('[(prop)label]', () => {
94
+ test('should render a label inside the chip', () => {
95
+ const label = 'Chip label'
96
+ const wrapper = mountQChip({
97
+ props: {
98
+ label
99
+ }
100
+ })
101
+
102
+ expect(
103
+ wrapper.get('.q-chip')
104
+ .get('.q-chip__content')
105
+ .text()
106
+ ).toBe(label)
107
+ })
108
+ })
109
+
110
+ describe('[(prop)tabindex]', () => {
111
+ test('should set the tabindex', () => {
112
+ const tabindex = 1
113
+ const wrapper = mountQChip({
114
+ props: {
115
+ clickable: true,
116
+ tabindex
117
+ }
118
+ })
119
+
120
+ expect(
121
+ wrapper.get('.q-chip')
122
+ .attributes('tabindex')
123
+ ).toBe(`${ tabindex }`)
124
+ })
125
+ })
126
+
127
+ describe('[(prop)model-value]', () => {
128
+ test('should render when "modelValue" prop is true', () => {
129
+ const wrapper = mountQChip({
130
+ props: {
131
+ modelValue: true
132
+ }
133
+ })
134
+
135
+ expect(
136
+ wrapper.find('.q-chip')
137
+ .exists()
138
+ ).toBe(true)
139
+ })
140
+
141
+ test('should not render when "modelValue" prop is false', async () => {
142
+ const wrapper = mountQChip({
143
+ props: {
144
+ modelValue: false
145
+ }
146
+ })
147
+
148
+ expect(
149
+ wrapper.find('.q-chip')
150
+ .exists()
151
+ ).toBe(false)
152
+ })
153
+ })
154
+
155
+ describe('[(prop)selected]', () => {
156
+ test('should be selected when "selected" prop is true', () => {
157
+ const wrapper = mountQChip({
158
+ props: {
159
+ selected: true
160
+ }
161
+ })
162
+
163
+ expect(
164
+ wrapper.find('.q-chip.q-chip--selected')
165
+ .exists()
166
+ ).toBe(true)
167
+ })
168
+
169
+ test('should not be selected when "selected" prop is false', () => {
170
+ const wrapper = mountQChip({
171
+ props: {
172
+ selected: false
173
+ }
174
+ })
175
+
176
+ expect(
177
+ wrapper.get('.q-chip')
178
+ .classes()
179
+ ).not.toContain('q-chip--selected')
180
+ })
181
+ })
182
+
183
+ describe('[(prop)clickable]', () => {
184
+ test('should have hover effects and emit "click" event when "clickable" prop is true', () => {
185
+ const fn = vi.fn()
186
+ const wrapper = mountQChip({
187
+ props: {
188
+ clickable: true,
189
+ onClick: fn
190
+ }
191
+ })
192
+
193
+ expect(
194
+ wrapper.get('.q-chip')
195
+ .$computedStyle('cursor')
196
+ ).toBe('pointer')
197
+
198
+ wrapper.get('.q-chip')
199
+ .trigger('click')
200
+
201
+ expect(fn).toHaveBeenCalledTimes(1)
202
+ })
203
+ })
204
+
205
+ describe('[(prop)removable]', () => {
206
+ test('should display a remove icon emitting a "remove" event when clicked', () => {
207
+ const fn = vi.fn()
208
+ const wrapper = mountQChip({
209
+ props: {
210
+ removable: true,
211
+ onRemove: fn
212
+ }
213
+ })
214
+
215
+ wrapper.get('.q-chip')
216
+ .get('.q-icon.q-chip__icon--remove')
217
+ .trigger('click')
218
+
219
+ expect(fn).toHaveBeenCalledTimes(1)
220
+ })
221
+ })
222
+
223
+ describe('[(prop)disable]', () => {
224
+ test('should not have hover effect and not emit "click" event when "disable" prop is true', () => {
225
+ const fn = vi.fn()
226
+ const wrapper = mountQChip({
227
+ props: {
228
+ disable: true,
229
+ onClick: fn
230
+ }
231
+ })
232
+
233
+ expect(
234
+ wrapper.get('.q-chip')
235
+ .$computedStyle('cursor')
236
+ ).not.toBe('pointer')
237
+
238
+ wrapper.get('.q-chip')
239
+ .trigger('click')
240
+
241
+ expect(fn).not.toHaveBeenCalled()
242
+ })
243
+ })
244
+
245
+ describe('[(prop)dense]', () => {
246
+ test('should have a dense style when "dense" prop is true', () => {
247
+ const wrapper = mountQChip({
248
+ props: { dense: true }
249
+ })
250
+
251
+ expect(
252
+ wrapper.find('.q-chip.q-chip--dense')
253
+ .exists()
254
+ ).toBe(true)
255
+ })
256
+ })
257
+
258
+ describe('[(prop)size]', () => {
259
+ test('should change QChip size based on a CSS unit value', () => {
260
+ const size = '50px'
261
+ const wrapper = mountQChip({
262
+ props: { size }
263
+ })
264
+
265
+ expect(
266
+ wrapper.get('.q-chip')
267
+ .$style()
268
+ ).toContain(`font-size: ${ size };`)
269
+ })
270
+
271
+ test(`should change QChip size based defined values: ${ chipSizeValues.join(', ') }`, () => {
272
+ // loop over chipSizeValues
273
+ for (const key of chipSizeValues) {
274
+ const wrapper = mountQChip({
275
+ props: { size: key }
276
+ })
277
+
278
+ expect(
279
+ wrapper.get('.q-chip')
280
+ .$style()
281
+ ).toContain(`font-size: ${ defaultSizes[ key ] }px;`)
282
+ }
283
+ })
284
+ })
285
+
286
+ describe('[(prop)dark]', () => {
287
+ test('should have a dark style when "dark" prop is true', () => {
288
+ const wrapper = mountQChip({
289
+ props: {
290
+ dark: true
291
+ }
292
+ })
293
+
294
+ const cls = wrapper.get('.q-chip').classes()
295
+ expect(cls).toContain('q-dark')
296
+ expect(cls).toContain('q-chip--dark')
297
+ })
298
+ })
299
+
300
+ describe('[(prop)color]', () => {
301
+ test('should change color based on Quasar Color Palette', () => {
302
+ const color = 'red'
303
+ const wrapper = mountQChip({
304
+ props: { color }
305
+ })
306
+
307
+ expect(
308
+ wrapper.get('.q-chip')
309
+ .classes()
310
+ ).toContain(`bg-${ color }`)
311
+ })
312
+ })
313
+
314
+ describe('[(prop)text-color]', () => {
315
+ test('should change text color based on Quasar Color Palette', () => {
316
+ const textColor = 'red'
317
+ const wrapper = mountQChip({
318
+ props: { textColor }
319
+ })
320
+
321
+ const cls = wrapper.get('.q-chip').classes()
322
+ expect(cls).toContain(`text-${ textColor }`)
323
+ expect(cls).toContain('q-chip--colored')
324
+ })
325
+ })
326
+
327
+ describe('[(prop)square]', () => {
328
+ test('should have a square style when "square" prop is true', () => {
329
+ const wrapper = mountQChip({
330
+ props: {
331
+ square: true
332
+ }
333
+ })
334
+
335
+ expect(
336
+ wrapper.get('.q-chip')
337
+ .classes()
338
+ ).toContain('q-chip--square')
339
+ })
340
+ })
341
+
342
+ describe('[(prop)outline]', () => {
343
+ test('should have a outline style when "outline" prop is true', () => {
344
+ const wrapper = mountQChip({
345
+ props: {
346
+ outline: true
347
+ }
348
+ })
349
+
350
+ expect(
351
+ wrapper.get('.q-chip')
352
+ .classes()
353
+ ).toContain('q-chip--outline')
354
+ })
355
+ })
356
+
357
+ describe('[(prop)ripple]', () => {
358
+ test('should have a ripple effect when "ripple" prop is true', () => {
359
+ const wrapper = mountQChip({
360
+ props: {
361
+ ripple: true
362
+ }
363
+ })
364
+
365
+ wrapper.get('.q-chip')
366
+ .trigger('click')
367
+
368
+ expect(
369
+ wrapper.get('.q-chip')
370
+ .find('.q-ripple')
371
+ .exists()
372
+ ).toBe(true)
373
+ })
374
+
375
+ test('should not have a ripple effect when "ripple" prop is false', () => {
376
+ const wrapper = mountQChip({
377
+ props: {
378
+ ripple: false
379
+ }
380
+ })
381
+
382
+ wrapper.get('.q-chip')
383
+ .trigger('click')
384
+
385
+ expect(
386
+ wrapper.get('.q-chip')
387
+ .find('.q-ripple')
388
+ .exists()
389
+ ).toBe(false)
390
+ })
391
+ })
392
+
393
+ describe.todo('(prop): remove-aria-label', () => {
394
+ test(' ', () => {
395
+ //
396
+ })
397
+ })
398
+ })
399
+
400
+ describe('[Slots]', () => {
401
+ describe('[(slot)default]', () => {
402
+ test('should display the default slot content', () => {
403
+ const wrapper = mountQChip({
404
+ props: {
405
+ label: undefined
406
+ },
407
+
408
+ slots: {
409
+ default: 'Default Slot Content'
410
+ }
411
+ })
412
+
413
+ expect(
414
+ wrapper.get('.q-chip__content')
415
+ .text()
416
+ ).toBe('Default Slot Content')
417
+ })
418
+ })
419
+ })
420
+
421
+ describe('[Events]', () => {
422
+ describe('[(event)click]', () => {
423
+ test('should emit "click" event when clicked and "clickable" prop is true', () => {
424
+ const fn = vi.fn()
425
+ const wrapper = mountQChip({
426
+ props: {
427
+ clickable: true,
428
+ onClick: fn
429
+ }
430
+ })
431
+
432
+ wrapper.get('.q-chip')
433
+ .trigger('click')
434
+
435
+ expect(fn).toHaveBeenCalledTimes(1)
436
+ })
437
+
438
+ test('should not emit "click" event when "clickable" prop is false', () => {
439
+ const fn = vi.fn()
440
+ const wrapper = mountQChip({
441
+ props: {
442
+ clickable: false,
443
+ onClick: fn
444
+ }
445
+ })
446
+
447
+ wrapper.get('.q-chip')
448
+ .trigger('click')
449
+
450
+ expect(fn).not.toHaveBeenCalled()
451
+ })
452
+ })
453
+
454
+ describe('[(event): update:selected]', () => {
455
+ test('should update selected value when called', () => {
456
+ const fn = vi.fn()
457
+ const wrapper = mountQChip({
458
+ props: {
459
+ selected: false,
460
+ 'onUpdate:selected': fn
461
+ }
462
+ })
463
+
464
+ wrapper.get('.q-chip')
465
+ .trigger('click')
466
+
467
+ expect(
468
+ wrapper.find('.q-chip')
469
+ .exists()
470
+ ).toBe(true)
471
+
472
+ expect(fn).toHaveBeenCalledTimes(1)
473
+ })
474
+
475
+ test('should not emit update:selected event when "selected" prop is not set', () => {
476
+ const fn = vi.fn()
477
+ const wrapper = mountQChip({
478
+ props: {
479
+ selected: undefined,
480
+ 'onUpdate:selected': fn
481
+ }
482
+ })
483
+
484
+ wrapper.get('.q-chip')
485
+ .trigger('click')
486
+
487
+ expect(
488
+ wrapper.find('.q-chip')
489
+ .exists()
490
+ ).toBe(true)
491
+
492
+ expect(fn).not.toHaveBeenCalled()
493
+ })
494
+ })
495
+
496
+ describe('[(event)remove]', () => {
497
+ test('should emit remove event when clicked and "removable" prop is true', () => {
498
+ const fn = vi.fn()
499
+ const wrapper = mountQChip({
500
+ props: {
501
+ removable: true,
502
+ onRemove: fn
503
+ }
504
+ })
505
+
506
+ wrapper.get('.q-chip')
507
+ .get('.q-icon.q-chip__icon--remove')
508
+ .trigger('click')
509
+
510
+ expect(fn).toHaveBeenCalledTimes(1)
511
+ })
512
+
513
+ test('should not emit remove event when "removable" prop is false', () => {
514
+ const fn = vi.fn()
515
+ const wrapper = mountQChip({
516
+ props: {
517
+ removable: false,
518
+ onRemove: fn
519
+ }
520
+ })
521
+
522
+ wrapper.get('.q-chip')
523
+ .trigger('click')
524
+
525
+ expect(
526
+ wrapper.find('.q-chip')
527
+ .exists()
528
+ ).toBe(true)
529
+
530
+ expect(fn).not.toHaveBeenCalled()
531
+ })
532
+ })
533
+ })
534
+ })
@@ -8,21 +8,21 @@
8
8
  "props": {
9
9
  "value": {
10
10
  "type": "Number",
11
- "default": 0,
11
+ "default": "0",
12
12
  "desc": "Current progress (must be between min/max)",
13
13
  "category": "model"
14
14
  },
15
15
 
16
16
  "min": {
17
17
  "type": "Number",
18
- "default": 0,
18
+ "default": "0",
19
19
  "desc": "Minimum value defining 'no progress' (must be lower than 'max')",
20
20
  "category": "model"
21
21
  },
22
22
 
23
23
  "max": {
24
24
  "type": "Number",
25
- "default": 100,
25
+ "default": "100",
26
26
  "desc": "Maximum value defining 100% progress made (must be higher than 'min')",
27
27
  "category": "model"
28
28
  },
@@ -45,8 +45,8 @@
45
45
  "font-size": {
46
46
  "type": "String",
47
47
  "desc": "Size of text in CSS units, including unit name. Suggestion: use 'em' units to sync with component size",
48
- "default": "0.25em",
49
- "examples": [ "1em", "16px", "2rem" ],
48
+ "default": "'0.25em'",
49
+ "examples": [ "'1em'", "'16px'", "'2rem'" ],
50
50
  "category": "style"
51
51
  },
52
52
 
@@ -59,7 +59,7 @@
59
59
 
60
60
  "thickness": {
61
61
  "type": "Number",
62
- "default": 0.2,
62
+ "default": "0.2",
63
63
  "desc": "Thickness of progress arc as a ratio (0.0 < x < 1.0) of component size",
64
64
  "category": "style"
65
65
  },
@@ -67,7 +67,7 @@
67
67
  "angle": {
68
68
  "type": "Number",
69
69
  "desc": "Angle to rotate progress arc by",
70
- "default": 0,
70
+ "default": "0",
71
71
  "category": "content"
72
72
  },
73
73
 
@@ -97,7 +97,7 @@
97
97
 
98
98
  "animation-speed": {
99
99
  "extends": "animation-speed",
100
- "default": 600,
100
+ "default": "600",
101
101
  "addedIn": "v2.3"
102
102
  }
103
103
  },
@@ -1,6 +1,6 @@
1
1
  import { h, ref, computed, watch, nextTick, getCurrentInstance } from 'vue'
2
2
 
3
- import TouchPan from '../../directives/TouchPan.js'
3
+ import TouchPan from '../../directives/touch-pan/TouchPan.js'
4
4
 
5
5
  import QSlider from '../slider/QSlider.js'
6
6
  import QIcon from '../icon/QIcon.js'
@@ -304,7 +304,7 @@ export default createComponent({
304
304
  }
305
305
 
306
306
  function onHueChange (val) {
307
- onHueChange(val, true)
307
+ onHue(val, true)
308
308
  }
309
309
 
310
310
  function onNumericChange (value, formatModel, max, evt, change) {
@@ -9,39 +9,37 @@
9
9
  "model-value": {
10
10
  "extends": "model-value",
11
11
  "type": [ "String", "null", "undefined" ],
12
- "examples": [ "v-model=\"myColor\"" ]
12
+ "examples": [ "# v-model=\"myColor\"" ]
13
13
  },
14
14
 
15
15
  "default-value": {
16
16
  "type": "String",
17
17
  "desc": "The default value to show when the model doesn't have one",
18
- "examples": [ "default-value=\"#c0c0c0\"" ],
18
+ "examples": [ "'#c0c0c0'" ],
19
19
  "category": "model"
20
20
  },
21
21
 
22
22
  "default-view": {
23
23
  "type": "String",
24
24
  "desc": "The default view of the picker",
25
- "default": "spectrum",
26
- "values": [ "spectrum", "tune", "palette" ],
25
+ "default": "'spectrum'",
26
+ "values": [ "'spectrum'", "'tune'", "'palette'" ],
27
27
  "category": "behavior"
28
28
  },
29
29
 
30
30
  "format-model": {
31
31
  "type": "String",
32
32
  "desc": "Forces a certain model format upon the model",
33
- "default": "auto",
34
- "values": [ "auto", "hex", "rgb", "hexa", "rgba" ],
33
+ "default": "'auto'",
34
+ "values": [ "'auto'", "'hex'", "'rgb'", "'hexa'", "'rgba'" ],
35
35
  "category": "model"
36
36
  },
37
37
 
38
38
  "palette": {
39
39
  "type": "Array",
40
40
  "desc": "Use a custom palette of colors for the palette tab",
41
- "default": "(hard-coded palette)",
42
- "examples": [
43
- ":palette=\"[ '#019A9D', '#D9B801', 'rgb(23,120,0)', '#B2028A' ]\""
44
- ],
41
+ "default": "# hard-coded palette",
42
+ "examples": [ "[ '#019A9D', '#D9B801', 'rgb(23,120,0)', '#B2028A' ]" ],
45
43
  "category": "content"
46
44
  },
47
45