quasar 2.9.1 → 2.10.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 +0 -14
- package/dist/api/QBtnDropdown.json +36 -0
- package/dist/api/QPagination.json +134 -102
- package/dist/api/QTabs.json +1 -1
- package/dist/api/QTree.json +6 -0
- package/dist/api/TouchPan.json +0 -4
- 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 +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 +1 -1
- package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
- package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
- 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.css +10 -0
- package/dist/quasar.esm.js +554 -349
- package/dist/quasar.esm.prod.js +2 -2
- package/dist/quasar.prod.css +1 -1
- package/dist/quasar.rtl.css +26 -0
- package/dist/quasar.rtl.prod.css +1 -1
- package/dist/quasar.sass +11 -1
- package/dist/quasar.umd.js +554 -349
- package/dist/quasar.umd.prod.js +2 -2
- package/dist/transforms/auto-import.json +7 -3
- package/dist/transforms/import-map.json +2 -0
- package/dist/types/index.d.ts +70 -51
- package/dist/vetur/quasar-attributes.json +65 -49
- package/dist/vetur/quasar-tags.json +17 -13
- package/dist/web-types/web-types.json +131 -97
- package/package.json +1 -1
- package/src/components/badge/QBadge.js +1 -1
- package/src/components/badge/__tests__/QBadge.spec.js +98 -23
- package/src/components/breadcrumbs/QBreadcrumbsEl.json +0 -4
- package/src/components/breadcrumbs/__tests__/BasicBreadcrumbs.vue +7 -0
- package/src/components/breadcrumbs/__tests__/BreadcrumbWithSeparatorSlot.vue +11 -0
- package/src/components/breadcrumbs/__tests__/QBreadcrumbs.spec.js +112 -0
- package/src/components/breadcrumbs/__tests__/QBreadcrumbsEl.spec.js +87 -0
- package/src/components/btn/use-btn.js +24 -14
- package/src/components/btn-dropdown/QBtnDropdown.js +39 -16
- package/src/components/btn-dropdown/QBtnDropdown.json +1 -1
- package/src/components/btn-toggle/QBtnToggle.js +14 -14
- package/src/components/checkbox/use-checkbox.js +1 -1
- package/src/components/chip/QChip.js +14 -11
- package/src/components/dialog/QDialog.js +2 -1
- package/src/components/dialog-bottom-sheet/BottomSheet.js +6 -2
- package/src/components/drawer/QDrawer.js +5 -3
- package/src/components/footer/QFooter.js +5 -3
- package/src/components/header/QHeader.js +5 -3
- package/src/components/input/use-mask.js +1 -1
- package/src/components/item/QItem.js +1 -0
- package/src/components/item/QList.js +1 -1
- package/src/components/option-group/QOptionGroup.js +1 -1
- package/src/components/page/QPage.js +11 -4
- package/src/components/page/QPageContainer.js +5 -3
- package/src/components/page-sticky/use-page-sticky.js +5 -3
- package/src/components/pagination/QPagination.js +265 -188
- package/src/components/pagination/QPagination.json +82 -65
- package/src/components/pagination/QPagination.sass +14 -0
- package/src/components/pull-to-refresh/QPullToRefresh.js +1 -4
- package/src/components/resize-observer/QResizeObserver.js +14 -10
- package/src/components/stepper/QStep.js +7 -5
- package/src/components/tab-panels/QTabPanel.js +1 -1
- package/src/components/tabs/QTabs.js +2 -9
- package/src/components/tabs/QTabs.json +1 -1
- package/src/components/tabs/use-tab.js +5 -3
- package/src/components/timeline/QTimelineEntry.js +5 -3
- package/src/components/toolbar/QToolbar.js +1 -1
- package/src/components/tooltip/QTooltip.js +1 -1
- package/src/components/tree/QTree.js +33 -20
- package/src/components/tree/QTree.json +7 -0
- package/src/components/uploader/QUploaderAddTrigger.js +7 -3
- package/src/composables/private/use-file.js +10 -1
- package/src/directives/TouchHold.js +10 -3
- package/src/directives/TouchPan.js +21 -8
- package/src/directives/TouchPan.json +0 -5
- package/src/directives/TouchRepeat.js +20 -6
- package/src/directives/TouchSwipe.js +10 -3
- package/src/utils/morph.js +7 -3
- package/src/utils/private/symbols.js +2 -0
package/dist/quasar.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Quasar Framework v2.
|
|
2
|
+
* Quasar Framework v2.10.0
|
|
3
3
|
* (c) 2015-present Razvan Stoenescu
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -1396,6 +1396,8 @@ const formKey = '_q_fo_';
|
|
|
1396
1396
|
const tabsKey = '_q_tabs_';
|
|
1397
1397
|
const uploaderKey = '_q_u_';
|
|
1398
1398
|
|
|
1399
|
+
const emptyRenderFn = () => {};
|
|
1400
|
+
|
|
1399
1401
|
const globalConfig = {};
|
|
1400
1402
|
let globalConfigIsFrozen = false;
|
|
1401
1403
|
|
|
@@ -1608,7 +1610,7 @@ function prepareApp (app, uiOpts, pluginOpts) {
|
|
|
1608
1610
|
}
|
|
1609
1611
|
|
|
1610
1612
|
var installQuasar = function (parentApp, opts = {}) {
|
|
1611
|
-
const $q = { version: '2.
|
|
1613
|
+
const $q = { version: '2.10.0' };
|
|
1612
1614
|
|
|
1613
1615
|
if (globalConfigIsFrozen === false) {
|
|
1614
1616
|
if (opts.config !== void 0) {
|
|
@@ -2367,7 +2369,7 @@ var QBadge = createComponent({
|
|
|
2367
2369
|
return () => h('div', {
|
|
2368
2370
|
class: classes.value,
|
|
2369
2371
|
style: style.value,
|
|
2370
|
-
role: '
|
|
2372
|
+
role: 'status',
|
|
2371
2373
|
'aria-label': props.label
|
|
2372
2374
|
}, hMergeSlot(slots.default, props.label !== void 0 ? [ props.label ] : []))
|
|
2373
2375
|
}
|
|
@@ -3298,7 +3300,7 @@ var Ripple = createDirective({
|
|
|
3298
3300
|
}
|
|
3299
3301
|
);
|
|
3300
3302
|
|
|
3301
|
-
const
|
|
3303
|
+
const btnPadding = {
|
|
3302
3304
|
none: 0,
|
|
3303
3305
|
xs: 4,
|
|
3304
3306
|
sm: 8,
|
|
@@ -3318,6 +3320,21 @@ const defaultSizes$2 = {
|
|
|
3318
3320
|
const formTypes = [ 'button', 'submit', 'reset' ];
|
|
3319
3321
|
const mediaTypeRE = /[^\s]\/[^\s]/;
|
|
3320
3322
|
|
|
3323
|
+
const btnDesignOptions = [ 'flat', 'outline', 'push', 'unelevated' ];
|
|
3324
|
+
const getBtnDesign = (props, defaultValue) => {
|
|
3325
|
+
if (props.flat === true) return 'flat'
|
|
3326
|
+
if (props.outline === true) return 'outline'
|
|
3327
|
+
if (props.push === true) return 'push'
|
|
3328
|
+
if (props.unelevated === true) return 'unelevated'
|
|
3329
|
+
return defaultValue
|
|
3330
|
+
};
|
|
3331
|
+
const getBtnDesignAttr = props => {
|
|
3332
|
+
const design = getBtnDesign(props);
|
|
3333
|
+
return design !== void 0
|
|
3334
|
+
? { [ design ]: true }
|
|
3335
|
+
: {}
|
|
3336
|
+
};
|
|
3337
|
+
|
|
3321
3338
|
const useBtnProps = {
|
|
3322
3339
|
...useSizeProps,
|
|
3323
3340
|
...useRouterLinkProps,
|
|
@@ -3331,13 +3348,14 @@ const useBtnProps = {
|
|
|
3331
3348
|
icon: String,
|
|
3332
3349
|
iconRight: String,
|
|
3333
3350
|
|
|
3334
|
-
|
|
3351
|
+
...btnDesignOptions.reduce(
|
|
3352
|
+
(acc, val) => (acc[ val ] = Boolean) && acc,
|
|
3353
|
+
{}
|
|
3354
|
+
),
|
|
3355
|
+
|
|
3335
3356
|
square: Boolean,
|
|
3336
|
-
|
|
3337
|
-
flat: Boolean,
|
|
3338
|
-
unelevated: Boolean,
|
|
3357
|
+
round: Boolean,
|
|
3339
3358
|
rounded: Boolean,
|
|
3340
|
-
push: Boolean,
|
|
3341
3359
|
glossy: Boolean,
|
|
3342
3360
|
|
|
3343
3361
|
size: String,
|
|
@@ -3387,7 +3405,7 @@ function useBtn (props) {
|
|
|
3387
3405
|
? Object.assign({}, obj, {
|
|
3388
3406
|
padding: props.padding
|
|
3389
3407
|
.split(/\s+/)
|
|
3390
|
-
.map(v => (v in
|
|
3408
|
+
.map(v => (v in btnPadding ? btnPadding[ v ] + 'px' : v))
|
|
3391
3409
|
.join(' '),
|
|
3392
3410
|
minWidth: '0',
|
|
3393
3411
|
minHeight: '0'
|
|
@@ -3407,13 +3425,7 @@ function useBtn (props) {
|
|
|
3407
3425
|
isActionable.value === true ? props.tabindex || 0 : -1
|
|
3408
3426
|
));
|
|
3409
3427
|
|
|
3410
|
-
const design = computed(() =>
|
|
3411
|
-
if (props.flat === true) return 'flat'
|
|
3412
|
-
if (props.outline === true) return 'outline'
|
|
3413
|
-
if (props.push === true) return 'push'
|
|
3414
|
-
if (props.unelevated === true) return 'unelevated'
|
|
3415
|
-
return 'standard'
|
|
3416
|
-
});
|
|
3428
|
+
const design = computed(() => getBtnDesign(props, 'standard'));
|
|
3417
3429
|
|
|
3418
3430
|
const attributes = computed(() => {
|
|
3419
3431
|
const acc = { tabindex: tabIndex.value };
|
|
@@ -5665,11 +5677,32 @@ function uid$3 () {
|
|
|
5665
5677
|
+ hexBytes[ b[ 14 ] ] + hexBytes[ b[ 15 ] ]
|
|
5666
5678
|
}
|
|
5667
5679
|
|
|
5680
|
+
const btnPropsList = Object.keys(useBtnProps);
|
|
5681
|
+
|
|
5682
|
+
// let's not duplicate type checking and prop validations
|
|
5683
|
+
// so just specify the props here with no type description
|
|
5684
|
+
const btnProps = btnPropsList.reduce(
|
|
5685
|
+
(acc, key) => (acc[ key ] = {}) && acc,
|
|
5686
|
+
{}
|
|
5687
|
+
);
|
|
5688
|
+
|
|
5689
|
+
const passBtnProps = props => btnPropsList.reduce(
|
|
5690
|
+
(acc, key) => {
|
|
5691
|
+
const val = props[ key ];
|
|
5692
|
+
if (val !== void 0) {
|
|
5693
|
+
acc[ key ] = val;
|
|
5694
|
+
}
|
|
5695
|
+
return acc
|
|
5696
|
+
},
|
|
5697
|
+
{}
|
|
5698
|
+
);
|
|
5699
|
+
|
|
5668
5700
|
var QBtnDropdown = createComponent({
|
|
5669
5701
|
name: 'QBtnDropdown',
|
|
5670
5702
|
|
|
5671
5703
|
props: {
|
|
5672
|
-
...
|
|
5704
|
+
...btnProps,
|
|
5705
|
+
...useTransitionProps,
|
|
5673
5706
|
|
|
5674
5707
|
modelValue: Boolean,
|
|
5675
5708
|
split: Boolean,
|
|
@@ -5710,7 +5743,7 @@ var QBtnDropdown = createComponent({
|
|
|
5710
5743
|
const menuRef = ref(null);
|
|
5711
5744
|
const targetUid = uid$3();
|
|
5712
5745
|
|
|
5713
|
-
const
|
|
5746
|
+
const ariaAttrs = computed(() => {
|
|
5714
5747
|
const acc = {
|
|
5715
5748
|
'aria-expanded': showing.value === true ? 'true' : 'false',
|
|
5716
5749
|
'aria-haspopup': 'true',
|
|
@@ -5738,6 +5771,9 @@ var QBtnDropdown = createComponent({
|
|
|
5738
5771
|
+ (props.split === false ? ' q-btn-dropdown__arrow-container' : '')
|
|
5739
5772
|
);
|
|
5740
5773
|
|
|
5774
|
+
const btnDesignAttr = computed(() => getBtnDesignAttr(props));
|
|
5775
|
+
const btnProps = computed(() => passBtnProps(props));
|
|
5776
|
+
|
|
5741
5777
|
watch(() => props.modelValue, val => {
|
|
5742
5778
|
menuRef.value !== null && menuRef.value[ val ? 'show' : 'hide' ]();
|
|
5743
5779
|
});
|
|
@@ -5818,6 +5854,9 @@ var QBtnDropdown = createComponent({
|
|
|
5818
5854
|
self: props.menuSelf,
|
|
5819
5855
|
offset: props.menuOffset,
|
|
5820
5856
|
separateClosePopup: true,
|
|
5857
|
+
transitionShow: props.transitionShow,
|
|
5858
|
+
transitionHide: props.transitionHide,
|
|
5859
|
+
transitionDuration: props.transitionDuration,
|
|
5821
5860
|
onBeforeShow,
|
|
5822
5861
|
onShow,
|
|
5823
5862
|
onBeforeHide,
|
|
@@ -5828,11 +5867,11 @@ var QBtnDropdown = createComponent({
|
|
|
5828
5867
|
if (props.split === false) {
|
|
5829
5868
|
return h(QBtn, {
|
|
5830
5869
|
class: 'q-btn-dropdown q-btn-dropdown--simple',
|
|
5831
|
-
...
|
|
5870
|
+
...btnProps.value,
|
|
5871
|
+
...ariaAttrs.value,
|
|
5832
5872
|
disable: props.disable === true || props.disableMainBtn === true,
|
|
5833
5873
|
noWrap: true,
|
|
5834
5874
|
round: false,
|
|
5835
|
-
...attributes.value,
|
|
5836
5875
|
onClick
|
|
5837
5876
|
}, {
|
|
5838
5877
|
default: () => hSlot(slots.label, []).concat(Arrow),
|
|
@@ -5842,21 +5881,17 @@ var QBtnDropdown = createComponent({
|
|
|
5842
5881
|
|
|
5843
5882
|
return h(QBtnGroup, {
|
|
5844
5883
|
class: 'q-btn-dropdown q-btn-dropdown--split no-wrap q-btn-item',
|
|
5845
|
-
outline: props.outline,
|
|
5846
|
-
flat: props.flat,
|
|
5847
5884
|
rounded: props.rounded,
|
|
5848
5885
|
square: props.square,
|
|
5849
|
-
|
|
5850
|
-
unelevated: props.unelevated,
|
|
5886
|
+
...btnDesignAttr.value,
|
|
5851
5887
|
glossy: props.glossy,
|
|
5852
5888
|
stretch: props.stretch
|
|
5853
5889
|
}, () => [
|
|
5854
5890
|
h(QBtn, {
|
|
5855
5891
|
class: 'q-btn-dropdown--current',
|
|
5856
|
-
...
|
|
5892
|
+
...btnProps.value,
|
|
5857
5893
|
disable: props.disable === true || props.disableMainBtn === true,
|
|
5858
5894
|
noWrap: true,
|
|
5859
|
-
iconRight: props.iconRight,
|
|
5860
5895
|
round: false,
|
|
5861
5896
|
onClick: onClickHide
|
|
5862
5897
|
}, {
|
|
@@ -5866,16 +5901,15 @@ var QBtnDropdown = createComponent({
|
|
|
5866
5901
|
|
|
5867
5902
|
h(QBtn, {
|
|
5868
5903
|
class: 'q-btn-dropdown__arrow-container q-anchor--skip',
|
|
5869
|
-
...
|
|
5904
|
+
...ariaAttrs.value,
|
|
5905
|
+
...btnDesignAttr.value,
|
|
5870
5906
|
disable: props.disable === true || props.disableDropdown === true,
|
|
5871
|
-
outline: props.outline,
|
|
5872
|
-
flat: props.flat,
|
|
5873
5907
|
rounded: props.rounded,
|
|
5874
|
-
push: props.push,
|
|
5875
|
-
size: props.size,
|
|
5876
5908
|
color: props.color,
|
|
5877
5909
|
textColor: props.textColor,
|
|
5878
5910
|
dense: props.dense,
|
|
5911
|
+
size: props.size,
|
|
5912
|
+
padding: props.padding,
|
|
5879
5913
|
ripple: props.ripple
|
|
5880
5914
|
}, () => Arrow)
|
|
5881
5915
|
])
|
|
@@ -5982,6 +6016,14 @@ var QBtnToggle = createComponent({
|
|
|
5982
6016
|
|
|
5983
6017
|
const injectFormInput = useFormInject(formAttrs);
|
|
5984
6018
|
|
|
6019
|
+
const btnDesignAttr = computed(() => getBtnDesignAttr(props));
|
|
6020
|
+
|
|
6021
|
+
const btnOptionDesign = computed(() => ({
|
|
6022
|
+
rounded: props.rounded,
|
|
6023
|
+
dense: props.dense,
|
|
6024
|
+
...btnDesignAttr.value
|
|
6025
|
+
}));
|
|
6026
|
+
|
|
5985
6027
|
const btnOptions = computed(() => props.options.map((item, i) => {
|
|
5986
6028
|
const { attrs, value, slot, ...opt } = item;
|
|
5987
6029
|
|
|
@@ -5989,19 +6031,11 @@ var QBtnToggle = createComponent({
|
|
|
5989
6031
|
slot,
|
|
5990
6032
|
props: {
|
|
5991
6033
|
key: i,
|
|
5992
|
-
onClick (e) { set(value, item, e); },
|
|
5993
6034
|
|
|
5994
6035
|
'aria-pressed': value === props.modelValue ? 'true' : 'false',
|
|
5995
|
-
|
|
5996
6036
|
...attrs,
|
|
5997
6037
|
...opt,
|
|
5998
|
-
|
|
5999
|
-
outline: props.outline,
|
|
6000
|
-
flat: props.flat,
|
|
6001
|
-
rounded: props.rounded,
|
|
6002
|
-
push: props.push,
|
|
6003
|
-
unelevated: props.unelevated,
|
|
6004
|
-
dense: props.dense,
|
|
6038
|
+
...btnOptionDesign.value,
|
|
6005
6039
|
|
|
6006
6040
|
disable: props.disable === true || opt.disable === true,
|
|
6007
6041
|
|
|
@@ -6019,7 +6053,9 @@ var QBtnToggle = createComponent({
|
|
|
6019
6053
|
padding: mergeOpt(opt, 'padding'),
|
|
6020
6054
|
ripple: mergeOpt(opt, 'ripple'),
|
|
6021
6055
|
stack: mergeOpt(opt, 'stack') === true,
|
|
6022
|
-
stretch: mergeOpt(opt, 'stretch') === true
|
|
6056
|
+
stretch: mergeOpt(opt, 'stretch') === true,
|
|
6057
|
+
|
|
6058
|
+
onClick (e) { set(value, item, e); }
|
|
6023
6059
|
}
|
|
6024
6060
|
}
|
|
6025
6061
|
}));
|
|
@@ -6058,12 +6094,9 @@ var QBtnToggle = createComponent({
|
|
|
6058
6094
|
|
|
6059
6095
|
return () => h(QBtnGroup, {
|
|
6060
6096
|
class: 'q-btn-toggle',
|
|
6061
|
-
|
|
6062
|
-
flat: props.flat,
|
|
6097
|
+
...btnDesignAttr.value,
|
|
6063
6098
|
rounded: props.rounded,
|
|
6064
|
-
push: props.push,
|
|
6065
6099
|
stretch: props.stretch,
|
|
6066
|
-
unelevated: props.unelevated,
|
|
6067
6100
|
glossy: props.glossy,
|
|
6068
6101
|
spread: props.spread
|
|
6069
6102
|
}, getContent)
|
|
@@ -6420,9 +6453,16 @@ var TouchSwipe = createDirective({
|
|
|
6420
6453
|
|
|
6421
6454
|
el.__qtouchswipe = ctx;
|
|
6422
6455
|
|
|
6423
|
-
modifiers.mouse === true
|
|
6424
|
-
|
|
6425
|
-
|
|
6456
|
+
if (modifiers.mouse === true) {
|
|
6457
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
6458
|
+
const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
|
|
6459
|
+
? 'Capture'
|
|
6460
|
+
: '';
|
|
6461
|
+
|
|
6462
|
+
addEvt(ctx, 'main', [
|
|
6463
|
+
[ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
|
|
6464
|
+
]);
|
|
6465
|
+
}
|
|
6426
6466
|
|
|
6427
6467
|
client.has.touch === true && addEvt(ctx, 'main', [
|
|
6428
6468
|
[ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
|
|
@@ -7497,7 +7537,7 @@ function useCheckbox (type, getInner) {
|
|
|
7497
7537
|
const attributes = computed(() => {
|
|
7498
7538
|
const attrs = {
|
|
7499
7539
|
tabindex: tabindex.value,
|
|
7500
|
-
role: 'checkbox',
|
|
7540
|
+
role: type === 'toggle' ? 'switch' : 'checkbox',
|
|
7501
7541
|
'aria-label': props.label,
|
|
7502
7542
|
'aria-checked': isIndeterminate.value === true
|
|
7503
7543
|
? 'mixed'
|
|
@@ -7762,16 +7802,19 @@ var QChip = createComponent({
|
|
|
7762
7802
|
+ (isDark.value === true ? ' q-chip--dark q-dark' : '')
|
|
7763
7803
|
});
|
|
7764
7804
|
|
|
7765
|
-
const attributes = computed(() =>
|
|
7766
|
-
props.disable === true
|
|
7805
|
+
const attributes = computed(() => {
|
|
7806
|
+
const chip = props.disable === true
|
|
7767
7807
|
? { tabindex: -1, 'aria-disabled': 'true' }
|
|
7768
|
-
: {
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
|
|
7774
|
-
|
|
7808
|
+
: { tabindex: props.tabindex || 0 };
|
|
7809
|
+
const remove = {
|
|
7810
|
+
...chip,
|
|
7811
|
+
role: 'button',
|
|
7812
|
+
'aria-hidden': 'false',
|
|
7813
|
+
'aria-label': props.removeAriaLabel || $q.lang.label.remove
|
|
7814
|
+
};
|
|
7815
|
+
|
|
7816
|
+
return { chip, remove }
|
|
7817
|
+
});
|
|
7775
7818
|
|
|
7776
7819
|
function onKeyup (e) {
|
|
7777
7820
|
e.keyCode === 13 /* ENTER */ && onClick(e);
|
|
@@ -7829,7 +7872,7 @@ var QChip = createComponent({
|
|
|
7829
7872
|
h(QIcon, {
|
|
7830
7873
|
class: 'q-chip__icon q-chip__icon--remove cursor-pointer',
|
|
7831
7874
|
name: removeIcon.value,
|
|
7832
|
-
...attributes.value,
|
|
7875
|
+
...attributes.value.remove,
|
|
7833
7876
|
onClick: onRemove,
|
|
7834
7877
|
onKeyup: onRemove
|
|
7835
7878
|
})
|
|
@@ -7848,7 +7891,7 @@ var QChip = createComponent({
|
|
|
7848
7891
|
|
|
7849
7892
|
isClickable.value === true && Object.assign(
|
|
7850
7893
|
data,
|
|
7851
|
-
attributes.value,
|
|
7894
|
+
attributes.value.chip,
|
|
7852
7895
|
{ onClick, onKeyup }
|
|
7853
7896
|
);
|
|
7854
7897
|
|
|
@@ -8217,7 +8260,8 @@ var TouchPan = createDirective({
|
|
|
8217
8260
|
*/
|
|
8218
8261
|
if (
|
|
8219
8262
|
ctx.direction.all !== true
|
|
8220
|
-
|
|
8263
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
8264
|
+
&& (mouseEvent !== true || (ctx.modifiers.mouseAllDir !== true && ctx.modifiers.mousealldir !== true))
|
|
8221
8265
|
) {
|
|
8222
8266
|
const clone = evt.type.indexOf('mouse') > -1
|
|
8223
8267
|
? new MouseEvent(evt.type, evt)
|
|
@@ -8284,9 +8328,12 @@ var TouchPan = createDirective({
|
|
|
8284
8328
|
const start = () => {
|
|
8285
8329
|
handleEvent(evt, isMouseEvt);
|
|
8286
8330
|
|
|
8287
|
-
|
|
8331
|
+
let cursor;
|
|
8332
|
+
if (modifiers.preserveCursor !== true && modifiers.preservecursor !== true) {
|
|
8333
|
+
cursor = document.documentElement.style.cursor || '';
|
|
8288
8334
|
document.documentElement.style.cursor = 'grabbing';
|
|
8289
8335
|
}
|
|
8336
|
+
|
|
8290
8337
|
isMouseEvt === true && document.body.classList.add('no-pointer-events--children');
|
|
8291
8338
|
document.body.classList.add('non-selectable');
|
|
8292
8339
|
clearSelection();
|
|
@@ -8294,9 +8341,10 @@ var TouchPan = createDirective({
|
|
|
8294
8341
|
ctx.styleCleanup = withDelayedFn => {
|
|
8295
8342
|
ctx.styleCleanup = void 0;
|
|
8296
8343
|
|
|
8297
|
-
if (
|
|
8298
|
-
document.documentElement.style.cursor =
|
|
8344
|
+
if (cursor !== void 0) {
|
|
8345
|
+
document.documentElement.style.cursor = cursor;
|
|
8299
8346
|
}
|
|
8347
|
+
|
|
8300
8348
|
document.body.classList.remove('non-selectable');
|
|
8301
8349
|
|
|
8302
8350
|
if (isMouseEvt === true) {
|
|
@@ -8344,7 +8392,8 @@ var TouchPan = createDirective({
|
|
|
8344
8392
|
|
|
8345
8393
|
if (
|
|
8346
8394
|
ctx.direction.all === true
|
|
8347
|
-
|
|
8395
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
8396
|
+
|| (isMouseEvt === true && (ctx.modifiers.mouseAllDir === true || ctx.modifiers.mousealldir === true))
|
|
8348
8397
|
) {
|
|
8349
8398
|
start();
|
|
8350
8399
|
ctx.event.detected = true;
|
|
@@ -8411,9 +8460,16 @@ var TouchPan = createDirective({
|
|
|
8411
8460
|
|
|
8412
8461
|
el.__qtouchpan = ctx;
|
|
8413
8462
|
|
|
8414
|
-
modifiers.mouse === true
|
|
8415
|
-
|
|
8416
|
-
|
|
8463
|
+
if (modifiers.mouse === true) {
|
|
8464
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
8465
|
+
const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
|
|
8466
|
+
? 'Capture'
|
|
8467
|
+
: '';
|
|
8468
|
+
|
|
8469
|
+
addEvt(ctx, 'main', [
|
|
8470
|
+
[ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
|
|
8471
|
+
]);
|
|
8472
|
+
}
|
|
8417
8473
|
|
|
8418
8474
|
client.has.touch === true && addEvt(ctx, 'main', [
|
|
8419
8475
|
[ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
|
|
@@ -9319,17 +9375,21 @@ var QResizeObserver = createComponent({
|
|
|
9319
9375
|
if (hasObserver === true) {
|
|
9320
9376
|
let observer;
|
|
9321
9377
|
|
|
9322
|
-
|
|
9323
|
-
|
|
9324
|
-
|
|
9378
|
+
// initialize as soon as possible
|
|
9379
|
+
const init = stop => {
|
|
9380
|
+
targetEl = proxy.$el.parentNode;
|
|
9325
9381
|
|
|
9326
|
-
|
|
9327
|
-
|
|
9328
|
-
|
|
9329
|
-
|
|
9330
|
-
|
|
9331
|
-
|
|
9332
|
-
|
|
9382
|
+
if (targetEl) {
|
|
9383
|
+
observer = new ResizeObserver(trigger);
|
|
9384
|
+
observer.observe(targetEl);
|
|
9385
|
+
emitEvent();
|
|
9386
|
+
}
|
|
9387
|
+
else if (stop !== true) {
|
|
9388
|
+
nextTick(() => { init(true); });
|
|
9389
|
+
}
|
|
9390
|
+
};
|
|
9391
|
+
|
|
9392
|
+
onMounted(() => { init(); });
|
|
9333
9393
|
|
|
9334
9394
|
onBeforeUnmount(() => {
|
|
9335
9395
|
clearTimeout(timer);
|
|
@@ -9988,8 +10048,8 @@ var QTabs = createComponent({
|
|
|
9988
10048
|
|
|
9989
10049
|
recalculateScroll();
|
|
9990
10050
|
|
|
9991
|
-
// if it's a QTab
|
|
9992
|
-
if (tabData.routeData === void 0) {
|
|
10051
|
+
// if it's a QTab or we don't have Vue Router
|
|
10052
|
+
if (tabData.routeData === void 0 || proxy.$route === void 0) {
|
|
9993
10053
|
// we should position to the currently active tab (if any)
|
|
9994
10054
|
registerScrollToTabTimeout(() => {
|
|
9995
10055
|
if (scrollable.value === true) {
|
|
@@ -10013,13 +10073,6 @@ var QTabs = createComponent({
|
|
|
10013
10073
|
}
|
|
10014
10074
|
}
|
|
10015
10075
|
|
|
10016
|
-
/*
|
|
10017
|
-
* Vue has an aggressive diff (in-place replacement) so we cannot
|
|
10018
|
-
* ensure that the instance getting destroyed is the actual tab
|
|
10019
|
-
* reported here. As a result, we cannot use its name or check
|
|
10020
|
-
* if it's a route one to make the necessary updates. We need to
|
|
10021
|
-
* always check the existing list again and infer the changes.
|
|
10022
|
-
*/
|
|
10023
10076
|
function unregisterTab (tabData) {
|
|
10024
10077
|
tabDataList.splice(tabDataList.indexOf(tabData), 1);
|
|
10025
10078
|
tabDataListLen.value--;
|
|
@@ -10151,9 +10204,11 @@ const useTabProps = {
|
|
|
10151
10204
|
};
|
|
10152
10205
|
|
|
10153
10206
|
function useTab (props, slots, emit, routeData) {
|
|
10154
|
-
const $tabs = inject(tabsKey,
|
|
10207
|
+
const $tabs = inject(tabsKey, emptyRenderFn);
|
|
10208
|
+
if ($tabs === emptyRenderFn) {
|
|
10155
10209
|
console.error('QTab/QRouteTab component needs to be child of QTabs');
|
|
10156
|
-
|
|
10210
|
+
return emptyRenderFn
|
|
10211
|
+
}
|
|
10157
10212
|
|
|
10158
10213
|
const { proxy } = getCurrentInstance();
|
|
10159
10214
|
|
|
@@ -10429,7 +10484,7 @@ var QTabPanel = createComponent({
|
|
|
10429
10484
|
props: usePanelChildProps,
|
|
10430
10485
|
|
|
10431
10486
|
setup (_, { slots }) {
|
|
10432
|
-
return () => h('div', { class: 'q-tab-panel' }, hSlot(slots.default))
|
|
10487
|
+
return () => h('div', { class: 'q-tab-panel', role: 'tabpanel' }, hSlot(slots.default))
|
|
10433
10488
|
}
|
|
10434
10489
|
});
|
|
10435
10490
|
|
|
@@ -15009,7 +15064,8 @@ var QDialog = createComponent({
|
|
|
15009
15064
|
|
|
15010
15065
|
function renderPortalContent () {
|
|
15011
15066
|
return h('div', {
|
|
15012
|
-
|
|
15067
|
+
role: 'dialog',
|
|
15068
|
+
'aria-modal': useBackdrop.value === true ? 'true' : 'false',
|
|
15013
15069
|
...attrs,
|
|
15014
15070
|
class: rootClasses.value
|
|
15015
15071
|
}, [
|
|
@@ -15113,9 +15169,11 @@ var QDrawer = createComponent({
|
|
|
15113
15169
|
const { preventBodyScroll } = usePreventScroll();
|
|
15114
15170
|
const { registerTimeout, removeTimeout } = useTimeout();
|
|
15115
15171
|
|
|
15116
|
-
const $layout = inject(layoutKey,
|
|
15172
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
15173
|
+
if ($layout === emptyRenderFn) {
|
|
15117
15174
|
console.error('QDrawer needs to be child of QLayout');
|
|
15118
|
-
|
|
15175
|
+
return emptyRenderFn
|
|
15176
|
+
}
|
|
15119
15177
|
|
|
15120
15178
|
let lastDesktopState, timerMini, layoutTotalWidthWatcher;
|
|
15121
15179
|
|
|
@@ -16367,7 +16425,7 @@ var QTooltip = createComponent({
|
|
|
16367
16425
|
attrs.style,
|
|
16368
16426
|
transitionStyle.value
|
|
16369
16427
|
],
|
|
16370
|
-
role: '
|
|
16428
|
+
role: 'tooltip'
|
|
16371
16429
|
}, hSlot(slots.default))
|
|
16372
16430
|
: null
|
|
16373
16431
|
}
|
|
@@ -16516,6 +16574,7 @@ var QItem = createComponent({
|
|
|
16516
16574
|
ref: rootRef,
|
|
16517
16575
|
class: classes.value,
|
|
16518
16576
|
style: style.value,
|
|
16577
|
+
role: 'listitem',
|
|
16519
16578
|
onClick,
|
|
16520
16579
|
onKeyup
|
|
16521
16580
|
};
|
|
@@ -19420,7 +19479,14 @@ function useFile ({
|
|
|
19420
19479
|
|
|
19421
19480
|
function onDragleave (e) {
|
|
19422
19481
|
stopAndPrevent(e);
|
|
19423
|
-
|
|
19482
|
+
|
|
19483
|
+
// Safari bug: relatedTarget is null for over 10 years
|
|
19484
|
+
// https://bugs.webkit.org/show_bug.cgi?id=66547
|
|
19485
|
+
const gone = e.relatedTarget !== null || client.is.safari !== true
|
|
19486
|
+
? e.relatedTarget !== dndRef.value
|
|
19487
|
+
: document.elementsFromPoint(e.clientX, e.clientY).includes(dndRef.value) === false;
|
|
19488
|
+
|
|
19489
|
+
gone === true && (dnd.value = false);
|
|
19424
19490
|
}
|
|
19425
19491
|
|
|
19426
19492
|
function onDrop (e) {
|
|
@@ -19454,6 +19520,7 @@ function useFile ({
|
|
|
19454
19520
|
pickFiles,
|
|
19455
19521
|
addFiles,
|
|
19456
19522
|
onDragover,
|
|
19523
|
+
onDragleave,
|
|
19457
19524
|
processFiles,
|
|
19458
19525
|
getDndNode,
|
|
19459
19526
|
|
|
@@ -19807,9 +19874,11 @@ var QFooter = createComponent({
|
|
|
19807
19874
|
setup (props, { slots, emit }) {
|
|
19808
19875
|
const { proxy: { $q } } = getCurrentInstance();
|
|
19809
19876
|
|
|
19810
|
-
const $layout = inject(layoutKey,
|
|
19877
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
19878
|
+
if ($layout === emptyRenderFn) {
|
|
19811
19879
|
console.error('QFooter needs to be child of QLayout');
|
|
19812
|
-
|
|
19880
|
+
return emptyRenderFn
|
|
19881
|
+
}
|
|
19813
19882
|
|
|
19814
19883
|
const size = ref(parseInt(props.heightHint, 10));
|
|
19815
19884
|
const revealed = ref(true);
|
|
@@ -20227,9 +20296,11 @@ var QHeader = createComponent({
|
|
|
20227
20296
|
setup (props, { slots, emit }) {
|
|
20228
20297
|
const { proxy: { $q } } = getCurrentInstance();
|
|
20229
20298
|
|
|
20230
|
-
const $layout = inject(layoutKey,
|
|
20299
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
20300
|
+
if ($layout === emptyRenderFn) {
|
|
20231
20301
|
console.error('QHeader needs to be child of QLayout');
|
|
20232
|
-
|
|
20302
|
+
return emptyRenderFn
|
|
20303
|
+
}
|
|
20233
20304
|
|
|
20234
20305
|
const size = ref(parseInt(props.heightHint, 10));
|
|
20235
20306
|
const revealed = ref(true);
|
|
@@ -21138,7 +21209,7 @@ function useMask (props, emit, emitValue, inputRef) {
|
|
|
21138
21209
|
'^'
|
|
21139
21210
|
+ unmask.join('')
|
|
21140
21211
|
+ '(' + (unmaskChar === '' ? '.' : '[^' + unmaskChar + ']') + '+)?'
|
|
21141
|
-
+ '$'
|
|
21212
|
+
+ (unmaskChar === '' ? '' : '[' + unmaskChar + ']*') + '$'
|
|
21142
21213
|
),
|
|
21143
21214
|
extractLast = extract.length - 1,
|
|
21144
21215
|
extractMatcher = extract.map((re, index) => {
|
|
@@ -22164,7 +22235,7 @@ var QList = createComponent({
|
|
|
22164
22235
|
+ (props.padding === true ? ' q-list--padding' : '')
|
|
22165
22236
|
);
|
|
22166
22237
|
|
|
22167
|
-
return () => h('div', { class: classes.value }, hSlot(slots.default))
|
|
22238
|
+
return () => h('div', { class: classes.value, role: 'list' }, hSlot(slots.default))
|
|
22168
22239
|
}
|
|
22169
22240
|
});
|
|
22170
22241
|
|
|
@@ -23205,7 +23276,7 @@ var QOptionGroup = createComponent({
|
|
|
23205
23276
|
);
|
|
23206
23277
|
|
|
23207
23278
|
const attrs = computed(() => {
|
|
23208
|
-
const attrs = {};
|
|
23279
|
+
const attrs = { role: 'group' };
|
|
23209
23280
|
|
|
23210
23281
|
if (props.type === 'radio') {
|
|
23211
23282
|
attrs.role = 'radiogroup';
|
|
@@ -23270,10 +23341,17 @@ var QPage = createComponent({
|
|
|
23270
23341
|
setup (props, { slots }) {
|
|
23271
23342
|
const { proxy: { $q } } = getCurrentInstance();
|
|
23272
23343
|
|
|
23273
|
-
const $layout = inject(layoutKey);
|
|
23274
|
-
|
|
23344
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
23345
|
+
if ($layout === emptyRenderFn) {
|
|
23346
|
+
console.error('QPage needs to be a deep child of QLayout');
|
|
23347
|
+
return emptyRenderFn
|
|
23348
|
+
}
|
|
23349
|
+
|
|
23350
|
+
const $pageContainer = inject(pageContainerKey, emptyRenderFn);
|
|
23351
|
+
if ($pageContainer === emptyRenderFn) {
|
|
23275
23352
|
console.error('QPage needs to be child of QPageContainer');
|
|
23276
|
-
|
|
23353
|
+
return emptyRenderFn
|
|
23354
|
+
}
|
|
23277
23355
|
|
|
23278
23356
|
const style = computed(() => {
|
|
23279
23357
|
const offset
|
|
@@ -23316,9 +23394,11 @@ var QPageContainer = createComponent({
|
|
|
23316
23394
|
setup (_, { slots }) {
|
|
23317
23395
|
const { proxy: { $q } } = getCurrentInstance();
|
|
23318
23396
|
|
|
23319
|
-
const $layout = inject(layoutKey,
|
|
23397
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
23398
|
+
if ($layout === emptyRenderFn) {
|
|
23320
23399
|
console.error('QPageContainer needs to be child of QLayout');
|
|
23321
|
-
|
|
23400
|
+
return emptyRenderFn
|
|
23401
|
+
}
|
|
23322
23402
|
|
|
23323
23403
|
provide(pageContainerKey, true);
|
|
23324
23404
|
|
|
@@ -23368,9 +23448,11 @@ const usePageStickyProps = {
|
|
|
23368
23448
|
function usePageSticky () {
|
|
23369
23449
|
const { props, proxy: { $q } } = getCurrentInstance();
|
|
23370
23450
|
|
|
23371
|
-
const $layout = inject(layoutKey,
|
|
23451
|
+
const $layout = inject(layoutKey, emptyRenderFn);
|
|
23452
|
+
if ($layout === emptyRenderFn) {
|
|
23372
23453
|
console.error('QPageSticky needs to be child of QLayout');
|
|
23373
|
-
|
|
23454
|
+
return emptyRenderFn
|
|
23455
|
+
}
|
|
23374
23456
|
|
|
23375
23457
|
const attach = computed(() => {
|
|
23376
23458
|
const pos = props.position;
|
|
@@ -23583,6 +23665,12 @@ var QPageSticky = createComponent({
|
|
|
23583
23665
|
}
|
|
23584
23666
|
});
|
|
23585
23667
|
|
|
23668
|
+
function getBool (val, otherwise) {
|
|
23669
|
+
return [ true, false ].includes(val)
|
|
23670
|
+
? val
|
|
23671
|
+
: otherwise
|
|
23672
|
+
}
|
|
23673
|
+
|
|
23586
23674
|
var QPagination = createComponent({
|
|
23587
23675
|
name: 'QPagination',
|
|
23588
23676
|
|
|
@@ -23594,22 +23682,20 @@ var QPagination = createComponent({
|
|
|
23594
23682
|
required: true
|
|
23595
23683
|
},
|
|
23596
23684
|
min: {
|
|
23597
|
-
type: Number,
|
|
23685
|
+
type: [ Number, String ],
|
|
23598
23686
|
default: 1
|
|
23599
23687
|
},
|
|
23600
23688
|
max: {
|
|
23601
|
-
type: Number,
|
|
23689
|
+
type: [ Number, String ],
|
|
23602
23690
|
required: true
|
|
23603
23691
|
},
|
|
23604
|
-
|
|
23605
|
-
|
|
23606
|
-
|
|
23607
|
-
|
|
23692
|
+
maxPages: {
|
|
23693
|
+
type: [ Number, String ],
|
|
23694
|
+
default: 0,
|
|
23695
|
+
validator: v => (
|
|
23696
|
+
(typeof v === 'string' ? parseInt(v, 10) : v) >= 0
|
|
23697
|
+
)
|
|
23608
23698
|
},
|
|
23609
|
-
textColor: String,
|
|
23610
|
-
|
|
23611
|
-
activeColor: String,
|
|
23612
|
-
activeTextColor: String,
|
|
23613
23699
|
|
|
23614
23700
|
inputStyle: [ Array, String, Object ],
|
|
23615
23701
|
inputClass: [ Array, String, Object ],
|
|
@@ -23643,11 +23729,6 @@ var QPagination = createComponent({
|
|
|
23643
23729
|
type: Boolean,
|
|
23644
23730
|
default: null
|
|
23645
23731
|
},
|
|
23646
|
-
maxPages: {
|
|
23647
|
-
type: Number,
|
|
23648
|
-
default: 0,
|
|
23649
|
-
validator: v => v >= 0
|
|
23650
|
-
},
|
|
23651
23732
|
|
|
23652
23733
|
ripple: {
|
|
23653
23734
|
type: [ Boolean, Object ],
|
|
@@ -23663,7 +23744,21 @@ var QPagination = createComponent({
|
|
|
23663
23744
|
push: Boolean,
|
|
23664
23745
|
glossy: Boolean,
|
|
23665
23746
|
|
|
23666
|
-
|
|
23747
|
+
color: {
|
|
23748
|
+
type: String,
|
|
23749
|
+
default: 'primary'
|
|
23750
|
+
},
|
|
23751
|
+
textColor: String,
|
|
23752
|
+
|
|
23753
|
+
activeDesign: {
|
|
23754
|
+
type: String,
|
|
23755
|
+
default: '',
|
|
23756
|
+
values: v => v === '' || btnDesignOptions.includes(v)
|
|
23757
|
+
},
|
|
23758
|
+
activeColor: String,
|
|
23759
|
+
activeTextColor: String,
|
|
23760
|
+
|
|
23761
|
+
gutter: String,
|
|
23667
23762
|
padding: {
|
|
23668
23763
|
type: String,
|
|
23669
23764
|
default: '3px 2px'
|
|
@@ -23678,6 +23773,16 @@ var QPagination = createComponent({
|
|
|
23678
23773
|
|
|
23679
23774
|
const isDark = useDark(props, $q);
|
|
23680
23775
|
|
|
23776
|
+
const minProp = computed(() => parseInt(props.min, 10));
|
|
23777
|
+
const maxProp = computed(() => parseInt(props.max, 10));
|
|
23778
|
+
const maxPagesProp = computed(() => parseInt(props.maxPages, 10));
|
|
23779
|
+
|
|
23780
|
+
const inputPlaceholder = computed(() => model.value + ' / ' + maxProp.value);
|
|
23781
|
+
const boundaryLinksProp = computed(() => getBool(props.boundaryLinks, props.input));
|
|
23782
|
+
const boundaryNumbersProp = computed(() => getBool(props.boundaryNumbers, !props.input));
|
|
23783
|
+
const directionLinksProp = computed(() => getBool(props.directionLinks, props.input));
|
|
23784
|
+
const ellipsesProp = computed(() => getBool(props.ellipses, !props.input));
|
|
23785
|
+
|
|
23681
23786
|
const newPage = ref(null);
|
|
23682
23787
|
const model = computed({
|
|
23683
23788
|
get: () => props.modelValue,
|
|
@@ -23686,32 +23791,33 @@ var QPagination = createComponent({
|
|
|
23686
23791
|
if (props.disable || isNaN(val)) {
|
|
23687
23792
|
return
|
|
23688
23793
|
}
|
|
23689
|
-
const value = between(val,
|
|
23794
|
+
const value = between(val, minProp.value, maxProp.value);
|
|
23690
23795
|
if (props.modelValue !== value) {
|
|
23691
23796
|
emit('update:modelValue', value);
|
|
23692
23797
|
}
|
|
23693
23798
|
}
|
|
23694
23799
|
});
|
|
23695
23800
|
|
|
23696
|
-
watch(() =>
|
|
23801
|
+
watch(() => `${ minProp.value }|${ maxProp.value }`, () => {
|
|
23697
23802
|
model.value = props.modelValue;
|
|
23698
23803
|
});
|
|
23699
23804
|
|
|
23700
|
-
function getBool (val, otherwise) {
|
|
23701
|
-
return [ true, false ].includes(val)
|
|
23702
|
-
? val
|
|
23703
|
-
: otherwise
|
|
23704
|
-
}
|
|
23705
|
-
|
|
23706
23805
|
const classes = computed(() =>
|
|
23707
23806
|
'q-pagination row no-wrap items-center'
|
|
23708
23807
|
+ (props.disable === true ? ' disabled' : '')
|
|
23709
23808
|
);
|
|
23710
|
-
|
|
23711
|
-
const
|
|
23712
|
-
|
|
23713
|
-
|
|
23714
|
-
|
|
23809
|
+
|
|
23810
|
+
const gutterProp = computed(() => (
|
|
23811
|
+
props.gutter in btnPadding
|
|
23812
|
+
? `${ btnPadding[ props.gutter ] }px`
|
|
23813
|
+
: props.gutter || null
|
|
23814
|
+
));
|
|
23815
|
+
const gutterStyle = computed(() => (
|
|
23816
|
+
gutterProp.value !== null
|
|
23817
|
+
? `--q-pagination-gutter-parent:-${ gutterProp.value };--q-pagination-gutter-child:${ gutterProp.value }`
|
|
23818
|
+
: null
|
|
23819
|
+
));
|
|
23820
|
+
|
|
23715
23821
|
const icons = computed(() => {
|
|
23716
23822
|
const ico = [
|
|
23717
23823
|
props.iconFirst || $q.iconSet.pagination.first,
|
|
@@ -23722,38 +23828,90 @@ var QPagination = createComponent({
|
|
|
23722
23828
|
return $q.lang.rtl === true ? ico.reverse() : ico
|
|
23723
23829
|
});
|
|
23724
23830
|
|
|
23725
|
-
const attrs = computed(() => (
|
|
23726
|
-
props.disable === true
|
|
23727
|
-
|
|
23728
|
-
|
|
23729
|
-
));
|
|
23831
|
+
const attrs = computed(() => ({
|
|
23832
|
+
'aria-disabled': props.disable === true ? 'true' : 'false',
|
|
23833
|
+
role: 'navigation'
|
|
23834
|
+
}));
|
|
23730
23835
|
|
|
23836
|
+
const btnDesignProp = computed(() => getBtnDesign(props, 'flat'));
|
|
23731
23837
|
const btnProps = computed(() => ({
|
|
23838
|
+
[ btnDesignProp.value ]: true,
|
|
23839
|
+
|
|
23732
23840
|
round: props.round,
|
|
23733
23841
|
rounded: props.rounded,
|
|
23734
23842
|
|
|
23735
|
-
outline: props.outline,
|
|
23736
|
-
unelevated: props.unelevated,
|
|
23737
|
-
push: props.push,
|
|
23738
|
-
glossy: props.glossy,
|
|
23739
|
-
|
|
23740
|
-
dense: props.dense,
|
|
23741
23843
|
padding: props.padding,
|
|
23742
23844
|
|
|
23743
23845
|
color: props.color,
|
|
23744
|
-
|
|
23846
|
+
textColor: props.textColor,
|
|
23847
|
+
|
|
23745
23848
|
size: props.size,
|
|
23746
23849
|
ripple: props.ripple !== null
|
|
23747
23850
|
? props.ripple
|
|
23748
23851
|
: true
|
|
23749
23852
|
}));
|
|
23750
23853
|
|
|
23854
|
+
const btnActiveDesignProp = computed(() => {
|
|
23855
|
+
// we also reset non-active design
|
|
23856
|
+
const acc = { [ btnDesignProp.value ]: false };
|
|
23857
|
+
if (props.activeDesign !== '') {
|
|
23858
|
+
acc[ props.activeDesign ] = true;
|
|
23859
|
+
}
|
|
23860
|
+
return acc
|
|
23861
|
+
});
|
|
23751
23862
|
const activeBtnProps = computed(() => ({
|
|
23752
|
-
|
|
23863
|
+
...btnActiveDesignProp.value,
|
|
23753
23864
|
color: props.activeColor || props.color,
|
|
23754
23865
|
textColor: props.activeTextColor || props.textColor
|
|
23755
23866
|
}));
|
|
23756
23867
|
|
|
23868
|
+
const btnConfig = computed(() => {
|
|
23869
|
+
let maxPages = Math.max(
|
|
23870
|
+
maxPagesProp.value,
|
|
23871
|
+
1 + (ellipsesProp.value ? 2 : 0) + (boundaryNumbersProp.value ? 2 : 0)
|
|
23872
|
+
);
|
|
23873
|
+
|
|
23874
|
+
const acc = {
|
|
23875
|
+
pgFrom: minProp.value,
|
|
23876
|
+
pgTo: maxProp.value,
|
|
23877
|
+
ellipsesStart: false,
|
|
23878
|
+
ellipsesEnd: false,
|
|
23879
|
+
boundaryStart: false,
|
|
23880
|
+
boundaryEnd: false,
|
|
23881
|
+
marginalStyle: {
|
|
23882
|
+
minWidth: `${ Math.max(2, String(maxProp.value).length) }em`
|
|
23883
|
+
}
|
|
23884
|
+
};
|
|
23885
|
+
|
|
23886
|
+
if (maxPagesProp.value && maxPages < (maxProp.value - minProp.value + 1)) {
|
|
23887
|
+
maxPages = 1 + Math.floor(maxPages / 2) * 2;
|
|
23888
|
+
acc.pgFrom = Math.max(minProp.value, Math.min(maxProp.value - maxPages + 1, props.modelValue - Math.floor(maxPages / 2)));
|
|
23889
|
+
acc.pgTo = Math.min(maxProp.value, acc.pgFrom + maxPages - 1);
|
|
23890
|
+
|
|
23891
|
+
if (boundaryNumbersProp.value) {
|
|
23892
|
+
acc.boundaryStart = true;
|
|
23893
|
+
acc.pgFrom++;
|
|
23894
|
+
}
|
|
23895
|
+
|
|
23896
|
+
if (ellipsesProp.value && acc.pgFrom > (minProp.value + (boundaryNumbersProp.value ? 1 : 0))) {
|
|
23897
|
+
acc.ellipsesStart = true;
|
|
23898
|
+
acc.pgFrom++;
|
|
23899
|
+
}
|
|
23900
|
+
|
|
23901
|
+
if (boundaryNumbersProp.value) {
|
|
23902
|
+
acc.boundaryEnd = true;
|
|
23903
|
+
acc.pgTo--;
|
|
23904
|
+
}
|
|
23905
|
+
|
|
23906
|
+
if (ellipsesProp.value && acc.pgTo < (maxProp.value - (boundaryNumbersProp.value ? 1 : 0))) {
|
|
23907
|
+
acc.ellipsesEnd = true;
|
|
23908
|
+
acc.pgTo--;
|
|
23909
|
+
}
|
|
23910
|
+
}
|
|
23911
|
+
|
|
23912
|
+
return acc
|
|
23913
|
+
});
|
|
23914
|
+
|
|
23757
23915
|
function set (value) {
|
|
23758
23916
|
model.value = value;
|
|
23759
23917
|
}
|
|
@@ -23762,20 +23920,40 @@ var QPagination = createComponent({
|
|
|
23762
23920
|
model.value = model.value + offset;
|
|
23763
23921
|
}
|
|
23764
23922
|
|
|
23765
|
-
|
|
23766
|
-
|
|
23767
|
-
|
|
23768
|
-
|
|
23923
|
+
const inputEvents = computed(() => {
|
|
23924
|
+
function updateModel () {
|
|
23925
|
+
model.value = newPage.value;
|
|
23926
|
+
newPage.value = null;
|
|
23927
|
+
}
|
|
23769
23928
|
|
|
23770
|
-
|
|
23771
|
-
|
|
23929
|
+
return {
|
|
23930
|
+
'onUpdate:modelValue': val => { newPage.value = val; },
|
|
23931
|
+
onKeyup: e => { isKeyCode(e, 13) === true && updateModel(); },
|
|
23932
|
+
onBlur: updateModel
|
|
23933
|
+
}
|
|
23934
|
+
});
|
|
23935
|
+
|
|
23936
|
+
function getBtn (cfg, page, active) {
|
|
23937
|
+
const data = {
|
|
23938
|
+
'aria-label': page,
|
|
23939
|
+
'aria-current': 'false',
|
|
23940
|
+
...btnProps.value,
|
|
23941
|
+
...cfg
|
|
23942
|
+
};
|
|
23943
|
+
|
|
23944
|
+
if (active === true) {
|
|
23945
|
+
Object.assign(data, {
|
|
23946
|
+
'aria-current': 'true',
|
|
23947
|
+
...activeBtnProps.value
|
|
23948
|
+
});
|
|
23949
|
+
}
|
|
23772
23950
|
|
|
23773
23951
|
if (page !== void 0) {
|
|
23774
23952
|
if (props.toFn !== void 0) {
|
|
23775
23953
|
data.to = props.toFn(page);
|
|
23776
23954
|
}
|
|
23777
23955
|
else {
|
|
23778
|
-
data.onClick = () => set(page);
|
|
23956
|
+
data.onClick = () => { set(page); };
|
|
23779
23957
|
}
|
|
23780
23958
|
}
|
|
23781
23959
|
|
|
@@ -23786,147 +23964,107 @@ var QPagination = createComponent({
|
|
|
23786
23964
|
Object.assign(proxy, { set, setByOffset });
|
|
23787
23965
|
|
|
23788
23966
|
return () => {
|
|
23789
|
-
const
|
|
23790
|
-
|
|
23791
|
-
|
|
23792
|
-
|
|
23967
|
+
const contentStart = [];
|
|
23968
|
+
const contentEnd = [];
|
|
23969
|
+
let contentMiddle;
|
|
23970
|
+
|
|
23971
|
+
if (boundaryLinksProp.value === true) {
|
|
23972
|
+
contentStart.push(
|
|
23973
|
+
getBtn({
|
|
23974
|
+
key: 'bls',
|
|
23975
|
+
disable: props.disable || props.modelValue <= minProp.value,
|
|
23976
|
+
icon: icons.value[ 0 ]
|
|
23977
|
+
}, minProp.value)
|
|
23978
|
+
);
|
|
23793
23979
|
|
|
23794
|
-
|
|
23795
|
-
|
|
23796
|
-
|
|
23797
|
-
|
|
23798
|
-
|
|
23799
|
-
|
|
23800
|
-
|
|
23801
|
-
key: 'ble',
|
|
23802
|
-
disable: props.disable || props.modelValue >= props.max,
|
|
23803
|
-
icon: icons.value[ 3 ]
|
|
23804
|
-
}, props.max));
|
|
23805
|
-
}
|
|
23806
|
-
|
|
23807
|
-
if (__directionLinks.value) {
|
|
23808
|
-
contentStart.push(getBtn({
|
|
23809
|
-
key: 'bdp',
|
|
23810
|
-
disable: props.disable || props.modelValue <= props.min,
|
|
23811
|
-
icon: icons.value[ 1 ]
|
|
23812
|
-
}, props.modelValue - 1));
|
|
23813
|
-
contentEnd.unshift(getBtn({
|
|
23814
|
-
key: 'bdn',
|
|
23815
|
-
disable: props.disable || props.modelValue >= props.max,
|
|
23816
|
-
icon: icons.value[ 2 ]
|
|
23817
|
-
}, props.modelValue + 1));
|
|
23818
|
-
}
|
|
23819
|
-
|
|
23820
|
-
if (props.input === true) {
|
|
23821
|
-
contentMiddle.push(h(QInput, {
|
|
23822
|
-
class: 'inline',
|
|
23823
|
-
style: {
|
|
23824
|
-
width: `${ inputPlaceholder.value.length / 1.5 }em`
|
|
23825
|
-
},
|
|
23826
|
-
type: 'number',
|
|
23827
|
-
dense: true,
|
|
23828
|
-
value: newPage.value,
|
|
23829
|
-
disable: props.disable,
|
|
23830
|
-
dark: isDark.value,
|
|
23831
|
-
borderless: true,
|
|
23832
|
-
inputClass: props.inputClass,
|
|
23833
|
-
inputStyle: props.inputStyle,
|
|
23834
|
-
placeholder: inputPlaceholder.value,
|
|
23835
|
-
min: props.min,
|
|
23836
|
-
max: props.max,
|
|
23837
|
-
'onUpdate:modelValue' (value) { newPage.value = value; },
|
|
23838
|
-
onKeyup (e) { isKeyCode(e, 13) === true && updateModel(); },
|
|
23839
|
-
onBlur: updateModel
|
|
23840
|
-
}));
|
|
23980
|
+
contentEnd.unshift(
|
|
23981
|
+
getBtn({
|
|
23982
|
+
key: 'ble',
|
|
23983
|
+
disable: props.disable || props.modelValue >= maxProp.value,
|
|
23984
|
+
icon: icons.value[ 3 ]
|
|
23985
|
+
}, maxProp.value)
|
|
23986
|
+
);
|
|
23841
23987
|
}
|
|
23842
|
-
|
|
23843
|
-
|
|
23844
|
-
|
|
23845
|
-
|
|
23846
|
-
|
|
23847
|
-
|
|
23848
|
-
|
|
23849
|
-
|
|
23850
|
-
|
|
23851
|
-
|
|
23852
|
-
|
|
23853
|
-
|
|
23854
|
-
|
|
23855
|
-
|
|
23856
|
-
|
|
23857
|
-
|
|
23858
|
-
|
|
23859
|
-
|
|
23860
|
-
|
|
23861
|
-
|
|
23862
|
-
|
|
23863
|
-
|
|
23864
|
-
|
|
23865
|
-
|
|
23866
|
-
|
|
23867
|
-
|
|
23868
|
-
|
|
23869
|
-
|
|
23870
|
-
|
|
23871
|
-
|
|
23872
|
-
|
|
23873
|
-
|
|
23874
|
-
|
|
23988
|
+
|
|
23989
|
+
if (directionLinksProp.value === true) {
|
|
23990
|
+
contentStart.push(
|
|
23991
|
+
getBtn({
|
|
23992
|
+
key: 'bdp',
|
|
23993
|
+
disable: props.disable || props.modelValue <= minProp.value,
|
|
23994
|
+
icon: icons.value[ 1 ]
|
|
23995
|
+
}, props.modelValue - 1)
|
|
23996
|
+
);
|
|
23997
|
+
|
|
23998
|
+
contentEnd.unshift(
|
|
23999
|
+
getBtn({
|
|
24000
|
+
key: 'bdn',
|
|
24001
|
+
disable: props.disable || props.modelValue >= maxProp.value,
|
|
24002
|
+
icon: icons.value[ 2 ]
|
|
24003
|
+
}, props.modelValue + 1)
|
|
24004
|
+
);
|
|
24005
|
+
}
|
|
24006
|
+
|
|
24007
|
+
if (props.input !== true) { // has buttons instead of inputbox
|
|
24008
|
+
contentMiddle = [];
|
|
24009
|
+
const { pgFrom, pgTo, marginalStyle: style } = btnConfig.value;
|
|
24010
|
+
|
|
24011
|
+
if (btnConfig.value.boundaryStart === true) {
|
|
24012
|
+
const active = minProp.value === props.modelValue;
|
|
24013
|
+
contentStart.push(
|
|
24014
|
+
getBtn({
|
|
24015
|
+
key: 'bns',
|
|
24016
|
+
style,
|
|
24017
|
+
disable: props.disable,
|
|
24018
|
+
label: minProp.value
|
|
24019
|
+
}, minProp.value, active)
|
|
24020
|
+
);
|
|
23875
24021
|
}
|
|
23876
|
-
|
|
23877
|
-
|
|
23878
|
-
|
|
23879
|
-
|
|
23880
|
-
|
|
23881
|
-
|
|
23882
|
-
|
|
23883
|
-
|
|
23884
|
-
|
|
23885
|
-
|
|
23886
|
-
|
|
23887
|
-
|
|
23888
|
-
|
|
23889
|
-
|
|
23890
|
-
|
|
23891
|
-
|
|
23892
|
-
|
|
23893
|
-
|
|
23894
|
-
|
|
23895
|
-
|
|
23896
|
-
|
|
23897
|
-
|
|
23898
|
-
|
|
23899
|
-
}, props.max));
|
|
23900
|
-
}
|
|
23901
|
-
if (ellipsesStart) {
|
|
23902
|
-
contentStart.push(getBtn({
|
|
23903
|
-
key: 'bes',
|
|
23904
|
-
style,
|
|
23905
|
-
disable: props.disable,
|
|
23906
|
-
label: '…',
|
|
23907
|
-
ripple: false
|
|
23908
|
-
}, pgFrom - 1));
|
|
23909
|
-
}
|
|
23910
|
-
if (ellipsesEnd) {
|
|
23911
|
-
contentEnd.unshift(getBtn({
|
|
23912
|
-
key: 'bee',
|
|
23913
|
-
style,
|
|
23914
|
-
disable: props.disable,
|
|
23915
|
-
label: '…',
|
|
23916
|
-
ripple: false
|
|
23917
|
-
}, pgTo + 1));
|
|
24022
|
+
|
|
24023
|
+
if (btnConfig.value.boundaryEnd === true) {
|
|
24024
|
+
const active = maxProp.value === props.modelValue;
|
|
24025
|
+
contentEnd.unshift(
|
|
24026
|
+
getBtn({
|
|
24027
|
+
key: 'bne',
|
|
24028
|
+
style,
|
|
24029
|
+
disable: props.disable,
|
|
24030
|
+
label: maxProp.value
|
|
24031
|
+
}, maxProp.value, active)
|
|
24032
|
+
);
|
|
24033
|
+
}
|
|
24034
|
+
|
|
24035
|
+
if (btnConfig.value.ellipsesStart === true) {
|
|
24036
|
+
contentStart.push(
|
|
24037
|
+
getBtn({
|
|
24038
|
+
key: 'bes',
|
|
24039
|
+
style,
|
|
24040
|
+
disable: props.disable,
|
|
24041
|
+
label: '…',
|
|
24042
|
+
ripple: false
|
|
24043
|
+
}, pgFrom - 1)
|
|
24044
|
+
);
|
|
23918
24045
|
}
|
|
24046
|
+
|
|
24047
|
+
if (btnConfig.value.ellipsesEnd === true) {
|
|
24048
|
+
contentEnd.unshift(
|
|
24049
|
+
getBtn({
|
|
24050
|
+
key: 'bee',
|
|
24051
|
+
style,
|
|
24052
|
+
disable: props.disable,
|
|
24053
|
+
label: '…',
|
|
24054
|
+
ripple: false
|
|
24055
|
+
}, pgTo + 1)
|
|
24056
|
+
);
|
|
24057
|
+
}
|
|
24058
|
+
|
|
23919
24059
|
for (let i = pgFrom; i <= pgTo; i++) {
|
|
23920
|
-
|
|
23921
|
-
|
|
23922
|
-
|
|
23923
|
-
|
|
23924
|
-
|
|
23925
|
-
|
|
23926
|
-
|
|
23927
|
-
|
|
23928
|
-
}
|
|
23929
|
-
contentMiddle.push(getBtn(btn, i));
|
|
24060
|
+
contentMiddle.push(
|
|
24061
|
+
getBtn({
|
|
24062
|
+
key: `bpg${ i }`,
|
|
24063
|
+
style,
|
|
24064
|
+
disable: props.disable,
|
|
24065
|
+
label: i
|
|
24066
|
+
}, i, i === props.modelValue)
|
|
24067
|
+
);
|
|
23930
24068
|
}
|
|
23931
24069
|
}
|
|
23932
24070
|
|
|
@@ -23934,15 +24072,35 @@ var QPagination = createComponent({
|
|
|
23934
24072
|
class: classes.value,
|
|
23935
24073
|
...attrs.value
|
|
23936
24074
|
}, [
|
|
23937
|
-
contentStart,
|
|
23938
|
-
|
|
23939
24075
|
h('div', {
|
|
23940
|
-
class: 'row
|
|
24076
|
+
class: 'q-pagination__content row no-wrap items-center',
|
|
24077
|
+
style: gutterStyle.value
|
|
23941
24078
|
}, [
|
|
23942
|
-
|
|
23943
|
-
|
|
24079
|
+
...contentStart,
|
|
24080
|
+
|
|
24081
|
+
props.input === true
|
|
24082
|
+
? h(QInput, {
|
|
24083
|
+
class: 'inline',
|
|
24084
|
+
style: { width: `${ inputPlaceholder.value.length / 1.5 }em` },
|
|
24085
|
+
type: 'number',
|
|
24086
|
+
dense: true,
|
|
24087
|
+
value: newPage.value,
|
|
24088
|
+
disable: props.disable,
|
|
24089
|
+
dark: isDark.value,
|
|
24090
|
+
borderless: true,
|
|
24091
|
+
inputClass: props.inputClass,
|
|
24092
|
+
inputStyle: props.inputStyle,
|
|
24093
|
+
placeholder: inputPlaceholder.value,
|
|
24094
|
+
min: minProp.value,
|
|
24095
|
+
max: maxProp.value,
|
|
24096
|
+
...inputEvents.value
|
|
24097
|
+
})
|
|
24098
|
+
: h('div', {
|
|
24099
|
+
class: 'q-pagination__middle row justify-center'
|
|
24100
|
+
}, contentMiddle),
|
|
23944
24101
|
|
|
23945
|
-
|
|
24102
|
+
...contentEnd
|
|
24103
|
+
])
|
|
23946
24104
|
])
|
|
23947
24105
|
}
|
|
23948
24106
|
}
|
|
@@ -24676,10 +24834,7 @@ var QPullToRefresh = createComponent({
|
|
|
24676
24834
|
|
|
24677
24835
|
const directives = computed(() => {
|
|
24678
24836
|
// if props.disable === false
|
|
24679
|
-
const modifiers = {
|
|
24680
|
-
down: true,
|
|
24681
|
-
mightPrevent: true
|
|
24682
|
-
};
|
|
24837
|
+
const modifiers = { down: true };
|
|
24683
24838
|
|
|
24684
24839
|
if (props.noMouse !== true) {
|
|
24685
24840
|
modifiers.mouse = true;
|
|
@@ -30864,9 +31019,11 @@ var QStep = createComponent({
|
|
|
30864
31019
|
setup (props, { slots, emit }) {
|
|
30865
31020
|
const { proxy: { $q } } = getCurrentInstance();
|
|
30866
31021
|
|
|
30867
|
-
const $stepper = inject(stepperKey,
|
|
30868
|
-
|
|
30869
|
-
|
|
31022
|
+
const $stepper = inject(stepperKey, emptyRenderFn);
|
|
31023
|
+
if ($stepper === emptyRenderFn) {
|
|
31024
|
+
console.error('QStep needs to be a child of QStepper');
|
|
31025
|
+
return emptyRenderFn
|
|
31026
|
+
}
|
|
30870
31027
|
|
|
30871
31028
|
const { getCacheWithFn } = useCache();
|
|
30872
31029
|
|
|
@@ -30924,7 +31081,7 @@ var QStep = createComponent({
|
|
|
30924
31081
|
|
|
30925
31082
|
return () => h(
|
|
30926
31083
|
'div',
|
|
30927
|
-
{ ref: rootRef, class: 'q-stepper__step', ...scrollEvent.value },
|
|
31084
|
+
{ ref: rootRef, class: 'q-stepper__step', role: 'tabpanel', ...scrollEvent.value },
|
|
30928
31085
|
$stepper.value.vertical === true
|
|
30929
31086
|
? [
|
|
30930
31087
|
h(StepHeader, {
|
|
@@ -33989,9 +34146,11 @@ var QTimelineEntry = createComponent({
|
|
|
33989
34146
|
},
|
|
33990
34147
|
|
|
33991
34148
|
setup (props, { slots }) {
|
|
33992
|
-
const $timeline = inject(timelineKey,
|
|
34149
|
+
const $timeline = inject(timelineKey, emptyRenderFn);
|
|
34150
|
+
if ($timeline === emptyRenderFn) {
|
|
33993
34151
|
console.error('QTimelineEntry needs to be child of QTimeline');
|
|
33994
|
-
|
|
34152
|
+
return emptyRenderFn
|
|
34153
|
+
}
|
|
33995
34154
|
|
|
33996
34155
|
const classes = computed(() =>
|
|
33997
34156
|
`q-timeline__entry q-timeline__entry--${ props.side }`
|
|
@@ -34080,7 +34239,7 @@ var QToolbar = createComponent({
|
|
|
34080
34239
|
+ (props.inset === true ? ' q-toolbar--inset' : '')
|
|
34081
34240
|
);
|
|
34082
34241
|
|
|
34083
|
-
return () => h('div', { class: classes.value }, hSlot(slots.default))
|
|
34242
|
+
return () => h('div', { class: classes.value, role: 'toolbar' }, hSlot(slots.default))
|
|
34084
34243
|
}
|
|
34085
34244
|
});
|
|
34086
34245
|
|
|
@@ -34154,6 +34313,7 @@ var QTree = createComponent({
|
|
|
34154
34313
|
|
|
34155
34314
|
duration: Number,
|
|
34156
34315
|
noConnectors: Boolean,
|
|
34316
|
+
noTransition: Boolean,
|
|
34157
34317
|
|
|
34158
34318
|
noNodesLabel: String,
|
|
34159
34319
|
noResultsLabel: String
|
|
@@ -34226,7 +34386,6 @@ var QTree = createComponent({
|
|
|
34226
34386
|
const
|
|
34227
34387
|
key = node[ props.nodeKey ],
|
|
34228
34388
|
isParent = node[ props.childrenKey ] && node[ props.childrenKey ].length > 0,
|
|
34229
|
-
isLeaf = isParent !== true,
|
|
34230
34389
|
selectable = node.disabled !== true && hasSelection.value === true && node.selectable !== false,
|
|
34231
34390
|
expandable = node.disabled !== true && node.expandable !== false,
|
|
34232
34391
|
hasTicking = tickStrategy !== 'none',
|
|
@@ -34252,7 +34411,6 @@ var QTree = createComponent({
|
|
|
34252
34411
|
key,
|
|
34253
34412
|
parent,
|
|
34254
34413
|
isParent,
|
|
34255
|
-
isLeaf,
|
|
34256
34414
|
lazy: localLazy,
|
|
34257
34415
|
disabled: node.disabled,
|
|
34258
34416
|
link: node.disabled !== true && (selectable === true || (expandable === true && (isParent === true || localLazy === true))),
|
|
@@ -34272,7 +34430,7 @@ var QTree = createComponent({
|
|
|
34272
34430
|
leafTicking,
|
|
34273
34431
|
ticked: strictTicking === true
|
|
34274
34432
|
? innerTicked.value.includes(key)
|
|
34275
|
-
: (
|
|
34433
|
+
: (isParent === true ? false : innerTicked.value.includes(key))
|
|
34276
34434
|
};
|
|
34277
34435
|
|
|
34278
34436
|
meta[ key ] = m;
|
|
@@ -34672,23 +34830,37 @@ var QTree = createComponent({
|
|
|
34672
34830
|
]),
|
|
34673
34831
|
|
|
34674
34832
|
isParent === true
|
|
34675
|
-
?
|
|
34676
|
-
|
|
34677
|
-
|
|
34678
|
-
|
|
34679
|
-
|
|
34680
|
-
|
|
34681
|
-
|
|
34682
|
-
|
|
34683
|
-
|
|
34684
|
-
|
|
34685
|
-
|
|
34686
|
-
|
|
34687
|
-
|
|
34688
|
-
|
|
34689
|
-
|
|
34690
|
-
|
|
34691
|
-
|
|
34833
|
+
? (
|
|
34834
|
+
props.noTransition === true
|
|
34835
|
+
? h('div', {
|
|
34836
|
+
class: 'q-tree__node-collapsible' + textColorClass.value,
|
|
34837
|
+
key: `${ key }__q`
|
|
34838
|
+
}, [
|
|
34839
|
+
body,
|
|
34840
|
+
h('div', {
|
|
34841
|
+
class: 'q-tree__children'
|
|
34842
|
+
+ (m.disabled === true ? ' q-tree__node--disabled' : '')
|
|
34843
|
+
}, m.expanded ? children : null)
|
|
34844
|
+
])
|
|
34845
|
+
|
|
34846
|
+
: h(QSlideTransition, {
|
|
34847
|
+
duration: props.duration,
|
|
34848
|
+
onShow,
|
|
34849
|
+
onHide
|
|
34850
|
+
}, () => withDirectives(
|
|
34851
|
+
h('div', {
|
|
34852
|
+
class: 'q-tree__node-collapsible' + textColorClass.value,
|
|
34853
|
+
key: `${ key }__q`
|
|
34854
|
+
}, [
|
|
34855
|
+
body,
|
|
34856
|
+
h('div', {
|
|
34857
|
+
class: 'q-tree__children'
|
|
34858
|
+
+ (m.disabled === true ? ' q-tree__node--disabled' : '')
|
|
34859
|
+
}, children)
|
|
34860
|
+
]),
|
|
34861
|
+
[ [ vShow, m.expanded ] ]
|
|
34862
|
+
))
|
|
34863
|
+
)
|
|
34692
34864
|
: body
|
|
34693
34865
|
])
|
|
34694
34866
|
}
|
|
@@ -35555,9 +35727,13 @@ var QUploaderAddTrigger = createComponent({
|
|
|
35555
35727
|
name: 'QUploaderAddTrigger',
|
|
35556
35728
|
|
|
35557
35729
|
setup () {
|
|
35558
|
-
|
|
35730
|
+
const $trigger = inject(uploaderKey, emptyRenderFn);
|
|
35731
|
+
|
|
35732
|
+
if ($trigger === emptyRenderFn) {
|
|
35559
35733
|
console.error('QUploaderAddTrigger needs to be child of QUploader');
|
|
35560
|
-
}
|
|
35734
|
+
}
|
|
35735
|
+
|
|
35736
|
+
return $trigger
|
|
35561
35737
|
}
|
|
35562
35738
|
});
|
|
35563
35739
|
|
|
@@ -35829,9 +36005,13 @@ function normalizeOptions (options) {
|
|
|
35829
36005
|
fill: typeof options.fill === 'string' && options.fill.length > 0 ? options.fill : 'none',
|
|
35830
36006
|
|
|
35831
36007
|
resize: options.resize === true,
|
|
35832
|
-
|
|
35833
|
-
|
|
35834
|
-
|
|
36008
|
+
|
|
36009
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
36010
|
+
useCSS: options.useCSS === true || options.usecss === true,
|
|
36011
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
36012
|
+
hideFromClone: options.hideFromClone === true || options.hidefromclone === true,
|
|
36013
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
36014
|
+
keepToClone: options.keepToClone === true || options.keeptoclone === true,
|
|
35835
36015
|
|
|
35836
36016
|
tween: options.tween === true,
|
|
35837
36017
|
tweenFromOpacity: isNaN(options.tweenFromOpacity) === true ? 0.6 : parseFloat(options.tweenFromOpacity),
|
|
@@ -37156,9 +37336,16 @@ var TouchHold = createDirective({
|
|
|
37156
37336
|
|
|
37157
37337
|
el.__qtouchhold = ctx;
|
|
37158
37338
|
|
|
37159
|
-
modifiers.mouse === true
|
|
37160
|
-
|
|
37161
|
-
|
|
37339
|
+
if (modifiers.mouse === true) {
|
|
37340
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
37341
|
+
const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
|
|
37342
|
+
? 'Capture'
|
|
37343
|
+
: '';
|
|
37344
|
+
|
|
37345
|
+
addEvt(ctx, 'main', [
|
|
37346
|
+
[ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
|
|
37347
|
+
]);
|
|
37348
|
+
}
|
|
37162
37349
|
|
|
37163
37350
|
client.has.touch === true && addEvt(ctx, 'main', [
|
|
37164
37351
|
[ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
|
|
@@ -37386,18 +37573,32 @@ var TouchRepeat = createDirective({
|
|
|
37386
37573
|
|
|
37387
37574
|
el.__qtouchrepeat = ctx;
|
|
37388
37575
|
|
|
37389
|
-
modifiers.mouse === true
|
|
37390
|
-
|
|
37391
|
-
|
|
37576
|
+
if (modifiers.mouse === true) {
|
|
37577
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
37578
|
+
const capture = modifiers.mouseCapture === true || modifiers.mousecapture === true
|
|
37579
|
+
? 'Capture'
|
|
37580
|
+
: '';
|
|
37581
|
+
|
|
37582
|
+
addEvt(ctx, 'main', [
|
|
37583
|
+
[ el, 'mousedown', 'mouseStart', `passive${ capture }` ]
|
|
37584
|
+
]);
|
|
37585
|
+
}
|
|
37392
37586
|
|
|
37393
37587
|
client.has.touch === true && addEvt(ctx, 'main', [
|
|
37394
37588
|
[ el, 'touchstart', 'touchStart', `passive${ modifiers.capture === true ? 'Capture' : '' }` ],
|
|
37395
37589
|
[ el, 'touchend', 'noop', 'passiveCapture' ]
|
|
37396
37590
|
]);
|
|
37397
37591
|
|
|
37398
|
-
keyboard.length
|
|
37399
|
-
|
|
37400
|
-
|
|
37592
|
+
if (keyboard.length !== 0) {
|
|
37593
|
+
// account for UMD too where modifiers will be lowercased to work
|
|
37594
|
+
const capture = modifiers.keyCapture === true || modifiers.keycapture === true
|
|
37595
|
+
? 'Capture'
|
|
37596
|
+
: '';
|
|
37597
|
+
|
|
37598
|
+
addEvt(ctx, 'main', [
|
|
37599
|
+
[ el, 'keydown', 'keyboardStart', `notPassive${ capture }` ]
|
|
37600
|
+
]);
|
|
37601
|
+
}
|
|
37401
37602
|
},
|
|
37402
37603
|
|
|
37403
37604
|
updated (el, { oldValue, value }) {
|
|
@@ -37710,6 +37911,7 @@ var BottomSheet$1 = createComponent({
|
|
|
37710
37911
|
action.class
|
|
37711
37912
|
],
|
|
37712
37913
|
tabindex: 0,
|
|
37914
|
+
role: 'listitem',
|
|
37713
37915
|
onClick () { onOk(action); },
|
|
37714
37916
|
onKeyup (e) { e.keyCode === 13 && onOk(action); }
|
|
37715
37917
|
}, [
|
|
@@ -37785,9 +37987,12 @@ var BottomSheet$1 = createComponent({
|
|
|
37785
37987
|
child.push(
|
|
37786
37988
|
props.grid === true
|
|
37787
37989
|
? h('div', {
|
|
37788
|
-
class: 'row items-stretch justify-start'
|
|
37990
|
+
class: 'row items-stretch justify-start',
|
|
37991
|
+
role: 'list'
|
|
37789
37992
|
}, getGrid())
|
|
37790
|
-
: h('div',
|
|
37993
|
+
: h('div', {
|
|
37994
|
+
role: 'list'
|
|
37995
|
+
}, getList())
|
|
37791
37996
|
);
|
|
37792
37997
|
|
|
37793
37998
|
return child
|
|
@@ -40083,7 +40288,7 @@ function runSequentialPromises (
|
|
|
40083
40288
|
*/
|
|
40084
40289
|
|
|
40085
40290
|
const Quasar = {
|
|
40086
|
-
version: '2.
|
|
40291
|
+
version: '2.10.0',
|
|
40087
40292
|
install: installQuasar,
|
|
40088
40293
|
lang: Plugin$8,
|
|
40089
40294
|
iconSet: Plugin$7
|