vuetify 2.6.1 → 2.6.2

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 (83) hide show
  1. package/dist/json/attributes.json +8 -0
  2. package/dist/json/tags.json +2 -0
  3. package/dist/json/web-types.json +29 -7
  4. package/dist/vuetify.css +29 -0
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +75 -47
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VBottomNavigation/VBottomNavigation.js +10 -2
  11. package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  12. package/es5/components/VCombobox/VCombobox.js +1 -1
  13. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  14. package/es5/components/VMenu/VMenu.js +0 -4
  15. package/es5/components/VMenu/VMenu.js.map +1 -1
  16. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +7 -11
  17. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  18. package/es5/components/VOtpInput/VOtpInput.js +2 -0
  19. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  20. package/es5/components/VSelect/VSelect.js +6 -1
  21. package/es5/components/VSelect/VSelect.js.map +1 -1
  22. package/es5/components/VSlideGroup/VSlideGroup.js +4 -3
  23. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  24. package/es5/components/VStepper/VStepperStep.js +12 -1
  25. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  26. package/es5/components/VTooltip/VTooltip.js +14 -8
  27. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  28. package/es5/framework.js +1 -1
  29. package/es5/mixins/activatable/index.js +6 -2
  30. package/es5/mixins/activatable/index.js.map +1 -1
  31. package/es5/mixins/menuable/index.js +9 -8
  32. package/es5/mixins/menuable/index.js.map +1 -1
  33. package/es5/mixins/routable/index.js +2 -2
  34. package/es5/mixins/routable/index.js.map +1 -1
  35. package/es5/services/application/index.js +1 -3
  36. package/es5/services/application/index.js.map +1 -1
  37. package/lib/components/VBottomNavigation/VBottomNavigation.js +10 -2
  38. package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
  39. package/lib/components/VCombobox/VCombobox.js +1 -1
  40. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  41. package/lib/components/VMenu/VMenu.js +0 -4
  42. package/lib/components/VMenu/VMenu.js.map +1 -1
  43. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +3 -7
  44. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  45. package/lib/components/VOtpInput/VOtpInput.js +2 -0
  46. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  47. package/lib/components/VSelect/VSelect.js +6 -1
  48. package/lib/components/VSelect/VSelect.js.map +1 -1
  49. package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
  50. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  51. package/lib/components/VStepper/VStepperStep.js +12 -1
  52. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  53. package/lib/components/VTooltip/VTooltip.js +14 -8
  54. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  55. package/lib/framework.js +1 -1
  56. package/lib/mixins/activatable/index.js +6 -2
  57. package/lib/mixins/activatable/index.js.map +1 -1
  58. package/lib/mixins/menuable/index.js +9 -8
  59. package/lib/mixins/menuable/index.js.map +1 -1
  60. package/lib/mixins/routable/index.js +2 -2
  61. package/lib/mixins/routable/index.js.map +1 -1
  62. package/lib/services/application/index.js +1 -3
  63. package/lib/services/application/index.js.map +1 -1
  64. package/package.json +2 -2
  65. package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -2
  66. package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +9 -7
  67. package/src/components/VCombobox/VCombobox.ts +1 -1
  68. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +2 -2
  69. package/src/components/VMenu/VMenu.ts +0 -4
  70. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +3 -6
  71. package/src/components/VOtpInput/VOtpInput.ts +2 -0
  72. package/src/components/VSelect/VSelect.ts +4 -0
  73. package/src/components/VSlideGroup/VSlideGroup.ts +8 -2
  74. package/src/components/VStepper/VStepperStep.ts +14 -2
  75. package/src/components/VStepper/__tests__/__snapshots__/VStepperStep.spec.ts.snap +18 -6
  76. package/src/components/VTextarea/VTextarea.sass +13 -0
  77. package/src/components/VTooltip/VTooltip.ts +14 -7
  78. package/src/mixins/activatable/__tests__/__snapshots__/activatable.spec.ts.snap +1 -2
  79. package/src/mixins/activatable/index.ts +6 -2
  80. package/src/mixins/menuable/index.ts +8 -7
  81. package/src/mixins/routable/index.ts +2 -2
  82. package/src/services/application/index.ts +1 -1
  83. package/types/lib.d.ts +2 -0
@@ -87,6 +87,9 @@ var _default = (0, _mixins.default)((0, _applicationable.default)('bottom', ['he
87
87
  });
88
88
  }
89
89
  },
