vuetify 2.6.3 → 2.6.4

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.
Files changed (35) hide show
  1. package/dist/json/web-types.json +5 -5
  2. package/dist/vuetify.js +60 -62
  3. package/dist/vuetify.js.map +1 -1
  4. package/dist/vuetify.min.css +1 -1
  5. package/dist/vuetify.min.js +2 -2
  6. package/es5/components/VDialog/VDialog.js +1 -4
  7. package/es5/components/VDialog/VDialog.js.map +1 -1
  8. package/es5/components/VMenu/VMenu.js +1 -3
  9. package/es5/components/VMenu/VMenu.js.map +1 -1
  10. package/es5/components/VPagination/VPagination.js +2 -1
  11. package/es5/components/VPagination/VPagination.js.map +1 -1
  12. package/es5/components/VSelect/VSelect.js +53 -49
  13. package/es5/components/VSelect/VSelect.js.map +1 -1
  14. package/es5/components/VTooltip/VTooltip.js +1 -3
  15. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  16. package/es5/framework.js +1 -1
  17. package/lib/components/VDialog/VDialog.js +2 -4
  18. package/lib/components/VDialog/VDialog.js.map +1 -1
  19. package/lib/components/VMenu/VMenu.js +1 -2
  20. package/lib/components/VMenu/VMenu.js.map +1 -1
  21. package/lib/components/VPagination/VPagination.js +2 -1
  22. package/lib/components/VPagination/VPagination.js.map +1 -1
  23. package/lib/components/VSelect/VSelect.js +9 -7
  24. package/lib/components/VSelect/VSelect.js.map +1 -1
  25. package/lib/components/VTooltip/VTooltip.js +2 -3
  26. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  27. package/lib/framework.js +1 -1
  28. package/package.json +4 -3
  29. package/src/components/VDialog/VDialog.ts +1 -4
  30. package/src/components/VMenu/VMenu.ts +2 -4
  31. package/src/components/VPagination/VPagination.ts +2 -1
  32. package/src/components/VPagination/__tests__/VPagination.spec.ts +3 -1
  33. package/src/components/VPagination/__tests__/__snapshots__/VPagination.spec.ts.snap +3 -3
  34. package/src/components/VSelect/VSelect.ts +6 -8
  35. package/src/components/VTooltip/VTooltip.ts +1 -2
