quasar 2.6.4 → 2.7.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/QBreadcrumbsEl.json +1 -1
- package/dist/api/QBtn.json +1 -1
- package/dist/api/QBtnDropdown.json +2 -1
- package/dist/api/QBtnToggle.json +1 -0
- package/dist/api/QCarousel.json +2 -1
- package/dist/api/QCheckbox.json +1 -0
- package/dist/api/QChip.json +3 -1
- package/dist/api/QColor.json +1 -0
- package/dist/api/QDate.json +1 -0
- package/dist/api/QDialog.json +12 -1
- package/dist/api/QEditor.json +3 -1
- package/dist/api/QExpansionItem.json +2 -1
- package/dist/api/QFab.json +1 -0
- package/dist/api/QFile.json +1 -0
- package/dist/api/QFooter.json +1 -0
- package/dist/api/QHeader.json +1 -0
- package/dist/api/QImg.json +23 -0
- package/dist/api/QInput.json +1 -0
- package/dist/api/QItem.json +4 -2
- package/dist/api/QKnob.json +1 -0
- package/dist/api/QOptionGroup.json +1 -0
- package/dist/api/QPagination.json +1 -0
- package/dist/api/QPopupEdit.json +1 -0
- package/dist/api/QPopupProxy.json +1 -0
- package/dist/api/QRadio.json +1 -0
- package/dist/api/QRange.json +1 -0
- package/dist/api/QRating.json +1 -0
- package/dist/api/QRouteTab.json +1 -1
- package/dist/api/QSelect.json +1 -0
- package/dist/api/QSlider.json +1 -0
- package/dist/api/QSplitter.json +1 -0
- package/dist/api/QTable.json +5 -1
- package/dist/api/QTabs.json +1 -0
- package/dist/api/QTime.json +1 -0
- package/dist/api/QToggle.json +1 -0
- package/dist/api/QTree.json +6 -3
- package/dist/api/QVideo.json +43 -0
- 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 +6 -0
- package/dist/icon-set/material-symbols-rounded.umd.prod.js +6 -0
- package/dist/icon-set/material-symbols-sharp.umd.prod.js +6 -0
- 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 +1 -1
- 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 +6 -0
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +6 -0
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +6 -0
- 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 +2 -2
- 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 +6 -0
- 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 +1 -1
- 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.addon.rtl.css +251 -0
- package/dist/quasar.cjs.prod.js +2 -2
- package/dist/quasar.css +11 -5
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +1238 -11
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +11 -6
- package/dist/quasar.umd.js +184 -114
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/types/api/quploader.d.ts +7 -7
- package/dist/types/api/validation.d.ts +1 -1
- package/dist/types/extras/icon-set.d.ts +6 -0
- package/dist/types/index.d.ts +300 -256
- package/dist/types/utils/dom.d.ts +1 -1
- package/dist/types/utils.d.ts +11 -0
- package/dist/vetur/quasar-attributes.json +16 -0
- package/dist/vetur/quasar-tags.json +5 -1
- package/dist/web-types/web-types.json +48 -8
- package/icon-set/material-symbols-outlined.js +133 -0
- package/icon-set/material-symbols-outlined.mjs +128 -0
- package/icon-set/material-symbols-rounded.js +133 -0
- package/icon-set/material-symbols-rounded.mjs +128 -0
- package/icon-set/material-symbols-sharp.js +133 -0
- package/icon-set/material-symbols-sharp.mjs +128 -0
- package/icon-set/svg-material-symbols-outlined.js +201 -0
- package/icon-set/svg-material-symbols-outlined.mjs +201 -0
- package/icon-set/svg-material-symbols-rounded.js +201 -0
- package/icon-set/svg-material-symbols-rounded.mjs +201 -0
- package/icon-set/svg-material-symbols-sharp.js +201 -0
- package/icon-set/svg-material-symbols-sharp.mjs +201 -0
- package/lang/es.js +1 -1
- package/lang/es.mjs +1 -1
- package/lang/index.json +4 -0
- package/lang/mm.js +96 -0
- package/lang/mm.mjs +91 -0
- package/package.json +4 -7
- package/src/api.extends.json +1 -0
- package/src/components/avatar/__tests__/QAvatar.spec.js +1 -1
- package/src/components/badge/__tests__/QBadge.spec.js +1 -1
- package/src/components/btn/QBtn.js +2 -2
- package/src/components/btn/use-btn.json +1 -1
- package/src/components/dialog/QDialog.js +7 -7
- package/src/components/dialog/QDialog.json +10 -1
- package/src/components/dialog/QDialog.sass +2 -2
- package/src/components/dialog-plugin/DialogPlugin.js +4 -4
- package/src/components/editor/QEditor.js +21 -29
- package/src/components/icon/QIcon.js +25 -2
- package/src/components/icon/QIcon.sass +4 -1
- package/src/components/img/QImg.js +5 -0
- package/src/components/img/QImg.json +19 -1
- package/src/components/infinite-scroll/QInfiniteScroll.js +10 -10
- package/src/components/input/QInput.js +5 -0
- package/src/components/item/QItem.js +5 -2
- package/src/components/item/QItem.json +2 -1
- package/src/components/layout/QLayout.js +2 -1
- package/src/components/menu/QMenu.js +2 -1
- package/src/components/select/QSelect.js +1 -1
- package/src/components/slider/use-slider.js +1 -1
- package/src/components/table/QTable.js +1 -1
- package/src/components/table/QTable.json +3 -0
- package/src/components/tooltip/QTooltip.js +2 -1
- package/src/components/tree/QTree.sass +1 -1
- package/src/components/uploader/uploader-core.js +22 -18
- package/src/components/video/QVideo.js +17 -1
- package/src/components/video/QVideo.json +36 -0
- package/src/components/virtual-scroll/QVirtualScroll.sass +4 -1
- package/src/components/virtual-scroll/use-virtual-scroll.js +21 -23
- package/src/composables/private/__tests__/use-model-toggle.spec.js +2 -2
- package/src/composables/private/__tests__/use-size.spec.js +2 -2
- package/src/composables/private/__tests__/use-validate.spec.js +1 -1
- package/src/composables/private/use-field.js +1 -0
- package/src/composables/private/use-portal.js +15 -2
- package/src/composables/private/use-router-link.json +1 -1
- package/src/history.js +2 -2
- package/src/utils/copy-to-clipboard.js +1 -1
- package/src/utils/patterns.js +8 -0
- package/src/utils/private/date-persian.js +0 -9
- package/src/utils/private/position-engine.js +0 -5
- package/src/utils/private/sort.js +0 -11
- package/src/utils/private/web-storage.js +1 -1
- package/src/utils/uid.js +1 -1
package/dist/quasar.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.7.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -837,9 +837,9 @@
|
|
|
837
837
|
}
|
|
838
838
|
|
|
839
839
|
function normalizeExitPath (path) {
|
|
840
|
-
path.startsWith('#') === true && (path = path.
|
|
840
|
+
path.startsWith('#') === true && (path = path.substring(1));
|
|
841
841
|
path.startsWith('/') === false && (path = '/' + path);
|
|
842
|
-
path.endsWith('/') === true && (path = path.
|
|
842
|
+
path.endsWith('/') === true && (path = path.substring(0, path.length - 1));
|
|
843
843
|
return '#' + path
|
|
844
844
|
}
|
|
845
845
|
|
|
@@ -1603,7 +1603,7 @@
|
|
|
1603
1603
|
}
|
|
1604
1604
|
|
|
1605
1605
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1606
|
-
const $q = { version: '2.
|
|
1606
|
+
const $q = { version: '2.7.0' };
|
|
1607
1607
|
|
|
1608
1608
|
if (globalConfigIsFrozen === false) {
|
|
1609
1609
|
if (opts.config !== void 0) {
|
|
@@ -2059,8 +2059,15 @@
|
|
|
2059
2059
|
s_: '-sharp'
|
|
2060
2060
|
};
|
|
2061
2061
|
|
|
2062
|
+
const symMap = {
|
|
2063
|
+
sym_o_: '-outlined',
|
|
2064
|
+
sym_r_: '-rounded',
|
|
2065
|
+
sym_s_: '-sharp'
|
|
2066
|
+
};
|
|
2067
|
+
|
|
2062
2068
|
const libRE = new RegExp('^(' + Object.keys(libMap).join('|') + ')');
|
|
2063
2069
|
const matRE = new RegExp('^(' + Object.keys(matMap).join('|') + ')');
|
|
2070
|
+
const symRE = new RegExp('^(' + Object.keys(symMap).join('|') + ')');
|
|
2064
2071
|
const mRE = /^[Mm]\s?[-+]?\.?\d/;
|
|
2065
2072
|
const imgRE = /^img:/;
|
|
2066
2073
|
const svgUseRE = /^svguse:/;
|
|
@@ -2163,7 +2170,23 @@
|
|
|
2163
2170
|
cls = icon;
|
|
2164
2171
|
}
|
|
2165
2172
|
else if (ionRE.test(icon) === true) {
|
|
2166
|
-
cls = `ionicons ion-${ $q.platform.is.ios === true ? 'ios' : 'md' }${ icon.
|
|
2173
|
+
cls = `ionicons ion-${ $q.platform.is.ios === true ? 'ios' : 'md' }${ icon.substring(3) }`;
|
|
2174
|
+
}
|
|
2175
|
+
else if (symRE.test(icon) === true) {
|
|
2176
|
+
// "notranslate" class is for Google Translate
|
|
2177
|
+
// to avoid tampering with Material Symbols ligature font
|
|
2178
|
+
//
|
|
2179
|
+
// Caution: To be able to add suffix to the class name,
|
|
2180
|
+
// keep the 'material-symbols' at the end of the string.
|
|
2181
|
+
cls = 'notranslate material-symbols';
|
|
2182
|
+
|
|
2183
|
+
const matches = icon.match(symRE);
|
|
2184
|
+
if (matches !== null) {
|
|
2185
|
+
icon = icon.substring(6);
|
|
2186
|
+
cls += symMap[ matches[ 1 ] ];
|
|
2187
|
+
}
|
|
2188
|
+
|
|
2189
|
+
content = icon;
|
|
2167
2190
|
}
|
|
2168
2191
|
else {
|
|
2169
2192
|
// "notranslate" class is for Google Translate
|
|
@@ -2209,7 +2232,7 @@
|
|
|
2209
2232
|
if (type.value.svg === true) {
|
|
2210
2233
|
return vue.h('span', data, hMergeSlot(slots.default, [
|
|
2211
2234
|
vue.h('svg', {
|
|
2212
|
-
viewBox: type.value.viewBox
|
|
2235
|
+
viewBox: type.value.viewBox || '0 0 24 24'
|
|
2213
2236
|
}, type.value.nodes)
|
|
2214
2237
|
]))
|
|
2215
2238
|
}
|
|
@@ -3740,10 +3763,10 @@
|
|
|
3740
3763
|
if (props.loading === true && props.percentage !== void 0) {
|
|
3741
3764
|
child.push(
|
|
3742
3765
|
vue.h('span', {
|
|
3743
|
-
class: 'q-btn__progress absolute-full overflow-hidden'
|
|
3766
|
+
class: 'q-btn__progress absolute-full overflow-hidden' + (props.darkPercentage === true ? ' q-btn__progress--dark' : '')
|
|
3744
3767
|
}, [
|
|
3745
3768
|
vue.h('span', {
|
|
3746
|
-
class: 'q-btn__progress-indicator fit block'
|
|
3769
|
+
class: 'q-btn__progress-indicator fit block',
|
|
3747
3770
|
style: percentageStyle.value
|
|
3748
3771
|
})
|
|
3749
3772
|
])
|
|
@@ -4386,8 +4409,12 @@
|
|
|
4386
4409
|
// You MUST specify "inheritAttrs: false" in your component
|
|
4387
4410
|
|
|
4388
4411
|
function usePortal (vm, innerRef, renderPortalContent, checkGlobalDialog) {
|
|
4412
|
+
// showing, including while in show/hide transition
|
|
4389
4413
|
const portalIsActive = vue.ref(false);
|
|
4390
4414
|
|
|
4415
|
+
// showing & not in any show/hide transition
|
|
4416
|
+
const portalIsAccessible = vue.ref(false);
|
|
4417
|
+
|
|
4391
4418
|
let portalEl = null;
|
|
4392
4419
|
const focusObj = {};
|
|
4393
4420
|
const onGlobalDialog = checkGlobalDialog === true && isOnGlobalDialog(vm);
|
|
@@ -4395,9 +4422,12 @@
|
|
|
4395
4422
|
function showPortal (isReady) {
|
|
4396
4423
|
if (isReady === true) {
|
|
4397
4424
|
removeFocusWaitFlag(focusObj);
|
|
4425
|
+
portalIsAccessible.value = true;
|
|
4398
4426
|
return
|
|
4399
4427
|
}
|
|
4400
4428
|
|
|
4429
|
+
portalIsAccessible.value = false;
|
|
4430
|
+
|
|
4401
4431
|
if (portalIsActive.value === false) {
|
|
4402
4432
|
if (onGlobalDialog === false && portalEl === null) {
|
|
4403
4433
|
portalEl = createGlobalNode();
|
|
@@ -4412,7 +4442,11 @@
|
|
|
4412
4442
|
}
|
|
4413
4443
|
}
|
|
4414
4444
|
|
|
4415
|
-
function hidePortal () {
|
|
4445
|
+
function hidePortal (isReady) {
|
|
4446
|
+
portalIsAccessible.value = false;
|
|
4447
|
+
|
|
4448
|
+
if (isReady !== true) { return }
|
|
4449
|
+
|
|
4416
4450
|
removeFocusWaitFlag(focusObj);
|
|
4417
4451
|
portalIsActive.value = false;
|
|
4418
4452
|
|
|
@@ -4428,7 +4462,7 @@
|
|
|
4428
4462
|
}
|
|
4429
4463
|
}
|
|
4430
4464
|
|
|
4431
|
-
vue.onUnmounted(hidePortal);
|
|
4465
|
+
vue.onUnmounted(() => { hidePortal(true); });
|
|
4432
4466
|
|
|
4433
4467
|
// expose publicly needed stuff for portal utils
|
|
4434
4468
|
Object.assign(vm.proxy, { __qPortalInnerRef: innerRef });
|
|
@@ -4438,6 +4472,7 @@
|
|
|
4438
4472
|
hidePortal,
|
|
4439
4473
|
|
|
4440
4474
|
portalIsActive,
|
|
4475
|
+
portalIsAccessible,
|
|
4441
4476
|
|
|
4442
4477
|
renderPortal: () => (
|
|
4443
4478
|
onGlobalDialog === true
|
|
@@ -5352,6 +5387,7 @@
|
|
|
5352
5387
|
function handleHide (evt) {
|
|
5353
5388
|
removeTick();
|
|
5354
5389
|
removeTimeout();
|
|
5390
|
+
hidePortal();
|
|
5355
5391
|
|
|
5356
5392
|
anchorCleanup(true);
|
|
5357
5393
|
|
|
@@ -5369,7 +5405,7 @@
|
|
|
5369
5405
|
}
|
|
5370
5406
|
|
|
5371
5407
|
registerTimeout(() => {
|
|
5372
|
-
hidePortal();
|
|
5408
|
+
hidePortal(true); // done hiding, now destroy
|
|
5373
5409
|
emit('hide', evt);
|
|
5374
5410
|
}, props.transitionDuration);
|
|
5375
5411
|
}
|
|
@@ -8368,7 +8404,7 @@
|
|
|
8368
8404
|
&& innerMin.value < innerMax.value
|
|
8369
8405
|
));
|
|
8370
8406
|
|
|
8371
|
-
const decimals = vue.computed(() => (String(props.step).trim(
|
|
8407
|
+
const decimals = vue.computed(() => (String(props.step).trim().split('.')[ 1 ] || '').length);
|
|
8372
8408
|
const step = vue.computed(() => (props.step === 0 ? 1 : props.step));
|
|
8373
8409
|
const tabindex = vue.computed(() => (editable.value === true ? props.tabindex || 0 : -1));
|
|
8374
8410
|
|
|
@@ -10126,6 +10162,14 @@
|
|
|
10126
10162
|
fulltime: v => /^([0-1]?\d|2[0-3]):[0-5]\d:[0-5]\d$/.test(v),
|
|
10127
10163
|
timeOrFulltime: v => /^([0-1]?\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/.test(v),
|
|
10128
10164
|
|
|
10165
|
+
// -- RFC 5322 --
|
|
10166
|
+
// -- Added in v2.6.6 --
|
|
10167
|
+
// This is a basic helper validation.
|
|
10168
|
+
// For something more complex (like RFC 822) you should write and use your own rule.
|
|
10169
|
+
// We won't be accepting PRs to enhance the one below because of the reason above.
|
|
10170
|
+
// eslint-disable-next-line
|
|
10171
|
+
email: v => /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(v),
|
|
10172
|
+
|
|
10129
10173
|
hexColor: v => hex.test(v),
|
|
10130
10174
|
hexaColor: v => hexa.test(v),
|
|
10131
10175
|
hexOrHexaColor: v => hexOrHexa.test(v),
|
|
@@ -14398,7 +14442,7 @@
|
|
|
14398
14442
|
const { registerTimeout, removeTimeout } = useTimeout();
|
|
14399
14443
|
const { registerTick, removeTick } = useTick();
|
|
14400
14444
|
|
|
14401
|
-
const { showPortal, hidePortal,
|
|
14445
|
+
const { showPortal, hidePortal, portalIsAccessible, renderPortal } = usePortal(
|
|
14402
14446
|
vm, innerRef, renderPortalContent, /* pls do check if on a global dialog */ true
|
|
14403
14447
|
);
|
|
14404
14448
|
|
|
@@ -14537,6 +14581,7 @@
|
|
|
14537
14581
|
removeFromHistory();
|
|
14538
14582
|
cleanup(true);
|
|
14539
14583
|
animating.value = true;
|
|
14584
|
+
hidePortal();
|
|
14540
14585
|
|
|
14541
14586
|
if (refocusTarget !== null) {
|
|
14542
14587
|
refocusTarget.focus();
|
|
@@ -14544,13 +14589,13 @@
|
|
|
14544
14589
|
}
|
|
14545
14590
|
|
|
14546
14591
|
registerTimeout(() => {
|
|
14547
|
-
hidePortal();
|
|
14592
|
+
hidePortal(true); // done hiding, now destroy
|
|
14548
14593
|
animating.value = false;
|
|
14549
14594
|
emit('hide', evt);
|
|
14550
14595
|
}, props.transitionDuration);
|
|
14551
14596
|
}
|
|
14552
14597
|
|
|
14553
|
-
function focus () {
|
|
14598
|
+
function focus (selector) {
|
|
14554
14599
|
addFocusFn(() => {
|
|
14555
14600
|
let node = innerRef.value;
|
|
14556
14601
|
|
|
@@ -14558,7 +14603,7 @@
|
|
|
14558
14603
|
return
|
|
14559
14604
|
}
|
|
14560
14605
|
|
|
14561
|
-
node = node.querySelector('[autofocus], [data-autofocus]') || node;
|
|
14606
|
+
node = node.querySelector(selector || '[autofocus], [data-autofocus]') || node;
|
|
14562
14607
|
node.focus({ preventScroll: true });
|
|
14563
14608
|
});
|
|
14564
14609
|
}
|
|
@@ -14652,11 +14697,10 @@
|
|
|
14652
14697
|
function onFocusChange (evt) {
|
|
14653
14698
|
// the focus is not in a vue child component
|
|
14654
14699
|
if (
|
|
14655
|
-
|
|
14656
|
-
&& portalIsActive.value === true
|
|
14700
|
+
portalIsAccessible.value === true
|
|
14657
14701
|
&& childHasFocus(innerRef.value, evt.target) !== true
|
|
14658
14702
|
) {
|
|
14659
|
-
focus();
|
|
14703
|
+
focus('[tabindex]:not([tabindex="-1"])');
|
|
14660
14704
|
}
|
|
14661
14705
|
}
|
|
14662
14706
|
|
|
@@ -15918,11 +15962,12 @@
|
|
|
15918
15962
|
function handleHide (evt) {
|
|
15919
15963
|
removeTick();
|
|
15920
15964
|
removeTimeout();
|
|
15965
|
+
hidePortal();
|
|
15921
15966
|
|
|
15922
15967
|
anchorCleanup();
|
|
15923
15968
|
|
|
15924
15969
|
registerTimeout(() => {
|
|
15925
|
-
hidePortal();
|
|
15970
|
+
hidePortal(true); // done hiding, now destroy
|
|
15926
15971
|
emit('hide', evt);
|
|
15927
15972
|
}, props.transitionDuration);
|
|
15928
15973
|
}
|
|
@@ -16066,7 +16111,10 @@
|
|
|
16066
16111
|
default: 'div'
|
|
16067
16112
|
},
|
|
16068
16113
|
|
|
16069
|
-
active:
|
|
16114
|
+
active: {
|
|
16115
|
+
type: Boolean,
|
|
16116
|
+
default: null
|
|
16117
|
+
},
|
|
16070
16118
|
|
|
16071
16119
|
clickable: Boolean,
|
|
16072
16120
|
dense: Boolean,
|
|
@@ -16104,7 +16152,7 @@
|
|
|
16104
16152
|
+ (props.dense === true ? ' q-item--dense' : '')
|
|
16105
16153
|
+ (isDark.value === true ? ' q-item--dark' : '')
|
|
16106
16154
|
+ (
|
|
16107
|
-
hasLink.value === true
|
|
16155
|
+
hasLink.value === true && props.active === null
|
|
16108
16156
|
? linkClass.value
|
|
16109
16157
|
: (
|
|
16110
16158
|
props.active === true
|
|
@@ -16975,11 +17023,14 @@
|
|
|
16975
17023
|
}
|
|
16976
17024
|
|
|
16977
17025
|
function onFocusin (e) {
|
|
17026
|
+
const root = rootRef.value;
|
|
17027
|
+
|
|
16978
17028
|
if (
|
|
16979
|
-
|
|
17029
|
+
root !== null
|
|
17030
|
+
&& root.contains(e.target) === true
|
|
16980
17031
|
&& (
|
|
16981
17032
|
e.relatedTarget === null
|
|
16982
|
-
||
|
|
17033
|
+
|| root.contains(e.relatedTarget) !== true
|
|
16983
17034
|
)
|
|
16984
17035
|
) {
|
|
16985
17036
|
const prop = `inner${ isViewingSource.value === true ? 'Text' : 'HTML' }`;
|
|
@@ -16989,11 +17040,14 @@
|
|
|
16989
17040
|
}
|
|
16990
17041
|
|
|
16991
17042
|
function onFocusout (e) {
|
|
17043
|
+
const root = rootRef.value;
|
|
17044
|
+
|
|
16992
17045
|
if (
|
|
16993
|
-
|
|
17046
|
+
root !== null
|
|
17047
|
+
&& root.contains(e.target) === true
|
|
16994
17048
|
&& (
|
|
16995
17049
|
e.relatedTarget === null
|
|
16996
|
-
||
|
|
17050
|
+
|| root.contains(e.relatedTarget) !== true
|
|
16997
17051
|
)
|
|
16998
17052
|
) {
|
|
16999
17053
|
eVm.caret.savePosition();
|
|
@@ -17001,27 +17055,12 @@
|
|
|
17001
17055
|
}
|
|
17002
17056
|
}
|
|
17003
17057
|
|
|
17004
|
-
function
|
|
17058
|
+
function onPointerStart () {
|
|
17005
17059
|
offsetBottom = void 0;
|
|
17006
17060
|
}
|
|
17007
17061
|
|
|
17008
|
-
function
|
|
17062
|
+
function onSelectionchange (e) {
|
|
17009
17063
|
eVm.caret.save();
|
|
17010
|
-
emit('mouseup', e);
|
|
17011
|
-
}
|
|
17012
|
-
|
|
17013
|
-
function onTouchstartPassive () {
|
|
17014
|
-
offsetBottom = void 0;
|
|
17015
|
-
}
|
|
17016
|
-
|
|
17017
|
-
function onKeyup (e) {
|
|
17018
|
-
eVm.caret.save();
|
|
17019
|
-
emit('keyup', e);
|
|
17020
|
-
}
|
|
17021
|
-
|
|
17022
|
-
function onTouchend (e) {
|
|
17023
|
-
eVm.caret.save();
|
|
17024
|
-
emit('touchend', e);
|
|
17025
17064
|
}
|
|
17026
17065
|
|
|
17027
17066
|
function setContent (v, restorePosition) {
|
|
@@ -17078,6 +17117,12 @@
|
|
|
17078
17117
|
eVm.caret = proxy.caret = new Caret(contentRef.value, eVm);
|
|
17079
17118
|
setContent(props.modelValue);
|
|
17080
17119
|
refreshToolbar();
|
|
17120
|
+
|
|
17121
|
+
document.addEventListener('selectionchange', onSelectionchange);
|
|
17122
|
+
});
|
|
17123
|
+
|
|
17124
|
+
vue.onBeforeUnmount(() => {
|
|
17125
|
+
document.removeEventListener('selectionchange', onSelectionchange);
|
|
17081
17126
|
});
|
|
17082
17127
|
|
|
17083
17128
|
return () => {
|
|
@@ -17131,13 +17176,8 @@
|
|
|
17131
17176
|
onFocus,
|
|
17132
17177
|
|
|
17133
17178
|
// clean saved scroll position
|
|
17134
|
-
onMousedown,
|
|
17135
|
-
onTouchstartPassive
|
|
17136
|
-
|
|
17137
|
-
// save caret
|
|
17138
|
-
onMouseup,
|
|
17139
|
-
onKeyup,
|
|
17140
|
-
onTouchend
|
|
17179
|
+
onMousedown: onPointerStart,
|
|
17180
|
+
onTouchstartPassive: onPointerStart
|
|
17141
17181
|
})
|
|
17142
17182
|
])
|
|
17143
17183
|
}
|
|
@@ -17387,7 +17427,7 @@
|
|
|
17387
17427
|
|
|
17388
17428
|
// Pre-calculate toString(16) for speed
|
|
17389
17429
|
for (let i = 0; i < 256; i++) {
|
|
17390
|
-
hexBytes[ i ] = (i + 0x100).toString(16).
|
|
17430
|
+
hexBytes[ i ] = (i + 0x100).toString(16).substring(1);
|
|
17391
17431
|
}
|
|
17392
17432
|
|
|
17393
17433
|
// Use best available PRNG
|
|
@@ -18178,7 +18218,7 @@
|
|
|
18178
18218
|
function fallback (text) {
|
|
18179
18219
|
const area = document.createElement('textarea');
|
|
18180
18220
|
area.value = text;
|
|
18181
|
-
area.contentEditable = true;
|
|
18221
|
+
area.contentEditable = 'true';
|
|
18182
18222
|
area.style.position = 'fixed'; // avoid scrolling to bottom
|
|
18183
18223
|
|
|
18184
18224
|
document.body.appendChild(area);
|
|
@@ -18981,28 +19021,32 @@
|
|
|
18981
19021
|
|
|
18982
19022
|
return [
|
|
18983
19023
|
vue.h('div', {
|
|
18984
|
-
class: 'q-uploader__header-content
|
|
19024
|
+
class: 'q-uploader__header-content column'
|
|
18985
19025
|
}, [
|
|
18986
|
-
|
|
18987
|
-
|
|
18988
|
-
|
|
18989
|
-
|
|
18990
|
-
|
|
18991
|
-
: null,
|
|
19026
|
+
vue.h('div', {
|
|
19027
|
+
class: 'flex flex-center no-wrap q-gutter-xs'
|
|
19028
|
+
}, [
|
|
19029
|
+
getBtn(state.queuedFiles.value.length > 0, 'removeQueue', removeQueuedFiles),
|
|
19030
|
+
getBtn(state.uploadedFiles.value.length > 0, 'removeUploaded', removeUploadedFiles),
|
|
18992
19031
|
|
|
18993
|
-
|
|
18994
|
-
|
|
18995
|
-
? vue.h('div', { class: 'q-uploader__title' }, [ props.label ])
|
|
19032
|
+
state.isUploading.value === true
|
|
19033
|
+
? vue.h(QSpinner, { class: 'q-uploader__spinner' })
|
|
18996
19034
|
: null,
|
|
18997
19035
|
|
|
18998
|
-
vue.h('div', { class: '
|
|
18999
|
-
|
|
19000
|
-
|
|
19001
|
-
|
|
19036
|
+
vue.h('div', { class: 'col column justify-center' }, [
|
|
19037
|
+
props.label !== void 0
|
|
19038
|
+
? vue.h('div', { class: 'q-uploader__title' }, [ props.label ])
|
|
19039
|
+
: null,
|
|
19002
19040
|
|
|
19003
|
-
|
|
19004
|
-
|
|
19005
|
-
|
|
19041
|
+
vue.h('div', { class: 'q-uploader__subtitle' }, [
|
|
19042
|
+
uploadSizeLabel.value + ' / ' + uploadProgressLabel.value
|
|
19043
|
+
])
|
|
19044
|
+
]),
|
|
19045
|
+
|
|
19046
|
+
getBtn(canAddFiles.value, 'add'),
|
|
19047
|
+
getBtn(props.hideUploadBtn === false && canUpload.value === true, 'upload', state.upload),
|
|
19048
|
+
getBtn(state.isUploading.value, 'clear', state.abort)
|
|
19049
|
+
])
|
|
19006
19050
|
])
|
|
19007
19051
|
]
|
|
19008
19052
|
}
|
|
@@ -19258,7 +19302,7 @@
|
|
|
19258
19302
|
return getComputedStyle(element).getPropertyValue(`--q-${ propName }`).trim() || null
|
|
19259
19303
|
}
|
|
19260
19304
|
|
|
19261
|
-
let id
|
|
19305
|
+
let id = 0;
|
|
19262
19306
|
let offsetBase = void 0;
|
|
19263
19307
|
|
|
19264
19308
|
function getAbsolutePosition (el, resize) {
|
|
@@ -19986,7 +20030,7 @@
|
|
|
19986
20030
|
};
|
|
19987
20031
|
}
|
|
19988
20032
|
else {
|
|
19989
|
-
const qAnimId = `q-morph-anim-${ ++id
|
|
20033
|
+
const qAnimId = `q-morph-anim-${ ++id }`;
|
|
19990
20034
|
const style = document.createElement('style');
|
|
19991
20035
|
const resizeFrom = options.resize === true
|
|
19992
20036
|
? `
|
|
@@ -20977,6 +21021,7 @@
|
|
|
20977
21021
|
vue.h('div', {
|
|
20978
21022
|
ref: state.targetRef,
|
|
20979
21023
|
class: 'q-field__native row',
|
|
21024
|
+
tabindex: -1,
|
|
20980
21025
|
...state.splitAttrs.attributes.value,
|
|
20981
21026
|
'data-autofocus': props.autofocus === true || void 0
|
|
20982
21027
|
}, slots.control(controlSlotScope.value))
|
|
@@ -22092,6 +22137,10 @@
|
|
|
22092
22137
|
type: String,
|
|
22093
22138
|
default: 'lazy'
|
|
22094
22139
|
},
|
|
22140
|
+
fetchpriority: {
|
|
22141
|
+
type: String,
|
|
22142
|
+
default: 'auto'
|
|
22143
|
+
},
|
|
22095
22144
|
width: String,
|
|
22096
22145
|
height: String,
|
|
22097
22146
|
initialRatio: {
|
|
@@ -22254,6 +22303,7 @@
|
|
|
22254
22303
|
height: props.height,
|
|
22255
22304
|
width: props.width,
|
|
22256
22305
|
loading: props.loading,
|
|
22306
|
+
fetchpriority: props.fetchpriority,
|
|
22257
22307
|
'aria-hidden': 'true',
|
|
22258
22308
|
draggable: props.draggable,
|
|
22259
22309
|
...img
|
|
@@ -22469,6 +22519,16 @@
|
|
|
22469
22519
|
|
|
22470
22520
|
if (isWorking.value === true) {
|
|
22471
22521
|
localScrollTarget.addEventListener('scroll', poll, passive$3);
|
|
22522
|
+
|
|
22523
|
+
if (props.reverse === true) {
|
|
22524
|
+
const
|
|
22525
|
+
scrollHeight = getScrollHeight(localScrollTarget),
|
|
22526
|
+
containerHeight = height(localScrollTarget);
|
|
22527
|
+
|
|
22528
|
+
setVerticalScrollPosition(localScrollTarget, scrollHeight - containerHeight);
|
|
22529
|
+
}
|
|
22530
|
+
|
|
22531
|
+
immediatePoll();
|
|
22472
22532
|
}
|
|
22473
22533
|
}
|
|
22474
22534
|
|
|
@@ -22539,16 +22599,6 @@
|
|
|
22539
22599
|
setDebounce(props.debounce);
|
|
22540
22600
|
|
|
22541
22601
|
updateScrollTarget();
|
|
22542
|
-
|
|
22543
|
-
if (props.reverse === true) {
|
|
22544
|
-
const
|
|
22545
|
-
scrollHeight = getScrollHeight(localScrollTarget),
|
|
22546
|
-
containerHeight = height(localScrollTarget);
|
|
22547
|
-
|
|
22548
|
-
setVerticalScrollPosition(localScrollTarget, scrollHeight - containerHeight);
|
|
22549
|
-
}
|
|
22550
|
-
|
|
22551
|
-
immediatePoll();
|
|
22552
22602
|
});
|
|
22553
22603
|
|
|
22554
22604
|
return () => {
|
|
@@ -23453,6 +23503,8 @@
|
|
|
23453
23503
|
}
|
|
23454
23504
|
|
|
23455
23505
|
if (props.modelValue !== val && emitCachedValue !== val) {
|
|
23506
|
+
emitCachedValue = val;
|
|
23507
|
+
|
|
23456
23508
|
stopWatcher === true && (stopValueWatcher = true);
|
|
23457
23509
|
emit('update:modelValue', val);
|
|
23458
23510
|
|
|
@@ -23484,13 +23536,16 @@
|
|
|
23484
23536
|
const inp = inputRef.value;
|
|
23485
23537
|
if (inp !== null) {
|
|
23486
23538
|
const parentStyle = inp.parentNode.style;
|
|
23539
|
+
const { overflow } = inp.style;
|
|
23487
23540
|
|
|
23488
23541
|
// reset height of textarea to a small size to detect the real height
|
|
23489
23542
|
// but keep the total control size the same
|
|
23490
23543
|
parentStyle.marginBottom = (inp.scrollHeight - 1) + 'px';
|
|
23491
23544
|
inp.style.height = '1px';
|
|
23545
|
+
inp.style.overflow = 'hidden';
|
|
23492
23546
|
|
|
23493
23547
|
inp.style.height = inp.scrollHeight + 'px';
|
|
23548
|
+
inp.style.overflow = overflow;
|
|
23494
23549
|
parentStyle.marginBottom = '';
|
|
23495
23550
|
}
|
|
23496
23551
|
}
|
|
@@ -24452,7 +24507,8 @@
|
|
|
24452
24507
|
const layout = vue.h('div', {
|
|
24453
24508
|
class: classes.value,
|
|
24454
24509
|
style: style.value,
|
|
24455
|
-
ref: props.container === true ? void 0 : rootRef
|
|
24510
|
+
ref: props.container === true ? void 0 : rootRef,
|
|
24511
|
+
tabindex: -1
|
|
24456
24512
|
}, content);
|
|
24457
24513
|
|
|
24458
24514
|
if (props.container === true) {
|
|
@@ -27452,27 +27508,30 @@
|
|
|
27452
27508
|
'end-force'
|
|
27453
27509
|
];
|
|
27454
27510
|
|
|
27455
|
-
let id = 1;
|
|
27456
27511
|
const filterProto = Array.prototype.filter;
|
|
27457
27512
|
|
|
27458
27513
|
const setOverflowAnchor = window.getComputedStyle(document.body).overflowAnchor === void 0
|
|
27459
27514
|
? noop
|
|
27460
|
-
: function (
|
|
27461
|
-
|
|
27515
|
+
: function (contentEl, index) {
|
|
27516
|
+
requestAnimationFrame(() => {
|
|
27517
|
+
if (contentEl === null) {
|
|
27518
|
+
return
|
|
27519
|
+
}
|
|
27462
27520
|
|
|
27463
|
-
|
|
27521
|
+
const children = contentEl.children || [];
|
|
27464
27522
|
|
|
27465
|
-
|
|
27466
|
-
|
|
27467
|
-
|
|
27468
|
-
|
|
27469
|
-
|
|
27470
|
-
}
|
|
27523
|
+
filterProto
|
|
27524
|
+
.call(children, el => el.dataset && el.dataset.qVsAnchor !== void 0)
|
|
27525
|
+
.forEach(el => {
|
|
27526
|
+
delete el.dataset.qVsAnchor;
|
|
27527
|
+
});
|
|
27471
27528
|
|
|
27472
|
-
|
|
27473
|
-
|
|
27474
|
-
|
|
27475
|
-
|
|
27529
|
+
const el = children[ index ];
|
|
27530
|
+
|
|
27531
|
+
if (el && el.dataset) {
|
|
27532
|
+
el.dataset.qVsAnchor = '';
|
|
27533
|
+
}
|
|
27534
|
+
});
|
|
27476
27535
|
};
|
|
27477
27536
|
|
|
27478
27537
|
function sumFn (acc, h) {
|
|
@@ -27668,8 +27727,6 @@
|
|
|
27668
27727
|
|
|
27669
27728
|
let prevScrollStart, prevToIndex, localScrollViewSize, virtualScrollSizesAgg = [], virtualScrollSizes;
|
|
27670
27729
|
|
|
27671
|
-
const vsId = 'qvs_' + id++;
|
|
27672
|
-
|
|
27673
27730
|
const virtualScrollPaddingBefore = vue.ref(0);
|
|
27674
27731
|
const virtualScrollPaddingAfter = vue.ref(0);
|
|
27675
27732
|
const virtualScrollSliceSizeComputed = vue.ref({});
|
|
@@ -27851,11 +27908,11 @@
|
|
|
27851
27908
|
contentEl.addEventListener('focusout', onBlurRefocusFn);
|
|
27852
27909
|
|
|
27853
27910
|
setTimeout(() => {
|
|
27854
|
-
contentEl !==
|
|
27911
|
+
contentEl !== null && contentEl.removeEventListener('focusout', onBlurRefocusFn);
|
|
27855
27912
|
});
|
|
27856
27913
|
}
|
|
27857
27914
|
|
|
27858
|
-
setOverflowAnchor(
|
|
27915
|
+
setOverflowAnchor(contentEl, toIndex - from);
|
|
27859
27916
|
|
|
27860
27917
|
const sizeBefore = alignEnd !== void 0 ? virtualScrollSizes.slice(from, toIndex).reduce(sumFn, 0) : 0;
|
|
27861
27918
|
|
|
@@ -27964,7 +28021,7 @@
|
|
|
27964
28021
|
}
|
|
27965
28022
|
|
|
27966
28023
|
function onBlurRefocusFn () {
|
|
27967
|
-
contentRef.value !== void 0 && contentRef.value.focus();
|
|
28024
|
+
contentRef.value !== null && contentRef.value !== void 0 && contentRef.value.focus();
|
|
27968
28025
|
}
|
|
27969
28026
|
|
|
27970
28027
|
function localResetVirtualScroll (toIndex, fullReset) {
|
|
@@ -28081,7 +28138,6 @@
|
|
|
28081
28138
|
class: 'q-virtual-scroll__content',
|
|
28082
28139
|
key: 'content',
|
|
28083
28140
|
ref: contentRef,
|
|
28084
|
-
id: vsId,
|
|
28085
28141
|
tabindex: -1
|
|
28086
28142
|
}, content.flat()),
|
|
28087
28143
|
|
|
@@ -28155,9 +28211,7 @@
|
|
|
28155
28211
|
}
|
|
28156
28212
|
});
|
|
28157
28213
|
|
|
28158
|
-
|
|
28159
|
-
const styleSheet = document.getElementById(vsId + '_ss');
|
|
28160
|
-
styleSheet !== null && styleSheet.remove();
|
|
28214
|
+
vue.onBeforeUnmount(() => {
|
|
28161
28215
|
onVirtualScrollEvt.cancel();
|
|
28162
28216
|
});
|
|
28163
28217
|
|
|
@@ -28321,7 +28375,7 @@
|
|
|
28321
28375
|
|
|
28322
28376
|
const virtualScrollItemSizeComputed = vue.computed(() => (
|
|
28323
28377
|
props.virtualScrollItemSize === void 0
|
|
28324
|
-
? (props.
|
|
28378
|
+
? (props.optionsDense === true ? 24 : 48)
|
|
28325
28379
|
: props.virtualScrollItemSize
|
|
28326
28380
|
));
|
|
28327
28381
|
|
|
@@ -34374,7 +34428,7 @@
|
|
|
34374
34428
|
|
|
34375
34429
|
return vue.h('div', {
|
|
34376
34430
|
class: 'q-table__grid-item col-xs-12 col-sm-6 col-md-4 col-lg-3'
|
|
34377
|
-
+ (scope.selected === true ? 'q-table__grid-item--selected' : '')
|
|
34431
|
+
+ (scope.selected === true ? ' q-table__grid-item--selected' : '')
|
|
34378
34432
|
}, [
|
|
34379
34433
|
vue.h('div', data, child)
|
|
34380
34434
|
])
|
|
@@ -36594,7 +36648,20 @@
|
|
|
36594
36648
|
required: true
|
|
36595
36649
|
},
|
|
36596
36650
|
|
|
36597
|
-
title: String
|
|
36651
|
+
title: String,
|
|
36652
|
+
|
|
36653
|
+
fetchpriority: {
|
|
36654
|
+
type: String,
|
|
36655
|
+
default: 'auto'
|
|
36656
|
+
},
|
|
36657
|
+
loading: {
|
|
36658
|
+
type: String,
|
|
36659
|
+
default: 'eager'
|
|
36660
|
+
},
|
|
36661
|
+
referrerpolicy: {
|
|
36662
|
+
type: String,
|
|
36663
|
+
default: 'strict-origin-when-cross-origin'
|
|
36664
|
+
}
|
|
36598
36665
|
},
|
|
36599
36666
|
|
|
36600
36667
|
setup (props) {
|
|
@@ -36612,6 +36679,9 @@
|
|
|
36612
36679
|
vue.h('iframe', {
|
|
36613
36680
|
src: props.src,
|
|
36614
36681
|
title: props.title,
|
|
36682
|
+
fetchpriority: props.fetchpriority,
|
|
36683
|
+
loading: props.loading,
|
|
36684
|
+
referrerpolicy: props.referrerpolicy,
|
|
36615
36685
|
frameborder: '0',
|
|
36616
36686
|
allowfullscreen: true
|
|
36617
36687
|
})
|
|
@@ -38540,14 +38610,14 @@
|
|
|
38540
38610
|
function getButtons () {
|
|
38541
38611
|
const child = [];
|
|
38542
38612
|
|
|
38543
|
-
props.ok && child.push(
|
|
38544
|
-
vue.h(QBtn, okProps.value)
|
|
38545
|
-
);
|
|
38546
|
-
|
|
38547
38613
|
props.cancel && child.push(
|
|
38548
38614
|
vue.h(QBtn, cancelProps.value)
|
|
38549
38615
|
);
|
|
38550
38616
|
|
|
38617
|
+
props.ok && child.push(
|
|
38618
|
+
vue.h(QBtn, okProps.value)
|
|
38619
|
+
);
|
|
38620
|
+
|
|
38551
38621
|
return vue.h(QCardActions, {
|
|
38552
38622
|
class: props.stackButtons === true ? 'items-end' : '',
|
|
38553
38623
|
vertical: props.stackButtons,
|
|
@@ -39392,7 +39462,7 @@
|
|
|
39392
39462
|
return value
|
|
39393
39463
|
}
|
|
39394
39464
|
|
|
39395
|
-
const type = value.
|
|
39465
|
+
const type = value.substring(0, 8);
|
|
39396
39466
|
const source = value.substring(9);
|
|
39397
39467
|
|
|
39398
39468
|
switch (type) {
|
|
@@ -39628,7 +39698,7 @@
|
|
|
39628
39698
|
});
|
|
39629
39699
|
|
|
39630
39700
|
var index_umd = {
|
|
39631
|
-
version: '2.
|
|
39701
|
+
version: '2.7.0',
|
|
39632
39702
|
install (app, opts) {
|
|
39633
39703
|
installQuasar(app, {
|
|
39634
39704
|
components,
|