@zeedhi/vuetify 1.45.1 → 1.46.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/zd-vuetify.esm.js
CHANGED
@@ -331,9 +331,7 @@ class Application extends Service {
|
|
331
331
|
}
|
332
332
|
|
333
333
|
register(uid, location, size) {
|
334
|
-
this.application[location] =
|
335
|
-
[uid]: size
|
336
|
-
};
|
334
|
+
this.application[location][uid] = size;
|
337
335
|
this.update(location);
|
338
336
|
}
|
339
337
|
|
@@ -658,13 +656,20 @@ function createSimpleFunctional(c, el = 'div', name) {
|
|
658
656
|
return Vue.extend({
|
659
657
|
name: name || c.replace(/__/g, '-'),
|
660
658
|
functional: true,
|
659
|
+
props: {
|
660
|
+
tag: {
|
661
|
+
type: String,
|
662
|
+
default: el
|
663
|
+
}
|
664
|
+
},
|
661
665
|
|
662
666
|
render(h, {
|
663
667
|
data,
|
668
|
+
props,
|
664
669
|
children
|
665
670
|
}) {
|
666
671
|
data.staticClass = `${c} ${data.staticClass || ''}`.trim();
|
667
|
-
return h(
|
672
|
+
return h(props.tag, data, children);
|
668
673
|
}
|
669
674
|
|
670
675
|
});
|
@@ -963,12 +968,12 @@ function searchItems(items, search) {
|
|
963
968
|
*/
|
964
969
|
|
965
970
|
function getSlotType(vm, name, split) {
|
966
|
-
if (vm.$slots
|
971
|
+
if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && vm.$scopedSlots[name].name) {
|
967
972
|
return split ? 'v-slot' : 'scoped';
|
968
973
|
}
|
969
974
|
|
970
|
-
if (vm.$slots
|
971
|
-
if (vm.$scopedSlots
|
975
|
+
if (vm.$slots.hasOwnProperty(name)) return 'normal';
|
976
|
+
if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped';
|
972
977
|
}
|
973
978
|
function debounce(fn, delay) {
|
974
979
|
let timeoutId = 0;
|
@@ -994,9 +999,9 @@ function getPrefixedScopedSlots(prefix, scopedSlots) {
|
|
994
999
|
}, {});
|
995
1000
|
}
|
996
1001
|
function getSlot(vm, name = 'default', data, optional = false) {
|
997
|
-
if (vm.$scopedSlots
|
1002
|
+
if (vm.$scopedSlots.hasOwnProperty(name)) {
|
998
1003
|
return vm.$scopedSlots[name](data instanceof Function ? data() : data);
|
999
|
-
} else if (vm.$slots
|
1004
|
+
} else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {
|
1000
1005
|
return vm.$slots[name];
|
1001
1006
|
}
|
1002
1007
|
|
@@ -2216,7 +2221,7 @@ class Vuetify {
|
|
2216
2221
|
}
|
2217
2222
|
Vuetify.install = install;
|
2218
2223
|
Vuetify.installed = false;
|
2219
|
-
Vuetify.version = "2.
|
2224
|
+
Vuetify.version = "2.6.4";
|
2220
2225
|
Vuetify.config = {
|
2221
2226
|
silent: false
|
2222
2227
|
};
|
@@ -3478,10 +3483,6 @@ function transform(el, value) {
|
|
3478
3483
|
el.style.webkitTransform = value;
|
3479
3484
|
}
|
3480
3485
|
|
3481
|
-
function opacity(el, value) {
|
3482
|
-
el.style.opacity = value.toString();
|
3483
|
-
}
|
3484
|
-
|
3485
3486
|
function isTouchEvent(e) {
|
3486
3487
|
return e.constructor.name === 'TouchEvent';
|
3487
3488
|
}
|
@@ -3565,13 +3566,11 @@ const ripples = {
|
|
3565
3566
|
animation.classList.add('v-ripple__animation--enter');
|
3566
3567
|
animation.classList.add('v-ripple__animation--visible');
|
3567
3568
|
transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
|
3568
|
-
opacity(animation, 0);
|
3569
3569
|
animation.dataset.activated = String(performance.now());
|
3570
3570
|
setTimeout(() => {
|
3571
3571
|
animation.classList.remove('v-ripple__animation--enter');
|
3572
3572
|
animation.classList.add('v-ripple__animation--in');
|
3573
3573
|
transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
|
3574
|
-
opacity(animation, 0.25);
|
3575
3574
|
}, 0);
|
3576
3575
|
},
|
3577
3576
|
|
@@ -3586,7 +3585,6 @@ const ripples = {
|
|
3586
3585
|
setTimeout(() => {
|
3587
3586
|
animation.classList.remove('v-ripple__animation--in');
|
3588
3587
|
animation.classList.add('v-ripple__animation--out');
|
3589
|
-
opacity(animation, 0);
|
3590
3588
|
setTimeout(() => {
|
3591
3589
|
const ripples = el.getElementsByClassName('v-ripple__animation');
|
3592
3590
|
|
@@ -4062,10 +4060,10 @@ function factory$2(prop = 'value', event = 'input') {
|
|
4062
4060
|
const Toggleable = factory$2();
|
4063
4061
|
|
4064
4062
|
// Styles
|
4065
|
-
const baseMixins$
|
4063
|
+
const baseMixins$u = mixins(VToolbar, Scrollable, SSRBootable, Toggleable, applicationable('top', ['clippedLeft', 'clippedRight', 'computedHeight', 'invertedScroll', 'isExtended', 'isProminent', 'value']));
|
4066
4064
|
/* @vue/component */
|
4067
4065
|
|
4068
|
-
var VAppBar = baseMixins$
|
4066
|
+
var VAppBar = baseMixins$u.extend({
|
4069
4067
|
name: 'v-app-bar',
|
4070
4068
|
directives: {
|
4071
4069
|
Scroll
|
@@ -4847,10 +4845,6 @@ var Routable = Vue.extend({
|
|
4847
4845
|
},
|
4848
4846
|
|
4849
4847
|
methods: {
|
4850
|
-
click(e) {
|
4851
|
-
this.$emit('click', e);
|
4852
|
-
},
|
4853
|
-
|
4854
4848
|
generateRouteLink() {
|
4855
4849
|
let exact = this.exact;
|
4856
4850
|
let tag;
|
@@ -4866,7 +4860,9 @@ var Routable = Vue.extend({
|
|
4866
4860
|
value: this.computedRipple
|
4867
4861
|
}],
|
4868
4862
|
[this.to ? 'nativeOn' : 'on']: { ...this.$listeners,
|
4869
|
-
click
|
4863
|
+
...('click' in this ? {
|
4864
|
+
click: this.click
|
4865
|
+
} : undefined)
|
4870
4866
|
},
|
4871
4867
|
ref: 'link'
|
4872
4868
|
};
|
@@ -4910,8 +4906,8 @@ var Routable = Vue.extend({
|
|
4910
4906
|
|
4911
4907
|
onRouteChange() {
|
4912
4908
|
if (!this.to || !this.$refs.link || !this.$route) return;
|
4913
|
-
const activeClass = `${this.activeClass} ${this.proxyClass || ''}`.trim();
|
4914
|
-
const exactActiveClass = `${this.exactActiveClass} ${this.proxyClass || ''}`.trim() || activeClass;
|
4909
|
+
const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim();
|
4910
|
+
const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass;
|
4915
4911
|
const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
|
4916
4912
|
this.$nextTick(() => {
|
4917
4913
|
/* istanbul ignore else */
|
@@ -4929,10 +4925,10 @@ var Routable = Vue.extend({
|
|
4929
4925
|
});
|
4930
4926
|
|
4931
4927
|
// Styles
|
4932
|
-
const baseMixins$
|
4928
|
+
const baseMixins$t = mixins(VSheet, Routable, Positionable, Sizeable, factory$1('btnToggle'), factory$2('inputValue')
|
4933
4929
|
/* @vue/component */
|
4934
4930
|
);
|
4935
|
-
var VBtn = baseMixins$
|
4931
|
+
var VBtn = baseMixins$t.extend().extend({
|
4936
4932
|
name: 'v-btn',
|
4937
4933
|
props: {
|
4938
4934
|
activeClass: {
|
@@ -5831,10 +5827,10 @@ var Delayable = Vue.extend().extend({
|
|
5831
5827
|
});
|
5832
5828
|
|
5833
5829
|
// Mixins
|
5834
|
-
const baseMixins$
|
5830
|
+
const baseMixins$s = mixins(Delayable, Toggleable);
|
5835
5831
|
/* @vue/component */
|
5836
5832
|
|
5837
|
-
var Activatable = baseMixins$
|
5833
|
+
var Activatable = baseMixins$s.extend({
|
5838
5834
|
name: 'activatable',
|
5839
5835
|
props: {
|
5840
5836
|
activator: {
|
@@ -5845,6 +5841,10 @@ var Activatable = baseMixins$r.extend({
|
|
5845
5841
|
},
|
5846
5842
|
disabled: Boolean,
|
5847
5843
|
internalActivator: Boolean,
|
5844
|
+
openOnClick: {
|
5845
|
+
type: Boolean,
|
5846
|
+
default: true
|
5847
|
+
},
|
5848
5848
|
openOnHover: Boolean,
|
5849
5849
|
openOnFocus: Boolean
|
5850
5850
|
},
|
@@ -5897,7 +5897,7 @@ var Activatable = baseMixins$r.extend({
|
|
5897
5897
|
|
5898
5898
|
genActivatorAttributes() {
|
5899
5899
|
return {
|
5900
|
-
role: 'button',
|
5900
|
+
role: this.openOnClick && !this.openOnHover ? 'button' : undefined,
|
5901
5901
|
'aria-haspopup': true,
|
5902
5902
|
'aria-expanded': String(this.isActive)
|
5903
5903
|
};
|
@@ -5917,7 +5917,7 @@ var Activatable = baseMixins$r.extend({
|
|
5917
5917
|
this.getActivator(e);
|
5918
5918
|
this.runDelay('close');
|
5919
5919
|
};
|
5920
|
-
} else {
|
5920
|
+
} else if (this.openOnClick) {
|
5921
5921
|
listeners.click = e => {
|
5922
5922
|
const activator = this.getActivator(e);
|
5923
5923
|
if (activator) activator.focus();
|
@@ -6321,10 +6321,10 @@ var Detachable = mixins(Bootable).extend({
|
|
6321
6321
|
});
|
6322
6322
|
|
6323
6323
|
// Mixins
|
6324
|
-
const baseMixins$
|
6324
|
+
const baseMixins$r = mixins(Stackable, factory$3(['top', 'right', 'bottom', 'left', 'absolute']), Activatable, Detachable);
|
6325
6325
|
/* @vue/component */
|
6326
6326
|
|
6327
|
-
var Menuable = baseMixins$
|
6327
|
+
var Menuable = baseMixins$r.extend().extend({
|
6328
6328
|
name: 'menuable',
|
6329
6329
|
props: {
|
6330
6330
|
allowOverflow: Boolean,
|
@@ -6356,7 +6356,6 @@ var Menuable = baseMixins$q.extend().extend({
|
|
6356
6356
|
default: 0
|
6357
6357
|
},
|
6358
6358
|
offsetOverflow: Boolean,
|
6359
|
-
openOnClick: Boolean,
|
6360
6359
|
positionX: {
|
6361
6360
|
type: Number,
|
6362
6361
|
default: null
|
@@ -6416,7 +6415,8 @@ var Menuable = baseMixins$q.extend().extend({
|
|
6416
6415
|
const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0;
|
6417
6416
|
const minWidth = Math.max(a.width, c.width);
|
6418
6417
|
let left = 0;
|
6419
|
-
left +=
|
6418
|
+
left += activatorLeft;
|
6419
|
+
if (this.left || this.$vuetify.rtl && !this.right) left -= minWidth - a.width;
|
6420
6420
|
|
6421
6421
|
if (this.offsetX) {
|
6422
6422
|
const maxWidth = isNaN(Number(this.maxWidth)) ? a.width : Math.min(a.width, Number(this.maxWidth));
|
@@ -6574,14 +6574,16 @@ var Menuable = baseMixins$q.extend().extend({
|
|
6574
6574
|
const listeners = Activatable.options.methods.genActivatorListeners.call(this);
|
6575
6575
|
const onClick = listeners.click;
|
6576
6576
|
|
6577
|
-
|
6578
|
-
|
6579
|
-
|
6580
|
-
|
6577
|
+
if (onClick) {
|
6578
|
+
listeners.click = e => {
|
6579
|
+
if (this.openOnClick) {
|
6580
|
+
onClick && onClick(e);
|
6581
|
+
}
|
6581
6582
|
|
6582
|
-
|
6583
|
-
|
6584
|
-
|
6583
|
+
this.absoluteX = e.clientX;
|
6584
|
+
this.absoluteY = e.clientY;
|
6585
|
+
};
|
6586
|
+
}
|
6585
6587
|
|
6586
6588
|
return listeners;
|
6587
6589
|
},
|
@@ -6730,10 +6732,10 @@ var Returnable = Vue.extend({
|
|
6730
6732
|
});
|
6731
6733
|
|
6732
6734
|
// Styles
|
6733
|
-
const baseMixins$
|
6735
|
+
const baseMixins$q = mixins(Dependent, Delayable, Returnable, Roundable, Themeable, Menuable);
|
6734
6736
|
/* @vue/component */
|
6735
6737
|
|
6736
|
-
var VMenu = baseMixins$
|
6738
|
+
var VMenu = baseMixins$q.extend({
|
6737
6739
|
name: 'v-menu',
|
6738
6740
|
directives: {
|
6739
6741
|
ClickOutside,
|
@@ -6766,10 +6768,6 @@ var VMenu = baseMixins$p.extend({
|
|
6766
6768
|
},
|
6767
6769
|
offsetX: Boolean,
|
6768
6770
|
offsetY: Boolean,
|
6769
|
-
openOnClick: {
|
6770
|
-
type: Boolean,
|
6771
|
-
default: true
|
6772
|
-
},
|
6773
6771
|
openOnHover: Boolean,
|
6774
6772
|
origin: {
|
6775
6773
|
type: String,
|
@@ -7083,7 +7081,9 @@ var VMenu = baseMixins$p.extend({
|
|
7083
7081
|
mouseLeaveHandler(e) {
|
7084
7082
|
// Prevent accidental re-activation
|
7085
7083
|
this.runDelay('close', () => {
|
7086
|
-
|
7084
|
+
var _this$$refs$content;
|
7085
|
+
|
7086
|
+
if ((_this$$refs$content = this.$refs.content) != null && _this$$refs$content.contains(e.relatedTarget)) return;
|
7087
7087
|
requestAnimationFrame(() => {
|
7088
7088
|
this.isActive = false;
|
7089
7089
|
this.callDeactivate();
|
@@ -7412,10 +7412,10 @@ var VList = VSheet.extend().extend({
|
|
7412
7412
|
});
|
7413
7413
|
|
7414
7414
|
// Styles
|
7415
|
-
const baseMixins$
|
7415
|
+
const baseMixins$p = mixins(Colorable, Routable, Themeable, factory$1('listItemGroup'), factory$2('inputValue'));
|
7416
7416
|
/* @vue/component */
|
7417
7417
|
|
7418
|
-
var VListItem = baseMixins$
|
7418
|
+
var VListItem = baseMixins$p.extend().extend({
|
7419
7419
|
name: 'v-list-item',
|
7420
7420
|
directives: {
|
7421
7421
|
Ripple
|
@@ -7576,8 +7576,8 @@ var VListItemIcon = Vue.extend({
|
|
7576
7576
|
});
|
7577
7577
|
|
7578
7578
|
// Styles
|
7579
|
-
const baseMixins$
|
7580
|
-
var VListGroup = baseMixins$
|
7579
|
+
const baseMixins$o = mixins(BindsAttrs, Bootable, Colorable, inject('list'), Toggleable);
|
7580
|
+
var VListGroup = baseMixins$o.extend().extend({
|
7581
7581
|
name: 'v-list-group',
|
7582
7582
|
directives: {
|
7583
7583
|
ripple: Ripple
|
@@ -7734,6 +7734,16 @@ var VListGroup = baseMixins$n.extend().extend({
|
|
7734
7734
|
|
7735
7735
|
});
|
7736
7736
|
|
7737
|
+
var Comparable = Vue.extend({
|
7738
|
+
name: 'comparable',
|
7739
|
+
props: {
|
7740
|
+
valueComparator: {
|
7741
|
+
type: Function,
|
7742
|
+
default: deepEqual
|
7743
|
+
}
|
7744
|
+
}
|
7745
|
+
});
|
7746
|
+
|
7737
7747
|
function factory(prop = 'value', event = 'change') {
|
7738
7748
|
return Vue.extend({
|
7739
7749
|
name: 'proxyable',
|
@@ -7780,7 +7790,7 @@ function factory(prop = 'value', event = 'change') {
|
|
7780
7790
|
const Proxyable = factory();
|
7781
7791
|
|
7782
7792
|
// Styles
|
7783
|
-
const BaseItemGroup = mixins(Proxyable, Themeable).extend({
|
7793
|
+
const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({
|
7784
7794
|
name: 'base-item-group',
|
7785
7795
|
props: {
|
7786
7796
|
activeClass: {
|
@@ -7839,13 +7849,13 @@ const BaseItemGroup = mixins(Proxyable, Themeable).extend({
|
|
7839
7849
|
|
7840
7850
|
toggleMethod() {
|
7841
7851
|
if (!this.multiple) {
|
7842
|
-
return v => this.internalValue
|
7852
|
+
return v => this.valueComparator(this.internalValue, v);
|
7843
7853
|
}
|
7844
7854
|
|
7845
7855
|
const internalValue = this.internalValue;
|
7846
7856
|
|
7847
7857
|
if (Array.isArray(internalValue)) {
|
7848
|
-
return v => internalValue.
|
7858
|
+
return v => internalValue.some(intern => this.valueComparator(intern, v));
|
7849
7859
|
}
|
7850
7860
|
|
7851
7861
|
return () => false;
|
@@ -7871,7 +7881,7 @@ const BaseItemGroup = mixins(Proxyable, Themeable).extend({
|
|
7871
7881
|
},
|
7872
7882
|
|
7873
7883
|
getValue(item, i) {
|
7874
|
-
return item.value
|
7884
|
+
return item.value === undefined ? i : item.value;
|
7875
7885
|
},
|
7876
7886
|
|
7877
7887
|
onClick(item) {
|
@@ -8458,10 +8468,10 @@ var VMessages = mixins(Colorable, Themeable).extend({
|
|
8458
8468
|
});
|
8459
8469
|
|
8460
8470
|
// Mixins
|
8461
|
-
const baseMixins$
|
8471
|
+
const baseMixins$n = mixins(Colorable, inject('form'), Themeable);
|
8462
8472
|
/* @vue/component */
|
8463
8473
|
|
8464
|
-
var Validatable = baseMixins$
|
8474
|
+
var Validatable = baseMixins$n.extend({
|
8465
8475
|
name: 'validatable',
|
8466
8476
|
props: {
|
8467
8477
|
disabled: Boolean,
|
@@ -8710,10 +8720,10 @@ var Validatable = baseMixins$m.extend({
|
|
8710
8720
|
});
|
8711
8721
|
|
8712
8722
|
// Styles
|
8713
|
-
const baseMixins$
|
8723
|
+
const baseMixins$m = mixins(BindsAttrs, Validatable);
|
8714
8724
|
/* @vue/component */
|
8715
8725
|
|
8716
|
-
var VInput = baseMixins$
|
8726
|
+
var VInput = baseMixins$m.extend().extend({
|
8717
8727
|
name: 'v-input',
|
8718
8728
|
inheritAttrs: false,
|
8719
8729
|
props: {
|
@@ -8725,6 +8735,7 @@ var VInput = baseMixins$l.extend().extend({
|
|
8725
8735
|
dense: Boolean,
|
8726
8736
|
height: [Number, String],
|
8727
8737
|
hideDetails: [Boolean, String],
|
8738
|
+
hideSpinButtons: Boolean,
|
8728
8739
|
hint: String,
|
8729
8740
|
id: String,
|
8730
8741
|
label: String,
|
@@ -8754,6 +8765,7 @@ var VInput = baseMixins$l.extend().extend({
|
|
8754
8765
|
'v-input--is-loading': this.loading !== false && this.loading != null,
|
8755
8766
|
'v-input--is-readonly': this.isReadonly,
|
8756
8767
|
'v-input--dense': this.dense,
|
8768
|
+
'v-input--hide-spin-buttons': this.hideSpinButtons,
|
8757
8769
|
...this.themeClasses
|
8758
8770
|
};
|
8759
8771
|
},
|
@@ -9061,10 +9073,10 @@ function intersectable(options) {
|
|
9061
9073
|
});
|
9062
9074
|
}
|
9063
9075
|
|
9064
|
-
const baseMixins$
|
9076
|
+
const baseMixins$l = mixins(Colorable, factory$3(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);
|
9065
9077
|
/* @vue/component */
|
9066
9078
|
|
9067
|
-
var VProgressLinear = baseMixins$
|
9079
|
+
var VProgressLinear = baseMixins$l.extend({
|
9068
9080
|
name: 'v-progress-linear',
|
9069
9081
|
directives: {
|
9070
9082
|
intersect: Intersect
|
@@ -9339,13 +9351,13 @@ var Loadable = Vue.extend().extend({
|
|
9339
9351
|
});
|
9340
9352
|
|
9341
9353
|
// Styles
|
9342
|
-
const baseMixins$
|
9354
|
+
const baseMixins$k = mixins(VInput, intersectable({
|
9343
9355
|
onVisible: ['onResize', 'tryAutofocus']
|
9344
9356
|
}), Loadable);
|
9345
9357
|
const dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
9346
9358
|
/* @vue/component */
|
9347
9359
|
|
9348
|
-
var VTextField = baseMixins$
|
9360
|
+
var VTextField = baseMixins$k.extend().extend({
|
9349
9361
|
name: 'v-text-field',
|
9350
9362
|
directives: {
|
9351
9363
|
resize: Resize,
|
@@ -9850,16 +9862,6 @@ var VTextField = baseMixins$j.extend().extend({
|
|
9850
9862
|
}
|
9851
9863
|
});
|
9852
9864
|
|
9853
|
-
var Comparable = Vue.extend({
|
9854
|
-
name: 'comparable',
|
9855
|
-
props: {
|
9856
|
-
valueComparator: {
|
9857
|
-
type: Function,
|
9858
|
-
default: deepEqual
|
9859
|
-
}
|
9860
|
-
}
|
9861
|
-
});
|
9862
|
-
|
9863
9865
|
/* @vue/component */
|
9864
9866
|
|
9865
9867
|
var Filterable = Vue.extend({
|
@@ -9881,10 +9883,10 @@ const defaultMenuProps$1 = {
|
|
9881
9883
|
maxHeight: 304
|
9882
9884
|
}; // Types
|
9883
9885
|
|
9884
|
-
const baseMixins$
|
9886
|
+
const baseMixins$j = mixins(VTextField, Comparable, Dependent, Filterable);
|
9885
9887
|
/* @vue/component */
|
9886
9888
|
|
9887
|
-
var VSelect = baseMixins$
|
9889
|
+
var VSelect = baseMixins$j.extend().extend({
|
9888
9890
|
name: 'v-select',
|
9889
9891
|
directives: {
|
9890
9892
|
ClickOutside
|
@@ -10081,6 +10083,14 @@ var VSelect = baseMixins$i.extend().extend({
|
|
10081
10083
|
internalValue(val) {
|
10082
10084
|
this.initialValue = val;
|
10083
10085
|
this.setSelectedItems();
|
10086
|
+
|
10087
|
+
if (this.multiple) {
|
10088
|
+
this.$nextTick(() => {
|
10089
|
+
var _this$$refs$menu;
|
10090
|
+
|
10091
|
+
(_this$$refs$menu = this.$refs.menu) == null ? void 0 : _this$$refs$menu.updateDimensions();
|
10092
|
+
});
|
10093
|
+
}
|
10084
10094
|
},
|
10085
10095
|
|
10086
10096
|
isMenuActive(val) {
|
@@ -10140,7 +10150,12 @@ var VSelect = baseMixins$i.extend().extend({
|
|
10140
10150
|
const uniqueValues = new Map();
|
10141
10151
|
|
10142
10152
|
for (let index = 0; index < arr.length; ++index) {
|
10143
|
-
const item = arr[index]; // Do not
|
10153
|
+
const item = arr[index]; // Do not return null values if existant (#14421)
|
10154
|
+
|
10155
|
+
if (item == null) {
|
10156
|
+
continue;
|
10157
|
+
} // Do not deduplicate headers or dividers (#12517)
|
10158
|
+
|
10144
10159
|
|
10145
10160
|
if (item.header || item.divider) {
|
10146
10161
|
uniqueValues.set(item, item);
|
@@ -10600,13 +10615,7 @@ var VSelect = baseMixins$i.extend().extend({
|
|
10600
10615
|
i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item);
|
10601
10616
|
this.setValue(internalValue.map(i => {
|
10602
10617
|
return this.returnObject ? i : this.getValue(i);
|
10603
|
-
})); //
|
10604
|
-
// adjust menu after each
|
10605
|
-
// selection
|
10606
|
-
|
10607
|
-
this.$nextTick(() => {
|
10608
|
-
this.$refs.menu && this.$refs.menu.updateDimensions();
|
10609
|
-
}); // There is no item to re-highlight
|
10618
|
+
})); // There is no item to re-highlight
|
10610
10619
|
// when selections are hidden
|
10611
10620
|
|
10612
10621
|
if (this.hideSelected) {
|
@@ -10969,6 +10978,7 @@ var VAutocomplete = VSelect.extend({
|
|
10969
10978
|
const value = target.value; // If typing and menu is not currently active
|
10970
10979
|
|
10971
10980
|
if (target.value) this.activateMenu();
|
10981
|
+
if (!this.multiple && value === '') this.deleteCurrentItem();
|
10972
10982
|
this.internalSearch = value;
|
10973
10983
|
this.badInput = target.validity && target.validity.badInput;
|
10974
10984
|
},
|
@@ -11388,7 +11398,7 @@ mixins(VSheet, Mobile, Toggleable).extend({
|
|
11388
11398
|
},
|
11389
11399
|
|
11390
11400
|
render(h) {
|
11391
|
-
|
11401
|
+
const data = {
|
11392
11402
|
staticClass: 'v-banner',
|
11393
11403
|
attrs: this.attrs$,
|
11394
11404
|
class: this.classes,
|
@@ -11397,7 +11407,8 @@ mixins(VSheet, Mobile, Toggleable).extend({
|
|
11397
11407
|
name: 'show',
|
11398
11408
|
value: this.isActive
|
11399
11409
|
}]
|
11400
|
-
}
|
11410
|
+
};
|
11411
|
+
return h(VExpandTransition, [h('div', this.outlined ? data : this.setBackgroundColor(this.color, data), [this.genWrapper()])]);
|
11401
11412
|
}
|
11402
11413
|
|
11403
11414
|
});
|
@@ -11484,6 +11495,9 @@ mixins(applicationable('bottom', ['height', 'inputValue']), Colorable, Measurabl
|
|
11484
11495
|
}
|
11485
11496
|
|
11486
11497
|
},
|
11498
|
+
watch: {
|
11499
|
+
canScroll: 'onScroll'
|
11500
|
+
},
|
11487
11501
|
|
11488
11502
|
created() {
|
11489
11503
|
/* istanbul ignore next */
|
@@ -11494,8 +11508,13 @@ mixins(applicationable('bottom', ['height', 'inputValue']), Colorable, Measurabl
|
|
11494
11508
|
|
11495
11509
|
methods: {
|
11496
11510
|
thresholdMet() {
|
11497
|
-
this.
|
11498
|
-
|
11511
|
+
if (this.hideOnScroll) {
|
11512
|
+
this.isActive = !this.isScrollingUp || this.currentScroll > this.computedScrollThreshold;
|
11513
|
+
this.$emit('update:input-value', this.isActive);
|
11514
|
+
}
|
11515
|
+
|
11516
|
+
if (this.currentThreshold < this.computedScrollThreshold) return;
|
11517
|
+
this.savedScroll = this.currentScroll;
|
11499
11518
|
},
|
11500
11519
|
|
11501
11520
|
updateApplication() {
|
@@ -11809,10 +11828,10 @@ var Overlayable = Vue.extend().extend({
|
|
11809
11828
|
});
|
11810
11829
|
|
11811
11830
|
// Styles
|
11812
|
-
const baseMixins$
|
11831
|
+
const baseMixins$i = mixins(Dependent, Detachable, Overlayable, Returnable, Stackable, Activatable);
|
11813
11832
|
/* @vue/component */
|
11814
11833
|
|
11815
|
-
var VDialog = baseMixins$
|
11834
|
+
var VDialog = baseMixins$i.extend({
|
11816
11835
|
name: 'v-dialog',
|
11817
11836
|
directives: {
|
11818
11837
|
ClickOutside
|
@@ -11822,10 +11841,7 @@ var VDialog = baseMixins$h.extend({
|
|
11822
11841
|
disabled: Boolean,
|
11823
11842
|
fullscreen: Boolean,
|
11824
11843
|
light: Boolean,
|
11825
|
-
maxWidth:
|
11826
|
-
type: [String, Number],
|
11827
|
-
default: 'none'
|
11828
|
-
},
|
11844
|
+
maxWidth: [String, Number],
|
11829
11845
|
noClickAnimation: Boolean,
|
11830
11846
|
origin: {
|
11831
11847
|
type: String,
|
@@ -11841,10 +11857,7 @@ var VDialog = baseMixins$h.extend({
|
|
11841
11857
|
type: [String, Boolean],
|
11842
11858
|
default: 'dialog-transition'
|
11843
11859
|
},
|
11844
|
-
width:
|
11845
|
-
type: [String, Number],
|
11846
|
-
default: 'auto'
|
11847
|
-
}
|
11860
|
+
width: [String, Number]
|
11848
11861
|
},
|
11849
11862
|
|
11850
11863
|
data() {
|
@@ -11852,7 +11865,6 @@ var VDialog = baseMixins$h.extend({
|
|
11852
11865
|
activatedBy: null,
|
11853
11866
|
animate: false,
|
11854
11867
|
animateTimeout: -1,
|
11855
|
-
isActive: !!this.value,
|
11856
11868
|
stackMinZIndex: 200,
|
11857
11869
|
previousActiveElement: null
|
11858
11870
|
};
|
@@ -12033,8 +12045,9 @@ var VDialog = baseMixins$h.extend({
|
|
12033
12045
|
}, [this.$createElement('div', {
|
12034
12046
|
class: this.contentClasses,
|
12035
12047
|
attrs: {
|
12036
|
-
role: '
|
12048
|
+
role: 'dialog',
|
12037
12049
|
tabindex: this.isActive ? 0 : undefined,
|
12050
|
+
'aria-modal': this.hideOverlay ? undefined : 'true',
|
12038
12051
|
...this.getScopeIdAttrs()
|
12039
12052
|
},
|
12040
12053
|
on: {
|
@@ -12081,8 +12094,8 @@ var VDialog = baseMixins$h.extend({
|
|
12081
12094
|
|
12082
12095
|
if (!this.fullscreen) {
|
12083
12096
|
data.style = { ...data.style,
|
12084
|
-
maxWidth:
|
12085
|
-
width:
|
12097
|
+
maxWidth: convertToUnit(this.maxWidth),
|
12098
|
+
width: convertToUnit(this.width)
|
12086
12099
|
};
|
12087
12100
|
}
|
12088
12101
|
|
@@ -12096,9 +12109,6 @@ var VDialog = baseMixins$h.extend({
|
|
12096
12109
|
staticClass: 'v-dialog__container',
|
12097
12110
|
class: {
|
12098
12111
|
'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
|
12099
|
-
},
|
12100
|
-
attrs: {
|
12101
|
-
role: 'dialog'
|
12102
12112
|
}
|
12103
12113
|
}, [this.genActivator(), this.genContent()]);
|
12104
12114
|
}
|
@@ -12111,10 +12121,7 @@ var VBottomSheet = VDialog.extend({
|
|
12111
12121
|
name: 'v-bottom-sheet',
|
12112
12122
|
props: {
|
12113
12123
|
inset: Boolean,
|
12114
|
-
maxWidth:
|
12115
|
-
type: [String, Number],
|
12116
|
-
default: 'auto'
|
12117
|
-
},
|
12124
|
+
maxWidth: [String, Number],
|
12118
12125
|
transition: {
|
12119
12126
|
type: String,
|
12120
12127
|
default: 'bottom-sheet-transition'
|
@@ -12355,11 +12362,16 @@ var Mouse = Vue.extend({
|
|
12355
12362
|
|
12356
12363
|
|
12357
12364
|
if (e && 'touches' in e) {
|
12358
|
-
var _e$
|
12365
|
+
var _e$currentTarget, _e$target;
|
12366
|
+
|
12367
|
+
const classSeparator = ' ';
|
12368
|
+
const eventTargetClasses = (_e$currentTarget = e.currentTarget) == null ? void 0 : _e$currentTarget.className.split(classSeparator);
|
12369
|
+
const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY); // Get "the same kind" current hovering target by checking
|
12370
|
+
// If element has the same class of initial touch start element (which has touch event listener registered)
|
12359
12371
|
|
12360
|
-
const currentTarget =
|
12372
|
+
const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)));
|
12361
12373
|
|
12362
|
-
if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget))
|
12374
|
+
if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget))) {
|
12363
12375
|
currentTarget.dispatchEvent(new TouchEvent(e.type, {
|
12364
12376
|
changedTouches: e.changedTouches,
|
12365
12377
|
targetTouches: e.targetTouches,
|
@@ -12369,7 +12381,7 @@ var Mouse = Vue.extend({
|
|
12369
12381
|
}
|
12370
12382
|
}
|
12371
12383
|
|
12372
|
-
this.$emit(event, getEvent(e));
|
12384
|
+
this.$emit(event, getEvent(e), e);
|
12373
12385
|
}
|
12374
12386
|
|
12375
12387
|
return eventOptions.result;
|
@@ -14049,9 +14061,12 @@ var CalendarWithEvents = CalendarBase.extend({
|
|
14049
14061
|
name: 'ripple',
|
14050
14062
|
value: (_this$eventRipple2 = this.eventRipple) != null ? _this$eventRipple2 : true
|
14051
14063
|
}],
|
14052
|
-
on: {
|
14053
|
-
|
14054
|
-
|
14064
|
+
on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
|
14065
|
+
return {
|
14066
|
+
nativeEvent,
|
14067
|
+
...day
|
14068
|
+
};
|
14069
|
+
}),
|
14055
14070
|
style: {
|
14056
14071
|
display: 'none',
|
14057
14072
|
height: `${eventHeight}px`,
|
@@ -14304,7 +14319,12 @@ var VCalendarWeekly = CalendarBase.extend({
|
|
14304
14319
|
key: day.date,
|
14305
14320
|
staticClass: 'v-calendar-weekly__day',
|
14306
14321
|
class: this.getRelativeClasses(day, outside),
|
14307
|
-
on: this.getDefaultMouseEventHandlers(':day',
|
14322
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
14323
|
+
return {
|
14324
|
+
nativeEvent,
|
14325
|
+
...day
|
14326
|
+
};
|
14327
|
+
})
|
14308
14328
|
}, [this.genDayLabel(day), ...(getSlot(this, 'day', () => ({
|
14309
14329
|
outside,
|
14310
14330
|
index,
|
@@ -14340,7 +14360,10 @@ var VCalendarWeekly = CalendarBase.extend({
|
|
14340
14360
|
prevent: true,
|
14341
14361
|
result: false
|
14342
14362
|
}
|
14343
|
-
},
|
14363
|
+
}, nativeEvent => ({
|
14364
|
+
nativeEvent,
|
14365
|
+
...day
|
14366
|
+
}))
|
14344
14367
|
}, hasMonth ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false) : this.dayFormatter(day, false));
|
14345
14368
|
},
|
14346
14369
|
|
@@ -14613,8 +14636,11 @@ var VCalendarDaily = CalendarWithIntervals.extend({
|
|
14613
14636
|
key: day.date,
|
14614
14637
|
staticClass: 'v-calendar-daily_head-day',
|
14615
14638
|
class: this.getRelativeClasses(day),
|
14616
|
-
on: this.getDefaultMouseEventHandlers(':day',
|
14617
|
-
return
|
14639
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
14640
|
+
return {
|
14641
|
+
nativeEvent,
|
14642
|
+
...this.getSlotScope(day)
|
14643
|
+
};
|
14618
14644
|
})
|
14619
14645
|
}, [this.genHeadWeekday(day), this.genHeadDayLabel(day), ...this.genDayHeader(day, index)]);
|
14620
14646
|
},
|
@@ -14659,8 +14685,11 @@ var VCalendarDaily = CalendarWithIntervals.extend({
|
|
14659
14685
|
prevent: true,
|
14660
14686
|
result: false
|
14661
14687
|
}
|
14662
|
-
},
|
14663
|
-
return
|
14688
|
+
}, nativeEvent => {
|
14689
|
+
return {
|
14690
|
+
nativeEvent,
|
14691
|
+
...day
|
14692
|
+
};
|
14664
14693
|
})
|
14665
14694
|
}, this.dayFormatter(day, false));
|
14666
14695
|
},
|
@@ -14703,8 +14732,11 @@ var VCalendarDaily = CalendarWithIntervals.extend({
|
|
14703
14732
|
key: day.date,
|
14704
14733
|
staticClass: 'v-calendar-daily__day',
|
14705
14734
|
class: this.getRelativeClasses(day),
|
14706
|
-
on: this.getDefaultMouseEventHandlers(':time',
|
14707
|
-
return
|
14735
|
+
on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {
|
14736
|
+
return {
|
14737
|
+
nativeEvent,
|
14738
|
+
...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day))
|
14739
|
+
};
|
14708
14740
|
})
|
14709
14741
|
}, [...this.genDayIntervals(index), ...this.genDayBody(day)]);
|
14710
14742
|
},
|
@@ -14739,8 +14771,11 @@ var VCalendarDaily = CalendarWithIntervals.extend({
|
|
14739
14771
|
style: {
|
14740
14772
|
width
|
14741
14773
|
},
|
14742
|
-
on: this.getDefaultMouseEventHandlers(':interval',
|
14743
|
-
return
|
14774
|
+
on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {
|
14775
|
+
return {
|
14776
|
+
nativeEvent,
|
14777
|
+
...this.getTimestampAtEvent(nativeEvent, this.parsedStart)
|
14778
|
+
};
|
14744
14779
|
})
|
14745
14780
|
};
|
14746
14781
|
return this.$createElement('div', data, this.genIntervalLabels());
|
@@ -14936,7 +14971,7 @@ var VCalendarCategory = VCalendarDaily.extend({
|
|
14936
14971
|
// Styles
|
14937
14972
|
/* @vue/component */
|
14938
14973
|
|
14939
|
-
CalendarWithEvents.extend({
|
14974
|
+
var VCalendar = CalendarWithEvents.extend({
|
14940
14975
|
name: 'v-calendar',
|
14941
14976
|
props: { ...props.calendar,
|
14942
14977
|
...props.weeks,
|
@@ -15307,13 +15342,13 @@ CalendarWithEvents.extend({
|
|
15307
15342
|
value: this.updateEventVisibility
|
15308
15343
|
}],
|
15309
15344
|
on: { ...this.$listeners,
|
15310
|
-
'click:date': day => {
|
15345
|
+
'click:date': (day, e) => {
|
15311
15346
|
if (this.$listeners.input) {
|
15312
15347
|
this.$emit('input', day.date);
|
15313
15348
|
}
|
15314
15349
|
|
15315
15350
|
if (this.$listeners['click:date']) {
|
15316
|
-
this.$emit('click:date', day);
|
15351
|
+
this.$emit('click:date', day, e);
|
15317
15352
|
}
|
15318
15353
|
}
|
15319
15354
|
},
|
@@ -15862,8 +15897,8 @@ VWindow.extend({
|
|
15862
15897
|
});
|
15863
15898
|
|
15864
15899
|
// Mixins
|
15865
|
-
const baseMixins$
|
15866
|
-
var VWindowItem = baseMixins$
|
15900
|
+
const baseMixins$h = mixins(Bootable, factory$1('windowGroup', 'v-window-item', 'v-window'));
|
15901
|
+
var VWindowItem = baseMixins$h.extend().extend().extend({
|
15867
15902
|
name: 'v-window-item',
|
15868
15903
|
directives: {
|
15869
15904
|
Touch
|
@@ -16000,10 +16035,10 @@ var VWindowItem = baseMixins$g.extend().extend().extend({
|
|
16000
16035
|
|
16001
16036
|
// Extensions
|
16002
16037
|
|
16003
|
-
const baseMixins$
|
16038
|
+
const baseMixins$g = mixins(VWindowItem, Routable);
|
16004
16039
|
/* @vue/component */
|
16005
16040
|
|
16006
|
-
baseMixins$
|
16041
|
+
baseMixins$g.extend().extend({
|
16007
16042
|
name: 'v-carousel-item',
|
16008
16043
|
inject: {
|
16009
16044
|
parentTheme: {
|
@@ -16339,6 +16374,13 @@ var VCheckbox = Selectable.extend({
|
|
16339
16374
|
});
|
16340
16375
|
|
16341
16376
|
// Styles
|
16377
|
+
|
16378
|
+
function bias(val) {
|
16379
|
+
const c = 0.501;
|
16380
|
+
const x = Math.abs(val);
|
16381
|
+
return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1));
|
16382
|
+
}
|
16383
|
+
|
16342
16384
|
function calculateUpdatedOffset(selectedElement, widths, rtl, currentScrollOffset) {
|
16343
16385
|
const clientWidth = selectedElement.clientWidth;
|
16344
16386
|
const offsetLeft = rtl ? widths.content - selectedElement.offsetLeft - clientWidth : selectedElement.offsetLeft;
|
@@ -16482,7 +16524,10 @@ const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
|
|
16482
16524
|
isOverflowing: 'setWidths',
|
16483
16525
|
|
16484
16526
|
scrollOffset(val) {
|
16485
|
-
this.$
|
16527
|
+
if (this.$vuetify.rtl) val = -val;
|
16528
|
+
let scroll = val <= 0 ? bias(-val) : val > this.widths.content - this.widths.wrapper ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val) : -val;
|
16529
|
+
if (this.$vuetify.rtl) scroll = -scroll;
|
16530
|
+
this.$refs.content.style.transform = `translateX(${scroll}px)`;
|
16486
16531
|
}
|
16487
16532
|
|
16488
16533
|
},
|
@@ -16723,10 +16768,9 @@ const BaseSlideGroup = mixins(BaseItemGroup, Mobile).extend({
|
|
16723
16768
|
}, this.$vuetify.rtl, this.scrollOffset);
|
16724
16769
|
},
|
16725
16770
|
|
16726
|
-
setWidths
|
16727
|
-
/* istanbul ignore next */
|
16728
|
-
() {
|
16771
|
+
setWidths() {
|
16729
16772
|
window.requestAnimationFrame(() => {
|
16773
|
+
if (this._isDestroyed) return;
|
16730
16774
|
const {
|
16731
16775
|
content,
|
16732
16776
|
wrapper
|
@@ -18640,7 +18684,7 @@ VAutocomplete.extend({
|
|
18640
18684
|
},
|
18641
18685
|
|
18642
18686
|
setValue(value) {
|
18643
|
-
VSelect.options.methods.setValue.call(this, value
|
18687
|
+
VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value);
|
18644
18688
|
},
|
18645
18689
|
|
18646
18690
|
updateEditing() {
|
@@ -18743,12 +18787,10 @@ var VData = Vue.extend({
|
|
18743
18787
|
default: () => ({})
|
18744
18788
|
},
|
18745
18789
|
sortBy: {
|
18746
|
-
type: [String, Array]
|
18747
|
-
default: () => []
|
18790
|
+
type: [String, Array]
|
18748
18791
|
},
|
18749
18792
|
sortDesc: {
|
18750
|
-
type: [Boolean, Array]
|
18751
|
-
default: () => []
|
18793
|
+
type: [Boolean, Array]
|
18752
18794
|
},
|
18753
18795
|
customSort: {
|
18754
18796
|
type: Function,
|
@@ -19912,7 +19954,7 @@ var VDataTableHeaderDesktop = mixins(header).extend({
|
|
19912
19954
|
return this.$createElement('th', data, [this.genSelectAll()]);
|
19913
19955
|
}
|
19914
19956
|
|
19915
|
-
children.push(this.$scopedSlots
|
19957
|
+
children.push(this.$scopedSlots.hasOwnProperty(header.value) ? this.$scopedSlots[header.value]({
|
19916
19958
|
header
|
19917
19959
|
}) : this.$createElement('span', [header.text]));
|
19918
19960
|
|
@@ -20020,6 +20062,13 @@ var VDataTableHeader = Vue.extend({
|
|
20020
20062
|
});
|
20021
20063
|
|
20022
20064
|
// Types
|
20065
|
+
|
20066
|
+
function needsTd(slot) {
|
20067
|
+
var _slot$;
|
20068
|
+
|
20069
|
+
return slot.length !== 1 || !['td', 'th'].includes((_slot$ = slot[0]) == null ? void 0 : _slot$.tag);
|
20070
|
+
}
|
20071
|
+
|
20023
20072
|
var Row = Vue.extend({
|
20024
20073
|
name: 'row',
|
20025
20074
|
functional: true,
|
@@ -20040,29 +20089,29 @@ var Row = Vue.extend({
|
|
20040
20089
|
const children = [];
|
20041
20090
|
const value = getObjectValueByPath(props.item, header.value);
|
20042
20091
|
const slotName = header.value;
|
20043
|
-
const scopedSlot = data.scopedSlots && data.scopedSlots[slotName];
|
20044
|
-
const regularSlot = computedSlots[slotName];
|
20092
|
+
const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];
|
20093
|
+
const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];
|
20045
20094
|
|
20046
20095
|
if (scopedSlot) {
|
20047
|
-
children.push(scopedSlot({
|
20096
|
+
children.push(...wrapInArray(scopedSlot({
|
20048
20097
|
item: props.item,
|
20049
20098
|
isMobile: false,
|
20050
20099
|
header,
|
20051
20100
|
index: props.index,
|
20052
20101
|
value
|
20053
|
-
}));
|
20102
|
+
})));
|
20054
20103
|
} else if (regularSlot) {
|
20055
|
-
children.push(regularSlot);
|
20104
|
+
children.push(...wrapInArray(regularSlot));
|
20056
20105
|
} else {
|
20057
20106
|
children.push(value == null ? value : String(value));
|
20058
20107
|
}
|
20059
20108
|
|
20060
20109
|
const textAlign = `text-${header.align || 'start'}`;
|
20061
|
-
return h('td', {
|
20110
|
+
return needsTd(children) ? h('td', {
|
20062
20111
|
class: [textAlign, header.cellClass, {
|
20063
20112
|
'v-data-table__divider': header.divider
|
20064
20113
|
}]
|
20065
|
-
}, children);
|
20114
|
+
}, children) : children;
|
20066
20115
|
});
|
20067
20116
|
return h('tr', data, columns);
|
20068
20117
|
}
|
@@ -20183,8 +20232,8 @@ var MobileRow = Vue.extend({
|
|
20183
20232
|
const children = [];
|
20184
20233
|
const value = getObjectValueByPath(props.item, header.value);
|
20185
20234
|
const slotName = header.value;
|
20186
|
-
const scopedSlot = data.scopedSlots && data.scopedSlots[slotName];
|
20187
|
-
const regularSlot = computedSlots[slotName];
|
20235
|
+
const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];
|
20236
|
+
const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];
|
20188
20237
|
|
20189
20238
|
if (scopedSlot) {
|
20190
20239
|
children.push(scopedSlot({
|
@@ -20947,8 +20996,8 @@ mixins(Returnable, Themeable).extend({
|
|
20947
20996
|
|
20948
20997
|
});
|
20949
20998
|
|
20950
|
-
const baseMixins$
|
20951
|
-
baseMixins$
|
20999
|
+
const baseMixins$f = mixins(VSimpleTable);
|
21000
|
+
baseMixins$f.extend().extend({
|
20952
21001
|
name: 'v-virtual-table',
|
20953
21002
|
props: {
|
20954
21003
|
chunkSize: {
|
@@ -21485,7 +21534,7 @@ var DatePickerTable = mixins(Colorable, Localable, Themeable
|
|
21485
21534
|
},
|
21486
21535
|
|
21487
21536
|
methods: {
|
21488
|
-
genButtonClasses(isAllowed, isFloating, isSelected, isCurrent) {
|
21537
|
+
genButtonClasses(isAllowed, isFloating, isSelected, isCurrent, isFirst, isLast) {
|
21489
21538
|
return {
|
21490
21539
|
'v-size--default': !isFloating,
|
21491
21540
|
'v-date-picker-table__current': isCurrent,
|
@@ -21495,6 +21544,8 @@ var DatePickerTable = mixins(Colorable, Localable, Themeable
|
|
21495
21544
|
'v-btn--rounded': isFloating,
|
21496
21545
|
'v-btn--disabled': !isAllowed || this.disabled,
|
21497
21546
|
'v-btn--outlined': isCurrent && !isSelected,
|
21547
|
+
'v-date-picker--first-in-range': isFirst,
|
21548
|
+
'v-date-picker--last-in-range': isLast,
|
21498
21549
|
...this.themeClasses
|
21499
21550
|
};
|
21500
21551
|
},
|
@@ -21514,9 +21565,17 @@ var DatePickerTable = mixins(Colorable, Localable, Themeable
|
|
21514
21565
|
const isCurrent = value === this.current;
|
21515
21566
|
const setColor = isSelected ? this.setBackgroundColor : this.setTextColor;
|
21516
21567
|
const color = (isSelected || isCurrent) && (this.color || 'accent');
|
21568
|
+
let isFirst = false;
|
21569
|
+
let isLast = false;
|
21570
|
+
|
21571
|
+
if (this.range && !!this.value && Array.isArray(this.value)) {
|
21572
|
+
isFirst = value === this.value[0];
|
21573
|
+
isLast = value === this.value[this.value.length - 1];
|
21574
|
+
}
|
21575
|
+
|
21517
21576
|
return this.$createElement('button', setColor(color, {
|
21518
21577
|
staticClass: 'v-btn',
|
21519
|
-
class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent),
|
21578
|
+
class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent, isFirst, isLast),
|
21520
21579
|
attrs: {
|
21521
21580
|
type: 'button'
|
21522
21581
|
},
|
@@ -22715,10 +22774,10 @@ var VExpansionPanel = mixins(factory$1('expansionPanels', 'v-expansion-panel', '
|
|
22715
22774
|
|
22716
22775
|
});
|
22717
22776
|
|
22718
|
-
const baseMixins$
|
22777
|
+
const baseMixins$e = mixins(Bootable, Colorable, inject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel'));
|
22719
22778
|
/* @vue/component */
|
22720
22779
|
|
22721
|
-
var VExpansionPanelContent = baseMixins$
|
22780
|
+
var VExpansionPanelContent = baseMixins$e.extend().extend({
|
22722
22781
|
name: 'v-expansion-panel-content',
|
22723
22782
|
data: () => ({
|
22724
22783
|
isActive: false
|
@@ -22764,8 +22823,8 @@ var VExpansionPanelContent = baseMixins$d.extend().extend({
|
|
22764
22823
|
});
|
22765
22824
|
|
22766
22825
|
// Components
|
22767
|
-
const baseMixins$
|
22768
|
-
var VExpansionPanelHeader = baseMixins$
|
22826
|
+
const baseMixins$d = mixins(Colorable, inject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));
|
22827
|
+
var VExpansionPanelHeader = baseMixins$d.extend().extend({
|
22769
22828
|
name: 'v-expansion-panel-header',
|
22770
22829
|
directives: {
|
22771
22830
|
ripple: Ripple
|
@@ -23925,10 +23984,10 @@ mixins(Measurable, Toggleable).extend({
|
|
23925
23984
|
});
|
23926
23985
|
|
23927
23986
|
// Styles
|
23928
|
-
const baseMixins$
|
23987
|
+
const baseMixins$c = mixins(applicationable('left', ['isActive', 'isMobile', 'miniVariant', 'expandOnHover', 'permanent', 'right', 'temporary', 'width']), Colorable, Dependent, Mobile, Overlayable, SSRBootable, Themeable);
|
23929
23988
|
/* @vue/component */
|
23930
23989
|
|
23931
|
-
var VNavigationDrawer = baseMixins$
|
23990
|
+
var VNavigationDrawer = baseMixins$c.extend({
|
23932
23991
|
name: 'v-navigation-drawer',
|
23933
23992
|
directives: {
|
23934
23993
|
ClickOutside,
|
@@ -24205,6 +24264,8 @@ var VNavigationDrawer = baseMixins$b.extend({
|
|
24205
24264
|
|
24206
24265
|
genListeners() {
|
24207
24266
|
const on = {
|
24267
|
+
mouseenter: () => this.isMouseover = true,
|
24268
|
+
mouseleave: () => this.isMouseover = false,
|
24208
24269
|
transitionend: e => {
|
24209
24270
|
if (e.target !== e.currentTarget) return;
|
24210
24271
|
this.$emit('transitionend', e); // IE11 does not support new Event('resize')
|
@@ -24219,12 +24280,6 @@ var VNavigationDrawer = baseMixins$b.extend({
|
|
24219
24280
|
on.click = () => this.$emit('update:mini-variant', false);
|
24220
24281
|
}
|
24221
24282
|
|
24222
|
-
if (this.expandOnHover) {
|
24223
|
-
on.mouseenter = () => this.isMouseover = true;
|
24224
|
-
|
24225
|
-
on.mouseleave = () => this.isMouseover = false;
|
24226
|
-
}
|
24227
|
-
|
24228
24283
|
return on;
|
24229
24284
|
},
|
24230
24285
|
|
@@ -24287,12 +24342,12 @@ var VNavigationDrawer = baseMixins$b.extend({
|
|
24287
24342
|
*/
|
24288
24343
|
updateApplication() {
|
24289
24344
|
if (!this.isActive || this.isMobile || this.temporary || !this.$el) return 0;
|
24290
|
-
const width = Number(this.
|
24345
|
+
const width = Number(this.miniVariant ? this.miniVariantWidth : this.width);
|
24291
24346
|
return isNaN(width) ? this.$el.clientWidth : width;
|
24292
24347
|
},
|
24293
24348
|
|
24294
24349
|
updateMiniVariant(val) {
|
24295
|
-
if (this.miniVariant !== val) this.$emit('update:mini-variant', val);
|
24350
|
+
if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val);
|
24296
24351
|
}
|
24297
24352
|
|
24298
24353
|
},
|
@@ -24310,6 +24365,338 @@ var VNavigationDrawer = baseMixins$b.extend({
|
|
24310
24365
|
|
24311
24366
|
});
|
24312
24367
|
|
24368
|
+
// Styles
|
24369
|
+
const baseMixins$b = mixins(VInput);
|
24370
|
+
/* @vue/component */
|
24371
|
+
|
24372
|
+
var VOtpInput = baseMixins$b.extend().extend({
|
24373
|
+
name: 'v-otp-input',
|
24374
|
+
directives: {
|
24375
|
+
ripple: Ripple
|
24376
|
+
},
|
24377
|
+
inheritAttrs: false,
|
24378
|
+
props: {
|
24379
|
+
length: {
|
24380
|
+
type: [Number, String],
|
24381
|
+
default: 6
|
24382
|
+
},
|
24383
|
+
type: {
|
24384
|
+
type: String,
|
24385
|
+
default: 'text'
|
24386
|
+
},
|
24387
|
+
plain: Boolean
|
24388
|
+
},
|
24389
|
+
data: () => ({
|
24390
|
+
badInput: false,
|
24391
|
+
initialValue: null,
|
24392
|
+
isBooted: false,
|
24393
|
+
otp: []
|
24394
|
+
}),
|
24395
|
+
computed: {
|
24396
|
+
outlined() {
|
24397
|
+
return !this.plain;
|
24398
|
+
},
|
24399
|
+
|
24400
|
+
classes() {
|
24401
|
+
return { ...VInput.options.computed.classes.call(this),
|
24402
|
+
...VTextField.options.computed.classes.call(this),
|
24403
|
+
'v-otp-input--plain': this.plain
|
24404
|
+
};
|
24405
|
+
},
|
24406
|
+
|
24407
|
+
isDirty() {
|
24408
|
+
return VInput.options.computed.isDirty.call(this) || this.badInput;
|
24409
|
+
}
|
24410
|
+
|
24411
|
+
},
|
24412
|
+
watch: {
|
24413
|
+
isFocused: 'updateValue',
|
24414
|
+
|
24415
|
+
value(val) {
|
24416
|
+
this.lazyValue = val;
|
24417
|
+
this.otp = (val == null ? void 0 : val.split('')) || [];
|
24418
|
+
}
|
24419
|
+
|
24420
|
+
},
|
24421
|
+
|
24422
|
+
created() {
|
24423
|
+
var _this$internalValue;
|
24424
|
+
|
24425
|
+
/* istanbul ignore next */
|
24426
|
+
if (this.$attrs.hasOwnProperty('browser-autocomplete')) {
|
24427
|
+
breaking('browser-autocomplete', 'autocomplete', this);
|
24428
|
+
}
|
24429
|
+
|
24430
|
+
this.otp = ((_this$internalValue = this.internalValue) == null ? void 0 : _this$internalValue.split('')) || [];
|
24431
|
+
},
|
24432
|
+
|
24433
|
+
mounted() {
|
24434
|
+
requestAnimationFrame(() => this.isBooted = true);
|
24435
|
+
},
|
24436
|
+
|
24437
|
+
methods: {
|
24438
|
+
/** @public */
|
24439
|
+
focus(e, otpIdx) {
|
24440
|
+
this.onFocus(e, otpIdx || 0);
|
24441
|
+
},
|
24442
|
+
|
24443
|
+
genInputSlot(otpIdx) {
|
24444
|
+
return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {
|
24445
|
+
staticClass: 'v-input__slot',
|
24446
|
+
style: {
|
24447
|
+
height: convertToUnit(this.height)
|
24448
|
+
},
|
24449
|
+
on: {
|
24450
|
+
click: () => this.onClick(otpIdx),
|
24451
|
+
mousedown: e => this.onMouseDown(e, otpIdx),
|
24452
|
+
mouseup: e => this.onMouseUp(e, otpIdx)
|
24453
|
+
}
|
24454
|
+
}), [this.genDefaultSlot(otpIdx)]);
|
24455
|
+
},
|
24456
|
+
|
24457
|
+
genControl(otpIdx) {
|
24458
|
+
return this.$createElement('div', {
|
24459
|
+
staticClass: 'v-input__control'
|
24460
|
+
}, [this.genInputSlot(otpIdx)]);
|
24461
|
+
},
|
24462
|
+
|
24463
|
+
genDefaultSlot(otpIdx) {
|
24464
|
+
return [this.genFieldset(), this.genTextFieldSlot(otpIdx)];
|
24465
|
+
},
|
24466
|
+
|
24467
|
+
genContent() {
|
24468
|
+
return Array.from({
|
24469
|
+
length: +this.length
|
24470
|
+
}, (_, i) => {
|
24471
|
+
return this.$createElement('div', this.setTextColor(this.validationState, {
|
24472
|
+
staticClass: 'v-input',
|
24473
|
+
class: this.classes
|
24474
|
+
}), [this.genControl(i)]);
|
24475
|
+
});
|
24476
|
+
},
|
24477
|
+
|
24478
|
+
genFieldset() {
|
24479
|
+
return this.$createElement('fieldset', {
|
24480
|
+
attrs: {
|
24481
|
+
'aria-hidden': true
|
24482
|
+
}
|
24483
|
+
}, [this.genLegend()]);
|
24484
|
+
},
|
24485
|
+
|
24486
|
+
genLegend() {
|
24487
|
+
const span = this.$createElement('span', {
|
24488
|
+
domProps: {
|
24489
|
+
innerHTML: '​'
|
24490
|
+
}
|
24491
|
+
});
|
24492
|
+
return this.$createElement('legend', {
|
24493
|
+
style: {
|
24494
|
+
width: '0px'
|
24495
|
+
}
|
24496
|
+
}, [span]);
|
24497
|
+
},
|
24498
|
+
|
24499
|
+
genInput(otpIdx) {
|
24500
|
+
const listeners = Object.assign({}, this.listeners$);
|
24501
|
+
delete listeners.change; // Change should not be bound externally
|
24502
|
+
|
24503
|
+
return this.$createElement('input', {
|
24504
|
+
style: {},
|
24505
|
+
domProps: {
|
24506
|
+
value: this.otp[otpIdx],
|
24507
|
+
min: this.type === 'number' ? 0 : null
|
24508
|
+
},
|
24509
|
+
attrs: { ...this.attrs$,
|
24510
|
+
disabled: this.isDisabled,
|
24511
|
+
readonly: this.isReadonly,
|
24512
|
+
type: this.type,
|
24513
|
+
id: `${this.computedId}--${otpIdx}`,
|
24514
|
+
class: `otp-field-box--${otpIdx}`,
|
24515
|
+
maxlength: 1
|
24516
|
+
},
|
24517
|
+
on: Object.assign(listeners, {
|
24518
|
+
blur: this.onBlur,
|
24519
|
+
input: e => this.onInput(e, otpIdx),
|
24520
|
+
focus: e => this.onFocus(e, otpIdx),
|
24521
|
+
paste: e => this.onPaste(e, otpIdx),
|
24522
|
+
keydown: this.onKeyDown,
|
24523
|
+
keyup: e => this.onKeyUp(e, otpIdx)
|
24524
|
+
}),
|
24525
|
+
ref: 'input',
|
24526
|
+
refInFor: true
|
24527
|
+
});
|
24528
|
+
},
|
24529
|
+
|
24530
|
+
genTextFieldSlot(otpIdx) {
|
24531
|
+
return this.$createElement('div', {
|
24532
|
+
staticClass: 'v-text-field__slot'
|
24533
|
+
}, [this.genInput(otpIdx)]);
|
24534
|
+
},
|
24535
|
+
|
24536
|
+
onBlur(e) {
|
24537
|
+
this.isFocused = false;
|
24538
|
+
e && this.$nextTick(() => this.$emit('blur', e));
|
24539
|
+
},
|
24540
|
+
|
24541
|
+
onClick(otpIdx) {
|
24542
|
+
if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return;
|
24543
|
+
this.onFocus(undefined, otpIdx);
|
24544
|
+
},
|
24545
|
+
|
24546
|
+
onFocus(e, otpIdx) {
|
24547
|
+
e == null ? void 0 : e.preventDefault();
|
24548
|
+
e == null ? void 0 : e.stopPropagation();
|
24549
|
+
const elements = this.$refs.input;
|
24550
|
+
const ref = this.$refs.input && elements[otpIdx || 0];
|
24551
|
+
if (!ref) return;
|
24552
|
+
|
24553
|
+
if (document.activeElement !== ref) {
|
24554
|
+
ref.focus();
|
24555
|
+
return ref.select();
|
24556
|
+
}
|
24557
|
+
|
24558
|
+
if (!this.isFocused) {
|
24559
|
+
this.isFocused = true;
|
24560
|
+
ref.select();
|
24561
|
+
e && this.$emit('focus', e);
|
24562
|
+
}
|
24563
|
+
},
|
24564
|
+
|
24565
|
+
onInput(e, otpIdx) {
|
24566
|
+
const target = e.target;
|
24567
|
+
const value = target.value;
|
24568
|
+
this.applyValue(otpIdx, target.value, () => {
|
24569
|
+
this.internalValue = this.otp.join('');
|
24570
|
+
});
|
24571
|
+
this.badInput = target.validity && target.validity.badInput;
|
24572
|
+
const nextIndex = otpIdx + 1;
|
24573
|
+
|
24574
|
+
if (value) {
|
24575
|
+
if (nextIndex < +this.length) {
|
24576
|
+
this.changeFocus(nextIndex);
|
24577
|
+
} else {
|
24578
|
+
this.clearFocus(otpIdx);
|
24579
|
+
this.onCompleted();
|
24580
|
+
}
|
24581
|
+
}
|
24582
|
+
},
|
24583
|
+
|
24584
|
+
clearFocus(index) {
|
24585
|
+
const input = this.$refs.input[index];
|
24586
|
+
input.blur();
|
24587
|
+
},
|
24588
|
+
|
24589
|
+
onKeyDown(e) {
|
24590
|
+
if (e.keyCode === keyCodes.enter) {
|
24591
|
+
this.$emit('change', this.internalValue);
|
24592
|
+
}
|
24593
|
+
|
24594
|
+
this.$emit('keydown', e);
|
24595
|
+
},
|
24596
|
+
|
24597
|
+
onMouseDown(e, otpIdx) {
|
24598
|
+
// Prevent input from being blurred
|
24599
|
+
if (e.target !== this.$refs.input[otpIdx]) {
|
24600
|
+
e.preventDefault();
|
24601
|
+
e.stopPropagation();
|
24602
|
+
}
|
24603
|
+
|
24604
|
+
VInput.options.methods.onMouseDown.call(this, e);
|
24605
|
+
},
|
24606
|
+
|
24607
|
+
onMouseUp(e, otpIdx) {
|
24608
|
+
if (this.hasMouseDown) this.focus(e, otpIdx);
|
24609
|
+
VInput.options.methods.onMouseUp.call(this, e);
|
24610
|
+
},
|
24611
|
+
|
24612
|
+
onPaste(event, index) {
|
24613
|
+
var _event$clipboardData;
|
24614
|
+
|
24615
|
+
const maxCursor = +this.length - 1;
|
24616
|
+
const inputVal = event == null ? void 0 : (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.getData('Text');
|
24617
|
+
const inputDataArray = (inputVal == null ? void 0 : inputVal.split('')) || [];
|
24618
|
+
event.preventDefault();
|
24619
|
+
const newOtp = [...this.otp];
|
24620
|
+
|
24621
|
+
for (let i = 0; i < inputDataArray.length; i++) {
|
24622
|
+
const appIdx = index + i;
|
24623
|
+
if (appIdx > maxCursor) break;
|
24624
|
+
newOtp[appIdx] = inputDataArray[i].toString();
|
24625
|
+
}
|
24626
|
+
|
24627
|
+
this.otp = newOtp;
|
24628
|
+
this.internalValue = this.otp.join('');
|
24629
|
+
const targetFocus = Math.min(index + inputDataArray.length, maxCursor);
|
24630
|
+
this.changeFocus(targetFocus);
|
24631
|
+
|
24632
|
+
if (newOtp.length === +this.length) {
|
24633
|
+
this.onCompleted();
|
24634
|
+
this.clearFocus(targetFocus);
|
24635
|
+
}
|
24636
|
+
},
|
24637
|
+
|
24638
|
+
applyValue(index, inputVal, next) {
|
24639
|
+
const newOtp = [...this.otp];
|
24640
|
+
newOtp[index] = inputVal;
|
24641
|
+
this.otp = newOtp;
|
24642
|
+
next();
|
24643
|
+
},
|
24644
|
+
|
24645
|
+
changeFocus(index) {
|
24646
|
+
this.onFocus(undefined, index || 0);
|
24647
|
+
},
|
24648
|
+
|
24649
|
+
updateValue(val) {
|
24650
|
+
// Sets validationState from validatable
|
24651
|
+
this.hasColor = val;
|
24652
|
+
|
24653
|
+
if (val) {
|
24654
|
+
this.initialValue = this.lazyValue;
|
24655
|
+
} else if (this.initialValue !== this.lazyValue) {
|
24656
|
+
this.$emit('change', this.lazyValue);
|
24657
|
+
}
|
24658
|
+
},
|
24659
|
+
|
24660
|
+
onKeyUp(event, index) {
|
24661
|
+
event.preventDefault();
|
24662
|
+
const eventKey = event.key;
|
24663
|
+
|
24664
|
+
if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {
|
24665
|
+
return;
|
24666
|
+
}
|
24667
|
+
|
24668
|
+
if (['Delete'].includes(eventKey)) {
|
24669
|
+
return;
|
24670
|
+
}
|
24671
|
+
|
24672
|
+
if (eventKey === 'ArrowLeft' || eventKey === 'Backspace' && !this.otp[index]) {
|
24673
|
+
return index > 0 && this.changeFocus(index - 1);
|
24674
|
+
}
|
24675
|
+
|
24676
|
+
if (eventKey === 'ArrowRight') {
|
24677
|
+
return index + 1 < +this.length && this.changeFocus(index + 1);
|
24678
|
+
}
|
24679
|
+
},
|
24680
|
+
|
24681
|
+
onCompleted() {
|
24682
|
+
const rsp = this.otp.join('');
|
24683
|
+
|
24684
|
+
if (rsp.length === +this.length) {
|
24685
|
+
this.$emit('finish', rsp);
|
24686
|
+
}
|
24687
|
+
}
|
24688
|
+
|
24689
|
+
},
|
24690
|
+
|
24691
|
+
render(h) {
|
24692
|
+
return h('div', {
|
24693
|
+
staticClass: 'v-otp-input',
|
24694
|
+
class: this.themeClasses
|
24695
|
+
}, this.genContent());
|
24696
|
+
}
|
24697
|
+
|
24698
|
+
});
|
24699
|
+
|
24313
24700
|
// Styles
|
24314
24701
|
/* @vue/component */
|
24315
24702
|
|
@@ -24515,13 +24902,14 @@ var VPagination = mixins(Colorable, intersectable({
|
|
24515
24902
|
|
24516
24903
|
},
|
24517
24904
|
|
24518
|
-
|
24905
|
+
beforeMount() {
|
24519
24906
|
this.init();
|
24520
24907
|
},
|
24521
24908
|
|
24522
24909
|
methods: {
|
24523
24910
|
init() {
|
24524
24911
|
this.selected = null;
|
24912
|
+
this.onResize();
|
24525
24913
|
this.$nextTick(this.onResize); // TODO: Change this (f75dee3a, cbdf7caa)
|
24526
24914
|
|
24527
24915
|
setTimeout(() => this.selected = this.value, 100);
|
@@ -24773,7 +25161,7 @@ baseMixins$a.extend().extend({
|
|
24773
25161
|
});
|
24774
25162
|
|
24775
25163
|
// Styles
|
24776
|
-
const baseMixins$9 = mixins(
|
25164
|
+
const baseMixins$9 = mixins(BaseItemGroup, VInput);
|
24777
25165
|
/* @vue/component */
|
24778
25166
|
|
24779
25167
|
var VRadioGroup = baseMixins$9.extend({
|
@@ -25699,9 +26087,7 @@ var VSnackbar = mixins(VSheet, Colorable, Toggleable, factory$3(['absolute', 'bo
|
|
25699
26087
|
},
|
25700
26088
|
|
25701
26089
|
styles() {
|
25702
|
-
|
25703
|
-
// using the absolute prop.
|
25704
|
-
if (this.absolute) return {};
|
26090
|
+
if (this.absolute || !this.app) return {};
|
25705
26091
|
const {
|
25706
26092
|
bar,
|
25707
26093
|
bottom,
|
@@ -25710,13 +26096,11 @@ var VSnackbar = mixins(VSheet, Colorable, Toggleable, factory$3(['absolute', 'bo
|
|
25710
26096
|
left,
|
25711
26097
|
right,
|
25712
26098
|
top
|
25713
|
-
} = this.$vuetify.application;
|
25714
|
-
// applicationable components.
|
25715
|
-
|
26099
|
+
} = this.$vuetify.application;
|
25716
26100
|
return {
|
25717
26101
|
paddingBottom: convertToUnit(bottom + footer + insetFooter),
|
25718
|
-
paddingLeft:
|
25719
|
-
paddingRight:
|
26102
|
+
paddingLeft: convertToUnit(left),
|
26103
|
+
paddingRight: convertToUnit(right),
|
25720
26104
|
paddingTop: convertToUnit(bar + top)
|
25721
26105
|
};
|
25722
26106
|
}
|
@@ -26592,6 +26976,12 @@ var VStepperStep = baseMixins$6.extend().extend({
|
|
26592
26976
|
return children;
|
26593
26977
|
},
|
26594
26978
|
|
26979
|
+
keyboardClick(e) {
|
26980
|
+
if (e.keyCode === keyCodes.space) {
|
26981
|
+
this.click(e);
|
26982
|
+
}
|
26983
|
+
},
|
26984
|
+
|
26595
26985
|
toggle(step) {
|
26596
26986
|
this.isActive = step.toString() === this.step.toString();
|
26597
26987
|
this.isInactive = Number(step) < Number(this.step);
|
@@ -26601,6 +26991,9 @@ var VStepperStep = baseMixins$6.extend().extend({
|
|
26601
26991
|
|
26602
26992
|
render(h) {
|
26603
26993
|
return h('div', {
|
26994
|
+
attrs: {
|
26995
|
+
tabindex: this.editable ? 0 : -1
|
26996
|
+
},
|
26604
26997
|
staticClass: 'v-stepper__step',
|
26605
26998
|
class: this.classes,
|
26606
26999
|
directives: [{
|
@@ -26608,7 +27001,8 @@ var VStepperStep = baseMixins$6.extend().extend({
|
|
26608
27001
|
value: this.editable
|
26609
27002
|
}],
|
26610
27003
|
on: {
|
26611
|
-
click: this.click
|
27004
|
+
click: this.click,
|
27005
|
+
keydown: this.keyboardClick
|
26612
27006
|
}
|
26613
27007
|
}, [this.genStep(), this.genLabel()]);
|
26614
27008
|
}
|
@@ -27340,7 +27734,8 @@ var VTab = baseMixins$3.extend().extend().extend({
|
|
27340
27734
|
},
|
27341
27735
|
|
27342
27736
|
value() {
|
27343
|
-
let to = this.to || this.href
|
27737
|
+
let to = this.to || this.href;
|
27738
|
+
if (to == null) return to;
|
27344
27739
|
|
27345
27740
|
if (this.$router && this.to === Object(this.to)) {
|
27346
27741
|
const resolve = this.$router.resolve(this.to, this.$route, this.append);
|
@@ -27372,7 +27767,7 @@ var VTab = baseMixins$3.extend().extend().extend({
|
|
27372
27767
|
|
27373
27768
|
toggle() {
|
27374
27769
|
// VItemGroup treats a change event as a click
|
27375
|
-
if (!this.isActive) {
|
27770
|
+
if (!this.isActive || !this.tabsBar.mandatory && !this.to) {
|
27376
27771
|
this.$emit('change');
|
27377
27772
|
}
|
27378
27773
|
}
|
@@ -27387,7 +27782,7 @@ var VTab = baseMixins$3.extend().extend().extend({
|
|
27387
27782
|
data.attrs = { ...data.attrs,
|
27388
27783
|
'aria-selected': String(this.isActive),
|
27389
27784
|
role: 'tab',
|
27390
|
-
tabindex: 0
|
27785
|
+
tabindex: this.disabled ? -1 : 0
|
27391
27786
|
};
|
27392
27787
|
data.on = { ...data.on,
|
27393
27788
|
keydown: e => {
|
@@ -28328,11 +28723,11 @@ var VTimePicker = mixins(Picker, PickerButton
|
|
28328
28723
|
|
28329
28724
|
// Components
|
28330
28725
|
createSimpleFunctional('v-toolbar__title');
|
28331
|
-
createSimpleFunctional('v-toolbar__items');
|
28726
|
+
const VToolbarItems = createSimpleFunctional('v-toolbar__items');
|
28332
28727
|
|
28333
28728
|
/* @vue/component */
|
28334
28729
|
|
28335
|
-
var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable
|
28730
|
+
var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable).extend({
|
28336
28731
|
name: 'v-tooltip',
|
28337
28732
|
props: {
|
28338
28733
|
closeDelay: {
|
@@ -28348,6 +28743,10 @@ var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).ext
|
|
28348
28743
|
type: Boolean,
|
28349
28744
|
default: true
|
28350
28745
|
},
|
28746
|
+
openOnFocus: {
|
28747
|
+
type: Boolean,
|
28748
|
+
default: true
|
28749
|
+
},
|
28351
28750
|
tag: {
|
28352
28751
|
type: String,
|
28353
28752
|
default: 'span'
|
@@ -28427,7 +28826,6 @@ var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).ext
|
|
28427
28826
|
left: this.calculatedLeft,
|
28428
28827
|
maxWidth: convertToUnit(this.maxWidth),
|
28429
28828
|
minWidth: convertToUnit(this.minWidth),
|
28430
|
-
opacity: this.isActive ? 0.9 : 0,
|
28431
28829
|
top: this.calculatedTop,
|
28432
28830
|
zIndex: this.zIndex || this.activeZIndex
|
28433
28831
|
};
|
@@ -28463,15 +28861,17 @@ var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).ext
|
|
28463
28861
|
genActivatorListeners() {
|
28464
28862
|
const listeners = Activatable.options.methods.genActivatorListeners.call(this);
|
28465
28863
|
|
28466
|
-
|
28467
|
-
|
28468
|
-
|
28469
|
-
|
28864
|
+
if (this.openOnFocus) {
|
28865
|
+
listeners.focus = e => {
|
28866
|
+
this.getActivator(e);
|
28867
|
+
this.runDelay('open');
|
28868
|
+
};
|
28470
28869
|
|
28471
|
-
|
28472
|
-
|
28473
|
-
|
28474
|
-
|
28870
|
+
listeners.blur = e => {
|
28871
|
+
this.getActivator(e);
|
28872
|
+
this.runDelay('close');
|
28873
|
+
};
|
28874
|
+
}
|
28475
28875
|
|
28476
28876
|
listeners.keydown = e => {
|
28477
28877
|
if (e.keyCode === keyCodes.esc) {
|
@@ -28541,6 +28941,7 @@ const VTreeviewNodeProps = {
|
|
28541
28941
|
type: String,
|
28542
28942
|
default: 'primary'
|
28543
28943
|
},
|
28944
|
+
disablePerNode: Boolean,
|
28544
28945
|
expandIcon: {
|
28545
28946
|
type: String,
|
28546
28947
|
default: '$subgroup'
|
@@ -28621,7 +29022,7 @@ const VTreeviewNode = baseMixins.extend().extend({
|
|
28621
29022
|
}),
|
28622
29023
|
computed: {
|
28623
29024
|
disabled() {
|
28624
|
-
return getObjectValueByPath(this.item, this.itemDisabled) || this.parentIsDisabled && this.selectionType === 'leaf';
|
29025
|
+
return getObjectValueByPath(this.item, this.itemDisabled) || !this.disablePerNode && this.parentIsDisabled && this.selectionType === 'leaf';
|
28625
29026
|
},
|
28626
29027
|
|
28627
29028
|
key() {
|
@@ -28805,6 +29206,7 @@ const VTreeviewNode = baseMixins.extend().extend({
|
|
28805
29206
|
selectable: this.selectable,
|
28806
29207
|
selectedColor: this.selectedColor,
|
28807
29208
|
color: this.color,
|
29209
|
+
disablePerNode: this.disablePerNode,
|
28808
29210
|
expandIcon: this.expandIcon,
|
28809
29211
|
indeterminateIcon: this.indeterminateIcon,
|
28810
29212
|
offIcon: this.offIcon,
|
@@ -28907,6 +29309,7 @@ mixins(provide('treeview'), Themeable
|
|
28907
29309
|
default: () => []
|
28908
29310
|
},
|
28909
29311
|
dense: Boolean,
|
29312
|
+
disabled: Boolean,
|
28910
29313
|
filter: Function,
|
28911
29314
|
hoverable: Boolean,
|
28912
29315
|
items: {
|
@@ -29257,7 +29660,7 @@ mixins(provide('treeview'), Themeable
|
|
29257
29660
|
return !this.isExcluded(getObjectValueByPath(item, this.itemKey));
|
29258
29661
|
}).map(item => {
|
29259
29662
|
const genChild = VTreeviewNode.options.methods.genChild.bind(this);
|
29260
|
-
return genChild(item, getObjectValueByPath(item, this.itemDisabled));
|
29663
|
+
return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled));
|
29261
29664
|
})
|
29262
29665
|
/* istanbul ignore next */
|
29263
29666
|
: this.$slots.default; // TODO: remove type annotation with TS 3.2
|
@@ -31530,8 +31933,10 @@ let ZdInput = class ZdInput extends ZdComponentRender$1 {
|
|
31530
31933
|
}
|
31531
31934
|
mounted() {
|
31532
31935
|
this.inputRef = this.$refs.instance;
|
31533
|
-
|
31534
|
-
|
31936
|
+
if (this.inputRef) {
|
31937
|
+
this.instance.setViewValidate(this.inputRef.validate);
|
31938
|
+
this.instance.setViewResetValidation(this.inputRef.resetValidation);
|
31939
|
+
}
|
31535
31940
|
}
|
31536
31941
|
input(value) {
|
31537
31942
|
this.$emit('update:value', value);
|
@@ -42150,10 +42555,7 @@ let ZdMenu = class ZdMenu extends ZdComponentRender$1 {
|
|
42150
42555
|
KeyMap.unbind(this.navigationKeyMapping, this);
|
42151
42556
|
}
|
42152
42557
|
showSlotOnHover() {
|
42153
|
-
|
42154
|
-
return this.instance.miniState;
|
42155
|
-
}
|
42156
|
-
return !this.instance.miniState;
|
42558
|
+
return (this.instance.miniState && this.instance.mouseOver) || (!this.instance.miniState || this.instance.mini);
|
42157
42559
|
}
|
42158
42560
|
doSearch({ component }) {
|
42159
42561
|
this.instance.search = component.value;
|
@@ -42406,11 +42808,13 @@ var __vue_render__$z = function () {
|
|
42406
42808
|
floating: _vm.instance.floating,
|
42407
42809
|
"mini-variant-width": _vm.instance.miniWidth,
|
42408
42810
|
"mini-variant":
|
42409
|
-
(_vm.instance.mini ||
|
42410
|
-
|
42411
|
-
|
42412
|
-
|
42413
|
-
|
42811
|
+
(!_vm.instance.opened && _vm.instance.mini) ||
|
42812
|
+
(_vm.instance.miniState &&
|
42813
|
+
!_vm.instance.mouseOver &&
|
42814
|
+
_vm.instance.miniState &&
|
42815
|
+
_vm.$refs.ZdMenu &&
|
42816
|
+
!_vm.$refs.ZdMenu.isMobile) ||
|
42817
|
+
(_vm.instance.miniState && _vm.instance.mini),
|
42414
42818
|
"mobile-breakpoint": _vm.instance.mobileBreakpoint,
|
42415
42819
|
temporary: _vm.instance.temporary,
|
42416
42820
|
width: _vm.instance.width,
|
@@ -42513,7 +42917,7 @@ __vue_render__$z._withStripped = true;
|
|
42513
42917
|
/* style */
|
42514
42918
|
const __vue_inject_styles__$z = function (inject) {
|
42515
42919
|
if (!inject) return
|
42516
|
-
inject("data-v-
|
42920
|
+
inject("data-v-13b6f89c_0", { source: ".zd-menu .v-list .v-list-item .v-list-item__title {\n font-weight: var(--zd-font-body1-weight);\n font-size: var(--zd-font-body1-size);\n color: var(--zd-font-color);\n text-align: left;\n}\n.zd-menu .v-list .v-list-item .v-list-item__icon .v-icon {\n color: var(--zd-font-color);\n}\n.zd-menu .v-list .v-list-item.selected .v-list-item__title {\n font-weight: var(--zd-font-body2-weight);\n color: var(--v-primary-base);\n}\n.zd-menu .v-list .v-list-item.selected .v-list-item__icon .v-icon {\n color: var(--v-primary-base);\n}\n.zd-menu .v-list .v-list-item.v-list-item--active:not(.focus-visible):not(:focus):not([data-focus-visible-added]):not(:hover):before {\n opacity: 0;\n}\n.zd-menu .v-list .v-list-group.selected > .v-list-group__header .v-list-item__title {\n font-weight: var(--zd-font-body2-weight);\n color: var(--v-primary-base);\n}\n.zd-menu .v-list .v-list-group.selected > .v-list-group__header .v-list-item__icon .v-icon {\n color: var(--v-primary-base);\n}\n.zd-menu .v-list .zd-menu-top-slot {\n margin-bottom: 10px;\n display: block;\n}\n.zd-menu.v-navigation-drawer--mini-variant .v-list-item {\n justify-content: inherit;\n}\n.zd-menu.v-navigation-drawer--is-mobile div > .zd-menu-top-slot {\n display: block !important;\n}\n.zd-menu.theme--dark .v-list .v-list-item .v-list-item__title {\n color: var(--v--grey-lighten5);\n}\n.zd-menu.theme--dark .v-list .v-list-item .v-list-item__icon .v-icon {\n color: var(--v--grey-lighten5);\n}", map: undefined, media: undefined });
|
42517
42921
|
|
42518
42922
|
};
|
42519
42923
|
/* scoped */
|
@@ -48048,26 +48452,30 @@ __vue_render__$5._withStripped = true;
|
|
48048
48452
|
let ZdTreeCheckbox = class ZdTreeCheckbox extends Vue {
|
48049
48453
|
get childrenCheck() {
|
48050
48454
|
var _a;
|
48051
|
-
return (_a = this.node.children) === null || _a === void 0 ? void 0 : _a.every((child) => child.
|
48455
|
+
return (_a = this.node.children) === null || _a === void 0 ? void 0 : _a.every((child) => child.data && child.data[this.checkedField]);
|
48052
48456
|
}
|
48053
48457
|
check() {
|
48054
|
-
this.node.
|
48458
|
+
if (!this.node.data)
|
48459
|
+
return;
|
48460
|
+
this.node.data[this.checkedField] = this.childrenCheck;
|
48055
48461
|
}
|
48056
48462
|
get isIndeterminate() {
|
48057
48463
|
var _a, _b;
|
48058
48464
|
let count = 0;
|
48059
48465
|
(_a = this.node.children) === null || _a === void 0 ? void 0 : _a.forEach((child) => {
|
48060
|
-
if (child.
|
48466
|
+
if (child.data && child.data[this.checkedField])
|
48061
48467
|
count += 1;
|
48062
48468
|
});
|
48063
48469
|
return (count > 0) && (count < (((_b = this.node.children) === null || _b === void 0 ? void 0 : _b.length) || 0));
|
48064
48470
|
}
|
48065
48471
|
checkboxToggle(node) {
|
48066
|
-
this.toggleChildren([node], !!node.
|
48472
|
+
this.toggleChildren([node], !!(node.data && node.data[this.checkedField]));
|
48067
48473
|
}
|
48068
48474
|
toggleChildren(nodes, value) {
|
48069
48475
|
nodes.forEach((node) => {
|
48070
|
-
node.
|
48476
|
+
if (!node.data)
|
48477
|
+
return;
|
48478
|
+
node.data[this.checkedField] = value;
|
48071
48479
|
if (node.children && node.children.length > 0)
|
48072
48480
|
this.toggleChildren(node.children, value);
|
48073
48481
|
});
|
@@ -48081,6 +48489,10 @@ __decorate([
|
|
48081
48489
|
Prop({ type: [Object], default: () => [] }),
|
48082
48490
|
__metadata("design:type", Object)
|
48083
48491
|
], ZdTreeCheckbox.prototype, "node", void 0);
|
48492
|
+
__decorate([
|
48493
|
+
Prop({ type: [String], default: 'checked' }),
|
48494
|
+
__metadata("design:type", String)
|
48495
|
+
], ZdTreeCheckbox.prototype, "checkedField", void 0);
|
48084
48496
|
__decorate([
|
48085
48497
|
Watch('childrenCheck'),
|
48086
48498
|
__metadata("design:type", Function),
|
@@ -48108,7 +48520,7 @@ var __vue_render__$4 = function () {
|
|
48108
48520
|
"on-icon": _vm.$getIcon("checkboxOn"),
|
48109
48521
|
"off-icon": _vm.$getIcon("checkboxOff"),
|
48110
48522
|
"indeterminate-icon": _vm.$getIcon("checkboxIndeterminate"),
|
48111
|
-
"input-value": _vm.node.
|
48523
|
+
"input-value": _vm.node.data[_vm.checkedField],
|
48112
48524
|
indeterminate: _vm.isIndeterminate,
|
48113
48525
|
},
|
48114
48526
|
on: {
|
@@ -48117,11 +48529,11 @@ var __vue_render__$4 = function () {
|
|
48117
48529
|
},
|
48118
48530
|
},
|
48119
48531
|
model: {
|
48120
|
-
value: _vm.node.
|
48532
|
+
value: _vm.node.data[_vm.checkedField],
|
48121
48533
|
callback: function ($$v) {
|
48122
|
-
_vm.$set(_vm.node,
|
48534
|
+
_vm.$set(_vm.node.data, _vm.checkedField, $$v);
|
48123
48535
|
},
|
48124
|
-
expression: "node.
|
48536
|
+
expression: "node.data[checkedField]",
|
48125
48537
|
},
|
48126
48538
|
})
|
48127
48539
|
};
|
@@ -48131,7 +48543,7 @@ __vue_render__$4._withStripped = true;
|
|
48131
48543
|
/* style */
|
48132
48544
|
const __vue_inject_styles__$4 = function (inject) {
|
48133
48545
|
if (!inject) return
|
48134
|
-
inject("data-v-
|
48546
|
+
inject("data-v-130a7c09_0", { source: ".zd-tree-checkbox {\n display: inline-block;\n top: 50%;\n transform: translate(0, -50%);\n}\n.zd-tree-checkbox > .v-input--selection-controls__input {\n margin-right: 0;\n}", map: undefined, media: undefined });
|
48135
48547
|
|
48136
48548
|
};
|
48137
48549
|
/* scoped */
|
@@ -48253,6 +48665,7 @@ let ZdTree = class ZdTree extends ZdComponentRender$1 {
|
|
48253
48665
|
mounted() {
|
48254
48666
|
this.instance.setTree(this.$refs.tree);
|
48255
48667
|
this.setAfterTitleMargin();
|
48668
|
+
this.nodeChange();
|
48256
48669
|
this.$watch('$refs.tree.nodes', this.nodeChange, { deep: true });
|
48257
48670
|
}
|
48258
48671
|
dataChange() {
|
@@ -48383,6 +48796,10 @@ __decorate([
|
|
48383
48796
|
Prop({ type: String, default: '' }),
|
48384
48797
|
__metadata("design:type", String)
|
48385
48798
|
], ZdTree.prototype, "dataField", void 0);
|
48799
|
+
__decorate([
|
48800
|
+
Prop({ type: String, default: 'checked' }),
|
48801
|
+
__metadata("design:type", String)
|
48802
|
+
], ZdTree.prototype, "checkedField", void 0);
|
48386
48803
|
__decorate([
|
48387
48804
|
Prop({ type: [Boolean, String], default: false }),
|
48388
48805
|
__metadata("design:type", Boolean)
|
@@ -48486,7 +48903,10 @@ var __vue_render__$2 = function () {
|
|
48486
48903
|
return [
|
48487
48904
|
_vm.instance.checkbox
|
48488
48905
|
? _c("zd-tree-checkbox", {
|
48489
|
-
attrs: {
|
48906
|
+
attrs: {
|
48907
|
+
node: _vm.instanceNode(node),
|
48908
|
+
checkedField: _vm.instance.checkedField,
|
48909
|
+
},
|
48490
48910
|
on: {
|
48491
48911
|
click: function ($event) {
|
48492
48912
|
return _vm.nodeCheck(node, $event)
|
@@ -48688,7 +49108,7 @@ __vue_render__$2._withStripped = true;
|
|
48688
49108
|
/* style */
|
48689
49109
|
const __vue_inject_styles__$2 = function (inject) {
|
48690
49110
|
if (!inject) return
|
48691
|
-
inject("data-v-
|
49111
|
+
inject("data-v-58bd8c74_0", { source: ".zd-tree {\n color: var(--zd-font-color);\n font-size: var(--zd-font-body1-size);\n font-weight: normal;\n}\n.zd-tree.theme--light .sl-vue-tree-title {\n color: var(--zd-font-color);\n}\n.zd-tree.theme--light .sl-vue-tree-nodes-list .sl-vue-tree-node .sl-vue-tree-node-item:hover {\n background: #eee;\n}\n.zd-tree.theme--dark .sl-vue-tree-title {\n color: #fff;\n}\n.zd-tree.theme--dark .sl-vue-tree-nodes-list .sl-vue-tree-node .sl-vue-tree-node-item:hover {\n background: #616161;\n}\n.zd-tree .sl-vue-tree-title {\n display: flex;\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node {\n padding-top: 3px;\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node .sl-vue-tree-node-item {\n height: 30px;\n line-height: 30px;\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node.sl-vue-tree-selected > .sl-vue-tree-node-item {\n background-color: var(--current-row-color);\n color: var(--zd-font-color);\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node.sl-vue-tree-selected > .sl-vue-tree-node-item:hover {\n background: var(--current-row-hover-color) !important;\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node.sl-vue-tree-selected > .sl-vue-tree-node-item .sl-vue-tree-toggle .v-icon {\n color: var(--zd-font-color);\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-node .sl-vue-tree-toggle span .v-icon {\n margin-right: -6px;\n}\n.zd-tree .sl-vue-tree-nodes-list .sl-vue-tree-gap {\n width: 32px;\n}\n.zd-tree .item-title {\n padding-left: 6px;\n}\n.zd-tree .item-title.has-children {\n font-weight: 700;\n}\n.zd-tree .item-title.is-clickable {\n cursor: pointer;\n}", map: undefined, media: undefined });
|
48692
49112
|
|
48693
49113
|
};
|
48694
49114
|
/* scoped */
|
@@ -50951,6 +51371,7 @@ const Zeedhi = {
|
|
50951
51371
|
VBreadcrumbs,
|
50952
51372
|
VBtn,
|
50953
51373
|
VBtnToggle,
|
51374
|
+
VCalendar,
|
50954
51375
|
VCard,
|
50955
51376
|
VCardActions,
|
50956
51377
|
VCardText,
|
@@ -50986,6 +51407,7 @@ const Zeedhi = {
|
|
50986
51407
|
VMenu,
|
50987
51408
|
VNavigationDrawer,
|
50988
51409
|
VOverlay,
|
51410
|
+
VOtpInput,
|
50989
51411
|
VPagination,
|
50990
51412
|
VProgressCircular,
|
50991
51413
|
VProgressLinear,
|
@@ -51017,6 +51439,8 @@ const Zeedhi = {
|
|
51017
51439
|
VTextField,
|
51018
51440
|
VTimePicker,
|
51019
51441
|
VTooltip,
|
51442
|
+
VToolbar,
|
51443
|
+
VToolbarItems,
|
51020
51444
|
VSimpleCheckbox,
|
51021
51445
|
},
|
51022
51446
|
});
|