quasar 2.14.1 → 2.14.2
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/Notify.json +2 -2
- 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 +2 -2
- 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-CH.umd.prod.js +1 -1
- package/dist/lang/de-DE.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/hi.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/mk.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.esm.js +90 -71
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +90 -71
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/web-types/web-types.json +1 -1
- package/package.json +1 -1
- package/src/components/color/QColor.js +5 -9
- package/src/components/date/QDate.js +1 -1
- package/src/components/editor/QEditor.js +1 -1
- package/src/components/range/QRange.js +8 -8
- package/src/components/resize-observer/QResizeObserver.js +3 -3
- package/src/components/slider/QSlider.js +2 -2
- package/src/components/slider/use-slider.js +14 -8
- package/src/composables/private/use-field.js +0 -3
- package/src/composables/private/use-validate.js +49 -30
- package/src/plugins/Notify.js +4 -3
- package/src/plugins/Notify.json +2 -2
package/dist/quasar.sass
CHANGED
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.14.
|
|
2
|
+
* Quasar Framework v2.14.2
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1653,7 +1653,7 @@
|
|
|
1653
1653
|
}
|
|
1654
1654
|
|
|
1655
1655
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1656
|
-
const $q = { version: '2.14.
|
|
1656
|
+
const $q = { version: '2.14.2' };
|
|
1657
1657
|
|
|
1658
1658
|
if (globalConfigIsFrozen === false) {
|
|
1659
1659
|
if (opts.config !== void 0) {
|
|
@@ -8837,8 +8837,16 @@
|
|
|
8837
8837
|
&& innerMin.value < innerMax.value
|
|
8838
8838
|
));
|
|
8839
8839
|
|
|
8840
|
-
const
|
|
8841
|
-
|
|
8840
|
+
const roundValueFn = vue.computed(() => {
|
|
8841
|
+
if (props.step === 0) {
|
|
8842
|
+
return v => v
|
|
8843
|
+
}
|
|
8844
|
+
|
|
8845
|
+
const decimals = (String(props.step).trim().split('.')[ 1 ] || '').length;
|
|
8846
|
+
return v => parseFloat(v.toFixed(decimals))
|
|
8847
|
+
});
|
|
8848
|
+
|
|
8849
|
+
const keyStep = vue.computed(() => (props.step === 0 ? 1 : props.step));
|
|
8842
8850
|
const tabindex = vue.computed(() => (editable.value === true ? props.tabindex || 0 : -1));
|
|
8843
8851
|
|
|
8844
8852
|
const trackLen = vue.computed(() => props.max - props.min);
|
|
@@ -8950,9 +8958,7 @@
|
|
|
8950
8958
|
model += (Math.abs(modulo) >= step / 2 ? (modulo < 0 ? -1 : 1) * step : 0) - modulo;
|
|
8951
8959
|
}
|
|
8952
8960
|
|
|
8953
|
-
|
|
8954
|
-
model = parseFloat(model.toFixed(decimals.value));
|
|
8955
|
-
}
|
|
8961
|
+
model = roundValueFn.value(model);
|
|
8956
8962
|
|
|
8957
8963
|
return between(model, innerMin.value, innerMax.value)
|
|
8958
8964
|
}
|
|
@@ -8978,7 +8984,7 @@
|
|
|
8978
8984
|
}
|
|
8979
8985
|
|
|
8980
8986
|
const markerStep = vue.computed(() => (
|
|
8981
|
-
isNumber(props.markers) === true ? props.markers :
|
|
8987
|
+
isNumber(props.markers) === true ? props.markers : keyStep.value)
|
|
8982
8988
|
);
|
|
8983
8989
|
|
|
8984
8990
|
const markerTicks = vue.computed(() => {
|
|
@@ -9338,8 +9344,8 @@
|
|
|
9338
9344
|
tabindex,
|
|
9339
9345
|
attributes,
|
|
9340
9346
|
|
|
9341
|
-
|
|
9342
|
-
|
|
9347
|
+
roundValueFn,
|
|
9348
|
+
keyStep,
|
|
9343
9349
|
trackLen,
|
|
9344
9350
|
innerMin,
|
|
9345
9351
|
innerMinRatio,
|
|
@@ -9485,7 +9491,7 @@
|
|
|
9485
9491
|
stopAndPrevent(evt);
|
|
9486
9492
|
|
|
9487
9493
|
const
|
|
9488
|
-
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.
|
|
9494
|
+
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.keyStep.value,
|
|
9489
9495
|
offset = (
|
|
9490
9496
|
([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1)
|
|
9491
9497
|
* (state.isReversed.value === true ? -1 : 1)
|
|
@@ -9493,7 +9499,7 @@
|
|
|
9493
9499
|
);
|
|
9494
9500
|
|
|
9495
9501
|
model.value = between(
|
|
9496
|
-
|
|
9502
|
+
state.roundValueFn.value(model.value + offset),
|
|
9497
9503
|
state.innerMin.value,
|
|
9498
9504
|
state.innerMax.value
|
|
9499
9505
|
);
|
|
@@ -9582,6 +9588,9 @@
|
|
|
9582
9588
|
|
|
9583
9589
|
const { proxy } = vue.getCurrentInstance();
|
|
9584
9590
|
|
|
9591
|
+
// expose public method
|
|
9592
|
+
proxy.trigger = trigger;
|
|
9593
|
+
|
|
9585
9594
|
if (hasObserver === true) {
|
|
9586
9595
|
let observer;
|
|
9587
9596
|
|
|
@@ -9655,9 +9664,6 @@
|
|
|
9655
9664
|
|
|
9656
9665
|
vue.onBeforeUnmount(cleanup);
|
|
9657
9666
|
|
|
9658
|
-
// expose public method
|
|
9659
|
-
proxy.trigger = trigger;
|
|
9660
|
-
|
|
9661
9667
|
return () => {
|
|
9662
9668
|
if (canRender.value === true) {
|
|
9663
9669
|
return vue.h('object', {
|
|
@@ -11179,15 +11185,11 @@
|
|
|
11179
11185
|
+ (isDark.value === true ? ' q-color-picker--dark q-dark' : '')
|
|
11180
11186
|
);
|
|
11181
11187
|
|
|
11182
|
-
const attributes = vue.computed(() =>
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
|
|
11187
|
-
return { 'aria-readonly': 'true' }
|
|
11188
|
-
}
|
|
11189
|
-
return {}
|
|
11190
|
-
});
|
|
11188
|
+
const attributes = vue.computed(() => (
|
|
11189
|
+
props.disable === true
|
|
11190
|
+
? { 'aria-disabled': 'true' }
|
|
11191
|
+
: {}
|
|
11192
|
+
));
|
|
11191
11193
|
|
|
11192
11194
|
const spectrumDirective = vue.computed(() => {
|
|
11193
11195
|
// if editable.value === true
|
|
@@ -13897,7 +13899,7 @@
|
|
|
13897
13899
|
const attributes = vue.computed(() => (
|
|
13898
13900
|
props.disable === true
|
|
13899
13901
|
? { 'aria-disabled': 'true' }
|
|
13900
|
-
:
|
|
13902
|
+
: {}
|
|
13901
13903
|
));
|
|
13902
13904
|
|
|
13903
13905
|
vue.watch(() => props.modelValue, v => {
|
|
@@ -17545,7 +17547,7 @@
|
|
|
17545
17547
|
const attributes = vue.computed(() => (
|
|
17546
17548
|
props.disable === true
|
|
17547
17549
|
? { 'aria-disabled': 'true' }
|
|
17548
|
-
:
|
|
17550
|
+
: {}
|
|
17549
17551
|
));
|
|
17550
17552
|
|
|
17551
17553
|
function onInput () {
|
|
@@ -18744,6 +18746,7 @@
|
|
|
18744
18746
|
reactiveRules: Boolean,
|
|
18745
18747
|
lazyRules: {
|
|
18746
18748
|
type: [ Boolean, String ],
|
|
18749
|
+
default: false, // statement unneeded but avoids future vue implementation changes
|
|
18747
18750
|
validator: v => lazyRulesValues.includes(v)
|
|
18748
18751
|
}
|
|
18749
18752
|
};
|
|
@@ -18765,10 +18768,14 @@
|
|
|
18765
18768
|
&& props.rules.length !== 0
|
|
18766
18769
|
);
|
|
18767
18770
|
|
|
18768
|
-
const
|
|
18771
|
+
const canDebounceValidate = vue.computed(() => (
|
|
18769
18772
|
props.disable !== true
|
|
18770
18773
|
&& hasRules.value === true
|
|
18771
|
-
|
|
18774
|
+
// Should not have a validation in progress already;
|
|
18775
|
+
// It might mean that focus switched to submit btn and
|
|
18776
|
+
// QForm's submit() has been called already (ENTER key)
|
|
18777
|
+
&& innerLoading.value === false
|
|
18778
|
+
));
|
|
18772
18779
|
|
|
18773
18780
|
const hasError = vue.computed(() =>
|
|
18774
18781
|
props.error === true || innerError.value === true
|
|
@@ -18781,15 +18788,29 @@
|
|
|
18781
18788
|
));
|
|
18782
18789
|
|
|
18783
18790
|
vue.watch(() => props.modelValue, () => {
|
|
18784
|
-
|
|
18791
|
+
isDirtyModel.value = true;
|
|
18792
|
+
|
|
18793
|
+
if (
|
|
18794
|
+
canDebounceValidate.value === true
|
|
18795
|
+
// trigger validation if not using any kind of lazy-rules
|
|
18796
|
+
&& props.lazyRules === false
|
|
18797
|
+
) {
|
|
18798
|
+
debouncedValidate();
|
|
18799
|
+
}
|
|
18785
18800
|
});
|
|
18786
18801
|
|
|
18787
18802
|
vue.watch(() => props.reactiveRules, val => {
|
|
18788
18803
|
if (val === true) {
|
|
18789
18804
|
if (unwatchRules === void 0) {
|
|
18790
18805
|
unwatchRules = vue.watch(() => props.rules, () => {
|
|
18791
|
-
|
|
18792
|
-
|
|
18806
|
+
if (
|
|
18807
|
+
canDebounceValidate.value === true
|
|
18808
|
+
&& isDirtyModel.value === true
|
|
18809
|
+
&& props.lazyRules !== 'ondemand'
|
|
18810
|
+
) {
|
|
18811
|
+
debouncedValidate();
|
|
18812
|
+
}
|
|
18813
|
+
}, { immediate: true });
|
|
18793
18814
|
}
|
|
18794
18815
|
}
|
|
18795
18816
|
else if (unwatchRules !== void 0) {
|
|
@@ -18798,25 +18819,32 @@
|
|
|
18798
18819
|
}
|
|
18799
18820
|
}, { immediate: true });
|
|
18800
18821
|
|
|
18822
|
+
vue.watch(() => props.lazyRules, val => {
|
|
18823
|
+
if (
|
|
18824
|
+
val === false
|
|
18825
|
+
&& canDebounceValidate.value === true
|
|
18826
|
+
&& isDirtyModel.value === true
|
|
18827
|
+
) {
|
|
18828
|
+
debouncedValidate();
|
|
18829
|
+
}
|
|
18830
|
+
});
|
|
18831
|
+
|
|
18801
18832
|
vue.watch(focused, val => {
|
|
18802
18833
|
if (val === true) {
|
|
18803
18834
|
if (isDirtyModel.value === null) {
|
|
18804
|
-
isDirtyModel.value =
|
|
18835
|
+
isDirtyModel.value = props.lazyRules === true;
|
|
18805
18836
|
}
|
|
18806
18837
|
}
|
|
18807
|
-
else if (
|
|
18808
|
-
|
|
18809
|
-
|
|
18810
|
-
|
|
18811
|
-
|
|
18812
|
-
|
|
18813
|
-
|
|
18814
|
-
|
|
18815
|
-
|
|
18816
|
-
|
|
18817
|
-
) {
|
|
18818
|
-
debouncedValidate();
|
|
18819
|
-
}
|
|
18838
|
+
else if (
|
|
18839
|
+
canDebounceValidate.value === true
|
|
18840
|
+
&& (
|
|
18841
|
+
// props.lazyRules can also be 'ondemand',
|
|
18842
|
+
// hence the following form:
|
|
18843
|
+
props.lazyRules === false
|
|
18844
|
+
|| (props.lazyRules === true && isDirtyModel.value === true)
|
|
18845
|
+
)
|
|
18846
|
+
) {
|
|
18847
|
+
debouncedValidate();
|
|
18820
18848
|
}
|
|
18821
18849
|
});
|
|
18822
18850
|
|
|
@@ -18836,7 +18864,10 @@
|
|
|
18836
18864
|
* - Promise (pending async validation)
|
|
18837
18865
|
*/
|
|
18838
18866
|
function validate (val = props.modelValue) {
|
|
18839
|
-
if (
|
|
18867
|
+
if (
|
|
18868
|
+
props.disable === true
|
|
18869
|
+
|| hasRules.value === false
|
|
18870
|
+
) {
|
|
18840
18871
|
return true
|
|
18841
18872
|
}
|
|
18842
18873
|
|
|
@@ -18905,16 +18936,6 @@
|
|
|
18905
18936
|
)
|
|
18906
18937
|
}
|
|
18907
18938
|
|
|
18908
|
-
function validateIfNeeded (changedRules) {
|
|
18909
|
-
if (
|
|
18910
|
-
hasActiveRules.value === true
|
|
18911
|
-
&& props.lazyRules !== 'ondemand'
|
|
18912
|
-
&& (isDirtyModel.value === true || (props.lazyRules !== true && changedRules !== true))
|
|
18913
|
-
) {
|
|
18914
|
-
debouncedValidate();
|
|
18915
|
-
}
|
|
18916
|
-
}
|
|
18917
|
-
|
|
18918
18939
|
const debouncedValidate = debounce(validate, 0);
|
|
18919
18940
|
|
|
18920
18941
|
vue.onBeforeUnmount(() => {
|
|
@@ -19182,9 +19203,6 @@
|
|
|
19182
19203
|
if (props.disable === true) {
|
|
19183
19204
|
acc[ 'aria-disabled' ] = 'true';
|
|
19184
19205
|
}
|
|
19185
|
-
else if (props.readonly === true) {
|
|
19186
|
-
acc[ 'aria-readonly' ] = 'true';
|
|
19187
|
-
}
|
|
19188
19206
|
|
|
19189
19207
|
return acc
|
|
19190
19208
|
});
|
|
@@ -25613,15 +25631,15 @@
|
|
|
25613
25631
|
case dragType.RANGE:
|
|
25614
25632
|
const
|
|
25615
25633
|
ratioDelta = ratio - dragging.offsetRatio,
|
|
25616
|
-
minR = between(dragging.ratioMin + ratioDelta,
|
|
25634
|
+
minR = between(dragging.ratioMin + ratioDelta, state.innerMinRatio.value, state.innerMaxRatio.value - dragging.rangeRatio),
|
|
25617
25635
|
modelDelta = localModel - dragging.offsetModel,
|
|
25618
|
-
min = between(dragging.valueMin + modelDelta,
|
|
25636
|
+
min = between(dragging.valueMin + modelDelta, state.innerMin.value, state.innerMax.value - dragging.rangeValue);
|
|
25619
25637
|
|
|
25620
25638
|
pos = {
|
|
25621
25639
|
minR,
|
|
25622
25640
|
maxR: minR + dragging.rangeRatio,
|
|
25623
|
-
min:
|
|
25624
|
-
max:
|
|
25641
|
+
min: state.roundValueFn.value(min),
|
|
25642
|
+
max: state.roundValueFn.value(min + dragging.rangeValue)
|
|
25625
25643
|
};
|
|
25626
25644
|
|
|
25627
25645
|
state.focus.value = 'both';
|
|
@@ -25651,7 +25669,7 @@
|
|
|
25651
25669
|
stopAndPrevent(evt);
|
|
25652
25670
|
|
|
25653
25671
|
const
|
|
25654
|
-
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.
|
|
25672
|
+
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.keyStep.value,
|
|
25655
25673
|
offset = (
|
|
25656
25674
|
([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1)
|
|
25657
25675
|
* (state.isReversed.value === true ? -1 : 1)
|
|
@@ -25661,14 +25679,14 @@
|
|
|
25661
25679
|
if (state.focus.value === 'both') {
|
|
25662
25680
|
const interval = model.value.max - model.value.min;
|
|
25663
25681
|
const min = between(
|
|
25664
|
-
|
|
25682
|
+
state.roundValueFn.value(model.value.min + offset),
|
|
25665
25683
|
state.innerMin.value,
|
|
25666
25684
|
state.innerMax.value - interval
|
|
25667
25685
|
);
|
|
25668
25686
|
|
|
25669
25687
|
model.value = {
|
|
25670
25688
|
min,
|
|
25671
|
-
max:
|
|
25689
|
+
max: state.roundValueFn.value(min + interval)
|
|
25672
25690
|
};
|
|
25673
25691
|
}
|
|
25674
25692
|
else if (state.focus.value === false) {
|
|
@@ -25680,7 +25698,7 @@
|
|
|
25680
25698
|
model.value = {
|
|
25681
25699
|
...model.value,
|
|
25682
25700
|
[ which ]: between(
|
|
25683
|
-
|
|
25701
|
+
state.roundValueFn.value(model.value[ which ] + offset),
|
|
25684
25702
|
which === 'min' ? state.innerMin.value : model.value.min,
|
|
25685
25703
|
which === 'max' ? state.innerMax.value : model.value.max
|
|
25686
25704
|
)
|
|
@@ -39816,6 +39834,7 @@
|
|
|
39816
39834
|
const positionClass = {};
|
|
39817
39835
|
const emptyRE = /^\s*$/;
|
|
39818
39836
|
const notifRefs = [];
|
|
39837
|
+
const invalidTimeoutValues = [ void 0, null, true, false, '' ];
|
|
39819
39838
|
|
|
39820
39839
|
const positionList = [
|
|
39821
39840
|
'top-left', 'top-right',
|
|
@@ -39909,15 +39928,15 @@
|
|
|
39909
39928
|
notif.position = 'bottom';
|
|
39910
39929
|
}
|
|
39911
39930
|
|
|
39912
|
-
if (notif.timeout ===
|
|
39931
|
+
if (invalidTimeoutValues.includes(notif.timeout) === true) {
|
|
39913
39932
|
notif.timeout = 5000;
|
|
39914
39933
|
}
|
|
39915
39934
|
else {
|
|
39916
|
-
const t =
|
|
39935
|
+
const t = Number(notif.timeout); // we catch exponential notation too with Number() casting
|
|
39917
39936
|
if (isNaN(t) || t < 0) {
|
|
39918
39937
|
return logError('wrong timeout', config)
|
|
39919
39938
|
}
|
|
39920
|
-
notif.timeout = t;
|
|
39939
|
+
notif.timeout = Number.isFinite(t) ? t : 0;
|
|
39921
39940
|
}
|
|
39922
39941
|
|
|
39923
39942
|
if (notif.timeout === 0) {
|
|
@@ -41041,7 +41060,7 @@
|
|
|
41041
41060
|
*/
|
|
41042
41061
|
|
|
41043
41062
|
var index_umd = {
|
|
41044
|
-
version: '2.14.
|
|
41063
|
+
version: '2.14.2',
|
|
41045
41064
|
install (app, opts) {
|
|
41046
41065
|
installQuasar(app, {
|
|
41047
41066
|
components,
|