UNPKG

vuetify

Version:

Vue Material Component Framework

1 lines 8.4 kB
{"version":3,"file":"VStepperStep.mjs","names":["VIcon","Colorable","inject","RegistrableInject","ripple","mixins","keyCodes","baseMixins","extend","name","directives","props","color","type","String","default","complete","Boolean","completeIcon","editable","editIcon","errorIcon","rules","Array","step","Number","data","isActive","isInactive","computed","classes","hasError","some","validate","mounted","stepper","register","beforeDestroy","unregister","methods","click","e","stopPropagation","$emit","stepClick","genIcon","icon","$createElement","genLabel","staticClass","$slots","genStep","setBackgroundColor","genStepContent","children","push","keyboardClick","keyCode","space","toggle","toString","render","h","attrs","tabindex","class","value","on","keydown"],"sources":["../../../src/components/VStepper/VStepperStep.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// 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'\nimport { keyCodes } from '../../util/helpers'\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 | KeyboardEvent) {\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 keyboardClick (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.space) {\n this.click(e)\n }\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 attrs: {\n tabindex: this.editable ? 0 : -1,\n },\n staticClass: 'v-stepper__step',\n class: this.classes,\n directives: [{\n name: 'ripple',\n value: this.editable,\n }],\n on: {\n click: this.click,\n keydown: this.keyboardClick,\n },\n }, [\n this.genStep(),\n this.genLabel(),\n ])\n },\n})\n"],"mappings":"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"}