quasar 2.15.0 → 2.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/AddressbarColor.json +1 -1
- package/dist/api/BottomSheet.json +1 -1
- package/dist/api/ClosePopup.json +1 -1
- package/dist/api/Cookies.json +1 -1
- package/dist/api/Dark.json +1 -1
- package/dist/api/Dialog.json +1 -1
- package/dist/api/Intersection.json +1 -1
- package/dist/api/Loading.json +1 -1
- package/dist/api/LoadingBar.json +1 -1
- package/dist/api/LocalStorage.json +1 -1
- package/dist/api/Morph.json +1 -1
- package/dist/api/Mutation.json +1 -1
- package/dist/api/Notify.json +1 -1
- package/dist/api/Platform.json +1 -1
- package/dist/api/QAjaxBar.json +1 -1
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBadge.json +1 -1
- package/dist/api/QBanner.json +1 -1
- package/dist/api/QBar.json +1 -1
- package/dist/api/QBreadcrumbs.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtn.json +1 -1
- package/dist/api/QBtnDropdown.json +1 -1
- package/dist/api/QBtnToggle.json +1 -1
- package/dist/api/QCard.json +1 -1
- package/dist/api/QCardActions.json +1 -1
- package/dist/api/QCardSection.json +1 -1
- package/dist/api/QCarousel.json +1 -1
- package/dist/api/QCarouselControl.json +1 -1
- package/dist/api/QCarouselSlide.json +1 -1
- package/dist/api/QChatMessage.json +1 -1
- package/dist/api/QCheckbox.json +1 -1
- package/dist/api/QChip.json +1 -1
- package/dist/api/QCircularProgress.json +1 -1
- package/dist/api/QColor.json +1 -1
- package/dist/api/QDate.json +1 -1
- package/dist/api/QDialog.json +1 -1
- package/dist/api/QDrawer.json +1 -1
- package/dist/api/QEditor.json +1 -1
- package/dist/api/QExpansionItem.json +1 -1
- package/dist/api/QFab.json +1 -1
- package/dist/api/QFabAction.json +1 -1
- package/dist/api/QField.json +1 -1
- package/dist/api/QFile.json +1 -1
- package/dist/api/QFooter.json +1 -1
- package/dist/api/QHeader.json +1 -1
- package/dist/api/QIcon.json +1 -1
- package/dist/api/QImg.json +1 -1
- package/dist/api/QInfiniteScroll.json +1 -1
- package/dist/api/QInnerLoading.json +1 -1
- package/dist/api/QInput.json +1 -1
- package/dist/api/QIntersection.json +1 -1
- package/dist/api/QItem.json +1 -1
- package/dist/api/QKnob.json +1 -1
- package/dist/api/QLayout.json +1 -1
- package/dist/api/QLinearProgress.json +1 -1
- package/dist/api/QList.json +1 -1
- package/dist/api/QMarkupTable.json +1 -1
- package/dist/api/QMenu.json +1 -1
- package/dist/api/QNoSsr.json +1 -1
- package/dist/api/QOptionGroup.json +1 -1
- package/dist/api/QPage.json +1 -1
- package/dist/api/QPageScroller.json +1 -1
- package/dist/api/QPageSticky.json +1 -1
- package/dist/api/QPagination.json +1 -1
- package/dist/api/QParallax.json +1 -1
- package/dist/api/QPopupEdit.json +1 -1
- package/dist/api/QPopupProxy.json +1 -1
- package/dist/api/QPullToRefresh.json +1 -1
- package/dist/api/QRadio.json +1 -1
- package/dist/api/QRange.json +1 -1
- package/dist/api/QRating.json +1 -1
- package/dist/api/QResizeObserver.json +1 -1
- package/dist/api/QResponsive.json +1 -1
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QScrollArea.json +1 -1
- package/dist/api/QScrollObserver.json +1 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSkeleton.json +1 -1
- package/dist/api/QSlideItem.json +1 -1
- package/dist/api/QSlideTransition.json +1 -1
- package/dist/api/QSlider.json +1 -1
- package/dist/api/QSpinner.json +1 -1
- package/dist/api/QSpinnerAudio.json +1 -1
- package/dist/api/QSpinnerBall.json +1 -1
- package/dist/api/QSpinnerBars.json +1 -1
- package/dist/api/QSpinnerBox.json +1 -1
- package/dist/api/QSpinnerClock.json +1 -1
- package/dist/api/QSpinnerComment.json +1 -1
- package/dist/api/QSpinnerCube.json +1 -1
- package/dist/api/QSpinnerDots.json +1 -1
- package/dist/api/QSpinnerFacebook.json +1 -1
- package/dist/api/QSpinnerGears.json +1 -1
- package/dist/api/QSpinnerGrid.json +1 -1
- package/dist/api/QSpinnerHearts.json +1 -1
- package/dist/api/QSpinnerHourglass.json +1 -1
- package/dist/api/QSpinnerInfinity.json +1 -1
- package/dist/api/QSpinnerIos.json +1 -1
- package/dist/api/QSpinnerOrbit.json +1 -1
- package/dist/api/QSpinnerOval.json +1 -1
- package/dist/api/QSpinnerPie.json +1 -1
- package/dist/api/QSpinnerPuff.json +1 -1
- package/dist/api/QSpinnerRadio.json +1 -1
- package/dist/api/QSpinnerRings.json +1 -1
- package/dist/api/QSpinnerTail.json +1 -1
- package/dist/api/QSplitter.json +1 -1
- package/dist/api/QStep.json +1 -1
- package/dist/api/QStepper.json +1 -1
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTabPanel.json +1 -1
- package/dist/api/QTabPanels.json +1 -1
- package/dist/api/QTable.json +1 -1
- package/dist/api/QTabs.json +1 -1
- package/dist/api/QTd.json +1 -1
- package/dist/api/QTh.json +1 -1
- package/dist/api/QTime.json +1 -1
- package/dist/api/QTimeline.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTooltip.json +1 -1
- package/dist/api/QTr.json +1 -1
- package/dist/api/QTree.json +1 -1
- package/dist/api/QUploader.json +1 -1
- package/dist/api/QVideo.json +1 -1
- package/dist/api/QVirtualScroll.json +1 -1
- package/dist/api/Ripple.json +1 -1
- package/dist/api/Screen.json +1 -1
- package/dist/api/Scroll.json +1 -1
- package/dist/api/ScrollFire.json +1 -1
- package/dist/api/SessionStorage.json +1 -1
- package/dist/api/TouchHold.json +1 -1
- package/dist/api/TouchPan.json +1 -1
- package/dist/api/TouchRepeat.json +1 -1
- package/dist/api/TouchSwipe.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hi.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/kk.umd.prod.js +1 -1
- package/dist/lang/km.umd.prod.js +1 -1
- package/dist/lang/ko-KR.umd.prod.js +1 -1
- package/dist/lang/kur-CKB.umd.prod.js +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/mk.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms-MY.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tl.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +12 -12
- package/dist/quasar.css +53 -53
- package/dist/quasar.esm.js +82 -51
- package/dist/quasar.esm.prod.js +10 -10
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +65 -65
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +37 -37
- package/dist/quasar.umd.js +80 -50
- package/dist/quasar.umd.prod.js +6 -6
- package/dist/transforms/import-map.json +1 -1
- package/dist/types/composables.d.ts +5 -0
- package/dist/types/index.d.ts +325 -235
- package/dist/types/tsconfig.json +1 -1
- package/dist/vetur/quasar-attributes.json +1 -1
- package/dist/web-types/web-types.json +1 -1
- package/package.json +21 -44
- package/src/api-file-example.json +5 -5
- package/src/api.extends.json +18 -18
- package/src/body.js +1 -1
- package/src/components/ajax-bar/QAjaxBar.json +5 -5
- package/src/components/avatar/QAvatar.json +1 -1
- package/src/components/avatar/QAvatar.test.js +146 -0
- package/src/components/badge/QBadge.json +2 -2
- package/src/components/badge/QBadge.test.js +167 -0
- package/src/components/banner/QBanner.test.js +123 -0
- package/src/components/bar/QBar.test.js +55 -0
- package/src/components/breadcrumbs/QBreadcrumbs.json +7 -7
- package/src/components/breadcrumbs/QBreadcrumbs.test.js +123 -0
- package/src/components/breadcrumbs/QBreadcrumbsEl.json +4 -4
- package/src/components/breadcrumbs/QBreadcrumbsEl.test.js +134 -0
- package/src/components/btn/QBtn.js +1 -1
- package/src/components/btn/QBtn.json +1 -1
- package/src/components/btn/QBtn.test.js +350 -0
- package/src/components/btn/use-btn.json +13 -13
- package/src/components/btn/use-btn.test.js +590 -0
- package/src/components/btn-dropdown/QBtnDropdown.json +14 -14
- package/src/components/btn-toggle/QBtnToggle.json +6 -6
- package/src/components/card/QCard.json +2 -2
- package/src/components/card/QCardActions.json +3 -3
- package/src/components/card/QCardSection.json +2 -2
- package/src/components/carousel/QCarousel.json +9 -9
- package/src/components/carousel/QCarouselControl.json +5 -5
- package/src/components/carousel/QCarouselSlide.json +4 -7
- package/src/components/chat/QChatMessage.json +9 -9
- package/src/components/checkbox/use-checkbox.json +13 -13
- package/src/components/chip/QChip.js +1 -1
- package/src/components/chip/QChip.json +6 -8
- package/src/components/chip/QChip.test.js +534 -0
- package/src/components/circular-progress/QCircularProgress.json +8 -8
- package/src/components/color/QColor.js +2 -2
- package/src/components/color/QColor.json +8 -10
- package/src/components/date/QDate.json +31 -30
- package/src/components/date/use-datetime.json +3 -3
- package/src/components/dialog/QDialog.json +13 -13
- package/src/components/dialog/QDialog.test.js +390 -0
- package/src/components/dialog/test/DialogWrapper.vue +17 -0
- package/src/components/drawer/QDrawer.js +1 -1
- package/src/components/drawer/QDrawer.json +8 -12
- package/src/components/editor/QEditor.json +31 -45
- package/src/components/expansion-item/QExpansionItem.js +1 -1
- package/src/components/expansion-item/QExpansionItem.json +14 -14
- package/src/components/fab/QFab.json +4 -4
- package/src/components/fab/QFabAction.json +3 -5
- package/src/components/fab/use-fab.json +10 -12
- package/src/components/field/QField.json +5 -5
- package/src/components/file/QFile.json +9 -11
- package/src/components/footer/QFooter.js +1 -1
- package/src/components/footer/QFooter.json +3 -5
- package/src/components/form/QForm.json +1 -3
- package/src/components/form/QFormChildMixin.json +1 -3
- package/src/components/header/QHeader.json +4 -6
- package/src/components/icon/QIcon.json +2 -2
- package/src/components/img/QImg.js +1 -1
- package/src/components/img/QImg.json +45 -59
- package/src/components/infinite-scroll/QInfiniteScroll.json +3 -3
- package/src/components/inner-loading/QInnerLoading.json +5 -7
- package/src/components/input/QInput.json +10 -10
- package/src/components/input/use-mask.json +1 -1
- package/src/components/intersection/QIntersection.js +2 -2
- package/src/components/intersection/QIntersection.json +7 -7
- package/src/components/item/QItem.json +5 -5
- package/src/components/item/QList.json +2 -2
- package/src/components/knob/QKnob.js +1 -1
- package/src/components/knob/QKnob.json +6 -6
- package/src/components/layout/QLayout.js +1 -1
- package/src/components/layout/QLayout.json +3 -5
- package/src/components/linear-progress/QLinearProgress.json +2 -2
- package/src/components/markup-table/QMarkupTable.json +3 -3
- package/src/components/menu/QMenu.json +8 -8
- package/src/components/no-ssr/QNoSsr.json +3 -3
- package/src/components/option-group/QOptionGroup.json +11 -13
- package/src/components/page/QPage.json +2 -2
- package/src/components/page-scroller/QPageScroller.json +3 -3
- package/src/components/page-sticky/QPageSticky.json +4 -4
- package/src/components/pagination/QPagination.json +20 -20
- package/src/components/parallax/QParallax.json +5 -5
- package/src/components/popup-edit/QPopupEdit.json +17 -19
- package/src/components/popup-proxy/QPopupProxy.json +2 -2
- package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
- package/src/components/radio/QRadio.json +5 -5
- package/src/components/range/QRange.json +3 -7
- package/src/components/rating/QRating.json +16 -19
- package/src/components/resize-observer/QResizeObserver.json +2 -2
- package/src/components/scroll-area/QScrollArea.js +1 -1
- package/src/components/scroll-area/QScrollArea.json +12 -12
- package/src/components/scroll-observer/QScrollObserver.json +4 -4
- package/src/components/select/QSelect.js +0 -0
- package/src/components/select/QSelect.json +55 -59
- package/src/components/select/__tests__/QSelect.cy.js +21 -1
- package/src/components/separator/QSeparator.json +3 -5
- package/src/components/skeleton/QSkeleton.json +14 -16
- package/src/components/slide-item/QSlideItem.js +1 -1
- package/src/components/slide-item/QSlideItem.json +2 -2
- package/src/components/slide-transition/QSlideTransition.json +1 -1
- package/src/components/slider/QSlider.json +2 -4
- package/src/components/slider/use-slider.js +1 -1
- package/src/components/slider/use-slider.json +18 -22
- package/src/components/spinner/QSpinner.json +1 -1
- package/src/components/spinner/QSpinnerAudio.json +1 -1
- package/src/components/spinner/QSpinnerBall.json +1 -1
- package/src/components/spinner/QSpinnerBars.json +1 -1
- package/src/components/spinner/QSpinnerBox.json +1 -1
- package/src/components/spinner/QSpinnerClock.json +1 -1
- package/src/components/spinner/QSpinnerComment.json +1 -1
- package/src/components/spinner/QSpinnerCube.json +1 -1
- package/src/components/spinner/QSpinnerDots.json +1 -1
- package/src/components/spinner/QSpinnerFacebook.json +1 -1
- package/src/components/spinner/QSpinnerGears.json +1 -1
- package/src/components/spinner/QSpinnerGrid.json +1 -1
- package/src/components/spinner/QSpinnerHearts.json +1 -1
- package/src/components/spinner/QSpinnerHourglass.json +1 -1
- package/src/components/spinner/QSpinnerInfinity.json +1 -1
- package/src/components/spinner/QSpinnerIos.json +1 -1
- package/src/components/spinner/QSpinnerOrbit.json +1 -1
- package/src/components/spinner/QSpinnerOval.json +1 -1
- package/src/components/spinner/QSpinnerPie.json +1 -1
- package/src/components/spinner/QSpinnerPuff.json +1 -1
- package/src/components/spinner/QSpinnerRadio.json +1 -1
- package/src/components/spinner/QSpinnerRings.json +1 -1
- package/src/components/spinner/QSpinnerTail.json +1 -1
- package/src/components/splitter/QSplitter.js +1 -1
- package/src/components/splitter/QSplitter.json +14 -14
- package/src/components/stepper/QStep.json +4 -10
- package/src/components/stepper/QStepper.json +1 -3
- package/src/components/stepper/StepHeader.js +1 -1
- package/src/components/table/QTable.js +1 -1
- package/src/components/table/QTable.json +113 -126
- package/src/components/table/QTd.json +1 -1
- package/src/components/table/QTh.json +1 -1
- package/src/components/table/QTr.json +1 -1
- package/src/components/tabs/QRouteTab.json +1 -1
- package/src/components/tabs/QTab.json +6 -13
- package/src/components/tabs/QTabs.json +8 -8
- package/src/components/tabs/use-tab.js +1 -1
- package/src/components/time/QTime.js +1 -1
- package/src/components/time/QTime.json +10 -22
- package/src/components/timeline/QTimeline.json +4 -4
- package/src/components/timeline/QTimelineEntry.json +11 -11
- package/src/components/tooltip/QTooltip.json +17 -20
- package/src/components/tree/QTree.json +26 -26
- package/src/components/uploader/QUploader.json +4 -4
- package/src/components/uploader/xhr-uploader-plugin.json +12 -12
- package/src/components/video/QVideo.json +15 -19
- package/src/components/virtual-scroll/QVirtualScroll.json +7 -10
- package/src/components/virtual-scroll/use-virtual-scroll.json +9 -8
- package/src/composables/private/use-anchor.json +6 -6
- package/src/composables/private/use-field.json +8 -11
- package/src/composables/private/use-file.js +1 -1
- package/src/composables/private/use-file.json +6 -8
- package/src/composables/private/use-form.json +1 -1
- package/src/composables/private/use-form.test.js +93 -0
- package/src/composables/private/use-fullscreen.json +1 -3
- package/src/composables/private/use-key-composition.js +1 -1
- package/src/composables/private/use-panel.child.json +1 -3
- package/src/composables/private/use-panel.js +1 -1
- package/src/composables/private/use-panel.json +12 -12
- package/src/composables/private/use-portal.js +16 -1
- package/src/composables/private/use-ratio.json +4 -3
- package/src/composables/private/use-ratio.test.js +27 -0
- package/src/composables/private/use-router-link.json +6 -6
- package/src/composables/private/use-size.json +1 -1
- package/src/composables/private/use-size.test.js +22 -0
- package/src/composables/private/use-transition.json +3 -3
- package/src/composables/private/use-validate.json +6 -6
- package/src/composables/use-hydration.js +1 -1
- package/src/composables/use-id.js +1 -1
- package/src/composables/use-id.test.js +55 -0
- package/src/composables/use-interval.js +36 -0
- package/src/composables/use-meta.js +1 -1
- package/src/composables/use-timeout.js +4 -1
- package/src/composables.js +2 -0
- package/src/css/index.sass +6 -6
- package/src/directives/{ClosePopup.js → close-popup/ClosePopup.js} +4 -4
- package/src/directives/{ClosePopup.json → close-popup/ClosePopup.json} +5 -5
- package/src/directives/{Intersection.js → intersection/Intersection.js} +3 -3
- package/src/directives/{Intersection.json → intersection/Intersection.json} +4 -6
- package/src/directives/{Morph.js → morph/Morph.js} +2 -2
- package/src/directives/{Morph.json → morph/Morph.json} +20 -20
- package/src/directives/{Mutation.js → mutation/Mutation.js} +2 -2
- package/src/directives/{Mutation.json → mutation/Mutation.json} +10 -12
- package/src/directives/{Ripple.js → ripple/Ripple.js} +6 -6
- package/src/directives/{Ripple.json → ripple/Ripple.json} +7 -13
- package/src/directives/{Scroll.js → scroll/Scroll.js} +4 -4
- package/src/directives/{Scroll.json → scroll/Scroll.json} +2 -2
- package/src/directives/{ScrollFire.js → scroll-fire/ScrollFire.js} +6 -6
- package/src/directives/{ScrollFire.json → scroll-fire/ScrollFire.json} +1 -1
- package/src/directives/{TouchHold.js → touch-hold/TouchHold.js} +5 -5
- package/src/directives/{TouchHold.json → touch-hold/TouchHold.json} +6 -6
- package/src/directives/{TouchPan.js → touch-pan/TouchPan.js} +6 -6
- package/src/directives/{TouchPan.json → touch-pan/TouchPan.json} +4 -4
- package/src/directives/{TouchRepeat.js → touch-repeat/TouchRepeat.js} +6 -6
- package/src/directives/{TouchRepeat.json → touch-repeat/TouchRepeat.json} +4 -4
- package/src/directives/{TouchSwipe.js → touch-swipe/TouchSwipe.js} +6 -6
- package/src/directives/{TouchSwipe.json → touch-swipe/TouchSwipe.json} +4 -4
- package/src/directives.js +11 -11
- package/src/history.js +1 -1
- package/src/install-quasar.js +3 -3
- package/src/plugins/{AddressbarColor.js → addressbar/AddressbarColor.js} +3 -3
- package/src/plugins/{AddressbarColor.json → addressbar/AddressbarColor.json} +1 -1
- package/src/plugins/{AppFullscreen.js → app-fullscreen/AppFullscreen.js} +2 -2
- package/src/plugins/{AppVisibility.js → app-visibility/AppVisibility.js} +2 -2
- package/src/plugins/{BottomSheet.js → bottom-sheet/BottomSheet.js} +2 -2
- package/src/plugins/{BottomSheet.json → bottom-sheet/BottomSheet.json} +10 -10
- package/src/{components/dialog-bottom-sheet/BottomSheet.js → plugins/bottom-sheet/component/BottomSheetComponent.js} +10 -10
- package/src/plugins/{Cookies.json → cookies/Cookies.json} +14 -16
- package/src/plugins/{Dark.js → dark/Dark.js} +1 -1
- package/src/plugins/{Dark.json → dark/Dark.json} +3 -3
- package/src/plugins/{Dialog.js → dialog/Dialog.js} +2 -2
- package/src/plugins/{Dialog.json → dialog/Dialog.json} +15 -15
- package/src/{components/dialog-plugin/DialogPlugin.js → plugins/dialog/component/DialogPluginComponent.js} +14 -14
- package/src/plugins/{Loading.js → loading/Loading.js} +7 -6
- package/src/plugins/{Loading.json → loading/Loading.json} +15 -15
- package/src/plugins/{LoadingBar.js → loading-bar/LoadingBar.js} +6 -6
- package/src/plugins/{LoadingBar.json → loading-bar/LoadingBar.json} +1 -1
- package/src/plugins/{LocalStorage.js → local-storage/LocalStorage.js} +2 -2
- package/src/plugins/{Meta.js → meta/Meta.js} +2 -2
- package/src/plugins/{Notify.js → notify/Notify.js} +11 -10
- package/src/plugins/{Notify.json → notify/Notify.json} +52 -68
- package/src/plugins/{Platform.js → platform/Platform.js} +3 -9
- package/src/plugins/{Platform.json → platform/Platform.json} +6 -10
- package/src/plugins/{Screen.js → screen/Screen.js} +4 -4
- package/src/plugins/{Screen.json → screen/Screen.json} +6 -12
- package/src/plugins/{SessionStorage.js → session-storage/SessionStorage.js} +2 -2
- package/src/plugins.js +15 -15
- package/src/utils/create-meta-mixin.js +1 -1
- package/src/utils/open-url.js +1 -1
- package/src/utils/prevent-scroll.js +1 -1
- package/src/utils/private/escape-key.js +1 -1
- package/src/utils/private/focusout.js +1 -1
- package/src/utils/private/global-dialog.json +2 -2
- package/src/utils/private/position-engine.js +1 -1
- package/src/utils/private/selection.js +1 -1
- package/src/utils/private/web-storage.json +8 -10
- package/src/components/avatar/__tests__/QAvatar.cy.js +0 -120
- package/src/components/badge/__tests__/QBadge.cy.js +0 -148
- package/src/components/banner/__tests__/QBanner.cy.js +0 -106
- package/src/components/bar/__tests__/QBar.cy.js +0 -45
- package/src/components/breadcrumbs/__tests__/QBreadcrumbs.cy.js +0 -111
- package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.cy.js +0 -87
- package/src/components/btn/__tests__/QBtn.cy.js +0 -128
- package/src/components/btn/__tests__/use-btn.cy.js +0 -517
- package/src/components/chip/__tests__/QChip.cy.js +0 -480
- package/src/components/dialog/__tests__/DialogWrapper.vue +0 -33
- package/src/components/dialog/__tests__/QDialog.cy.js +0 -543
- package/src/components/tabs/__tests__/QRouteTab.cy.js +0 -9
- /package/src/components/breadcrumbs/{__tests__ → test}/BasicBreadcrumbs.vue +0 -0
- /package/src/components/breadcrumbs/{__tests__ → test}/BreadcrumbWithSeparatorSlot.vue +0 -0
- /package/src/components/spinner/{__spinner-mixin.json → spinner.json} +0 -0
- /package/src/directives/{Morph.sass → morph/Morph.sass} +0 -0
- /package/src/directives/{Ripple.sass → ripple/Ripple.sass} +0 -0
- /package/src/plugins/{AppFullscreen.json → app-fullscreen/AppFullscreen.json} +0 -0
- /package/src/plugins/{AppVisibility.json → app-visibility/AppVisibility.json} +0 -0
- /package/src/{components/dialog-bottom-sheet/BottomSheet.sass → plugins/bottom-sheet/component/BottomSheetComponent.sass} +0 -0
- /package/src/plugins/{Cookies.js → cookies/Cookies.js} +0 -0
- /package/src/{components/dialog-plugin/DialogPlugin.sass → plugins/dialog/component/DialogPluginComponent.sass} +0 -0
- /package/src/plugins/{Loading.sass → loading/Loading.sass} +0 -0
- /package/src/plugins/{LocalStorage.json → local-storage/LocalStorage.json} +0 -0
- /package/src/plugins/{Meta.json → meta/Meta.json} +0 -0
- /package/src/plugins/{Notify.sass → notify/Notify.sass} +0 -0
- /package/src/plugins/{SessionStorage.json → session-storage/SessionStorage.json} +0 -0
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"label": {
|
|
10
10
|
"type": "String",
|
|
11
11
|
"desc": "Label for the uploader",
|
|
12
|
-
"examples": ["Upload photo here"],
|
|
12
|
+
"examples": [ "'Upload photo here'" ],
|
|
13
13
|
"category": "content"
|
|
14
14
|
},
|
|
15
15
|
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"status": {
|
|
162
162
|
"type": "String",
|
|
163
163
|
"desc": "Status of file",
|
|
164
|
-
"values": [ "idle", "failed", "uploading", "uploaded" ],
|
|
164
|
+
"values": [ "'idle'", "'failed'", "'uploading'", "'uploaded'" ],
|
|
165
165
|
"required": true
|
|
166
166
|
},
|
|
167
167
|
"uploadedSize": {
|
|
@@ -227,13 +227,13 @@
|
|
|
227
227
|
"uploadSizeLabel": {
|
|
228
228
|
"type": "String",
|
|
229
229
|
"desc": "Label for the size total of all files",
|
|
230
|
-
"examples": [ "1.0MB" ]
|
|
230
|
+
"examples": [ "'1.0MB'" ]
|
|
231
231
|
},
|
|
232
232
|
|
|
233
233
|
"uploadProgressLabel": {
|
|
234
234
|
"type": "String",
|
|
235
235
|
"desc": "Label for the upload progress (in %)",
|
|
236
|
-
"examples": [ "52.76%" ]
|
|
236
|
+
"examples": [ "'52.76%'" ]
|
|
237
237
|
},
|
|
238
238
|
|
|
239
239
|
"canAddFiles": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"url": {
|
|
21
21
|
"type": [ "String", "Function" ],
|
|
22
22
|
"desc": "URL or path to the server which handles the upload. Takes String or factory function, which returns String. Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
23
|
-
"examples": [ "https://example.com/path", "files => `https://example.com?count=${files.length}`" ],
|
|
23
|
+
"examples": [ "'https://example.com/path'", "files => `https://example.com?count=${files.length}`" ],
|
|
24
24
|
"params": {
|
|
25
25
|
"files": {
|
|
26
26
|
"type": "Array",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
|
|
37
37
|
"method": {
|
|
38
38
|
"type": [ "String", "Function" ],
|
|
39
|
-
"default": "POST",
|
|
39
|
+
"default": "'POST'",
|
|
40
40
|
"desc": "HTTP method to use for upload; Takes String or factory function which returns a String; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
41
|
-
"values": [ "POST", "PUT" ],
|
|
42
|
-
"examples": [ "POST", "
|
|
41
|
+
"values": [ "'POST'", "'PUT'" ],
|
|
42
|
+
"examples": [ "'POST'", "files => (files.length > 10 ? 'POST' : 'PUT')" ],
|
|
43
43
|
"params": {
|
|
44
44
|
"files": {
|
|
45
45
|
"type": "Array",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
"desc": "Field name for each file upload; This goes into the following header: 'Content-Disposition: form-data; name=\"__HERE__\"; filename=\"somefile.png\"; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
59
59
|
"default": "(file) => file.name",
|
|
60
60
|
"examples": [
|
|
61
|
-
"backgroundFile",
|
|
62
|
-
"
|
|
61
|
+
"'backgroundFile'",
|
|
62
|
+
"(file) => ('background' + file.name)"
|
|
63
63
|
],
|
|
64
64
|
"params": {
|
|
65
65
|
"files": {
|
|
@@ -82,13 +82,13 @@
|
|
|
82
82
|
"type": "String",
|
|
83
83
|
"required": true,
|
|
84
84
|
"desc": "Header name",
|
|
85
|
-
"examples": [ "Content-Type", "Accept", "Cache-Control" ]
|
|
85
|
+
"examples": [ "'Content-Type'", "'Accept'", "'Cache-Control'" ]
|
|
86
86
|
},
|
|
87
87
|
"value": {
|
|
88
88
|
"type": "String",
|
|
89
89
|
"required": true,
|
|
90
90
|
"desc": "Header value",
|
|
91
|
-
"examples": [ "application/json", "no-cache" ]
|
|
91
|
+
"examples": [ "'application/json'", "'no-cache'" ]
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
94
|
"examples": [
|
|
@@ -117,13 +117,13 @@
|
|
|
117
117
|
"type": "String",
|
|
118
118
|
"required": true,
|
|
119
119
|
"desc": "Field name",
|
|
120
|
-
"examples": [ "Some field" ]
|
|
120
|
+
"examples": [ "'Some field'" ]
|
|
121
121
|
},
|
|
122
122
|
"value": {
|
|
123
123
|
"type": "String",
|
|
124
124
|
"required": true,
|
|
125
125
|
"desc": "Field value",
|
|
126
|
-
"examples": [ "some-value" ]
|
|
126
|
+
"examples": [ "'some-value'" ]
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
"examples": [
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"with-credentials": {
|
|
148
148
|
"type": [ "Boolean", "Function" ],
|
|
149
149
|
"desc": "Sets withCredentials to true on the XHR that manages the upload; Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
150
|
-
"examples": [ "
|
|
150
|
+
"examples": [ "true", "files => (files.length === 2)" ],
|
|
151
151
|
"params": {
|
|
152
152
|
"files": {
|
|
153
153
|
"type": "Array",
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"send-raw": {
|
|
165
165
|
"type": [ "Boolean", "Function" ],
|
|
166
166
|
"desc": "Send raw files without wrapping into a Form(); Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
|
|
167
|
-
"examples": [ "
|
|
167
|
+
"examples": [ "true", "files => (files.length > 2)" ],
|
|
168
168
|
"params": {
|
|
169
169
|
"files": {
|
|
170
170
|
"type": "Array",
|
|
@@ -10,9 +10,7 @@
|
|
|
10
10
|
"type": "String",
|
|
11
11
|
"desc": "The source url to display in an iframe",
|
|
12
12
|
"required": true,
|
|
13
|
-
"examples": [
|
|
14
|
-
"https://www.youtube.com/embed/k3_tw44QsZQ"
|
|
15
|
-
],
|
|
13
|
+
"examples": [ "'https://www.youtube.com/embed/k3_tw44QsZQ'" ],
|
|
16
14
|
"category": "model"
|
|
17
15
|
},
|
|
18
16
|
|
|
@@ -20,9 +18,7 @@
|
|
|
20
18
|
"type": "String",
|
|
21
19
|
"desc": "(Accessibility) Set the native 'title' attribute value of the inner iframe being used",
|
|
22
20
|
"required": false,
|
|
23
|
-
"examples": [
|
|
24
|
-
"My Daily Marathon"
|
|
25
|
-
],
|
|
21
|
+
"examples": [ "'My Daily Marathon'" ],
|
|
26
22
|
"category": "accessibility",
|
|
27
23
|
"addedIn": "v2.4.3"
|
|
28
24
|
},
|
|
@@ -30,8 +26,8 @@
|
|
|
30
26
|
"fetchpriority": {
|
|
31
27
|
"type": "String",
|
|
32
28
|
"desc": "Provides a hint of the relative priority to use when fetching the iframe document",
|
|
33
|
-
"default": "auto",
|
|
34
|
-
"values": [ "high", "low", "auto" ],
|
|
29
|
+
"default": "'auto'",
|
|
30
|
+
"values": [ "'high'", "'low'", "'auto'" ],
|
|
35
31
|
"category": "behavior",
|
|
36
32
|
"addedIn": "v2.6.6"
|
|
37
33
|
},
|
|
@@ -39,8 +35,8 @@
|
|
|
39
35
|
"loading": {
|
|
40
36
|
"type": "String",
|
|
41
37
|
"desc": "Indicates how the browser should load the iframe",
|
|
42
|
-
"default": "eager",
|
|
43
|
-
"values": [ "eager", "lazy" ],
|
|
38
|
+
"default": "'eager'",
|
|
39
|
+
"values": [ "'eager'", "'lazy'" ],
|
|
44
40
|
"category": "behavior",
|
|
45
41
|
"addedIn": "v2.6.6"
|
|
46
42
|
},
|
|
@@ -48,16 +44,16 @@
|
|
|
48
44
|
"referrerpolicy": {
|
|
49
45
|
"type": "String",
|
|
50
46
|
"desc": "Indicates which referrer to send when fetching the frame's resource",
|
|
51
|
-
"default": "strict-origin-when-cross-origin",
|
|
47
|
+
"default": "'strict-origin-when-cross-origin'",
|
|
52
48
|
"values": [
|
|
53
|
-
"no-referrer",
|
|
54
|
-
"no-referrer-when-downgrade",
|
|
55
|
-
"origin",
|
|
56
|
-
"origin-when-cross-origin",
|
|
57
|
-
"same-origin",
|
|
58
|
-
"strict-origin",
|
|
59
|
-
"strict-origin-when-cross-origin",
|
|
60
|
-
"unsafe-url"
|
|
49
|
+
"'no-referrer'",
|
|
50
|
+
"'no-referrer-when-downgrade'",
|
|
51
|
+
"'origin'",
|
|
52
|
+
"'origin-when-cross-origin'",
|
|
53
|
+
"'same-origin'",
|
|
54
|
+
"'strict-origin'",
|
|
55
|
+
"'strict-origin-when-cross-origin'",
|
|
56
|
+
"'unsafe-url'"
|
|
61
57
|
],
|
|
62
58
|
"category": "behavior",
|
|
63
59
|
"addedIn": "v2.6.6"
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"type": {
|
|
10
10
|
"type": "String",
|
|
11
11
|
"desc": "The type of content: list (default) or table",
|
|
12
|
-
"default": "list",
|
|
13
|
-
"values": [ "list", "table" ],
|
|
12
|
+
"default": "'list'",
|
|
13
|
+
"values": [ "'list'", "'table'" ],
|
|
14
14
|
"category": "content"
|
|
15
15
|
},
|
|
16
16
|
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"desc": "Available list items that will be passed to the scoped slot; For best performance freeze the list of items; Required if 'itemsFn' is not supplied",
|
|
20
20
|
"default": "[]",
|
|
21
21
|
"examples": [
|
|
22
|
-
"
|
|
23
|
-
"
|
|
22
|
+
"[ 'Tesla', 'iPhone' ]",
|
|
23
|
+
"[ { label: 'Tesla', value: 'car' }, { label: 'iPhone', value: 'phone' } ]"
|
|
24
24
|
],
|
|
25
25
|
"category": "content"
|
|
26
26
|
},
|
|
@@ -28,11 +28,8 @@
|
|
|
28
28
|
"items-size": {
|
|
29
29
|
"type": "Number",
|
|
30
30
|
"desc": "Number of available items in the list; Required and used only if 'itemsFn' is provided",
|
|
31
|
-
"default": "void 0",
|
|
32
|
-
"examples": [
|
|
33
|
-
":items-size=\"100000\"",
|
|
34
|
-
":items-size=\"500\""
|
|
35
|
-
],
|
|
31
|
+
"default": "# void 0",
|
|
32
|
+
"examples": [ "100000" ],
|
|
36
33
|
"category": "content"
|
|
37
34
|
},
|
|
38
35
|
|
|
@@ -54,7 +51,7 @@
|
|
|
54
51
|
"desc": "List of scope for items to be displayed"
|
|
55
52
|
},
|
|
56
53
|
"examples": [
|
|
57
|
-
"
|
|
54
|
+
"(from, size) => { const items = []; for (let i = 0; i < size; i++) { items.push('Item ' + i) }; return items }"
|
|
58
55
|
],
|
|
59
56
|
"category": "content"
|
|
60
57
|
},
|
|
@@ -10,28 +10,28 @@
|
|
|
10
10
|
"type": [ "Number", "String", "null" ],
|
|
11
11
|
"desc": "Minimum number of items to render in the virtual list",
|
|
12
12
|
"default": "30",
|
|
13
|
-
"examples": [ "
|
|
13
|
+
"examples": [ "60", "'60'" ],
|
|
14
14
|
"category": "virtual-scroll"
|
|
15
15
|
},
|
|
16
16
|
|
|
17
17
|
"virtual-scroll-slice-ratio-before": {
|
|
18
18
|
"type": [ "Number", "String" ],
|
|
19
19
|
"desc": "Ratio of number of items in visible zone to render before it",
|
|
20
|
-
"default": 1,
|
|
20
|
+
"default": "1",
|
|
21
21
|
"category": "virtual-scroll"
|
|
22
22
|
},
|
|
23
23
|
|
|
24
24
|
"virtual-scroll-slice-ratio-after": {
|
|
25
25
|
"type": [ "Number", "String" ],
|
|
26
26
|
"desc": "Ratio of number of items in visible zone to render after it",
|
|
27
|
-
"default": 1,
|
|
27
|
+
"default": "1",
|
|
28
28
|
"category": "virtual-scroll"
|
|
29
29
|
},
|
|
30
30
|
|
|
31
31
|
"virtual-scroll-item-size": {
|
|
32
32
|
"type": [ "Number", "String" ],
|
|
33
33
|
"desc": "Default size in pixels (height if vertical, width if horizontal) of an item; This value is used for rendering the initial list; Try to use a value close to the minimum size of an item",
|
|
34
|
-
"default": 24,
|
|
34
|
+
"default": "24",
|
|
35
35
|
"category": "virtual-scroll"
|
|
36
36
|
},
|
|
37
37
|
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"type": "String",
|
|
84
84
|
"required": true,
|
|
85
85
|
"desc": "Direction of change",
|
|
86
|
-
"values": [ "increase", "decrease" ]
|
|
86
|
+
"values": [ "'increase'", "'decrease'" ]
|
|
87
87
|
},
|
|
88
88
|
"ref": {
|
|
89
89
|
"type": "Component",
|
|
@@ -101,14 +101,14 @@
|
|
|
101
101
|
"desc": "Scroll the virtual scroll list to the item with the specified index (0 based)",
|
|
102
102
|
"params": {
|
|
103
103
|
"index": {
|
|
104
|
-
"type": [ "
|
|
104
|
+
"type": [ "Number", "String" ],
|
|
105
105
|
"desc": "The index of the list item (0 based)",
|
|
106
106
|
"required": true
|
|
107
107
|
},
|
|
108
108
|
"edge": {
|
|
109
109
|
"type": "String",
|
|
110
110
|
"desc": "The edge to align to if the item is not visible already (by default it aligns to end if scrolling towards the end and to start otherwise); If the '-force' version is used then it always aligns",
|
|
111
|
-
"values": [ "start", "center", "end", "start-force", "center-force", "end-force" ]
|
|
111
|
+
"values": [ "'start'", "'center'", "'end'", "'start-force'", "'center-force'", "'end-force'" ]
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
},
|
|
@@ -122,7 +122,8 @@
|
|
|
122
122
|
"params": {
|
|
123
123
|
"index": {
|
|
124
124
|
"type": [ "String", "Number" ],
|
|
125
|
-
"desc": "The index of the list item to scroll to after refresh (0 based); If it's not specified the scroll position is not changed; Use a negative value to keep scroll position"
|
|
125
|
+
"desc": "The index of the list item to scroll to after refresh (0 based); If it's not specified the scroll position is not changed; Use a negative value to keep scroll position",
|
|
126
|
+
"examples": [ "5" ]
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
"target": {
|
|
4
4
|
"type": [ "Boolean", "String", "Element" ],
|
|
5
5
|
"desc": "Configure a target element to trigger component toggle; 'true' means it enables the parent DOM element, 'false' means it disables attaching events to any DOM elements; By using a String (CSS selector) or a DOM element it attaches the events to the specified DOM element (if it exists)",
|
|
6
|
-
"default": true,
|
|
7
|
-
"values": [ "
|
|
6
|
+
"default": "true",
|
|
7
|
+
"values": [ "true", "false", "# CSS selector", "# DOM Element" ],
|
|
8
8
|
"examples": [
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"target
|
|
12
|
-
"target
|
|
9
|
+
"false",
|
|
10
|
+
".my-parent",
|
|
11
|
+
"#target-id",
|
|
12
|
+
"$refs.target"
|
|
13
13
|
],
|
|
14
14
|
"category": "behavior"
|
|
15
15
|
},
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"label": {
|
|
6
6
|
"type": "String",
|
|
7
7
|
"desc": "A text label that will “float” up above the input field, once the field gets focus",
|
|
8
|
-
"examples": [ "Username" ],
|
|
8
|
+
"examples": [ "'Username'" ],
|
|
9
9
|
"category": "content"
|
|
10
10
|
},
|
|
11
11
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"hint": {
|
|
19
19
|
"type": "String",
|
|
20
20
|
"desc": "Helper (hint) text which gets placed below your wrapped form component",
|
|
21
|
-
"examples": [ "Fill in between 3 and 12 characters" ],
|
|
21
|
+
"examples": [ "'Fill in between 3 and 12 characters'" ],
|
|
22
22
|
"category": "content"
|
|
23
23
|
},
|
|
24
24
|
|
|
@@ -31,14 +31,14 @@
|
|
|
31
31
|
"prefix": {
|
|
32
32
|
"type": "String",
|
|
33
33
|
"desc": "Prefix",
|
|
34
|
-
"examples": [ "$" ],
|
|
34
|
+
"examples": [ "'$'" ],
|
|
35
35
|
"category": "content"
|
|
36
36
|
},
|
|
37
37
|
|
|
38
38
|
"suffix": {
|
|
39
39
|
"type": "String",
|
|
40
40
|
"desc": "Suffix",
|
|
41
|
-
"examples": [ "@gmail.com" ],
|
|
41
|
+
"examples": [ "'@gmail.com'" ],
|
|
42
42
|
"category": "content"
|
|
43
43
|
},
|
|
44
44
|
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"clear-icon": {
|
|
75
75
|
"type": "String",
|
|
76
76
|
"desc": "Custom icon to use for the clear button when using along with 'clearable' prop",
|
|
77
|
-
"examples": [ "close" ],
|
|
77
|
+
"examples": [ "'close'" ],
|
|
78
78
|
"category": "content"
|
|
79
79
|
},
|
|
80
80
|
|
|
@@ -99,10 +99,7 @@
|
|
|
99
99
|
"standout": {
|
|
100
100
|
"type": [ "Boolean", "String" ],
|
|
101
101
|
"desc": "Use 'standout' design for the field; Specifies classes to be applied when focused (overriding default ones)",
|
|
102
|
-
"examples": [
|
|
103
|
-
"standout",
|
|
104
|
-
"standout=\"bg-primary text-white\""
|
|
105
|
-
],
|
|
102
|
+
"examples": [ "true", "'bg-primary text-white'" ],
|
|
106
103
|
"category": "style"
|
|
107
104
|
},
|
|
108
105
|
|
|
@@ -167,14 +164,14 @@
|
|
|
167
164
|
"for": {
|
|
168
165
|
"type": "String",
|
|
169
166
|
"desc": "Used to specify the 'id' of the control and also the 'for' attribute of the label that wraps it; If no 'name' prop is specified, then it is used for this attribute as well",
|
|
170
|
-
"examples": [ "myFieldsId" ],
|
|
167
|
+
"examples": [ "'myFieldsId'" ],
|
|
171
168
|
"category": "behavior"
|
|
172
169
|
},
|
|
173
170
|
|
|
174
171
|
"name": {
|
|
175
172
|
"type": "String",
|
|
176
173
|
"desc": "Used to specify the name of the control; Useful if dealing with forms; If not specified, it takes the value of 'for' prop, if it exists",
|
|
177
|
-
"examples": [ "car_id" ],
|
|
174
|
+
"examples": [ "'car_id'" ],
|
|
178
175
|
"category": "behavior"
|
|
179
176
|
}
|
|
180
177
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, ref, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
|
-
import { client } from '../../plugins/Platform.js'
|
|
3
|
+
import { client } from '../../plugins/platform/Platform.js'
|
|
4
4
|
import { stop, stopAndPrevent } from '../../utils/event.js'
|
|
5
5
|
|
|
6
6
|
function filterFiles (files, rejectedFiles, failedPropValidation, filterFn) {
|
|
@@ -9,23 +9,21 @@
|
|
|
9
9
|
"accept": {
|
|
10
10
|
"type": "String",
|
|
11
11
|
"desc": "Comma separated list of unique file type specifiers. Maps to 'accept' attribute of native input type=file element",
|
|
12
|
-
"examples": [
|
|
13
|
-
".jpg, .pdf, image/*", "image/jpeg, .pdf"
|
|
14
|
-
],
|
|
12
|
+
"examples": [ "'.jpg, .pdf, image/*'", "'image/jpeg, .pdf'" ],
|
|
15
13
|
"category": "behavior"
|
|
16
14
|
},
|
|
17
15
|
|
|
18
16
|
"capture": {
|
|
19
17
|
"type": "String",
|
|
20
18
|
"desc": "Optionally, specify that a new file should be captured, and which device should be used to capture that new media of a type defined by the 'accept' prop. Maps to 'capture' attribute of native input type=file element",
|
|
21
|
-
"values": [ "user", "environment" ],
|
|
19
|
+
"values": [ "'user'", "'environment'" ],
|
|
22
20
|
"category": "behavior"
|
|
23
21
|
},
|
|
24
22
|
|
|
25
23
|
"max-file-size": {
|
|
26
24
|
"type": [ "Number", "String" ],
|
|
27
25
|
"desc": "Maximum size of individual file in bytes",
|
|
28
|
-
"examples": [ 1024, 1048576 ],
|
|
26
|
+
"examples": [ "1024", "'1048576'" ],
|
|
29
27
|
"category": "behavior"
|
|
30
28
|
},
|
|
31
29
|
|
|
@@ -46,7 +44,7 @@
|
|
|
46
44
|
"desc": "Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline",
|
|
47
45
|
"params": {
|
|
48
46
|
"files": {
|
|
49
|
-
"type": [ "
|
|
47
|
+
"type": [ "Array", "FileList" ],
|
|
50
48
|
"desc": "Candidate files to be added to queue"
|
|
51
49
|
}
|
|
52
50
|
},
|
|
@@ -54,7 +52,7 @@
|
|
|
54
52
|
"type": "Array",
|
|
55
53
|
"desc": "Filtered files to be added to queue"
|
|
56
54
|
},
|
|
57
|
-
"examples": [ "
|
|
55
|
+
"examples": [ "files => files.filter(file => file.size === 1024)" ],
|
|
58
56
|
"category": "behavior"
|
|
59
57
|
}
|
|
60
58
|
},
|
|
@@ -86,7 +84,7 @@
|
|
|
86
84
|
"desc": "Add files programmatically",
|
|
87
85
|
"params": {
|
|
88
86
|
"files": {
|
|
89
|
-
"type": [ "
|
|
87
|
+
"type": [ "Array", "FileList" ],
|
|
90
88
|
"desc": "Array of files (instances of File)",
|
|
91
89
|
"required": true
|
|
92
90
|
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { describe, test, expect } from 'vitest'
|
|
2
|
+
import { computed } from 'vue'
|
|
3
|
+
|
|
4
|
+
import { useFormAttrs, useFormInject, useFormInputNameAttr } from './use-form.js'
|
|
5
|
+
|
|
6
|
+
describe('[useForm API]', () => {
|
|
7
|
+
describe('useForm', () => {
|
|
8
|
+
test('useForm(props)', () => {
|
|
9
|
+
const { value: result } = useFormAttrs({
|
|
10
|
+
name: 'MyName',
|
|
11
|
+
modelValue: 'MyModelValue'
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
expect(result).toBeTruthy()
|
|
15
|
+
expect(result.name).toBe('MyName')
|
|
16
|
+
expect(result.value).toBe('MyModelValue')
|
|
17
|
+
})
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
describe('useFormInputNameAttr', () => {
|
|
21
|
+
test('useFormInputNameAttr()', () => {
|
|
22
|
+
const fn = useFormInject()
|
|
23
|
+
|
|
24
|
+
expect(typeof fn).toBe('function')
|
|
25
|
+
|
|
26
|
+
const acc = []
|
|
27
|
+
fn(acc, 'push')
|
|
28
|
+
fn(acc, 'push', ' MyClassName')
|
|
29
|
+
|
|
30
|
+
expect(acc.length).toBe(2)
|
|
31
|
+
|
|
32
|
+
expect(acc[ 0 ].type).toBe('input')
|
|
33
|
+
expect(Object.keys(acc[ 0 ].props).length).toBe(1)
|
|
34
|
+
expect(acc[ 0 ].props.class).toBe('hidden')
|
|
35
|
+
|
|
36
|
+
expect(acc[ 1 ].type).toBe('input')
|
|
37
|
+
expect(Object.keys(acc[ 1 ].props).length).toBe(1)
|
|
38
|
+
expect(acc[ 1 ].props.class).toBe('hidden MyClassName')
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
test('useFormInputNameAttr(formAttrs)', () => {
|
|
42
|
+
const fn = useFormInject(
|
|
43
|
+
computed(() => ({
|
|
44
|
+
myAttr: 'MyAttrValue'
|
|
45
|
+
}))
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
const acc = []
|
|
49
|
+
|
|
50
|
+
fn(acc, 'push')
|
|
51
|
+
fn(acc, 'push', ' MyClassName')
|
|
52
|
+
|
|
53
|
+
expect(acc.length).toBe(2)
|
|
54
|
+
|
|
55
|
+
expect(acc[ 0 ].type).toBe('input')
|
|
56
|
+
expect(Object.keys(acc[ 0 ].props).length).toBe(2)
|
|
57
|
+
expect(acc[ 0 ].props.class).toBe('hidden')
|
|
58
|
+
expect(acc[ 0 ].props.myAttr).toBe('MyAttrValue')
|
|
59
|
+
|
|
60
|
+
expect(acc[ 1 ].type).toBe('input')
|
|
61
|
+
expect(Object.keys(acc[ 1 ].props).length).toBe(2)
|
|
62
|
+
expect(acc[ 1 ].props.class).toBe('hidden MyClassName')
|
|
63
|
+
expect(acc[ 1 ].props.myAttr).toBe('MyAttrValue')
|
|
64
|
+
})
|
|
65
|
+
})
|
|
66
|
+
|
|
67
|
+
describe('useFormInputNameAttr', () => {
|
|
68
|
+
test('useFormInputNameAttr({ name })', () => {
|
|
69
|
+
const { value: result } = useFormInputNameAttr({
|
|
70
|
+
name: 'MyName'
|
|
71
|
+
})
|
|
72
|
+
|
|
73
|
+
expect(result).toBe('MyName')
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
test('useFormInputNameAttr({ for })', () => {
|
|
77
|
+
const { value: result } = useFormInputNameAttr({
|
|
78
|
+
for: 'MyFor'
|
|
79
|
+
})
|
|
80
|
+
|
|
81
|
+
expect(result).toBe('MyFor')
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
test('useFormInputNameAttr({ name, for })', () => {
|
|
85
|
+
const { value: result } = useFormInputNameAttr({
|
|
86
|
+
name: 'MyName',
|
|
87
|
+
for: 'MyFor'
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
expect(result).toBe('MyName')
|
|
91
|
+
})
|
|
92
|
+
})
|
|
93
|
+
})
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { client } from '../../plugins/Platform.js'
|
|
1
|
+
import { client } from '../../plugins/platform/Platform.js'
|
|
2
2
|
|
|
3
3
|
const isJapanese = /[\u3000-\u303f\u3040-\u309f\u30a0-\u30ff\uff00-\uff9f\u4e00-\u9faf\u3400-\u4dbf]/
|
|
4
4
|
const isChinese = /[\u4e00-\u9fff\u3400-\u4dbf\u{20000}-\u{2a6df}\u{2a700}-\u{2b73f}\u{2b740}-\u{2b81f}\u{2b820}-\u{2ceaf}\uf900-\ufaff\u3300-\u33ff\ufe30-\ufe4f\uf900-\ufaff\u{2f800}-\u{2fa1f}]/u
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { h, ref, computed, watch, nextTick, getCurrentInstance, Transition, KeepAlive } from 'vue'
|
|
2
2
|
|
|
3
|
-
import TouchSwipe from '../../directives/TouchSwipe.js'
|
|
3
|
+
import TouchSwipe from '../../directives/touch-swipe/TouchSwipe.js'
|
|
4
4
|
|
|
5
5
|
import useRenderCache from '../../composables/use-render-cache.js'
|
|
6
6
|
|