@zeedhi/vuetify 1.45.0 → 1.47.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.
@@ -330,9 +330,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
330
330
  }
331
331
 
332
332
  register(uid, location, size) {
333
- this.application[location] = {
334
- [uid]: size
335
- };
333
+ this.application[location][uid] = size;
336
334
  this.update(location);
337
335
  }
338
336
 
@@ -657,13 +655,20 @@ If you're seeing "$attrs is readonly", it's caused by this`);
657
655
  return Vue__default["default"].extend({
658
656
  name: name || c.replace(/__/g, '-'),
659
657
  functional: true,
658
+ props: {
659
+ tag: {
660
+ type: String,
661
+ default: el
662
+ }
663
+ },
660
664
 
661
665
  render(h, {
662
666
  data,
667
+ props,
663
668
  children
664
669
  }) {
665
670
  data.staticClass = `${c} ${data.staticClass || ''}`.trim();
666
- return h(el, data, children);
671
+ return h(props.tag, data, children);
667
672
  }
668
673
 
669
674
  });
@@ -962,12 +967,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
962
967
  */
963
968
 
964
969
  function getSlotType(vm, name, split) {
965
- if (vm.$slots[name] && vm.$scopedSlots[name] && vm.$scopedSlots[name].name) {
970
+ if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && vm.$scopedSlots[name].name) {
966
971
  return split ? 'v-slot' : 'scoped';
967
972
  }
968
973
 
969
- if (vm.$slots[name]) return 'normal';
970
- if (vm.$scopedSlots[name]) return 'scoped';
974
+ if (vm.$slots.hasOwnProperty(name)) return 'normal';
975
+ if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped';
971
976
  }
972
977
  function debounce(fn, delay) {
973
978
  let timeoutId = 0;
@@ -993,9 +998,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
993
998
  }, {});
994
999
  }
995
1000
  function getSlot(vm, name = 'default', data, optional = false) {
996
- if (vm.$scopedSlots[name]) {
1001
+ if (vm.$scopedSlots.hasOwnProperty(name)) {
997
1002
  return vm.$scopedSlots[name](data instanceof Function ? data() : data);
998
- } else if (vm.$slots[name] && (!data || optional)) {
1003
+ } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {
999
1004
  return vm.$slots[name];
1000
1005
  }
1001
1006
 
@@ -2215,7 +2220,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
2215
2220
  }
2216
2221
  Vuetify.install = install;
2217
2222
  Vuetify.installed = false;
2218
- Vuetify.version = "2.5.14";
2223
+ Vuetify.version = "2.6.4";
2219
2224
  Vuetify.config = {
2220
2225
  silent: false
2221
2226
  };
@@ -3477,10 +3482,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
3477
3482
  el.style.webkitTransform = value;
3478
3483
  }
3479
3484
 
3480
- function opacity(el, value) {
3481
- el.style.opacity = value.toString();
3482
- }
3483
-
3484
3485
  function isTouchEvent(e) {
3485
3486
  return e.constructor.name === 'TouchEvent';
3486
3487
  }
@@ -3564,13 +3565,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
3564
3565
  animation.classList.add('v-ripple__animation--enter');
3565
3566
  animation.classList.add('v-ripple__animation--visible');
3566
3567
  transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
3567
- opacity(animation, 0);
3568
3568
  animation.dataset.activated = String(performance.now());
3569
3569
  setTimeout(() => {
3570
3570
  animation.classList.remove('v-ripple__animation--enter');
3571
3571
  animation.classList.add('v-ripple__animation--in');
3572
3572
  transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
3573
- opacity(animation, 0.25);
3574
3573
  }, 0);
3575
3574
  },
3576
3575
 
@@ -3585,7 +3584,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
3585
3584
  setTimeout(() => {
3586
3585
  animation.classList.remove('v-ripple__animation--in');
3587
3586
  animation.classList.add('v-ripple__animation--out');
3588
- opacity(animation, 0);
3589
3587
  setTimeout(() => {
3590
3588
  const ripples = el.getElementsByClassName('v-ripple__animation');
3591
3589
 
@@ -4061,10 +4059,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
4061
4059
  const Toggleable = factory$2();
4062
4060
 
4063
4061
  // Styles
4064
- const baseMixins$t = mixins(VToolbar, Scrollable, SSRBootable, Toggleable, applicationable('top', ['clippedLeft', 'clippedRight', 'computedHeight', 'invertedScroll', 'isExtended', 'isProminent', 'value']));
4062
+ const baseMixins$u = mixins(VToolbar, Scrollable, SSRBootable, Toggleable, applicationable('top', ['clippedLeft', 'clippedRight', 'computedHeight', 'invertedScroll', 'isExtended', 'isProminent', 'value']));
4065
4063
  /* @vue/component */
4066
4064
 
4067
- var VAppBar = baseMixins$t.extend({
4065
+ var VAppBar = baseMixins$u.extend({
4068
4066
  name: 'v-app-bar',
4069
4067
  directives: {
4070
4068
  Scroll
@@ -4846,10 +4844,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
4846
4844
  },
4847
4845
 
4848
4846
  methods: {
4849
- click(e) {
4850
- this.$emit('click', e);
4851
- },
4852
-
4853
4847
  generateRouteLink() {
4854
4848
  let exact = this.exact;
4855
4849
  let tag;
@@ -4865,7 +4859,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
4865
4859
  value: this.computedRipple
4866
4860
  }],
4867
4861
  [this.to ? 'nativeOn' : 'on']: { ...this.$listeners,
4868
- click: this.click
4862
+ ...('click' in this ? {
4863
+ click: this.click
4864
+ } : undefined)
4869
4865
  },
4870
4866
  ref: 'link'
4871
4867
  };
@@ -4909,8 +4905,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
4909
4905
 
4910
4906
  onRouteChange() {
4911
4907
  if (!this.to || !this.$refs.link || !this.$route) return;
4912
- const activeClass = `${this.activeClass} ${this.proxyClass || ''}`.trim();
4913
- const exactActiveClass = `${this.exactActiveClass} ${this.proxyClass || ''}`.trim() || activeClass;
4908
+ const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim();
4909
+ const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass;
4914
4910
  const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass);
4915
4911
  this.$nextTick(() => {
4916
4912
  /* istanbul ignore else */
@@ -4928,10 +4924,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
4928
4924
  });
4929
4925
 
4930
4926
  // Styles
4931
- const baseMixins$s = mixins(VSheet, Routable, Positionable, Sizeable, factory$1('btnToggle'), factory$2('inputValue')
4927
+ const baseMixins$t = mixins(VSheet, Routable, Positionable, Sizeable, factory$1('btnToggle'), factory$2('inputValue')
4932
4928
  /* @vue/component */
4933
4929
  );
4934
- var VBtn = baseMixins$s.extend().extend({
4930
+ var VBtn = baseMixins$t.extend().extend({
4935
4931
  name: 'v-btn',
4936
4932
  props: {
4937
4933
  activeClass: {
@@ -5830,10 +5826,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
5830
5826
  });
5831
5827
 
5832
5828
  // Mixins
5833
- const baseMixins$r = mixins(Delayable, Toggleable);
5829
+ const baseMixins$s = mixins(Delayable, Toggleable);
5834
5830
  /* @vue/component */
5835
5831
 
5836
- var Activatable = baseMixins$r.extend({
5832
+ var Activatable = baseMixins$s.extend({
5837
5833
  name: 'activatable',
5838
5834
  props: {
5839
5835
  activator: {
@@ -5844,6 +5840,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
5844
5840
  },
5845
5841
  disabled: Boolean,
5846
5842
  internalActivator: Boolean,
5843
+ openOnClick: {
5844
+ type: Boolean,
5845
+ default: true
5846
+ },
5847
5847
  openOnHover: Boolean,
5848
5848
  openOnFocus: Boolean
5849
5849
  },
@@ -5896,7 +5896,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
5896
5896
 
5897
5897
  genActivatorAttributes() {
5898
5898
  return {
5899
- role: 'button',
5899
+ role: this.openOnClick && !this.openOnHover ? 'button' : undefined,
5900
5900
  'aria-haspopup': true,
5901
5901
  'aria-expanded': String(this.isActive)
5902
5902
  };
@@ -5916,7 +5916,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
5916
5916
  this.getActivator(e);
5917
5917
  this.runDelay('close');
5918
5918
  };
5919
- } else {
5919
+ } else if (this.openOnClick) {
5920
5920
  listeners.click = e => {
5921
5921
  const activator = this.getActivator(e);
5922
5922
  if (activator) activator.focus();
@@ -6320,10 +6320,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6320
6320
  });
6321
6321
 
6322
6322
  // Mixins
6323
- const baseMixins$q = mixins(Stackable, factory$3(['top', 'right', 'bottom', 'left', 'absolute']), Activatable, Detachable);
6323
+ const baseMixins$r = mixins(Stackable, factory$3(['top', 'right', 'bottom', 'left', 'absolute']), Activatable, Detachable);
6324
6324
  /* @vue/component */
6325
6325
 
6326
- var Menuable = baseMixins$q.extend().extend({
6326
+ var Menuable = baseMixins$r.extend().extend({
6327
6327
  name: 'menuable',
6328
6328
  props: {
6329
6329
  allowOverflow: Boolean,
@@ -6355,7 +6355,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6355
6355
  default: 0
6356
6356
  },
6357
6357
  offsetOverflow: Boolean,
6358
- openOnClick: Boolean,
6359
6358
  positionX: {
6360
6359
  type: Number,
6361
6360
  default: null
@@ -6415,7 +6414,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6415
6414
  const activatorLeft = (this.attach !== false ? a.offsetLeft : a.left) || 0;
6416
6415
  const minWidth = Math.max(a.width, c.width);
6417
6416
  let left = 0;
6418
- left += this.left ? activatorLeft - (minWidth - a.width) : activatorLeft;
6417
+ left += activatorLeft;
6418
+ if (this.left || this.$vuetify.rtl && !this.right) left -= minWidth - a.width;
6419
6419
 
6420
6420
  if (this.offsetX) {
6421
6421
  const maxWidth = isNaN(Number(this.maxWidth)) ? a.width : Math.min(a.width, Number(this.maxWidth));
@@ -6573,14 +6573,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6573
6573
  const listeners = Activatable.options.methods.genActivatorListeners.call(this);
6574
6574
  const onClick = listeners.click;
6575
6575
 
6576
- listeners.click = e => {
6577
- if (this.openOnClick) {
6578
- onClick && onClick(e);
6579
- }
6576
+ if (onClick) {
6577
+ listeners.click = e => {
6578
+ if (this.openOnClick) {
6579
+ onClick && onClick(e);
6580
+ }
6580
6581
 
6581
- this.absoluteX = e.clientX;
6582
- this.absoluteY = e.clientY;
6583
- };
6582
+ this.absoluteX = e.clientX;
6583
+ this.absoluteY = e.clientY;
6584
+ };
6585
+ }
6584
6586
 
6585
6587
  return listeners;
6586
6588
  },
@@ -6729,10 +6731,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6729
6731
  });
6730
6732
 
6731
6733
  // Styles
6732
- const baseMixins$p = mixins(Dependent, Delayable, Menuable, Returnable, Roundable, Toggleable, Themeable);
6734
+ const baseMixins$q = mixins(Dependent, Delayable, Returnable, Roundable, Themeable, Menuable);
6733
6735
  /* @vue/component */
6734
6736
 
6735
- var VMenu = baseMixins$p.extend({
6737
+ var VMenu = baseMixins$q.extend({
6736
6738
  name: 'v-menu',
6737
6739
  directives: {
6738
6740
  ClickOutside,
@@ -6765,10 +6767,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
6765
6767
  },
6766
6768
  offsetX: Boolean,
6767
6769
  offsetY: Boolean,
6768
- openOnClick: {
6769
- type: Boolean,
6770
- default: true
6771
- },
6772
6770
  openOnHover: Boolean,
6773
6771
  origin: {
6774
6772
  type: String,
@@ -7082,7 +7080,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7082
7080
  mouseLeaveHandler(e) {
7083
7081
  // Prevent accidental re-activation
7084
7082
  this.runDelay('close', () => {
7085
- if (this.$refs.content.contains(e.relatedTarget)) return;
7083
+ var _this$$refs$content;
7084
+
7085
+ if ((_this$$refs$content = this.$refs.content) != null && _this$$refs$content.contains(e.relatedTarget)) return;
7086
7086
  requestAnimationFrame(() => {
7087
7087
  this.isActive = false;
7088
7088
  this.callDeactivate();
@@ -7411,10 +7411,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7411
7411
  });
7412
7412
 
7413
7413
  // Styles
7414
- const baseMixins$o = mixins(Colorable, Routable, Themeable, factory$1('listItemGroup'), factory$2('inputValue'));
7414
+ const baseMixins$p = mixins(Colorable, Routable, Themeable, factory$1('listItemGroup'), factory$2('inputValue'));
7415
7415
  /* @vue/component */
7416
7416
 
7417
- var VListItem = baseMixins$o.extend().extend({
7417
+ var VListItem = baseMixins$p.extend().extend({
7418
7418
  name: 'v-list-item',
7419
7419
  directives: {
7420
7420
  Ripple
@@ -7575,8 +7575,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7575
7575
  });
7576
7576
 
7577
7577
  // Styles
7578
- const baseMixins$n = mixins(BindsAttrs, Bootable, Colorable, inject('list'), Toggleable);
7579
- var VListGroup = baseMixins$n.extend().extend({
7578
+ const baseMixins$o = mixins(BindsAttrs, Bootable, Colorable, inject('list'), Toggleable);
7579
+ var VListGroup = baseMixins$o.extend().extend({
7580
7580
  name: 'v-list-group',
7581
7581
  directives: {
7582
7582
  ripple: Ripple
@@ -7733,6 +7733,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7733
7733
 
7734
7734
  });
7735
7735
 
7736
+ var Comparable = Vue__default["default"].extend({
7737
+ name: 'comparable',
7738
+ props: {
7739
+ valueComparator: {
7740
+ type: Function,
7741
+ default: deepEqual
7742
+ }
7743
+ }
7744
+ });
7745
+
7736
7746
  function factory(prop = 'value', event = 'change') {
7737
7747
  return Vue__default["default"].extend({
7738
7748
  name: 'proxyable',
@@ -7779,7 +7789,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7779
7789
  const Proxyable = factory();
7780
7790
 
7781
7791
  // Styles
7782
- const BaseItemGroup = mixins(Proxyable, Themeable).extend({
7792
+ const BaseItemGroup = mixins(Comparable, Proxyable, Themeable).extend({
7783
7793
  name: 'base-item-group',
7784
7794
  props: {
7785
7795
  activeClass: {
@@ -7838,13 +7848,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7838
7848
 
7839
7849
  toggleMethod() {
7840
7850
  if (!this.multiple) {
7841
- return v => this.internalValue === v;
7851
+ return v => this.valueComparator(this.internalValue, v);
7842
7852
  }
7843
7853
 
7844
7854
  const internalValue = this.internalValue;
7845
7855
 
7846
7856
  if (Array.isArray(internalValue)) {
7847
- return v => internalValue.includes(v);
7857
+ return v => internalValue.some(intern => this.valueComparator(intern, v));
7848
7858
  }
7849
7859
 
7850
7860
  return () => false;
@@ -7870,7 +7880,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
7870
7880
  },
7871
7881
 
7872
7882
  getValue(item, i) {
7873
- return item.value == null || item.value === '' ? i : item.value;
7883
+ return item.value === undefined ? i : item.value;
7874
7884
  },
7875
7885
 
7876
7886
  onClick(item) {
@@ -8457,10 +8467,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
8457
8467
  });
8458
8468
 
8459
8469
  // Mixins
8460
- const baseMixins$m = mixins(Colorable, inject('form'), Themeable);
8470
+ const baseMixins$n = mixins(Colorable, inject('form'), Themeable);
8461
8471
  /* @vue/component */
8462
8472
 
8463
- var Validatable = baseMixins$m.extend({
8473
+ var Validatable = baseMixins$n.extend({
8464
8474
  name: 'validatable',
8465
8475
  props: {
8466
8476
  disabled: Boolean,
@@ -8709,10 +8719,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
8709
8719
  });
8710
8720
 
8711
8721
  // Styles
8712
- const baseMixins$l = mixins(BindsAttrs, Validatable);
8722
+ const baseMixins$m = mixins(BindsAttrs, Validatable);
8713
8723
  /* @vue/component */
8714
8724
 
8715
- var VInput = baseMixins$l.extend().extend({
8725
+ var VInput = baseMixins$m.extend().extend({
8716
8726
  name: 'v-input',
8717
8727
  inheritAttrs: false,
8718
8728
  props: {
@@ -8724,6 +8734,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
8724
8734
  dense: Boolean,
8725
8735
  height: [Number, String],
8726
8736
  hideDetails: [Boolean, String],
8737
+ hideSpinButtons: Boolean,
8727
8738
  hint: String,
8728
8739
  id: String,
8729
8740
  label: String,
@@ -8753,6 +8764,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
8753
8764
  'v-input--is-loading': this.loading !== false && this.loading != null,
8754
8765
  'v-input--is-readonly': this.isReadonly,
8755
8766
  'v-input--dense': this.dense,
8767
+ 'v-input--hide-spin-buttons': this.hideSpinButtons,
8756
8768
  ...this.themeClasses
8757
8769
  };
8758
8770
  },
@@ -9060,10 +9072,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
9060
9072
  });
9061
9073
  }
9062
9074
 
9063
- const baseMixins$k = mixins(Colorable, factory$3(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);
9075
+ const baseMixins$l = mixins(Colorable, factory$3(['absolute', 'fixed', 'top', 'bottom']), Proxyable, Themeable);
9064
9076
  /* @vue/component */
9065
9077
 
9066
- var VProgressLinear = baseMixins$k.extend({
9078
+ var VProgressLinear = baseMixins$l.extend({
9067
9079
  name: 'v-progress-linear',
9068
9080
  directives: {
9069
9081
  intersect: Intersect
@@ -9338,13 +9350,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
9338
9350
  });
9339
9351
 
9340
9352
  // Styles
9341
- const baseMixins$j = mixins(VInput, intersectable({
9353
+ const baseMixins$k = mixins(VInput, intersectable({
9342
9354
  onVisible: ['onResize', 'tryAutofocus']
9343
9355
  }), Loadable);
9344
9356
  const dirtyTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
9345
9357
  /* @vue/component */
9346
9358
 
9347
- var VTextField = baseMixins$j.extend().extend({
9359
+ var VTextField = baseMixins$k.extend().extend({
9348
9360
  name: 'v-text-field',
9349
9361
  directives: {
9350
9362
  resize: Resize,
@@ -9849,16 +9861,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
9849
9861
  }
9850
9862
  });
9851
9863
 
9852
- var Comparable = Vue__default["default"].extend({
9853
- name: 'comparable',
9854
- props: {
9855
- valueComparator: {
9856
- type: Function,
9857
- default: deepEqual
9858
- }
9859
- }
9860
- });
9861
-
9862
9864
  /* @vue/component */
9863
9865
 
9864
9866
  var Filterable = Vue__default["default"].extend({
@@ -9880,10 +9882,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
9880
9882
  maxHeight: 304
9881
9883
  }; // Types
9882
9884
 
9883
- const baseMixins$i = mixins(VTextField, Comparable, Dependent, Filterable);
9885
+ const baseMixins$j = mixins(VTextField, Comparable, Dependent, Filterable);
9884
9886
  /* @vue/component */
9885
9887
 
9886
- var VSelect = baseMixins$i.extend().extend({
9888
+ var VSelect = baseMixins$j.extend().extend({
9887
9889
  name: 'v-select',
9888
9890
  directives: {
9889
9891
  ClickOutside
@@ -10080,6 +10082,14 @@ If you're seeing "$attrs is readonly", it's caused by this`);
10080
10082
  internalValue(val) {
10081
10083
  this.initialValue = val;
10082
10084
  this.setSelectedItems();
10085
+
10086
+ if (this.multiple) {
10087
+ this.$nextTick(() => {
10088
+ var _this$$refs$menu;
10089
+
10090
+ (_this$$refs$menu = this.$refs.menu) == null ? void 0 : _this$$refs$menu.updateDimensions();
10091
+ });
10092
+ }
10083
10093
  },
