quasar 2.7.6 → 2.8.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/dist/api/Loading.json +57 -1
- package/dist/api/QBtnDropdown.json +4 -0
- package/dist/api/QEditor.json +105 -97
- package/dist/api/QField.json +6 -0
- package/dist/api/QFile.json +6 -0
- package/dist/api/QInput.json +6 -0
- package/dist/api/QSelect.json +6 -0
- package/dist/api/QTable.json +36 -49
- package/dist/api/QUploader.json +86 -8
- package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
- package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
- package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/material-icons.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
- package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
- package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
- package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
- package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
- package/dist/icon-set/svg-themify.umd.prod.js +1 -1
- package/dist/icon-set/themify.umd.prod.js +1 -1
- package/dist/lang/ar-TN.umd.prod.js +1 -1
- package/dist/lang/ar.umd.prod.js +1 -1
- package/dist/lang/az-Latn.umd.prod.js +1 -1
- package/dist/lang/bg.umd.prod.js +1 -1
- package/dist/lang/bn.umd.prod.js +1 -1
- package/dist/lang/ca.umd.prod.js +1 -1
- package/dist/lang/cs.umd.prod.js +1 -1
- package/dist/lang/da.umd.prod.js +1 -1
- package/dist/lang/de.umd.prod.js +1 -1
- package/dist/lang/el.umd.prod.js +1 -1
- package/dist/lang/en-GB.umd.prod.js +1 -1
- package/dist/lang/en-US.umd.prod.js +1 -1
- package/dist/lang/eo.umd.prod.js +1 -1
- package/dist/lang/es.umd.prod.js +1 -1
- package/dist/lang/et.umd.prod.js +1 -1
- package/dist/lang/eu.umd.prod.js +1 -1
- package/dist/lang/fa-IR.umd.prod.js +1 -1
- package/dist/lang/fa.umd.prod.js +1 -1
- package/dist/lang/fi.umd.prod.js +1 -1
- package/dist/lang/fr.umd.prod.js +1 -1
- package/dist/lang/gn.umd.prod.js +1 -1
- package/dist/lang/he.umd.prod.js +1 -1
- package/dist/lang/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 +1 -1
- package/dist/lang/lt.umd.prod.js +1 -1
- package/dist/lang/lu.umd.prod.js +1 -1
- package/dist/lang/lv.umd.prod.js +1 -1
- package/dist/lang/ml.umd.prod.js +1 -1
- package/dist/lang/mm.umd.prod.js +1 -1
- package/dist/lang/ms.umd.prod.js +1 -1
- package/dist/lang/my.umd.prod.js +1 -1
- package/dist/lang/nb-NO.umd.prod.js +1 -1
- package/dist/lang/nl.umd.prod.js +1 -1
- package/dist/lang/pl.umd.prod.js +1 -1
- package/dist/lang/pt-BR.umd.prod.js +1 -1
- package/dist/lang/pt.umd.prod.js +1 -1
- package/dist/lang/ro.umd.prod.js +1 -1
- package/dist/lang/ru.umd.prod.js +1 -1
- package/dist/lang/sk.umd.prod.js +1 -1
- package/dist/lang/sl.umd.prod.js +1 -1
- package/dist/lang/sm.umd.prod.js +1 -1
- package/dist/lang/sr-CYR.umd.prod.js +1 -1
- package/dist/lang/sr.umd.prod.js +1 -1
- package/dist/lang/sv.umd.prod.js +1 -1
- package/dist/lang/ta.umd.prod.js +1 -1
- package/dist/lang/th.umd.prod.js +1 -1
- package/dist/lang/tr.umd.prod.js +1 -1
- package/dist/lang/ug.umd.prod.js +1 -1
- package/dist/lang/uk.umd.prod.js +1 -1
- package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
- package/dist/lang/uz-Latn.umd.prod.js +1 -1
- package/dist/lang/vi.umd.prod.js +1 -1
- package/dist/lang/zh-CN.umd.prod.js +1 -1
- package/dist/lang/zh-TW.umd.prod.js +1 -1
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.esm.js +39646 -0
- package/dist/quasar.sass +1 -1
- package/dist/quasar.umd.js +355 -296
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/transforms/import-map.json +1 -0
- package/dist/types/index.d.ts +223 -117
- package/dist/web-types/web-types.json +6 -1
- package/package.json +1 -1
- package/src/components/banner/QBanner.js +2 -2
- package/src/components/bar/QBar.js +2 -2
- package/src/components/btn-dropdown/QBtnDropdown.js +8 -2
- package/src/components/btn-dropdown/QBtnDropdown.json +5 -0
- package/src/components/card/QCard.js +2 -2
- package/src/components/carousel/QCarousel.js +1 -1
- package/src/components/date/QDate.js +6 -6
- package/src/components/dialog-plugin/DialogPlugin.js +1 -1
- package/src/components/editor/QEditor.js +5 -5
- package/src/components/editor/QEditor.json +76 -67
- package/src/components/infinite-scroll/QInfiniteScroll.js +7 -7
- package/src/components/page-sticky/use-page-sticky.js +1 -2
- package/src/components/popup-edit/QPopupEdit.js +10 -10
- package/src/components/popup-proxy/QPopupProxy.js +7 -7
- package/src/components/pull-to-refresh/QPullToRefresh.js +3 -3
- package/src/components/range/QRange.js +5 -1
- package/src/components/resize-observer/QResizeObserver.js +6 -6
- package/src/components/scroll-area/QScrollArea.js +25 -25
- package/src/components/scroll-observer/QScrollObserver.js +3 -3
- package/src/components/select/QSelect.js +2 -1
- package/src/components/slider/QSlider.js +5 -1
- package/src/components/slider/use-slider.js +1 -1
- package/src/components/table/QTable.json +28 -50
- package/src/components/table/table-column-selection.js +1 -1
- package/src/components/table/table-pagination.js +0 -4
- package/src/components/table/table-sort.js +1 -1
- package/src/components/time/QTime.js +5 -5
- package/src/components/tree/QTree.js +2 -2
- package/src/components/uploader/QUploader.json +107 -0
- package/src/components/uploader/__tests__/QUploader.spec.js +33 -2
- package/src/components/uploader/uploader-core.js +48 -53
- package/src/composables/private/use-field.js +3 -3
- package/src/composables/private/use-file.js +1 -0
- package/src/composables/private/use-panel.js +7 -7
- package/src/composables/private/use-portal.js +7 -7
- package/src/composables/private/use-validate.json +7 -0
- package/src/directives/ClosePopup.js +4 -4
- package/src/directives/Intersection.js +1 -1
- package/src/index.dev.js +16 -0
- package/src/{index.all.js → index.ssr.js} +0 -0
- package/src/install-quasar.js +1 -1
- package/src/plugins/Loading.js +122 -73
- package/src/plugins/Loading.json +48 -1
- package/src/plugins/LoadingBar.js +1 -1
- package/src/plugins/Notify.js +1 -1
- package/src/utils/create-uploader-component.js +1 -1
- package/src/utils/date.js +1 -1
- package/src/utils/dom.js +2 -5
- package/src/utils/{private/is.js → is.js} +11 -7
- package/src/utils/morph.js +1 -1
- package/src/utils/open-url.js +7 -2
- package/src/utils/private/click-outside.js +3 -3
- package/src/utils/private/date-persian.js +12 -12
- package/src/utils/private/global-dialog.js +3 -3
- package/src/utils/private/portal.js +24 -24
- package/src/utils/private/vm.js +10 -9
- package/src/utils/private/web-storage.js +1 -1
- package/src/utils.js +2 -0
- package/dist/quasar.esm.prod.js +0 -6
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.8.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1401,11 +1401,6 @@
|
|
|
1401
1401
|
globalConfigIsFrozen = true;
|
|
1402
1402
|
}
|
|
1403
1403
|
|
|
1404
|
-
const
|
|
1405
|
-
hasMap = typeof Map === 'function',
|
|
1406
|
-
hasSet = typeof Set === 'function',
|
|
1407
|
-
hasArrayBuffer = typeof ArrayBuffer === 'function';
|
|
1408
|
-
|
|
1409
1404
|
function isDeepEqual (a, b) {
|
|
1410
1405
|
if (a === b) {
|
|
1411
1406
|
return true
|
|
@@ -1434,7 +1429,7 @@
|
|
|
1434
1429
|
return true
|
|
1435
1430
|
}
|
|
1436
1431
|
|
|
1437
|
-
if (
|
|
1432
|
+
if (a.constructor === Map) {
|
|
1438
1433
|
if (a.size !== b.size) {
|
|
1439
1434
|
return false
|
|
1440
1435
|
}
|
|
@@ -1458,7 +1453,7 @@
|
|
|
1458
1453
|
return true
|
|
1459
1454
|
}
|
|
1460
1455
|
|
|
1461
|
-
if (
|
|
1456
|
+
if (a.constructor === Set) {
|
|
1462
1457
|
if (a.size !== b.size) {
|
|
1463
1458
|
return false
|
|
1464
1459
|
}
|
|
@@ -1474,7 +1469,7 @@
|
|
|
1474
1469
|
return true
|
|
1475
1470
|
}
|
|
1476
1471
|
|
|
1477
|
-
if (
|
|
1472
|
+
if (a.buffer != null && a.buffer.constructor === ArrayBuffer) {
|
|
1478
1473
|
length = a.length;
|
|
1479
1474
|
|
|
1480
1475
|
if (length !== b.length) {
|
|
@@ -1541,6 +1536,14 @@
|
|
|
1541
1536
|
return typeof v === 'number' && isFinite(v)
|
|
1542
1537
|
}
|
|
1543
1538
|
|
|
1539
|
+
var is = {
|
|
1540
|
+
deepEqual: isDeepEqual,
|
|
1541
|
+
object: isObject,
|
|
1542
|
+
date: isDate,
|
|
1543
|
+
regexp: isRegexp,
|
|
1544
|
+
number: isNumber
|
|
1545
|
+
};
|
|
1546
|
+
|
|
1544
1547
|
const autoInstalledPlugins = [
|
|
1545
1548
|
Platform,
|
|
1546
1549
|
Body,
|
|
@@ -1603,7 +1606,7 @@
|
|
|
1603
1606
|
}
|
|
1604
1607
|
|
|
1605
1608
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1606
|
-
const $q = { version: '2.
|
|
1609
|
+
const $q = { version: '2.8.0' };
|
|
1607
1610
|
|
|
1608
1611
|
if (globalConfigIsFrozen === false) {
|
|
1609
1612
|
if (opts.config !== void 0) {
|
|
@@ -2396,8 +2399,8 @@
|
|
|
2396
2399
|
},
|
|
2397
2400
|
|
|
2398
2401
|
setup (props, { slots }) {
|
|
2399
|
-
const
|
|
2400
|
-
const isDark = useDark(props,
|
|
2402
|
+
const { proxy: { $q } } = vue.getCurrentInstance();
|
|
2403
|
+
const isDark = useDark(props, $q);
|
|
2401
2404
|
|
|
2402
2405
|
const classes = vue.computed(() =>
|
|
2403
2406
|
'q-banner row items-center'
|
|
@@ -2445,8 +2448,8 @@
|
|
|
2445
2448
|
},
|
|
2446
2449
|
|
|
2447
2450
|
setup (props, { slots }) {
|
|
2448
|
-
const
|
|
2449
|
-
const isDark = useDark(props,
|
|
2451
|
+
const { proxy: { $q } } = vue.getCurrentInstance();
|
|
2452
|
+
const isDark = useDark(props, $q);
|
|
2450
2453
|
|
|
2451
2454
|
const classes = vue.computed(() =>
|
|
2452
2455
|
'q-bar row no-wrap items-center'
|
|
@@ -2491,20 +2494,20 @@
|
|
|
2491
2494
|
})
|
|
2492
2495
|
}
|
|
2493
2496
|
|
|
2494
|
-
//
|
|
2495
|
-
function
|
|
2496
|
-
if (Object(
|
|
2497
|
-
return
|
|
2497
|
+
// copied to docs too
|
|
2498
|
+
function getParentProxy (proxy) {
|
|
2499
|
+
if (Object(proxy.$parent) === proxy.$parent) {
|
|
2500
|
+
return proxy.$parent
|
|
2498
2501
|
}
|
|
2499
2502
|
|
|
2500
|
-
|
|
2503
|
+
let { parent } = proxy.$;
|
|
2501
2504
|
|
|
2502
|
-
while (Object(
|
|
2503
|
-
if (Object(
|
|
2504
|
-
return
|
|
2505
|
+
while (Object(parent) === parent) {
|
|
2506
|
+
if (Object(parent.proxy) === parent.proxy) {
|
|
2507
|
+
return parent.proxy
|
|
2505
2508
|
}
|
|
2506
2509
|
|
|
2507
|
-
|
|
2510
|
+
parent = parent.parent;
|
|
2508
2511
|
}
|
|
2509
2512
|
}
|
|
2510
2513
|
|
|
@@ -3066,10 +3069,7 @@
|
|
|
3066
3069
|
}
|
|
3067
3070
|
}
|
|
3068
3071
|
|
|
3069
|
-
const target = vue.
|
|
3070
|
-
? el.value
|
|
3071
|
-
: el;
|
|
3072
|
-
|
|
3072
|
+
const target = vue.unref(el);
|
|
3073
3073
|
if (target) {
|
|
3074
3074
|
return target.$el || target
|
|
3075
3075
|
}
|
|
@@ -4345,58 +4345,58 @@
|
|
|
4345
4345
|
}
|
|
4346
4346
|
}
|
|
4347
4347
|
|
|
4348
|
-
const
|
|
4348
|
+
const portalProxyList = [];
|
|
4349
4349
|
|
|
4350
|
-
function
|
|
4351
|
-
return
|
|
4352
|
-
|
|
4353
|
-
&&
|
|
4350
|
+
function getPortalProxy (el) {
|
|
4351
|
+
return portalProxyList.find(proxy =>
|
|
4352
|
+
proxy.__qPortalInnerRef.value !== null
|
|
4353
|
+
&& proxy.__qPortalInnerRef.value.contains(el)
|
|
4354
4354
|
)
|
|
4355
4355
|
}
|
|
4356
4356
|
|
|
4357
|
-
function closePortalMenus (
|
|
4357
|
+
function closePortalMenus (proxy, evt) {
|
|
4358
4358
|
do {
|
|
4359
|
-
if (
|
|
4360
|
-
|
|
4359
|
+
if (proxy.$options.name === 'QMenu') {
|
|
4360
|
+
proxy.hide(evt);
|
|
4361
4361
|
|
|
4362
4362
|
// is this a point of separation?
|
|
4363
|
-
if (
|
|
4364
|
-
return
|
|
4363
|
+
if (proxy.$props.separateClosePopup === true) {
|
|
4364
|
+
return getParentProxy(proxy)
|
|
4365
4365
|
}
|
|
4366
4366
|
}
|
|
4367
|
-
else if (
|
|
4367
|
+
else if (proxy.__qPortalInnerRef !== void 0) {
|
|
4368
4368
|
// treat it as point of separation if parent is QPopupProxy
|
|
4369
4369
|
// (so mobile matches desktop behavior)
|
|
4370
4370
|
// and hide it too
|
|
4371
|
-
const parent =
|
|
4371
|
+
const parent = getParentProxy(proxy);
|
|
4372
4372
|
|
|
4373
4373
|
if (parent !== void 0 && parent.$options.name === 'QPopupProxy') {
|
|
4374
|
-
|
|
4374
|
+
proxy.hide(evt);
|
|
4375
4375
|
return parent
|
|
4376
4376
|
}
|
|
4377
4377
|
else {
|
|
4378
|
-
return
|
|
4378
|
+
return proxy
|
|
4379
4379
|
}
|
|
4380
4380
|
}
|
|
4381
4381
|
|
|
4382
|
-
|
|
4383
|
-
} while (
|
|
4382
|
+
proxy = getParentProxy(proxy);
|
|
4383
|
+
} while (proxy !== void 0 && proxy !== null)
|
|
4384
4384
|
}
|
|
4385
4385
|
|
|
4386
|
-
function closePortals (
|
|
4387
|
-
while (depth !== 0 &&
|
|
4388
|
-
if (
|
|
4386
|
+
function closePortals (proxy, evt, depth) {
|
|
4387
|
+
while (depth !== 0 && proxy !== void 0 && proxy !== null) {
|
|
4388
|
+
if (proxy.__qPortalInnerRef !== void 0) {
|
|
4389
4389
|
depth--;
|
|
4390
4390
|
|
|
4391
|
-
if (
|
|
4392
|
-
|
|
4391
|
+
if (proxy.$options.name === 'QMenu') {
|
|
4392
|
+
proxy = closePortalMenus(proxy, evt);
|
|
4393
4393
|
continue
|
|
4394
4394
|
}
|
|
4395
4395
|
|
|
4396
|
-
|
|
4396
|
+
proxy.hide(evt);
|
|
4397
4397
|
}
|
|
4398
4398
|
|
|
4399
|
-
|
|
4399
|
+
proxy = getParentProxy(proxy);
|
|
4400
4400
|
}
|
|
4401
4401
|
}
|
|
4402
4402
|
|
|
@@ -4448,7 +4448,7 @@
|
|
|
4448
4448
|
portalIsActive.value = true;
|
|
4449
4449
|
|
|
4450
4450
|
// register portal
|
|
4451
|
-
|
|
4451
|
+
portalProxyList.push(vm.proxy);
|
|
4452
4452
|
|
|
4453
4453
|
addFocusWaitFlag(focusObj);
|
|
4454
4454
|
}
|
|
@@ -4463,9 +4463,9 @@
|
|
|
4463
4463
|
portalIsActive.value = false;
|
|
4464
4464
|
|
|
4465
4465
|
// unregister portal
|
|
4466
|
-
const index =
|
|
4467
|
-
if (index
|
|
4468
|
-
|
|
4466
|
+
const index = portalProxyList.indexOf(vm.proxy);
|
|
4467
|
+
if (index !== -1) {
|
|
4468
|
+
portalProxyList.splice(index, 1);
|
|
4469
4469
|
}
|
|
4470
4470
|
|
|
4471
4471
|
if (portalEl !== null) {
|
|
@@ -4476,8 +4476,8 @@
|
|
|
4476
4476
|
|
|
4477
4477
|
vue.onUnmounted(() => { hidePortal(true); });
|
|
4478
4478
|
|
|
4479
|
-
//
|
|
4480
|
-
|
|
4479
|
+
// needed for portal vm detection
|
|
4480
|
+
vm.proxy.__qPortalInnerRef = innerRef;
|
|
4481
4481
|
|
|
4482
4482
|
return {
|
|
4483
4483
|
showPortal,
|
|
@@ -4876,10 +4876,10 @@
|
|
|
4876
4876
|
|
|
4877
4877
|
// check last portal vm if it's
|
|
4878
4878
|
// a QDialog and not in seamless mode
|
|
4879
|
-
let portalIndex =
|
|
4879
|
+
let portalIndex = portalProxyList.length - 1;
|
|
4880
4880
|
|
|
4881
4881
|
while (portalIndex >= 0) {
|
|
4882
|
-
const proxy =
|
|
4882
|
+
const proxy = portalProxyList[ portalIndex ].$;
|
|
4883
4883
|
|
|
4884
4884
|
if (proxy.type.name !== 'QDialog') {
|
|
4885
4885
|
break
|
|
@@ -5694,7 +5694,10 @@
|
|
|
5694
5694
|
round: false,
|
|
5695
5695
|
...attributes.value,
|
|
5696
5696
|
onClick
|
|
5697
|
-
},
|
|
5697
|
+
}, {
|
|
5698
|
+
default: () => hSlot(slots.label, []).concat(Arrow),
|
|
5699
|
+
loading: slots.loading
|
|
5700
|
+
})
|
|
5698
5701
|
}
|
|
5699
5702
|
|
|
5700
5703
|
return vue.h(QBtnGroup, {
|
|
@@ -5716,7 +5719,10 @@
|
|
|
5716
5719
|
iconRight: props.iconRight,
|
|
5717
5720
|
round: false,
|
|
5718
5721
|
onClick: onClickHide
|
|
5719
|
-
},
|
|
5722
|
+
}, {
|
|
5723
|
+
default: slots.label,
|
|
5724
|
+
loading: slots.loading
|
|
5725
|
+
}),
|
|
5720
5726
|
|
|
5721
5727
|
vue.h(QBtn, {
|
|
5722
5728
|
class: 'q-btn-dropdown__arrow-container q-anchor--skip',
|
|
@@ -5941,8 +5947,8 @@
|
|
|
5941
5947
|
},
|
|
5942
5948
|
|
|
5943
5949
|
setup (props, { slots }) {
|
|
5944
|
-
const
|
|
5945
|
-
const isDark = useDark(props,
|
|
5950
|
+
const { proxy: { $q } } = vue.getCurrentInstance();
|
|
5951
|
+
const isDark = useDark(props, $q);
|
|
5946
5952
|
|
|
5947
5953
|
const classes = vue.computed(() =>
|
|
5948
5954
|
'q-card'
|
|
@@ -6450,13 +6456,6 @@
|
|
|
6450
6456
|
function nextPanel () { goToPanelByOffset(1); }
|
|
6451
6457
|
function previousPanel () { goToPanelByOffset(-1); }
|
|
6452
6458
|
|
|
6453
|
-
// expose public methods
|
|
6454
|
-
Object.assign(proxy, {
|
|
6455
|
-
next: nextPanel,
|
|
6456
|
-
previous: previousPanel,
|
|
6457
|
-
goTo: goToPanel
|
|
6458
|
-
});
|
|
6459
|
-
|
|
6460
6459
|
function goToPanel (name) {
|
|
6461
6460
|
emit('update:modelValue', name);
|
|
6462
6461
|
}
|
|
@@ -6581,6 +6580,13 @@
|
|
|
6581
6580
|
return panels
|
|
6582
6581
|
}
|
|
6583
6582
|
|
|
6583
|
+
// expose public methods
|
|
6584
|
+
Object.assign(proxy, {
|
|
6585
|
+
next: nextPanel,
|
|
6586
|
+
previous: previousPanel,
|
|
6587
|
+
goTo: goToPanel
|
|
6588
|
+
});
|
|
6589
|
+
|
|
6584
6590
|
return {
|
|
6585
6591
|
panelIndex,
|
|
6586
6592
|
panelDirectives,
|
|
@@ -9066,7 +9072,11 @@
|
|
|
9066
9072
|
|
|
9067
9073
|
const
|
|
9068
9074
|
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.step.value,
|
|
9069
|
-
offset = (
|
|
9075
|
+
offset = (
|
|
9076
|
+
([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1)
|
|
9077
|
+
* (state.isReversed.value === true ? -1 : 1)
|
|
9078
|
+
* (props.vertical === true ? -1 : 1) * stepVal
|
|
9079
|
+
);
|
|
9070
9080
|
|
|
9071
9081
|
model.value = between(
|
|
9072
9082
|
parseFloat((model.value + offset).toFixed(state.decimals.value)),
|
|
@@ -9154,17 +9164,14 @@
|
|
|
9154
9164
|
}
|
|
9155
9165
|
}
|
|
9156
9166
|
|
|
9157
|
-
const
|
|
9158
|
-
|
|
9159
|
-
// expose public methods
|
|
9160
|
-
Object.assign(vm.proxy, { trigger });
|
|
9167
|
+
const { proxy } = vue.getCurrentInstance();
|
|
9161
9168
|
|
|
9162
9169
|
if (hasObserver === true) {
|
|
9163
9170
|
let observer;
|
|
9164
9171
|
|
|
9165
9172
|
vue.onMounted(() => {
|
|
9166
9173
|
vue.nextTick(() => {
|
|
9167
|
-
targetEl =
|
|
9174
|
+
targetEl = proxy.$el.parentNode;
|
|
9168
9175
|
|
|
9169
9176
|
if (targetEl) {
|
|
9170
9177
|
observer = new ResizeObserver(trigger);
|
|
@@ -9218,13 +9225,16 @@
|
|
|
9218
9225
|
|
|
9219
9226
|
vue.onMounted(() => {
|
|
9220
9227
|
vue.nextTick(() => {
|
|
9221
|
-
targetEl =
|
|
9228
|
+
targetEl = proxy.$el;
|
|
9222
9229
|
targetEl && onObjLoad();
|
|
9223
9230
|
});
|
|
9224
9231
|
});
|
|
9225
9232
|
|
|
9226
9233
|
vue.onBeforeUnmount(cleanup);
|
|
9227
9234
|
|
|
9235
|
+
// expose public method
|
|
9236
|
+
proxy.trigger = trigger;
|
|
9237
|
+
|
|
9228
9238
|
return () => {
|
|
9229
9239
|
if (canRender.value === true) {
|
|
9230
9240
|
return vue.h('object', {
|
|
@@ -11474,9 +11484,9 @@
|
|
|
11474
11484
|
}
|
|
11475
11485
|
|
|
11476
11486
|
return {
|
|
11477
|
-
leap
|
|
11478
|
-
gy
|
|
11479
|
-
march
|
|
11487
|
+
leap,
|
|
11488
|
+
gy,
|
|
11489
|
+
march
|
|
11480
11490
|
}
|
|
11481
11491
|
}
|
|
11482
11492
|
|
|
@@ -11521,9 +11531,9 @@
|
|
|
11521
11531
|
jm = 1 + div(k, 31);
|
|
11522
11532
|
jd = mod(k, 31) + 1;
|
|
11523
11533
|
return {
|
|
11524
|
-
jy
|
|
11525
|
-
jm
|
|
11526
|
-
jd
|
|
11534
|
+
jy,
|
|
11535
|
+
jm,
|
|
11536
|
+
jd
|
|
11527
11537
|
}
|
|
11528
11538
|
}
|
|
11529
11539
|
else {
|
|
@@ -11540,9 +11550,9 @@
|
|
|
11540
11550
|
jm = 7 + div(k, 30);
|
|
11541
11551
|
jd = mod(k, 30) + 1;
|
|
11542
11552
|
return {
|
|
11543
|
-
jy
|
|
11544
|
-
jm
|
|
11545
|
-
jd
|
|
11553
|
+
jy,
|
|
11554
|
+
jm,
|
|
11555
|
+
jd
|
|
11546
11556
|
}
|
|
11547
11557
|
}
|
|
11548
11558
|
|
|
@@ -11586,9 +11596,9 @@
|
|
|
11586
11596
|
gm = mod(div(i, 153), 12) + 1,
|
|
11587
11597
|
gy = div(j, 1461) - 100100 + div(8 - gm, 6);
|
|
11588
11598
|
return {
|
|
11589
|
-
gy
|
|
11590
|
-
gm
|
|
11591
|
-
gd
|
|
11599
|
+
gy,
|
|
11600
|
+
gm,
|
|
11601
|
+
gd
|
|
11592
11602
|
}
|
|
11593
11603
|
}
|
|
11594
11604
|
|
|
@@ -13748,11 +13758,6 @@
|
|
|
13748
13758
|
emit('update:modelValue', (props.multiple === true ? model : model[ 0 ]) || null, reason);
|
|
13749
13759
|
}
|
|
13750
13760
|
|
|
13751
|
-
// expose public methods
|
|
13752
|
-
Object.assign(proxy, {
|
|
13753
|
-
setToday, setView, offsetCalendar, setCalendarTo, setEditingRange
|
|
13754
|
-
});
|
|
13755
|
-
|
|
13756
13761
|
function getHeader () {
|
|
13757
13762
|
if (props.minimal === true) { return }
|
|
13758
13763
|
|
|
@@ -14110,6 +14115,11 @@
|
|
|
14110
14115
|
}
|
|
14111
14116
|
}
|
|
14112
14117
|
|
|
14118
|
+
// expose public methods
|
|
14119
|
+
Object.assign(proxy, {
|
|
14120
|
+
setToday, setView, offsetCalendar, setCalendarTo, setEditingRange
|
|
14121
|
+
});
|
|
14122
|
+
|
|
14113
14123
|
return () => {
|
|
14114
14124
|
const content = [
|
|
14115
14125
|
vue.h('div', {
|
|
@@ -17131,11 +17141,6 @@
|
|
|
17131
17141
|
return contentRef.value
|
|
17132
17142
|
}
|
|
17133
17143
|
|
|
17134
|
-
// expose public methods
|
|
17135
|
-
Object.assign(proxy, {
|
|
17136
|
-
runCmd, refreshToolbar, focus, getContentEl
|
|
17137
|
-
});
|
|
17138
|
-
|
|
17139
17144
|
vue.onMounted(() => {
|
|
17140
17145
|
eVm.caret = proxy.caret = new Caret(contentRef.value, eVm);
|
|
17141
17146
|
setContent(props.modelValue);
|
|
@@ -17148,6 +17153,11 @@
|
|
|
17148
17153
|
document.removeEventListener('selectionchange', onSelectionchange);
|
|
17149
17154
|
});
|
|
17150
17155
|
|
|
17156
|
+
// expose public methods
|
|
17157
|
+
Object.assign(proxy, {
|
|
17158
|
+
runCmd, refreshToolbar, focus, getContentEl
|
|
17159
|
+
});
|
|
17160
|
+
|
|
17151
17161
|
return () => {
|
|
17152
17162
|
let toolbars;
|
|
17153
17163
|
|
|
@@ -18712,6 +18722,7 @@
|
|
|
18712
18722
|
onDragover,
|
|
18713
18723
|
processFiles,
|
|
18714
18724
|
getDndNode,
|
|
18725
|
+
|
|
18715
18726
|
maxFilesNumber,
|
|
18716
18727
|
maxTotalSizeNumber
|
|
18717
18728
|
}
|
|
@@ -18781,6 +18792,12 @@
|
|
|
18781
18792
|
proxy.$forceUpdate();
|
|
18782
18793
|
}
|
|
18783
18794
|
|
|
18795
|
+
const editable = vue.computed(() => props.disable !== true && props.readonly !== true);
|
|
18796
|
+
const dnd = vue.ref(false);
|
|
18797
|
+
|
|
18798
|
+
const rootRef = vue.ref(null);
|
|
18799
|
+
const inputRef = vue.ref(null);
|
|
18800
|
+
|
|
18784
18801
|
const state = {
|
|
18785
18802
|
files: vue.ref([]),
|
|
18786
18803
|
queuedFiles: vue.ref([]),
|
|
@@ -18793,22 +18810,6 @@
|
|
|
18793
18810
|
}
|
|
18794
18811
|
};
|
|
18795
18812
|
|
|
18796
|
-
Object.assign(state, getPlugin({ props, slots, emit, helpers: state }));
|
|
18797
|
-
|
|
18798
|
-
const uploadSize = vue.ref(0);
|
|
18799
|
-
const editable = vue.computed(() => props.disable !== true && props.readonly !== true);
|
|
18800
|
-
|
|
18801
|
-
if (state.isBusy === void 0) {
|
|
18802
|
-
state.isBusy = vue.ref(false);
|
|
18803
|
-
}
|
|
18804
|
-
|
|
18805
|
-
const dnd = vue.ref(false);
|
|
18806
|
-
|
|
18807
|
-
const rootRef = vue.ref(null);
|
|
18808
|
-
const inputRef = vue.ref(null);
|
|
18809
|
-
|
|
18810
|
-
vue.provide(uploaderKey, renderInput);
|
|
18811
|
-
|
|
18812
18813
|
const {
|
|
18813
18814
|
pickFiles,
|
|
18814
18815
|
addFiles,
|
|
@@ -18820,6 +18821,21 @@
|
|
|
18820
18821
|
maxTotalSizeNumber
|
|
18821
18822
|
} = useFile({ editable, dnd, getFileInput, addFilesToQueue });
|
|
18822
18823
|
|
|
18824
|
+
Object.assign(state, getPlugin({ props, slots, emit, helpers: state }));
|
|
18825
|
+
|
|
18826
|
+
if (state.isBusy === void 0) {
|
|
18827
|
+
state.isBusy = vue.ref(false);
|
|
18828
|
+
}
|
|
18829
|
+
|
|
18830
|
+
const uploadSize = vue.ref(0);
|
|
18831
|
+
const uploadProgress = vue.computed(() => (
|
|
18832
|
+
uploadSize.value === 0
|
|
18833
|
+
? 0
|
|
18834
|
+
: state.uploadedSize.value / uploadSize.value
|
|
18835
|
+
));
|
|
18836
|
+
const uploadProgressLabel = vue.computed(() => getProgressLabel(uploadProgress.value));
|
|
18837
|
+
const uploadSizeLabel = vue.computed(() => humanStorageSize(uploadSize.value));
|
|
18838
|
+
|
|
18823
18839
|
const canAddFiles = vue.computed(() =>
|
|
18824
18840
|
editable.value === true
|
|
18825
18841
|
&& state.isUploading.value !== true
|
|
@@ -18838,14 +18854,7 @@
|
|
|
18838
18854
|
&& state.queuedFiles.value.length > 0
|
|
18839
18855
|
);
|
|
18840
18856
|
|
|
18841
|
-
|
|
18842
|
-
uploadSize.value === 0
|
|
18843
|
-
? 0
|
|
18844
|
-
: state.uploadedSize.value / uploadSize.value
|
|
18845
|
-
));
|
|
18846
|
-
|
|
18847
|
-
const uploadProgressLabel = vue.computed(() => getProgressLabel(uploadProgress.value));
|
|
18848
|
-
const uploadSizeLabel = vue.computed(() => humanStorageSize(uploadSize.value));
|
|
18857
|
+
vue.provide(uploaderKey, renderInput);
|
|
18849
18858
|
|
|
18850
18859
|
const classes = vue.computed(() =>
|
|
18851
18860
|
'q-uploader column no-wrap'
|
|
@@ -19040,7 +19049,7 @@
|
|
|
19040
19049
|
|
|
19041
19050
|
function getHeader () {
|
|
19042
19051
|
if (slots.header !== void 0) {
|
|
19043
|
-
return slots.header(
|
|
19052
|
+
return slots.header(publicApi)
|
|
19044
19053
|
}
|
|
19045
19054
|
|
|
19046
19055
|
return [
|
|
@@ -19077,7 +19086,7 @@
|
|
|
19077
19086
|
|
|
19078
19087
|
function getList () {
|
|
19079
19088
|
if (slots.list !== void 0) {
|
|
19080
|
-
return slots.list(
|
|
19089
|
+
return slots.list(publicApi)
|
|
19081
19090
|
}
|
|
19082
19091
|
|
|
19083
19092
|
return state.files.value.map(file => vue.h('div', {
|
|
@@ -19136,41 +19145,37 @@
|
|
|
19136
19145
|
state.files.value.length > 0 && revokeImgURLs();
|
|
19137
19146
|
});
|
|
19138
19147
|
|
|
19139
|
-
const
|
|
19140
|
-
|
|
19141
|
-
|
|
19148
|
+
const publicApi = {};
|
|
19149
|
+
|
|
19150
|
+
for (const key in state) {
|
|
19151
|
+
if (vue.isRef(state[ key ]) === true) {
|
|
19152
|
+
injectProp(publicApi, key, () => state[ key ].value);
|
|
19153
|
+
}
|
|
19154
|
+
else { // method or non-computed prop
|
|
19155
|
+
publicApi[ key ] = state[ key ];
|
|
19156
|
+
}
|
|
19157
|
+
}
|
|
19158
|
+
|
|
19159
|
+
Object.assign(publicApi, {
|
|
19160
|
+
upload,
|
|
19142
19161
|
reset,
|
|
19143
19162
|
removeUploadedFiles,
|
|
19144
19163
|
removeQueuedFiles,
|
|
19145
19164
|
removeFile,
|
|
19146
|
-
upload,
|
|
19147
|
-
abort: state.abort
|
|
19148
|
-
};
|
|
19149
19165
|
|
|
19150
|
-
|
|
19151
|
-
|
|
19152
|
-
|
|
19153
|
-
const acc = {
|
|
19154
|
-
canAddFiles: canAddFiles.value,
|
|
19155
|
-
canUpload: canUpload.value,
|
|
19156
|
-
uploadSizeLabel: uploadSizeLabel.value,
|
|
19157
|
-
uploadProgressLabel: uploadProgressLabel.value
|
|
19158
|
-
};
|
|
19159
|
-
|
|
19160
|
-
for (const key in state) {
|
|
19161
|
-
acc[ key ] = vue.isRef(state[ key ]) === true
|
|
19162
|
-
? state[ key ].value
|
|
19163
|
-
: state[ key ];
|
|
19164
|
-
}
|
|
19166
|
+
pickFiles,
|
|
19167
|
+
addFiles
|
|
19168
|
+
});
|
|
19165
19169
|
|
|
19166
|
-
|
|
19167
|
-
|
|
19168
|
-
|
|
19169
|
-
|
|
19170
|
+
injectMultipleProps(publicApi, {
|
|
19171
|
+
canAddFiles: () => canAddFiles.value,
|
|
19172
|
+
canUpload: () => canUpload.value,
|
|
19173
|
+
uploadSizeLabel: () => uploadSizeLabel.value,
|
|
19174
|
+
uploadProgressLabel: () => uploadProgressLabel.value
|
|
19170
19175
|
});
|
|
19171
19176
|
|
|
19172
|
-
// expose public methods
|
|
19173
|
-
Object.assign(proxy,
|
|
19177
|
+
// expose public api (methods & computed props)
|
|
19178
|
+
Object.assign(proxy, publicApi);
|
|
19174
19179
|
|
|
19175
19180
|
return () => {
|
|
19176
19181
|
const children = [
|
|
@@ -20318,9 +20323,13 @@
|
|
|
20318
20323
|
const cfg = Object.assign({ noopener: true }, winFeatures);
|
|
20319
20324
|
const feat = [];
|
|
20320
20325
|
for (const key in cfg) {
|
|
20321
|
-
|
|
20326
|
+
const value = cfg[ key ];
|
|
20327
|
+
if (value === true) {
|
|
20322
20328
|
feat.push(key);
|
|
20323
20329
|
}
|
|
20330
|
+
else if (isNumber(value) || (typeof value === 'string' && value !== '')) {
|
|
20331
|
+
feat.push(key + '=' + value);
|
|
20332
|
+
}
|
|
20324
20333
|
}
|
|
20325
20334
|
return feat.join(',')
|
|
20326
20335
|
}
|
|
@@ -20390,6 +20399,7 @@
|
|
|
20390
20399
|
frameDebounce: frameDebounce,
|
|
20391
20400
|
getCssVar: getCssVar,
|
|
20392
20401
|
noop: noop,
|
|
20402
|
+
is: is,
|
|
20393
20403
|
morph: morph,
|
|
20394
20404
|
openURL: openUrl,
|
|
20395
20405
|
patterns: patterns,
|
|
@@ -21127,9 +21137,6 @@
|
|
|
21127
21137
|
}, content)
|
|
21128
21138
|
}
|
|
21129
21139
|
|
|
21130
|
-
// expose public methods
|
|
21131
|
-
Object.assign(proxy, { focus, blur });
|
|
21132
|
-
|
|
21133
21140
|
let shouldActivate = false;
|
|
21134
21141
|
|
|
21135
21142
|
vue.onDeactivated(() => {
|
|
@@ -21152,6 +21159,9 @@
|
|
|
21152
21159
|
clearTimeout(focusoutTimer);
|
|
21153
21160
|
});
|
|
21154
21161
|
|
|
21162
|
+
// expose public methods
|
|
21163
|
+
Object.assign(proxy, { focus, blur });
|
|
21164
|
+
|
|
21155
21165
|
return function renderField () {
|
|
21156
21166
|
const labelAttrs = state.getControl === void 0 && slots.control === void 0
|
|
21157
21167
|
? {
|
|
@@ -22570,13 +22580,6 @@
|
|
|
22570
22580
|
index = newIndex;
|
|
22571
22581
|
}
|
|
22572
22582
|
|
|
22573
|
-
// expose public methods
|
|
22574
|
-
const vm = vue.getCurrentInstance();
|
|
22575
|
-
Object.assign(vm.proxy, {
|
|
22576
|
-
poll: () => { poll !== void 0 && poll(); },
|
|
22577
|
-
trigger, stop, reset, resume, setIndex
|
|
22578
|
-
});
|
|
22579
|
-
|
|
22580
22583
|
function setDebounce (val) {
|
|
22581
22584
|
val = parseInt(val, 10);
|
|
22582
22585
|
|
|
@@ -22635,6 +22638,13 @@
|
|
|
22635
22638
|
updateScrollTarget();
|
|
22636
22639
|
});
|
|
22637
22640
|
|
|
22641
|
+
// expose public methods
|
|
22642
|
+
const vm = vue.getCurrentInstance();
|
|
22643
|
+
Object.assign(vm.proxy, {
|
|
22644
|
+
poll: () => { poll !== void 0 && poll(); },
|
|
22645
|
+
trigger, stop, reset, resume, setIndex
|
|
22646
|
+
});
|
|
22647
|
+
|
|
22638
22648
|
return () => {
|
|
22639
22649
|
const child = hUniqueSlot(slots.default, []);
|
|
22640
22650
|
|
|
@@ -24305,10 +24315,10 @@
|
|
|
24305
24315
|
}
|
|
24306
24316
|
}
|
|
24307
24317
|
|
|
24308
|
-
const
|
|
24318
|
+
const { proxy } = vue.getCurrentInstance();
|
|
24309
24319
|
|
|
24310
24320
|
vue.onMounted(() => {
|
|
24311
|
-
parentEl =
|
|
24321
|
+
parentEl = proxy.$el.parentNode;
|
|
24312
24322
|
configureScrollTarget();
|
|
24313
24323
|
});
|
|
24314
24324
|
|
|
@@ -24318,7 +24328,7 @@
|
|
|
24318
24328
|
});
|
|
24319
24329
|
|
|
24320
24330
|
// expose public methods
|
|
24321
|
-
Object.assign(
|
|
24331
|
+
Object.assign(proxy, {
|
|
24322
24332
|
trigger,
|
|
24323
24333
|
getPosition: () => scroll
|
|
24324
24334
|
});
|
|
@@ -25114,8 +25124,7 @@
|
|
|
25114
25124
|
};
|
|
25115
25125
|
|
|
25116
25126
|
function usePageSticky () {
|
|
25117
|
-
const { props, proxy } = vue.getCurrentInstance();
|
|
25118
|
-
const { $q } = proxy;
|
|
25127
|
+
const { props, proxy: { $q } } = vue.getCurrentInstance();
|
|
25119
25128
|
|
|
25120
25129
|
const $layout = vue.inject(layoutKey, () => {
|
|
25121
25130
|
console.error('QPageSticky needs to be child of QLayout');
|
|
@@ -25985,15 +25994,6 @@
|
|
|
25985
25994
|
emit('hide');
|
|
25986
25995
|
}
|
|
25987
25996
|
|
|
25988
|
-
// expose public methods
|
|
25989
|
-
Object.assign(proxy, {
|
|
25990
|
-
set,
|
|
25991
|
-
cancel,
|
|
25992
|
-
show (e) { menuRef.value !== null && menuRef.value.show(e); },
|
|
25993
|
-
hide (e) { menuRef.value !== null && menuRef.value.hide(e); },
|
|
25994
|
-
updatePosition
|
|
25995
|
-
});
|
|
25996
|
-
|
|
25997
25997
|
function getContent () {
|
|
25998
25998
|
const child = slots.default !== void 0
|
|
25999
25999
|
? [].concat(slots.default(scope.value))
|
|
@@ -26023,6 +26023,15 @@
|
|
|
26023
26023
|
return child
|
|
26024
26024
|
}
|
|
26025
26025
|
|
|
26026
|
+
// expose public methods
|
|
26027
|
+
Object.assign(proxy, {
|
|
26028
|
+
set,
|
|
26029
|
+
cancel,
|
|
26030
|
+
show (e) { menuRef.value !== null && menuRef.value.show(e); },
|
|
26031
|
+
hide (e) { menuRef.value !== null && menuRef.value.hide(e); },
|
|
26032
|
+
updatePosition
|
|
26033
|
+
});
|
|
26034
|
+
|
|
26026
26035
|
return () => {
|
|
26027
26036
|
if (props.disable === true) { return }
|
|
26028
26037
|
|
|
@@ -26082,13 +26091,6 @@
|
|
|
26082
26091
|
}
|
|
26083
26092
|
});
|
|
26084
26093
|
|
|
26085
|
-
// expose public methods
|
|
26086
|
-
Object.assign(proxy, {
|
|
26087
|
-
show (evt) { canShow(evt) === true && popupRef.value.show(evt); },
|
|
26088
|
-
hide (evt) { popupRef.value.hide(evt); },
|
|
26089
|
-
toggle (evt) { popupRef.value.toggle(evt); }
|
|
26090
|
-
});
|
|
26091
|
-
|
|
26092
26094
|
function onShow (evt) {
|
|
26093
26095
|
showing.value = true;
|
|
26094
26096
|
emit('show', evt);
|
|
@@ -26100,6 +26102,13 @@
|
|
|
26100
26102
|
emit('hide', evt);
|
|
26101
26103
|
}
|
|
26102
26104
|
|
|
26105
|
+
// expose public methods
|
|
26106
|
+
Object.assign(proxy, {
|
|
26107
|
+
show (evt) { canShow(evt) === true && popupRef.value.show(evt); },
|
|
26108
|
+
hide (evt) { popupRef.value.hide(evt); },
|
|
26109
|
+
toggle (evt) { popupRef.value.toggle(evt); }
|
|
26110
|
+
});
|
|
26111
|
+
|
|
26103
26112
|
return () => {
|
|
26104
26113
|
const data = {
|
|
26105
26114
|
ref: popupRef,
|
|
@@ -26393,9 +26402,6 @@
|
|
|
26393
26402
|
}, 300);
|
|
26394
26403
|
}
|
|
26395
26404
|
|
|
26396
|
-
// expose public methods
|
|
26397
|
-
Object.assign(proxy, { trigger, updateScrollTarget });
|
|
26398
|
-
|
|
26399
26405
|
let $el, localScrollTarget, timer;
|
|
26400
26406
|
|
|
26401
26407
|
function updateScrollTarget () {
|
|
@@ -26413,6 +26419,9 @@
|
|
|
26413
26419
|
clearTimeout(timer);
|
|
26414
26420
|
});
|
|
26415
26421
|
|
|
26422
|
+
// expose public methods
|
|
26423
|
+
Object.assign(proxy, { trigger, updateScrollTarget });
|
|
26424
|
+
|
|
26416
26425
|
return () => {
|
|
26417
26426
|
const child = [
|
|
26418
26427
|
vue.h('div', { class: contentClass.value }, hSlot(slots.default)),
|
|
@@ -26768,7 +26777,11 @@
|
|
|
26768
26777
|
|
|
26769
26778
|
const
|
|
26770
26779
|
stepVal = ([ 34, 33 ].includes(evt.keyCode) ? 10 : 1) * state.step.value,
|
|
26771
|
-
offset = (
|
|
26780
|
+
offset = (
|
|
26781
|
+
([ 34, 37, 40 ].includes(evt.keyCode) ? -1 : 1)
|
|
26782
|
+
* (state.isReversed.value === true ? -1 : 1)
|
|
26783
|
+
* (props.vertical === true ? -1 : 1) * stepVal
|
|
26784
|
+
);
|
|
26772
26785
|
|
|
26773
26786
|
if (state.focus.value === 'both') {
|
|
26774
26787
|
const interval = model.value.max - model.value.min;
|
|
@@ -27150,9 +27163,9 @@
|
|
|
27150
27163
|
}
|
|
27151
27164
|
};
|
|
27152
27165
|
|
|
27153
|
-
const
|
|
27166
|
+
const { proxy } = vue.getCurrentInstance();
|
|
27154
27167
|
|
|
27155
|
-
const isDark = useDark(props,
|
|
27168
|
+
const isDark = useDark(props, proxy.$q);
|
|
27156
27169
|
|
|
27157
27170
|
let timer, panRefPos;
|
|
27158
27171
|
|
|
@@ -27287,7 +27300,7 @@
|
|
|
27287
27300
|
// multiple times
|
|
27288
27301
|
const emitScroll = debounce(() => {
|
|
27289
27302
|
const info = getScroll();
|
|
27290
|
-
info.ref =
|
|
27303
|
+
info.ref = proxy;
|
|
27291
27304
|
emit('scroll', info);
|
|
27292
27305
|
}, 0);
|
|
27293
27306
|
|
|
@@ -27426,28 +27439,6 @@
|
|
|
27426
27439
|
hover.value = false;
|
|
27427
27440
|
}
|
|
27428
27441
|
|
|
27429
|
-
// expose public methods
|
|
27430
|
-
Object.assign(vm.proxy, {
|
|
27431
|
-
getScrollTarget: () => targetRef.value,
|
|
27432
|
-
getScroll,
|
|
27433
|
-
getScrollPosition: () => ({
|
|
27434
|
-
top: scroll.vertical.position.value,
|
|
27435
|
-
left: scroll.horizontal.position.value
|
|
27436
|
-
}),
|
|
27437
|
-
getScrollPercentage: () => ({
|
|
27438
|
-
top: scroll.vertical.percentage.value,
|
|
27439
|
-
left: scroll.horizontal.percentage.value
|
|
27440
|
-
}),
|
|
27441
|
-
setScrollPosition: localSetScrollPosition,
|
|
27442
|
-
setScrollPercentage (axis, percentage, duration) {
|
|
27443
|
-
localSetScrollPosition(
|
|
27444
|
-
axis,
|
|
27445
|
-
percentage * (scroll[ axis ].size.value - container[ axis ].value),
|
|
27446
|
-
duration
|
|
27447
|
-
);
|
|
27448
|
-
}
|
|
27449
|
-
});
|
|
27450
|
-
|
|
27451
27442
|
let scrollPosition = null;
|
|
27452
27443
|
|
|
27453
27444
|
vue.onDeactivated(() => {
|
|
@@ -27470,6 +27461,28 @@
|
|
|
27470
27461
|
|
|
27471
27462
|
vue.onBeforeUnmount(emitScroll.cancel);
|
|
27472
27463
|
|
|
27464
|
+
// expose public methods
|
|
27465
|
+
Object.assign(proxy, {
|
|
27466
|
+
getScrollTarget: () => targetRef.value,
|
|
27467
|
+
getScroll,
|
|
27468
|
+
getScrollPosition: () => ({
|
|
27469
|
+
top: scroll.vertical.position.value,
|
|
27470
|
+
left: scroll.horizontal.position.value
|
|
27471
|
+
}),
|
|
27472
|
+
getScrollPercentage: () => ({
|
|
27473
|
+
top: scroll.vertical.percentage.value,
|
|
27474
|
+
left: scroll.horizontal.percentage.value
|
|
27475
|
+
}),
|
|
27476
|
+
setScrollPosition: localSetScrollPosition,
|
|
27477
|
+
setScrollPercentage (axis, percentage, duration) {
|
|
27478
|
+
localSetScrollPosition(
|
|
27479
|
+
axis,
|
|
27480
|
+
percentage * (scroll[ axis ].size.value - container[ axis ].value),
|
|
27481
|
+
duration
|
|
27482
|
+
);
|
|
27483
|
+
}
|
|
27484
|
+
});
|
|
27485
|
+
|
|
27473
27486
|
return () => {
|
|
27474
27487
|
return vue.h('div', {
|
|
27475
27488
|
class: classes.value,
|
|
@@ -29771,6 +29784,7 @@
|
|
|
29771
29784
|
vue.h('input', {
|
|
29772
29785
|
class: 'q-select__autocomplete-input',
|
|
29773
29786
|
autocomplete: props.autocomplete,
|
|
29787
|
+
tabindex: -1,
|
|
29774
29788
|
onKeyup: onTargetAutocomplete
|
|
29775
29789
|
})
|
|
29776
29790
|
);
|
|
@@ -33158,10 +33172,6 @@
|
|
|
33158
33172
|
vue.nextTick(() => {
|
|
33159
33173
|
emit('request', {
|
|
33160
33174
|
pagination: prop.pagination || computedPagination.value,
|
|
33161
|
-
// FIXME: 'props.filter' is string/object, but 'prop.filter' can be controlled by the user, and the docs are suggesting 'prop.filter' is a function
|
|
33162
|
-
// So, value of 'filter' becomes function/string/object, which makes a lot of things unpredictable and can break things
|
|
33163
|
-
// Either update the docs to say 'prop.filter' should be a string/object, or use 'prop.filter || props.filterMethod' or maybe get 'computedFilterFunction' here and use that instead of 'props.filterMethod'
|
|
33164
|
-
// The examples on our docs are using 'filter' as a string in onRequest handler, but the JSON API is saying 'filter' is a function
|
|
33165
33175
|
filter: prop.filter || props.filter,
|
|
33166
33176
|
getCellValue
|
|
33167
33177
|
});
|
|
@@ -34710,7 +34720,8 @@
|
|
|
34710
34720
|
emits: useDatetimeEmits,
|
|
34711
34721
|
|
|
34712
34722
|
setup (props, { slots, emit }) {
|
|
34713
|
-
const
|
|
34723
|
+
const vm = vue.getCurrentInstance();
|
|
34724
|
+
const { $q } = vm.proxy;
|
|
34714
34725
|
|
|
34715
34726
|
const isDark = useDark(props, $q);
|
|
34716
34727
|
const { tabindex, headerClass, getLocale, getCurrentDate } = useDatetime(props, $q);
|
|
@@ -35398,10 +35409,6 @@
|
|
|
35398
35409
|
emit('update:modelValue', val, date);
|
|
35399
35410
|
}
|
|
35400
35411
|
|
|
35401
|
-
// expose public methods
|
|
35402
|
-
const vm = vue.getCurrentInstance();
|
|
35403
|
-
Object.assign(vm.proxy, { setNow });
|
|
35404
|
-
|
|
35405
35412
|
function getHeader () {
|
|
35406
35413
|
const label = [
|
|
35407
35414
|
vue.h('div', {
|
|
@@ -35539,6 +35546,9 @@
|
|
|
35539
35546
|
])
|
|
35540
35547
|
}
|
|
35541
35548
|
|
|
35549
|
+
// expose public method
|
|
35550
|
+
vm.proxy.setNow = setNow;
|
|
35551
|
+
|
|
35542
35552
|
return () => {
|
|
35543
35553
|
const child = [ getClock() ];
|
|
35544
35554
|
|
|
@@ -36393,6 +36403,8 @@
|
|
|
36393
36403
|
}
|
|
36394
36404
|
}
|
|
36395
36405
|
|
|
36406
|
+
props.defaultExpandAll === true && expandAll();
|
|
36407
|
+
|
|
36396
36408
|
// expose public methods
|
|
36397
36409
|
Object.assign(proxy, {
|
|
36398
36410
|
getNodeByKey,
|
|
@@ -36406,8 +36418,6 @@
|
|
|
36406
36418
|
setTicked
|
|
36407
36419
|
});
|
|
36408
36420
|
|
|
36409
|
-
props.defaultExpandAll === true && expandAll();
|
|
36410
|
-
|
|
36411
36421
|
return () => {
|
|
36412
36422
|
const children = getChildren(props.nodes);
|
|
36413
36423
|
|
|
@@ -36904,9 +36914,9 @@
|
|
|
36904
36914
|
handler (evt) {
|
|
36905
36915
|
// allow @click to be emitted
|
|
36906
36916
|
ctx.depth !== 0 && setTimeout(() => {
|
|
36907
|
-
const
|
|
36908
|
-
if (
|
|
36909
|
-
closePortals(
|
|
36917
|
+
const proxy = getPortalProxy(el);
|
|
36918
|
+
if (proxy !== void 0) {
|
|
36919
|
+
closePortals(proxy, evt, ctx.depth);
|
|
36910
36920
|
}
|
|
36911
36921
|
});
|
|
36912
36922
|
},
|
|
@@ -38124,7 +38134,7 @@
|
|
|
38124
38134
|
? parentApp.component(component)
|
|
38125
38135
|
: component;
|
|
38126
38136
|
|
|
38127
|
-
props = componentProps;
|
|
38137
|
+
props = componentProps || {};
|
|
38128
38138
|
}
|
|
38129
38139
|
else {
|
|
38130
38140
|
const { class: klass, style, ...otherProps } = pluginProps;
|
|
@@ -38238,7 +38248,7 @@
|
|
|
38238
38248
|
props.onVnodeMounted(...args);
|
|
38239
38249
|
}
|
|
38240
38250
|
|
|
38241
|
-
applyState('show');
|
|
38251
|
+
vue.nextTick(() => applyState('show'));
|
|
38242
38252
|
}
|
|
38243
38253
|
})
|
|
38244
38254
|
}, parentApp);
|
|
@@ -38838,9 +38848,11 @@
|
|
|
38838
38848
|
vm,
|
|
38839
38849
|
uid$1 = 0,
|
|
38840
38850
|
timeout,
|
|
38841
|
-
props = {}
|
|
38851
|
+
props = {},
|
|
38852
|
+
activeGroups = {};
|
|
38842
38853
|
|
|
38843
38854
|
const originalDefaults = {
|
|
38855
|
+
group: '__default_quasar_group__',
|
|
38844
38856
|
delay: 0,
|
|
38845
38857
|
message: false,
|
|
38846
38858
|
html: false,
|
|
@@ -38855,101 +38867,148 @@
|
|
|
38855
38867
|
|
|
38856
38868
|
const defaults$1 = { ...originalDefaults };
|
|
38857
38869
|
|
|
38870
|
+
function registerProps (opts) {
|
|
38871
|
+
if (opts && opts.group !== void 0 && activeGroups[ opts.group ] !== void 0) {
|
|
38872
|
+
return Object.assign(activeGroups[ opts.group ], opts)
|
|
38873
|
+
}
|
|
38874
|
+
|
|
38875
|
+
const newProps = isObject(opts) === true && opts.ignoreDefaults === true
|
|
38876
|
+
? { ...originalDefaults, ...opts }
|
|
38877
|
+
: { ...defaults$1, ...opts };
|
|
38878
|
+
|
|
38879
|
+
activeGroups[ newProps.group ] = newProps;
|
|
38880
|
+
return newProps
|
|
38881
|
+
}
|
|
38882
|
+
|
|
38858
38883
|
const Plugin$2 = defineReactivePlugin({
|
|
38859
38884
|
isActive: false
|
|
38860
38885
|
}, {
|
|
38861
38886
|
show (opts) {
|
|
38862
38887
|
|
|
38863
|
-
props =
|
|
38864
|
-
|
|
38865
|
-
: { ...defaults$1, ...opts };
|
|
38888
|
+
props = registerProps(opts);
|
|
38889
|
+
const { group } = props;
|
|
38866
38890
|
|
|
38867
38891
|
Plugin$2.isActive = true;
|
|
38868
38892
|
|
|
38869
38893
|
if (app !== void 0) {
|
|
38870
38894
|
props.uid = uid$1;
|
|
38871
38895
|
vm.$forceUpdate();
|
|
38872
|
-
return
|
|
38873
38896
|
}
|
|
38897
|
+
else {
|
|
38898
|
+
props.uid = ++uid$1;
|
|
38899
|
+
clearTimeout(timeout);
|
|
38874
38900
|
|
|
38875
|
-
|
|
38876
|
-
|
|
38877
|
-
|
|
38878
|
-
timeout = setTimeout(() => {
|
|
38879
|
-
timeout = void 0;
|
|
38901
|
+
timeout = setTimeout(() => {
|
|
38902
|
+
timeout = void 0;
|
|
38880
38903
|
|
|
38881
|
-
|
|
38904
|
+
const el = createGlobalNode('q-loading');
|
|
38882
38905
|
|
|
38883
|
-
|
|
38884
|
-
|
|
38906
|
+
app = vue.createApp({
|
|
38907
|
+
name: 'QLoading',
|
|
38885
38908
|
|
|
38886
|
-
|
|
38887
|
-
|
|
38888
|
-
|
|
38889
|
-
|
|
38909
|
+
setup () {
|
|
38910
|
+
vue.onMounted(() => {
|
|
38911
|
+
preventScroll(true);
|
|
38912
|
+
});
|
|
38890
38913
|
|
|
38891
|
-
|
|
38892
|
-
|
|
38893
|
-
|
|
38894
|
-
|
|
38895
|
-
|
|
38896
|
-
|
|
38897
|
-
|
|
38898
|
-
|
|
38899
|
-
|
|
38914
|
+
function onAfterLeave () {
|
|
38915
|
+
// might be called to finalize
|
|
38916
|
+
// previous leave, even if it was cancelled
|
|
38917
|
+
if (Plugin$2.isActive !== true && app !== void 0) {
|
|
38918
|
+
preventScroll(false);
|
|
38919
|
+
app.unmount(el);
|
|
38920
|
+
removeGlobalNode(el);
|
|
38921
|
+
app = void 0;
|
|
38922
|
+
vm = void 0;
|
|
38923
|
+
}
|
|
38900
38924
|
}
|
|
38901
|
-
}
|
|
38902
38925
|
|
|
38903
|
-
|
|
38904
|
-
|
|
38905
|
-
|
|
38906
|
-
|
|
38926
|
+
function getContent () {
|
|
38927
|
+
if (Plugin$2.isActive !== true) {
|
|
38928
|
+
return null
|
|
38929
|
+
}
|
|
38907
38930
|
|
|
38908
|
-
|
|
38909
|
-
|
|
38910
|
-
|
|
38911
|
-
|
|
38912
|
-
|
|
38913
|
-
|
|
38914
|
-
|
|
38931
|
+
const content = [
|
|
38932
|
+
vue.h(props.spinner, {
|
|
38933
|
+
class: 'q-loading__spinner',
|
|
38934
|
+
color: props.spinnerColor,
|
|
38935
|
+
size: props.spinnerSize
|
|
38936
|
+
})
|
|
38937
|
+
];
|
|
38915
38938
|
|
|
38916
|
-
|
|
38917
|
-
|
|
38918
|
-
|
|
38919
|
-
|
|
38920
|
-
|
|
38921
|
-
|
|
38922
|
-
|
|
38939
|
+
props.message && content.push(
|
|
38940
|
+
vue.h('div', {
|
|
38941
|
+
class: 'q-loading__message'
|
|
38942
|
+
+ (props.messageColor ? ` text-${ props.messageColor }` : ''),
|
|
38943
|
+
[ props.html === true ? 'innerHTML' : 'textContent' ]: props.message
|
|
38944
|
+
})
|
|
38945
|
+
);
|
|
38923
38946
|
|
|
38924
|
-
|
|
38925
|
-
|
|
38926
|
-
|
|
38927
|
-
|
|
38928
|
-
|
|
38929
|
-
|
|
38930
|
-
|
|
38931
|
-
|
|
38947
|
+
return vue.h('div', {
|
|
38948
|
+
class: 'q-loading fullscreen flex flex-center z-max ' + props.customClass.trim(),
|
|
38949
|
+
key: props.uid
|
|
38950
|
+
}, [
|
|
38951
|
+
vue.h('div', {
|
|
38952
|
+
class: 'q-loading__backdrop'
|
|
38953
|
+
+ (props.backgroundColor ? ` bg-${ props.backgroundColor }` : '')
|
|
38954
|
+
}),
|
|
38955
|
+
|
|
38956
|
+
vue.h('div', {
|
|
38957
|
+
class: 'q-loading__box column items-center ' + props.boxClass
|
|
38958
|
+
}, content)
|
|
38959
|
+
])
|
|
38960
|
+
}
|
|
38932
38961
|
|
|
38933
|
-
|
|
38934
|
-
|
|
38935
|
-
|
|
38936
|
-
|
|
38962
|
+
return () => vue.h(vue.Transition, {
|
|
38963
|
+
name: 'q-transition--fade',
|
|
38964
|
+
appear: true,
|
|
38965
|
+
onAfterLeave
|
|
38966
|
+
}, getContent)
|
|
38937
38967
|
}
|
|
38968
|
+
});
|
|
38938
38969
|
|
|
38939
|
-
|
|
38940
|
-
|
|
38941
|
-
|
|
38942
|
-
onAfterLeave
|
|
38943
|
-
}, getContent)
|
|
38944
|
-
}
|
|
38945
|
-
});
|
|
38970
|
+
vm = app.mount(el);
|
|
38971
|
+
}, props.delay);
|
|
38972
|
+
}
|
|
38946
38973
|
|
|
38947
|
-
|
|
38948
|
-
|
|
38974
|
+
return paramProps => {
|
|
38975
|
+
// if we don't have params (or not an Object param) then we need to hide this group
|
|
38976
|
+
if (paramProps === void 0 || Object(paramProps) !== paramProps) {
|
|
38977
|
+
Plugin$2.hide(group);
|
|
38978
|
+
return
|
|
38979
|
+
}
|
|
38980
|
+
|
|
38981
|
+
// else we have params so we need to update this group
|
|
38982
|
+
Plugin$2.show({ ...paramProps, group });
|
|
38983
|
+
}
|
|
38949
38984
|
},
|
|
38950
38985
|
|
|
38951
|
-
hide () {
|
|
38986
|
+
hide (group) {
|
|
38952
38987
|
if (Plugin$2.isActive === true) {
|
|
38988
|
+
if (group === void 0) {
|
|
38989
|
+
// clear out any active groups
|
|
38990
|
+
activeGroups = {};
|
|
38991
|
+
}
|
|
38992
|
+
else if (activeGroups[ group ] === void 0) {
|
|
38993
|
+
// we've already hidden it so nothing to do
|
|
38994
|
+
return
|
|
38995
|
+
}
|
|
38996
|
+
else {
|
|
38997
|
+
// remove active group
|
|
38998
|
+
delete activeGroups[ group ];
|
|
38999
|
+
|
|
39000
|
+
const keys = Object.keys(activeGroups);
|
|
39001
|
+
|
|
39002
|
+
// if there are other groups registered then
|
|
39003
|
+
// show last registered one since that one is still active
|
|
39004
|
+
if (keys.length !== 0) {
|
|
39005
|
+
// get last registered group
|
|
39006
|
+
const lastGroup = keys[ keys.length - 1 ];
|
|
39007
|
+
Plugin$2.show({ group: lastGroup });
|
|
39008
|
+
return
|
|
39009
|
+
}
|
|
39010
|
+
}
|
|
39011
|
+
|
|
38953
39012
|
if (timeout !== void 0) {
|
|
38954
39013
|
clearTimeout(timeout);
|
|
38955
39014
|
timeout = void 0;
|
|
@@ -39763,7 +39822,7 @@
|
|
|
39763
39822
|
});
|
|
39764
39823
|
|
|
39765
39824
|
var index_umd = {
|
|
39766
|
-
version: '2.
|
|
39825
|
+
version: '2.8.0',
|
|
39767
39826
|
install (app, opts) {
|
|
39768
39827
|
installQuasar(app, {
|
|
39769
39828
|
components,
|