vuetify 2.6.0-beta.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/json/attributes.json +64 -60
  2. package/dist/json/tags.json +1 -0
  3. package/dist/json/web-types.json +128 -92
  4. package/dist/vuetify.css +37 -33
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +244 -146
  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/VAutocomplete/VAutocomplete.js +20 -2
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VCalendar/VCalendarDaily.js +13 -15
  13. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  14. package/es5/components/VCalendar/mixins/calendar-with-events.js +4 -2
  15. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  16. package/es5/components/VCalendar/mixins/mouse.js +1 -1
  17. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  18. package/es5/components/VCombobox/VCombobox.js +0 -5
  19. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  20. package/es5/components/VDialog/VDialog.js +4 -2
  21. package/es5/components/VDialog/VDialog.js.map +1 -1
  22. package/es5/components/VList/VListItem.js +8 -1
  23. package/es5/components/VList/VListItem.js.map +1 -1
  24. package/es5/components/VMenu/VMenu.js +1 -1
  25. package/es5/components/VMenu/VMenu.js.map +1 -1
  26. package/es5/components/VOtpInput/VOtpInput.js +14 -25
  27. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  28. package/es5/components/VOverlay/VOverlay.js +1 -0
  29. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  30. package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
  31. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  32. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  33. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  34. package/es5/components/VSelect/VSelect.js +1 -1
  35. package/es5/components/VSelect/VSelect.js.map +1 -1
  36. package/es5/components/VTabs/VTab.js +15 -4
  37. package/es5/components/VTabs/VTab.js.map +1 -1
  38. package/es5/components/VTextField/VTextField.js +6 -1
  39. package/es5/components/VTextField/VTextField.js.map +1 -1
  40. package/es5/components/VTreeview/VTreeviewNode.js +3 -1
  41. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  42. package/es5/components/transitions/createTransition.js +0 -20
  43. package/es5/components/transitions/createTransition.js.map +1 -1
  44. package/es5/directives/click-outside/index.js +21 -10
  45. package/es5/directives/click-outside/index.js.map +1 -1
  46. package/es5/directives/intersect/index.js +16 -12
  47. package/es5/directives/intersect/index.js.map +1 -1
  48. package/es5/directives/mutate/index.js +10 -8
  49. package/es5/directives/mutate/index.js.map +1 -1
  50. package/es5/directives/resize/index.js +11 -8
  51. package/es5/directives/resize/index.js.map +1 -1
  52. package/es5/directives/scroll/index.js +13 -10
  53. package/es5/directives/scroll/index.js.map +1 -1
  54. package/es5/framework.js +1 -1
  55. package/es5/locale/fr.js +1 -1
  56. package/es5/locale/fr.js.map +1 -1
  57. package/es5/mixins/detachable/index.js +32 -14
  58. package/es5/mixins/detachable/index.js.map +1 -1
  59. package/es5/mixins/intersectable/index.js +11 -2
  60. package/es5/mixins/intersectable/index.js.map +1 -1
  61. package/es5/mixins/overlayable/index.js +21 -11
  62. package/es5/mixins/overlayable/index.js.map +1 -1
  63. package/es5/mixins/routable/index.js +9 -3
  64. package/es5/mixins/routable/index.js.map +1 -1
  65. package/lib/components/VAutocomplete/VAutocomplete.js +18 -2
  66. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  67. package/lib/components/VCalendar/VCalendarDaily.js +9 -9
  68. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  69. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -2
  70. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  71. package/lib/components/VCalendar/mixins/mouse.js +1 -1
  72. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  73. package/lib/components/VCombobox/VCombobox.js +0 -5
  74. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  75. package/lib/components/VDialog/VDialog.js +5 -2
  76. package/lib/components/VDialog/VDialog.js.map +1 -1
  77. package/lib/components/VList/VListItem.js +9 -1
  78. package/lib/components/VList/VListItem.js.map +1 -1
  79. package/lib/components/VMenu/VMenu.js +1 -1
  80. package/lib/components/VMenu/VMenu.js.map +1 -1
  81. package/lib/components/VOtpInput/VOtpInput.js +14 -25
  82. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  83. package/lib/components/VOverlay/VOverlay.js +1 -0
  84. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  85. package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
  86. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  87. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  88. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  89. package/lib/components/VSelect/VSelect.js +1 -1
  90. package/lib/components/VSelect/VSelect.js.map +1 -1
  91. package/lib/components/VTabs/VTab.js +16 -6
  92. package/lib/components/VTabs/VTab.js.map +1 -1
  93. package/lib/components/VTextField/VTextField.js +8 -1
  94. package/lib/components/VTextField/VTextField.js.map +1 -1
  95. package/lib/components/VTreeview/VTreeviewNode.js +3 -1
  96. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  97. package/lib/components/transitions/createTransition.js +0 -6
  98. package/lib/components/transitions/createTransition.js.map +1 -1
  99. package/lib/directives/click-outside/index.js +22 -10
  100. package/lib/directives/click-outside/index.js.map +1 -1
  101. package/lib/directives/intersect/index.js +16 -12
  102. package/lib/directives/intersect/index.js.map +1 -1
  103. package/lib/directives/mutate/index.js +10 -8
  104. package/lib/directives/mutate/index.js.map +1 -1
  105. package/lib/directives/resize/index.js +9 -6
  106. package/lib/directives/resize/index.js.map +1 -1
  107. package/lib/directives/scroll/index.js +9 -6
  108. package/lib/directives/scroll/index.js.map +1 -1
  109. package/lib/framework.js +1 -1
  110. package/lib/locale/fr.js +1 -1
  111. package/lib/locale/fr.js.map +1 -1
  112. package/lib/mixins/detachable/index.js +28 -13
  113. package/lib/mixins/detachable/index.js.map +1 -1
  114. package/lib/mixins/intersectable/index.js +9 -2
  115. package/lib/mixins/intersectable/index.js.map +1 -1
  116. package/lib/mixins/overlayable/index.js +21 -11
  117. package/lib/mixins/overlayable/index.js.map +1 -1
  118. package/lib/mixins/routable/index.js +12 -3
  119. package/lib/mixins/routable/index.js.map +1 -1
  120. package/package.json +2 -2
  121. package/src/components/VAutocomplete/VAutocomplete.ts +15 -2
  122. package/src/components/VCalendar/VCalendarDaily.ts +7 -7
  123. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  124. package/src/components/VCalendar/mixins/calendar-with-events.ts +3 -3
  125. package/src/components/VCalendar/mixins/mouse.ts +1 -1
  126. package/src/components/VCombobox/VCombobox.ts +0 -5
  127. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  128. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +30 -0
  129. package/src/components/VDialog/VDialog.ts +4 -2
  130. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  131. package/src/components/VList/VListItem.sass +2 -1
  132. package/src/components/VList/VListItem.ts +7 -1
  133. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  134. package/src/components/VMenu/VMenu.ts +1 -1
  135. package/src/components/VOtpInput/VOtpInput.sass +13 -16
  136. package/src/components/VOtpInput/VOtpInput.ts +12 -28
  137. package/src/components/VOtpInput/_variables.scss +2 -4
  138. package/src/components/VOverlay/VOverlay.ts +1 -0
  139. package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
  140. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  141. package/src/components/VSelect/VSelect.ts +1 -1
  142. package/src/components/VTabs/VTab.ts +14 -4
  143. package/src/components/VTabs/VTabs.sass +5 -2
  144. package/src/components/VTextField/VTextField.ts +8 -3
  145. package/src/components/VTreeview/VTreeviewNode.ts +3 -1
  146. package/src/components/transitions/createTransition.ts +0 -8
  147. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  148. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  149. package/src/directives/click-outside/index.ts +19 -10
  150. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  151. package/src/directives/intersect/index.ts +15 -13
  152. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  153. package/src/directives/mutate/index.ts +9 -9
  154. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  155. package/src/directives/resize/index.ts +11 -6
  156. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  157. package/src/directives/scroll/index.ts +8 -7
  158. package/src/globals.d.ts +10 -12
  159. package/src/locale/fr.ts +1 -1
  160. package/src/mixins/detachable/index.ts +32 -15
  161. package/src/mixins/intersectable/index.ts +11 -2
  162. package/src/mixins/overlayable/index.ts +22 -11
  163. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  164. package/src/mixins/routable/index.ts +10 -3
  165. package/src/styles/generic/_transitions.scss +219 -215
  166. package/src/styles/settings/_variables.scss +10 -9
