quasar 1.18.3 → 1.18.6
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 +23 -0
- package/dist/api/QPagination.json +4 -4
- package/dist/api/QRange.json +1 -1
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +1 -1
- package/dist/api/QSlider.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 +212 -159
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +214 -159
- 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 +122 -44
- package/dist/vetur/quasar-attributes.json +50 -38
- package/dist/vetur/quasar-tags.json +3 -0
- package/dist/web-types/web-types.json +69 -41
- 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/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 +46 -25
- package/src/components/knob/QKnob.json +22 -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 +12 -9
- package/src/components/slide-transition/QSlideTransition.js +4 -4
- package/src/components/slider/slider-utils.js +4 -4
- package/src/components/slider/slider-utils.json +1 -1
- 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 +2 -1
- package/src/mixins/mask.js +1 -1
- 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 +12 -40
- package/src/utils/is.js +4 -14
- package/src/utils/morph.js +4 -3
- package/src/utils/web-storage.js +3 -2
|
@@ -53,23 +53,36 @@ export default Vue.extend({
|
|
|
53
53
|
|
|
54
54
|
hasPrefix () {
|
|
55
55
|
return this.step.prefix &&
|
|
56
|
-
this.isActive === false &&
|
|
57
|
-
this.isError === false &&
|
|
58
|
-
this.isDone === false
|
|
56
|
+
(this.isActive === false || this.stepper.activeIcon === 'none') &&
|
|
57
|
+
(this.isError === false || this.stepper.errorIcon === 'none') &&
|
|
58
|
+
(this.isDone === false || this.stepper.doneIcon === 'none')
|
|
59
59
|
},
|
|
60
60
|
|
|
61
61
|
icon () {
|
|
62
|
+
const defaultIcon = this.step.icon || this.stepper.inactiveIcon
|
|
63
|
+
|
|
62
64
|
if (this.isActive === true) {
|
|
63
|
-
|
|
65
|
+
const icon = this.step.activeIcon || this.stepper.activeIcon
|
|
66
|
+
return icon === 'none'
|
|
67
|
+
? defaultIcon
|
|
68
|
+
: icon || this.$q.iconSet.stepper.active
|
|
64
69
|
}
|
|
70
|
+
|
|
65
71
|
if (this.isError === true) {
|
|
66
|
-
|
|
72
|
+
const icon = this.step.errorIcon || this.stepper.errorIcon
|
|
73
|
+
return icon === 'none'
|
|
74
|
+
? defaultIcon
|
|
75
|
+
: icon || this.$q.iconSet.stepper.error
|
|
67
76
|
}
|
|
77
|
+
|
|
68
78
|
if (this.isDisable === false && this.isDone === true) {
|
|
69
|
-
|
|
79
|
+
const icon = this.step.doneIcon || this.stepper.doneIcon
|
|
80
|
+
return icon === 'none'
|
|
81
|
+
? defaultIcon
|
|
82
|
+
: icon || this.$q.iconSet.stepper.done
|
|
70
83
|
}
|
|
71
84
|
|
|
72
|
-
return
|
|
85
|
+
return defaultIcon
|
|
73
86
|
},
|
|
74
87
|
|
|
75
88
|
color () {
|
|
@@ -96,7 +109,9 @@ export default Vue.extend({
|
|
|
96
109
|
classes () {
|
|
97
110
|
return `q-stepper__tab col-grow flex items-center no-wrap relative-position` +
|
|
98
111
|
(this.color !== void 0 ? ` text-${this.color}` : '') +
|
|
99
|
-
(this.isError === true
|
|
112
|
+
(this.isError === true
|
|
113
|
+
? ' q-stepper__tab--error q-stepper__tab--error-with-' + (this.hasPrefix === true ? 'prefix' : 'icon')
|
|
114
|
+
: '') +
|
|
100
115
|
(this.isActive === true ? ' q-stepper__tab--active' : '') +
|
|
101
116
|
(this.isDone === true ? ' q-stepper__tab--done' : '') +
|
|
102
117
|
(this.headerNav === true ? ' q-stepper__tab--navigation q-focusable q-hoverable' : '') +
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { sortDate } from '../../utils/sort.js'
|
|
2
|
-
import { isNumber, isDate } from '../../utils/is.js'
|
|
2
|
+
import { isNumber, isDate, isObject } from '../../utils/is.js'
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
props: {
|
|
@@ -71,7 +71,7 @@ export default {
|
|
|
71
71
|
sort (col /* String(col name) or Object(col definition) */) {
|
|
72
72
|
let sortOrder = this.columnSortOrder
|
|
73
73
|
|
|
74
|
-
if (col ===
|
|
74
|
+
if (isObject(col) === true) {
|
|
75
75
|
if (col.sortOrder) {
|
|
76
76
|
sortOrder = col.sortOrder
|
|
77
77
|
}
|
|
@@ -441,7 +441,10 @@ export default Vue.extend({
|
|
|
441
441
|
'disabled q-uploader--disable': this.disable
|
|
442
442
|
},
|
|
443
443
|
on: this.canAddFiles === true
|
|
444
|
-
? cache(this, 'drag', {
|
|
444
|
+
? cache(this, 'drag', {
|
|
445
|
+
dragover: this.__onDragOver,
|
|
446
|
+
dragleave: this.__onDragLeave
|
|
447
|
+
})
|
|
445
448
|
: null
|
|
446
449
|
}, children)
|
|
447
450
|
}
|
package/src/mixins/datetime.js
CHANGED
package/src/mixins/file.js
CHANGED
|
@@ -180,7 +180,7 @@ export default {
|
|
|
180
180
|
|
|
181
181
|
__onDragLeave (e) {
|
|
182
182
|
stopAndPrevent(e)
|
|
183
|
-
this.dnd = false
|
|
183
|
+
e.relatedTarget !== this.$refs.dnd && (this.dnd = false)
|
|
184
184
|
},
|
|
185
185
|
|
|
186
186
|
__onDrop (e) {
|
|
@@ -198,6 +198,7 @@ export default {
|
|
|
198
198
|
if (this.dnd === true) {
|
|
199
199
|
return h('div', {
|
|
200
200
|
staticClass: `q-${type}__dnd absolute-full`,
|
|
201
|
+
ref: 'dnd',
|
|
201
202
|
on: cache(this, 'dnd', {
|
|
202
203
|
dragenter: stopAndPreventDrag,
|
|
203
204
|
dragover: stopAndPreventDrag,
|
package/src/mixins/mask.js
CHANGED
package/src/plugins/Loading.js
CHANGED
|
@@ -3,6 +3,7 @@ import Vue from 'vue'
|
|
|
3
3
|
import QSpinner from '../components/spinner/QSpinner.js'
|
|
4
4
|
import { isSSR } from './Platform.js'
|
|
5
5
|
import cache from '../utils/cache.js'
|
|
6
|
+
import { isObject } from '../utils/is.js'
|
|
6
7
|
import { preventScroll } from '../mixins/prevent-scroll.js'
|
|
7
8
|
|
|
8
9
|
let
|
|
@@ -29,7 +30,7 @@ const Loading = {
|
|
|
29
30
|
show (opts) {
|
|
30
31
|
if (isSSR === true) { return }
|
|
31
32
|
|
|
32
|
-
props = opts ===
|
|
33
|
+
props = isObject(opts) === true && opts.ignoreDefaults === true
|
|
33
34
|
? { ...originalDefaults, ...opts }
|
|
34
35
|
: { ...defaults, ...opts }
|
|
35
36
|
|
|
@@ -125,7 +126,7 @@ const Loading = {
|
|
|
125
126
|
},
|
|
126
127
|
|
|
127
128
|
setDefaults (opts) {
|
|
128
|
-
opts ===
|
|
129
|
+
isObject(opts) === true && Object.assign(defaults, opts)
|
|
129
130
|
},
|
|
130
131
|
|
|
131
132
|
install ({ $q, cfg: { loading } }) {
|
|
@@ -2,6 +2,7 @@ import Vue from 'vue'
|
|
|
2
2
|
|
|
3
3
|
import { isSSR } from './Platform.js'
|
|
4
4
|
import { noop } from '../utils/event.js'
|
|
5
|
+
import { isObject } from '../utils/is.js'
|
|
5
6
|
import QAjaxBar from '../components/ajax-bar/QAjaxBar.js'
|
|
6
7
|
|
|
7
8
|
export default {
|
|
@@ -21,6 +22,15 @@ export default {
|
|
|
21
22
|
const props = cfg.loadingBar !== void 0
|
|
22
23
|
? { ...cfg.loadingBar }
|
|
23
24
|
: {}
|
|
25
|
+
const on = {
|
|
26
|
+
start: () => {
|
|
27
|
+
this.isActive = true
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
stop: () => {
|
|
31
|
+
this.isActive = false
|
|
32
|
+
}
|
|
33
|
+
}
|
|
24
34
|
|
|
25
35
|
const bar = new Vue({
|
|
26
36
|
name: 'LoadingBar',
|
|
@@ -35,22 +45,17 @@ export default {
|
|
|
35
45
|
|
|
36
46
|
render: h => h(QAjaxBar, {
|
|
37
47
|
ref: 'bar',
|
|
38
|
-
props
|
|
48
|
+
props,
|
|
49
|
+
on
|
|
39
50
|
})
|
|
40
51
|
}).$mount().$refs.bar
|
|
41
52
|
|
|
42
53
|
Object.assign(this, {
|
|
43
|
-
start:
|
|
44
|
-
|
|
45
|
-
this.isActive = bar.isActive = true
|
|
46
|
-
},
|
|
47
|
-
stop: () => {
|
|
48
|
-
const sessions = bar.stop()
|
|
49
|
-
this.isActive = bar.isActive = sessions > 0
|
|
50
|
-
},
|
|
54
|
+
start: bar.start,
|
|
55
|
+
stop: bar.stop,
|
|
51
56
|
increment: bar.increment,
|
|
52
57
|
setDefaults: opts => {
|
|
53
|
-
opts ===
|
|
58
|
+
isObject(opts) === true && Object.assign(props, opts)
|
|
54
59
|
bar.$parent.$forceUpdate()
|
|
55
60
|
}
|
|
56
61
|
})
|
package/src/plugins/Notify.js
CHANGED
|
@@ -8,6 +8,8 @@ import QSpinner from '../components/spinner/QSpinner.js'
|
|
|
8
8
|
import { noop } from '../utils/event.js'
|
|
9
9
|
import { getBodyFullscreenElement } from '../utils/dom.js'
|
|
10
10
|
import debounce from '../utils/debounce.js'
|
|
11
|
+
import { isObject } from '../utils/is.js'
|
|
12
|
+
|
|
11
13
|
import { isSSR } from './Platform.js'
|
|
12
14
|
|
|
13
15
|
let uid = 0, vm
|
|
@@ -71,7 +73,7 @@ function addNotification (config, vm, originalApi) {
|
|
|
71
73
|
Object.assign(notif, defaults)
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
if (
|
|
76
|
+
if (isObject(config) === false) {
|
|
75
77
|
if (notif.type) {
|
|
76
78
|
Object.assign(notif, notifTypes[notif.type])
|
|
77
79
|
}
|
|
@@ -407,7 +409,8 @@ const Notifications = {
|
|
|
407
409
|
if (notif.spinner !== false) {
|
|
408
410
|
mainChild.push(
|
|
409
411
|
h(notif.spinner, {
|
|
410
|
-
staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass
|
|
412
|
+
staticClass: 'q-notification__spinner q-notification__spinner--' + meta.leftClass,
|
|
413
|
+
props: { color: notif.spinnerColor, size: notif.spinnerSize }
|
|
411
414
|
})
|
|
412
415
|
)
|
|
413
416
|
}
|
|
@@ -416,7 +419,7 @@ const Notifications = {
|
|
|
416
419
|
h(QIcon, {
|
|
417
420
|
staticClass: 'q-notification__icon q-notification__icon--' + meta.leftClass,
|
|
418
421
|
attrs: { role: 'img' },
|
|
419
|
-
props: { name: notif.icon }
|
|
422
|
+
props: { name: notif.icon, color: notif.iconColor, size: notif.iconSize }
|
|
420
423
|
})
|
|
421
424
|
)
|
|
422
425
|
}
|
|
@@ -518,13 +521,13 @@ const Notifications = {
|
|
|
518
521
|
|
|
519
522
|
export default {
|
|
520
523
|
setDefaults (opts) {
|
|
521
|
-
if (isSSR !== true && opts ===
|
|
524
|
+
if (isSSR !== true && isObject(opts) === true) {
|
|
522
525
|
Object.assign(defaults, opts)
|
|
523
526
|
}
|
|
524
527
|
},
|
|
525
528
|
|
|
526
529
|
registerType (typeName, typeOpts) {
|
|
527
|
-
if (isSSR !== true && typeOpts ===
|
|
530
|
+
if (isSSR !== true && isObject(typeOpts) === true) {
|
|
528
531
|
notifTypes[typeName] = typeOpts
|
|
529
532
|
}
|
|
530
533
|
},
|
package/src/plugins/Notify.json
CHANGED
|
@@ -45,6 +45,16 @@
|
|
|
45
45
|
"extends": "icon"
|
|
46
46
|
},
|
|
47
47
|
|
|
48
|
+
"iconColor": {
|
|
49
|
+
"extends": "color",
|
|
50
|
+
"addedIn": "v1.18.5"
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
"iconSize": {
|
|
54
|
+
"extends": "size",
|
|
55
|
+
"addedIn": "v1.18.5"
|
|
56
|
+
},
|
|
57
|
+
|
|
48
58
|
"avatar": {
|
|
49
59
|
"type": "String",
|
|
50
60
|
"desc": "URL to an avatar/image; Suggestion: use public folder",
|
|
@@ -61,6 +71,16 @@
|
|
|
61
71
|
"addedIn": "v1.14.0"
|
|
62
72
|
},
|
|
63
73
|
|
|
74
|
+
"spinnerColor": {
|
|
75
|
+
"extends": "color",
|
|
76
|
+
"addedIn": "v1.18.5"
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
"spinnerSize": {
|
|
80
|
+
"extends": "size",
|
|
81
|
+
"addedIn": "v1.18.5"
|
|
82
|
+
},
|
|
83
|
+
|
|
64
84
|
"position": {
|
|
65
85
|
"type": "String",
|
|
66
86
|
"desc": "Window side/corner to stick to",
|
|
@@ -215,6 +235,16 @@
|
|
|
215
235
|
"extends": "icon"
|
|
216
236
|
},
|
|
217
237
|
|
|
238
|
+
"iconColor": {
|
|
239
|
+
"extends": "color",
|
|
240
|
+
"addedIn": "v1.18.5"
|
|
241
|
+
},
|
|
242
|
+
|
|
243
|
+
"iconSize": {
|
|
244
|
+
"extends": "size",
|
|
245
|
+
"addedIn": "v1.18.5"
|
|
246
|
+
},
|
|
247
|
+
|
|
218
248
|
"avatar": {
|
|
219
249
|
"type": "String",
|
|
220
250
|
"desc": "URL to an avatar/image; Suggestion: use public folder",
|
|
@@ -232,6 +262,16 @@
|
|
|
232
262
|
"addedIn": "v1.14.0"
|
|
233
263
|
},
|
|
234
264
|
|
|
265
|
+
"spinnerColor": {
|
|
266
|
+
"extends": "color",
|
|
267
|
+
"addedIn": "v1.18.5"
|
|
268
|
+
},
|
|
269
|
+
|
|
270
|
+
"spinnerSize": {
|
|
271
|
+
"extends": "size",
|
|
272
|
+
"addedIn": "v1.18.5"
|
|
273
|
+
},
|
|
274
|
+
|
|
235
275
|
"position": {
|
|
236
276
|
"type": "String",
|
|
237
277
|
"desc": "Window side/corner to stick to",
|
|
@@ -413,6 +453,16 @@
|
|
|
413
453
|
"extends": "icon"
|
|
414
454
|
},
|
|
415
455
|
|
|
456
|
+
"iconColor": {
|
|
457
|
+
"extends": "color",
|
|
458
|
+
"addedIn": "v1.18.5"
|
|
459
|
+
},
|
|
460
|
+
|
|
461
|
+
"iconSize": {
|
|
462
|
+
"extends": "size",
|
|
463
|
+
"addedIn": "v1.18.5"
|
|
464
|
+
},
|
|
465
|
+
|
|
416
466
|
"avatar": {
|
|
417
467
|
"type": "String",
|
|
418
468
|
"desc": "URL to an avatar/image; Suggestion: use public folder",
|
|
@@ -430,6 +480,16 @@
|
|
|
430
480
|
"addedIn": "v1.14.0"
|
|
431
481
|
},
|
|
432
482
|
|
|
483
|
+
"spinnerColor": {
|
|
484
|
+
"extends": "color",
|
|
485
|
+
"addedIn": "v1.18.5"
|
|
486
|
+
},
|
|
487
|
+
|
|
488
|
+
"spinnerSize": {
|
|
489
|
+
"extends": "size",
|
|
490
|
+
"addedIn": "v1.18.5"
|
|
491
|
+
},
|
|
492
|
+
|
|
433
493
|
"progress": {
|
|
434
494
|
"type": "Boolean",
|
|
435
495
|
"desc": "Show progress bar to detail when notification will disappear automatically (unless timeout is 0)",
|
|
@@ -554,6 +614,16 @@
|
|
|
554
614
|
"extends": "icon"
|
|
555
615
|
},
|
|
556
616
|
|
|
617
|
+
"iconColor": {
|
|
618
|
+
"extends": "color",
|
|
619
|
+
"addedIn": "v1.18.5"
|
|
620
|
+
},
|
|
621
|
+
|
|
622
|
+
"iconSize": {
|
|
623
|
+
"extends": "size",
|
|
624
|
+
"addedIn": "v1.18.5"
|
|
625
|
+
},
|
|
626
|
+
|
|
557
627
|
"avatar": {
|
|
558
628
|
"type": "String",
|
|
559
629
|
"desc": "URL to an avatar/image; Suggestion: use public folder",
|
|
@@ -571,6 +641,16 @@
|
|
|
571
641
|
"addedIn": "v1.14.0"
|
|
572
642
|
},
|
|
573
643
|
|
|
644
|
+
"spinnerColor": {
|
|
645
|
+
"extends": "color",
|
|
646
|
+
"addedIn": "v1.18.5"
|
|
647
|
+
},
|
|
648
|
+
|
|
649
|
+
"spinnerSize": {
|
|
650
|
+
"extends": "size",
|
|
651
|
+
"addedIn": "v1.18.5"
|
|
652
|
+
},
|
|
653
|
+
|
|
574
654
|
"position": {
|
|
575
655
|
"type": "String",
|
|
576
656
|
"desc": "Window side/corner to stick to",
|
|
@@ -748,6 +828,16 @@
|
|
|
748
828
|
"extends": "icon"
|
|
749
829
|
},
|
|
750
830
|
|
|
831
|
+
"iconColor": {
|
|
832
|
+
"extends": "color",
|
|
833
|
+
"addedIn": "v1.18.5"
|
|
834
|
+
},
|
|
835
|
+
|
|
836
|
+
"iconSize": {
|
|
837
|
+
"extends": "size",
|
|
838
|
+
"addedIn": "v1.18.5"
|
|
839
|
+
},
|
|
840
|
+
|
|
751
841
|
"avatar": {
|
|
752
842
|
"type": "String",
|
|
753
843
|
"desc": "URL to an avatar/image; Suggestion: use public folder",
|
|
@@ -765,6 +855,16 @@
|
|
|
765
855
|
"addedIn": "v1.14.0"
|
|
766
856
|
},
|
|
767
857
|
|
|
858
|
+
"spinnerColor": {
|
|
859
|
+
"extends": "color",
|
|
860
|
+
"addedIn": "v1.18.5"
|
|
861
|
+
},
|
|
862
|
+
|
|
863
|
+
"spinnerSize": {
|
|
864
|
+
"extends": "size",
|
|
865
|
+
"addedIn": "v1.18.5"
|
|
866
|
+
},
|
|
867
|
+
|
|
768
868
|
"position": {
|
|
769
869
|
"type": "String",
|
|
770
870
|
"desc": "Window side/corner to stick to",
|
package/src/utils/extend.js
CHANGED
|
@@ -1,48 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
toString = Object.prototype.toString,
|
|
3
|
-
hasOwn = Object.prototype.hasOwnProperty,
|
|
4
|
-
class2type = {}
|
|
5
|
-
|
|
6
|
-
'Boolean Number String Function Array Date RegExp Object'.split(' ').forEach(name => {
|
|
7
|
-
class2type['[object ' + name + ']'] = name.toLowerCase()
|
|
8
|
-
})
|
|
9
|
-
|
|
10
|
-
function type (obj) {
|
|
11
|
-
return obj === null ? String(obj) : class2type[toString.call(obj)] || 'object'
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
function isPlainObject (obj) {
|
|
15
|
-
if (!obj || type(obj) !== 'object') {
|
|
16
|
-
return false
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
if (obj.constructor &&
|
|
20
|
-
!hasOwn.call(obj, 'constructor') &&
|
|
21
|
-
!hasOwn.call(obj.constructor.prototype, 'isPrototypeOf')) {
|
|
22
|
-
return false
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
let key
|
|
26
|
-
for (key in obj) {}
|
|
27
|
-
|
|
28
|
-
return key === void 0 || hasOwn.call(obj, key)
|
|
29
|
-
}
|
|
1
|
+
import { isObject } from './is'
|
|
30
2
|
|
|
31
3
|
export default function extend () {
|
|
32
4
|
let
|
|
33
5
|
options, name, src, copy, copyIsArray, clone,
|
|
34
|
-
target = arguments[0] || {},
|
|
6
|
+
target = arguments[ 0 ] || {},
|
|
35
7
|
i = 1,
|
|
36
8
|
deep = false
|
|
37
9
|
const length = arguments.length
|
|
38
10
|
|
|
39
11
|
if (typeof target === 'boolean') {
|
|
40
12
|
deep = target
|
|
41
|
-
target = arguments[1] || {}
|
|
13
|
+
target = arguments[ 1 ] || {}
|
|
42
14
|
i = 2
|
|
43
15
|
}
|
|
44
16
|
|
|
45
|
-
if (Object(target) !== target &&
|
|
17
|
+
if (Object(target) !== target && typeof target !== 'function') {
|
|
46
18
|
target = {}
|
|
47
19
|
}
|
|
48
20
|
|
|
@@ -52,28 +24,28 @@ export default function extend () {
|
|
|
52
24
|
}
|
|
53
25
|
|
|
54
26
|
for (; i < length; i++) {
|
|
55
|
-
if ((options = arguments[i]) !== null) {
|
|
27
|
+
if ((options = arguments[ i ]) !== null) {
|
|
56
28
|
for (name in options) {
|
|
57
|
-
src = target[name]
|
|
58
|
-
copy = options[name]
|
|
29
|
+
src = target[ name ]
|
|
30
|
+
copy = options[ name ]
|
|
59
31
|
|
|
60
32
|
if (target === copy) {
|
|
61
33
|
continue
|
|
62
34
|
}
|
|
63
35
|
|
|
64
|
-
if (deep && copy && (
|
|
36
|
+
if (deep && copy && (isObject(copy) === true || (copyIsArray = Array.isArray(copy) === true))) {
|
|
65
37
|
if (copyIsArray) {
|
|
66
38
|
copyIsArray = false
|
|
67
|
-
clone = src &&
|
|
39
|
+
clone = src && Array.isArray(src) === true ? src : []
|
|
68
40
|
}
|
|
69
41
|
else {
|
|
70
|
-
clone = src &&
|
|
42
|
+
clone = src && isObject(src) === true ? src : {}
|
|
71
43
|
}
|
|
72
44
|
|
|
73
|
-
target[name] = extend(deep, clone, copy)
|
|
45
|
+
target[ name ] = extend(deep, clone, copy)
|
|
74
46
|
}
|
|
75
47
|
else if (copy !== void 0) {
|
|
76
|
-
target[name] = copy
|
|
48
|
+
target[ name ] = copy
|
|
77
49
|
}
|
|
78
50
|
}
|
|
79
51
|
}
|
package/src/utils/is.js
CHANGED
|
@@ -120,17 +120,11 @@ export function isDeepEqual (a, b) {
|
|
|
120
120
|
return a !== a && b !== b // eslint-disable-line no-self-compare
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
(v > 64 && v < 91) || // letter keys
|
|
127
|
-
(v > 95 && v < 112) || // numpad keys
|
|
128
|
-
(v > 185 && v < 193) || // ;=,-./` (in order)
|
|
129
|
-
(v > 218 && v < 223)
|
|
130
|
-
}
|
|
131
|
-
|
|
123
|
+
// not perfect, but what we ARE interested is for Arrays not to slip in
|
|
124
|
+
// as spread operator will mess things up in various areas
|
|
125
|
+
// see https://jsbench.me/tbl0iliyax/1
|
|
132
126
|
export function isObject (v) {
|
|
133
|
-
return
|
|
127
|
+
return v !== null && typeof v === 'object' && Array.isArray(v) !== true
|
|
134
128
|
}
|
|
135
129
|
|
|
136
130
|
export function isDate (v) {
|
|
@@ -144,7 +138,3 @@ export function isRegexp (v) {
|
|
|
144
138
|
export function isNumber (v) {
|
|
145
139
|
return typeof v === 'number' && isFinite(v)
|
|
146
140
|
}
|
|
147
|
-
|
|
148
|
-
export function isString (v) {
|
|
149
|
-
return typeof v === 'string'
|
|
150
|
-
}
|
package/src/utils/morph.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getElement } from './dom.js'
|
|
2
|
+
import { isObject } from './is'
|
|
2
3
|
|
|
3
4
|
let id = 0
|
|
4
5
|
let offsetBase = void 0
|
|
@@ -433,7 +434,7 @@ export default function morph (_options) {
|
|
|
433
434
|
if (typeof options.style === 'string') {
|
|
434
435
|
elTo.style.cssText += ' ' + options.style
|
|
435
436
|
}
|
|
436
|
-
else if (options.style ===
|
|
437
|
+
else if (isObject(options.style) === true) {
|
|
437
438
|
for (const prop in options.style) {
|
|
438
439
|
elTo.style[prop] = options.style[prop]
|
|
439
440
|
}
|
|
@@ -870,8 +871,8 @@ export default function morph (_options) {
|
|
|
870
871
|
elToClone.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}-to`
|
|
871
872
|
elTo.style.animation = `${options.duration}ms ${options.easing} ${options.delay}ms ${animationDirection} ${options.fill} ${qAnimId}`
|
|
872
873
|
|
|
873
|
-
const cleanup =
|
|
874
|
-
if (
|
|
874
|
+
const cleanup = evt => {
|
|
875
|
+
if (evt === Object(evt) && evt.animationName !== qAnimId) {
|
|
875
876
|
return
|
|
876
877
|
}
|
|
877
878
|
|
package/src/utils/web-storage.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { noop } from '../utils/event.js'
|
|
2
|
+
import { isDate, isRegexp } from '../utils/is.js'
|
|
2
3
|
|
|
3
4
|
function encode (value) {
|
|
4
|
-
if (
|
|
5
|
+
if (isDate(value) === true) {
|
|
5
6
|
return '__q_date|' + value.toUTCString()
|
|
6
7
|
}
|
|
7
|
-
if (
|
|
8
|
+
if (isRegexp(value) === true) {
|
|
8
9
|
return '__q_expr|' + value.source
|
|
9
10
|
}
|
|
10
11
|
if (typeof value === 'number') {
|