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,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
|
+
computed,
|
|
3
|
+
getCurrentInstance,
|
|
2
4
|
h,
|
|
3
|
-
|
|
5
|
+
inject,
|
|
6
|
+
nextTick,
|
|
7
|
+
onBeforeUnmount,
|
|
8
|
+
onMounted,
|
|
4
9
|
ref,
|
|
5
|
-
computed,
|
|
6
10
|
watch,
|
|
7
|
-
|
|
8
|
-
onBeforeUnmount,
|
|
9
|
-
nextTick,
|
|
10
|
-
inject,
|
|
11
|
-
getCurrentInstance
|
|
11
|
+
withDirectives
|
|
12
12
|
} from 'vue'
|
|
13
13
|
|
|
14
14
|
import useHistory from '../../composables/private.use-history/use-history.js'
|
|
15
15
|
import useModelToggle, {
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
useModelToggleEmits,
|
|
17
|
+
useModelToggleProps
|
|
18
18
|
} from '../../composables/private.use-model-toggle/use-model-toggle.js'
|
|
19
19
|
import usePreventScroll from '../../composables/private.use-prevent-scroll/use-prevent-scroll.js'
|
|
20
20
|
import useTimeout from '../../composables/use-timeout/use-timeout.js'
|
|
@@ -26,14 +26,20 @@ import TouchPan from '../../directives/touch-pan/TouchPan.js'
|
|
|
26
26
|
|
|
27
27
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
28
28
|
import { between } from '../../utils/format/format.js'
|
|
29
|
-
import {
|
|
29
|
+
import { hDir, hSlot } from '../../utils/private.render/render.js'
|
|
30
30
|
import {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
emptyRenderFn,
|
|
32
|
+
layoutKey
|
|
33
33
|
} from '../../utils/private.symbols/symbols.js'
|
|
34
34
|
|
|
35
35
|
const duration = 150
|
|
36
36
|
|
|
37
|
+
function updateLocal(prop, val) {
|
|
38
|
+
if (prop.value !== val) {
|
|
39
|
+
prop.value = val
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
37
43
|
export default createComponent({
|
|
38
44
|
name: 'QDrawer',
|
|
39
45
|
|
|
@@ -112,24 +118,31 @@ export default createComponent({
|
|
|
112
118
|
$layout.totalWidth.value <= props.breakpoint)
|
|
113
119
|
)
|
|
114
120
|
|
|
115
|
-
const isMini = computed(
|
|
116
|
-
|
|
121
|
+
const isMini = computed(() => props.mini && !belowBreakpoint.value)
|
|
122
|
+
const size = computed(() => (isMini.value ? props.miniWidth : props.width))
|
|
123
|
+
const fixed = computed(
|
|
124
|
+
() =>
|
|
125
|
+
props.overlay ||
|
|
126
|
+
props.miniToOverlay ||
|
|
127
|
+
$layout.view.value.includes(rightSide.value ? 'R' : 'L') ||
|
|
128
|
+
($q.platform.is.ios && $layout.isContainer.value)
|
|
117
129
|
)
|
|
118
130
|
|
|
119
|
-
const
|
|
120
|
-
|
|
131
|
+
const showing = ref(
|
|
132
|
+
(props.showIfAbove && !belowBreakpoint.value) || props.modelValue === true
|
|
121
133
|
)
|
|
122
134
|
|
|
123
|
-
const
|
|
124
|
-
props.
|
|
125
|
-
|
|
126
|
-
|
|
135
|
+
const onLayout = computed(
|
|
136
|
+
() => !props.overlay && showing.value && !belowBreakpoint.value
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
const onScreenOverlay = computed(
|
|
140
|
+
() => props.overlay && showing.value && !belowBreakpoint.value
|
|
127
141
|
)
|
|
128
142
|
|
|
129
143
|
const hideOnRouteChange = computed(
|
|
130
144
|
() =>
|
|
131
|
-
props.persistent
|
|
132
|
-
(belowBreakpoint.value === true || onScreenOverlay.value === true)
|
|
145
|
+
!props.persistent && (belowBreakpoint.value || onScreenOverlay.value)
|
|
133
146
|
)
|
|
134
147
|
|
|
135
148
|
function handleShow(evt, noEvent) {
|
|
@@ -138,14 +151,14 @@ export default createComponent({
|
|
|
138
151
|
if (evt !== false) $layout.animate()
|
|
139
152
|
applyPosition(0)
|
|
140
153
|
|
|
141
|
-
if (belowBreakpoint.value
|
|
154
|
+
if (belowBreakpoint.value) {
|
|
142
155
|
const otherInstance = $layout.instances[otherSide.value]
|
|
143
156
|
if (otherInstance?.belowBreakpoint === true) {
|
|
144
157
|
otherInstance.hide(false)
|
|
145
158
|
}
|
|
146
159
|
|
|
147
160
|
applyBackdrop(1)
|
|
148
|
-
if (
|
|
161
|
+
if (!$layout.isContainer.value) preventBodyScroll(true)
|
|
149
162
|
} else {
|
|
150
163
|
applyBackdrop(0)
|
|
151
164
|
if (evt !== false) setScrollable(false)
|
|
@@ -153,7 +166,7 @@ export default createComponent({
|
|
|
153
166
|
|
|
154
167
|
registerTimeout(() => {
|
|
155
168
|
if (evt !== false) setScrollable(true)
|
|
156
|
-
if (noEvent
|
|
169
|
+
if (!noEvent) emit('show', evt)
|
|
157
170
|
}, duration)
|
|
158
171
|
}
|
|
159
172
|
|
|
@@ -167,7 +180,7 @@ export default createComponent({
|
|
|
167
180
|
|
|
168
181
|
cleanup()
|
|
169
182
|
|
|
170
|
-
if (noEvent
|
|
183
|
+
if (!noEvent) {
|
|
171
184
|
registerTimeout(() => {
|
|
172
185
|
emit('hide', evt)
|
|
173
186
|
}, duration)
|
|
@@ -197,8 +210,7 @@ export default createComponent({
|
|
|
197
210
|
const rightSide = computed(() => props.side === 'right')
|
|
198
211
|
|
|
199
212
|
const stateDirection = computed(
|
|
200
|
-
() =>
|
|
201
|
-
($q.lang.rtl === true ? -1 : 1) * (rightSide.value === true ? 1 : -1)
|
|
213
|
+
() => ($q.lang.rtl ? -1 : 1) * (rightSide.value ? 1 : -1)
|
|
202
214
|
)
|
|
203
215
|
|
|
204
216
|
const flagBackdropBg = ref(0)
|
|
@@ -209,47 +221,19 @@ export default createComponent({
|
|
|
209
221
|
size.value * stateDirection.value
|
|
210
222
|
)
|
|
211
223
|
|
|
212
|
-
const otherSide = computed(() =>
|
|
213
|
-
rightSide.value === true ? 'left' : 'right'
|
|
214
|
-
)
|
|
224
|
+
const otherSide = computed(() => (rightSide.value ? 'left' : 'right'))
|
|
215
225
|
const offset = computed(() =>
|
|
216
|
-
showing.value
|
|
217
|
-
|
|
218
|
-
props.overlay === false
|
|
219
|
-
? props.miniToOverlay === true
|
|
226
|
+
showing.value && !belowBreakpoint.value && !props.overlay
|
|
227
|
+
? props.miniToOverlay
|
|
220
228
|
? props.miniWidth
|
|
221
229
|
: size.value
|
|
222
230
|
: 0
|
|
223
231
|
)
|
|
224
232
|
|
|
225
|
-
const fixed = computed(
|
|
226
|
-
() =>
|
|
227
|
-
props.overlay === true ||
|
|
228
|
-
props.miniToOverlay === true ||
|
|
229
|
-
$layout.view.value.indexOf(rightSide.value ? 'R' : 'L') !== -1 ||
|
|
230
|
-
($q.platform.is.ios === true && $layout.isContainer.value === true)
|
|
231
|
-
)
|
|
232
|
-
|
|
233
|
-
const onLayout = computed(
|
|
234
|
-
() =>
|
|
235
|
-
props.overlay === false &&
|
|
236
|
-
showing.value === true &&
|
|
237
|
-
belowBreakpoint.value === false
|
|
238
|
-
)
|
|
239
|
-
|
|
240
|
-
const onScreenOverlay = computed(
|
|
241
|
-
() =>
|
|
242
|
-
props.overlay === true &&
|
|
243
|
-
showing.value === true &&
|
|
244
|
-
belowBreakpoint.value === false
|
|
245
|
-
)
|
|
246
|
-
|
|
247
233
|
const backdropClass = computed(
|
|
248
234
|
() =>
|
|
249
235
|
'fullscreen q-drawer__backdrop' +
|
|
250
|
-
(showing.value
|
|
251
|
-
? ' hidden'
|
|
252
|
-
: '')
|
|
236
|
+
(!showing.value && !flagPanning.value ? ' hidden' : '')
|
|
253
237
|
)
|
|
254
238
|
|
|
255
239
|
const backdropStyle = computed(() => ({
|
|
@@ -257,13 +241,13 @@ export default createComponent({
|
|
|
257
241
|
}))
|
|
258
242
|
|
|
259
243
|
const headerSlot = computed(() =>
|
|
260
|
-
rightSide.value
|
|
244
|
+
rightSide.value
|
|
261
245
|
? $layout.rows.value.top[2] === 'r'
|
|
262
246
|
: $layout.rows.value.top[0] === 'l'
|
|
263
247
|
)
|
|
264
248
|
|
|
265
249
|
const footerSlot = computed(() =>
|
|
266
|
-
rightSide.value
|
|
250
|
+
rightSide.value
|
|
267
251
|
? $layout.rows.value.bottom[2] === 'r'
|
|
268
252
|
: $layout.rows.value.bottom[0] === 'l'
|
|
269
253
|
)
|
|
@@ -271,18 +255,18 @@ export default createComponent({
|
|
|
271
255
|
const aboveStyle = computed(() => {
|
|
272
256
|
const css = {}
|
|
273
257
|
|
|
274
|
-
if ($layout.header.space
|
|
275
|
-
if (fixed.value
|
|
258
|
+
if ($layout.header.space && !headerSlot.value) {
|
|
259
|
+
if (fixed.value) {
|
|
276
260
|
css.top = `${$layout.header.offset}px`
|
|
277
|
-
} else if ($layout.header.space
|
|
261
|
+
} else if ($layout.header.space) {
|
|
278
262
|
css.top = `${$layout.header.size}px`
|
|
279
263
|
}
|
|
280
264
|
}
|
|
281
265
|
|
|
282
|
-
if ($layout.footer.space
|
|
283
|
-
if (fixed.value
|
|
266
|
+
if ($layout.footer.space && !footerSlot.value) {
|
|
267
|
+
if (fixed.value) {
|
|
284
268
|
css.bottom = `${$layout.footer.offset}px`
|
|
285
|
-
} else if ($layout.footer.space
|
|
269
|
+
} else if ($layout.footer.space) {
|
|
286
270
|
css.bottom = `${$layout.footer.size}px`
|
|
287
271
|
}
|
|
288
272
|
}
|
|
@@ -296,41 +280,37 @@ export default createComponent({
|
|
|
296
280
|
transform: `translateX(${flagContentPosition.value}px)`
|
|
297
281
|
}
|
|
298
282
|
|
|
299
|
-
return belowBreakpoint.value
|
|
300
|
-
? acc
|
|
301
|
-
: Object.assign(acc, aboveStyle.value)
|
|
283
|
+
return belowBreakpoint.value ? acc : Object.assign(acc, aboveStyle.value)
|
|
302
284
|
})
|
|
303
285
|
|
|
304
286
|
const contentClass = computed(
|
|
305
287
|
() =>
|
|
306
288
|
'q-drawer__content fit ' +
|
|
307
|
-
($layout.isContainer.value
|
|
289
|
+
($layout.isContainer.value ? 'overflow-auto' : 'scroll')
|
|
308
290
|
)
|
|
309
291
|
|
|
310
292
|
const classes = computed(
|
|
311
293
|
() =>
|
|
312
294
|
`q-drawer q-drawer--${props.side}` +
|
|
313
|
-
(flagMiniAnimate.value
|
|
314
|
-
(props.bordered
|
|
315
|
-
(isDark.value
|
|
316
|
-
(flagPanning.value
|
|
295
|
+
(flagMiniAnimate.value ? ' q-drawer--mini-animate' : '') +
|
|
296
|
+
(props.bordered ? ' q-drawer--bordered' : '') +
|
|
297
|
+
(isDark.value ? ' q-drawer--dark q-dark' : '') +
|
|
298
|
+
(flagPanning.value
|
|
317
299
|
? ' no-transition'
|
|
318
|
-
: showing.value
|
|
300
|
+
: showing.value
|
|
319
301
|
? ''
|
|
320
302
|
: ' q-layout--prevent-focus') +
|
|
321
|
-
(belowBreakpoint.value
|
|
303
|
+
(belowBreakpoint.value
|
|
322
304
|
? ' fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding'
|
|
323
|
-
: ` q-drawer--${isMini.value
|
|
324
|
-
(fixed.value
|
|
325
|
-
(props.overlay
|
|
326
|
-
|
|
327
|
-
: '') +
|
|
328
|
-
(headerSlot.value === true ? ' q-drawer--top-padding' : ''))
|
|
305
|
+
: ` q-drawer--${isMini.value ? 'mini' : 'standard'}` +
|
|
306
|
+
(fixed.value || !onLayout.value ? ' fixed' : '') +
|
|
307
|
+
(props.overlay || props.miniToOverlay ? ' q-drawer--on-top' : '') +
|
|
308
|
+
(headerSlot.value ? ' q-drawer--top-padding' : ''))
|
|
329
309
|
)
|
|
330
310
|
|
|
331
311
|
const openDirective = computed(() => {
|
|
332
312
|
// if props.noSwipeOpen !== true
|
|
333
|
-
const dir = $q.lang.rtl
|
|
313
|
+
const dir = $q.lang.rtl ? props.side : otherSide.value
|
|
334
314
|
|
|
335
315
|
return [
|
|
336
316
|
[
|
|
@@ -347,7 +327,7 @@ export default createComponent({
|
|
|
347
327
|
|
|
348
328
|
const contentCloseDirective = computed(() => {
|
|
349
329
|
// if belowBreakpoint.value === true && props.noSwipeClose !== true
|
|
350
|
-
const dir = $q.lang.rtl
|
|
330
|
+
const dir = $q.lang.rtl ? otherSide.value : props.side
|
|
351
331
|
|
|
352
332
|
return [
|
|
353
333
|
[
|
|
@@ -364,7 +344,7 @@ export default createComponent({
|
|
|
364
344
|
|
|
365
345
|
const backdropCloseDirective = computed(() => {
|
|
366
346
|
// if showing.value === true && props.noSwipeBackdrop !== true
|
|
367
|
-
const dir = $q.lang.rtl
|
|
347
|
+
const dir = $q.lang.rtl ? otherSide.value : props.side
|
|
368
348
|
|
|
369
349
|
return [
|
|
370
350
|
[
|
|
@@ -390,17 +370,17 @@ export default createComponent({
|
|
|
390
370
|
}
|
|
391
371
|
|
|
392
372
|
watch(belowBreakpoint, val => {
|
|
393
|
-
if (val
|
|
373
|
+
if (val) {
|
|
394
374
|
// from lg to xs
|
|
395
375
|
lastDesktopState = showing.value
|
|
396
|
-
if (showing.value
|
|
376
|
+
if (showing.value) hide(false)
|
|
397
377
|
} else if (
|
|
398
|
-
props.overlay
|
|
378
|
+
!props.overlay &&
|
|
399
379
|
props.behavior !== 'mobile' &&
|
|
400
380
|
lastDesktopState !== false
|
|
401
381
|
) {
|
|
402
382
|
// from xs to lg
|
|
403
|
-
if (showing.value
|
|
383
|
+
if (showing.value) {
|
|
404
384
|
applyPosition(0)
|
|
405
385
|
applyBackdrop(0)
|
|
406
386
|
cleanup()
|
|
@@ -427,10 +407,7 @@ export default createComponent({
|
|
|
427
407
|
)
|
|
428
408
|
|
|
429
409
|
watch($layout.totalWidth, () => {
|
|
430
|
-
if (
|
|
431
|
-
$layout.isContainer.value === true ||
|
|
432
|
-
document.qScrollPrevented !== true
|
|
433
|
-
) {
|
|
410
|
+
if ($layout.isContainer.value || !document.qScrollPrevented) {
|
|
434
411
|
updateBelowBreakpoint()
|
|
435
412
|
}
|
|
436
413
|
})
|
|
@@ -438,12 +415,12 @@ export default createComponent({
|
|
|
438
415
|
watch(() => props.behavior + props.breakpoint, updateBelowBreakpoint)
|
|
439
416
|
|
|
440
417
|
watch($layout.isContainer, val => {
|
|
441
|
-
if (showing.value
|
|
442
|
-
if (val
|
|
418
|
+
if (showing.value) preventBodyScroll(!val)
|
|
419
|
+
if (val) updateBelowBreakpoint()
|
|
443
420
|
})
|
|
444
421
|
|
|
445
422
|
watch($layout.scrollbarWidth, () => {
|
|
446
|
-
applyPosition(showing.value
|
|
423
|
+
applyPosition(showing.value ? 0 : void 0)
|
|
447
424
|
})
|
|
448
425
|
|
|
449
426
|
watch(offset, val => {
|
|
@@ -482,7 +459,7 @@ export default createComponent({
|
|
|
482
459
|
() => props.mini,
|
|
483
460
|
() => {
|
|
484
461
|
if (props.noMiniAnimation) return
|
|
485
|
-
if (props.modelValue
|
|
462
|
+
if (props.modelValue) {
|
|
486
463
|
animateMini()
|
|
487
464
|
$layout.animate()
|
|
488
465
|
}
|
|
@@ -496,14 +473,14 @@ export default createComponent({
|
|
|
496
473
|
function applyPosition(position) {
|
|
497
474
|
if (position === void 0) {
|
|
498
475
|
nextTick(() => {
|
|
499
|
-
position = showing.value
|
|
476
|
+
position = showing.value ? 0 : size.value
|
|
500
477
|
applyPosition(stateDirection.value * position)
|
|
501
478
|
})
|
|
502
479
|
} else {
|
|
503
480
|
if (
|
|
504
|
-
$layout.isContainer.value
|
|
505
|
-
rightSide.value
|
|
506
|
-
(belowBreakpoint.value
|
|
481
|
+
$layout.isContainer.value &&
|
|
482
|
+
rightSide.value &&
|
|
483
|
+
(belowBreakpoint.value || Math.abs(position) === size.value)
|
|
507
484
|
) {
|
|
508
485
|
position += stateDirection.value * $layout.scrollbarWidth.value
|
|
509
486
|
}
|
|
@@ -517,8 +494,7 @@ export default createComponent({
|
|
|
517
494
|
}
|
|
518
495
|
|
|
519
496
|
function setScrollable(v) {
|
|
520
|
-
const action =
|
|
521
|
-
v === true ? 'remove' : $layout.isContainer.value !== true ? 'add' : ''
|
|
497
|
+
const action = v ? 'remove' : $layout.isContainer.value ? '' : 'add'
|
|
522
498
|
|
|
523
499
|
if (action !== '') {
|
|
524
500
|
document.body.classList[action]('q-body--drawer-toggle')
|
|
@@ -543,19 +519,17 @@ export default createComponent({
|
|
|
543
519
|
}
|
|
544
520
|
|
|
545
521
|
function onOpenPan(evt) {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
return
|
|
550
|
-
}
|
|
522
|
+
// some browsers might capture and trigger this
|
|
523
|
+
// even if Drawer has just been opened (but animation is still pending)
|
|
524
|
+
if (!showing.value) return
|
|
551
525
|
|
|
552
526
|
const width = size.value,
|
|
553
527
|
position = between(evt.distance.x, 0, width)
|
|
554
528
|
|
|
555
|
-
if (evt.isFinal
|
|
529
|
+
if (evt.isFinal) {
|
|
556
530
|
const opened = position >= Math.min(75, width)
|
|
557
531
|
|
|
558
|
-
if (opened
|
|
532
|
+
if (opened) {
|
|
559
533
|
show()
|
|
560
534
|
} else {
|
|
561
535
|
$layout.animate()
|
|
@@ -568,34 +542,30 @@ export default createComponent({
|
|
|
568
542
|
}
|
|
569
543
|
|
|
570
544
|
applyPosition(
|
|
571
|
-
($q.lang.rtl
|
|
545
|
+
($q.lang.rtl ? !rightSide.value : rightSide.value)
|
|
572
546
|
? Math.max(width - position, 0)
|
|
573
547
|
: Math.min(0, position - width)
|
|
574
548
|
)
|
|
575
549
|
applyBackdrop(between(position / width, 0, 1))
|
|
576
550
|
|
|
577
|
-
if (evt.isFirst
|
|
578
|
-
flagPanning.value = true
|
|
579
|
-
}
|
|
551
|
+
if (evt.isFirst) flagPanning.value = true
|
|
580
552
|
}
|
|
581
553
|
|
|
582
554
|
function onClosePan(evt) {
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
return
|
|
587
|
-
}
|
|
555
|
+
// some browsers might capture and trigger this
|
|
556
|
+
// even if Drawer has just been closed (but animation is still pending)
|
|
557
|
+
if (!showing.value) return
|
|
588
558
|
|
|
589
559
|
const width = size.value,
|
|
590
560
|
dir = evt.direction === props.side,
|
|
591
|
-
position = ($q.lang.rtl
|
|
561
|
+
position = ($q.lang.rtl ? !dir : dir)
|
|
592
562
|
? between(evt.distance.x, 0, width)
|
|
593
563
|
: 0
|
|
594
564
|
|
|
595
|
-
if (evt.isFinal
|
|
565
|
+
if (evt.isFinal) {
|
|
596
566
|
const opened = Math.abs(position) < Math.min(75, width)
|
|
597
567
|
|
|
598
|
-
if (opened
|
|
568
|
+
if (opened) {
|
|
599
569
|
$layout.animate()
|
|
600
570
|
applyBackdrop(1)
|
|
601
571
|
applyPosition(0)
|
|
@@ -610,9 +580,7 @@ export default createComponent({
|
|
|
610
580
|
applyPosition(stateDirection.value * position)
|
|
611
581
|
applyBackdrop(between(1 - position / width, 0, 1))
|
|
612
582
|
|
|
613
|
-
if (evt.isFirst
|
|
614
|
-
flagPanning.value = true
|
|
615
|
-
}
|
|
583
|
+
if (evt.isFirst) flagPanning.value = true
|
|
616
584
|
}
|
|
617
585
|
|
|
618
586
|
function cleanup() {
|
|
@@ -624,14 +592,8 @@ export default createComponent({
|
|
|
624
592
|
$layout.update(props.side, prop, val)
|
|
625
593
|
}
|
|
626
594
|
|
|
627
|
-
function updateLocal(prop, val) {
|
|
628
|
-
if (prop.value !== val) {
|
|
629
|
-
prop.value = val
|
|
630
|
-
}
|
|
631
|
-
}
|
|
632
|
-
|
|
633
595
|
function updateSizeOnLayout(miniToOverlay, newSize) {
|
|
634
|
-
updateLayout('size', miniToOverlay
|
|
596
|
+
updateLayout('size', miniToOverlay ? props.miniWidth : newSize)
|
|
635
597
|
}
|
|
636
598
|
|
|
637
599
|
$layout.instances[props.side] = instance
|
|
@@ -640,9 +602,9 @@ export default createComponent({
|
|
|
640
602
|
updateLayout('offset', offset.value)
|
|
641
603
|
|
|
642
604
|
if (
|
|
643
|
-
props.showIfAbove
|
|
644
|
-
props.modelValue
|
|
645
|
-
showing.value
|
|
605
|
+
props.showIfAbove &&
|
|
606
|
+
!props.modelValue &&
|
|
607
|
+
showing.value &&
|
|
646
608
|
props['onUpdate:modelValue'] !== void 0
|
|
647
609
|
) {
|
|
648
610
|
emit('update:modelValue', true)
|
|
@@ -652,10 +614,10 @@ export default createComponent({
|
|
|
652
614
|
emit('onLayout', onLayout.value)
|
|
653
615
|
emit('miniState', isMini.value)
|
|
654
616
|
|
|
655
|
-
lastDesktopState = props.showIfAbove
|
|
617
|
+
lastDesktopState = props.showIfAbove
|
|
656
618
|
|
|
657
619
|
const fn = () => {
|
|
658
|
-
const action = showing.value
|
|
620
|
+
const action = showing.value ? handleShow : handleHide
|
|
659
621
|
action(false, true)
|
|
660
622
|
}
|
|
661
623
|
|
|
@@ -670,11 +632,7 @@ export default createComponent({
|
|
|
670
632
|
layoutTotalWidthWatcher()
|
|
671
633
|
layoutTotalWidthWatcher = void 0
|
|
672
634
|
|
|
673
|
-
if (
|
|
674
|
-
showing.value === false &&
|
|
675
|
-
props.showIfAbove === true &&
|
|
676
|
-
belowBreakpoint.value === false
|
|
677
|
-
) {
|
|
635
|
+
if (!showing.value && props.showIfAbove && !belowBreakpoint.value) {
|
|
678
636
|
show(false)
|
|
679
637
|
} else {
|
|
680
638
|
fn()
|
|
@@ -690,7 +648,7 @@ export default createComponent({
|
|
|
690
648
|
timerMini = null
|
|
691
649
|
}
|
|
692
650
|
|
|
693
|
-
if (showing.value
|
|
651
|
+
if (showing.value) cleanup()
|
|
694
652
|
|
|
695
653
|
if ($layout.instances[props.side] === instance) {
|
|
696
654
|
$layout.instances[props.side] = void 0
|
|
@@ -703,8 +661,8 @@ export default createComponent({
|
|
|
703
661
|
return () => {
|
|
704
662
|
const child = []
|
|
705
663
|
|
|
706
|
-
if (belowBreakpoint.value
|
|
707
|
-
if (props.noSwipeOpen
|
|
664
|
+
if (belowBreakpoint.value) {
|
|
665
|
+
if (!props.noSwipeOpen) {
|
|
708
666
|
child.push(
|
|
709
667
|
withDirectives(
|
|
710
668
|
h('div', {
|
|
@@ -729,13 +687,13 @@ export default createComponent({
|
|
|
729
687
|
},
|
|
730
688
|
void 0,
|
|
731
689
|
'backdrop',
|
|
732
|
-
props.noSwipeBackdrop
|
|
690
|
+
!props.noSwipeBackdrop && showing.value,
|
|
733
691
|
() => backdropCloseDirective.value
|
|
734
692
|
)
|
|
735
693
|
)
|
|
736
694
|
}
|
|
737
695
|
|
|
738
|
-
const mini = isMini.value
|
|
696
|
+
const mini = isMini.value && slots.mini !== void 0
|
|
739
697
|
const content = [
|
|
740
698
|
h(
|
|
741
699
|
'div',
|
|
@@ -744,11 +702,11 @@ export default createComponent({
|
|
|
744
702
|
key: String(mini), // required otherwise Vue will not diff correctly
|
|
745
703
|
class: [contentClass.value, attrs.class]
|
|
746
704
|
},
|
|
747
|
-
mini
|
|
705
|
+
mini ? slots.mini() : hSlot(slots.default)
|
|
748
706
|
)
|
|
749
707
|
]
|
|
750
708
|
|
|
751
|
-
if (props.elevated
|
|
709
|
+
if (props.elevated && showing.value) {
|
|
752
710
|
content.push(
|
|
753
711
|
h('div', {
|
|
754
712
|
class:
|
|
@@ -763,7 +721,7 @@ export default createComponent({
|
|
|
763
721
|
{ ref: 'content', class: classes.value, style: style.value },
|
|
764
722
|
content,
|
|
765
723
|
'contentclose',
|
|
766
|
-
props.noSwipeClose
|
|
724
|
+
!props.noSwipeClose && belowBreakpoint.value,
|
|
767
725
|
() => contentCloseDirective.value
|
|
768
726
|
)
|
|
769
727
|
)
|