@vuetify/nightly 2.6.7 → 2.6.8-master-20220708.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 (179) hide show
  1. package/CHANGELOG.md +4 -11
  2. package/dist/json/web-types.json +5 -5
  3. package/dist/vuetify.js +308 -224
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +1 -1
  6. package/dist/vuetify.min.js +2 -2
  7. package/es5/components/VAutocomplete/VAutocomplete.js +3 -3
  8. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  9. package/es5/components/VBtn/VBtn.js +2 -2
  10. package/es5/components/VBtn/VBtn.js.map +1 -1
  11. package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -5
  12. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  13. package/es5/components/VCalendar/mixins/mouse.js +4 -4
  14. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  15. package/es5/components/VCombobox/VCombobox.js +2 -2
  16. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  17. package/es5/components/VDataIterator/VDataFooter.js +5 -2
  18. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  19. package/es5/components/VDataTable/Row.js +2 -2
  20. package/es5/components/VDataTable/Row.js.map +1 -1
  21. package/es5/components/VDataTable/VDataTable.js +54 -43
  22. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  23. package/es5/components/VDataTable/mixins/header.js +4 -3
  24. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  25. package/es5/components/VDatePicker/VDatePicker.js +2 -1
  26. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  27. package/es5/components/VDialog/VDialog.js +13 -15
  28. package/es5/components/VDialog/VDialog.js.map +1 -1
  29. package/es5/components/VItemGroup/VItemGroup.js +4 -2
  30. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  31. package/es5/components/VMenu/VMenu.js +2 -2
  32. package/es5/components/VMenu/VMenu.js.map +1 -1
  33. package/es5/components/VOtpInput/VOtpInput.js +8 -7
  34. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  35. package/es5/components/VRadioGroup/VRadio.js +2 -1
  36. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  37. package/es5/components/VRangeSlider/VRangeSlider.js +4 -3
  38. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  39. package/es5/components/VSelect/VSelect.js +8 -8
  40. package/es5/components/VSelect/VSelect.js.map +1 -1
  41. package/es5/components/VSelect/VSelectList.js +2 -1
  42. package/es5/components/VSelect/VSelectList.js.map +1 -1
  43. package/es5/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  44. package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  45. package/es5/components/VSlideGroup/VSlideGroup.js +4 -4
  46. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  47. package/es5/components/VSlider/VSlider.js +8 -11
  48. package/es5/components/VSlider/VSlider.js.map +1 -1
  49. package/es5/components/VSparkline/VSparkline.js +2 -1
  50. package/es5/components/VSparkline/VSparkline.js.map +1 -1
  51. package/es5/components/VTextField/VTextField.js +5 -5
  52. package/es5/components/VTextField/VTextField.js.map +1 -1
  53. package/es5/components/VTextarea/VTextarea.js +2 -2
  54. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  55. package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
  56. package/es5/components/VTreeview/VTreeview.js +5 -4
  57. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  58. package/es5/components/VTreeview/VTreeviewNode.js +2 -1
  59. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  60. package/es5/components/VWindow/VWindow.js +5 -6
  61. package/es5/components/VWindow/VWindow.js.map +1 -1
  62. package/es5/directives/click-outside/index.js +2 -2
  63. package/es5/directives/click-outside/index.js.map +1 -1
  64. package/es5/directives/intersect/index.js +5 -5
  65. package/es5/directives/intersect/index.js.map +1 -1
  66. package/es5/directives/mutate/index.js +2 -2
  67. package/es5/directives/mutate/index.js.map +1 -1
  68. package/es5/directives/resize/index.js +2 -2
  69. package/es5/directives/resize/index.js.map +1 -1
  70. package/es5/directives/scroll/index.js +2 -2
  71. package/es5/directives/scroll/index.js.map +1 -1
  72. package/es5/framework.js +1 -1
  73. package/es5/mixins/activatable/index.js +1 -3
  74. package/es5/mixins/activatable/index.js.map +1 -1
  75. package/es5/mixins/binds-attrs/index.js.map +1 -1
  76. package/es5/mixins/overlayable/index.js +1 -1
  77. package/es5/mixins/overlayable/index.js.map +1 -1
  78. package/es5/mixins/routable/index.js +2 -2
  79. package/es5/mixins/routable/index.js.map +1 -1
  80. package/es5/util/helpers.js +1 -1
  81. package/es5/util/helpers.js.map +1 -1
  82. package/lib/components/VAutocomplete/VAutocomplete.js +3 -3
  83. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  84. package/lib/components/VBtn/VBtn.js +2 -2
  85. package/lib/components/VBtn/VBtn.js.map +1 -1
  86. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -4
  87. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  88. package/lib/components/VCalendar/mixins/mouse.js +4 -4
  89. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  90. package/lib/components/VCombobox/VCombobox.js +2 -2
  91. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  92. package/lib/components/VDataIterator/VDataFooter.js +5 -2
  93. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  94. package/lib/components/VDataTable/Row.js +2 -2
  95. package/lib/components/VDataTable/Row.js.map +1 -1
  96. package/lib/components/VDataTable/VDataTable.js +15 -5
  97. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  98. package/lib/components/VDataTable/mixins/header.js +2 -2
  99. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  100. package/lib/components/VDatePicker/VDatePicker.js +2 -1
  101. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  102. package/lib/components/VDialog/VDialog.js +11 -13
  103. package/lib/components/VDialog/VDialog.js.map +1 -1
  104. package/lib/components/VItemGroup/VItemGroup.js +2 -2
  105. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  106. package/lib/components/VMenu/VMenu.js +2 -2
  107. package/lib/components/VMenu/VMenu.js.map +1 -1
  108. package/lib/components/VOtpInput/VOtpInput.js +8 -7
  109. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  110. package/lib/components/VRadioGroup/VRadio.js +2 -1
  111. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  112. package/lib/components/VRangeSlider/VRangeSlider.js +2 -2
  113. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  114. package/lib/components/VSelect/VSelect.js +8 -8
  115. package/lib/components/VSelect/VSelect.js.map +1 -1
  116. package/lib/components/VSelect/VSelectList.js +2 -1
  117. package/lib/components/VSelect/VSelectList.js.map +1 -1
  118. package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
  119. package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
  120. package/lib/components/VSlideGroup/VSlideGroup.js +4 -4
  121. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  122. package/lib/components/VSlider/VSlider.js +6 -11
  123. package/lib/components/VSlider/VSlider.js.map +1 -1
  124. package/lib/components/VSparkline/VSparkline.js +2 -1
  125. package/lib/components/VSparkline/VSparkline.js.map +1 -1
  126. package/lib/components/VTextField/VTextField.js +5 -5
  127. package/lib/components/VTextField/VTextField.js.map +1 -1
  128. package/lib/components/VTextarea/VTextarea.js +2 -2
  129. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  130. package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
  131. package/lib/components/VTreeview/VTreeview.js +5 -4
  132. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  133. package/lib/components/VTreeview/VTreeviewNode.js +2 -1
  134. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  135. package/lib/components/VWindow/VWindow.js +3 -3
  136. package/lib/components/VWindow/VWindow.js.map +1 -1
  137. package/lib/directives/click-outside/index.js +2 -2
  138. package/lib/directives/click-outside/index.js.map +1 -1
  139. package/lib/directives/intersect/index.js +4 -4
  140. package/lib/directives/intersect/index.js.map +1 -1
  141. package/lib/directives/mutate/index.js +2 -2
  142. package/lib/directives/mutate/index.js.map +1 -1
  143. package/lib/directives/resize/index.js +2 -2
  144. package/lib/directives/resize/index.js.map +1 -1
  145. package/lib/directives/scroll/index.js +2 -2
  146. package/lib/directives/scroll/index.js.map +1 -1
  147. package/lib/framework.js +1 -1
  148. package/lib/mixins/activatable/index.js +1 -3
  149. package/lib/mixins/activatable/index.js.map +1 -1
  150. package/lib/mixins/binds-attrs/index.js.map +1 -1
  151. package/lib/mixins/overlayable/index.js +1 -1
  152. package/lib/mixins/overlayable/index.js.map +1 -1
  153. package/lib/mixins/routable/index.js +4 -3
  154. package/lib/mixins/routable/index.js.map +1 -1
  155. package/lib/util/helpers.js +1 -1
  156. package/lib/util/helpers.js.map +1 -1
  157. package/package.json +1 -1
  158. package/src/components/VDataTable/VDataTable.ts +4 -1
  159. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +14 -14
  160. package/src/components/VDatePicker/VDatePicker.ts +1 -1
  161. package/src/components/VItemGroup/VItemGroup.ts +2 -2
  162. package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +29 -0
  163. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +14 -10
  164. package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +2 -2
  165. package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +2 -2
  166. package/src/components/VSlideGroup/VSlideGroup.ts +1 -1
  167. package/src/components/VSlider/VSlider.ts +1 -7
  168. package/src/components/VSlider/__tests__/VSlider.spec.ts +3 -2
  169. package/src/components/VTimePicker/VTimePicker.ts +1 -1
  170. package/src/globals.d.ts +6 -6
  171. package/src/mixins/applicationable/__tests__/applicationable.spec.ts +1 -1
  172. package/src/mixins/binds-attrs/index.ts +2 -2
  173. package/src/mixins/overlayable/index.ts +7 -7
  174. package/src/util/helpers.ts +2 -2
  175. package/es5/util/component.js +0 -11
  176. package/es5/util/component.js.map +0 -1
  177. package/lib/util/component.js +0 -4
  178. package/lib/util/component.js.map +0 -1
  179. package/src/util/component.ts +0 -21
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/activatable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Mixins\nimport Delayable from '../delayable'\nimport Toggleable from '../toggleable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { getSlot, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode, PropType } from 'vue'\n\ntype Listeners = Dictionary<(e: MouseEvent & KeyboardEvent & FocusEvent) => void>\n\nconst baseMixins = mixins(\n Delayable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'activatable',\n\n props: {\n activator: {\n default: null as unknown as PropType<string | HTMLElement | VNode | Element | null>,\n validator: (val: string | object) => {\n return ['string', 'object'].includes(typeof val)\n },\n },\n disabled: Boolean,\n internalActivator: Boolean,\n openOnClick: {\n type: Boolean,\n default: true,\n },\n openOnHover: Boolean,\n openOnFocus: Boolean,\n },\n\n data: () => ({\n // Do not use this directly, call getActivator() instead\n activatorElement: null as HTMLElement | null,\n activatorNode: [] as VNode[],\n events: ['click', 'mouseenter', 'mouseleave', 'focus'],\n listeners: {} as Listeners,\n }),\n\n watch: {\n activator: 'resetActivator',\n openOnFocus: 'resetActivator',\n openOnHover: 'resetActivator',\n },\n\n mounted () {\n const slotType = getSlotType(this, 'activator', true)\n\n if (slotType && ['v-slot', 'normal'].includes(slotType)) {\n consoleError(`The activator slot must be bound, try '<template v-slot:activator=\"{ on }\"><v-btn v-on=\"on\">'`, this)\n }\n\n this.addActivatorEvents()\n },\n\n beforeDestroy () {\n this.removeActivatorEvents()\n },\n\n methods: {\n addActivatorEvents () {\n if (\n !this.activator ||\n this.disabled ||\n !this.getActivator()\n ) return\n\n this.listeners = this.genActivatorListeners()\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n this.getActivator()!.addEventListener(key, this.listeners[key] as any)\n }\n },\n genActivator () {\n const node = getSlot(this, 'activator', Object.assign(this.getValueProxy(), {\n on: this.genActivatorListeners(),\n attrs: this.genActivatorAttributes(),\n })) || []\n\n this.activatorNode = node\n\n return node\n },\n genActivatorAttributes () {\n return {\n role: (this.openOnClick && !this.openOnHover) ? 'button' : undefined,\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genActivatorListeners () {\n if (this.disabled) return {}\n\n const listeners: Listeners = {}\n\n if (this.openOnHover) {\n listeners.mouseenter = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.mouseleave = (e: MouseEvent) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n } else if (this.openOnClick) {\n listeners.click = (e: MouseEvent) => {\n const activator = this.getActivator(e)\n if (activator) activator.focus()\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n if (this.openOnFocus) {\n listeners.focus = (e: FocusEvent) => {\n this.getActivator(e)\n\n e.stopPropagation()\n\n this.isActive = !this.isActive\n }\n }\n\n return listeners\n },\n getActivator (e?: Event): HTMLElement | null {\n // If we've already fetched the activator, re-use\n if (this.activatorElement) return this.activatorElement\n\n let activator = null\n\n if (this.activator) {\n const target = this.internalActivator ? this.$el : document\n\n if (typeof this.activator === 'string') {\n // Selector\n activator = target.querySelector(this.activator)\n } else if ((this.activator as any).$el) {\n // Component (ref)\n activator = (this.activator as any).$el\n } else {\n // HTMLElement | Element\n activator = this.activator\n }\n } else if (this.activatorNode.length === 1 || (this.activatorNode.length && !e)) {\n // Use the contents of the activator slot\n // There's either only one element in it or we\n // don't have a click event to use as a last resort\n const vm = this.activatorNode[0].componentInstance\n if (\n vm &&\n vm.$options.mixins && // Activatable is indirectly used via Menuable\n vm.$options.mixins.some((m: any) => m.options && ['activatable', 'menuable'].includes(m.options.name))\n ) {\n // Activator is actually another activatible component, use its activator (#8846)\n activator = (vm as any).getActivator()\n } else {\n activator = this.activatorNode[0].elm as HTMLElement\n }\n } else if (e) {\n // Activated by a click or focus event\n activator = (e.currentTarget || e.target) as HTMLElement\n }\n\n // The activator should only be a valid element (Ignore comments and text nodes)\n this.activatorElement = activator?.nodeType === Node.ELEMENT_NODE ? activator : null\n\n return this.activatorElement\n },\n getContentSlot () {\n return getSlot(this, 'default', this.getValueProxy(), true)\n },\n getValueProxy (): object {\n const self = this\n return {\n get value () {\n return self.isActive\n },\n set value (isActive: boolean) {\n self.isActive = isActive\n },\n }\n },\n removeActivatorEvents () {\n if (\n !this.activator ||\n !this.activatorElement\n ) return\n\n const keys = Object.keys(this.listeners)\n\n for (const key of keys) {\n (this.activatorElement as any).removeEventListener(key, this.listeners[key])\n }\n\n this.listeners = {}\n },\n resetActivator () {\n this.removeActivatorEvents()\n this.activatorElement = null\n this.getActivator()\n this.addActivatorEvents()\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,aAAK,OAAL,CAAa,KAAK,KAAL,CAAW,QAAX,CAAb,EAAmC,IAAnC;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,IAAL,CAAU,KAAK,KAAL,CAAW,QAAX,CAAV,EAAgC,KAAhC,EAAsC,GAAG,CAAC,KAAD,CAAzC;AACD;AACF,GATD;AAUD;;eAEc,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADkB;AAMxB,EAAA,OANwB,qBAMjB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAXuB,CAAX,C","sourcesContent":["import Vue, { WatchHandler } from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & WatchHandler<any> {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/binds-attrs/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;;;AAEA;;;AAGG;AAEH,SAAS,WAAT,CAAsB,QAAtB,EAAsC;AACpC,SAAO,UAAqB,GAArB,EAA0B,MAA1B,EAAgC;AACrC,SAAK,IAAM,IAAX,IAAmB,MAAnB,EAA2B;AACzB,UAAI,CAAC,MAAM,CAAC,SAAP,CAAiB,cAAjB,CAAgC,IAAhC,CAAqC,GAArC,EAA0C,IAA1C,CAAL,EAAsD;AACpD,aAAK,OAAL,CAAa,KAAK,KAAL,CAAW,QAAX,CAAb,EAAmC,IAAnC;AACD;AACF;;AACD,SAAK,IAAM,KAAX,IAAmB,GAAnB,EAAwB;AACtB,WAAK,IAAL,CAAU,KAAK,KAAL,CAAW,QAAX,CAAV,EAAgC,KAAhC,EAAsC,GAAG,CAAC,KAAD,CAAzC;AACD;AACF,GATD;AAUD;;eAEc,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,MAAM,EAAE,EADG;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GADkB;AAMxB,EAAA,OANwB,qBAMjB;AACL;AACA;AACA,SAAK,MAAL,CAAY,QAAZ,EAAsB,WAAW,CAAC,QAAD,CAAjC,EAA6C;AAAE,MAAA,SAAS,EAAE;AAAb,KAA7C;AACA,SAAK,MAAL,CAAY,YAAZ,EAA0B,WAAW,CAAC,YAAD,CAArC,EAAqD;AAAE,MAAA,SAAS,EAAE;AAAb,KAArD;AACD;AAXuB,CAAX,C","sourcesContent":["import Vue from 'vue'\n\n/**\n * This mixin provides `attrs$` and `listeners$` to work around\n * vue bug https://github.com/vuejs/vue/issues/10115\n */\n\nfunction makeWatcher (property: string): ThisType<Vue> & ((val: any, oldVal: any) => void) {\n return function (this: Vue, val, oldVal) {\n for (const attr in oldVal) {\n if (!Object.prototype.hasOwnProperty.call(val, attr)) {\n this.$delete(this.$data[property], attr)\n }\n }\n for (const attr in val) {\n this.$set(this.$data[property], attr, val[attr])\n }\n }\n}\n\nexport default Vue.extend({\n data: () => ({\n attrs$: {} as Dictionary<string>,\n listeners$: {} as Dictionary<Function | Function[]>,\n }),\n\n created () {\n // Work around unwanted re-renders: https://github.com/vuejs/vue/issues/10115\n // Make sure to use `attrs$` instead of `$attrs` (confusing right?)\n this.$watch('$attrs', makeWatcher('attrs$'), { immediate: true })\n this.$watch('$listeners', makeWatcher('listeners$'), { immediate: true })\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -101,7 +101,7 @@ var _default = _vue.default.extend().extend({
101
101
  showScroll && this.showScroll();
102
102
  },
103
103
  scrollListener: function scrollListener(e) {
104
- if (e.type === 'keydown') {
104
+ if ('key' in e) {
105
105
  if (['INPUT', 'TEXTAREA', 'SELECT'].includes(e.target.tagName) || // https://github.com/vuetifyjs/vuetify/issues/4715
106
106
  e.target.isContentEditable) return;
107
107
  var up = [_helpers.keyCodes.up, _helpers.keyCodes.pageup];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent & KeyboardEvent) {\n if (e.type === 'keydown') {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener as EventHandlerNonNull, { passive: false })\n window.addEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener as EventHandlerNonNull)\n window.removeEventListener('keydown', this.scrollListener as EventHandlerNonNull)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/overlayable/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VOverlay from '../../components/VOverlay'\n\n// Utilities\nimport {\n keyCodes,\n addOnceEventListener,\n addPassiveEventListener,\n getZIndex,\n composedPath,\n} from '../../util/helpers'\n\n// Types\nimport Vue from 'vue'\n\ninterface Toggleable extends Vue {\n isActive?: boolean\n}\n\ninterface Stackable extends Vue {\n activeZIndex: number\n}\n\ninterface options {\n absolute?: boolean\n $refs: {\n dialog?: HTMLElement\n content?: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default Vue.extend<Vue & Toggleable & Stackable & options>().extend({\n name: 'overlayable',\n\n props: {\n hideOverlay: Boolean,\n overlayColor: String,\n overlayOpacity: [Number, String],\n },\n\n data () {\n return {\n animationFrame: 0,\n overlay: null as InstanceType<typeof VOverlay> | null,\n }\n },\n\n watch: {\n hideOverlay (value) {\n if (!this.isActive) return\n\n if (value) this.removeOverlay()\n else this.genOverlay()\n },\n },\n\n beforeDestroy () {\n this.removeOverlay()\n },\n\n methods: {\n createOverlay () {\n const overlay = new VOverlay({\n propsData: {\n absolute: this.absolute,\n value: false,\n color: this.overlayColor,\n opacity: this.overlayOpacity,\n },\n })\n\n overlay.$mount()\n\n const parent = this.absolute\n ? this.$el.parentNode\n : document.querySelector('[data-app]')\n\n parent && parent.insertBefore(overlay.$el, parent.firstChild)\n\n this.overlay = overlay\n },\n genOverlay () {\n this.hideScroll()\n\n if (this.hideOverlay) return\n\n if (!this.overlay) this.createOverlay()\n\n this.animationFrame = requestAnimationFrame(() => {\n if (!this.overlay) return\n\n if (this.activeZIndex !== undefined) {\n this.overlay.zIndex = String(this.activeZIndex - 1)\n } else if (this.$el) {\n this.overlay.zIndex = getZIndex(this.$el)\n }\n\n this.overlay.value = true\n })\n\n return true\n },\n /** removeOverlay(false) will not restore the scollbar afterwards */\n removeOverlay (showScroll = true) {\n if (this.overlay) {\n addOnceEventListener(this.overlay.$el, 'transitionend', () => {\n if (\n !this.overlay ||\n !this.overlay.$el ||\n !this.overlay.$el.parentNode ||\n this.overlay.value ||\n this.isActive\n ) return\n\n this.overlay.$el.parentNode.removeChild(this.overlay.$el)\n this.overlay.$destroy()\n this.overlay = null\n })\n\n // Cancel animation frame in case\n // overlay is removed before it\n // has finished its animation\n cancelAnimationFrame(this.animationFrame)\n\n this.overlay.value = false\n }\n\n showScroll && this.showScroll()\n },\n scrollListener (e: WheelEvent | KeyboardEvent) {\n if ('key' in e) {\n if (\n ['INPUT', 'TEXTAREA', 'SELECT'].includes((e.target as Element).tagName) ||\n // https://github.com/vuetifyjs/vuetify/issues/4715\n (e.target as HTMLElement).isContentEditable\n ) return\n\n const up = [keyCodes.up, keyCodes.pageup]\n const down = [keyCodes.down, keyCodes.pagedown]\n\n if (up.includes(e.keyCode)) {\n (e as any).deltaY = -1\n } else if (down.includes(e.keyCode)) {\n (e as any).deltaY = 1\n } else {\n return\n }\n }\n\n if (e.target === this.overlay ||\n (e.type !== 'keydown' && e.target === document.body) ||\n this.checkPath(e as WheelEvent)) e.preventDefault()\n },\n hasScrollbar (el?: Element) {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return false\n\n const style = window.getComputedStyle(el)\n return ((['auto', 'scroll'].includes(style.overflowY!) || el.tagName === 'SELECT') && el.scrollHeight > el.clientHeight) ||\n ((['auto', 'scroll'].includes(style.overflowX!)) && el.scrollWidth > el.clientWidth)\n },\n shouldScroll (el: Element, e: WheelEvent): boolean {\n if (el.hasAttribute('data-app')) return false\n\n const dir = e.shiftKey || e.deltaX ? 'x' : 'y'\n const delta = dir === 'y' ? e.deltaY : e.deltaX || e.deltaY\n\n let alreadyAtStart: boolean\n let alreadyAtEnd: boolean\n if (dir === 'y') {\n alreadyAtStart = el.scrollTop === 0\n alreadyAtEnd = el.scrollTop + el.clientHeight === el.scrollHeight\n } else {\n alreadyAtStart = el.scrollLeft === 0\n alreadyAtEnd = el.scrollLeft + el.clientWidth === el.scrollWidth\n }\n\n const scrollingUp = delta < 0\n const scrollingDown = delta > 0\n\n if (!alreadyAtStart && scrollingUp) return true\n if (!alreadyAtEnd && scrollingDown) return true\n if ((alreadyAtStart || alreadyAtEnd)) {\n return this.shouldScroll(el.parentNode as Element, e)\n }\n\n return false\n },\n isInside (el: Element, parent: Element): boolean {\n if (el === parent) {\n return true\n } else if (el === null || el === document.body) {\n return false\n } else {\n return this.isInside(el.parentNode as Element, parent)\n }\n },\n checkPath (e: WheelEvent) {\n const path = composedPath(e)\n\n if (e.type === 'keydown' && path[0] === document.body) {\n const dialog = this.$refs.dialog\n // getSelection returns null in firefox in some edge cases, can be ignored\n const selected = window.getSelection()!.anchorNode as Element\n if (dialog && this.hasScrollbar(dialog) && this.isInside(selected, dialog)) {\n return !this.shouldScroll(dialog, e)\n }\n return true\n }\n\n for (let index = 0; index < path.length; index++) {\n const el = path[index]\n\n if (el === document) return true\n if (el === document.documentElement) return true\n if (el === this.$refs.content) return true\n\n if (this.hasScrollbar(el as Element)) return !this.shouldScroll(el as Element, e)\n }\n\n return true\n },\n hideScroll () {\n if (this.$vuetify.breakpoint.smAndDown) {\n document.documentElement!.classList.add('overflow-y-hidden')\n } else {\n addPassiveEventListener(window, 'wheel', this.scrollListener, { passive: false })\n window.addEventListener('keydown', this.scrollListener)\n }\n },\n showScroll () {\n document.documentElement!.classList.remove('overflow-y-hidden')\n window.removeEventListener('wheel', this.scrollListener)\n window.removeEventListener('keydown', this.scrollListener)\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -61,9 +61,9 @@ var _default = _vue.default.extend({
61
61
  return classes;
62
62
  },
63
63
  computedRipple: function computedRipple() {
64
- var _this$ripple;
64
+ var _a;
65
65
 
66
- return (_this$ripple = this.ripple) != null ? _this$ripple : !this.disabled && this.isClickable;
66
+ return (_a = this.ripple) !== null && _a !== void 0 ? _a : !this.disabled && this.isClickable;
67
67
  },
68
68
  isClickable: function isClickable() {
69
69
  if (this.disabled) return false;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;;;;;;;;;eAEe,aAAI,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,UADkB;AAGxB,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAHY;AAOxB,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAJF;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,gBAAgB,EAAE,MATb;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CAXD;AAYL,IAAA,EAAE,EAAE,CAAC,MAAD,EAAS,MAAT,CAZC;AAaL,IAAA,IAAI,EAAE,OAbD;AAcL,IAAA,OAAO,EAAE,OAdJ;AAeL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAfH;AAmBL,IAAA,GAAG,EAAE,MAnBA;AAoBL,IAAA,MAAM,EAAE;AApBH,GAPiB;AA8BxB,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE,KADC;AAEX,MAAA,UAAU,EAAE;AAFD,KAAP;AAAA,GA9BkB;AAmCxB,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,UAAM,OAAO,GAA4B,EAAzC;AAEA,UAAI,KAAK,EAAT,EAAa,OAAO,OAAP;AAEb,UAAI,KAAK,WAAT,EAAsB,OAAO,CAAC,KAAK,WAAN,CAAP,GAA4B,KAAK,QAAjC;AACtB,UAAI,KAAK,UAAT,EAAqB,OAAO,CAAC,KAAK,UAAN,CAAP,GAA2B,KAAK,QAAhC;AAErB,aAAO,OAAP;AACD,KAVO;AAWR,IAAA,cAXQ,4BAWM;;;AACZ,aAAO,CAAA,EAAA,GAAA,KAAK,MAAL,MAAW,IAAX,IAAW,EAAA,KAAA,KAAA,CAAX,GAAW,EAAX,GAAgB,CAAC,KAAK,QAAN,IAAkB,KAAK,WAA9C;AACD,KAbO;AAcR,IAAA,WAdQ,yBAcG;AACT,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAP;AAEnB,aAAO,OAAO,CACZ,KAAK,MAAL,IACA,KAAK,UAAL,CAAgB,KADhB,IAEA,KAAK,UAAL,CAAgB,QAAhB,CAFA,IAGA,KAAK,MAAL,CAAY,QAJA,CAAd;AAMD,KAvBO;AAwBR,IAAA,MAxBQ,oBAwBF;AACJ,aAAO,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,KAAK,IAApC;AACD,KA1BO;AA2BR,IAAA,MAAM,EAAE;AAAA,aAAO,EAAP;AAAA;AA3BA,GAnCc;AAiExB,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AADH,GAjEiB;AAqExB,EAAA,OArEwB,qBAqEjB;AACL,SAAK,aAAL;AACD,GAvEuB;AAyExB,EAAA,OAAO,EAAE;AACP,IAAA,iBADO,+BACU;AAAA;;AACf,UAAI,KAAK,GAAG,KAAK,KAAjB;AACA,UAAI,GAAJ;AAEA,UAAM,IAAI;AACR,QAAA,KAAK,EAAE;AACL,UAAA,QAAQ,EAAE,cAAc,KAAK,MAAnB,GAA4B,KAAK,MAAL,CAAY,QAAxC,GAAmD;AADxD,SADC;AAIR,QAAA,KAAK,EAAE,KAAK,OAJJ;AAKR,QAAA,KAAK,EAAE,KAAK,MALJ;AAMR,QAAA,KAAK,EAAE,EANC;AAOR,QAAA,UAAU,EAAE,CAAC;AACX,UAAA,IAAI,EAAE,QADK;AAEX,UAAA,KAAK,EAAE,KAAK;AAFD,SAAD;AAPJ,gCAWP,KAAK,EAAL,GAAU,UAAV,GAAuB,IAXhB,kCAYH,KAAK,UAZF,GAaF,WAAW,IAAX,GAAkB;AAAE,QAAA,KAAK,EAAG,KAAa;AAAvB,OAAlB,GAAmD,SAbjD,kCAeH,MAfG,SAAV;;AAkBA,UAAI,OAAO,KAAK,KAAZ,KAAsB,WAA1B,EAAuC;AACrC,QAAA,KAAK,GAAG,KAAK,EAAL,KAAY,GAAZ,IACL,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CAAlB,IAA+B,KAAK,EAAL,CAAQ,IAAR,KAAiB,GADnD;AAED;;AAED,UAAI,KAAK,EAAT,EAAa;AACX;AACA;AACA,YAAI,WAAW,GAAG,KAAK,WAAvB;AACA,YAAI,gBAAgB,GAAG,KAAK,gBAAL,IAAyB,WAAhD;;AAEA,YAAI,KAAK,UAAT,EAAqB;AACnB,UAAA,WAAW,GAAG,UAAG,WAAH,cAAkB,KAAK,UAAvB,EAAoC,IAApC,EAAd;AACA,UAAA,gBAAgB,GAAG,UAAG,gBAAH,cAAuB,KAAK,UAA5B,EAAyC,IAAzC,EAAnB;AACD;;AAED,QAAA,GAAG,GAAG,KAAK,IAAL,GAAY,WAAZ,GAA0B,aAAhC;AACA,QAAA,MAAM,CAAC,MAAP,CAAc,IAAI,CAAC,KAAnB,EAA0B;AACxB,UAAA,EAAE,EAAE,KAAK,EADe;AAExB,UAAA,KAAK,EAAL,KAFwB;AAGxB,UAAA,SAAS,EAAE,KAAK,SAHQ;AAIxB,UAAA,WAAW,EAAX,WAJwB;AAKxB,UAAA,gBAAgB,EAAhB,gBALwB;AAMxB,UAAA,MAAM,EAAE,KAAK,MANW;AAOxB,UAAA,OAAO,EAAE,KAAK;AAPU,SAA1B;AASD,OArBD,MAqBO;AACL,QAAA,GAAG,GAAI,KAAK,IAAL,IAAa,GAAd,IAAsB,KAAK,GAA3B,IAAkC,KAAxC;AAEA,YAAI,GAAG,KAAK,GAAR,IAAe,KAAK,IAAxB,EAA8B,IAAI,CAAC,KAAL,CAAY,IAAZ,GAAmB,KAAK,IAAxB;AAC/B;;AAED,UAAI,KAAK,MAAT,EAAiB,IAAI,CAAC,KAAL,CAAY,MAAZ,GAAqB,KAAK,MAA1B;AAEjB,aAAO;AAAE,QAAA,GAAG,EAAH,GAAF;AAAO,QAAA,IAAI,EAAJ;AAAP,OAAP;AACD,KA1DM;AA2DP,IAAA,aA3DO,2BA2DM;AAAA;;AACX,UAAI,CAAC,KAAK,EAAN,IAAY,CAAC,KAAK,KAAL,CAAW,IAAxB,IAAgC,CAAC,KAAK,MAA1C,EAAkD;AAClD,UAAM,WAAW,GAAG,UAAG,KAAK,WAAL,IAAoB,EAAvB,cAA6B,KAAK,UAAL,IAAmB,EAAhD,EAAqD,IAArD,EAApB;AACA,UAAM,gBAAgB,GAAG,UAAG,KAAK,gBAAL,IAAyB,EAA5B,cAAkC,KAAK,UAAL,IAAmB,EAArD,EAA0D,IAA1D,MAAoE,WAA7F;AAEA,UAAM,IAAI,GAAG,wBAAwB,KAAK,KAAL,GAAa,gBAAb,GAAgC,WAAxD,CAAb;AAEA,WAAK,SAAL,CAAe,YAAK;AAClB;AACA,YAAI,CAAC,mCAAqB,KAAI,CAAC,KAAL,CAAW,IAAhC,EAAsC,IAAtC,CAAD,KAAiD,KAAI,CAAC,QAA1D,EAAoE;AAClE,UAAA,KAAI,CAAC,MAAL;AACD;AACF,OALD;AAMD,KAxEM;AAyEP,IAAA,MAzEO,oBAyED;AACJ,WAAK,QAAL,GAAgB,CAAC,KAAK,QAAtB;AACD;AA3EM;AAzEe,CAAX,C","sourcesContent":["import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
@@ -356,7 +356,7 @@ function groupItems(items, groupBy, groupDesc) {
356
356
  if (current !== val) {
357
357
  current = val;
358
358
  groups.push({
359
- name: val != null ? val : '',
359
+ name: val !== null && val !== void 0 ? val : '',
360
360
  items: []
361
361
  });
362
362
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n })\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: EventHandlerNonNull | (() => void),\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n if (vm.$scopedSlots.hasOwnProperty(name)) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n"],"sourceRoot":"","file":"helpers.js"}
1
+ {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return Vue.extend({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj[path] !== undefined) return obj[path]\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nconst tagsToReplace = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n if (vm.$scopedSlots.hasOwnProperty(name)) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n"],"sourceRoot":"","file":"helpers.js"}
@@ -386,13 +386,13 @@ export default VSelect.extend({
386
386
  },
387
387
 
388
388
  onCopy(event) {
389
- var _event$clipboardData, _event$clipboardData2;
389
+ var _a, _b;
390
390
 
391
391
  if (this.selectedIndex === -1) return;
392
392
  const currentItem = this.selectedItems[this.selectedIndex];
393
393
  const currentItemText = this.getText(currentItem);
394
- (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.setData('text/plain', currentItemText);
395
- (_event$clipboardData2 = event.clipboardData) == null ? void 0 : _event$clipboardData2.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);
394
+ (_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.setData('text/plain', currentItemText);
395
+ (_b = event.clipboardData) === null || _b === void 0 ? void 0 : _b.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText);
396
396
  event.preventDefault();
397
397
  }
398
398
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VAutocomplete/VAutocomplete.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,0DAAP,C,CAEA;;AACA,OAAO,OAAP,IAAkB,gBAAgB,IAAI,gBAAtC,QAA8D,oBAA9D;AACA,OAAO,UAAP,MAAuB,0BAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,sBAAtB;AACA,SACE,oBADF,EAEE,mBAFF,EAGE,QAHF,QAIO,oBAJP;AAUA,MAAM,gBAAgB,GAAG,EACvB,GAAG,gBADoB;AAEvB,EAAA,OAAO,EAAE,IAFc;AAGvB,EAAA,cAAc,EAAE,IAHO;AAIvB,EAAA,UAAU,EAAE;AAJW,CAAzB;AAOA;;AACA,eAAe,OAAO,CAAC,MAAR,CAAe;AAC5B,EAAA,IAAI,EAAE,gBADsB;AAG5B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE;AACb,MAAA,IAAI,EAAE,OADO;AAEb,MAAA,OAAO,EAAE;AAFI,KADV;AAKL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,OADS;AAEf,MAAA,OAAO,EAAE;AAFM,KALZ;AASL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,QADA;AAEN,MAAA,OAAO,EAAE,CAAC,IAAD,EAAY,SAAZ,EAA+B,QAA/B,KAAmD;AAC1D,eAAO,QAAQ,CAAC,iBAAT,GAA6B,OAA7B,CAAqC,SAAS,CAAC,iBAAV,EAArC,IAAsE,CAAC,CAA9E;AACD;AAJK,KATH;AAeL,IAAA,UAAU,EAAE,OAfP;AAgBL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,OAAO,CAAC,OAAR,CAAgB,KAAhB,CAAsB,SAAtB,CAAgC,IAD7B;AAET,MAAA,OAAO,EAAE,MAAM;AAFN,KAhBN;AAoBL,IAAA,QAAQ,EAAE,OApBL;AAqBL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE;AADK;AArBR,GAHqB;;AA6B5B,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,UAAU,EAAE,KAAK;AADZ,KAAP;AAGD,GAjC2B;;AAmC5B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,OAAzB,CAAiC,IAAjC,CAAsC,IAAtC,CADE;AAEL,0BAAkB,IAFb;AAGL,8CAAsC,KAAK,aAAL,GAAqB,CAAC;AAHvD,OAAP;AAKD,KAPO;;AAQR,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,aAAZ;AACD,KAVO;;AAWR,IAAA,cAAc,GAAA;AACZ,aAAO,KAAK,aAAL,CAAmB,GAAnB,CAAuB,IAAI,IAAI,KAAK,QAAL,CAAc,IAAd,CAA/B,CAAP;AACD,KAbO;;AAcR,IAAA,iBAAiB,GAAA;AACf,aAAO,KAAK,YAAL,GACH,KAAK,aAAL,CAAmB,IAAnB,CAAwB,IAAI,IAAI,CAAC,KAAK,OAAL,CAAa,IAAb,CAAjC,CADG,GAEH,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAFhC;AAGD,KAlBO;;AAmBR,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,YAAL,IAAqB,IAAzB,EAA+B,OAAO,CAAP;AAE/B,aAAO,MAAM,CAAC,KAAK,OAAL,CAAa,KAAK,YAAlB,CAAD,CAAN,CAAwC,MAA/C;AACD,KAvBO;;AAwBR,IAAA,aAAa,GAAA;AACX,UAAI,CAAC,KAAK,WAAN,IAAqB,KAAK,QAA1B,IAAsC,KAAK,cAAL,IAAuB,IAAjE,EAAuE,OAAO,KAAK,QAAZ;AAEvE,aAAO,KAAK,QAAL,CAAc,MAAd,CAAqB,IAAI,IAAG;AACjC,cAAM,KAAK,GAAG,mBAAmB,CAAC,IAAD,EAAO,KAAK,QAAZ,CAAjC;AACA,cAAM,IAAI,GAAG,KAAK,IAAI,IAAT,GAAgB,MAAM,CAAC,KAAD,CAAtB,GAAgC,EAA7C;AAEA,eAAO,KAAK,MAAL,CAAY,IAAZ,EAAkB,MAAM,CAAC,KAAK,cAAN,CAAxB,EAA+C,IAA/C,CAAP;AACD,OALM,CAAP;AAMD,KAjCO;;AAkCR,IAAA,cAAc,EAAE;AACd,MAAA,GAAG,GAAA;AACD,eAAO,KAAK,UAAZ;AACD,OAHa;;AAId,MAAA,GAAG,CAAE,GAAF,EAAU;AACX;AACA;AACA,YAAI,KAAK,UAAL,KAAoB,GAAxB,EAA6B;AAC3B,eAAK,UAAL,GAAkB,GAAlB;AACA,eAAK,KAAL,CAAW,qBAAX,EAAkC,GAAlC;AACD;AACF;;AAXa,KAlCR;;AA+CR,IAAA,iBAAiB,GAAA;AACf,aAAO,KAAP;AACD,KAjDO;;AAkDR,IAAA,OAAO,GAAA;AACL,aAAO,KAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAzD;AACD,KApDO;;AAqDR,IAAA,WAAW,GAAA;AACT,aACE,KAAK,QAAL,IACA,KAAK,aAFA,IAIL,KAAK,aAAL,IACA,KAAK,cAAL,KAAwB,KAAK,OAAL,CAAa,KAAK,YAAlB,CAL1B;AAOD,KA7DO;;AA8DR,IAAA,WAAW,GAAA;AACT,UAAI,CAAC,KAAK,SAAV,EAAqB,OAAO,KAAP;AAErB,aAAO,KAAK,iBAAL,IAA0B,CAAC,KAAK,UAAvC;AACD,KAlEO;;AAmER,IAAA,WAAW,GAAA;AACT,YAAM,KAAK,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,WAAzB,CAAqC,IAArC,CAA0C,IAA1C,CAAd;AACC,MAAA,KAAa,CAAC,YAAd,GAA6B,2BAA4B,KAAa,CAAC,YAAd,IAA8B,EAAE,EAA5D,CAA+D,IAA/D,EAA7B;AACD,aAAO,EACL,GAAG,gBADE;AAEL,WAAG;AAFE,OAAP;AAID,KA1EO;;AA2ER,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,cAAL,IAAuB,IAAvB,IACL,KAAK,cAAL,KAAwB,EAD1B;AAED,KA9EO;;AA+ER,IAAA,YAAY,GAAA;AACV,UAAI,KAAK,QAAT,EAAmB,OAAO,IAAP;AAEnB,aAAO,KAAK,aAAL,CAAmB,IAAnB,CAAwB,CAAC,IAAG;AACjC,eAAO,KAAK,eAAL,CAAqB,KAAK,QAAL,CAAc,CAAd,CAArB,EAAuC,KAAK,QAAL,CAAc,KAAK,aAAnB,CAAvC,CAAP;AACD,OAFM,CAAP;AAGD,KArFO;;AAsFR,IAAA,QAAQ,GAAA;AACN,YAAM,IAAI,GAAG,OAAO,CAAC,OAAR,CAAgB,QAAhB,CAAyB,QAAzB,CAAkC,IAAlC,CAAuC,IAAvC,CAAb;AAEA,MAAA,IAAI,CAAC,KAAL,GAAa,EACX,GAAG,IAAI,CAAC,KADG;AAEX,QAAA,KAAK,EAAE,KAAK,gBAFD;AAGX,QAAA,QAAQ,EACN,KAAK,QAAL,IACA,CAAC,KAAK,WADN,IAEA,CAAC,KAAK,aAAL,CAAmB,MANX;AAQX,QAAA,WAAW,EAAE,KAAK;AARP,OAAb;AAWA,aAAO,IAAP;AACD;;AArGO,GAnCkB;AA2I5B,EAAA,KAAK,EAAE;AACL,IAAA,aAAa,EAAE,wBADV;AAEL,IAAA,aAAa,EAAE,WAFV;;AAGL,IAAA,SAAS,CAAE,GAAF,EAAK;AACZ,UAAI,GAAJ,EAAS;AACP,QAAA,QAAQ,CAAC,gBAAT,CAA0B,MAA1B,EAAkC,KAAK,MAAvC;AACA,aAAK,KAAL,CAAW,KAAX,IAAoB,KAAK,KAAL,CAAW,KAAX,CAAiB,MAAjB,EAApB;AACD,OAHD,MAGO;AACL,QAAA,QAAQ,CAAC,mBAAT,CAA6B,MAA7B,EAAqC,KAAK,MAA1C;AACA,aAAK,IAAL;AACA,aAAK,UAAL;AACD;AACF,KAZI;;AAaL,IAAA,YAAY,CAAE,GAAF,EAAK;AACf,UAAI,GAAG,IAAI,CAAC,KAAK,OAAjB,EAA0B;AAE1B,WAAK,UAAL,GAAkB,IAAlB;AACD,KAjBI;;AAkBL,IAAA,KAAK,CAAE,GAAF,EAAO,MAAP,EAAa;AAChB;AACA;AACA;AACA;AACA;AACA,UACE,EAAE,MAAM,IAAI,MAAM,CAAC,MAAnB,KACA,KAAK,UADL,IAEA,KAAK,SAFL,IAGA,CAAC,KAAK,YAHN,IAIA,GAAG,CAAC,MALN,EAME,KAAK,YAAL;AACH,KA/BI;;AAgCL,IAAA,WAAW,CAAE,GAAF,EAAa;AACtB,WAAK,UAAL,GAAkB,GAAlB;AACD,KAlCI;;AAmCL,IAAA,cAAc,EAAE,yBAnCX;AAoCL,IAAA,QAAQ,EAAE;AApCL,GA3IqB;;AAkL5B,EAAA,OAAO,GAAA;AACL,SAAK,SAAL;AACD,GApL2B;;AAsL5B,EAAA,SAAS,GAAA;AACP,IAAA,QAAQ,CAAC,mBAAT,CAA6B,MAA7B,EAAqC,KAAK,MAA1C;AACD,GAxL2B;;AA0L5B,EAAA,OAAO,EAAE;AACP,IAAA,sBAAsB,CAAE,GAAF,EAAgB,MAAhB,EAA+B;AACnD;AACA;AACA,UAAI,GAAG,KAAK,MAAZ,EAAoB;;AAEpB,UAAI,CAAC,KAAK,eAAV,EAA2B;AACzB,cAAM,eAAe,GAAG,MAAM,CAAC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAjB,CAA9B;;AAEA,YAAI,eAAJ,EAAqB;AACnB,eAAK,YAAL,CAAkB,GAAG,CAAC,SAAJ,CAAc,CAAC,IAAI,CAAC,KAAK,eAAzB,CAAlB;AACD,SAFD,MAEO;AACL,eAAK,YAAL,CAAkB,CAAC,CAAnB;AACD;;AACD,aAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAhD;AACD;;AAED,WAAK,SAAL,CAAe,MAAK;AAClB,YACE,CAAC,KAAK,cAAN,IACC,GAAG,CAAC,MAAJ,KAAe,CAAf,IACC,CAAC,KAAK,eAHV,EAIE;AAEF,aAAK,KAAL,CAAW,IAAX,CAAgB,QAAhB;;AAEA,YAAI,KAAK,eAAL,IAAwB,GAAG,CAAC,MAAhC,EAAwC;AACtC,eAAK,YAAL,CAAkB,CAAlB;AACA,eAAK,KAAL,CAAW,mBAAX,EAAgC,KAAK,KAAL,CAAW,IAAX,CAAgB,SAAhD;AACD;AACF,OAbD;AAcD,KA/BM;;AAgCP,IAAA,uBAAuB,GAAA;AACrB,WAAK,oBAAL;AACD,KAlCM;;AAmCP,IAAA,oBAAoB,GAAA;AAClB;AACA,WAAK,YAAL,IAAqB,KAAK,KAAL,CAAW,IAAhC,IAAwC,KAAK,KAAL,CAAW,IAAX,CAAgB,gBAAhB,EAAxC;AACD,KAtCM;;AAuCP,IAAA,mBAAmB,CAAE,OAAF,EAAiB;AAClC;AACA;AACA,UAAI,KAAK,aAAT,EAAwB;;AAExB,UAAI,KAAK,QAAL,IAAiB,OAAO,KAAK,QAAQ,CAAC,IAA1C,EAAgD;AAC9C,YAAI,KAAK,aAAL,KAAuB,CAAC,CAA5B,EAA+B;AAC7B,eAAK,aAAL,GAAqB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAjD;AACD,SAFD,MAEO;AACL,eAAK,aAAL;AACD;AACF,OAND,MAMO,IAAI,KAAK,QAAL,IAAiB,OAAO,KAAK,QAAQ,CAAC,KAA1C,EAAiD;AACtD,YAAI,KAAK,aAAL,IAAsB,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAAtD,EAAyD;AACvD,eAAK,aAAL,GAAqB,CAAC,CAAtB;AACD,SAFD,MAEO;AACL,eAAK,aAAL;AACD;AACF,OANM,MAMA,IAAI,OAAO,KAAK,QAAQ,CAAC,SAArB,IAAkC,OAAO,KAAK,QAAQ,CAAC,MAA3D,EAAmE;AACxE,aAAK,iBAAL;AACD;AACF,KA3DM;;AA4DP,IAAA,iBAAiB,GAAA;AACf,YAAM,QAAQ,GAAG,KAAK,aAAtB;AACA,YAAM,OAAO,GAAG,KAAK,aAAL,CAAmB,QAAnB,CAAhB,CAFe,CAIf;;AACA,UACE,CAAC,KAAK,aAAN,IACA,KAAK,WAAL,CAAiB,OAAjB,CAFF,EAGE;AAEF,YAAM,SAAS,GAAG,KAAK,aAAL,CAAmB,MAAnB,GAA4B,CAA9C,CAVe,CAYf;AACA;;AACA,UACE,KAAK,aAAL,KAAuB,CAAC,CAAxB,IACA,SAAS,KAAK,CAFhB,EAGE;AACA,aAAK,aAAL,GAAqB,SAArB;AAEA;AACD;;AAED,YAAM,MAAM,GAAG,KAAK,aAAL,CAAmB,MAAlC;AACA,YAAM,SAAS,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAtB,GACd,QADc,GAEd,QAAQ,GAAG,CAFf;AAGA,YAAM,QAAQ,GAAG,KAAK,aAAL,CAAmB,SAAnB,CAAjB;;AAEA,UAAI,CAAC,QAAL,EAAe;AACb,aAAK,QAAL,CAAc,KAAK,QAAL,GAAgB,EAAhB,GAAqB,IAAnC;AACD,OAFD,MAEO;AACL,aAAK,UAAL,CAAgB,OAAhB;AACD;;AAED,WAAK,aAAL,GAAqB,SAArB;AACD,KAhGM;;AAiGP,IAAA,iBAAiB,GAAA;AACf,WAAK,cAAL,GAAsB,IAAtB;AAEA,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,iBAAxB,CAA0C,IAA1C,CAA+C,IAA/C;AACD,KArGM;;AAsGP,IAAA,QAAQ,GAAA;AACN,YAAM,KAAK,GAAG,UAAU,CAAC,OAAX,CAAmB,OAAnB,CAA2B,QAA3B,CAAoC,IAApC,CAAyC,IAAzC,CAAd;AAEA,MAAA,KAAK,CAAC,IAAN,GAAa,SAAS,CAAC,KAAK,CAAC,IAAP,EAAc;AAClC,QAAA,KAAK,EAAE;AACL,mCAAyB,oBAAoB,CAAC,KAAK,KAAL,CAAW,IAAZ,EAAkB,eAAlB,CADxC;AAEL,UAAA,YAAY,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAP,EAAc,oBAAd,EAAoC,KAApC;AAF7B,SAD2B;AAKlC,QAAA,QAAQ,EAAE;AAAE,UAAA,KAAK,EAAE,KAAK;AAAd;AALwB,OAAd,CAAtB;AAQA,aAAO,KAAP;AACD,KAlHM;;AAmHP,IAAA,YAAY,GAAA;AACV,YAAM,IAAI,GAAG,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,YAAxB,CAAqC,IAArC,CAA0C,IAA1C,CAAb;AAEA,MAAA,IAAI,CAAC,IAAL,CAAW,KAAX,CAAkB,IAAlB,GAAyB,UAAzB;AAEA,aAAO,IAAP;AACD,KAzHM;;AA0HP,IAAA,aAAa,GAAA;AACX,aAAO,KAAK,OAAL,IAAgB,KAAK,QAArB,GACH,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,aAAxB,CAAsC,IAAtC,CAA2C,IAA3C,CADG,GAEH,EAFJ;AAGD,KA9HM;;AA+HP,IAAA,OAAO,CAAE,CAAF,EAAe;AACpB,UAAI,CAAC,KAAK,aAAV,EAAyB;AAEzB,WAAK,aAAL,GAAqB,CAAC,CAAtB,GACK,KAAK,aAAL,GAAqB,CAAC,CAD3B,GAEI,KAAK,OAAL,EAFJ;AAIA,UAAI,CAAC,KAAK,aAAL,CAAmB,CAAC,CAAC,MAArB,CAAL,EAAmC,KAAK,YAAL;AACpC,KAvIM;;AAwIP,IAAA,OAAO,CAAE,CAAF,EAAU;AACf,UACE,KAAK,aAAL,GAAqB,CAAC,CAAtB,IACA,CAAC,CAAC,CAAC,MAFL,EAGE;AAEF,YAAM,MAAM,GAAG,CAAC,CAAC,MAAjB;AACA,YAAM,KAAK,GAAG,MAAM,CAAC,KAArB,CAPe,CASf;;AACA,UAAI,MAAM,CAAC,KAAX,EAAkB,KAAK,YAAL;AAElB,UAAI,CAAC,KAAK,QAAN,IAAkB,KAAK,KAAK,EAAhC,EAAoC,KAAK,iBAAL;AAEpC,WAAK,cAAL,GAAsB,KAAtB;AACA,WAAK,QAAL,GAAgB,MAAM,CAAC,QAAP,IAAmB,MAAM,CAAC,QAAP,CAAgB,QAAnD;AACD,KAxJM;;AAyJP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,YAAM,OAAO,GAAG,CAAC,CAAC,OAAlB;;AAEA,UACE,CAAC,CAAC,OAAF,IACA,CAAC,CAAC,QAAQ,CAAC,IAAV,EAAgB,QAAQ,CAAC,GAAzB,EAA8B,QAA9B,CAAuC,OAAvC,CAFH,EAGE;AACA,QAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,SAAxB,CAAkC,IAAlC,CAAuC,IAAvC,EAA6C,CAA7C;AACD,OARwB,CAUzB;AACA;AACA;AACA;;;AACA,WAAK,mBAAL,CAAyB,OAAzB;AACD,KAxKM;;AAyKP,IAAA,WAAW,CAAE,CAAF,EAAkB,CAAgB,CAzKtC;;AA0KP,IAAA,SAAS,CAAE,CAAF,EAAkB;AACzB,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,SAAxB,CAAkC,IAAlC,CAAuC,IAAvC,EAA6C,CAA7C;AACA,WAAK,UAAL;AACD,KA7KM;;AA8KP,IAAA,QAAQ,CAAE,CAAF,EAAU;AAChB;AACA,MAAA,CAAC,CAAC,cAAF,GAFgB,CAIhB;AACA;AACA;;AACA,WAAK,YAAL;AACD,KAtLM;;AAuLP,IAAA,UAAU,CAAE,IAAF,EAAc;AACtB,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,UAAxB,CAAmC,IAAnC,CAAwC,IAAxC,EAA8C,IAA9C;AACA,WAAK,SAAL;AACD,KA1LM;;AA2LP,IAAA,gBAAgB,GAAA;AACd,MAAA,OAAO,CAAC,OAAR,CAAgB,OAAhB,CAAwB,gBAAxB,CAAyC,IAAzC,CAA8C,IAA9C,EADc,CAGd;AACA;;AACA,UAAI,CAAC,KAAK,SAAV,EAAqB,KAAK,SAAL;AACtB,KAjMM;;AAkMP,IAAA,SAAS,GAAA;AACP;AACA;AACA,WAAK,SAAL,CAAe,MAAK;AAClB,YACE,CAAC,KAAK,QAAN,IACA,CAAC,KAAK,cADN,IAEA,CAAC,KAAK,YAHR,EAIE;AACA,eAAK,cAAL,GACE,CAAC,KAAK,aAAL,CAAmB,MAApB,IACA,KAAK,QADL,IAEA,KAAK,OAHe,GAKlB,IALkB,GAMlB,KAAK,OAAL,CAAa,KAAK,YAAlB,CANJ;AAOD;AACF,OAdD;AAeD,KApNM;;AAqNP,IAAA,UAAU,GAAA;AACR,UACE,CAAC,KAAK,aAAN,IACA,CAAC,KAAK,aAFR,EAGE;;AAEF,UACE,CAAC,KAAK,QAAN,IACA,CAAC,KAAK,eAAL,CACC,KAAK,cADN,EAEC,KAAK,QAAL,CAAc,KAAK,aAAnB,CAFD,CAFH,EAME;AACA,aAAK,SAAL;AACD;AACF,KApOM;;AAqOP,IAAA,OAAO,CAAE,IAAF,EAAW;AAChB,aAAO,KAAK,cAAL,CAAoB,OAApB,CAA4B,KAAK,QAAL,CAAc,IAAd,CAA5B,IAAmD,CAAC,CAA3D;AACD,KAvOM;;AAwOP,IAAA,MAAM,CAAE,KAAF,EAAuB;AAAA;;AAC3B,UAAI,KAAK,aAAL,KAAuB,CAAC,CAA5B,EAA+B;AAE/B,YAAM,WAAW,GAAG,KAAK,aAAL,CAAmB,KAAK,aAAxB,CAApB;AACA,YAAM,eAAe,GAAG,KAAK,OAAL,CAAa,WAAb,CAAxB;AACA,8BAAA,KAAK,CAAC,aAAN,0CAAqB,OAArB,CAA6B,YAA7B,EAA2C,eAA3C;AACA,+BAAA,KAAK,CAAC,aAAN,2CAAqB,OAArB,CAA6B,0CAA7B,EAAyE,eAAzE;AACA,MAAA,KAAK,CAAC,cAAN;AACD;;AAhPM;AA1LmB,CAAf,CAAf","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"}
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"}
@@ -91,12 +91,12 @@ export default baseMixins.extend().extend({
91
91
  },
92
92
 
93
93
  computedRipple() {
94
- var _this$ripple;
94
+ var _a;
95
95
 
96
96
  const defaultRipple = this.icon || this.fab ? {
97
97
  circle: true
98
98
  } : true;
99
- if (this.disabled) return false;else return (_this$ripple = this.ripple) != null ? _this$ripple : defaultRipple;
99
+ if (this.disabled) return false;else return (_a = this.ripple) !== null && _a !== void 0 ? _a : defaultRipple;
100
100
  },
101
101
 
102
102
  hasBg() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VBtn/VBtn.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator<string>,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n"],"sourceRoot":"","file":"VBtn.js"}
1
+ {"version":3,"sources":["../../../src/components/VBtn/VBtn.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator<string>,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType<any>,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, this.$slots.default)\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, this.$slots.loader || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n"],"sourceRoot":"","file":"VBtn.js"}
@@ -248,7 +248,7 @@ export default CalendarBase.extend({
248
248
  },
249
249
 
250
250
  genEvent(event, scopeInput, timedEvent, data) {
251
- var _this$eventRipple;
251
+ var _a;
252
252
 
253
253
  const slot = this.$scopedSlots.event;
254
254
  const text = this.eventTextColorFunction(event.input);
@@ -293,7 +293,7 @@ export default CalendarBase.extend({
293
293
  })),
294
294
  directives: [{
295
295
  name: 'ripple',
296
- value: (_this$eventRipple = this.eventRipple) != null ? _this$eventRipple : true
296
+ value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
297
297
  }],
298
298
  ...data
299
299
  })), slot ? slot(scope) : [this.genName(eventSummary)]);
@@ -323,7 +323,7 @@ export default CalendarBase.extend({
323
323
  },
324
324
 
325
325
  genMore(day) {
326
- var _this$eventRipple2;
326
+ var _a;
327
327
 
328
328
  const eventHeight = this.eventHeight;
329
329
  const eventMarginBottom = this.eventMarginBottom;
@@ -338,7 +338,7 @@ export default CalendarBase.extend({
338
338
  },
339
339
  directives: [{
340
340
  name: 'ripple',
341
- value: (_this$eventRipple2 = this.eventRipple) != null ? _this$eventRipple2 : true
341
+ value: (_a = this.eventRipple) !== null && _a !== void 0 ? _a : true
342
342
  }],
343
343
  on: this.getDefaultMouseEventHandlers(':more', nativeEvent => {
344
344
  return {