quasar 2.2.1 → 2.3.0
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/QCircularProgress.json +14 -0
- package/dist/api/QLinearProgress.json +14 -0
- package/dist/api/QOptionGroup.json +36 -1
- package/dist/api/QSkeleton.json +1 -1
- 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 +53 -9
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +120 -9
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +45 -7
- package/dist/quasar.umd.js +320 -254
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/index.d.ts +33 -3
- package/dist/vetur/quasar-attributes.json +13 -1
- package/dist/vetur/quasar-tags.json +5 -2
- package/dist/web-types/web-types.json +32 -2
- package/package.json +1 -1
- package/src/api.extends.json +7 -0
- 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 +3 -2
- 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 +9 -3
- package/src/components/circular-progress/QCircularProgress.json +6 -0
- 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 +3 -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 +50 -32
- 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 +13 -3
- package/src/components/linear-progress/QLinearProgress.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +2 -1
- 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 +10 -17
- package/src/components/pull-to-refresh/QPullToRefresh.js +3 -2
- package/src/components/radio/QRadio.js +3 -2
- package/src/components/range/QRange.js +3 -2
- 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/skeleton/QSkeleton.js +3 -2
- package/src/components/skeleton/QSkeleton.json +1 -4
- package/src/components/slide-item/QSlideItem.js +3 -2
- package/src/components/slide-transition/QSlideTransition.js +4 -2
- package/src/components/slider/QSlider.js +3 -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 +4 -2
- 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/table/table-pagination.js +2 -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/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/components/virtual-scroll/use-virtual-scroll.js +17 -1
- package/src/composables/private/use-file.js +8 -0
- package/src/composables/private/use-model-toggle.js +1 -1
- package/src/composables/use-dialog-plugin-component.js +6 -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 +9 -7
- package/src/utils/date.js +1 -1
- package/src/utils/private/create.js +4 -0
- package/src/utils/private/get-emits-object.js +11 -0
- package/src/utils/private/vm.js +3 -3
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { h
|
|
1
|
+
import { h } from 'vue'
|
|
2
2
|
|
|
3
3
|
import { usePanelChildProps } from '../../composables/private/use-panel.js'
|
|
4
|
+
|
|
5
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
4
6
|
import { hSlot } from '../../utils/private/render.js'
|
|
5
7
|
|
|
6
|
-
export default
|
|
8
|
+
export default createComponent({
|
|
7
9
|
name: 'QTabPanel',
|
|
8
10
|
|
|
9
11
|
props: usePanelChildProps,
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computed, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
|
|
4
4
|
import usePanel, { usePanelProps, usePanelEmits } from '../../composables/private/use-panel.js'
|
|
5
5
|
|
|
6
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
6
7
|
import { hDir } from '../../utils/private/render.js'
|
|
7
8
|
|
|
8
|
-
export default
|
|
9
|
+
export default createComponent({
|
|
9
10
|
name: 'QTabPanels',
|
|
10
11
|
|
|
11
12
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, ref, computed, watch, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import QTh from './QTh.js'
|
|
4
4
|
|
|
@@ -23,12 +23,14 @@ import { useTableRowSelection, useTableRowSelectionProps, useTableRowSelectionEm
|
|
|
23
23
|
import { useTableRowExpand, useTableRowExpandProps, useTableRowExpandEmits } from './table-row-expand.js'
|
|
24
24
|
import { useTableColumnSelection, useTableColumnSelectionProps } from './table-column-selection.js'
|
|
25
25
|
|
|
26
|
+
import { createComponent } from '../../utils/private/create.js'
|
|
27
|
+
|
|
26
28
|
const bottomClass = 'q-table__bottom row items-center'
|
|
27
29
|
|
|
28
30
|
const commonVirtPropsObj = {}
|
|
29
31
|
commonVirtPropsList.forEach(p => { commonVirtPropsObj[ p ] = {} })
|
|
30
32
|
|
|
31
|
-
export default
|
|
33
|
+
export default createComponent({
|
|
32
34
|
name: 'QTable',
|
|
33
35
|
|
|
34
36
|
props: {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, computed, getCurrentInstance } 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: 'QTd',
|
|
7
8
|
|
|
8
9
|
props: {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { h,
|
|
1
|
+
import { h, getCurrentInstance } 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
|
|
|
7
|
-
export default
|
|
8
|
+
export default createComponent({
|
|
8
9
|
name: 'QTh',
|
|
9
10
|
|
|
10
11
|
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: 'QTr',
|
|
7
8
|
|
|
8
9
|
props: {
|
|
@@ -26,7 +26,7 @@ export const useTablePaginationProps = {
|
|
|
26
26
|
default: () => [ 5, 7, 10, 15, 20, 25, 50, 0 ]
|
|
27
27
|
},
|
|
28
28
|
|
|
29
|
-
'onUpdate:pagination': Function
|
|
29
|
+
'onUpdate:pagination': [ Function, Array ]
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
export function useTablePaginationState (vm, getCellValue) {
|
|
@@ -76,7 +76,7 @@ export function useTablePaginationState (vm, getCellValue) {
|
|
|
76
76
|
...val
|
|
77
77
|
})
|
|
78
78
|
|
|
79
|
-
if (samePagination(computedPagination.value, newPagination)) {
|
|
79
|
+
if (samePagination(computedPagination.value, newPagination) === true) {
|
|
80
80
|
if (isServerSide.value === true && forceServerRequest === true) {
|
|
81
81
|
sendServerRequest(newPagination)
|
|
82
82
|
}
|
|
@@ -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,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: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h, ref, computed, watch, onBeforeMount, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
|
|
1
|
+
import { h, ref, computed, watch, onActivated, onBeforeMount, onBeforeUnmount, nextTick, getCurrentInstance } from 'vue'
|
|
2
2
|
|
|
3
3
|
import debounce from '../../utils/debounce.js'
|
|
4
4
|
import { noop } from '../../utils/event.js'
|
|
@@ -679,6 +679,22 @@ export function useVirtualScroll ({
|
|
|
679
679
|
setVirtualScrollSize()
|
|
680
680
|
})
|
|
681
681
|
|
|
682
|
+
onActivated(() => {
|
|
683
|
+
const scrollEl = getVirtualScrollTarget()
|
|
684
|
+
|
|
685
|
+
if (prevScrollStart !== void 0 && scrollEl !== void 0 && scrollEl !== null && scrollEl.nodeType !== 8) {
|
|
686
|
+
setScroll(
|
|
687
|
+
scrollEl,
|
|
688
|
+
prevScrollStart,
|
|
689
|
+
props.virtualScrollHorizontal,
|
|
690
|
+
$q.lang.rtl
|
|
691
|
+
)
|
|
692
|
+
}
|
|
693
|
+
else {
|
|
694
|
+
scrollTo(prevToIndex)
|
|
695
|
+
}
|
|
696
|
+
})
|
|
697
|
+
|
|
682
698
|
setOverflowAnchor !== noop && onBeforeUnmount(() => {
|
|
683
699
|
const styleSheet = document.getElementById(vsId + '_ss')
|
|
684
700
|
styleSheet !== null && styleSheet.remove()
|
|
@@ -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)
|