{"version":3,"file":"qualcomm-ui-angular-core-number-input.mjs","sources":["../../src/number-input/number-input.validators.ts","../../src/number-input/abstract-number-input-form-control.directive.ts","../../src/number-input/number-input-context.service.ts","../../src/number-input/core-number-input-control.directive.ts","../../src/number-input/core-number-input-decrement-trigger.directive.ts","../../src/number-input/core-number-input-error-indicator.directive.ts","../../src/number-input/core-number-input-error-text.directive.ts","../../src/number-input/core-number-input-hint.directive.ts","../../src/number-input/core-number-input-increment-trigger.directive.ts","../../src/number-input/core-number-input-input-group.directive.ts","../../src/number-input/core-number-input-input.directive.ts","../../src/number-input/core-number-input-label.directive.ts","../../src/number-input/core-number-input-root.directive.ts","../../src/number-input/qualcomm-ui-angular-core-number-input.ts"],"sourcesContent":["// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport type {AbstractControl, ValidationErrors} from \"@angular/forms\"\n\n/**\n * Validator that requires a number value. Will fail if the value is `NaN`, `null`,\n * or `undefined`.\n */\nexport function requiredNumberValidator(\n  control: AbstractControl,\n): ValidationErrors | null {\n  if (\n    Number.isNaN(control.value) ||\n    control.value === null ||\n    control.value === undefined\n  ) {\n    return {required: {value: control.value}}\n  }\n  return null\n}\n","// 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  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 {numberAttributeOrUndefined} from \"@qualcomm-ui/angular-core/attributes\"\nimport {useOnDestroy} from \"@qualcomm-ui/angular-core/common\"\nimport {\n  allEventsSignal,\n  type FormEventData,\n} from \"@qualcomm-ui/angular-core/forms\"\nimport type {Booleanish, NumberInput} from \"@qualcomm-ui/utils/coercion\"\nimport {defined, isDefined} from \"@qualcomm-ui/utils/guard\"\n\nimport {requiredNumberValidator} from \"./number-input.validators\"\n\n@Directive()\nexport abstract class AbstractNumberInputFormControlDirective\n  implements ControlValueAccessor, OnInit\n{\n  /**\n   * The initial checked state of the checkbox when rendered. Use when you don't\n   * need to control the checked state of the checkbox. This property will be\n   * ignored if you opt into controlled state via form control bindings.\n   */\n  readonly defaultValue = input<number | undefined, NumberInput>(undefined, {\n    transform: numberAttributeOrUndefined,\n  })\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   * Controls the visual error state of the input. When true, applies semantic error\n   * styling to indicate validation failure.\n   */\n  readonly invalid = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * The name of the input field in a checkbox. 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  /* the internal \"value\" state of the input */\n  protected readonly value = signal<number | undefined>(undefined)\n  protected readonly stringValue = signal<string | undefined>(undefined)\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    number | 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 isInvalid = computed(() => {\n    const formEventData = this.formEventData()\n    const submitted = this.formSubmitted()\n    const isInvalidDefined = defined(this.invalid())\n    const invalidProp = this.invalid() || false\n    if (!this.control) {\n      return invalidProp\n    }\n\n    let invalid, touched, dirty\n\n    if (this.isTemplateDrivenForm) {\n      invalid = isInvalidDefined ? invalidProp : 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 invalidProp\n    }\n\n    // TODO: evaluate whether this should be customizable.\n    // React Hook Form uses a reValidateMode prop for adjusting the validation\n    // strategy after the form has been submitted.\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 (\n        control.hasValidator(Validators.required) ||\n        control.hasValidator(Validators.requiredTrue) ||\n        control.hasValidator(requiredNumberValidator)\n      )\n    }\n    return false\n  })\n\n  constructor() {\n    if (this.ngControl) {\n      this.ngControl.valueAccessor = this\n      this.setValueFromControl()\n    }\n\n    afterNextRender(() => {\n      if (isDefined(this.required()) && this.isReactiveForm && isDevMode()) {\n        console.warn(\n          \"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(requiredNumberValidator)\n        } else if (this.control.hasValidator(requiredNumberValidator)) {\n          this.control.removeValidators(requiredNumberValidator)\n        }\n      }\n    })\n  }\n\n  ngOnInit() {\n    this.setValueFromControl()\n    // Ensure the form control receives the initial value\n    const defaultValue = this.defaultValue()\n    if (!this.control && defined(defaultValue)) {\n      this.stringValue.set(`${defaultValue}`)\n      this.value.set(defaultValue)\n    } else 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<number | undefined>(this.control)\n          effect(() => {\n            this.formEventData.set(formSignal())\n          })\n        }\n\n        if (this.control) {\n          this.control?.valueChanges\n            .pipe(takeUntilDestroyed())\n            .subscribe(() => {\n              this.setValueFromControl()\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  private setValueFromControl() {\n    if (this.ngControl) {\n      const value = this.ngControl.control?.value\n      if (isDefined(value) && !Number.isNaN(value)) {\n        this.value.set(value)\n        this.stringValue.set(`${value}`)\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    }\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 {NumberInputApi} from \"@qualcomm-ui/core/number-input\"\n\n@Injectable()\nexport class NumberInputContextService extends BaseApiContextService<NumberInputApi> {}\n\nexport const [\n  NUMBER_INPUT_CONTEXT,\n  useNumberInputContext,\n  provideNumberInputContext,\n]: ApiContext<NumberInputApi> = createApiContext<NumberInputApi>(\n  \"NumberInputContext\",\n  NumberInputContextService,\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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputControlDirective implements OnInit {\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getControlBindings()\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\"\n\nimport {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputDecrementTriggerDirective implements OnInit {\n  readonly id = input<string>()\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getDecrementTriggerBindings({\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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputErrorIndicatorDirective implements OnInit {\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getErrorIndicatorBindings()\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\"\n\nimport {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputErrorTextDirective implements OnInit {\n  readonly id = input<string>()\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getErrorTextBindings({\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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputHintDirective implements OnInit {\n  readonly id = input<string>()\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getHintBindings({\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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputIncrementTriggerDirective implements OnInit {\n  readonly id = input<string>()\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getIncrementTriggerBindings({\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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputInputGroupDirective implements OnInit {\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getInputGroupBindings()\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\"\n\nimport {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputInputDirective implements OnInit {\n  readonly id = input<string>()\n\n  /**\n   * ARIA label applied to the 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 label applied to the input.\n   *\n   * @since 2.4.0\n   */\n  readonly ariaLabelledby = input<string | undefined>(undefined, {\n    alias: \"aria-labelledby\",\n  })\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    const bindings = this.numberInputContext().getInputBindings({\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  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 {useNumberInputContext} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputLabelDirective implements OnInit {\n  readonly id = input<string>()\n\n  protected readonly numberInputContext = useNumberInputContext()\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext().getLabelBindings({\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 {DOCUMENT} from \"@angular/common\"\nimport {\n  booleanAttribute,\n  computed,\n  Directive,\n  inject,\n  input,\n  type OnInit,\n  output,\n} from \"@angular/core\"\n\nimport {numberAttributeOrUndefined} from \"@qualcomm-ui/angular-core/attributes\"\nimport {useIsMounted} 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  createNumberInputApi,\n  type NumberInputApiProps,\n  type NumberInputIntlTranslations,\n  numberInputMachine,\n  type NumberInputMode,\n  type NumberInputValueChangeDetails,\n  type NumberInputValueInvalidDetails,\n  type UnitOption,\n} from \"@qualcomm-ui/core/number-input\"\nimport type {Booleanish, NumberInput} from \"@qualcomm-ui/utils/coercion\"\nimport type {Direction} from \"@qualcomm-ui/utils/direction\"\nimport {type Explicit} from \"@qualcomm-ui/utils/guard\"\n\nimport {AbstractNumberInputFormControlDirective} from \"./abstract-number-input-form-control.directive\"\nimport {NumberInputContextService} from \"./number-input-context.service\"\n\n@Directive()\nexport class CoreNumberInputRootDirective\n  extends AbstractNumberInputFormControlDirective\n  implements\n    OnInit,\n    Omit<\n      SignalifyInput<NumberInputApiProps>,\n      \"defaultValue\" | \"form\" | \"ids\" | \"value\"\n    >\n{\n  /**\n   * Whether to allow mouse wheel to change the value\n   */\n  readonly allowMouseWheel = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Whether to allow the value to overflow the min/max range\n   * @default true\n   */\n  readonly allowOverflow = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Whether to clamp the value when the input loses focus (blur)\n   * @default true\n   */\n  readonly clampValueOnBlur = input<boolean | undefined, Booleanish>(\n    undefined,\n    {\n      transform: booleanAttribute,\n    },\n  )\n\n  /**\n   * The document's text/writing direction.\n   *\n   * @default \"ltr\"\n   */\n  readonly dir = input<Direction | undefined>(undefined)\n\n  /**\n   * Whether to focus the input when the value changes\n   *\n   * @default true\n   */\n  readonly focusInputOnChange = input<boolean | undefined, Booleanish>(\n    undefined,\n    {\n      transform: booleanAttribute,\n    },\n  )\n\n  /**\n   * The options to pass to the `Intl.NumberFormat` constructor\n   */\n  readonly formatOptions = input<Intl.NumberFormatOptions | undefined>()\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   * Hints at the type of data that might be entered by the user. It also determines\n   * the type of keyboard shown to the user on mobile devices\n   * @default \"decimal\"\n   */\n  readonly inputMode = input<NumberInputMode | undefined>()\n\n  /**\n   * The maximum value of the number input\n   * @default Number.MAX_SAFE_INTEGER\n   */\n  readonly max = input<number | undefined, NumberInput>(undefined, {\n    transform: numberAttributeOrUndefined,\n  })\n\n  /**\n   * The minimum value of the number input\n   * @default Number.MIN_SAFE_INTEGER\n   */\n  readonly min = input<number | undefined, NumberInput>(undefined, {\n    transform: numberAttributeOrUndefined,\n  })\n\n  /**\n   * The current locale. Based on the BCP 47 definition.\n   *\n   * @default 'en-US'\n   */\n  readonly locale = input<string | undefined>()\n\n  /**\n   * The pattern used to check the <input> element's value against\n   *\n   * @default \"[0-9]*(.[0-9]+)?\"\n   */\n  readonly pattern = input<string | undefined>()\n\n  /**\n   * Whether to spin the value when the increment/decrement button is pressed\n   * @default true\n   */\n  readonly spinOnPress = input<boolean | undefined, Booleanish>(undefined, {\n    transform: booleanAttribute,\n  })\n\n  /**\n   * Amount to increment/decrement the value when using stepper buttons or arrow keys.\n   * @default 1\n   */\n  readonly step = input<number | undefined, NumberInput>(undefined, {\n    transform: numberAttributeOrUndefined,\n  })\n\n  /**\n   * Specifies the localized strings that identify the accessibility elements and\n   * their states\n   */\n  readonly translations = input<NumberInputIntlTranslations | undefined>()\n\n  /**\n   * The controlled unit value.\n   */\n  readonly unit = input<string | undefined>()\n\n  /**\n   * The initial unit when uncontrolled. Defaults to first option if not provided.\n   */\n  readonly defaultUnit = input<string | undefined>()\n\n  /**\n   * Array of unit options to display in the unit selector.\n   */\n  readonly unitOptions = input<UnitOption[] | undefined>()\n\n  /**\n   * Event emitted when the selected unit changes.\n   */\n  readonly unitChanged = output<string>()\n\n  /**\n   * Event emitted when the checkbox is checked or unchecked. This is only emitted\n   * on interaction. It doesn't emit in response to programmatic form control\n   * changes.\n   */\n  readonly valueChanged = output<NumberInputValueChangeDetails>()\n\n  /**\n   * Function invoked when the value overflows or underflows the min/max range\n   */\n  readonly valueInvalid = output<NumberInputValueInvalidDetails>()\n\n  protected readonly document = inject(DOCUMENT)\n\n  protected readonly isMounted = useIsMounted()\n\n  protected readonly numberInputContext = inject(NumberInputContextService)\n\n  protected readonly trackBindings = useTrackBindings(() => {\n    return this.numberInputContext.context().getRootBindings()\n  })\n\n  override ngOnInit() {\n    super.ngOnInit()\n\n    const machine = useMachine(\n      numberInputMachine,\n      computed<Explicit<NumberInputApiProps>>(() => {\n        return {\n          allowMouseWheel: this.allowMouseWheel(),\n          allowOverflow: this.allowOverflow(),\n          clampValueOnBlur: this.clampValueOnBlur(),\n          defaultUnit: this.defaultUnit(),\n          defaultValue: this.defaultValue()\n            ? `${this.defaultValue() ?? \"\"}`\n            : \"\",\n          dir: this.dir(),\n          disabled: this.isDisabled(),\n          focusInputOnChange: this.focusInputOnChange(),\n          // angular handles this automatically with ngModel and Reactive Forms\n          form: undefined,\n          formatOptions: this.formatOptions(),\n          getRootNode: this.getRootNode() ?? (() => this.document),\n          ids: undefined,\n          inputMode: this.inputMode(),\n          invalid: this.isInvalid(),\n          locale: this.locale(),\n          max: this.max(),\n          min: this.min(),\n          name: this.name(),\n          onFocusChange: (details) => {\n            if (!details.focused) {\n              // only trigger onTouched on blur.\n              this.onTouched()\n            }\n          },\n          onUnitChange: (unit) => {\n            if (this.isMounted()) {\n              this.unitChanged.emit(unit)\n            }\n          },\n          onValueChange: (details) => {\n            this.stringValue.set(details.value)\n            if (!this.control) {\n              if (this.isMounted()) {\n                this.valueChanged.emit(details)\n              }\n              this.value.set(details.valueAsNumber)\n              return\n            }\n            // ngModel is bound to the root, but change events happen on the <input>\n            // element and are forwarded to the machine.  So we need to fire the\n            // value change event to keep the form in sync.\n            this.onChange(details.valueAsNumber)\n            if (!this.control?.touched) {\n              this.control.markAsTouched?.()\n            }\n            if (!this.control?.dirty) {\n              this.control.markAsDirty?.()\n            }\n          },\n          onValueInvalid: (details) => {\n            this.valueInvalid.emit(details)\n          },\n          pattern: this.pattern(),\n          readOnly: this.readOnly(),\n          required: this.isRequired(),\n          spinOnPress: this.spinOnPress(),\n          step: this.step(),\n          translations: this.translations(),\n          unit: this.unit(),\n          unitOptions: this.unitOptions(),\n          value: this.stringValue(),\n        }\n      }),\n      this.injector,\n    )\n\n    this.numberInputContext.init(\n      computed(() => createNumberInputApi(machine, normalizeProps)),\n    )\n\n    this.trackBindings()\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}