quasar 1.18.4 → 1.18.7
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/BottomSheet.json +1 -1
- package/dist/api/Notify.json +205 -5
- package/dist/api/QAvatar.json +1 -1
- package/dist/api/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtn.json +2 -2
- package/dist/api/QBtnDropdown.json +3 -3
- package/dist/api/QCarousel.json +3 -3
- package/dist/api/QChip.json +4 -4
- package/dist/api/QExpansionItem.json +2 -2
- package/dist/api/QFab.json +2 -2
- package/dist/api/QFabAction.json +1 -1
- package/dist/api/QIcon.json +4 -2
- package/dist/api/QKnob.json +5 -0
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QStep.json +4 -4
- package/dist/api/QStepper.json +4 -4
- package/dist/api/QTab.json +1 -1
- package/dist/api/QTimelineEntry.json +1 -1
- package/dist/api/QToggle.json +1 -1
- package/dist/api/QTree.json +1 -1
- package/dist/icon-set/bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/eva-icons.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.min.js +6 -0
- package/dist/icon-set/fontawesome-v6.umd.min.js +6 -0
- package/dist/icon-set/ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/line-awesome.umd.min.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/material-icons.umd.min.js +1 -1
- package/dist/icon-set/mdi-v3.umd.min.js +1 -1
- package/dist/icon-set/mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/mdi-v6.umd.min.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.min.js +2 -2
- package/dist/icon-set/svg-eva-icons.umd.min.js +2 -2
- package/dist/icon-set/svg-fontawesome-v5.umd.min.js +2 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.min.js +6 -0
- package/dist/icon-set/svg-ionicons-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.min.js +2 -2
- package/dist/icon-set/svg-line-awesome.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.min.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v4.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.min.js +2 -2
- package/dist/icon-set/svg-themify.umd.min.js +1 -1
- package/dist/icon-set/themify.umd.min.js +1 -1
- package/dist/lang/ar.umd.min.js +1 -1
- package/dist/lang/az-latn.umd.min.js +1 -1
- package/dist/lang/bg.umd.min.js +1 -1
- package/dist/lang/ca.umd.min.js +1 -1
- package/dist/lang/cs.umd.min.js +1 -1
- package/dist/lang/da.umd.min.js +1 -1
- package/dist/lang/de.umd.min.js +1 -1
- package/dist/lang/el.umd.min.js +1 -1
- package/dist/lang/en-gb.umd.min.js +1 -1
- package/dist/lang/en-us.umd.min.js +1 -1
- package/dist/lang/eo.umd.min.js +1 -1
- package/dist/lang/es.umd.min.js +1 -1
- package/dist/lang/et.umd.min.js +1 -1
- package/dist/lang/eu.umd.min.js +6 -0
- package/dist/lang/fa-ir.umd.min.js +1 -1
- package/dist/lang/fa.umd.min.js +1 -1
- package/dist/lang/fi.umd.min.js +1 -1
- package/dist/lang/fr.umd.min.js +1 -1
- package/dist/lang/gn.umd.min.js +1 -1
- package/dist/lang/he.umd.min.js +1 -1
- package/dist/lang/hr.umd.min.js +1 -1
- package/dist/lang/hu.umd.min.js +1 -1
- package/dist/lang/id.umd.min.js +1 -1
- package/dist/lang/is.umd.min.js +1 -1
- package/dist/lang/it.umd.min.js +1 -1
- package/dist/lang/ja.umd.min.js +1 -1
- package/dist/lang/km.umd.min.js +1 -1
- package/dist/lang/ko-kr.umd.min.js +1 -1
- package/dist/lang/kur-ckb.umd.min.js +1 -1
- package/dist/lang/kz.umd.min.js +6 -0
- package/dist/lang/lu.umd.min.js +1 -1
- package/dist/lang/lv.umd.min.js +1 -1
- package/dist/lang/ml.umd.min.js +1 -1
- package/dist/lang/ms.umd.min.js +1 -1
- package/dist/lang/my.umd.min.js +1 -1
- package/dist/lang/nb-no.umd.min.js +1 -1
- package/dist/lang/nl.umd.min.js +1 -1
- package/dist/lang/pl.umd.min.js +1 -1
- package/dist/lang/pt-br.umd.min.js +1 -1
- package/dist/lang/pt.umd.min.js +1 -1
- package/dist/lang/ro.umd.min.js +1 -1
- package/dist/lang/ru.umd.min.js +1 -1
- package/dist/lang/sk.umd.min.js +1 -1
- package/dist/lang/sl.umd.min.js +1 -1
- package/dist/lang/sr.umd.min.js +1 -1
- package/dist/lang/sv.umd.min.js +1 -1
- package/dist/lang/ta.umd.min.js +1 -1
- package/dist/lang/th.umd.min.js +1 -1
- package/dist/lang/tr.umd.min.js +1 -1
- package/dist/lang/ug.umd.min.js +2 -2
- package/dist/lang/uk.umd.min.js +1 -1
- package/dist/lang/vi.umd.min.js +1 -1
- package/dist/lang/zh-hans.umd.min.js +1 -1
- package/dist/lang/zh-hant.umd.min.js +1 -1
- package/dist/quasar.addon.css +1 -1
- package/dist/quasar.addon.rtl.css +1 -1
- package/dist/quasar.common.js +2 -2
- package/dist/quasar.css +6 -3
- package/dist/quasar.esm.js +2 -2
- package/dist/quasar.ie.polyfills.js +1 -1
- package/dist/quasar.ie.polyfills.umd.min.js +1 -1
- package/dist/quasar.min.css +1 -1
- package/dist/quasar.rtl.css +8 -3
- package/dist/quasar.rtl.min.css +1 -1
- package/dist/quasar.sass +4 -1
- package/dist/quasar.styl +4 -1
- package/dist/quasar.umd.js +176 -97
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +176 -97
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/types/extras/icon-set.d.ts +2 -0
- package/dist/types/index.d.ts +114 -44
- package/dist/vetur/quasar-attributes.json +42 -38
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +49 -39
- package/icon-set/fontawesome-v6-pro.js +128 -0
- package/icon-set/fontawesome-v6.js +128 -0
- package/icon-set/svg-fontawesome-v6.js +198 -0
- package/lang/eu.js +93 -0
- package/lang/index.json +8 -0
- package/lang/kz.js +97 -0
- package/lang/ug.js +49 -52
- package/package.json +1 -1
- package/src/api.extends.json +1 -1
- package/src/components/btn/QBtn.js +30 -22
- package/src/components/date/QDate.js +2 -1
- package/src/components/dialog-plugin/DialogPlugin.js +6 -5
- package/src/components/fab/QFab.js +1 -1
- package/src/components/field/QField.js +17 -9
- package/src/components/file/QFile.js +1 -0
- package/src/components/icon/QIcon.js +6 -2
- package/src/components/icon/QIcon.json +1 -3
- package/src/components/input/QInput.js +4 -1
- package/src/components/knob/QKnob.js +5 -2
- package/src/components/knob/QKnob.json +6 -0
- package/src/components/linear-progress/QLinearProgress.sass +1 -0
- package/src/components/linear-progress/QLinearProgress.styl +1 -0
- package/src/components/select/QSelect.js +23 -8
- package/src/components/slide-transition/QSlideTransition.js +4 -4
- package/src/components/slider/slider-utils.js +4 -4
- package/src/components/stepper/QStep.json +3 -0
- package/src/components/stepper/QStepper.json +3 -0
- package/src/components/stepper/QStepper.sass +2 -0
- package/src/components/stepper/QStepper.styl +2 -0
- package/src/components/stepper/StepHeader.js +23 -8
- package/src/components/table/table-sort.js +2 -2
- package/src/components/uploader/QUploaderBase.js +4 -1
- package/src/mixins/datetime.js +3 -1
- package/src/mixins/file.js +3 -2
- package/src/plugins/Loading.js +3 -2
- package/src/plugins/LoadingBar.js +15 -10
- package/src/plugins/Notify.js +8 -5
- package/src/plugins/Notify.json +100 -0
- package/src/utils/extend.js +2 -2
- package/src/utils/is.js +4 -14
- package/src/utils/morph.js +4 -3
- package/src/utils/web-storage.js +3 -2
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v1.18.
|
|
2
|
+
* Quasar Framework v1.18.7
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
Vue = Vue && Object.prototype.hasOwnProperty.call(Vue, 'default') ? Vue['default'] : Vue;
|
|
14
14
|
|
|
15
|
-
var version = "1.18.
|
|
15
|
+
var version = "1.18.7";
|
|
16
16
|
|
|
17
17
|
/* eslint-disable no-useless-escape */
|
|
18
18
|
|
|
@@ -2410,6 +2410,7 @@
|
|
|
2410
2410
|
var svgUseRE = /^svguse:/;
|
|
2411
2411
|
var ionRE = /^ion-/;
|
|
2412
2412
|
var faLaRE = /^[lf]a[srlbdk]? /;
|
|
2413
|
+
var fa6RE = /^fa-(solid|regular|light|brands|duotone|thin)/;
|
|
2413
2414
|
|
|
2414
2415
|
var QIcon = Vue.extend({
|
|
2415
2416
|
name: 'QIcon',
|
|
@@ -2442,7 +2443,7 @@
|
|
|
2442
2443
|
var cls;
|
|
2443
2444
|
var icon = this.name;
|
|
2444
2445
|
|
|
2445
|
-
if (!icon) {
|
|
2446
|
+
if (icon === 'none' || !icon) {
|
|
2446
2447
|
return { none: true }
|
|
2447
2448
|
}
|
|
2448
2449
|
|
|
@@ -2451,6 +2452,9 @@
|
|
|
2451
2452
|
if (res !== void 0) {
|
|
2452
2453
|
if (res.icon !== void 0) {
|
|
2453
2454
|
icon = res.icon;
|
|
2455
|
+
if (icon === 'none' || !icon) {
|
|
2456
|
+
return { none: true }
|
|
2457
|
+
}
|
|
2454
2458
|
}
|
|
2455
2459
|
else {
|
|
2456
2460
|
return {
|
|
@@ -2509,7 +2513,7 @@
|
|
|
2509
2513
|
if (matches !== null) {
|
|
2510
2514
|
cls = libMap[ matches[ 1 ] ](icon);
|
|
2511
2515
|
}
|
|
2512
|
-
else if (faLaRE.test(icon) === true) {
|
|
2516
|
+
else if (faLaRE.test(icon) === true || fa6RE.test(icon) === true) {
|
|
2513
2517
|
cls = icon;
|
|
2514
2518
|
}
|
|
2515
2519
|
else if (ionRE.test(icon) === true) {
|
|
@@ -3767,34 +3771,41 @@
|
|
|
3767
3771
|
},
|
|
3768
3772
|
|
|
3769
3773
|
__onKeydown: function __onKeydown (e) {
|
|
3770
|
-
|
|
3771
|
-
stopAndPrevent(e);
|
|
3774
|
+
this.$emit('keydown', e);
|
|
3772
3775
|
|
|
3776
|
+
if (isKeyCode(e, [ 13, 32 ]) === true) {
|
|
3773
3777
|
if (keyboardTarget !== this.$el) {
|
|
3774
3778
|
keyboardTarget !== void 0 && this.__cleanup();
|
|
3775
3779
|
|
|
3776
|
-
|
|
3777
|
-
|
|
3780
|
+
if (e.defaultPrevented !== true) {
|
|
3781
|
+
// focus external button if the focus helper was focused before
|
|
3782
|
+
this.$el.focus();
|
|
3778
3783
|
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3784
|
+
keyboardTarget = this.$el;
|
|
3785
|
+
this.$el.classList.add('q-btn--active');
|
|
3786
|
+
document.addEventListener('keyup', this.__onPressEnd, true);
|
|
3787
|
+
this.$el.addEventListener('blur', this.__onPressEnd, passiveCapture);
|
|
3788
|
+
}
|
|
3783
3789
|
}
|
|
3784
|
-
}
|
|
3785
3790
|
|
|
3786
|
-
|
|
3791
|
+
stopAndPrevent(e);
|
|
3792
|
+
}
|
|
3787
3793
|
},
|
|
3788
3794
|
|
|
3789
3795
|
__onTouchstart: function __onTouchstart (e) {
|
|
3790
3796
|
var this$1 = this;
|
|
3791
3797
|
|
|
3798
|
+
this.$emit('touchstart', e);
|
|
3799
|
+
|
|
3792
3800
|
if (touchTarget !== this.$el) {
|
|
3793
3801
|
touchTarget !== void 0 && this.__cleanup();
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
|
|
3797
|
-
|
|
3802
|
+
|
|
3803
|
+
if (e.defaultPrevented !== true) {
|
|
3804
|
+
touchTarget = this.$el;
|
|
3805
|
+
var target = this.touchTargetEl = e.target;
|
|
3806
|
+
target.addEventListener('touchcancel', this.__onPressEnd, passiveCapture);
|
|
3807
|
+
target.addEventListener('touchend', this.__onPressEnd, passiveCapture);
|
|
3808
|
+
}
|
|
3798
3809
|
}
|
|
3799
3810
|
|
|
3800
3811
|
// avoid duplicated mousedown event
|
|
@@ -3804,20 +3815,21 @@
|
|
|
3804
3815
|
this.mouseTimer = setTimeout(function () {
|
|
3805
3816
|
this$1.avoidMouseRipple = false;
|
|
3806
3817
|
}, 200);
|
|
3807
|
-
|
|
3808
|
-
this.$emit('touchstart', e);
|
|
3809
3818
|
},
|
|
3810
3819
|
|
|
3811
3820
|
__onMousedown: function __onMousedown (e) {
|
|
3821
|
+
e.qSkipRipple = this.avoidMouseRipple === true;
|
|
3822
|
+
this.$emit('mousedown', e);
|
|
3823
|
+
|
|
3812
3824
|
if (mouseTarget !== this.$el) {
|
|
3813
3825
|
mouseTarget !== void 0 && this.__cleanup();
|
|
3814
|
-
mouseTarget = this.$el;
|
|
3815
|
-
this.$el.classList.add('q-btn--active');
|
|
3816
|
-
document.addEventListener('mouseup', this.__onPressEnd, passiveCapture);
|
|
3817
|
-
}
|
|
3818
3826
|
|
|
3819
|
-
|
|
3820
|
-
|
|
3827
|
+
if (e.defaultPrevented !== true) {
|
|
3828
|
+
mouseTarget = this.$el;
|
|
3829
|
+
this.$el.classList.add('q-btn--active');
|
|
3830
|
+
document.addEventListener('mouseup', this.__onPressEnd, passiveCapture);
|
|
3831
|
+
}
|
|
3832
|
+
}
|
|
3821
3833
|
},
|
|
3822
3834
|
|
|
3823
3835
|
__onPressEnd: function __onPressEnd (e) {
|
|
@@ -6996,10 +7008,21 @@
|
|
|
6996
7008
|
return a !== a && b !== b // eslint-disable-line no-self-compare
|
|
6997
7009
|
}
|
|
6998
7010
|
|
|
7011
|
+
// not perfect, but what we ARE interested is for Arrays not to slip in
|
|
7012
|
+
// as spread operator will mess things up in various areas
|
|
7013
|
+
// see https://jsbench.me/tbl0iliyax/1
|
|
7014
|
+
function isObject (v) {
|
|
7015
|
+
return v !== null && typeof v === 'object' && Array.isArray(v) !== true
|
|
7016
|
+
}
|
|
7017
|
+
|
|
6999
7018
|
function isDate (v) {
|
|
7000
7019
|
return Object.prototype.toString.call(v) === '[object Date]'
|
|
7001
7020
|
}
|
|
7002
7021
|
|
|
7022
|
+
function isRegexp (v) {
|
|
7023
|
+
return Object.prototype.toString.call(v) === '[object RegExp]'
|
|
7024
|
+
}
|
|
7025
|
+
|
|
7003
7026
|
function isNumber (v) {
|
|
7004
7027
|
return typeof v === 'number' && isFinite(v)
|
|
7005
7028
|
}
|
|
@@ -9034,7 +9057,7 @@
|
|
|
9034
9057
|
if (typeof def === 'function') {
|
|
9035
9058
|
return this.markerTicks.map(function (value) {
|
|
9036
9059
|
var item = def(value);
|
|
9037
|
-
return
|
|
9060
|
+
return isObject(item) === true ? Object.assign({}, item, {value: value}) : { value: value, label: item }
|
|
9038
9061
|
})
|
|
9039
9062
|
}
|
|
9040
9063
|
|
|
@@ -9046,14 +9069,14 @@
|
|
|
9046
9069
|
|
|
9047
9070
|
if (Array.isArray(def) === true) {
|
|
9048
9071
|
return def
|
|
9049
|
-
.map(function (item) { return (
|
|
9072
|
+
.map(function (item) { return (isObject(item) === true ? item : { value: item }); })
|
|
9050
9073
|
.filter(filterFn)
|
|
9051
9074
|
}
|
|
9052
9075
|
|
|
9053
9076
|
return Object.keys(def).map(function (key) {
|
|
9054
9077
|
var item = def[ key ];
|
|
9055
9078
|
var value = Number(key);
|
|
9056
|
-
return
|
|
9079
|
+
return isObject(item) === true ? Object.assign({}, item, {value: value}) : { value: value, label: item }
|
|
9057
9080
|
}).filter(filterFn)
|
|
9058
9081
|
},
|
|
9059
9082
|
|
|
@@ -11764,7 +11787,9 @@
|
|
|
11764
11787
|
|
|
11765
11788
|
methods: {
|
|
11766
11789
|
__getLocale: function __getLocale () {
|
|
11767
|
-
return this.locale
|
|
11790
|
+
return this.locale !== void 0
|
|
11791
|
+
? Object.assign({}, this.$q.lang.date, this.locale)
|
|
11792
|
+
: this.$q.lang.date
|
|
11768
11793
|
},
|
|
11769
11794
|
|
|
11770
11795
|
__getCurrentDate: function __getCurrentDate (dateOnly) {
|
|
@@ -12977,7 +13002,7 @@
|
|
|
12977
13002
|
|
|
12978
13003
|
var fn = function (date) { return this$1.__decodeString(date, this$1.innerMask, this$1.innerLocale); };
|
|
12979
13004
|
return this.normalizedModel
|
|
12980
|
-
.filter(function (date) { return
|
|
13005
|
+
.filter(function (date) { return isObject(date) === true && date.from !== void 0 && date.to !== void 0; })
|
|
12981
13006
|
.map(function (range) { return ({ from: fn(range.from), to: fn(range.to) }); })
|
|
12982
13007
|
.filter(function (range) { return range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash; })
|
|
12983
13008
|
},
|
|
@@ -16828,13 +16853,13 @@
|
|
|
16828
16853
|
continue
|
|
16829
16854
|
}
|
|
16830
16855
|
|
|
16831
|
-
if (deep && copy && (isPlainObject(copy) || (copyIsArray = type(copy) === 'array'))) {
|
|
16856
|
+
if (deep && copy && (isPlainObject(copy) === true || (copyIsArray = type(copy) === 'array'))) {
|
|
16832
16857
|
if (copyIsArray) {
|
|
16833
16858
|
copyIsArray = false;
|
|
16834
16859
|
clone = src && type(src) === 'array' ? src : [];
|
|
16835
16860
|
}
|
|
16836
16861
|
else {
|
|
16837
|
-
clone = src && isPlainObject(src) ? src : {};
|
|
16862
|
+
clone = src && isPlainObject(src) === true ? src : {};
|
|
16838
16863
|
}
|
|
16839
16864
|
|
|
16840
16865
|
target[name] = extend(deep, clone, copy);
|
|
@@ -17509,8 +17534,8 @@
|
|
|
17509
17534
|
|
|
17510
17535
|
this$1.timer = setTimeout(function () {
|
|
17511
17536
|
el.style.height = (el.scrollHeight) + "px";
|
|
17512
|
-
this$1.animListener = function (
|
|
17513
|
-
if (Object(
|
|
17537
|
+
this$1.animListener = function (evt) {
|
|
17538
|
+
if (Object(evt) !== evt || evt.target === el) {
|
|
17514
17539
|
this$1.__end(el, 'show');
|
|
17515
17540
|
}
|
|
17516
17541
|
};
|
|
@@ -17535,8 +17560,8 @@
|
|
|
17535
17560
|
|
|
17536
17561
|
this$1.timer = setTimeout(function () {
|
|
17537
17562
|
el.style.height = 0;
|
|
17538
|
-
this$1.animListener = function (
|
|
17539
|
-
if (Object(
|
|
17563
|
+
this$1.animListener = function (evt) {
|
|
17564
|
+
if (Object(evt) !== evt || evt.target === el) {
|
|
17540
17565
|
this$1.__end(el, 'hide');
|
|
17541
17566
|
}
|
|
17542
17567
|
};
|
|
@@ -18095,7 +18120,7 @@
|
|
|
18095
18120
|
var staticClass = "q-fab__" + kebab + " absolute-full";
|
|
18096
18121
|
|
|
18097
18122
|
return slotFn === void 0
|
|
18098
|
-
? h(QIcon, { staticClass: staticClass, props: { name: this[
|
|
18123
|
+
? h(QIcon, { staticClass: staticClass, props: { name: this[camel] || this.$q.iconSet.fab[camel] } })
|
|
18099
18124
|
: h('div', { staticClass: staticClass }, slotFn(this.slotScope))
|
|
18100
18125
|
}
|
|
18101
18126
|
},
|
|
@@ -18809,14 +18834,6 @@
|
|
|
18809
18834
|
}, this.__getControlContainer(h))
|
|
18810
18835
|
);
|
|
18811
18836
|
|
|
18812
|
-
this.$scopedSlots.append !== void 0 && node.push(
|
|
18813
|
-
h('div', {
|
|
18814
|
-
staticClass: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
18815
|
-
key: 'append',
|
|
18816
|
-
on: this.slotsEvents
|
|
18817
|
-
}, this.$scopedSlots.append())
|
|
18818
|
-
);
|
|
18819
|
-
|
|
18820
18837
|
this.hasError === true && this.noErrorIcon === false && node.push(
|
|
18821
18838
|
this.__getInnerAppendNode(h, 'error', [
|
|
18822
18839
|
h(QIcon, { props: { name: this.$q.iconSet.field.error, color: 'negative' } })
|
|
@@ -18847,6 +18864,14 @@
|
|
|
18847
18864
|
);
|
|
18848
18865
|
}
|
|
18849
18866
|
|
|
18867
|
+
this.$scopedSlots.append !== void 0 && node.push(
|
|
18868
|
+
h('div', {
|
|
18869
|
+
staticClass: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
18870
|
+
key: 'append',
|
|
18871
|
+
on: this.slotsEvents
|
|
18872
|
+
}, this.$scopedSlots.append())
|
|
18873
|
+
);
|
|
18874
|
+
|
|
18850
18875
|
this.__getInnerAppend !== void 0 && node.push(
|
|
18851
18876
|
this.__getInnerAppendNode(h, 'inner-append', this.__getInnerAppend(h))
|
|
18852
18877
|
);
|
|
@@ -19062,10 +19087,16 @@
|
|
|
19062
19087
|
this.__onPreRender !== void 0 && this.__onPreRender();
|
|
19063
19088
|
this.__onPostRender !== void 0 && this.$nextTick(this.__onPostRender);
|
|
19064
19089
|
|
|
19090
|
+
var attrs = this.__getControl === void 0 && this.$scopedSlots.control === void 0
|
|
19091
|
+
? Object.assign({}, this.qAttrs,
|
|
19092
|
+
{'data-autofocus': this.autofocus},
|
|
19093
|
+
this.attrs)
|
|
19094
|
+
: this.attrs;
|
|
19095
|
+
|
|
19065
19096
|
return h('label', {
|
|
19066
19097
|
staticClass: 'q-field q-validation-component row no-wrap items-start',
|
|
19067
19098
|
class: this.classes,
|
|
19068
|
-
attrs:
|
|
19099
|
+
attrs: attrs
|
|
19069
19100
|
}, [
|
|
19070
19101
|
this.$scopedSlots.before !== void 0 ? h('div', {
|
|
19071
19102
|
staticClass: 'q-field__before q-field__marginal row no-wrap items-center',
|
|
@@ -19251,7 +19282,7 @@
|
|
|
19251
19282
|
// Cordova/iOS allows selecting multiple files even when the
|
|
19252
19283
|
// multiple attribute is not specified. We also normalize drag'n'dropped
|
|
19253
19284
|
// files here:
|
|
19254
|
-
if (this.multiple !== true) {
|
|
19285
|
+
if (this.multiple !== true && files.length > 0) {
|
|
19255
19286
|
files = [ files[0] ];
|
|
19256
19287
|
}
|
|
19257
19288
|
|
|
@@ -19315,7 +19346,7 @@
|
|
|
19315
19346
|
|
|
19316
19347
|
__onDragLeave: function __onDragLeave (e) {
|
|
19317
19348
|
stopAndPrevent(e);
|
|
19318
|
-
this.dnd = false;
|
|
19349
|
+
e.relatedTarget !== this.$refs.dnd && (this.dnd = false);
|
|
19319
19350
|
},
|
|
19320
19351
|
|
|
19321
19352
|
__onDrop: function __onDrop (e) {
|
|
@@ -19333,6 +19364,7 @@
|
|
|
19333
19364
|
if (this.dnd === true) {
|
|
19334
19365
|
return h('div', {
|
|
19335
19366
|
staticClass: ("q-" + type + "__dnd absolute-full"),
|
|
19367
|
+
ref: 'dnd',
|
|
19336
19368
|
on: cache(this, 'dnd', {
|
|
19337
19369
|
dragenter: stopAndPreventDrag,
|
|
19338
19370
|
dragover: stopAndPreventDrag,
|
|
@@ -19538,6 +19570,7 @@
|
|
|
19538
19570
|
if (this.editable === true) {
|
|
19539
19571
|
data.on = cache(this, 'native', {
|
|
19540
19572
|
dragover: this.__onDragOver,
|
|
19573
|
+
dragleave: this.__onDragLeave,
|
|
19541
19574
|
keydown: this.__onKeydown,
|
|
19542
19575
|
keyup: this.__onKeyup
|
|
19543
19576
|
});
|
|
@@ -21488,7 +21521,10 @@
|
|
|
21488
21521
|
if (this.hasMask === true) {
|
|
21489
21522
|
if (this.stopValueWatcher === true) {
|
|
21490
21523
|
this.stopValueWatcher = false;
|
|
21491
|
-
|
|
21524
|
+
|
|
21525
|
+
if (String(v) === this.emitCachedValue) {
|
|
21526
|
+
return
|
|
21527
|
+
}
|
|
21492
21528
|
}
|
|
21493
21529
|
|
|
21494
21530
|
this.__updateMaskValue(v);
|
|
@@ -22221,11 +22257,14 @@
|
|
|
22221
22257
|
angle = center.left < pos.left ? angle + 90 : 270 - angle;
|
|
22222
22258
|
}
|
|
22223
22259
|
|
|
22224
|
-
if (this.
|
|
22260
|
+
if (this.$q.lang.rtl === true) {
|
|
22261
|
+
angle = normalizeToInterval(-angle - this.angle, 0, 360);
|
|
22262
|
+
}
|
|
22263
|
+
else if (this.angle) {
|
|
22225
22264
|
angle = normalizeToInterval(angle - this.angle, 0, 360);
|
|
22226
22265
|
}
|
|
22227
22266
|
|
|
22228
|
-
if (this
|
|
22267
|
+
if (this.reverse === true) {
|
|
22229
22268
|
angle = 360 - angle;
|
|
22230
22269
|
}
|
|
22231
22270
|
|
|
@@ -26998,6 +27037,20 @@
|
|
|
26998
27037
|
|
|
26999
27038
|
menu: function menu (show) {
|
|
27000
27039
|
this.__updateMenu(show);
|
|
27040
|
+
},
|
|
27041
|
+
|
|
27042
|
+
virtualScrollLength: function virtualScrollLength () {
|
|
27043
|
+
var this$1 = this;
|
|
27044
|
+
|
|
27045
|
+
if (this.menu === true && this.innerLoading === false) {
|
|
27046
|
+
this.reset();
|
|
27047
|
+
|
|
27048
|
+
this.$nextTick(function () {
|
|
27049
|
+
if (this$1.menu === true && this$1.innerLoading === false) {
|
|
27050
|
+
this$1.__updateMenu(true);
|
|
27051
|
+
}
|
|
27052
|
+
});
|
|
27053
|
+
}
|
|
27001
27054
|
}
|
|
27002
27055
|
},
|
|
27003
27056
|
|
|
@@ -27448,9 +27501,7 @@
|
|
|
27448
27501
|
|
|
27449
27502
|
return typeof val === 'function'
|
|
27450
27503
|
? val
|
|
27451
|
-
: function (opt) { return
|
|
27452
|
-
? opt[val]
|
|
27453
|
-
: opt; }
|
|
27504
|
+
: function (opt) { return (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt); }
|
|
27454
27505
|
},
|
|
27455
27506
|
|
|
27456
27507
|
isOptionSelected: function isOptionSelected (opt) {
|
|
@@ -27815,6 +27866,8 @@
|
|
|
27815
27866
|
}
|
|
27816
27867
|
// there can be only one (when dialog is opened the control in dialog should be target)
|
|
27817
27868
|
else if (this.editable === true) {
|
|
27869
|
+
var attrs$1 = isTarget === true ? this.comboboxAttrs : void 0;
|
|
27870
|
+
|
|
27818
27871
|
child.push(
|
|
27819
27872
|
h('div', {
|
|
27820
27873
|
ref: isTarget === true ? 'target' : void 0,
|
|
@@ -27822,7 +27875,7 @@
|
|
|
27822
27875
|
staticClass: 'q-select__focus-target',
|
|
27823
27876
|
attrs: Object.assign({}, {id: isTarget === true ? this.targetUid : void 0,
|
|
27824
27877
|
tabindex: this.tabindex},
|
|
27825
|
-
|
|
27878
|
+
attrs$1),
|
|
27826
27879
|
on: cache(this, 'f-tget', {
|
|
27827
27880
|
keydown: this.__onTargetKeydown,
|
|
27828
27881
|
keyup: this.__onTargetKeyup,
|
|
@@ -27860,7 +27913,9 @@
|
|
|
27860
27913
|
);
|
|
27861
27914
|
}
|
|
27862
27915
|
|
|
27863
|
-
|
|
27916
|
+
var attrs = this.useInput === true || isTarget !== true ? void 0 : this.qAttrs;
|
|
27917
|
+
|
|
27918
|
+
return h('div', { staticClass: 'q-field__native row items-center', attrs: attrs }, child)
|
|
27864
27919
|
},
|
|
27865
27920
|
|
|
27866
27921
|
__getOptions: function __getOptions (h) {
|
|
@@ -27927,6 +27982,8 @@
|
|
|
27927
27982
|
},
|
|
27928
27983
|
|
|
27929
27984
|
__getInput: function __getInput (h, fromDialog, isTarget) {
|
|
27985
|
+
var attrs = isTarget === true ? Object.assign({}, this.comboboxAttrs, this.qAttrs) : void 0;
|
|
27986
|
+
|
|
27930
27987
|
var options = {
|
|
27931
27988
|
ref: isTarget === true ? 'target' : void 0,
|
|
27932
27989
|
key: 'i_t',
|
|
@@ -27935,15 +27992,14 @@
|
|
|
27935
27992
|
class: this.computedInputClass,
|
|
27936
27993
|
domProps: { value: this.inputValue !== void 0 ? this.inputValue : '' },
|
|
27937
27994
|
attrs: Object.assign({}, {type: 'search'},
|
|
27938
|
-
|
|
27995
|
+
attrs,
|
|
27939
27996
|
{id: isTarget === true ? this.targetUid : void 0,
|
|
27940
27997
|
maxlength: this.maxlength, // this is converted to prop by QField
|
|
27941
27998
|
tabindex: this.tabindex,
|
|
27942
27999
|
autocomplete: this.autocomplete,
|
|
27943
28000
|
'data-autofocus': fromDialog === true ? false : this.autofocus,
|
|
27944
28001
|
disabled: this.disable === true,
|
|
27945
|
-
readonly: this.readonly === true},
|
|
27946
|
-
this.comboboxAttrs),
|
|
28002
|
+
readonly: this.readonly === true}),
|
|
27947
28003
|
on: this.inputControlEvents
|
|
27948
28004
|
};
|
|
27949
28005
|
|
|
@@ -31307,23 +31363,36 @@
|
|
|
31307
31363
|
|
|
31308
31364
|
hasPrefix: function hasPrefix () {
|
|
31309
31365
|
return this.step.prefix &&
|
|
31310
|
-
this.isActive === false &&
|
|
31311
|
-
this.isError === false &&
|
|
31312
|
-
this.isDone === false
|
|
31366
|
+
(this.isActive === false || this.stepper.activeIcon === 'none') &&
|
|
31367
|
+
(this.isError === false || this.stepper.errorIcon === 'none') &&
|
|
31368
|
+
(this.isDone === false || this.stepper.doneIcon === 'none')
|
|
31313
31369
|
},
|
|
31314
31370
|
|
|
31315
31371
|
icon: function icon () {
|
|
31372
|
+
var defaultIcon = this.step.icon || this.stepper.inactiveIcon;
|
|
31373
|
+
|
|
31316
31374
|
if (this.isActive === true) {
|
|
31317
|
-
|
|
31375
|
+
var icon = this.step.activeIcon || this.stepper.activeIcon;
|
|
31376
|
+
return icon === 'none'
|
|
31377
|
+
? defaultIcon
|
|
31378
|
+
: icon || this.$q.iconSet.stepper.active
|
|
31318
31379
|
}
|
|
31380
|
+
|
|
31319
31381
|
if (this.isError === true) {
|
|
31320
|
-
|
|
31382
|
+
var icon$1 = this.step.errorIcon || this.stepper.errorIcon;
|
|
31383
|
+
return icon$1 === 'none'
|
|
31384
|
+
? defaultIcon
|
|
31385
|
+
: icon$1 || this.$q.iconSet.stepper.error
|
|
31321
31386
|
}
|
|
31387
|
+
|
|
31322
31388
|
if (this.isDisable === false && this.isDone === true) {
|
|
31323
|
-
|
|
31389
|
+
var icon$2 = this.step.doneIcon || this.stepper.doneIcon;
|
|
31390
|
+
return icon$2 === 'none'
|
|
31391
|
+
? defaultIcon
|
|
31392
|
+
: icon$2 || this.$q.iconSet.stepper.done
|
|
31324
31393
|
}
|
|
31325
31394
|
|
|
31326
|
-
return
|
|
31395
|
+
return defaultIcon
|
|
31327
31396
|
},
|
|
31328
31397
|
|
|
31329
31398
|
color: function color () {
|
|
@@ -31350,7 +31419,9 @@
|
|
|
31350
31419
|
classes: function classes () {
|
|
31351
31420
|
return "q-stepper__tab col-grow flex items-center no-wrap relative-position" +
|
|
31352
31421
|
(this.color !== void 0 ? (" text-" + (this.color)) : '') +
|
|
31353
|
-
(this.isError === true
|
|
31422
|
+
(this.isError === true
|
|
31423
|
+
? ' q-stepper__tab--error q-stepper__tab--error-with-' + (this.hasPrefix === true ? 'prefix' : 'icon')
|
|
31424
|
+
: '') +
|
|
31354
31425
|
(this.isActive === true ? ' q-stepper__tab--active' : '') +
|
|
31355
31426
|
(this.isDone === true ? ' q-stepper__tab--done' : '') +
|
|
31356
31427
|
(this.headerNav === true ? ' q-stepper__tab--navigation q-focusable q-hoverable' : '') +
|
|
@@ -32644,7 +32715,7 @@
|
|
|
32644
32715
|
sort: function sort (col /* String(col name) or Object(col definition) */) {
|
|
32645
32716
|
var sortOrder = this.columnSortOrder;
|
|
32646
32717
|
|
|
32647
|
-
if (col ===
|
|
32718
|
+
if (isObject(col) === true) {
|
|
32648
32719
|
if (col.sortOrder) {
|
|
32649
32720
|
sortOrder = col.sortOrder;
|
|
32650
32721
|
}
|
|
@@ -35999,7 +36070,10 @@
|
|
|
35999
36070
|
'disabled q-uploader--disable': this.disable
|
|
36000
36071
|
},
|
|
36001
36072
|
on: this.canAddFiles === true
|
|
36002
|
-
? cache(this, 'drag', {
|
|
36073
|
+
? cache(this, 'drag', {
|
|
36074
|
+
dragover: this.__onDragOver,
|
|
36075
|
+
dragleave: this.__onDragLeave
|
|
36076
|
+
})
|
|
36003
36077
|
: null
|
|
36004
36078
|
}, children)
|
|
36005
36079
|
}
|
|
@@ -37043,7 +37117,7 @@
|
|
|
37043
37117
|
if (typeof options.style === 'string') {
|
|
37044
37118
|
elTo.style.cssText += ' ' + options.style;
|
|
37045
37119
|
}
|
|
37046
|
-
else if (options.style ===
|
|
37120
|
+
else if (isObject(options.style) === true) {
|
|
37047
37121
|
for (var prop in options.style) {
|
|
37048
37122
|
elTo.style[prop] = options.style[prop];
|
|
37049
37123
|
}
|
|
@@ -37362,8 +37436,8 @@
|
|
|
37362
37436
|
elToClone.style.animation = (options.duration) + "ms " + (options.easing) + " " + (options.delay) + "ms " + animationDirection + " " + (options.fill) + " " + qAnimId + "-to";
|
|
37363
37437
|
elTo.style.animation = (options.duration) + "ms " + (options.easing) + " " + (options.delay) + "ms " + animationDirection + " " + (options.fill) + " " + qAnimId;
|
|
37364
37438
|
|
|
37365
|
-
var cleanup$1 = function (
|
|
37366
|
-
if (
|
|
37439
|
+
var cleanup$1 = function (evt) {
|
|
37440
|
+
if (evt === Object(evt) && evt.animationName !== qAnimId) {
|
|
37367
37441
|
return
|
|
37368
37442
|
}
|
|
37369
37443
|
|
|
@@ -39188,7 +39262,7 @@
|
|
|
39188
39262
|
|
|
39189
39263
|
spinner: function spinner () {
|
|
39190
39264
|
if (this.progress !== false) {
|
|
39191
|
-
return
|
|
39265
|
+
return isObject(this.progress) === true
|
|
39192
39266
|
? {
|
|
39193
39267
|
component: this.progress.spinner || QSpinner,
|
|
39194
39268
|
props: { color: this.progress.color || this.vmColor }
|
|
@@ -39205,7 +39279,7 @@
|
|
|
39205
39279
|
},
|
|
39206
39280
|
|
|
39207
39281
|
okLabel: function okLabel () {
|
|
39208
|
-
return
|
|
39282
|
+
return isObject(this.ok) === true
|
|
39209
39283
|
? this.$q.lang.label.ok
|
|
39210
39284
|
: (
|
|
39211
39285
|
this.ok === true
|
|
@@ -39215,7 +39289,7 @@
|
|
|
39215
39289
|
},
|
|
39216
39290
|
|
|
39217
39291
|
cancelLabel: function cancelLabel () {
|
|
39218
|
-
return
|
|
39292
|
+
return isObject(this.cancel) === true
|
|
39219
39293
|
? this.$q.lang.label.cancel
|
|
39220
39294
|
: (
|
|
39221
39295
|
this.cancel === true
|
|
@@ -39244,14 +39318,14 @@
|
|
|
39244
39318
|
label: this.okLabel,
|
|
39245
39319
|
ripple: false,
|
|
39246
39320
|
disable: this.okDisabled},
|
|
39247
|
-
(
|
|
39321
|
+
(isObject(this.ok) === true ? this.ok : { flat: true }))
|
|
39248
39322
|
},
|
|
39249
39323
|
|
|
39250
39324
|
cancelProps: function cancelProps () {
|
|
39251
39325
|
return Object.assign({}, {color: this.vmColor,
|
|
39252
39326
|
label: this.cancelLabel,
|
|
39253
39327
|
ripple: false},
|
|
39254
|
-
(
|
|
39328
|
+
(isObject(this.cancel) === true ? this.cancel : { flat: true }))
|
|
39255
39329
|
}
|
|
39256
39330
|
},
|
|
39257
39331
|
|
|
@@ -39478,6 +39552,15 @@
|
|
|
39478
39552
|
var props = cfg.loadingBar !== void 0
|
|
39479
39553
|
? Object.assign({}, cfg.loadingBar)
|
|
39480
39554
|
: {};
|
|
39555
|
+
var on = {
|
|
39556
|
+
start: function () {
|
|
39557
|
+
this$1.isActive = true;
|
|
39558
|
+
},
|
|
39559
|
+
|
|
39560
|
+
stop: function () {
|
|
39561
|
+
this$1.isActive = false;
|
|
39562
|
+
}
|
|
39563
|
+
};
|
|
39481
39564
|
|
|
39482
39565
|
var bar = new Vue({
|
|
39483
39566
|
name: 'LoadingBar',
|
|
@@ -39492,22 +39575,17 @@
|
|
|
39492
39575
|
|
|
39493
39576
|
render: function (h) { return h(QAjaxBar, {
|
|
39494
39577
|
ref: 'bar',
|
|
39495
|
-
props: props
|
|
39578
|
+
props: props,
|
|
39579
|
+
on: on
|
|
39496
39580
|
}); }
|
|
39497
39581
|
}).$mount().$refs.bar;
|
|
39498
39582
|
|
|
39499
39583
|
Object.assign(this, {
|
|
39500
|
-
start:
|
|
39501
|
-
|
|
39502
|
-
this$1.isActive = bar.isActive = true;
|
|
39503
|
-
},
|
|
39504
|
-
stop: function () {
|
|
39505
|
-
var sessions = bar.stop();
|
|
39506
|
-
this$1.isActive = bar.isActive = sessions > 0;
|
|
39507
|
-
},
|
|
39584
|
+
start: bar.start,
|
|
39585
|
+
stop: bar.stop,
|
|
39508
39586
|
increment: bar.increment,
|
|
39509
39587
|
setDefaults: function (opts) {
|
|
39510
|
-
opts ===
|
|
39588
|
+
isObject(opts) === true && Object.assign(props, opts);
|
|
39511
39589
|
bar.$parent.$forceUpdate();
|
|
39512
39590
|
}
|
|
39513
39591
|
});
|
|
@@ -39546,7 +39624,7 @@
|
|
|
39546
39624
|
|
|
39547
39625
|
if (isSSR === true) { return }
|
|
39548
39626
|
|
|
39549
|
-
props$1 = opts ===
|
|
39627
|
+
props$1 = isObject(opts) === true && opts.ignoreDefaults === true
|
|
39550
39628
|
? Object.assign({}, originalDefaults, opts)
|
|
39551
39629
|
: Object.assign({}, defaults, opts);
|
|
39552
39630
|
|
|
@@ -39642,7 +39720,7 @@
|
|
|
39642
39720
|
},
|
|
39643
39721
|
|
|
39644
39722
|
setDefaults: function setDefaults (opts) {
|
|
39645
|
-
opts ===
|
|
39723
|
+
isObject(opts) === true && Object.assign(defaults, opts);
|
|
39646
39724
|
},
|
|
39647
39725
|
|
|
39648
39726
|
install: function install (ref) {
|
|
@@ -40037,7 +40115,7 @@
|
|
|
40037
40115
|
Object.assign(notif, defaults$1);
|
|
40038
40116
|
}
|
|
40039
40117
|
|
|
40040
|
-
if (
|
|
40118
|
+
if (isObject(config) === false) {
|
|
40041
40119
|
if (notif.type) {
|
|
40042
40120
|
Object.assign(notif, notifTypes[notif.type]);
|
|
40043
40121
|
}
|
|
@@ -40387,7 +40465,8 @@
|
|
|
40387
40465
|
if (notif.spinner !== false) {
|
|
40388
40466
|
mainChild.push(
|
|
40389
40467
|
h(notif.spinner, {
|
|
40390
|
-
staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass
|
|
40468
|
+
staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,
|
|
40469
|
+
props: { color: notif.spinnerColor, size: notif.spinnerSize }
|
|
40391
40470
|
})
|
|
40392
40471
|
);
|
|
40393
40472
|
}
|
|
@@ -40396,7 +40475,7 @@
|
|
|
40396
40475
|
h(QIcon, {
|
|
40397
40476
|
staticClass: 'q-notification__icon q-notification__icon--' + meta.leftClass,
|
|
40398
40477
|
attrs: { role: 'img' },
|
|
40399
|
-
props: { name: notif.icon }
|
|
40478
|
+
props: { name: notif.icon, color: notif.iconColor, size: notif.iconSize }
|
|
40400
40479
|
})
|
|
40401
40480
|
);
|
|
40402
40481
|
}
|
|
@@ -40500,13 +40579,13 @@
|
|
|
40500
40579
|
|
|
40501
40580
|
var Notify = {
|
|
40502
40581
|
setDefaults: function setDefaults (opts) {
|
|
40503
|
-
if (isSSR !== true && opts ===
|
|
40582
|
+
if (isSSR !== true && isObject(opts) === true) {
|
|
40504
40583
|
Object.assign(defaults$1, opts);
|
|
40505
40584
|
}
|
|
40506
40585
|
},
|
|
40507
40586
|
|
|
40508
40587
|
registerType: function registerType (typeName, typeOpts) {
|
|
40509
|
-
if (isSSR !== true && typeOpts ===
|
|
40588
|
+
if (isSSR !== true && isObject(typeOpts) === true) {
|
|
40510
40589
|
notifTypes[typeName] = typeOpts;
|
|
40511
40590
|
}
|
|
40512
40591
|
},
|
|
@@ -40547,10 +40626,10 @@
|
|
|
40547
40626
|
};
|
|
40548
40627
|
|
|
40549
40628
|
function encode$1 (value) {
|
|
40550
|
-
if (
|
|
40629
|
+
if (isDate(value) === true) {
|
|
40551
40630
|
return '__q_date|' + value.toUTCString()
|
|
40552
40631
|
}
|
|
40553
|
-
if (
|
|
40632
|
+
if (isRegexp(value) === true) {
|
|
40554
40633
|
return '__q_expr|' + value.source
|
|
40555
40634
|
}
|
|
40556
40635
|
if (typeof value === 'number') {
|