vuetify 2.5.8 → 2.5.12

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 (183) hide show
  1. package/dist/json/attributes.json +58 -66
  2. package/dist/json/tags.json +0 -2
  3. package/dist/json/web-types.json +89 -146
  4. package/dist/vuetify.css +37 -54
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +322 -135
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAppBar/VAppBar.js +3 -0
  11. package/es5/components/VAppBar/VAppBar.js.map +1 -1
  12. package/es5/components/VAutocomplete/VAutocomplete.js +21 -3
  13. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  14. package/es5/components/VCalendar/mixins/mouse.js +19 -0
  15. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  16. package/es5/components/VCalendar/util/timestamp.js +2 -2
  17. package/es5/components/VCalendar/util/timestamp.js.map +1 -1
  18. package/es5/components/VCombobox/VCombobox.js +0 -5
  19. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  20. package/es5/components/VDataTable/VDataTableHeaderMobile.js +2 -2
  21. package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  22. package/es5/components/VDialog/VDialog.js +4 -2
  23. package/es5/components/VDialog/VDialog.js.map +1 -1
  24. package/es5/components/VFileInput/VFileInput.js +1 -1
  25. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  26. package/es5/components/VList/VListItem.js +7 -0
  27. package/es5/components/VList/VListItem.js.map +1 -1
  28. package/es5/components/VMenu/VMenu.js +18 -1
  29. package/es5/components/VMenu/VMenu.js.map +1 -1
  30. package/es5/components/VSelect/VSelect.js +16 -8
  31. package/es5/components/VSelect/VSelect.js.map +1 -1
  32. package/es5/components/VSlideGroup/VSlideGroup.js +93 -37
  33. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  34. package/es5/components/VSlider/VSlider.js +5 -4
  35. package/es5/components/VSlider/VSlider.js.map +1 -1
  36. package/es5/components/VTabs/VTab.js +9 -1
  37. package/es5/components/VTabs/VTab.js.map +1 -1
  38. package/es5/components/VTabs/VTabsBar.js +1 -1
  39. package/es5/components/VTabs/VTabsBar.js.map +1 -1
  40. package/es5/components/VTextarea/VTextarea.js +11 -2
  41. package/es5/components/VTextarea/VTextarea.js.map +1 -1
  42. package/es5/components/VTooltip/VTooltip.js +2 -5
  43. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  44. package/es5/components/VTreeview/VTreeview.js +1 -1
  45. package/es5/components/VTreeview/VTreeview.js.map +1 -1
  46. package/es5/components/transitions/createTransition.js +19 -3
  47. package/es5/components/transitions/createTransition.js.map +1 -1
  48. package/es5/directives/click-outside/index.js +3 -3
  49. package/es5/directives/click-outside/index.js.map +1 -1
  50. package/es5/directives/ripple/index.js +2 -3
  51. package/es5/directives/ripple/index.js.map +1 -1
  52. package/es5/framework.js +1 -1
  53. package/es5/locale/cs.js +3 -3
  54. package/es5/locale/cs.js.map +1 -1
  55. package/es5/locale/es.js +2 -2
  56. package/es5/locale/es.js.map +1 -1
  57. package/es5/locale/fr.js +1 -1
  58. package/es5/locale/fr.js.map +1 -1
  59. package/es5/mixins/detachable/index.js +32 -14
  60. package/es5/mixins/detachable/index.js.map +1 -1
  61. package/es5/mixins/menuable/index.js +5 -5
  62. package/es5/mixins/menuable/index.js.map +1 -1
  63. package/es5/mixins/overlayable/index.js +1 -24
  64. package/es5/mixins/overlayable/index.js.map +1 -1
  65. package/es5/mixins/routable/index.js +9 -3
  66. package/es5/mixins/routable/index.js.map +1 -1
  67. package/es5/services/goto/index.js +3 -1
  68. package/es5/services/goto/index.js.map +1 -1
  69. package/es5/util/helpers.js +23 -0
  70. package/es5/util/helpers.js.map +1 -1
  71. package/lib/components/VAppBar/VAppBar.js +4 -0
  72. package/lib/components/VAppBar/VAppBar.js.map +1 -1
  73. package/lib/components/VAutocomplete/VAutocomplete.js +19 -3
  74. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  75. package/lib/components/VCalendar/mixins/mouse.js +19 -0
  76. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  77. package/lib/components/VCalendar/util/timestamp.js +2 -2
  78. package/lib/components/VCalendar/util/timestamp.js.map +1 -1
  79. package/lib/components/VCombobox/VCombobox.js +0 -5
  80. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  81. package/lib/components/VDataTable/VDataTableHeaderMobile.js +2 -2
  82. package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
  83. package/lib/components/VDialog/VDialog.js +5 -2
  84. package/lib/components/VDialog/VDialog.js.map +1 -1
  85. package/lib/components/VFileInput/VFileInput.js +1 -1
  86. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  87. package/lib/components/VList/VListItem.js +8 -0
  88. package/lib/components/VList/VListItem.js.map +1 -1
  89. package/lib/components/VMenu/VMenu.js +17 -1
  90. package/lib/components/VMenu/VMenu.js.map +1 -1
  91. package/lib/components/VSelect/VSelect.js +12 -6
  92. package/lib/components/VSelect/VSelect.js.map +1 -1
  93. package/lib/components/VSlideGroup/VSlideGroup.js +63 -40
  94. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  95. package/lib/components/VSlider/VSlider.js +4 -4
  96. package/lib/components/VSlider/VSlider.js.map +1 -1
  97. package/lib/components/VTabs/VTab.js +9 -1
  98. package/lib/components/VTabs/VTab.js.map +1 -1
  99. package/lib/components/VTabs/VTabsBar.js +1 -1
  100. package/lib/components/VTabs/VTabsBar.js.map +1 -1
  101. package/lib/components/VTextarea/VTextarea.js +8 -0
  102. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  103. package/lib/components/VTooltip/VTooltip.js +2 -5
  104. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  105. package/lib/components/VTreeview/VTreeview.js +1 -1
  106. package/lib/components/VTreeview/VTreeview.js.map +1 -1
  107. package/lib/components/transitions/createTransition.js +5 -3
  108. package/lib/components/transitions/createTransition.js.map +1 -1
  109. package/lib/directives/click-outside/index.js +3 -3
  110. package/lib/directives/click-outside/index.js.map +1 -1
  111. package/lib/directives/ripple/index.js +2 -3
  112. package/lib/directives/ripple/index.js.map +1 -1
  113. package/lib/framework.js +1 -1
  114. package/lib/locale/cs.js +3 -3
  115. package/lib/locale/cs.js.map +1 -1
  116. package/lib/locale/es.js +2 -2
  117. package/lib/locale/es.js.map +1 -1
  118. package/lib/locale/fr.js +1 -1
  119. package/lib/locale/fr.js.map +1 -1
  120. package/lib/mixins/detachable/index.js +28 -13
  121. package/lib/mixins/detachable/index.js.map +1 -1
  122. package/lib/mixins/menuable/index.js +4 -4
  123. package/lib/mixins/menuable/index.js.map +1 -1
  124. package/lib/mixins/overlayable/index.js +2 -25
  125. package/lib/mixins/overlayable/index.js.map +1 -1
  126. package/lib/mixins/routable/index.js +12 -3
  127. package/lib/mixins/routable/index.js.map +1 -1
  128. package/lib/services/goto/index.js +3 -1
  129. package/lib/services/goto/index.js.map +1 -1
  130. package/lib/util/helpers.js +21 -0
  131. package/lib/util/helpers.js.map +1 -1
  132. package/package.json +2 -3
  133. package/src/components/VAppBar/VAppBar.ts +3 -0
  134. package/src/components/VAutocomplete/VAutocomplete.ts +16 -3
  135. package/src/components/VCalendar/mixins/mouse.ts +21 -0
  136. package/src/components/VCalendar/util/__tests__/events.spec.ts +1 -1
  137. package/src/components/VCalendar/util/timestamp.ts +2 -2
  138. package/src/components/VChip/VChip.sass +0 -5
  139. package/src/components/VCombobox/VCombobox.ts +0 -5
  140. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  141. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +30 -0
  142. package/src/components/VDataTable/VDataTableHeaderMobile.ts +3 -1
  143. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +0 -20
  144. package/src/components/VDialog/VDialog.ts +4 -2
  145. package/src/components/VFileInput/VFileInput.ts +1 -1
  146. package/src/components/VIcon/VIcon.sass +2 -2
  147. package/src/components/VList/VListItem.sass +4 -3
  148. package/src/components/VList/VListItem.ts +6 -0
  149. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  150. package/src/components/VMenu/VMenu.ts +17 -1
  151. package/src/components/VSelect/VSelect.ts +10 -8
  152. package/src/components/VSlideGroup/VSlideGroup.ts +75 -35
  153. package/src/components/VSlideGroup/__tests__/VSlideGroup.spec.ts +1 -3
  154. package/src/components/VSlider/VSlider.ts +4 -3
  155. package/src/components/VSnackbar/VSnackbar.sass +2 -0
  156. package/src/components/VStepper/VStepper.sass +5 -1
  157. package/src/components/VStepper/_variables.scss +2 -1
  158. package/src/components/VTabs/VTab.ts +8 -0
  159. package/src/components/VTabs/VTabs.sass +5 -2
  160. package/src/components/VTabs/VTabsBar.ts +2 -2
  161. package/src/components/VTextField/VTextField.sass +3 -3
  162. package/src/components/VTextarea/VTextarea.ts +7 -0
  163. package/src/components/VTooltip/VTooltip.ts +2 -5
  164. package/src/components/VTreeview/VTreeview.ts +1 -1
  165. package/src/components/transitions/createTransition.ts +7 -3
  166. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +4 -4
  167. package/src/directives/click-outside/__tests__/click-outside.spec.ts +4 -4
  168. package/src/directives/click-outside/index.ts +7 -3
  169. package/src/directives/ripple/index.ts +3 -5
  170. package/src/globals.d.ts +1 -0
  171. package/src/locale/cs.ts +3 -3
  172. package/src/locale/es.ts +2 -2
  173. package/src/locale/fr.ts +1 -1
  174. package/src/mixins/detachable/index.ts +32 -15
  175. package/src/mixins/menuable/index.ts +4 -4
  176. package/src/mixins/overlayable/index.ts +2 -24
  177. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  178. package/src/mixins/routable/index.ts +10 -3
  179. package/src/services/goto/index.ts +6 -1
  180. package/src/styles/components/_selection-controls.sass +4 -7
  181. package/src/styles/generic/_transitions.scss +219 -215
  182. package/src/styles/settings/_variables.scss +7 -7
  183. package/src/util/helpers.ts +22 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n return (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n },\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount () {\n this.internalValue = this.value\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n ...this.$attrs,\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
1
+ {"version":3,"sources":["../../../src/components/VSlider/VSlider.ts"],"names":[],"mappings":"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","sourcesContent":["import './VSlider.sass'\n\n// Components\nimport VInput from '../VInput'\nimport { VScaleTransition } from '../transitions'\n\n// Mixins\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers'\nimport { consoleWarn } from '../../util/console'\n\n// Types\nimport Vue, { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { ScopedSlotChildren } from 'vue/types/vnode'\nimport { PropValidator } from 'vue/types/options'\n\ninterface options extends Vue {\n $refs: {\n track: HTMLElement\n }\n}\n\nexport default mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof VInput,\n typeof Loadable\n ]>\n/* eslint-enable indent */\n>(\n VInput,\n Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n\n directives: {\n ClickOutside,\n },\n\n mixins: [Loadable],\n\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100,\n },\n min: {\n type: [Number, String],\n default: 0,\n },\n step: {\n type: [Number, String],\n default: 1,\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String] as PropType<boolean | 'always' | undefined>,\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n thumbSize: {\n type: [Number, String],\n default: 32,\n },\n tickLabels: {\n type: Array,\n default: () => ([]),\n } as PropValidator<string[]>,\n ticks: {\n type: [Boolean, String] as PropType<boolean | 'always'>,\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always',\n },\n tickSize: {\n type: [Number, String],\n default: 2,\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean,\n },\n\n data: () => ({\n app: null as any,\n oldValue: null as any,\n thumbPressed: false,\n mouseTimeout: -1,\n isFocused: false,\n isActive: false,\n noClick: false, // Prevent click event if dragging took place, hack for #7915\n startOffset: 0,\n }),\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel,\n }\n },\n internalValue: {\n get (): number {\n return this.lazyValue\n },\n set (val: number) {\n val = isNaN(val) ? this.minValue : val\n // Round value to ensure the\n // entire slider range can\n // be selected with step\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue))\n\n if (value === this.lazyValue) return\n\n this.lazyValue = value\n\n this.$emit('input', value)\n },\n },\n trackTransition (): string {\n return this.thumbPressed\n ? this.showTicks || this.stepNumeric\n ? '0.1s cubic-bezier(0.25, 0.8, 0.5, 1)'\n : 'none'\n : ''\n },\n minValue (): number {\n return parseFloat(this.min)\n },\n maxValue (): number {\n return parseFloat(this.max)\n },\n stepNumeric (): number {\n return this.step > 0 ? parseFloat(this.step) : 0\n },\n inputWidth (): number {\n const inputWidth = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100\n\n return isNaN(inputWidth) ? 0 : inputWidth\n },\n trackFillStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? 'bottom' : 'left'\n const endDir = this.vertical ? 'top' : 'right'\n const valueDir = this.vertical ? 'height' : 'width'\n\n const start = this.$vuetify.rtl ? 'auto' : '0'\n const end = this.$vuetify.rtl ? '0' : 'auto'\n const value = this.isDisabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value,\n }\n },\n trackStyles (): Partial<CSSStyleDeclaration> {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right'\n const endDir = this.vertical ? 'height' : 'width'\n\n const start = '0px'\n const end = this.isDisabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`\n\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n }\n },\n showTicks (): boolean {\n return this.tickLabels.length > 0 ||\n !!(!this.isDisabled && this.stepNumeric && this.ticks)\n },\n numTicks (): number {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric)\n },\n showThumbLabel (): boolean {\n return !this.isDisabled && !!(\n this.thumbLabel ||\n this.$scopedSlots['thumb-label']\n )\n },\n computedTrackColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackColor) return this.trackColor\n if (this.isDark) return this.validationState\n return this.validationState || 'primary lighten-3'\n },\n computedTrackFillColor (): string | undefined {\n if (this.isDisabled) return undefined\n if (this.trackFillColor) return this.trackFillColor\n return this.validationState || this.computedColor\n },\n computedThumbColor (): string | undefined {\n if (this.thumbColor) return this.thumbColor\n return this.validationState || this.computedColor\n },\n },\n\n watch: {\n min (val) {\n const parsed = parseFloat(val)\n parsed > this.internalValue && this.$emit('input', parsed)\n },\n max (val) {\n const parsed = parseFloat(val)\n parsed < this.internalValue && this.$emit('input', parsed)\n },\n value: {\n handler (v: number) {\n this.internalValue = v\n },\n },\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount () {\n this.internalValue = this.value\n },\n\n mounted () {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') ||\n consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this)\n },\n\n methods: {\n genDefaultSlot (): VNodeChildrenArrayContents {\n const children: VNodeChildrenArrayContents = [this.genLabel()]\n const slider = this.genSlider()\n this.inverseLabel\n ? children.unshift(slider)\n : children.push(slider)\n\n children.push(this.genProgress())\n\n return children\n },\n genSlider (): VNode {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.isDisabled,\n 'v-slider--readonly': this.isReadonly,\n ...this.themeClasses,\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur,\n }],\n on: {\n click: this.onSliderClick,\n mousedown: this.onSliderMouseDown,\n touchstart: this.onSliderMouseDown,\n },\n }, this.genChildren())\n },\n genChildren (): VNodeChildrenArrayContents {\n return [\n this.genInput(),\n this.genTrackContainer(),\n this.genSteps(),\n this.genThumbContainer(\n this.internalValue,\n this.inputWidth,\n this.isActive,\n this.isFocused,\n this.onFocus,\n this.onBlur,\n ),\n ]\n },\n genInput (): VNode {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: true,\n readonly: true,\n tabindex: -1,\n ...this.$attrs,\n },\n // on: this.genListeners(), // TODO: do we need to attach the listeners to input?\n })\n },\n genTrackContainer (): VNode {\n const children = [\n this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles,\n })),\n this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles,\n })),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track',\n }, children)\n },\n genSteps (): VNode | null {\n if (!this.step || !this.showTicks) return null\n\n const tickSize = parseFloat(this.tickSize)\n const range = createRange(this.numTicks + 1)\n const direction = this.vertical ? 'bottom' : (this.$vuetify.rtl ? 'right' : 'left')\n const offsetDirection = this.vertical ? (this.$vuetify.rtl ? 'left' : 'right') : 'top'\n\n if (this.vertical) range.reverse()\n\n const ticks = range.map(index => {\n const children = []\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label',\n }, this.tickLabels[index]))\n }\n\n const width = index * (100 / this.numTicks)\n const filled = this.$vuetify.rtl ? (100 - this.inputWidth) < width : width < this.inputWidth\n\n return this.$createElement('span', {\n key: index,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled,\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`,\n },\n }, children)\n })\n\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0,\n },\n }, ticks)\n },\n genThumbContainer (\n value: number,\n valueWidth: number,\n isActive: boolean,\n isFocused: boolean,\n onFocus: Function,\n onBlur: Function,\n ref = 'thumb'\n ): VNode {\n const children = [this.genThumb()]\n\n const thumbLabelContent = this.genThumbLabelContent(value)\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent))\n\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n key: ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel,\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.isDisabled ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.$attrs['aria-label'] || this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.isReadonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n },\n }), children)\n },\n genThumbLabelContent (value: number | string): ScopedSlotChildren {\n return this.$scopedSlots['thumb-label']\n ? this.$scopedSlots['thumb-label']!({ value })\n : [this.$createElement('span', [String(value)])]\n },\n genThumbLabel (content: ScopedSlotChildren): VNode {\n const size = convertToUnit(this.thumbSize)\n\n const transform = this.vertical\n ? `translateY(20%) translateY(${(Number(this.thumbSize) / 3) - 1}px) translateX(55%) rotate(135deg)`\n : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`\n\n return this.$createElement(VScaleTransition, {\n props: { origin: 'bottom center' },\n }, [\n this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always',\n }],\n }, [\n this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform,\n },\n }), [this.$createElement('div', content)]),\n ]),\n ])\n },\n genThumb (): VNode {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb',\n }))\n },\n getThumbContainerStyles (width: number): object {\n const direction = this.vertical ? 'top' : 'left'\n let value = this.$vuetify.rtl ? 100 - width : width\n value = this.vertical ? 100 - value : value\n\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`,\n }\n },\n onSliderMouseDown (e: MouseEvent | TouchEvent) {\n e.preventDefault()\n\n this.oldValue = this.internalValue\n this.isActive = true\n\n if ((e.target as Element)?.matches('.v-slider__thumb-container, .v-slider__thumb-container *')) {\n this.thumbPressed = true\n const domRect = (e.target as Element).getBoundingClientRect()\n const touch = 'touches' in e ? e.touches[0] : e\n this.startOffset = this.vertical\n ? touch.clientY - (domRect.top + domRect.height / 2)\n : touch.clientX - (domRect.left + domRect.width / 2)\n } else {\n this.startOffset = 0\n window.clearTimeout(this.mouseTimeout)\n this.mouseTimeout = window.setTimeout(() => {\n this.thumbPressed = true\n }, 300)\n }\n\n const mouseUpOptions = passiveSupported ? { passive: true, capture: true } : true\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n\n const isTouchEvent = 'touches' in e\n\n this.onMouseMove(e)\n this.app.addEventListener(isTouchEvent ? 'touchmove' : 'mousemove', this.onMouseMove, mouseMoveOptions)\n addOnceEventListener(this.app, isTouchEvent ? 'touchend' : 'mouseup', this.onSliderMouseUp, mouseUpOptions)\n\n this.$emit('start', this.internalValue)\n },\n onSliderMouseUp (e: Event) {\n e.stopPropagation()\n window.clearTimeout(this.mouseTimeout)\n this.thumbPressed = false\n const mouseMoveOptions = passiveSupported ? { passive: true } : false\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions)\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions)\n\n this.$emit('mouseup', e)\n this.$emit('end', this.internalValue)\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue)\n this.noClick = true\n }\n\n this.isActive = false\n },\n onMouseMove (e: MouseEvent | TouchEvent) {\n if (e.type === 'mousemove') {\n this.thumbPressed = true\n }\n this.internalValue = this.parseMouseMove(e)\n },\n onKeyDown (e: KeyboardEvent) {\n if (!this.isInteractive) return\n\n const value = this.parseKeyDown(e, this.internalValue)\n\n if (\n value == null ||\n value < this.minValue ||\n value > this.maxValue\n ) return\n\n this.internalValue = value\n this.$emit('change', value)\n },\n onSliderClick (e: MouseEvent) {\n if (this.noClick) {\n this.noClick = false\n return\n }\n const thumb = this.$refs.thumb as HTMLElement\n thumb.focus()\n\n this.onMouseMove(e)\n this.$emit('change', this.internalValue)\n },\n onBlur (e: Event) {\n this.isFocused = false\n\n this.$emit('blur', e)\n },\n onFocus (e: Event) {\n this.isFocused = true\n\n this.$emit('focus', e)\n },\n parseMouseMove (e: MouseEvent | TouchEvent) {\n const start = this.vertical ? 'top' : 'left'\n const length = this.vertical ? 'height' : 'width'\n const click = this.vertical ? 'clientY' : 'clientX'\n\n const {\n [start]: trackStart,\n [length]: trackLength,\n } = this.$refs.track.getBoundingClientRect()\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]\n\n // It is possible for left to be NaN, force to number\n let clickPos = Math.min(Math.max((clickOffset - trackStart - this.startOffset) / trackLength, 0), 1) || 0\n\n if (this.vertical) clickPos = 1 - clickPos\n if (this.$vuetify.rtl) clickPos = 1 - clickPos\n\n return parseFloat(this.min) + clickPos * (this.maxValue - this.minValue)\n },\n parseKeyDown (e: KeyboardEvent, value: number) {\n if (!this.isInteractive) return\n\n const { pageup, pagedown, end, home, left, right, down, up } = keyCodes\n\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return\n\n e.preventDefault()\n const step = this.stepNumeric || 1\n const steps = (this.maxValue - this.minValue) / step\n if ([left, right, down, up].includes(e.keyCode)) {\n const increase = this.$vuetify.rtl ? [left, up] : [right, up]\n const direction = increase.includes(e.keyCode) ? 1 : -1\n const multiplier = e.shiftKey ? 3 : (e.ctrlKey ? 2 : 1)\n\n value = value + (direction * step * multiplier)\n } else if (e.keyCode === home) {\n value = this.minValue\n } else if (e.keyCode === end) {\n value = this.maxValue\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1\n value = value - (direction * step * (steps > 100 ? steps / 10 : 10))\n }\n\n return value\n },\n roundValue (value: number): number {\n if (!this.stepNumeric) return value\n // Format input value using the same number\n // of decimals places as in the step prop\n const trimmedStep = this.step.toString().trim()\n const decimals = trimmedStep.indexOf('.') > -1\n ? (trimmedStep.length - trimmedStep.indexOf('.') - 1)\n : 0\n const offset = this.minValue % this.stepNumeric\n\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset\n\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals))\n },\n },\n})\n"],"sourceRoot":"","file":"VSlider.js"}
@@ -64,9 +64,17 @@ var _default = baseMixins.extend().extend().extend({
64
64
  },
65
65
  methods: {
66
66
  click: function click(e) {
67
- // If user provides an
67
+ // Prevent keyboard actions
68
+ // from children elements
69
+ // within disabled tabs
70
+ if (this.disabled) {
71
+ e.preventDefault();
72
+ return;
73
+ } // If user provides an
68
74
  // actual link, do not
69
75
  // prevent default
76
+
77
+
70
78
  if (this.href && this.href.indexOf('#') > -1) e.preventDefault();
71
79
  if (e.detail) this.$el.blur();
72
80
  this.$emit('click', e);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB;AACA;AACA,wBAAiB,SAAjB,CAJiB,EAKjB,kBALiB,CAAnB;;eAYe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AADH,GAHA;AAUP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAVC;AAcP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,iBAAS;AADX,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,2BAAmB,KAAK;AAH1B,SAIK,KAAK,YAJV;AAMD,KARO;AASR,IAAA,KATQ,mBASH;AACH,UAAI,EAAE,GAAG,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;;AAEA,UAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CADpB,EAEE;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,QAAA,EAAE,GAAG,OAAO,CAAC,IAAb;AACD;;AAED,aAAO,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAzBO,GAdH;AA0CP,EAAA,OA1CO,qBA0CA;AACL,SAAK,aAAL;AACD,GA5CM;AA8CP,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC;AACA;AACA;AACA,UAAI,KAAK,IAAL,IACF,KAAK,IAAL,CAAU,OAAV,CAAkB,GAAlB,IAAyB,CAAC,CAD5B,EAEE,CAAC,CAAC,cAAF;AAEF,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD;AAdM,GA9CF;AA+DP,EAAA,MA/DO,kBA+DC,CA/DD,EA+DE;AAAA;;AAAA,gCACe,KAAK,iBAAL,EADf;AAAA,QACC,GADD,yBACC,GADD;AAAA,QACM,IADN,yBACM,IADN;;AAGP,IAAA,IAAI,CAAC,KAAL,mCACK,IAAI,CAAC,KADV;AAEE,uBAAiB,MAAM,CAAC,KAAK,QAAN,CAFzB;AAGE,MAAA,IAAI,EAAE,KAHR;AAIE,MAAA,QAAQ,EAAE;AAJZ;AAMA,IAAA,IAAI,CAAC,EAAL,mCACK,IAAI,CAAC,EADV;AAEE,MAAA,OAAO,EAAE,iBAAC,CAAD,EAAqB;AAC5B,YAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC,KAAI,CAAC,KAAL,CAAW,CAAX;;AAElC,QAAA,KAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AANH;AASA,WAAO,CAAC,CAAC,GAAD,EAAM,IAAN,EAAY,KAAK,MAAL,CAAY,OAAxB,CAAR;AACD;AAlFM,CAFM,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTab.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB;AACA;AACA,wBAAiB,SAAjB,CAJiB,EAKjB,kBALiB,CAAnB;;eAYe,UAAU,CAAC,MAAX,GAA6B,MAA7B,GAEb,MAFa,CAEN;AACP,EAAA,IAAI,EAAE,OADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH;AADH,GAHA;AAUP,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,UAAU,EAAE;AADD,KAAP;AAAA,GAVC;AAcP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL;AACE,iBAAS;AADX,SAEK,kBAAS,OAAT,CAAiB,QAAjB,CAA0B,OAA1B,CAAkC,IAAlC,CAAuC,IAAvC,CAFL;AAGE,2BAAmB,KAAK;AAH1B,SAIK,KAAK,YAJV;AAMD,KARO;AASR,IAAA,KATQ,mBASH;AACH,UAAI,EAAE,GAAG,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,EAAjC;;AAEA,UAAI,KAAK,OAAL,IACF,KAAK,EAAL,KAAY,MAAM,CAAC,KAAK,EAAN,CADpB,EAEE;AACA,YAAM,OAAO,GAAG,KAAK,OAAL,CAAa,OAAb,CACd,KAAK,EADS,EAEd,KAAK,MAFS,EAGd,KAAK,MAHS,CAAhB;AAMA,QAAA,EAAE,GAAG,OAAO,CAAC,IAAb;AACD;;AAED,aAAO,EAAE,CAAC,OAAH,CAAW,GAAX,EAAgB,EAAhB,CAAP;AACD;AAzBO,GAdH;AA0CP,EAAA,OA1CO,qBA0CA;AACL,SAAK,aAAL;AACD,GA5CM;AA8CP,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EAC6B;AAClC;AACA;AACA;AACA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,CAAC,CAAC,cAAF;AACA;AACD,OAPiC,CASlC;AACA;AACA;;;AACA,UAAI,KAAK,IAAL,IACF,KAAK,IAAL,CAAU,OAAV,CAAkB,GAAlB,IAAyB,CAAC,CAD5B,EAEE,CAAC,CAAC,cAAF;AAEF,UAAI,CAAC,CAAC,MAAN,EAAc,KAAK,GAAL,CAAS,IAAT;AAEd,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AAEA,WAAK,EAAL,IAAW,KAAK,MAAL,EAAX;AACD;AAtBM,GA9CF;AAuEP,EAAA,MAvEO,kBAuEC,CAvED,EAuEE;AAAA;;AAAA,gCACe,KAAK,iBAAL,EADf;AAAA,QACC,GADD,yBACC,GADD;AAAA,QACM,IADN,yBACM,IADN;;AAGP,IAAA,IAAI,CAAC,KAAL,mCACK,IAAI,CAAC,KADV;AAEE,uBAAiB,MAAM,CAAC,KAAK,QAAN,CAFzB;AAGE,MAAA,IAAI,EAAE,KAHR;AAIE,MAAA,QAAQ,EAAE;AAJZ;AAMA,IAAA,IAAI,CAAC,EAAL,mCACK,IAAI,CAAC,EADV;AAEE,MAAA,OAAO,EAAE,iBAAC,CAAD,EAAqB;AAC5B,YAAI,CAAC,CAAC,OAAF,KAAc,kBAAS,KAA3B,EAAkC,KAAI,CAAC,KAAL,CAAW,CAAX;;AAElC,QAAA,KAAI,CAAC,KAAL,CAAW,SAAX,EAAsB,CAAtB;AACD;AANH;AASA,WAAO,CAAC,CAAC,GAAD,EAAM,IAAN,EAAY,KAAK,MAAL,CAAY,OAAxB,CAAR;AACD;AA1FM,CAFM,C","sourcesContent":["// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Routable from '../../mixins/routable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { keyCodes } from './../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { ExtractVue } from './../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Routable,\n // Must be after routable\n // to overwrite activeClass\n GroupableFactory('tabsBar'),\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend<options>().extend(\n /* @vue/component */\n).extend({\n name: 'v-tab',\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n data: () => ({\n proxyClass: 'v-tab--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-tab': true,\n ...Routable.options.computed.classes.call(this),\n 'v-tab--disabled': this.disabled,\n ...this.groupClasses,\n }\n },\n value (): any {\n let to = this.to || this.href || ''\n\n if (this.$router &&\n this.to === Object(this.to)\n ) {\n const resolve = this.$router.resolve(\n this.to,\n this.$route,\n this.append\n )\n\n to = resolve.href\n }\n\n return to.replace('#', '')\n },\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n click (e: KeyboardEvent | MouseEvent): void {\n // Prevent keyboard actions\n // from children elements\n // within disabled tabs\n if (this.disabled) {\n e.preventDefault()\n return\n }\n\n // If user provides an\n // actual link, do not\n // prevent default\n if (this.href &&\n this.href.indexOf('#') > -1\n ) e.preventDefault()\n\n if (e.detail) this.$el.blur()\n\n this.$emit('click', e)\n\n this.to || this.toggle()\n },\n },\n\n render (h): VNode {\n const { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n 'aria-selected': String(this.isActive),\n role: 'tab',\n tabindex: 0,\n }\n data.on = {\n ...data.on,\n keydown: (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.enter) this.click(e)\n\n this.$emit('keydown', e)\n },\n }\n\n return h(tag, data, this.$slots.default)\n },\n})\n"],"sourceRoot":"","file":"VTab.js"}
@@ -78,7 +78,7 @@ var _default = (0, _mixins.default)(_VSlideGroup.BaseSlideGroup, _ssrBootable.de
78
78
  try {
79
79
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
80
80
  var item = _step.value;
81
- if (item.to === newPath) hasNew = true;else if (item.to === oldPath) hasOld = true;
81
+ if (item.to === oldPath) hasOld = true;else if (item.to === newPath) hasNew = true;
82
82
  if (hasNew && hasOld) break;
83
83
  } // If we have an old item and not a new one
84
84
  // it's assumed that the user navigated to
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":";;;;;;;AACA;;AAMA;;AACA;;AAGA;;;;;;;;;;;;;;;;eAQe,qBACb,2BADa,EAEb,oBAFa,EAGb;AACA;AAJa,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,OAHO,qBAGA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,4BAAe,OAAf,CAAuB,QAAvB,CAAgC,OAAhC,CAAwC,IAAxC,CAA6C,IAA7C,CADL;AAEE,sBAAc,IAFhB;AAGE,iCAAyB,KAAK,QAHhC;AAIE;AACA,mCAA2B,KAAK;AALlC,SAMK,KAAK,YANV;AAQD;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;AAMP,IAAA,UANO,wBAMG;AACR,UAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,OAAvB,CAA+B,UAA/B,CAA0C,IAA1C,CAA+C,IAA/C,CAAf;;AAEA,MAAA,MAAM,CAAC,IAAP,GAAc,MAAM,CAAC,IAAP,IAAe,EAA7B;AACA,MAAA,MAAM,CAAC,IAAP,CAAY,WAAZ,IAA2B,sBAA3B;AAEA,aAAO,MAAP;AACD,KAbM;AAcP,IAAA,aAdO,yBAcQ,GAdR,EAcoB,MAdpB,EAciC;AACtC;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,UAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,UAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AATsC,iDAWnB,KAXmB;AAAA;;AAAA;AAWtC,4DAA0B;AAAA,cAAf,IAAe;AACxB,cAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,cAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,SAhBqC,CAkBtC;AACA;AACA;;AApBsC;AAAA;AAAA;AAAA;AAAA;;AAqBtC,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;AApCM,GA5BF;AAmEP,EAAA,MAnEO,kBAmEC,CAnED,EAmEE;AACP,QAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,MAAvB,CAA8B,IAA9B,CAAmC,IAAnC,EAAyC,CAAzC,CAAf;;AAEA,IAAA,MAAM,CAAC,IAAP,CAAa,KAAb,GAAqB;AACnB,MAAA,IAAI,EAAE;AADa,KAArB;AAIA,WAAO,MAAP;AACD;AA3EM,CALM,C","sourcesContent":["// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === newPath) hasNew = true\n else if (item.to === oldPath) hasOld = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
1
+ {"version":3,"sources":["../../../src/components/VTabs/VTabsBar.ts"],"names":[],"mappings":";;;;;;;AACA;;AAMA;;AACA;;AAGA;;;;;;;;;;;;;;;;eAQe,qBACb,2BADa,EAEb,oBAFa,EAGb;AACA;AAJa,EAKb,MALa,CAKN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,OAHO,qBAGA;AACL,WAAO;AACL,MAAA,OAAO,EAAE;AADJ,KAAP;AAGD,GAPM;AASP,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,6CACK,4BAAe,OAAf,CAAuB,QAAvB,CAAgC,OAAhC,CAAwC,IAAxC,CAA6C,IAA7C,CADL;AAEE,sBAAc,IAFhB;AAGE,iCAAyB,KAAK,QAHhC;AAIE;AACA,mCAA2B,KAAK;AALlC,SAMK,KAAK,YANV;AAQD;AAVO,GATH;AAsBP,EAAA,KAAK,EAAE;AACL,IAAA,KAAK,EAAE,YADF;AAEL,IAAA,aAAa,EAAE,YAFV;AAGL,IAAA,MAAM,EAAE;AAHH,GAtBA;AA4BP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,WAAK,KAAL,CAAW,aAAX;AACD,KALM;AAMP,IAAA,UANO,wBAMG;AACR,UAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,OAAvB,CAA+B,UAA/B,CAA0C,IAA1C,CAA+C,IAA/C,CAAf;;AAEA,MAAA,MAAM,CAAC,IAAP,GAAc,MAAM,CAAC,IAAP,IAAe,EAA7B;AACA,MAAA,MAAM,CAAC,IAAP,CAAY,WAAZ,IAA2B,sBAA3B;AAEA,aAAO,MAAP;AACD,KAbM;AAcP,IAAA,aAdO,yBAcQ,GAdR,EAcoB,MAdpB,EAciC;AACtC;AACA,UAAI,KAAK,SAAT,EAAoB;AAEpB,UAAM,KAAK,GAAG,KAAK,KAAnB;AACA,UAAM,OAAO,GAAG,GAAG,CAAC,IAApB;AACA,UAAM,OAAO,GAAG,MAAM,CAAC,IAAvB;AAEA,UAAI,MAAM,GAAG,KAAb;AACA,UAAI,MAAM,GAAG,KAAb;;AATsC,iDAWnB,KAXmB;AAAA;;AAAA;AAWtC,4DAA0B;AAAA,cAAf,IAAe;AACxB,cAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT,CAAzB,KACK,IAAI,IAAI,CAAC,EAAL,KAAY,OAAhB,EAAyB,MAAM,GAAG,IAAT;AAE9B,cAAI,MAAM,IAAI,MAAd,EAAsB;AACvB,SAhBqC,CAkBtC;AACA;AACA;;AApBsC;AAAA;AAAA;AAAA;AAAA;;AAqBtC,UAAI,CAAC,MAAD,IAAW,MAAf,EAAuB,KAAK,aAAL,GAAqB,SAArB;AACxB;AApCM,GA5BF;AAmEP,EAAA,MAnEO,kBAmEC,CAnED,EAmEE;AACP,QAAM,MAAM,GAAG,4BAAe,OAAf,CAAuB,MAAvB,CAA8B,IAA9B,CAAmC,IAAnC,EAAyC,CAAzC,CAAf;;AAEA,IAAA,MAAM,CAAC,IAAP,CAAa,KAAb,GAAqB;AACnB,MAAA,IAAI,EAAE;AADa,KAArB;AAIA,WAAO,MAAP;AACD;AA3EM,CALM,C","sourcesContent":["// Extensions\nimport { BaseSlideGroup } from '../VSlideGroup/VSlideGroup'\n\n// Components\nimport VTab from './VTab'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport SSRBootable from '../../mixins/ssr-bootable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { Route } from 'vue-router'\nimport { VNode } from 'vue'\n\ntype VTabInstance = InstanceType<typeof VTab>\n\nexport default mixins(\n BaseSlideGroup,\n SSRBootable,\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-tabs-bar',\n\n provide () {\n return {\n tabsBar: this,\n }\n },\n\n computed: {\n classes () {\n return {\n ...BaseSlideGroup.options.computed.classes.call(this),\n 'v-tabs-bar': true,\n 'v-tabs-bar--is-mobile': this.isMobile,\n // TODO: Remove this and move to v-slide-group\n 'v-tabs-bar--show-arrows': this.showArrows,\n ...this.themeClasses,\n }\n },\n },\n\n watch: {\n items: 'callSlider',\n internalValue: 'callSlider',\n $route: 'onRouteChange',\n },\n\n methods: {\n callSlider () {\n if (!this.isBooted) return\n\n this.$emit('call:slider')\n },\n genContent () {\n const render = BaseSlideGroup.options.methods.genContent.call(this)\n\n render.data = render.data || {}\n render.data.staticClass += ' v-tabs-bar__content'\n\n return render\n },\n onRouteChange (val: Route, oldVal: Route) {\n /* istanbul ignore next */\n if (this.mandatory) return\n\n const items = this.items as unknown as VTabInstance[]\n const newPath = val.path\n const oldPath = oldVal.path\n\n let hasNew = false\n let hasOld = false\n\n for (const item of items) {\n if (item.to === oldPath) hasOld = true\n else if (item.to === newPath) hasNew = true\n\n if (hasNew && hasOld) break\n }\n\n // If we have an old item and not a new one\n // it's assumed that the user navigated to\n // a path that is not present in the items\n if (!hasNew && hasOld) this.internalValue = undefined\n },\n },\n\n render (h): VNode {\n const render = BaseSlideGroup.options.render.call(this, h)\n\n render.data!.attrs = {\n role: 'tablist',\n }\n\n return render\n },\n})\n"],"sourceRoot":"","file":"VTabsBar.js"}
@@ -55,6 +55,15 @@ var _default = baseMixins.extend({
55
55
  }
56
56
  },
57
57
  watch: {
58
+ autoGrow: function autoGrow(val) {
59
+ var _this = this;
60
+
61
+ this.$nextTick(function () {
62
+ var _this$$refs$input;
63
+
64
+ val ? _this.calculateInputHeight() : (_this$$refs$input = _this.$refs.input) == null ? void 0 : _this$$refs$input.style.removeProperty('height');
65
+ });
66
+ },
58
67
  lazyValue: function lazyValue() {
59
68
  this.autoGrow && this.$nextTick(this.calculateInputHeight);
60
69
  },
@@ -63,10 +72,10 @@ var _default = baseMixins.extend({
63
72
  }
64
73
  },
65
74
  mounted: function mounted() {
66
- var _this = this;
75
+ var _this2 = this;
67
76
 
68
77
  setTimeout(function () {
69
- _this.autoGrow && _this.calculateInputHeight();
78
+ _this2.autoGrow && _this2.calculateInputHeight();
70
79
  }, 0);
71
80
  },
72
81
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTextarea/VTextarea.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins<options &\n InstanceType<typeof VTextField>\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":"","file":"VTextarea.js"}
1
+ {"version":3,"sources":["../../../src/components/VTextarea/VTextarea.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins<options &\n InstanceType<typeof VTextField>\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n autoGrow (val: boolean) {\n this.$nextTick(() => {\n val\n ? this.calculateInputHeight()\n : this.$refs.input?.style.removeProperty('height')\n })\n },\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n"],"sourceRoot":"","file":"VTextarea.js"}
@@ -38,10 +38,6 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dep
38
38
  default: 0
39
39
  },
40
40
  disabled: Boolean,
41
- fixed: {
42
- type: Boolean,
43
- default: true
44
- },
45
41
  openDelay: {
46
42
  type: [Number, String],
47
43
  default: 0
@@ -96,7 +92,8 @@ var _default = (0, _mixins.default)(_colorable.default, _delayable.default, _dep
96
92
 
97
93
  if (this.nudgeTop) top -= parseInt(this.nudgeTop);
98
94
  if (this.nudgeBottom) top += parseInt(this.nudgeBottom);
99
- return "".concat(this.calcYOverflow(top + this.pageYOffset), "px");
95
+ if (this.attach === false) top += this.pageYOffset;
96
+ return "".concat(this.calcYOverflow(top), "px");
100
97
  },
101
98
  classes: function classes() {
102
99
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n fixed: {\n type: Boolean,\n default: true,\n },\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return `${this.calcYOverflow(top + this.pageYOffset)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '<template #activator=\"data\"><v-btn v-on=\"data.on>'`, this)\n }\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.options.methods.genActivatorListeners.call(this)\n\n listeners.focus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.blur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n listeners.keydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return this.$createElement('transition', {\n props: {\n name: this.computedTransition,\n },\n }, [content])\n },\n genContent () {\n return this.$createElement(\n 'div',\n this.setBackgroundColor(this.color, {\n staticClass: 'v-tooltip__content',\n class: {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n },\n style: this.styles,\n attrs: this.getScopeIdAttrs(),\n directives: [{\n name: 'show',\n value: this.isContentActive,\n }],\n ref: 'content',\n }),\n this.getContentSlot()\n )\n },\n },\n\n render (h): VNode {\n return h(this.tag, {\n staticClass: 'v-tooltip',\n class: this.classes,\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
@@ -282,7 +282,7 @@ var _default2 = (0, _mixins.default)((0, _registrable.provide)('treeview'), _the
282
282
  node.isOpen = oldNode.isOpen;
283
283
  this.nodes[key] = node;
284
284
 
285
- if (children.length) {
285
+ if (children.length && this.selectionType !== 'independent') {
286
286
  var _this$calculateState = this.calculateState(key, this.nodes),
287
287
  isSelected = _this$calculateState.isSelected,
288
288
  isIndeterminate = _this$calculateState.isIndeterminate;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (!this.nodes.hasOwnProperty(key) && parent !== null && this.nodes.hasOwnProperty(parent)) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length) {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.options.methods.genChild.bind(this)\n\n return genChild(item, getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n staticClass: 'v-treeview',\n class: {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeview.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTreeview.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { TreeviewItemFunction } from 'vuetify/types'\n\n// Components\nimport VTreeviewNode, { VTreeviewNodeProps } from './VTreeviewNode'\n\n// Mixins\nimport Themeable from '../../mixins/themeable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utils\nimport {\n arrayDiff,\n deepEqual,\n getObjectValueByPath,\n} from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { consoleWarn } from '../../util/console'\nimport {\n filterTreeItems,\n filterTreeItem,\n} from './util/filterTreeItems'\n\ntype VTreeviewNodeInstance = InstanceType<typeof VTreeviewNode>\n\ntype NodeCache = Set<string | number>\ntype NodeArray = (string | number)[]\n\ntype NodeState = {\n parent: number | string | null\n children: (number | string)[]\n vnode: VTreeviewNodeInstance | null\n isActive: boolean\n isSelected: boolean\n isIndeterminate: boolean\n isOpen: boolean\n item: any\n}\n\nexport default mixins(\n RegistrableProvide('treeview'),\n Themeable\n /* @vue/component */\n).extend({\n name: 'v-treeview',\n\n provide (): object {\n return { treeview: this }\n },\n\n props: {\n active: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n dense: Boolean,\n filter: Function as PropType<TreeviewItemFunction>,\n hoverable: Boolean,\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n multipleActive: Boolean,\n open: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n openAll: Boolean,\n returnObject: {\n type: Boolean,\n default: false, // TODO: Should be true in next major\n },\n search: String,\n value: {\n type: Array,\n default: () => ([]),\n } as PropValidator<NodeArray>,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n level: -1,\n activeCache: new Set() as NodeCache,\n nodes: {} as Record<string | number, NodeState>,\n openCache: new Set() as NodeCache,\n selectedCache: new Set() as NodeCache,\n }),\n\n computed: {\n excludedItems (): Set<string | number> {\n const excluded = new Set<string|number>()\n\n if (!this.search) return excluded\n\n for (let i = 0; i < this.items.length; i++) {\n filterTreeItems(\n this.filter || filterTreeItem,\n this.items[i],\n this.search,\n this.itemKey,\n this.itemText,\n this.itemChildren,\n excluded\n )\n }\n\n return excluded\n },\n },\n\n watch: {\n items: {\n handler () {\n const oldKeys = Object.keys(this.nodes).map(k => getObjectValueByPath(this.nodes[k].item, this.itemKey))\n const newKeys = this.getKeys(this.items)\n const diff = arrayDiff(newKeys, oldKeys)\n\n // We only want to do stuff if items have changed\n if (!diff.length && newKeys.length < oldKeys.length) return\n\n // If nodes are removed we need to clear them from this.nodes\n diff.forEach(k => delete this.nodes[k])\n\n const oldSelectedCache = [...this.selectedCache]\n this.selectedCache = new Set()\n this.activeCache = new Set()\n this.openCache = new Set()\n this.buildTree(this.items)\n\n // Only emit selected if selection has changed\n // as a result of items changing. This fixes a\n // potential double emit when selecting a node\n // with dynamic children\n if (!deepEqual(oldSelectedCache, [...this.selectedCache])) this.emitSelected()\n },\n deep: true,\n },\n active (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.activeCache, this.updateActive, this.emitActive)\n },\n value (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.selectedCache, this.updateSelected, this.emitSelected)\n },\n open (value: (string | number | any)[]) {\n this.handleNodeCacheWatcher(value, this.openCache, this.updateOpen, this.emitOpen)\n },\n },\n\n created () {\n const getValue = (key: string | number) => this.returnObject ? getObjectValueByPath(key, this.itemKey) : key\n\n this.buildTree(this.items)\n\n for (const value of this.value.map(getValue)) {\n this.updateSelected(value, true, true)\n }\n\n for (const active of this.active.map(getValue)) {\n this.updateActive(active, true)\n }\n },\n\n mounted () {\n // Save the developer from themselves\n if (this.$slots.prepend || this.$slots.append) {\n consoleWarn('The prepend and append slots require a slot-scope attribute', this)\n }\n\n if (this.openAll) {\n this.updateAll(true)\n } else {\n this.open.forEach(key => this.updateOpen(this.returnObject ? getObjectValueByPath(key, this.itemKey) : key, true))\n this.emitOpen()\n }\n },\n\n methods: {\n /** @public */\n updateAll (value: boolean) {\n Object.keys(this.nodes).forEach(key => this.updateOpen(getObjectValueByPath(this.nodes[key].item, this.itemKey), value))\n this.emitOpen()\n },\n getKeys (items: any[], keys: any[] = []) {\n for (let i = 0; i < items.length; i++) {\n const key = getObjectValueByPath(items[i], this.itemKey)\n keys.push(key)\n const children = getObjectValueByPath(items[i], this.itemChildren)\n if (children) {\n keys.push(...this.getKeys(children))\n }\n }\n\n return keys\n },\n buildTree (items: any[], parent: (string | number | null) = null) {\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const key = getObjectValueByPath(item, this.itemKey)\n const children = getObjectValueByPath(item, this.itemChildren) ?? []\n const oldNode = this.nodes.hasOwnProperty(key) ? this.nodes[key] : {\n isSelected: false, isIndeterminate: false, isActive: false, isOpen: false, vnode: null,\n } as NodeState\n\n const node: any = {\n vnode: oldNode.vnode,\n parent,\n children: children.map((c: any) => getObjectValueByPath(c, this.itemKey)),\n item,\n }\n\n this.buildTree(children, key)\n\n // This fixed bug with dynamic children resetting selected parent state\n if (!this.nodes.hasOwnProperty(key) && parent !== null && this.nodes.hasOwnProperty(parent)) {\n node.isSelected = this.nodes[parent].isSelected\n } else {\n node.isSelected = oldNode.isSelected\n node.isIndeterminate = oldNode.isIndeterminate\n }\n\n node.isActive = oldNode.isActive\n node.isOpen = oldNode.isOpen\n\n this.nodes[key] = node\n\n if (children.length && this.selectionType !== 'independent') {\n const { isSelected, isIndeterminate } = this.calculateState(key, this.nodes)\n\n node.isSelected = isSelected\n node.isIndeterminate = isIndeterminate\n }\n\n // Don't forget to rebuild cache\n if (this.nodes[key].isSelected && (this.selectionType === 'independent' || node.children.length === 0)) this.selectedCache.add(key)\n if (this.nodes[key].isActive) this.activeCache.add(key)\n if (this.nodes[key].isOpen) this.openCache.add(key)\n\n this.updateVnodeState(key)\n }\n },\n calculateState (node: string | number, state: Record<string | number, NodeState>) {\n const children = state[node].children\n const counts = children.reduce((counts: number[], child: string | number) => {\n counts[0] += +Boolean(state[child].isSelected)\n counts[1] += +Boolean(state[child].isIndeterminate)\n\n return counts\n }, [0, 0])\n\n const isSelected = !!children.length && counts[0] === children.length\n const isIndeterminate = !isSelected && (counts[0] > 0 || counts[1] > 0)\n\n return {\n isSelected,\n isIndeterminate,\n }\n },\n emitOpen () {\n this.emitNodeCache('update:open', this.openCache)\n },\n emitSelected () {\n this.emitNodeCache('input', this.selectedCache)\n },\n emitActive () {\n this.emitNodeCache('update:active', this.activeCache)\n },\n emitNodeCache (event: string, cache: NodeCache) {\n this.$emit(event, this.returnObject ? [...cache].map(key => this.nodes[key].item) : [...cache])\n },\n handleNodeCacheWatcher (value: any[], cache: NodeCache, updateFn: Function, emitFn: Function) {\n value = this.returnObject ? value.map(v => getObjectValueByPath(v, this.itemKey)) : value\n const old = [...cache]\n if (deepEqual(old, value)) return\n\n old.forEach(key => updateFn(key, false))\n value.forEach(key => updateFn(key, true))\n\n emitFn()\n },\n getDescendants (key: string | number, descendants: NodeArray = []) {\n const children = this.nodes[key].children\n\n descendants.push(...children)\n\n for (let i = 0; i < children.length; i++) {\n descendants = this.getDescendants(children[i], descendants)\n }\n\n return descendants\n },\n getParents (key: string | number) {\n let parent = this.nodes[key].parent\n\n const parents = []\n while (parent !== null) {\n parents.push(parent)\n parent = this.nodes[parent].parent\n }\n\n return parents\n },\n register (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n this.nodes[key].vnode = node\n\n this.updateVnodeState(key)\n },\n unregister (node: VTreeviewNodeInstance) {\n const key = getObjectValueByPath(node.item, this.itemKey)\n if (this.nodes[key]) this.nodes[key].vnode = null\n },\n isParent (key: string | number) {\n return this.nodes[key].children && this.nodes[key].children.length\n },\n updateActive (key: string | number, isActive: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n if (!this.multipleActive) {\n this.activeCache.forEach(active => {\n this.nodes[active].isActive = false\n this.updateVnodeState(active)\n this.activeCache.delete(active)\n })\n }\n\n const node = this.nodes[key]\n if (!node) return\n\n if (isActive) this.activeCache.add(key)\n else this.activeCache.delete(key)\n\n node.isActive = isActive\n\n this.updateVnodeState(key)\n },\n updateSelected (key: string | number, isSelected: boolean, isForced = false) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const changed = new Map()\n\n if (this.selectionType !== 'independent') {\n for (const descendant of this.getDescendants(key)) {\n if (!getObjectValueByPath(this.nodes[descendant].item, this.itemDisabled) || isForced) {\n this.nodes[descendant].isSelected = isSelected\n this.nodes[descendant].isIndeterminate = false\n changed.set(descendant, isSelected)\n }\n }\n\n const calculated = this.calculateState(key, this.nodes)\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = calculated.isIndeterminate\n changed.set(key, isSelected)\n\n for (const parent of this.getParents(key)) {\n const calculated = this.calculateState(parent, this.nodes)\n this.nodes[parent].isSelected = calculated.isSelected\n this.nodes[parent].isIndeterminate = calculated.isIndeterminate\n changed.set(parent, calculated.isSelected)\n }\n } else {\n this.nodes[key].isSelected = isSelected\n this.nodes[key].isIndeterminate = false\n changed.set(key, isSelected)\n }\n\n for (const [key, value] of changed.entries()) {\n this.updateVnodeState(key)\n\n if (this.selectionType === 'leaf' && this.isParent(key)) continue\n\n value === true ? this.selectedCache.add(key) : this.selectedCache.delete(key)\n }\n },\n updateOpen (key: string | number, isOpen: boolean) {\n if (!this.nodes.hasOwnProperty(key)) return\n\n const node = this.nodes[key]\n const children = getObjectValueByPath(node.item, this.itemChildren)\n\n if (children && !children.length && node.vnode && !node.vnode.hasLoaded) {\n node.vnode.checkChildren().then(() => this.updateOpen(key, isOpen))\n } else if (children && children.length) {\n node.isOpen = isOpen\n\n node.isOpen ? this.openCache.add(key) : this.openCache.delete(key)\n\n this.updateVnodeState(key)\n }\n },\n updateVnodeState (key: string | number) {\n const node = this.nodes[key]\n\n if (node && node.vnode) {\n node.vnode.isSelected = node.isSelected\n node.vnode.isIndeterminate = node.isIndeterminate\n node.vnode.isActive = node.isActive\n node.vnode.isOpen = node.isOpen\n }\n },\n isExcluded (key: string | number) {\n return !!this.search && this.excludedItems.has(key)\n },\n },\n\n render (h): VNode {\n const children: VNodeChildrenArrayContents = this.items.length\n ? this.items.filter(item => {\n return !this.isExcluded(getObjectValueByPath(item, this.itemKey))\n }).map(item => {\n const genChild = VTreeviewNode.options.methods.genChild.bind(this)\n\n return genChild(item, getObjectValueByPath(item, this.itemDisabled))\n })\n /* istanbul ignore next */\n : this.$slots.default! // TODO: remove type annotation with TS 3.2\n\n return h('div', {\n staticClass: 'v-treeview',\n class: {\n 'v-treeview--hoverable': this.hoverable,\n 'v-treeview--dense': this.dense,\n ...this.themeClasses,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VTreeview.js"}
@@ -10,6 +10,18 @@ var _mergeData = _interopRequireDefault(require("../../util/mergeData"));
10
10
 
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
 
13
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
+
15
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+
17
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
+
19
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
20
+
21
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
+
23
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
+
13
25
  function mergeTransitions() {
14
26
  var _Array;
15
27
 
@@ -105,11 +117,15 @@ function createSimpleTransition(name) {
105
117
 
106
118
  if (context.props.hideOnLeave) {
107
119
  data.on.leave = mergeTransitions(data.on.leave, function (el) {
108
- el._initialDisplay = el.style.display;
109
- el.style.display = 'none';
120
+ el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')];
121
+ el.style.setProperty('display', 'none', 'important');
110
122
  });
111
123
  data.on.afterLeave = mergeTransitions(data.on.afterLeave, function (el) {
112
- if (el) el.style.display = el._initialDisplay || '';
124
+ if (el) {
125
+ var _el$style;
126
+
127
+ el._initialDisplay ? (_el$style = el.style).setProperty.apply(_el$style, ['display'].concat(_toConsumableArray(el._initialDisplay))) : el.style.removeProperty('display');
128
+ }
113
129
  });
114
130
  }
115
131