quasar 2.5.5 → 2.6.0
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/README.md +1 -1
- package/dist/api/Dialog.json +9 -2
- package/dist/api/QKnob.json +5 -0
- package/dist/api/QSelect.json +8 -9
- 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 +6 -0
- package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
- 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/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/svg-bootstrap-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
- 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 +2 -2
- 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-mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-themify.umd.prod.js +2 -2
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +6 -0
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/hr.umd.prod.js +1 -1
- package/dist/lang/hu.umd.prod.js +1 -1
- package/dist/lang/id.umd.prod.js +1 -1
- package/dist/lang/is.umd.prod.js +1 -1
- package/dist/lang/it.umd.prod.js +1 -1
- package/dist/lang/ja.umd.prod.js +1 -1
- package/dist/lang/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/kz.umd.prod.js +6 -0
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/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/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 +2 -2
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.css +2 -4
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +2 -4
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +2 -1
- package/dist/quasar.umd.js +277 -235
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/extras/icon-set.d.ts +3 -0
- package/dist/types/globals.d.ts +2 -2
- package/dist/types/index.d.ts +11 -3
- package/dist/vetur/quasar-attributes.json +4 -0
- package/dist/vetur/quasar-tags.json +1 -0
- package/dist/web-types/web-types.json +11 -1
- 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 +91 -0
- package/lang/index.json +8 -0
- package/lang/kz.js +95 -0
- package/lang/ug.js +49 -50
- package/package.json +1 -1
- package/src/components/btn/QBtn.js +16 -14
- package/src/components/btn/use-btn.js +7 -7
- package/src/components/date/QDate.js +2 -2
- package/src/components/dialog/QDialog.js +11 -11
- package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
- package/src/components/dialog-plugin/DialogPlugin.js +6 -6
- package/src/components/editor/QEditor.js +10 -10
- package/src/components/editor/editor-utils.js +2 -2
- package/src/components/file/QFile.js +2 -1
- package/src/components/icon/QIcon.js +2 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
- package/src/components/inner-loading/QInnerLoading.js +7 -7
- 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/menu/QMenu.js +13 -13
- package/src/components/page-scroller/QPageScroller.js +4 -4
- package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
- package/src/components/select/QSelect.js +13 -7
- package/src/components/select/QSelect.json +4 -7
- package/src/components/slider/use-slider.js +4 -4
- package/src/components/stepper/QStep.js +6 -6
- package/src/components/table/table-column-selection.js +6 -6
- package/src/components/table/table-sort.js +2 -2
- package/src/components/tabs/QTabs.js +4 -4
- package/src/components/tooltip/QTooltip.js +12 -12
- package/src/components/uploader/uploader-core.js +11 -10
- package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
- package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
- package/src/composables/private/use-field.js +25 -17
- package/src/composables/private/use-file-dom-props.js +5 -5
- package/src/composables/private/use-file.js +15 -12
- package/src/composables/private/use-router-link.js +2 -2
- package/src/directives/Morph.js +12 -3
- package/src/install-quasar.js +3 -3
- package/src/plugins/AddressbarColor.js +7 -7
- package/src/plugins/Cookies.js +5 -1
- package/src/plugins/Dialog.json +3 -2
- package/src/plugins/Loading.js +3 -3
- package/src/plugins/LoadingBar.js +12 -6
- package/src/plugins/Notify.js +4 -4
- package/src/utils/create-meta-mixin.js +4 -4
- package/src/utils/create-uploader-component.js +2 -2
- package/src/utils/event.js +3 -3
- package/src/utils/extend.js +3 -3
- package/src/utils/morph.js +2 -2
- package/src/utils/private/is.js +4 -2
- package/src/utils/private/noop-ssr-directive-transform.js +1 -1
- package/wrappers/index.js +33 -5
- package/wrappers/index.mjs +63 -0
- package/dist/ssr-directives/Morph.js +0 -55
- package/dist/ssr-directives/index.js +0 -14
- package/src/directives/Morph.ssr.js +0 -45
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.6.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -502,9 +502,9 @@
|
|
|
502
502
|
|
|
503
503
|
const fn = status === true
|
|
504
504
|
? el => {
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
505
|
+
el.__dragPrevented = true;
|
|
506
|
+
el.addEventListener('dragstart', prevent, listenOpts.notPassiveCapture);
|
|
507
|
+
}
|
|
508
508
|
: el => {
|
|
509
509
|
delete el.__dragPrevented;
|
|
510
510
|
el.removeEventListener('dragstart', prevent, listenOpts.notPassiveCapture);
|
|
@@ -1523,8 +1523,10 @@
|
|
|
1523
1523
|
return a !== a && b !== b // eslint-disable-line no-self-compare
|
|
1524
1524
|
}
|
|
1525
1525
|
|
|
1526
|
-
|
|
1527
|
-
|
|
1526
|
+
// not perfect, but what we ARE interested is for Arrays not to slip in
|
|
1527
|
+
// as spread operator will mess things up in various areas
|
|
1528
|
+
function isObject (v) {
|
|
1529
|
+
return v !== null && typeof v === 'object' && Array.isArray(v) !== true
|
|
1528
1530
|
}
|
|
1529
1531
|
|
|
1530
1532
|
function isDate (v) {
|
|
@@ -1574,13 +1576,13 @@
|
|
|
1574
1576
|
installPlugins(pluginOpts, autoInstalledPlugins);
|
|
1575
1577
|
|
|
1576
1578
|
uiOpts.components !== void 0 && Object.values(uiOpts.components).forEach(c => {
|
|
1577
|
-
if (
|
|
1579
|
+
if (isObject(c) === true && c.name !== void 0) {
|
|
1578
1580
|
app.component(c.name, c);
|
|
1579
1581
|
}
|
|
1580
1582
|
});
|
|
1581
1583
|
|
|
1582
1584
|
uiOpts.directives !== void 0 && Object.values(uiOpts.directives).forEach(d => {
|
|
1583
|
-
if (
|
|
1585
|
+
if (isObject(d) === true && d.name !== void 0) {
|
|
1584
1586
|
app.directive(d.name, d);
|
|
1585
1587
|
}
|
|
1586
1588
|
});
|
|
@@ -1601,7 +1603,7 @@
|
|
|
1601
1603
|
}
|
|
1602
1604
|
|
|
1603
1605
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1604
|
-
const $q = { version: '2.
|
|
1606
|
+
const $q = { version: '2.6.0' };
|
|
1605
1607
|
|
|
1606
1608
|
if (globalConfigIsFrozen === false) {
|
|
1607
1609
|
if (opts.config !== void 0) {
|
|
@@ -2064,6 +2066,7 @@
|
|
|
2064
2066
|
const svgUseRE = /^svguse:/;
|
|
2065
2067
|
const ionRE = /^ion-/;
|
|
2066
2068
|
const faLaRE = /^[lf]a[srlbdk]? /;
|
|
2069
|
+
const fa6RE = /^fa-(brand|regular|solid)/;
|
|
2067
2070
|
|
|
2068
2071
|
var QIcon = createComponent({
|
|
2069
2072
|
name: 'QIcon',
|
|
@@ -2157,7 +2160,7 @@
|
|
|
2157
2160
|
if (matches !== null) {
|
|
2158
2161
|
cls = libMap[ matches[ 1 ] ](icon);
|
|
2159
2162
|
}
|
|
2160
|
-
else if (faLaRE.test(icon) === true) {
|
|
2163
|
+
else if (faLaRE.test(icon) === true || fa6RE.test(icon) === true) {
|
|
2161
2164
|
cls = icon;
|
|
2162
2165
|
}
|
|
2163
2166
|
else if (ionRE.test(icon) === true) {
|
|
@@ -2788,8 +2791,8 @@
|
|
|
2788
2791
|
// avoid comparing the child with its parent
|
|
2789
2792
|
&& currentMatched[ currentMatched.length - 1 ].path !== parentRecordPath
|
|
2790
2793
|
? currentMatched.findIndex(
|
|
2791
|
-
|
|
2792
|
-
|
|
2794
|
+
isSameRouteRecord.bind(null, matched[ length - 2 ])
|
|
2795
|
+
)
|
|
2793
2796
|
: index
|
|
2794
2797
|
)
|
|
2795
2798
|
});
|
|
@@ -3308,13 +3311,13 @@
|
|
|
3308
3311
|
|
|
3309
3312
|
return props.padding !== void 0
|
|
3310
3313
|
? Object.assign({}, obj, {
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3314
|
+
padding: props.padding
|
|
3315
|
+
.split(/\s+/)
|
|
3316
|
+
.map(v => (v in padding ? padding[ v ] + 'px' : v))
|
|
3317
|
+
.join(' '),
|
|
3318
|
+
minWidth: '0',
|
|
3319
|
+
minHeight: '0'
|
|
3320
|
+
})
|
|
3318
3321
|
: obj
|
|
3319
3322
|
});
|
|
3320
3323
|
|
|
@@ -3493,7 +3496,7 @@
|
|
|
3493
3496
|
onClick,
|
|
3494
3497
|
onKeydown,
|
|
3495
3498
|
onMousedown,
|
|
3496
|
-
|
|
3499
|
+
onTouchstart
|
|
3497
3500
|
}
|
|
3498
3501
|
}
|
|
3499
3502
|
|
|
@@ -3562,12 +3565,12 @@
|
|
|
3562
3565
|
// is it already destroyed?
|
|
3563
3566
|
if (rootRef.value === null) { return }
|
|
3564
3567
|
|
|
3565
|
-
|
|
3566
|
-
stopAndPrevent(e);
|
|
3568
|
+
emit('keydown', e);
|
|
3567
3569
|
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
+
if (isKeyCode(e, [ 13, 32 ]) === true && keyboardTarget !== rootRef.value) {
|
|
3571
|
+
keyboardTarget !== null && cleanup();
|
|
3570
3572
|
|
|
3573
|
+
if (e.defaultPrevented !== true) {
|
|
3571
3574
|
// focus external button if the focus helper was focused before
|
|
3572
3575
|
rootRef.value.focus();
|
|
3573
3576
|
|
|
@@ -3576,15 +3579,19 @@
|
|
|
3576
3579
|
document.addEventListener('keyup', onPressEnd, true);
|
|
3577
3580
|
rootRef.value.addEventListener('blur', onPressEnd, passiveCapture);
|
|
3578
3581
|
}
|
|
3579
|
-
}
|
|
3580
3582
|
|
|
3581
|
-
|
|
3583
|
+
stopAndPrevent(e);
|
|
3584
|
+
}
|
|
3582
3585
|
}
|
|
3583
3586
|
|
|
3584
|
-
function
|
|
3587
|
+
function onTouchstart (e) {
|
|
3585
3588
|
// is it already destroyed?
|
|
3586
3589
|
if (rootRef.value === null) { return }
|
|
3587
3590
|
|
|
3591
|
+
emit('touchstart', e);
|
|
3592
|
+
|
|
3593
|
+
if (e.defaultPrevented === true) { return }
|
|
3594
|
+
|
|
3588
3595
|
if (touchTarget !== rootRef.value) {
|
|
3589
3596
|
touchTarget !== null && cleanup();
|
|
3590
3597
|
touchTarget = rootRef.value;
|
|
@@ -3601,23 +3608,21 @@
|
|
|
3601
3608
|
mouseTimer = setTimeout(() => {
|
|
3602
3609
|
avoidMouseRipple = false;
|
|
3603
3610
|
}, 200);
|
|
3604
|
-
|
|
3605
|
-
emit('touchstart', e);
|
|
3606
3611
|
}
|
|
3607
3612
|
|
|
3608
3613
|
function onMousedown (e) {
|
|
3609
3614
|
// is it already destroyed?
|
|
3610
3615
|
if (rootRef.value === null) { return }
|
|
3611
3616
|
|
|
3612
|
-
|
|
3617
|
+
e.qSkipRipple = avoidMouseRipple === true;
|
|
3618
|
+
emit('mousedown', e);
|
|
3619
|
+
|
|
3620
|
+
if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {
|
|
3613
3621
|
mouseTarget !== null && cleanup();
|
|
3614
3622
|
mouseTarget = rootRef.value;
|
|
3615
3623
|
rootRef.value.classList.add('q-btn--active');
|
|
3616
3624
|
document.addEventListener('mouseup', onPressEnd, passiveCapture);
|
|
3617
3625
|
}
|
|
3618
|
-
|
|
3619
|
-
e.qSkipRipple = avoidMouseRipple === true;
|
|
3620
|
-
emit('mousedown', e);
|
|
3621
3626
|
}
|
|
3622
3627
|
|
|
3623
3628
|
function onPressEnd (e) {
|
|
@@ -5453,19 +5458,19 @@
|
|
|
5453
5458
|
() => (
|
|
5454
5459
|
showing.value === true
|
|
5455
5460
|
? vue.h('div', {
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5460
|
-
|
|
5461
|
-
|
|
5462
|
-
|
|
5463
|
-
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
|
|
5467
|
-
|
|
5468
|
-
|
|
5461
|
+
...attrs,
|
|
5462
|
+
ref: innerRef,
|
|
5463
|
+
tabindex: -1,
|
|
5464
|
+
class: [
|
|
5465
|
+
'q-menu q-position-engine scroll' + menuClass.value,
|
|
5466
|
+
attrs.class
|
|
5467
|
+
],
|
|
5468
|
+
style: [
|
|
5469
|
+
attrs.style,
|
|
5470
|
+
transitionStyle.value
|
|
5471
|
+
],
|
|
5472
|
+
...onEvents.value
|
|
5473
|
+
}, hSlot(slots.default))
|
|
5469
5474
|
: null
|
|
5470
5475
|
)
|
|
5471
5476
|
)
|
|
@@ -8575,7 +8580,7 @@
|
|
|
8575
8580
|
if (typeof def === 'function') {
|
|
8576
8581
|
return markerTicks.value.map(value => {
|
|
8577
8582
|
const item = def(value);
|
|
8578
|
-
return
|
|
8583
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
8579
8584
|
})
|
|
8580
8585
|
}
|
|
8581
8586
|
|
|
@@ -8583,14 +8588,14 @@
|
|
|
8583
8588
|
|
|
8584
8589
|
if (Array.isArray(def) === true) {
|
|
8585
8590
|
return def
|
|
8586
|
-
.map(item => (
|
|
8591
|
+
.map(item => (isObject(item) === true ? item : { value: item }))
|
|
8587
8592
|
.filter(filterFn)
|
|
8588
8593
|
}
|
|
8589
8594
|
|
|
8590
8595
|
return Object.keys(def).map(key => {
|
|
8591
8596
|
const item = def[ key ];
|
|
8592
8597
|
const value = Number(key);
|
|
8593
|
-
return
|
|
8598
|
+
return isObject(item) === true ? { ...item, value } : { value, label: item }
|
|
8594
8599
|
}).filter(filterFn)
|
|
8595
8600
|
}
|
|
8596
8601
|
|
|
@@ -9622,11 +9627,11 @@
|
|
|
9622
9627
|
let wasItActive = wasActive === true
|
|
9623
9628
|
? emptyFn
|
|
9624
9629
|
: tab => {
|
|
9625
|
-
|
|
9626
|
-
|
|
9627
|
-
|
|
9628
|
-
|
|
9629
|
-
|
|
9630
|
+
if (model === tab.name.value) {
|
|
9631
|
+
wasActive = true;
|
|
9632
|
+
wasItActive = emptyFn;
|
|
9633
|
+
}
|
|
9634
|
+
};
|
|
9630
9635
|
|
|
9631
9636
|
const tabList = getRouteList();
|
|
9632
9637
|
|
|
@@ -12783,7 +12788,7 @@
|
|
|
12783
12788
|
const rangeModel = vue.computed(() => {
|
|
12784
12789
|
const fn = date => decodeString(date, innerMask.value, innerLocale.value);
|
|
12785
12790
|
return normalizedModel.value
|
|
12786
|
-
.filter(date =>
|
|
12791
|
+
.filter(date => isObject(date) === true && date.from !== void 0 && date.to !== void 0)
|
|
12787
12792
|
.map(range => ({ from: fn(range.from), to: fn(range.to) }))
|
|
12788
12793
|
.filter(range => range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash)
|
|
12789
12794
|
});
|
|
@@ -14683,11 +14688,11 @@
|
|
|
14683
14688
|
}, () => (
|
|
14684
14689
|
useBackdrop.value === true
|
|
14685
14690
|
? vue.h('div', {
|
|
14686
|
-
|
|
14687
|
-
|
|
14688
|
-
|
|
14689
|
-
|
|
14690
|
-
|
|
14691
|
+
class: 'q-dialog__backdrop fixed-full',
|
|
14692
|
+
style: transitionStyle.value,
|
|
14693
|
+
'aria-hidden': 'true',
|
|
14694
|
+
onMousedown: onBackdropClick
|
|
14695
|
+
})
|
|
14691
14696
|
: null
|
|
14692
14697
|
)),
|
|
14693
14698
|
|
|
@@ -14697,12 +14702,12 @@
|
|
|
14697
14702
|
() => (
|
|
14698
14703
|
showing.value === true
|
|
14699
14704
|
? vue.h('div', {
|
|
14700
|
-
|
|
14701
|
-
|
|
14702
|
-
|
|
14703
|
-
|
|
14704
|
-
|
|
14705
|
-
|
|
14705
|
+
ref: innerRef,
|
|
14706
|
+
class: classes.value,
|
|
14707
|
+
style: transitionStyle.value,
|
|
14708
|
+
tabindex: -1,
|
|
14709
|
+
...onEvents.value
|
|
14710
|
+
}, hSlot(slots.default))
|
|
14706
14711
|
: null
|
|
14707
14712
|
)
|
|
14708
14713
|
)
|
|
@@ -16023,18 +16028,18 @@
|
|
|
16023
16028
|
function getTooltipContent () {
|
|
16024
16029
|
return showing.value === true
|
|
16025
16030
|
? vue.h('div', {
|
|
16026
|
-
|
|
16027
|
-
|
|
16028
|
-
|
|
16029
|
-
|
|
16030
|
-
|
|
16031
|
-
|
|
16032
|
-
|
|
16033
|
-
|
|
16034
|
-
|
|
16035
|
-
|
|
16036
|
-
|
|
16037
|
-
|
|
16031
|
+
...attrs,
|
|
16032
|
+
ref: innerRef,
|
|
16033
|
+
class: [
|
|
16034
|
+
'q-tooltip q-tooltip--style q-position-engine no-pointer-events',
|
|
16035
|
+
attrs.class
|
|
16036
|
+
],
|
|
16037
|
+
style: [
|
|
16038
|
+
attrs.style,
|
|
16039
|
+
transitionStyle.value
|
|
16040
|
+
],
|
|
16041
|
+
role: 'complementary'
|
|
16042
|
+
}, hSlot(slots.default))
|
|
16038
16043
|
: null
|
|
16039
16044
|
}
|
|
16040
16045
|
|
|
@@ -16249,8 +16254,8 @@
|
|
|
16249
16254
|
if (btn.tip && eVm.$q.platform.is.desktop) {
|
|
16250
16255
|
const Key = btn.key
|
|
16251
16256
|
? vue.h('div', [
|
|
16252
|
-
|
|
16253
|
-
|
|
16257
|
+
vue.h('small', `(CTRL + ${ String.fromCharCode(btn.key) })`)
|
|
16258
|
+
])
|
|
16254
16259
|
: null;
|
|
16255
16260
|
child.push(
|
|
16256
16261
|
vue.h(QTooltip, { delay: 1000 }, () => [
|
|
@@ -16569,13 +16574,13 @@
|
|
|
16569
16574
|
continue
|
|
16570
16575
|
}
|
|
16571
16576
|
|
|
16572
|
-
if (deep && copy && (
|
|
16577
|
+
if (deep && copy && (isObject(copy) === true || (copyIsArray = Array.isArray(copy) === true))) {
|
|
16573
16578
|
if (copyIsArray) {
|
|
16574
16579
|
copyIsArray = false;
|
|
16575
16580
|
clone = src && Array.isArray(src) === true ? src : [];
|
|
16576
16581
|
}
|
|
16577
16582
|
else {
|
|
16578
|
-
clone = src &&
|
|
16583
|
+
clone = src && isObject(src) === true ? src : {};
|
|
16579
16584
|
}
|
|
16580
16585
|
|
|
16581
16586
|
target[ name ] = extend(deep, clone, copy);
|
|
@@ -16757,17 +16762,17 @@
|
|
|
16757
16762
|
const userDef = props.definitions || {};
|
|
16758
16763
|
const def = props.definitions || props.fonts
|
|
16759
16764
|
? extend(
|
|
16760
|
-
|
|
16761
|
-
|
|
16762
|
-
|
|
16763
|
-
|
|
16764
|
-
|
|
16765
|
-
|
|
16766
|
-
|
|
16767
|
-
|
|
16768
|
-
|
|
16769
|
-
)
|
|
16765
|
+
true,
|
|
16766
|
+
{},
|
|
16767
|
+
buttonDef.value,
|
|
16768
|
+
userDef,
|
|
16769
|
+
getFonts(
|
|
16770
|
+
defaultFont,
|
|
16771
|
+
$q.lang.editor.defaultFont,
|
|
16772
|
+
$q.iconSet.editor.font,
|
|
16773
|
+
props.fonts
|
|
16770
16774
|
)
|
|
16775
|
+
)
|
|
16771
16776
|
: buttonDef.value;
|
|
16772
16777
|
|
|
16773
16778
|
return props.toolbar.map(
|
|
@@ -18440,18 +18445,20 @@
|
|
|
18440
18445
|
}) {
|
|
18441
18446
|
const { props, emit, proxy } = vue.getCurrentInstance();
|
|
18442
18447
|
|
|
18448
|
+
const dndRef = vue.ref(null);
|
|
18449
|
+
|
|
18443
18450
|
const extensions = vue.computed(() => (
|
|
18444
18451
|
props.accept !== void 0
|
|
18445
18452
|
? props.accept.split(',').map(ext => {
|
|
18446
|
-
|
|
18447
|
-
|
|
18448
|
-
|
|
18449
|
-
|
|
18450
|
-
|
|
18451
|
-
|
|
18452
|
-
|
|
18453
|
-
|
|
18454
|
-
|
|
18453
|
+
ext = ext.trim();
|
|
18454
|
+
if (ext === '*') { // support "*"
|
|
18455
|
+
return '*/'
|
|
18456
|
+
}
|
|
18457
|
+
else if (ext.endsWith('/*')) { // support "image/*" or "*/*"
|
|
18458
|
+
ext = ext.slice(0, ext.length - 1);
|
|
18459
|
+
}
|
|
18460
|
+
return ext.toUpperCase()
|
|
18461
|
+
})
|
|
18455
18462
|
: null
|
|
18456
18463
|
));
|
|
18457
18464
|
|
|
@@ -18516,7 +18523,7 @@
|
|
|
18516
18523
|
// Cordova/iOS allows selecting multiple files even when the
|
|
18517
18524
|
// multiple attribute is not specified. We also normalize drag'n'dropped
|
|
18518
18525
|
// files here:
|
|
18519
|
-
if (props.multiple !== true) {
|
|
18526
|
+
if (props.multiple !== true && files.length > 0) {
|
|
18520
18527
|
files = [ files[ 0 ] ];
|
|
18521
18528
|
}
|
|
18522
18529
|
|
|
@@ -18581,7 +18588,7 @@
|
|
|
18581
18588
|
|
|
18582
18589
|
function onDragleave (e) {
|
|
18583
18590
|
stopAndPrevent(e);
|
|
18584
|
-
dnd.value = false;
|
|
18591
|
+
e.relatedTarget !== dndRef.value && (dnd.value = false);
|
|
18585
18592
|
}
|
|
18586
18593
|
|
|
18587
18594
|
function onDrop (e) {
|
|
@@ -18598,6 +18605,7 @@
|
|
|
18598
18605
|
function getDndNode (type) {
|
|
18599
18606
|
if (dnd.value === true) {
|
|
18600
18607
|
return vue.h('div', {
|
|
18608
|
+
ref: dndRef,
|
|
18601
18609
|
class: `q-${ type }__dnd absolute-full`,
|
|
18602
18610
|
onDragenter: stopAndPreventDrag,
|
|
18603
18611
|
onDragover: stopAndPreventDrag,
|
|
@@ -18717,6 +18725,7 @@
|
|
|
18717
18725
|
pickFiles,
|
|
18718
18726
|
addFiles,
|
|
18719
18727
|
onDragover,
|
|
18728
|
+
onDragleave,
|
|
18720
18729
|
processFiles,
|
|
18721
18730
|
getDndNode,
|
|
18722
18731
|
maxFilesNumber,
|
|
@@ -18996,10 +19005,10 @@
|
|
|
18996
19005
|
}, [
|
|
18997
19006
|
file.__status === 'failed'
|
|
18998
19007
|
? vue.h(QIcon, {
|
|
18999
|
-
|
|
19000
|
-
|
|
19001
|
-
|
|
19002
|
-
|
|
19008
|
+
class: 'q-uploader__file-status',
|
|
19009
|
+
name: $q.iconSet.type.negative,
|
|
19010
|
+
color: 'negative'
|
|
19011
|
+
})
|
|
19003
19012
|
: null,
|
|
19004
19013
|
|
|
19005
19014
|
vue.h('div', { class: 'q-uploader__file-header-content col' }, [
|
|
@@ -19013,11 +19022,11 @@
|
|
|
19013
19022
|
|
|
19014
19023
|
file.__status === 'uploading'
|
|
19015
19024
|
? vue.h(QCircularProgress, {
|
|
19016
|
-
|
|
19017
|
-
|
|
19018
|
-
|
|
19019
|
-
|
|
19020
|
-
|
|
19025
|
+
value: file.__progress,
|
|
19026
|
+
min: 0,
|
|
19027
|
+
max: 1,
|
|
19028
|
+
indeterminate: file.__progress === 0
|
|
19029
|
+
})
|
|
19021
19030
|
: vue.h(QBtn, {
|
|
19022
19031
|
round: true,
|
|
19023
19032
|
dense: true,
|
|
@@ -19086,7 +19095,7 @@
|
|
|
19086
19095
|
const data = { ref: rootRef, class: classes.value };
|
|
19087
19096
|
|
|
19088
19097
|
if (canAddFiles.value === true) {
|
|
19089
|
-
data
|
|
19098
|
+
Object.assign(data, { onDragover, onDragleave });
|
|
19090
19099
|
}
|
|
19091
19100
|
|
|
19092
19101
|
return vue.h('div', data, children)
|
|
@@ -19115,7 +19124,7 @@
|
|
|
19115
19124
|
...props
|
|
19116
19125
|
},
|
|
19117
19126
|
|
|
19118
|
-
emits:
|
|
19127
|
+
emits: isObject(emits) === true
|
|
19119
19128
|
? { ...coreEmitsObject, ...emits }
|
|
19120
19129
|
: [ ...coreEmits, ...emits ],
|
|
19121
19130
|
|
|
@@ -19669,7 +19678,7 @@
|
|
|
19669
19678
|
if (typeof options.style === 'string') {
|
|
19670
19679
|
elTo.style.cssText += ' ' + options.style;
|
|
19671
19680
|
}
|
|
19672
|
-
else if (
|
|
19681
|
+
else if (isObject(options.style) === true) {
|
|
19673
19682
|
for (const prop in options.style) {
|
|
19674
19683
|
elTo.style[ prop ] = options.style[ prop ];
|
|
19675
19684
|
}
|
|
@@ -20864,14 +20873,6 @@
|
|
|
20864
20873
|
}, getControlContainer())
|
|
20865
20874
|
);
|
|
20866
20875
|
|
|
20867
|
-
slots.append !== void 0 && node.push(
|
|
20868
|
-
vue.h('div', {
|
|
20869
|
-
class: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
20870
|
-
key: 'append',
|
|
20871
|
-
onClick: prevent
|
|
20872
|
-
}, slots.append())
|
|
20873
|
-
);
|
|
20874
|
-
|
|
20875
20876
|
hasError.value === true && props.noErrorIcon === false && node.push(
|
|
20876
20877
|
getInnerAppendNode('error', [
|
|
20877
20878
|
vue.h(QIcon, { name: $q.iconSet.field.error, color: 'negative' })
|
|
@@ -20905,6 +20906,14 @@
|
|
|
20905
20906
|
);
|
|
20906
20907
|
}
|
|
20907
20908
|
|
|
20909
|
+
slots.append !== void 0 && node.push(
|
|
20910
|
+
vue.h('div', {
|
|
20911
|
+
class: 'q-field__append q-field__marginal row no-wrap items-center',
|
|
20912
|
+
key: 'append',
|
|
20913
|
+
onClick: prevent
|
|
20914
|
+
}, slots.append())
|
|
20915
|
+
);
|
|
20916
|
+
|
|
20908
20917
|
state.getInnerAppend !== void 0 && node.push(
|
|
20909
20918
|
getInnerAppendNode('inner-append', state.getInnerAppend())
|
|
20910
20919
|
);
|
|
@@ -21009,8 +21018,8 @@
|
|
|
21009
21018
|
|
|
21010
21019
|
hasCounter === true
|
|
21011
21020
|
? vue.h('div', {
|
|
21012
|
-
|
|
21013
|
-
|
|
21021
|
+
class: 'q-field__counter'
|
|
21022
|
+
}, slots.counter !== void 0 ? slots.counter() : state.computedCounter.value)
|
|
21014
21023
|
: null
|
|
21015
21024
|
])
|
|
21016
21025
|
}
|
|
@@ -21050,6 +21059,14 @@
|
|
|
21050
21059
|
});
|
|
21051
21060
|
|
|
21052
21061
|
return function renderField () {
|
|
21062
|
+
const labelAttrs = state.getControl === void 0 && slots.control === void 0
|
|
21063
|
+
? {
|
|
21064
|
+
...state.splitAttrs.attributes.value,
|
|
21065
|
+
'data-autofocus': props.autofocus,
|
|
21066
|
+
...attributes.value
|
|
21067
|
+
}
|
|
21068
|
+
: attributes.value;
|
|
21069
|
+
|
|
21053
21070
|
return vue.h('label', {
|
|
21054
21071
|
ref: state.rootRef,
|
|
21055
21072
|
class: [
|
|
@@ -21057,13 +21074,13 @@
|
|
|
21057
21074
|
attrs.class
|
|
21058
21075
|
],
|
|
21059
21076
|
style: attrs.style,
|
|
21060
|
-
...
|
|
21077
|
+
...labelAttrs
|
|
21061
21078
|
}, [
|
|
21062
21079
|
slots.before !== void 0
|
|
21063
21080
|
? vue.h('div', {
|
|
21064
|
-
|
|
21065
|
-
|
|
21066
|
-
|
|
21081
|
+
class: 'q-field__before q-field__marginal row no-wrap items-center',
|
|
21082
|
+
onClick: prevent
|
|
21083
|
+
}, slots.before())
|
|
21067
21084
|
: null,
|
|
21068
21085
|
|
|
21069
21086
|
vue.h('div', {
|
|
@@ -21083,9 +21100,9 @@
|
|
|
21083
21100
|
|
|
21084
21101
|
slots.after !== void 0
|
|
21085
21102
|
? vue.h('div', {
|
|
21086
|
-
|
|
21087
|
-
|
|
21088
|
-
|
|
21103
|
+
class: 'q-field__after q-field__marginal row no-wrap items-center',
|
|
21104
|
+
onClick: prevent
|
|
21105
|
+
}, slots.after())
|
|
21089
21106
|
: null
|
|
21090
21107
|
])
|
|
21091
21108
|
}
|
|
@@ -21139,12 +21156,12 @@
|
|
|
21139
21156
|
|
|
21140
21157
|
return typeGuard === true
|
|
21141
21158
|
? vue.computed(() => {
|
|
21142
|
-
|
|
21143
|
-
|
|
21144
|
-
|
|
21159
|
+
if (props.type !== 'file') {
|
|
21160
|
+
return
|
|
21161
|
+
}
|
|
21145
21162
|
|
|
21146
|
-
|
|
21147
|
-
|
|
21163
|
+
return getFormDomProps()
|
|
21164
|
+
})
|
|
21148
21165
|
: vue.computed(getFormDomProps)
|
|
21149
21166
|
}
|
|
21150
21167
|
|
|
@@ -21193,6 +21210,7 @@
|
|
|
21193
21210
|
const {
|
|
21194
21211
|
pickFiles,
|
|
21195
21212
|
onDragover,
|
|
21213
|
+
onDragleave,
|
|
21196
21214
|
processFiles,
|
|
21197
21215
|
getDndNode
|
|
21198
21216
|
} = useFile({ editable: state.editable, dnd, getFileInput, addFilesToQueue });
|
|
@@ -21398,7 +21416,7 @@
|
|
|
21398
21416
|
};
|
|
21399
21417
|
|
|
21400
21418
|
if (state.editable.value === true) {
|
|
21401
|
-
Object.assign(data, { onDragover, onKeydown, onKeyup });
|
|
21419
|
+
Object.assign(data, { onDragover, onDragleave, onKeydown, onKeyup });
|
|
21402
21420
|
}
|
|
21403
21421
|
|
|
21404
21422
|
return vue.h('div', data, [ getInput() ].concat(getSelection()))
|
|
@@ -22411,7 +22429,9 @@
|
|
|
22411
22429
|
isWorking.value = false;
|
|
22412
22430
|
isFetching.value = false;
|
|
22413
22431
|
localScrollTarget.removeEventListener('scroll', poll, passive$3);
|
|
22414
|
-
poll !== void 0 && poll.cancel
|
|
22432
|
+
if (poll !== void 0 && poll.cancel !== void 0) {
|
|
22433
|
+
poll.cancel();
|
|
22434
|
+
}
|
|
22415
22435
|
}
|
|
22416
22436
|
}
|
|
22417
22437
|
|
|
@@ -22556,7 +22576,7 @@
|
|
|
22556
22576
|
|
|
22557
22577
|
const labelClass = vue.computed(() =>
|
|
22558
22578
|
'q-inner-loading__label'
|
|
22559
|
-
+ (props.labelClass !== void 0 ? ` ${ props.labelClass}` : '')
|
|
22579
|
+
+ (props.labelClass !== void 0 ? ` ${ props.labelClass }` : '')
|
|
22560
22580
|
);
|
|
22561
22581
|
|
|
22562
22582
|
function getInner () {
|
|
@@ -22582,12 +22602,12 @@
|
|
|
22582
22602
|
function getContent () {
|
|
22583
22603
|
return props.showing === true
|
|
22584
22604
|
? vue.h(
|
|
22585
|
-
|
|
22586
|
-
|
|
22587
|
-
|
|
22588
|
-
|
|
22589
|
-
|
|
22590
|
-
|
|
22605
|
+
'div',
|
|
22606
|
+
{ class: classes.value, style: transitionStyle.value },
|
|
22607
|
+
slots.default !== void 0
|
|
22608
|
+
? slots.default()
|
|
22609
|
+
: getInner()
|
|
22610
|
+
)
|
|
22591
22611
|
: null
|
|
22592
22612
|
}
|
|
22593
22613
|
|
|
@@ -23293,7 +23313,10 @@
|
|
|
23293
23313
|
if (hasMask.value === true) {
|
|
23294
23314
|
if (stopValueWatcher === true) {
|
|
23295
23315
|
stopValueWatcher = false;
|
|
23296
|
-
|
|
23316
|
+
|
|
23317
|
+
if (String(v) === emitCachedValue) {
|
|
23318
|
+
return
|
|
23319
|
+
}
|
|
23297
23320
|
}
|
|
23298
23321
|
|
|
23299
23322
|
updateMaskValue(v);
|
|
@@ -23964,11 +23987,14 @@
|
|
|
23964
23987
|
angle = centerPosition.left < pos.left ? angle + 90 : 270 - angle;
|
|
23965
23988
|
}
|
|
23966
23989
|
|
|
23967
|
-
if (
|
|
23990
|
+
if ($q.lang.rtl === true) {
|
|
23991
|
+
angle = normalizeToInterval(-angle - props.angle, 0, 360);
|
|
23992
|
+
}
|
|
23993
|
+
else if (props.angle) {
|
|
23968
23994
|
angle = normalizeToInterval(angle - props.angle, 0, 360);
|
|
23969
23995
|
}
|
|
23970
23996
|
|
|
23971
|
-
if (
|
|
23997
|
+
if (props.reverse === true) {
|
|
23972
23998
|
angle = 360 - angle;
|
|
23973
23999
|
}
|
|
23974
24000
|
|
|
@@ -25154,10 +25180,10 @@
|
|
|
25154
25180
|
function getContent () {
|
|
25155
25181
|
return showing.value === true
|
|
25156
25182
|
? vue.h('div', {
|
|
25157
|
-
|
|
25158
|
-
|
|
25159
|
-
|
|
25160
|
-
|
|
25183
|
+
ref: rootRef,
|
|
25184
|
+
class: 'q-page-scroller',
|
|
25185
|
+
onClick
|
|
25186
|
+
}, getStickyContent(slots))
|
|
25161
25187
|
: null
|
|
25162
25188
|
}
|
|
25163
25189
|
|
|
@@ -26166,7 +26192,7 @@
|
|
|
26166
26192
|
}
|
|
26167
26193
|
|
|
26168
26194
|
if (event.isFirst === true) {
|
|
26169
|
-
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !==
|
|
26195
|
+
if (getVerticalScrollPosition(localScrollTarget) !== 0 || event.direction !== 'down') {
|
|
26170
26196
|
if (pulling.value === true) {
|
|
26171
26197
|
pulling.value = false;
|
|
26172
26198
|
state.value = 'pull';
|
|
@@ -26279,10 +26305,10 @@
|
|
|
26279
26305
|
}, [
|
|
26280
26306
|
state.value !== 'refreshing'
|
|
26281
26307
|
? vue.h(QIcon, {
|
|
26282
|
-
|
|
26283
|
-
|
|
26284
|
-
|
|
26285
|
-
|
|
26308
|
+
name: props.icon || $q.iconSet.pullToRefresh.icon,
|
|
26309
|
+
color: props.color,
|
|
26310
|
+
size: '32px'
|
|
26311
|
+
})
|
|
26286
26312
|
: vue.h(QSpinner, {
|
|
26287
26313
|
size: '24px',
|
|
26288
26314
|
color: props.color
|
|
@@ -28008,17 +28034,17 @@
|
|
|
28008
28034
|
return [
|
|
28009
28035
|
tag === 'tbody'
|
|
28010
28036
|
? vue.h(tag, {
|
|
28011
|
-
|
|
28012
|
-
|
|
28013
|
-
|
|
28014
|
-
|
|
28015
|
-
|
|
28016
|
-
|
|
28017
|
-
|
|
28018
|
-
|
|
28019
|
-
|
|
28020
|
-
])
|
|
28037
|
+
class: 'q-virtual-scroll__padding',
|
|
28038
|
+
key: 'before',
|
|
28039
|
+
ref: beforeRef
|
|
28040
|
+
}, [
|
|
28041
|
+
vue.h('tr', [
|
|
28042
|
+
vue.h('td', {
|
|
28043
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingBefore.value }px`, ...style },
|
|
28044
|
+
colspan: colspanAttr.value
|
|
28045
|
+
})
|
|
28021
28046
|
])
|
|
28047
|
+
])
|
|
28022
28048
|
: vue.h(tag, {
|
|
28023
28049
|
class: 'q-virtual-scroll__padding',
|
|
28024
28050
|
key: 'before',
|
|
@@ -28036,17 +28062,17 @@
|
|
|
28036
28062
|
|
|
28037
28063
|
tag === 'tbody'
|
|
28038
28064
|
? vue.h(tag, {
|
|
28039
|
-
|
|
28040
|
-
|
|
28041
|
-
|
|
28042
|
-
|
|
28043
|
-
|
|
28044
|
-
|
|
28045
|
-
|
|
28046
|
-
|
|
28047
|
-
|
|
28048
|
-
])
|
|
28065
|
+
class: 'q-virtual-scroll__padding',
|
|
28066
|
+
key: 'after',
|
|
28067
|
+
ref: afterRef
|
|
28068
|
+
}, [
|
|
28069
|
+
vue.h('tr', [
|
|
28070
|
+
vue.h('td', {
|
|
28071
|
+
style: { [ paddingSize ]: `${ virtualScrollPaddingAfter.value }px`, ...style },
|
|
28072
|
+
colspan: colspanAttr.value
|
|
28073
|
+
})
|
|
28049
28074
|
])
|
|
28075
|
+
])
|
|
28050
28076
|
: vue.h(tag, {
|
|
28051
28077
|
class: 'q-virtual-scroll__padding',
|
|
28052
28078
|
key: 'after',
|
|
@@ -28707,7 +28733,7 @@
|
|
|
28707
28733
|
|
|
28708
28734
|
return typeof val === 'function'
|
|
28709
28735
|
? val
|
|
28710
|
-
: opt => (
|
|
28736
|
+
: opt => (opt !== null && typeof opt === 'object' && val in opt ? opt[ val ] : opt)
|
|
28711
28737
|
}
|
|
28712
28738
|
|
|
28713
28739
|
function isOptionSelected (opt) {
|
|
@@ -29080,6 +29106,8 @@
|
|
|
29080
29106
|
}
|
|
29081
29107
|
|
|
29082
29108
|
function getInput (fromDialog, isTarget) {
|
|
29109
|
+
const attrs = isTarget === true ? { ...comboboxAttrs.value, ...state.splitAttrs.attributes.value } : void 0;
|
|
29110
|
+
|
|
29083
29111
|
const data = {
|
|
29084
29112
|
ref: isTarget === true ? targetRef : void 0,
|
|
29085
29113
|
key: 'i_t',
|
|
@@ -29088,8 +29116,7 @@
|
|
|
29088
29116
|
value: inputValue.value !== void 0 ? inputValue.value : '',
|
|
29089
29117
|
// required for Android in order to show ENTER key when in form
|
|
29090
29118
|
type: 'search',
|
|
29091
|
-
...
|
|
29092
|
-
...state.splitAttrs.attributes.value,
|
|
29119
|
+
...attrs,
|
|
29093
29120
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
29094
29121
|
maxlength: props.maxlength,
|
|
29095
29122
|
autocomplete: props.autocomplete,
|
|
@@ -29569,13 +29596,16 @@
|
|
|
29569
29596
|
}
|
|
29570
29597
|
// there can be only one (when dialog is opened the control in dialog should be target)
|
|
29571
29598
|
else if (state.editable.value === true) {
|
|
29599
|
+
const attrs = isTarget === true ? comboboxAttrs.value : void 0;
|
|
29600
|
+
|
|
29572
29601
|
child.push(
|
|
29573
|
-
vue.h('
|
|
29602
|
+
vue.h('input', {
|
|
29574
29603
|
ref: isTarget === true ? targetRef : void 0,
|
|
29575
29604
|
key: 'd_t',
|
|
29576
29605
|
class: 'q-select__focus-target',
|
|
29577
29606
|
id: isTarget === true ? state.targetUid.value : void 0,
|
|
29578
|
-
|
|
29607
|
+
readonly: true,
|
|
29608
|
+
...attrs,
|
|
29579
29609
|
onKeydown: onTargetKeydown,
|
|
29580
29610
|
onKeyup: onTargetKeyup,
|
|
29581
29611
|
onKeypress: onTargetKeypress
|
|
@@ -29605,9 +29635,11 @@
|
|
|
29605
29635
|
);
|
|
29606
29636
|
}
|
|
29607
29637
|
|
|
29638
|
+
const attrs = props.useInput === true || isTarget !== true ? void 0 : state.splitAttrs.attributes.value;
|
|
29639
|
+
|
|
29608
29640
|
return vue.h('div', {
|
|
29609
29641
|
class: 'q-field__native row items-center',
|
|
29610
|
-
...
|
|
29642
|
+
...attrs
|
|
29611
29643
|
}, child)
|
|
29612
29644
|
},
|
|
29613
29645
|
|
|
@@ -32325,14 +32357,14 @@
|
|
|
32325
32357
|
|| $stepper.value.vertical !== true
|
|
32326
32358
|
? {}
|
|
32327
32359
|
: {
|
|
32328
|
-
|
|
32329
|
-
|
|
32330
|
-
|
|
32331
|
-
|
|
32360
|
+
onScroll (e) {
|
|
32361
|
+
const { target } = e;
|
|
32362
|
+
if (target.scrollTop > 0) {
|
|
32363
|
+
target.scrollTop = 0;
|
|
32364
|
+
}
|
|
32365
|
+
attrs.onScroll !== void 0 && attrs.onScroll(e);
|
|
32332
32366
|
}
|
|
32333
|
-
attrs.onScroll !== void 0 && attrs.onScroll(e);
|
|
32334
32367
|
}
|
|
32335
|
-
}
|
|
32336
32368
|
));
|
|
32337
32369
|
|
|
32338
32370
|
const contentKey = vue.computed(() => (
|
|
@@ -32726,9 +32758,9 @@
|
|
|
32726
32758
|
|
|
32727
32759
|
return props.type === '__qtable'
|
|
32728
32760
|
? getTableMiddle(
|
|
32729
|
-
|
|
32730
|
-
|
|
32731
|
-
|
|
32761
|
+
{ ref: rootRef, class: 'q-table__middle ' + classes.value },
|
|
32762
|
+
__getVirtualChildren()
|
|
32763
|
+
)
|
|
32732
32764
|
: vue.h(comps[ props.type ], {
|
|
32733
32765
|
...attrs,
|
|
32734
32766
|
ref: rootRef,
|
|
@@ -32813,7 +32845,7 @@
|
|
|
32813
32845
|
function sort (col /* String(col name) or Object(col definition) */) {
|
|
32814
32846
|
let sortOrder = props.columnSortOrder;
|
|
32815
32847
|
|
|
32816
|
-
if (
|
|
32848
|
+
if (isObject(col) === true) {
|
|
32817
32849
|
if (col.sortOrder) {
|
|
32818
32850
|
sortOrder = col.sortOrder;
|
|
32819
32851
|
}
|
|
@@ -33269,12 +33301,12 @@
|
|
|
33269
33301
|
|
|
33270
33302
|
return row !== void 0
|
|
33271
33303
|
? Object.keys(row).map(name => ({
|
|
33272
|
-
|
|
33273
|
-
|
|
33274
|
-
|
|
33275
|
-
|
|
33276
|
-
|
|
33277
|
-
|
|
33304
|
+
name,
|
|
33305
|
+
label: name.toUpperCase(),
|
|
33306
|
+
field: name,
|
|
33307
|
+
align: isNumber(row[ name ]) ? 'right' : 'left',
|
|
33308
|
+
sortable: true
|
|
33309
|
+
}))
|
|
33278
33310
|
: []
|
|
33279
33311
|
});
|
|
33280
33312
|
|
|
@@ -37548,15 +37580,15 @@
|
|
|
37548
37580
|
|| client.is.webkit === true || client.is.vivaldi === true
|
|
37549
37581
|
)
|
|
37550
37582
|
? hexColor => {
|
|
37551
|
-
|
|
37583
|
+
const val = hexColor || getCssVar('primary');
|
|
37552
37584
|
|
|
37553
|
-
|
|
37554
|
-
|
|
37555
|
-
|
|
37556
|
-
|
|
37557
|
-
|
|
37558
|
-
}
|
|
37585
|
+
if (client.is.nativeMobile === true && window.StatusBar) {
|
|
37586
|
+
window.StatusBar.backgroundColorByHexString(val);
|
|
37587
|
+
}
|
|
37588
|
+
else {
|
|
37589
|
+
setColor(val);
|
|
37559
37590
|
}
|
|
37591
|
+
}
|
|
37560
37592
|
: noop,
|
|
37561
37593
|
|
|
37562
37594
|
install ({ $q }) {
|
|
@@ -37763,9 +37795,9 @@
|
|
|
37763
37795
|
|
|
37764
37796
|
return action.label === void 0
|
|
37765
37797
|
? vue.h(QSeparator, {
|
|
37766
|
-
|
|
37767
|
-
|
|
37768
|
-
|
|
37798
|
+
class: 'col-all',
|
|
37799
|
+
dark: isDark.value
|
|
37800
|
+
})
|
|
37769
37801
|
: vue.h('div', {
|
|
37770
37802
|
class: [
|
|
37771
37803
|
'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
|
|
@@ -37782,9 +37814,9 @@
|
|
|
37782
37814
|
: (
|
|
37783
37815
|
img
|
|
37784
37816
|
? vue.h('img', {
|
|
37785
|
-
|
|
37786
|
-
|
|
37787
|
-
|
|
37817
|
+
class: action.avatar ? 'q-bottom-sheet__avatar' : '',
|
|
37818
|
+
src: img
|
|
37819
|
+
})
|
|
37788
37820
|
: vue.h('div', { class: 'q-bottom-sheet__empty-icon' })
|
|
37789
37821
|
),
|
|
37790
37822
|
|
|
@@ -37816,9 +37848,9 @@
|
|
|
37816
37848
|
: (
|
|
37817
37849
|
img
|
|
37818
37850
|
? vue.h('img', {
|
|
37819
|
-
|
|
37820
|
-
|
|
37821
|
-
|
|
37851
|
+
class: action.avatar ? 'q-bottom-sheet__avatar' : '',
|
|
37852
|
+
src: img
|
|
37853
|
+
})
|
|
37822
37854
|
: null
|
|
37823
37855
|
)
|
|
37824
37856
|
)
|
|
@@ -37847,8 +37879,8 @@
|
|
|
37847
37879
|
child.push(
|
|
37848
37880
|
props.grid === true
|
|
37849
37881
|
? vue.h('div', {
|
|
37850
|
-
|
|
37851
|
-
|
|
37882
|
+
class: 'row items-stretch justify-start'
|
|
37883
|
+
}, getGrid())
|
|
37852
37884
|
: vue.h('div', getList())
|
|
37853
37885
|
);
|
|
37854
37886
|
|
|
@@ -38064,7 +38096,11 @@
|
|
|
38064
38096
|
string = decode$1(string.replace(/\+/g, ' '));
|
|
38065
38097
|
|
|
38066
38098
|
try {
|
|
38067
|
-
|
|
38099
|
+
const parsed = JSON.parse(string);
|
|
38100
|
+
|
|
38101
|
+
if (parsed === Object(parsed) || Array.isArray(parsed) === true) {
|
|
38102
|
+
string = parsed;
|
|
38103
|
+
}
|
|
38068
38104
|
}
|
|
38069
38105
|
catch (e) {}
|
|
38070
38106
|
|
|
@@ -38291,7 +38327,7 @@
|
|
|
38291
38327
|
props.progress === false
|
|
38292
38328
|
? null
|
|
38293
38329
|
: (
|
|
38294
|
-
|
|
38330
|
+
isObject(props.progress) === true
|
|
38295
38331
|
? {
|
|
38296
38332
|
component: props.progress.spinner || QSpinner,
|
|
38297
38333
|
props: { color: props.progress.color || vmColor.value }
|
|
@@ -38320,7 +38356,7 @@
|
|
|
38320
38356
|
});
|
|
38321
38357
|
|
|
38322
38358
|
const okLabel = vue.computed(() => (
|
|
38323
|
-
|
|
38359
|
+
isObject(props.ok) === true
|
|
38324
38360
|
? $q.lang.label.ok
|
|
38325
38361
|
: (
|
|
38326
38362
|
props.ok === true
|
|
@@ -38330,7 +38366,7 @@
|
|
|
38330
38366
|
));
|
|
38331
38367
|
|
|
38332
38368
|
const cancelLabel = vue.computed(() => (
|
|
38333
|
-
|
|
38369
|
+
isObject(props.cancel) === true
|
|
38334
38370
|
? $q.lang.label.cancel
|
|
38335
38371
|
: (
|
|
38336
38372
|
props.cancel === true
|
|
@@ -38356,7 +38392,7 @@
|
|
|
38356
38392
|
label: okLabel.value,
|
|
38357
38393
|
ripple: false,
|
|
38358
38394
|
disable: okDisabled.value,
|
|
38359
|
-
...(
|
|
38395
|
+
...(isObject(props.ok) === true ? props.ok : { flat: true }),
|
|
38360
38396
|
'data-autofocus': (props.focus === 'ok' && hasForm.value !== true) || void 0,
|
|
38361
38397
|
onClick: onOk
|
|
38362
38398
|
}));
|
|
@@ -38365,7 +38401,7 @@
|
|
|
38365
38401
|
color: vmColor.value,
|
|
38366
38402
|
label: cancelLabel.value,
|
|
38367
38403
|
ripple: false,
|
|
38368
|
-
...(
|
|
38404
|
+
...(isObject(props.cancel) === true ? props.cancel : { flat: true }),
|
|
38369
38405
|
'data-autofocus': (props.focus === 'cancel' && hasForm.value !== true) || void 0,
|
|
38370
38406
|
onClick: onCancel
|
|
38371
38407
|
}));
|
|
@@ -38569,6 +38605,14 @@
|
|
|
38569
38605
|
: {}
|
|
38570
38606
|
);
|
|
38571
38607
|
|
|
38608
|
+
function onStart () {
|
|
38609
|
+
Plugin$3.isActive = true;
|
|
38610
|
+
}
|
|
38611
|
+
|
|
38612
|
+
function onStop () {
|
|
38613
|
+
Plugin$3.isActive = false;
|
|
38614
|
+
}
|
|
38615
|
+
|
|
38572
38616
|
const el = createGlobalNode('q-loading-bar');
|
|
38573
38617
|
|
|
38574
38618
|
createChildApp({
|
|
@@ -38577,23 +38621,21 @@
|
|
|
38577
38621
|
// hide App from Vue devtools
|
|
38578
38622
|
devtools: { hide: true },
|
|
38579
38623
|
|
|
38580
|
-
setup: () => () => vue.h(QAjaxBar, { ...props.value, ref: barRef })
|
|
38624
|
+
setup: () => () => vue.h(QAjaxBar, { ...props.value, onStart, onStop, ref: barRef })
|
|
38581
38625
|
}, parentApp).mount(el);
|
|
38582
38626
|
|
|
38583
38627
|
Object.assign(this, {
|
|
38584
38628
|
start (speed) {
|
|
38585
38629
|
barRef.value.start(speed);
|
|
38586
|
-
Plugin$3.isActive = true;
|
|
38587
38630
|
},
|
|
38588
38631
|
stop () {
|
|
38589
|
-
|
|
38590
|
-
Plugin$3.isActive = sessions > 0;
|
|
38632
|
+
barRef.value.stop();
|
|
38591
38633
|
},
|
|
38592
38634
|
increment () {
|
|
38593
38635
|
barRef.value.increment.apply(null, arguments);
|
|
38594
38636
|
},
|
|
38595
38637
|
setDefaults (opts) {
|
|
38596
|
-
if (
|
|
38638
|
+
if (isObject(opts) === true) {
|
|
38597
38639
|
Object.assign(props.value, opts);
|
|
38598
38640
|
}
|
|
38599
38641
|
}
|
|
@@ -38628,7 +38670,7 @@
|
|
|
38628
38670
|
}, {
|
|
38629
38671
|
show (opts) {
|
|
38630
38672
|
|
|
38631
|
-
props =
|
|
38673
|
+
props = isObject(opts) === true && opts.ignoreDefaults === true
|
|
38632
38674
|
? { ...originalDefaults, ...opts }
|
|
38633
38675
|
: { ...defaults$1, ...opts };
|
|
38634
38676
|
|
|
@@ -38729,7 +38771,7 @@
|
|
|
38729
38771
|
|
|
38730
38772
|
setDefaults (opts) {
|
|
38731
38773
|
{
|
|
38732
|
-
|
|
38774
|
+
isObject(opts) === true && Object.assign(defaults$1, opts);
|
|
38733
38775
|
}
|
|
38734
38776
|
},
|
|
38735
38777
|
|
|
@@ -38804,7 +38846,7 @@
|
|
|
38804
38846
|
Object.assign(notif, defaults);
|
|
38805
38847
|
}
|
|
38806
38848
|
|
|
38807
|
-
if (
|
|
38849
|
+
if (isObject(config) === false) {
|
|
38808
38850
|
if (notif.type) {
|
|
38809
38851
|
Object.assign(notif, notifTypes[ notif.type ]);
|
|
38810
38852
|
}
|
|
@@ -39222,12 +39264,12 @@
|
|
|
39222
39264
|
var Notify = {
|
|
39223
39265
|
setDefaults (opts) {
|
|
39224
39266
|
{
|
|
39225
|
-
|
|
39267
|
+
isObject(opts) === true && Object.assign(defaults, opts);
|
|
39226
39268
|
}
|
|
39227
39269
|
},
|
|
39228
39270
|
|
|
39229
39271
|
registerType (typeName, typeOpts) {
|
|
39230
|
-
if (
|
|
39272
|
+
if (isObject(typeOpts) === true) {
|
|
39231
39273
|
notifTypes[ typeName ] = typeOpts;
|
|
39232
39274
|
}
|
|
39233
39275
|
},
|
|
@@ -39531,7 +39573,7 @@
|
|
|
39531
39573
|
});
|
|
39532
39574
|
|
|
39533
39575
|
var index_umd = {
|
|
39534
|
-
version: '2.
|
|
39576
|
+
version: '2.6.0',
|
|
39535
39577
|
install (app, opts) {
|
|
39536
39578
|
installQuasar(app, {
|
|
39537
39579
|
components,
|