quasar 2.11.3 → 2.11.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/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/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.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/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.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/mdi-v7.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-fontawesome-v6.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 +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-material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v7.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-TN.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/eu.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/kk.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/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.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/sm.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/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.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 +4 -0
- package/dist/quasar.esm.js +375 -175
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +4 -0
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +3 -1
- package/dist/quasar.umd.js +375 -175
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/web-types/web-types.json +1 -1
- package/package.json +1 -1
- package/src/components/ajax-bar/QAjaxBar.js +13 -5
- package/src/components/btn/QBtn.js +3 -2
- package/src/components/carousel/QCarousel.js +17 -10
- package/src/components/dialog/QDialog.js +8 -4
- package/src/components/drawer/QDrawer.js +8 -3
- package/src/components/img/QImg.js +25 -11
- package/src/components/input/QInput.js +14 -4
- package/src/components/layout/QLayout.js +5 -5
- package/src/components/menu/QMenu.js +1 -1
- package/src/components/pull-to-refresh/QPullToRefresh.js +5 -4
- package/src/components/resize-observer/QResizeObserver.js +9 -4
- package/src/components/scroll-area/QScrollArea.js +8 -8
- package/src/components/select/QSelect.js +19 -8
- package/src/components/slide-item/QSlideItem.js +4 -2
- package/src/components/slide-transition/QSlideTransition.js +17 -3
- package/src/components/tabs/QTabs.js +12 -5
- package/src/components/tooltip/QTooltip.js +1 -1
- package/src/composables/private/use-anchor.js +8 -3
- package/src/composables/private/use-field.js +10 -4
- package/src/composables/private/use-portal.js +3 -3
- package/src/composables/private/use-timeout.js +6 -3
- package/src/css/core/visibility.sass +2 -0
- package/src/directives/TouchHold.js +9 -4
- package/src/directives/TouchRepeat.js +10 -3
- package/src/plugins/Loading.js +5 -5
- package/src/plugins/Meta.js +4 -2
- package/src/plugins/Notify.js +13 -3
- package/src/utils/debounce.js +9 -6
- package/src/utils/morph.js +7 -6
- package/src/utils/prevent-scroll.js +5 -6
- package/src/utils/private/click-outside.js +10 -3
- package/src/utils/private/global-dialog.js +1 -1
- package/src/utils/private/global-nodes.js +44 -13
- package/src/utils/private/position-engine.js +67 -25
package/dist/quasar.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.11.
|
|
2
|
+
* Quasar Framework v2.11.4
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -555,27 +555,30 @@ var event = {
|
|
|
555
555
|
};
|
|
556
556
|
|
|
557
557
|
function debounce (fn, wait = 250, immediate) {
|
|
558
|
-
let
|
|
558
|
+
let timer = null;
|
|
559
559
|
|
|
560
560
|
function debounced (/* ...args */) {
|
|
561
561
|
const args = arguments;
|
|
562
562
|
|
|
563
563
|
const later = () => {
|
|
564
|
-
|
|
564
|
+
timer = null;
|
|
565
565
|
if (immediate !== true) {
|
|
566
566
|
fn.apply(this, args);
|
|
567
567
|
}
|
|
568
568
|
};
|
|
569
569
|
|
|
570
|
-
|
|
571
|
-
|
|
570
|
+
if (timer !== null) {
|
|
571
|
+
clearTimeout(timer);
|
|
572
|
+
}
|
|
573
|
+
else if (immediate === true) {
|
|
572
574
|
fn.apply(this, args);
|
|
573
575
|
}
|
|
574
|
-
|
|
576
|
+
|
|
577
|
+
timer = setTimeout(later, wait);
|
|
575
578
|
}
|
|
576
579
|
|
|
577
580
|
debounced.cancel = () => {
|
|
578
|
-
clearTimeout(
|
|
581
|
+
timer !== null && clearTimeout(timer);
|
|
579
582
|
};
|
|
580
583
|
|
|
581
584
|
return debounced
|
|
@@ -1643,7 +1646,7 @@ function prepareApp (app, uiOpts, pluginOpts) {
|
|
|
1643
1646
|
}
|
|
1644
1647
|
|
|
1645
1648
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1646
|
-
const $q = { version: '2.11.
|
|
1649
|
+
const $q = { version: '2.11.4' };
|
|
1647
1650
|
|
|
1648
1651
|
if (globalConfigIsFrozen === false) {
|
|
1649
1652
|
if (opts.config !== void 0) {
|
|
@@ -1842,7 +1845,7 @@ var QAjaxBar = createComponent({
|
|
|
1842
1845
|
const onScreen = ref(false);
|
|
1843
1846
|
const animate = ref(true);
|
|
1844
1847
|
|
|
1845
|
-
let sessions = 0, timer, speed;
|
|
1848
|
+
let sessions = 0, timer = null, speed;
|
|
1846
1849
|
|
|
1847
1850
|
const classes = computed(() =>
|
|
1848
1851
|
`q-loading-bar q-loading-bar--${ props.position }`
|
|
@@ -1894,19 +1897,21 @@ var QAjaxBar = createComponent({
|
|
|
1894
1897
|
if (oldSpeed === 0 && newSpeed > 0) {
|
|
1895
1898
|
planNextStep();
|
|
1896
1899
|
}
|
|
1897
|
-
else if (oldSpeed > 0 && newSpeed <= 0) {
|
|
1900
|
+
else if (timer !== null && oldSpeed > 0 && newSpeed <= 0) {
|
|
1898
1901
|
clearTimeout(timer);
|
|
1902
|
+
timer = null;
|
|
1899
1903
|
}
|
|
1900
1904
|
|
|
1901
1905
|
return sessions
|
|
1902
1906
|
}
|
|
1903
1907
|
|
|
1904
|
-
clearTimeout(timer);
|
|
1908
|
+
timer !== null && clearTimeout(timer);
|
|
1905
1909
|
emit('start');
|
|
1906
1910
|
|
|
1907
1911
|
progress.value = 0;
|
|
1908
1912
|
|
|
1909
1913
|
timer = setTimeout(() => {
|
|
1914
|
+
timer = null;
|
|
1910
1915
|
animate.value = true;
|
|
1911
1916
|
newSpeed > 0 && planNextStep();
|
|
1912
1917
|
}, onScreen.value === true ? 500 : 1);
|
|
@@ -1933,13 +1938,18 @@ var QAjaxBar = createComponent({
|
|
|
1933
1938
|
return sessions
|
|
1934
1939
|
}
|
|
1935
1940
|
|
|
1936
|
-
|
|
1941
|
+
if (timer !== null) {
|
|
1942
|
+
clearTimeout(timer);
|
|
1943
|
+
timer = null;
|
|
1944
|
+
}
|
|
1945
|
+
|
|
1937
1946
|
emit('stop');
|
|
1938
1947
|
|
|
1939
1948
|
const end = () => {
|
|
1940
1949
|
animate.value = true;
|
|
1941
1950
|
progress.value = 100;
|
|
1942
1951
|
timer = setTimeout(() => {
|
|
1952
|
+
timer = null;
|
|
1943
1953
|
onScreen.value = false;
|
|
1944
1954
|
}, 1000);
|
|
1945
1955
|
};
|
|
@@ -1957,6 +1967,7 @@ var QAjaxBar = createComponent({
|
|
|
1957
1967
|
function planNextStep () {
|
|
1958
1968
|
if (progress.value < 100) {
|
|
1959
1969
|
timer = setTimeout(() => {
|
|
1970
|
+
timer = null;
|
|
1960
1971
|
increment();
|
|
1961
1972
|
planNextStep();
|
|
1962
1973
|
}, speed);
|
|
@@ -1977,7 +1988,7 @@ var QAjaxBar = createComponent({
|
|
|
1977
1988
|
});
|
|
1978
1989
|
|
|
1979
1990
|
onBeforeUnmount(() => {
|
|
1980
|
-
clearTimeout(timer);
|
|
1991
|
+
timer !== null && clearTimeout(timer);
|
|
1981
1992
|
hijacked === true && restoreAjax(start);
|
|
1982
1993
|
});
|
|
1983
1994
|
|
|
@@ -3581,7 +3592,7 @@ var QBtn = createComponent({
|
|
|
3581
3592
|
const rootRef = ref(null);
|
|
3582
3593
|
const blurTargetRef = ref(null);
|
|
3583
3594
|
|
|
3584
|
-
let localTouchTargetEl = null, avoidMouseRipple, mouseTimer;
|
|
3595
|
+
let localTouchTargetEl = null, avoidMouseRipple, mouseTimer = null;
|
|
3585
3596
|
|
|
3586
3597
|
const hasLabel = computed(() =>
|
|
3587
3598
|
props.label !== void 0 && props.label !== null && props.label !== ''
|
|
@@ -3727,8 +3738,9 @@ var QBtn = createComponent({
|
|
|
3727
3738
|
// avoid duplicated mousedown event
|
|
3728
3739
|
// triggering another early ripple
|
|
3729
3740
|
avoidMouseRipple = true;
|
|
3730
|
-
clearTimeout(mouseTimer);
|
|
3741
|
+
mouseTimer !== null && clearTimeout(mouseTimer);
|
|
3731
3742
|
mouseTimer = setTimeout(() => {
|
|
3743
|
+
mouseTimer = null;
|
|
3732
3744
|
avoidMouseRipple = false;
|
|
3733
3745
|
}, 200);
|
|
3734
3746
|
}
|
|
@@ -3974,7 +3986,7 @@ function useAnchor ({
|
|
|
3974
3986
|
|
|
3975
3987
|
const anchorEl = ref(null);
|
|
3976
3988
|
|
|
3977
|
-
let touchTimer;
|
|
3989
|
+
let touchTimer = null;
|
|
3978
3990
|
|
|
3979
3991
|
function canShow (evt) {
|
|
3980
3992
|
// abort with no parent configured or on multi-touch
|
|
@@ -4033,6 +4045,7 @@ function useAnchor ({
|
|
|
4033
4045
|
]);
|
|
4034
4046
|
|
|
4035
4047
|
touchTimer = setTimeout(() => {
|
|
4048
|
+
touchTimer = null;
|
|
4036
4049
|
proxy.show(evt);
|
|
4037
4050
|
evt.qAnchorHandled = true;
|
|
4038
4051
|
}, 300);
|
|
@@ -4040,7 +4053,11 @@ function useAnchor ({
|
|
|
4040
4053
|
|
|
4041
4054
|
mobileCleanup (evt) {
|
|
4042
4055
|
anchorEl.value.classList.remove('non-selectable');
|
|
4043
|
-
|
|
4056
|
+
|
|
4057
|
+
if (touchTimer !== null) {
|
|
4058
|
+
clearTimeout(touchTimer);
|
|
4059
|
+
touchTimer = null;
|
|
4060
|
+
}
|
|
4044
4061
|
|
|
4045
4062
|
if (showing.value === true && evt !== void 0) {
|
|
4046
4063
|
clearSelection();
|
|
@@ -4154,7 +4171,7 @@ function useAnchor ({
|
|
|
4154
4171
|
});
|
|
4155
4172
|
|
|
4156
4173
|
onBeforeUnmount(() => {
|
|
4157
|
-
clearTimeout(touchTimer);
|
|
4174
|
+
touchTimer !== null && clearTimeout(touchTimer);
|
|
4158
4175
|
unconfigureAnchorEl();
|
|
4159
4176
|
});
|
|
4160
4177
|
|
|
@@ -4395,15 +4412,18 @@ function removeFocusFn (fn) {
|
|
|
4395
4412
|
queue = queue.filter(entry => entry !== fn);
|
|
4396
4413
|
}
|
|
4397
4414
|
|
|
4398
|
-
const
|
|
4415
|
+
const nodesList = [];
|
|
4416
|
+
const portalTypeList = [];
|
|
4417
|
+
|
|
4418
|
+
let portalIndex = 1;
|
|
4399
4419
|
let target = document.body;
|
|
4400
4420
|
|
|
4401
|
-
function createGlobalNode (id) {
|
|
4421
|
+
function createGlobalNode (id, portalType) {
|
|
4402
4422
|
const el = document.createElement('div');
|
|
4403
4423
|
|
|
4404
|
-
|
|
4405
|
-
|
|
4406
|
-
|
|
4424
|
+
el.id = portalType !== void 0
|
|
4425
|
+
? `q-portal--${ portalType }--${ portalIndex++ }`
|
|
4426
|
+
: id;
|
|
4407
4427
|
|
|
4408
4428
|
if (globalConfig.globalNodes !== void 0) {
|
|
4409
4429
|
const cls = globalConfig.globalNodes.class;
|
|
@@ -4413,25 +4433,53 @@ function createGlobalNode (id) {
|
|
|
4413
4433
|
}
|
|
4414
4434
|
|
|
4415
4435
|
target.appendChild(el);
|
|
4416
|
-
|
|
4436
|
+
nodesList.push(el);
|
|
4437
|
+
portalTypeList.push(portalType);
|
|
4417
4438
|
|
|
4418
4439
|
return el
|
|
4419
4440
|
}
|
|
4420
4441
|
|
|
4421
4442
|
function removeGlobalNode (el) {
|
|
4422
|
-
|
|
4443
|
+
const nodeIndex = nodesList.indexOf(el);
|
|
4444
|
+
|
|
4445
|
+
nodesList.splice(nodeIndex, 1);
|
|
4446
|
+
portalTypeList.splice(nodeIndex, 1);
|
|
4447
|
+
|
|
4423
4448
|
el.remove();
|
|
4424
4449
|
}
|
|
4425
4450
|
|
|
4426
|
-
function changeGlobalNodesTarget (
|
|
4427
|
-
if (
|
|
4428
|
-
|
|
4451
|
+
function changeGlobalNodesTarget (newTarget) {
|
|
4452
|
+
if (newTarget === target) {
|
|
4453
|
+
return
|
|
4454
|
+
}
|
|
4429
4455
|
|
|
4430
|
-
|
|
4431
|
-
|
|
4432
|
-
|
|
4456
|
+
target = newTarget;
|
|
4457
|
+
|
|
4458
|
+
if (
|
|
4459
|
+
target === document.body
|
|
4460
|
+
// or we have less than 2 dialogs:
|
|
4461
|
+
|| portalTypeList.reduce((acc, type) => (type === 'dialog' ? acc + 1 : acc), 0) < 2
|
|
4462
|
+
) {
|
|
4463
|
+
nodesList.forEach(node => {
|
|
4464
|
+
if (node.contains(target) === false) {
|
|
4465
|
+
target.appendChild(node);
|
|
4433
4466
|
}
|
|
4434
4467
|
});
|
|
4468
|
+
|
|
4469
|
+
return
|
|
4470
|
+
}
|
|
4471
|
+
|
|
4472
|
+
const lastDialogIndex = portalTypeList.lastIndexOf('dialog');
|
|
4473
|
+
|
|
4474
|
+
for (let i = 0; i < nodesList.length; i++) {
|
|
4475
|
+
const el = nodesList[ i ];
|
|
4476
|
+
|
|
4477
|
+
if (
|
|
4478
|
+
(i === lastDialogIndex || portalTypeList[ i ] !== 'dialog')
|
|
4479
|
+
&& el.contains(target) === false
|
|
4480
|
+
) {
|
|
4481
|
+
target.appendChild(el);
|
|
4482
|
+
}
|
|
4435
4483
|
}
|
|
4436
4484
|
}
|
|
4437
4485
|
|
|
@@ -4510,7 +4558,7 @@ function isOnGlobalDialog (vm) {
|
|
|
4510
4558
|
// Warning!
|
|
4511
4559
|
// You MUST specify "inheritAttrs: false" in your component
|
|
4512
4560
|
|
|
4513
|
-
function usePortal (vm, innerRef, renderPortalContent,
|
|
4561
|
+
function usePortal (vm, innerRef, renderPortalContent, type) {
|
|
4514
4562
|
// showing, including while in show/hide transition
|
|
4515
4563
|
const portalIsActive = ref(false);
|
|
4516
4564
|
|
|
@@ -4519,7 +4567,7 @@ function usePortal (vm, innerRef, renderPortalContent, checkGlobalDialog) {
|
|
|
4519
4567
|
|
|
4520
4568
|
let portalEl = null;
|
|
4521
4569
|
const focusObj = {};
|
|
4522
|
-
const onGlobalDialog =
|
|
4570
|
+
const onGlobalDialog = type === 'dialog' && isOnGlobalDialog(vm);
|
|
4523
4571
|
|
|
4524
4572
|
function showPortal (isReady) {
|
|
4525
4573
|
if (isReady === true) {
|
|
@@ -4532,7 +4580,7 @@ function usePortal (vm, innerRef, renderPortalContent, checkGlobalDialog) {
|
|
|
4532
4580
|
|
|
4533
4581
|
if (portalIsActive.value === false) {
|
|
4534
4582
|
if (onGlobalDialog === false && portalEl === null) {
|
|
4535
|
-
portalEl = createGlobalNode();
|
|
4583
|
+
portalEl = createGlobalNode(false, type);
|
|
4536
4584
|
}
|
|
4537
4585
|
|
|
4538
4586
|
portalIsActive.value = true;
|
|
@@ -4673,11 +4721,14 @@ function useTick () {
|
|
|
4673
4721
|
*/
|
|
4674
4722
|
|
|
4675
4723
|
function useTimeout () {
|
|
4676
|
-
let timer;
|
|
4724
|
+
let timer = null;
|
|
4677
4725
|
const vm = getCurrentInstance();
|
|
4678
4726
|
|
|
4679
4727
|
function removeTimeout () {
|
|
4680
|
-
|
|
4728
|
+
if (timer !== null) {
|
|
4729
|
+
clearTimeout(timer);
|
|
4730
|
+
timer = null;
|
|
4731
|
+
}
|
|
4681
4732
|
}
|
|
4682
4733
|
|
|
4683
4734
|
onDeactivated(removeTimeout);
|
|
@@ -4687,7 +4738,7 @@ function useTimeout () {
|
|
|
4687
4738
|
removeTimeout,
|
|
4688
4739
|
|
|
4689
4740
|
registerTimeout (fn, delay) {
|
|
4690
|
-
|
|
4741
|
+
removeTimeout();
|
|
4691
4742
|
|
|
4692
4743
|
if (vmIsDestroyed(vm) === false) {
|
|
4693
4744
|
timer = setTimeout(fn, delay);
|
|
@@ -4969,14 +5020,11 @@ function removeFocusout (fn) {
|
|
|
4969
5020
|
}
|
|
4970
5021
|
}
|
|
4971
5022
|
|
|
4972
|
-
let timer;
|
|
4973
|
-
|
|
4974
5023
|
const
|
|
4975
5024
|
{ notPassiveCapture } = listenOpts,
|
|
4976
5025
|
registeredList = [];
|
|
4977
5026
|
|
|
4978
5027
|
function globalHandler (evt) {
|
|
4979
|
-
clearTimeout(timer);
|
|
4980
5028
|
|
|
4981
5029
|
const target = evt.target;
|
|
4982
5030
|
|
|
@@ -5049,7 +5097,7 @@ function removeClickOutside (clickOutsideProps) {
|
|
|
5049
5097
|
registeredList.splice(index, 1);
|
|
5050
5098
|
|
|
5051
5099
|
if (registeredList.length === 0) {
|
|
5052
|
-
|
|
5100
|
+
|
|
5053
5101
|
document.removeEventListener('mousedown', globalHandler, notPassiveCapture);
|
|
5054
5102
|
document.removeEventListener('touchstart', globalHandler, notPassiveCapture);
|
|
5055
5103
|
}
|
|
@@ -5117,17 +5165,32 @@ function getAnchorProps (el, offset) {
|
|
|
5117
5165
|
}
|
|
5118
5166
|
|
|
5119
5167
|
return {
|
|
5120
|
-
top,
|
|
5121
|
-
left,
|
|
5122
|
-
right,
|
|
5123
|
-
bottom,
|
|
5124
|
-
width,
|
|
5125
|
-
height,
|
|
5168
|
+
top, bottom, height,
|
|
5169
|
+
left, right, width,
|
|
5126
5170
|
middle: left + (right - left) / 2,
|
|
5127
5171
|
center: top + (bottom - top) / 2
|
|
5128
5172
|
}
|
|
5129
5173
|
}
|
|
5130
5174
|
|
|
5175
|
+
function getAbsoluteAnchorProps (el, absoluteOffset, offset) {
|
|
5176
|
+
let { top, left } = el.getBoundingClientRect();
|
|
5177
|
+
|
|
5178
|
+
top += absoluteOffset.top;
|
|
5179
|
+
left += absoluteOffset.left;
|
|
5180
|
+
|
|
5181
|
+
if (offset !== void 0) {
|
|
5182
|
+
top += offset[ 1 ];
|
|
5183
|
+
left += offset[ 0 ];
|
|
5184
|
+
}
|
|
5185
|
+
|
|
5186
|
+
return {
|
|
5187
|
+
top, bottom: top + 1, height: 1,
|
|
5188
|
+
left, right: left + 1, width: 1,
|
|
5189
|
+
middle: left,
|
|
5190
|
+
center: top
|
|
5191
|
+
}
|
|
5192
|
+
}
|
|
5193
|
+
|
|
5131
5194
|
function getTargetProps (el) {
|
|
5132
5195
|
return {
|
|
5133
5196
|
top: 0,
|
|
@@ -5139,6 +5202,13 @@ function getTargetProps (el) {
|
|
|
5139
5202
|
}
|
|
5140
5203
|
}
|
|
5141
5204
|
|
|
5205
|
+
function getTopLeftProps (anchorProps, targetProps, cfg) {
|
|
5206
|
+
return {
|
|
5207
|
+
top: anchorProps[ cfg.anchorOrigin.vertical ] - targetProps[ cfg.selfOrigin.vertical ],
|
|
5208
|
+
left: anchorProps[ cfg.anchorOrigin.horizontal ] - targetProps[ cfg.selfOrigin.horizontal ]
|
|
5209
|
+
}
|
|
5210
|
+
}
|
|
5211
|
+
|
|
5142
5212
|
// cfg: { el, anchorEl, anchorOrigin, selfOrigin, offset, absoluteOffset, cover, fit, maxHeight, maxWidth }
|
|
5143
5213
|
function setPosition (cfg) {
|
|
5144
5214
|
if (client.is.ios === true && window.visualViewport !== void 0) {
|
|
@@ -5157,25 +5227,15 @@ function setPosition (cfg) {
|
|
|
5157
5227
|
}
|
|
5158
5228
|
}
|
|
5159
5229
|
|
|
5160
|
-
let anchorProps;
|
|
5161
|
-
|
|
5162
5230
|
// scroll position might change
|
|
5163
5231
|
// if max-height/-width changes, so we
|
|
5164
5232
|
// need to restore it after we calculate
|
|
5165
5233
|
// the new positioning
|
|
5166
5234
|
const { scrollLeft, scrollTop } = cfg.el;
|
|
5167
5235
|
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
|
|
5171
|
-
else {
|
|
5172
|
-
const
|
|
5173
|
-
{ top: anchorTop, left: anchorLeft } = cfg.anchorEl.getBoundingClientRect(),
|
|
5174
|
-
top = anchorTop + cfg.absoluteOffset.top,
|
|
5175
|
-
left = anchorLeft + cfg.absoluteOffset.left;
|
|
5176
|
-
|
|
5177
|
-
anchorProps = { top, left, width: 1, height: 1, right: left + 1, center: top, middle: left, bottom: top + 1 };
|
|
5178
|
-
}
|
|
5236
|
+
const anchorProps = cfg.absoluteOffset === void 0
|
|
5237
|
+
? getAnchorProps(cfg.anchorEl, cfg.cover === true ? [ 0, 0 ] : cfg.offset)
|
|
5238
|
+
: getAbsoluteAnchorProps(cfg.anchorEl, cfg.absoluteOffset, cfg.offset);
|
|
5179
5239
|
|
|
5180
5240
|
let elStyle = {
|
|
5181
5241
|
maxHeight: cfg.maxHeight,
|
|
@@ -5192,14 +5252,44 @@ function setPosition (cfg) {
|
|
|
5192
5252
|
|
|
5193
5253
|
Object.assign(cfg.el.style, elStyle);
|
|
5194
5254
|
|
|
5195
|
-
const
|
|
5196
|
-
|
|
5197
|
-
props = {
|
|
5198
|
-
top: anchorProps[ cfg.anchorOrigin.vertical ] - targetProps[ cfg.selfOrigin.vertical ],
|
|
5199
|
-
left: anchorProps[ cfg.anchorOrigin.horizontal ] - targetProps[ cfg.selfOrigin.horizontal ]
|
|
5200
|
-
};
|
|
5255
|
+
const targetProps = getTargetProps(cfg.el);
|
|
5256
|
+
let props = getTopLeftProps(anchorProps, targetProps, cfg);
|
|
5201
5257
|
|
|
5202
|
-
|
|
5258
|
+
if (cfg.absoluteOffset === void 0 || cfg.offset === void 0) {
|
|
5259
|
+
applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
|
|
5260
|
+
}
|
|
5261
|
+
else { // we have touch position or context menu with offset
|
|
5262
|
+
const { top, left } = props; // cache initial values
|
|
5263
|
+
|
|
5264
|
+
// apply initial boundaries
|
|
5265
|
+
applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
|
|
5266
|
+
|
|
5267
|
+
let hasChanged = false;
|
|
5268
|
+
|
|
5269
|
+
// did it flip vertically?
|
|
5270
|
+
if (props.top !== top) {
|
|
5271
|
+
hasChanged = true;
|
|
5272
|
+
const offsetY = 2 * cfg.offset[ 1 ];
|
|
5273
|
+
anchorProps.center = anchorProps.top -= offsetY;
|
|
5274
|
+
anchorProps.bottom -= offsetY + 2;
|
|
5275
|
+
}
|
|
5276
|
+
|
|
5277
|
+
// did it flip horizontally?
|
|
5278
|
+
if (props.left !== left) {
|
|
5279
|
+
hasChanged = true;
|
|
5280
|
+
const offsetX = 2 * cfg.offset[ 0 ];
|
|
5281
|
+
anchorProps.middle = anchorProps.left -= offsetX;
|
|
5282
|
+
anchorProps.right -= offsetX + 2;
|
|
5283
|
+
}
|
|
5284
|
+
|
|
5285
|
+
if (hasChanged === true) {
|
|
5286
|
+
// re-calculate props with the new anchor
|
|
5287
|
+
props = getTopLeftProps(anchorProps, targetProps, cfg);
|
|
5288
|
+
|
|
5289
|
+
// and re-apply boundaries
|
|
5290
|
+
applyBoundaries(props, anchorProps, targetProps, cfg.anchorOrigin, cfg.selfOrigin);
|
|
5291
|
+
}
|
|
5292
|
+
}
|
|
5203
5293
|
|
|
5204
5294
|
elStyle = {
|
|
5205
5295
|
top: props.top + 'px',
|
|
@@ -5380,7 +5470,7 @@ var QMenu = createComponent({
|
|
|
5380
5470
|
processOnMount: true
|
|
5381
5471
|
});
|
|
5382
5472
|
|
|
5383
|
-
const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent);
|
|
5473
|
+
const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent, 'menu');
|
|
5384
5474
|
|
|
5385
5475
|
const clickOutsideProps = {
|
|
5386
5476
|
anchorEl,
|
|
@@ -6997,7 +7087,7 @@ var QCarousel = createComponent({
|
|
|
6997
7087
|
|
|
6998
7088
|
const isDark = useDark(props, $q);
|
|
6999
7089
|
|
|
7000
|
-
let timer, panelsLen;
|
|
7090
|
+
let timer = null, panelsLen;
|
|
7001
7091
|
|
|
7002
7092
|
const {
|
|
7003
7093
|
updatePanelsList, getPanelContent,
|
|
@@ -7051,7 +7141,6 @@ var QCarousel = createComponent({
|
|
|
7051
7141
|
|
|
7052
7142
|
watch(() => props.modelValue, () => {
|
|
7053
7143
|
if (props.autoplay) {
|
|
7054
|
-
clearInterval(timer);
|
|
7055
7144
|
startTimer();
|
|
7056
7145
|
}
|
|
7057
7146
|
});
|
|
@@ -7060,20 +7149,28 @@ var QCarousel = createComponent({
|
|
|
7060
7149
|
if (val) {
|
|
7061
7150
|
startTimer();
|
|
7062
7151
|
}
|
|
7063
|
-
else {
|
|
7064
|
-
|
|
7152
|
+
else if (timer !== null) {
|
|
7153
|
+
clearTimeout(timer);
|
|
7154
|
+
timer = null;
|
|
7065
7155
|
}
|
|
7066
7156
|
});
|
|
7067
7157
|
|
|
7068
7158
|
function startTimer () {
|
|
7069
7159
|
const duration = isNumber(props.autoplay) === true
|
|
7070
|
-
? props.autoplay
|
|
7160
|
+
? Math.abs(props.autoplay)
|
|
7071
7161
|
: 5000;
|
|
7072
7162
|
|
|
7073
|
-
timer
|
|
7074
|
-
|
|
7075
|
-
|
|
7076
|
-
|
|
7163
|
+
timer !== null && clearTimeout(timer);
|
|
7164
|
+
timer = setTimeout(() => {
|
|
7165
|
+
timer = null;
|
|
7166
|
+
|
|
7167
|
+
if (duration >= 0) {
|
|
7168
|
+
nextPanel();
|
|
7169
|
+
}
|
|
7170
|
+
else {
|
|
7171
|
+
previousPanel();
|
|
7172
|
+
}
|
|
7173
|
+
}, duration);
|
|
7077
7174
|
}
|
|
7078
7175
|
|
|
7079
7176
|
onMounted(() => {
|
|
@@ -7081,7 +7178,7 @@ var QCarousel = createComponent({
|
|
|
7081
7178
|
});
|
|
7082
7179
|
|
|
7083
7180
|
onBeforeUnmount(() => {
|
|
7084
|
-
|
|
7181
|
+
timer !== null && clearTimeout(timer);
|
|
7085
7182
|
});
|
|
7086
7183
|
|
|
7087
7184
|
function getNavigationContainer (type, mapping) {
|
|
@@ -9399,8 +9496,10 @@ var QResizeObserver = createComponent({
|
|
|
9399
9496
|
}
|
|
9400
9497
|
|
|
9401
9498
|
function emitEvent () {
|
|
9402
|
-
|
|
9403
|
-
|
|
9499
|
+
if (timer !== null) {
|
|
9500
|
+
clearTimeout(timer);
|
|
9501
|
+
timer = null;
|
|
9502
|
+
}
|
|
9404
9503
|
|
|
9405
9504
|
if (targetEl) {
|
|
9406
9505
|
const { offsetWidth: width, offsetHeight: height } = targetEl;
|
|
@@ -9434,7 +9533,7 @@ var QResizeObserver = createComponent({
|
|
|
9434
9533
|
onMounted(() => { init(); });
|
|
9435
9534
|
|
|
9436
9535
|
onBeforeUnmount(() => {
|
|
9437
|
-
clearTimeout(timer);
|
|
9536
|
+
timer !== null && clearTimeout(timer);
|
|
9438
9537
|
|
|
9439
9538
|
if (observer !== void 0) {
|
|
9440
9539
|
if (observer.disconnect !== void 0) {
|
|
@@ -9454,7 +9553,10 @@ var QResizeObserver = createComponent({
|
|
|
9454
9553
|
let curDocView;
|
|
9455
9554
|
|
|
9456
9555
|
function cleanup () {
|
|
9457
|
-
|
|
9556
|
+
if (timer !== null) {
|
|
9557
|
+
clearTimeout(timer);
|
|
9558
|
+
timer = null;
|
|
9559
|
+
}
|
|
9458
9560
|
|
|
9459
9561
|
if (curDocView !== void 0) {
|
|
9460
9562
|
// iOS is fuzzy, need to check it first
|
|
@@ -9607,7 +9709,7 @@ var QTabs = createComponent({
|
|
|
9607
9709
|
const tabDataListLen = ref(0);
|
|
9608
9710
|
const hasFocus = ref(false);
|
|
9609
9711
|
|
|
9610
|
-
let animateTimer, scrollTimer, unwatchRoute;
|
|
9712
|
+
let animateTimer = null, scrollTimer = null, unwatchRoute;
|
|
9611
9713
|
|
|
9612
9714
|
const tabProps = computed(() => ({
|
|
9613
9715
|
activeClass: props.activeClass,
|
|
@@ -9743,7 +9845,10 @@ var QTabs = createComponent({
|
|
|
9743
9845
|
oldEl = oldTab.tabIndicatorRef.value,
|
|
9744
9846
|
newEl = newTab.tabIndicatorRef.value;
|
|
9745
9847
|
|
|
9746
|
-
|
|
9848
|
+
if (animateTimer !== null) {
|
|
9849
|
+
clearTimeout(animateTimer);
|
|
9850
|
+
animateTimer = null;
|
|
9851
|
+
}
|
|
9747
9852
|
|
|
9748
9853
|
oldEl.style.transition = 'none';
|
|
9749
9854
|
oldEl.style.transform = 'none';
|
|
@@ -9761,6 +9866,7 @@ var QTabs = createComponent({
|
|
|
9761
9866
|
// allow scope updates to kick in (QRouteTab needs more time)
|
|
9762
9867
|
registerAnimateTick(() => {
|
|
9763
9868
|
animateTimer = setTimeout(() => {
|
|
9869
|
+
animateTimer = null;
|
|
9764
9870
|
newEl.style.transition = 'transform .25s cubic-bezier(.4, 0, .2, 1)';
|
|
9765
9871
|
newEl.style.transform = 'none';
|
|
9766
9872
|
}, 70);
|
|
@@ -9813,7 +9919,7 @@ var QTabs = createComponent({
|
|
|
9813
9919
|
}
|
|
9814
9920
|
|
|
9815
9921
|
function animScrollTo (value) {
|
|
9816
|
-
|
|
9922
|
+
scrollTimer !== null && clearInterval(scrollTimer);
|
|
9817
9923
|
scrollTimer = setInterval(() => {
|
|
9818
9924
|
if (scrollTowards(value) === true) {
|
|
9819
9925
|
stopAnimScroll();
|
|
@@ -9830,7 +9936,10 @@ var QTabs = createComponent({
|
|
|
9830
9936
|
}
|
|
9831
9937
|
|
|
9832
9938
|
function stopAnimScroll () {
|
|
9833
|
-
|
|
9939
|
+
if (scrollTimer !== null) {
|
|
9940
|
+
clearInterval(scrollTimer);
|
|
9941
|
+
scrollTimer = null;
|
|
9942
|
+
}
|
|
9834
9943
|
}
|
|
9835
9944
|
|
|
9836
9945
|
function onKbdNavigate (keyCode, fromEl) {
|
|
@@ -10134,7 +10243,7 @@ var QTabs = createComponent({
|
|
|
10134
10243
|
provide(tabsKey, $tabs);
|
|
10135
10244
|
|
|
10136
10245
|
function cleanup () {
|
|
10137
|
-
clearTimeout(animateTimer);
|
|
10246
|
+
animateTimer !== null && clearTimeout(animateTimer);
|
|
10138
10247
|
stopAnimScroll();
|
|
10139
10248
|
unwatchRoute !== void 0 && unwatchRoute();
|
|
10140
10249
|
}
|
|
@@ -14526,7 +14635,7 @@ let
|
|
|
14526
14635
|
vpPendingUpdate = false,
|
|
14527
14636
|
bodyLeft,
|
|
14528
14637
|
bodyTop,
|
|
14529
|
-
closeTimer;
|
|
14638
|
+
closeTimer = null;
|
|
14530
14639
|
|
|
14531
14640
|
function onWheel (e) {
|
|
14532
14641
|
if (shouldPreventScroll(e)) {
|
|
@@ -14673,9 +14782,9 @@ function preventScroll (state) {
|
|
|
14673
14782
|
if (state === true) {
|
|
14674
14783
|
registered++;
|
|
14675
14784
|
|
|
14676
|
-
if (closeTimer !==
|
|
14785
|
+
if (closeTimer !== null) {
|
|
14677
14786
|
clearTimeout(closeTimer);
|
|
14678
|
-
closeTimer =
|
|
14787
|
+
closeTimer = null;
|
|
14679
14788
|
return
|
|
14680
14789
|
}
|
|
14681
14790
|
|
|
@@ -14697,11 +14806,10 @@ function preventScroll (state) {
|
|
|
14697
14806
|
action = 'remove';
|
|
14698
14807
|
|
|
14699
14808
|
if (client.is.ios === true && client.is.nativeMobile === true) {
|
|
14700
|
-
clearTimeout(closeTimer);
|
|
14701
|
-
|
|
14809
|
+
closeTimer !== null && clearTimeout(closeTimer);
|
|
14702
14810
|
closeTimer = setTimeout(() => {
|
|
14703
14811
|
apply$1(action);
|
|
14704
|
-
closeTimer =
|
|
14812
|
+
closeTimer = null;
|
|
14705
14813
|
}, 100);
|
|
14706
14814
|
return
|
|
14707
14815
|
}
|
|
@@ -14795,7 +14903,7 @@ var QDialog = createComponent({
|
|
|
14795
14903
|
const showing = ref(false);
|
|
14796
14904
|
const animating = ref(false);
|
|
14797
14905
|
|
|
14798
|
-
let shakeTimeout, refocusTarget = null, isMaximized, avoidAutoClose;
|
|
14906
|
+
let shakeTimeout = null, refocusTarget = null, isMaximized, avoidAutoClose;
|
|
14799
14907
|
|
|
14800
14908
|
const hideOnRouteChange = computed(() =>
|
|
14801
14909
|
props.persistent !== true
|
|
@@ -14814,7 +14922,7 @@ var QDialog = createComponent({
|
|
|
14814
14922
|
);
|
|
14815
14923
|
|
|
14816
14924
|
const { showPortal, hidePortal, portalIsAccessible, renderPortal } = usePortal(
|
|
14817
|
-
vm, innerRef, renderPortalContent,
|
|
14925
|
+
vm, innerRef, renderPortalContent, 'dialog'
|
|
14818
14926
|
);
|
|
14819
14927
|
|
|
14820
14928
|
const { hide } = useModelToggle({
|
|
@@ -14977,8 +15085,9 @@ var QDialog = createComponent({
|
|
|
14977
15085
|
if (node !== null) {
|
|
14978
15086
|
node.classList.remove('q-animate--scale');
|
|
14979
15087
|
node.classList.add('q-animate--scale');
|
|
14980
|
-
clearTimeout(shakeTimeout);
|
|
15088
|
+
shakeTimeout !== null && clearTimeout(shakeTimeout);
|
|
14981
15089
|
shakeTimeout = setTimeout(() => {
|
|
15090
|
+
shakeTimeout = null;
|
|
14982
15091
|
if (innerRef.value !== null) {
|
|
14983
15092
|
node.classList.remove('q-animate--scale');
|
|
14984
15093
|
// some platforms (like desktop Chrome)
|
|
@@ -15002,7 +15111,10 @@ var QDialog = createComponent({
|
|
|
15002
15111
|
}
|
|
15003
15112
|
|
|
15004
15113
|
function cleanup (hiding) {
|
|
15005
|
-
|
|
15114
|
+
if (shakeTimeout !== null) {
|
|
15115
|
+
clearTimeout(shakeTimeout);
|
|
15116
|
+
shakeTimeout = null;
|
|
15117
|
+
}
|
|
15006
15118
|
|
|
15007
15119
|
if (hiding === true || showing.value === true) {
|
|
15008
15120
|
updateMaximized(false);
|
|
@@ -15193,7 +15305,7 @@ var QDrawer = createComponent({
|
|
|
15193
15305
|
return emptyRenderFn
|
|
15194
15306
|
}
|
|
15195
15307
|
|
|
15196
|
-
let lastDesktopState, timerMini, layoutTotalWidthWatcher;
|
|
15308
|
+
let lastDesktopState, timerMini = null, layoutTotalWidthWatcher;
|
|
15197
15309
|
|
|
15198
15310
|
const belowBreakpoint = ref(
|
|
15199
15311
|
props.behavior === 'mobile'
|
|
@@ -15568,7 +15680,7 @@ var QDrawer = createComponent({
|
|
|
15568
15680
|
}
|
|
15569
15681
|
|
|
15570
15682
|
function animateMini () {
|
|
15571
|
-
clearTimeout(timerMini);
|
|
15683
|
+
timerMini !== null && clearTimeout(timerMini);
|
|
15572
15684
|
|
|
15573
15685
|
if (vm.proxy && vm.proxy.$el) {
|
|
15574
15686
|
// need to speed it up and apply it immediately,
|
|
@@ -15578,6 +15690,7 @@ var QDrawer = createComponent({
|
|
|
15578
15690
|
|
|
15579
15691
|
flagMiniAnimate.value = true;
|
|
15580
15692
|
timerMini = setTimeout(() => {
|
|
15693
|
+
timerMini = null;
|
|
15581
15694
|
flagMiniAnimate.value = false;
|
|
15582
15695
|
if (vm && vm.proxy && vm.proxy.$el) {
|
|
15583
15696
|
vm.proxy.$el.classList.remove('q-drawer--mini-animate');
|
|
@@ -15730,7 +15843,11 @@ var QDrawer = createComponent({
|
|
|
15730
15843
|
|
|
15731
15844
|
onBeforeUnmount(() => {
|
|
15732
15845
|
layoutTotalWidthWatcher !== void 0 && layoutTotalWidthWatcher();
|
|
15733
|
-
|
|
15846
|
+
|
|
15847
|
+
if (timerMini !== null) {
|
|
15848
|
+
clearTimeout(timerMini);
|
|
15849
|
+
timerMini = null;
|
|
15850
|
+
}
|
|
15734
15851
|
|
|
15735
15852
|
showing.value === true && cleanup();
|
|
15736
15853
|
|
|
@@ -16265,7 +16382,7 @@ var QTooltip = createComponent({
|
|
|
16265
16382
|
|
|
16266
16383
|
Object.assign(anchorEvents, { delayShow, delayHide });
|
|
16267
16384
|
|
|
16268
|
-
const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent);
|
|
16385
|
+
const { showPortal, hidePortal, renderPortal } = usePortal(vm, innerRef, renderPortalContent, 'tooltip');
|
|
16269
16386
|
|
|
16270
16387
|
// if we're on mobile, let's improve the experience
|
|
16271
16388
|
// by closing it when user taps outside of it
|
|
@@ -17600,15 +17717,23 @@ var QSlideTransition = createComponent({
|
|
|
17600
17717
|
|
|
17601
17718
|
setup (props, { slots, emit }) {
|
|
17602
17719
|
let animating = false, doneFn, element;
|
|
17603
|
-
let timer, timerFallback, animListener, lastEvent;
|
|
17720
|
+
let timer = null, timerFallback = null, animListener, lastEvent;
|
|
17604
17721
|
|
|
17605
17722
|
function cleanup () {
|
|
17606
17723
|
doneFn && doneFn();
|
|
17607
17724
|
doneFn = null;
|
|
17608
17725
|
animating = false;
|
|
17609
17726
|
|
|
17610
|
-
|
|
17611
|
-
|
|
17727
|
+
if (timer !== null) {
|
|
17728
|
+
clearTimeout(timer);
|
|
17729
|
+
timer = null;
|
|
17730
|
+
}
|
|
17731
|
+
|
|
17732
|
+
if (timerFallback !== null) {
|
|
17733
|
+
clearTimeout(timerFallback);
|
|
17734
|
+
timerFallback = null;
|
|
17735
|
+
}
|
|
17736
|
+
|
|
17612
17737
|
element !== void 0 && element.removeEventListener('transitionend', animListener);
|
|
17613
17738
|
animListener = null;
|
|
17614
17739
|
}
|
|
@@ -17647,8 +17772,11 @@ var QSlideTransition = createComponent({
|
|
|
17647
17772
|
begin(el, pos, done);
|
|
17648
17773
|
|
|
17649
17774
|
timer = setTimeout(() => {
|
|
17775
|
+
timer = null;
|
|
17650
17776
|
el.style.height = `${ el.scrollHeight }px`;
|
|
17651
17777
|
animListener = evt => {
|
|
17778
|
+
timerFallback = null;
|
|
17779
|
+
|
|
17652
17780
|
if (Object(evt) !== evt || evt.target === el) {
|
|
17653
17781
|
end(el, 'show');
|
|
17654
17782
|
}
|
|
@@ -17673,8 +17801,11 @@ var QSlideTransition = createComponent({
|
|
|
17673
17801
|
begin(el, pos, done);
|
|
17674
17802
|
|
|
17675
17803
|
timer = setTimeout(() => {
|
|
17804
|
+
timer = null;
|
|
17676
17805
|
el.style.height = 0;
|
|
17677
17806
|
animListener = evt => {
|
|
17807
|
+
timerFallback = null;
|
|
17808
|
+
|
|
17678
17809
|
if (Object(evt) !== evt || evt.target === el) {
|
|
17679
17810
|
end(el, 'hide');
|
|
17680
17811
|
}
|
|
@@ -18810,7 +18941,7 @@ function useField (state) {
|
|
|
18810
18941
|
const { props, emit, slots, attrs, proxy } = getCurrentInstance();
|
|
18811
18942
|
const { $q } = proxy;
|
|
18812
18943
|
|
|
18813
|
-
let focusoutTimer;
|
|
18944
|
+
let focusoutTimer = null;
|
|
18814
18945
|
|
|
18815
18946
|
if (state.hasValue === void 0) {
|
|
18816
18947
|
state.hasValue = computed(() => fieldValueIsFilled(props.modelValue));
|
|
@@ -18976,7 +19107,11 @@ function useField (state) {
|
|
|
18976
19107
|
}
|
|
18977
19108
|
|
|
18978
19109
|
function onControlFocusin (e) {
|
|
18979
|
-
|
|
19110
|
+
if (focusoutTimer !== null) {
|
|
19111
|
+
clearTimeout(focusoutTimer);
|
|
19112
|
+
focusoutTimer = null;
|
|
19113
|
+
}
|
|
19114
|
+
|
|
18980
19115
|
if (state.editable.value === true && state.focused.value === false) {
|
|
18981
19116
|
state.focused.value = true;
|
|
18982
19117
|
emit('focus', e);
|
|
@@ -18984,8 +19119,10 @@ function useField (state) {
|
|
|
18984
19119
|
}
|
|
18985
19120
|
|
|
18986
19121
|
function onControlFocusout (e, then) {
|
|
18987
|
-
clearTimeout(focusoutTimer);
|
|
19122
|
+
focusoutTimer !== null && clearTimeout(focusoutTimer);
|
|
18988
19123
|
focusoutTimer = setTimeout(() => {
|
|
19124
|
+
focusoutTimer = null;
|
|
19125
|
+
|
|
18989
19126
|
if (
|
|
18990
19127
|
document.hasFocus() === true && (
|
|
18991
19128
|
state.hasPopupOpen === true
|
|
@@ -19235,7 +19372,7 @@ function useField (state) {
|
|
|
19235
19372
|
});
|
|
19236
19373
|
|
|
19237
19374
|
onBeforeUnmount(() => {
|
|
19238
|
-
clearTimeout(focusoutTimer);
|
|
19375
|
+
focusoutTimer !== null && clearTimeout(focusoutTimer);
|
|
19239
19376
|
});
|
|
19240
19377
|
|
|
19241
19378
|
// expose public methods
|
|
@@ -20538,7 +20675,7 @@ var QImg = createComponent({
|
|
|
20538
20675
|
const naturalRatio = ref(props.initialRatio);
|
|
20539
20676
|
const ratioStyle = useRatio(props, naturalRatio);
|
|
20540
20677
|
|
|
20541
|
-
let loadTimer;
|
|
20678
|
+
let loadTimer = null, isDestroyed = false;
|
|
20542
20679
|
|
|
20543
20680
|
const images = [
|
|
20544
20681
|
ref(null),
|
|
@@ -20589,7 +20726,11 @@ var QImg = createComponent({
|
|
|
20589
20726
|
}
|
|
20590
20727
|
|
|
20591
20728
|
function addImage (imgProps) {
|
|
20592
|
-
|
|
20729
|
+
if (loadTimer !== null) {
|
|
20730
|
+
clearTimeout(loadTimer);
|
|
20731
|
+
loadTimer = null;
|
|
20732
|
+
}
|
|
20733
|
+
|
|
20593
20734
|
hasError.value = false;
|
|
20594
20735
|
|
|
20595
20736
|
if (imgProps === null) {
|
|
@@ -20604,10 +20745,12 @@ var QImg = createComponent({
|
|
|
20604
20745
|
}
|
|
20605
20746
|
|
|
20606
20747
|
function onLoad ({ target }) {
|
|
20607
|
-
|
|
20608
|
-
if (loadTimer === null) { return }
|
|
20748
|
+
if (isDestroyed === true) { return }
|
|
20609
20749
|
|
|
20610
|
-
|
|
20750
|
+
if (loadTimer !== null) {
|
|
20751
|
+
clearTimeout(loadTimer);
|
|
20752
|
+
loadTimer = null;
|
|
20753
|
+
}
|
|
20611
20754
|
|
|
20612
20755
|
naturalRatio.value = target.naturalHeight === 0
|
|
20613
20756
|
? 0.5
|
|
@@ -20618,21 +20761,21 @@ var QImg = createComponent({
|
|
|
20618
20761
|
|
|
20619
20762
|
function waitForCompleteness (target, count) {
|
|
20620
20763
|
// protect against running forever
|
|
20621
|
-
if (
|
|
20764
|
+
if (isDestroyed === true || count === 1000) { return }
|
|
20622
20765
|
|
|
20623
20766
|
if (target.complete === true) {
|
|
20624
20767
|
onReady(target);
|
|
20625
20768
|
}
|
|
20626
20769
|
else {
|
|
20627
20770
|
loadTimer = setTimeout(() => {
|
|
20771
|
+
loadTimer = null;
|
|
20628
20772
|
waitForCompleteness(target, count + 1);
|
|
20629
20773
|
}, 50);
|
|
20630
20774
|
}
|
|
20631
20775
|
}
|
|
20632
20776
|
|
|
20633
20777
|
function onReady (img) {
|
|
20634
|
-
|
|
20635
|
-
if (loadTimer === null) { return }
|
|
20778
|
+
if (isDestroyed === true) { return }
|
|
20636
20779
|
|
|
20637
20780
|
position.value = position.value ^ 1;
|
|
20638
20781
|
images[ position.value ].value = null;
|
|
@@ -20642,7 +20785,11 @@ var QImg = createComponent({
|
|
|
20642
20785
|
}
|
|
20643
20786
|
|
|
20644
20787
|
function onError (err) {
|
|
20645
|
-
|
|
20788
|
+
if (loadTimer !== null) {
|
|
20789
|
+
clearTimeout(loadTimer);
|
|
20790
|
+
loadTimer = null;
|
|
20791
|
+
}
|
|
20792
|
+
|
|
20646
20793
|
isLoading.value = false;
|
|
20647
20794
|
hasError.value = true;
|
|
20648
20795
|
images[ position.value ].value = null;
|
|
@@ -20722,8 +20869,12 @@ var QImg = createComponent({
|
|
|
20722
20869
|
}
|
|
20723
20870
|
|
|
20724
20871
|
onBeforeUnmount(() => {
|
|
20725
|
-
|
|
20726
|
-
|
|
20872
|
+
isDestroyed = true;
|
|
20873
|
+
|
|
20874
|
+
if (loadTimer !== null) {
|
|
20875
|
+
clearTimeout(loadTimer);
|
|
20876
|
+
loadTimer = null;
|
|
20877
|
+
}
|
|
20727
20878
|
});
|
|
20728
20879
|
}
|
|
20729
20880
|
|
|
@@ -21667,7 +21818,7 @@ var QInput = createComponent({
|
|
|
21667
21818
|
const { $q } = proxy;
|
|
21668
21819
|
|
|
21669
21820
|
const temp = {};
|
|
21670
|
-
let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer, emitValueFn;
|
|
21821
|
+
let emitCachedValue = NaN, typedNumber, stopValueWatcher, emitTimer = null, emitValueFn;
|
|
21671
21822
|
|
|
21672
21823
|
const inputRef = ref(null);
|
|
21673
21824
|
const nameProp = useFormInputNameAttr(props);
|
|
@@ -21879,6 +22030,8 @@ var QInput = createComponent({
|
|
|
21879
22030
|
|
|
21880
22031
|
function emitValue (val, stopWatcher) {
|
|
21881
22032
|
emitValueFn = () => {
|
|
22033
|
+
emitTimer = null;
|
|
22034
|
+
|
|
21882
22035
|
if (
|
|
21883
22036
|
props.type !== 'number'
|
|
21884
22037
|
&& temp.hasOwnProperty('value') === true
|
|
@@ -21906,7 +22059,7 @@ var QInput = createComponent({
|
|
|
21906
22059
|
}
|
|
21907
22060
|
|
|
21908
22061
|
if (props.debounce !== void 0) {
|
|
21909
|
-
clearTimeout(emitTimer);
|
|
22062
|
+
emitTimer !== null && clearTimeout(emitTimer);
|
|
21910
22063
|
temp.value = val;
|
|
21911
22064
|
emitTimer = setTimeout(emitValueFn, props.debounce);
|
|
21912
22065
|
}
|
|
@@ -21940,7 +22093,11 @@ var QInput = createComponent({
|
|
|
21940
22093
|
function onChange (e) {
|
|
21941
22094
|
onComposition(e);
|
|
21942
22095
|
|
|
21943
|
-
|
|
22096
|
+
if (emitTimer !== null) {
|
|
22097
|
+
clearTimeout(emitTimer);
|
|
22098
|
+
emitTimer = null;
|
|
22099
|
+
}
|
|
22100
|
+
|
|
21944
22101
|
emitValueFn !== void 0 && emitValueFn();
|
|
21945
22102
|
|
|
21946
22103
|
emit('change', e.target.value);
|
|
@@ -21949,7 +22106,11 @@ var QInput = createComponent({
|
|
|
21949
22106
|
function onFinishEditing (e) {
|
|
21950
22107
|
e !== void 0 && stop(e);
|
|
21951
22108
|
|
|
21952
|
-
|
|
22109
|
+
if (emitTimer !== null) {
|
|
22110
|
+
clearTimeout(emitTimer);
|
|
22111
|
+
emitTimer = null;
|
|
22112
|
+
}
|
|
22113
|
+
|
|
21953
22114
|
emitValueFn !== void 0 && emitValueFn();
|
|
21954
22115
|
|
|
21955
22116
|
typedNumber = false;
|
|
@@ -22793,7 +22954,7 @@ var QLayout = createComponent({
|
|
|
22793
22954
|
}
|
|
22794
22955
|
}
|
|
22795
22956
|
|
|
22796
|
-
let
|
|
22957
|
+
let animateTimer = null;
|
|
22797
22958
|
|
|
22798
22959
|
const $layout = {
|
|
22799
22960
|
instances: {},
|
|
@@ -22824,16 +22985,16 @@ var QLayout = createComponent({
|
|
|
22824
22985
|
scroll,
|
|
22825
22986
|
|
|
22826
22987
|
animate () {
|
|
22827
|
-
if (
|
|
22828
|
-
clearTimeout(
|
|
22988
|
+
if (animateTimer !== null) {
|
|
22989
|
+
clearTimeout(animateTimer);
|
|
22829
22990
|
}
|
|
22830
22991
|
else {
|
|
22831
22992
|
document.body.classList.add('q-body--layout-animate');
|
|
22832
22993
|
}
|
|
22833
22994
|
|
|
22834
|
-
|
|
22995
|
+
animateTimer = setTimeout(() => {
|
|
22996
|
+
animateTimer = null;
|
|
22835
22997
|
document.body.classList.remove('q-body--layout-animate');
|
|
22836
|
-
timer = void 0;
|
|
22837
22998
|
}, 155);
|
|
22838
22999
|
},
|
|
22839
23000
|
|
|
@@ -24901,6 +25062,8 @@ var QPullToRefresh = createComponent({
|
|
|
24901
25062
|
});
|
|
24902
25063
|
}
|
|
24903
25064
|
|
|
25065
|
+
let $el, localScrollTarget, timer = null;
|
|
25066
|
+
|
|
24904
25067
|
function animateTo ({ pos, ratio }, done) {
|
|
24905
25068
|
animating.value = true;
|
|
24906
25069
|
pullPosition.value = pos;
|
|
@@ -24909,15 +25072,14 @@ var QPullToRefresh = createComponent({
|
|
|
24909
25072
|
pullRatio.value = ratio;
|
|
24910
25073
|
}
|
|
24911
25074
|
|
|
24912
|
-
clearTimeout(timer);
|
|
25075
|
+
timer !== null && clearTimeout(timer);
|
|
24913
25076
|
timer = setTimeout(() => {
|
|
25077
|
+
timer = null;
|
|
24914
25078
|
animating.value = false;
|
|
24915
25079
|
done && done();
|
|
24916
25080
|
}, 300);
|
|
24917
25081
|
}
|
|
24918
25082
|
|
|
24919
|
-
let $el, localScrollTarget, timer;
|
|
24920
|
-
|
|
24921
25083
|
function updateScrollTarget () {
|
|
24922
25084
|
localScrollTarget = getScrollTarget($el, props.scrollTarget);
|
|
24923
25085
|
}
|
|
@@ -24930,7 +25092,7 @@ var QPullToRefresh = createComponent({
|
|
|
24930
25092
|
});
|
|
24931
25093
|
|
|
24932
25094
|
onBeforeUnmount(() => {
|
|
24933
|
-
clearTimeout(timer);
|
|
25095
|
+
timer !== null && clearTimeout(timer);
|
|
24934
25096
|
});
|
|
24935
25097
|
|
|
24936
25098
|
// expose public methods
|
|
@@ -25719,7 +25881,7 @@ var QScrollArea = createComponent({
|
|
|
25719
25881
|
|
|
25720
25882
|
const isDark = useDark(props, proxy.$q);
|
|
25721
25883
|
|
|
25722
|
-
let timer, panRefPos;
|
|
25884
|
+
let timer = null, panRefPos;
|
|
25723
25885
|
|
|
25724
25886
|
const targetRef = ref(null);
|
|
25725
25887
|
|
|
@@ -25968,14 +26130,14 @@ var QScrollArea = createComponent({
|
|
|
25968
26130
|
}
|
|
25969
26131
|
|
|
25970
26132
|
function startTimer () {
|
|
25971
|
-
|
|
25972
|
-
|
|
25973
|
-
|
|
25974
|
-
|
|
25975
|
-
|
|
25976
|
-
|
|
26133
|
+
tempShowing.value = true;
|
|
26134
|
+
|
|
26135
|
+
timer !== null && clearTimeout(timer);
|
|
26136
|
+
timer = setTimeout(() => {
|
|
26137
|
+
timer = null;
|
|
26138
|
+
tempShowing.value = false;
|
|
26139
|
+
}, props.delay);
|
|
25977
26140
|
|
|
25978
|
-
timer = setTimeout(() => { tempShowing.value = false; }, props.delay);
|
|
25979
26141
|
props.onScroll !== void 0 && emitScroll();
|
|
25980
26142
|
}
|
|
25981
26143
|
|
|
@@ -26977,8 +27139,8 @@ var QSelect = createComponent({
|
|
|
26977
27139
|
const dialogFieldFocused = ref(false);
|
|
26978
27140
|
const innerLoadingIndicator = ref(false);
|
|
26979
27141
|
|
|
26980
|
-
let inputTimer, innerValueCache,
|
|
26981
|
-
hasDialog, userInputValue, filterId, defaultInputValue,
|
|
27142
|
+
let inputTimer = null, innerValueCache,
|
|
27143
|
+
hasDialog, userInputValue, filterId = null, defaultInputValue,
|
|
26982
27144
|
transitionShowComputed, searchBuffer, searchBufferExp;
|
|
26983
27145
|
|
|
26984
27146
|
const inputRef = ref(null);
|
|
@@ -27484,7 +27646,12 @@ var QSelect = createComponent({
|
|
|
27484
27646
|
}
|
|
27485
27647
|
|
|
27486
27648
|
e.target.value = '';
|
|
27487
|
-
|
|
27649
|
+
|
|
27650
|
+
if (inputTimer !== null) {
|
|
27651
|
+
clearTimeout(inputTimer);
|
|
27652
|
+
inputTimer = null;
|
|
27653
|
+
}
|
|
27654
|
+
|
|
27488
27655
|
resetInputValue();
|
|
27489
27656
|
|
|
27490
27657
|
if (typeof value === 'string' && value.length > 0) {
|
|
@@ -27849,7 +28016,10 @@ var QSelect = createComponent({
|
|
|
27849
28016
|
}
|
|
27850
28017
|
|
|
27851
28018
|
function onInput (e) {
|
|
27852
|
-
|
|
28019
|
+
if (inputTimer !== null) {
|
|
28020
|
+
clearTimeout(inputTimer);
|
|
28021
|
+
inputTimer = null;
|
|
28022
|
+
}
|
|
27853
28023
|
|
|
27854
28024
|
if (e && e.target && e.target.qComposing === true) {
|
|
27855
28025
|
return
|
|
@@ -27870,6 +28040,7 @@ var QSelect = createComponent({
|
|
|
27870
28040
|
|
|
27871
28041
|
if (props.onFilter !== void 0) {
|
|
27872
28042
|
inputTimer = setTimeout(() => {
|
|
28043
|
+
inputTimer = null;
|
|
27873
28044
|
filter(inputValue.value);
|
|
27874
28045
|
}, props.inputDebounce);
|
|
27875
28046
|
}
|
|
@@ -27923,7 +28094,7 @@ var QSelect = createComponent({
|
|
|
27923
28094
|
menu.value === true && (menu.value = false);
|
|
27924
28095
|
}, 10);
|
|
27925
28096
|
|
|
27926
|
-
clearTimeout(filterId);
|
|
28097
|
+
filterId !== null && clearTimeout(filterId);
|
|
27927
28098
|
filterId = localFilterId;
|
|
27928
28099
|
|
|
27929
28100
|
emit(
|
|
@@ -28115,8 +28286,10 @@ var QSelect = createComponent({
|
|
|
28115
28286
|
}
|
|
28116
28287
|
|
|
28117
28288
|
if (state.focused.value === false) {
|
|
28118
|
-
|
|
28119
|
-
|
|
28289
|
+
if (filterId !== null) {
|
|
28290
|
+
clearTimeout(filterId);
|
|
28291
|
+
filterId = null;
|
|
28292
|
+
}
|
|
28120
28293
|
|
|
28121
28294
|
if (state.innerLoading.value === true) {
|
|
28122
28295
|
emit('filterAbort');
|
|
@@ -28237,7 +28410,7 @@ var QSelect = createComponent({
|
|
|
28237
28410
|
updatePreState();
|
|
28238
28411
|
|
|
28239
28412
|
onBeforeUnmount(() => {
|
|
28240
|
-
clearTimeout(inputTimer);
|
|
28413
|
+
inputTimer !== null && clearTimeout(inputTimer);
|
|
28241
28414
|
});
|
|
28242
28415
|
|
|
28243
28416
|
// expose public methods
|
|
@@ -28497,7 +28670,7 @@ var QSlideItem = createComponent({
|
|
|
28497
28670
|
|
|
28498
28671
|
const contentRef = ref(null);
|
|
28499
28672
|
|
|
28500
|
-
let timer, pan = {}, dirRefs = {}, dirContentRefs = {};
|
|
28673
|
+
let timer = null, pan = {}, dirRefs = {}, dirContentRefs = {};
|
|
28501
28674
|
|
|
28502
28675
|
const langDir = computed(() => (
|
|
28503
28676
|
$q.lang.rtl === true
|
|
@@ -28548,7 +28721,9 @@ var QSlideItem = createComponent({
|
|
|
28548
28721
|
if (pan.scale === 1) {
|
|
28549
28722
|
node.style.transform = `translate${ pan.axis }(${ pan.dir * 100 }%)`;
|
|
28550
28723
|
|
|
28724
|
+
timer !== null && clearTimeout(timer);
|
|
28551
28725
|
timer = setTimeout(() => {
|
|
28726
|
+
timer = null;
|
|
28552
28727
|
emit(pan.showing, { reset });
|
|
28553
28728
|
emit('action', { side: pan.showing, reset });
|
|
28554
28729
|
}, 230);
|
|
@@ -28619,7 +28794,7 @@ var QSlideItem = createComponent({
|
|
|
28619
28794
|
});
|
|
28620
28795
|
|
|
28621
28796
|
onBeforeUnmount(() => {
|
|
28622
|
-
clearTimeout(timer);
|
|
28797
|
+
timer !== null && clearTimeout(timer);
|
|
28623
28798
|
});
|
|
28624
28799
|
|
|
28625
28800
|
// expose public methods
|
|
@@ -36854,12 +37029,11 @@ function morph (_options) {
|
|
|
36854
37029
|
: (
|
|
36855
37030
|
options.waitFor === 'transitionend'
|
|
36856
37031
|
? new Promise(resolve => {
|
|
36857
|
-
const
|
|
36858
|
-
|
|
36859
|
-
|
|
36860
|
-
|
|
36861
|
-
|
|
36862
|
-
clearTimeout(timer);
|
|
37032
|
+
const endFn = () => {
|
|
37033
|
+
if (timer !== null) {
|
|
37034
|
+
clearTimeout(timer);
|
|
37035
|
+
timer = null;
|
|
37036
|
+
}
|
|
36863
37037
|
|
|
36864
37038
|
if (elTo) {
|
|
36865
37039
|
elTo.removeEventListener('transitionend', endFn);
|
|
@@ -36869,6 +37043,8 @@ function morph (_options) {
|
|
|
36869
37043
|
resolve();
|
|
36870
37044
|
};
|
|
36871
37045
|
|
|
37046
|
+
let timer = setTimeout(endFn, 400);
|
|
37047
|
+
|
|
36872
37048
|
elTo.addEventListener('transitionend', endFn);
|
|
36873
37049
|
elTo.addEventListener('transitioncancel', endFn);
|
|
36874
37050
|
})
|
|
@@ -37337,6 +37513,7 @@ var TouchHold = createDirective({
|
|
|
37337
37513
|
: ctx.touchSensitivity;
|
|
37338
37514
|
|
|
37339
37515
|
ctx.timer = setTimeout(() => {
|
|
37516
|
+
ctx.timer = void 0;
|
|
37340
37517
|
clearSelection();
|
|
37341
37518
|
ctx.triggered = true;
|
|
37342
37519
|
|
|
@@ -37353,10 +37530,13 @@ var TouchHold = createDirective({
|
|
|
37353
37530
|
move (evt) {
|
|
37354
37531
|
const { top, left } = position(evt);
|
|
37355
37532
|
if (
|
|
37356
|
-
|
|
37357
|
-
|
|
37533
|
+
ctx.timer !== void 0 && (
|
|
37534
|
+
Math.abs(left - ctx.origin.left) >= ctx.sensitivity
|
|
37535
|
+
|| Math.abs(top - ctx.origin.top) >= ctx.sensitivity
|
|
37536
|
+
)
|
|
37358
37537
|
) {
|
|
37359
37538
|
clearTimeout(ctx.timer);
|
|
37539
|
+
ctx.timer = void 0;
|
|
37360
37540
|
}
|
|
37361
37541
|
},
|
|
37362
37542
|
|
|
@@ -37369,8 +37549,9 @@ var TouchHold = createDirective({
|
|
|
37369
37549
|
if (ctx.triggered === true) {
|
|
37370
37550
|
evt !== void 0 && stopAndPrevent(evt);
|
|
37371
37551
|
}
|
|
37372
|
-
else {
|
|
37552
|
+
else if (ctx.timer !== void 0) {
|
|
37373
37553
|
clearTimeout(ctx.timer);
|
|
37554
|
+
ctx.timer = void 0;
|
|
37374
37555
|
}
|
|
37375
37556
|
}
|
|
37376
37557
|
};
|
|
@@ -37422,7 +37603,7 @@ var TouchHold = createDirective({
|
|
|
37422
37603
|
cleanEvt(ctx, 'main');
|
|
37423
37604
|
cleanEvt(ctx, 'temp');
|
|
37424
37605
|
|
|
37425
|
-
clearTimeout(ctx.timer);
|
|
37606
|
+
ctx.timer !== void 0 && clearTimeout(ctx.timer);
|
|
37426
37607
|
ctx.styleCleanup !== void 0 && ctx.styleCleanup();
|
|
37427
37608
|
|
|
37428
37609
|
delete el.__qtouchhold;
|
|
@@ -37561,6 +37742,8 @@ var TouchRepeat = createDirective({
|
|
|
37561
37742
|
};
|
|
37562
37743
|
|
|
37563
37744
|
const fn = () => {
|
|
37745
|
+
ctx.timer = void 0;
|
|
37746
|
+
|
|
37564
37747
|
if (ctx.event === void 0) {
|
|
37565
37748
|
return
|
|
37566
37749
|
}
|
|
@@ -37604,8 +37787,9 @@ var TouchRepeat = createDirective({
|
|
|
37604
37787
|
},
|
|
37605
37788
|
|
|
37606
37789
|
move (evt) {
|
|
37607
|
-
if (ctx.event !== void 0 && shouldEnd(evt, ctx.origin) === true) {
|
|
37790
|
+
if (ctx.event !== void 0 && ctx.timer !== void 0 && shouldEnd(evt, ctx.origin) === true) {
|
|
37608
37791
|
clearTimeout(ctx.timer);
|
|
37792
|
+
ctx.timer = void 0;
|
|
37609
37793
|
}
|
|
37610
37794
|
},
|
|
37611
37795
|
|
|
@@ -37618,7 +37802,11 @@ var TouchRepeat = createDirective({
|
|
|
37618
37802
|
evt !== void 0 && ctx.event.repeatCount > 0 && stopAndPrevent(evt);
|
|
37619
37803
|
|
|
37620
37804
|
cleanEvt(ctx, 'temp');
|
|
37621
|
-
|
|
37805
|
+
|
|
37806
|
+
if (ctx.timer !== void 0) {
|
|
37807
|
+
clearTimeout(ctx.timer);
|
|
37808
|
+
ctx.timer = void 0;
|
|
37809
|
+
}
|
|
37622
37810
|
|
|
37623
37811
|
ctx.event = void 0;
|
|
37624
37812
|
}
|
|
@@ -37667,7 +37855,7 @@ var TouchRepeat = createDirective({
|
|
|
37667
37855
|
const ctx = el.__qtouchrepeat;
|
|
37668
37856
|
|
|
37669
37857
|
if (ctx !== void 0) {
|
|
37670
|
-
clearTimeout(ctx.timer);
|
|
37858
|
+
ctx.timer !== void 0 && clearTimeout(ctx.timer);
|
|
37671
37859
|
|
|
37672
37860
|
cleanEvt(ctx, 'main');
|
|
37673
37861
|
cleanEvt(ctx, 'temp');
|
|
@@ -38116,7 +38304,7 @@ function globalDialog (DefaultComponent, supportsCustomComponent, parentApp) {
|
|
|
38116
38304
|
|
|
38117
38305
|
let vm, emittedOK = false;
|
|
38118
38306
|
const dialogRef = ref(null);
|
|
38119
|
-
const el = createGlobalNode();
|
|
38307
|
+
const el = createGlobalNode(false, 'dialog');
|
|
38120
38308
|
|
|
38121
38309
|
const applyState = cmd => {
|
|
38122
38310
|
if (dialogRef.value !== null && dialogRef.value[ cmd ] !== void 0) {
|
|
@@ -38824,7 +39012,7 @@ let
|
|
|
38824
39012
|
app,
|
|
38825
39013
|
vm,
|
|
38826
39014
|
uid$1 = 0,
|
|
38827
|
-
timeout,
|
|
39015
|
+
timeout = null,
|
|
38828
39016
|
props = {},
|
|
38829
39017
|
activeGroups = {};
|
|
38830
39018
|
|
|
@@ -38873,10 +39061,10 @@ const Plugin$2 = defineReactivePlugin({
|
|
|
38873
39061
|
}
|
|
38874
39062
|
else {
|
|
38875
39063
|
props.uid = ++uid$1;
|
|
38876
|
-
clearTimeout(timeout);
|
|
39064
|
+
timeout !== null && clearTimeout(timeout);
|
|
38877
39065
|
|
|
38878
39066
|
timeout = setTimeout(() => {
|
|
38879
|
-
timeout =
|
|
39067
|
+
timeout = null;
|
|
38880
39068
|
|
|
38881
39069
|
const el = createGlobalNode('q-loading');
|
|
38882
39070
|
|
|
@@ -38986,9 +39174,9 @@ const Plugin$2 = defineReactivePlugin({
|
|
|
38986
39174
|
}
|
|
38987
39175
|
}
|
|
38988
39176
|
|
|
38989
|
-
if (timeout !==
|
|
39177
|
+
if (timeout !== null) {
|
|
38990
39178
|
clearTimeout(timeout);
|
|
38991
|
-
timeout =
|
|
39179
|
+
timeout = null;
|
|
38992
39180
|
}
|
|
38993
39181
|
|
|
38994
39182
|
Plugin$2.isActive = false;
|
|
@@ -39010,7 +39198,7 @@ const Plugin$2 = defineReactivePlugin({
|
|
|
39010
39198
|
}
|
|
39011
39199
|
});
|
|
39012
39200
|
|
|
39013
|
-
let updateId, currentClientMeta;
|
|
39201
|
+
let updateId = null, currentClientMeta;
|
|
39014
39202
|
const clientList = [];
|
|
39015
39203
|
|
|
39016
39204
|
function normalize (meta) {
|
|
@@ -39144,6 +39332,8 @@ function apply ({ add, remove }) {
|
|
|
39144
39332
|
}
|
|
39145
39333
|
|
|
39146
39334
|
function updateClientMeta () {
|
|
39335
|
+
updateId = null;
|
|
39336
|
+
|
|
39147
39337
|
const data = {
|
|
39148
39338
|
title: '',
|
|
39149
39339
|
titleTemplate: null,
|
|
@@ -39169,7 +39359,7 @@ function updateClientMeta () {
|
|
|
39169
39359
|
}
|
|
39170
39360
|
|
|
39171
39361
|
function planClientUpdate () {
|
|
39172
|
-
clearTimeout(updateId);
|
|
39362
|
+
updateId !== null && clearTimeout(updateId);
|
|
39173
39363
|
updateId = setTimeout(updateClientMeta, 50);
|
|
39174
39364
|
}
|
|
39175
39365
|
|
|
@@ -39396,7 +39586,10 @@ function addNotification (config, $q, originalApi) {
|
|
|
39396
39586
|
|
|
39397
39587
|
if (originalApi !== void 0) {
|
|
39398
39588
|
// reset timeout if any
|
|
39399
|
-
|
|
39589
|
+
if (originalApi.notif.meta.timer) {
|
|
39590
|
+
clearTimeout(originalApi.notif.meta.timer);
|
|
39591
|
+
originalApi.notif.meta.timer = void 0;
|
|
39592
|
+
}
|
|
39400
39593
|
|
|
39401
39594
|
// retain uid
|
|
39402
39595
|
notif.meta.uid = originalApi.notif.meta.uid;
|
|
@@ -39432,7 +39625,10 @@ function addNotification (config, $q, originalApi) {
|
|
|
39432
39625
|
// ok, so it's NOT a new one
|
|
39433
39626
|
else {
|
|
39434
39627
|
// reset timeout if any
|
|
39435
|
-
|
|
39628
|
+
if (original.meta.timer) {
|
|
39629
|
+
clearTimeout(original.meta.timer);
|
|
39630
|
+
original.meta.timer = void 0;
|
|
39631
|
+
}
|
|
39436
39632
|
|
|
39437
39633
|
if (notif.badgePosition !== void 0) {
|
|
39438
39634
|
if (badgePositions.includes(notif.badgePosition) === false) {
|
|
@@ -39462,6 +39658,7 @@ function addNotification (config, $q, originalApi) {
|
|
|
39462
39658
|
|
|
39463
39659
|
if (notif.timeout > 0) {
|
|
39464
39660
|
notif.meta.timer = setTimeout(() => {
|
|
39661
|
+
notif.meta.timer = void 0;
|
|
39465
39662
|
dismiss();
|
|
39466
39663
|
}, notif.timeout + /* show duration */ 1000);
|
|
39467
39664
|
}
|
|
@@ -39510,7 +39707,10 @@ function addNotification (config, $q, originalApi) {
|
|
|
39510
39707
|
}
|
|
39511
39708
|
|
|
39512
39709
|
function removeNotification (notif) {
|
|
39513
|
-
|
|
39710
|
+
if (notif.meta.timer) {
|
|
39711
|
+
clearTimeout(notif.meta.timer);
|
|
39712
|
+
notif.meta.timer = void 0;
|
|
39713
|
+
}
|
|
39514
39714
|
|
|
39515
39715
|
const index = notificationsList[ notif.position ].value.indexOf(notif);
|
|
39516
39716
|
if (index !== -1) {
|
|
@@ -40340,7 +40540,7 @@ function runSequentialPromises (
|
|
|
40340
40540
|
*/
|
|
40341
40541
|
|
|
40342
40542
|
const Quasar = {
|
|
40343
|
-
version: '2.11.
|
|
40543
|
+
version: '2.11.4',
|
|
40344
40544
|
install: installQuasar,
|
|
40345
40545
|
lang: Plugin$8,
|
|
40346
40546
|
iconSet: Plugin$7
|