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
@@ -1,128 +0,0 @@
1
- import QBtn from '../QBtn.js'
2
-
3
- const defaultOptions = {
4
- label: 'simple Btn'
5
- }
6
-
7
- function mountQBtn (options = {}) {
8
- options.props = {
9
- ...defaultOptions,
10
- ...options.props
11
- }
12
-
13
- return cy.mount(QBtn, options)
14
- }
15
-
16
- describe('Btn API', () => {
17
- describe('Props', () => {
18
- describe('Category: behavior', () => {
19
- describe('(prop): percentage', () => {
20
- it('should render a button with a percentage when "loading" prop is set to true', () => {
21
- const percentage = 50
22
-
23
- mountQBtn({
24
- props: {
25
- percentage,
26
- loading: true
27
- }
28
- })
29
-
30
- cy.get('.q-btn').should('have.attr', 'aria-valuenow', percentage)
31
- })
32
- })
33
-
34
- describe('(prop): dark-percentage', () => {
35
- it('should render a button with a dark percentage when "loading" prop is set to true', () => {
36
- const percentage = 50
37
-
38
- mountQBtn({
39
- props: {
40
- percentage,
41
- loading: true,
42
- darkPercentage: true
43
- }
44
- })
45
-
46
- cy.get('.q-btn').should('have.attr', 'aria-valuenow', percentage)
47
- .get('.q-btn__progress').should('have.class', 'q-btn__progress--dark')
48
- })
49
- })
50
- })
51
-
52
- describe('Category: style', () => {
53
- describe('(prop): round', () => {
54
- it('should render a circle shaped button when "round" prop is set to true', () => {
55
- mountQBtn({
56
- props: {
57
- round: true
58
- }
59
- })
60
-
61
- cy.get('.q-btn').should('have.class', 'q-btn--round')
62
- })
63
- })
64
- })
65
- })
66
-
67
- describe('Slots', () => {
68
- describe('(slot): default', () => {
69
- it('should render a button with a label', () => {
70
- mountQBtn()
71
-
72
- cy.get('.q-btn').should('contain', defaultOptions.label)
73
- })
74
- })
75
-
76
- describe('(slot): loading', () => {
77
- it('should render a button with a loading slot', () => {
78
- const loadingSlot = 'loading slot'
79
-
80
- mountQBtn({
81
- props: {
82
- loading: true
83
- },
84
- slots: {
85
- loading: loadingSlot
86
- }
87
- })
88
-
89
- cy.get('.q-btn').should('contain', loadingSlot).contains(defaultOptions.label).should('not.be.visible')
90
- })
91
- })
92
- })
93
-
94
- describe('Events', () => {
95
- describe('(event): click', () => {
96
- it('should emit a click event when the button is clicked', () => {
97
- const fn = cy.stub()
98
-
99
- mountQBtn({
100
- props: {
101
- onClick: fn
102
- }
103
- })
104
-
105
- cy.get('.q-btn').click()
106
- cy.get('.q-btn')
107
- .then(() => expect(fn).to.be.calledOnce)
108
- })
109
- })
110
- })
111
-
112
- describe('Methods', () => {
113
- describe('(method): click', () => {
114
- it('should click the button', () => {
115
- const fn = cy.stub()
116
-
117
- mountQBtn({
118
- props: {
119
- onClick: fn
120
- }
121
- }).then(({ wrapper }) => {
122
- wrapper.vm.click()
123
- return expect(fn).to.be.calledOnce
124
- })
125
- })
126
- })
127
- })
128
- })
@@ -1,517 +0,0 @@
1
- import { createMemoryHistory, createRouter } from 'vue-router'
2
- import { alignMap, alignValues } from '../../../composables/private/use-align.js'
3
- import QBtn from '../QBtn.js'
4
- import { btnPadding as paddingMap } from '../use-btn.js'
5
-
6
- const defaultOptions = {
7
- label: 'simple Btn'
8
- }
9
-
10
- const typesValues = [ 'button', 'submit', 'reset' ]
11
-
12
- const paddingValues = Object.keys(paddingMap)
13
-
14
- function mountQBtn (options = {}) {
15
- // Setup options object
16
- options.global = options.global || {}
17
- options.global.plugins = options.global.plugins || []
18
-
19
- options.props = {
20
- ...defaultOptions,
21
- ...options.props
22
- }
23
-
24
- if (!options.router) {
25
- options.router = createRouter({
26
- routes: [],
27
- history: createMemoryHistory()
28
- })
29
- }
30
-
31
- // Add router plugin
32
- options.global.plugins.push({
33
- install (app) {
34
- app.use(options.router)
35
- }
36
- })
37
-
38
- return cy.mount(QBtn, options)
39
- }
40
-
41
- describe('use-btn API', () => {
42
- describe('Props', () => {
43
- describe('Category: behavior|state', () => {
44
- describe('(prop): loading', () => {
45
- it('should render a button with "loading" slot when "loading" prop is set to true', () => {
46
- mountQBtn({
47
- props: {
48
- loading: true
49
- }
50
- })
51
-
52
- cy.get('.q-btn .q-spinner')
53
- })
54
- })
55
- })
56
-
57
- describe('Category: content', () => {
58
- describe('(prop): label', () => {
59
- it('should render a label inside the button', () => {
60
- const label = 'Custom Label'
61
- mountQBtn({
62
- props: {
63
- label
64
- }
65
- })
66
-
67
- cy.get('.q-btn').should('contain', label)
68
- })
69
- })
70
-
71
- describe('(prop): icon', () => {
72
- it('should render an icon on the left', () => {
73
- const icon = 'home'
74
-
75
- mountQBtn({
76
- props: {
77
- icon
78
- }
79
- })
80
-
81
- cy.get('.q-btn .on-left').should('contain', icon)
82
- })
83
- })
84
-
85
- describe('(prop): icon-right', () => {
86
- it('should render an icon on the right', () => {
87
- const iconRight = 'home'
88
-
89
- mountQBtn({
90
- props: {
91
- iconRight
92
- }
93
- })
94
-
95
- cy.get('.q-btn .on-right').should('contain', iconRight)
96
- })
97
- })
98
-
99
- describe('(prop): no-caps', () => {
100
- it('should render a button with no uppercase text', () => {
101
- mountQBtn({
102
- props: {
103
- noCaps: true
104
- }
105
- })
106
-
107
- cy.get('.q-btn')
108
- .should('have.class', 'q-btn--no-uppercase')
109
- })
110
- })
111
-
112
- describe('(prop): no-wrap', () => {
113
- it('should render a button with no wrapping text', () => {
114
- mountQBtn({
115
- props: {
116
- noWrap: true
117
- }
118
- })
119
-
120
- cy.get('.q-btn .q-btn__content')
121
- .should('have.class', 'no-wrap')
122
- .should('have.class', 'text-no-wrap')
123
- })
124
- })
125
-
126
- describe('(prop): align', () => {
127
- it(`should render a badge aligned based on defined values: ${ alignValues.join(', ') }`, () => {
128
- mountQBtn()
129
-
130
- for (const align of alignValues) {
131
- cy.get('.q-btn .q-btn__content')
132
- .then(() => Cypress.vueWrapper.setProps({ align }))
133
- .should('have.class', `justify-${ alignMap[ align ] }`)
134
- }
135
- })
136
- })
137
-
138
- describe('(prop): stack', () => {
139
- it('should render a button with icon and label stacked vertically', () => {
140
- mountQBtn({
141
- props: {
142
- stack: true
143
- }
144
- })
145
-
146
- cy.get('.q-btn .q-btn__content')
147
- .should('have.class', 'column')
148
- })
149
- })
150
-
151
- describe('(prop): stretch', () => {
152
- it('should render stretch height button when used in flexbox container', () => {
153
- mountQBtn({
154
- props: {
155
- stretch: true
156
- }
157
- })
158
-
159
- cy.get('.q-btn')
160
- .should('have.class', 'no-border-radius')
161
- .should('have.class', 'self-stretch')
162
- })
163
- })
164
- })
165
-
166
- describe('Category: general', () => {
167
- describe('(prop): type', () => {
168
- it(`should render a button with a type based on defined values: ${ typesValues.join(', ') }`, () => {
169
- mountQBtn()
170
-
171
- for (const type of typesValues) {
172
- cy.get('.q-btn')
173
- .then(() => Cypress.vueWrapper.setProps({ type }))
174
- .should('have.attr', 'type', type)
175
- }
176
- })
177
-
178
- it('should render a component with <a> tag when "type" prop is set to "a"', () => {
179
- mountQBtn({
180
- props: {
181
- type: 'a'
182
- }
183
- })
184
-
185
- cy.get('.q-btn')
186
- .should('have.prop', 'tagName').should('eq', 'A')
187
- })
188
- })
189
-
190
- describe('(prop): tabindex', () => {
191
- it('should set the tabindex', () => {
192
- const tabindex = 1
193
-
194
- mountQBtn({
195
- props: {
196
- tabindex
197
- }
198
- })
199
-
200
- cy.get('.q-btn')
201
- .should('have.attr', 'tabindex', tabindex)
202
- })
203
- })
204
- })
205
-
206
- describe('Category: navigation', () => {
207
- describe('(prop): to', () => {
208
- it('should render a component with <a> tag when "to" prop is set', () => {
209
- const link = '/test'
210
-
211
- mountQBtn({
212
- props: {
213
- to: link
214
- }
215
- })
216
-
217
- cy.get('.q-btn')
218
- .should('have.attr', 'href', link)
219
- .should('have.prop', 'tagName').should('eq', 'A')
220
- })
221
- })
222
-
223
- describe('(prop): replace', () => {
224
- it('should render a component with <a> tag when "replace" prop is set', () => {
225
- const link = '/test'
226
-
227
- mountQBtn({
228
- props: {
229
- to: link,
230
- replace: true
231
- }
232
- })
233
-
234
- cy.get('.q-btn')
235
- .should('have.attr', 'href', link)
236
- .should('have.prop', 'tagName').should('eq', 'A')
237
- })
238
- })
239
-
240
- describe('(prop): href', () => {
241
- it('should render a component with <a> tag when "href" attribute is set', () => {
242
- const href = 'https://quasar.dev'
243
-
244
- mountQBtn({
245
- props: {
246
- href
247
- }
248
- })
249
-
250
- cy.get('.q-btn')
251
- .should('have.attr', 'href', href)
252
- .should('have.prop', 'tagName').should('eq', 'A')
253
- })
254
- })
255
-
256
- describe('(prop): target', () => {
257
- it('should render a component with <a> tag when "href" and "target" attributes are set', () => {
258
- const href = 'https://quasar.dev'
259
-
260
- mountQBtn({
261
- props: {
262
- href,
263
- target: '_blank'
264
- }
265
- })
266
-
267
- cy.get('.q-btn')
268
- .should('have.attr', 'target', '_blank')
269
- .should('have.prop', 'tagName').should('eq', 'A')
270
- })
271
- })
272
- })
273
-
274
- describe('Category: state', () => {
275
- describe('(prop): disable', () => {
276
- it('should render a disabled button', () => {
277
- mountQBtn({
278
- props: {
279
- disable: true
280
- }
281
- })
282
-
283
- cy.get('.q-btn')
284
- .should('have.class', 'disabled')
285
- .should('have.attr', 'disabled')
286
- })
287
- })
288
- })
289
-
290
- describe('Category: style', () => {
291
- describe('(prop): outline', () => {
292
- it('should render a button with outline style', () => {
293
- mountQBtn({
294
- props: {
295
- outline: true
296
- }
297
- })
298
-
299
- cy.get('.q-btn')
300
- .should('have.class', 'q-btn--outline')
301
- })
302
- })
303
-
304
- describe('(prop): flat', () => {
305
- it('should render a button with flat style', () => {
306
- mountQBtn({
307
- props: {
308
- flat: true
309
- }
310
- })
311
-
312
- cy.get('.q-btn')
313
- .should('have.class', 'q-btn--flat')
314
- })
315
- })
316
-
317
- describe('(prop): unelevated', () => {
318
- it('should render a button with unelevated style', () => {
319
- mountQBtn({
320
- props: {
321
- unelevated: true
322
- }
323
- })
324
-
325
- cy.get('.q-btn')
326
- .should('have.class', 'q-btn--unelevated')
327
- })
328
- })
329
-
330
- describe('(prop): rounded', () => {
331
- it('should render a button with rounded style', () => {
332
- mountQBtn({
333
- props: {
334
- rounded: true
335
- }
336
- })
337
-
338
- cy.get('.q-btn')
339
- .should('have.class', 'q-btn--rounded')
340
- })
341
- })
342
-
343
- describe('(prop): push', () => {
344
- it('should render a button with push style', () => {
345
- mountQBtn({
346
- props: {
347
- push: true
348
- }
349
- })
350
-
351
- cy.get('.q-btn')
352
- .should('have.class', 'q-btn--push')
353
- })
354
- })
355
-
356
- describe('(prop): square', () => {
357
- it('should render a button with square style', () => {
358
- mountQBtn({
359
- props: {
360
- square: true
361
- }
362
- })
363
-
364
- cy.get('.q-btn')
365
- .should('have.class', 'q-btn--square')
366
- })
367
- })
368
-
369
- describe('(prop): glossy', () => {
370
- it('should render a button with glossy style', () => {
371
- mountQBtn({
372
- props: {
373
- glossy: true
374
- }
375
- })
376
-
377
- cy.get('.q-btn')
378
- .should('have.class', 'glossy')
379
- })
380
- })
381
-
382
- describe('(prop): fab', () => {
383
- it('should render a button with fab style', () => {
384
- mountQBtn({
385
- props: {
386
- fab: true
387
- }
388
- })
389
-
390
- cy.get('.q-btn')
391
- .should('have.class', 'q-btn--fab')
392
- })
393
- })
394
-
395
- describe('(prop): fab-mini', () => {
396
- it('should render a button with fab-mini style', () => {
397
- mountQBtn({
398
- props: {
399
- fabMini: true
400
- }
401
- })
402
-
403
- cy.get('.q-btn')
404
- .should('have.class', 'q-btn--fab-mini')
405
- })
406
- })
407
-
408
- describe('(prop): padding', () => {
409
- it(`should render a button with padding based on defined values: ${ paddingValues.join(', ') }`, () => {
410
- mountQBtn()
411
-
412
- for (const padding of paddingValues) {
413
- cy.get('.q-btn')
414
- .then(() => Cypress.vueWrapper.setProps({ padding }))
415
- .should('have.css', 'padding', `${ paddingMap[ padding ] }px`)
416
- }
417
- })
418
-
419
- it('should render a button with padding based custom value', () => {
420
- const padding = '10px'
421
-
422
- mountQBtn({
423
- props: {
424
- padding
425
- }
426
- })
427
-
428
- cy.get('.q-btn')
429
- .should('have.css', 'padding', padding)
430
- })
431
-
432
- it('should render a button with padding vertically and horizontally based on defined values" ', () => {
433
- mountQBtn()
434
-
435
- for (const paddingVertically of paddingValues) {
436
- for (const paddingHorizontally of paddingValues) {
437
- if (paddingVertically === paddingHorizontally) { continue }
438
-
439
- const padding = `${ paddingVertically } ${ paddingHorizontally }`
440
-
441
- cy.get('.q-btn')
442
- .then(() => Cypress.vueWrapper.setProps({ padding }))
443
- .should('have.css', 'padding',
444
- `${ paddingMap[ paddingVertically ] }px ${ paddingMap[ paddingHorizontally ] }px`)
445
- }
446
- }
447
- })
448
-
449
- it('should render a button with "minWidth" and "minHeight" props set to "0"', () => {
450
- mountQBtn({
451
- props: {
452
- padding: '0'
453
- }
454
- })
455
-
456
- cy.get('.q-btn')
457
- .should('have.css', 'min-width', '0px')
458
- .should('have.css', 'min-height', '0px')
459
- })
460
- })
461
-
462
- describe('(prop): color', () => {
463
- it('should change text color based on Quasar Color Palette', () => {
464
- const color = 'red'
465
-
466
- mountQBtn({
467
- props: { color }
468
- })
469
-
470
- cy.get('.q-btn')
471
- .should('have.class', `bg-${ color }`)
472
- })
473
- })
474
-
475
- describe('(prop): text-color', () => {
476
- it('should change text color based on Quasar Color Palette', () => {
477
- const textColor = 'red'
478
-
479
- mountQBtn({
480
- props: { textColor }
481
- })
482
-
483
- cy.get('.q-btn')
484
- .should('have.class', `text-${ textColor }`)
485
- })
486
- })
487
-
488
- describe('(prop): dense', () => {
489
- it('should render a button with dense style', () => {
490
- mountQBtn({
491
- props: {
492
- dense: true
493
- }
494
- })
495
-
496
- cy.get('.q-btn')
497
- .should('have.class', 'q-btn--dense')
498
- })
499
- })
500
-
501
- describe('(prop): ripple', () => {
502
- it('should render a button with ripple effect', () => {
503
- mountQBtn({
504
- props: {
505
- ripple: true
506
- }
507
- })
508
-
509
- cy.get('.q-btn')
510
- .click()
511
- cy.get('.q-btn').get('.q-ripple')
512
- .should('exist')
513
- })
514
- })
515
- })
516
- })
517
- })