{"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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"}