@dimailn/vuetify 2.7.2-alpha28 → 2.7.2-alpha29
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.
- package/dist/vuetify.js +1416 -304
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +1 -1
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAlert/VAlert.js +38 -8
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAutocomplete/VAutocomplete.js +1 -0
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBadge/VBadge.js +28 -0
- package/es5/components/VBadge/VBadge.js.map +1 -1
- package/es5/components/VBanner/VBanner.js +34 -6
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +25 -0
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +28 -3
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +30 -2
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VColorPicker/VColorPicker.js +30 -2
- package/es5/components/VColorPicker/VColorPicker.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +1 -0
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +16 -7
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataIterator/VDataIterator.js +42 -47
- package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
- package/es5/components/VDataTable/RowGroup.js +46 -15
- package/es5/components/VDataTable/RowGroup.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +10 -18
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderMobile.js +28 -37
- package/es5/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/es5/components/VDataTable/VEditDialog.js +3 -4
- package/es5/components/VDataTable/VEditDialog.js.map +1 -1
- package/es5/components/VDataTable/VSimpleTable.js +1 -1
- package/es5/components/VDataTable/VSimpleTable.js.map +1 -1
- package/es5/components/VDataTable/VVirtualTable.js +5 -5
- package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +1 -1
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +21 -9
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +24 -8
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerTitle.js +33 -8
- package/es5/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerYears.js +38 -13
- package/es5/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/es5/components/VDatePicker/mixins/date-picker-table.js +33 -17
- package/es5/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/es5/components/VInput/VInput.js +36 -8
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VList/VListGroup.js +47 -21
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +29 -4
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +55 -30
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VMessages/VMessages.js +30 -7
- package/es5/components/VMessages/VMessages.js.map +1 -1
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js +36 -9
- package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/es5/components/VOverlay/VOverlay.js +28 -0
- package/es5/components/VOverlay/VOverlay.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +30 -6
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VProgressLinear/VProgressLinear.js +28 -0
- package/es5/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +28 -0
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VRating/VRating.js +45 -17
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +112 -84
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +58 -17
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +42 -16
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSpeedDial/VSpeedDial.js +10 -8
- package/es5/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +45 -17
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/mixins/validatable/index.js +24 -0
- package/es5/mixins/validatable/index.js.map +1 -1
- package/es5/util/console.js +49 -18
- package/es5/util/console.js.map +1 -1
- package/es5/util/helpers.js +5 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +12 -6
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +1 -0
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBadge/VBadge.js +11 -0
- package/lib/components/VBadge/VBadge.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +11 -0
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +7 -0
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +7 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +11 -0
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VColorPicker/VColorPicker.js +12 -1
- package/lib/components/VColorPicker/VColorPicker.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +1 -0
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +14 -7
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.js +26 -31
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/RowGroup.js +30 -14
- package/lib/components/VDataTable/RowGroup.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +8 -15
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js +1 -1
- package/lib/components/VDataTable/VDataTableHeader.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +3 -0
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderMobile.js +17 -25
- package/lib/components/VDataTable/VDataTableHeaderMobile.js.map +1 -1
- package/lib/components/VDataTable/VEditDialog.js +3 -4
- package/lib/components/VDataTable/VEditDialog.js.map +1 -1
- package/lib/components/VDataTable/VSimpleTable.js +1 -1
- package/lib/components/VDataTable/VSimpleTable.js.map +1 -1
- package/lib/components/VDataTable/VVirtualTable.js +1 -2
- package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +1 -1
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +7 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +12 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerTitle.js +11 -0
- package/lib/components/VDatePicker/VDatePickerTitle.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +11 -1
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js +12 -1
- package/lib/components/VDatePicker/mixins/date-picker-table.js.map +1 -1
- package/lib/components/VInput/VInput.js +13 -3
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VList/VListGroup.js +16 -8
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +8 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +14 -3
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VMessages/VMessages.js +13 -2
- package/lib/components/VMessages/VMessages.js.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js +11 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
- package/lib/components/VOverlay/VOverlay.js +11 -0
- package/lib/components/VOverlay/VOverlay.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +11 -0
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.js +11 -0
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +11 -0
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VRating/VRating.js +11 -0
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +52 -36
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +21 -3
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +11 -1
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.js +7 -7
- package/lib/components/VSpeedDial/VSpeedDial.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +11 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/mixins/validatable/index.js +7 -1
- package/lib/mixins/validatable/index.js.map +1 -1
- package/lib/util/console.js +47 -17
- package/lib/util/console.js.map +1 -1
- package/lib/util/helpers.js +5 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VAlert/VAlert.ts +17 -7
- package/src/components/VAlert/__tests__/VAlert.spec.ts +78 -50
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +16 -18
- package/src/components/VAutocomplete/VAutocomplete.ts +22 -0
- package/src/components/VAutocomplete/__tests__/VAutocomplete.spec.ts +51 -53
- package/src/components/VAutocomplete/__tests__/VAutocomplete2.spec.ts +77 -48
- package/src/components/VAutocomplete/__tests__/VAutocomplete3.spec.ts +101 -39
- package/src/components/VBadge/VBadge.ts +13 -0
- package/src/components/VBanner/VBanner.ts +13 -0
- package/src/components/VBottomNavigation/VBottomNavigation.ts +10 -0
- package/src/components/VCarousel/VCarousel.ts +11 -0
- package/src/components/VCheckbox/VSimpleCheckbox.ts +13 -0
- package/src/components/VColorPicker/VColorPicker.ts +13 -0
- package/src/components/VCombobox/VCombobox.ts +23 -0
- package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +118 -110
- package/src/components/VCombobox/__tests__/VCombobox.spec.ts +119 -93
- package/src/components/VDataIterator/VDataFooter.ts +14 -9
- package/src/components/VDataIterator/VDataIterator.ts +46 -34
- package/src/components/VDataIterator/__tests__/VDataFooter.spec.ts +38 -39
- package/src/components/VDataIterator/__tests__/VDataIterator.spec.ts +90 -122
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataFooter.spec.ts.snap +92 -82
- package/src/components/VDataIterator/__tests__/__snapshots__/VDataIterator.spec.ts.snap +79 -69
- package/src/components/VDataTable/RowGroup.ts +33 -16
- package/src/components/VDataTable/VDataTable.ts +8 -15
- package/src/components/VDataTable/VDataTableHeader.ts +2 -2
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +4 -0
- package/src/components/VDataTable/VDataTableHeaderMobile.ts +16 -25
- package/src/components/VDataTable/VEditDialog.ts +3 -3
- package/src/components/VDataTable/VSimpleTable.ts +2 -3
- package/src/components/VDataTable/VVirtualTable.ts +1 -2
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +18 -22
- package/src/components/VDataTable/__tests__/VDataTableHeader.spec.ts +39 -29
- package/src/components/VDataTable/__tests__/VEditDialog.spec.ts +7 -2
- package/src/components/VDataTable/__tests__/VSimpleTable.spec.ts +11 -16
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +2543 -2086
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +115 -144
- package/src/components/VDataTable/__tests__/__snapshots__/VEditDialog.spec.ts.snap +4 -12
- package/src/components/VDataTable/__tests__/__snapshots__/VSimpleTable.spec.ts.snap +22 -18
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +9 -12
- package/src/components/VDataTable/mixins/__tests__/header.spec.ts +15 -15
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +11 -1
- package/src/components/VDatePicker/VDatePickerHeader.ts +13 -0
- package/src/components/VDatePicker/VDatePickerTitle.ts +12 -0
- package/src/components/VDatePicker/VDatePickerYears.ts +13 -0
- package/src/components/VDatePicker/mixins/date-picker-table.ts +13 -0
- package/src/components/VInput/VInput.ts +18 -5
- package/src/components/VList/VListGroup.ts +22 -10
- package/src/components/VList/VListItem.ts +10 -1
- package/src/components/VMenu/VMenu.ts +21 -3
- package/src/components/VMenu/__tests__/VMenu.spec.ts +90 -69
- package/src/components/VMenu/__tests__/__snapshots__/VMenu.spec.ts.snap +3 -5
- package/src/components/VMessages/VMessages.ts +15 -4
- package/src/components/VMessages/__tests__/VMessages.spec.ts +43 -5
- package/src/components/VMessages/__tests__/__snapshots__/VMessages.spec.ts.snap +16 -25
- package/src/components/VNavigationDrawer/VNavigationDrawer.ts +21 -11
- package/src/components/VOverlay/VOverlay.ts +12 -0
- package/src/components/VPagination/VPagination.ts +23 -9
- package/src/components/VProgressLinear/VProgressLinear.ts +13 -0
- package/src/components/VRadioGroup/VRadioGroup.ts +14 -0
- package/src/components/VRating/VRating.ts +13 -0
- package/src/components/VSelect/VSelect.ts +60 -43
- package/src/components/VSelect/VSelectList.ts +29 -8
- package/src/components/VSlider/VSlider.ts +14 -1
- package/src/components/VSpeedDial/VSpeedDial.ts +7 -8
- package/src/components/VSpeedDial/__tests__/VSpeedDial.spec.ts +21 -13
- package/src/components/VSpeedDial/__tests__/__snapshots__/VSpeedDial.spec.ts.snap +6 -6
- package/src/components/VTabs/VTabs.ts +14 -0
- package/src/mixins/validatable/index.ts +11 -1
- package/src/util/__tests__/console.spec.ts +124 -11
- package/src/util/__tests__/helpers.spec.ts +59 -31
- package/src/util/console.ts +43 -24
- package/src/util/helpers.ts +8 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport { factory as ProxyableFactory } from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n ProxyableFactory('modelValue', 'update:modelValue'),\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n // Оставляем value для обратной совместимости\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: ['update:modelValue', 'click'],\n\n data () {\n return {\n internalLazyValue: this.modelValue || this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, {}, {\n default: () => [this.__cachedBarType],\n })\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n ],\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): any {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue'])\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n watch: {\n modelValue (val) {\n this.internalLazyValue = val\n },\n value (val) {\n this.internalLazyValue = val\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h(\n 'div',\n {\n class: 'v-progress-linear__content',\n },\n {\n default: () => slot,\n }\n )\n },\n genListeners (): any {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short'): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n },\n ],\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number): number {\n const numValue = typeof value === 'string' ? parseFloat(value) : value\n if (numValue < 0) return 0\n if (numValue > 100) return 100\n return numValue\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve,\n ],\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VProgressLinear/VProgressLinear.ts"],"names":[],"mappings":"AAAA,SAAS,CAAT,EAAY,cAAZ,QAAkC,KAAlC;AACA,OAAO,8DAAP,C,CAEA;;AACA,SACE,eADF,EAEE,iBAFF,QAGO,gBAHP,C,CAKA;;AACA,SAAoB,SAApB,QAAqC,4BAArC,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,SAAS,OAAO,IAAI,mBAApB,QAA+C,2BAA/C;AACA,SAAS,OAAO,IAAI,gBAApB,QAA4C,wBAA5C;AACA,OAAO,SAAP,MAAsB,wBAAtB,C,CAEA;;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,QAAT,QAAyB,oBAAzB;AAKA,MAAM,UAAU,GAAG,MAAM,CACvB,SADuB,EAEvB,mBAAmB,CAAC,CAAC,UAAD,EAAa,OAAb,EAAsB,KAAtB,EAA6B,QAA7B,CAAD,CAFI,EAGvB,gBAAgB,CAAC,YAAD,EAAe,mBAAf,CAHO,EAIvB,SAJuB,CAAzB;AAOA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,mBADyB;AAI/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,eAAe,EAAE;AACf,MAAA,IAAI,EAAE,MADS;AAEf,MAAA,OAAO,EAAE;AAFM,KALZ;AASL,IAAA,iBAAiB,EAAE;AACjB,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADW;AAEjB,MAAA,OAAO,EAAE;AAFQ,KATd;AAaL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADK;AAEX,MAAA,OAAO,EAAE;AAFE,KAbR;AAiBL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAjBF;AAqBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KArBH;AAyBL,IAAA,aAAa,EAAE,OAzBV;AA0BL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADI;AAEV,MAAA,OAAO,EAAE;AAFC,KA1BP;AA8BL,IAAA,KAAK,EAAE,OA9BF;AA+BL,IAAA,OAAO,EAAE,OA/BJ;AAgCL,IAAA,OAAO,EAAE,OAhCJ;AAiCL,IAAA,MAAM,EAAE,OAjCH;AAkCL,IAAA,OAAO,EAAE,OAlCJ;AAmCL;AACA,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADD;AAEL,MAAA,OAAO,EAAE;AAFJ;AApCF,GAJwB;AA8C/B,EAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,OAAtB,CA9CwB;;AAgD/B,EAAA,IAAI,GAAA;AACF,WAAO;AACL,MAAA,iBAAiB,EAAE,KAAK,UAAL,IAAmB,KAAK,KAAxB,IAAiC,CAD/C;AAEL,MAAA,SAAS,EAAE;AAFN,KAAP;AAID,GArD8B;;AAuD/B,EAAA,QAAQ,EAAE;AACR,IAAA,kBAAkB,GAAA;AAChB,aAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,kBAAL,CAAwB,KAAK,eAAL,IAAwB,KAAK,KAArD,EAA4D;AAC1E,QAAA,KAAK,EAAE,+BADmE;AAE1E,QAAA,KAAK,EAAE,KAAK;AAF8D,OAA5D,CAAR,CAAR;AAID,KANO;;AAOR,IAAA,WAAW,GAAA;AACT,aAAO,CAAC,CAAC,KAAK,kBAAN,EAA0B,EAA1B,EAA8B;AACpC,QAAA,OAAO,EAAE,MAAM,CAAC,KAAK,eAAN;AADqB,OAA9B,CAAR;AAGD,KAXO;;AAYR,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,aAAL,GAAqB,KAAK,qBAA1B,GAAkD,KAAK,mBAA9D;AACD,KAdO;;AAeR,IAAA,cAAc,GAAA;AACZ,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,2BADO;AAEd,QAAA,KAAK,EAAE,KAAK;AAFE,OAAR,CAAR;AAID,KApBO;;AAqBR,IAAA,mBAAmB,GAAA;AACjB,aAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAClD,QAAA,KAAK,EAAE,gCAD2C;AAElD,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,aAAa,CAAC,KAAK,eAAN,EAAuB,GAAvB;AADf;AAF2C,OAApC,CAAR,CAAR;AAMD,KA5BO;;AA6BR,IAAA,qBAAqB,GAAA;AACnB,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,CAAC,kCAAD,EACL;AACE,sDAA4C,KAAK;AADnD,SADK;AADO,OAAR,EAML,CACD,KAAK,cAAL,CAAoB,MAApB,CADC,EAED,KAAK,cAAL,CAAoB,OAApB,CAFC,CANK,CAAR;AAUD,KAxCO;;AAyCR,IAAA,cAAc,GAAA;AACZ,UAAI,CAAC,KAAK,MAAV,EAAkB,OAAO,IAAP;AAElB,aAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,YAAL,CAAkB,KAAK,KAAvB,EAA8B;AAC5C,QAAA,KAAK,EAAE,2BADqC;AAE5C,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,aAAa,CAAC,MAAM,KAAK,gBAAZ,EAA8B,GAA9B;AADf;AAFqC,OAA9B,CAAR,CAAR;AAMD,KAlDO;;AAmDR,IAAA,eAAe,GAAA;AACb,YAAM,iBAAiB,GAAG,KAAK,iBAAL,IAA0B,IAA1B,GACrB,KAAK,eAAL,GAAuB,CAAvB,GAA2B,GADN,GAEtB,UAAU,CAAC,KAAK,iBAAN,CAFd;AAIA,aAAO;AACL,QAAA,OAAO,EAAE,iBADJ;AAEL,SAAC,KAAK,UAAL,GAAkB,OAAlB,GAA4B,MAA7B,GAAsC,aAAa,CAAC,KAAK,eAAN,EAAuB,GAAvB,CAF9C;AAGL,QAAA,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,KAAK,gBAAL,GAAwB,KAAK,eAAzC,CAAD,EAA4D,GAA5D;AAHf,OAAP;AAKD,KA7DO;;AA8DR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,uCAA+B,KAAK,QAD/B;AAEL,oCAA4B,KAAK,KAF5B;AAGL,oCAA4B,KAAK,KAH5B;AAIL,uCAA+B,KAAK,QAJ/B;AAKL,sCAA8B,KAAK,UAL9B;AAML,sCAA8B,KAAK,OAN9B;AAOL,sCAA8B,KAAK,OAP9B;AAQL,sCAA8B,KAAK,SAR9B;AASL,WAAG,KAAK;AATH,OAAP;AAWD,KA1EO;;AA2ER,IAAA,kBAAkB,GAAA;AAChB,aAAO,KAAK,aAAL,GAAqB,eAArB,GAAuC,iBAA9C;AACD,KA7EO;;AA8ER,IAAA,UAAU,GAAA;AACR,aAAO,KAAK,QAAL,CAAc,GAAd,KAAsB,KAAK,OAAlC;AACD,KAhFO;;AAiFR,IAAA,gBAAgB,GAAA;AACd,aAAO,KAAK,SAAL,CAAe,KAAK,WAApB,CAAP;AACD,KAnFO;;AAoFR,IAAA,eAAe,GAAA;AACb,aAAO,KAAK,SAAL,CAAe,KAAK,iBAApB,CAAP;AACD,KAtFO;;AAuFR,IAAA,QAAQ,GAAA;AACN,aAAO,OAAO,CAAC,KAAK,UAAL,CAAgB,QAAjB,CAAP,IAAqC,OAAO,CAAC,KAAK,UAAL,CAAgB,qBAAhB,CAAD,CAAnD;AACD,KAzFO;;AA0FR,IAAA,MAAM,GAAA;AACJ,YAAM,MAAM,GAAwB,EAApC;;AAEA,UAAI,CAAC,KAAK,MAAV,EAAkB;AAChB,QAAA,MAAM,CAAC,MAAP,GAAgB,CAAhB;AACD;;AAED,UAAI,CAAC,KAAK,aAAN,IAAuB,UAAU,CAAC,KAAK,gBAAN,CAAV,KAAsC,GAAjE,EAAsE;AACpE,QAAA,MAAM,CAAC,KAAP,GAAe,aAAa,CAAC,KAAK,gBAAN,EAAwB,GAAxB,CAA5B;AACD;;AAED,aAAO,MAAP;AACD;;AAtGO,GAvDqB;;AAgK/B,EAAA,OAAO,GAAA;AACL,UAAM,aAAa,GAAG,CACpB,CAAC,OAAD,EAAU,YAAV,CADoB,EAEpB,CAAC,UAAD,EAAa,qBAAb,CAFoB,CAAtB;AAKA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,CAAC,CAAC,QAAD,EAAW,WAAX,CAAD,KAA4B;AAChD,UAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,QAAQ,CAAC,QAAD,EAAW,WAAX,EAAwB,IAAxB,CAAR;AAC3C,KAFD;AAGD,GA1K8B;;AA4K/B,EAAA,KAAK,EAAE;AACL,IAAA,UAAU,CAAE,GAAF,EAAK;AACb,WAAK,iBAAL,GAAyB,GAAzB;AACD,KAHI;;AAIL,IAAA,KAAK,CAAE,GAAF,EAAK;AACR,WAAK,iBAAL,GAAyB,GAAzB;AACD;;AANI,GA5KwB;AAqL/B,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,EAAO,SAAP,EAAkB;AAAE,QAAA,KAAK,EAAE,KAAK;AAAd,OAAlB,CAApB;AAEA,UAAI,CAAC,IAAL,EAAW,OAAO,IAAP;AAEX,aAAO,CAAC,CACN,KADM,EAEN;AACE,QAAA,KAAK,EAAE;AADT,OAFM,EAKN;AACE,QAAA,OAAO,EAAE,MAAM;AADjB,OALM,CAAR;AASD,KAfM;;AAgBP,IAAA,YAAY,GAAA;AACV,YAAM,SAAS,GAAG,KAAK,UAAvB;;AAEA,UAAI,KAAK,QAAT,EAAmB;AACjB,QAAA,SAAS,CAAC,OAAV,GAAoB,KAAK,OAAzB;AACD;;AAED,aAAO,SAAP;AACD,KAxBM;;AAyBP,IAAA,cAAc,CAAE,IAAF,EAAwB;AACpC,aAAO,CAAC,CAAC,KAAD,EAAQ,KAAK,kBAAL,CAAwB,KAAK,KAA7B,EAAoC;AAClD,QAAA,KAAK,EAAE,CAAC,kCAAD,EACL;AACE,WAAC,IAAD,GAAQ;AADV,SADK;AAD2C,OAApC,CAAR,CAAR;AAOD,KAjCM;;AAkCP,IAAA,OAAO,CAAE,CAAF,EAAe;AACpB,UAAI,CAAC,KAAK,QAAV,EAAoB;AAEpB,YAAM;AAAE,QAAA;AAAF,UAAY,KAAK,GAAL,CAAS,qBAAT,EAAlB;AAEA,WAAK,aAAL,GAAqB,CAAC,CAAC,OAAF,GAAY,KAAZ,GAAoB,GAAzC;AACD,KAxCM;;AAyCP,IAAA,SAAS,CAAE,OAAF,EAAwC,QAAxC,EAAwE,cAAxE,EAA+F;AACtG,WAAK,SAAL,GAAiB,cAAjB;AACD,KA3CM;;AA4CP,IAAA,SAAS,CAAE,KAAF,EAAwB;AAC/B,YAAM,QAAQ,GAAG,OAAO,KAAP,KAAiB,QAAjB,GAA4B,UAAU,CAAC,KAAD,CAAtC,GAAgD,KAAjE;AACA,UAAI,QAAQ,GAAG,CAAf,EAAkB,OAAO,CAAP;AAClB,UAAI,QAAQ,GAAG,GAAf,EAAoB,OAAO,GAAP;AACpB,aAAO,QAAP;AACD;;AAjDM,GArLsB;;AAyO/B,EAAA,MAAM,GAAA;AACJ,UAAM,IAAI,GAAG;AACX,MAAA,KAAK,EAAE,CAAC,mBAAD,EAAsB,KAAK,OAA3B,CADI;AAEX,MAAA,IAAI,EAAE,aAFK;AAGX,uBAAiB,CAHN;AAIX,uBAAiB,KAAK,gBAJX;AAKX,uBAAiB,KAAK,aAAL,GAAqB,SAArB,GAAiC,KAAK,eAL5C;AAMX,MAAA,KAAK,EAAE;AACL,QAAA,MAAM,EAAE,KAAK,MAAL,GAAc,CAAd,GAAkB,SADrB;AAEL,QAAA,MAAM,EAAE,KAAK,MAAL,GAAc,aAAa,CAAC,KAAK,MAAN,CAA3B,GAA2C,CAF9C;AAGL,QAAA,GAAG,EAAE,KAAK,GAAL,GAAW,CAAX,GAAe;AAHf,OANI;AAWX,SAAG,KAAK,YAAL;AAXQ,KAAb;AAcA,WAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ,IAAR,EAAc,CACnC,KAAK,cAD8B,EAEnC,KAAK,kBAF8B,EAGnC,KAAK,cAH8B,EAInC,KAAK,WAJ8B,EAKnC,KAAK,UAAL,EALmC,CAAd,CAAF,EAMjB,CACF,CACE,SADF,EAEE,KAAK,SAFP,CADE,CANiB,CAArB;AAYD;;AApQ8B,CAAlB,CAAf","sourcesContent":["import { h, withDirectives } from 'vue'\nimport './VProgressLinear.sass'\n\n// Components\nimport {\n VFadeTransition,\n VSlideXTransition,\n} from '../transitions'\n\n// Directives\nimport intersect, { Intersect } from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\nimport { factory as ProxyableFactory } from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n PositionableFactory(['absolute', 'fixed', 'top', 'bottom']),\n ProxyableFactory('modelValue', 'update:modelValue'),\n Themeable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-progress-linear',\n\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n backgroundColor: {\n type: String,\n default: null,\n },\n backgroundOpacity: {\n type: [Number, String],\n default: null,\n },\n bufferValue: {\n type: [Number, String],\n default: 100,\n },\n color: {\n type: String,\n default: 'primary',\n },\n height: {\n type: [Number, String],\n default: 4,\n },\n indeterminate: Boolean,\n modelValue: {\n type: [Number, String],\n default: 0,\n },\n query: Boolean,\n reverse: Boolean,\n rounded: Boolean,\n stream: Boolean,\n striped: Boolean,\n // Оставляем value для обратной совместимости\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n emits: ['update:modelValue', 'click'],\n\n data () {\n return {\n internalLazyValue: this.modelValue || this.value || 0,\n isVisible: true,\n }\n },\n\n computed: {\n __cachedBackground (): VNode {\n return h('div', this.setBackgroundColor(this.backgroundColor || this.color, {\n class: 'v-progress-linear__background',\n style: this.backgroundStyle,\n }))\n },\n __cachedBar (): VNode {\n return h(this.computedTransition, {}, {\n default: () => [this.__cachedBarType],\n })\n },\n __cachedBarType (): VNode {\n return this.indeterminate ? this.__cachedIndeterminate : this.__cachedDeterminate\n },\n __cachedBuffer (): VNode {\n return h('div', {\n class: 'v-progress-linear__buffer',\n style: this.styles,\n })\n },\n __cachedDeterminate (): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: `v-progress-linear__determinate`,\n style: {\n width: convertToUnit(this.normalizedValue, '%'),\n },\n }))\n },\n __cachedIndeterminate (): VNode {\n return h('div', {\n class: ['v-progress-linear__indeterminate',\n {\n 'v-progress-linear__indeterminate--active': this.active,\n },\n ],\n }, [\n this.genProgressBar('long'),\n this.genProgressBar('short'),\n ])\n },\n __cachedStream (): VNode | null {\n if (!this.stream) return null\n\n return h('div', this.setTextColor(this.color, {\n class: 'v-progress-linear__stream',\n style: {\n width: convertToUnit(100 - this.normalizedBuffer, '%'),\n },\n }))\n },\n backgroundStyle (): object {\n const backgroundOpacity = this.backgroundOpacity == null\n ? (this.backgroundColor ? 1 : 0.3)\n : parseFloat(this.backgroundOpacity)\n\n return {\n opacity: backgroundOpacity,\n [this.isReversed ? 'right' : 'left']: convertToUnit(this.normalizedValue, '%'),\n width: convertToUnit(Math.max(0, this.normalizedBuffer - this.normalizedValue), '%'),\n }\n },\n classes (): object {\n return {\n 'v-progress-linear--absolute': this.absolute,\n 'v-progress-linear--fixed': this.fixed,\n 'v-progress-linear--query': this.query,\n 'v-progress-linear--reactive': this.reactive,\n 'v-progress-linear--reverse': this.isReversed,\n 'v-progress-linear--rounded': this.rounded,\n 'v-progress-linear--striped': this.striped,\n 'v-progress-linear--visible': this.isVisible,\n ...this.themeClasses,\n }\n },\n computedTransition (): any {\n return this.indeterminate ? VFadeTransition : VSlideXTransition\n },\n isReversed (): boolean {\n return this.$vuetify.rtl !== this.reverse\n },\n normalizedBuffer (): number {\n return this.normalize(this.bufferValue)\n },\n normalizedValue (): number {\n return this.normalize(this.internalLazyValue)\n },\n reactive (): boolean {\n return Boolean(this.$listeners.onChange) || Boolean(this.$listeners['onUpdate:modelValue'])\n },\n styles (): object {\n const styles: Record<string, any> = {}\n\n if (!this.active) {\n styles.height = 0\n }\n\n if (!this.indeterminate && parseFloat(this.normalizedBuffer) !== 100) {\n styles.width = convertToUnit(this.normalizedBuffer, '%')\n }\n\n return styles\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n modelValue (val) {\n this.internalLazyValue = val\n },\n value (val) {\n this.internalLazyValue = val\n },\n },\n\n methods: {\n genContent () {\n const slot = getSlot(this, 'default', { value: this.internalLazyValue })\n\n if (!slot) return null\n\n return h(\n 'div',\n {\n class: 'v-progress-linear__content',\n },\n {\n default: () => slot,\n }\n )\n },\n genListeners (): any {\n const listeners = this.$listeners\n\n if (this.reactive) {\n listeners.onClick = this.onClick\n }\n\n return listeners\n },\n genProgressBar (name: 'long' | 'short'): VNode {\n return h('div', this.setBackgroundColor(this.color, {\n class: ['v-progress-linear__indeterminate',\n {\n [name]: true,\n },\n ],\n }))\n },\n onClick (e: MouseEvent) {\n if (!this.reactive) return\n\n const { width } = this.$el.getBoundingClientRect()\n\n this.internalValue = e.offsetX / width * 100\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n normalize (value: string | number): number {\n const numValue = typeof value === 'string' ? parseFloat(value) : value\n if (numValue < 0) return 0\n if (numValue > 100) return 100\n return numValue\n },\n },\n\n render (): VNode {\n const data = {\n class: ['v-progress-linear', this.classes],\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': this.normalizedBuffer,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n style: {\n bottom: this.bottom ? 0 : undefined,\n height: this.active ? convertToUnit(this.height) : 0,\n top: this.top ? 0 : undefined,\n },\n ...this.genListeners(),\n }\n\n return withDirectives(h('div', data, [\n this.__cachedStream,\n this.__cachedBackground,\n this.__cachedBuffer,\n this.__cachedBar,\n this.genContent(),\n ]), [\n [\n Intersect,\n this.onObserve,\n ],\n ])\n },\n})\n"],"sourceRoot":"","file":"VProgressLinear.js"}
|
|
@@ -7,6 +7,7 @@ import { BaseItemGroup } from '../VItemGroup/VItemGroup'; // Utilities
|
|
|
7
7
|
|
|
8
8
|
import { mergeProps, h } from 'vue';
|
|
9
9
|
import mixins from '../../util/mixins';
|
|
10
|
+
import { breaking } from '../../util/console';
|
|
10
11
|
const baseMixins = mixins(VInput, BaseItemGroup);
|
|
11
12
|
/* @vue/component */
|
|
12
13
|
|
|
@@ -45,6 +46,16 @@ export default baseMixins.extend({
|
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
},
|
|
49
|
+
|
|
50
|
+
created() {
|
|
51
|
+
const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue'], ['onChange', 'onUpdate:modelValue']];
|
|
52
|
+
/* istanbul ignore next */
|
|
53
|
+
|
|
54
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
55
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
|
|
48
59
|
methods: {
|
|
49
60
|
genDefaultSlot() {
|
|
50
61
|
return h('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,yDAAP;AACA,OAAO,sDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,WAAnB;AACA,SAAS,aAAT,QAA8B,0BAA9B,C,CAEA;;AACA,SAAS,UAAT,EAAqB,CAArB,QAA8B,KAA9B;AACA,OAAO,MAAP,MAAmB,mBAAnB;AAKA,MAAM,UAAU,GAAG,MAAM,CACvB,MADuB,EAEvB,aAFuB,CAAzB;AAKA;;AACA,eAAe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,eADyB;;AAG/B,EAAA,OAAO,GAAA;AACL,WAAO;AACL,MAAA,UAAU,EAAE;AADP,KAAP;AAGD,GAP8B;;AAS/B,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,OADA;AAEN,MAAA,OAAO,EAAE;AAFH,KADH;AAKL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KALH;AASL,IAAA,IAAI,EAAE,MATD;AAUL,IAAA,GAAG,EAAE,OAVA;AAWL;AACA;AACA;AACA,IAAA,UAAU,EAAE;AAdP,GATwB;AA0B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO,EACL,GAAG,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CADE;AAEL,4DAAoD,IAF/C;AAGL,wCAAgC,KAAK,MAAL,IAAe,CAAC,KAAK,GAHhD;AAIL,qCAA6B,KAAK;AAJ7B,OAAP;AAMD;;AARO,GA1BqB
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Utilities\nimport { mergeProps, h } from 'vue'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst baseMixins = mixins(\n VInput,\n BaseItemGroup,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n modelValue: null as unknown as PropType<any>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ['onChange', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n genDefaultSlot () {\n return h('div', {\n class: 'v-input--radio-group__input',\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n }, VInput.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.methods.genInputSlot.call(this)\n\n delete render.props!.onClick\n\n return render\n },\n genLabel () {\n const label = VInput.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.methods.onClick,\n },\n\n render () {\n const vnode = VInput.render.call(this)\n\n vnode.props = mergeProps(vnode.props, this.attrs$);\n\n return vnode\n },\n})\n"],"sourceRoot":"","file":"VRadioGroup.js"}
|
|
@@ -13,6 +13,7 @@ import Ripple from '../../directives/ripple'; // Utilities
|
|
|
13
13
|
|
|
14
14
|
import { createRange } from '../../util/helpers';
|
|
15
15
|
import mixins from '../../util/mixins';
|
|
16
|
+
import { breaking } from '../../util/console';
|
|
16
17
|
/* @vue/component */
|
|
17
18
|
|
|
18
19
|
export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).extend({
|
|
@@ -102,6 +103,16 @@ export default mixins(Colorable, Delayable, Rippleable, Sizeable, Themeable).ext
|
|
|
102
103
|
}
|
|
103
104
|
|
|
104
105
|
},
|
|
106
|
+
|
|
107
|
+
created() {
|
|
108
|
+
const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
109
|
+
/* istanbul ignore next */
|
|
110
|
+
|
|
111
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
112
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
|
|
105
116
|
watch: {
|
|
106
117
|
internalValue(val) {
|
|
107
118
|
val !== this.modelValue && this.$emit('update:modelValue', val);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n emits: ['update:modelValue'],\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.modelValue,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n return [\n [\n Ripple,\n { circle: true, isDirActive: !this.readonly && this.ripple }\n ]\n ]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.modelValue && this.$emit('update:modelValue', val)\n },\n modelValue (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n onClick: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$slots.item) return this.$slots.item(props)\n\n const listeners: Record<string, Function> = {\n onClick: props.onClick,\n }\n\n if (this.hover) {\n listeners.onMouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.onMouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.onMousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return withDirectives(h(VIcon, this.setTextColor(this.getColor(props), {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n ...this.iconProps,\n ...listeners,\n }), {default: () => [this.getIconName(props)]}), this.directives)\n },\n },\n\n render (): VNode {\n // const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n class: ['v-rating',\n {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n }\n ]\n }, {default: () => createRange(Number(this.length)).map(i => this.genItem(i)) })\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VRating.sass'\n\n// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Sizeable from '../../mixins/sizeable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Ripple from '../../directives/ripple'\n\n// Utilities\nimport { createRange } from '../../util/helpers'\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, VNodeDirective, VNodeChildren } from 'vue'\n\ntype ItemSlotProps = {\n index: number\n value: number\n isFilled: boolean\n isHalfFilled?: boolean | undefined\n isHovered: boolean\n isHalfHovered?: boolean | undefined\n click: Function\n}\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Delayable,\n Rippleable,\n Sizeable,\n Themeable\n).extend({\n name: 'v-rating',\n\n props: {\n backgroundColor: {\n type: String,\n default: 'accent',\n },\n color: {\n type: String,\n default: 'primary',\n },\n clearable: Boolean,\n dense: Boolean,\n emptyIcon: {\n type: String,\n default: '$ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$ratingHalf',\n },\n halfIncrements: Boolean,\n hover: Boolean,\n length: {\n type: [Number, String],\n default: 5,\n },\n readonly: Boolean,\n size: [Number, String],\n modelValue: {\n type: Number,\n default: 0,\n },\n iconLabel: {\n type: String,\n default: '$vuetify.rating.ariaLabel.icon',\n },\n },\n\n emits: ['update:modelValue'],\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.modelValue,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n return [\n [\n Ripple,\n { circle: true, isDirActive: !this.readonly && this.ripple }\n ]\n ]\n },\n iconProps (): object {\n const {\n dark,\n large,\n light,\n medium,\n small,\n size,\n xLarge,\n xSmall,\n } = this\n\n return {\n dark,\n large,\n light,\n medium,\n size,\n small,\n xLarge,\n xSmall,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n watch: {\n internalValue (val) {\n val !== this.modelValue && this.$emit('update:modelValue', val)\n },\n modelValue (val) {\n this.internalValue = val\n },\n },\n\n methods: {\n createClickFn (i: number): Function {\n return (e: MouseEvent) => {\n if (this.readonly) return\n\n const newValue = this.genHoverIndex(e, i)\n if (this.clearable && this.internalValue === newValue) {\n this.internalValue = 0\n } else {\n this.internalValue = newValue\n }\n }\n },\n createProps (i: number): ItemSlotProps {\n const props: ItemSlotProps = {\n index: i,\n value: this.internalValue,\n onClick: this.createClickFn(i),\n isFilled: Math.floor(this.internalValue) > i,\n isHovered: Math.floor(this.hoverIndex) > i,\n }\n\n if (this.halfIncrements) {\n props.isHalfHovered = !props.isHovered && (this.hoverIndex - i) % 1 > 0\n props.isHalfFilled = !props.isFilled && (this.internalValue - i) % 1 > 0\n }\n\n return props\n },\n genHoverIndex (e: MouseEvent, i: number) {\n let isHalf = this.isHalfEvent(e)\n\n if (\n this.halfIncrements &&\n this.$vuetify.rtl\n ) {\n isHalf = !isHalf\n }\n\n return i + (isHalf ? 0.5 : 1)\n },\n getIconName (props: ItemSlotProps): string {\n const isFull = this.isHovering ? props.isHovered : props.isFilled\n const isHalf = this.isHovering ? props.isHalfHovered : props.isHalfFilled\n\n return isFull ? this.fullIcon : isHalf ? this.halfIcon : this.emptyIcon\n },\n getColor (props: ItemSlotProps): string {\n if (this.isHovering) {\n if (props.isHovered || props.isHalfHovered) return this.color\n } else {\n if (props.isFilled || props.isHalfFilled) return this.color\n }\n\n return this.backgroundColor\n },\n isHalfEvent (e: MouseEvent): boolean {\n if (this.halfIncrements) {\n const rect = e.target && (e.target as HTMLElement).getBoundingClientRect()\n if (rect && (e.pageX - rect.left) < rect.width / 2) return true\n }\n\n return false\n },\n onMouseEnter (e: MouseEvent, i: number): void {\n this.runDelay('open', () => {\n this.hoverIndex = this.genHoverIndex(e, i)\n })\n },\n onMouseLeave (): void {\n this.runDelay('close', () => (this.hoverIndex = -1))\n },\n genItem (i: number): VNode | VNodeChildren | string {\n const props = this.createProps(i)\n\n if (this.$slots.item) return this.$slots.item(props)\n\n const listeners: Record<string, Function> = {\n onClick: props.onClick,\n }\n\n if (this.hover) {\n listeners.onMouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.onMouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.onMousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return withDirectives(h(VIcon, this.setTextColor(this.getColor(props), {\n 'aria-label': this.$vuetify.lang.t(this.iconLabel, i + 1, Number(this.length)),\n ...this.iconProps,\n ...listeners,\n }), {default: () => [this.getIconName(props)]}), this.directives)\n },\n },\n\n render (): VNode {\n // const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n class: ['v-rating',\n {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n }\n ]\n }, {default: () => createRange(Number(this.length)).map(i => this.genItem(i)) })\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|
|
@@ -17,7 +17,7 @@ import ClickOutside from '../../directives/click-outside'; // Utilities
|
|
|
17
17
|
|
|
18
18
|
import mergeData from '../../util/mergeData';
|
|
19
19
|
import { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers';
|
|
20
|
-
import { consoleError } from '../../util/console'; // Types
|
|
20
|
+
import { consoleError, breaking } from '../../util/console'; // Types
|
|
21
21
|
|
|
22
22
|
import mixins from '../../util/mixins';
|
|
23
23
|
import { withDirectives, h } from 'vue';
|
|
@@ -43,6 +43,7 @@ export default baseMixins.extend({
|
|
|
43
43
|
type: null,
|
|
44
44
|
default: false
|
|
45
45
|
},
|
|
46
|
+
auto: Boolean,
|
|
46
47
|
cacheItems: Boolean,
|
|
47
48
|
chips: Boolean,
|
|
48
49
|
clearable: Boolean,
|
|
@@ -74,6 +75,7 @@ export default baseMixins.extend({
|
|
|
74
75
|
type: [String, Array, Object],
|
|
75
76
|
default: () => defaultMenuProps
|
|
76
77
|
},
|
|
78
|
+
minWidth: [String, Number],
|
|
77
79
|
multiple: Boolean,
|
|
78
80
|
openOnClear: Boolean,
|
|
79
81
|
returnObject: Boolean,
|
|
@@ -222,48 +224,35 @@ export default baseMixins.extend({
|
|
|
222
224
|
eager: this.eager,
|
|
223
225
|
modelValue: this.menuCanShow && this.isMenuActive,
|
|
224
226
|
nudgeBottom: normalisedProps.offsetY ? 1 : 0,
|
|
227
|
+
auto: this.auto,
|
|
228
|
+
minWidth: this.minWidth,
|
|
225
229
|
...normalisedProps
|
|
226
230
|
};
|
|
227
231
|
}
|
|
228
232
|
|
|
229
233
|
},
|
|
234
|
+
watch: {
|
|
235
|
+
internalValue: {
|
|
236
|
+
handler(val) {
|
|
237
|
+
this.initialValue = val;
|
|
238
|
+
this.setSelectedItems();
|
|
230
239
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
const attrs = this.$el.attributes;
|
|
235
|
-
|
|
236
|
-
for (let i = 0; i < attrs.length; i++) {
|
|
237
|
-
const attr = attrs[i];
|
|
238
|
-
|
|
239
|
-
if (attr.name.startsWith('data-v-')) {
|
|
240
|
-
this.detectedScopeId = attr.name; // scopeId найден и сохранен для использования в dropdown
|
|
240
|
+
if (this.multiple) {
|
|
241
|
+
this.$nextTick(() => {
|
|
242
|
+
var _a;
|
|
241
243
|
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
+
(_a = this.$refs.menu) === null || _a === void 0 ? void 0 : _a.updateDimensions();
|
|
245
|
+
});
|
|
244
246
|
}
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
},
|
|
248
|
-
|
|
249
|
-
watch: {
|
|
250
|
-
internalValue(val) {
|
|
251
|
-
this.initialValue = val;
|
|
252
|
-
this.setSelectedItems();
|
|
253
|
-
|
|
254
|
-
if (this.multiple) {
|
|
255
|
-
this.$nextTick(() => {
|
|
256
|
-
var _a;
|
|
257
247
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
248
|
+
if (this.hideSelected) {
|
|
249
|
+
this.$nextTick(() => {
|
|
250
|
+
this.onScroll();
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
},
|
|
261
254
|
|
|
262
|
-
|
|
263
|
-
this.$nextTick(() => {
|
|
264
|
-
this.onScroll();
|
|
265
|
-
});
|
|
266
|
-
}
|
|
255
|
+
deep: true
|
|
267
256
|
},
|
|
268
257
|
|
|
269
258
|
isMenuActive(val) {
|
|
@@ -288,6 +277,34 @@ export default baseMixins.extend({
|
|
|
288
277
|
|
|
289
278
|
}
|
|
290
279
|
},
|
|
280
|
+
|
|
281
|
+
created() {
|
|
282
|
+
const breakingProps = [['value', 'modelValue'], ['onInput', 'onUpdate:modelValue']];
|
|
283
|
+
/* istanbul ignore next */
|
|
284
|
+
|
|
285
|
+
breakingProps.forEach(([original, replacement]) => {
|
|
286
|
+
if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);
|
|
287
|
+
});
|
|
288
|
+
},
|
|
289
|
+
|
|
290
|
+
mounted() {
|
|
291
|
+
this.$nextTick(() => {
|
|
292
|
+
if (this.$el && this.$el.attributes) {
|
|
293
|
+
const attrs = this.$el.attributes;
|
|
294
|
+
|
|
295
|
+
for (let i = 0; i < attrs.length; i++) {
|
|
296
|
+
const attr = attrs[i];
|
|
297
|
+
|
|
298
|
+
if (attr.name.startsWith('data-v-')) {
|
|
299
|
+
this.detectedScopeId = attr.name; // scopeId найден и сохранен для использования в dropdown
|
|
300
|
+
|
|
301
|
+
break;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
},
|
|
307
|
+
|
|
291
308
|
methods: {
|
|
292
309
|
/** @public */
|
|
293
310
|
blur(e) {
|
|
@@ -452,7 +469,7 @@ export default baseMixins.extend({
|
|
|
452
469
|
}
|
|
453
470
|
|
|
454
471
|
return h('input', {
|
|
455
|
-
value
|
|
472
|
+
value,
|
|
456
473
|
type: 'hidden',
|
|
457
474
|
name: this.$attrs.name
|
|
458
475
|
});
|
|
@@ -508,7 +525,7 @@ export default baseMixins.extend({
|
|
|
508
525
|
return h(VMenu, {
|
|
509
526
|
role: undefined,
|
|
510
527
|
...props,
|
|
511
|
-
|
|
528
|
+
'onUpdate:modelValue': val => {
|
|
512
529
|
this.isMenuActive = val;
|
|
513
530
|
this.isFocused = val;
|
|
514
531
|
},
|
|
@@ -825,7 +842,6 @@ export default baseMixins.extend({
|
|
|
825
842
|
setValue(value) {
|
|
826
843
|
if (!this.valueComparator(value, this.internalValue)) {
|
|
827
844
|
this.internalValue = value;
|
|
828
|
-
this.$emit('update:modelValue', value); // Note: change event is already emitted by VInput's internalValue setter
|
|
829
845
|
}
|
|
830
846
|
},
|
|
831
847
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'keydown', 'click', 'update:list-index'],\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n detectedScopeId: null as string | null,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$?.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n }\n ]\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n return {\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem,\n }\n },\n listAttrs (): object {\n const scopeIdAttrs: Record<string, any> = {}\n\n // Используем detectedScopeId из mounted hook\n if (this.detectedScopeId) {\n scopeIdAttrs[this.detectedScopeId] = ''\n }\n\n // scopeId успешно передается в VSelectList\n\n return scopeIdAttrs\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, {\n item: this.$slots.item,\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n mounted () {\n this.$nextTick(() => {\n if (this.$el && this.$el.attributes) {\n const attrs = this.$el.attributes\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i]\n if (attr.name.startsWith('data-v-')) {\n this.detectedScopeId = attr.name\n // scopeId найден и сохранен для использования в dropdown\n break\n }\n }\n }\n })\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n modelValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item)),\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled,\n }],\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot'\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]), this.directives),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const iconChild = icon.children![0]\n const hasListeners = Object.keys(iconChild.props || {}).some(key => key.startsWith('on'))\n iconChild.props = mergeData(iconChild.props || {}, {\n tabindex: hasListeners ? '-1' : undefined,\n 'aria-hidden': 'true',\n 'aria-label': undefined\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress,\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n let value = this.lazyValue\n\n if (this.multiple && Array.isArray(value)) {\n value = value.map(item => {\n if (typeof item === 'object' && item !== null) {\n return this.getValue(item)\n }\n return item\n }).join(',')\n } else if (typeof value === 'object' && value !== null) {\n value = this.getValue(value)\n }\n\n return h('input', {\n value: value,\n type: 'hidden',\n name: this.$attrs.name\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName]\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, {...slots, item: this.$slots.item})\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n onInput: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu',\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n this.$emit('update:modelValue', value)\n // Note: change event is already emitted by VInput's internalValue setter\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSelect/VSelect.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../VTextField/VTextField.sass'\nimport './VSelect.sass'\n\n// Components\nimport VChip from '../VChip'\nimport VMenu from '../VMenu'\nimport VSelectList from './VSelectList'\n\n// Extensions\nimport VInput from '../VInput'\nimport VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Dependent from '../../mixins/dependent'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport { getPropertyFromItem, getObjectValueByPath, keyCodes, normalizeAttrs } from '../../util/helpers'\nimport { consoleError, breaking } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { VNode, VNodeDirective, PropType, VNodeData, withDirectives, h } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport { SelectItemKey } from 'vuetify/types'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Dependent,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n content: HTMLElement\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n 'append-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-select',\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n type: null as unknown as PropType<string | boolean | Element | VNode>,\n default: false,\n },\n auto: Boolean,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n disableLookup: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n } as PropValidator<any[]>,\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'disabled',\n },\n itemText: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'text',\n },\n itemValue: {\n type: [String, Array, Function] as PropType<SelectItemKey>,\n default: 'value',\n },\n menuProps: {\n type: [String, Array, Object],\n default: () => defaultMenuProps,\n },\n minWidth: [String, Number],\n multiple: Boolean,\n openOnClear: Boolean,\n returnObject: Boolean,\n smallChips: Boolean,\n },\n\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'keydown', 'click', 'update:list-index'],\n\n data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n menuIsBooted: false,\n isMenuActive: false,\n lastItem: 20,\n // As long as a value is defined, show it\n // Otherwise, check if multiple\n // to determine which default to provide\n lazyValue: this.modelValue !== undefined\n ? this.modelValue\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\n detectedScopeId: null as string | null,\n }\n },\n\n computed: {\n /* All items that the select has */\n allItems (): object[] {\n return this.filterDuplicates(this.cachedItems.concat(this.items))\n },\n classes (): object {\n return {\n ...VTextField.computed.classes.call(this),\n 'v-select': true,\n 'v-select--chips': this.hasChips,\n 'v-select--chips--small': this.smallChips,\n 'v-select--is-menu-active': this.isMenuActive,\n 'v-select--is-multi': this.multiple,\n }\n },\n /* Used by other components to overwrite */\n computedItems (): object[] {\n return this.allItems\n },\n computedOwns (): string {\n return `list-${this.$?.uid}`\n },\n computedCounterValue (): number {\n const value = this.multiple\n ? this.selectedItems\n : (this.getText(this.selectedItems[0]) ?? '').toString()\n\n if (typeof this.counterValue === 'function') {\n return this.counterValue(value)\n }\n\n return value.length\n },\n directives (): VNodeDirective[] | undefined {\n return [\n [\n ClickOutside,\n {\n handler: () => this.isFocused && this.blur(),\n closeConditional: this.closeConditional,\n include: () => this.getOpenDependentElements(),\n },\n ],\n ]\n },\n dynamicHeight () {\n return 'auto'\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n hasSlot (): boolean {\n return Boolean(this.hasChips || this.$slots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n return {\n id: this.computedOwns,\n action: this.multiple,\n color: this.itemColor,\n dense: this.dense,\n hideSelected: this.hideSelected,\n items: this.virtualizedItems,\n itemDisabled: this.itemDisabled,\n itemText: this.itemText,\n itemValue: this.itemValue,\n noDataText: this.$vuetify.lang.t(this.noDataText),\n selectedItems: this.selectedItems,\n onSelect: this.selectItem,\n }\n },\n listAttrs (): object {\n const scopeIdAttrs: Record<string, any> = {}\n\n // Используем detectedScopeId из mounted hook\n if (this.detectedScopeId) {\n scopeIdAttrs[this.detectedScopeId] = ''\n }\n\n // scopeId успешно передается в VSelectList\n\n return scopeIdAttrs\n },\n staticList (): VNode {\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n consoleError('assert: staticList should not be called if slots are used')\n }\n\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, {\n item: this.$slots.item,\n })\n },\n virtualizedItems (): object[] {\n return (this.$_menuProps as any).auto\n ? this.computedItems\n : this.computedItems.slice(0, this.lastItem)\n },\n menuCanShow: () => true,\n $_menuProps (): object {\n let normalisedProps = typeof this.menuProps === 'string'\n ? this.menuProps.split(',')\n : this.menuProps\n\n if (Array.isArray(normalisedProps)) {\n normalisedProps = normalisedProps.reduce((acc, p) => {\n acc[p.trim()] = true\n return acc\n }, {})\n }\n\n return {\n ...defaultMenuProps,\n eager: this.eager,\n modelValue: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n auto: this.auto,\n minWidth: this.minWidth,\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue: {\n handler (val) {\n this.initialValue = val\n this.setSelectedItems()\n\n if (this.multiple) {\n this.$nextTick(() => {\n this.$refs.menu?.updateDimensions()\n })\n }\n if (this.hideSelected) {\n this.$nextTick(() => {\n this.onScroll()\n })\n }\n },\n deep: true,\n },\n isMenuActive (val) {\n window.setTimeout(() => this.onMenuActiveChange(val))\n },\n items: {\n immediate: true,\n handler (val) {\n if (this.cacheItems) {\n // Breaks vue-test-utils if\n // this isn't calculated\n // on the next tick\n this.$nextTick(() => {\n this.cachedItems = this.filterDuplicates(this.cachedItems.concat(val))\n })\n }\n\n this.setSelectedItems()\n },\n },\n },\n\n created () {\n const breakingProps = [\n ['value', 'modelValue'],\n ['onInput', 'onUpdate:modelValue'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n this.$nextTick(() => {\n if (this.$el && this.$el.attributes) {\n const attrs = this.$el.attributes\n for (let i = 0; i < attrs.length; i++) {\n const attr = attrs[i]\n if (attr.name.startsWith('data-v-')) {\n this.detectedScopeId = attr.name\n // scopeId найден и сохранен для использования в dropdown\n break\n }\n }\n }\n })\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n this.setMenuIndex(-1)\n },\n /** @public */\n activateMenu () {\n if (\n !this.isInteractive ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : null)\n this.setMenuIndex(-1)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n if (!this.isMenuActive) return true\n\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n // Multiple selects don't close when an item is clicked\n (!this.getContent() ||\n !this.getContent().contains(e.target as Node)) &&\n\n // Click originates from outside the element\n this.$el &&\n !this.$el.contains(e.target as Node) &&\n e.target !== this.$el\n )\n },\n filterDuplicates (arr: any[]) {\n const uniqueValues = new Map()\n for (let index = 0; index < arr.length; ++index) {\n const item = arr[index]\n\n // Do not return null values if existant (#14421)\n if (item == null) {\n continue\n }\n // Do not deduplicate headers or dividers (#12517)\n if (item.header || item.divider) {\n uniqueValues.set(item, item)\n continue\n }\n\n const val = this.getValue(item)\n\n // TODO: comparator\n !uniqueValues.has(val) && uniqueValues.set(val, item)\n }\n return Array.from(uniqueValues.values())\n },\n findExistingIndex (item: object) {\n const itemValue = this.getValue(item)\n\n return (this.internalValue || []).findIndex((i: object) => this.valueComparator(this.getValue(i), itemValue))\n },\n getContent () {\n return this.$refs.menu && this.$refs.menu.$refs.content\n },\n genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n const isInteractive = !isDisabled && this.isInteractive\n\n return h(VChip, {\n class: 'v-chip--select',\n tabindex: -1,\n close: this.deletableChips && isInteractive,\n disabled: isDisabled,\n modelValue: index === this.selectedIndex,\n small: this.smallChips,\n onClick: (e: MouseEvent) => {\n if (!isInteractive) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n 'onClick:close': () => this.onChipInput(item),\n key: JSON.stringify(this.getValue(item)),\n }, () => this.getText(item))\n },\n genCommaSelection (item: object, index: number, last: boolean) {\n const color = index === this.selectedIndex && this.computedColor\n const isDisabled = (\n this.isDisabled ||\n this.getDisabled(item)\n )\n\n return h('div', this.setTextColor(color, {\n class: ['v-select__selection v-select__selection--comma', {\n 'v-select__selection--disabled': isDisabled,\n }],\n key: JSON.stringify(this.getValue(item)),\n }), `${this.getText(item)}${last ? '' : ', '}`)\n },\n genDefaultSlot (): (VNode | VNode[] | null)[] {\n const selections = this.genSelections()\n const input = this.genInput()\n\n // If the return is an empty array\n // push the input\n if (Array.isArray(selections)) {\n selections.push(input)\n // Otherwise push it into children\n } else {\n selections.children = selections.children || []\n selections.children.push(input)\n }\n\n return [\n this.genFieldset(),\n withDirectives(h('div', {\n class: 'v-select__slot',\n }, [\n this.genLabel(),\n this.prefix ? this.genAffix('prefix') : null,\n selections,\n this.suffix ? this.genAffix('suffix') : null,\n this.genClearIcon(),\n this.genIconSlot(),\n this.genHiddenInput(),\n ]), this.directives),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData?: VNodeData\n ) {\n const icon = VInput.methods.genIcon.call(this, type, cb, extraData)\n\n if (type === 'append') {\n // Don't allow the dropdown icon to be focused\n const iconChild = icon.children![0]\n const hasListeners = Object.keys(iconChild.props || {}).some(key => key.startsWith('on'))\n iconChild.props = mergeData(iconChild.props || {}, {\n tabindex: hasListeners ? '-1' : undefined,\n 'aria-hidden': 'true',\n 'aria-label': undefined,\n })\n }\n\n return icon\n },\n genInput (): VNode {\n const input = VTextField.methods.genInput.call(this)\n\n delete input.props.name\n\n input.props = mergeData(input.props, {\n readonly: true,\n type: 'text',\n 'aria-readonly': String(this.isReadonly),\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n placeholder: (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) ? this.placeholder : undefined,\n onKeypress: this.onKeyPress,\n })\n\n input.props = { ...input.props, value: null }\n input.props = normalizeAttrs(input.props)\n\n return input\n },\n genHiddenInput (): VNode {\n let value = this.lazyValue\n\n if (this.multiple && Array.isArray(value)) {\n value = value.map(item => {\n if (typeof item === 'object' && item !== null) {\n return this.getValue(item)\n }\n return item\n }).join(',')\n } else if (typeof value === 'object' && value !== null) {\n value = this.getValue(value)\n }\n\n return h('input', {\n value,\n type: 'hidden',\n name: this.$attrs.name,\n })\n },\n genInputSlot (): VNode {\n const render = VTextField.methods.genInputSlot.call(this)\n\n render.props = {\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\n ...render.props,\n }\n\n return render\n },\n genList (): VNode {\n // If there's no slots, we can use a cached VNode to improve performance\n if (this.$slots['no-data'] || this.$slots['prepend-item'] || this.$slots['append-item']) {\n return this.genListWithSlot()\n } else {\n return this.staticList\n }\n },\n genListWithSlot (): VNode {\n const slots = Object.fromEntries(['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => [\n slotName,\n this.$slots[slotName],\n ]\n ))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return h(VSelectList, {\n ...this.listData,\n ...this.listAttrs,\n }, { ...slots, item: this.$slots.item })\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n if ('attach' in props) void 0\n else if (\n // TODO: make this a computed property or helper or something\n this.attach === '' || // If used as a boolean prop (<v-menu attach>)\n this.attach === true || // If bound to a boolean (<v-menu :attach=\"true\">)\n this.attach === 'attach' // If bound as boolean prop in pug (v-menu(attach))\n ) {\n // Attach to root el so that\n // menu covers prepend/append icons\n props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return h(VMenu, {\n role: undefined,\n ...props,\n 'onUpdate:modelValue': (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n onScroll: this.onScroll,\n ref: 'menu',\n }, () => [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n\n const children = new Array(length)\n\n let genSelection\n if (this.$slots.selection) {\n genSelection = this.genSlotSelection\n } else if (this.hasChips) {\n genSelection = this.genChipSelection\n } else {\n genSelection = this.genCommaSelection\n }\n\n while (length--) {\n children[length] = genSelection(\n this.selectedItems[length],\n length,\n length === children.length - 1\n )\n }\n\n return h('div', {\n class: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$slots.selection!({\n class: 'v-chip--select',\n parent: this,\n item,\n index,\n select: (e: Event) => {\n e.stopPropagation()\n this.selectedIndex = index\n },\n selected: index === this.selectedIndex,\n disabled: !this.isInteractive,\n })\n },\n getMenuIndex () {\n return this.$refs.menu ? (this.$refs.menu as { [key: string]: any }).listIndex : -1\n },\n getDisabled (item: object) {\n return getPropertyFromItem(item, this.itemDisabled, false)\n },\n getText (item: object) {\n return getPropertyFromItem(item, this.itemText, item)\n },\n getValue (item: object) {\n return getPropertyFromItem(item, this.itemValue, this.getText(item))\n },\n onBlur (e?: Event) {\n e && this.$emit('blur', e)\n },\n onChipInput (item: object) {\n if (this.multiple) this.selectItem(item)\n else this.setValue(null)\n // If all items have been deleted,\n // open `v-menu`\n if (this.selectedItems.length === 0) {\n this.isMenuActive = true\n } else {\n this.isMenuActive = false\n }\n this.selectedIndex = -1\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n if (!this.isAppendInner(e.target)) {\n this.isMenuActive = true\n }\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\n\n this.$emit('click', e)\n },\n onEscDown (e: Event) {\n e.preventDefault()\n if (this.isMenuActive) {\n e.stopPropagation()\n this.isMenuActive = false\n }\n },\n onKeyPress (e: KeyboardEvent) {\n if (\n this.multiple ||\n !this.isInteractive ||\n this.disableLookup ||\n e.key.length > 1 ||\n e.ctrlKey || e.metaKey || e.altKey\n ) return\n\n const KEYBOARD_LOOKUP_THRESHOLD = 1000 // milliseconds\n const now = performance.now()\n if (now - this.keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {\n this.keyboardLookupPrefix = ''\n }\n this.keyboardLookupPrefix += e.key.toLowerCase()\n this.keyboardLookupLastTime = now\n\n const index = this.allItems.findIndex(item => {\n const text = (this.getText(item) ?? '').toString()\n\n return text.toLowerCase().startsWith(this.keyboardLookupPrefix)\n })\n const item = this.allItems[index]\n if (index !== -1) {\n this.lastItem = Math.max(this.lastItem, index + 5)\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n if (this.isReadonly && e.keyCode !== keyCodes.tab) return\n\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n this.$emit('keydown', e)\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end, keyCodes.enter].includes(keyCode)) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n // If menu is not active, up/down/home/end can do\n // one of 2 things. If multiple, opens the\n // menu, if not, will cycle through all\n // available options\n if (\n !this.isMenuActive &&\n [keyCodes.up, keyCodes.down, keyCodes.home, keyCodes.end].includes(keyCode)\n ) return this.onUpDown(e)\n\n // If escape deactivate the menu\n if (keyCode === keyCodes.esc) return this.onEscDown(e)\n\n // If tab - select item or close menu\n if (keyCode === keyCodes.tab) return this.onTabDown(e)\n\n // If space preventDefault\n if (keyCode === keyCodes.space) return this.onSpaceDown(e)\n },\n onMenuActiveChange (val: boolean) {\n // If menu is closing and mulitple\n // or menuIndex is already set\n // skip menu index recalculation\n if (\n (this.multiple && !val) ||\n this.getMenuIndex() > -1\n ) return\n\n const menu = this.$refs.menu\n\n if (!menu || !this.isDirty) return\n\n // When menu opens, set index of first active item\n this.$refs.menu.getTiles()\n for (let i = 0; i < menu.tiles.length; i++) {\n if (menu.tiles[i].getAttribute('aria-selected') === 'true') {\n this.setMenuIndex(i)\n break\n }\n }\n },\n onMouseUp (e: MouseEvent) {\n // eslint-disable-next-line sonarjs/no-collapsible-if\n if (\n this.hasMouseDown &&\n e.which !== 3 &&\n this.isInteractive\n ) {\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isAppendInner(e.target)) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n }\n }\n\n VTextField.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => {\n const content = this.getContent()\n if (content) content.scrollTop = 0\n })\n } else {\n if (this.lastItem > this.computedItems.length) return\n\n const showMoreItems = (\n this.getContent().scrollHeight -\n (this.getContent().scrollTop +\n this.getContent().clientHeight)\n ) < 200\n\n if (showMoreItems) {\n this.lastItem += 20\n }\n }\n },\n onSpaceDown (e: KeyboardEvent) {\n e.preventDefault()\n },\n onTabDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n const activeTile = menu.activeTile\n\n // An item that is selected by\n // menu-index should toggled\n if (\n !this.multiple &&\n activeTile &&\n this.isMenuActive\n ) {\n e.preventDefault()\n e.stopPropagation()\n\n activeTile.click()\n } else {\n // If we make it here,\n // the user has no selected indexes\n // and is probably tabbing out\n this.blur(e)\n }\n },\n onUpDown (e: KeyboardEvent) {\n const menu = this.$refs.menu\n\n if (!menu) return\n\n e.preventDefault()\n\n // Multiple selects do not cycle their value\n // when pressing up or down, instead activate\n // the menu\n if (this.multiple) return this.activateMenu()\n\n const keyCode = e.keyCode\n\n // Cycle through available values to achieve\n // select native behavior\n menu.isBooted = true\n\n window.requestAnimationFrame(() => {\n menu.getTiles()\n\n if (!menu.hasClickableTiles) return this.activateMenu()\n\n switch (keyCode) {\n case keyCodes.up:\n menu.prevTile()\n break\n case keyCodes.down:\n menu.nextTile()\n break\n case keyCodes.home:\n menu.firstTile()\n break\n case keyCodes.end:\n menu.lastTile()\n break\n }\n this.selectItem(this.allItems[this.getMenuIndex()])\n })\n },\n selectItem (item: object) {\n if (!this.multiple) {\n this.setValue(this.returnObject ? item : this.getValue(item))\n this.isMenuActive = false\n } else {\n const internalValue = (this.internalValue || []).slice()\n const i = this.findExistingIndex(item)\n\n i !== -1 ? internalValue.splice(i, 1) : internalValue.push(item)\n this.setValue(internalValue.map((i: object) => {\n return this.returnObject ? i : this.getValue(i)\n }))\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) {\n this.setMenuIndex(-1)\n } else {\n const index = this.computedItems.indexOf(item)\n if (~index) {\n this.$nextTick(() => this.$refs.menu.getTiles())\n setTimeout(() => this.setMenuIndex(index))\n }\n }\n }\n },\n setMenuIndex (index: number) {\n this.$refs.menu && ((this.$refs.menu as { [key: string]: any }).listIndex = index)\n },\n setSelectedItems () {\n const selectedItems = []\n const values = !this.multiple || !Array.isArray(this.internalValue)\n ? [this.internalValue]\n : this.internalValue\n\n for (const value of values) {\n const index = this.allItems.findIndex(v => this.valueComparator(\n this.getValue(v),\n this.getValue(value)\n ))\n\n if (index > -1) {\n selectedItems.push(this.allItems[index])\n }\n }\n\n this.selectedItems = selectedItems\n },\n setValue (value: any) {\n if (!this.valueComparator(value, this.internalValue)) {\n this.internalValue = value\n }\n },\n isAppendInner (target: any) {\n // return true if append inner is present\n // and the target is itself or inside\n const appendInner = this.$refs['append-inner']\n\n return appendInner && (appendInner === target || appendInner.contains(target))\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
|