quasar 2.19.3 → 2.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/Lang.json +1 -1
- package/dist/api/QCarouselSlide.json +1 -1
- package/dist/api/QChatMessage.json +1 -1
- package/dist/api/QImg.json +1 -1
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QRange.json +1 -1
- package/dist/api/QSlider.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/api/QTree.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +2 -2
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +5 -5
- package/dist/icon-set/fontawesome-v5.umd.prod.js +5 -5
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +5 -5
- package/dist/icon-set/fontawesome-v6.umd.prod.js +5 -5
- package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v7.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 +5 -5
- package/dist/icon-set/mdi-v4.umd.prod.js +5 -5
- package/dist/icon-set/mdi-v5.umd.prod.js +5 -5
- package/dist/icon-set/mdi-v6.umd.prod.js +5 -5
- 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 +2 -2
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +5 -5
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +5 -5
- package/dist/icon-set/svg-fontawesome-v7.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 +5 -5
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +5 -5
- package/dist/icon-set/svg-ionicons-v7.umd.prod.js +5 -5
- package/dist/icon-set/svg-ionicons-v8.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 +5 -5
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +2 -2
- package/dist/icon-set/themify.umd.prod.js +2 -2
- package/dist/lang/ar-TN.umd.prod.js +2 -2
- package/dist/lang/ar.umd.prod.js +2 -2
- package/dist/lang/az-Latn.umd.prod.js +2 -2
- package/dist/lang/bg.umd.prod.js +2 -2
- package/dist/lang/bn.umd.prod.js +2 -2
- package/dist/lang/bs-BA.umd.prod.js +2 -2
- package/dist/lang/ca.umd.prod.js +2 -2
- package/dist/lang/cs.umd.prod.js +2 -2
- package/dist/lang/da.umd.prod.js +2 -2
- package/dist/lang/de-CH.umd.prod.js +2 -2
- package/dist/lang/de-DE.umd.prod.js +2 -2
- package/dist/lang/de.umd.prod.js +2 -2
- package/dist/lang/el.umd.prod.js +2 -2
- package/dist/lang/en-GB.umd.prod.js +2 -2
- package/dist/lang/en-US.umd.prod.js +2 -2
- package/dist/lang/eo.umd.prod.js +2 -2
- package/dist/lang/es.umd.prod.js +2 -2
- package/dist/lang/et.umd.prod.js +2 -2
- package/dist/lang/eu.umd.prod.js +2 -2
- package/dist/lang/fa-IR.umd.prod.js +2 -2
- package/dist/lang/fa.umd.prod.js +2 -2
- package/dist/lang/fi.umd.prod.js +2 -2
- package/dist/lang/fr.umd.prod.js +2 -2
- package/dist/lang/gn.umd.prod.js +2 -2
- package/dist/lang/he.umd.prod.js +2 -2
- package/dist/lang/hi.umd.prod.js +2 -2
- package/dist/lang/hr.umd.prod.js +2 -2
- package/dist/lang/hu.umd.prod.js +2 -2
- package/dist/lang/id.umd.prod.js +2 -2
- package/dist/lang/is.umd.prod.js +2 -2
- package/dist/lang/it.umd.prod.js +2 -2
- package/dist/lang/ja.umd.prod.js +2 -2
- package/dist/lang/kk.umd.prod.js +2 -2
- package/dist/lang/km.umd.prod.js +2 -2
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +2 -2
- package/dist/lang/lt.umd.prod.js +2 -2
- package/dist/lang/lu.umd.prod.js +2 -2
- package/dist/lang/lv.umd.prod.js +2 -2
- package/dist/lang/mk.umd.prod.js +2 -2
- package/dist/lang/ml.umd.prod.js +2 -2
- package/dist/lang/mm.umd.prod.js +2 -2
- package/dist/lang/ms-MY.umd.prod.js +2 -2
- package/dist/lang/ms.umd.prod.js +2 -2
- package/dist/lang/my.umd.prod.js +2 -2
- package/dist/lang/nb-NO.umd.prod.js +2 -2
- package/dist/lang/nl.umd.prod.js +2 -2
- package/dist/lang/pl.umd.prod.js +2 -2
- package/dist/lang/pt-BR.umd.prod.js +2 -2
- package/dist/lang/pt.umd.prod.js +2 -2
- package/dist/lang/ro.umd.prod.js +2 -2
- package/dist/lang/ru.umd.prod.js +2 -2
- package/dist/lang/sk.umd.prod.js +2 -2
- package/dist/lang/sl.umd.prod.js +2 -2
- package/dist/lang/sm.umd.prod.js +2 -2
- package/dist/lang/sq.umd.prod.js +2 -2
- package/dist/lang/sr-CYR.umd.prod.js +2 -2
- package/dist/lang/sr.umd.prod.js +2 -2
- package/dist/lang/sv.umd.prod.js +2 -2
- package/dist/lang/ta.umd.prod.js +2 -2
- package/dist/lang/th.umd.prod.js +2 -2
- package/dist/lang/tl.umd.prod.js +2 -2
- package/dist/lang/tr.umd.prod.js +2 -2
- package/dist/lang/ug.umd.prod.js +2 -2
- package/dist/lang/uk.umd.prod.js +2 -2
- package/dist/lang/ur-PK.umd.prod.js +2 -2
- package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
- package/dist/lang/uz-Latn.umd.prod.js +2 -2
- package/dist/lang/vi.umd.prod.js +2 -2
- package/dist/lang/zh-CN.umd.prod.js +2 -2
- package/dist/lang/zh-TW.umd.prod.js +2 -2
- package/dist/quasar.client.js +2614 -2602
- package/dist/quasar.sass +1 -1
- package/dist/quasar.server.prod.cjs +11 -11
- package/dist/quasar.server.prod.js +25 -25
- package/dist/quasar.umd.js +2609 -2597
- package/dist/quasar.umd.prod.js +23 -23
- package/dist/types/api/dialog.d.ts +1 -1
- package/dist/types/api/qnotify.d.ts +1 -1
- package/dist/types/api/qpopupproxy.d.ts +1 -1
- package/dist/types/feature-flag.d.ts +2 -2
- package/dist/types/globals.d.ts +2 -2
- package/dist/types/icon-set.d.ts +16 -16
- package/dist/types/shim-icon-set.d.ts +1 -2
- package/dist/types/shim-lang.d.ts +1 -2
- package/dist/types/ts-helpers.d.ts +3 -3
- package/dist/types/tsconfig.json +1 -1
- package/dist/types/utils/scroll.d.ts +1 -1
- package/dist/types/utils.d.ts +2 -2
- package/dist/web-types/web-types.json +1 -1
- package/icon-set/bootstrap-icons.js +1 -1
- package/icon-set/eva-icons.js +22 -22
- package/icon-set/ionicons-v4.js +16 -16
- package/icon-set/svg-bootstrap-icons.js +1 -1
- package/icon-set/svg-eva-icons.js +22 -22
- package/icon-set/svg-fontawesome-v5.js +1 -1
- package/icon-set/svg-ionicons-v4.js +16 -16
- package/icon-set/svg-themify.js +7 -7
- package/icon-set/themify.js +7 -7
- package/lang/ar-TN.js +1 -1
- package/lang/ar.js +1 -1
- package/lang/az-Latn.js +1 -1
- package/lang/bg.js +1 -1
- package/lang/bn.js +1 -1
- package/lang/bs-BA.js +1 -1
- package/lang/ca.js +1 -1
- package/lang/cs.js +11 -6
- package/lang/da.js +1 -1
- package/lang/de-CH.js +1 -1
- package/lang/de-DE.js +1 -1
- package/lang/de.js +1 -1
- package/lang/el.js +1 -1
- package/lang/en-GB.js +1 -1
- package/lang/en-US.js +1 -1
- package/lang/eo.js +1 -1
- package/lang/es.js +1 -1
- package/lang/et.js +1 -1
- package/lang/eu.js +1 -1
- package/lang/fa-IR.js +1 -1
- package/lang/fa.js +1 -1
- package/lang/fi.js +1 -1
- package/lang/fr.js +1 -1
- package/lang/gn.js +1 -1
- package/lang/he.js +1 -1
- package/lang/hi.js +1 -1
- package/lang/hr.js +1 -1
- package/lang/hu.js +1 -1
- package/lang/id.js +1 -1
- package/lang/is.js +1 -1
- package/lang/it.js +1 -1
- package/lang/ja.js +1 -1
- package/lang/kk.js +1 -1
- package/lang/km.js +1 -1
- package/lang/kur-CKB.js +1 -1
- package/lang/lt.js +2 -2
- package/lang/lu.js +1 -1
- package/lang/lv.js +1 -1
- package/lang/mk.js +1 -1
- package/lang/ml.js +1 -1
- package/lang/mm.js +1 -1
- package/lang/ms-MY.js +1 -1
- package/lang/ms.js +1 -1
- package/lang/my.js +1 -1
- package/lang/nb-NO.js +1 -1
- package/lang/nl.js +1 -1
- package/lang/pl.js +1 -1
- package/lang/pt-BR.js +1 -1
- package/lang/pt.js +1 -1
- package/lang/ro.js +1 -1
- package/lang/ru.js +1 -1
- package/lang/sk.js +1 -1
- package/lang/sl.js +1 -1
- package/lang/sm.js +1 -1
- package/lang/sq.js +1 -1
- package/lang/sr-CYR.js +1 -1
- package/lang/sr.js +1 -1
- package/lang/sv.js +1 -1
- package/lang/ta.js +1 -1
- package/lang/th.js +1 -1
- package/lang/tl.js +1 -1
- package/lang/tr.js +1 -1
- package/lang/ug.js +1 -1
- package/lang/uk.js +1 -1
- package/lang/ur-PK.js +1 -1
- package/lang/uz-Cyrl.js +1 -1
- package/lang/uz-Latn.js +1 -1
- package/lang/vi.js +1 -1
- package/lang/zh-CN.js +1 -1
- package/lang/zh-TW.js +1 -1
- package/package.json +13 -17
- package/src/components/ajax-bar/QAjaxBar.js +22 -25
- package/src/components/avatar/QAvatar.js +3 -3
- package/src/components/avatar/QAvatar.test.js +2 -2
- package/src/components/badge/QBadge.js +9 -10
- package/src/components/badge/QBadge.test.js +2 -2
- package/src/components/banner/QBanner.js +6 -6
- package/src/components/banner/QBanner.test.js +2 -2
- package/src/components/bar/QBar.js +3 -3
- package/src/components/bar/QBar.test.js +2 -2
- package/src/components/breadcrumbs/QBreadcrumbs.js +5 -4
- package/src/components/breadcrumbs/QBreadcrumbs.test.js +3 -3
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +4 -4
- package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +2 -2
- package/src/components/btn/QBtn.js +39 -44
- package/src/components/btn/QBtn.test.js +2 -2
- package/src/components/btn/use-btn.js +34 -47
- package/src/components/btn/use-btn.test.js +5 -5
- package/src/components/btn-dropdown/QBtnDropdown.js +15 -16
- package/src/components/btn-group/QBtnGroup.js +3 -3
- package/src/components/btn-toggle/QBtnToggle.js +5 -9
- package/src/components/card/QCard.js +5 -5
- package/src/components/card/QCardActions.js +2 -2
- package/src/components/card/QCardSection.js +2 -2
- package/src/components/carousel/QCarousel.js +32 -38
- package/src/components/carousel/QCarouselControl.js +1 -1
- package/src/components/carousel/QCarouselSlide.js +1 -1
- package/src/components/carousel/QCarouselSlide.json +1 -1
- package/src/components/chat/QChatMessage.js +13 -14
- package/src/components/chat/QChatMessage.json +1 -1
- package/src/components/checkbox/QCheckbox.js +5 -5
- package/src/components/checkbox/use-checkbox.js +38 -50
- package/src/components/chip/QChip.js +26 -34
- package/src/components/chip/QChip.test.js +2 -2
- package/src/components/circular-progress/QCircularProgress.js +8 -11
- package/src/components/circular-progress/circular-progress.test.js +1 -1
- package/src/components/color/QColor.js +75 -98
- package/src/components/date/QDate.js +128 -140
- package/src/components/date/use-datetime.js +3 -6
- package/src/components/dialog/QDialog.js +44 -50
- package/src/components/dialog/QDialog.test.js +7 -7
- package/src/components/drawer/QDrawer.js +110 -152
- package/src/components/editor/QEditor.js +44 -37
- package/src/components/editor/editor-caret.js +27 -31
- package/src/components/editor/editor-utils.js +9 -5
- package/src/components/expansion-item/QExpansionItem.js +36 -48
- package/src/components/fab/QFab.js +11 -11
- package/src/components/fab/QFabAction.js +2 -4
- package/src/components/fab/use-fab.js +6 -7
- package/src/components/field/QField.js +2 -2
- package/src/components/file/QFile.js +26 -33
- package/src/components/footer/QFooter.js +40 -53
- package/src/components/form/QForm.js +37 -43
- package/src/components/form/QFormChildMixin.js +3 -3
- package/src/components/header/QHeader.js +35 -47
- package/src/components/icon/QIcon.js +19 -19
- package/src/components/img/QImg.js +24 -24
- package/src/components/img/QImg.json +3 -3
- package/src/components/infinite-scroll/QInfiniteScroll.js +38 -52
- package/src/components/inner-loading/QInnerLoading.js +3 -3
- package/src/components/input/QInput.js +52 -52
- package/src/components/input/use-mask.js +56 -54
- package/src/components/intersection/QIntersection.js +6 -8
- package/src/components/item/QItem.js +20 -30
- package/src/components/item/QItemLabel.js +5 -7
- package/src/components/item/QItemSection.js +6 -6
- package/src/components/item/QList.js +6 -6
- package/src/components/item/QList.test.js +2 -2
- package/src/components/knob/QKnob.js +39 -44
- package/src/components/layout/QLayout.js +30 -34
- package/src/components/linear-progress/QLinearProgress.js +14 -23
- package/src/components/markup-table/QMarkupTable.js +7 -9
- package/src/components/menu/QMenu.js +36 -37
- package/src/components/no-ssr/QNoSsr.js +1 -1
- package/src/components/option-group/QOptionGroup.js +5 -5
- package/src/components/page/QPage.js +16 -18
- package/src/components/page/QPageContainer.js +9 -9
- package/src/components/page-scroller/QPageScroller.js +11 -13
- package/src/components/page-sticky/use-page-sticky.js +18 -18
- package/src/components/pagination/QPagination.js +24 -26
- package/src/components/parallax/QParallax.js +15 -9
- package/src/components/parallax/QParallax.json +1 -1
- package/src/components/popup-edit/QPopupEdit.js +10 -13
- package/src/components/popup-proxy/QPopupProxy.js +5 -7
- package/src/components/pull-to-refresh/QPullToRefresh.js +15 -17
- package/src/components/radio/QRadio.js +24 -29
- package/src/components/range/QRange.js +33 -37
- package/src/components/rating/QRating.js +59 -61
- package/src/components/resize-observer/QResizeObserver.js +55 -62
- package/src/components/scroll-area/QScrollArea.js +32 -36
- package/src/components/scroll-observer/QScrollObserver.js +3 -3
- package/src/components/select/QSelect.js +208 -269
- package/src/components/separator/QSeparator.js +7 -10
- package/src/components/skeleton/QSkeleton.js +4 -4
- package/src/components/slide-item/QSlideItem.js +7 -7
- package/src/components/slide-transition/QSlideTransition.js +4 -4
- package/src/components/slider/QSlider.js +13 -16
- package/src/components/slider/use-slider.js +53 -81
- package/src/components/slider/use-slider.json +3 -3
- package/src/components/space/QSpace.test.js +1 -1
- package/src/components/spinner/QSpinner.test.js +2 -2
- package/src/components/spinner/QSpinnerAudio.test.js +2 -2
- package/src/components/spinner/QSpinnerBall.test.js +2 -2
- package/src/components/spinner/QSpinnerBars.test.js +2 -2
- package/src/components/spinner/QSpinnerBox.test.js +2 -2
- package/src/components/spinner/QSpinnerClock.test.js +2 -2
- package/src/components/spinner/QSpinnerComment.test.js +2 -2
- package/src/components/spinner/QSpinnerCube.test.js +2 -2
- package/src/components/spinner/QSpinnerDots.test.js +2 -2
- package/src/components/spinner/QSpinnerFacebook.test.js +2 -2
- package/src/components/spinner/QSpinnerGears.test.js +2 -2
- package/src/components/spinner/QSpinnerGrid.test.js +2 -2
- package/src/components/spinner/QSpinnerHearts.test.js +2 -2
- package/src/components/spinner/QSpinnerHourglass.test.js +2 -2
- package/src/components/spinner/QSpinnerInfinity.test.js +2 -2
- package/src/components/spinner/QSpinnerIos.test.js +2 -2
- package/src/components/spinner/QSpinnerOrbit.test.js +2 -2
- package/src/components/spinner/QSpinnerOval.test.js +2 -2
- package/src/components/spinner/QSpinnerPie.test.js +2 -2
- package/src/components/spinner/QSpinnerPuff.test.js +2 -2
- package/src/components/spinner/QSpinnerRadio.test.js +2 -2
- package/src/components/spinner/QSpinnerRings.test.js +2 -2
- package/src/components/spinner/QSpinnerTail.test.js +2 -2
- package/src/components/spinner/use-spinner.test.js +1 -1
- package/src/components/splitter/QSplitter.js +19 -21
- package/src/components/stepper/QStep.js +12 -14
- package/src/components/stepper/QStepper.js +13 -14
- package/src/components/stepper/StepHeader.js +34 -35
- package/src/components/tab-panels/QTabPanels.js +3 -3
- package/src/components/table/QTable.js +82 -100
- package/src/components/table/QTd.js +3 -3
- package/src/components/table/QTh.js +5 -6
- package/src/components/table/QTr.js +3 -3
- package/src/components/table/table-column-selection.js +4 -6
- package/src/components/table/table-filter.js +2 -2
- package/src/components/table/table-pagination.js +14 -20
- package/src/components/table/table-row-expand.js +3 -3
- package/src/components/table/table-row-selection.js +10 -20
- package/src/components/table/table-sort.js +7 -7
- package/src/components/tabs/QRouteTab.js +1 -1
- package/src/components/tabs/QTab.js +1 -1
- package/src/components/tabs/QTabs.js +82 -109
- package/src/components/tabs/use-tab.js +36 -38
- package/src/components/time/QTime.js +109 -132
- package/src/components/timeline/QTimeline.js +7 -4
- package/src/components/timeline/QTimelineEntry.js +7 -6
- package/src/components/timeline/QTimelineEntry.json +1 -1
- package/src/components/toggle/QToggle.js +6 -8
- package/src/components/toolbar/QToolbar.js +2 -2
- package/src/components/toolbar/QToolbar.test.js +2 -2
- package/src/components/toolbar/QToolbarTitle.js +2 -4
- package/src/components/toolbar/QToolbarTitle.test.js +2 -2
- package/src/components/tooltip/QTooltip.js +27 -28
- package/src/components/tree/QTree.js +96 -114
- package/src/components/tree/QTree.json +1 -1
- package/src/components/uploader/QUploaderAddTrigger.js +2 -2
- package/src/components/uploader/uploader-core.js +44 -51
- package/src/components/uploader/xhr-uploader-plugin.js +13 -17
- package/src/components/video/QVideo.js +1 -1
- package/src/components/video/QVideo.test.js +2 -2
- package/src/components/virtual-scroll/QVirtualScroll.js +9 -10
- package/src/components/virtual-scroll/use-virtual-scroll.js +42 -50
- package/src/composables/private.use-align/use-align.js +2 -2
- package/src/composables/private.use-align/use-align.test.js +1 -1
- package/src/composables/private.use-anchor/use-anchor.js +23 -32
- package/src/composables/private.use-dark/use-dark.test.js +1 -1
- package/src/composables/private.use-field/use-field.js +79 -99
- package/src/composables/private.use-file/use-file-dom-props.js +2 -2
- package/src/composables/private.use-file/use-file.js +27 -27
- package/src/composables/private.use-fullscreen/use-fullscreen.js +15 -20
- package/src/composables/private.use-history/use-history.js +2 -2
- package/src/composables/private.use-history/use-history.test.js +1 -1
- package/src/composables/private.use-key-composition/use-key-composition.js +11 -12
- package/src/composables/private.use-model-toggle/use-model-toggle.js +16 -25
- package/src/composables/private.use-panel/use-panel.js +25 -27
- package/src/composables/private.use-portal/use-portal.js +11 -9
- package/src/composables/private.use-prevent-scroll/use-prevent-scroll.js +1 -4
- package/src/composables/private.use-ratio/use-ratio.js +6 -5
- package/src/composables/private.use-ratio/use-ratio.test.js +1 -1
- package/src/composables/private.use-refocus-target/use-refocus-target.js +2 -4
- package/src/composables/private.use-router-link/use-router-link.js +44 -55
- package/src/composables/private.use-scroll-target/use-scroll-target.js +1 -1
- package/src/composables/private.use-size/use-size.test.js +1 -1
- package/src/composables/private.use-transition/use-transition.test.js +1 -1
- package/src/composables/private.use-validate/use-validate.js +23 -36
- package/src/composables/use-dialog-plugin-component/use-dialog-plugin-component.js +1 -1
- package/src/composables/use-form/private.use-form.js +1 -1
- package/src/composables/use-form/private.use-form.test.js +3 -3
- package/src/composables/use-form/use-form-child.js +7 -7
- package/src/composables/use-hydration/use-hydration.js +2 -2
- package/src/composables/use-hydration/use-hydration.test.js +1 -1
- package/src/composables/use-id/use-id.js +4 -8
- package/src/composables/use-id/use-id.test.js +1 -1
- package/src/composables/use-interval/use-interval.js +2 -2
- package/src/composables/use-interval/use-interval.test.js +1 -1
- package/src/composables/use-meta/use-meta.js +3 -3
- package/src/composables/use-quasar/use-quasar.test.js +1 -1
- package/src/composables/use-render-cache/use-render-cache.js +1 -1
- package/src/composables/use-render-cache/use-render-cache.test.js +1 -1
- package/src/composables/use-split-attrs/use-split-attrs.js +3 -7
- package/src/composables/use-split-attrs/use-split-attrs.test.js +1 -1
- package/src/composables/use-tick/use-tick.js +3 -3
- package/src/composables/use-tick/use-tick.test.js +2 -2
- package/src/composables/use-timeout/use-timeout.js +2 -2
- package/src/composables/use-timeout/use-timeout.test.js +1 -1
- package/src/directives/close-popup/ClosePopup.js +4 -9
- package/src/directives/intersection/Intersection.js +5 -8
- package/src/directives/morph/Morph.js +12 -18
- package/src/directives/ripple/Ripple.js +19 -26
- package/src/directives/ripple/Ripple.test.js +2 -2
- package/src/directives/scroll/Scroll.js +2 -2
- package/src/directives/touch-hold/TouchHold.js +22 -28
- package/src/directives/touch-pan/TouchPan.js +68 -84
- package/src/directives/touch-repeat/TouchRepeat.js +28 -39
- package/src/directives/touch-swipe/TouchSwipe.js +30 -33
- package/src/index.ssr.js +2 -0
- package/src/index.umd.js +2 -0
- package/src/install-quasar.js +9 -9
- package/src/plugins/addressbar/AddressbarColor.js +9 -9
- package/src/plugins/addressbar/AddressbarColor.test.js +2 -2
- package/src/plugins/app-fullscreen/AppFullscreen.js +11 -10
- package/src/plugins/app-fullscreen/AppFullscreen.test.js +2 -2
- package/src/plugins/app-fullscreen/test/mock-fullscreen.js +2 -2
- package/src/plugins/app-visibility/AppVisibility.js +5 -5
- package/src/plugins/app-visibility/AppVisibility.test.js +2 -2
- package/src/plugins/bottom-sheet/BottomSheet.js +2 -2
- package/src/plugins/bottom-sheet/component/BottomSheetComponent.js +4 -4
- package/src/plugins/cookies/Cookies.js +50 -62
- package/src/plugins/dark/Dark.js +3 -5
- package/src/plugins/dark/Dark.test.js +1 -1
- package/src/plugins/dialog/Dialog.js +2 -2
- package/src/plugins/dialog/component/DialogPluginComponent.js +17 -20
- package/src/plugins/icon-set/IconSet.js +2 -4
- package/src/plugins/icon-set/IconSet.test.js +1 -1
- package/src/plugins/lang/Lang.js +7 -10
- package/src/plugins/lang/Lang.json +2 -2
- package/src/plugins/lang/Lang.test.js +2 -2
- package/src/plugins/loading/Loading.js +10 -12
- package/src/plugins/loading-bar/LoadingBar.js +4 -4
- package/src/plugins/meta/Meta.js +10 -11
- package/src/plugins/notify/Notify.js +67 -72
- package/src/plugins/platform/Platform.js +19 -21
- package/src/plugins/platform/Platform.test.js +1 -1
- package/src/plugins/private.body/Body.js +23 -29
- package/src/plugins/private.body/Body.test.js +1 -1
- package/src/plugins/private.history/History.js +17 -25
- package/src/plugins/private.history/History.test.js +1 -1
- package/src/plugins/screen/Screen.js +16 -16
- package/src/plugins/screen/Screen.test.js +1 -1
- package/src/plugins/storage/LocalStorage.js +3 -4
- package/src/plugins/storage/LocalStorage.test.js +2 -2
- package/src/plugins/storage/SessionStorage.js +3 -4
- package/src/plugins/storage/SessionStorage.test.js +2 -2
- package/src/plugins/storage/engine/web-storage.js +30 -23
- package/src/plugins/storage/engine/web-storage.test.js +1 -1
- package/src/utils/EventBus/EventBus.js +3 -4
- package/src/utils/EventBus/EventBus.test.js +1 -1
- package/src/utils/clone/clone.test.js +4 -8
- package/src/utils/colors/colors.js +38 -29
- package/src/utils/colors/colors.test.js +2 -2
- package/src/utils/copy-to-clipboard/copy-to-clipboard.js +6 -11
- package/src/utils/create-meta-mixin/create-meta-mixin.js +2 -2
- package/src/utils/create-uploader-component/create-uploader-component.js +12 -7
- package/src/utils/css-var/get-css-var.test.js +2 -2
- package/src/utils/css-var/set-css-var.test.js +2 -2
- package/src/utils/date/date.js +229 -172
- package/src/utils/date/private.persian.js +11 -11
- package/src/utils/debounce/debounce.js +3 -7
- package/src/utils/debounce/debounce.test.js +1 -1
- package/src/utils/dom/dom.js +2 -4
- package/src/utils/dom/dom.test.js +4 -4
- package/src/utils/event/event.js +21 -23
- package/src/utils/export-file/export-file.js +3 -3
- package/src/utils/extend/extend.js +15 -14
- package/src/utils/extend/extend.test.js +2 -2
- package/src/utils/format/format.js +4 -10
- package/src/utils/format/format.test.js +1 -1
- package/src/utils/frame-debounce/frame-debounce.js +23 -12
- package/src/utils/frame-debounce/frame-debounce.test.js +1 -1
- package/src/utils/is/is.js +15 -26
- package/src/utils/is/is.test.js +8 -7
- package/src/utils/morph/morph.js +57 -48
- package/src/utils/open-url/open-url.js +7 -7
- package/src/utils/patterns/patterns.js +26 -23
- package/src/utils/patterns/patterns.test.js +1 -1
- package/src/utils/private.click-outside/click-outside.js +5 -5
- package/src/utils/private.config/instance-config.js +2 -0
- package/src/utils/private.config/instance-config.test.js +4 -4
- package/src/utils/private.config/nodes.js +5 -5
- package/src/utils/private.config/nodes.test.js +4 -4
- package/src/utils/private.create/create.test.js +1 -1
- package/src/utils/private.dialog/create-dialog.js +9 -12
- package/src/utils/private.focus/focus-manager.js +1 -1
- package/src/utils/private.focus/focus-manager.test.js +4 -4
- package/src/utils/private.focus/focusout.js +2 -2
- package/src/utils/private.focus/focusout.test.js +1 -1
- package/src/utils/private.get-emits-object/get-emits-object.test.js +1 -1
- package/src/utils/private.inject-obj-prop/inject-obj-prop.test.js +2 -2
- package/src/utils/private.keyboard/escape-key.js +5 -5
- package/src/utils/private.keyboard/escape-key.test.js +1 -1
- package/src/utils/private.keyboard/key-composition.js +4 -6
- package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.js +3 -1
- package/src/utils/private.noop-ssr-directive-transform/noop-ssr-directive-transform.test.js +1 -1
- package/src/utils/private.portal/portal.js +5 -5
- package/src/utils/private.position-engine/position-engine.js +20 -22
- package/src/utils/private.render/render.js +5 -7
- package/src/utils/private.render/render.test.js +5 -5
- package/src/utils/private.rtl/rtl.js +3 -2
- package/src/utils/private.rtl/rtl.test.js +1 -1
- package/src/utils/private.selection/selection.js +1 -1
- package/src/utils/private.selection/selection.test.js +2 -2
- package/src/utils/private.sort/sort.test.js +2 -2
- package/src/utils/private.touch/touch.js +10 -14
- package/src/utils/private.touch/touch.test.js +1 -1
- package/src/utils/private.vm/vm.js +2 -2
- package/src/utils/private.vm/vm.test.js +4 -4
- package/src/utils/run-sequential-promises/run-sequential-promises.js +44 -54
- package/src/utils/run-sequential-promises/run-sequential-promises.test.js +183 -0
- package/src/utils/scroll/prevent-scroll.js +9 -9
- package/src/utils/scroll/scroll.js +11 -12
- package/src/utils/throttle/throttle.js +4 -3
- package/src/utils/throttle/throttle.test.js +1 -1
- package/src/utils/uid/uid.js +51 -77
- package/src/utils/uid/uid.test.js +3 -3
- package/wrappers/index.cjs +2 -2
- package/wrappers/index.js +2 -2
- package/dist/vetur/quasar-attributes.json +0 -1
- package/dist/vetur/quasar-tags.json +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance, h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, {
|
|
4
4
|
useDarkProps
|
|
@@ -38,32 +38,30 @@ export default createComponent({
|
|
|
38
38
|
const isDark = useDark(props, vm.proxy.$q)
|
|
39
39
|
|
|
40
40
|
const orientation = computed(() =>
|
|
41
|
-
props.vertical
|
|
41
|
+
props.vertical ? 'vertical' : 'horizontal'
|
|
42
42
|
)
|
|
43
43
|
|
|
44
44
|
const orientClass = computed(() => ` q-separator--${orientation.value}`)
|
|
45
45
|
|
|
46
46
|
const insetClass = computed(() =>
|
|
47
|
-
props.inset
|
|
48
|
-
? `${orientClass.value}-${insetMap[props.inset]}`
|
|
49
|
-
: ''
|
|
47
|
+
props.inset ? `${orientClass.value}-${insetMap[props.inset]}` : ''
|
|
50
48
|
)
|
|
51
49
|
|
|
52
50
|
const classes = computed(
|
|
53
51
|
() =>
|
|
54
52
|
`q-separator${orientClass.value}${insetClass.value}` +
|
|
55
53
|
(props.color !== void 0 ? ` bg-${props.color}` : '') +
|
|
56
|
-
(isDark.value
|
|
54
|
+
(isDark.value ? ' q-separator--dark' : '')
|
|
57
55
|
)
|
|
58
56
|
|
|
59
57
|
const style = computed(() => {
|
|
60
58
|
const acc = {}
|
|
61
59
|
|
|
62
60
|
if (props.size !== void 0) {
|
|
63
|
-
acc[props.vertical
|
|
61
|
+
acc[props.vertical ? 'width' : 'height'] = props.size
|
|
64
62
|
}
|
|
65
63
|
|
|
66
|
-
if (props.spaced
|
|
64
|
+
if (props.spaced) {
|
|
67
65
|
const size =
|
|
68
66
|
props.spaced === true
|
|
69
67
|
? `${margins.md}px`
|
|
@@ -71,8 +69,7 @@ export default createComponent({
|
|
|
71
69
|
? `${margins[props.spaced]}px`
|
|
72
70
|
: props.spaced
|
|
73
71
|
|
|
74
|
-
const dir =
|
|
75
|
-
props.vertical === true ? ['Left', 'Right'] : ['Top', 'Bottom']
|
|
72
|
+
const dir = props.vertical ? ['Left', 'Right'] : ['Top', 'Bottom']
|
|
76
73
|
|
|
77
74
|
acc[`margin${dir[0]}`] = acc[`margin${dir[1]}`] = size
|
|
78
75
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance, h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, {
|
|
4
4
|
useDarkProps
|
|
@@ -88,12 +88,12 @@ export default createComponent({
|
|
|
88
88
|
|
|
89
89
|
const classes = computed(
|
|
90
90
|
() =>
|
|
91
|
-
`q-skeleton q-skeleton--${isDark.value
|
|
91
|
+
`q-skeleton q-skeleton--${isDark.value ? 'dark' : 'light'} q-skeleton--type-${props.type}` +
|
|
92
92
|
(props.animation !== 'none'
|
|
93
93
|
? ` q-skeleton--anim q-skeleton--anim-${props.animation}`
|
|
94
94
|
: '') +
|
|
95
|
-
(props.square
|
|
96
|
-
(props.bordered
|
|
95
|
+
(props.square ? ' q-skeleton--square' : '') +
|
|
96
|
+
(props.bordered ? ' q-skeleton--bordered' : '')
|
|
97
97
|
)
|
|
98
98
|
|
|
99
99
|
return () =>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
|
-
h,
|
|
3
|
-
ref,
|
|
4
2
|
computed,
|
|
5
|
-
|
|
3
|
+
getCurrentInstance,
|
|
4
|
+
h,
|
|
6
5
|
onBeforeUnmount,
|
|
7
6
|
onBeforeUpdate,
|
|
8
|
-
|
|
7
|
+
ref,
|
|
8
|
+
withDirectives
|
|
9
9
|
} from 'vue'
|
|
10
10
|
|
|
11
11
|
import TouchPan from '../../directives/touch-pan/TouchPan.js'
|
|
@@ -56,7 +56,7 @@ export default createComponent({
|
|
|
56
56
|
dirContentRefs = {}
|
|
57
57
|
|
|
58
58
|
const langDir = computed(() =>
|
|
59
|
-
$q.lang.rtl
|
|
59
|
+
$q.lang.rtl
|
|
60
60
|
? { left: 'right', right: 'left' }
|
|
61
61
|
: { left: 'left', right: 'right' }
|
|
62
62
|
)
|
|
@@ -64,7 +64,7 @@ export default createComponent({
|
|
|
64
64
|
const classes = computed(
|
|
65
65
|
() =>
|
|
66
66
|
'q-slide-item q-item-type overflow-hidden' +
|
|
67
|
-
(isDark.value
|
|
67
|
+
(isDark.value ? ' q-slide-item--dark q-dark' : '')
|
|
68
68
|
)
|
|
69
69
|
|
|
70
70
|
function reset() {
|
|
@@ -189,7 +189,7 @@ export default createComponent({
|
|
|
189
189
|
up: slots.bottom !== void 0,
|
|
190
190
|
down: slots.top !== void 0
|
|
191
191
|
},
|
|
192
|
-
dirs = Object.keys(slotsList).filter(key => slotsList[key]
|
|
192
|
+
dirs = Object.keys(slotsList).filter(key => slotsList[key])
|
|
193
193
|
|
|
194
194
|
slotsDef.forEach(slotName => {
|
|
195
195
|
const dir = slotName[0]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, onBeforeUnmount
|
|
1
|
+
import { Transition, h, onBeforeUnmount } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
4
4
|
|
|
@@ -67,7 +67,7 @@ export default createComponent({
|
|
|
67
67
|
element = el
|
|
68
68
|
|
|
69
69
|
// if animationg overflowY is already 'hidden'
|
|
70
|
-
if (animating
|
|
70
|
+
if (animating) {
|
|
71
71
|
cleanup()
|
|
72
72
|
pos = el.offsetHeight === el.scrollHeight ? 0 : void 0
|
|
73
73
|
} else {
|
|
@@ -96,7 +96,7 @@ export default createComponent({
|
|
|
96
96
|
let pos
|
|
97
97
|
element = el
|
|
98
98
|
|
|
99
|
-
if (animating
|
|
99
|
+
if (animating) {
|
|
100
100
|
cleanup()
|
|
101
101
|
} else {
|
|
102
102
|
lastEvent = 'show'
|
|
@@ -124,7 +124,7 @@ export default createComponent({
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
onBeforeUnmount(() => {
|
|
127
|
-
if (animating
|
|
127
|
+
if (animating) cleanup()
|
|
128
128
|
})
|
|
129
129
|
|
|
130
130
|
return () =>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance, h, ref, watch } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { useFormAttrs } from '../../composables/use-form/private.use-form.js'
|
|
4
4
|
|
|
5
5
|
import useSlider, {
|
|
6
|
-
|
|
6
|
+
keyCodes,
|
|
7
7
|
useSliderEmits,
|
|
8
|
-
|
|
8
|
+
useSliderProps
|
|
9
9
|
} from './use-slider.js'
|
|
10
10
|
|
|
11
11
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
@@ -61,14 +61,13 @@ export default createComponent({
|
|
|
61
61
|
watch(
|
|
62
62
|
() =>
|
|
63
63
|
`${props.modelValue}|${state.innerMin.value}|${state.innerMax.value}`,
|
|
64
|
-
normalizeModel
|
|
64
|
+
normalizeModel,
|
|
65
|
+
{ immediate: true }
|
|
65
66
|
)
|
|
66
67
|
|
|
67
|
-
normalizeModel()
|
|
68
|
-
|
|
69
68
|
const modelRatio = computed(() => methods.convertModelToRatio(model.value))
|
|
70
69
|
const ratio = computed(() =>
|
|
71
|
-
state.active.value
|
|
70
|
+
state.active.value ? curRatio.value : modelRatio.value
|
|
72
71
|
)
|
|
73
72
|
|
|
74
73
|
const selectionBarStyle = computed(() => {
|
|
@@ -96,11 +95,9 @@ export default createComponent({
|
|
|
96
95
|
})
|
|
97
96
|
|
|
98
97
|
const trackContainerEvents = computed(() => {
|
|
99
|
-
if (state.editable.value
|
|
100
|
-
return {}
|
|
101
|
-
}
|
|
98
|
+
if (!state.editable.value) return {}
|
|
102
99
|
|
|
103
|
-
return $q.platform.is.mobile
|
|
100
|
+
return $q.platform.is.mobile
|
|
104
101
|
? { onClick: methods.onMobileClick }
|
|
105
102
|
: {
|
|
106
103
|
onMousedown: methods.onActivate,
|
|
@@ -116,7 +113,7 @@ export default createComponent({
|
|
|
116
113
|
emit('update:modelValue', model.value)
|
|
117
114
|
}
|
|
118
115
|
|
|
119
|
-
if (change
|
|
116
|
+
if (change) emit('change', model.value)
|
|
120
117
|
}
|
|
121
118
|
|
|
122
119
|
function getDragging() {
|
|
@@ -129,7 +126,7 @@ export default createComponent({
|
|
|
129
126
|
model.value = methods.convertRatioToModel(localRatio)
|
|
130
127
|
|
|
131
128
|
curRatio.value =
|
|
132
|
-
props.snap
|
|
129
|
+
!props.snap || props.step === 0
|
|
133
130
|
? localRatio
|
|
134
131
|
: methods.convertModelToRatio(model.value)
|
|
135
132
|
}
|
|
@@ -139,7 +136,7 @@ export default createComponent({
|
|
|
139
136
|
}
|
|
140
137
|
|
|
141
138
|
function onKeydown(evt) {
|
|
142
|
-
if (keyCodes.includes(evt.keyCode)
|
|
139
|
+
if (!keyCodes.includes(evt.keyCode)) return
|
|
143
140
|
|
|
144
141
|
stopAndPrevent(evt)
|
|
145
142
|
|
|
@@ -147,8 +144,8 @@ export default createComponent({
|
|
|
147
144
|
([34, 33].includes(evt.keyCode) ? 10 : 1) * state.keyStep.value,
|
|
148
145
|
offset =
|
|
149
146
|
([34, 37, 40].includes(evt.keyCode) ? -1 : 1) *
|
|
150
|
-
(state.isReversed.value
|
|
151
|
-
(props.vertical
|
|
147
|
+
(state.isReversed.value ? -1 : 1) *
|
|
148
|
+
(props.vertical ? -1 : 1) *
|
|
152
149
|
stepVal
|
|
153
150
|
|
|
154
151
|
model.value = between(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance, h, onBeforeUnmount, ref } from 'vue'
|
|
2
2
|
|
|
3
3
|
import TouchPan from '../../directives/touch-pan/TouchPan.js'
|
|
4
4
|
|
|
@@ -6,8 +6,8 @@ import useDark, {
|
|
|
6
6
|
useDarkProps
|
|
7
7
|
} from '../../composables/private.use-dark/use-dark.js'
|
|
8
8
|
import {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
useFormInject,
|
|
10
|
+
useFormProps
|
|
11
11
|
} from '../../composables/use-form/private.use-form.js'
|
|
12
12
|
|
|
13
13
|
import { between } from '../../utils/format/format.js'
|
|
@@ -122,48 +122,39 @@ export default function useSlider({
|
|
|
122
122
|
const focus = ref(false)
|
|
123
123
|
const dragging = ref(false)
|
|
124
124
|
|
|
125
|
-
const axis = computed(() => (props.vertical
|
|
125
|
+
const axis = computed(() => (props.vertical ? '--v' : '--h'))
|
|
126
126
|
const labelSide = computed(
|
|
127
|
-
() => '-' + (props.switchLabelSide
|
|
127
|
+
() => '-' + (props.switchLabelSide ? 'switched' : 'standard')
|
|
128
128
|
)
|
|
129
129
|
|
|
130
130
|
const isReversed = computed(() =>
|
|
131
|
-
props.vertical === true
|
|
132
|
-
? props.reverse === true
|
|
133
|
-
: props.reverse !== ($q.lang.rtl === true)
|
|
131
|
+
props.vertical ? props.reverse : props.reverse !== ($q.lang.rtl === true)
|
|
134
132
|
)
|
|
135
133
|
|
|
136
134
|
const innerMin = computed(() =>
|
|
137
|
-
|
|
135
|
+
!Number.isFinite(props.innerMin) || props.innerMin < props.min
|
|
138
136
|
? props.min
|
|
139
137
|
: props.innerMin
|
|
140
138
|
)
|
|
141
139
|
const innerMax = computed(() =>
|
|
142
|
-
|
|
140
|
+
!Number.isFinite(props.innerMax) || props.innerMax > props.max
|
|
143
141
|
? props.max
|
|
144
142
|
: props.innerMax
|
|
145
143
|
)
|
|
146
144
|
|
|
147
145
|
const editable = computed(
|
|
148
|
-
() =>
|
|
149
|
-
props.disable !== true &&
|
|
150
|
-
props.readonly !== true &&
|
|
151
|
-
innerMin.value < innerMax.value
|
|
146
|
+
() => !props.disable && !props.readonly && innerMin.value < innerMax.value
|
|
152
147
|
)
|
|
153
148
|
|
|
154
149
|
const roundValueFn = computed(() => {
|
|
155
|
-
if (props.step === 0)
|
|
156
|
-
return v => v
|
|
157
|
-
}
|
|
150
|
+
if (props.step === 0) return v => v
|
|
158
151
|
|
|
159
152
|
const decimals = (String(props.step).trim().split('.')[1] || '').length
|
|
160
|
-
return v => parseFloat(v.toFixed(decimals))
|
|
153
|
+
return v => Number.parseFloat(v.toFixed(decimals))
|
|
161
154
|
})
|
|
162
155
|
|
|
163
156
|
const keyStep = computed(() => (props.step === 0 ? 1 : props.step))
|
|
164
|
-
const tabindex = computed(() =>
|
|
165
|
-
editable.value === true ? props.tabindex || 0 : -1
|
|
166
|
-
)
|
|
157
|
+
const tabindex = computed(() => (editable.value ? props.tabindex || 0 : -1))
|
|
167
158
|
|
|
168
159
|
const trackLen = computed(() => props.max - props.min)
|
|
169
160
|
const innerBarLen = computed(() => innerMax.value - innerMin.value)
|
|
@@ -172,23 +163,19 @@ export default function useSlider({
|
|
|
172
163
|
const innerMaxRatio = computed(() => convertModelToRatio(innerMax.value))
|
|
173
164
|
|
|
174
165
|
const positionProp = computed(() =>
|
|
175
|
-
props.vertical
|
|
176
|
-
? isReversed.value
|
|
166
|
+
props.vertical
|
|
167
|
+
? isReversed.value
|
|
177
168
|
? 'bottom'
|
|
178
169
|
: 'top'
|
|
179
|
-
: isReversed.value
|
|
170
|
+
: isReversed.value
|
|
180
171
|
? 'right'
|
|
181
172
|
: 'left'
|
|
182
173
|
)
|
|
183
174
|
|
|
184
|
-
const sizeProp = computed(() =>
|
|
185
|
-
|
|
186
|
-
)
|
|
187
|
-
const thicknessProp = computed(() =>
|
|
188
|
-
props.vertical === true ? 'width' : 'height'
|
|
189
|
-
)
|
|
175
|
+
const sizeProp = computed(() => (props.vertical ? 'height' : 'width'))
|
|
176
|
+
const thicknessProp = computed(() => (props.vertical ? 'width' : 'height'))
|
|
190
177
|
const orientation = computed(() =>
|
|
191
|
-
props.vertical
|
|
178
|
+
props.vertical ? 'vertical' : 'horizontal'
|
|
192
179
|
)
|
|
193
180
|
|
|
194
181
|
const attributes = computed(() => {
|
|
@@ -200,9 +187,9 @@ export default function useSlider({
|
|
|
200
187
|
'data-step': props.step
|
|
201
188
|
}
|
|
202
189
|
|
|
203
|
-
if (props.disable
|
|
190
|
+
if (props.disable) {
|
|
204
191
|
acc['aria-disabled'] = 'true'
|
|
205
|
-
} else if (props.readonly
|
|
192
|
+
} else if (props.readonly) {
|
|
206
193
|
acc['aria-readonly'] = 'true'
|
|
207
194
|
}
|
|
208
195
|
|
|
@@ -211,19 +198,17 @@ export default function useSlider({
|
|
|
211
198
|
|
|
212
199
|
const classes = computed(
|
|
213
200
|
() =>
|
|
214
|
-
`q-slider q-slider${axis.value} q-slider--${active.value
|
|
215
|
-
(props.vertical
|
|
216
|
-
(props.disable
|
|
201
|
+
`q-slider q-slider${axis.value} q-slider--${active.value ? '' : 'in'}active inline no-wrap ` +
|
|
202
|
+
(props.vertical ? 'row' : 'column') +
|
|
203
|
+
(props.disable
|
|
217
204
|
? ' disabled'
|
|
218
205
|
: ' q-slider--enabled' +
|
|
219
|
-
(editable.value
|
|
206
|
+
(editable.value ? ' q-slider--editable' : '')) +
|
|
220
207
|
(focus.value === 'both' ? ' q-slider--focus' : '') +
|
|
221
|
-
(props.label || props.labelAlways
|
|
222
|
-
(props.labelAlways
|
|
223
|
-
(isDark.value
|
|
224
|
-
(props.dense
|
|
225
|
-
? ' q-slider--dense q-slider--dense' + axis.value
|
|
226
|
-
: '')
|
|
208
|
+
(props.label || props.labelAlways ? ' q-slider--label' : '') +
|
|
209
|
+
(props.labelAlways ? ' q-slider--label-always' : '') +
|
|
210
|
+
(isDark.value ? ' q-slider--dark' : '') +
|
|
211
|
+
(props.dense ? ' q-slider--dense q-slider--dense' + axis.value : '')
|
|
227
212
|
)
|
|
228
213
|
|
|
229
214
|
function getPositionClass(name) {
|
|
@@ -307,20 +292,19 @@ export default function useSlider({
|
|
|
307
292
|
|
|
308
293
|
function getDraggingRatio(evt, draggingInfo) {
|
|
309
294
|
const pos = position(evt),
|
|
310
|
-
val =
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
: between((pos.left - draggingInfo.left) / draggingInfo.width, 0, 1)
|
|
295
|
+
val = props.vertical
|
|
296
|
+
? between((pos.top - draggingInfo.top) / draggingInfo.height, 0, 1)
|
|
297
|
+
: between((pos.left - draggingInfo.left) / draggingInfo.width, 0, 1)
|
|
314
298
|
|
|
315
299
|
return between(
|
|
316
|
-
isReversed.value
|
|
300
|
+
isReversed.value ? 1 - val : val,
|
|
317
301
|
innerMinRatio.value,
|
|
318
302
|
innerMaxRatio.value
|
|
319
303
|
)
|
|
320
304
|
}
|
|
321
305
|
|
|
322
306
|
const markerStep = computed(() =>
|
|
323
|
-
isNumber(props.markers)
|
|
307
|
+
isNumber(props.markers) ? props.markers : keyStep.value
|
|
324
308
|
)
|
|
325
309
|
|
|
326
310
|
const markerTicks = computed(() => {
|
|
@@ -342,15 +326,13 @@ export default function useSlider({
|
|
|
342
326
|
const prefix = ` ${markerPrefixClass}${axis.value}-`
|
|
343
327
|
return (
|
|
344
328
|
markerPrefixClass +
|
|
345
|
-
`${prefix}${props.switchMarkerLabelsSide
|
|
346
|
-
`${prefix}${isReversed.value
|
|
329
|
+
`${prefix}${props.switchMarkerLabelsSide ? 'switched' : 'standard'}` +
|
|
330
|
+
`${prefix}${isReversed.value ? 'rtl' : 'ltr'}`
|
|
347
331
|
)
|
|
348
332
|
})
|
|
349
333
|
|
|
350
334
|
const markerLabelsList = computed(() => {
|
|
351
|
-
if (props.markerLabels === false)
|
|
352
|
-
return null
|
|
353
|
-
}
|
|
335
|
+
if (props.markerLabels === false) return null
|
|
354
336
|
|
|
355
337
|
return getMarkerList(props.markerLabels).map((entry, index) => ({
|
|
356
338
|
index,
|
|
@@ -361,7 +343,7 @@ export default function useSlider({
|
|
|
361
343
|
(entry.classes !== void 0 ? ' ' + entry.classes : ''),
|
|
362
344
|
style: {
|
|
363
345
|
...getMarkerLabelStyle(entry.value),
|
|
364
|
-
...
|
|
346
|
+
...entry.style
|
|
365
347
|
}
|
|
366
348
|
}))
|
|
367
349
|
})
|
|
@@ -381,14 +363,12 @@ export default function useSlider({
|
|
|
381
363
|
|
|
382
364
|
return {
|
|
383
365
|
...innerBarStyle.value,
|
|
384
|
-
backgroundSize: props.vertical
|
|
366
|
+
backgroundSize: props.vertical ? `2px ${size}%` : `${size}% 2px`
|
|
385
367
|
}
|
|
386
368
|
})
|
|
387
369
|
|
|
388
370
|
function getMarkerList(def) {
|
|
389
|
-
if (def === false)
|
|
390
|
-
return null
|
|
391
|
-
}
|
|
371
|
+
if (def === false) return null
|
|
392
372
|
|
|
393
373
|
if (def === true) {
|
|
394
374
|
return markerTicks.value.map(defaultMarkerConvertFn)
|
|
@@ -397,17 +377,15 @@ export default function useSlider({
|
|
|
397
377
|
if (typeof def === 'function') {
|
|
398
378
|
return markerTicks.value.map(value => {
|
|
399
379
|
const item = def(value)
|
|
400
|
-
return isObject(item)
|
|
401
|
-
? { ...item, value }
|
|
402
|
-
: { value, label: item }
|
|
380
|
+
return isObject(item) ? { ...item, value } : { value, label: item }
|
|
403
381
|
})
|
|
404
382
|
}
|
|
405
383
|
|
|
406
384
|
const filterFn = ({ value }) => value >= props.min && value <= props.max
|
|
407
385
|
|
|
408
|
-
if (Array.isArray(def)
|
|
386
|
+
if (Array.isArray(def)) {
|
|
409
387
|
return def
|
|
410
|
-
.map(item => (isObject(item)
|
|
388
|
+
.map(item => (isObject(item) ? item : { value: item }))
|
|
411
389
|
.filter(filterFn)
|
|
412
390
|
}
|
|
413
391
|
|
|
@@ -415,9 +393,7 @@ export default function useSlider({
|
|
|
415
393
|
.map(key => {
|
|
416
394
|
const item = def[key]
|
|
417
395
|
const value = Number(key)
|
|
418
|
-
return isObject(item)
|
|
419
|
-
? { ...item, value }
|
|
420
|
-
: { value, label: item }
|
|
396
|
+
return isObject(item) ? { ...item, value } : { value, label: item }
|
|
421
397
|
})
|
|
422
398
|
.filter(filterFn)
|
|
423
399
|
}
|
|
@@ -429,9 +405,7 @@ export default function useSlider({
|
|
|
429
405
|
}
|
|
430
406
|
|
|
431
407
|
const markerLabelsMap = computed(() => {
|
|
432
|
-
if (props.markerLabels === false)
|
|
433
|
-
return null
|
|
434
|
-
}
|
|
408
|
+
if (props.markerLabels === false) return null
|
|
435
409
|
|
|
436
410
|
const acc = {}
|
|
437
411
|
markerLabelsList.value.forEach(entry => {
|
|
@@ -470,17 +444,17 @@ export default function useSlider({
|
|
|
470
444
|
])
|
|
471
445
|
|
|
472
446
|
function onPan(event) {
|
|
473
|
-
if (event.isFinal
|
|
447
|
+
if (event.isFinal) {
|
|
474
448
|
if (dragging.value !== void 0) {
|
|
475
449
|
updatePosition(event.evt)
|
|
476
450
|
// only if touch, because we also have mousedown/up:
|
|
477
|
-
if (event.touch
|
|
451
|
+
if (event.touch) updateValue(true)
|
|
478
452
|
dragging.value = void 0
|
|
479
453
|
emit('pan', 'end')
|
|
480
454
|
}
|
|
481
455
|
active.value = false
|
|
482
456
|
focus.value = false
|
|
483
|
-
} else if (event.isFirst
|
|
457
|
+
} else if (event.isFirst) {
|
|
484
458
|
dragging.value = getDragging(event.evt)
|
|
485
459
|
updatePosition(event.evt)
|
|
486
460
|
updateValue()
|
|
@@ -528,9 +502,7 @@ export default function useSlider({
|
|
|
528
502
|
}
|
|
529
503
|
|
|
530
504
|
function getTextContainerStyle(ratio) {
|
|
531
|
-
if (props.vertical
|
|
532
|
-
return null
|
|
533
|
-
}
|
|
505
|
+
if (props.vertical) return null
|
|
534
506
|
|
|
535
507
|
const p = $q.lang.rtl !== props.reverse ? 1 - ratio : ratio
|
|
536
508
|
return {
|
|
@@ -540,7 +512,7 @@ export default function useSlider({
|
|
|
540
512
|
|
|
541
513
|
function getThumbRenderFn(thumb) {
|
|
542
514
|
const focusClass = computed(() =>
|
|
543
|
-
preventFocus.value
|
|
515
|
+
!preventFocus.value &&
|
|
544
516
|
(focus.value === thumb.focusValue || focus.value === 'both')
|
|
545
517
|
? ' q-slider--focus'
|
|
546
518
|
: ''
|
|
@@ -548,7 +520,7 @@ export default function useSlider({
|
|
|
548
520
|
|
|
549
521
|
const thumbClasses = computed(
|
|
550
522
|
() =>
|
|
551
|
-
`q-slider__thumb q-slider__thumb${axis.value} q-slider__thumb${axis.value}-${isReversed.value
|
|
523
|
+
`q-slider__thumb q-slider__thumb${axis.value} q-slider__thumb${axis.value}-${isReversed.value ? 'rtl' : 'ltr'} absolute non-selectable` +
|
|
552
524
|
focusClass.value +
|
|
553
525
|
(thumb.thumbColor.value !== void 0
|
|
554
526
|
? ` text-${thumb.thumbColor.value}`
|
|
@@ -593,7 +565,7 @@ export default function useSlider({
|
|
|
593
565
|
h('div', { class: 'q-slider__focus-ring fit' })
|
|
594
566
|
]
|
|
595
567
|
|
|
596
|
-
if (props.label
|
|
568
|
+
if (props.label || props.labelAlways) {
|
|
597
569
|
thumbContent.push(
|
|
598
570
|
h(
|
|
599
571
|
'div',
|
|
@@ -625,7 +597,7 @@ export default function useSlider({
|
|
|
625
597
|
)
|
|
626
598
|
)
|
|
627
599
|
|
|
628
|
-
if (props.name !== void 0 && props.disable
|
|
600
|
+
if (props.name !== void 0 && !props.disable) {
|
|
629
601
|
injectFormInput(thumbContent, 'push')
|
|
630
602
|
}
|
|
631
603
|
}
|
|
@@ -708,7 +680,7 @@ export default function useSlider({
|
|
|
708
680
|
]
|
|
709
681
|
|
|
710
682
|
if (props.markerLabels !== false) {
|
|
711
|
-
const action = props.switchMarkerLabelsSide
|
|
683
|
+
const action = props.switchMarkerLabelsSide ? 'unshift' : 'push'
|
|
712
684
|
|
|
713
685
|
content[action](
|
|
714
686
|
h(
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"type": "String",
|
|
70
70
|
"desc": "Apply a pattern image on the track",
|
|
71
71
|
"transformAssetUrls": true,
|
|
72
|
-
"examples": ["'
|
|
72
|
+
"examples": ["'~@/assets/my-pattern.png'"],
|
|
73
73
|
"category": "style",
|
|
74
74
|
"addedIn": "v2.4"
|
|
75
75
|
},
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"type": "String",
|
|
85
85
|
"desc": "Apply a pattern image on the inner track",
|
|
86
86
|
"transformAssetUrls": true,
|
|
87
|
-
"examples": ["'
|
|
87
|
+
"examples": ["'~@/assets/my-pattern.png'"],
|
|
88
88
|
"category": "style",
|
|
89
89
|
"addedIn": "v2.4"
|
|
90
90
|
},
|
|
@@ -99,7 +99,7 @@
|
|
|
99
99
|
"type": "String",
|
|
100
100
|
"desc": "Apply a pattern image on the selection bar",
|
|
101
101
|
"transformAssetUrls": true,
|
|
102
|
-
"examples": ["'
|
|
102
|
+
"examples": ["'~@/assets/my-pattern.png'"],
|
|
103
103
|
"category": "style",
|
|
104
104
|
"addedIn": "v2.4"
|
|
105
105
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { describe,
|
|
1
|
+
import { flushPromises, mount } from '@vue/test-utils'
|
|
2
|
+
import { describe, expect, test } from 'vitest'
|
|
3
3
|
|
|
4
4
|
import QSpinnerComment from './QSpinnerComment.js'
|
|
5
5
|
|