quasar 2.2.0 → 2.2.4
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/QOptionGroup.json +36 -1
- package/dist/api/QRange.json +10 -3
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSlider.json +10 -3
- package/dist/api/QTable.json +5 -0
- package/dist/api/QTree.json +6 -0
- 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/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/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/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-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.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-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.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.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.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/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/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/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/ml.umd.prod.js +1 -1
- package/dist/lang/ms.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/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/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/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 +2 -2
- package/dist/quasar.css +51 -8
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +118 -8
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +43 -6
- package/dist/quasar.umd.js +341 -289
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +28 -8
- package/dist/vetur/quasar-attributes.json +10 -6
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +19 -11
- package/package.json +1 -1
- package/src/components/ajax-bar/QAjaxBar.js +3 -2
- package/src/components/avatar/QAvatar.js +3 -2
- package/src/components/badge/QBadge.js +3 -2
- package/src/components/banner/QBanner.js +3 -2
- package/src/components/bar/QBar.js +3 -2
- package/src/components/breadcrumbs/QBreadcrumbs.js +3 -2
- package/src/components/breadcrumbs/QBreadcrumbsEl.js +3 -2
- package/src/components/btn/QBtn.js +19 -21
- package/src/components/btn-dropdown/QBtnDropdown.js +3 -2
- package/src/components/btn-group/QBtnGroup.js +3 -2
- package/src/components/btn-toggle/QBtnToggle.js +3 -2
- package/src/components/card/QCard.js +3 -2
- package/src/components/card/QCardActions.js +3 -2
- package/src/components/card/QCardSection.js +3 -2
- package/src/components/carousel/QCarousel.js +3 -2
- package/src/components/carousel/QCarouselControl.js +3 -2
- package/src/components/carousel/QCarouselSlide.js +3 -2
- package/src/components/chat/QChatMessage.js +3 -2
- package/src/components/checkbox/QCheckbox.js +3 -2
- package/src/components/chip/QChip.js +3 -2
- package/src/components/circular-progress/QCircularProgress.js +3 -2
- package/src/components/color/QColor.js +3 -2
- package/src/components/date/QDate.js +5 -3
- package/src/components/dialog/QDialog.js +3 -2
- package/src/components/dialog-bottom-sheet/BottomSheet.js +3 -2
- package/src/components/dialog-plugin/DialogPlugin.js +3 -2
- package/src/components/drawer/QDrawer.js +6 -2
- package/src/components/editor/QEditor.js +3 -2
- package/src/components/expansion-item/QExpansionItem.js +3 -2
- package/src/components/fab/QFab.js +3 -2
- package/src/components/fab/QFabAction.js +3 -2
- package/src/components/field/QField.js +3 -3
- package/src/components/file/QFile.js +3 -2
- package/src/components/footer/QFooter.js +3 -2
- package/src/components/form/QForm.js +3 -2
- package/src/components/header/QHeader.js +3 -2
- package/src/components/icon/QIcon.js +4 -2
- package/src/components/img/QImg.js +5 -2
- package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
- package/src/components/inner-loading/QInnerLoading.js +3 -2
- package/src/components/input/QInput.js +3 -2
- package/src/components/intersection/QIntersection.js +3 -2
- package/src/components/item/QItem.js +3 -2
- package/src/components/item/QItemLabel.js +3 -2
- package/src/components/item/QItemSection.js +3 -2
- package/src/components/item/QList.js +3 -3
- package/src/components/knob/QKnob.js +3 -2
- package/src/components/layout/QLayout.js +3 -2
- package/src/components/linear-progress/QLinearProgress.js +3 -2
- package/src/components/markup-table/QMarkupTable.js +3 -2
- package/src/components/menu/QMenu.js +4 -3
- package/src/components/no-ssr/QNoSsr.js +3 -2
- package/src/components/option-group/QOptionGroup.js +4 -2
- package/src/components/option-group/QOptionGroup.json +24 -1
- package/src/components/page/QPage.js +3 -2
- package/src/components/page/QPageContainer.js +3 -2
- package/src/components/page-scroller/QPageScroller.js +4 -2
- package/src/components/page-sticky/QPageSticky.js +2 -3
- package/src/components/pagination/QPagination.js +3 -2
- package/src/components/parallax/QParallax.js +3 -2
- package/src/components/popup-edit/QPopupEdit.js +3 -2
- package/src/components/popup-proxy/QPopupProxy.js +4 -2
- package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
- package/src/components/radio/QRadio.js +3 -2
- package/src/components/range/QRange.js +4 -3
- package/src/components/range/QRange.json +7 -3
- package/src/components/rating/QRating.js +6 -5
- package/src/components/resize-observer/QResizeObserver.js +3 -2
- package/src/components/responsive/QResponsive.js +3 -2
- package/src/components/scroll-area/QScrollArea.js +3 -2
- package/src/components/scroll-observer/QScrollObserver.js +3 -2
- package/src/components/select/QSelect.js +11 -20
- package/src/components/separator/QSeparator.js +4 -2
- package/src/components/separator/QSeparator.json +1 -1
- package/src/components/skeleton/QSkeleton.js +3 -2
- package/src/components/slide-item/QSlideItem.js +3 -2
- package/src/components/slide-transition/QSlideTransition.js +4 -2
- package/src/components/slider/QSlider.js +4 -3
- package/src/components/slider/QSlider.json +7 -3
- package/src/components/slider/use-slider.js +7 -2
- package/src/components/space/QSpace.js +4 -2
- package/src/components/spinner/QSpinner.js +4 -2
- package/src/components/spinner/QSpinnerAudio.js +4 -2
- package/src/components/spinner/QSpinnerBall.js +4 -2
- package/src/components/spinner/QSpinnerBars.js +4 -2
- package/src/components/spinner/QSpinnerBox.js +4 -2
- package/src/components/spinner/QSpinnerClock.js +4 -2
- package/src/components/spinner/QSpinnerComment.js +4 -2
- package/src/components/spinner/QSpinnerCube.js +4 -2
- package/src/components/spinner/QSpinnerDots.js +4 -2
- package/src/components/spinner/QSpinnerFacebook.js +4 -2
- package/src/components/spinner/QSpinnerGears.js +4 -2
- package/src/components/spinner/QSpinnerGrid.js +4 -2
- package/src/components/spinner/QSpinnerHearts.js +4 -2
- package/src/components/spinner/QSpinnerHourglass.js +4 -2
- package/src/components/spinner/QSpinnerInfinity.js +4 -2
- package/src/components/spinner/QSpinnerIos.js +4 -2
- package/src/components/spinner/QSpinnerOrbit.js +4 -2
- package/src/components/spinner/QSpinnerOval.js +4 -2
- package/src/components/spinner/QSpinnerPie.js +4 -2
- package/src/components/spinner/QSpinnerPuff.js +4 -2
- package/src/components/spinner/QSpinnerRadio.js +4 -2
- package/src/components/spinner/QSpinnerRings.js +4 -2
- package/src/components/spinner/QSpinnerTail.js +4 -2
- package/src/components/splitter/QSplitter.js +3 -2
- package/src/components/stepper/QStep.js +3 -2
- package/src/components/stepper/QStepper.js +3 -2
- package/src/components/stepper/QStepperNavigation.js +3 -2
- package/src/components/stepper/StepHeader.js +12 -10
- package/src/components/tab-panels/QTabPanel.js +4 -2
- package/src/components/tab-panels/QTabPanels.js +3 -2
- package/src/components/table/QTable.js +4 -2
- package/src/components/table/QTable.json +1 -0
- package/src/components/table/QTd.js +3 -2
- package/src/components/table/QTh.js +3 -2
- package/src/components/table/QTr.js +3 -2
- package/src/components/tabs/QRouteTab.js +4 -2
- package/src/components/tabs/QTab.js +3 -3
- package/src/components/tabs/QTabs.js +4 -3
- package/src/components/tabs/use-tab.js +11 -9
- package/src/components/time/QTime.js +9 -9
- package/src/components/timeline/QTimeline.js +3 -2
- package/src/components/timeline/QTimelineEntry.js +3 -2
- package/src/components/toggle/QToggle.js +5 -2
- package/src/components/toolbar/QToolbar.js +3 -2
- package/src/components/toolbar/QToolbarTitle.js +3 -2
- package/src/components/tooltip/QTooltip.js +3 -2
- package/src/components/tree/QTree.js +12 -7
- package/src/components/tree/QTree.json +5 -0
- package/src/components/tree/QTree.sass +52 -4
- package/src/components/uploader/QUploaderAddTrigger.js +3 -2
- package/src/components/uploader/uploader-core.js +2 -7
- package/src/components/video/QVideo.js +4 -2
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
- package/src/composables/private/use-file.js +8 -0
- package/src/composables/private/use-model-toggle.js +1 -1
- package/src/css/normalize.sass +0 -7
- package/src/directives/ClosePopup.js +3 -1
- package/src/directives/Intersection.js +3 -1
- package/src/directives/Morph.js +4 -1
- package/src/directives/Mutation.js +3 -1
- package/src/directives/Ripple.js +3 -1
- package/src/directives/Scroll.js +3 -1
- package/src/directives/ScrollFire.js +3 -1
- package/src/directives/TouchHold.js +4 -1
- package/src/directives/TouchPan.js +4 -1
- package/src/directives/TouchRepeat.js +4 -1
- package/src/directives/TouchSwipe.js +4 -1
- package/src/plugins/Notify.js +4 -3
- package/src/utils/create-uploader-component.js +3 -3
- package/src/utils/date.js +94 -61
- package/src/utils/private/create.js +4 -0
|
@@ -14,7 +14,30 @@
|
|
|
14
14
|
|
|
15
15
|
"options": {
|
|
16
16
|
"type": "Array",
|
|
17
|
-
"desc": "Array of objects with value and
|
|
17
|
+
"desc": "Array of objects with value, label, and disable (optional) props. The binary components will be created according to this array; Props from QToggle, QCheckbox or QRadio can also be added as key/value pairs to control the components singularly",
|
|
18
|
+
"definition": {
|
|
19
|
+
"label": {
|
|
20
|
+
"type": "String",
|
|
21
|
+
"desc": "Label to display along the component",
|
|
22
|
+
"required": true,
|
|
23
|
+
"examples": [ "Option 1", "Option 2", "Option 3" ]
|
|
24
|
+
},
|
|
25
|
+
"value": {
|
|
26
|
+
"type": "Any",
|
|
27
|
+
"desc": "Value of the option that will be used by the component model",
|
|
28
|
+
"required": true,
|
|
29
|
+
"examples": [ "op1", "op2", "op3" ]
|
|
30
|
+
},
|
|
31
|
+
"disable": {
|
|
32
|
+
"type": "Boolean",
|
|
33
|
+
"desc": "If true, the option will be disabled"
|
|
34
|
+
},
|
|
35
|
+
"...props": {
|
|
36
|
+
"type": "Any",
|
|
37
|
+
"desc": "Any other props from QToggle, QCheckbox, or QRadio",
|
|
38
|
+
"examples": [ "val=\"car\"", ":true-value=\"trueValue\"", "checked-icon=\"visibility\"" ]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
18
41
|
"examples": [
|
|
19
42
|
":options=\"[ { label: 'Option 1', value: 'op1' }, { label: 'Option 2', value: 'op2' }, { label: 'Option 3', value: 'op3', disable: true } ]\""
|
|
20
43
|
],
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, inject, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { hSlot } from '../../utils/private/render.js'
|
|
4
5
|
import { pageContainerKey, layoutKey } from '../../utils/private/symbols.js'
|
|
5
6
|
|
|
6
|
-
export default
|
|
7
|
+
export default createComponent({
|
|
7
8
|
name: 'QPage',
|
|
8
9
|
|
|
9
10
|
props: {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, provide, inject, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { hSlot } from '../../utils/private/render.js'
|
|
4
5
|
import { pageContainerKey, layoutKey } from '../../utils/private/symbols.js'
|
|
5
6
|
|
|
6
|
-
export default
|
|
7
|
+
export default createComponent({
|
|
7
8
|
name: 'QPageContainer',
|
|
8
9
|
|
|
9
10
|
setup (_, { slots }) {
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, onBeforeUnmount, getCurrentInstance, Transition } from 'vue'
|
|
2
2
|
|
|
3
3
|
import usePageSticky, { usePageStickyProps } from '../page-sticky/use-page-sticky.js'
|
|
4
4
|
import { getScrollTarget, setVerticalScrollPosition } from '../../utils/scroll.js'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
7
|
+
|
|
8
|
+
export default createComponent({
|
|
7
9
|
name: 'QPageScroller',
|
|
8
10
|
|
|
9
11
|
props: {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
2
|
import usePageSticky, { usePageStickyProps } from './use-page-sticky'
|
|
4
3
|
|
|
5
|
-
export default
|
|
4
|
+
export default createComponent({
|
|
6
5
|
name: 'QPageSticky',
|
|
7
6
|
|
|
8
7
|
props: usePageStickyProps,
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, watch, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QBtn from '../btn/QBtn.js'
|
|
4
4
|
import QInput from '../input/QInput.js'
|
|
5
5
|
|
|
6
6
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
7
7
|
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
8
9
|
import { between } from '../../utils/format.js'
|
|
9
10
|
import { isKeyCode } from '../../utils/private/key-composition.js'
|
|
10
11
|
|
|
11
|
-
export default
|
|
12
|
+
export default createComponent({
|
|
12
13
|
name: 'QPagination',
|
|
13
14
|
|
|
14
15
|
props: {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, watch, onMounted, onBeforeUnmount } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { height, offset } from '../../utils/dom.js'
|
|
4
5
|
import frameDebounce from '../../utils/frame-debounce.js'
|
|
5
6
|
import { getScrollTarget } from '../../utils/scroll.js'
|
|
@@ -8,7 +9,7 @@ import { listenOpts } from '../../utils/event.js'
|
|
|
8
9
|
|
|
9
10
|
const { passive } = listenOpts
|
|
10
11
|
|
|
11
|
-
export default
|
|
12
|
+
export default createComponent({
|
|
12
13
|
name: 'QParallax',
|
|
13
14
|
|
|
14
15
|
props: {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, nextTick, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QMenu from '../menu/QMenu.js'
|
|
4
4
|
import QBtn from '../btn/QBtn.js'
|
|
5
5
|
|
|
6
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
7
|
import clone from '../../utils/clone.js'
|
|
7
8
|
import { isDeepEqual } from '../../utils/private/is.js'
|
|
8
9
|
|
|
9
|
-
export default
|
|
10
|
+
export default createComponent({
|
|
10
11
|
name: 'QPopupEdit',
|
|
11
12
|
|
|
12
13
|
props: {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QDialog from '../dialog/QDialog.js'
|
|
4
4
|
import QMenu from '../menu/QMenu.js'
|
|
5
5
|
|
|
6
6
|
import useAnchor, { useAnchorProps } from '../../composables/private/use-anchor.js'
|
|
7
|
+
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
7
9
|
import { hSlot } from '../../utils/private/render.js'
|
|
8
10
|
|
|
9
|
-
export default
|
|
11
|
+
export default createComponent({
|
|
10
12
|
name: 'QPopupProxy',
|
|
11
13
|
|
|
12
14
|
props: {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
import QSpinner from '../spinner/QSpinner.js'
|
|
5
5
|
import TouchPan from '../../directives/TouchPan.js'
|
|
6
6
|
|
|
7
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
7
8
|
import { getScrollTarget, getVerticalScrollPosition } from '../../utils/scroll.js'
|
|
8
9
|
import { between } from '../../utils/format.js'
|
|
9
10
|
import { prevent } from '../../utils/event.js'
|
|
@@ -13,7 +14,7 @@ const
|
|
|
13
14
|
PULLER_HEIGHT = 40,
|
|
14
15
|
OFFSET_TOP = 20
|
|
15
16
|
|
|
16
|
-
export default
|
|
17
|
+
export default createComponent({
|
|
17
18
|
name: 'QPullToRefresh',
|
|
18
19
|
|
|
19
20
|
props: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
import useSize, { useSizeProps } from '../../composables/private/use-size.js'
|
|
5
5
|
import useRefocusTarget from '../../composables/private/use-refocus-target.js'
|
|
6
6
|
import { useFormProps, useFormInject } from '../../composables/private/use-form.js'
|
|
7
7
|
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
8
9
|
import optionSizes from '../../utils/private/option-sizes.js'
|
|
9
10
|
import { stopAndPrevent } from '../../utils/event.js'
|
|
10
11
|
import { hSlot, hMergeSlot } from '../../utils/private/render.js'
|
|
@@ -24,7 +25,7 @@ const svg = h('svg', {
|
|
|
24
25
|
})
|
|
25
26
|
])
|
|
26
27
|
|
|
27
|
-
export default
|
|
28
|
+
export default createComponent({
|
|
28
29
|
name: 'QRadio',
|
|
29
30
|
|
|
30
31
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { useFormInject, useFormProps } from '../../composables/private/use-form.js'
|
|
4
4
|
|
|
@@ -10,6 +10,7 @@ import useSlider, {
|
|
|
10
10
|
keyCodes
|
|
11
11
|
} from '../slider/use-slider.js'
|
|
12
12
|
|
|
13
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
13
14
|
import { stopAndPrevent } from '../../utils/event.js'
|
|
14
15
|
import { between } from '../../utils/format.js'
|
|
15
16
|
import { hDir } from '../../utils/private/render.js'
|
|
@@ -20,7 +21,7 @@ const dragType = {
|
|
|
20
21
|
MAX: 2
|
|
21
22
|
}
|
|
22
23
|
|
|
23
|
-
export default
|
|
24
|
+
export default createComponent({
|
|
24
25
|
name: 'QRange',
|
|
25
26
|
|
|
26
27
|
props: {
|
|
@@ -488,7 +489,7 @@ export default defineComponent({
|
|
|
488
489
|
})
|
|
489
490
|
]
|
|
490
491
|
|
|
491
|
-
props.markers
|
|
492
|
+
props.markers !== false && track.push(
|
|
492
493
|
h('div', {
|
|
493
494
|
class: `q-slider__track-markers q-slider__track-markers${ state.axis.value } absolute-full fit`,
|
|
494
495
|
style: state.markerStyle.value
|
|
@@ -144,9 +144,13 @@
|
|
|
144
144
|
},
|
|
145
145
|
|
|
146
146
|
"markers": {
|
|
147
|
-
"type": "Boolean",
|
|
148
|
-
"desc": "Display markers on the track, one for each possible value for the model",
|
|
149
|
-
"category": "content"
|
|
147
|
+
"type": [ "Boolean", "Number" ],
|
|
148
|
+
"desc": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)",
|
|
149
|
+
"category": "content",
|
|
150
|
+
"examples": [
|
|
151
|
+
"markers",
|
|
152
|
+
":markers=\"5\""
|
|
153
|
+
]
|
|
150
154
|
},
|
|
151
155
|
|
|
152
156
|
"snap": {
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, onBeforeUpdate, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
|
|
5
|
+
import useSize, { useSizeProps } from '../../composables/private/use-size.js'
|
|
6
|
+
import { useFormProps, useFormAttrs, useFormInject } from '../../composables/private/use-form.js'
|
|
7
|
+
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
5
9
|
import { stopAndPrevent } from '../../utils/event.js'
|
|
6
10
|
import { between } from '../../utils/format.js'
|
|
7
11
|
import { hMergeSlot } from '../../utils/private/render.js'
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
import { useFormProps, useFormAttrs, useFormInject } from '../../composables/private/use-form.js'
|
|
11
|
-
|
|
12
|
-
export default defineComponent({
|
|
13
|
+
export default createComponent({
|
|
13
14
|
name: 'QRating',
|
|
14
15
|
|
|
15
16
|
props: {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, onMounted, onBeforeUnmount, getCurrentInstance, nextTick } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useCanRender from '../../composables/private/use-can-render.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
5
6
|
import { listenOpts, noop } from '../../utils/event.js'
|
|
6
7
|
|
|
7
8
|
const hasObserver = typeof ResizeObserver !== 'undefined'
|
|
@@ -12,7 +13,7 @@ const resizeProps = hasObserver === true
|
|
|
12
13
|
url: 'about:blank'
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
export default
|
|
16
|
+
export default createComponent({
|
|
16
17
|
name: 'QResizeObserver',
|
|
17
18
|
|
|
18
19
|
props: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { h
|
|
1
|
+
import { h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
5
6
|
import { hSlot } from '../../utils/private/render.js'
|
|
6
7
|
|
|
7
|
-
export default
|
|
8
|
+
export default createComponent({
|
|
8
9
|
name: 'QResponsive',
|
|
9
10
|
|
|
10
11
|
props: useRatioProps,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, withDirectives, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
|
|
@@ -7,6 +7,7 @@ import QScrollObserver from '../scroll-observer/QScrollObserver.js'
|
|
|
7
7
|
|
|
8
8
|
import TouchPan from '../../directives/TouchPan.js'
|
|
9
9
|
|
|
10
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
10
11
|
import { between } from '../../utils/format.js'
|
|
11
12
|
import { setVerticalScrollPosition, setHorizontalScrollPosition } from '../../utils/scroll.js'
|
|
12
13
|
import { hMergeSlot } from '../../utils/private/render.js'
|
|
@@ -18,7 +19,7 @@ const dirProps = {
|
|
|
18
19
|
horizontal: { offset: 'offsetX', scroll: 'scrollLeft', dir: 'right', dist: 'x' }
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
export default
|
|
22
|
+
export default createComponent({
|
|
22
23
|
name: 'QScrollArea',
|
|
23
24
|
|
|
24
25
|
props: {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { watch, onMounted, onBeforeUnmount, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { getScrollTarget, getVerticalScrollPosition, getHorizontalScrollPosition } from '../../utils/scroll.js'
|
|
4
5
|
import { listenOpts, noop } from '../../utils/event.js'
|
|
5
6
|
|
|
6
7
|
const { passive } = listenOpts
|
|
7
8
|
const axisValues = [ 'both', 'horizontal', 'vertical' ]
|
|
8
9
|
|
|
9
|
-
export default
|
|
10
|
+
export default createComponent({
|
|
10
11
|
name: 'QScrollObserver',
|
|
11
12
|
|
|
12
13
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, onBeforeUpdate, onUpdated, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QField from '../field/QField.js'
|
|
4
4
|
import QIcon from '../icon/QIcon.js'
|
|
@@ -16,6 +16,7 @@ import { useVirtualScroll, useVirtualScrollProps } from '../virtual-scroll/use-v
|
|
|
16
16
|
import { useFormProps, useFormInputNameAttr } from '../../composables/private/use-form.js'
|
|
17
17
|
import useKeyComposition from '../../composables/private/use-key-composition.js'
|
|
18
18
|
|
|
19
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
19
20
|
import { isDeepEqual } from '../../utils/private/is.js'
|
|
20
21
|
import { stop, prevent, stopAndPrevent } from '../../utils/event.js'
|
|
21
22
|
import { normalizeToInterval } from '../../utils/format.js'
|
|
@@ -26,7 +27,7 @@ const validateNewValueMode = v => [ 'add', 'add-unique', 'toggle' ].includes(v)
|
|
|
26
27
|
const reEscapeList = '.*+?^${}()|[]\\'
|
|
27
28
|
const fieldPropsList = Object.keys(useFieldProps)
|
|
28
29
|
|
|
29
|
-
export default
|
|
30
|
+
export default createComponent({
|
|
30
31
|
name: 'QSelect',
|
|
31
32
|
|
|
32
33
|
inheritAttrs: false,
|
|
@@ -932,6 +933,12 @@ export default defineComponent({
|
|
|
932
933
|
}
|
|
933
934
|
|
|
934
935
|
function getAllOptions () {
|
|
936
|
+
if (noOptions.value === true) {
|
|
937
|
+
return slots[ 'no-option' ] !== void 0
|
|
938
|
+
? slots[ 'no-option' ]({ inputValue: inputValue.value })
|
|
939
|
+
: void 0
|
|
940
|
+
}
|
|
941
|
+
|
|
935
942
|
const fn = slots.option !== void 0
|
|
936
943
|
? slots.option
|
|
937
944
|
: scope => {
|
|
@@ -1113,14 +1120,6 @@ export default defineComponent({
|
|
|
1113
1120
|
}
|
|
1114
1121
|
|
|
1115
1122
|
function getMenu () {
|
|
1116
|
-
const child = noOptions.value === true
|
|
1117
|
-
? (
|
|
1118
|
-
slots[ 'no-option' ] !== void 0
|
|
1119
|
-
? () => slots[ 'no-option' ]({ inputValue: inputValue.value })
|
|
1120
|
-
: void 0
|
|
1121
|
-
)
|
|
1122
|
-
: getAllOptions
|
|
1123
|
-
|
|
1124
1123
|
return h(QMenu, {
|
|
1125
1124
|
ref: menuRef,
|
|
1126
1125
|
class: menuContentClass.value,
|
|
@@ -1145,7 +1144,7 @@ export default defineComponent({
|
|
|
1145
1144
|
onBeforeShow: onControlPopupShow,
|
|
1146
1145
|
onBeforeHide: onMenuBeforeHide,
|
|
1147
1146
|
onShow: onMenuShow
|
|
1148
|
-
},
|
|
1147
|
+
}, getAllOptions)
|
|
1149
1148
|
}
|
|
1150
1149
|
|
|
1151
1150
|
function onMenuBeforeHide (e) {
|
|
@@ -1202,15 +1201,7 @@ export default defineComponent({
|
|
|
1202
1201
|
...listboxAttrs.value,
|
|
1203
1202
|
onClick: prevent,
|
|
1204
1203
|
onScrollPassive: onVirtualScrollEvt
|
|
1205
|
-
}, (
|
|
1206
|
-
noOptions.value === true
|
|
1207
|
-
? (
|
|
1208
|
-
slots[ 'no-option' ] !== void 0
|
|
1209
|
-
? slots[ 'no-option' ]({ inputValue: inputValue.value })
|
|
1210
|
-
: null
|
|
1211
|
-
)
|
|
1212
|
-
: getAllOptions()
|
|
1213
|
-
))
|
|
1204
|
+
}, getAllOptions())
|
|
1214
1205
|
)
|
|
1215
1206
|
|
|
1216
1207
|
return h(QDialog, {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
|
+
|
|
5
7
|
const insetMap = {
|
|
6
8
|
true: 'inset',
|
|
7
9
|
item: 'item-inset',
|
|
@@ -16,7 +18,7 @@ export const margins = {
|
|
|
16
18
|
xl: 24
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
export default
|
|
21
|
+
export default createComponent({
|
|
20
22
|
name: 'QSeparator',
|
|
21
23
|
|
|
22
24
|
props: {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
|
|
21
21
|
"inset": {
|
|
22
22
|
"type": [ "Boolean", "String" ],
|
|
23
|
-
"desc": "
|
|
23
|
+
"desc": "If set to Boolean true, the left and right margins will be set to 16px. If set to 'item' then it will match a QItem's design. If set to 'item-thumbnail' then it will match the design of a QItem with a thumbnail on the left side",
|
|
24
24
|
"examples": [ "item", "item-thumbnail" ],
|
|
25
25
|
"category": "content"
|
|
26
26
|
},
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
5
6
|
import { hSlot } from '../../utils/private/render.js'
|
|
6
7
|
|
|
7
8
|
export const skeletonTypes = [
|
|
@@ -16,7 +17,7 @@ export const skeletonAnimations = [
|
|
|
16
17
|
'wave', 'pulse', 'pulse-x', 'pulse-y', 'fade', 'blink', 'none'
|
|
17
18
|
]
|
|
18
19
|
|
|
19
|
-
export default
|
|
20
|
+
export default createComponent({
|
|
20
21
|
name: 'QSkeleton',
|
|
21
22
|
|
|
22
23
|
props: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, withDirectives, onBeforeUnmount, onBeforeUpdate, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import TouchPan from '../../directives/TouchPan.js'
|
|
4
4
|
|
|
5
5
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
6
6
|
import useCache from '../../composables/private/use-cache.js'
|
|
7
7
|
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
8
9
|
import { hSlot } from '../../utils/private/render.js'
|
|
9
10
|
|
|
10
11
|
const slotsDef = [
|
|
@@ -14,7 +15,7 @@ const slotsDef = [
|
|
|
14
15
|
[ 'bottom', 'end', 'center', 'height' ]
|
|
15
16
|
]
|
|
16
17
|
|
|
17
|
-
export default
|
|
18
|
+
export default createComponent({
|
|
18
19
|
name: 'QSlideItem',
|
|
19
20
|
|
|
20
21
|
props: {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, onBeforeUnmount, Transition } from 'vue'
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
4
|
+
|
|
5
|
+
export default createComponent({
|
|
4
6
|
name: 'QSlideTransition',
|
|
5
7
|
|
|
6
8
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { useFormInject, useFormProps, useFormAttrs } from '../../composables/private/use-form.js'
|
|
4
4
|
|
|
@@ -10,11 +10,12 @@ import useSlider, {
|
|
|
10
10
|
keyCodes
|
|
11
11
|
} from './use-slider.js'
|
|
12
12
|
|
|
13
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
13
14
|
import { between } from '../../utils/format.js'
|
|
14
15
|
import { stopAndPrevent } from '../../utils/event.js'
|
|
15
16
|
import { hDir } from '../../utils/private/render.js'
|
|
16
17
|
|
|
17
|
-
export default
|
|
18
|
+
export default createComponent({
|
|
18
19
|
name: 'QSlider',
|
|
19
20
|
|
|
20
21
|
props: {
|
|
@@ -206,7 +207,7 @@ export default defineComponent({
|
|
|
206
207
|
})
|
|
207
208
|
]
|
|
208
209
|
|
|
209
|
-
props.markers
|
|
210
|
+
props.markers !== false && track.push(
|
|
210
211
|
h('div', {
|
|
211
212
|
class: `q-slider__track-markers q-slider__track-markers${ state.axis.value } absolute-full fit`,
|
|
212
213
|
style: state.markerStyle.value
|
|
@@ -83,9 +83,13 @@
|
|
|
83
83
|
},
|
|
84
84
|
|
|
85
85
|
"markers": {
|
|
86
|
-
"type": "Boolean",
|
|
87
|
-
"desc": "Display markers on the track, one for each possible value for the model",
|
|
88
|
-
"category": "content"
|
|
86
|
+
"type": [ "Boolean", "Number" ],
|
|
87
|
+
"desc": "Display markers on the track, one for each possible value for the model or using a custom step (when specifying a Number)",
|
|
88
|
+
"category": "content",
|
|
89
|
+
"examples": [
|
|
90
|
+
"markers",
|
|
91
|
+
":markers=\"5\""
|
|
92
|
+
]
|
|
89
93
|
},
|
|
90
94
|
|
|
91
95
|
"snap": {
|
|
@@ -6,6 +6,7 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
|
6
6
|
|
|
7
7
|
import { between } from '../../utils/format.js'
|
|
8
8
|
import { position } from '../../utils/event.js'
|
|
9
|
+
import { isNumber } from '../../utils/private/is.js'
|
|
9
10
|
|
|
10
11
|
// PGDOWN, LEFT, DOWN, PGUP, RIGHT, UP
|
|
11
12
|
export const keyCodes = [ 34, 37, 40, 33, 39, 38 ]
|
|
@@ -60,7 +61,7 @@ export const useSliderProps = {
|
|
|
60
61
|
|
|
61
62
|
label: Boolean,
|
|
62
63
|
labelAlways: Boolean,
|
|
63
|
-
markers: Boolean,
|
|
64
|
+
markers: [ Boolean, Number ],
|
|
64
65
|
snap: Boolean,
|
|
65
66
|
|
|
66
67
|
vertical: Boolean,
|
|
@@ -113,9 +114,13 @@ export default function ({ updateValue, updatePosition, getDragging }) {
|
|
|
113
114
|
const step = computed(() => (props.step === 0 ? 1 : props.step))
|
|
114
115
|
const minMaxDiff = computed(() => props.max - props.min)
|
|
115
116
|
|
|
117
|
+
const markerStep = computed(() => (
|
|
118
|
+
isNumber(props.markers) === true ? props.markers : step.value)
|
|
119
|
+
)
|
|
120
|
+
|
|
116
121
|
const markerStyle = computed(() => {
|
|
117
122
|
if (minMaxDiff.value !== 0) {
|
|
118
|
-
const size = 100 *
|
|
123
|
+
const size = 100 * markerStep.value / minMaxDiff.value
|
|
119
124
|
|
|
120
125
|
return {
|
|
121
126
|
backgroundSize: props.vertical === true
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { h
|
|
1
|
+
import { h } from 'vue'
|
|
2
|
+
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
2
4
|
|
|
3
5
|
const space = h('div', { class: 'q-space' })
|
|
4
6
|
|
|
5
|
-
export default
|
|
7
|
+
export default createComponent({
|
|
6
8
|
name: 'QSpace',
|
|
7
9
|
|
|
8
10
|
setup () {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { h
|
|
1
|
+
import { h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useSpinner, { useSpinnerProps } from './use-spinner.js'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
|
+
|
|
7
|
+
export default createComponent({
|
|
6
8
|
name: 'QSpinner',
|
|
7
9
|
|
|
8
10
|
props: {
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { h
|
|
1
|
+
import { h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useSpinner, { useSpinnerProps } from './use-spinner.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
|
+
|
|
5
7
|
const svg = [
|
|
6
8
|
h('g', {
|
|
7
9
|
transform: 'matrix(1 0 0 -1 0 80)'
|
|
@@ -68,7 +70,7 @@ const svg = [
|
|
|
68
70
|
])
|
|
69
71
|
]
|
|
70
72
|
|
|
71
|
-
export default
|
|
73
|
+
export default createComponent({
|
|
72
74
|
name: 'QSpinnerAudio',
|
|
73
75
|
|
|
74
76
|
props: useSpinnerProps,
|