quasar 2.19.3 → 2.20.1
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 +2621 -2604
- 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 +2616 -2599
- 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 -51
- 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 +53 -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 +5 -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,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
+
Transition,
|
|
3
|
+
computed,
|
|
4
|
+
getCurrentInstance,
|
|
2
5
|
h,
|
|
6
|
+
nextTick,
|
|
3
7
|
ref,
|
|
4
|
-
computed,
|
|
5
8
|
watch,
|
|
6
|
-
withDirectives
|
|
7
|
-
Transition,
|
|
8
|
-
nextTick,
|
|
9
|
-
getCurrentInstance
|
|
9
|
+
withDirectives
|
|
10
10
|
} from 'vue'
|
|
11
11
|
|
|
12
12
|
import QBtn from '../btn/QBtn.js'
|
|
@@ -16,28 +16,30 @@ import useDark, {
|
|
|
16
16
|
useDarkProps
|
|
17
17
|
} from '../../composables/private.use-dark/use-dark.js'
|
|
18
18
|
import {
|
|
19
|
-
useFormProps,
|
|
20
19
|
useFormAttrs,
|
|
21
|
-
useFormInject
|
|
20
|
+
useFormInject,
|
|
21
|
+
useFormProps
|
|
22
22
|
} from '../../composables/use-form/private.use-form.js'
|
|
23
23
|
import useDatetime, {
|
|
24
|
-
|
|
24
|
+
getDayHash,
|
|
25
25
|
useDatetimeEmits,
|
|
26
|
-
|
|
26
|
+
useDatetimeProps
|
|
27
27
|
} from '../date/use-datetime.js'
|
|
28
28
|
|
|
29
29
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
30
30
|
import { hSlot } from '../../utils/private.render/render.js'
|
|
31
|
-
import {
|
|
31
|
+
import { __splitDate, formatDate } from '../../utils/date/date.js'
|
|
32
32
|
import { position } from '../../utils/event/event.js'
|
|
33
33
|
import { pad } from '../../utils/format/format.js'
|
|
34
34
|
import { vmIsDestroyed } from '../../utils/private.vm/vm.js'
|
|
35
35
|
|
|
36
|
+
const defaultDateRE = /^-?[\d]+\/[0-1]\d\/[0-3]\d$/
|
|
37
|
+
|
|
36
38
|
function getViewByModel(model, withSeconds) {
|
|
37
39
|
if (model.hour !== null) {
|
|
38
40
|
if (model.minute === null) {
|
|
39
41
|
return 'minute'
|
|
40
|
-
} else if (withSeconds
|
|
42
|
+
} else if (withSeconds && model.second === null) {
|
|
41
43
|
return 'second'
|
|
42
44
|
}
|
|
43
45
|
}
|
|
@@ -56,6 +58,25 @@ function getCurrentTime() {
|
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
|
|
61
|
+
function getWheelDist(a, b, threshold) {
|
|
62
|
+
const diff = Math.abs(a - b)
|
|
63
|
+
return Math.min(diff, threshold - diff)
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function getValidValues(start, count, testFn) {
|
|
67
|
+
const values = Array.from(
|
|
68
|
+
{ length: count + 1 },
|
|
69
|
+
(_, index) => index + start
|
|
70
|
+
).filter(i => testFn(i))
|
|
71
|
+
|
|
72
|
+
return {
|
|
73
|
+
min: values[0],
|
|
74
|
+
max: values.at(-1),
|
|
75
|
+
values,
|
|
76
|
+
threshold: count + 1
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
59
80
|
export default createComponent({
|
|
60
81
|
name: 'QTime',
|
|
61
82
|
|
|
@@ -81,7 +102,7 @@ export default createComponent({
|
|
|
81
102
|
|
|
82
103
|
defaultDate: {
|
|
83
104
|
type: String,
|
|
84
|
-
validator: v =>
|
|
105
|
+
validator: v => defaultDateRE.test(v)
|
|
85
106
|
},
|
|
86
107
|
|
|
87
108
|
options: Function,
|
|
@@ -128,19 +149,22 @@ export default createComponent({
|
|
|
128
149
|
const view = ref(getViewByModel(model))
|
|
129
150
|
const innerModel = ref(model)
|
|
130
151
|
const isAM = ref(model.hour === null || model.hour < 12)
|
|
152
|
+
const computedFormat24h = computed(() =>
|
|
153
|
+
props.format24h !== null ? props.format24h : $q.lang.date.format24h
|
|
154
|
+
)
|
|
131
155
|
|
|
132
156
|
const classes = computed(
|
|
133
157
|
() =>
|
|
134
|
-
`q-time q-time--${props.landscape
|
|
135
|
-
(isDark.value
|
|
136
|
-
(props.disable
|
|
158
|
+
`q-time q-time--${props.landscape ? 'landscape' : 'portrait'}` +
|
|
159
|
+
(isDark.value ? ' q-time--dark q-dark' : '') +
|
|
160
|
+
(props.disable
|
|
137
161
|
? ' disabled'
|
|
138
|
-
: props.readonly
|
|
162
|
+
: props.readonly
|
|
139
163
|
? ' q-time--readonly'
|
|
140
164
|
: '') +
|
|
141
|
-
(props.bordered
|
|
142
|
-
(props.square
|
|
143
|
-
(props.flat
|
|
165
|
+
(props.bordered ? ' q-time--bordered' : '') +
|
|
166
|
+
(props.square ? ' q-time--square no-border-radius' : '') +
|
|
167
|
+
(props.flat ? ' q-time--flat no-shadow' : '')
|
|
144
168
|
)
|
|
145
169
|
|
|
146
170
|
const stringModel = computed(() => {
|
|
@@ -150,10 +174,10 @@ export default createComponent({
|
|
|
150
174
|
hour:
|
|
151
175
|
time.hour === null
|
|
152
176
|
? '--'
|
|
153
|
-
: computedFormat24h.value
|
|
177
|
+
: computedFormat24h.value
|
|
154
178
|
? pad(time.hour)
|
|
155
179
|
: String(
|
|
156
|
-
isAM.value
|
|
180
|
+
isAM.value
|
|
157
181
|
? time.hour === 0
|
|
158
182
|
? 12
|
|
159
183
|
: time.hour
|
|
@@ -166,23 +190,15 @@ export default createComponent({
|
|
|
166
190
|
}
|
|
167
191
|
})
|
|
168
192
|
|
|
169
|
-
const computedFormat24h = computed(() =>
|
|
170
|
-
props.format24h !== null ? props.format24h : $q.lang.date.format24h
|
|
171
|
-
)
|
|
172
|
-
|
|
173
193
|
const pointerStyle = computed(() => {
|
|
174
194
|
const forHour = view.value === 'hour',
|
|
175
|
-
divider = forHour
|
|
195
|
+
divider = forHour ? 12 : 60,
|
|
176
196
|
amount = innerModel.value[view.value],
|
|
177
197
|
degrees = Math.round(amount * (360 / divider)) - 180
|
|
178
198
|
|
|
179
199
|
let transform = `rotate(${degrees}deg) translateX(-50%)`
|
|
180
200
|
|
|
181
|
-
if (
|
|
182
|
-
forHour === true &&
|
|
183
|
-
computedFormat24h.value === true &&
|
|
184
|
-
innerModel.value.hour >= 12
|
|
185
|
-
) {
|
|
201
|
+
if (forHour && computedFormat24h.value && innerModel.value.hour >= 12) {
|
|
186
202
|
transform += ' scale(.7)'
|
|
187
203
|
}
|
|
188
204
|
|
|
@@ -191,7 +207,7 @@ export default createComponent({
|
|
|
191
207
|
|
|
192
208
|
const minLink = computed(() => innerModel.value.hour !== null)
|
|
193
209
|
const secLink = computed(
|
|
194
|
-
() => minLink.value
|
|
210
|
+
() => minLink.value && innerModel.value.minute !== null
|
|
195
211
|
)
|
|
196
212
|
|
|
197
213
|
const hourInSelection = computed(() =>
|
|
@@ -220,13 +236,11 @@ export default createComponent({
|
|
|
220
236
|
)
|
|
221
237
|
|
|
222
238
|
const validHours = computed(() => {
|
|
223
|
-
if (hourInSelection.value === null)
|
|
224
|
-
return null
|
|
225
|
-
}
|
|
239
|
+
if (hourInSelection.value === null) return null
|
|
226
240
|
|
|
227
241
|
const am = getValidValues(0, 11, hourInSelection.value)
|
|
228
242
|
const pm = getValidValues(12, 11, hourInSelection.value)
|
|
229
|
-
return { am, pm, values: am.values
|
|
243
|
+
return { am, pm, values: [...am.values, ...pm.values] }
|
|
230
244
|
})
|
|
231
245
|
|
|
232
246
|
const validMinutes = computed(() =>
|
|
@@ -243,49 +257,45 @@ export default createComponent({
|
|
|
243
257
|
|
|
244
258
|
const viewValidOptions = computed(() => {
|
|
245
259
|
switch (view.value) {
|
|
246
|
-
case 'hour':
|
|
260
|
+
case 'hour': {
|
|
247
261
|
return validHours.value
|
|
248
|
-
|
|
262
|
+
}
|
|
263
|
+
case 'minute': {
|
|
249
264
|
return validMinutes.value
|
|
250
|
-
|
|
265
|
+
}
|
|
266
|
+
case 'second': {
|
|
251
267
|
return validSeconds.value
|
|
268
|
+
}
|
|
252
269
|
}
|
|
253
270
|
})
|
|
254
271
|
|
|
255
272
|
const positions = computed(() => {
|
|
256
|
-
let
|
|
257
|
-
end,
|
|
273
|
+
let end,
|
|
258
274
|
offset = 0,
|
|
259
275
|
step = 1
|
|
260
276
|
const values =
|
|
261
277
|
viewValidOptions.value !== null ? viewValidOptions.value.values : void 0
|
|
262
278
|
|
|
263
279
|
if (view.value === 'hour') {
|
|
264
|
-
if (computedFormat24h.value
|
|
265
|
-
start = 0
|
|
280
|
+
if (computedFormat24h.value) {
|
|
266
281
|
end = 23
|
|
267
282
|
} else {
|
|
268
|
-
start = 0
|
|
269
283
|
end = 11
|
|
270
|
-
|
|
271
|
-
if (isAM.value === false) {
|
|
272
|
-
offset = 12
|
|
273
|
-
}
|
|
284
|
+
if (!isAM.value) offset = 12
|
|
274
285
|
}
|
|
275
286
|
} else {
|
|
276
|
-
start = 0
|
|
277
287
|
end = 55
|
|
278
288
|
step = 5
|
|
279
289
|
}
|
|
280
290
|
|
|
281
291
|
const pos = []
|
|
282
292
|
|
|
283
|
-
for (let val =
|
|
293
|
+
for (let val = 0, index = 0; val <= end; val += step, index++) {
|
|
284
294
|
const actualVal = val + offset,
|
|
285
295
|
disable = values?.includes(actualVal) === false,
|
|
286
296
|
label =
|
|
287
297
|
view.value === 'hour' && val === 0
|
|
288
|
-
? computedFormat24h.value
|
|
298
|
+
? computedFormat24h.value
|
|
289
299
|
? '00'
|
|
290
300
|
: '12'
|
|
291
301
|
: val
|
|
@@ -353,31 +363,6 @@ export default createComponent({
|
|
|
353
363
|
view.value = 'hour'
|
|
354
364
|
}
|
|
355
365
|
|
|
356
|
-
function getValidValues(start, count, testFn) {
|
|
357
|
-
const values = Array.apply(null, { length: count + 1 })
|
|
358
|
-
.map((_, index) => {
|
|
359
|
-
const i = index + start
|
|
360
|
-
return {
|
|
361
|
-
index: i,
|
|
362
|
-
val: testFn(i) === true // force boolean
|
|
363
|
-
}
|
|
364
|
-
})
|
|
365
|
-
.filter(v => v.val === true)
|
|
366
|
-
.map(v => v.index)
|
|
367
|
-
|
|
368
|
-
return {
|
|
369
|
-
min: values[0],
|
|
370
|
-
max: values[values.length - 1],
|
|
371
|
-
values,
|
|
372
|
-
threshold: count + 1
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
function getWheelDist(a, b, threshold) {
|
|
377
|
-
const diff = Math.abs(a - b)
|
|
378
|
-
return Math.min(diff, threshold - diff)
|
|
379
|
-
}
|
|
380
|
-
|
|
381
366
|
function getNormalizedClockValue(val, { min, max, values, threshold }) {
|
|
382
367
|
if (val === min) {
|
|
383
368
|
return min
|
|
@@ -400,7 +385,7 @@ export default createComponent({
|
|
|
400
385
|
function getMask() {
|
|
401
386
|
return props.calendar !== 'persian' && props.mask !== null
|
|
402
387
|
? props.mask
|
|
403
|
-
: `HH:mm${props.withSeconds
|
|
388
|
+
: `HH:mm${props.withSeconds ? ':ss' : ''}`
|
|
404
389
|
}
|
|
405
390
|
|
|
406
391
|
function getDefaultDateModel() {
|
|
@@ -420,14 +405,13 @@ export default createComponent({
|
|
|
420
405
|
|
|
421
406
|
function shouldAbortInteraction() {
|
|
422
407
|
return (
|
|
423
|
-
vmIsDestroyed(vm)
|
|
408
|
+
vmIsDestroyed(vm) ||
|
|
424
409
|
// if we have limited options, can we actually set any?
|
|
425
410
|
(viewValidOptions.value !== null &&
|
|
426
411
|
(viewValidOptions.value.values.length === 0 ||
|
|
427
412
|
(view.value === 'hour' &&
|
|
428
|
-
computedFormat24h.value
|
|
429
|
-
validHours.value[isAM.value
|
|
430
|
-
.length === 0)))
|
|
413
|
+
!computedFormat24h.value &&
|
|
414
|
+
validHours.value[isAM.value ? 'am' : 'pm'].values.length === 0)))
|
|
431
415
|
)
|
|
432
416
|
}
|
|
433
417
|
|
|
@@ -444,9 +428,9 @@ export default createComponent({
|
|
|
444
428
|
}
|
|
445
429
|
|
|
446
430
|
function onPan(event) {
|
|
447
|
-
if (shouldAbortInteraction()
|
|
431
|
+
if (shouldAbortInteraction()) return
|
|
448
432
|
|
|
449
|
-
if (event.isFirst
|
|
433
|
+
if (event.isFirst) {
|
|
450
434
|
draggingClockRect = getClockRect()
|
|
451
435
|
dragCache = updateClock(event.evt, draggingClockRect)
|
|
452
436
|
return
|
|
@@ -454,7 +438,7 @@ export default createComponent({
|
|
|
454
438
|
|
|
455
439
|
dragCache = updateClock(event.evt, draggingClockRect, dragCache)
|
|
456
440
|
|
|
457
|
-
if (event.isFinal
|
|
441
|
+
if (event.isFinal) {
|
|
458
442
|
draggingClockRect = false
|
|
459
443
|
dragCache = null
|
|
460
444
|
goToNextView()
|
|
@@ -472,9 +456,9 @@ export default createComponent({
|
|
|
472
456
|
function updateClock(evt, clockRect, cacheVal) {
|
|
473
457
|
const pos = position(evt),
|
|
474
458
|
height = Math.abs(pos.top - clockRect.top),
|
|
475
|
-
distance = Math.
|
|
476
|
-
|
|
477
|
-
|
|
459
|
+
distance = Math.hypot(
|
|
460
|
+
pos.top - clockRect.top,
|
|
461
|
+
pos.left - clockRect.left
|
|
478
462
|
)
|
|
479
463
|
|
|
480
464
|
let val,
|
|
@@ -490,22 +474,21 @@ export default createComponent({
|
|
|
490
474
|
val = angle / 30
|
|
491
475
|
|
|
492
476
|
if (validHours.value !== null) {
|
|
493
|
-
const am =
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
: validHours.value.am.values.length !== 0
|
|
477
|
+
const am = !computedFormat24h.value
|
|
478
|
+
? isAM.value
|
|
479
|
+
: validHours.value.am.values.length !== 0 &&
|
|
480
|
+
validHours.value.pm.values.length !== 0
|
|
481
|
+
? distance >= clockRect.dist
|
|
482
|
+
: validHours.value.am.values.length !== 0
|
|
500
483
|
|
|
501
484
|
val = getNormalizedClockValue(
|
|
502
|
-
val + (am
|
|
503
|
-
validHours.value[am
|
|
485
|
+
val + (am ? 0 : 12),
|
|
486
|
+
validHours.value[am ? 'am' : 'pm']
|
|
504
487
|
)
|
|
505
488
|
} else {
|
|
506
489
|
val = Math.round(val)
|
|
507
490
|
|
|
508
|
-
if (computedFormat24h.value
|
|
491
|
+
if (computedFormat24h.value) {
|
|
509
492
|
if (distance < clockRect.dist) {
|
|
510
493
|
if (val < 12) {
|
|
511
494
|
val += 12
|
|
@@ -513,14 +496,14 @@ export default createComponent({
|
|
|
513
496
|
} else if (val === 12) {
|
|
514
497
|
val = 0
|
|
515
498
|
}
|
|
516
|
-
} else if (isAM.value
|
|
499
|
+
} else if (isAM.value && val === 12) {
|
|
517
500
|
val = 0
|
|
518
|
-
} else if (isAM.value
|
|
501
|
+
} else if (!isAM.value && val !== 12) {
|
|
519
502
|
val += 12
|
|
520
503
|
}
|
|
521
504
|
}
|
|
522
505
|
|
|
523
|
-
if (computedFormat24h.value
|
|
506
|
+
if (computedFormat24h.value) {
|
|
524
507
|
isAM.value = val < 12
|
|
525
508
|
}
|
|
526
509
|
} else {
|
|
@@ -561,10 +544,10 @@ export default createComponent({
|
|
|
561
544
|
}
|
|
562
545
|
|
|
563
546
|
function onClick(evt) {
|
|
564
|
-
if (shouldAbortInteraction()
|
|
547
|
+
if (!shouldAbortInteraction()) {
|
|
565
548
|
// onMousedown() has already updated the offset
|
|
566
549
|
// (on desktop only, through mousedown event)
|
|
567
|
-
if (
|
|
550
|
+
if (!$q.platform.is.desktop) {
|
|
568
551
|
updateClock(evt, getClockRect())
|
|
569
552
|
}
|
|
570
553
|
|
|
@@ -573,7 +556,7 @@ export default createComponent({
|
|
|
573
556
|
}
|
|
574
557
|
|
|
575
558
|
function onMousedown(evt) {
|
|
576
|
-
if (shouldAbortInteraction()
|
|
559
|
+
if (!shouldAbortInteraction()) {
|
|
577
560
|
updateClock(evt, getClockRect())
|
|
578
561
|
}
|
|
579
562
|
}
|
|
@@ -586,10 +569,9 @@ export default createComponent({
|
|
|
586
569
|
const payload = e.keyCode === 37 ? -1 : 1
|
|
587
570
|
|
|
588
571
|
if (validHours.value !== null) {
|
|
589
|
-
const values =
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
: validHours.value[isAM.value === true ? 'am' : 'pm'].values
|
|
572
|
+
const values = computedFormat24h.value
|
|
573
|
+
? validHours.value.values
|
|
574
|
+
: validHours.value[isAM.value ? 'am' : 'pm'].values
|
|
593
575
|
|
|
594
576
|
if (values.length === 0) return
|
|
595
577
|
|
|
@@ -605,9 +587,8 @@ export default createComponent({
|
|
|
605
587
|
setHour(values[index])
|
|
606
588
|
}
|
|
607
589
|
} else {
|
|
608
|
-
const wrap = computedFormat24h.value
|
|
609
|
-
offset =
|
|
610
|
-
computedFormat24h.value !== true && isAM.value === false ? 12 : 0,
|
|
590
|
+
const wrap = computedFormat24h.value ? 24 : 12,
|
|
591
|
+
offset = !computedFormat24h.value && !isAM.value ? 12 : 0,
|
|
611
592
|
val =
|
|
612
593
|
innerModel.value.hour === null ? -payload : innerModel.value.hour
|
|
613
594
|
|
|
@@ -710,7 +691,7 @@ export default createComponent({
|
|
|
710
691
|
}
|
|
711
692
|
|
|
712
693
|
function setAm() {
|
|
713
|
-
if (isAM.value
|
|
694
|
+
if (!isAM.value) {
|
|
714
695
|
isAM.value = true
|
|
715
696
|
|
|
716
697
|
if (innerModel.value.hour !== null) {
|
|
@@ -721,7 +702,7 @@ export default createComponent({
|
|
|
721
702
|
}
|
|
722
703
|
|
|
723
704
|
function setPm() {
|
|
724
|
-
if (isAM.value
|
|
705
|
+
if (isAM.value) {
|
|
725
706
|
isAM.value = false
|
|
726
707
|
|
|
727
708
|
if (innerModel.value.hour !== null) {
|
|
@@ -747,7 +728,7 @@ export default createComponent({
|
|
|
747
728
|
function verifyAndUpdate() {
|
|
748
729
|
if (
|
|
749
730
|
hourInSelection.value !== null &&
|
|
750
|
-
hourInSelection.value(innerModel.value.hour)
|
|
731
|
+
!hourInSelection.value(innerModel.value.hour)
|
|
751
732
|
) {
|
|
752
733
|
innerModel.value = __splitDate()
|
|
753
734
|
goToViewWhenHasModel('hour')
|
|
@@ -756,7 +737,7 @@ export default createComponent({
|
|
|
756
737
|
|
|
757
738
|
if (
|
|
758
739
|
minuteInSelection.value !== null &&
|
|
759
|
-
minuteInSelection.value(innerModel.value.minute)
|
|
740
|
+
!minuteInSelection.value(innerModel.value.minute)
|
|
760
741
|
) {
|
|
761
742
|
innerModel.value.minute = null
|
|
762
743
|
innerModel.value.second = null
|
|
@@ -765,9 +746,9 @@ export default createComponent({
|
|
|
765
746
|
}
|
|
766
747
|
|
|
767
748
|
if (
|
|
768
|
-
props.withSeconds
|
|
749
|
+
props.withSeconds &&
|
|
769
750
|
secondInSelection.value !== null &&
|
|
770
|
-
secondInSelection.value(innerModel.value.second)
|
|
751
|
+
!secondInSelection.value(innerModel.value.second)
|
|
771
752
|
) {
|
|
772
753
|
innerModel.value.second = null
|
|
773
754
|
goToViewWhenHasModel('second')
|
|
@@ -777,7 +758,7 @@ export default createComponent({
|
|
|
777
758
|
if (
|
|
778
759
|
innerModel.value.hour === null ||
|
|
779
760
|
innerModel.value.minute === null ||
|
|
780
|
-
(props.withSeconds
|
|
761
|
+
(props.withSeconds && innerModel.value.second === null)
|
|
781
762
|
) {
|
|
782
763
|
return
|
|
783
764
|
}
|
|
@@ -786,14 +767,14 @@ export default createComponent({
|
|
|
786
767
|
}
|
|
787
768
|
|
|
788
769
|
function updateValue(obj) {
|
|
789
|
-
const date =
|
|
770
|
+
const date = { ...innerModel.value, ...obj }
|
|
790
771
|
|
|
791
772
|
const val =
|
|
792
773
|
props.calendar === 'persian'
|
|
793
774
|
? pad(date.hour) +
|
|
794
775
|
':' +
|
|
795
776
|
pad(date.minute) +
|
|
796
|
-
(props.withSeconds
|
|
777
|
+
(props.withSeconds ? ':' + pad(date.second) : '')
|
|
797
778
|
: formatDate(
|
|
798
779
|
new Date(
|
|
799
780
|
date.year,
|
|
@@ -835,7 +816,7 @@ export default createComponent({
|
|
|
835
816
|
|
|
836
817
|
h(
|
|
837
818
|
'div',
|
|
838
|
-
minLink.value
|
|
819
|
+
minLink.value
|
|
839
820
|
? {
|
|
840
821
|
class:
|
|
841
822
|
'q-time__link ' +
|
|
@@ -851,13 +832,13 @@ export default createComponent({
|
|
|
851
832
|
)
|
|
852
833
|
]
|
|
853
834
|
|
|
854
|
-
if (props.withSeconds
|
|
835
|
+
if (props.withSeconds) {
|
|
855
836
|
label.push(
|
|
856
837
|
h('div', ':'),
|
|
857
838
|
|
|
858
839
|
h(
|
|
859
840
|
'div',
|
|
860
|
-
secLink.value
|
|
841
|
+
secLink.value
|
|
861
842
|
? {
|
|
862
843
|
class:
|
|
863
844
|
'q-time__link ' +
|
|
@@ -885,7 +866,7 @@ export default createComponent({
|
|
|
885
866
|
)
|
|
886
867
|
]
|
|
887
868
|
|
|
888
|
-
if (computedFormat24h.value
|
|
869
|
+
if (!computedFormat24h.value) {
|
|
889
870
|
child.push(
|
|
890
871
|
h(
|
|
891
872
|
'div',
|
|
@@ -898,9 +879,7 @@ export default createComponent({
|
|
|
898
879
|
{
|
|
899
880
|
class:
|
|
900
881
|
'q-time__link ' +
|
|
901
|
-
(isAM.value
|
|
902
|
-
? 'q-time__link--active'
|
|
903
|
-
: 'cursor-pointer'),
|
|
882
|
+
(isAM.value ? 'q-time__link--active' : 'cursor-pointer'),
|
|
904
883
|
tabindex: tabindex.value,
|
|
905
884
|
onClick: setAm,
|
|
906
885
|
onKeyup: setAmOnKey
|
|
@@ -913,9 +892,7 @@ export default createComponent({
|
|
|
913
892
|
{
|
|
914
893
|
class:
|
|
915
894
|
'q-time__link ' +
|
|
916
|
-
(isAM.value
|
|
917
|
-
? 'q-time__link--active'
|
|
918
|
-
: 'cursor-pointer'),
|
|
895
|
+
(isAM.value ? 'cursor-pointer' : 'q-time__link--active'),
|
|
919
896
|
tabindex: tabindex.value,
|
|
920
897
|
onClick: setPm,
|
|
921
898
|
onKeyup: setPmOnKey
|
|
@@ -996,7 +973,7 @@ export default createComponent({
|
|
|
996
973
|
(pos.val === current
|
|
997
974
|
? ' q-time__clock-position--active ' +
|
|
998
975
|
headerClass.value
|
|
999
|
-
: pos.disable
|
|
976
|
+
: pos.disable
|
|
1000
977
|
? ' q-time__clock-position--disable'
|
|
1001
978
|
: '')
|
|
1002
979
|
},
|
|
@@ -1014,7 +991,7 @@ export default createComponent({
|
|
|
1014
991
|
)
|
|
1015
992
|
),
|
|
1016
993
|
|
|
1017
|
-
props.nowBtn
|
|
994
|
+
props.nowBtn
|
|
1018
995
|
? h(QBtn, {
|
|
1019
996
|
class: 'q-time__now-button absolute',
|
|
1020
997
|
icon: $q.iconSet.datetime.now,
|
|
@@ -1042,7 +1019,7 @@ export default createComponent({
|
|
|
1042
1019
|
child.push(h('div', { class: 'q-time__actions' }, def))
|
|
1043
1020
|
}
|
|
1044
1021
|
|
|
1045
|
-
if (props.name !== void 0 && props.disable
|
|
1022
|
+
if (props.name !== void 0 && !props.disable) {
|
|
1046
1023
|
injectFormInput(child, 'push')
|
|
1047
1024
|
}
|
|
1048
1025
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance, h, provide } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, {
|
|
4
4
|
useDarkProps
|
|
@@ -8,6 +8,9 @@ import { createComponent } from '../../utils/private.create/create.js'
|
|
|
8
8
|
import { hSlot } from '../../utils/private.render/render.js'
|
|
9
9
|
import { timelineKey } from '../../utils/private.symbols/symbols.js'
|
|
10
10
|
|
|
11
|
+
const sideValues = ['left', 'right']
|
|
12
|
+
const layoutValues = ['dense', 'comfortable', 'loose']
|
|
13
|
+
|
|
11
14
|
export default createComponent({
|
|
12
15
|
name: 'QTimeline',
|
|
13
16
|
|
|
@@ -21,12 +24,12 @@ export default createComponent({
|
|
|
21
24
|
side: {
|
|
22
25
|
type: String,
|
|
23
26
|
default: 'right',
|
|
24
|
-
validator: v =>
|
|
27
|
+
validator: v => sideValues.includes(v)
|
|
25
28
|
},
|
|
26
29
|
layout: {
|
|
27
30
|
type: String,
|
|
28
31
|
default: 'dense',
|
|
29
|
-
validator: v =>
|
|
32
|
+
validator: v => layoutValues.includes(v)
|
|
30
33
|
}
|
|
31
34
|
},
|
|
32
35
|
|
|
@@ -39,7 +42,7 @@ export default createComponent({
|
|
|
39
42
|
const classes = computed(
|
|
40
43
|
() =>
|
|
41
44
|
`q-timeline q-timeline--${props.layout} q-timeline--${props.layout}--${props.side}` +
|
|
42
|
-
(isDark.value
|
|
45
|
+
(isDark.value ? ' q-timeline--dark' : '')
|
|
43
46
|
)
|
|
44
47
|
|
|
45
48
|
return () => h('ul', { class: classes.value }, hSlot(slots.default))
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, h, inject } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
|
|
5
5
|
import { createComponent } from '../../utils/private.create/create.js'
|
|
6
6
|
import { hSlot, hUniqueSlot } from '../../utils/private.render/render.js'
|
|
7
7
|
import {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
emptyRenderFn,
|
|
9
|
+
timelineKey
|
|
10
10
|
} from '../../utils/private.symbols/symbols.js'
|
|
11
11
|
|
|
12
12
|
export default createComponent({
|
|
@@ -64,7 +64,7 @@ export default createComponent({
|
|
|
64
64
|
child.unshift(props.body)
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
if (props.heading
|
|
67
|
+
if (props.heading) {
|
|
68
68
|
const content = [
|
|
69
69
|
h('div'),
|
|
70
70
|
h('div'),
|
|
@@ -76,7 +76,7 @@ export default createComponent({
|
|
|
76
76
|
{
|
|
77
77
|
class: 'q-timeline__heading'
|
|
78
78
|
},
|
|
79
|
-
reverse.value
|
|
79
|
+
reverse.value ? content.reverse() : content
|
|
80
80
|
)
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -108,6 +108,7 @@ export default createComponent({
|
|
|
108
108
|
h(
|
|
109
109
|
'div',
|
|
110
110
|
{ class: 'q-timeline__content' },
|
|
111
|
+
// oxlint-disable-next-line unicorn/prefer-spread
|
|
111
112
|
[
|
|
112
113
|
h(
|
|
113
114
|
'h6',
|
|
@@ -123,7 +124,7 @@ export default createComponent({
|
|
|
123
124
|
{
|
|
124
125
|
class: classes.value
|
|
125
126
|
},
|
|
126
|
-
reverse.value
|
|
127
|
+
reverse.value ? content.reverse() : content
|
|
127
128
|
)
|
|
128
129
|
}
|
|
129
130
|
}
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"transformAssetUrls": true,
|
|
36
36
|
"examples": [
|
|
37
37
|
"# (public folder) src=\"img/my-bg.png\"",
|
|
38
|
-
"# (assets folder) src=\"
|
|
38
|
+
"# (assets folder) src=\"~@/assets/my-img.png\"",
|
|
39
39
|
"# (relative path format) :src=\"require('./my_img.jpg')\"",
|
|
40
40
|
"# (URL) src=\"https://picsum.photos/500/300\""
|
|
41
41
|
],
|