quasar 1.22.4 → 1.22.5
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.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 +1 -1
- package/dist/icon-set/fontawesome-v6.umd.min.js +1 -1
- 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/material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/material-symbols-sharp.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/mdi-v7.umd.min.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.min.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.min.js +1 -1
- 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 +1 -1
- 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-material-symbols-outlined.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.min.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.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 +1 -1
- package/dist/icon-set/svg-mdi-v7.umd.min.js +1 -1
- 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 +1 -1
- 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 +1 -1
- 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/mm.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/sm.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 +1 -1
- package/dist/lang/uk.umd.min.js +1 -1
- package/dist/lang/uz-Cyrl.umd.min.js +1 -1
- package/dist/lang/uz-Latn.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 +1 -4
- 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 +1 -4
- package/dist/quasar.rtl.min.css +1 -1
- package/dist/quasar.sass +1 -3
- package/dist/quasar.styl +1 -3
- package/dist/quasar.umd.js +63 -12
- package/dist/quasar.umd.min.js +2 -2
- package/dist/quasar.umd.modern.js +61 -12
- package/dist/quasar.umd.modern.min.js +2 -2
- package/dist/web-types/web-types.json +1 -1
- package/package.json +1 -1
- package/src/components/dialog/QDialog.js +2 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +37 -2
- package/src/css/core/visibility.sass +0 -3
- package/src/css/core/visibility.styl +0 -3
- package/src/mixins/prevent-scroll.js +9 -1
- package/src/utils/is.js +11 -6
package/package.json
CHANGED
|
@@ -372,7 +372,7 @@ export default Vue.extend({
|
|
|
372
372
|
staticClass: 'q-dialog__backdrop fixed-full',
|
|
373
373
|
attrs: backdropAttrs,
|
|
374
374
|
on: cache(this, 'bkdrop', {
|
|
375
|
-
[ this
|
|
375
|
+
[ this.backdropEvt ]: this.__onBackdropClick
|
|
376
376
|
})
|
|
377
377
|
})
|
|
378
378
|
] : null),
|
|
@@ -395,6 +395,7 @@ export default Vue.extend({
|
|
|
395
395
|
created () {
|
|
396
396
|
this.__useTick('__registerTick', '__removeTick')
|
|
397
397
|
this.__useTimeout('__registerTimeout')
|
|
398
|
+
this.backdropEvt = this.$q.platform.is.ios === true || this.$q.platform.is.safari ? 'click' : 'focusin'
|
|
398
399
|
},
|
|
399
400
|
|
|
400
401
|
mounted () {
|
|
@@ -44,6 +44,12 @@ export default Vue.extend({
|
|
|
44
44
|
}
|
|
45
45
|
},
|
|
46
46
|
|
|
47
|
+
computed: {
|
|
48
|
+
renderLoadingSlot () {
|
|
49
|
+
return this.disable !== true && this.isWorking === true
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
|
|
47
53
|
watch: {
|
|
48
54
|
disable (val) {
|
|
49
55
|
if (val === true) { this.stop() }
|
|
@@ -62,6 +68,14 @@ export default Vue.extend({
|
|
|
62
68
|
|
|
63
69
|
debounce (val) {
|
|
64
70
|
this.__setDebounce(val)
|
|
71
|
+
},
|
|
72
|
+
|
|
73
|
+
isFetching () {
|
|
74
|
+
this.__updateSvgAnimations()
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
renderLoadingSlot () {
|
|
78
|
+
this.__updateSvgAnimations()
|
|
65
79
|
}
|
|
66
80
|
},
|
|
67
81
|
|
|
@@ -183,14 +197,34 @@ export default Vue.extend({
|
|
|
183
197
|
|
|
184
198
|
this.__scrollTarget.addEventListener('scroll', this.poll, passive)
|
|
185
199
|
}
|
|
200
|
+
},
|
|
201
|
+
|
|
202
|
+
__updateSvgAnimations (isRetry) {
|
|
203
|
+
if (this.renderLoadingSlot === true) {
|
|
204
|
+
const el = this.$refs.loading
|
|
205
|
+
|
|
206
|
+
if (!el) {
|
|
207
|
+
isRetry !== true && this.$nextTick(() => {
|
|
208
|
+
this.__updateSvgAnimations(true)
|
|
209
|
+
})
|
|
210
|
+
return
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// we need to pause svg animations (if any) when hiding
|
|
214
|
+
// otherwise the browser will keep on recalculating the style
|
|
215
|
+
const action = `${ this.isFetching === true ? 'un' : '' }pauseAnimations`
|
|
216
|
+
Array.from(el.getElementsByTagName('svg')).forEach(el => {
|
|
217
|
+
el[ action ]()
|
|
218
|
+
})
|
|
219
|
+
}
|
|
186
220
|
}
|
|
187
221
|
},
|
|
188
222
|
|
|
189
223
|
mounted () {
|
|
190
224
|
this.immediatePoll = this.poll
|
|
191
225
|
this.__setDebounce(this.debounce)
|
|
192
|
-
|
|
193
226
|
this.updateScrollTarget()
|
|
227
|
+
this.isFetching === false && this.__updateSvgAnimations()
|
|
194
228
|
},
|
|
195
229
|
|
|
196
230
|
activated () {
|
|
@@ -212,9 +246,10 @@ export default Vue.extend({
|
|
|
212
246
|
render (h) {
|
|
213
247
|
const child = uniqueSlot(this, 'default', [])
|
|
214
248
|
|
|
215
|
-
if (this.
|
|
249
|
+
if (this.renderLoadingSlot === true) {
|
|
216
250
|
child[this.reverse === false ? 'push' : 'unshift'](
|
|
217
251
|
h('div', {
|
|
252
|
+
ref: 'loading',
|
|
218
253
|
staticClass: 'q-infinite-scroll__loading',
|
|
219
254
|
class: this.isFetching === true ? '' : 'invisible'
|
|
220
255
|
}, slot(this, 'loading'))
|
|
@@ -40,8 +40,6 @@
|
|
|
40
40
|
visibility: hidden !important
|
|
41
41
|
transition: none !important
|
|
42
42
|
animation: none !important
|
|
43
|
-
.invisible svg *
|
|
44
|
-
display: none
|
|
45
43
|
.transparent
|
|
46
44
|
background: transparent !important
|
|
47
45
|
|
|
@@ -164,4 +162,3 @@ body.desktop
|
|
|
164
162
|
.q-focusable:focus, .q-manual-focusable--focused
|
|
165
163
|
> .q-focus-helper
|
|
166
164
|
opacity: .22
|
|
167
|
-
|
|
@@ -40,8 +40,6 @@
|
|
|
40
40
|
visibility: hidden !important
|
|
41
41
|
transition: none !important
|
|
42
42
|
animation: none !important
|
|
43
|
-
.invisible svg *
|
|
44
|
-
display: none
|
|
45
43
|
.transparent
|
|
46
44
|
background: transparent !important
|
|
47
45
|
|
|
@@ -163,4 +161,3 @@ body.desktop
|
|
|
163
161
|
.q-focusable:focus, .q-manual-focusable--focused
|
|
164
162
|
> .q-focus-helper
|
|
165
163
|
opacity: .22
|
|
166
|
-
|
|
@@ -10,6 +10,7 @@ let
|
|
|
10
10
|
vpPendingUpdate = false,
|
|
11
11
|
bodyLeft,
|
|
12
12
|
bodyTop,
|
|
13
|
+
href,
|
|
13
14
|
closeTimer
|
|
14
15
|
|
|
15
16
|
function onWheel (e) {
|
|
@@ -96,6 +97,8 @@ function apply (action) {
|
|
|
96
97
|
bodyLeft = body.style.left
|
|
97
98
|
bodyTop = body.style.top
|
|
98
99
|
|
|
100
|
+
href = window.location.href
|
|
101
|
+
|
|
99
102
|
body.style.left = `-${scrollPositionX}px`
|
|
100
103
|
body.style.top = `-${scrollPositionY}px`
|
|
101
104
|
if (overflowY !== 'hidden' && (overflowY === 'scroll' || body.scrollHeight > window.innerHeight)) {
|
|
@@ -104,6 +107,7 @@ function apply (action) {
|
|
|
104
107
|
|
|
105
108
|
body.classList.add('q-body--prevent-scroll')
|
|
106
109
|
document.qScrollPrevented = true
|
|
110
|
+
|
|
107
111
|
if (client.is.ios === true) {
|
|
108
112
|
if (hasViewport === true) {
|
|
109
113
|
window.scrollTo(0, 0)
|
|
@@ -140,7 +144,11 @@ function apply (action) {
|
|
|
140
144
|
body.style.left = bodyLeft
|
|
141
145
|
body.style.top = bodyTop
|
|
142
146
|
|
|
143
|
-
|
|
147
|
+
// scroll back only if route has not changed
|
|
148
|
+
if (window.location.href === href) {
|
|
149
|
+
window.scrollTo(scrollPositionX, scrollPositionY)
|
|
150
|
+
}
|
|
151
|
+
|
|
144
152
|
maxScrollTop = void 0
|
|
145
153
|
}
|
|
146
154
|
}
|
package/src/utils/is.js
CHANGED
|
@@ -36,20 +36,23 @@ export function isDeepEqual (a, b) {
|
|
|
36
36
|
return false
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
let iter = a.entries()
|
|
40
|
+
|
|
41
|
+
i = iter.next()
|
|
40
42
|
while (i.done !== true) {
|
|
41
43
|
if (b.has(i.value[0]) !== true) {
|
|
42
44
|
return false
|
|
43
45
|
}
|
|
44
|
-
i =
|
|
46
|
+
i = iter.next()
|
|
45
47
|
}
|
|
46
48
|
|
|
47
|
-
|
|
49
|
+
iter = a.entries()
|
|
50
|
+
i = iter.next()
|
|
48
51
|
while (i.done !== true) {
|
|
49
52
|
if (isDeepEqual(i.value[1], b.get(i.value[0])) !== true) {
|
|
50
53
|
return false
|
|
51
54
|
}
|
|
52
|
-
i =
|
|
55
|
+
i = iter.next()
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
return true
|
|
@@ -60,12 +63,14 @@ export function isDeepEqual (a, b) {
|
|
|
60
63
|
return false
|
|
61
64
|
}
|
|
62
65
|
|
|
63
|
-
|
|
66
|
+
const iter = a.entries()
|
|
67
|
+
|
|
68
|
+
i = iter.next()
|
|
64
69
|
while (i.done !== true) {
|
|
65
70
|
if (b.has(i.value[0]) !== true) {
|
|
66
71
|
return false
|
|
67
72
|
}
|
|
68
|
-
i =
|
|
73
|
+
i = iter.next()
|
|
69
74
|
}
|
|
70
75
|
|
|
71
76
|
return true
|