@@ -207,13 +207,31 @@ var _default2 = _VSelect.default.extend({
207
207
  // TODO: How is the watcher triggered
208
208
  // for duplicate items? no idea
209
209
  if (val === oldVal) return;
210
- this.setMenuIndex(-1);
210
+
211
+ if (!this.autoSelectFirst) {
212
+ var preSelectedItem = oldVal[this.$refs.menu.listIndex];
213
+
214
+ if (preSelectedItem) {
215
+ this.setMenuIndex(val.findIndex(function (i) {
216
+ return i === preSelectedItem;
217
+ }));
218
+ } else {
219
+ this.setMenuIndex(-1);
220
+ }
221
+
222
+ this.$emit('update:list-index', this.$refs.menu.listIndex);
223
+ }
224
+
211
225
  this.$nextTick(function () {
212
226
  if (!_this5.internalSearch || val.length !== 1 && !_this5.autoSelectFirst) return;
213
227
 
214
228
  _this5.$refs.menu.getTiles();
215
229
 
216
- _this5.setMenuIndex(0);
230
+ if (_this5.autoSelectFirst && val.length) {
231
+ _this5.setMenuIndex(0);
232
+
233
+ _this5.$emit('update:list-index', _this5.$refs.menu.listIndex);
234
+ }
217
235
  });
218
236
  },
219
237
  onInternalSearchChanged: function onInternalSearchChanged() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\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 // 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 onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
1
+ {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType<string | null>,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | null {\n return this.lazySearch\n },\n set (val: any) { // TODO: this should be `string | null` but it breaks lots of other types\n // emit update event only when the new\n // search value is different from previous\n if (this.lazySearch !== val) {\n this.lazySearch = val\n this.$emit('update:search-input', val)\n }\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.blur()\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = null\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n if (!this.autoSelectFirst) {\n const preSelectedItem = oldVal[this.$refs.menu.listIndex]\n\n if (preSelectedItem) {\n this.setMenuIndex(val.findIndex(i => i === preSelectedItem))\n } else {\n this.setMenuIndex(-1)\n }\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n\n if (this.autoSelectFirst && val.length) {\n this.setMenuIndex(0)\n this.$emit('update:list-index', this.$refs.menu.listIndex)\n }\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : null)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = null\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n if (!this.multiple && value === '') this.deleteCurrentItem()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\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 // 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 onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (\n !this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (\n !this.multiple &&\n !this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )\n ) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData?.setData('text/plain', currentItemText)\n event.clipboardData?.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n"],"sourceRoot":"","file":"VAutocomplete.js"}
@@ -175,27 +175,28 @@ var _default = _calendarWithIntervals.default.extend({
175
175
  return this.days.map(this.genDay);
176
176
  },
177
177
  genDay: function genDay(day, index) {
178
+ var _this3 = this;
179
+
178
180
  return this.$createElement('div', {
179
181
  key: day.date,
180
182
  staticClass: 'v-calendar-daily__day',
181
- class: this.getRelativeClasses(day)
182
- }, [].concat(_toConsumableArray(this.genDayIntervals(index, day)), _toConsumableArray(this.genDayBody(day))));
183
+ class: this.getRelativeClasses(day),
184
+ on: this.getDefaultMouseEventHandlers(':time', function (e) {
185
+ return _this3.getSlotScope(_this3.getTimestampAtEvent(e, day));
186
+ })
187
+ }, [].concat(_toConsumableArray(this.genDayIntervals(index)), _toConsumableArray(this.genDayBody(day))));
183
188
  },
184
189
  genDayBody: function genDayBody(day) {
185
- var _this3 = this;
190
+ var _this4 = this;
186
191
 
187
192
  return (0, _helpers.getSlot)(this, 'day-body', function () {
188
- return _this3.getSlotScope(day);
193
+ return _this4.getSlotScope(day);
189
194
  }) || [];
190
195
  },
191
- genDayIntervals: function genDayIntervals(index, day) {
192
- var _this4 = this;
193
-
194
- return this.intervals[index].map(function (i) {
195
- return _this4.genDayInterval(i, day);
196
- });
196
+ genDayIntervals: function genDayIntervals(index) {
197
+ return this.intervals[index].map(this.genDayInterval);
197
198
  },
198
- genDayInterval: function genDayInterval(interval, day) {
199
+ genDayInterval: function genDayInterval(interval) {
199
200
  var _this5 = this;
200
201
 
201
202
  var height = (0, _helpers.convertToUnit)(this.intervalHeight);
@@ -205,10 +206,7 @@ var _default = _calendarWithIntervals.default.extend({
205
206
  staticClass: 'v-calendar-daily__day-interval',
206
207
  style: _objectSpread({
207
208
  height: height
208
- }, styler(interval)),
209
- on: this.getDefaultMouseEventHandlers(':time', function (e) {
210
- return _this5.getSlotScope(_this5.getTimestampAtEvent(e, day));
211
- })
209
+ }, styler(interval))
212
210
  };
213
211
  var children = (0, _helpers.getSlot)(this, 'interval', function () {
214
212
  return _this5.getSlotScope(interval);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n }, [\n ...this.genDayIntervals(index, day),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number, day: CalendarTimestamp): VNode[] {\n return this.intervals[index].map(i => this.genDayInterval(i, day))\n },\n genDayInterval (interval: CalendarTimestamp, day: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarDaily.js"}
1
+ {"version":3,"sources":["../../../src/components/VCalendar/VCalendarDaily.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VCalendarDaily.sass'\n\n// Types\nimport { VNode } from 'vue'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Components\nimport VBtn from '../VBtn'\n\n// Mixins\nimport CalendarWithIntervals from './mixins/calendar-with-intervals'\n\n// Util\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { CalendarTimestamp } from 'vuetify/types'\n\n/* @vue/component */\nexport default CalendarWithIntervals.extend({\n name: 'v-calendar-daily',\n\n directives: { Resize },\n\n data: () => ({\n scrollPush: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-calendar-daily': true,\n ...this.themeClasses,\n }\n },\n },\n\n mounted () {\n this.init()\n },\n\n methods: {\n init () {\n this.$nextTick(this.onResize)\n },\n onResize () {\n this.scrollPush = this.getScrollPush()\n },\n getScrollPush (): number {\n const area = this.$refs.scrollArea as HTMLElement\n const pane = this.$refs.pane as HTMLElement\n\n return area && pane ? (area.offsetWidth - pane.offsetWidth) : 0\n },\n genHead (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__head',\n style: {\n marginRight: this.scrollPush + 'px',\n },\n }, [\n this.genHeadIntervals(),\n ...this.genHeadDays(),\n ])\n },\n genHeadIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__intervals-head',\n style: {\n width,\n },\n }, getSlot(this, 'interval-header'))\n },\n genHeadDays (): VNode[] {\n return this.days.map(this.genHeadDay)\n },\n genHeadDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily_head-day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':day', _e => {\n return this.getSlotScope(day)\n }),\n }, [\n this.genHeadWeekday(day),\n this.genHeadDayLabel(day),\n ...this.genDayHeader(day, index),\n ])\n },\n genDayHeader (day: CalendarTimestamp, index: number): VNode[] {\n return getSlot(this, 'day-header', () => ({\n week: this.days, ...day, index,\n })) || []\n },\n genHeadWeekday (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : undefined\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-calendar-daily_head-weekday',\n }), this.weekdayFormatter(day, this.shortWeekdays))\n },\n genHeadDayLabel (day: CalendarTimestamp): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily_head-day-label',\n }, getSlot(this, 'day-label-header', day) || [this.genHeadDayButton(day)])\n },\n genHeadDayButton (day: CalendarTimestamp): VNode {\n const color = day.present ? this.color : 'transparent'\n\n return this.$createElement(VBtn, {\n props: {\n color,\n fab: true,\n depressed: true,\n },\n on: this.getMouseEventHandlers({\n 'click:date': { event: 'click', stop: true },\n 'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },\n }, _e => {\n return day\n }),\n }, this.dayFormatter(day, false))\n },\n genBody (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__body',\n }, [\n this.genScrollArea(),\n ])\n },\n genScrollArea (): VNode {\n return this.$createElement('div', {\n ref: 'scrollArea',\n staticClass: 'v-calendar-daily__scroll-area',\n }, [\n this.genPane(),\n ])\n },\n genPane (): VNode {\n return this.$createElement('div', {\n ref: 'pane',\n staticClass: 'v-calendar-daily__pane',\n style: {\n height: convertToUnit(this.bodyHeight),\n },\n }, [\n this.genDayContainer(),\n ])\n },\n genDayContainer (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-calendar-daily__day-container',\n }, [\n this.genBodyIntervals(),\n ...this.genDays(),\n ])\n },\n genDays (): VNode[] {\n return this.days.map(this.genDay)\n },\n genDay (day: CalendarTimestamp, index: number): VNode {\n return this.$createElement('div', {\n key: day.date,\n staticClass: 'v-calendar-daily__day',\n class: this.getRelativeClasses(day),\n on: this.getDefaultMouseEventHandlers(':time', e => {\n return this.getSlotScope(this.getTimestampAtEvent(e, day))\n }),\n }, [\n ...this.genDayIntervals(index),\n ...this.genDayBody(day),\n ])\n },\n genDayBody (day: CalendarTimestamp): VNode[] {\n return getSlot(this, 'day-body', () => this.getSlotScope(day)) || []\n },\n genDayIntervals (index: number): VNode[] {\n return this.intervals[index].map(this.genDayInterval)\n },\n genDayInterval (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const styler = this.intervalStyle || this.intervalStyleDefault\n\n const data = {\n key: interval.time,\n staticClass: 'v-calendar-daily__day-interval',\n style: {\n height,\n ...styler(interval),\n },\n }\n\n const children = getSlot(this, 'interval', () => this.getSlotScope(interval))\n\n return this.$createElement('div', data, children)\n },\n genBodyIntervals (): VNode {\n const width: string | undefined = convertToUnit(this.intervalWidth)\n const data = {\n staticClass: 'v-calendar-daily__intervals-body',\n style: {\n width,\n },\n on: this.getDefaultMouseEventHandlers(':interval', e => {\n return this.getTimestampAtEvent(e, this.parsedStart)\n }),\n }\n\n return this.$createElement('div', data, this.genIntervalLabels())\n },\n genIntervalLabels (): VNode[] | null {\n if (!this.intervals.length) return null\n\n return this.intervals[0].map(this.genIntervalLabel)\n },\n genIntervalLabel (interval: CalendarTimestamp): VNode {\n const height: string | undefined = convertToUnit(this.intervalHeight)\n const short: boolean = this.shortIntervals\n const shower = this.showIntervalLabel || this.showIntervalLabelDefault\n const show = shower(interval)\n const label = show ? this.intervalFormatter(interval, short) : undefined\n\n return this.$createElement('div', {\n key: interval.time,\n staticClass: 'v-calendar-daily__interval',\n style: {\n height,\n },\n }, [\n this.$createElement('div', {\n staticClass: 'v-calendar-daily__interval-text',\n }, label),\n ])\n },\n },\n\n render (h): VNode {\n return h('div', {\n class: this.classes,\n on: {\n dragstart: (e: MouseEvent) => {\n e.preventDefault()\n },\n },\n directives: [{\n modifiers: { quiet: true },\n name: 'resize',\n value: this.onResize,\n }],\n }, [\n !this.hideHeader ? this.genHead() : '',\n this.genBody(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VCalendarDaily.js"}
@@ -285,14 +285,16 @@ var _default = _calendarBase.default.extend({
285
285
  var name = _this5.eventNameFunction(event, timedEvent);
286
286
 
287
287
  if (event.start.hasTime) {
288
+ var eventSummaryClass = 'v-event-summary';
289
+
288
290
  if (timedEvent) {
289
291
  var time = timeSummary();
290
292
  var delimiter = singline ? ', ' : '<br>';
291
- return "<strong>".concat(name, "</strong>").concat(delimiter).concat(time);
293
+ return "<span class=\"".concat(eventSummaryClass, "\"><strong>").concat(name, "</strong>").concat(delimiter).concat(time, "</span>");
292
294
  } else {
293
295
  var _time = formatTime(event.start, true);
294
296
 
295
- return "<strong>".concat(_time, "</strong> ").concat(name);
297
+ return "<span class=\"".concat(eventSummaryClass, "\"><strong>").concat(_time, "</strong> ").concat(name, "</span>");
296
298
  }
297
299
  }
298
300
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n\n if (event.start.hasTime) {\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<strong>${name}</strong>${delimiter}${time}`\n } else {\n const time = formatTime(event.start, true)\n\n return `<strong>${time}</strong> ${name}`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: {\n click: (e: MouseEvent) => this.$emit('click:more', day, e),\n },\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$scopedSlots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$scopedSlots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/calendar-with-events.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './calendar-with-events.sass'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n// Directives\nimport ripple from '../../../directives/ripple'\n\n// Mixins\nimport CalendarBase from './calendar-base'\n\n// Helpers\nimport { escapeHTML } from '../../../util/helpers'\n\n// Util\nimport props from '../util/props'\nimport {\n CalendarEventOverlapModes,\n} from '../modes'\nimport {\n getDayIdentifier, diffMinutes,\n} from '../util/timestamp'\nimport {\n parseEvent,\n isEventStart,\n isEventOn,\n isEventOverlapping,\n isEventHiddenOn,\n} from '../util/events'\nimport {\n CalendarTimestamp,\n CalendarEventParsed,\n CalendarEventVisual,\n CalendarEventColorFunction,\n CalendarEventNameFunction,\n CalendarEventTimedFunction,\n CalendarDaySlotScope,\n CalendarDayBodySlotScope,\n CalendarEventOverlapMode,\n CalendarEvent,\n CalendarEventCategoryFunction,\n CalendarCategory,\n} from 'vuetify/types'\n\n// Types\ntype VEventGetter<D> = (day: D) => CalendarEventParsed[]\n\ntype VEventVisualToNode<D> = (visual: CalendarEventVisual, day: D) => VNode | false\n\ntype VEventsToNodes = <D extends CalendarDaySlotScope>(\n day: D,\n getter: VEventGetter<D>,\n mapper: VEventVisualToNode<D>,\n timed: boolean) => VNode[] | undefined\n\ntype VDailyEventsMap = {\n [date: string]: {\n parent: HTMLElement\n more: HTMLElement | null\n events: HTMLElement[]\n }\n}\n\ninterface VEventScopeInput {\n eventParsed: CalendarEventParsed\n day: CalendarDaySlotScope\n start: boolean\n end: boolean\n timed: boolean\n}\n\nconst WIDTH_FULL = 100\nconst WIDTH_START = 95\nconst MINUTES_IN_DAY = 1440\n\n/* @vue/component */\nexport default CalendarBase.extend({\n name: 'calendar-with-events',\n\n directives: {\n ripple,\n },\n\n props: {\n ...props.events,\n ...props.calendar,\n ...props.category,\n },\n\n computed: {\n noEvents (): boolean {\n return this.events.length === 0\n },\n parsedEvents (): CalendarEventParsed[] {\n return this.events.map(this.parseEvent)\n },\n parsedEventOverlapThreshold (): number {\n return parseInt(this.eventOverlapThreshold)\n },\n eventTimedFunction (): CalendarEventTimedFunction {\n return typeof this.eventTimed === 'function'\n ? this.eventTimed\n : event => !!event[this.eventTimed as string]\n },\n eventCategoryFunction (): CalendarEventCategoryFunction {\n return typeof this.eventCategory === 'function'\n ? this.eventCategory\n : event => event[this.eventCategory as string]\n },\n eventTextColorFunction (): CalendarEventColorFunction {\n return typeof this.eventTextColor === 'function'\n ? this.eventTextColor\n : () => this.eventTextColor as string\n },\n eventNameFunction (): CalendarEventNameFunction {\n return typeof this.eventName === 'function'\n ? this.eventName\n : (event, timedEvent) => escapeHTML(event.input[this.eventName as string] as string || '')\n },\n eventModeFunction (): CalendarEventOverlapMode {\n return typeof this.eventOverlapMode === 'function'\n ? this.eventOverlapMode\n : CalendarEventOverlapModes[this.eventOverlapMode]\n },\n eventWeekdays (): number[] {\n return this.parsedWeekdays\n },\n categoryMode (): boolean {\n return this.type === 'category'\n },\n },\n\n methods: {\n eventColorFunction (e: CalendarEvent): string {\n return typeof this.eventColor === 'function'\n ? this.eventColor(e)\n : e.color || this.eventColor\n },\n parseEvent (input: CalendarEvent, index = 0): CalendarEventParsed {\n return parseEvent(\n input,\n index,\n this.eventStart,\n this.eventEnd,\n this.eventTimedFunction(input),\n this.categoryMode ? this.eventCategoryFunction(input) : false,\n )\n },\n formatTime (withTime: CalendarTimestamp, ampm: boolean): string {\n const formatter = this.getFormatter({\n timeZone: 'UTC',\n hour: 'numeric',\n minute: withTime.minute > 0 ? 'numeric' : undefined,\n })\n\n return formatter(withTime, true)\n },\n updateEventVisibility () {\n if (this.noEvents || !this.eventMore) {\n return\n }\n\n const eventHeight = this.eventHeight\n const eventsMap = this.getEventsMap()\n\n for (const date in eventsMap) {\n const { parent, events, more } = eventsMap[date]\n if (!more) {\n break\n }\n\n const parentBounds = parent.getBoundingClientRect()\n const last = events.length - 1\n const eventsSorted = events.map(event => ({\n event,\n bottom: event.getBoundingClientRect().bottom,\n })).sort((a, b) => a.bottom - b.bottom)\n let hidden = 0\n\n for (let i = 0; i <= last; i++) {\n const bottom = eventsSorted[i].bottom\n const hide = i === last\n ? (bottom > parentBounds.bottom)\n : (bottom + eventHeight > parentBounds.bottom)\n\n if (hide) {\n eventsSorted[i].event.style.display = 'none'\n hidden++\n }\n }\n\n if (hidden) {\n more.style.display = ''\n more.innerHTML = this.$vuetify.lang.t(this.eventMoreText, hidden)\n } else {\n more.style.display = 'none'\n }\n }\n },\n getEventsMap (): VDailyEventsMap {\n const eventsMap: VDailyEventsMap = {}\n const elements = this.$refs.events as HTMLElement[]\n\n if (!elements || !elements.forEach) {\n return eventsMap\n }\n\n elements.forEach(el => {\n const date = el.getAttribute('data-date')\n if (el.parentElement && date) {\n if (!(date in eventsMap)) {\n eventsMap[date] = {\n parent: el.parentElement,\n more: null,\n events: [],\n }\n }\n if (el.getAttribute('data-more')) {\n eventsMap[date].more = el\n } else {\n eventsMap[date].events.push(el)\n el.style.display = ''\n }\n }\n })\n\n return eventsMap\n },\n genDayEvent ({ event }: CalendarEventVisual, day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n const dayIdentifier = getDayIdentifier(day)\n const week = day.week\n const start = dayIdentifier === event.startIdentifier\n let end = dayIdentifier === event.endIdentifier\n let width = WIDTH_START\n\n if (!this.categoryMode) {\n for (let i = day.index + 1; i < week.length; i++) {\n const weekdayIdentifier = getDayIdentifier(week[i])\n if (event.endIdentifier >= weekdayIdentifier) {\n width += WIDTH_FULL\n end = end || weekdayIdentifier === event.endIdentifier\n } else {\n end = true\n break\n }\n }\n }\n const scope = { eventParsed: event, day, start, end, timed: false }\n\n return this.genEvent(event, scope, false, {\n staticClass: 'v-event',\n class: {\n 'v-event-start': start,\n 'v-event-end': end,\n },\n style: {\n height: `${eventHeight}px`,\n width: `${width}%`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n key: event.index,\n ref: 'events',\n refInFor: true,\n })\n },\n genTimedEvent ({ event, left, width }: CalendarEventVisual, day: CalendarDayBodySlotScope): VNode | false {\n if (day.timeDelta(event.end) < 0 || day.timeDelta(event.start) >= 1 || isEventHiddenOn(event, day)) {\n return false\n }\n\n const dayIdentifier = getDayIdentifier(day)\n const start = event.startIdentifier >= dayIdentifier\n const end = event.endIdentifier > dayIdentifier\n const top = start ? day.timeToY(event.start) : 0\n const bottom = end ? day.timeToY(MINUTES_IN_DAY) : day.timeToY(event.end)\n const height = Math.max(this.eventHeight, bottom - top)\n const scope = { eventParsed: event, day, start, end, timed: true }\n\n return this.genEvent(event, scope, true, {\n staticClass: 'v-event-timed',\n style: {\n top: `${top}px`,\n height: `${height}px`,\n left: `${left}%`,\n width: `${width}%`,\n },\n })\n },\n genEvent (event: CalendarEventParsed, scopeInput: VEventScopeInput, timedEvent: boolean, data: VNodeData): VNode {\n const slot = this.$scopedSlots.event\n const text = this.eventTextColorFunction(event.input)\n const background = this.eventColorFunction(event.input)\n const overlapsNoon = event.start.hour < 12 && event.end.hour >= 12\n const singline = diffMinutes(event.start, event.end) <= this.parsedEventOverlapThreshold\n const formatTime = this.formatTime\n const timeSummary = () => formatTime(event.start, overlapsNoon) + ' - ' + formatTime(event.end, true)\n const eventSummary = () => {\n const name = this.eventNameFunction(event, timedEvent)\n if (event.start.hasTime) {\n const eventSummaryClass = 'v-event-summary'\n if (timedEvent) {\n const time = timeSummary()\n const delimiter = singline ? ', ' : '<br>'\n\n return `<span class=\"${eventSummaryClass}\"><strong>${name}</strong>${delimiter}${time}</span>`\n } else {\n const time = formatTime(event.start, true)\n\n return `<span class=\"${eventSummaryClass}\"><strong>${time}</strong> ${name}</span>`\n }\n }\n\n return name\n }\n\n const scope = {\n ...scopeInput,\n event: event.input,\n outside: scopeInput.day.outside,\n singline,\n overlapsNoon,\n formatTime,\n timeSummary,\n eventSummary,\n }\n\n return this.$createElement('div',\n this.setTextColor(text,\n this.setBackgroundColor(background, {\n on: this.getDefaultMouseEventHandlers(':event', nativeEvent => ({ ...scope, nativeEvent })),\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n ...data,\n })\n ), slot\n ? slot(scope)\n : [this.genName(eventSummary)]\n )\n },\n genName (eventSummary: () => string): VNode {\n return this.$createElement('div', {\n staticClass: 'pl-1',\n domProps: {\n innerHTML: eventSummary(),\n },\n })\n },\n genPlaceholder (day: CalendarTimestamp): VNode {\n const height = this.eventHeight + this.eventMarginBottom\n\n return this.$createElement('div', {\n style: {\n height: `${height}px`,\n },\n attrs: {\n 'data-date': day.date,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n genMore (day: CalendarDaySlotScope): VNode {\n const eventHeight = this.eventHeight\n const eventMarginBottom = this.eventMarginBottom\n\n return this.$createElement('div', {\n staticClass: 'v-event-more pl-1',\n class: {\n 'v-outside': day.outside,\n },\n attrs: {\n 'data-date': day.date,\n 'data-more': 1,\n },\n directives: [{\n name: 'ripple',\n value: this.eventRipple ?? true,\n }],\n on: {\n click: (e: MouseEvent) => this.$emit('click:more', day, e),\n },\n style: {\n display: 'none',\n height: `${eventHeight}px`,\n 'margin-bottom': `${eventMarginBottom}px`,\n },\n ref: 'events',\n refInFor: true,\n })\n },\n getVisibleEvents (): CalendarEventParsed[] {\n const start = getDayIdentifier(this.days[0])\n const end = getDayIdentifier(this.days[this.days.length - 1])\n\n return this.parsedEvents.filter(\n event => isEventOverlapping(event, start, end)\n )\n },\n isEventForCategory (event: CalendarEventParsed, category: CalendarCategory): boolean {\n return !this.categoryMode ||\n (typeof category === 'object' && category.categoryName &&\n category.categoryName === event.category) ||\n (typeof event.category === 'string' && category === event.category) ||\n (typeof event.category !== 'string' && category === null)\n },\n getEventsForDay (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => isEventStart(event, day, identifier, firstWeekday)\n )\n },\n getEventsForDayAll (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n const firstWeekday = this.eventWeekdays[0]\n\n return this.parsedEvents.filter(\n event => event.allDay &&\n (this.categoryMode ? isEventOn(event, identifier) : isEventStart(event, day, identifier, firstWeekday)) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getEventsForDayTimed (day: CalendarDaySlotScope): CalendarEventParsed[] {\n const identifier = getDayIdentifier(day)\n return this.parsedEvents.filter(\n event => !event.allDay &&\n isEventOn(event, identifier) &&\n this.isEventForCategory(event, day.category)\n )\n },\n getScopedSlots () {\n if (this.noEvents) {\n return { ...this.$scopedSlots }\n }\n\n const mode = this.eventModeFunction(\n this.parsedEvents,\n this.eventWeekdays[0],\n this.parsedEventOverlapThreshold\n )\n\n const isNode = (input: VNode | false): input is VNode => !!input\n const getSlotChildren: VEventsToNodes = (day, getter, mapper, timed) => {\n const events = getter(day)\n const visuals = mode(day, events, timed, this.categoryMode)\n\n if (timed) {\n return visuals.map(visual => mapper(visual, day)).filter(isNode)\n }\n\n const children: VNode[] = []\n\n visuals.forEach((visual, index) => {\n while (children.length < visual.column) {\n children.push(this.genPlaceholder(day))\n }\n\n const mapped = mapper(visual, day)\n if (mapped) {\n children.push(mapped)\n }\n })\n\n return children\n }\n\n const slots = this.$scopedSlots\n const slotDay = slots.day\n const slotDayHeader = slots['day-header']\n const slotDayBody = slots['day-body']\n\n return {\n ...slots,\n day: (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDay, this.genDayEvent, false)\n if (children && children.length > 0 && this.eventMore) {\n children.push(this.genMore(day))\n }\n if (slotDay) {\n const slot = slotDay(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-header': (day: CalendarDaySlotScope) => {\n let children = getSlotChildren(day, this.getEventsForDayAll, this.genDayEvent, false)\n\n if (slotDayHeader) {\n const slot = slotDayHeader(day)\n if (slot) {\n children = children ? children.concat(slot) : slot\n }\n }\n return children\n },\n 'day-body': (day: CalendarDayBodySlotScope) => {\n const events = getSlotChildren(day, this.getEventsForDayTimed, this.genTimedEvent, true)\n let children: VNode[] = [\n this.$createElement('div', {\n staticClass: 'v-event-timed-container',\n }, events),\n ]\n\n if (slotDayBody) {\n const slot = slotDayBody(day)\n if (slot) {\n children = children.concat(slot)\n }\n }\n return children\n },\n }\n },\n },\n})\n"],"sourceRoot":"","file":"calendar-with-events.js"}
@@ -69,7 +69,7 @@ var _default = _vue.default.extend({
69
69
  // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at
70
70
 
71
71
 
72
- if (e instanceof TouchEvent) {
72
+ if (e && 'touches' in e) {
73
73
  var _e$target, _e$target2;
74
74
 
75
75
  var currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n return this.getMouseEventHandlers({\n ['click' + suffix]: { event: 'click' },\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n ['mousedown' + suffix]: { event: 'mousedown' },\n ['mousemove' + suffix]: { event: 'mousemove' },\n ['mouseup' + suffix]: { event: 'mouseup' },\n ['mouseenter' + suffix]: { event: 'mouseenter' },\n ['mouseleave' + suffix]: { event: 'mouseleave' },\n ['touchstart' + suffix]: { event: 'touchstart' },\n ['touchmove' + suffix]: { event: 'touchmove' },\n ['touchend' + suffix]: { event: 'touchend' },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e instanceof TouchEvent) {\n const currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget) &&\n (e.target as HTMLElement)?.className === currentTarget.className\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}
1
+ {"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n return this.getMouseEventHandlers({\n ['click' + suffix]: { event: 'click' },\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n ['mousedown' + suffix]: { event: 'mousedown' },\n ['mousemove' + suffix]: { event: 'mousemove' },\n ['mouseup' + suffix]: { event: 'mouseup' },\n ['mouseenter' + suffix]: { event: 'mouseenter' },\n ['mouseleave' + suffix]: { event: 'mouseleave' },\n ['touchstart' + suffix]: { event: 'touchstart' },\n ['touchmove' + suffix]: { event: 'touchmove' },\n ['touchend' + suffix]: { event: 'touchend' },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const currentTarget = document.elementFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget) &&\n (e.target as HTMLElement)?.className === currentTarget.className\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}
@@ -114,11 +114,6 @@ var _default2 = _VAutocomplete2.default.extend({
114
114
  if (this.getMenuIndex() > -1) return;
115
115
  this.$nextTick(this.updateSelf);
116
116
  },
117
- onFilteredItemsChanged: function onFilteredItemsChanged(val, oldVal) {
118
- if (!this.autoSelectFirst) return;
119
-
120
- _VAutocomplete2.default.options.methods.onFilteredItemsChanged.call(this, val, oldVal);
121
- },
122
117
  onKeyDown: function onKeyDown(e) {
123
118
  var keyCode = e.keyCode;
124
119
 
@@ -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 onFilteredItemsChanged (val: never[], oldVal: never[]) {\n if (!this.autoSelectFirst) return\n\n VAutocomplete.options.methods.onFilteredItemsChanged.call(this, val, oldVal)\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 ?? 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"}
@@ -193,9 +193,11 @@ var _default = baseMixins.extend({
193
193
 
194
194
  this.$nextTick(function () {
195
195
  _this3.$nextTick(function () {
196
- _this3.previousActiveElement = document.activeElement;
196
+ if (!_this3.$refs.content.contains(document.activeElement)) {
197
+ _this3.previousActiveElement = document.activeElement;
197
198
 
198
- _this3.$refs.content.focus();
199
+ _this3.$refs.content.focus();
200
+ }
199
201
 
200
202
  _this3.bind();
201
203
  });