{"version":3,"file":"index.mjs","sources":["../../src/radiobutton/BaseRadioButton.vue","../../src/radiobutton/RadioButton.vue","../../src/radiobutton/RadioButton.vue?vue&type=template&id=7e5ffc70&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport RadioButtonStyle from 'primevue/radiobutton/style';\n\nexport default {\n    name: 'BaseRadioButton',\n    extends: BaseInput,\n    props: {\n        value: null,\n        binary: Boolean,\n        readonly: {\n            type: Boolean,\n            default: false\n        },\n        tabindex: {\n            type: Number,\n            default: null\n        },\n        inputId: {\n            type: String,\n            default: null\n        },\n        inputClass: {\n            type: [String, Object],\n            default: null\n        },\n        inputStyle: {\n            type: Object,\n            default: null\n        },\n        ariaLabelledby: {\n            type: String,\n            default: null\n        },\n        ariaLabel: {\n            type: String,\n            default: null\n        }\n    },\n    style: RadioButtonStyle,\n    provide() {\n        return {\n            $pcRadioButton: this,\n            $parentInstance: this\n        };\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"checked\" :data-p-disabled=\"disabled\">\n        <input\n            :id=\"inputId\"\n            type=\"radio\"\n            :class=\"[cx('input'), inputClass]\"\n            :style=\"inputStyle\"\n            :value=\"value\"\n            :name=\"groupName\"\n            :checked=\"checked\"\n            :tabindex=\"tabindex\"\n            :disabled=\"disabled\"\n            :readonly=\"readonly\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-invalid=\"invalid || undefined\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @change=\"onChange\"\n            v-bind=\"getPTOptions('input')\"\n        />\n        <div :class=\"cx('box')\" v-bind=\"getPTOptions('box')\">\n            <div :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\"></div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { equals } from '@primeuix/utils/object';\nimport BaseRadioButton from './BaseRadioButton.vue';\n\nexport default {\n    name: 'RadioButton',\n    extends: BaseRadioButton,\n    inheritAttrs: false,\n    emits: ['change', 'focus', 'blur'],\n    inject: {\n        $pcRadioButtonGroup: {\n            default: undefined\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    checked: this.checked,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                const newModelValue = this.binary ? !this.checked : this.value;\n\n                this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.writeValue(newModelValue, event) : this.writeValue(newModelValue, event);\n                this.$emit('change', event);\n            }\n        },\n        onFocus(event) {\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.$emit('blur', event);\n            this.formField.onBlur?.(event);\n        }\n    },\n    computed: {\n        groupName() {\n            return this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.groupName : this.$formName;\n        },\n        checked() {\n            const value = this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.d_value : this.d_value;\n\n            return value != null && (this.binary ? !!value : equals(value, this.value));\n        }\n    }\n};\n</script>\n","<template>\n    <div :class=\"cx('root')\" v-bind=\"getPTOptions('root')\" :data-p-checked=\"checked\" :data-p-disabled=\"disabled\">\n        <input\n            :id=\"inputId\"\n            type=\"radio\"\n            :class=\"[cx('input'), inputClass]\"\n            :style=\"inputStyle\"\n            :value=\"value\"\n            :name=\"groupName\"\n            :checked=\"checked\"\n            :tabindex=\"tabindex\"\n            :disabled=\"disabled\"\n            :readonly=\"readonly\"\n            :aria-labelledby=\"ariaLabelledby\"\n            :aria-label=\"ariaLabel\"\n            :aria-invalid=\"invalid || undefined\"\n            @focus=\"onFocus\"\n            @blur=\"onBlur\"\n            @change=\"onChange\"\n            v-bind=\"getPTOptions('input')\"\n        />\n        <div :class=\"cx('box')\" v-bind=\"getPTOptions('box')\">\n            <div :class=\"cx('icon')\" v-bind=\"getPTOptions('icon')\"></div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { equals } from '@primeuix/utils/object';\nimport BaseRadioButton from './BaseRadioButton.vue';\n\nexport default {\n    name: 'RadioButton',\n    extends: BaseRadioButton,\n    inheritAttrs: false,\n    emits: ['change', 'focus', 'blur'],\n    inject: {\n        $pcRadioButtonGroup: {\n            default: undefined\n        }\n    },\n    methods: {\n        getPTOptions(key) {\n            const _ptm = key === 'root' ? this.ptmi : this.ptm;\n\n            return _ptm(key, {\n                context: {\n                    checked: this.checked,\n                    disabled: this.disabled\n                }\n            });\n        },\n        onChange(event) {\n            if (!this.disabled && !this.readonly) {\n                const newModelValue = this.binary ? !this.checked : this.value;\n\n                this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.writeValue(newModelValue, event) : this.writeValue(newModelValue, event);\n                this.$emit('change', event);\n            }\n        },\n        onFocus(event) {\n            this.$emit('focus', event);\n        },\n        onBlur(event) {\n            this.$emit('blur', event);\n            this.formField.onBlur?.(event);\n        }\n    },\n    computed: {\n        groupName() {\n            return this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.groupName : this.$formName;\n        },\n        checked() {\n            const value = this.$pcRadioButtonGroup ? this.$pcRadioButtonGroup.d_value : this.d_value;\n\n            return value != null && (this.binary ? !!value : equals(value, this.value));\n        }\n    }\n};\n</script>\n"],"names":["name","BaseInput","props","value","binary","Boolean","readonly","type","tabindex","Number","inputId","String","inputClass","Object","inputStyle","ariaLabelledby","ariaLabel","style","RadioButtonStyle","provide","$pcRadioButton","$parentInstance","BaseRadioButton","inheritAttrs","emits","inject","$pcRadioButtonGroup","undefined","methods","getPTOptions","key","_ptm","ptmi","ptm","context","checked","disabled","onChange","event","newModelValue","writeValue","$emit","onFocus","onBlur","_this$formField$onBlu","_this$formField","formField","call","computed","groupName","$formName","d_value","equals","_openBlock","_createElementBlock","_mergeProps","_ctx","cx","$options","_createElementVNode","id","invalid","apply","arguments","_hoisted_2"],"mappings":"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"}