quasar 2.15.4 → 2.16.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.
- package/dist/api/Brand.json +1 -1
- package/dist/api/QBreadcrumbs.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtnDropdown.json +1 -1
- package/dist/api/QCarousel.json +1 -1
- package/dist/api/QCheckbox.json +1 -1
- package/dist/api/QCircularProgress.json +1 -1
- package/dist/api/QDialog.json +1 -1
- package/dist/api/QDrawer.json +1 -1
- package/dist/api/QEditor.json +1 -1
- package/dist/api/QExpansionItem.json +1 -1
- package/dist/api/QFab.json +1 -1
- package/dist/api/QFabAction.json +1 -1
- package/dist/api/QField.json +1 -1
- package/dist/api/QFile.json +1 -1
- package/dist/api/QImg.json +1 -1
- package/dist/api/QInnerLoading.json +1 -1
- package/dist/api/QInput.json +1 -1
- package/dist/api/QIntersection.json +1 -1
- package/dist/api/QItem.json +1 -1
- package/dist/api/QKnob.json +1 -1
- package/dist/api/QMenu.json +1 -1
- package/dist/api/QPage.json +1 -1
- package/dist/api/QPagination.json +1 -1
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QPopupEdit.json +1 -1
- package/dist/api/QRadio.json +1 -1
- package/dist/api/QRange.json +1 -1
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSkeleton.json +1 -1
- package/dist/api/QSlider.json +1 -1
- package/dist/api/QSpinner.json +1 -1
- package/dist/api/QSpinnerAudio.json +1 -1
- package/dist/api/QSpinnerBall.json +1 -1
- package/dist/api/QSpinnerBars.json +1 -1
- package/dist/api/QSpinnerBox.json +1 -1
- package/dist/api/QSpinnerClock.json +1 -1
- package/dist/api/QSpinnerComment.json +1 -1
- package/dist/api/QSpinnerCube.json +1 -1
- package/dist/api/QSpinnerDots.json +1 -1
- package/dist/api/QSpinnerFacebook.json +1 -1
- package/dist/api/QSpinnerGears.json +1 -1
- package/dist/api/QSpinnerGrid.json +1 -1
- package/dist/api/QSpinnerHearts.json +1 -1
- package/dist/api/QSpinnerHourglass.json +1 -1
- package/dist/api/QSpinnerInfinity.json +1 -1
- package/dist/api/QSpinnerIos.json +1 -1
- package/dist/api/QSpinnerOrbit.json +1 -1
- package/dist/api/QSpinnerOval.json +1 -1
- package/dist/api/QSpinnerPie.json +1 -1
- package/dist/api/QSpinnerPuff.json +1 -1
- package/dist/api/QSpinnerRadio.json +1 -1
- package/dist/api/QSpinnerRings.json +1 -1
- package/dist/api/QSpinnerTail.json +1 -1
- package/dist/api/QSplitter.json +1 -1
- package/dist/api/QStepper.json +1 -1
- package/dist/api/QTabPanels.json +1 -1
- package/dist/api/QTable.json +1 -1
- package/dist/api/QTimeline.json +1 -1
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTooltip.json +1 -1
- package/dist/api/QTree.json +1 -1
- package/dist/api/QVirtualScroll.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms-MY.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tl.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/{quasar.esm.js → quasar.client.js} +333 -361
- package/dist/quasar.sass +1 -1
- package/dist/quasar.server.prod.cjs +127 -0
- package/dist/quasar.server.prod.js +127 -0
- package/dist/quasar.umd.js +333 -360
- package/dist/quasar.umd.prod.js +8 -8
- package/dist/transforms/api-list.json +1 -1
- package/dist/types/index.d.ts +191 -93
- package/dist/vetur/quasar-attributes.json +1 -1
- package/dist/vetur/quasar-tags.json +1 -1
- package/dist/web-types/web-types.json +1 -1
- package/icon-set/bootstrap-icons.js +3 -8
- package/icon-set/eva-icons.js +3 -8
- package/icon-set/fontawesome-v5-pro.js +1 -6
- package/icon-set/fontawesome-v5.js +1 -6
- package/icon-set/fontawesome-v6-pro.js +1 -6
- package/icon-set/fontawesome-v6.js +1 -6
- package/icon-set/ionicons-v4.js +3 -8
- package/icon-set/line-awesome.js +1 -6
- package/icon-set/material-icons-outlined.js +1 -6
- package/icon-set/material-icons-round.js +1 -6
- package/icon-set/material-icons-sharp.js +1 -6
- package/icon-set/material-icons.js +1 -6
- package/icon-set/material-symbols-outlined.js +1 -6
- package/icon-set/material-symbols-rounded.js +1 -6
- package/icon-set/material-symbols-sharp.js +1 -6
- package/icon-set/mdi-v3.js +1 -6
- package/icon-set/mdi-v4.js +1 -6
- package/icon-set/mdi-v5.js +1 -6
- package/icon-set/mdi-v6.js +1 -6
- package/icon-set/mdi-v7.js +1 -6
- package/icon-set/svg-bootstrap-icons.js +6 -6
- package/icon-set/svg-eva-icons.js +6 -6
- package/icon-set/svg-fontawesome-v5.js +3 -3
- package/icon-set/svg-fontawesome-v6.js +4 -5
- package/icon-set/svg-ionicons-v4.js +6 -6
- package/icon-set/svg-ionicons-v5.js +5 -5
- package/icon-set/svg-ionicons-v6.js +5 -5
- package/icon-set/svg-line-awesome.js +4 -5
- package/icon-set/svg-material-icons-outlined.js +4 -5
- package/icon-set/svg-material-icons-round.js +4 -5
- package/icon-set/svg-material-icons-sharp.js +4 -5
- package/icon-set/svg-material-icons.js +4 -5
- package/icon-set/svg-material-symbols-outlined.js +4 -4
- package/icon-set/svg-material-symbols-rounded.js +4 -4
- package/icon-set/svg-material-symbols-sharp.js +4 -4
- package/icon-set/svg-mdi-v6.js +4 -5
- package/icon-set/svg-mdi-v7.js +4 -4
- package/icon-set/svg-themify.js +6 -6
- package/icon-set/themify.js +3 -8
- package/lang/ar-TN.js +1 -6
- package/lang/ar.js +1 -6
- package/lang/az-Latn.js +1 -6
- package/lang/bg.js +1 -6
- package/lang/bn.js +1 -6
- package/lang/ca.js +1 -6
- package/lang/cs.js +1 -6
- package/lang/da.js +1 -6
- package/lang/de-CH.js +1 -6
- package/lang/de-DE.js +1 -6
- package/lang/de.js +1 -6
- package/lang/el.js +1 -6
- package/lang/en-GB.js +1 -6
- package/lang/en-US.js +1 -6
- package/lang/eo.js +1 -6
- package/lang/es.js +1 -6
- package/lang/et.js +1 -6
- package/lang/eu.js +1 -6
- package/lang/fa-IR.js +1 -6
- package/lang/fa.js +1 -6
- package/lang/fi.js +1 -6
- package/lang/fr.js +1 -6
- package/lang/gn.js +1 -6
- package/lang/he.js +1 -6
- package/lang/hi.js +1 -6
- package/lang/hr.js +1 -6
- package/lang/hu.js +1 -6
- package/lang/id.js +1 -6
- package/lang/is.js +1 -6
- package/lang/it.js +1 -6
- package/lang/ja.js +1 -6
- package/lang/kk.js +1 -6
- package/lang/km.js +1 -6
- package/lang/ko-KR.js +1 -6
- package/lang/kur-CKB.js +1 -6
- package/lang/lt.js +1 -6
- package/lang/lu.js +1 -6
- package/lang/lv.js +1 -6
- package/lang/mk.js +1 -6
- package/lang/ml.js +1 -6
- package/lang/mm.js +1 -6
- package/lang/ms-MY.js +1 -6
- package/lang/ms.js +1 -6
- package/lang/my.js +1 -6
- package/lang/nb-NO.js +1 -6
- package/lang/nl.js +1 -6
- package/lang/pl.js +1 -6
- package/lang/pt-BR.js +1 -6
- package/lang/pt.js +1 -6
- package/lang/ro.js +1 -6
- package/lang/ru.js +1 -6
- package/lang/sk.js +1 -6
- package/lang/sl.js +1 -6
- package/lang/sm.js +1 -6
- package/lang/sr-CYR.js +1 -6
- package/lang/sr.js +1 -6
- package/lang/sv.js +1 -6
- package/lang/ta.js +1 -6
- package/lang/th.js +1 -6
- package/lang/tl.js +1 -6
- package/lang/tr.js +1 -6
- package/lang/ug.js +1 -6
- package/lang/uk.js +1 -6
- package/lang/uz-Cyrl.js +1 -6
- package/lang/uz-Latn.js +1 -6
- package/lang/vi.js +1 -6
- package/lang/zh-CN.js +1 -6
- package/lang/zh-TW.js +1 -6
- package/package.json +18 -7
- package/src/components/avatar/QAvatar.test.js +0 -28
- package/src/components/badge/QBadge.test.js +0 -36
- package/src/components/banner/QBanner.test.js +0 -16
- package/src/components/bar/QBar.test.js +0 -8
- package/src/components/breadcrumbs/QBreadcrumbs.json +2 -1
- package/src/components/breadcrumbs/QBreadcrumbs.test.js +1 -21
- package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +0 -51
- package/src/components/btn/QBtn.json +6 -1
- package/src/components/btn/QBtn.test.js +0 -143
- package/src/components/btn/use-btn.js +8 -4
- package/src/components/btn/use-btn.test.js +9 -1
- package/src/components/btn-dropdown/QBtnDropdown.js +3 -3
- package/src/components/btn-dropdown/QBtnDropdown.json +1 -4
- package/src/components/btn-toggle/QBtnToggle.json +3 -1
- package/src/components/card/QCardActions.json +1 -0
- package/src/components/carousel/QCarousel.js +4 -3
- package/src/components/carousel/QCarousel.json +6 -3
- package/src/components/checkbox/use-checkbox.json +1 -1
- package/src/components/chip/QChip.test.js +0 -108
- package/src/components/circular-progress/QCircularProgress.json +0 -1
- package/src/components/color/QColor.json +1 -0
- package/src/components/date/QDate.js +8 -2
- package/src/components/date/QDate.json +1 -0
- package/src/components/date/use-datetime.js +1 -3
- package/src/components/dialog/QDialog.js +1 -2
- package/src/components/dialog/QDialog.json +11 -1
- package/src/components/dialog/QDialog.test.js +38 -160
- package/src/components/drawer/QDrawer.json +2 -2
- package/src/components/editor/QEditor.js +3 -8
- package/src/components/editor/QEditor.json +9 -2
- package/src/components/expansion-item/QExpansionItem.js +1 -1
- package/src/components/expansion-item/QExpansionItem.json +5 -6
- package/src/components/fab/QFab.js +1 -0
- package/src/components/fab/QFab.json +5 -4
- package/src/components/fab/QFabAction.json +2 -1
- package/src/components/fab/use-fab.json +2 -1
- package/src/components/field/QField.json +0 -39
- package/src/components/file/QFile.js +2 -2
- package/src/components/file/QFile.json +2 -7
- package/src/components/footer/QFooter.json +3 -1
- package/src/components/form/QForm.js +1 -1
- package/src/components/header/QHeader.json +3 -1
- package/src/components/img/QImg.json +1 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +7 -6
- package/src/components/inner-loading/QInnerLoading.js +1 -1
- package/src/components/inner-loading/QInnerLoading.json +1 -0
- package/src/components/input/QInput.js +2 -1
- package/src/components/input/QInput.json +7 -24
- package/src/components/intersection/QIntersection.json +1 -1
- package/src/components/item/QItem.json +3 -1
- package/src/components/knob/QKnob.json +11 -2
- package/src/components/menu/QMenu.js +2 -4
- package/src/components/menu/QMenu.json +3 -1
- package/src/components/option-group/QOptionGroup.js +1 -0
- package/src/components/page/QPage.json +1 -2
- package/src/components/page-scroller/QPageScroller.js +1 -0
- package/src/components/page-scroller/QPageScroller.json +4 -0
- package/src/components/page-sticky/QPageSticky.js +1 -1
- package/src/components/pagination/QPagination.json +7 -2
- package/src/components/parallax/QParallax.js +2 -4
- package/src/components/parallax/QParallax.json +1 -0
- package/src/components/popup-edit/QPopupEdit.json +2 -1
- package/src/components/pull-to-refresh/QPullToRefresh.js +2 -4
- package/src/components/radio/QRadio.json +2 -2
- package/src/components/range/QRange.json +1 -0
- package/src/components/scroll-observer/QScrollObserver.js +2 -4
- package/src/components/select/QSelect.js +7 -7
- package/src/components/select/QSelect.json +27 -16
- package/src/components/separator/QSeparator.json +0 -1
- package/src/components/skeleton/QSkeleton.json +1 -1
- package/src/components/slider/QSlider.json +1 -0
- package/src/components/slider/use-slider.js +0 -2
- package/src/components/spinner/QSpinner.json +1 -5
- package/src/components/spinner/QSpinner.test.js +79 -0
- package/src/components/spinner/QSpinnerAudio.test.js +59 -0
- package/src/components/spinner/QSpinnerBall.test.js +59 -0
- package/src/components/spinner/QSpinnerBars.test.js +59 -0
- package/src/components/spinner/QSpinnerBox.test.js +59 -0
- package/src/components/spinner/QSpinnerClock.test.js +59 -0
- package/src/components/spinner/QSpinnerComment.test.js +59 -0
- package/src/components/spinner/QSpinnerCube.test.js +59 -0
- package/src/components/spinner/QSpinnerDots.test.js +59 -0
- package/src/components/spinner/QSpinnerFacebook.test.js +59 -0
- package/src/components/spinner/QSpinnerGears.test.js +59 -0
- package/src/components/spinner/QSpinnerGrid.test.js +59 -0
- package/src/components/spinner/QSpinnerHearts.test.js +59 -0
- package/src/components/spinner/QSpinnerHourglass.test.js +59 -0
- package/src/components/spinner/QSpinnerInfinity.test.js +59 -0
- package/src/components/spinner/QSpinnerIos.test.js +59 -0
- package/src/components/spinner/QSpinnerOrbit.test.js +59 -0
- package/src/components/spinner/QSpinnerOval.test.js +59 -0
- package/src/components/spinner/QSpinnerPie.test.js +59 -0
- package/src/components/spinner/QSpinnerPuff.test.js +59 -0
- package/src/components/spinner/QSpinnerRadio.test.js +59 -0
- package/src/components/spinner/QSpinnerRings.test.js +59 -0
- package/src/components/spinner/QSpinnerTail.test.js +59 -0
- package/src/components/spinner/spinner.json +5 -0
- package/src/components/spinner/use-spinner.js +1 -1
- package/src/components/spinner/use-spinner.test.js +59 -0
- package/src/components/splitter/QSplitter.json +3 -3
- package/src/components/stepper/QStep.json +6 -0
- package/src/components/tab-panels/QTabPanels.json +6 -0
- package/src/components/table/QTable.js +6 -8
- package/src/components/table/QTable.json +13 -8
- package/src/components/table/QTh.json +4 -0
- package/src/components/tabs/QRouteTab.json +3 -2
- package/src/components/tabs/QTab.json +1 -65
- package/src/components/tabs/use-tab.json +72 -0
- package/src/components/time/QTime.js +6 -0
- package/src/components/time/QTime.json +2 -0
- package/src/components/timeline/QTimeline.json +2 -1
- package/src/components/toolbar/QToolbar.test.js +0 -4
- package/src/components/toolbar/QToolbarTitle.test.js +0 -4
- package/src/components/tooltip/QTooltip.js +6 -6
- package/src/components/tooltip/QTooltip.json +6 -15
- package/src/components/tree/QTree.js +1 -1
- package/src/components/tree/QTree.json +2 -1
- package/src/components/uploader/xhr-uploader-plugin.js +1 -3
- package/src/components/video/QVideo.test.js +0 -24
- package/src/components/virtual-scroll/QVirtualScroll.js +2 -4
- package/src/components/virtual-scroll/QVirtualScroll.json +0 -1
- package/src/components/virtual-scroll/use-virtual-scroll.js +2 -2
- package/src/components/virtual-scroll/use-virtual-scroll.json +1 -1
- package/src/composables/private.use-anchor/use-anchor-static.json +22 -0
- package/src/composables/private.use-anchor/use-anchor.js +13 -4
- package/src/composables/private.use-anchor/use-anchor.json +2 -19
- package/src/composables/private.use-field/use-field.js +6 -3
- package/src/composables/private.use-field/use-field.json +22 -0
- package/src/composables/private.use-fullscreen/use-fullscreen.json +10 -0
- package/src/composables/private.use-model-toggle/use-model-toggle.json +4 -2
- package/src/composables/private.use-panel/use-panel.json +3 -0
- package/src/composables/private.use-portal/use-portal.js +1 -1
- package/src/composables/private.use-router-link/use-router-link.js +15 -9
- package/src/composables/private.use-router-link/use-router-link.json +2 -0
- package/src/composables/private.use-validate/use-validate.json +1 -0
- package/src/composables/use-id/use-id.test.js +0 -1
- package/src/install-quasar.js +1 -1
- package/src/plugins/app-fullscreen/AppFullscreen.js +1 -1
- package/src/plugins/app-fullscreen/test/mock-fullscreen.js +1 -1
- package/src/plugins/bottom-sheet/BottomSheet.js +1 -1
- package/src/plugins/bottom-sheet/BottomSheet.json +1 -1
- package/src/plugins/dialog/Dialog.js +1 -1
- package/src/plugins/dialog/Dialog.json +1 -1
- package/src/plugins/icon-set/IconSet.js +1 -2
- package/src/plugins/icon-set/IconSet.test.js +2 -2
- package/src/plugins/lang/Lang.js +1 -2
- package/src/plugins/lang/Lang.test.js +2 -2
- package/src/plugins/loading/Loading.js +1 -1
- package/src/plugins/loading-bar/LoadingBar.js +1 -1
- package/src/plugins/notify/Notify.js +1 -1
- package/src/utils/{private.global/global-config.test.js → private.config/instance-config.test.js} +2 -2
- package/src/utils/{private.global/global-nodes.js → private.config/nodes.js} +1 -1
- package/src/utils/{private.global/global-nodes.test.js → private.config/nodes.test.js} +3 -3
- package/src/utils/{private.global/global-dialog.js → private.dialog/create-dialog.js} +1 -1
- package/src/utils/scroll/scroll.js +4 -0
- package/wrappers/{index.mjs → index.cjs} +15 -15
- package/wrappers/index.js +15 -15
- package/dist/quasar.cjs.prod.js +0 -127
- package/dist/quasar.esm.prod.js +0 -127
- package/dist/transforms/import-transformation.js +0 -9
- package/icon-set/bootstrap-icons.mjs +0 -136
- package/icon-set/eva-icons.mjs +0 -186
- package/icon-set/fontawesome-v5-pro.mjs +0 -128
- package/icon-set/fontawesome-v5.mjs +0 -128
- package/icon-set/fontawesome-v6-pro.mjs +0 -128
- package/icon-set/fontawesome-v6.mjs +0 -128
- package/icon-set/ionicons-v4.mjs +0 -180
- package/icon-set/line-awesome.mjs +0 -128
- package/icon-set/material-icons-outlined.mjs +0 -128
- package/icon-set/material-icons-round.mjs +0 -128
- package/icon-set/material-icons-sharp.mjs +0 -128
- package/icon-set/material-icons.mjs +0 -128
- package/icon-set/material-symbols-outlined.mjs +0 -128
- package/icon-set/material-symbols-rounded.mjs +0 -128
- package/icon-set/material-symbols-sharp.mjs +0 -128
- package/icon-set/mdi-v3.mjs +0 -141
- package/icon-set/mdi-v4.mjs +0 -141
- package/icon-set/mdi-v5.mjs +0 -141
- package/icon-set/mdi-v6.mjs +0 -141
- package/icon-set/mdi-v7.mjs +0 -141
- package/icon-set/svg-bootstrap-icons.mjs +0 -210
- package/icon-set/svg-eva-icons.mjs +0 -233
- package/icon-set/svg-fontawesome-v5.mjs +0 -197
- package/icon-set/svg-fontawesome-v6.mjs +0 -198
- package/icon-set/svg-ionicons-v4.mjs +0 -234
- package/icon-set/svg-ionicons-v5.mjs +0 -225
- package/icon-set/svg-ionicons-v6.mjs +0 -224
- package/icon-set/svg-line-awesome.mjs +0 -198
- package/icon-set/svg-material-icons-outlined.mjs +0 -203
- package/icon-set/svg-material-icons-round.mjs +0 -203
- package/icon-set/svg-material-icons-sharp.mjs +0 -203
- package/icon-set/svg-material-icons.mjs +0 -203
- package/icon-set/svg-material-symbols-outlined.mjs +0 -201
- package/icon-set/svg-material-symbols-rounded.mjs +0 -201
- package/icon-set/svg-material-symbols-sharp.mjs +0 -201
- package/icon-set/svg-mdi-v6.mjs +0 -225
- package/icon-set/svg-mdi-v7.mjs +0 -224
- package/icon-set/svg-themify.mjs +0 -231
- package/icon-set/themify.mjs +0 -169
- package/lang/ar-TN.mjs +0 -98
- package/lang/ar.mjs +0 -98
- package/lang/az-Latn.mjs +0 -93
- package/lang/bg.mjs +0 -93
- package/lang/bn.mjs +0 -93
- package/lang/ca.mjs +0 -93
- package/lang/cs.mjs +0 -104
- package/lang/da.mjs +0 -93
- package/lang/de-CH.mjs +0 -93
- package/lang/de-DE.mjs +0 -93
- package/lang/de.mjs +0 -93
- package/lang/el.mjs +0 -93
- package/lang/en-GB.mjs +0 -93
- package/lang/en-US.mjs +0 -93
- package/lang/eo.mjs +0 -93
- package/lang/es.mjs +0 -93
- package/lang/et.mjs +0 -93
- package/lang/eu.mjs +0 -93
- package/lang/fa-IR.mjs +0 -94
- package/lang/fa.mjs +0 -94
- package/lang/fi.mjs +0 -94
- package/lang/fr.mjs +0 -96
- package/lang/gn.mjs +0 -93
- package/lang/he.mjs +0 -94
- package/lang/hi.mjs +0 -93
- package/lang/hr.mjs +0 -93
- package/lang/hu.mjs +0 -93
- package/lang/id.mjs +0 -93
- package/lang/is.mjs +0 -93
- package/lang/it.mjs +0 -93
- package/lang/ja.mjs +0 -92
- package/lang/kk.mjs +0 -97
- package/lang/km.mjs +0 -93
- package/lang/ko-KR.mjs +0 -93
- package/lang/kur-CKB.mjs +0 -103
- package/lang/lt.mjs +0 -105
- package/lang/lu.mjs +0 -93
- package/lang/lv.mjs +0 -93
- package/lang/mk.mjs +0 -93
- package/lang/ml.mjs +0 -97
- package/lang/mm.mjs +0 -94
- package/lang/ms-MY.mjs +0 -96
- package/lang/ms.mjs +0 -93
- package/lang/my.mjs +0 -92
- package/lang/nb-NO.mjs +0 -94
- package/lang/nl.mjs +0 -93
- package/lang/pl.mjs +0 -93
- package/lang/pt-BR.mjs +0 -93
- package/lang/pt.mjs +0 -93
- package/lang/ro.mjs +0 -93
- package/lang/ru.mjs +0 -97
- package/lang/sk.mjs +0 -93
- package/lang/sl.mjs +0 -93
- package/lang/sm.mjs +0 -93
- package/lang/sr-CYR.mjs +0 -93
- package/lang/sr.mjs +0 -93
- package/lang/sv.mjs +0 -93
- package/lang/ta.mjs +0 -93
- package/lang/th.mjs +0 -93
- package/lang/tl.mjs +0 -93
- package/lang/tr.mjs +0 -89
- package/lang/ug.mjs +0 -93
- package/lang/uk.mjs +0 -97
- package/lang/uz-Cyrl.mjs +0 -95
- package/lang/uz-Latn.mjs +0 -99
- package/lang/vi.mjs +0 -93
- package/lang/zh-CN.mjs +0 -92
- package/lang/zh-TW.mjs +0 -92
- /package/src/utils/{private.global/global-config.js → private.config/instance-config.js} +0 -0
- /package/src/utils/{private.global/global-dialog.json → private.dialog/create-dialog.json} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { mount, flushPromises } from '@vue/test-utils'
|
|
2
|
+
import { describe, test, expect } from 'vitest'
|
|
3
|
+
|
|
4
|
+
import QSpinnerTail from './QSpinnerTail.js'
|
|
5
|
+
|
|
6
|
+
describe('[QSpinnerTail API]', () => {
|
|
7
|
+
describe('[Props]', () => {
|
|
8
|
+
describe('[(prop)size]', () => {
|
|
9
|
+
test.each([
|
|
10
|
+
[ 'String', '100px' ],
|
|
11
|
+
[ 'Number', 100 ]
|
|
12
|
+
])('type %s has effect', async (_, propVal) => {
|
|
13
|
+
const expectedValue = '' + propVal
|
|
14
|
+
const wrapper = mount(QSpinnerTail)
|
|
15
|
+
|
|
16
|
+
const target = wrapper.get('.q-spinner')
|
|
17
|
+
|
|
18
|
+
expect(
|
|
19
|
+
target.attributes('width')
|
|
20
|
+
).not.toBe(expectedValue)
|
|
21
|
+
|
|
22
|
+
expect(
|
|
23
|
+
target.attributes('height')
|
|
24
|
+
).not.toBe(expectedValue)
|
|
25
|
+
|
|
26
|
+
await wrapper.setProps({ size: propVal })
|
|
27
|
+
await flushPromises()
|
|
28
|
+
|
|
29
|
+
expect(
|
|
30
|
+
target.attributes('width')
|
|
31
|
+
).toBe(expectedValue)
|
|
32
|
+
|
|
33
|
+
expect(
|
|
34
|
+
target.attributes('height')
|
|
35
|
+
).toBe(expectedValue)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
describe('[(prop)color]', () => {
|
|
40
|
+
test('type String has effect', async () => {
|
|
41
|
+
const propVal = 'red'
|
|
42
|
+
const wrapper = mount(QSpinnerTail)
|
|
43
|
+
|
|
44
|
+
const target = wrapper.get('.q-spinner')
|
|
45
|
+
|
|
46
|
+
expect(
|
|
47
|
+
target.classes()
|
|
48
|
+
).not.toContain('text-red')
|
|
49
|
+
|
|
50
|
+
await wrapper.setProps({ color: propVal })
|
|
51
|
+
await flushPromises()
|
|
52
|
+
|
|
53
|
+
expect(
|
|
54
|
+
target.classes()
|
|
55
|
+
).toContain('text-red')
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
})
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { describe, test, expect } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import useSpinner, { useSpinnerProps } from './use-spinner.js'
|
|
4
|
+
import { useSizeDefaults } from 'quasar/src/composables/private.use-size/use-size.js'
|
|
5
|
+
|
|
6
|
+
describe('[useSpinner API]', () => {
|
|
7
|
+
describe('[Variables]', () => {
|
|
8
|
+
describe('[(variable)useSpinnerProps]', () => {
|
|
9
|
+
test('is defined correctly', () => {
|
|
10
|
+
expect(useSpinnerProps).toBeTypeOf('object')
|
|
11
|
+
expect(Object.keys(useSpinnerProps)).not.toHaveLength(0)
|
|
12
|
+
})
|
|
13
|
+
})
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
describe('[Functions]', () => {
|
|
17
|
+
describe('[(function)default]', () => {
|
|
18
|
+
test('has correct return value when missing props', () => {
|
|
19
|
+
const result = useSpinner({})
|
|
20
|
+
expect(result).toStrictEqual({
|
|
21
|
+
cSize: expect.$ref(void 0),
|
|
22
|
+
classes: expect.$ref('q-spinner')
|
|
23
|
+
})
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
test('has correct return value when props.size has unit', () => {
|
|
27
|
+
const result = useSpinner({ size: '2em' })
|
|
28
|
+
expect(result).toStrictEqual({
|
|
29
|
+
cSize: expect.$ref('2em'),
|
|
30
|
+
classes: expect.$ref('q-spinner')
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
|
|
34
|
+
test('has correct return value when props.size is xl', () => {
|
|
35
|
+
const result = useSpinner({ size: 'xl' })
|
|
36
|
+
expect(result).toStrictEqual({
|
|
37
|
+
cSize: expect.$ref(`${ useSizeDefaults.xl }px`),
|
|
38
|
+
classes: expect.$ref('q-spinner')
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
|
|
42
|
+
test('has correct return value when props.color is defined', () => {
|
|
43
|
+
const result = useSpinner({ color: 'red' })
|
|
44
|
+
expect(result).toStrictEqual({
|
|
45
|
+
cSize: expect.$ref(void 0),
|
|
46
|
+
classes: expect.$ref('q-spinner text-red')
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
|
|
50
|
+
test('has correct return value when props.size & props.color are defined', () => {
|
|
51
|
+
const result = useSpinner({ size: '500em', color: 'bogus-color' })
|
|
52
|
+
expect(result).toStrictEqual({
|
|
53
|
+
cSize: expect.$ref('500em'),
|
|
54
|
+
classes: expect.$ref('q-spinner text-bogus-color')
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
})
|
|
58
|
+
})
|
|
59
|
+
})
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"type": "Array",
|
|
42
42
|
"desc": "An array of two values representing the minimum and maximum split size of the two panels; When 'px' unit is set then you can use Infinity as the second value to make it unbound on the other side; Default value: for '%' unit it is [10, 90], while for 'px' unit it is [50, Infinity]",
|
|
43
43
|
"default": "# [10, 90]/[50, Infinity]",
|
|
44
|
+
"__runtimeDefault": true,
|
|
44
45
|
"examples": [ "[ 30, 70 ]", "[ 0, Infinity ]" ],
|
|
45
46
|
"category": "content|model"
|
|
46
47
|
},
|
|
@@ -94,9 +95,8 @@
|
|
|
94
95
|
},
|
|
95
96
|
|
|
96
97
|
"dark": {
|
|
97
|
-
"
|
|
98
|
-
"desc": "Applies a default lighter color on the separator; To be used when background is darker; Avoid using when you are overriding through separator-class or separator-style props"
|
|
99
|
-
"category": "style"
|
|
98
|
+
"extends": "dark",
|
|
99
|
+
"desc": "Applies a default lighter color on the separator; To be used when background is darker; Avoid using when you are overriding through separator-class or separator-style props"
|
|
100
100
|
}
|
|
101
101
|
},
|
|
102
102
|
|
|
@@ -94,5 +94,11 @@
|
|
|
94
94
|
"default": {
|
|
95
95
|
"desc": "The content of the step; Can also contain a QStepperNavigation if you want to handle step navigation and don't have a global navigation in place"
|
|
96
96
|
}
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
"events": {
|
|
100
|
+
"scroll": {
|
|
101
|
+
"internal": true
|
|
102
|
+
}
|
|
97
103
|
}
|
|
98
104
|
}
|
|
@@ -13,7 +13,7 @@ import QBtn from '../btn/QBtn.js'
|
|
|
13
13
|
import getTableMiddle from './get-table-middle.js'
|
|
14
14
|
|
|
15
15
|
import useDark, { useDarkProps } from '../../composables/private.use-dark/use-dark.js'
|
|
16
|
-
import {
|
|
16
|
+
import { commonVirtScrollPropsList } from '../virtual-scroll/use-virtual-scroll.js'
|
|
17
17
|
import useFullscreen, { useFullscreenProps, useFullscreenEmits } from '../../composables/private.use-fullscreen/use-fullscreen.js'
|
|
18
18
|
|
|
19
19
|
import { useTableSort, useTableSortProps } from './table-sort.js'
|
|
@@ -28,8 +28,8 @@ import { createComponent } from '../../utils/private.create/create.js'
|
|
|
28
28
|
|
|
29
29
|
const bottomClass = 'q-table__bottom row items-center'
|
|
30
30
|
|
|
31
|
-
const
|
|
32
|
-
|
|
31
|
+
const virtScrollPassthroughProps = {}
|
|
32
|
+
commonVirtScrollPropsList.forEach(p => { virtScrollPassthroughProps[ p ] = {} })
|
|
33
33
|
|
|
34
34
|
export default createComponent({
|
|
35
35
|
name: 'QTable',
|
|
@@ -71,10 +71,8 @@ export default createComponent({
|
|
|
71
71
|
wrapCells: Boolean,
|
|
72
72
|
|
|
73
73
|
virtualScroll: Boolean,
|
|
74
|
-
virtualScrollTarget: {
|
|
75
|
-
|
|
76
|
-
},
|
|
77
|
-
...commonVirtPropsObj,
|
|
74
|
+
virtualScrollTarget: {},
|
|
75
|
+
...virtScrollPassthroughProps,
|
|
78
76
|
|
|
79
77
|
noDataLabel: String,
|
|
80
78
|
noResultsLabel: String,
|
|
@@ -266,7 +264,7 @@ export default createComponent({
|
|
|
266
264
|
const virtProps = computed(() => {
|
|
267
265
|
const acc = {}
|
|
268
266
|
|
|
269
|
-
|
|
267
|
+
commonVirtScrollPropsList
|
|
270
268
|
.forEach(p => { acc[ p ] = props[ p ] })
|
|
271
269
|
|
|
272
270
|
if (acc.virtualScrollItemSize === void 0) {
|
|
@@ -41,13 +41,15 @@
|
|
|
41
41
|
},
|
|
42
42
|
|
|
43
43
|
"virtual-scroll-target": {
|
|
44
|
-
"extends": "scroll-target"
|
|
44
|
+
"extends": "scroll-target",
|
|
45
|
+
"passthrough": "child"
|
|
45
46
|
},
|
|
46
47
|
|
|
47
48
|
"virtual-scroll-slice-size": {
|
|
48
|
-
"type": [ "Number", "String" ],
|
|
49
|
+
"type": [ "Number", "String", "null" ],
|
|
49
50
|
"desc": "Minimum number of rows to render in the virtual list",
|
|
50
51
|
"default": "30",
|
|
52
|
+
"passthrough": "child",
|
|
51
53
|
"category": "virtual-scroll"
|
|
52
54
|
},
|
|
53
55
|
|
|
@@ -55,6 +57,7 @@
|
|
|
55
57
|
"type": [ "Number", "String" ],
|
|
56
58
|
"desc": "Ratio of number of rows in visible zone to render before it",
|
|
57
59
|
"default": "1",
|
|
60
|
+
"passthrough": "child",
|
|
58
61
|
"category": "virtual-scroll"
|
|
59
62
|
},
|
|
60
63
|
|
|
@@ -62,6 +65,7 @@
|
|
|
62
65
|
"type": [ "Number", "String" ],
|
|
63
66
|
"desc": "Ratio of number of rows in visible zone to render after it",
|
|
64
67
|
"default": "1",
|
|
68
|
+
"passthrough": "child",
|
|
65
69
|
"category": "virtual-scroll"
|
|
66
70
|
},
|
|
67
71
|
|
|
@@ -69,6 +73,7 @@
|
|
|
69
73
|
"type": [ "Number", "String" ],
|
|
70
74
|
"desc": "Default size in pixels of a row; This value is used for rendering the initial table; Try to use a value close to the minimum size of a row; Default value: 48 (24 if dense)",
|
|
71
75
|
"default": "# 48/24",
|
|
76
|
+
"passthrough": "child",
|
|
72
77
|
"category": "virtual-scroll"
|
|
73
78
|
},
|
|
74
79
|
|
|
@@ -76,6 +81,7 @@
|
|
|
76
81
|
"type": [ "Number", "String" ],
|
|
77
82
|
"desc": "Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method",
|
|
78
83
|
"default": "0",
|
|
84
|
+
"passthrough": "child",
|
|
79
85
|
"category": "virtual-scroll|behavior"
|
|
80
86
|
},
|
|
81
87
|
|
|
@@ -83,13 +89,15 @@
|
|
|
83
89
|
"type": [ "Number", "String" ],
|
|
84
90
|
"desc": "Size in pixels of the sticky footer part (if using one); A correct value will improve scroll precision",
|
|
85
91
|
"default": "0",
|
|
92
|
+
"passthrough": "child",
|
|
86
93
|
"category": "virtual-scroll"
|
|
87
94
|
},
|
|
88
95
|
|
|
89
96
|
"table-colspan": {
|
|
90
97
|
"type": [ "Number", "String" ],
|
|
91
98
|
"desc": "The number of columns in the table (you need this if you use table-layout: fixed)",
|
|
92
|
-
"category": "virtual-scroll|content"
|
|
99
|
+
"category": "virtual-scroll|content",
|
|
100
|
+
"passthrough": "child"
|
|
93
101
|
},
|
|
94
102
|
|
|
95
103
|
"color": {
|
|
@@ -257,7 +265,7 @@
|
|
|
257
265
|
"desc": "Comparison result of term 'a' with term 'b'. Less than 0 when 'a' should come first; greater than 0 if 'b' should come first; equal to 0 if their position must not be changed with respect to each other",
|
|
258
266
|
"examples": [ "-1", "0", "1" ]
|
|
259
267
|
},
|
|
260
|
-
"addedIn": "v2.13
|
|
268
|
+
"addedIn": "v2.13"
|
|
261
269
|
},
|
|
262
270
|
"sortOrder": {
|
|
263
271
|
"type": "String",
|
|
@@ -661,7 +669,6 @@
|
|
|
661
669
|
"type": "Array",
|
|
662
670
|
"desc": "Filtered rows"
|
|
663
671
|
},
|
|
664
|
-
"default": "# see source code",
|
|
665
672
|
"examples": [ "# see source code" ],
|
|
666
673
|
"category": "filter"
|
|
667
674
|
},
|
|
@@ -703,7 +710,7 @@
|
|
|
703
710
|
"rows-per-page-options": {
|
|
704
711
|
"type": "Array",
|
|
705
712
|
"desc": "Options for user to pick (Numbers); Number 0 means 'Show all rows in one page'",
|
|
706
|
-
"default": "[
|
|
713
|
+
"default": "[ 5, 7, 10, 15, 20, 25, 50, 0 ]",
|
|
707
714
|
"examples": [ "[ 10, 20 ]" ],
|
|
708
715
|
"category": "pagination"
|
|
709
716
|
},
|
|
@@ -728,7 +735,6 @@
|
|
|
728
735
|
"expanded": {
|
|
729
736
|
"type": "Array",
|
|
730
737
|
"desc": "Keeps the array with expanded rows keys",
|
|
731
|
-
"default": "[]",
|
|
732
738
|
"syncable": true,
|
|
733
739
|
"examples": [ "# v-model:expanded=\"expanded\"" ],
|
|
734
740
|
"category": "expansion"
|
|
@@ -756,7 +762,6 @@
|
|
|
756
762
|
"type": "Array",
|
|
757
763
|
"desc": "Sorted rows"
|
|
758
764
|
},
|
|
759
|
-
"default": "# see source code",
|
|
760
765
|
"examples": [ "# see source code" ],
|
|
761
766
|
"category": "sorting"
|
|
762
767
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
+
"mixins": [ "components/tabs/use-tab", "composables/private.use-router-link/use-router-link" ],
|
|
3
|
+
|
|
2
4
|
"meta": {
|
|
3
5
|
"docsUrl": "https://v2.quasar.dev/vue-components/tabs"
|
|
4
6
|
},
|
|
5
7
|
|
|
6
|
-
"mixins": [ "components/tabs/QTab", "composables/private.use-router-link/use-router-link" ],
|
|
7
|
-
|
|
8
8
|
"events": {
|
|
9
9
|
"click": {
|
|
10
10
|
"desc": "Emitted when the component is clicked",
|
|
11
|
+
"internal": false,
|
|
11
12
|
"params": {
|
|
12
13
|
"evt": {
|
|
13
14
|
"extends": "evt",
|
|
@@ -3,69 +3,5 @@
|
|
|
3
3
|
"docsUrl": "https://v2.quasar.dev/vue-components/tabs"
|
|
4
4
|
},
|
|
5
5
|
|
|
6
|
-
"
|
|
7
|
-
"icon": {
|
|
8
|
-
"extends": "icon"
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
"label": {
|
|
12
|
-
"type": [ "Number", "String" ],
|
|
13
|
-
"desc": "A number or string to label the tab",
|
|
14
|
-
"examples": [ "'Home'" ],
|
|
15
|
-
"category": "content"
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
"alert": {
|
|
19
|
-
"type": [ "Boolean", "String" ],
|
|
20
|
-
"desc": "Adds an alert symbol to the tab, notifying the user there are some updates; If its value is not a Boolean, then you can specify a color",
|
|
21
|
-
"examples": [ "'purple'" ],
|
|
22
|
-
"category": "content"
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
"alert-icon": {
|
|
26
|
-
"type": "String",
|
|
27
|
-
"desc": "Adds a floating icon to the tab, notifying the user there are some updates; It's displayed only if 'alert' is set; Can use the color specified by 'alert' prop",
|
|
28
|
-
"examples": [ "'alarm_on'" ],
|
|
29
|
-
"category": "content"
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
"name": {
|
|
33
|
-
"type": [ "Number", "String" ],
|
|
34
|
-
"desc": "Panel name",
|
|
35
|
-
"default": "# a random UUID",
|
|
36
|
-
"examples": [ "'home'", "1" ],
|
|
37
|
-
"category": "general"
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
"no-caps": {
|
|
41
|
-
"type": "Boolean",
|
|
42
|
-
"desc": "Turns off capitalizing all letters within the tab (which is the default)",
|
|
43
|
-
"category": "content"
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
"content-class": {
|
|
47
|
-
"type": "String",
|
|
48
|
-
"desc": "Class definitions to be attributed to the content wrapper",
|
|
49
|
-
"examples": [ "'my-special-class'" ],
|
|
50
|
-
"category": "style"
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
"ripple": {
|
|
54
|
-
"extends": "ripple"
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
"tabindex": {
|
|
58
|
-
"extends": "tabindex"
|
|
59
|
-
},
|
|
60
|
-
|
|
61
|
-
"disable": {
|
|
62
|
-
"extends": "disable"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
|
|
66
|
-
"slots": {
|
|
67
|
-
"default": {
|
|
68
|
-
"desc": "Suggestion: QMenu, QTooltip"
|
|
69
|
-
}
|
|
70
|
-
}
|
|
6
|
+
"mixins": [ "components/tabs/use-tab" ]
|
|
71
7
|
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"props": {
|
|
3
|
+
"icon": {
|
|
4
|
+
"extends": "icon"
|
|
5
|
+
},
|
|
6
|
+
|
|
7
|
+
"label": {
|
|
8
|
+
"type": [ "Number", "String" ],
|
|
9
|
+
"desc": "A number or string to label the tab",
|
|
10
|
+
"examples": [ "'Home'" ],
|
|
11
|
+
"category": "content"
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
"alert": {
|
|
15
|
+
"type": [ "Boolean", "String" ],
|
|
16
|
+
"desc": "Adds an alert symbol to the tab, notifying the user there are some updates; If its value is not a Boolean, then you can specify a color",
|
|
17
|
+
"examples": [ "'purple'" ],
|
|
18
|
+
"category": "content"
|
|
19
|
+
},
|
|
20
|
+
|
|
21
|
+
"alert-icon": {
|
|
22
|
+
"type": "String",
|
|
23
|
+
"desc": "Adds a floating icon to the tab, notifying the user there are some updates; It's displayed only if 'alert' is set; Can use the color specified by 'alert' prop",
|
|
24
|
+
"examples": [ "'alarm_on'" ],
|
|
25
|
+
"category": "content"
|
|
26
|
+
},
|
|
27
|
+
|
|
28
|
+
"name": {
|
|
29
|
+
"type": [ "Number", "String" ],
|
|
30
|
+
"desc": "Panel name",
|
|
31
|
+
"default": "# a random UUID",
|
|
32
|
+
"examples": [ "'home'", "1" ],
|
|
33
|
+
"category": "general"
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
"no-caps": {
|
|
37
|
+
"type": "Boolean",
|
|
38
|
+
"desc": "Turns off capitalizing all letters within the tab (which is the default)",
|
|
39
|
+
"category": "content"
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
"content-class": {
|
|
43
|
+
"type": "String",
|
|
44
|
+
"desc": "Class definitions to be attributed to the content wrapper",
|
|
45
|
+
"examples": [ "'my-special-class'" ],
|
|
46
|
+
"category": "style"
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
"ripple": {
|
|
50
|
+
"extends": "ripple"
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
"tabindex": {
|
|
54
|
+
"extends": "tabindex"
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
"disable": {
|
|
58
|
+
"extends": "disable"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
"slots": {
|
|
63
|
+
"default": {
|
|
64
|
+
"desc": "Suggestion: QMenu, QTooltip"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
|
|
68
|
+
"events": {
|
|
69
|
+
"click": { "internal": true },
|
|
70
|
+
"keydown": { "internal": true }
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -46,7 +46,13 @@ export default createComponent({
|
|
|
46
46
|
...useFormProps,
|
|
47
47
|
...useDatetimeProps,
|
|
48
48
|
|
|
49
|
+
modelValue: {
|
|
50
|
+
required: true,
|
|
51
|
+
validator: val => (typeof val === 'string' || val === null)
|
|
52
|
+
},
|
|
53
|
+
|
|
49
54
|
mask: {
|
|
55
|
+
...useDatetimeProps.mask,
|
|
50
56
|
default: null
|
|
51
57
|
},
|
|
52
58
|
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"type": "String",
|
|
25
25
|
"desc": "The default date to use (in YYYY/MM/DD format) when model is unfilled (undefined or null)",
|
|
26
26
|
"default": "# current day",
|
|
27
|
+
"__runtimeDefault": true,
|
|
27
28
|
"examples": [ "'1995/02/23'" ],
|
|
28
29
|
"category": "model"
|
|
29
30
|
},
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
"mask": {
|
|
32
33
|
"type": [ "String", "null" ],
|
|
33
34
|
"default": "'HH:mm'",
|
|
35
|
+
"__runtimeDefault": true,
|
|
34
36
|
"examples": [ "'HH:mm:ss'", "'YYYY-MM-DD HH:mm:ss'", "'HH:mm MMMM Do, YYYY'" ]
|
|
35
37
|
},
|
|
36
38
|
|
|
@@ -6,10 +6,6 @@ import QToolbar from './QToolbar.js'
|
|
|
6
6
|
describe('[QToolbar API]', () => {
|
|
7
7
|
describe('[Props]', () => {
|
|
8
8
|
describe('[(prop)inset]', () => {
|
|
9
|
-
test('is defined correctly', () => {
|
|
10
|
-
expect(QToolbar.props.inset).toBeDefined()
|
|
11
|
-
})
|
|
12
|
-
|
|
13
9
|
test('type Boolean has effect', async () => {
|
|
14
10
|
const wrapper = mount(QToolbar)
|
|
15
11
|
const target = wrapper.get('.q-toolbar')
|
|
@@ -6,10 +6,6 @@ import QToolbarTitle from './QToolbarTitle.js'
|
|
|
6
6
|
describe('[QToolbarTitle API]', () => {
|
|
7
7
|
describe('[Props]', () => {
|
|
8
8
|
describe('[(prop)shrink]', () => {
|
|
9
|
-
test('is defined correctly', () => {
|
|
10
|
-
expect(QToolbarTitle.props.shrink).toBeDefined()
|
|
11
|
-
})
|
|
12
|
-
|
|
13
9
|
test('type Boolean has effect', async () => {
|
|
14
10
|
const wrapper = mount(QToolbarTitle)
|
|
15
11
|
const target = wrapper.get('.q-toolbar__title')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, ref, computed, watch, onBeforeUnmount, Transition, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
|
-
import useAnchor, {
|
|
3
|
+
import useAnchor, { useAnchorStaticProps } from '../../composables/private.use-anchor/use-anchor.js'
|
|
4
4
|
import useScrollTarget from '../../composables/private.use-scroll-target/use-scroll-target.js'
|
|
5
5
|
import useModelToggle, { useModelToggleProps, useModelToggleEmits } from '../../composables/private.use-model-toggle/use-model-toggle.js'
|
|
6
6
|
import usePortal from '../../composables/private.use-portal/use-portal.js'
|
|
@@ -9,7 +9,7 @@ import useTick from '../../composables/use-tick/use-tick.js'
|
|
|
9
9
|
import useTimeout from '../../composables/use-timeout/use-timeout.js'
|
|
10
10
|
|
|
11
11
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
12
|
-
import { getScrollTarget } from '../../utils/scroll/scroll.js'
|
|
12
|
+
import { getScrollTarget, scrollTargetProp } from '../../utils/scroll/scroll.js'
|
|
13
13
|
import { stopAndPrevent, addEvt, cleanEvt } from '../../utils/event/event.js'
|
|
14
14
|
import { clearSelection } from '../../utils/private.selection/selection.js'
|
|
15
15
|
import { hSlot } from '../../utils/private.render/render.js'
|
|
@@ -24,7 +24,7 @@ export default createComponent({
|
|
|
24
24
|
inheritAttrs: false,
|
|
25
25
|
|
|
26
26
|
props: {
|
|
27
|
-
...
|
|
27
|
+
...useAnchorStaticProps,
|
|
28
28
|
...useModelToggleProps,
|
|
29
29
|
...useTransitionProps,
|
|
30
30
|
|
|
@@ -38,9 +38,11 @@ export default createComponent({
|
|
|
38
38
|
},
|
|
39
39
|
|
|
40
40
|
transitionShow: {
|
|
41
|
+
...useTransitionProps.transitionShow,
|
|
41
42
|
default: 'jump-down'
|
|
42
43
|
},
|
|
43
44
|
transitionHide: {
|
|
45
|
+
...useTransitionProps.transitionHide,
|
|
44
46
|
default: 'jump-up'
|
|
45
47
|
},
|
|
46
48
|
|
|
@@ -60,9 +62,7 @@ export default createComponent({
|
|
|
60
62
|
validator: validateOffset
|
|
61
63
|
},
|
|
62
64
|
|
|
63
|
-
scrollTarget:
|
|
64
|
-
default: void 0
|
|
65
|
-
},
|
|
65
|
+
scrollTarget: scrollTargetProp,
|
|
66
66
|
|
|
67
67
|
delay: {
|
|
68
68
|
type: Number,
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
-
"mixins": [
|
|
2
|
+
"mixins": [
|
|
3
|
+
"composables/private.use-model-toggle/use-model-toggle",
|
|
4
|
+
"composables/private.use-anchor/use-anchor-static",
|
|
5
|
+
"composables/private.use-portal/use-portal",
|
|
6
|
+
"composables/private.use-transition/use-transition"
|
|
7
|
+
],
|
|
3
8
|
|
|
4
9
|
"meta": {
|
|
5
10
|
"docsUrl": "https://v2.quasar.dev/vue-components/tooltip"
|
|
@@ -66,20 +71,6 @@
|
|
|
66
71
|
"extends": "scroll-target"
|
|
67
72
|
},
|
|
68
73
|
|
|
69
|
-
"target": {
|
|
70
|
-
"type": [ "Boolean", "String" ],
|
|
71
|
-
"desc": "Configure a target element to trigger Tooltip toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) it attaches the events to the specified DOM element (if it exists)",
|
|
72
|
-
"default": "true",
|
|
73
|
-
"examples": [ "# :target=\"false\"", "# target=\".my-parent\"" ],
|
|
74
|
-
"category": "behavior"
|
|
75
|
-
},
|
|
76
|
-
|
|
77
|
-
"no-parent-event": {
|
|
78
|
-
"type": "Boolean",
|
|
79
|
-
"desc": "Skips attaching events to the target DOM element (that trigger the element to get shown)",
|
|
80
|
-
"category": "behavior"
|
|
81
|
-
},
|
|
82
|
-
|
|
83
74
|
"delay": {
|
|
84
75
|
"type": "Number",
|
|
85
76
|
"desc": "Configure Tooltip to appear with delay",
|