@@ -247,27 +247,37 @@ var _default2 = baseMixins.extend().extend({
247
247
  },
248
248
  watch: {
249
249
  internalValue: function internalValue(val) {
250
+ var _this2 = this;
251
+
250
252
  this.initialValue = val;
251
253
  this.setSelectedItems();
254
+
255
+ if (this.multiple) {
256
+ this.$nextTick(function () {
257
+ var _this2$$refs$menu;
258
+
259
+ (_this2$$refs$menu = _this2.$refs.menu) == null ? void 0 : _this2$$refs$menu.updateDimensions();
260
+ });
261
+ }
252
262
  },
253
263
  isMenuActive: function isMenuActive(val) {
254
- var _this2 = this;
264
+ var _this3 = this;
255
265
 
256
266
  window.setTimeout(function () {
257
- return _this2.onMenuActiveChange(val);
267
+ return _this3.onMenuActiveChange(val);
258
268
  });
259
269
  },
260
270
  items: {
261
271
  immediate: true,
262
272
  handler: function handler(val) {
263
- var _this3 = this;
273
+ var _this4 = this;
264
274
 
265
275
  if (this.cacheItems) {
266
276
  // Breaks vue-test-utils if
267
277
  // this isn't calculated
268
278
  // on the next tick
269
279
  this.$nextTick(function () {
270
- _this3.cachedItems = _this3.filterDuplicates(_this3.cachedItems.concat(val));
280
+ _this4.cachedItems = _this4.filterDuplicates(_this4.cachedItems.concat(val));
271
281
  });
272
282
  }
273
283
 
@@ -292,12 +302,12 @@ var _default2 = baseMixins.extend().extend({
292
302
  this.isMenuActive = true;
293
303
  },
294
304
  clearableCallback: function clearableCallback() {
295
- var _this4 = this;
305
+ var _this5 = this;
296
306
 
297
307
  this.setValue(this.multiple ? [] : null);
298
308
  this.setMenuIndex(-1);
299
309
  this.$nextTick(function () {
300
- return _this4.$refs.input && _this4.$refs.input.focus();
310
+ return _this5.$refs.input && _this5.$refs.input.focus();
301
311
  });
302
312
  if (this.openOnClear) this.isMenuActive = true;
303
313
  },
@@ -332,18 +342,18 @@ var _default2 = baseMixins.extend().extend({
332
342
  return Array.from(uniqueValues.values());
333
343
  },
334
344
  findExistingIndex: function findExistingIndex(item) {
335
- var _this5 = this;
345
+ var _this6 = this;
336
346
 
337
347
  var itemValue = this.getValue(item);
338
348
  return (this.internalValue || []).findIndex(function (i) {
339
- return _this5.valueComparator(_this5.getValue(i), itemValue);
349
+ return _this6.valueComparator(_this6.getValue(i), itemValue);
340
350
  });
341
351
  },
342
352
  getContent: function getContent() {
343
353
  return this.$refs.menu && this.$refs.menu.$refs.content;
344
354
  },
345
355
  genChipSelection: function genChipSelection(item, index) {
346
- var _this6 = this;
356
+ var _this7 = this;
347
357
 
348
358
  var isDisabled = this.isDisabled || this.getDisabled(item);
349
359
  var isInteractive = !isDisabled && this.isInteractive;
@@ -362,10 +372,10 @@ var _default2 = baseMixins.extend().extend({
362
372
  click: function click(e) {
363
373
  if (!isInteractive) return;
364
374
  e.stopPropagation();
365
- _this6.selectedIndex = index;
375
+ _this7.selectedIndex = index;
366
376
  },
367
377
  'click:close': function clickClose() {
368
- return _this6.onChipInput(item);
378
+ return _this7.onChipInput(item);
369
379
  }
370
380
  },
371
381
  key: JSON.stringify(this.getValue(item))
@@ -468,14 +478,14 @@ var _default2 = baseMixins.extend().extend({
468
478
  }
469
479
  },
470
480
  genListWithSlot: function genListWithSlot() {
471
- var _this7 = this;
481
+ var _this8 = this;
472
482
 
473
483
  var slots = ['prepend-item', 'no-data', 'append-item'].filter(function (slotName) {
474
- return _this7.$slots[slotName];
484
+ return _this8.$slots[slotName];
475
485
  }).map(function (slotName) {
476
- return _this7.$createElement('template', {
486
+ return _this8.$createElement('template', {
477
487
  slot: slotName
478
- }, _this7.$slots[slotName]);
488
+ }, _this8.$slots[slotName]);
479
489
  }); // Requires destructuring due to Vue
480
490
  // modifying the `on` property when passed
481
491
  // as a referenced object
@@ -483,7 +493,7 @@ var _default2 = baseMixins.extend().extend({
483
493
  return this.$createElement(_VSelectList.default, _objectSpread({}, this.listData), slots);
484
494
  },
485
495
  genMenu: function genMenu() {
486
- var _this8 = this;
496
+ var _this9 = this;
487
497
 
488
498
  var props = this.$_menuProps;
489
499
  props.activator = this.$refs['input-slot']; // Attach to root el so that
@@ -506,8 +516,8 @@ var _default2 = baseMixins.extend().extend({
506
516
  props: props,
507
517
  on: {
508
518
  input: function input(val) {
509
- _this8.isMenuActive = val;
510
- _this8.isFocused = val;
519
+ _this9.isMenuActive = val;
520
+ _this9.isFocused = val;
511
521
  },
512
522
  scroll: this.onScroll
513
523
  },
@@ -536,7 +546,7 @@ var _default2 = baseMixins.extend().extend({
536
546
  }, children);
537
547
  },
538
548
  genSlotSelection: function genSlotSelection(item, index) {
539
- var _this9 = this;
549
+ var _this10 = this;
540
550
 
541
551
  return this.$scopedSlots.selection({
542
552
  attrs: {
@@ -547,7 +557,7 @@ var _default2 = baseMixins.extend().extend({
547
557
  index: index,
548
558
  select: function select(e) {
549
559
  e.stopPropagation();
550
- _this9.selectedIndex = index;
560
+ _this10.selectedIndex = index;
551
561
  },
552
562
  selected: index === this.selectedIndex,
553
563
  disabled: !this.isInteractive
@@ -603,7 +613,7 @@ var _default2 = baseMixins.extend().extend({
603
613
  }
604
614
  },
605
615
  onKeyPress: function onKeyPress(e) {
606
- var _this10 = this;
616
+ var _this11 = this;
607
617
 
608
618
  if (this.multiple || !this.isInteractive || this.disableLookup) return;
609
619
  var KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
@@ -617,8 +627,8 @@ var _default2 = baseMixins.extend().extend({
617
627
  this.keyboardLookupPrefix += e.key.toLowerCase();
618
628
  this.keyboardLookupLastTime = now;
619
629
  var index = this.allItems.findIndex(function (item) {
620
- var text = (_this10.getText(item) || '').toString();
621
- return text.toLowerCase().startsWith(_this10.keyboardLookupPrefix);
630
+ var text = (_this11.getText(item) || '').toString();
631
+ return text.toLowerCase().startsWith(_this11.keyboardLookupPrefix);
622
632
  });
623
633
  var item = this.allItems[index];
624
634
 
@@ -626,15 +636,15 @@ var _default2 = baseMixins.extend().extend({
626
636
  this.lastItem = Math.max(this.lastItem, index + 5);
627
637
  this.setValue(this.returnObject ? item : this.getValue(item));
628
638
  this.$nextTick(function () {
629
- return _this10.$refs.menu.getTiles();
639
+ return _this11.$refs.menu.getTiles();
630
640
  });
631
641
  setTimeout(function () {
632
- return _this10.setMenuIndex(index);
642
+ return _this11.setMenuIndex(index);
633
643
  });
634
644
  }
635
645
  },
636
646
  onKeyDown: function onKeyDown(e) {
637
- var _this11 = this;
647
+ var _this12 = this;
638
648
 
639
649
  if (this.isReadonly && e.keyCode !== _helpers.keyCodes.tab) return;
640
650
  var keyCode = e.keyCode;
@@ -647,7 +657,7 @@ var _default2 = baseMixins.extend().extend({
647
657
  this.$nextTick(function () {
648
658
  menu.changeListIndex(e);
649
659
 
650
- _this11.$emit('update:list-index', menu.listIndex);
660
+ _this12.$emit('update:list-index', menu.listIndex);
651
661
  });
652
662
  } // If enter, space, open menu
653
663
 
@@ -683,7 +693,7 @@ var _default2 = baseMixins.extend().extend({
683
693
  }
684
694
  },
685
695
  onMouseUp: function onMouseUp(e) {
686
- var _this12 = this;
696
+ var _this13 = this;
687
697
 
688
698
  // eslint-disable-next-line sonarjs/no-collapsible-if
689
699
  if (this.hasMouseDown && e.which !== 3 && this.isInteractive) {
@@ -692,7 +702,7 @@ var _default2 = baseMixins.extend().extend({
692
702
  // or inside, toggle menu
693
703
  if (this.isAppendInner(e.target)) {
694
704
  this.$nextTick(function () {
695
- return _this12.isMenuActive = !_this12.isMenuActive;
705
+ return _this13.isMenuActive = !_this13.isMenuActive;
696
706
  });
697
707
  }
698
708
  }
@@ -700,11 +710,11 @@ var _default2 = baseMixins.extend().extend({
700
710
  _VTextField2.default.options.methods.onMouseUp.call(this, e);
701
711
  },
702
712
  onScroll: function onScroll() {
703
- var _this13 = this;
713
+ var _this14 = this;
704
714
 
705
715
  if (!this.isMenuActive) {
706
716
  requestAnimationFrame(function () {
707
- return _this13.getContent().scrollTop = 0;
717
+ return _this14.getContent().scrollTop = 0;
708
718
  });
709
719
  } else {
710
720
  if (this.lastItem > this.computedItems.length) return;
@@ -736,7 +746,7 @@ var _default2 = baseMixins.extend().extend({
736
746
  }
737
747
  },
738
748
  onUpDown: function onUpDown(e) {
739
- var _this14 = this;
749
+ var _this15 = this;
740
750
 
741
751
  var menu = this.$refs.menu;
742
752
  if (!menu) return;
@@ -751,7 +761,7 @@ var _default2 = baseMixins.extend().extend({
751
761
  menu.isBooted = true;
752
762
  window.requestAnimationFrame(function () {
753
763
  menu.getTiles();
754
- if (!menu.hasClickableTiles) return _this14.activateMenu();
764
+ if (!menu.hasClickableTiles) return _this15.activateMenu();
755
765
 
756
766
  switch (keyCode) {
757
767
  case _helpers.keyCodes.up:
@@ -771,11 +781,11 @@ var _default2 = baseMixins.extend().extend({
771
781
  break;
772
782
  }
773
783
 
774
- _this14.selectItem(_this14.allItems[_this14.getMenuIndex()]);
784
+ _this15.selectItem(_this15.allItems[_this15.getMenuIndex()]);
775
785
  });
776
786
  },
777
787
  selectItem: function selectItem(item) {
778
- var _this15 = this;
788
+ var _this16 = this;
779
789
 
780
790
  if (!this.multiple) {
781
791
  this.setValue(this.returnObject ? item : this.getValue(item));
@@ -785,14 +795,8 @@ var _default2 = baseMixins.extend().extend({
785
795
  var i = this.findExistingIndex(item);
786
796
  i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item);
787
797
  this.setValue(internalValue.map(function (i) {
788
- return _this15.returnObject ? i : _this15.getValue(i);
789
- })); // When selecting multiple
790
- // adjust menu after each
791
- // selection
792
-
793
- this.$nextTick(function () {
794
- _this15.$refs.menu && _this15.$refs.menu.updateDimensions();
795
- }); // There is no item to re-highlight
798
+ return _this16.returnObject ? i : _this16.getValue(i);
799
+ })); // There is no item to re-highlight
796
800
  // when selections are hidden
797
801
 
798
802
  if (this.hideSelected) {
@@ -802,10 +806,10 @@ var _default2 = baseMixins.extend().extend({
802
806
 
803
807
  if (~index) {
804
808
  this.$nextTick(function () {
805
- return _this15.$refs.menu.getTiles();
809
+ return _this16.$refs.menu.getTiles();
806
810
  });
807
811
  setTimeout(function () {
808
- return _this15.setMenuIndex(index);
812
+ return _this16.setMenuIndex(index);
809
813
  });
810
814
  }
811
815
  }
@@ -815,7 +819,7 @@ var _default2 = baseMixins.extend().extend({
815
819
  this.$refs.menu && (this.$refs.menu.listIndex = index);
816
820
  },
817
821
  setSelectedItems: function setSelectedItems() {
818
- var _this16 = this;
822
+ var _this17 = this;
819
823
 
820
824
  var selectedItems = [];
821
825
  var values = !this.multiple || !Array.isArray(this.internalValue) ? [this.internalValue] : this.internalValue;
@@ -827,12 +831,12 @@ var _default2 = baseMixins.extend().extend({
827
831
  var _loop = function _loop() {
828
832
  var value = _step.value;
829
833
 
830
- var index = _this16.allItems.findIndex(function (v) {
831
- return _this16.valueComparator(_this16.getValue(v), _this16.getValue(value));
834
+ var index = _this17.allItems.findIndex(function (v) {
835
+ return _this17.valueComparator(_this17.getValue(v), _this17.getValue(value));
832
836
  });
833
837
 
834
838
  if (index > -1) {
835
- selectedItems.push(_this16.allItems[index]);
839
+ selectedItems.push(_this17.allItems[index]);
836
840
  }
837
841
  };
838
842
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) || '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.allItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
1
+ {"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this._uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) || '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: {\n handler: this.blur,\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n }] : undefined\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return this.$createElement(VSelectList, this.listData)\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'click:close': () => this.onChipInput(item),\n },\n key: JSON.stringify(this.getValue(item)),\n }, this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\n 'v-select__selection--disabled': isDisabled,\n },\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.options.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n icon.children![0].data = mergeData(icon.children![0].data!, {\n attrs: {\n tabindex: icon.children![0].componentOptions!.listeners && '-1',\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n },\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n\n input.data = mergeData(input.data!, {\n domProps: { value: null },\n attrs: {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n },\n on: { keypress: this.onKeyPress },\n })\n\n return input\n },\n genHiddenInput (): VNode {\n return this.$createElement('input', {\n domProps: { value: this.lazyValue },\n attrs: {\n type: 'hidden',\n name: this.attrs$.name,\n },\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n scroll: this.onScroll,\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) || '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.getContent().scrollTop = 0))\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.allItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('change', value)\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
@@ -17,8 +17,6 @@ var _dependent = _interopRequireDefault(require("../../mixins/dependent"));
17
17
 
18
18
  var _menuable = _interopRequireDefault(require("../../mixins/menuable"));
19
19
 
20
- var _toggleable = _interopRequireDefault(require("../../mixins/toggleable"));
21
-
22
20
  var _helpers = require("../../util/helpers");
23
21
 
24
22
  var _console = require("../../util/console");
@@ -30,7 +28,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
30
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
31
29
 
32
30
  /* @vue/component */
33
- var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dependent.default, _menuable.default, _toggleable.default).extend({
31
+ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dependent.default, _menuable.default).extend({
34
32
  name: 'v-tooltip',
35
33
  props: {
36
34
  closeDelay: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.6.3";
82
+ Vuetify.version = "2.6.4";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };