{"version":3,"file":"qualcomm-ui-angular-core-radio.mjs","sources":["../../src/radio/abstract-radio-form-control.directive.ts","../../src/radio/radio-context.service.ts","../../src/radio/core-radio-group-error-text.directive.ts","../../src/radio/core-radio-group-hint.directive.ts","../../src/radio/core-radio-group-items.directive.ts","../../src/radio/core-radio-group-label.directive.ts","../../src/radio/core-radio-group.directive.ts","../../src/radio/radio-item-context.service.ts","../../src/radio/core-radio-item-control.directive.ts","../../src/radio/core-radio-item-hidden-input.directive.ts","../../src/radio/core-radio-item-hint.directive.ts","../../src/radio/core-radio-item-label.directive.ts","../../src/radio/core-radio-root.directive.ts","../../src/radio/qualcomm-ui-angular-core-radio.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n  afterNextRender,\n  booleanAttribute,\n  computed,\n  Directive,\n  effect,\n  inject,\n  Injector,\n  input,\n  isDevMode,\n  linkedSignal,\n  type OnInit,\n  output,\n  runInInjectionContext,\n  signal,\n} from \"@angular/core\"\nimport {takeUntilDestroyed} from \"@angular/core/rxjs-interop\"\nimport {\n  type AbstractControl,\n  type ControlValueAccessor,\n  type FormControlStatus,\n  FormGroupDirective,\n  FormSubmittedEvent,\n  NgControl,\n  NgForm,\n  NgModel,\n  PristineChangeEvent,\n  Validators,\n} from \"@angular/forms\"\n\nimport {useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {\n  allEventsSignal,\n  type FormEventData,\n} from \"@qualcomm-ui/angular-core/forms\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\n@Directive()\nexport abstract class AbstractRadioFormControlDirective\n  implements ControlValueAccessor, OnInit\n{\n  /**\n   * The initial value of the radio group when rendered. Use when you don't need to\n   * control the state of the radio group. This property will be ignored if you\n   * opt into controlled state via form control bindings.\n   */\n  readonly defaultValue = input<string>()\n\n  /**\n   * Controls whether the input is disabled in template-driven forms. When true,\n   * prevents user interaction and applies visual styling to indicate the disabled\n   * state.\n   */\n  readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * The name of the input field in a radio group. Useful for form submission.\n   */\n  readonly name = input<string | undefined>()\n\n  /**\n   * Whether the input is read-only. When true, prevents user interaction while\n   * keeping the input focusable and visible.\n   */\n  readonly readOnly = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Controls whether the input is required in template-driven forms. When\n   * true, the input must have a value for form validation to pass.\n   */\n  readonly required = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Event emitted when the radio is selected or deselected. This is only emitted\n   * on interaction. It doesn't emit in response to programmatic or form control\n   * changes.\n   */\n  readonly valueChanged = output<string | null>()\n\n  /* the internal \"value\" state of the radio */\n  protected readonly value = signal<string | null>(null)\n  protected readonly onDestroy = useOnDestroy()\n  protected readonly injector = inject(Injector)\n  protected readonly formControlStatus = signal<FormControlStatus | undefined>(\n    undefined,\n  )\n  protected readonly formSubmitted = signal(false)\n\n  protected readonly ngControl: NgControl | null = inject(NgControl, {\n    optional: true,\n    self: true,\n  })\n\n  protected readonly formEventData = signal<FormEventData<\n    string | undefined\n  > | null>(null)\n\n  /**\n   * If the component is bound to an Angular AbstractControl, its state wins.\n   * If not, fall back to the host attribute.\n   */\n  protected readonly isDisabled = linkedSignal(() => {\n    /**\n     * When the component is bound to any AbstractControl, status is guaranteed to\n     * be non-undefined.\n     */\n    const status = this.formControlStatus()\n    const disabled = this.disabled()\n    if (status !== undefined) {\n      return status === \"DISABLED\"\n    }\n\n    return !!disabled\n  })\n\n  readonly invalid = computed(() => {\n    const formEventData = this.formEventData()\n    const submitted = this.formSubmitted()\n    if (!this.control) {\n      return false\n    }\n\n    let invalid, touched, dirty\n\n    if (this.isTemplateDrivenForm) {\n      invalid = this.control.invalid\n      touched = this.control.touched\n      dirty = this.control.dirty\n    } else if (formEventData) {\n      invalid = formEventData.invalid\n      touched = formEventData.touched\n      dirty = formEventData.dirty\n    } else {\n      return false\n    }\n\n    if (submitted) {\n      return invalid\n    }\n\n    switch (this.control.updateOn) {\n      case \"submit\":\n        return invalid\n      case \"blur\":\n        return invalid && touched\n      default:\n        // \"change\"\n        return dirty && invalid\n    }\n  })\n\n  readonly isRequired = linkedSignal(() => {\n    const control = this.control\n    const required = this.required()\n    if (!control || !this.isReactiveForm) {\n      return required\n    }\n\n    if (typeof control.hasValidator === \"function\") {\n      return control.hasValidator(Validators.required)\n    }\n    return false\n  })\n\n  constructor() {\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this\n    }\n\n    afterNextRender(() => {\n      const required = this.required()\n      if (required && this.isReactiveForm && isDevMode()) {\n        console.warn(\n          \"[radio] The required attribute is not supported on reactive forms. Use Validators instead. https://angular.dev/guide/forms/form-validation#validating-input-in-reactive-forms\",\n        )\n      }\n    })\n\n    effect(() => {\n      const required = this.required()\n      if (this.control && this.isTemplateDrivenForm) {\n        if (required) {\n          this.control.addValidators(Validators.required)\n        } else if (this.control.hasValidator(Validators.required)) {\n          this.control.removeValidators(Validators.required)\n        }\n      }\n    })\n  }\n\n  ngOnInit() {\n    if (this.defaultValue() && !this.control) {\n      this.value.set(this.defaultValue()!)\n    }\n    if (this.control) {\n      const subscription = this.control.statusChanges.subscribe((status) => {\n        this.formControlStatus.set(status)\n      })\n      this.onDestroy(() => {\n        subscription.unsubscribe()\n      })\n\n      const parent = this.getParentForm()\n\n      runInInjectionContext(this.injector, () => {\n        if (this.control) {\n          const formSignal = allEventsSignal<string | undefined>(this.control)\n          effect(() => {\n            this.formEventData.set(formSignal())\n          })\n        }\n\n        if (parent) {\n          let prevPristine = this.control?.pristine || false\n          parent.form.events.pipe(takeUntilDestroyed()).subscribe((event) => {\n            if (event instanceof PristineChangeEvent) {\n              if (event.pristine && !prevPristine) {\n                // if this event fires with pristine status and the control was\n                // previously not pristine, this means that the form was reset. There\n                // isn't another way to determine form resets programmatically,\n                // unfortunately.\n                this.formSubmitted.set(false)\n              }\n              prevPristine = event.pristine\n            } else if (event instanceof FormSubmittedEvent) {\n              this.formSubmitted.set(true)\n              this.control?.markAsDirty()\n            }\n          })\n          parent.ngSubmit.pipe(takeUntilDestroyed()).subscribe(() => {\n            if (this.isReactiveForm) {\n              // already accounted for in the above event subscription.\n              return\n            }\n            this.formSubmitted.set(true)\n            this.control?.markAsDirty()\n          })\n        }\n      })\n    }\n  }\n\n  /** `true` when used with template-driven forms (`[(ngModel)]`, `ngModel`, …). */\n  get isTemplateDrivenForm(): boolean {\n    return this.ngControl instanceof NgModel\n  }\n\n  /** `true` when used with reactive-forms (`formControl`, `formControlName`, …). */\n  get isReactiveForm(): boolean {\n    // Any NgControl that is *not* NgModel belongs to the reactive-forms package\n    return !!this.ngControl && !this.isTemplateDrivenForm\n  }\n\n  /** Convenience access to the underlying AbstractControl (can be null). */\n  protected get control(): AbstractControl | null {\n    return this.ngControl?.control ?? null\n  }\n\n  /**\n   * Used to subscribe to form submit events.\n   */\n  private getParentForm(): NgForm | FormGroupDirective | null {\n    if (!this.control) {\n      return null\n    }\n\n    // Try to find NgForm first\n    try {\n      const ngForm = this.injector.get(NgForm, null)\n      if (ngForm) {\n        return ngForm\n      }\n    } catch {}\n\n    // Fall back to FormGroupDirective\n    try {\n      const formGroupDirective = this.injector.get(FormGroupDirective, null)\n      if (formGroupDirective) {\n        return formGroupDirective\n      }\n    } catch {}\n\n    return null\n  }\n\n  /*\n   * Control value accessor methods\n   */\n  writeValue(value: any): void {\n    this.value.set(value)\n  }\n\n  // placeholder\n  protected onChange = (_value: any) => {}\n\n  registerOnChange(fn: (value: any) => void): void {\n    this.onChange = (_value) => {\n      fn(_value)\n      this.value.set(_value)\n      this.valueChanged.emit(_value)\n    }\n  }\n\n  protected onTouched = () => {}\n  registerOnTouched(fn: () => void): void {\n    this.onTouched = fn\n  }\n\n  /**\n   * NgModel never calls setDisabledState, but ReactiveForms does. Everything else\n   * (writeValue, registerOnChange, registerOnTouched) is identical between Reactive\n   * and Template forms.\n   */\n  setDisabledState(isDisabled: boolean): void {\n    this.isDisabled.set(isDisabled)\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n  type ApiContext,\n  BaseApiContextService,\n  createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {RadioApi} from \"@qualcomm-ui/core/radio\"\n\n@Injectable()\nexport class RadioContextService extends BaseApiContextService<RadioApi> {}\n\nexport const [\n  RADIO_CONTEXT,\n  useRadioContext,\n  provideRadioContext,\n]: ApiContext<RadioApi> = createApiContext<RadioApi>(\n  \"RadioContext\",\n  RadioContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useRadioContext} from \"./radio-context.service\"\n\n@Directive()\nexport class CoreRadioGroupErrorTextDirective implements OnInit {\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.\n   */\n  readonly id = input<string>()\n\n  protected readonly radioContext = useRadioContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getGroupErrorTextBindings({\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  private readonly onDestroy = useOnDestroy()\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useRadioContext} from \"./radio-context.service\"\n\n@Directive()\nexport class CoreRadioGroupHintDirective implements OnInit {\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.\n   */\n  readonly id = input<string>()\n\n  protected readonly radioContext = useRadioContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getGroupHintBindings({\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  private readonly onDestroy = useOnDestroy()\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useRadioContext} from \"./radio-context.service\"\n\n@Directive()\nexport class CoreRadioGroupItemsDirective implements OnInit {\n  protected readonly radioContext = useRadioContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getGroupItemsBindings(),\n  )\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\n\nimport {useRadioContext} from \"./radio-context.service\"\n\n@Directive()\nexport class CoreRadioGroupLabelDirective\n  implements OnInit, SignalifyInput<{id?: string}>\n{\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.)\n   */\n  readonly id = input<string>()\n\n  protected readonly radioContext = useRadioContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getLabelBindings({\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  protected readonly onDestroy = useOnDestroy()\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {DOCUMENT} from \"@angular/common\"\nimport {computed, Directive, inject, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useIsDestroyed} from \"@qualcomm-ui/angular-core/common\"\nimport {\n  normalizeProps,\n  useMachine,\n  useTrackBindings,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport {\n  createRadioApi,\n  type RadioApiProps,\n  radioMachine,\n  type RadioOrientation,\n} from \"@qualcomm-ui/core/radio\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport type {Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {AbstractRadioFormControlDirective} from \"./abstract-radio-form-control.directive\"\nimport {RadioContextService} from \"./radio-context.service\"\n\n@Directive({\n  host: {\n    \"(focusout)\": \"onBlur()\",\n  },\n})\nexport class CoreRadioGroupDirective\n  extends AbstractRadioFormControlDirective\n  implements OnInit, SignalifyInput<Omit<RadioApiProps, \"form\" | \"value\">>\n{\n  /**\n   * The document's text/writing direction.\n   *\n   * @default \"ltr\"\n   */\n  readonly dir = input<Direction | undefined>(undefined)\n\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.)\n   */\n  readonly id = input<string>()\n\n  /**\n   * A root node to correctly resolve the Document in custom environments. i.e.,\n   * Iframes, Electron.\n   */\n  readonly getRootNode = input<\n    (() => ShadowRoot | Document | Node) | undefined\n  >()\n\n  /**\n   * Orientation of the radio group\n   *\n   * @default 'vertical'\n   */\n  readonly orientation = input<RadioOrientation>()\n\n  protected readonly radioContextService = inject(RadioContextService)\n\n  protected readonly document = inject(DOCUMENT)\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContextService.context().getGroupBindings({\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  protected readonly hostId = computed(() => useId(this, this.id()))\n\n  private readonly isDestroyed = useIsDestroyed()\n\n  protected onBlur() {\n    if (!this.isDestroyed()) {\n      this.onTouched()\n    }\n  }\n\n  override ngOnInit() {\n    super.ngOnInit()\n\n    this.trackBindings()\n\n    const controlName = this.ngControl?.name\n      ? `${this.ngControl.name}`\n      : undefined\n\n    const machine = useMachine(\n      radioMachine,\n      computed<Explicit<RadioApiProps>>(() => ({\n        defaultValue: this.defaultValue(),\n        dir: this.dir(),\n        disabled: this.isDisabled(),\n        form: \"\",\n        getRootNode: this.getRootNode() ?? (() => this.document),\n        invalid: this.invalid(),\n        name: this.name() || controlName,\n        onValueChange: (value) => {\n          this.onChange(value)\n          if (!this.control) {\n            this.valueChanged.emit(value)\n            this.value.set(value)\n          }\n          if (this.control && !this.control?.touched) {\n            this.onTouched()\n          }\n        },\n        orientation: this.orientation(),\n        readOnly: this.readOnly(),\n        required: this.isRequired(),\n        value: this.value(),\n      })),\n      this.injector,\n    )\n\n    this.radioContextService.init(\n      computed(() => createRadioApi(machine, normalizeProps)),\n    )\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Injectable} from \"@angular/core\"\n\nimport {\n  type ApiContext,\n  BaseApiContextService,\n  createApiContext,\n} from \"@qualcomm-ui/angular-core/machine\"\nimport type {RadioItemContext} from \"@qualcomm-ui/core/radio\"\n\n@Injectable()\nexport class RadioItemContextService extends BaseApiContextService<RadioItemContext> {}\n\nexport const [\n  RADIO_ITEM_CONTEXT,\n  useRadioItemContext,\n  provideRadioItemContext,\n]: ApiContext<RadioItemContext> = createApiContext<RadioItemContext>(\n  \"RadioItemContext\",\n  RadioItemContextService,\n)\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {Directive, type OnInit} from \"@angular/core\"\n\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useRadioContext} from \"./radio-context.service\"\nimport {useRadioItemContext} from \"./radio-item-context.service\"\n\n@Directive()\nexport class CoreRadioItemControlDirective implements OnInit {\n  protected readonly radioContext = useRadioContext()\n  protected readonly radioItemContext = useRadioItemContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getRadioControlBindings({...this.radioItemContext()}),\n  )\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\n\nimport {useRadioContext} from \"./radio-context.service\"\nimport {useRadioItemContext} from \"./radio-item-context.service\"\n\n@Directive()\nexport class CoreRadioItemHiddenInputDirective\n  implements OnInit, SignalifyInput<{id?: string}>\n{\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.)\n   */\n  readonly id = input<string>()\n\n  /**\n   * ARIA label applied to the hidden input.\n   *\n   * @since 2.4.0\n   */\n  readonly ariaLabel = input<string | undefined>(undefined, {\n    alias: \"aria-label\",\n  })\n\n  /**\n   * ID reference for an external item label applied to the hidden input.\n   *\n   * @since 2.4.0\n   */\n  readonly ariaLabelledby = input<string | undefined>(undefined, {\n    alias: \"aria-labelledby\",\n  })\n\n  protected readonly radioContext = useRadioContext()\n  protected readonly radioItemContext = useRadioItemContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    const bindings = this.radioContext().getRadioHiddenInputBindings({\n      ...this.radioItemContext(),\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    })\n    const ariaLabel = this.ariaLabel() ?? undefined\n    const ariaLabelledby = this.ariaLabelledby() ?? bindings[\"aria-labelledby\"]\n\n    return {\n      ...bindings,\n      \"aria-label\": ariaLabel,\n      \"aria-labelledby\": ariaLabelledby,\n    }\n  })\n\n  protected readonly onDestroy = useOnDestroy()\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\n\nimport {useRadioContext} from \"./radio-context.service\"\nimport {useRadioItemContext} from \"./radio-item-context.service\"\n\n@Directive()\nexport class CoreRadioItemHintDirective implements OnInit {\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.\n   */\n  readonly id = input<string>()\n\n  protected readonly radioContext = useRadioContext()\n  protected readonly radioItemContext = useRadioItemContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getRadioHintBindings({\n      ...this.radioItemContext(),\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  protected readonly onDestroy = useOnDestroy()\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {computed, Directive, input, type OnInit} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\n\nimport {useRadioContext} from \"./radio-context.service\"\nimport {useRadioItemContext} from \"./radio-item-context.service\"\n\n@Directive()\nexport class CoreRadioItemLabelDirective\n  implements OnInit, SignalifyInput<{id?: string}>\n{\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.)\n   */\n  readonly id = input<string>()\n\n  protected readonly radioContext = useRadioContext()\n  protected readonly radioItemContext = useRadioItemContext()\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getRadioLabelBindings({\n      ...this.radioItemContext(),\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n    }),\n  )\n\n  protected readonly onDestroy = useOnDestroy()\n  private readonly hostId = computed(() => useId(this, this.id()))\n\n  ngOnInit() {\n    this.trackBindings()\n  }\n}\n","// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n  booleanAttribute,\n  computed,\n  Directive,\n  inject,\n  input,\n  type OnInit,\n} from \"@angular/core\"\n\nimport {useId, useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {useForbiddenFormControlWarning} from \"@qualcomm-ui/angular-core/forms\"\nimport {useTrackBindings} from \"@qualcomm-ui/angular-core/machine\"\nimport type {SignalifyInput} from \"@qualcomm-ui/angular-core/signals\"\nimport type {RadioItemContext} from \"@qualcomm-ui/core/radio\"\nimport type {Booleanish} from \"@qualcomm-ui/utils/coercion\"\n\nimport {useRadioContext} from \"./radio-context.service\"\nimport {RadioItemContextService} from \"./radio-item-context.service\"\n\n@Directive()\nexport class CoreRadioRootDirective\n  implements OnInit, SignalifyInput<RadioItemContext>\n{\n  /**\n   * Controls whether the input is disabled in template-driven forms. When true,\n   * prevents user interaction and applies visual styling to indicate the disabled\n   * state.\n   *\n   * @remarks\n   * The parent `q-radio-group` `disabled` property, if set to true, will override\n   * this input.\n   */\n  readonly disabled = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * {@link https://www.w3schools.com/html/html_id.asp id attribute}. If\n   * omitted, a unique identifier will be generated for accessibility.)\n   */\n  readonly id = input<string>()\n\n  /**\n   * The value of the radio input. This is used to identify which radio is\n   * selected in a group.\n   */\n  readonly value = input.required<string>()\n\n  protected readonly radioContext = useRadioContext()\n  protected readonly radioItemContext = inject(RadioItemContextService)\n\n  protected readonly trackBindings = useTrackBindings(() =>\n    this.radioContext().getRadioBindings({\n      disabled: this.disabled(),\n      id: this.hostId(),\n      onDestroy: this.onDestroy,\n      value: this.value(),\n    }),\n  )\n\n  protected readonly hostId = computed(() => useId(this, this.id()))\n\n  protected readonly onDestroy = useOnDestroy()\n\n  constructor() {\n    useForbiddenFormControlWarning({\n      directive: \"q-radio\",\n      rootDirective: \"q-radio-group\",\n    })\n  }\n\n  ngOnInit() {\n    this.trackBindings()\n\n    this.radioItemContext.init(\n      computed(() => ({\n        disabled: this.disabled(),\n        value: this.value(),\n      })),\n    )\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}