{"version":3,"file":"primeng-radiobutton.mjs","sources":["../../src/radiobutton/style/radiobuttonstyle.ts","../../src/radiobutton/radiobutton.ts","../../src/radiobutton/primeng-radiobutton.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/radiobutton';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    root: ({ instance }) => [\n        'p-radiobutton p-component',\n        {\n            'p-radiobutton-checked': instance.checked(),\n            'p-disabled': instance.$disabled(),\n            'p-invalid': instance.invalid(),\n            'p-variant-filled': instance.$variant() === 'filled',\n            'p-radiobutton-sm p-inputfield-sm': instance.size() === 'small',\n            'p-radiobutton-lg p-inputfield-lg': instance.size() === 'large'\n        }\n    ],\n    box: 'p-radiobutton-box',\n    input: 'p-radiobutton-input',\n    icon: 'p-radiobutton-icon'\n};\n\n@Injectable()\nexport class RadioButtonStyle extends BaseStyle {\n    name = 'radiobutton';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * RadioButton is an extension to standard radio button element with theming.\n *\n * [Live Demo](https://www.primeng.org/radiobutton/)\n *\n * @module radiobuttonstyle\n *\n */\nexport enum RadioButtonClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-radiobutton',\n    /**\n     * Class name of the box element\n     */\n    box = 'p-radiobutton-box',\n    /**\n     * Class name of the input element\n     */\n    input = 'p-radiobutton-input',\n    /**\n     * Class name of the icon element\n     */\n    icon = 'p-radiobutton-icon'\n}\n\nexport interface RadioButtonStyle extends BaseStyle {}\n","import {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    ElementRef,\n    forwardRef,\n    inject,\n    Injectable,\n    InjectionToken,\n    Injector,\n    input,\n    NgModule,\n    numberAttribute,\n    output,\n    Provider,\n    signal,\n    viewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { SharedModule } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseEditableHolder } from 'primeng/baseeditableholder';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Nullable } from 'primeng/ts-helpers';\nimport type { RadioButtonClickEvent, RadioButtonPassThrough } from 'primeng/types/radiobutton';\nimport type { InputSize, InputVariant } from 'primeng/types/shared';\nimport { RadioButtonStyle } from './style/radiobuttonstyle';\n\nconst RADIOBUTTON_INSTANCE = new InjectionToken<RadioButton>('RADIOBUTTON_INSTANCE');\n\nexport const RADIO_VALUE_ACCESSOR: Provider = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => RadioButton),\n    multi: true\n};\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class RadioControlRegistry {\n    private accessors: any[] = [];\n\n    add(control: NgControl, accessor: RadioButton) {\n        this.accessors.push([control, accessor]);\n    }\n\n    remove(accessor: RadioButton) {\n        this.accessors = this.accessors.filter((c) => {\n            return c[1] !== accessor;\n        });\n    }\n\n    select(accessor: RadioButton) {\n        this.accessors.forEach((c) => {\n            if (this.isSameGroup(c, accessor) && c[1] !== accessor) {\n                c[1].writeValue(accessor.value());\n            }\n        });\n    }\n\n    private isSameGroup(controlPair: [NgControl, RadioButton], accessor: RadioButton): boolean {\n        if (!controlPair[0].control) {\n            return false;\n        }\n\n        return controlPair[0].control.root === (accessor as any).control.control.root && controlPair[1].name() === accessor.name();\n    }\n}\n/**\n * RadioButton is an extension to standard radio button element with theming.\n * @group Components\n */\n@Component({\n    selector: 'p-radiobutton, p-radio-button',\n    standalone: true,\n    imports: [AutoFocus, SharedModule, BindModule],\n    template: `\n        <input\n            #input\n            [attr.id]=\"inputId()\"\n            type=\"radio\"\n            [class]=\"cx('input')\"\n            [attr.name]=\"name()\"\n            [attr.required]=\"attrRequired()\"\n            [attr.disabled]=\"attrDisabled()\"\n            [checked]=\"checked()\"\n            [attr.value]=\"modelValue()\"\n            [attr.aria-labelledby]=\"ariaLabelledBy()\"\n            [attr.aria-label]=\"ariaLabel()\"\n            [attr.aria-checked]=\"checked()\"\n            [attr.tabindex]=\"tabindex()\"\n            (focus)=\"onInputFocus($event)\"\n            (blur)=\"onInputBlur($event)\"\n            (change)=\"onChange($event)\"\n            [pAutoFocus]=\"autofocus()\"\n            [pBind]=\"ptm('input')\"\n        />\n        <div [class]=\"cx('box')\" [pBind]=\"ptm('box')\">\n            <div [class]=\"cx('icon')\" [pBind]=\"ptm('icon')\"></div>\n        </div>\n    `,\n    providers: [RADIO_VALUE_ACCESSOR, RadioButtonStyle, { provide: RADIOBUTTON_INSTANCE, useExisting: RadioButton }, { provide: PARENT_INSTANCE, useExisting: RadioButton }],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    host: {\n        '[class]': \"cx('root')\",\n        '[attr.data-p-disabled]': '$disabled()',\n        '[attr.data-p-checked]': 'checked()',\n        '[attr.data-p]': 'dataP()'\n    },\n    hostDirectives: [Bind]\n})\nexport class RadioButton extends BaseEditableHolder<RadioButtonPassThrough> {\n    componentName = 'RadioButton';\n\n    $pcRadioButton: RadioButton | undefined = inject(RADIOBUTTON_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked(): void {\n        this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n    }\n\n    /**\n     * Value of the radiobutton.\n     * @group Props\n     */\n    value = input<any>();\n    /**\n     * Index of the element in tabbing order.\n     * @group Props\n     */\n    tabindex = input<number>();\n    /**\n     * Identifier of the focus input to match a label defined for the component.\n     * @group Props\n     */\n    inputId = input<string>();\n    /**\n     * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n     * @group Props\n     */\n    ariaLabelledBy = input<string>();\n    /**\n     * Used to define a string that labels the input element.\n     * @group Props\n     */\n    ariaLabel = input<string>();\n    /**\n     * When present, it specifies that the component should automatically get focus on load.\n     * @group Props\n     */\n    autofocus = input(false, { transform: booleanAttribute });\n    /**\n     * Allows to select a boolean value.\n     * @group Props\n     */\n    binary = input(false, { transform: booleanAttribute });\n    /**\n     * Specifies the input variant of the component.\n     * @defaultValue undefined\n     * @group Props\n     */\n    variant = input<InputVariant>();\n    /**\n     * Specifies the size of the component.\n     * @defaultValue undefined\n     * @group Props\n     */\n    size = input<InputSize>();\n    /**\n     * Callback to invoke on radio button click.\n     * @param {RadioButtonClickEvent} event - Custom click event.\n     * @group Emits\n     */\n    onClick = output<RadioButtonClickEvent>();\n    /**\n     * Callback to invoke when the receives focus.\n     * @param {Event} event - Browser event.\n     * @group Emits\n     */\n    onFocus = output<Event>();\n    /**\n     * Callback to invoke when the loses focus.\n     * @param {Event} event - Browser event.\n     * @group Emits\n     */\n    onBlur = output<Event>();\n\n    inputViewChild = viewChild.required<ElementRef>('input');\n\n    $variant = computed(() => this.variant() || this.config.inputVariant());\n\n    attrRequired = computed(() => (this.required() ? '' : undefined));\n\n    attrDisabled = computed(() => (this.$disabled() ? '' : undefined));\n\n    dataP = computed(() =>\n        this.cn({\n            invalid: this.invalid(),\n            checked: this.checked(),\n            disabled: this.$disabled(),\n            filled: this.$variant() === 'filled',\n            [this.size() as string]: this.size()\n        })\n    );\n\n    checked = signal<Nullable<boolean>>(null);\n\n    public focused: Nullable<boolean>;\n\n    control: Nullable<NgControl>;\n\n    _componentStyle = inject(RadioButtonStyle);\n\n    injector = inject(Injector);\n\n    registry = inject(RadioControlRegistry);\n\n    onInit() {\n        this.control = this.injector.get(NgControl);\n        this.registry.add(this.control, this);\n    }\n\n    onChange(event) {\n        if (!this.$disabled()) {\n            this.select(event);\n        }\n    }\n\n    select(event: Event) {\n        if (!this.$disabled()) {\n            this.checked.set(true);\n            this.writeModelValue(this.checked());\n            this.onModelChange(this.value());\n            this.registry.select(this);\n            this.onClick.emit({ originalEvent: event, value: this.value() });\n        }\n    }\n\n    onInputFocus(event: Event) {\n        this.focused = true;\n        this.onFocus.emit(event);\n    }\n\n    onInputBlur(event: Event) {\n        this.focused = false;\n        this.onModelTouched();\n        this.onBlur.emit(event);\n    }\n\n    /**\n     * Applies focus to input field.\n     * @group Method\n     */\n    public focus() {\n        this.inputViewChild().nativeElement.focus();\n    }\n\n    /**\n     * @override\n     *\n     * @see {@link BaseEditableHolder.writeControlValue}\n     * Writes the value to the control.\n     */\n    writeControlValue(value: any, setModelValue: (value: any) => void) {\n        this.checked.set(!this.binary() ? value == this.value() : !!value);\n        setModelValue(this.checked());\n    }\n\n    onDestroy() {\n        this.registry.remove(this);\n    }\n}\n\n@NgModule({\n    imports: [RadioButton, SharedModule],\n    exports: [RadioButton, SharedModule]\n})\nexport class RadioButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}