quasar 2.1.9 → 2.2.3
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/QCarousel.json +19 -5
- package/dist/api/QColor.json +6 -0
- package/dist/api/QInnerLoading.json +32 -0
- package/dist/api/QOptionGroup.json +58 -1
- package/dist/api/QRange.json +10 -3
- package/dist/api/QSeparator.json +1 -1
- package/dist/api/QSkeleton.json +14 -0
- package/dist/api/QSlider.json +10 -3
- package/dist/api/QStepper.json +16 -2
- package/dist/api/QTabPanels.json +16 -2
- package/dist/api/QTable.json +5 -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 +6 -0
- 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 +2 -2
- 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 +24 -23
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +29 -28
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +24 -18
- package/dist/quasar.umd.js +538 -391
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +81 -12
- package/dist/vetur/quasar-attributes.json +39 -7
- package/dist/vetur/quasar-tags.json +9 -1
- package/dist/web-types/web-types.json +101 -15
- package/lang/index.json +4 -0
- package/lang/lt.js +103 -0
- package/lang/ug.js +42 -42
- 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 +11 -3
- package/src/components/carousel/QCarousel.json +9 -1
- 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 +76 -63
- package/src/components/color/QColor.json +7 -0
- package/src/components/color/QColor.sass +5 -1
- package/src/components/date/QDate.js +5 -3
- package/src/components/dialog/QDialog.js +9 -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 +34 -9
- package/src/components/inner-loading/QInnerLoading.json +29 -0
- package/src/components/inner-loading/QInnerLoading.sass +4 -0
- 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 +33 -21
- package/src/components/option-group/QOptionGroup.json +50 -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 +65 -44
- package/src/components/rating/QRating.sass +8 -6
- 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 +3 -2
- package/src/components/separator/QSeparator.js +4 -2
- package/src/components/separator/QSeparator.json +1 -1
- package/src/components/skeleton/QSkeleton.js +18 -7
- package/src/components/skeleton/QSkeleton.json +9 -0
- package/src/components/skeleton/QSkeleton.sass +7 -6
- 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 +3 -2
- package/src/components/tabs/use-tab.js +11 -9
- package/src/components/time/QTime.js +3 -4
- 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 +3 -2
- package/src/components/uploader/QUploaderAddTrigger.js +3 -2
- package/src/components/video/QVideo.js +4 -2
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -2
- package/src/composables/private/use-panel.js +13 -8
- package/src/composables/private/use-panel.json +11 -2
- package/src/css/core/transitions.sass +4 -4
- 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 +93 -60
- package/src/utils/private/create.js +4 -0
|
@@ -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,14 +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 { stopAndPrevent } from '../../utils/event.js'
|
|
6
|
-
import { between } from '../../utils/format.js'
|
|
7
|
-
|
|
8
5
|
import useSize, { useSizeProps } from '../../composables/private/use-size.js'
|
|
9
6
|
import { useFormProps, useFormAttrs, useFormInject } from '../../composables/private/use-form.js'
|
|
10
7
|
|
|
11
|
-
|
|
8
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
9
|
+
import { stopAndPrevent } from '../../utils/event.js'
|
|
10
|
+
import { between } from '../../utils/format.js'
|
|
11
|
+
import { hMergeSlot } from '../../utils/private/render.js'
|
|
12
|
+
|
|
13
|
+
export default createComponent({
|
|
12
14
|
name: 'QRating',
|
|
13
15
|
|
|
14
16
|
props: {
|
|
@@ -94,6 +96,51 @@ export default defineComponent({
|
|
|
94
96
|
}
|
|
95
97
|
})
|
|
96
98
|
|
|
99
|
+
const stars = computed(() => {
|
|
100
|
+
const
|
|
101
|
+
acc = [],
|
|
102
|
+
icons = iconData.value,
|
|
103
|
+
ceil = Math.ceil(props.modelValue)
|
|
104
|
+
|
|
105
|
+
const halfIndex = props.iconHalf === void 0 || ceil === props.modelValue
|
|
106
|
+
? -1
|
|
107
|
+
: ceil
|
|
108
|
+
|
|
109
|
+
for (let i = 1; i <= props.max; i++) {
|
|
110
|
+
const
|
|
111
|
+
active = (mouseModel.value === 0 && props.modelValue >= i) || (mouseModel.value > 0 && mouseModel.value >= i),
|
|
112
|
+
half = halfIndex === i && mouseModel.value < i,
|
|
113
|
+
exSelected = mouseModel.value > 0 && (half === true ? ceil : props.modelValue) >= i && mouseModel.value < i,
|
|
114
|
+
color = half === true
|
|
115
|
+
? (i <= icons.halfColorLen ? props.colorHalf[ i - 1 ] : icons.halfColor)
|
|
116
|
+
: (
|
|
117
|
+
icons.selColor !== void 0 && active === true
|
|
118
|
+
? (i <= icons.selColorLen ? props.colorSelected[ i - 1 ] : icons.selColor)
|
|
119
|
+
: (i <= icons.colorLen ? props.color[ i - 1 ] : icons.color)
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
acc.push({
|
|
123
|
+
name: (
|
|
124
|
+
half === true
|
|
125
|
+
? (i <= icons.halfIconLen ? props.iconHalf[ i - 1 ] : icons.halfIcon)
|
|
126
|
+
: (
|
|
127
|
+
icons.selIcon !== void 0 && (active === true || exSelected === true)
|
|
128
|
+
? (i <= icons.selIconLen ? props.iconSelected[ i - 1 ] : icons.selIcon)
|
|
129
|
+
: (i <= icons.iconLen ? props.icon[ i - 1 ] : icons.icon)
|
|
130
|
+
)
|
|
131
|
+
) || $q.iconSet.rating.icon,
|
|
132
|
+
|
|
133
|
+
classes: 'q-rating__icon'
|
|
134
|
+
+ (active === true || half === true ? ' q-rating__icon--active' : '')
|
|
135
|
+
+ (exSelected === true ? ' q-rating__icon--exselected' : '')
|
|
136
|
+
+ (mouseModel.value === i ? ' q-rating__icon--hovered' : '')
|
|
137
|
+
+ (color !== void 0 ? ` text-${ color }` : '')
|
|
138
|
+
})
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
return acc
|
|
142
|
+
})
|
|
143
|
+
|
|
97
144
|
const attributes = computed(() => {
|
|
98
145
|
if (props.disable === true) {
|
|
99
146
|
return { 'aria-disabled': 'true' }
|
|
@@ -103,6 +150,8 @@ export default defineComponent({
|
|
|
103
150
|
}
|
|
104
151
|
})
|
|
105
152
|
|
|
153
|
+
const tabindex = computed(() => (editable.value === true ? 0 : null))
|
|
154
|
+
|
|
106
155
|
function set (value) {
|
|
107
156
|
if (editable.value === true) {
|
|
108
157
|
const
|
|
@@ -150,57 +199,29 @@ export default defineComponent({
|
|
|
150
199
|
})
|
|
151
200
|
|
|
152
201
|
return () => {
|
|
153
|
-
const
|
|
154
|
-
child = [],
|
|
155
|
-
tabindex = editable.value === true ? 0 : null,
|
|
156
|
-
icons = iconData.value,
|
|
157
|
-
ceil = Math.ceil(props.modelValue)
|
|
202
|
+
const child = []
|
|
158
203
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
: ceil
|
|
162
|
-
|
|
163
|
-
for (let i = 1; i <= props.max; i++) {
|
|
164
|
-
const
|
|
165
|
-
active = (mouseModel.value === 0 && props.modelValue >= i) || (mouseModel.value > 0 && mouseModel.value >= i),
|
|
166
|
-
half = halfIndex === i && mouseModel.value < i,
|
|
167
|
-
exSelected = mouseModel.value > 0 && (half === true ? ceil : props.modelValue) >= i && mouseModel.value < i,
|
|
168
|
-
name = half === true
|
|
169
|
-
? (i <= icons.halfIconLen ? props.iconHalf[ i - 1 ] : icons.halfIcon)
|
|
170
|
-
: (
|
|
171
|
-
icons.selIcon !== void 0 && (active === true || exSelected === true)
|
|
172
|
-
? (i <= icons.selIconLen ? props.iconSelected[ i - 1 ] : icons.selIcon)
|
|
173
|
-
: (i <= icons.iconLen ? props.icon[ i - 1 ] : icons.icon)
|
|
174
|
-
),
|
|
175
|
-
color = half === true
|
|
176
|
-
? (i <= icons.halfColorLen ? props.colorHalf[ i - 1 ] : icons.halfColor)
|
|
177
|
-
: (
|
|
178
|
-
icons.selColor !== void 0 && active === true
|
|
179
|
-
? (i <= icons.selColorLen ? props.colorSelected[ i - 1 ] : icons.selColor)
|
|
180
|
-
: (i <= icons.colorLen ? props.color[ i - 1 ] : icons.color)
|
|
181
|
-
),
|
|
182
|
-
classes = 'q-rating__icon'
|
|
183
|
-
+ (active === true || half === true ? ' q-rating__icon--active' : '')
|
|
184
|
-
+ (exSelected === true ? ' q-rating__icon--exselected' : '')
|
|
185
|
-
+ (mouseModel.value === i ? ' q-rating__icon--hovered' : '')
|
|
186
|
-
+ (color !== void 0 ? ` text-${ color }` : '')
|
|
204
|
+
stars.value.forEach(({ classes, name }, index) => {
|
|
205
|
+
const i = index + 1
|
|
187
206
|
|
|
188
207
|
child.push(
|
|
189
|
-
h(
|
|
208
|
+
h('div', {
|
|
190
209
|
key: i,
|
|
191
210
|
ref: vm => { iconRefs[ `rt${ i }` ] = vm },
|
|
192
|
-
class:
|
|
193
|
-
|
|
194
|
-
tabindex,
|
|
211
|
+
class: 'q-rating__icon-container flex flex-center',
|
|
212
|
+
tabindex: tabindex.value,
|
|
195
213
|
onClick () { set(i) },
|
|
196
214
|
onMouseover () { setHoverValue(i) },
|
|
197
215
|
onMouseout: resetMouseModel,
|
|
198
216
|
onFocus () { setHoverValue(i) },
|
|
199
217
|
onBlur: resetMouseModel,
|
|
200
218
|
onKeyup (e) { onKeyup(e, i) }
|
|
201
|
-
},
|
|
219
|
+
}, hMergeSlot(
|
|
220
|
+
slots[ `tip-${ i }` ],
|
|
221
|
+
[ h(QIcon, { class: classes, name }) ]
|
|
222
|
+
))
|
|
202
223
|
)
|
|
203
|
-
}
|
|
224
|
+
})
|
|
204
225
|
|
|
205
226
|
if (props.name !== void 0 && props.disable !== true) {
|
|
206
227
|
injectFormInput(child, 'push')
|
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
color: $rating-grade-color
|
|
3
3
|
vertical-align: middle
|
|
4
4
|
|
|
5
|
+
&__icon-container
|
|
6
|
+
height: 1em
|
|
7
|
+
outline: 0
|
|
8
|
+
|
|
9
|
+
& + &
|
|
10
|
+
margin-left: 2px
|
|
11
|
+
|
|
5
12
|
&__icon
|
|
6
13
|
color: currentColor
|
|
7
14
|
text-shadow: $rating-shadow
|
|
@@ -17,13 +24,8 @@
|
|
|
17
24
|
&--exselected
|
|
18
25
|
opacity: .7
|
|
19
26
|
|
|
20
|
-
& + &
|
|
21
|
-
margin-left: 2px
|
|
22
|
-
|
|
23
27
|
&--no-dimming .q-rating__icon
|
|
24
28
|
opacity: 1
|
|
25
29
|
|
|
26
|
-
&--editable .q-
|
|
30
|
+
&--editable .q-rating__icon-container
|
|
27
31
|
cursor: pointer
|
|
28
|
-
&--non-editable span, .q-icon
|
|
29
|
-
outline: 0
|
|
@@ -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,
|
|
@@ -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: {
|
|
@@ -38,6 +39,10 @@ export default defineComponent({
|
|
|
38
39
|
validator: v => skeletonAnimations.includes(v),
|
|
39
40
|
default: 'wave'
|
|
40
41
|
},
|
|
42
|
+
animationSpeed: {
|
|
43
|
+
type: [ String, Number ],
|
|
44
|
+
default: 1500
|
|
45
|
+
},
|
|
41
46
|
|
|
42
47
|
square: Boolean,
|
|
43
48
|
bordered: Boolean,
|
|
@@ -51,11 +56,17 @@ export default defineComponent({
|
|
|
51
56
|
const vm = getCurrentInstance()
|
|
52
57
|
const isDark = useDark(props, vm.proxy.$q)
|
|
53
58
|
|
|
54
|
-
const style = computed(() =>
|
|
55
|
-
props.size !== void 0
|
|
56
|
-
?
|
|
57
|
-
:
|
|
58
|
-
|
|
59
|
+
const style = computed(() => {
|
|
60
|
+
const size = props.size !== void 0
|
|
61
|
+
? [ props.size, props.size ]
|
|
62
|
+
: [ props.width, props.height ]
|
|
63
|
+
|
|
64
|
+
return {
|
|
65
|
+
'--q-skeleton-speed': `${ props.animationSpeed }ms`,
|
|
66
|
+
width: size[ 0 ],
|
|
67
|
+
height: size[ 1 ]
|
|
68
|
+
}
|
|
69
|
+
})
|
|
59
70
|
|
|
60
71
|
const classes = computed(() =>
|
|
61
72
|
`q-skeleton q-skeleton--${ isDark.value === true ? 'dark' : 'light' } q-skeleton--type-${ props.type }`
|
|
@@ -32,6 +32,15 @@
|
|
|
32
32
|
"category": "style"
|
|
33
33
|
},
|
|
34
34
|
|
|
35
|
+
"animation-speed": {
|
|
36
|
+
"type": [ "String", "Number" ],
|
|
37
|
+
"desc": "Animation speed (in milliseconds, without unit)",
|
|
38
|
+
"default": 300,
|
|
39
|
+
"examples": [ 500, "1200" ],
|
|
40
|
+
"category": "style",
|
|
41
|
+
"addedIn": "v2.2"
|
|
42
|
+
},
|
|
43
|
+
|
|
35
44
|
"square": {
|
|
36
45
|
"extends": "square"
|
|
37
46
|
},
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
.q-skeleton
|
|
2
|
+
--q-skeleton-speed: 1500ms
|
|
2
3
|
background: $separator-color
|
|
3
4
|
border-radius: $generic-border-radius
|
|
4
5
|
|
|
@@ -58,14 +59,14 @@
|
|
|
58
59
|
border-radius: 0
|
|
59
60
|
|
|
60
61
|
&--anim-fade
|
|
61
|
-
animation: q-skeleton--fade
|
|
62
|
+
animation: q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite
|
|
62
63
|
|
|
63
64
|
&--anim-pulse
|
|
64
|
-
animation: q-skeleton--pulse
|
|
65
|
+
animation: q-skeleton--pulse var(--q-skeleton-speed) ease-in-out .5s infinite
|
|
65
66
|
&--anim-pulse-x
|
|
66
|
-
animation: q-skeleton--pulse-x
|
|
67
|
+
animation: q-skeleton--pulse-x var(--q-skeleton-speed) ease-in-out .5s infinite
|
|
67
68
|
&--anim-pulse-y
|
|
68
|
-
animation: q-skeleton--pulse-y
|
|
69
|
+
animation: q-skeleton--pulse-y var(--q-skeleton-speed) ease-in-out .5s infinite
|
|
69
70
|
|
|
70
71
|
&--anim-wave,
|
|
71
72
|
&--anim-blink,
|
|
@@ -84,10 +85,10 @@
|
|
|
84
85
|
|
|
85
86
|
&--anim-blink:after
|
|
86
87
|
background: rgba(255,255,255,.7)
|
|
87
|
-
animation: q-skeleton--fade
|
|
88
|
+
animation: q-skeleton--fade var(--q-skeleton-speed) linear .5s infinite
|
|
88
89
|
&--anim-wave:after
|
|
89
90
|
background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.5), rgba(255,255,255,0))
|
|
90
|
-
animation: q-skeleton--wave
|
|
91
|
+
animation: q-skeleton--wave var(--q-skeleton-speed) linear .5s infinite
|
|
91
92
|
|
|
92
93
|
&--dark
|
|
93
94
|
background: rgba(255, 255, 255, 0.05)
|
|
@@ -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,
|