vuetify 2.1.0-beta.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vuetify.css +50 -28
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +177 -93
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +3 -3
- package/es5/components/VAlert/VAlert.js +3 -18
- package/es5/components/VAlert/VAlert.js.map +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/es5/components/VCarousel/VCarousel.js +1 -1
- package/es5/components/VCarousel/VCarousel.js.map +1 -1
- package/es5/components/VCheckbox/VCheckbox.js +3 -3
- package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +3 -3
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VChip/VChip.js +2 -2
- package/es5/components/VChip/VChip.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js +1 -1
- package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js +1 -1
- package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +4 -4
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +3 -3
- package/es5/components/VDataTable/VDataTable.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 +2 -2
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDatePicker/VDatePickerHeader.js +2 -2
- package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +3 -0
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VFileInput/VFileInput.js +1 -1
- package/es5/components/VFileInput/VFileInput.js.map +1 -1
- package/es5/components/VInput/VInput.js +3 -0
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VLazy/VLazy.js +4 -2
- package/es5/components/VLazy/VLazy.js.map +1 -1
- package/es5/components/VList/VListGroup.js +2 -2
- package/es5/components/VList/VListGroup.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +3 -0
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +2 -2
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +2 -2
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRating/VRating.js +3 -3
- package/es5/components/VRating/VRating.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +1 -1
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VStepper/VStepperStep.js +3 -3
- package/es5/components/VStepper/VStepperStep.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +2 -2
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +2 -2
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTooltip/VTooltip.js +2 -1
- package/es5/components/VTooltip/VTooltip.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +5 -5
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +2 -2
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/directives/index.js +8 -0
- package/es5/directives/index.js.map +1 -1
- package/es5/directives/intersect/index.js +7 -6
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +71 -0
- package/es5/directives/mutate/index.js.map +1 -0
- package/es5/framework.js +1 -1
- package/es5/locale/et.js +8 -8
- package/es5/locale/et.js.map +1 -1
- package/es5/locale/hr.js +15 -15
- package/es5/locale/hr.js.map +1 -1
- package/es5/locale/sl.js +8 -8
- package/es5/locale/sl.js.map +1 -1
- package/es5/util/helpers.js +5 -5
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAlert/VAlert.js +3 -18
- package/lib/components/VAlert/VAlert.js.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.js +1 -1
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCheckbox/VCheckbox.js +3 -3
- package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -3
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VChip/VChip.js +2 -2
- package/lib/components/VChip/VChip.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js +1 -1
- package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +4 -4
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +3 -3
- package/lib/components/VDataTable/VDataTable.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 +2 -2
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerHeader.js +2 -2
- package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +3 -0
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +1 -1
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VInput/VInput.js +3 -0
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VLazy/VLazy.js +4 -2
- package/lib/components/VLazy/VLazy.js.map +1 -1
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +3 -0
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +2 -2
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +2 -2
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRating/VRating.js +3 -3
- package/lib/components/VRating/VRating.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +1 -1
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VStepper/VStepperStep.js +3 -3
- package/lib/components/VStepper/VStepperStep.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +2 -2
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTooltip/VTooltip.js +2 -1
- package/lib/components/VTooltip/VTooltip.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +5 -5
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +2 -2
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/index.js +1 -0
- package/lib/directives/index.js.map +1 -1
- package/lib/directives/intersect/index.js +5 -6
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +56 -0
- package/lib/directives/mutate/index.js.map +1 -0
- package/lib/framework.js +1 -1
- package/lib/locale/et.js +8 -8
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/hr.js +15 -15
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/sl.js +8 -8
- package/lib/locale/sl.js.map +1 -1
- package/lib/util/helpers.js +3 -4
- package/lib/util/helpers.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VAlert/VAlert.ts +3 -8
- package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +2 -2
- package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
- package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +1 -1
- package/src/components/VCalendar/VCalendarWeekly.sass +3 -0
- package/src/components/VCarousel/VCarousel.ts +1 -1
- package/src/components/VCheckbox/VCheckbox.ts +3 -3
- package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -3
- package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +1 -1
- package/src/components/VChip/VChip.ts +2 -2
- package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +1 -1
- package/src/components/VColorPicker/VColorPickerEdit.ts +1 -1
- package/src/components/VColorPicker/VColorPickerSwatches.ts +1 -1
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +5 -5
- package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +5 -5
- package/src/components/VDataIterator/VDataFooter.ts +4 -4
- package/src/components/VDataTable/VDataTable.ts +3 -3
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +191 -191
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +35 -35
- package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +3 -3
- package/src/components/VDataTable/mixins/header.ts +1 -1
- package/src/components/VDatePicker/VDatePicker.ts +2 -2
- package/src/components/VDatePicker/VDatePickerHeader.ts +2 -2
- package/src/components/VDialog/VDialog.sass +4 -7
- package/src/components/VDialog/VDialog.ts +6 -0
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +1 -1
- package/src/components/VFileInput/VFileInput.ts +1 -1
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +16 -16
- package/src/components/VIcon/__tests__/VIcon.spec.ts +11 -11
- package/src/components/VInput/VInput.sass +3 -0
- package/src/components/VInput/VInput.ts +3 -0
- package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +3 -1
- package/src/components/VLazy/VLazy.ts +4 -2
- package/src/components/VList/VListGroup.ts +2 -2
- package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +1 -1
- package/src/components/VMenu/VMenu.sass +3 -8
- package/src/components/VMenu/VMenu.ts +6 -0
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +2 -2
- package/src/components/VPagination/VPagination.ts +2 -2
- package/src/components/VRadioGroup/VRadio.ts +2 -2
- package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
- package/src/components/VRating/VRating.ts +3 -3
- package/src/components/VSelect/VSelect.ts +1 -1
- package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +7 -7
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +5 -5
- package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +1 -1
- package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
- package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +4 -4
- package/src/components/VStepper/VStepperStep.ts +3 -3
- package/src/components/VTabs/VTabs.ts +2 -2
- package/src/components/VTextField/VTextField.sass +35 -11
- package/src/components/VTextField/VTextField.ts +2 -2
- package/src/components/VTooltip/VTooltip.sass +5 -2
- package/src/components/VTooltip/VTooltip.ts +4 -0
- package/src/components/VTreeview/VTreeviewNode.ts +5 -5
- package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +2 -2
- package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +1 -1
- package/src/components/VWindow/VWindow.ts +2 -2
- package/src/directives/index.ts +1 -0
- package/src/directives/intersect/index.ts +6 -5
- package/src/directives/mutate/__tests__/mutate.spec.ts +130 -0
- package/src/directives/mutate/index.ts +63 -0
- package/src/globals.d.ts +3 -0
- package/src/locale/et.ts +8 -8
- package/src/locale/hr.ts +15 -15
- package/src/locale/sl.ts +8 -8
- package/src/styles/settings/_variables.scss +3 -3
- package/src/util/helpers.ts +3 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// 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'\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: '$vuetify.icons.ratingEmpty',\n },\n fullIcon: {\n type: String,\n default: '$vuetify.icons.ratingFull',\n },\n halfIcon: {\n type: String,\n default: '$vuetify.icons.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 value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n medium,\n large,\n light,\n small,\n size,\n xLarge,\n } = this.$props\n\n return {\n dark,\n medium,\n large,\n light,\n size,\n small,\n xLarge,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (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 click: 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 if (this.$vuetify.rtl) isHalf = !isHalf\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.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VRating/VRating.ts"],"names":[],"mappings":"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","sourcesContent":["// 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'\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 value: {\n type: Number,\n default: 0,\n },\n },\n\n data () {\n return {\n hoverIndex: -1,\n internalValue: this.value,\n }\n },\n\n computed: {\n directives (): VNodeDirective[] {\n if (this.readonly || !this.ripple) return []\n\n return [{\n name: 'ripple',\n value: { circle: true },\n } as VNodeDirective]\n },\n iconProps (): object {\n const {\n dark,\n medium,\n large,\n light,\n small,\n size,\n xLarge,\n } = this.$props\n\n return {\n dark,\n medium,\n large,\n light,\n size,\n small,\n xLarge,\n }\n },\n isHovering (): boolean {\n return this.hover && this.hoverIndex >= 0\n },\n },\n\n watch: {\n internalValue (val) {\n val !== this.value && this.$emit('input', val)\n },\n value (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 click: 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 if (this.$vuetify.rtl) isHalf = !isHalf\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.$scopedSlots.item) return this.$scopedSlots.item(props)\n\n const listeners: Record<string, Function> = {\n click: props.click,\n }\n\n if (this.hover) {\n listeners.mouseenter = (e: MouseEvent) => this.onMouseEnter(e, i)\n listeners.mouseleave = this.onMouseLeave\n\n if (this.halfIncrements) {\n listeners.mousemove = (e: MouseEvent) => this.onMouseEnter(e, i)\n }\n }\n\n return this.$createElement(VIcon, this.setTextColor(this.getColor(props), {\n directives: this.directives,\n props: this.iconProps,\n on: listeners,\n }), [this.getIconName(props)])\n },\n },\n\n render (h): VNode {\n const children = createRange(Number(this.length)).map(i => this.genItem(i))\n\n return h('div', {\n staticClass: 'v-rating',\n class: {\n 'v-rating--readonly': this.readonly,\n 'v-rating--dense': this.dense,\n },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VRating.js"}
|
|
@@ -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 VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport { getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode, VNodeDirective } from 'vue'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\ntype ItemProperty = PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$vuetify.icons.dropdown',\n },\n attach: {\n default: false,\n } as PropValidator<string | boolean | Element | VNode>,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as ItemProperty,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as ItemProperty,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as ItemProperty,\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 data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n content: null as any,\n isBooted: 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.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\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.options.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 counterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\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.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\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 },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\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 this.$createElement(VSelectList, this.listData)\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 value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n this.$nextTick(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.isBooted = true\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 mounted () {\n this.content = this.$refs.menu && (this.$refs.menu as { [key: string]: any }).$refs.content\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n this.content &&\n !this.content.contains(e.target) &&\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 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 genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n focus,\n 'click:close': () => this.onChipInput(item),\n },\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.color\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\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 this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\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 ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.domProps!.value = null\n input.data!.attrs!.readonly = true\n input.data!.attrs!.type = 'text'\n input.data!.attrs!['aria-readonly'] = true\n input.data!.on!.keypress = this.onKeyPress\n\n return input\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\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 = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n 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 props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.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 this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\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.disabled || this.readonly,\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 () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\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.readonly\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.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && keyCode !== keyCodes.tab) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If menu is not active, up and down 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].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 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 if (this.hasMouseDown && e.which !== 3) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n (appendInner as { [key: string]: any }).contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.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.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\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 // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // We only need to reset list index for multiple\n // to keep highlight when an item is toggled\n // on and off\n if (!this.multiple) return\n\n const listIndex = this.getMenuIndex()\n\n this.setMenuIndex(-1)\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) return\n\n this.$nextTick(() => this.setMenuIndex(listIndex))\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 const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\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 VTextField from '../VTextField/VTextField'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport Filterable from '../../mixins/filterable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Utilities\nimport { getPropertyFromItem, keyCodes } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropValidator } from 'vue/types/options'\nimport { VNode, VNodeDirective } from 'vue'\n\nexport const defaultMenuProps = {\n closeOnClick: false,\n closeOnContentClick: false,\n disableKeys: true,\n openOnClick: false,\n maxHeight: 304,\n}\n\n// Types\ntype ItemProperty = PropValidator<string | (string | number)[] | ((item: object, fallback?: any) => any)>\nconst baseMixins = mixins(\n VTextField,\n Comparable,\n Filterable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n menu: InstanceType<typeof VMenu>\n label: HTMLElement\n input: HTMLInputElement\n 'prepend-inner': HTMLElement\n prefix: HTMLElement\n suffix: HTMLElement\n }\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-select',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n appendIcon: {\n type: String,\n default: '$dropdown',\n },\n attach: {\n default: false,\n } as PropValidator<string | boolean | Element | VNode>,\n cacheItems: Boolean,\n chips: Boolean,\n clearable: Boolean,\n deletableChips: Boolean,\n eager: Boolean,\n hideSelected: Boolean,\n items: {\n type: Array,\n default: () => [],\n },\n itemColor: {\n type: String,\n default: 'primary',\n },\n itemDisabled: {\n type: [String, Array, Function],\n default: 'disabled',\n } as ItemProperty,\n itemText: {\n type: [String, Array, Function],\n default: 'text',\n } as ItemProperty,\n itemValue: {\n type: [String, Array, Function],\n default: 'value',\n } as ItemProperty,\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 data () {\n return {\n cachedItems: this.cacheItems ? this.items : [],\n content: null as any,\n isBooted: 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.value !== undefined\n ? this.value\n : this.multiple ? [] : undefined,\n selectedIndex: -1,\n selectedItems: [] as any[],\n keyboardLookupPrefix: '',\n keyboardLookupLastTime: 0,\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.options.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 counterValue (): number {\n return this.multiple\n ? this.selectedItems.length\n : (this.getText(this.selectedItems[0]) || '').toString().length\n },\n directives (): VNodeDirective[] | undefined {\n return this.isFocused ? [{\n name: 'click-outside',\n value: this.blur,\n args: {\n closeConditional: this.closeConditional,\n },\n } as VNodeDirective] : undefined\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.$scopedSlots.selection)\n },\n isDirty (): boolean {\n return this.selectedItems.length > 0\n },\n listData (): object {\n const scopeId = this.$vnode && (this.$vnode.context!.$options as { [key: string]: any })._scopeId\n const attrs = scopeId ? {\n [scopeId]: true,\n } : {}\n\n return {\n attrs: {\n ...attrs,\n id: this.computedOwns,\n },\n props: {\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 },\n on: {\n select: this.selectItem,\n },\n scopedSlots: {\n item: this.$scopedSlots.item,\n },\n }\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 this.$createElement(VSelectList, this.listData)\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 value: this.menuCanShow && this.isMenuActive,\n nudgeBottom: normalisedProps.offsetY ? 1 : 0, // convert to int\n ...normalisedProps,\n }\n },\n },\n\n watch: {\n internalValue (val) {\n this.initialValue = val\n this.setSelectedItems()\n },\n isBooted () {\n this.$nextTick(() => {\n if (this.content && this.content.addEventListener) {\n this.content.addEventListener('scroll', this.onScroll, false)\n }\n })\n },\n isMenuActive (val) {\n this.$nextTick(() => this.onMenuActiveChange(val))\n\n if (!val) return\n\n this.isBooted = true\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 mounted () {\n this.content = this.$refs.menu && (this.$refs.menu as { [key: string]: any }).$refs.content\n },\n\n methods: {\n /** @public */\n blur (e?: Event) {\n VTextField.options.methods.blur.call(this, e)\n this.isMenuActive = false\n this.isFocused = false\n this.selectedIndex = -1\n },\n /** @public */\n activateMenu () {\n if (\n this.disabled ||\n this.readonly ||\n this.isMenuActive\n ) return\n\n this.isMenuActive = true\n },\n clearableCallback () {\n this.setValue(this.multiple ? [] : undefined)\n this.$nextTick(() => this.$refs.input && this.$refs.input.focus())\n\n if (this.openOnClear) this.isMenuActive = true\n },\n closeConditional (e: Event) {\n return (\n !this._isDestroyed &&\n\n // Click originates from outside the menu content\n this.content &&\n !this.content.contains(e.target) &&\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 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 genChipSelection (item: object, index: number) {\n const isDisabled = (\n this.disabled ||\n this.readonly ||\n this.getDisabled(item)\n )\n\n return this.$createElement(VChip, {\n staticClass: 'v-chip--select',\n attrs: { tabindex: -1 },\n props: {\n close: this.deletableChips && !isDisabled,\n disabled: isDisabled,\n inputValue: index === this.selectedIndex,\n small: this.smallChips,\n },\n on: {\n click: (e: MouseEvent) => {\n if (isDisabled) return\n\n e.stopPropagation()\n\n this.selectedIndex = index\n },\n focus,\n 'click:close': () => this.onChipInput(item),\n },\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.color\n const isDisabled = (\n this.disabled ||\n this.getDisabled(item)\n )\n\n return this.$createElement('div', this.setTextColor(color, {\n staticClass: 'v-select__selection v-select__selection--comma',\n class: {\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 this.$createElement('div', {\n staticClass: 'v-select__slot',\n directives: this.directives,\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 ]),\n this.genMenu(),\n this.genProgress(),\n ]\n },\n genInput (): VNode {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.domProps!.value = null\n input.data!.attrs!.readonly = true\n input.data!.attrs!.type = 'text'\n input.data!.attrs!['aria-readonly'] = true\n input.data!.on!.keypress = this.onKeyPress\n\n return input\n },\n genInputSlot (): VNode {\n const render = VTextField.options.methods.genInputSlot.call(this)\n\n render.data!.attrs = {\n ...render.data!.attrs,\n role: 'button',\n 'aria-haspopup': 'listbox',\n 'aria-expanded': String(this.isMenuActive),\n 'aria-owns': this.computedOwns,\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 = ['prepend-item', 'no-data', 'append-item']\n .filter(slotName => this.$slots[slotName])\n .map(slotName => this.$createElement('template', {\n slot: slotName,\n }, this.$slots[slotName]))\n // Requires destructuring due to Vue\n // modifying the `on` property when passed\n // as a referenced object\n return this.$createElement(VSelectList, {\n ...this.listData,\n }, slots)\n },\n genMenu (): VNode {\n const props = this.$_menuProps as any\n props.activator = this.$refs['input-slot']\n\n // Attach to root el so that\n // menu covers prepend/append icons\n 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 props.attach = this.$el\n } else {\n props.attach = this.attach\n }\n\n return this.$createElement(VMenu, {\n attrs: { role: undefined },\n props,\n on: {\n input: (val: boolean) => {\n this.isMenuActive = val\n this.isFocused = val\n },\n },\n ref: 'menu',\n }, [this.genList()])\n },\n genSelections (): VNode {\n let length = this.selectedItems.length\n const children = new Array(length)\n\n let genSelection\n if (this.$scopedSlots.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 this.$createElement('div', {\n staticClass: 'v-select__selections',\n }, children)\n },\n genSlotSelection (item: object, index: number): VNode[] | undefined {\n return this.$scopedSlots.selection!({\n attrs: {\n class: 'v-chip--select',\n },\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.disabled || this.readonly,\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 () {\n if (this.isDisabled) return\n\n this.isMenuActive = true\n\n if (!this.isFocused) {\n this.isFocused = true\n this.$emit('focus')\n }\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.readonly\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.setValue(this.returnObject ? item : this.getValue(item))\n setTimeout(() => this.setMenuIndex(index))\n }\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n const menu = this.$refs.menu\n\n // If enter, space, open menu\n if ([\n keyCodes.enter,\n keyCodes.space,\n ].includes(keyCode)) this.activateMenu()\n\n if (!menu) return\n\n // If menu is active, allow default\n // listIndex change from menu\n if (this.isMenuActive && keyCode !== keyCodes.tab) {\n this.$nextTick(() => {\n menu.changeListIndex(e)\n this.$emit('update:list-index', menu.listIndex)\n })\n }\n\n // If menu is not active, up and down 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].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 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 if (this.hasMouseDown && e.which !== 3) {\n const appendInner = this.$refs['append-inner']\n\n // If append inner is present\n // and the target is itself\n // or inside, toggle menu\n if (this.isMenuActive &&\n appendInner &&\n (appendInner === e.target ||\n (appendInner as { [key: string]: any }).contains(e.target))\n ) {\n this.$nextTick(() => (this.isMenuActive = !this.isMenuActive))\n // If user is clicking in the container\n // and field is enclosed, activate it\n } else if (this.isEnclosed && !this.isDisabled) {\n this.isMenuActive = true\n }\n }\n\n VTextField.options.methods.onMouseUp.call(this, e)\n },\n onScroll () {\n if (!this.isMenuActive) {\n requestAnimationFrame(() => (this.content.scrollTop = 0))\n } else {\n if (this.lastItem >= this.computedItems.length) return\n\n const showMoreItems = (\n this.content.scrollHeight -\n (this.content.scrollTop +\n this.content.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.getTiles()\n keyCodes.up === keyCode ? menu.prevTile() : menu.nextTile()\n menu.activeTile && menu.activeTile.click()\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 // When selecting multiple\n // adjust menu after each\n // selection\n this.$nextTick(() => {\n this.$refs.menu &&\n (this.$refs.menu as { [key: string]: any }).updateDimensions()\n })\n\n // We only need to reset list index for multiple\n // to keep highlight when an item is toggled\n // on and off\n if (!this.multiple) return\n\n const listIndex = this.getMenuIndex()\n\n this.setMenuIndex(-1)\n\n // There is no item to re-highlight\n // when selections are hidden\n if (this.hideSelected) return\n\n this.$nextTick(() => this.setMenuIndex(listIndex))\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 const oldValue = this.internalValue\n this.internalValue = value\n value !== oldValue && this.$emit('change', value)\n },\n },\n})\n"],"sourceRoot":"","file":"VSelect.js"}
|
|
@@ -43,7 +43,7 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup
|
|
|
43
43
|
centerActive: Boolean,
|
|
44
44
|
nextIcon: {
|
|
45
45
|
type: String,
|
|
46
|
-
default: '$
|
|
46
|
+
default: '$next'
|
|
47
47
|
},
|
|
48
48
|
mobileBreakPoint: {
|
|
49
49
|
type: [Number, String],
|
|
@@ -54,7 +54,7 @@ var BaseSlideGroup = (0, _mixins.default)(_VItemGroup.BaseItemGroup
|
|
|
54
54
|
},
|
|
55
55
|
prevIcon: {
|
|
56
56
|
type: String,
|
|
57
|
-
default: '$
|
|
57
|
+
default: '$prev'
|
|
58
58
|
},
|
|
59
59
|
showArrows: Boolean
|
|
60
60
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ninterface TouchEvent {\n touchstartX: number\n touchmoveX: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<typeof BaseItemGroup>\n/* eslint-enable indent */\n>(\n BaseItemGroup\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n validator: (v: any) => !isNaN(parseInt(v)),\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n showArrows: Boolean,\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n return (\n (this.showArrows || !this.isMobile) &&\n this.isOverflowing\n )\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n isMobile (): boolean {\n return this.$vuetify.breakpoint.width < this.mobileBreakPoint\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n this.$refs.content.style.transform = `translateX(${-val}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n genNext (): VNode | null {\n if (!this.hasAffixes) return null\n\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n this.scrollOffset = this.startX - e.touchmoveX\n },\n onTouchEnd () {\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = this.calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = this.calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n calculateUpdatedOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean, currentScrollOffset: number): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft < currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth < itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n },\n calculateCenteredOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths /* istanbul ignore next */ () {\n window.requestAnimationFrame(() => {\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n this.isOverflowing = this.widths.wrapper < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode } from 'vue'\n\ninterface TouchEvent {\n touchstartX: number\n touchmoveX: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options extends Vue {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<typeof BaseItemGroup>\n/* eslint-enable indent */\n>(\n BaseItemGroup\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n directives: {\n Resize,\n Touch,\n },\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n validator: (v: any) => !isNaN(parseInt(v)),\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: Boolean,\n },\n\n data: () => ({\n internalItemsLength: 0,\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n return (\n (this.showArrows || !this.isMobile) &&\n this.isOverflowing\n )\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n isMobile (): boolean {\n return this.$vuetify.breakpoint.width < this.mobileBreakPoint\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n this.$refs.content.style.transform = `translateX(${-val}px)`\n },\n },\n\n beforeUpdate () {\n this.internalItemsLength = (this.$children || []).length\n },\n\n updated () {\n if (this.internalItemsLength === (this.$children || []).length) return\n this.setWidths()\n },\n\n methods: {\n genNext (): VNode | null {\n if (!this.hasAffixes) return null\n\n const slot = this.$scopedSlots.next\n ? this.$scopedSlots.next({})\n : this.$slots.next || this.__cachedNext\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__next',\n class: {\n 'v-slide-group__next--disabled': !this.hasNext,\n },\n on: {\n click: () => this.onAffixClick('next'),\n },\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__content',\n ref: 'content',\n }, this.$slots.default)\n },\n genData (): object {\n return {\n class: this.classes,\n directives: [{\n name: 'resize',\n value: this.onResize,\n }],\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return this.$createElement(VIcon, {\n props: {\n disabled: !hasAffix,\n },\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$scopedSlots.prev\n ? this.$scopedSlots.prev({})\n : this.$slots.prev || this.__cachedPrev\n\n return this.$createElement('div', {\n staticClass: 'v-slide-group__prev',\n class: {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n },\n on: {\n click: () => this.onAffixClick('prev'),\n },\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return this.$createElement(VFadeTransition, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-slide-group__wrapper',\n directives: [{\n name: 'touch',\n value: {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n }],\n ref: 'wrapper',\n }, [this.genContent()])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this._isDestroyed) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const { content } = this.$refs\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n this.scrollOffset = this.startX - e.touchmoveX\n },\n onTouchEnd () {\n const { content, wrapper } = this.$refs\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = this.calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = this.calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n calculateUpdatedOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean, currentScrollOffset: number): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft < currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth < itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n },\n calculateCenteredOffset (selectedElement: HTMLElement, widths: Widths, rtl: boolean): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths /* istanbul ignore next */ () {\n window.requestAnimationFrame(() => {\n const { content, wrapper } = this.$refs\n\n this.widths = {\n content: content ? content.clientWidth : 0,\n wrapper: wrapper ? wrapper.clientWidth : 0,\n }\n\n this.isOverflowing = this.widths.wrapper < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (h): VNode {\n return h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ])\n },\n})\n\nexport default BaseSlideGroup.extend({\n name: 'v-slide-group',\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
|
|
@@ -38,16 +38,16 @@ var _default2 = baseMixins.extend().extend({
|
|
|
38
38
|
complete: Boolean,
|
|
39
39
|
completeIcon: {
|
|
40
40
|
type: String,
|
|
41
|
-
default: '$
|
|
41
|
+
default: '$complete'
|
|
42
42
|
},
|
|
43
43
|
editable: Boolean,
|
|
44
44
|
editIcon: {
|
|
45
45
|
type: String,
|
|
46
|
-
default: '$
|
|
46
|
+
default: '$edit'
|
|
47
47
|
},
|
|
48
48
|
errorIcon: {
|
|
49
49
|
type: String,
|
|
50
|
-
default: '$
|
|
50
|
+
default: '$error'
|
|
51
51
|
},
|
|
52
52
|
rules: {
|
|
53
53
|
type: Array,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VStepper/VStepperStep.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VuetifyStepperRuleValidator = () => string | boolean\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('stepper', 'v-stepper-step', 'v-stepper')\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n stepClick: (step: number | string) => void\n}\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-stepper-step',\n\n directives: { ripple },\n\n inject: ['stepClick'],\n\n props: {\n color: {\n type: String,\n default: 'primary',\n },\n complete: Boolean,\n completeIcon: {\n type: String,\n default: '$complete',\n },\n editable: Boolean,\n editIcon: {\n type: String,\n default: '$edit',\n },\n errorIcon: {\n type: String,\n default: '$error',\n },\n rules: {\n type: Array,\n default: () => [],\n } as PropValidator<VuetifyStepperRuleValidator[]>,\n step: [Number, String],\n },\n\n data () {\n return {\n isActive: false,\n isInactive: true,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper__step--active': this.isActive,\n 'v-stepper__step--editable': this.editable,\n 'v-stepper__step--inactive': this.isInactive,\n 'v-stepper__step--error error--text': this.hasError,\n 'v-stepper__step--complete': this.complete,\n }\n },\n hasError (): boolean {\n return this.rules.some(validate => validate() !== true)\n },\n },\n\n mounted () {\n this.stepper && this.stepper.register(this)\n },\n\n beforeDestroy () {\n this.stepper && this.stepper.unregister(this)\n },\n\n methods: {\n click (e: MouseEvent) {\n e.stopPropagation()\n\n this.$emit('click', e)\n\n if (this.editable) {\n this.stepClick(this.step)\n }\n },\n genIcon (icon: string) {\n return this.$createElement(VIcon, icon)\n },\n genLabel () {\n return this.$createElement('div', {\n staticClass: 'v-stepper__label',\n }, this.$slots.default)\n },\n genStep () {\n const color = (!this.hasError && (this.complete || this.isActive)) ? this.color : false\n\n return this.$createElement('span', this.setBackgroundColor(color, {\n staticClass: 'v-stepper__step__step',\n }), this.genStepContent())\n },\n genStepContent () {\n const children = []\n\n if (this.hasError) {\n children.push(this.genIcon(this.errorIcon))\n } else if (this.complete) {\n if (this.editable) {\n children.push(this.genIcon(this.editIcon))\n } else {\n children.push(this.genIcon(this.completeIcon))\n }\n } else {\n children.push(String(this.step))\n }\n\n return children\n },\n toggle (step: number | string) {\n this.isActive = step.toString() === this.step.toString()\n this.isInactive = Number(step) < Number(this.step)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: { click: this.click },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VStepperStep.js"}
|
|
@@ -63,12 +63,12 @@ var _default = baseMixins.extend().extend({
|
|
|
63
63
|
},
|
|
64
64
|
nextIcon: {
|
|
65
65
|
type: String,
|
|
66
|
-
default: '$
|
|
66
|
+
default: '$next'
|
|
67
67
|
},
|
|
68
68
|
optional: Boolean,
|
|
69
69
|
prevIcon: {
|
|
70
70
|
type: String,
|
|
71
|
-
default: '$
|
|
71
|
+
default: '$prev'
|
|
72
72
|
},
|
|
73
73
|
right: Boolean,
|
|
74
74
|
showArrows: Boolean,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n },\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n right: Boolean,\n showArrows: Boolean,\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakPoint: this.mobileBreakPoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = this.$slots.default || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VTabs/VTabs.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VTabs.sass'\n\n// Components\nimport VTabsBar from './VTabsBar'\nimport VTabsItems from './VTabsItems'\nimport VTabsSlider from './VTabsSlider'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Proxyable from '../../mixins/proxyable'\nimport Themeable from '../../mixins/themeable'\n\n// Directives\nimport Resize from '../../directives/resize'\n\n// Utilities\nimport { convertToUnit } from '../../util/helpers'\nimport { ExtractVue } from './../../util/mixins'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue/types'\n\nconst baseMixins = mixins(\n Colorable,\n Proxyable,\n Themeable\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $refs: {\n items: InstanceType<typeof VTabsBar>\n }\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-tabs',\n\n directives: {\n Resize,\n },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n alignWithTitle: Boolean,\n backgroundColor: String,\n centerActive: Boolean,\n centered: Boolean,\n fixedTabs: Boolean,\n grow: Boolean,\n height: {\n type: [Number, String],\n default: undefined,\n },\n hideSlider: Boolean,\n iconsAndText: Boolean,\n mobileBreakPoint: {\n type: [Number, String],\n default: 1264,\n },\n nextIcon: {\n type: String,\n default: '$next',\n },\n optional: Boolean,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n right: Boolean,\n showArrows: Boolean,\n sliderColor: String,\n sliderSize: {\n type: [Number, String],\n default: 2,\n },\n vertical: Boolean,\n },\n\n data () {\n return {\n resizeTimeout: 0,\n slider: {\n height: null as null | number,\n left: null as null | number,\n right: null as null | number,\n top: null as null | number,\n width: null as null | number,\n },\n transitionTime: 300,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-tabs--align-with-title': this.alignWithTitle,\n 'v-tabs--centered': this.centered,\n 'v-tabs--fixed-tabs': this.fixedTabs,\n 'v-tabs--grow': this.grow,\n 'v-tabs--icons-and-text': this.iconsAndText,\n 'v-tabs--right': this.right,\n 'v-tabs--vertical': this.vertical,\n ...this.themeClasses,\n }\n },\n isReversed (): boolean {\n return this.$vuetify.rtl && this.vertical\n },\n sliderStyles (): object {\n return {\n height: convertToUnit(this.slider.height),\n left: this.isReversed ? undefined : convertToUnit(this.slider.left),\n right: this.isReversed ? convertToUnit(this.slider.right) : undefined,\n top: this.vertical ? convertToUnit(this.slider.top) : undefined,\n transition: this.slider.left != null ? null : 'none',\n width: convertToUnit(this.slider.width),\n }\n },\n computedColor (): string {\n if (this.color) return this.color\n else if (this.isDark && !this.appIsDark) return 'white'\n else return 'primary'\n },\n },\n\n watch: {\n alignWithTitle: 'callSlider',\n centered: 'callSlider',\n centerActive: 'callSlider',\n fixedTabs: 'callSlider',\n grow: 'callSlider',\n right: 'callSlider',\n showArrows: 'callSlider',\n vertical: 'callSlider',\n '$vuetify.application.left': 'onResize',\n '$vuetify.application.right': 'onResize',\n '$vuetify.rtl': 'onResize',\n },\n\n mounted () {\n this.$nextTick(() => {\n window.setTimeout(this.callSlider, 30)\n })\n },\n\n methods: {\n callSlider () {\n if (\n this.hideSlider ||\n !this.$refs.items ||\n !this.$refs.items.selectedItems.length\n ) {\n this.slider.width = 0\n return false\n }\n\n this.$nextTick(() => {\n // Give screen time to paint\n const activeTab = this.$refs.items.selectedItems[0]\n /* istanbul ignore if */\n if (!activeTab || !activeTab.$el) {\n this.slider.width = 0\n this.slider.left = 0\n return\n }\n const el = activeTab.$el as HTMLElement\n\n this.slider = {\n height: !this.vertical ? Number(this.sliderSize) : el.scrollHeight,\n left: this.vertical ? 0 : el.offsetLeft,\n right: this.vertical ? 0 : el.offsetLeft + el.offsetWidth,\n top: el.offsetTop,\n width: this.vertical ? Number(this.sliderSize) : el.scrollWidth,\n }\n })\n\n return true\n },\n genBar (items: VNode[], slider: VNode | null) {\n const data = {\n style: {\n height: convertToUnit(this.height),\n },\n props: {\n activeClass: this.activeClass,\n centerActive: this.centerActive,\n dark: this.dark,\n light: this.light,\n mandatory: !this.optional,\n mobileBreakPoint: this.mobileBreakPoint,\n nextIcon: this.nextIcon,\n prevIcon: this.prevIcon,\n showArrows: this.showArrows,\n value: this.internalValue,\n },\n on: {\n 'call:slider': this.callSlider,\n change: (val: any) => {\n this.internalValue = val\n },\n },\n ref: 'items',\n }\n\n this.setTextColor(this.computedColor, data)\n this.setBackgroundColor(this.backgroundColor, data)\n\n return this.$createElement(VTabsBar, data, [\n this.genSlider(slider),\n items,\n ])\n },\n genItems (items: VNode | null, item: VNode[]) {\n // If user provides items\n // opt to use theirs\n if (items) return items\n\n // If no tabs are provided\n // render nothing\n if (!item.length) return null\n\n return this.$createElement(VTabsItems, {\n props: {\n value: this.internalValue,\n },\n on: {\n change: (val: any) => {\n this.internalValue = val\n },\n },\n }, item)\n },\n genSlider (slider: VNode | null) {\n if (this.hideSlider) return null\n\n if (!slider) {\n slider = this.$createElement(VTabsSlider, {\n props: { color: this.sliderColor },\n })\n }\n\n return this.$createElement('div', {\n staticClass: 'v-tabs-slider-wrapper',\n style: this.sliderStyles,\n }, [slider])\n },\n onResize () {\n if (this._isDestroyed) return\n\n clearTimeout(this.resizeTimeout)\n this.resizeTimeout = window.setTimeout(this.callSlider, 0)\n },\n parseNodes () {\n let items = null\n let slider = null\n const item = []\n const tab = []\n const slot = this.$slots.default || []\n const length = slot.length\n\n for (let i = 0; i < length; i++) {\n const vnode = slot[i]\n\n if (vnode.componentOptions) {\n switch (vnode.componentOptions.Ctor.options.name) {\n case 'v-tabs-slider': slider = vnode\n break\n case 'v-tabs-items': items = vnode\n break\n case 'v-tab-item': item.push(vnode)\n break\n // case 'v-tab' - intentionally omitted\n default: tab.push(vnode)\n }\n } else {\n tab.push(vnode)\n }\n }\n\n /**\n * tab: array of `v-tab`\n * slider: single `v-tabs-slider`\n * items: single `v-tabs-items`\n * item: array of `v-tab-item`\n */\n return { tab, slider, items, item }\n },\n },\n\n render (h): VNode {\n const { tab, slider, items, item } = this.parseNodes()\n\n return h('div', {\n staticClass: 'v-tabs',\n class: this.classes,\n directives: [{\n name: 'resize',\n modifiers: { quiet: true },\n value: this.onResize,\n }],\n }, [\n this.genBar(tab, slider),\n this.genItems(items, item),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTabs.js"}
|
|
@@ -47,7 +47,7 @@ var _default = baseMixins.extend().extend({
|
|
|
47
47
|
clearable: Boolean,
|
|
48
48
|
clearIcon: {
|
|
49
49
|
type: String,
|
|
50
|
-
default: '$
|
|
50
|
+
default: '$clear'
|
|
51
51
|
},
|
|
52
52
|
counter: [Boolean, Number, String],
|
|
53
53
|
filled: Boolean,
|
|
@@ -123,7 +123,7 @@ var _default = baseMixins.extend().extend({
|
|
|
123
123
|
return this.isDirty || dirtyTypes.includes(this.type);
|
|
124
124
|
},
|
|
125
125
|
isSingle: function isSingle() {
|
|
126
|
-
return this.isSolo || this.singleLine || this.fullWidth
|
|
126
|
+
return this.isSolo || this.singleLine || this.fullWidth;
|
|
127
127
|
},
|
|
128
128
|
isSolo: function isSolo() {
|
|
129
129
|
return this.solo || this.soloInverted;
|