{"version":3,"sources":["../../../src/components/VRadioGroup/VRadioGroup.js"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport '../../stylus/components/_selection-controls.styl'\nimport '../../stylus/components/_radio-group.styl'\n\n// Components\nimport VInput from '../VInput'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\nimport {\n provide as RegistrableProvide\n} from '../../mixins/registrable'\n\n/* @vue/component */\nexport default VInput.extend({\n name: 'v-radio-group',\n\n mixins: [\n Comparable,\n RegistrableProvide('radio')\n ],\n\n model: {\n prop: 'value',\n event: 'change'\n },\n\n provide () {\n return {\n radio: this\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true\n },\n height: {\n type: [Number, String],\n default: 'auto'\n },\n mandatory: {\n type: Boolean,\n default: true\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: {\n default: null\n }\n },\n\n data: () => ({\n internalTabIndex: -1,\n radios: []\n }),\n\n computed: {\n classes () {\n return {\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row\n }\n }\n },\n\n watch: {\n hasError: 'setErrorState',\n internalValue: 'setActiveRadio'\n },\n\n mounted () {\n this.setErrorState(this.hasError)\n this.setActiveRadio()\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n role: 'radiogroup'\n }\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n onRadioChange (value) {\n if (this.disabled) return\n\n this.hasInput = true\n this.internalValue = value\n this.setActiveRadio()\n this.$nextTick(this.validate)\n },\n onRadioBlur (e) {\n if (!e.relatedTarget || !e.relatedTarget.classList.contains('v-radio')) {\n this.hasInput = true\n this.$emit('blur', e)\n }\n },\n register (radio) {\n radio.isActive = this.valueComparator(this.internalValue, radio.value)\n radio.$on('change', this.onRadioChange)\n radio.$on('blur', this.onRadioBlur)\n this.radios.push(radio)\n },\n setErrorState (val) {\n for (let index = this.radios.length; --index >= 0;) {\n this.radios[index].parentError = val\n }\n },\n setActiveRadio () {\n for (let index = this.radios.length; --index >= 0;) {\n const radio = this.radios[index]\n radio.isActive = this.valueComparator(this.internalValue, radio.value)\n }\n },\n unregister (radio) {\n radio.$off('change', this.onRadioChange)\n radio.$off('blur', this.onRadioBlur)\n\n const index = this.radios.findIndex(r => r === radio)\n\n /* istanbul ignore else */\n if (index > -1) this.radios.splice(index, 1)\n }\n }\n})\n"],"sourceRoot":""}