90
+ watch: {
91
+ canScroll: 'onScroll'
92
+ },
90
93
  created: function created() {
91
94
  /* istanbul ignore next */
92
95
  if (this.$attrs.hasOwnProperty('active')) {
@@ -95,8 +98,13 @@ var _default = (0, _mixins.default)((0, _applicationable.default)('bottom', ['he
95
98
  },
96
99
  methods: {
97
100
  thresholdMet: function thresholdMet() {
98
- this.isActive = !this.isScrollingUp;
99
- this.$emit('update:input-value', this.isActive);
101
+ if (this.hideOnScroll) {
102
+ this.isActive = !this.isScrollingUp || this.currentScroll > this.computedScrollThreshold;
103
+ this.$emit('update:input-value', this.isActive);
104
+ }
105
+
106
+ if (this.currentThreshold < this.computedScrollThreshold) return;
107
+ this.savedScroll = this.currentScroll;
100
108
  },
101
109
  updateApplication: function updateApplication() {
102
110
  return this.$el ? this.$el.clientHeight : 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n this.isActive = !this.isScrollingUp\n this.$emit('update:input-value', this.isActive)\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n tag: this.tag,\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VBottomNavigation.js"}
1
+ {"version":3,"sources":["../../../src/components/VBottomNavigation/VBottomNavigation.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBottomNavigation.sass'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\nimport Measurable from '../../mixins/measurable'\nimport Proxyable from '../../mixins/proxyable'\nimport Scrollable from '../../mixins/scrollable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Applicationable('bottom', [\n 'height',\n 'inputValue',\n ]),\n Colorable,\n Measurable,\n ToggleableFactory('inputValue'),\n Proxyable,\n Scrollable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-bottom-navigation',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-btn--active',\n },\n backgroundColor: String,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: 56,\n },\n hideOnScroll: Boolean,\n horizontal: Boolean,\n inputValue: {\n type: Boolean,\n default: true,\n },\n mandatory: Boolean,\n shift: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n data () {\n return {\n isActive: this.inputValue,\n }\n },\n\n computed: {\n canScroll (): boolean {\n return (\n Scrollable.options.computed.canScroll.call(this) &&\n (\n this.hideOnScroll ||\n !this.inputValue\n )\n )\n },\n classes (): object {\n return {\n 'v-bottom-navigation--absolute': this.absolute,\n 'v-bottom-navigation--grow': this.grow,\n 'v-bottom-navigation--fixed': !this.absolute && (this.app || this.fixed),\n 'v-bottom-navigation--horizontal': this.horizontal,\n 'v-bottom-navigation--shift': this.shift,\n }\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n transform: this.isActive ? 'none' : 'translateY(100%)',\n }\n },\n },\n\n watch: {\n canScroll: 'onScroll',\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('active')) {\n breaking('active.sync', 'value or v-model', this)\n }\n },\n\n methods: {\n thresholdMet () {\n if (this.hideOnScroll) {\n this.isActive = !this.isScrollingUp ||\n this.currentScroll > this.computedScrollThreshold\n\n this.$emit('update:input-value', this.isActive)\n }\n\n if (this.currentThreshold < this.computedScrollThreshold) return\n\n this.savedScroll = this.currentScroll\n },\n updateApplication (): number {\n return this.$el\n ? this.$el.clientHeight\n : 0\n },\n updateValue (val: any) {\n this.$emit('change', val)\n },\n },\n\n render (h): VNode {\n const data = this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-bottom-navigation',\n class: this.classes,\n style: this.styles,\n props: {\n activeClass: this.activeClass,\n mandatory: Boolean(\n this.mandatory ||\n this.value !== undefined\n ),\n tag: this.tag,\n value: this.internalValue,\n },\n on: { change: this.updateValue },\n })\n\n if (this.canScroll) {\n data.directives = data.directives || []\n\n data.directives.push({\n arg: this.scrollTarget,\n name: 'scroll',\n value: this.onScroll,\n })\n }\n\n return h(ButtonGroup, this.setTextColor(this.color, data), this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VBottomNavigation.js"}
@@ -169,7 +169,7 @@ var _default2 = _VAutocomplete2.default.extend({
169
169
  }
170
170
  },
171
171
  setValue: function setValue(value) {
172
- _VSelect.default.options.methods.setValue.call(this, value != null ? value : this.internalSearch);
172
+ _VSelect.default.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value);
173
173
  },
174
174
  updateEditing: function updateEditing() {
175
175
  var _this2 = this;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCombobox/VCombobox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value ?? this.internalSearch)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n"],"sourceRoot":"","file":"VCombobox.js"}
1
+ {"version":3,"sources":["../../../src/components/VCombobox/VCombobox.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VAutocomplete/VAutocomplete.sass'\n\n// Extensions\nimport VSelect from '../VSelect/VSelect'\nimport VAutocomplete from '../VAutocomplete/VAutocomplete'\n\n// Utils\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n/* @vue/component */\nexport default VAutocomplete.extend({\n name: 'v-combobox',\n\n props: {\n delimiters: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n returnObject: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({\n editingIndex: -1,\n }),\n\n computed: {\n computedCounterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.internalSearch || '').toString().length\n },\n hasSlot (): boolean {\n return VSelect.options.computed.hasSlot.call(this) || this.multiple\n },\n isAnyValueAllowed (): boolean {\n return true\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems ||\n (!!this.$slots['no-data'] && !this.hideNoData)\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null\n },\n },\n\n methods: {\n onInternalSearchChanged (val: any) {\n if (\n val &&\n this.multiple &&\n this.delimiters.length\n ) {\n const delimiter = this.delimiters.find(d => val.endsWith(d))\n if (delimiter != null) {\n this.internalSearch = val.slice(0, val.length - delimiter.length)\n this.updateTags()\n }\n }\n\n this.updateMenuDimensions()\n },\n genInput () {\n const input = VAutocomplete.options.methods.genInput.call(this)\n\n delete input.data!.attrs!.name\n input.data!.on!.paste = this.onPaste\n\n return input\n },\n genChipSelection (item: object, index: number) {\n const chip = VSelect.options.methods.genChipSelection.call(this, item, index)\n\n // Allow user to update an existing value\n if (this.multiple) {\n chip.componentOptions!.listeners! = {\n ...chip.componentOptions!.listeners!,\n dblclick: () => {\n this.editingIndex = index\n this.internalSearch = this.getText(item)\n this.selectedIndex = -1\n },\n }\n }\n\n return chip\n },\n onChipInput (item: object) {\n VSelect.options.methods.onChipInput.call(this, item)\n\n this.editingIndex = -1\n },\n // Requires a manual definition\n // to overwrite removal in v-autocomplete\n onEnterDown (e: Event) {\n e.preventDefault()\n // If has menu index, let v-select-list handle\n if (this.getMenuIndex() > -1) return\n\n this.$nextTick(this.updateSelf)\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n if (\n e.ctrlKey ||\n ![keyCodes.home, keyCodes.end].includes(keyCode)\n ) {\n VSelect.options.methods.onKeyDown.call(this, e)\n }\n\n // If user is at selection index of 0\n // create a new tag\n if (this.multiple &&\n keyCode === keyCodes.left &&\n this.$refs.input.selectionStart === 0\n ) {\n this.updateSelf()\n } else if (keyCode === keyCodes.enter) {\n this.onEnterDown(e)\n }\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onTabDown (e: KeyboardEvent) {\n // When adding tags, if searching and\n // there is not a filtered options,\n // add the value to the tags list\n if (this.multiple &&\n this.internalSearch &&\n this.getMenuIndex() === -1\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n return this.updateTags()\n }\n\n VAutocomplete.options.methods.onTabDown.call(this, e)\n },\n selectItem (item: object) {\n // Currently only supports items:<string[]>\n if (this.editingIndex > -1) {\n this.updateEditing()\n } else {\n VAutocomplete.options.methods.selectItem.call(this, item)\n\n // if selected item contains search value,\n // remove the search string\n if (\n this.internalSearch &&\n this.multiple &&\n this.getText(item).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())\n ) {\n this.internalSearch = null\n }\n }\n },\n setSelectedItems () {\n if (this.internalValue == null ||\n this.internalValue === ''\n ) {\n this.selectedItems = []\n } else {\n this.selectedItems = this.multiple ? this.internalValue : [this.internalValue]\n }\n },\n setValue (value?: any) {\n VSelect.options.methods.setValue.call(this, value === undefined ? this.internalSearch : value)\n },\n updateEditing () {\n const value = this.internalValue.slice()\n const index = this.selectedItems.findIndex(item =>\n this.getText(item) === this.internalSearch)\n\n // If user enters a duplicate text on chip edit,\n // don't add it, move it to the end of the list\n if (index > -1) {\n const item = typeof value[index] === 'object'\n ? Object.assign({}, value[index])\n : value[index]\n\n value.splice(index, 1)\n value.push(item)\n } else {\n value[this.editingIndex] = this.internalSearch\n }\n\n this.setValue(value)\n this.editingIndex = -1\n this.internalSearch = null\n },\n updateCombobox () {\n // If search is not dirty, do nothing\n if (!this.searchIsDirty) return\n\n // The internal search is not matching\n // the internal value, update the input\n if (this.internalSearch !== this.getText(this.internalValue)) this.setValue()\n\n // Reset search if using slot to avoid a double input\n const isUsingSlot = Boolean(this.$scopedSlots.selection) || this.hasChips\n if (isUsingSlot) this.internalSearch = null\n },\n updateSelf () {\n this.multiple ? this.updateTags() : this.updateCombobox()\n },\n updateTags () {\n const menuIndex = this.getMenuIndex()\n\n // If the user is not searching\n // and no menu item is selected\n // or if the search is empty\n // do nothing\n if ((menuIndex < 0 && !this.searchIsDirty) ||\n !this.internalSearch) return\n\n if (this.editingIndex > -1) {\n return this.updateEditing()\n }\n\n const index = this.selectedItems.findIndex(item =>\n this.internalSearch === this.getText(item))\n\n // If the duplicate item is an object,\n // copy it, so that it can be added again later\n const itemToSelect = index > -1 && typeof this.selectedItems[index] === 'object'\n ? Object.assign({}, this.selectedItems[index])\n : this.internalSearch\n\n // If it already exists, do nothing\n // this might need to change to bring\n // the duplicated item to the last entered\n if (index > -1) {\n const internalValue = this.internalValue.slice()\n internalValue.splice(index, 1)\n\n this.setValue(internalValue)\n }\n\n // If menu index is greater than 1\n // the selection is handled elsewhere\n // TODO: find out where\n if (menuIndex > -1) return (this.internalSearch = null)\n\n this.selectItem(itemToSelect)\n\n this.internalSearch = null\n },\n onPaste (event: ClipboardEvent) {\n if (!this.multiple || this.searchIsDirty) return\n\n const pastedItemText = event.clipboardData?.getData('text/vnd.vuetify.autocomplete.item+plain')\n if (pastedItemText && this.findExistingIndex(pastedItemText as any) === -1) {\n event.preventDefault()\n VSelect.options.methods.selectItem.call(this, pastedItemText as any)\n }\n },\n clearableCallback () {\n this.editingIndex = -1\n\n VAutocomplete.options.methods.clearableCallback.call(this)\n },\n },\n})\n"],"sourceRoot":"","file":"VCombobox.js"}
@@ -91,10 +91,6 @@ var _default = baseMixins.extend({
91
91
  },
92
92
  offsetX: Boolean,
93
93
  offsetY: Boolean,
94
- openOnClick: {
95
- type: Boolean,
96
- default: true
97
- },
98
94
  openOnHover: Boolean,
99
95
  origin: {
100
96
  type: String,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\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(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
1
+ {"version":3,"sources":["../../../src/components/VMenu/VMenu.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VMenu.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Returnable from '../../mixins/returnable'\nimport Roundable from '../../mixins/roundable'\nimport Toggleable from '../../mixins/toggleable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\nimport goTo from '../../services/goto'\n\n// Types\nimport { VNode, VNodeDirective, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Delayable,\n Menuable,\n Returnable,\n Roundable,\n Toggleable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-menu',\n\n directives: {\n ClickOutside,\n Resize,\n },\n\n provide (): object {\n return {\n isInMenu: true,\n // Pass theme through to default slot\n theme: this.theme,\n }\n },\n\n props: {\n auto: Boolean,\n closeOnClick: {\n type: Boolean,\n default: true,\n },\n closeOnContentClick: {\n type: Boolean,\n default: true,\n },\n disabled: Boolean,\n disableKeys: Boolean,\n maxHeight: {\n type: [Number, String],\n default: 'auto',\n },\n offsetX: Boolean,\n offsetY: Boolean,\n openOnHover: Boolean,\n origin: {\n type: String,\n default: 'top left',\n },\n transition: {\n type: [Boolean, String],\n default: 'v-menu-transition',\n },\n },\n\n data () {\n return {\n calculatedTopAuto: 0,\n defaultOffset: 8,\n hasJustFocused: false,\n listIndex: -1,\n resizeTimeout: 0,\n selectedIndex: null as null | number,\n tiles: [] as HTMLElement[],\n }\n },\n\n computed: {\n activeTile (): HTMLElement | undefined {\n return this.tiles[this.listIndex]\n },\n calculatedLeft (): string {\n const menuWidth = Math.max(this.dimensions.content.width, parseFloat(this.calculatedMinWidth))\n\n if (!this.auto) return this.calcLeft(menuWidth) || '0'\n\n return convertToUnit(this.calcXOverflow(this.calcLeftAuto(), menuWidth)) || '0'\n },\n calculatedMaxHeight (): string {\n const height = this.auto\n ? '200px'\n : convertToUnit(this.maxHeight)\n\n return height || '0'\n },\n calculatedMaxWidth (): string {\n return convertToUnit(this.maxWidth) || '0'\n },\n calculatedMinWidth (): string {\n if (this.minWidth) {\n return convertToUnit(this.minWidth) || '0'\n }\n\n const minWidth = Math.min(\n this.dimensions.activator.width +\n Number(this.nudgeWidth) +\n (this.auto ? 16 : 0),\n Math.max(this.pageWidth - 24, 0)\n )\n\n const calculatedMaxWidth = isNaN(parseInt(this.calculatedMaxWidth))\n ? minWidth\n : parseInt(this.calculatedMaxWidth)\n\n return convertToUnit(Math.min(\n calculatedMaxWidth,\n minWidth\n )) || '0'\n },\n calculatedTop (): string {\n const top = !this.auto\n ? this.calcTop()\n : convertToUnit(this.calcYOverflow(this.calculatedTopAuto))\n\n return top || '0'\n },\n hasClickableTiles (): boolean {\n return Boolean(this.tiles.find(tile => tile.tabIndex > -1))\n },\n styles (): object {\n return {\n maxHeight: this.calculatedMaxHeight,\n minWidth: this.calculatedMinWidth,\n maxWidth: this.calculatedMaxWidth,\n top: this.calculatedTop,\n left: this.calculatedLeft,\n transformOrigin: this.origin,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n watch: {\n isActive (val) {\n if (!val) this.listIndex = -1\n },\n isContentActive (val) {\n this.hasJustFocused = val\n },\n listIndex (next, prev) {\n if (next in this.tiles) {\n const tile = this.tiles[next]\n tile.classList.add('v-list-item--highlighted')\n const scrollTop = this.$refs.content.scrollTop\n const contentHeight = this.$refs.content.clientHeight\n\n if (scrollTop > tile.offsetTop - 8) {\n goTo(tile.offsetTop - tile.clientHeight, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n } else if (scrollTop + contentHeight < tile.offsetTop + tile.clientHeight + 8) {\n goTo(tile.offsetTop - contentHeight + tile.clientHeight * 2, {\n appOffset: false,\n duration: 300,\n container: this.$refs.content,\n })\n }\n }\n\n prev in this.tiles &&\n this.tiles[prev].classList.remove('v-list-item--highlighted')\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n mounted () {\n this.isActive && this.callActivate()\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(() => {\n // Once transitioning, calculate scroll and top position\n this.startTransition().then(() => {\n if (this.$refs.content) {\n this.calculatedTopAuto = this.calcTopAuto()\n this.auto && (this.$refs.content.scrollTop = this.calcScrollPosition())\n }\n })\n })\n },\n calcScrollPosition () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement\n const maxScrollTop = $el.scrollHeight - $el.offsetHeight\n\n return activeTile\n ? Math.min(maxScrollTop, Math.max(0, activeTile.offsetTop - $el.offsetHeight / 2 + activeTile.offsetHeight / 2))\n : $el.scrollTop\n },\n calcLeftAuto () {\n return parseInt(this.dimensions.activator.left - this.defaultOffset * 2)\n },\n calcTopAuto () {\n const $el = this.$refs.content\n const activeTile = $el.querySelector('.v-list-item--active') as HTMLElement | null\n\n if (!activeTile) {\n this.selectedIndex = null\n }\n\n if (this.offsetY || !activeTile) {\n return this.computedTop\n }\n\n this.selectedIndex = Array.from(this.tiles).indexOf(activeTile)\n\n const tileDistanceFromMenuTop = activeTile.offsetTop - this.calcScrollPosition()\n const firstTileOffsetTop = ($el.querySelector('.v-list-item') as HTMLElement).offsetTop\n\n return this.computedTop - tileDistanceFromMenuTop - firstTileOffsetTop - 1\n },\n changeListIndex (e: KeyboardEvent) {\n // For infinite scroll and autocomplete, re-evaluate children\n this.getTiles()\n\n if (!this.isActive || !this.hasClickableTiles) {\n return\n } else if (e.keyCode === keyCodes.tab) {\n this.isActive = false\n return\n } else if (e.keyCode === keyCodes.down) {\n this.nextTile()\n } else if (e.keyCode === keyCodes.up) {\n this.prevTile()\n } else if (e.keyCode === keyCodes.end) {\n this.lastTile()\n } else if (e.keyCode === keyCodes.home) {\n this.firstTile()\n } else if (e.keyCode === keyCodes.enter && this.listIndex !== -1) {\n this.tiles[this.listIndex].click()\n } else { return }\n // One of the conditions was met, prevent default action (#2988)\n e.preventDefault()\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n\n return this.isActive &&\n !this._isDestroyed &&\n this.closeOnClick &&\n !this.$refs.content.contains(target)\n },\n genActivatorAttributes () {\n const attributes = Activatable.options.methods.genActivatorAttributes.call(this)\n\n if (this.activeTile && this.activeTile.id) {\n return {\n ...attributes,\n 'aria-activedescendant': this.activeTile.id,\n }\n }\n\n return attributes\n },\n genActivatorListeners () {\n const listeners = Menuable.options.methods.genActivatorListeners.call(this)\n\n if (!this.disableKeys) {\n listeners.keydown = this.onKeyDown\n }\n\n return listeners\n },\n genTransition (): VNode {\n const content = this.genContent()\n\n if (!this.transition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n }, [content])\n },\n genDirectives (): VNodeDirective[] {\n const directives: VNodeDirective[] = [{\n name: 'show',\n value: this.isContentActive,\n }]\n\n // Do not add click outside for hover menu\n if (!this.openOnHover && this.closeOnClick) {\n directives.push({\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: () => [this.$el, ...this.getOpenDependentElements()],\n },\n })\n }\n\n return directives\n },\n genContent (): VNode {\n const options = {\n attrs: {\n ...this.getScopeIdAttrs(),\n role: 'role' in this.$attrs ? this.$attrs.role : 'menu',\n },\n staticClass: 'v-menu__content',\n class: {\n ...this.rootThemeClasses,\n ...this.roundedClasses,\n 'v-menu__content--auto': this.auto,\n 'v-menu__content--fixed': this.activatorFixed,\n menuable__content__active: this.isActive,\n [this.contentClass.trim()]: true,\n },\n style: this.styles,\n directives: this.genDirectives(),\n ref: 'content',\n on: {\n click: (e: Event) => {\n const target = e.target as HTMLElement\n\n if (target.getAttribute('disabled')) return\n if (this.closeOnContentClick) this.isActive = false\n },\n keydown: this.onKeyDown,\n },\n } as VNodeData\n\n if (this.$listeners.scroll) {\n options.on = options.on || {}\n options.on.scroll = this.$listeners.scroll\n }\n\n if (!this.disabled && this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseenter = this.mouseEnterHandler\n }\n\n if (this.openOnHover) {\n options.on = options.on || {}\n options.on.mouseleave = this.mouseLeaveHandler\n }\n\n return this.$createElement('div', options, this.getContentSlot())\n },\n getTiles () {\n if (!this.$refs.content) return\n\n this.tiles = Array.from(this.$refs.content.querySelectorAll('.v-list-item, .v-divider, .v-subheader'))\n },\n mouseEnterHandler () {\n this.runDelay('open', () => {\n if (this.hasJustFocused) return\n\n this.hasJustFocused = true\n })\n },\n mouseLeaveHandler (e: MouseEvent) {\n // Prevent accidental re-activation\n this.runDelay('close', () => {\n if (this.$refs.content.contains(e.relatedTarget as HTMLElement)) return\n\n requestAnimationFrame(() => {\n this.isActive = false\n this.callDeactivate()\n })\n })\n },\n nextTile () {\n const tile = this.tiles[this.listIndex + 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = -1\n this.nextTile()\n\n return\n }\n\n this.listIndex++\n if (tile.tabIndex === -1) this.nextTile()\n },\n prevTile () {\n const tile = this.tiles[this.listIndex - 1]\n\n if (!tile) {\n if (!this.tiles.length) return\n\n this.listIndex = this.tiles.length\n this.prevTile()\n\n return\n }\n\n this.listIndex--\n if (tile.tabIndex === -1) this.prevTile()\n },\n lastTile () {\n const tile = this.tiles[this.tiles.length - 1]\n\n if (!tile) return\n\n this.listIndex = this.tiles.length - 1\n\n if (tile.tabIndex === -1) this.prevTile()\n },\n firstTile () {\n const tile = this.tiles[0]\n\n if (!tile) return\n\n this.listIndex = 0\n\n if (tile.tabIndex === -1) this.nextTile()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc) {\n // Wait for dependent elements to close first\n setTimeout(() => { this.isActive = false })\n const activator = this.getActivator()\n this.$nextTick(() => activator && activator.focus())\n } else if (\n !this.isActive &&\n [keyCodes.up, keyCodes.down].includes(e.keyCode)\n ) {\n this.isActive = true\n }\n\n // Allow for isActive watcher to generate tile list\n this.$nextTick(() => this.changeListIndex(e))\n },\n onResize () {\n if (!this.isActive) return\n\n // Account for screen resize\n // and orientation change\n // eslint-disable-next-line no-unused-expressions\n this.$refs.content.offsetWidth\n this.updateDimensions()\n\n // When resizing to a smaller width\n // content width is evaluated before\n // the new activator width has been\n // set, causing it to not size properly\n // hacky but will revisit in the future\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.updateDimensions, 100)\n },\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-menu',\n class: {\n 'v-menu--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n directives: [{\n arg: '500',\n name: 'resize',\n value: this.onResize,\n }],\n }\n\n return h('div', data, [\n !this.activator && this.genActivator(),\n this.showLazyContent(() => [\n this.$createElement(VThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [this.genTransition()]),\n ]),\n ])\n },\n})\n"],"sourceRoot":"","file":"VMenu.js"}
@@ -290,6 +290,12 @@ var _default2 = baseMixins.extend({
290
290
  var _this2 = this;
291
291
 
292
292
  var on = {
293
+ mouseenter: function mouseenter() {
294
+ return _this2.isMouseover = true;
295
+ },
296
+ mouseleave: function mouseleave() {
297
+ return _this2.isMouseover = false;
298
+ },
293
299
  transitionend: function transitionend(e) {
294
300
  if (e.target !== e.currentTarget) return;
295
301
 
@@ -308,16 +314,6 @@ var _default2 = baseMixins.extend({
308
314
  };
309
315
  }
310
316
 
311
- if (this.expandOnHover) {
312
- on.mouseenter = function () {
313
- return _this2.isMouseover = true;
314
- };
315
-
316
- on.mouseleave = function () {
317
- return _this2.isMouseover = false;
318
- };
319
- }
320
-
321
317
  return on;
322
318
  },
323
319
  genPosition: function genPosition(name) {
@@ -372,7 +368,7 @@ var _default2 = baseMixins.extend({
372
368
  */
373
369
  updateApplication: function updateApplication() {
374
370
  if (!this.isActive || this.isMobile || this.temporary || !this.$el) return 0;
375
- var width = Number(this.computedWidth);
371
+ var width = Number(this.miniVariant ? this.miniVariantWidth : this.width);
376
372
  return isNaN(width) ? this.$el.clientWidth : width;
377
373
  },
378
374
  updateMiniVariant: function updateMiniVariant(val) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n if (this.expandOnHover) {\n on.mouseenter = () => (this.isMouseover = true)\n on.mouseleave = () => (this.isMouseover = false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.computedWidth)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
1
+ {"version":3,"sources":["../../../src/components/VNavigationDrawer/VNavigationDrawer.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VNavigationDrawer.sass'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Mixins\nimport Applicationable from '../../mixins/applicationable'\nimport Colorable from '../../mixins/colorable'\nimport Dependent from '../../mixins/dependent'\nimport Mobile from '../../mixins/mobile'\nimport Overlayable from '../../mixins/overlayable'\nimport SSRBootable from '../../mixins/ssr-bootable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, PropType } from 'vue'\nimport { TouchWrapper } from 'vuetify/types'\n\nconst baseMixins = mixins(\n Applicationable('left', [\n 'isActive',\n 'isMobile',\n 'miniVariant',\n 'expandOnHover',\n 'permanent',\n 'right',\n 'temporary',\n 'width',\n ]),\n Colorable,\n Dependent,\n Mobile,\n Overlayable,\n SSRBootable,\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-navigation-drawer',\n\n directives: {\n ClickOutside,\n Resize,\n Touch,\n },\n\n provide (): object {\n return {\n isInNav: this.tag === 'nav',\n }\n },\n\n props: {\n bottom: Boolean,\n clipped: Boolean,\n disableResizeWatcher: Boolean,\n disableRouteWatcher: Boolean,\n expandOnHover: Boolean,\n floating: Boolean,\n height: {\n type: [Number, String],\n default (): string {\n return this.app ? '100vh' : '100%'\n },\n },\n miniVariant: Boolean,\n miniVariantWidth: {\n type: [Number, String],\n default: 56,\n },\n permanent: Boolean,\n right: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n stateless: Boolean,\n tag: {\n type: String,\n default (): string {\n return this.app ? 'nav' : 'aside'\n },\n },\n temporary: Boolean,\n touchless: Boolean,\n width: {\n type: [Number, String],\n default: 256,\n },\n value: null as unknown as PropType<any>,\n },\n\n data: () => ({\n isMouseover: false,\n touchArea: {\n left: 0,\n right: 0,\n },\n stackMinZIndex: 6,\n }),\n\n computed: {\n /**\n * Used for setting an app value from a dynamic\n * property. Called from applicationable.js\n */\n applicationProperty (): string {\n return this.right ? 'right' : 'left'\n },\n classes (): object {\n return {\n 'v-navigation-drawer': true,\n 'v-navigation-drawer--absolute': this.absolute,\n 'v-navigation-drawer--bottom': this.bottom,\n 'v-navigation-drawer--clipped': this.clipped,\n 'v-navigation-drawer--close': !this.isActive,\n 'v-navigation-drawer--fixed': !this.absolute && (this.app || this.fixed),\n 'v-navigation-drawer--floating': this.floating,\n 'v-navigation-drawer--is-mobile': this.isMobile,\n 'v-navigation-drawer--is-mouseover': this.isMouseover,\n 'v-navigation-drawer--mini-variant': this.isMiniVariant,\n 'v-navigation-drawer--custom-mini-variant': Number(this.miniVariantWidth) !== 56,\n 'v-navigation-drawer--open': this.isActive,\n 'v-navigation-drawer--open-on-hover': this.expandOnHover,\n 'v-navigation-drawer--right': this.right,\n 'v-navigation-drawer--temporary': this.temporary,\n ...this.themeClasses,\n }\n },\n computedMaxHeight (): number | null {\n if (!this.hasApp) return null\n\n const computedMaxHeight = (\n this.$vuetify.application.bottom +\n this.$vuetify.application.footer +\n this.$vuetify.application.bar\n )\n\n if (!this.clipped) return computedMaxHeight\n\n return computedMaxHeight + this.$vuetify.application.top\n },\n computedTop (): number {\n if (!this.hasApp) return 0\n\n let computedTop = this.$vuetify.application.bar\n\n computedTop += this.clipped\n ? this.$vuetify.application.top\n : 0\n\n return computedTop\n },\n computedTransform (): number {\n if (this.isActive) return 0\n if (this.isBottom) return 100\n return this.right ? 100 : -100\n },\n computedWidth (): string | number {\n return this.isMiniVariant ? this.miniVariantWidth : this.width\n },\n hasApp (): boolean {\n return (\n this.app &&\n (!this.isMobile && !this.temporary)\n )\n },\n isBottom (): boolean {\n return this.bottom && this.isMobile\n },\n isMiniVariant (): boolean {\n return (\n !this.expandOnHover &&\n this.miniVariant\n ) || (\n this.expandOnHover &&\n !this.isMouseover\n )\n },\n isMobile (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n Mobile.options.computed.isMobile.call(this)\n )\n },\n reactsToClick (): boolean {\n return (\n !this.stateless &&\n !this.permanent &&\n (this.isMobile || this.temporary)\n )\n },\n reactsToMobile (): boolean {\n return (\n this.app &&\n !this.disableResizeWatcher &&\n !this.permanent &&\n !this.stateless &&\n !this.temporary\n )\n },\n reactsToResize (): boolean {\n return !this.disableResizeWatcher && !this.stateless\n },\n reactsToRoute (): boolean {\n return (\n !this.disableRouteWatcher &&\n !this.stateless &&\n (this.temporary || this.isMobile)\n )\n },\n showOverlay (): boolean {\n return (\n !this.hideOverlay &&\n this.isActive &&\n (this.isMobile || this.temporary)\n )\n },\n styles (): object {\n const translate = this.isBottom ? 'translateY' : 'translateX'\n return {\n height: convertToUnit(this.height),\n top: !this.isBottom ? convertToUnit(this.computedTop) : 'auto',\n maxHeight: this.computedMaxHeight != null\n ? `calc(100% - ${convertToUnit(this.computedMaxHeight)})`\n : undefined,\n transform: `${translate}(${convertToUnit(this.computedTransform, '%')})`,\n width: convertToUnit(this.computedWidth),\n }\n },\n },\n\n watch: {\n $route: 'onRouteChange',\n isActive (val) {\n this.$emit('input', val)\n },\n /**\n * When mobile changes, adjust the active state\n * only when there has been a previous value\n */\n isMobile (val, prev) {\n !val &&\n this.isActive &&\n !this.temporary &&\n this.removeOverlay()\n\n if (prev == null ||\n !this.reactsToResize ||\n !this.reactsToMobile\n ) return\n\n this.isActive = !val\n },\n permanent (val) {\n // If enabling prop enable the drawer\n if (val) this.isActive = true\n },\n showOverlay (val) {\n if (val) this.genOverlay()\n else this.removeOverlay()\n },\n value (val) {\n if (this.permanent) return\n\n if (val == null) {\n this.init()\n return\n }\n\n if (val !== this.isActive) this.isActive = val\n },\n expandOnHover: 'updateMiniVariant',\n isMouseover (val) {\n this.updateMiniVariant(!val)\n },\n },\n\n beforeMount () {\n this.init()\n },\n\n methods: {\n calculateTouchArea () {\n const parent = this.$el.parentNode as Element\n\n if (!parent) return\n\n const parentRect = parent.getBoundingClientRect()\n\n this.touchArea = {\n left: parentRect.left + 50,\n right: parentRect.right - 50,\n }\n },\n closeConditional () {\n return this.isActive && !this._isDestroyed && this.reactsToClick\n },\n genAppend () {\n return this.genPosition('append')\n },\n genBackground () {\n const props = {\n height: '100%',\n width: '100%',\n src: this.src,\n }\n\n const image = this.$scopedSlots.img\n ? this.$scopedSlots.img(props)\n : this.$createElement(VImg, { props })\n\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__image',\n }, [image])\n },\n genDirectives (): VNodeDirective[] {\n const directives = [{\n name: 'click-outside',\n value: {\n handler: () => { this.isActive = false },\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n }]\n\n if (!this.touchless && !this.stateless) {\n directives.push({\n name: 'touch',\n value: {\n parent: true,\n left: this.swipeLeft,\n right: this.swipeRight,\n },\n } as any)\n }\n\n return directives\n },\n genListeners () {\n const on: Record<string, (e: Event) => void> = {\n mouseenter: () => (this.isMouseover = true),\n mouseleave: () => (this.isMouseover = false),\n transitionend: (e: Event) => {\n if (e.target !== e.currentTarget) return\n this.$emit('transitionend', e)\n\n // IE11 does not support new Event('resize')\n const resizeEvent = document.createEvent('UIEvents')\n resizeEvent.initUIEvent('resize', true, false, window, 0)\n window.dispatchEvent(resizeEvent)\n },\n }\n\n if (this.miniVariant) {\n on.click = () => this.$emit('update:mini-variant', false)\n }\n\n return on\n },\n genPosition (name: 'prepend' | 'append') {\n const slot = getSlot(this, name)\n\n if (!slot) return slot\n\n return this.$createElement('div', {\n staticClass: `v-navigation-drawer__${name}`,\n }, slot)\n },\n genPrepend () {\n return this.genPosition('prepend')\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__content',\n }, this.$slots.default)\n },\n genBorder () {\n return this.$createElement('div', {\n staticClass: 'v-navigation-drawer__border',\n })\n },\n init () {\n if (this.permanent) {\n this.isActive = true\n } else if (this.stateless ||\n this.value != null\n ) {\n this.isActive = this.value\n } else if (!this.temporary) {\n this.isActive = !this.isMobile\n }\n },\n onRouteChange () {\n if (this.reactsToRoute && this.closeConditional()) {\n this.isActive = false\n }\n },\n swipeLeft (e: TouchWrapper) {\n if (this.isActive && this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (this.right &&\n e.touchstartX >= this.touchArea.right\n ) this.isActive = true\n else if (!this.right && this.isActive) this.isActive = false\n },\n swipeRight (e: TouchWrapper) {\n if (this.isActive && !this.right) return\n this.calculateTouchArea()\n\n if (Math.abs(e.touchendX - e.touchstartX) < 100) return\n if (!this.right &&\n e.touchstartX <= this.touchArea.left\n ) this.isActive = true\n else if (this.right && this.isActive) this.isActive = false\n },\n /**\n * Update the application layout\n */\n updateApplication () {\n if (\n !this.isActive ||\n this.isMobile ||\n this.temporary ||\n !this.$el\n ) return 0\n\n const width = Number(this.miniVariant ? this.miniVariantWidth : this.width)\n\n return isNaN(width) ? this.$el.clientWidth : width\n },\n updateMiniVariant (val: boolean) {\n if (this.miniVariant !== val) this.$emit('update:mini-variant', val)\n },\n },\n\n render (h): VNode {\n const children = [\n this.genPrepend(),\n this.genContent(),\n this.genAppend(),\n this.genBorder(),\n ]\n\n if (this.src || getSlot(this, 'img')) children.unshift(this.genBackground())\n\n return h(this.tag, this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles,\n directives: this.genDirectives(),\n on: this.genListeners(),\n }), children)\n },\n})\n"],"sourceRoot":"","file":"VNavigationDrawer.js"}
@@ -86,6 +86,7 @@ var _default = baseMixins.extend().extend({
86
86
  isFocused: 'updateValue',
87
87
  value: function value(val) {
88
88
  this.lazyValue = val;
89
+ this.otp = (val == null ? void 0 : val.split('')) || [];
89
90
  }
90
91
  },
91
92
  created: function created() {
@@ -307,6 +308,7 @@ var _default = baseMixins.extend().extend({
307
308
  }
308
309
 
309
310
  this.otp = newOtp;
311
+ this.internalValue = this.otp.join('');
310
312
  var targetFocus = Math.min(index + inputDataArray.length, maxCursor);
311
313
  this.changeFocus(targetFocus);
312
314
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n badInput: false,\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n isDirty (): boolean {\n return VInput.options.computed.isDirty.call(this) || this.badInput\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n maxlength: 1,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n paste: (e: ClipboardEvent) => this.onPaste(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, otpIdx: number) {\n const target = e.target as HTMLInputElement\n const value = target.value\n this.applyValue(otpIdx, target.value, () => {\n this.internalValue = this.otp.join('')\n })\n this.badInput = target.validity && target.validity.badInput\n\n const nextIndex = otpIdx + 1\n if (value) {\n if (nextIndex < +this.length) {\n this.changeFocus(nextIndex)\n } else {\n this.clearFocus(otpIdx)\n this.onCompleted()\n }\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n onPaste (event: ClipboardEvent, index: number) {\n const maxCursor = +this.length - 1\n const inputVal = event?.clipboardData?.getData('Text')\n const inputDataArray = inputVal?.split('') || []\n event.preventDefault()\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n this.otp = newOtp\n const targetFocus = Math.min(index + inputDataArray.length, maxCursor)\n this.changeFocus(targetFocus)\n\n if (newOtp.length === +this.length) { this.onCompleted(); this.clearFocus(targetFocus) }\n },\n applyValue (index: number, inputVal: string, next: Function) {\n const newOtp: string[] = [...this.otp]\n newOtp[index] = inputVal\n this.otp = newOtp\n next()\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VOtpInput/VOtpInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VOtpInput.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n input: HTMLInputElement[]\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-otp-input',\n\n directives: {\n ripple,\n },\n\n inheritAttrs: false,\n\n props: {\n length: {\n type: [Number, String],\n default: 6,\n },\n type: {\n type: String,\n default: 'text',\n },\n plain: Boolean,\n },\n\n data: () => ({\n badInput: false,\n initialValue: null,\n isBooted: false,\n otp: [] as string[],\n }),\n\n computed: {\n outlined (): Boolean {\n return !this.plain\n },\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n ...VTextField.options.computed.classes.call(this),\n 'v-otp-input--plain': this.plain,\n }\n },\n isDirty (): boolean {\n return VInput.options.computed.isDirty.call(this) || this.badInput\n },\n },\n\n watch: {\n isFocused: 'updateValue',\n value (val) {\n this.lazyValue = val\n this.otp = val?.split('') || []\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('browser-autocomplete')) {\n breaking('browser-autocomplete', 'autocomplete', this)\n }\n\n this.otp = this.internalValue?.split('') || []\n },\n\n mounted () {\n requestAnimationFrame(() => (this.isBooted = true))\n },\n\n methods: {\n /** @public */\n focus (e: Event, otpIdx: number) {\n this.onFocus(e, otpIdx || 0)\n },\n genInputSlot (otpIdx: number) {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: () => this.onClick(otpIdx),\n mousedown: (e: Event) => this.onMouseDown(e, otpIdx),\n mouseup: (e: Event) => this.onMouseUp(e, otpIdx),\n },\n }), [this.genDefaultSlot(otpIdx)])\n },\n genControl (otpIdx: number) {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(otpIdx),\n ])\n },\n genDefaultSlot (otpIdx: number) {\n return [\n this.genFieldset(),\n this.genTextFieldSlot(otpIdx),\n ]\n },\n genContent () {\n return Array.from({ length: +this.length }, (_, i) => {\n return this.$createElement('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), [this.genControl(i)])\n })\n },\n genFieldset () {\n return this.$createElement('fieldset', {\n attrs: {\n 'aria-hidden': true,\n },\n }, [this.genLegend()])\n },\n genLegend () {\n const span = this.$createElement('span', {\n domProps: { innerHTML: '&#8203;' },\n })\n\n return this.$createElement('legend', {\n style: {\n width: '0px',\n },\n }, [span])\n },\n genInput (otpIdx: number) {\n const listeners = Object.assign({}, this.listeners$)\n delete listeners.change // Change should not be bound externally\n\n return this.$createElement('input', {\n style: {},\n domProps: {\n value: this.otp[otpIdx],\n min: this.type === 'number' ? 0 : null,\n },\n attrs: {\n ...this.attrs$,\n disabled: this.isDisabled,\n readonly: this.isReadonly,\n type: this.type,\n id: `${this.computedId}--${otpIdx}`,\n class: `otp-field-box--${otpIdx}`,\n maxlength: 1,\n },\n on: Object.assign(listeners, {\n blur: this.onBlur,\n input: (e: Event) => this.onInput(e, otpIdx),\n focus: (e: Event) => this.onFocus(e, otpIdx),\n paste: (e: ClipboardEvent) => this.onPaste(e, otpIdx),\n keydown: this.onKeyDown,\n keyup: (e: KeyboardEvent) => this.onKeyUp(e, otpIdx),\n }),\n ref: 'input',\n refInFor: true,\n })\n },\n genTextFieldSlot (otpIdx: number): VNode {\n return this.$createElement('div', {\n staticClass: 'v-text-field__slot',\n }, [\n this.genInput(otpIdx),\n ])\n },\n onBlur (e?: Event) {\n this.isFocused = false\n e && this.$nextTick(() => this.$emit('blur', e))\n },\n onClick (otpIdx: number) {\n if (this.isFocused || this.isDisabled || !this.$refs.input[otpIdx]) return\n\n this.onFocus(undefined, otpIdx)\n },\n onFocus (e?: Event, otpIdx?: number) {\n e?.preventDefault()\n e?.stopPropagation()\n const elements = this.$refs.input as HTMLInputElement[]\n const ref = this.$refs.input && elements[otpIdx || 0]\n if (!ref) return\n\n if (document.activeElement !== ref) {\n ref.focus()\n return ref.select()\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n ref.select()\n e && this.$emit('focus', e)\n }\n },\n onInput (e: Event, otpIdx: number) {\n const target = e.target as HTMLInputElement\n const value = target.value\n this.applyValue(otpIdx, target.value, () => {\n this.internalValue = this.otp.join('')\n })\n this.badInput = target.validity && target.validity.badInput\n\n const nextIndex = otpIdx + 1\n if (value) {\n if (nextIndex < +this.length) {\n this.changeFocus(nextIndex)\n } else {\n this.clearFocus(otpIdx)\n this.onCompleted()\n }\n }\n },\n clearFocus (index: number) {\n const input = this.$refs.input[index] as HTMLInputElement\n input.blur()\n },\n onKeyDown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.enter) {\n this.$emit('change', this.internalValue)\n }\n\n this.$emit('keydown', e)\n },\n onMouseDown (e: Event, otpIdx: number) {\n // Prevent input from being blurred\n if (e.target !== this.$refs.input[otpIdx]) {\n e.preventDefault()\n e.stopPropagation()\n }\n\n VInput.options.methods.onMouseDown.call(this, e)\n },\n onMouseUp (e: Event, otpIdx: number) {\n if (this.hasMouseDown) this.focus(e, otpIdx)\n\n VInput.options.methods.onMouseUp.call(this, e)\n },\n onPaste (event: ClipboardEvent, index: number) {\n const maxCursor = +this.length - 1\n const inputVal = event?.clipboardData?.getData('Text')\n const inputDataArray = inputVal?.split('') || []\n event.preventDefault()\n const newOtp: string[] = [...this.otp]\n for (let i = 0; i < inputDataArray.length; i++) {\n const appIdx = index + i\n if (appIdx > maxCursor) break\n newOtp[appIdx] = inputDataArray[i].toString()\n }\n this.otp = newOtp\n this.internalValue = this.otp.join('')\n const targetFocus = Math.min(index + inputDataArray.length, maxCursor)\n this.changeFocus(targetFocus)\n\n if (newOtp.length === +this.length) { this.onCompleted(); this.clearFocus(targetFocus) }\n },\n applyValue (index: number, inputVal: string, next: Function) {\n const newOtp: string[] = [...this.otp]\n newOtp[index] = inputVal\n this.otp = newOtp\n next()\n },\n changeFocus (index: number) {\n this.onFocus(undefined, index || 0)\n },\n updateValue (val: boolean) {\n // Sets validationState from validatable\n this.hasColor = val\n\n if (val) {\n this.initialValue = this.lazyValue\n } else if (this.initialValue !== this.lazyValue) {\n this.$emit('change', this.lazyValue)\n }\n },\n onKeyUp (event: KeyboardEvent, index: number) {\n event.preventDefault()\n const eventKey = event.key\n if (['Tab', 'Shift', 'Meta', 'Control', 'Alt'].includes(eventKey)) {\n return\n }\n if (['Delete'].includes(eventKey)) {\n return\n }\n if (eventKey === 'ArrowLeft' || (eventKey === 'Backspace' && !this.otp[index])) {\n return index > 0 && this.changeFocus(index - 1)\n }\n if (eventKey === 'ArrowRight') {\n return index + 1 < +this.length && this.changeFocus(index + 1)\n }\n },\n onCompleted () {\n const rsp = this.otp.join('')\n if (rsp.length === +this.length) {\n this.$emit('finish', rsp)\n }\n },\n },\n render (h): VNode {\n return h('div', {\n staticClass: 'v-otp-input',\n class: this.themeClasses,\n }, this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VOtpInput.js"}
@@ -312,7 +312,12 @@ var _default2 = baseMixins.extend().extend({
312
312
  var uniqueValues = new Map();
313
313
 
314
314
  for (var index = 0; index < arr.length; ++index) {
315
- var item = arr[index]; // Do not deduplicate headers or dividers (#12517)
315
+ var item = arr[index]; // Do not return null values if existant (#14421)
316
+
317
+ if (item == null) {
318
+ continue;
319
+ } // Do not deduplicate headers or dividers (#12517)
320
+
316
321
 
317
322
  if (item.header || item.divider) {
318
323
  uniqueValues.set(item, item);