10084
10094
 
10085
10095
  isMenuActive(val) {
@@ -10139,7 +10149,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
10139
10149
  const uniqueValues = new Map();
10140
10150
 
10141
10151
  for (let index = 0; index < arr.length; ++index) {
10142
- const item = arr[index]; // Do not deduplicate headers or dividers (#12517)
10152
+ const item = arr[index]; // Do not return null values if existant (#14421)
10153
+
10154
+ if (item == null) {
10155
+ continue;
10156
+ } // Do not deduplicate headers or dividers (#12517)
10157
+
10143
10158
 
10144
10159
  if (item.header || item.divider) {
10145
10160
  uniqueValues.set(item, item);
@@ -10599,13 +10614,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
10599
10614
  i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item);
10600
10615
  this.setValue(internalValue.map(i => {
10601
10616
  return this.returnObject ? i : this.getValue(i);
10602
- })); // When selecting multiple
10603
- // adjust menu after each
10604
- // selection
10605
-
10606
- this.$nextTick(() => {
10607
- this.$refs.menu && this.$refs.menu.updateDimensions();
10608
- }); // There is no item to re-highlight
10617
+ })); // There is no item to re-highlight
10609
10618
  // when selections are hidden
10610
10619
 
10611
10620
  if (this.hideSelected) {
@@ -10968,6 +10977,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
10968
10977
  const value = target.value; // If typing and menu is not currently active
10969
10978
 
10970
10979
  if (target.value) this.activateMenu();
10980
+ if (!this.multiple && value === '') this.deleteCurrentItem();
10971
10981
  this.internalSearch = value;
10972
10982
  this.badInput = target.validity && target.validity.badInput;
10973
10983
  },
@@ -11387,7 +11397,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11387
11397
  },
11388
11398
 
11389
11399
  render(h) {
11390
- return h(VExpandTransition, [h('div', this.setBackgroundColor(this.color, {
11400
+ const data = {
11391
11401
  staticClass: 'v-banner',
11392
11402
  attrs: this.attrs$,
11393
11403
  class: this.classes,
@@ -11396,7 +11406,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11396
11406
  name: 'show',
11397
11407
  value: this.isActive
11398
11408
  }]
11399
- }), [this.genWrapper()])]);
11409
+ };
11410
+ return h(VExpandTransition, [h('div', this.outlined ? data : this.setBackgroundColor(this.color, data), [this.genWrapper()])]);
11400
11411
  }
11401
11412
 
11402
11413
  });
@@ -11483,6 +11494,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11483
11494
  }
11484
11495
 
11485
11496
  },
11497
+ watch: {
11498
+ canScroll: 'onScroll'
11499
+ },
11486
11500
 
11487
11501
  created() {
11488
11502
  /* istanbul ignore next */
@@ -11493,8 +11507,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11493
11507
 
11494
11508
  methods: {
11495
11509
  thresholdMet() {
11496
- this.isActive = !this.isScrollingUp;
11497
- this.$emit('update:input-value', this.isActive);
11510
+ if (this.hideOnScroll) {
11511
+ this.isActive = !this.isScrollingUp || this.currentScroll > this.computedScrollThreshold;
11512
+ this.$emit('update:input-value', this.isActive);
11513
+ }
11514
+
11515
+ if (this.currentThreshold < this.computedScrollThreshold) return;
11516
+ this.savedScroll = this.currentScroll;
11498
11517
  },
11499
11518
 
11500
11519
  updateApplication() {
@@ -11808,10 +11827,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11808
11827
  });
11809
11828
 
11810
11829
  // Styles
11811
- const baseMixins$h = mixins(Activatable, Dependent, Detachable, Overlayable, Returnable, Stackable, Toggleable);
11830
+ const baseMixins$i = mixins(Dependent, Detachable, Overlayable, Returnable, Stackable, Activatable);
11812
11831
  /* @vue/component */
11813
11832
 
11814
- var VDialog = baseMixins$h.extend({
11833
+ var VDialog = baseMixins$i.extend({
11815
11834
  name: 'v-dialog',
11816
11835
  directives: {
11817
11836
  ClickOutside
@@ -11821,10 +11840,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11821
11840
  disabled: Boolean,
11822
11841
  fullscreen: Boolean,
11823
11842
  light: Boolean,
11824
- maxWidth: {
11825
- type: [String, Number],
11826
- default: 'none'
11827
- },
11843
+ maxWidth: [String, Number],
11828
11844
  noClickAnimation: Boolean,
11829
11845
  origin: {
11830
11846
  type: String,
@@ -11840,10 +11856,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11840
11856
  type: [String, Boolean],
11841
11857
  default: 'dialog-transition'
11842
11858
  },
11843
- width: {
11844
- type: [String, Number],
11845
- default: 'auto'
11846
- }
11859
+ width: [String, Number]
11847
11860
  },
11848
11861
 
11849
11862
  data() {
@@ -11851,7 +11864,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
11851
11864
  activatedBy: null,
11852
11865
  animate: false,
11853
11866
  animateTimeout: -1,
11854
- isActive: !!this.value,
11855
11867
  stackMinZIndex: 200,
11856
11868
  previousActiveElement: null
11857
11869
  };
@@ -12032,8 +12044,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12032
12044
  }, [this.$createElement('div', {
12033
12045
  class: this.contentClasses,
12034
12046
  attrs: {
12035
- role: 'document',
12047
+ role: 'dialog',
12036
12048
  tabindex: this.isActive ? 0 : undefined,
12049
+ 'aria-modal': this.hideOverlay ? undefined : 'true',
12037
12050
  ...this.getScopeIdAttrs()
12038
12051
  },
12039
12052
  on: {
@@ -12080,8 +12093,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12080
12093
 
12081
12094
  if (!this.fullscreen) {
12082
12095
  data.style = { ...data.style,
12083
- maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),
12084
- width: this.width === 'auto' ? undefined : convertToUnit(this.width)
12096
+ maxWidth: convertToUnit(this.maxWidth),
12097
+ width: convertToUnit(this.width)
12085
12098
  };
12086
12099
  }
12087
12100
 
@@ -12095,9 +12108,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12095
12108
  staticClass: 'v-dialog__container',
12096
12109
  class: {
12097
12110
  'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
12098
- },
12099
- attrs: {
12100
- role: 'dialog'
12101
12111
  }
12102
12112
  }, [this.genActivator(), this.genContent()]);
12103
12113
  }
@@ -12110,10 +12120,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12110
12120
  name: 'v-bottom-sheet',
12111
12121
  props: {
12112
12122
  inset: Boolean,
12113
- maxWidth: {
12114
- type: [String, Number],
12115
- default: 'auto'
12116
- },
12123
+ maxWidth: [String, Number],
12117
12124
  transition: {
12118
12125
  type: String,
12119
12126
  default: 'bottom-sheet-transition'
@@ -12354,11 +12361,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12354
12361
 
12355
12362
 
12356
12363
  if (e && 'touches' in e) {
12357
- var _e$target, _e$target2;
12364
+ var _e$currentTarget, _e$target;
12365
+
12366
+ const classSeparator = ' ';
12367
+ const eventTargetClasses = (_e$currentTarget = e.currentTarget) == null ? void 0 : _e$currentTarget.className.split(classSeparator);
12368
+ const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY); // Get "the same kind" current hovering target by checking
12369
+ // If element has the same class of initial touch start element (which has touch event listener registered)
12358
12370
 
12359
- const currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY);
12371
+ const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)));
12360
12372
 
12361
- if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget)) && ((_e$target2 = e.target) == null ? void 0 : _e$target2.className) === currentTarget.className) {
12373
+ if (currentTarget && !((_e$target = e.target) != null && _e$target.isSameNode(currentTarget))) {
12362
12374
  currentTarget.dispatchEvent(new TouchEvent(e.type, {
12363
12375
  changedTouches: e.changedTouches,
12364
12376
  targetTouches: e.targetTouches,
@@ -12368,7 +12380,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
12368
12380
  }
12369
12381
  }
12370
12382
 
12371
- this.$emit(event, getEvent(e));
12383
+ this.$emit(event, getEvent(e), e);
12372
12384
  }
12373
12385
 
12374
12386
  return eventOptions.result;
@@ -14048,9 +14060,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14048
14060
  name: 'ripple',
14049
14061
  value: (_this$eventRipple2 = this.eventRipple) != null ? _this$eventRipple2 : true
14050
14062
  }],
14051
- on: {
14052
- click: () => this.$emit('click:more', day)
14053
- },
14063
+ on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
14064
+ return {
14065
+ nativeEvent,
14066
+ ...day
14067
+ };
14068
+ }),
14054
14069
  style: {
14055
14070
  display: 'none',
14056
14071
  height: `${eventHeight}px`,
@@ -14303,7 +14318,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14303
14318
  key: day.date,
14304
14319
  staticClass: 'v-calendar-weekly__day',
14305
14320
  class: this.getRelativeClasses(day, outside),
14306
- on: this.getDefaultMouseEventHandlers(':day', _e => day)
14321
+ on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
14322
+ return {
14323
+ nativeEvent,
14324
+ ...day
14325
+ };
14326
+ })
14307
14327
  }, [this.genDayLabel(day), ...(getSlot(this, 'day', () => ({
14308
14328
  outside,
14309
14329
  index,
@@ -14339,7 +14359,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14339
14359
  prevent: true,
14340
14360
  result: false
14341
14361
  }
14342
- }, _e => day)
14362
+ }, nativeEvent => ({
14363
+ nativeEvent,
14364
+ ...day
14365
+ }))
14343
14366
  }, hasMonth ? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false) : this.dayFormatter(day, false));
14344
14367
  },
14345
14368
 
@@ -14612,8 +14635,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14612
14635
  key: day.date,
14613
14636
  staticClass: 'v-calendar-daily_head-day',
14614
14637
  class: this.getRelativeClasses(day),
14615
- on: this.getDefaultMouseEventHandlers(':day', _e => {
14616
- return this.getSlotScope(day);
14638
+ on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
14639
+ return {
14640
+ nativeEvent,
14641
+ ...this.getSlotScope(day)
14642
+ };
14617
14643
  })
14618
14644
  }, [this.genHeadWeekday(day), this.genHeadDayLabel(day), ...this.genDayHeader(day, index)]);
14619
14645
  },
@@ -14658,8 +14684,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14658
14684
  prevent: true,
14659
14685
  result: false
14660
14686
  }
14661
- }, _e => {
14662
- return day;
14687
+ }, nativeEvent => {
14688
+ return {
14689
+ nativeEvent,
14690
+ ...day
14691
+ };
14663
14692
  })
14664
14693
  }, this.dayFormatter(day, false));
14665
14694
  },
@@ -14702,8 +14731,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14702
14731
  key: day.date,
14703
14732
  staticClass: 'v-calendar-daily__day',
14704
14733
  class: this.getRelativeClasses(day),
14705
- on: this.getDefaultMouseEventHandlers(':time', e => {
14706
- return this.getSlotScope(this.getTimestampAtEvent(e, day));
14734
+ on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {
14735
+ return {
14736
+ nativeEvent,
14737
+ ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day))
14738
+ };
14707
14739
  })
14708
14740
  }, [...this.genDayIntervals(index), ...this.genDayBody(day)]);
14709
14741
  },
@@ -14738,8 +14770,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14738
14770
  style: {
14739
14771
  width
14740
14772
  },
14741
- on: this.getDefaultMouseEventHandlers(':interval', e => {
14742
- return this.getTimestampAtEvent(e, this.parsedStart);
14773
+ on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {
14774
+ return {
14775
+ nativeEvent,
14776
+ ...this.getTimestampAtEvent(nativeEvent, this.parsedStart)
14777
+ };
14743
14778
  })
14744
14779
  };
14745
14780
  return this.$createElement('div', data, this.genIntervalLabels());
@@ -14935,7 +14970,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
14935
14970
  // Styles
14936
14971
  /* @vue/component */
14937
14972
 
14938
- CalendarWithEvents.extend({
14973
+ var VCalendar = CalendarWithEvents.extend({
14939
14974
  name: 'v-calendar',
14940
14975
  props: { ...props.calendar,
14941
14976
  ...props.weeks,
@@ -15306,13 +15341,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
15306
15341
  value: this.updateEventVisibility
15307
15342
  }],
15308
15343
  on: { ...this.$listeners,
15309
- 'click:date': day => {
15344
+ 'click:date': (day, e) => {
15310
15345
  if (this.$listeners.input) {
15311
15346
  this.$emit('input', day.date);
15312
15347
  }
15313
15348
 
15314
15349
  if (this.$listeners['click:date']) {
15315
- this.$emit('click:date', day);
15350
+ this.$emit('click:date', day, e);
15316
15351
  }
15317
15352
  }
15318
15353
  },
@@ -15861,8 +15896,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
15861
15896
  });
15862
15897
 
15863
15898
  // Mixins
15864
- const baseMixins$g = mixins(Bootable, factory$1('windowGroup', 'v-window-item', 'v-window'));
15865
- var VWindowItem = baseMixins$g.extend().extend().extend({
15899
+ const baseMixins$h = mixins(Bootable, factory$1('windowGroup', 'v-window-item', 'v-window'));
15900
+ var VWindowItem = baseMixins$h.extend().extend().extend({
15866
15901
  name: 'v-window-item',
15867
15902
  directives: {
15868
15903
  Touch
@@ -15999,10 +16034,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
15999
16034
 
16000
16035
  // Extensions
16001
16036
 
16002
- const baseMixins$f = mixins(VWindowItem, Routable);
16037
+ const baseMixins$g = mixins(VWindowItem, Routable);
16003
16038
  /* @vue/component */
16004
16039
 
16005
- baseMixins$f.extend().extend({
16040
+ baseMixins$g.extend().extend({
16006
16041
  name: 'v-carousel-item',
16007
16042
  inject: {
16008
16043
  parentTheme: {
@@ -16338,6 +16373,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
16338
16373
  });
16339
16374
 
16340
16375
  // Styles
16376
+
16377
+ function bias(val) {
16378
+ const c = 0.501;
16379
+ const x = Math.abs(val);
16380
+ return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1));
16381
+ }
16382
+
16341
16383
  function calculateUpdatedOffset(selectedElement, widths, rtl, currentScrollOffset) {
16342
16384
  const clientWidth = selectedElement.clientWidth;
16343
16385
  const offsetLeft = rtl ? widths.content - selectedElement.offsetLeft - clientWidth : selectedElement.offsetLeft;
@@ -16481,7 +16523,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
16481
16523
  isOverflowing: 'setWidths',
16482
16524
 
16483
16525
  scrollOffset(val) {
16484
- this.$refs.content.style.transform = `translateX(${-val}px)`;
16526
+ if (this.$vuetify.rtl) val = -val;
16527
+ 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;
16528
+ if (this.$vuetify.rtl) scroll = -scroll;
16529
+ this.$refs.content.style.transform = `translateX(${scroll}px)`;
16485
16530
  }
16486
16531
 
16487
16532
  },
@@ -16722,10 +16767,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
16722
16767
  }, this.$vuetify.rtl, this.scrollOffset);
16723
16768
  },
16724
16769
 
16725
- setWidths
16726
- /* istanbul ignore next */
16727
- () {
16770
+ setWidths() {
16728
16771
  window.requestAnimationFrame(() => {
16772
+ if (this._isDestroyed) return;
16729
16773
  const {
16730
16774
  content,
16731
16775
  wrapper
@@ -18639,7 +18683,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
18639
18683
  },
18640
18684
 
18641
18685
  setValue(value) {
18642
- VSelect.options.methods.setValue.call(this, value != null ? value : this.internalSearch);
18686
+ VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value);
18643
18687
  },
18644
18688
 
18645
18689
  updateEditing() {
@@ -18742,12 +18786,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
18742
18786
  default: () => ({})
18743
18787
  },
18744
18788
  sortBy: {
18745
- type: [String, Array],
18746
- default: () => []
18789
+ type: [String, Array]
18747
18790
  },
18748
18791
  sortDesc: {
18749
- type: [Boolean, Array],
18750
- default: () => []
18792
+ type: [Boolean, Array]
18751
18793
  },
18752
18794
  customSort: {
18753
18795
  type: Function,
@@ -19911,7 +19953,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
19911
19953
  return this.$createElement('th', data, [this.genSelectAll()]);
19912
19954
  }
19913
19955
 
19914
- children.push(this.$scopedSlots[header.value] ? this.$scopedSlots[header.value]({
19956
+ children.push(this.$scopedSlots.hasOwnProperty(header.value) ? this.$scopedSlots[header.value]({
19915
19957
  header
19916
19958
  }) : this.$createElement('span', [header.text]));
19917
19959
 
@@ -20019,6 +20061,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
20019
20061
  });
20020
20062
 
20021
20063
  // Types
20064
+
20065
+ function needsTd(slot) {
20066
+ var _slot$;
20067
+
20068
+ return slot.length !== 1 || !['td', 'th'].includes((_slot$ = slot[0]) == null ? void 0 : _slot$.tag);
20069
+ }
20070
+
20022
20071
  var Row = Vue__default["default"].extend({
20023
20072
  name: 'row',
20024
20073
  functional: true,
@@ -20039,29 +20088,29 @@ If you're seeing "$attrs is readonly", it's caused by this`);
20039
20088
  const children = [];
20040
20089
  const value = getObjectValueByPath(props.item, header.value);
20041
20090
  const slotName = header.value;
20042
- const scopedSlot = data.scopedSlots && data.scopedSlots[slotName];
20043
- const regularSlot = computedSlots[slotName];
20091
+ const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];
20092
+ const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];
20044
20093
 
20045
20094
  if (scopedSlot) {
20046
- children.push(scopedSlot({
20095
+ children.push(...wrapInArray(scopedSlot({
20047
20096
  item: props.item,
20048
20097
  isMobile: false,
20049
20098
  header,
20050
20099
  index: props.index,
20051
20100
  value
20052
- }));
20101
+ })));
20053
20102
  } else if (regularSlot) {
20054
- children.push(regularSlot);
20103
+ children.push(...wrapInArray(regularSlot));
20055
20104
  } else {
20056
20105
  children.push(value == null ? value : String(value));
20057
20106
  }
20058
20107
 
20059
20108
  const textAlign = `text-${header.align || 'start'}`;
20060
- return h('td', {
20109
+ return needsTd(children) ? h('td', {
20061
20110
  class: [textAlign, header.cellClass, {
20062
20111
  'v-data-table__divider': header.divider
20063
20112
  }]
20064
- }, children);
20113
+ }, children) : children;
20065
20114
  });
20066
20115
  return h('tr', data, columns);
20067
20116
  }
@@ -20182,8 +20231,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
20182
20231
  const children = [];
20183
20232
  const value = getObjectValueByPath(props.item, header.value);
20184
20233
  const slotName = header.value;
20185
- const scopedSlot = data.scopedSlots && data.scopedSlots[slotName];
20186
- const regularSlot = computedSlots[slotName];
20234
+ const scopedSlot = data.scopedSlots && data.scopedSlots.hasOwnProperty(slotName) && data.scopedSlots[slotName];
20235
+ const regularSlot = computedSlots.hasOwnProperty(slotName) && computedSlots[slotName];
20187
20236
 
20188
20237
  if (scopedSlot) {
20189
20238
  children.push(scopedSlot({
@@ -20946,8 +20995,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
20946
20995
 
20947
20996
  });
20948
20997
 
20949
- const baseMixins$e = mixins(VSimpleTable);
20950
- baseMixins$e.extend().extend({
20998
+ const baseMixins$f = mixins(VSimpleTable);
20999
+ baseMixins$f.extend().extend({
20951
21000
  name: 'v-virtual-table',
20952
21001
  props: {
20953
21002
  chunkSize: {
@@ -21484,7 +21533,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
21484
21533
  },
21485
21534
 
21486
21535
  methods: {
21487
- genButtonClasses(isAllowed, isFloating, isSelected, isCurrent) {
21536
+ genButtonClasses(isAllowed, isFloating, isSelected, isCurrent, isFirst, isLast) {
21488
21537
  return {
21489
21538
  'v-size--default': !isFloating,
21490
21539
  'v-date-picker-table__current': isCurrent,
@@ -21494,6 +21543,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
21494
21543
  'v-btn--rounded': isFloating,
21495
21544
  'v-btn--disabled': !isAllowed || this.disabled,
21496
21545
  'v-btn--outlined': isCurrent && !isSelected,
21546
+ 'v-date-picker--first-in-range': isFirst,
21547
+ 'v-date-picker--last-in-range': isLast,
21497
21548
  ...this.themeClasses
21498
21549
  };
21499
21550
  },
@@ -21513,9 +21564,17 @@ If you're seeing "$attrs is readonly", it's caused by this`);
21513
21564
  const isCurrent = value === this.current;
21514
21565
  const setColor = isSelected ? this.setBackgroundColor : this.setTextColor;
21515
21566
  const color = (isSelected || isCurrent) && (this.color || 'accent');
21567
+ let isFirst = false;
21568
+ let isLast = false;
21569
+
21570
+ if (this.range && !!this.value && Array.isArray(this.value)) {
21571
+ isFirst = value === this.value[0];
21572
+ isLast = value === this.value[this.value.length - 1];
21573
+ }
21574
+
21516
21575
  return this.$createElement('button', setColor(color, {
21517
21576
  staticClass: 'v-btn',
21518
- class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent),
21577
+ class: this.genButtonClasses(isAllowed && !isOtherMonth, isFloating, isSelected, isCurrent, isFirst, isLast),
21519
21578
  attrs: {
21520
21579
  type: 'button'
21521
21580
  },
@@ -22714,10 +22773,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
22714
22773
 
22715
22774
  });
22716
22775
 
22717
- const baseMixins$d = mixins(Bootable, Colorable, inject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel'));
22776
+ const baseMixins$e = mixins(Bootable, Colorable, inject('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel'));
22718
22777
  /* @vue/component */
22719
22778
 
22720
- var VExpansionPanelContent = baseMixins$d.extend().extend({
22779
+ var VExpansionPanelContent = baseMixins$e.extend().extend({
22721
22780
  name: 'v-expansion-panel-content',
22722
22781
  data: () => ({
22723
22782
  isActive: false
@@ -22763,8 +22822,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
22763
22822
  });
22764
22823
 
22765
22824
  // Components
22766
- const baseMixins$c = mixins(Colorable, inject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));
22767
- var VExpansionPanelHeader = baseMixins$c.extend().extend({
22825
+ const baseMixins$d = mixins(Colorable, inject('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel'));
22826
+ var VExpansionPanelHeader = baseMixins$d.extend().extend({
22768
22827
  name: 'v-expansion-panel-header',
22769
22828
  directives: {
22770
22829
  ripple: Ripple
@@ -23924,10 +23983,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
23924
23983
  });
23925
23984
 
23926
23985
  // Styles
23927
- const baseMixins$b = mixins(applicationable('left', ['isActive', 'isMobile', 'miniVariant', 'expandOnHover', 'permanent', 'right', 'temporary', 'width']), Colorable, Dependent, Mobile, Overlayable, SSRBootable, Themeable);
23986
+ const baseMixins$c = mixins(applicationable('left', ['isActive', 'isMobile', 'miniVariant', 'expandOnHover', 'permanent', 'right', 'temporary', 'width']), Colorable, Dependent, Mobile, Overlayable, SSRBootable, Themeable);
23928
23987
  /* @vue/component */
23929
23988
 
23930
- var VNavigationDrawer = baseMixins$b.extend({
23989
+ var VNavigationDrawer = baseMixins$c.extend({
23931
23990
  name: 'v-navigation-drawer',
23932
23991
  directives: {
23933
23992
  ClickOutside,
@@ -24204,6 +24263,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24204
24263
 
24205
24264
  genListeners() {
24206
24265
  const on = {
24266
+ mouseenter: () => this.isMouseover = true,
24267
+ mouseleave: () => this.isMouseover = false,
24207
24268
  transitionend: e => {
24208
24269
  if (e.target !== e.currentTarget) return;
24209
24270
  this.$emit('transitionend', e); // IE11 does not support new Event('resize')
@@ -24218,12 +24279,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24218
24279
  on.click = () => this.$emit('update:mini-variant', false);
24219
24280
  }
24220
24281
 
24221
- if (this.expandOnHover) {
24222
- on.mouseenter = () => this.isMouseover = true;
24223
-
24224
- on.mouseleave = () => this.isMouseover = false;
24225
- }
24226
-
24227
24282
  return on;
24228
24283
  },
24229
24284
 
@@ -24286,12 +24341,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24286
24341
  */
24287
24342
  updateApplication() {
24288
24343
  if (!this.isActive || this.isMobile || this.temporary || !this.$el) return 0;
24289
- const width = Number(this.computedWidth);
24344
+ const width = Number(this.miniVariant ? this.miniVariantWidth : this.width);
24290
24345
  return isNaN(width) ? this.$el.clientWidth : width;
24291
24346
  },
24292
24347
 
24293
24348
  updateMiniVariant(val) {
24294
- if (this.miniVariant !== val) this.$emit('update:mini-variant', val);
24349
+ if (this.expandOnHover && this.miniVariant !== val) this.$emit('update:mini-variant', val);
24295
24350
  }
24296
24351
 
24297
24352
  },
@@ -24309,6 +24364,338 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24309
24364
 
24310
24365
  });
24311
24366
 
24367
+ // Styles
24368
+ const baseMixins$b = mixins(VInput);
24369
+ /* @vue/component */
24370
+
24371
+ var VOtpInput = baseMixins$b.extend().extend({
24372
+ name: 'v-otp-input',
24373
+ directives: {
24374
+ ripple: Ripple
24375
+ },
24376
+ inheritAttrs: false,
24377
+ props: {
24378
+ length: {
24379
+ type: [Number, String],
24380
+ default: 6
24381
+ },
24382
+ type: {
24383
+ type: String,
24384
+ default: 'text'
24385
+ },
24386
+ plain: Boolean
24387
+ },
24388
+ data: () => ({
24389
+ badInput: false,
24390
+ initialValue: null,
24391
+ isBooted: false,
24392
+ otp: []
24393
+ }),
24394
+ computed: {
24395
+ outlined() {
24396
+ return !this.plain;
24397
+ },
24398
+
24399
+ classes() {
24400
+ return { ...VInput.options.computed.classes.call(this),
24401
+ ...VTextField.options.computed.classes.call(this),
24402
+ 'v-otp-input--plain': this.plain
24403
+ };
24404
+ },
24405
+
24406
+ isDirty() {
24407
+ return VInput.options.computed.isDirty.call(this) || this.badInput;
24408
+ }
24409
+
24410
+ },
24411
+ watch: {
24412
+ isFocused: 'updateValue',
24413
+
24414
+ value(val) {
24415
+ this.lazyValue = val;
24416
+ this.otp = (val == null ? void 0 : val.split('')) || [];
24417
+ }
24418
+
24419
+ },
24420
+
24421
+ created() {
24422
+ var _this$internalValue;
24423
+
24424
+ /* istanbul ignore next */
24425
+ if (this.$attrs.hasOwnProperty('browser-autocomplete')) {
24426
+ breaking('browser-autocomplete', 'autocomplete', this);
24427
+ }
24428
+
24429
+ this.otp = ((_this$internalValue = this.internalValue) == null ? void 0 : _this$internalValue.split('')) || [];
24430
+ },
24431
+
24432
+ mounted() {
24433
+ requestAnimationFrame(() => this.isBooted = true);
24434
+ },
24435
+
24436
+ methods: {
24437
+ /** @public */
24438
+ focus(e, otpIdx) {
24439
+ this.onFocus(e, otpIdx || 0);
24440
+ },
24441
+
24442
+ genInputSlot(otpIdx) {
24443
+ return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {
24444
+ staticClass: 'v-input__slot',
24445
+ style: {
24446
+ height: convertToUnit(this.height)
24447
+ },
24448
+ on: {
24449
+ click: () => this.onClick(otpIdx),
24450
+ mousedown: e => this.onMouseDown(e, otpIdx),
24451
+ mouseup: e => this.onMouseUp(e, otpIdx)
24452
+ }
24453
+ }), [this.genDefaultSlot(otpIdx)]);
24454
+ },
24455
+
24456
+ genControl(otpIdx) {
24457
+ return this.$createElement('div', {
24458
+ staticClass: 'v-input__control'
24459
+ }, [this.genInputSlot(otpIdx)]);
24460
+ },
24461
+
24462
+ genDefaultSlot(otpIdx) {
24463
+ return [this.genFieldset(), this.genTextFieldSlot(otpIdx)];
24464
+ },
24465
+
24466
+ genContent() {
24467
+ return Array.from({
24468
+ length: +this.length
24469
+ }, (_, i) => {
24470
+ return this.$createElement('div', this.setTextColor(this.validationState, {
24471
+ staticClass: 'v-input',
24472
+ class: this.classes
24473
+ }), [this.genControl(i)]);
24474
+ });
24475
+ },
24476
+
24477
+ genFieldset() {
24478
+ return this.$createElement('fieldset', {
24479
+ attrs: {
24480
+ 'aria-hidden': true
24481
+ }
24482
+ }, [this.genLegend()]);
24483
+ },
24484
+
24485
+ genLegend() {
24486
+ const span = this.$createElement('span', {
24487
+ domProps: {
24488
+ innerHTML: '&#8203;'
24489
+ }
24490
+ });
24491
+ return this.$createElement('legend', {
24492
+ style: {
24493
+ width: '0px'
24494
+ }
24495
+ }, [span]);
24496
+ },
24497
+
24498
+ genInput(otpIdx) {
24499
+ const listeners = Object.assign({}, this.listeners$);
24500
+ delete listeners.change; // Change should not be bound externally
24501
+
24502
+ return this.$createElement('input', {
24503
+ style: {},
24504
+ domProps: {
24505
+ value: this.otp[otpIdx],
24506
+ min: this.type === 'number' ? 0 : null
24507
+ },
24508
+ attrs: { ...this.attrs$,
24509
+ disabled: this.isDisabled,
24510
+ readonly: this.isReadonly,
24511
+ type: this.type,
24512
+ id: `${this.computedId}--${otpIdx}`,
24513
+ class: `otp-field-box--${otpIdx}`,
24514
+ maxlength: 1
24515
+ },
24516
+ on: Object.assign(listeners, {
24517
+ blur: this.onBlur,
24518
+ input: e => this.onInput(e, otpIdx),
24519
+ focus: e => this.onFocus(e, otpIdx),
24520
+ paste: e => this.onPaste(e, otpIdx),
24521
+ keydown: this.onKeyDown,
24522
+ keyup: e => this.onKeyUp(e, otpIdx)
24523
+ }),
24524
+ ref: 'input',
24525
+ refInFor: true
24526
+ });
24527
+ },
24528
+
24529
+ genTextFieldSlot(otpIdx) {
24530
+ return this.$createElement('div', {
24531
+ staticClass: 'v-text-field__slot'
24532
+ }, [this.genInput(otpIdx)]);
24533
+ },
24534
+
24535
+ onBlur(e) {
24536
+ this.isFocused = false;
24537
+ e && this.$nextTick(() => this.$emit('blur', e));
24538
+ },
24539
+
24540
+ onClick(otpIdx) {
24541
+ if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return;
24542
+ this.onFocus(undefined, otpIdx);
24543
+ },
24544
+
24545
+ onFocus(e, otpIdx) {
24546
+ e == null ? void 0 : e.preventDefault();
24547
+ e == null ? void 0 : e.stopPropagation();
24548
+ const elements = this.$refs.input;
24549
+ const ref = this.$refs.input && elements[otpIdx || 0];
24550
+ if (!ref) return;
24551
+
24552
+ if (document.activeElement !== ref) {
24553
+ ref.focus();
24554
+ return ref.select();
24555
+ }
24556
+
24557
+ if (!this.isFocused) {
24558
+ this.isFocused = true;
24559
+ ref.select();
24560
+ e && this.$emit('focus', e);
24561
+ }
24562
+ },
24563
+
24564
+ onInput(e, otpIdx) {
24565
+ const target = e.target;
24566
+ const value = target.value;
24567
+ this.applyValue(otpIdx, target.value, () => {
24568
+ this.internalValue = this.otp.join('');
24569
+ });
24570
+ this.badInput = target.validity && target.validity.badInput;
24571
+ const nextIndex = otpIdx + 1;
24572
+
24573
+ if (value) {
24574
+ if (nextIndex < +this.length) {
24575
+ this.changeFocus(nextIndex);
24576
+ } else {
24577
+ this.clearFocus(otpIdx);
24578
+ this.onCompleted();
24579
+ }
24580
+ }
24581
+ },
24582
+
24583
+ clearFocus(index) {
24584
+ const input = this.$refs.input[index];
24585
+ input.blur();
24586
+ },
24587
+
24588
+ onKeyDown(e) {
24589
+ if (e.keyCode === keyCodes.enter) {
24590
+ this.$emit('change', this.internalValue);
24591
+ }
24592
+
24593
+ this.$emit('keydown', e);
24594
+ },
24595
+
24596
+ onMouseDown(e, otpIdx) {
24597
+ // Prevent input from being blurred
24598
+ if (e.target !== this.$refs.input[otpIdx]) {
24599
+ e.preventDefault();
24600
+ e.stopPropagation();
24601
+ }
24602
+
24603
+ VInput.options.methods.onMouseDown.call(this, e);
24604
+ },
24605
+
24606
+ onMouseUp(e, otpIdx) {
24607
+ if (this.hasMouseDown) this.focus(e, otpIdx);
24608
+ VInput.options.methods.onMouseUp.call(this, e);
24609
+ },
24610
+
24611
+ onPaste(event, index) {
24612
+ var _event$clipboardData;
24613
+
24614
+ const maxCursor = +this.length - 1;
24615
+ const inputVal = event == null ? void 0 : (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.getData('Text');
24616
+ const inputDataArray = (inputVal == null ? void 0 : inputVal.split('')) || [];
24617
+ event.preventDefault();
24618
+ const newOtp = [...this.otp];
24619
+
24620
+ for (let i = 0; i < inputDataArray.length; i++) {
24621
+ const appIdx = index + i;
24622
+ if (appIdx > maxCursor) break;
24623
+ newOtp[appIdx] = inputDataArray[i].toString();
24624
+ }
24625
+
24626
+ this.otp = newOtp;
24627
+ this.internalValue = this.otp.join('');
24628
+ const targetFocus = Math.min(index + inputDataArray.length, maxCursor);
24629
+ this.changeFocus(targetFocus);
24630
+
24631
+ if (newOtp.length === +this.length) {
24632
+ this.onCompleted();
24633
+ this.clearFocus(targetFocus);
24634
+ }
24635
+ },
24636
+
24637
+ applyValue(index, inputVal, next) {
24638
+ const newOtp = [...this.otp];
24639
+ newOtp[index] = inputVal;
24640
+ this.otp = newOtp;
24641
+ next();
24642
+ },
24643
+
24644
+ changeFocus(index) {
24645
+ this.onFocus(undefined, index || 0);
24646
+ },
24647
+
24648
+ updateValue(val) {
24649
+ // Sets validationState from validatable
24650
+ this.hasColor = val;
24651
+
24652
+ if (val) {
24653
+ this.initialValue = this.lazyValue;
24654
+ } else if (this.initialValue !== this.lazyValue) {
24655
+ this.$emit('change', this.lazyValue);
24656
+ }
24657
+ },
24658
+
24659
+ onKeyUp(event, index) {
24660
+ event.preventDefault();
24661
+ const eventKey = event.key;
24662
+
24663
+ if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {
24664
+ return;
24665
+ }
24666
+
24667
+ if (['Delete'].includes(eventKey)) {
24668
+ return;
24669
+ }
24670
+
24671
+ if (eventKey === 'ArrowLeft' || eventKey === 'Backspace' && !this.otp[index]) {
24672
+ return index > 0 && this.changeFocus(index - 1);
24673
+ }
24674
+
24675
+ if (eventKey === 'ArrowRight') {
24676
+ return index + 1 < +this.length && this.changeFocus(index + 1);
24677
+ }
24678
+ },
24679
+
24680
+ onCompleted() {
24681
+ const rsp = this.otp.join('');
24682
+
24683
+ if (rsp.length === +this.length) {
24684
+ this.$emit('finish', rsp);
24685
+ }
24686
+ }
24687
+
24688
+ },
24689
+
24690
+ render(h) {
24691
+ return h('div', {
24692
+ staticClass: 'v-otp-input',
24693
+ class: this.themeClasses
24694
+ }, this.genContent());
24695
+ }
24696
+
24697
+ });
24698
+
24312
24699
  // Styles
24313
24700
  /* @vue/component */
24314
24701
 
@@ -24514,13 +24901,14 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24514
24901
 
24515
24902
  },
24516
24903
 
24517
- mounted() {
24904
+ beforeMount() {
24518
24905
  this.init();
24519
24906
  },
24520
24907
 
24521
24908
  methods: {
24522
24909
  init() {
24523
24910
  this.selected = null;
24911
+ this.onResize();
24524
24912
  this.$nextTick(this.onResize); // TODO: Change this (f75dee3a, cbdf7caa)
24525
24913
 
24526
24914
  setTimeout(() => this.selected = this.value, 100);
@@ -24772,7 +25160,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
24772
25160
  });
24773
25161
 
24774
25162
  // Styles
24775
- const baseMixins$9 = mixins(Comparable, BaseItemGroup, VInput);
25163
+ const baseMixins$9 = mixins(BaseItemGroup, VInput);
24776
25164
  /* @vue/component */
24777
25165
 
24778
25166
  var VRadioGroup = baseMixins$9.extend({
@@ -25698,9 +26086,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
25698
26086
  },
25699
26087
 
25700
26088
  styles() {
25701
- // Styles are not needed when
25702
- // using the absolute prop.
25703
- if (this.absolute) return {};
26089
+ if (this.absolute || !this.app) return {};
25704
26090
  const {
25705
26091
  bar,
25706
26092
  bottom,
@@ -25709,13 +26095,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
25709
26095
  left,
25710
26096
  right,
25711
26097
  top
25712
- } = this.$vuetify.application; // Should always move for y-axis
25713
- // applicationable components.
25714
-
26098
+ } = this.$vuetify.application;
25715
26099
  return {
25716
26100
  paddingBottom: convertToUnit(bottom + footer + insetFooter),
25717
- paddingLeft: !this.app ? undefined : convertToUnit(left),
25718
- paddingRight: !this.app ? undefined : convertToUnit(right),
26101
+ paddingLeft: convertToUnit(left),
26102
+ paddingRight: convertToUnit(right),
25719
26103
  paddingTop: convertToUnit(bar + top)
25720
26104
  };
25721
26105
  }
@@ -26591,6 +26975,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
26591
26975
  return children;
26592
26976
  },
26593
26977
 
26978
+ keyboardClick(e) {
26979
+ if (e.keyCode === keyCodes.space) {
26980
+ this.click(e);
26981
+ }
26982
+ },
26983
+
26594
26984
  toggle(step) {
26595
26985
  this.isActive = step.toString() === this.step.toString();
26596
26986
  this.isInactive = Number(step) < Number(this.step);
@@ -26600,6 +26990,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
26600
26990
 
26601
26991
  render(h) {
26602
26992
  return h('div', {
26993
+ attrs: {
26994
+ tabindex: this.editable ? 0 : -1
26995
+ },
26603
26996
  staticClass: 'v-stepper__step',
26604
26997
  class: this.classes,
26605
26998
  directives: [{
@@ -26607,7 +27000,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
26607
27000
  value: this.editable
26608
27001
  }],
26609
27002
  on: {
26610
- click: this.click
27003
+ click: this.click,
27004
+ keydown: this.keyboardClick
26611
27005
  }
26612
27006
  }, [this.genStep(), this.genLabel()]);
26613
27007
  }
@@ -27339,7 +27733,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
27339
27733
  },
27340
27734
 
27341
27735
  value() {
27342
- let to = this.to || this.href || '';
27736
+ let to = this.to || this.href;
27737
+ if (to == null) return to;
27343
27738
 
27344
27739
  if (this.$router && this.to === Object(this.to)) {
27345
27740
  const resolve = this.$router.resolve(this.to, this.$route, this.append);
@@ -27371,7 +27766,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
27371
27766
 
27372
27767
  toggle() {
27373
27768
  // VItemGroup treats a change event as a click
27374
- if (!this.isActive) {
27769
+ if (!this.isActive || !this.tabsBar.mandatory && !this.to) {
27375
27770
  this.$emit('change');
27376
27771
  }
27377
27772
  }
@@ -27386,7 +27781,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
27386
27781
  data.attrs = { ...data.attrs,
27387
27782
  'aria-selected': String(this.isActive),
27388
27783
  role: 'tab',
27389
- tabindex: 0
27784
+ tabindex: this.disabled ? -1 : 0
27390
27785
  };
27391
27786
  data.on = { ...data.on,
27392
27787
  keydown: e => {
@@ -27518,7 +27913,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
27518
27913
  });
27519
27914
 
27520
27915
  // Styles
27521
- mixins(Themeable
27916
+ var VTimeline = mixins(Themeable
27522
27917
  /* @vue/component */
27523
27918
  ).extend({
27524
27919
  name: 'v-timeline',
@@ -27559,7 +27954,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
27559
27954
  const baseMixins$1 = mixins(Colorable, Themeable
27560
27955
  /* @vue/component */
27561
27956
  );
27562
- baseMixins$1.extend().extend({
27957
+ var VTimelineItem = baseMixins$1.extend().extend({
27563
27958
  name: 'v-timeline-item',
27564
27959
  inject: ['timeline'],
27565
27960
  props: {
@@ -28327,11 +28722,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28327
28722
 
28328
28723
  // Components
28329
28724
  createSimpleFunctional('v-toolbar__title');
28330
- createSimpleFunctional('v-toolbar__items');
28725
+ const VToolbarItems = createSimpleFunctional('v-toolbar__items');
28331
28726
 
28332
28727
  /* @vue/component */
28333
28728
 
28334
- var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({
28729
+ var VTooltip = mixins(Colorable, Delayable, Dependent, Menuable).extend({
28335
28730
  name: 'v-tooltip',
28336
28731
  props: {
28337
28732
  closeDelay: {
@@ -28347,6 +28742,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28347
28742
  type: Boolean,
28348
28743
  default: true
28349
28744
  },
28745
+ openOnFocus: {
28746
+ type: Boolean,
28747
+ default: true
28748
+ },
28350
28749
  tag: {
28351
28750
  type: String,
28352
28751
  default: 'span'
@@ -28426,7 +28825,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28426
28825
  left: this.calculatedLeft,
28427
28826
  maxWidth: convertToUnit(this.maxWidth),
28428
28827
  minWidth: convertToUnit(this.minWidth),
28429
- opacity: this.isActive ? 0.9 : 0,
28430
28828
  top: this.calculatedTop,
28431
28829
  zIndex: this.zIndex || this.activeZIndex
28432
28830
  };
@@ -28462,15 +28860,17 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28462
28860
  genActivatorListeners() {
28463
28861
  const listeners = Activatable.options.methods.genActivatorListeners.call(this);
28464
28862
 
28465
- listeners.focus = e => {
28466
- this.getActivator(e);
28467
- this.runDelay('open');
28468
- };
28863
+ if (this.openOnFocus) {
28864
+ listeners.focus = e => {
28865
+ this.getActivator(e);
28866
+ this.runDelay('open');
28867
+ };
28469
28868
 
28470
- listeners.blur = e => {
28471
- this.getActivator(e);
28472
- this.runDelay('close');
28473
- };
28869
+ listeners.blur = e => {
28870
+ this.getActivator(e);
28871
+ this.runDelay('close');
28872
+ };
28873
+ }
28474
28874
 
28475
28875
  listeners.keydown = e => {
28476
28876
  if (e.keyCode === keyCodes.esc) {
@@ -28540,6 +28940,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28540
28940
  type: String,
28541
28941
  default: 'primary'
28542
28942
  },
28943
+ disablePerNode: Boolean,
28543
28944
  expandIcon: {
28544
28945
  type: String,
28545
28946
  default: '$subgroup'
@@ -28620,7 +29021,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28620
29021
  }),
28621
29022
  computed: {
28622
29023
  disabled() {
28623
- return getObjectValueByPath(this.item, this.itemDisabled) || this.parentIsDisabled && this.selectionType === 'leaf';
29024
+ return getObjectValueByPath(this.item, this.itemDisabled) || !this.disablePerNode && this.parentIsDisabled && this.selectionType === 'leaf';
28624
29025
  },
28625
29026
 
28626
29027
  key() {
@@ -28804,6 +29205,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28804
29205
  selectable: this.selectable,
28805
29206
  selectedColor: this.selectedColor,
28806
29207
  color: this.color,
29208
+ disablePerNode: this.disablePerNode,
28807
29209
  expandIcon: this.expandIcon,
28808
29210
  indeterminateIcon: this.indeterminateIcon,
28809
29211
  offIcon: this.offIcon,
@@ -28906,6 +29308,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
28906
29308
  default: () => []
28907
29309
  },
28908
29310
  dense: Boolean,
29311
+ disabled: Boolean,
28909
29312
  filter: Function,
28910
29313
  hoverable: Boolean,
28911
29314
  items: {
@@ -29256,7 +29659,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
29256
29659
  return !this.isExcluded(getObjectValueByPath(item, this.itemKey));
29257
29660
  }).map(item => {
29258
29661
  const genChild = VTreeviewNode.options.methods.genChild.bind(this);
29259
- return genChild(item, getObjectValueByPath(item, this.itemDisabled));
29662
+ return genChild(item, this.disabled || getObjectValueByPath(item, this.itemDisabled));
29260
29663
  })
29261
29664
  /* istanbul ignore next */
29262
29665
  : this.$slots.default; // TODO: remove type annotation with TS 3.2
@@ -29988,7 +30391,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
29988
30391
  },
29989
30392
  ],
29990
30393
  ref: "instance",
29991
- class: ["zd-apex-chart", _vm.instance.cssClass],
30394
+ class: [
30395
+ "zd-apex-chart",
30396
+ _vm.instance.cssClass,
30397
+ { "theme--dark": _vm.$isDark(this) },
30398
+ { "theme--light": _vm.$isLight(this) },
30399
+ ],
29992
30400
  style: _vm.instance.cssStyle,
29993
30401
  attrs: {
29994
30402
  type: _vm.instance.chartType,
@@ -29997,6 +30405,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
29997
30405
  height: _vm.instance.height,
29998
30406
  name: _vm.instance.name,
29999
30407
  width: _vm.instance.width,
30408
+ dark: _vm.instance.dark,
30409
+ light: _vm.instance.light,
30410
+ },
30411
+ on: {
30412
+ updated: function ($event) {
30413
+ return _vm.setApexChartTheme()
30414
+ },
30000
30415
  },
30001
30416
  }),
30002
30417
  _vm._v(" "),
@@ -30027,7 +30442,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
30027
30442
  /* style */
30028
30443
  const __vue_inject_styles__$1m = function (inject) {
30029
30444
  if (!inject) return
30030
- inject("data-v-7fa8aa32_0", { source: ".zd-apex-chart .apexcharts-toolbar {\n z-index: 0;\n}\n.zd-apex-chart .apexcharts-toolbar > div {\n transform: scale(0.8) !important;\n}\n.zd-apex-chart .apexcharts-tooltip {\n z-index: 1;\n}\n.apexcharts-overlay {\n z-index: 0 !important;\n}\n.apexcharts-container {\n height: 100%;\n}", map: undefined, media: undefined });
30445
+ inject("data-v-02c50976_0", { source: ".zd-apex-chart .apexcharts-toolbar {\n z-index: 0;\n}\n.zd-apex-chart .apexcharts-toolbar > div {\n transform: scale(0.8) !important;\n}\n.zd-apex-chart.theme--light .apexcharts-toolbar > div > .v-icon {\n color: #3b3b3b !important;\n}\n.zd-apex-chart.theme--light .apexcharts-tooltip {\n background: #fdfdfd !important;\n border: 1px solid #fdfdfd !important;\n color: #3b3b3b !important;\n z-index: 1;\n}\n.zd-apex-chart.theme--light .apexcharts-tooltip .apexcharts-tooltip-title {\n background: #eee !important;\n color: #3b3b3b !important;\n border-bottom: none !important;\n}\n.zd-apex-chart.theme--light .apexcharts-text {\n fill: #3b3b3b !important;\n}\n.zd-apex-chart.theme--light .apexcharts-title-text {\n fill: #3b3b3b !important;\n}\n.zd-apex-chart.theme--light .apexcharts-xaxistooltip {\n background: #eee !important;\n border: 1px solid #d4d4d4 !important;\n}\n.zd-apex-chart.theme--light .apexcharts-xaxistooltip .apexcharts-xaxistooltip-text {\n color: #3b3b3b !important;\n}\n.zd-apex-chart.theme--light .apexcharts-xaxistooltip-bottom::before {\n border-bottom-color: #d4d4d4 !important;\n}\n.zd-apex-chart.theme--light .apexcharts-xaxistooltip-bottom::after {\n border-bottom-color: #d4d4d4 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-toolbar > div > .v-icon {\n color: #b8b8b8 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-tooltip {\n background: #1e1e1e !important;\n border: 1px solid #1e1e1e !important;\n color: #b8b8b8 !important;\n z-index: 1;\n}\n.zd-apex-chart.theme--dark .apexcharts-tooltip .apexcharts-tooltip-title {\n background: #101010 !important;\n color: #b8b8b8 !important;\n border-bottom: none !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-text {\n fill: #b8b8b8 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-title-text {\n fill: #b8b8b8 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-xaxistooltip {\n background: #101010 !important;\n border: 1px solid #252525 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-xaxistooltip .apexcharts-xaxistooltip-text {\n color: #b8b8b8 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-xaxistooltip-bottom::before {\n border-bottom-color: #252525 !important;\n}\n.zd-apex-chart.theme--dark .apexcharts-xaxistooltip-bottom::after {\n border-bottom-color: #252525 !important;\n}\n.apexcharts-overlay {\n z-index: 0 !important;\n}\n.apexcharts-container {\n height: 100%;\n}", map: undefined, media: undefined });
30031
30446
 
30032
30447
  };
30033
30448
  /* scoped */
@@ -31529,8 +31944,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
31529
31944
  }
31530
31945
  mounted() {
31531
31946
  this.inputRef = this.$refs.instance;
31532
- this.instance.setViewValidate(this.inputRef.validate);
31533
- this.instance.setViewResetValidation(this.inputRef.resetValidation);
31947
+ if (this.inputRef) {
31948
+ this.instance.setViewValidate(this.inputRef.validate);
31949
+ this.instance.setViewResetValidation(this.inputRef.resetValidation);
31950
+ }
31534
31951
  }
31535
31952
  input(value) {
31536
31953
  this.$emit('update:value', value);
@@ -33918,7 +34335,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
33918
34335
  }
33919
34336
  onSelectDate(date, event) {
33920
34337
  this.instance.selectDate(date, event, this.$el);
33921
- this.instance.change(event, this.$refs.instance.$el);
33922
34338
  }
33923
34339
  getAllowedDates(date) {
33924
34340
  if (typeof this.instance.allowedDates === 'function') {
@@ -33975,6 +34391,18 @@ If you're seeing "$attrs is readonly", it's caused by this`);
33975
34391
  get getDateMask() {
33976
34392
  return this.instance.updateMask();
33977
34393
  }
34394
+ helperValuesOptionClick({ component }) {
34395
+ const helper = component.name.split('_helpervalue_')[1];
34396
+ const value = core.DateHelper.getValue(helper, this.instance.dateFormat);
34397
+ this.instance.value = value;
34398
+ this.instance.helperValue = helper;
34399
+ this.instance.change(undefined, this.$el);
34400
+ this.instance.helperValue = helper; // o change remove o valor, por isso precisa adicionar novamente
34401
+ this.instance.updateHelperHint();
34402
+ }
34403
+ getLabel(name) {
34404
+ return core.DateHelper.getLabel(name);
34405
+ }
33978
34406
  };
33979
34407
  __decorate([
33980
34408
  PropWatch({
@@ -34055,6 +34483,14 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34055
34483
  PropWatch({ type: String }),
34056
34484
  __metadata("design:type", Object)
34057
34485
  ], ZdDate.prototype, "inputFormat", void 0);
34486
+ __decorate([
34487
+ PropWatch({ type: [String, Array], default: () => [] }),
34488
+ __metadata("design:type", Object)
34489
+ ], ZdDate.prototype, "helperOptions", void 0);
34490
+ __decorate([
34491
+ PropWatch({ type: String, default: '' }),
34492
+ __metadata("design:type", String)
34493
+ ], ZdDate.prototype, "helperValue", void 0);
34058
34494
  ZdDate = __decorate([
34059
34495
  vuePropertyDecorator.Component
34060
34496
  ], ZdDate);
@@ -34069,104 +34505,154 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34069
34505
  var _h = _vm.$createElement;
34070
34506
  var _c = _vm._self._c || _h;
34071
34507
  return _c(
34072
- "v-menu",
34508
+ "zd-tag",
34073
34509
  {
34074
- directives: [
34075
- {
34076
- name: "show",
34077
- rawName: "v-show",
34078
- value: _vm.instance.isVisible,
34079
- expression: "instance.isVisible",
34080
- },
34081
- ],
34082
- staticClass: "zd-date-menu-activator",
34083
34510
  attrs: {
34084
- id: _vm.instance.name,
34085
- "offset-overflow": "",
34086
- "offset-y": "",
34087
- "min-width": _vm.instance.width,
34088
- transition: "scale-transition",
34089
- disabled: _vm.instance.disabled || _vm.instance.readonly,
34090
- "close-on-content-click": false,
34091
- },
34092
- scopedSlots: _vm._u([
34093
- {
34094
- key: "activator",
34095
- fn: function (ref) {
34096
- var on = ref.on;
34097
- return [
34098
- _c("zd-text-input", {
34099
- ref: "instance",
34100
- attrs: {
34101
- name: _vm.instance.name + "_text-input",
34102
- mask: _vm.getDateMask,
34103
- "instance-object": _vm.instance,
34104
- events: _vm.getEvents(on),
34105
- autofill: false,
34106
- },
34107
- }),
34108
- ]
34109
- },
34110
- },
34111
- ]),
34112
- model: {
34113
- value: _vm.instance.showDatePicker,
34114
- callback: function ($$v) {
34115
- _vm.$set(_vm.instance, "showDatePicker", $$v);
34116
- },
34117
- expression: "instance.showDatePicker",
34511
+ name: _vm.instance.name + "_helperspan",
34512
+ tag: "span",
34513
+ cssClass: "zd-display-flex",
34514
+ grid: _vm.instance.grid,
34118
34515
  },
34119
34516
  },
34120
34517
  [
34121
- _vm._v(" "),
34122
34518
  _c(
34123
- "v-date-picker",
34124
- _vm._b(
34125
- {
34126
- directives: [
34127
- {
34128
- name: "show",
34129
- rawName: "v-show",
34130
- value: _vm.instance.isVisible,
34131
- expression: "instance.isVisible",
34132
- },
34133
- ],
34134
- ref: "picker",
34135
- attrs: { "no-title": "" },
34136
- on: {
34137
- "hook:mounted": _vm.pickerMounted,
34138
- "hook:destroyed": _vm.pickerDestroyed,
34139
- "click:date": _vm.onSelectDate,
34140
- change: function ($event) {
34141
- return _vm.onChangeDatePicker()
34142
- },
34519
+ "v-menu",
34520
+ {
34521
+ directives: [
34522
+ {
34523
+ name: "show",
34524
+ rawName: "v-show",
34525
+ value: _vm.instance.isVisible,
34526
+ expression: "instance.isVisible",
34143
34527
  },
34144
- model: {
34145
- value: _vm.instance.isoValue,
34146
- callback: function ($$v) {
34147
- _vm.$set(_vm.instance, "isoValue", $$v);
34528
+ ],
34529
+ staticClass: "zd-date-menu-activator",
34530
+ attrs: {
34531
+ id: _vm.instance.name,
34532
+ "offset-overflow": "",
34533
+ "offset-y": "",
34534
+ "min-width": _vm.instance.width,
34535
+ transition: "scale-transition",
34536
+ disabled: _vm.instance.disabled || _vm.instance.readonly,
34537
+ "close-on-content-click": false,
34538
+ },
34539
+ scopedSlots: _vm._u([
34540
+ {
34541
+ key: "activator",
34542
+ fn: function (ref) {
34543
+ var on = ref.on;
34544
+ return [
34545
+ _c("zd-text-input", {
34546
+ ref: "instance",
34547
+ attrs: {
34548
+ name: _vm.instance.name + "_text-input",
34549
+ mask: _vm.getDateMask,
34550
+ "instance-object": _vm.instance,
34551
+ events: _vm.getEvents(on),
34552
+ autofill: false,
34553
+ },
34554
+ }),
34555
+ ]
34148
34556
  },
34149
- expression: "instance.isoValue",
34150
34557
  },
34558
+ ]),
34559
+ model: {
34560
+ value: _vm.instance.showDatePicker,
34561
+ callback: function ($$v) {
34562
+ _vm.$set(_vm.instance, "showDatePicker", $$v);
34563
+ },
34564
+ expression: "instance.showDatePicker",
34151
34565
  },
34152
- "v-date-picker",
34153
- {
34154
- allowedDates: _vm.getAllowedDates,
34155
- color: _vm.instance.color,
34156
- dark: _vm.instance.dark,
34157
- firstDayOfWeek: _vm.instance.firstDayOfWeek,
34158
- fullWidth: _vm.instance.fullWidth,
34159
- light: _vm.instance.light,
34160
- locale: _vm.instance.locale,
34161
- scrollable: _vm.instance.scrollable,
34162
- showDatePicker: _vm.instance.showDatePicker,
34163
- showWeek: _vm.instance.showWeek,
34164
- type: _vm.instance.pickerType,
34165
- width: _vm.instance.width,
34166
- },
34167
- false
34168
- )
34566
+ },
34567
+ [
34568
+ _vm._v(" "),
34569
+ _c(
34570
+ "v-date-picker",
34571
+ _vm._b(
34572
+ {
34573
+ directives: [
34574
+ {
34575
+ name: "show",
34576
+ rawName: "v-show",
34577
+ value: _vm.instance.isVisible,
34578
+ expression: "instance.isVisible",
34579
+ },
34580
+ ],
34581
+ ref: "picker",
34582
+ attrs: { "no-title": "" },
34583
+ on: {
34584
+ "hook:mounted": _vm.pickerMounted,
34585
+ "hook:destroyed": _vm.pickerDestroyed,
34586
+ "click:date": _vm.onSelectDate,
34587
+ change: function ($event) {
34588
+ return _vm.onChangeDatePicker()
34589
+ },
34590
+ },
34591
+ model: {
34592
+ value: _vm.instance.isoValue,
34593
+ callback: function ($$v) {
34594
+ _vm.$set(_vm.instance, "isoValue", $$v);
34595
+ },
34596
+ expression: "instance.isoValue",
34597
+ },
34598
+ },
34599
+ "v-date-picker",
34600
+ {
34601
+ allowedDates: _vm.getAllowedDates,
34602
+ color: _vm.instance.color,
34603
+ dark: _vm.instance.dark,
34604
+ firstDayOfWeek: _vm.instance.firstDayOfWeek,
34605
+ fullWidth: _vm.instance.fullWidth,
34606
+ light: _vm.instance.light,
34607
+ locale: _vm.instance.locale,
34608
+ scrollable: _vm.instance.scrollable,
34609
+ showDatePicker: _vm.instance.showDatePicker,
34610
+ showWeek: _vm.instance.showWeek,
34611
+ type: _vm.instance.pickerType,
34612
+ width: _vm.instance.width,
34613
+ },
34614
+ false
34615
+ )
34616
+ ),
34617
+ ],
34618
+ 1
34169
34619
  ),
34620
+ _vm._v(" "),
34621
+ _vm.instance.helperOptions && _vm.instance.helperOptions.length
34622
+ ? _c(
34623
+ "zd-dropdown",
34624
+ {
34625
+ attrs: {
34626
+ name: _vm.instance.name + "_helperdropdown",
34627
+ "offset-y": "",
34628
+ activator: {
34629
+ name: _vm.instance.name + "_helperbutton",
34630
+ component: "ZdButton",
34631
+ iconName: "magnify",
34632
+ icon: true,
34633
+ small: true,
34634
+ cssClass:
34635
+ "date-helper-values-button " +
34636
+ (_vm.instance.showLabel !== false ? "with-label" : ""),
34637
+ },
34638
+ },
34639
+ },
34640
+ _vm._l(_vm.instance.helperOptions, function (value) {
34641
+ return _c("zd-text", {
34642
+ key: value,
34643
+ attrs: {
34644
+ name: _vm.instance.name + "_helpervalue_" + value,
34645
+ cssClass: "date-helper-values-option zd-dropdown-component",
34646
+ text: _vm.getLabel(value),
34647
+ events: {
34648
+ click: _vm.helperValuesOptionClick,
34649
+ },
34650
+ },
34651
+ })
34652
+ }),
34653
+ 1
34654
+ )
34655
+ : _vm._e(),
34170
34656
  ],
34171
34657
  1
34172
34658
  )
@@ -34177,7 +34663,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34177
34663
  /* style */
34178
34664
  const __vue_inject_styles__$14 = function (inject) {
34179
34665
  if (!inject) return
34180
- inject("data-v-0b715682_0", { source: "div.v-picker--date .v-picker__body {\n background: transparent;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header {\n padding: var(--spacing-2) var(--spacing-4) var(--spacing-1) var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div button:not(:hover):not(:focus) {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-btn--icon {\n height: var(--icon-size);\n width: var(--icon-size);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value button {\n padding: 0;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table {\n margin-bottom: 12px;\n padding: 0 var(--spacing-4);\n height: 200px;\n margin-bottom: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table .v-btn.v-btn--active {\n color: var(--v-secondary-lighten4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--date .v-btn {\n width: 24px;\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month {\n padding-top: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month .v-btn {\n padding: 4px 0 7px 0;\n height: 24px;\n width: 56px;\n min-width: 56px;\n border-radius: var(--border);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month td {\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month tr:not(:last-child) td {\n padding-bottom: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table thead th {\n color: var(--zd-font-disabled-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent--text {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent {\n background: var(--zd-primary-base) !important;\n color: white !important;\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li.primary--text {\n color: var(--zd-primary-base) !important;\n}\n.zd-date-menu-activator .v-menu__activator.v-menu__activator--disabled {\n cursor: default;\n}", map: undefined, media: undefined });
34666
+ inject("data-v-5275ad42_0", { source: "div.v-picker--date .v-picker__body {\n background: transparent;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header {\n padding: var(--spacing-2) var(--spacing-4) var(--spacing-1) var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div button:not(:hover):not(:focus) {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-btn--icon {\n height: var(--icon-size);\n width: var(--icon-size);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value button {\n padding: 0;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table {\n margin-bottom: 12px;\n padding: 0 var(--spacing-4);\n height: 200px;\n margin-bottom: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table .v-btn.v-btn--active {\n color: var(--v-secondary-lighten4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--date .v-btn {\n width: 24px;\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month {\n padding-top: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month .v-btn {\n padding: 4px 0 7px 0;\n height: 24px;\n width: 56px;\n min-width: 56px;\n border-radius: var(--border);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month td {\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month tr:not(:last-child) td {\n padding-bottom: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table thead th {\n color: var(--zd-font-disabled-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent--text {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent {\n background: var(--zd-primary-base) !important;\n color: white !important;\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li.primary--text {\n color: var(--zd-primary-base) !important;\n}\n.zd-date-menu-activator .v-menu__activator.v-menu__activator--disabled {\n cursor: default;\n}\n.date-helper-values-button {\n height: 24px !important;\n margin-left: 5px;\n margin-top: 0;\n}\n.date-helper-values-button.with-label {\n margin-top: 20px;\n}\n.date-helper-values-option {\n cursor: pointer;\n}\n.date-helper-values-option:hover {\n background-color: rgba(0, 0, 0, 0.03);\n}", map: undefined, media: undefined });
34181
34667
 
34182
34668
  };
34183
34669
  /* scoped */
@@ -34324,6 +34810,18 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34324
34810
  get getDateMask() {
34325
34811
  return this.instance.updateMask();
34326
34812
  }
34813
+ helperValuesOptionClick({ component }) {
34814
+ const helper = component.name.split('_helpervalue_')[1];
34815
+ const value = core.DateHelper.getValue(helper, this.instance.dateFormat);
34816
+ this.instance.value = value;
34817
+ this.instance.helperValue = helper;
34818
+ this.instance.change(undefined, this.$el);
34819
+ this.instance.helperValue = helper; // o change remove o valor, por isso precisa adicionar novamente
34820
+ this.instance.updateHelperHint();
34821
+ }
34822
+ getLabel(name) {
34823
+ return core.DateHelper.getLabel(name);
34824
+ }
34327
34825
  };
34328
34826
  __decorate([
34329
34827
  PropWatch({ type: String, default: 'calendar' }),
@@ -34401,6 +34899,14 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34401
34899
  PropWatch({ type: String }),
34402
34900
  __metadata("design:type", Object)
34403
34901
  ], ZdDateRange.prototype, "inputFormat", void 0);
34902
+ __decorate([
34903
+ PropWatch({ type: [String, Array], default: () => [] }),
34904
+ __metadata("design:type", Object)
34905
+ ], ZdDateRange.prototype, "helperOptions", void 0);
34906
+ __decorate([
34907
+ PropWatch({ type: String, default: '' }),
34908
+ __metadata("design:type", String)
34909
+ ], ZdDateRange.prototype, "helperValue", void 0);
34404
34910
  ZdDateRange = __decorate([
34405
34911
  vuePropertyDecorator.Component
34406
34912
  ], ZdDateRange);
@@ -34415,102 +34921,153 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34415
34921
  var _h = _vm.$createElement;
34416
34922
  var _c = _vm._self._c || _h;
34417
34923
  return _c(
34418
- "v-menu",
34924
+ "zd-tag",
34419
34925
  {
34420
- directives: [
34421
- {
34422
- name: "show",
34423
- rawName: "v-show",
34424
- value: _vm.instance.isVisible,
34425
- expression: "instance.isVisible",
34426
- },
34427
- ],
34428
- staticClass: "zd-date-menu-activator",
34429
34926
  attrs: {
34430
- id: _vm.instance.name,
34431
- "offset-overflow": "",
34432
- "offset-y": "",
34433
- "min-width": _vm.instance.width,
34434
- transition: "scale-transition",
34435
- disabled: _vm.instance.disabled || _vm.instance.readonly,
34436
- "close-on-content-click": false,
34437
- },
34438
- scopedSlots: _vm._u([
34439
- {
34440
- key: "activator",
34441
- fn: function (ref) {
34442
- var on = ref.on;
34443
- return [
34444
- _c("zd-text-input", {
34445
- ref: "instance",
34446
- attrs: {
34447
- name: _vm.instance.name + "_text-input",
34448
- mask: _vm.getDateMask,
34449
- "instance-object": _vm.instance,
34450
- events: _vm.getEvents(on),
34451
- autofill: false,
34452
- },
34453
- }),
34454
- ]
34455
- },
34456
- },
34457
- ]),
34458
- model: {
34459
- value: _vm.instance.showDatePicker,
34460
- callback: function ($$v) {
34461
- _vm.$set(_vm.instance, "showDatePicker", $$v);
34462
- },
34463
- expression: "instance.showDatePicker",
34927
+ name: _vm.instance.name + "_helperspan",
34928
+ tag: "span",
34929
+ cssClass: "zd-display-flex",
34930
+ grid: _vm.instance.grid,
34464
34931
  },
34465
34932
  },
34466
34933
  [
34467
- _vm._v(" "),
34468
34934
  _c(
34469
- "v-date-picker",
34470
- _vm._b(
34471
- {
34472
- directives: [
34473
- {
34474
- name: "show",
34475
- rawName: "v-show",
34476
- value: _vm.instance.isVisible,
34477
- expression: "instance.isVisible",
34478
- },
34479
- ],
34480
- ref: "picker",
34481
- attrs: { "no-title": "", range: "" },
34482
- on: {
34483
- "hook:mounted": _vm.pickerMounted,
34484
- "hook:destroyed": _vm.pickerDestroyed,
34485
- change: function ($event) {
34486
- return _vm.onChangeDatePicker()
34487
- },
34935
+ "v-menu",
34936
+ {
34937
+ directives: [
34938
+ {
34939
+ name: "show",
34940
+ rawName: "v-show",
34941
+ value: _vm.instance.isVisible,
34942
+ expression: "instance.isVisible",
34488
34943
  },
34489
- model: {
34490
- value: _vm.instance.isoRangeValue,
34491
- callback: function ($$v) {
34492
- _vm.$set(_vm.instance, "isoRangeValue", $$v);
34944
+ ],
34945
+ staticClass: "zd-date-menu-activator",
34946
+ attrs: {
34947
+ id: _vm.instance.name,
34948
+ "offset-overflow": "",
34949
+ "offset-y": "",
34950
+ "min-width": _vm.instance.width,
34951
+ transition: "scale-transition",
34952
+ disabled: _vm.instance.disabled || _vm.instance.readonly,
34953
+ "close-on-content-click": false,
34954
+ },
34955
+ scopedSlots: _vm._u([
34956
+ {
34957
+ key: "activator",
34958
+ fn: function (ref) {
34959
+ var on = ref.on;
34960
+ return [
34961
+ _c("zd-text-input", {
34962
+ ref: "instance",
34963
+ attrs: {
34964
+ name: _vm.instance.name + "_text-input",
34965
+ mask: _vm.getDateMask,
34966
+ "instance-object": _vm.instance,
34967
+ events: _vm.getEvents(on),
34968
+ autofill: false,
34969
+ },
34970
+ }),
34971
+ ]
34493
34972
  },
34494
- expression: "instance.isoRangeValue",
34495
34973
  },
34974
+ ]),
34975
+ model: {
34976
+ value: _vm.instance.showDatePicker,
34977
+ callback: function ($$v) {
34978
+ _vm.$set(_vm.instance, "showDatePicker", $$v);
34979
+ },
34980
+ expression: "instance.showDatePicker",
34496
34981
  },
34497
- "v-date-picker",
34498
- {
34499
- color: _vm.instance.color,
34500
- dark: _vm.instance.dark,
34501
- firstDayOfWeek: _vm.instance.firstDayOfWeek,
34502
- fullWidth: _vm.instance.fullWidth,
34503
- light: _vm.instance.light,
34504
- locale: _vm.instance.locale,
34505
- scrollable: _vm.instance.scrollable,
34506
- showDatePicker: _vm.instance.showDatePicker,
34507
- showWeek: _vm.instance.showWeek,
34508
- type: _vm.instance.pickerType,
34509
- width: _vm.instance.width,
34510
- },
34511
- false
34512
- )
34982
+ },
34983
+ [
34984
+ _vm._v(" "),
34985
+ _c(
34986
+ "v-date-picker",
34987
+ _vm._b(
34988
+ {
34989
+ directives: [
34990
+ {
34991
+ name: "show",
34992
+ rawName: "v-show",
34993
+ value: _vm.instance.isVisible,
34994
+ expression: "instance.isVisible",
34995
+ },
34996
+ ],
34997
+ ref: "picker",
34998
+ attrs: { "no-title": "", range: "" },
34999
+ on: {
35000
+ "hook:mounted": _vm.pickerMounted,
35001
+ "hook:destroyed": _vm.pickerDestroyed,
35002
+ change: function ($event) {
35003
+ return _vm.onChangeDatePicker()
35004
+ },
35005
+ },
35006
+ model: {
35007
+ value: _vm.instance.isoRangeValue,
35008
+ callback: function ($$v) {
35009
+ _vm.$set(_vm.instance, "isoRangeValue", $$v);
35010
+ },
35011
+ expression: "instance.isoRangeValue",
35012
+ },
35013
+ },
35014
+ "v-date-picker",
35015
+ {
35016
+ color: _vm.instance.color,
35017
+ dark: _vm.instance.dark,
35018
+ firstDayOfWeek: _vm.instance.firstDayOfWeek,
35019
+ fullWidth: _vm.instance.fullWidth,
35020
+ light: _vm.instance.light,
35021
+ locale: _vm.instance.locale,
35022
+ scrollable: _vm.instance.scrollable,
35023
+ showDatePicker: _vm.instance.showDatePicker,
35024
+ showWeek: _vm.instance.showWeek,
35025
+ type: _vm.instance.pickerType,
35026
+ width: _vm.instance.width,
35027
+ },
35028
+ false
35029
+ )
35030
+ ),
35031
+ ],
35032
+ 1
34513
35033
  ),
35034
+ _vm._v(" "),
35035
+ _vm.instance.helperOptions && _vm.instance.helperOptions.length
35036
+ ? _c(
35037
+ "zd-dropdown",
35038
+ {
35039
+ attrs: {
35040
+ name: _vm.instance.name + "_helperdropdown",
35041
+ "offset-y": "",
35042
+ activator: {
35043
+ name: _vm.instance.name + "_helperbutton",
35044
+ component: "ZdButton",
35045
+ iconName: "magnify",
35046
+ icon: true,
35047
+ small: true,
35048
+ cssClass:
35049
+ "date-range-helper-values-button " +
35050
+ (_vm.instance.showLabel !== false ? "with-label" : ""),
35051
+ },
35052
+ },
35053
+ },
35054
+ _vm._l(_vm.instance.helperOptions, function (value) {
35055
+ return _c("zd-text", {
35056
+ key: value,
35057
+ attrs: {
35058
+ name: _vm.instance.name + "_helpervalue_" + value,
35059
+ cssClass:
35060
+ "date-range-helper-values-option zd-dropdown-component",
35061
+ text: _vm.getLabel(value),
35062
+ events: {
35063
+ click: _vm.helperValuesOptionClick,
35064
+ },
35065
+ },
35066
+ })
35067
+ }),
35068
+ 1
35069
+ )
35070
+ : _vm._e(),
34514
35071
  ],
34515
35072
  1
34516
35073
  )
@@ -34521,7 +35078,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
34521
35078
  /* style */
34522
35079
  const __vue_inject_styles__$13 = function (inject) {
34523
35080
  if (!inject) return
34524
- inject("data-v-cff9acb0_0", { source: "div.v-picker--date .v-picker__body {\n background: transparent;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header {\n padding: var(--spacing-2) var(--spacing-4) var(--spacing-1) var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div button:not(:hover):not(:focus) {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-btn--icon {\n height: var(--icon-size);\n width: var(--icon-size);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value button {\n padding: 0;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table {\n margin-bottom: 12px;\n padding: 0 var(--spacing-4);\n height: 200px;\n margin-bottom: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table .v-btn.v-btn--active {\n color: var(--v-secondary-lighten4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--date .v-btn {\n width: 24px;\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month {\n padding-top: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month .v-btn {\n padding: 4px 0 7px 0;\n height: 24px;\n width: 56px;\n min-width: 56px;\n border-radius: var(--border);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month td {\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month tr:not(:last-child) td {\n padding-bottom: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table thead th {\n color: var(--zd-font-disabled-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent--text {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent {\n background: var(--zd-primary-base) !important;\n color: white !important;\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li.primary--text {\n color: var(--zd-primary-base) !important;\n}\n.zd-date-menu-activator .v-menu__activator.v-menu__activator--disabled {\n cursor: default;\n}", map: undefined, media: undefined });
35081
+ inject("data-v-1ca32689_0", { source: "div.v-picker--date .v-picker__body {\n background: transparent;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header {\n padding: var(--spacing-2) var(--spacing-4) var(--spacing-1) var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value:not(.v-date-picker-header__value--disabled) > div button:not(:hover):not(:focus) {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-btn--icon {\n height: var(--icon-size);\n width: var(--icon-size);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-header .v-date-picker-header__value button {\n padding: 0;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table {\n margin-bottom: 12px;\n padding: 0 var(--spacing-4);\n height: 200px;\n margin-bottom: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table .v-btn.v-btn--active {\n color: var(--v-secondary-lighten4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--date .v-btn {\n width: 24px;\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month {\n padding-top: var(--spacing-4);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month .v-btn {\n padding: 4px 0 7px 0;\n height: 24px;\n width: 56px;\n min-width: 56px;\n border-radius: var(--border);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month td {\n height: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table.v-date-picker-table--month tr:not(:last-child) td {\n padding-bottom: 24px;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table thead th {\n color: var(--zd-font-disabled-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent--text {\n color: var(--zd-primary-base) !important;\n}\ndiv.v-picker--date .v-picker__body .v-date-picker-table table tbody button.v-btn.accent {\n background: var(--zd-primary-base) !important;\n color: white !important;\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li {\n color: var(--zd-font-default-color);\n}\ndiv.v-picker--date .v-picker__body ul.v-date-picker-years li.primary--text {\n color: var(--zd-primary-base) !important;\n}\n.zd-date-menu-activator .v-menu__activator.v-menu__activator--disabled {\n cursor: default;\n}\n.date-range-helper-values-button {\n height: 24px !important;\n margin-left: 5px;\n margin-top: 0;\n}\n.date-range-helper-values-button.with-label {\n margin-top: 20px;\n}\n.date-range-helper-values-option {\n cursor: pointer;\n}\n.date-range-helper-values-option:hover {\n background-color: rgba(0, 0, 0, 0.03);\n}", map: undefined, media: undefined });
34525
35082
 
34526
35083
  };
34527
35084
  /* scoped */
@@ -40220,7 +40777,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
40220
40777
  this.originalOnScroll(event);
40221
40778
  if (this.instance.datasource.loadAll)
40222
40779
  return;
40223
- if (this.instance.datasource.data.length === this.instance.datasource.total)
40780
+ if (!this.instance.showLoadMore())
40224
40781
  return;
40225
40782
  const elem = event.target;
40226
40783
  if (!elem)
@@ -40288,7 +40845,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
40288
40845
  if (!this.componentRef || !this.componentRef.updateMenuDimensions)
40289
40846
  return;
40290
40847
  // Update menu position
40291
- this.componentRef.updateMenuDimensions();
40848
+ this.$nextTick(this.componentRef.updateMenuDimensions);
40292
40849
  }
40293
40850
  };
40294
40851
  __decorate([
@@ -40609,14 +41166,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
40609
41166
  _c(
40610
41167
  "div",
40611
41168
  {
40612
- directives: [
40613
- {
40614
- name: "show",
40615
- rawName: "v-show",
40616
- value: _vm.instance.showLoadMore(),
40617
- expression: "instance.showLoadMore()",
40618
- },
40619
- ],
40620
41169
  staticClass: "zd-select-append-item",
40621
41170
  on: {
40622
41171
  mousedown: function ($event) {
@@ -40664,7 +41213,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
40664
41213
  /* style */
40665
41214
  const __vue_inject_styles__$K = function (inject) {
40666
41215
  if (!inject) return
40667
- inject("data-v-52fccbb0_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
41216
+ inject("data-v-b1b2a69a_0", { source: ".zd-select .v-input__control .v-input__slot .v-select__slot {\n position: static;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer {\n margin-right: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-left: var(--spacing-1);\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-outer, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-outer {\n margin-top: 5px;\n}\n.zd-select .v-input__control .v-input__slot .v-select__slot .v-input__append-inner, .zd-select .v-input__control .v-input__slot .v-select__slot .v-input__prepend-inner {\n padding-left: 0;\n padding-right: 0;\n}\n.zd-select.zd-select-align-left > .v-input__control > .v-input__slot input {\n text-align: left;\n}\n.zd-select.zd-select-align-center > .v-input__control > .v-input__slot input {\n text-align: center;\n}\n.zd-select.zd-select-align-right > .v-input__control > .v-input__slot input {\n text-align: right;\n}\n.zd-select .v-select__selections {\n padding: 0;\n width: 172px;\n overflow: hidden;\n white-space: nowrap;\n flex-wrap: nowrap;\n text-overflow: ellipsis;\n}\n.zd-select .v-select__selections .v-select__selection {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n color: var(--zd-font-color);\n margin: 0;\n max-width: none;\n}\n.zd-select .v-select__selections .v-select__selection--disabled {\n opacity: 0.5;\n}\n.zd-select.zd-dense .v-input__append-inner, .zd-select.zd-dense .v-input__prepend-inner {\n margin-top: 0;\n}\n.zd-select-append-item .v-list-item__content {\n font-size: var(--zd-font-body2-size);\n font-weight: var(--zd-font-body2-size);\n color: var(--v-primary-base);\n}\n.v-menu__content.zd-select-menu {\n box-shadow: var(--shadow-2);\n}\n.v-menu__content.zd-select-menu .v-select-list {\n padding: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item {\n height: auto;\n min-height: 40px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__content {\n padding: var(--spacing-2) 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item:not(.theme--dark) {\n color: var(--zd-font-color);\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item__title {\n font-size: var(--zd-font-body1-size);\n font-weight: var(--zd-font-body1-weight);\n height: auto;\n line-height: unset;\n white-space: unset;\n overflow: auto;\n text-overflow: unset;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled .v-list-item__title {\n opacity: 0.5;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item.v-list-item--disabled.primary--text .v-list-item__title {\n color: inherit;\n}\n.v-menu__content.zd-select-menu.zd-dense .v-list-item {\n height: auto;\n min-height: 24px;\n padding: 0 var(--spacing-4);\n}\n.v-menu__content.zd-select-menu.zd-select-align-left .v-list-item__content .v-list-item__title {\n text-align: left;\n}\n.v-menu__content.zd-select-menu.zd-select-align-center .v-list-item__content .v-list-item__title {\n text-align: center;\n}\n.v-menu__content.zd-select-menu.zd-select-align-right .v-list-item__content .v-list-item__title {\n text-align: right;\n}", map: undefined, media: undefined });
40668
41217
 
40669
41218
  };
40670
41219
  /* scoped */
@@ -42157,10 +42706,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
42157
42706
  core.KeyMap.unbind(this.navigationKeyMapping, this);
42158
42707
  }
42159
42708
  showSlotOnHover() {
42160
- if (this.instance.miniState && this.$children.length >= 2 && this.$children[1].$el.matches(':hover')) {
42161
- return this.instance.miniState;
42162
- }
42163
- return !this.instance.miniState;
42709
+ return (this.instance.miniState && this.instance.mouseOver) || (!this.instance.miniState || this.instance.mini);
42164
42710
  }
42165
42711
  doSearch({ component }) {
42166
42712
  this.instance.search = component.value;
@@ -42413,11 +42959,13 @@ If you're seeing "$attrs is readonly", it's caused by this`);
42413
42959
  floating: _vm.instance.floating,
42414
42960
  "mini-variant-width": _vm.instance.miniWidth,
42415
42961
  "mini-variant":
42416
- (_vm.instance.mini ||
42417
- (_vm.instance.miniState &&
42418
- _vm.$refs.ZdMenu &&
42419
- !_vm.$refs.ZdMenu.isMobile)) &&
42420
- !_vm.instance.mouseOver,
42962
+ (!_vm.instance.opened && _vm.instance.mini) ||
42963
+ (_vm.instance.miniState &&
42964
+ !_vm.instance.mouseOver &&
42965
+ _vm.instance.miniState &&
42966
+ _vm.$refs.ZdMenu &&
42967
+ !_vm.$refs.ZdMenu.isMobile) ||
42968
+ (_vm.instance.miniState && _vm.instance.mini),
42421
42969
  "mobile-breakpoint": _vm.instance.mobileBreakpoint,
42422
42970
  temporary: _vm.instance.temporary,
42423
42971
  width: _vm.instance.width,
@@ -42520,7 +43068,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
42520
43068
  /* style */
42521
43069
  const __vue_inject_styles__$z = function (inject) {
42522
43070
  if (!inject) return
42523
- inject("data-v-368f7c97_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 });
43071
+ 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 });
42524
43072
 
42525
43073
  };
42526
43074
  /* scoped */
@@ -44461,56 +45009,63 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44461
45009
  constructor() {
44462
45010
  super(...arguments);
44463
45011
  this.instanceType = common.SelectMultiple;
44464
- this.oneLineMode = true;
45012
+ this.expandedMode = false;
45013
+ this.rows = 1;
44465
45014
  this.lastDisplayedChip = 0;
44466
45015
  this.allSelected = false;
45016
+ this.hasHiddenRows = false;
45017
+ }
45018
+ get maxRowsNumber() {
45019
+ return Number(this.instance.maxRows || Infinity);
44467
45020
  }
44468
45021
  mounted() {
44469
45022
  this.componentRef = this.$refs.instance;
44470
45023
  this.element = this.componentRef.$el;
44471
- this.initialHeight = this.element.offsetHeight;
44472
45024
  this.listener = () => this.handleResize();
44473
45025
  window.addEventListener('resize', this.listener);
44474
- if (this.value) {
44475
- this.unwatchValue = this.$watch('instance.value', this.onValueChange);
44476
- }
45026
+ this.initialHeight = this.element.offsetHeight;
45027
+ }
45028
+ onValueChange() {
45029
+ if (this.componentRef.isFocused)
45030
+ return;
45031
+ this.refreshDisplay();
44477
45032
  }
44478
45033
  beforeDestroy() {
44479
45034
  window.removeEventListener('resize', this.listener);
44480
45035
  }
44481
- onValueChange() {
44482
- const prevMode = this.oneLineMode;
44483
- this.oneLineMode = false;
44484
- this.$nextTick(() => {
44485
- this.calcDisplay(true);
44486
- this.oneLineMode = prevMode;
45036
+ initChipConfig() {
45037
+ this.refreshDisplay(() => {
45038
+ this.$nextTick(() => {
45039
+ this.initialHeight = this.element.offsetHeight;
45040
+ });
44487
45041
  if (this.componentRef.isFocused) {
44488
45042
  this.updateMenu();
44489
45043
  }
44490
45044
  });
44491
- this.unwatchValue();
44492
45045
  }
44493
45046
  calcDisplay(force = false) {
44494
45047
  var _a;
44495
45048
  const chips = this.getChips();
44496
- if (chips.length > 0) {
44497
- if (this.element.offsetHeight > this.initialHeight || force) {
44498
- this.lastDisplayedChip = this.getLastChipIndex(chips);
44499
- }
44500
- else {
44501
- this.lastDisplayedChip = ((_a = this.instance.value) === null || _a === void 0 ? void 0 : _a.length) || 0;
44502
- }
45049
+ if (chips.length === 0)
45050
+ return;
45051
+ if (this.element.offsetHeight > this.initialHeight || force) {
45052
+ this.lastDisplayedChip = this.getLastChipIndex(chips);
45053
+ return;
44503
45054
  }
45055
+ this.lastDisplayedChip = ((_a = this.instance.value) === null || _a === void 0 ? void 0 : _a.length) || 0;
44504
45056
  }
44505
45057
  getLastChipIndex(chips) {
44506
45058
  let lastIndex = -1;
44507
45059
  let filledWidth = 0;
44508
45060
  const firstChip = chips[0];
44509
- const baseTop = firstChip.offsetTop;
45061
+ let baseTop = firstChip.offsetTop;
44510
45062
  const marginX = this.getMarginX(firstChip);
45063
+ if (!firstChip.parentElement)
45064
+ return 0;
44511
45065
  let inputWidth = firstChip.parentElement.offsetWidth;
44512
45066
  inputWidth -= this.getPaddingX(firstChip.parentElement);
44513
- const hasSecondRow = chips.some((chip, index) => {
45067
+ let rowCount = 1;
45068
+ this.hasHiddenRows = chips.some((chip, index) => {
44514
45069
  if (chip.offsetTop === baseTop) {
44515
45070
  const chipWidth = chip.offsetWidth + marginX;
44516
45071
  filledWidth += chipWidth;
@@ -44519,9 +45074,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44519
45074
  }
44520
45075
  return false;
44521
45076
  }
45077
+ rowCount += 1;
45078
+ if (rowCount <= this.rows) {
45079
+ baseTop = chip.offsetTop;
45080
+ filledWidth = chip.offsetWidth + marginX;
45081
+ lastIndex = index;
45082
+ return false;
45083
+ }
44522
45084
  return true;
44523
45085
  });
44524
- if (!hasSecondRow) {
45086
+ if (!this.hasHiddenRows) {
44525
45087
  lastIndex = this.instance.value.length - 1;
44526
45088
  }
44527
45089
  return lastIndex;
@@ -44551,7 +45113,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44551
45113
  const { input, menu } = this.componentRef.$refs;
44552
45114
  input.focus();
44553
45115
  menu.isActive = !this.instance.readonly && !this.instance.disabled && !menu.isActive;
44554
- this.oneLineMode = !menu.isActive;
45116
+ this.rows = menu.isActive ? this.maxRowsNumber : 1;
44555
45117
  this.$nextTick(() => { this.componentRef.isFocused = true; });
44556
45118
  }
44557
45119
  /**
@@ -44571,20 +45133,18 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44571
45133
  }
44572
45134
  selectClick(event) {
44573
45135
  const { menu } = this.componentRef.$refs;
44574
- if (!menu.isActive)
44575
- this.oneLineMode = false;
45136
+ if (!menu.isActive) {
45137
+ this.rows = this.maxRowsNumber;
45138
+ if (this.instance.maxRows) {
45139
+ this.$nextTick(() => {
45140
+ this.calcDisplay(true);
45141
+ });
45142
+ }
45143
+ }
44576
45144
  this.instance.click(event, this.$el);
44577
45145
  }
44578
45146
  handleResize() {
44579
- if (this.oneLineMode) {
44580
- this.oneLineMode = false;
44581
- this.$nextTick(() => {
44582
- if (!this.checkOverflow()) {
44583
- this.calcDisplay(true);
44584
- }
44585
- this.oneLineMode = true;
44586
- });
44587
- }
45147
+ this.refreshDisplay();
44588
45148
  }
44589
45149
  get moreItemsText() {
44590
45150
  this.instance.moreChip = this.instance.value.length - this.lastDisplayedChip - 1;
@@ -44593,19 +45153,36 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44593
45153
  selectChange(value, event) {
44594
45154
  this.instance.selectChange(value.map((item) => item.originalRow), event, this.$el);
44595
45155
  this.changeSelectAllItemsValue();
45156
+ const { menu } = this.componentRef.$refs;
45157
+ if (menu.isActive && this.instance.maxRows) {
45158
+ this.refreshDisplay();
45159
+ }
44596
45160
  }
44597
45161
  selectBlur(event) {
44598
- if (!this.oneLineMode) {
44599
- this.oneLineMode = true;
45162
+ if (this.rows !== 1) {
45163
+ this.rows = 1;
44600
45164
  this.calcDisplay();
44601
45165
  this.$nextTick(() => this.checkOverflow());
44602
45166
  }
44603
45167
  this.superMethods(__vue_component__$K).selectBlur.call(this, event);
44604
45168
  }
44605
45169
  selectFocus(event) {
44606
- this.oneLineMode = false;
45170
+ this.rows = this.maxRowsNumber;
45171
+ this.refreshDisplay();
44607
45172
  this.superMethods(__vue_component__$K).selectFocus.call(this, event);
44608
45173
  }
45174
+ refreshDisplay(cb) {
45175
+ const prevMode = this.expandedMode;
45176
+ this.expandedMode = true;
45177
+ this.$nextTick(() => {
45178
+ this.expandedMode = prevMode;
45179
+ if (!this.checkOverflow()) {
45180
+ this.calcDisplay(true);
45181
+ }
45182
+ if (cb)
45183
+ cb();
45184
+ });
45185
+ }
44609
45186
  onSelectAll(event) {
44610
45187
  this.allSelected = !this.allSelected;
44611
45188
  this.$nextTick(() => {
@@ -44656,6 +45233,16 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44656
45233
  PropWatch({ type: [Boolean, String], default: false }),
44657
45234
  __metadata("design:type", Boolean)
44658
45235
  ], ZdSelectMultiple.prototype, "showSelectAll", void 0);
45236
+ __decorate([
45237
+ PropWatch({ type: [String, Number], default: undefined }),
45238
+ __metadata("design:type", Object)
45239
+ ], ZdSelectMultiple.prototype, "maxRows", void 0);
45240
+ __decorate([
45241
+ vuePropertyDecorator.Watch('instance.value'),
45242
+ __metadata("design:type", Function),
45243
+ __metadata("design:paramtypes", []),
45244
+ __metadata("design:returntype", void 0)
45245
+ ], ZdSelectMultiple.prototype, "onValueChange", null);
44659
45246
  ZdSelectMultiple = __decorate([
44660
45247
  Component__default["default"]
44661
45248
  ], ZdSelectMultiple);
@@ -44697,7 +45284,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44697
45284
  ),
44698
45285
  "zd-no-border": !_vm.instance.showBorder,
44699
45286
  "zd-dense": _vm.instance.dense,
44700
- "zd-select-multiple--one-line": _vm.oneLineMode,
44701
45287
  "zd-select-multiple-autocomplete": _vm.instance.autocomplete,
44702
45288
  "zd-input-required": _vm.instance.validations.required,
44703
45289
  },
@@ -44709,7 +45295,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44709
45295
  id: _vm.instance.name,
44710
45296
  "return-object": "",
44711
45297
  "validate-on-blur": "",
44712
- "no-filter": "",
44713
45298
  multiple: "",
44714
45299
  name: _vm.instance.name,
44715
45300
  loading: _vm.instance.datasource.loading,
@@ -44746,6 +45331,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44746
45331
  fixed: true,
44747
45332
  "max-width": _vm.parentWidth,
44748
45333
  closeOnContentClick: false,
45334
+ maxHeight: _vm.instance.menuMaxHeight,
44749
45335
  },
44750
45336
  "search-input": _vm.instance.search,
44751
45337
  "append-icon": _vm.$getIcon(_vm.instance.appendIcon),
@@ -44925,7 +45511,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44925
45511
  key: "selection",
44926
45512
  fn: function (props) {
44927
45513
  return [
44928
- !_vm.oneLineMode || props.index <= _vm.lastDisplayedChip
45514
+ _vm.expandedMode ||
45515
+ !_vm.hasHiddenRows ||
45516
+ props.index <= _vm.lastDisplayedChip
44929
45517
  ? _c(
44930
45518
  "v-chip",
44931
45519
  {
@@ -44949,7 +45537,9 @@ If you're seeing "$attrs is readonly", it's caused by this`);
44949
45537
  )
44950
45538
  : _vm._e(),
44951
45539
  _vm._v(" "),
44952
- _vm.oneLineMode && props.index === _vm.lastDisplayedChip + 1
45540
+ !_vm.expandedMode &&
45541
+ _vm.hasHiddenRows &&
45542
+ props.index === _vm.lastDisplayedChip + 1
44953
45543
  ? _c("span", { staticClass: "more-items grey--text caption" }, [
44954
45544
  _vm._v(_vm._s(_vm.moreItemsText)),
44955
45545
  ])
@@ -45017,14 +45607,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
45017
45607
  _c(
45018
45608
  "div",
45019
45609
  {
45020
- directives: [
45021
- {
45022
- name: "show",
45023
- rawName: "v-show",
45024
- value: _vm.instance.showLoadMore(),
45025
- expression: "instance.showLoadMore()",
45026
- },
45027
- ],
45028
45610
  staticClass: "zd-select-append-item",
45029
45611
  on: {
45030
45612
  mousedown: function ($event) {
@@ -45072,7 +45654,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
45072
45654
  /* style */
45073
45655
  const __vue_inject_styles__$k = function (inject) {
45074
45656
  if (!inject) return
45075
- inject("data-v-dfbdd716_0", { source: ".zd-select-multiple--one-line .v-select__slot .v-select__selections {\n flex-wrap: nowrap;\n}\n.zd-select-multiple:not(.zd-select-multiple--one-line) .v-select__slot .v-select__selections {\n flex-wrap: wrap;\n padding-bottom: 0 !important;\n}\n.zd-select-multiple:not(.zd-select-multiple--one-line) .v-select__slot .v-select__selections .v-chip {\n margin-bottom: 0.2rem;\n margin-top: 0.2rem;\n}\n.zd-select-multiple:not(.zd-select-multiple--one-line) .v-select__slot .v-select__selections input {\n position: relative;\n top: -2px;\n}\n.zd-select-multiple .v-input > .v-input__control > .v-input__slot > .v-select__slot input {\n padding: 0;\n}\n.zd-select-multiple-autocomplete.v-input > .v-input__control > .v-input__slot > .v-select__slot input {\n padding: 0 var(--spacing-1);\n}\n.zd-select-multiple .v-select__slot .v-select__selections {\n padding: 0px 7px 0px 7px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip {\n margin: 0 var(--spacing-1) 0 0;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip.v-size--x-small {\n height: 15px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip.v-size--x-small .chip-text {\n font-size: 12px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip--removable.v-size--x-small .v-chip__content .v-chip__close {\n font-size: 14px !important;\n margin-left: var(--spacing-2);\n margin-right: -6px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .more-items {\n line-height: 15px;\n}\n.zd-select-multiple .v-input__slot {\n min-height: 24px;\n}\n.zd-select-multiple.zd-dense .v-input__slot {\n min-height: 24px;\n}\n.zd-select-multiple.zd-dense .v-select__slot .v-select__selections {\n padding: 0 var(--spacing-1);\n}\n.zd-select-multiple.zd-dense .v-select__slot .v-select__selections .v-chip {\n margin-bottom: 0.2rem;\n margin-top: 0.2rem;\n}\n.zd-select-multiple.v-input--is-focused .v-select__slot .v-select__selections .v-chip .v-chip__content .chip-text {\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.v-menu__content.zd-select-menu .v-select-list div.v-list-item__action {\n margin: 0 var(--zd-default-padding) 0 0;\n}\n.v-menu__content.zd-select-menu .v-select-list > .v-list-item .v-input--selection-controls__ripple {\n margin: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item--disabled .v-simple-checkbox .v-icon {\n opacity: 0.5;\n}", map: undefined, media: undefined });
45657
+ inject("data-v-9f031bd2_0", { source: ".zd-select-multiple .v-select__slot .v-select__selections {\n flex-wrap: wrap;\n padding-bottom: 0 !important;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip {\n margin-bottom: 0.2rem;\n margin-top: 0.2rem;\n}\n.zd-select-multiple .v-select__slot .v-select__selections input {\n position: relative;\n top: -2px;\n}\n.zd-select-multiple-autocomplete.v-input:not(.v-input--is-focused) > .v-input__control > .v-input__slot > .v-select__slot input {\n padding: 0;\n}\n.zd-select-multiple .v-input > .v-input__control > .v-input__slot > .v-select__slot input {\n padding: 0;\n}\n.zd-select-multiple-autocomplete.v-input > .v-input__control > .v-input__slot > .v-select__slot input {\n padding: 0 var(--spacing-1);\n}\n.zd-select-multiple .v-select__slot .v-select__selections {\n padding: 0px 7px 0px 7px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip {\n margin: 0 var(--spacing-1) 0 0;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip.v-size--x-small {\n height: 15px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip.v-size--x-small .chip-text {\n font-size: 12px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .v-chip--removable.v-size--x-small .v-chip__content .v-chip__close {\n font-size: 14px !important;\n margin-left: var(--spacing-2);\n margin-right: -6px;\n}\n.zd-select-multiple .v-select__slot .v-select__selections .more-items {\n line-height: 15px;\n}\n.zd-select-multiple .v-input__slot {\n min-height: 24px;\n}\n.zd-select-multiple.zd-dense .v-input__slot {\n min-height: 24px;\n}\n.zd-select-multiple.zd-dense .v-select__slot .v-select__selections {\n padding: 0 var(--spacing-1);\n}\n.zd-select-multiple.zd-dense .v-select__slot .v-select__selections .v-chip {\n margin-bottom: 0.2rem;\n margin-top: 0.2rem;\n}\n.zd-select-multiple.v-input--is-focused .v-select__slot .v-select__selections .v-chip .v-chip__content .chip-text {\n text-overflow: ellipsis;\n overflow: hidden;\n}\n.v-menu__content.zd-select-menu .v-select-list div.v-list-item__action {\n margin: 0 var(--zd-default-padding) 0 0;\n}\n.v-menu__content.zd-select-menu .v-select-list > .v-list-item .v-input--selection-controls__ripple {\n margin: 0;\n}\n.v-menu__content.zd-select-menu .v-select-list .v-list-item--disabled .v-simple-checkbox .v-icon {\n opacity: 0.5;\n}", map: undefined, media: undefined });
45076
45658
 
45077
45659
  };
45078
45660
  /* scoped */
@@ -46767,8 +47349,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
46767
47349
  {
46768
47350
  name: "show",
46769
47351
  rawName: "v-show",
46770
- value: tab.isVisible,
46771
- expression: "tab.isVisible",
47352
+ value:
47353
+ tab.isVisible && index === _vm.instance.activeTab,
47354
+ expression:
47355
+ "tab.isVisible && index === instance.activeTab",
46772
47356
  },
46773
47357
  ],
46774
47358
  key: index,
@@ -46800,11 +47384,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
46800
47384
  /* style */
46801
47385
  const __vue_inject_styles__$c = function (inject) {
46802
47386
  if (!inject) return
46803
- inject("data-v-0214eb88_0", { source: ".zd-tabs[data-v-0214eb88] {\n display: flex;\n flex-direction: column;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-bar,\n.zd-tabs[data-v-0214eb88] .v-tabs-items {\n background-color: transparent;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-bar {\n height: auto;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-bar .v-tabs-slider-wrapper {\n bottom: -1px;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-bar__content {\n border-bottom: solid 1px var(--v-grey-lighten4);\n}\n.zd-tabs[data-v-0214eb88] .v-tabs {\n margin-bottom: var(--spacing-4);\n}\n.zd-tabs[data-v-0214eb88] .v-tabs .v-slide-group__next,\n.zd-tabs[data-v-0214eb88] .v-tabs .v-slide-group__prev {\n flex-basis: 30px;\n min-width: 30px;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs .v-slide-group__next .v-icon,\n.zd-tabs[data-v-0214eb88] .v-tabs .v-slide-group__prev .v-icon {\n font-size: 18px;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs {\n flex-grow: 0;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-items {\n flex-grow: 1;\n}\n.zd-tabs[data-v-0214eb88] .v-tabs-items .v-window__container {\n height: 100% !important;\n}", map: undefined, media: undefined });
47387
+ inject("data-v-62da8a0f_0", { source: ".zd-tabs[data-v-62da8a0f] {\n display: flex;\n flex-direction: column;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-bar,\n.zd-tabs[data-v-62da8a0f] .v-tabs-items {\n background-color: transparent;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-bar {\n height: auto;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-bar .v-tabs-slider-wrapper {\n bottom: -1px;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-bar__content {\n border-bottom: solid 1px var(--v-grey-lighten4);\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs {\n margin-bottom: var(--spacing-4);\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs .v-slide-group__next,\n.zd-tabs[data-v-62da8a0f] .v-tabs .v-slide-group__prev {\n flex-basis: 30px;\n min-width: 30px;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs .v-slide-group__next .v-icon,\n.zd-tabs[data-v-62da8a0f] .v-tabs .v-slide-group__prev .v-icon {\n font-size: 18px;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs {\n flex-grow: 0;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-items {\n flex-grow: 1;\n}\n.zd-tabs[data-v-62da8a0f] .v-tabs-items .v-window__container {\n height: 100% !important;\n}", map: undefined, media: undefined });
46804
47388
 
46805
47389
  };
46806
47390
  /* scoped */
46807
- const __vue_scope_id__$c = "data-v-0214eb88";
47391
+ const __vue_scope_id__$c = "data-v-62da8a0f";
46808
47392
  /* module identifier */
46809
47393
  const __vue_module_identifier__$c = undefined;
46810
47394
  /* functional template */
@@ -48021,26 +48605,30 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48021
48605
  let ZdTreeCheckbox = class ZdTreeCheckbox extends Vue__default["default"] {
48022
48606
  get childrenCheck() {
48023
48607
  var _a;
48024
- return (_a = this.node.children) === null || _a === void 0 ? void 0 : _a.every((child) => child.isChecked);
48608
+ return (_a = this.node.children) === null || _a === void 0 ? void 0 : _a.every((child) => child.data && child.data[this.checkedField]);
48025
48609
  }
48026
48610
  check() {
48027
- this.node.isChecked = this.childrenCheck;
48611
+ if (!this.node.data)
48612
+ return;
48613
+ this.node.data[this.checkedField] = this.childrenCheck;
48028
48614
  }
48029
48615
  get isIndeterminate() {
48030
48616
  var _a, _b;
48031
48617
  let count = 0;
48032
48618
  (_a = this.node.children) === null || _a === void 0 ? void 0 : _a.forEach((child) => {
48033
- if (child.isChecked)
48619
+ if (child.data && child.data[this.checkedField])
48034
48620
  count += 1;
48035
48621
  });
48036
48622
  return (count > 0) && (count < (((_b = this.node.children) === null || _b === void 0 ? void 0 : _b.length) || 0));
48037
48623
  }
48038
48624
  checkboxToggle(node) {
48039
- this.toggleChildren([node], !!node.isChecked);
48625
+ this.toggleChildren([node], !!(node.data && node.data[this.checkedField]));
48040
48626
  }
48041
48627
  toggleChildren(nodes, value) {
48042
48628
  nodes.forEach((node) => {
48043
- node.isChecked = value;
48629
+ if (!node.data)
48630
+ return;
48631
+ node.data[this.checkedField] = value;
48044
48632
  if (node.children && node.children.length > 0)
48045
48633
  this.toggleChildren(node.children, value);
48046
48634
  });
@@ -48054,6 +48642,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48054
48642
  vuePropertyDecorator.Prop({ type: [Object], default: () => [] }),
48055
48643
  __metadata("design:type", Object)
48056
48644
  ], ZdTreeCheckbox.prototype, "node", void 0);
48645
+ __decorate([
48646
+ vuePropertyDecorator.Prop({ type: [String], default: 'checked' }),
48647
+ __metadata("design:type", String)
48648
+ ], ZdTreeCheckbox.prototype, "checkedField", void 0);
48057
48649
  __decorate([
48058
48650
  vuePropertyDecorator.Watch('childrenCheck'),
48059
48651
  __metadata("design:type", Function),
@@ -48081,7 +48673,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48081
48673
  "on-icon": _vm.$getIcon("checkboxOn"),
48082
48674
  "off-icon": _vm.$getIcon("checkboxOff"),
48083
48675
  "indeterminate-icon": _vm.$getIcon("checkboxIndeterminate"),
48084
- "input-value": _vm.node.isChecked,
48676
+ "input-value": _vm.node.data[_vm.checkedField],
48085
48677
  indeterminate: _vm.isIndeterminate,
48086
48678
  },
48087
48679
  on: {
@@ -48090,11 +48682,11 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48090
48682
  },
48091
48683
  },
48092
48684
  model: {
48093
- value: _vm.node.isChecked,
48685
+ value: _vm.node.data[_vm.checkedField],
48094
48686
  callback: function ($$v) {
48095
- _vm.$set(_vm.node, "isChecked", $$v);
48687
+ _vm.$set(_vm.node.data, _vm.checkedField, $$v);
48096
48688
  },
48097
- expression: "node.isChecked",
48689
+ expression: "node.data[checkedField]",
48098
48690
  },
48099
48691
  })
48100
48692
  };
@@ -48104,7 +48696,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48104
48696
  /* style */
48105
48697
  const __vue_inject_styles__$4 = function (inject) {
48106
48698
  if (!inject) return
48107
- inject("data-v-6000ad85_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 });
48699
+ 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 });
48108
48700
 
48109
48701
  };
48110
48702
  /* scoped */
@@ -48226,26 +48818,8 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48226
48818
  mounted() {
48227
48819
  this.instance.setTree(this.$refs.tree);
48228
48820
  this.setAfterTitleMargin();
48229
- document.addEventListener('click', this.unselect);
48230
- }
48231
- destroy() {
48232
- document.removeEventListener('click', this.unselect);
48233
- }
48234
- unselect(event) {
48235
- var _a;
48236
- const tree = (_a = this.$refs.tree) === null || _a === void 0 ? void 0 : _a.$el;
48237
- if (!tree)
48238
- return;
48239
- if (tree.contains(event.target))
48240
- return;
48241
- this.instance.selectedNodes.forEach((node) => {
48242
- if (!node.path)
48243
- return;
48244
- const instanceNode = this.instance.getNode(node.path);
48245
- if (!instanceNode)
48246
- return;
48247
- instanceNode.isSelected = false;
48248
- });
48821
+ this.nodeChange();
48822
+ this.$watch('$refs.tree.nodes', this.nodeChange, { deep: true });
48249
48823
  }
48250
48824
  dataChange() {
48251
48825
  this.instance.createNodesFromDatasource();
@@ -48375,6 +48949,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48375
48949
  vuePropertyDecorator.Prop({ type: String, default: '' }),
48376
48950
  __metadata("design:type", String)
48377
48951
  ], ZdTree.prototype, "dataField", void 0);
48952
+ __decorate([
48953
+ vuePropertyDecorator.Prop({ type: String, default: 'checked' }),
48954
+ __metadata("design:type", String)
48955
+ ], ZdTree.prototype, "checkedField", void 0);
48378
48956
  __decorate([
48379
48957
  vuePropertyDecorator.Prop({ type: [Boolean, String], default: false }),
48380
48958
  __metadata("design:type", Boolean)
@@ -48389,12 +48967,6 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48389
48967
  __metadata("design:paramtypes", []),
48390
48968
  __metadata("design:returntype", void 0)
48391
48969
  ], ZdTree.prototype, "dataChange", null);
48392
- __decorate([
48393
- vuePropertyDecorator.Watch('instance.nodes', { deep: true }),
48394
- __metadata("design:type", Function),
48395
- __metadata("design:paramtypes", []),
48396
- __metadata("design:returntype", void 0)
48397
- ], ZdTree.prototype, "nodeChange", null);
48398
48970
  ZdTree = __decorate([
48399
48971
  vuePropertyDecorator.Component({
48400
48972
  components: { ZdTreeCheckbox: __vue_component__$4, ZdTreeAfterTitle: __vue_component__$3 },
@@ -48484,7 +49056,10 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48484
49056
  return [
48485
49057
  _vm.instance.checkbox
48486
49058
  ? _c("zd-tree-checkbox", {
48487
- attrs: { node: _vm.instanceNode(node) },
49059
+ attrs: {
49060
+ node: _vm.instanceNode(node),
49061
+ checkedField: _vm.instance.checkedField,
49062
+ },
48488
49063
  on: {
48489
49064
  click: function ($event) {
48490
49065
  return _vm.nodeCheck(node, $event)
@@ -48686,7 +49261,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
48686
49261
  /* style */
48687
49262
  const __vue_inject_styles__$2 = function (inject) {
48688
49263
  if (!inject) return
48689
- inject("data-v-71da43d2_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 });
49264
+ 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 });
48690
49265
 
48691
49266
  };
48692
49267
  /* scoped */
@@ -50949,6 +51524,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
50949
51524
  VBreadcrumbs,
50950
51525
  VBtn,
50951
51526
  VBtnToggle,
51527
+ VCalendar,
50952
51528
  VCard,
50953
51529
  VCardActions,
50954
51530
  VCardText,
@@ -50984,6 +51560,7 @@ If you're seeing "$attrs is readonly", it's caused by this`);
50984
51560
  VMenu,
50985
51561
  VNavigationDrawer,
50986
51562
  VOverlay,
51563
+ VOtpInput,
50987
51564
  VPagination,
50988
51565
  VProgressCircular,
50989
51566
  VProgressLinear,
@@ -51013,8 +51590,12 @@ If you're seeing "$attrs is readonly", it's caused by this`);
51013
51590
  VTabsItems,
51014
51591
  VTextarea,
51015
51592
  VTextField,
51593
+ VTimeline,
51594
+ VTimelineItem,
51016
51595
  VTimePicker,
51017
51596
  VTooltip,
51597
+ VToolbar,
51598
+ VToolbarItems,
51018
51599
  VSimpleCheckbox,
51019
51600
  },
51020
51601
  });