quasar 2.3.0 → 2.3.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/AppFullscreen.json +15 -8
- package/dist/api/BottomSheet.json +23 -2
- package/dist/api/Cookies.json +4 -3
- package/dist/api/Dialog.json +41 -12
- package/dist/api/Loading.json +4 -2
- package/dist/api/LoadingBar.json +8 -3
- package/dist/api/LocalStorage.json +8 -0
- package/dist/api/Morph.json +14 -7
- package/dist/api/Mutation.json +1 -1
- package/dist/api/Notify.json +41 -27
- package/dist/api/QAjaxBar.json +6 -3
- package/dist/api/QBreadcrumbs.json +8 -4
- package/dist/api/QBreadcrumbsEl.json +4 -2
- package/dist/api/QBtn.json +6 -3
- package/dist/api/QBtnDropdown.json +11 -6
- package/dist/api/QBtnToggle.json +4 -2
- package/dist/api/QCard.json +2 -1
- package/dist/api/QCardActions.json +2 -1
- package/dist/api/QCardSection.json +2 -1
- package/dist/api/QCarousel.json +10 -5
- package/dist/api/QCarouselControl.json +4 -2
- package/dist/api/QChatMessage.json +8 -4
- package/dist/api/QCheckbox.json +8 -4
- package/dist/api/QChip.json +2 -1
- package/dist/api/QCircularProgress.json +14 -7
- package/dist/api/QColor.json +6 -3
- package/dist/api/QDate.json +79 -5
- package/dist/api/QDialog.json +8 -4
- package/dist/api/QDrawer.json +10 -5
- package/dist/api/QEditor.json +17 -7
- package/dist/api/QExpansionItem.json +5 -3
- package/dist/api/QFab.json +11 -6
- package/dist/api/QFabAction.json +4 -2
- package/dist/api/QField.json +2 -1
- package/dist/api/QFile.json +7 -2
- package/dist/api/QFooter.json +3 -2
- package/dist/api/QForm.json +1 -1
- package/dist/api/QHeader.json +5 -3
- package/dist/api/QIcon.json +2 -1
- package/dist/api/QImg.json +8 -4
- package/dist/api/QInfiniteScroll.json +6 -3
- package/dist/api/QInnerLoading.json +8 -4
- package/dist/api/QInput.json +2 -1
- package/dist/api/QIntersection.json +17 -1
- package/dist/api/QItem.json +2 -1
- package/dist/api/QKnob.json +8 -4
- package/dist/api/QLayout.json +9 -1
- package/dist/api/QLinearProgress.json +4 -2
- package/dist/api/QMarkupTable.json +2 -1
- package/dist/api/QMenu.json +8 -4
- package/dist/api/QNoSsr.json +2 -1
- package/dist/api/QOptionGroup.json +2 -1
- package/dist/api/QPage.json +2 -1
- package/dist/api/QPageScroller.json +8 -4
- package/dist/api/QPageSticky.json +2 -1
- package/dist/api/QPagination.json +10 -6
- package/dist/api/QParallax.json +2 -1
- package/dist/api/QPopupEdit.json +5 -2
- package/dist/api/QPopupProxy.json +7 -4
- package/dist/api/QRange.json +8 -4
- package/dist/api/QRating.json +5 -2
- package/dist/api/QResizeObserver.json +4 -1
- package/dist/api/QRouteTab.json +5 -26
- package/dist/api/QScrollArea.json +32 -6
- package/dist/api/QScrollObserver.json +13 -1
- package/dist/api/QSelect.json +141 -47
- package/dist/api/QSeparator.json +2 -1
- package/dist/api/QSkeleton.json +8 -4
- package/dist/api/QSlideItem.json +9 -0
- package/dist/api/QSlideTransition.json +2 -1
- package/dist/api/QSlider.json +8 -4
- package/dist/api/QSpinner.json +2 -1
- package/dist/api/QSplitter.json +4 -2
- package/dist/api/QStep.json +2 -1
- package/dist/api/QStepper.json +6 -3
- package/dist/api/QTab.json +4 -2
- package/dist/api/QTabPanels.json +6 -3
- package/dist/api/QTable.json +216 -93
- package/dist/api/QTabs.json +4 -2
- package/dist/api/QTime.json +16 -4
- package/dist/api/QTimeline.json +4 -2
- package/dist/api/QTimelineEntry.json +4 -2
- package/dist/api/QToggle.json +8 -4
- package/dist/api/QTooltip.json +18 -9
- package/dist/api/QTree.json +34 -19
- package/dist/api/QUploader.json +93 -5
- package/dist/api/QVirtualScroll.json +26 -11
- package/dist/api/ScrollFire.json +1 -1
- package/dist/api/SessionStorage.json +8 -0
- package/dist/api/TouchHold.json +2 -1
- package/dist/api/TouchRepeat.json +2 -1
- package/dist/api/TouchSwipe.json +2 -1
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/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-ionicons-v6.umd.prod.js +6 -0
- 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 +8 -1
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +13 -1
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +40 -35
- package/dist/quasar.umd.js +74 -48
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/ssr-directives/Morph.js +1 -1
- package/dist/types/api/cookies.d.ts +1 -1
- package/dist/types/composables.d.ts +5 -1
- package/dist/types/extras/icon-set.d.ts +1 -0
- package/dist/types/index.d.ts +519 -192
- package/dist/vetur/quasar-attributes.json +7 -3
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +26 -12
- package/icon-set/svg-ionicons-v6.js +225 -0
- package/package.json +5 -2
- package/src/body.js +14 -4
- package/src/components/btn/QBtn.js +1 -0
- package/src/components/btn-dropdown/QBtnDropdown.json +1 -0
- package/src/components/chip/QChip.json +1 -2
- package/src/components/circular-progress/QCircularProgress.json +1 -1
- package/src/components/date/QDate.json +59 -1
- package/src/components/editor/QEditor.js +2 -2
- package/src/components/editor/QEditor.json +6 -2
- package/src/components/expansion-item/QExpansionItem.json +2 -1
- package/src/components/fab/QFab.json +3 -1
- package/src/components/field/QField.json +3 -3
- package/src/components/file/QFile.json +9 -6
- package/src/components/footer/QFooter.json +1 -1
- package/src/components/form/QForm.json +2 -3
- package/src/components/header/QHeader.json +1 -1
- package/src/components/icon/QIcon.js +2 -2
- package/src/components/intersection/QIntersection.js +9 -1
- package/src/components/intersection/QIntersection.json +9 -0
- package/src/components/layout/QLayout.json +8 -1
- package/src/components/linear-progress/QLinearProgress.js +3 -2
- package/src/components/linear-progress/QLinearProgress.json +1 -1
- package/src/components/linear-progress/QLinearProgress.sass +1 -1
- package/src/components/pagination/QPagination.json +0 -1
- package/src/components/popup-edit/QPopupEdit.json +1 -0
- package/src/components/popup-proxy/QPopupProxy.json +2 -1
- package/src/components/rating/QRating.json +1 -1
- package/src/components/resize-observer/QResizeObserver.json +2 -0
- package/src/components/scroll-area/QScrollArea.js +8 -13
- package/src/components/scroll-area/QScrollArea.json +33 -10
- package/src/components/scroll-observer/QScrollObserver.json +11 -0
- package/src/components/select/QSelect.js +7 -3
- package/src/components/select/QSelect.json +88 -15
- package/src/components/slide-item/QSlideItem.json +9 -0
- package/src/components/slider/use-slider.js +3 -3
- package/src/components/table/QTable.js +1 -1
- package/src/components/table/QTable.json +155 -60
- package/src/components/table/table-pagination.js +4 -0
- package/src/components/tabs/QRouteTab.json +1 -23
- package/src/components/time/QTime.json +8 -0
- package/src/components/tree/QTree.json +26 -21
- package/src/components/tree/QTree.sass +45 -41
- package/src/components/uploader/xhr-uploader-plugin.json +105 -4
- package/src/components/virtual-scroll/QVirtualScroll.json +15 -0
- package/src/components/virtual-scroll/use-virtual-scroll.json +7 -5
- package/src/composables/private/use-field.js +4 -4
- package/src/composables/private/use-refocus-target.js +12 -3
- package/src/composables/private/use-split-attrs.js +10 -7
- package/src/composables/use-dialog-plugin-component.js +1 -0
- package/src/css/core/transitions.sass +3 -1
- package/src/directives/Mutation.json +2 -3
- package/src/directives/ScrollFire.json +2 -3
- package/src/install-quasar.js +1 -0
- package/src/plugins/AppFullscreen.json +8 -8
- package/src/plugins/Cookies.json +2 -2
- package/src/plugins/Dialog.json +6 -5
- package/src/plugins/LoadingBar.json +4 -3
- package/src/plugins/Notify.json +13 -19
- package/src/utils/private/global-dialog.json +16 -2
- package/src/utils/private/web-storage.json +10 -0
- package/wrappers/index.js +4 -0
package/dist/quasar.sass
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.3.
|
|
2
|
+
* Quasar Framework v2.3.4
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -3035,7 +3035,7 @@ body.platform-ios
|
|
|
3035
3035
|
&--dark
|
|
3036
3036
|
background: rgba(255,255,255,.6)
|
|
3037
3037
|
&__stripe
|
|
3038
|
-
transition: width
|
|
3038
|
+
transition: width var(--q-linear-progress-speed)
|
|
3039
3039
|
background-image: linear-gradient(45deg, rgba(255,255,255,.15) 25%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, rgba(255,255,255,0) 75%, rgba(255,255,255,0)) !important
|
|
3040
3040
|
background-size: 40px 40px !important
|
|
3041
3041
|
@keyframes q-linear-progress--indeterminate
|
|
@@ -4904,39 +4904,42 @@ body.desktop
|
|
|
4904
4904
|
.q-tree__node-header:before,
|
|
4905
4905
|
.q-tree__node-body:after
|
|
4906
4906
|
display: none !important
|
|
4907
|
-
&--dense
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
|
|
4914
|
-
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
top: 0
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4907
|
+
&--dense
|
|
4908
|
+
> .q-tree__node--child > .q-tree__node-header
|
|
4909
|
+
padding-left: 1px
|
|
4910
|
+
.q-tree
|
|
4911
|
+
&__arrow,
|
|
4912
|
+
&__spinner
|
|
4913
|
+
margin-right: 1px
|
|
4914
|
+
&__img
|
|
4915
|
+
height: 32px
|
|
4916
|
+
&__tickbox
|
|
4917
|
+
margin-right: 3px
|
|
4918
|
+
&__node
|
|
4919
|
+
padding: 0
|
|
4920
|
+
&:after
|
|
4921
|
+
top: 0
|
|
4922
|
+
left: -8px
|
|
4923
|
+
&__node-header
|
|
4924
|
+
margin-top: 0
|
|
4925
|
+
padding: 1px
|
|
4926
|
+
&:before
|
|
4927
|
+
top: 0
|
|
4928
|
+
left: -8px
|
|
4929
|
+
width: 8px
|
|
4930
|
+
&__node--child
|
|
4931
|
+
padding-left: 17px
|
|
4932
|
+
> .q-tree__node-header:before
|
|
4933
|
+
left: -25px
|
|
4934
|
+
width: 21px
|
|
4935
|
+
&__node-body
|
|
4936
|
+
padding: 0 0 2px
|
|
4937
|
+
&__node--parent > .q-tree__node-collapsible > .q-tree__node-body
|
|
4938
|
+
padding: 0 0 2px 20px
|
|
4939
|
+
&:after
|
|
4940
|
+
left: 8px
|
|
4941
|
+
&__children
|
|
4942
|
+
padding-left: 16px
|
|
4940
4943
|
[dir=rtl]
|
|
4941
4944
|
.q-tree__arrow
|
|
4942
4945
|
transform: rotate3d(0, 0, 1, 180deg) #{"/* rtl:ignore */"}
|
|
@@ -7023,6 +7026,8 @@ img.responsive
|
|
|
7023
7026
|
touch-action: pan-x
|
|
7024
7027
|
.q-touch-y
|
|
7025
7028
|
touch-action: pan-y
|
|
7029
|
+
\:root
|
|
7030
|
+
--q-transition-duration: .3s
|
|
7026
7031
|
.q-transition
|
|
7027
7032
|
&--slide-right,
|
|
7028
7033
|
&--slide-left,
|
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.3.
|
|
2
|
+
* Quasar Framework v2.3.4
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1170,16 +1170,16 @@
|
|
|
1170
1170
|
var Body = {
|
|
1171
1171
|
install (opts) {
|
|
1172
1172
|
|
|
1173
|
-
const { $q } = opts;
|
|
1174
|
-
|
|
1175
|
-
$q.config.brand !== void 0 && setColors($q.config.brand);
|
|
1176
|
-
|
|
1177
1173
|
if (this.__installed === true) { return }
|
|
1178
1174
|
|
|
1179
1175
|
if (isRuntimeSsrPreHydration.value === true) {
|
|
1180
1176
|
applyClientSsrCorrections();
|
|
1181
1177
|
}
|
|
1182
1178
|
else {
|
|
1179
|
+
const { $q } = opts;
|
|
1180
|
+
|
|
1181
|
+
$q.config.brand !== void 0 && setColors($q.config.brand);
|
|
1182
|
+
|
|
1183
1183
|
const cls = getBodyClasses(client, $q.config);
|
|
1184
1184
|
document.body.classList.add.apply(document.body.classList, cls);
|
|
1185
1185
|
}
|
|
@@ -1437,7 +1437,7 @@
|
|
|
1437
1437
|
}
|
|
1438
1438
|
|
|
1439
1439
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1440
|
-
const $q = { version: '2.3.
|
|
1440
|
+
const $q = { version: '2.3.4' };
|
|
1441
1441
|
|
|
1442
1442
|
if (globalConfigIsFrozen === false) {
|
|
1443
1443
|
if (opts.config !== void 0) {
|
|
@@ -1862,11 +1862,11 @@
|
|
|
1862
1862
|
|
|
1863
1863
|
const libRE = new RegExp('^(' + Object.keys(libMap).join('|') + ')');
|
|
1864
1864
|
const matRE = new RegExp('^(' + Object.keys(matMap).join('|') + ')');
|
|
1865
|
-
const mRE = /^
|
|
1865
|
+
const mRE = /^[Mm] ?\d/;
|
|
1866
1866
|
const imgRE = /^img:/;
|
|
1867
1867
|
const svgUseRE = /^svguse:/;
|
|
1868
1868
|
const ionRE = /^ion-/;
|
|
1869
|
-
const faLaRE = /^[
|
|
1869
|
+
const faLaRE = /^[lf]a[srlbdk]? /;
|
|
1870
1870
|
|
|
1871
1871
|
var QIcon = createComponent({
|
|
1872
1872
|
name: 'QIcon',
|
|
@@ -3448,6 +3448,7 @@
|
|
|
3448
3448
|
}
|
|
3449
3449
|
|
|
3450
3450
|
function onLoadingEvt (evt) {
|
|
3451
|
+
stopAndPrevent(evt);
|
|
3451
3452
|
evt.qSkipRipple = true;
|
|
3452
3453
|
}
|
|
3453
3454
|
|
|
@@ -7028,12 +7029,21 @@
|
|
|
7028
7029
|
});
|
|
7029
7030
|
|
|
7030
7031
|
function refocusTarget (e) {
|
|
7032
|
+
const root = rootRef.value;
|
|
7033
|
+
|
|
7031
7034
|
if (e !== void 0 && e.type.indexOf('key') === 0) {
|
|
7032
|
-
if (
|
|
7033
|
-
|
|
7035
|
+
if (
|
|
7036
|
+
root !== null
|
|
7037
|
+
&& document.activeElement !== root
|
|
7038
|
+
&& root.contains(document.activeElement) === true
|
|
7039
|
+
) {
|
|
7040
|
+
root.focus();
|
|
7034
7041
|
}
|
|
7035
7042
|
}
|
|
7036
|
-
else if (
|
|
7043
|
+
else if (
|
|
7044
|
+
refocusRef.value !== null
|
|
7045
|
+
&& (e === void 0 || (root !== null && root.contains(e.target) === true))
|
|
7046
|
+
) {
|
|
7037
7047
|
refocusRef.value.focus();
|
|
7038
7048
|
}
|
|
7039
7049
|
}
|
|
@@ -8286,7 +8296,7 @@
|
|
|
8286
8296
|
}
|
|
8287
8297
|
|
|
8288
8298
|
function onPan (event) {
|
|
8289
|
-
if (event.isFinal) {
|
|
8299
|
+
if (event.isFinal === true) {
|
|
8290
8300
|
if (dragging.value !== void 0) {
|
|
8291
8301
|
updatePosition(event.evt);
|
|
8292
8302
|
// only if touch, because we also have mousedown/up:
|
|
@@ -8296,7 +8306,7 @@
|
|
|
8296
8306
|
}
|
|
8297
8307
|
active.value = false;
|
|
8298
8308
|
}
|
|
8299
|
-
else if (event.isFirst) {
|
|
8309
|
+
else if (event.isFirst === true) {
|
|
8300
8310
|
dragging.value = getDragging(event.evt);
|
|
8301
8311
|
updatePosition(event.evt);
|
|
8302
8312
|
updateValue();
|
|
@@ -8326,7 +8336,7 @@
|
|
|
8326
8336
|
function onDeactivate () {
|
|
8327
8337
|
preventFocus.value = false;
|
|
8328
8338
|
|
|
8329
|
-
if (dragging.value ===
|
|
8339
|
+
if (dragging.value === false) {
|
|
8330
8340
|
active.value = false;
|
|
8331
8341
|
}
|
|
8332
8342
|
|
|
@@ -15883,27 +15893,30 @@
|
|
|
15883
15893
|
|
|
15884
15894
|
const listenerRE = /^on[A-Z]/;
|
|
15885
15895
|
|
|
15886
|
-
function useSplitAttrs (attrs) {
|
|
15896
|
+
function useSplitAttrs (attrs, vnode) {
|
|
15887
15897
|
const acc = {
|
|
15888
15898
|
listeners: vue.ref({}),
|
|
15889
15899
|
attributes: vue.ref({})
|
|
15890
15900
|
};
|
|
15891
15901
|
|
|
15892
15902
|
function update () {
|
|
15893
|
-
const listeners = {};
|
|
15894
15903
|
const attributes = {};
|
|
15904
|
+
const listeners = {};
|
|
15895
15905
|
|
|
15896
15906
|
Object.keys(attrs).forEach(key => {
|
|
15897
|
-
if (listenerRE.test(key) ===
|
|
15898
|
-
listeners[ key ] = attrs[ key ];
|
|
15899
|
-
}
|
|
15900
|
-
else if (key !== 'class' && key !== 'style') {
|
|
15907
|
+
if (key !== 'class' && key !== 'style' && listenerRE.test(key) === false) {
|
|
15901
15908
|
attributes[ key ] = attrs[ key ];
|
|
15902
15909
|
}
|
|
15903
15910
|
});
|
|
15904
15911
|
|
|
15905
|
-
|
|
15912
|
+
Object.keys(vnode.props).forEach(key => {
|
|
15913
|
+
if (listenerRE.test(key) === true) {
|
|
15914
|
+
listeners[ key ] = vnode.props[ key ];
|
|
15915
|
+
}
|
|
15916
|
+
});
|
|
15917
|
+
|
|
15906
15918
|
acc.attributes.value = attributes;
|
|
15919
|
+
acc.listeners.value = listeners;
|
|
15907
15920
|
}
|
|
15908
15921
|
|
|
15909
15922
|
vue.onBeforeUpdate(update);
|
|
@@ -16064,12 +16077,12 @@
|
|
|
16064
16077
|
],
|
|
16065
16078
|
|
|
16066
16079
|
setup (props, { slots, emit, attrs }) {
|
|
16067
|
-
const { proxy } = vue.getCurrentInstance();
|
|
16080
|
+
const { proxy, vnode } = vue.getCurrentInstance();
|
|
16068
16081
|
const { $q } = proxy;
|
|
16069
16082
|
|
|
16070
16083
|
const isDark = useDark(props, $q);
|
|
16071
16084
|
const { inFullscreen, toggleFullscreen } = useFullscreen();
|
|
16072
|
-
const splitAttrs = useSplitAttrs(attrs);
|
|
16085
|
+
const splitAttrs = useSplitAttrs(attrs, vnode);
|
|
16073
16086
|
|
|
16074
16087
|
const rootRef = vue.ref(null);
|
|
16075
16088
|
const contentRef = vue.ref(null);
|
|
@@ -17752,7 +17765,7 @@
|
|
|
17752
17765
|
const useFieldEmits = [ 'update:modelValue', 'clear', 'focus', 'blur', 'popup-show', 'popup-hide' ];
|
|
17753
17766
|
|
|
17754
17767
|
function useFieldState () {
|
|
17755
|
-
const { props, attrs, proxy } = vue.getCurrentInstance();
|
|
17768
|
+
const { props, attrs, proxy, vnode } = vue.getCurrentInstance();
|
|
17756
17769
|
|
|
17757
17770
|
const isDark = useDark(props, proxy.$q);
|
|
17758
17771
|
|
|
@@ -17765,9 +17778,9 @@
|
|
|
17765
17778
|
|
|
17766
17779
|
innerLoading: vue.ref(false),
|
|
17767
17780
|
focused: vue.ref(false),
|
|
17768
|
-
hasPopupOpen:
|
|
17781
|
+
hasPopupOpen: false,
|
|
17769
17782
|
|
|
17770
|
-
splitAttrs: useSplitAttrs(attrs),
|
|
17783
|
+
splitAttrs: useSplitAttrs(attrs, vnode),
|
|
17771
17784
|
targetUid: vue.ref(getTargetUid(props.for)),
|
|
17772
17785
|
|
|
17773
17786
|
rootRef: vue.ref(null),
|
|
@@ -17978,7 +17991,7 @@
|
|
|
17978
17991
|
focusoutTimer = setTimeout(() => {
|
|
17979
17992
|
if (
|
|
17980
17993
|
document.hasFocus() === true && (
|
|
17981
|
-
state.hasPopupOpen
|
|
17994
|
+
state.hasPopupOpen === true
|
|
17982
17995
|
|| (
|
|
17983
17996
|
state.controlRef !== void 0
|
|
17984
17997
|
&& (
|
|
@@ -21007,6 +21020,10 @@
|
|
|
21007
21020
|
|
|
21008
21021
|
once: Boolean,
|
|
21009
21022
|
transition: String,
|
|
21023
|
+
transitionDuration: {
|
|
21024
|
+
type: [ String, Number ],
|
|
21025
|
+
default: 300
|
|
21026
|
+
},
|
|
21010
21027
|
|
|
21011
21028
|
ssrPrerender: Boolean,
|
|
21012
21029
|
|
|
@@ -21052,6 +21069,10 @@
|
|
|
21052
21069
|
] ]
|
|
21053
21070
|
});
|
|
21054
21071
|
|
|
21072
|
+
const transitionStyle = vue.computed(
|
|
21073
|
+
() => `--q-transition-duration: ${ props.transitionDuration }ms`
|
|
21074
|
+
);
|
|
21075
|
+
|
|
21055
21076
|
function trigger (entry) {
|
|
21056
21077
|
if (showing.value !== entry.isIntersecting) {
|
|
21057
21078
|
showing.value = entry.isIntersecting;
|
|
@@ -21061,7 +21082,7 @@
|
|
|
21061
21082
|
|
|
21062
21083
|
function getContent () {
|
|
21063
21084
|
return showing.value === true
|
|
21064
|
-
? [ vue.h('div', { key: 'content' }, hSlot(slots.default)) ]
|
|
21085
|
+
? [ vue.h('div', { key: 'content', style: transitionStyle.value }, hSlot(slots.default)) ]
|
|
21065
21086
|
: void 0
|
|
21066
21087
|
}
|
|
21067
21088
|
|
|
@@ -23341,6 +23362,7 @@
|
|
|
23341
23362
|
const sizeStyle = useSize(props, defaultSizes);
|
|
23342
23363
|
|
|
23343
23364
|
const motion = vue.computed(() => props.indeterminate === true || props.query === true);
|
|
23365
|
+
const widthReverse = vue.computed(() => props.reverse !== props.query);
|
|
23344
23366
|
const style = vue.computed(() => ({
|
|
23345
23367
|
...(sizeStyle.value !== null ? sizeStyle.value : {}),
|
|
23346
23368
|
'--q-linear-progress-speed': `${ props.animationSpeed }ms`
|
|
@@ -23353,7 +23375,7 @@
|
|
|
23353
23375
|
+ (props.rounded === true ? ' rounded-borders' : '')
|
|
23354
23376
|
);
|
|
23355
23377
|
|
|
23356
|
-
const trackStyle = vue.computed(() => width(props.buffer !== void 0 ? props.buffer : 1,
|
|
23378
|
+
const trackStyle = vue.computed(() => width(props.buffer !== void 0 ? props.buffer : 1, widthReverse.value, proxy.$q));
|
|
23357
23379
|
const trackClass = vue.computed(() =>
|
|
23358
23380
|
'q-linear-progress__track absolute-full'
|
|
23359
23381
|
+ ` q-linear-progress__track--with${ props.instantFeedback === true ? 'out' : '' }-transition`
|
|
@@ -23361,7 +23383,7 @@
|
|
|
23361
23383
|
+ (props.trackColor !== void 0 ? ` bg-${ props.trackColor }` : '')
|
|
23362
23384
|
);
|
|
23363
23385
|
|
|
23364
|
-
const modelStyle = vue.computed(() => width(motion.value === true ? 1 : props.value,
|
|
23386
|
+
const modelStyle = vue.computed(() => width(motion.value === true ? 1 : props.value, widthReverse.value, proxy.$q));
|
|
23365
23387
|
const modelClass = vue.computed(() =>
|
|
23366
23388
|
'q-linear-progress__model absolute-full'
|
|
23367
23389
|
+ ` q-linear-progress__model--with${ props.instantFeedback === true ? 'out' : '' }-transition`
|
|
@@ -24379,6 +24401,11 @@
|
|
|
24379
24401
|
vertical: { offset: 'offsetY', scroll: 'scrollTop', dir: 'down', dist: 'y' },
|
|
24380
24402
|
horizontal: { offset: 'offsetX', scroll: 'scrollLeft', dir: 'right', dist: 'x' }
|
|
24381
24403
|
};
|
|
24404
|
+
const panOpts = {
|
|
24405
|
+
prevent: true,
|
|
24406
|
+
mouse: true,
|
|
24407
|
+
mouseAllDir: true
|
|
24408
|
+
};
|
|
24382
24409
|
|
|
24383
24410
|
var QScrollArea = createComponent({
|
|
24384
24411
|
name: 'QScrollArea',
|
|
@@ -24534,7 +24561,7 @@
|
|
|
24534
24561
|
);
|
|
24535
24562
|
|
|
24536
24563
|
const mainStyle = vue.computed(() => (
|
|
24537
|
-
scroll.vertical.thumbHidden.value === true
|
|
24564
|
+
scroll.vertical.thumbHidden.value === true && scroll.horizontal.thumbHidden.value === true
|
|
24538
24565
|
? props.contentStyle
|
|
24539
24566
|
: props.contentActiveStyle
|
|
24540
24567
|
));
|
|
@@ -24543,24 +24570,14 @@
|
|
|
24543
24570
|
TouchPan,
|
|
24544
24571
|
e => { onPanThumb(e, 'vertical'); },
|
|
24545
24572
|
void 0,
|
|
24546
|
-
{
|
|
24547
|
-
vertical: true,
|
|
24548
|
-
prevent: true,
|
|
24549
|
-
mouse: true,
|
|
24550
|
-
mouseAllDir: true
|
|
24551
|
-
}
|
|
24573
|
+
{ vertical: true, ...panOpts }
|
|
24552
24574
|
] ];
|
|
24553
24575
|
|
|
24554
24576
|
const thumbHorizDir = [ [
|
|
24555
24577
|
TouchPan,
|
|
24556
24578
|
e => { onPanThumb(e, 'horizontal'); },
|
|
24557
24579
|
void 0,
|
|
24558
|
-
{
|
|
24559
|
-
horizontal: true,
|
|
24560
|
-
prevent: true,
|
|
24561
|
-
mouse: true,
|
|
24562
|
-
mouseAllDir: true
|
|
24563
|
-
}
|
|
24580
|
+
{ horizontal: true, ...panOpts }
|
|
24564
24581
|
] ];
|
|
24565
24582
|
|
|
24566
24583
|
function getScroll () {
|
|
@@ -26671,7 +26688,7 @@
|
|
|
26671
26688
|
function getDialog () {
|
|
26672
26689
|
const content = [
|
|
26673
26690
|
vue.h(QField, {
|
|
26674
|
-
class: `col-auto ${ state.fieldClass }`,
|
|
26691
|
+
class: `col-auto ${ state.fieldClass.value }`,
|
|
26675
26692
|
...innerFieldProps.value,
|
|
26676
26693
|
for: state.targetUid.value,
|
|
26677
26694
|
dark: isOptionsDark.value,
|
|
@@ -26837,14 +26854,14 @@
|
|
|
26837
26854
|
function onControlPopupShow (e) {
|
|
26838
26855
|
e !== void 0 && stop(e);
|
|
26839
26856
|
emit('popup-show', e);
|
|
26840
|
-
state.hasPopupOpen
|
|
26857
|
+
state.hasPopupOpen = true;
|
|
26841
26858
|
state.onControlFocusin(e);
|
|
26842
26859
|
}
|
|
26843
26860
|
|
|
26844
26861
|
function onControlPopupHide (e) {
|
|
26845
26862
|
e !== void 0 && stop(e);
|
|
26846
26863
|
emit('popup-hide', e);
|
|
26847
|
-
state.hasPopupOpen
|
|
26864
|
+
state.hasPopupOpen = false;
|
|
26848
26865
|
state.onControlFocusout(e);
|
|
26849
26866
|
}
|
|
26850
26867
|
|
|
@@ -26916,6 +26933,10 @@
|
|
|
26916
26933
|
) {
|
|
26917
26934
|
return hasDialog === true ? getDialog() : getMenu()
|
|
26918
26935
|
}
|
|
26936
|
+
else if (state.hasPopupOpen === true) {
|
|
26937
|
+
// explicitly set it otherwise TAB will not blur component
|
|
26938
|
+
state.hasPopupOpen = false;
|
|
26939
|
+
}
|
|
26919
26940
|
},
|
|
26920
26941
|
|
|
26921
26942
|
controlEvents: {
|
|
@@ -30321,6 +30342,10 @@
|
|
|
30321
30342
|
vue.nextTick(() => {
|
|
30322
30343
|
emit('request', {
|
|
30323
30344
|
pagination: prop.pagination || computedPagination.value,
|
|
30345
|
+
// FIXME: 'props.filter' is string/object, but 'prop.filter' can be controlled by the user, and the docs are suggesting 'prop.filter' is a function
|
|
30346
|
+
// So, value of 'filter' becomes function/string/object, which makes a lot of things unpredictable and can break things
|
|
30347
|
+
// Either update the docs to say 'prop.filter' should be a string/object, or use 'prop.filter || props.filterMethod' or maybe get 'computedFilterFunction' here and use that instead of 'props.filterMethod'
|
|
30348
|
+
// The examples on our docs are using 'filter' as a string in onRequest handler, but the JSON API is saying 'filter' is a function
|
|
30324
30349
|
filter: prop.filter || props.filter,
|
|
30325
30350
|
getCellValue
|
|
30326
30351
|
});
|
|
@@ -31232,7 +31257,7 @@
|
|
|
31232
31257
|
topSelection = slots[ 'top-selection' ],
|
|
31233
31258
|
hasSelection = hasSelectionMode.value === true
|
|
31234
31259
|
&& topSelection !== void 0
|
|
31235
|
-
&& rowsSelectedNumber.
|
|
31260
|
+
&& rowsSelectedNumber.value > 0,
|
|
31236
31261
|
topClass = 'q-table__top relative-position row items-center';
|
|
31237
31262
|
|
|
31238
31263
|
if (top !== void 0) {
|
|
@@ -38728,6 +38753,7 @@
|
|
|
38728
38753
|
}
|
|
38729
38754
|
}
|
|
38730
38755
|
|
|
38756
|
+
// Don't forget to update the types in "ui/types/composables.d.ts"
|
|
38731
38757
|
const emits = [ 'ok', 'hide' ];
|
|
38732
38758
|
|
|
38733
38759
|
useDialogPluginComponent.emits = emits;
|
|
@@ -38787,7 +38813,7 @@
|
|
|
38787
38813
|
});
|
|
38788
38814
|
|
|
38789
38815
|
var index_umd = {
|
|
38790
|
-
version: '2.3.
|
|
38816
|
+
version: '2.3.4',
|
|
38791
38817
|
install (app, opts) {
|
|
38792
38818
|
installQuasar(app, {
|
|
38793
38819
|
components,
|