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
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, watch } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useRouterLink, { useRouterLinkProps } from '../../composables/private/use-router-link.js'
|
|
4
4
|
import useTab, { useTabProps, useTabEmits } from './use-tab.js'
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
7
|
+
|
|
8
|
+
export default createComponent({
|
|
7
9
|
name: 'QRouteTab',
|
|
8
10
|
|
|
9
11
|
props: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent } from 'vue'
|
|
2
|
-
|
|
3
1
|
import useTab, { useTabProps, useTabEmits } from './use-tab.js'
|
|
4
2
|
|
|
5
|
-
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
4
|
+
|
|
5
|
+
export default createComponent({
|
|
6
6
|
name: 'QTab',
|
|
7
7
|
|
|
8
8
|
props: useTabProps,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, nextTick, onBeforeUnmount, onActivated, getCurrentInstance, provide } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
import QResizeObserver from '../resize-observer/QResizeObserver.js'
|
|
@@ -6,6 +6,7 @@ import QResizeObserver from '../resize-observer/QResizeObserver.js'
|
|
|
6
6
|
import useTick from '../../composables/private/use-tick.js'
|
|
7
7
|
import useTimeout from '../../composables/private/use-timeout.js'
|
|
8
8
|
|
|
9
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
9
10
|
import { noop } from '../../utils/event.js'
|
|
10
11
|
import { hSlot } from '../../utils/private/render.js'
|
|
11
12
|
import { tabsKey } from '../../utils/private/symbols.js'
|
|
@@ -22,7 +23,7 @@ function getIndicatorClass (color, top, vertical) {
|
|
|
22
23
|
const alignValues = [ 'left', 'center', 'right', 'justify' ]
|
|
23
24
|
const emptyFn = () => {}
|
|
24
25
|
|
|
25
|
-
export default
|
|
26
|
+
export default createComponent({
|
|
26
27
|
name: 'QTabs',
|
|
27
28
|
|
|
28
29
|
props: {
|
|
@@ -62,7 +63,7 @@ export default defineComponent({
|
|
|
62
63
|
|
|
63
64
|
contentClass: String,
|
|
64
65
|
|
|
65
|
-
'onUpdate:modelValue': Function
|
|
66
|
+
'onUpdate:modelValue': [ Function, Array ]
|
|
66
67
|
},
|
|
67
68
|
|
|
68
69
|
setup (props, { slots, emit }) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { h, ref, computed, inject, onBeforeUnmount, onMounted } from 'vue'
|
|
1
|
+
import { h, ref, computed, inject, onBeforeUnmount, onMounted, withDirectives } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
|
|
5
5
|
import Ripple from '../../directives/Ripple.js'
|
|
6
6
|
|
|
7
|
-
import { hMergeSlot
|
|
7
|
+
import { hMergeSlot } from '../../utils/private/render.js'
|
|
8
8
|
import { isKeyCode } from '../../utils/private/key-composition.js'
|
|
9
9
|
import { tabsKey } from '../../utils/private/symbols.js'
|
|
10
10
|
|
|
@@ -46,6 +46,12 @@ export default function (props, slots, emit, routerProps) {
|
|
|
46
46
|
const rootRef = ref(null)
|
|
47
47
|
const tabIndicatorRef = ref(null)
|
|
48
48
|
|
|
49
|
+
const ripple = computed(() => (
|
|
50
|
+
props.disable === true
|
|
51
|
+
? false
|
|
52
|
+
: props.ripple
|
|
53
|
+
))
|
|
54
|
+
|
|
49
55
|
const isActive = computed(() => $tabs.currentModel.value === props.name)
|
|
50
56
|
|
|
51
57
|
const classes = computed(() =>
|
|
@@ -202,13 +208,9 @@ export default function (props, slots, emit, routerProps) {
|
|
|
202
208
|
...customData
|
|
203
209
|
}
|
|
204
210
|
|
|
205
|
-
return
|
|
206
|
-
tag,
|
|
207
|
-
|
|
208
|
-
getContent(),
|
|
209
|
-
'main',
|
|
210
|
-
props.ripple !== false && props.disable === false,
|
|
211
|
-
() => [ [ Ripple, props.ripple ] ]
|
|
211
|
+
return withDirectives(
|
|
212
|
+
h(tag, data, getContent()),
|
|
213
|
+
[ [ Ripple, ripple.value ] ]
|
|
212
214
|
)
|
|
213
215
|
}
|
|
214
216
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, withDirectives, Transition, nextTick, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QBtn from '../btn/QBtn.js'
|
|
4
4
|
import TouchPan from '../../directives/TouchPan.js'
|
|
@@ -7,6 +7,7 @@ import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
|
7
7
|
import { useFormProps, useFormAttrs, useFormInject } from '../../composables/private/use-form.js'
|
|
8
8
|
import useDatetime, { useDatetimeProps, useDatetimeEmits, getDayHash } from '../date/use-datetime.js'
|
|
9
9
|
|
|
10
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
10
11
|
import { hSlot } from '../../utils/private/render.js'
|
|
11
12
|
import { formatDate, __splitDate } from '../../utils/date.js'
|
|
12
13
|
import { position } from '../../utils/event.js'
|
|
@@ -36,7 +37,7 @@ function getCurrentTime () {
|
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
39
|
|
|
39
|
-
export default
|
|
40
|
+
export default createComponent({
|
|
40
41
|
name: 'QTime',
|
|
41
42
|
|
|
42
43
|
props: {
|
|
@@ -288,8 +289,6 @@ export default defineComponent({
|
|
|
288
289
|
defaultDateModel.value
|
|
289
290
|
)
|
|
290
291
|
|
|
291
|
-
console.log({ ...model })
|
|
292
|
-
|
|
293
292
|
if (
|
|
294
293
|
model.dateHash !== innerModel.value.dateHash
|
|
295
294
|
|| model.timeHash !== innerModel.value.timeHash
|
|
@@ -660,21 +659,22 @@ export default defineComponent({
|
|
|
660
659
|
function setHour (hour) {
|
|
661
660
|
if (innerModel.value.hour !== hour) {
|
|
662
661
|
innerModel.value.hour = hour
|
|
663
|
-
|
|
664
|
-
innerModel.value.second = null
|
|
662
|
+
verifyAndUpdate()
|
|
665
663
|
}
|
|
666
664
|
}
|
|
667
665
|
|
|
668
666
|
function setMinute (minute) {
|
|
669
667
|
if (innerModel.value.minute !== minute) {
|
|
670
668
|
innerModel.value.minute = minute
|
|
671
|
-
|
|
672
|
-
props.withSeconds !== true && updateValue({ minute })
|
|
669
|
+
verifyAndUpdate()
|
|
673
670
|
}
|
|
674
671
|
}
|
|
675
672
|
|
|
676
673
|
function setSecond (second) {
|
|
677
|
-
innerModel.value.second !== second
|
|
674
|
+
if (innerModel.value.second !== second) {
|
|
675
|
+
innerModel.value.second = second
|
|
676
|
+
verifyAndUpdate()
|
|
677
|
+
}
|
|
678
678
|
}
|
|
679
679
|
|
|
680
680
|
const setModel = {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, provide, 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
|
import { timelineKey } from '../../utils/private/symbols.js'
|
|
7
8
|
|
|
8
|
-
export default
|
|
9
|
+
export default createComponent({
|
|
9
10
|
name: 'QTimeline',
|
|
10
11
|
|
|
11
12
|
props: {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, inject } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
4
|
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
5
6
|
import { hSlot, hUniqueSlot } from '../../utils/private/render.js'
|
|
6
7
|
import { timelineKey } from '../../utils/private/symbols.js'
|
|
7
8
|
|
|
8
|
-
export default
|
|
9
|
+
export default createComponent({
|
|
9
10
|
name: 'QTimelineEntry',
|
|
10
11
|
|
|
11
12
|
props: {
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QIcon from '../icon/QIcon.js'
|
|
4
|
+
|
|
4
5
|
import useCheckbox, { useCheckboxProps, useCheckboxEmits } from '../checkbox/use-checkbox.js'
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
8
|
+
|
|
9
|
+
export default createComponent({
|
|
7
10
|
name: 'QToggle',
|
|
8
11
|
|
|
9
12
|
props: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { hSlot } from '../../utils/private/render.js'
|
|
4
5
|
|
|
5
|
-
export default
|
|
6
|
+
export default createComponent({
|
|
6
7
|
name: 'QToolbar',
|
|
7
8
|
|
|
8
9
|
props: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { hSlot } from '../../utils/private/render.js'
|
|
4
5
|
|
|
5
|
-
export default
|
|
6
|
+
export default createComponent({
|
|
6
7
|
name: 'QToolbarTitle',
|
|
7
8
|
|
|
8
9
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, onBeforeUnmount, Transition, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useAnchor, { useAnchorProps } from '../../composables/private/use-anchor.js'
|
|
4
4
|
import useScrollTarget from '../../composables/private/use-scroll-target.js'
|
|
@@ -8,6 +8,7 @@ import useTransition, { useTransitionProps } from '../../composables/private/use
|
|
|
8
8
|
import useTick from '../../composables/private/use-tick.js'
|
|
9
9
|
import useTimeout from '../../composables/private/use-timeout.js'
|
|
10
10
|
|
|
11
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
11
12
|
import { getScrollTarget } from '../../utils/scroll.js'
|
|
12
13
|
import { stopAndPrevent, addEvt, cleanEvt } from '../../utils/event.js'
|
|
13
14
|
import { clearSelection } from '../../utils/private/selection.js'
|
|
@@ -17,7 +18,7 @@ import {
|
|
|
17
18
|
validatePosition, validateOffset, setPosition, parsePosition
|
|
18
19
|
} from '../../utils/private/position-engine.js'
|
|
19
20
|
|
|
20
|
-
export default
|
|
21
|
+
export default createComponent({
|
|
21
22
|
name: 'QTooltip',
|
|
22
23
|
|
|
23
24
|
inheritAttrs: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
h,
|
|
2
|
+
h, ref, computed, watch,
|
|
3
3
|
withDirectives, vShow, nextTick, getCurrentInstance, onBeforeUpdate
|
|
4
4
|
} from 'vue'
|
|
5
5
|
|
|
@@ -10,10 +10,13 @@ import QSpinner from '../spinner/QSpinner.js'
|
|
|
10
10
|
|
|
11
11
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
12
12
|
|
|
13
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
13
14
|
import { stopAndPrevent } from '../../utils/event.js'
|
|
14
15
|
import { shouldIgnoreKey } from '../../utils/private/key-composition.js'
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
const tickStrategyOptions = [ 'none', 'strict', 'leaf', 'leaf-filtered' ]
|
|
18
|
+
|
|
19
|
+
export default createComponent({
|
|
17
20
|
name: 'QTree',
|
|
18
21
|
|
|
19
22
|
props: {
|
|
@@ -36,6 +39,8 @@ export default defineComponent({
|
|
|
36
39
|
default: 'children'
|
|
37
40
|
},
|
|
38
41
|
|
|
42
|
+
dense: Boolean,
|
|
43
|
+
|
|
39
44
|
color: String,
|
|
40
45
|
controlColor: String,
|
|
41
46
|
textColor: String,
|
|
@@ -46,7 +51,7 @@ export default defineComponent({
|
|
|
46
51
|
tickStrategy: {
|
|
47
52
|
type: String,
|
|
48
53
|
default: 'none',
|
|
49
|
-
validator: v =>
|
|
54
|
+
validator: v => tickStrategyOptions.includes(v)
|
|
50
55
|
},
|
|
51
56
|
ticked: Array, // v-model:ticked
|
|
52
57
|
expanded: Array, // v-model:expanded
|
|
@@ -91,7 +96,7 @@ export default defineComponent({
|
|
|
91
96
|
})
|
|
92
97
|
|
|
93
98
|
const classes = computed(() =>
|
|
94
|
-
|
|
99
|
+
`q-tree q-tree--${ props.dense === true ? 'dense' : 'standard' }`
|
|
95
100
|
+ (props.noConnectors === true ? ' q-tree--no-connectors' : '')
|
|
96
101
|
+ (isDark.value === true ? ' q-tree--dark' : '')
|
|
97
102
|
+ (props.color !== void 0 ? ` text-${ props.color }` : '')
|
|
@@ -533,13 +538,13 @@ export default defineComponent({
|
|
|
533
538
|
|
|
534
539
|
m.lazy === 'loading'
|
|
535
540
|
? h(QSpinner, {
|
|
536
|
-
class: 'q-tree__spinner
|
|
541
|
+
class: 'q-tree__spinner',
|
|
537
542
|
color: computedControlColor.value
|
|
538
543
|
})
|
|
539
544
|
: (
|
|
540
545
|
isParent === true
|
|
541
546
|
? h(QIcon, {
|
|
542
|
-
class: 'q-tree__arrow
|
|
547
|
+
class: 'q-tree__arrow'
|
|
543
548
|
+ (m.expanded === true ? ' q-tree__arrow--rotate' : ''),
|
|
544
549
|
name: computedIcon.value,
|
|
545
550
|
onClick (e) { onExpandClick(node, m, e) }
|
|
@@ -549,7 +554,7 @@ export default defineComponent({
|
|
|
549
554
|
|
|
550
555
|
m.hasTicking === true && m.noTick !== true
|
|
551
556
|
? h(QCheckbox, {
|
|
552
|
-
class: 'q-
|
|
557
|
+
class: 'q-tree__tickbox',
|
|
553
558
|
modelValue: m.indeterminate === true ? null : m.ticked,
|
|
554
559
|
color: computedControlColor.value,
|
|
555
560
|
dark: isDark.value,
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
position: absolute
|
|
40
40
|
top: -3px
|
|
41
41
|
bottom: 50%
|
|
42
|
-
width:
|
|
42
|
+
width: 31px
|
|
43
43
|
left: -35px
|
|
44
44
|
border-left: 1px solid currentColor
|
|
45
45
|
border-bottom: 1px solid currentColor
|
|
@@ -84,11 +84,13 @@
|
|
|
84
84
|
&__node--selected .q-tree__node-header-content
|
|
85
85
|
color: $grey
|
|
86
86
|
|
|
87
|
-
&__icon,
|
|
87
|
+
&__icon,
|
|
88
|
+
&__node-header-content .q-icon
|
|
88
89
|
font-size: 21px
|
|
89
90
|
|
|
90
91
|
&__img
|
|
91
92
|
height: 42px
|
|
93
|
+
border-radius: 2px
|
|
92
94
|
|
|
93
95
|
&__avatar, &__node-header-content .q-avatar
|
|
94
96
|
font-size: 28px
|
|
@@ -96,15 +98,20 @@
|
|
|
96
98
|
width: 28px
|
|
97
99
|
height: 28px
|
|
98
100
|
|
|
99
|
-
&__arrow,
|
|
101
|
+
&__arrow,
|
|
102
|
+
&__spinner
|
|
100
103
|
font-size: 16px
|
|
101
104
|
|
|
102
105
|
&__arrow
|
|
103
106
|
transition: transform .3s
|
|
107
|
+
margin-right: 4px
|
|
104
108
|
|
|
105
109
|
&--rotate
|
|
106
110
|
transform: rotate3d(0, 0, 1, 90deg)
|
|
107
111
|
|
|
112
|
+
&__tickbox
|
|
113
|
+
margin-right: 4px
|
|
114
|
+
|
|
108
115
|
// remove connectors before root
|
|
109
116
|
> .q-tree__node
|
|
110
117
|
padding: 0
|
|
@@ -123,10 +130,51 @@
|
|
|
123
130
|
.q-tree__node-body:after
|
|
124
131
|
display: none !important
|
|
125
132
|
|
|
133
|
+
&--dense .q-tree
|
|
134
|
+
&__arrow,
|
|
135
|
+
&__spinner
|
|
136
|
+
margin-right: 1px
|
|
137
|
+
|
|
138
|
+
&__img
|
|
139
|
+
height: 32px
|
|
140
|
+
|
|
141
|
+
&__tickbox
|
|
142
|
+
margin-right: 3px
|
|
143
|
+
|
|
144
|
+
&__node
|
|
145
|
+
padding: 0
|
|
146
|
+
&:after
|
|
147
|
+
top: 0
|
|
148
|
+
left: -8px
|
|
149
|
+
|
|
150
|
+
&__node-header
|
|
151
|
+
margin-top: 0
|
|
152
|
+
padding: 1px
|
|
153
|
+
&:before
|
|
154
|
+
top: 0
|
|
155
|
+
left: -8px
|
|
156
|
+
width: 8px
|
|
157
|
+
|
|
158
|
+
&__node--child
|
|
159
|
+
padding-left: 17px
|
|
160
|
+
> .q-tree__node-header:before
|
|
161
|
+
left: -25px
|
|
162
|
+
width: 21px
|
|
163
|
+
|
|
164
|
+
&__node-body
|
|
165
|
+
padding: 0 0 2px
|
|
166
|
+
|
|
167
|
+
&__node--parent > .q-tree__node-collapsible > .q-tree__node-body
|
|
168
|
+
padding: 0 0 2px 20px
|
|
169
|
+
&:after
|
|
170
|
+
left: 8px
|
|
171
|
+
|
|
172
|
+
&__children
|
|
173
|
+
padding-left: 16px
|
|
174
|
+
|
|
126
175
|
[dir=rtl]
|
|
127
176
|
.q-tree__arrow
|
|
128
177
|
transform: rotate3d(0, 0, 1, 180deg) #{"/* rtl:ignore */"}
|
|
129
178
|
|
|
130
179
|
&--rotate
|
|
131
180
|
transform: rotate3d(0, 0, 1, 90deg) #{"/* rtl:ignore */"}
|
|
132
|
-
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject } from 'vue'
|
|
2
2
|
|
|
3
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
3
4
|
import { uploaderKey } from '../../utils/private/symbols.js'
|
|
4
5
|
|
|
5
|
-
export default
|
|
6
|
+
export default createComponent({
|
|
6
7
|
name: 'QUploaderAddTrigger',
|
|
7
8
|
|
|
8
9
|
setup () {
|
|
@@ -260,20 +260,15 @@ export function getRenderer (getPlugin) {
|
|
|
260
260
|
}
|
|
261
261
|
|
|
262
262
|
function addFilesToQueue (e, fileList) {
|
|
263
|
-
const
|
|
263
|
+
const localFiles = processFiles(e, fileList, state.files.value, true)
|
|
264
264
|
|
|
265
|
-
if (
|
|
266
|
-
|
|
267
|
-
const localFiles = processedFiles
|
|
268
|
-
.filter(file => state.files.value.findIndex(f => file.name === f.name) === -1)
|
|
265
|
+
if (localFiles === void 0) { return }
|
|
269
266
|
|
|
270
267
|
const fileInput = getFileInput()
|
|
271
268
|
if (fileInput !== void 0 && fileInput !== null) {
|
|
272
269
|
fileInput.value = ''
|
|
273
270
|
}
|
|
274
271
|
|
|
275
|
-
if (localFiles === void 0) { return }
|
|
276
|
-
|
|
277
272
|
localFiles.forEach(file => {
|
|
278
273
|
state.updateFileStatus(file, 'idle')
|
|
279
274
|
uploadSize.value += file.size
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useRatio, { useRatioProps } from '../../composables/private/use-ratio.js'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
|
+
|
|
7
|
+
export default createComponent({
|
|
6
8
|
name: 'QVideo',
|
|
7
9
|
|
|
8
10
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, onBeforeMount, onMounted, onBeforeUnmount } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QList from '../item/QList.js'
|
|
4
4
|
import QMarkupTable from '../markup-table/QMarkupTable.js'
|
|
@@ -6,6 +6,7 @@ import getTableMiddle from '../table/get-table-middle.js'
|
|
|
6
6
|
|
|
7
7
|
import { useVirtualScroll, useVirtualScrollProps } from './use-virtual-scroll.js'
|
|
8
8
|
|
|
9
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
9
10
|
import { getScrollTarget } from '../../utils/scroll.js'
|
|
10
11
|
import { listenOpts } from '../../utils/event.js'
|
|
11
12
|
import { hMergeSlot } from '../../utils/private/render.js'
|
|
@@ -17,7 +18,7 @@ const comps = {
|
|
|
17
18
|
|
|
18
19
|
const typeOptions = [ 'list', 'table', '__qtable' ]
|
|
19
20
|
|
|
20
|
-
export default
|
|
21
|
+
export default createComponent({
|
|
21
22
|
name: 'QVirtualScroll',
|
|
22
23
|
|
|
23
24
|
props: {
|
|
@@ -112,6 +112,14 @@ export default function ({
|
|
|
112
112
|
files = [ files[ 0 ] ]
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
// Avoid duplicate files
|
|
116
|
+
const filenameMap = currentFileList.map(entry => entry.name)
|
|
117
|
+
files = filterFiles(files, rejectedFiles, 'duplicate', file => {
|
|
118
|
+
return filenameMap.includes(file.name) === false
|
|
119
|
+
})
|
|
120
|
+
|
|
121
|
+
if (files.length === 0) { return done() }
|
|
122
|
+
|
|
115
123
|
if (props.maxTotalSize !== void 0) {
|
|
116
124
|
let size = append === true
|
|
117
125
|
? currentFileList.reduce((total, file) => total + file.size, 0)
|
package/src/css/normalize.sass
CHANGED
|
@@ -160,13 +160,6 @@ progress
|
|
|
160
160
|
textarea
|
|
161
161
|
overflow: auto
|
|
162
162
|
|
|
163
|
-
/*
|
|
164
|
-
* Correct the odd appearance of search inputs in Chrome and Safari.
|
|
165
|
-
*/
|
|
166
|
-
|
|
167
|
-
input[type='search']
|
|
168
|
-
-webkit-appearance: textfield
|
|
169
|
-
|
|
170
163
|
/*
|
|
171
164
|
* Remove the inner padding and cancel buttons in Chrome on OS X and
|
|
172
165
|
* Safari on OS X.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createDirective } from '../utils/private/create.js'
|
|
1
2
|
import { closePortals, getPortalVm } from '../utils/private/portal.js'
|
|
2
3
|
import { isKeyCode } from '../utils/private/key-composition.js'
|
|
3
4
|
import getSSRProps from '../utils/private/noop-ssr-directive-transform.js'
|
|
@@ -21,7 +22,7 @@ function getDepth (value) {
|
|
|
21
22
|
return isNaN(depth) ? 0 : depth
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
export default __QUASAR_SSR_SERVER__
|
|
25
|
+
export default createDirective(__QUASAR_SSR_SERVER__
|
|
25
26
|
? { name: 'close-popup', getSSRProps }
|
|
26
27
|
: {
|
|
27
28
|
name: 'close-popup',
|
|
@@ -64,3 +65,4 @@ export default __QUASAR_SSR_SERVER__
|
|
|
64
65
|
delete el.__qclosepopup
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createDirective } from '../utils/private/create.js'
|
|
1
2
|
import { isDeepEqual } from '../utils/private/is.js'
|
|
2
3
|
import getSSRProps from '../utils/private/noop-ssr-directive-transform.js'
|
|
3
4
|
|
|
@@ -66,7 +67,7 @@ function destroy (el) {
|
|
|
66
67
|
}
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
export default __QUASAR_SSR_SERVER__
|
|
70
|
+
export default createDirective(__QUASAR_SSR_SERVER__
|
|
70
71
|
? { name: 'intersection', getSSRProps }
|
|
71
72
|
: {
|
|
72
73
|
name: 'intersection',
|
|
@@ -88,3 +89,4 @@ export default __QUASAR_SSR_SERVER__
|
|
|
88
89
|
|
|
89
90
|
beforeUnmount: destroy
|
|
90
91
|
}
|
|
92
|
+
)
|
package/src/directives/Morph.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { createDirective } from '../utils/private/create.js'
|
|
1
2
|
import morph from '../utils/morph.js'
|
|
3
|
+
|
|
2
4
|
import getSSRProps from './Morph.ssr.js'
|
|
3
5
|
|
|
4
6
|
const morphGroups = {}
|
|
@@ -161,7 +163,7 @@ function updateValue (ctx, value) {
|
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
165
|
|
|
164
|
-
export default __QUASAR_SSR_SERVER__
|
|
166
|
+
export default createDirective(__QUASAR_SSR_SERVER__
|
|
165
167
|
? { name: 'morph', getSSRProps }
|
|
166
168
|
: {
|
|
167
169
|
name: 'morph',
|
|
@@ -209,3 +211,4 @@ export default __QUASAR_SSR_SERVER__
|
|
|
209
211
|
delete el.__qmorph
|
|
210
212
|
}
|
|
211
213
|
}
|
|
214
|
+
)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createDirective } from '../utils/private/create.js'
|
|
1
2
|
import getSSRProps from '../utils/private/noop-ssr-directive-transform.js'
|
|
2
3
|
|
|
3
4
|
const defaultCfg = {
|
|
@@ -34,7 +35,7 @@ function destroy (el) {
|
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
37
|
|
|
37
|
-
export default __QUASAR_SSR_SERVER__
|
|
38
|
+
export default createDirective(__QUASAR_SSR_SERVER__
|
|
38
39
|
? { name: 'mutation', getSSRProps }
|
|
39
40
|
: {
|
|
40
41
|
name: 'mutation',
|
|
@@ -61,3 +62,4 @@ export default __QUASAR_SSR_SERVER__
|
|
|
61
62
|
|
|
62
63
|
beforeUnmount: destroy
|
|
63
64
|
}
|
|
65
|
+
)
|
package/src/directives/Ripple.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createDirective } from '../utils/private/create.js'
|
|
1
2
|
import { css } from '../utils/dom.js'
|
|
2
3
|
import { position, stop, addEvt, cleanEvt } from '../utils/event.js'
|
|
3
4
|
import { isKeyCode } from '../utils/private/key-composition.js'
|
|
@@ -71,7 +72,7 @@ function updateModifiers (ctx, { modifiers, value, arg, instance }) {
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
export default __QUASAR_SSR_SERVER__
|
|
75
|
+
export default createDirective(__QUASAR_SSR_SERVER__
|
|
75
76
|
? { name: 'ripple', getSSRProps }
|
|
76
77
|
: {
|
|
77
78
|
name: 'ripple',
|
|
@@ -139,3 +140,4 @@ export default __QUASAR_SSR_SERVER__
|
|
|
139
140
|
delete el._qripple
|
|
140
141
|
}
|
|
141
142
|
}
|
|
143
|
+
)
|