import * as _angular_core from '@angular/core'; import { OnInit, OnDestroy, DoCheck, OnChanges, InputSignal, ElementRef, Renderer2, SimpleChanges } from '@angular/core'; import { NumberInput, BooleanInput } from '@angular/cdk/coercion'; import Cleave from 'cleave.js'; import { InputDirective } from '@eui/components/shared'; import * as i1 from '@eui/components/directives'; import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms'; interface CleaveInstance extends Cleave { initSwapHiddenInput?: () => void; initNumeralFormatter?: () => void; initTimeFormatter?: () => void; initDateFormatter?: () => void; initPhoneFormatter?: () => void; updateCreditCardPropsByValue?: () => void; updateValueState?: () => void; callOnValueChanged?: () => void; onChange?: (event?: Event) => void; onCut?: (event?: Event) => void; onFocus?: (event?: Event) => void; onCopy?: (event?: Event) => void; onKeyDown?: (event?: Event) => void; onChangeListener?: (event?: Event) => void; onKeyDownListener?: (event?: Event) => void; onFocusListener?: (event?: Event) => void; onCutListener?: (event?: Event) => void; onCopyListener?: (event?: Event) => void; } /** * @description * Input number component that allows the user to enter a number. It supports number * formatting and validation. It uses Cleave.js to format the number. It depends on * the {@link LocaleService} to get the current locale and format the number accordingly. * * It supports the following attributes: * - {@link min}: The minimum number can be entered. Blocks user's input if not in range. * - {@link max}: The maximum number can be entered. Blocks user's input if not in range. * - {@link leadingZero}: Adds leading zero to a number. Formatting will not work. * - {@link isInvalid}: Sets the invalid state of the input element. * - {@link fractionDigits}: Determines how many digits to show after the decimal point. * - {@link digits}: Determines how many digits to show before the decimal point. * - {@link fillFraction}: Fills the decimal part with zeros in case it's less than the fractionDigits. * - {@link roundUp}: Rounds a number with more than two decimals UP. * - {@link noFormat}: Disables the number formatting. It will be treated as a plain number. * - {@link value}: The value of the input element. * - {@link placeholder}: The placeholder value of the input element. * - {@link euiClearable}: Adds a clear button to the input element. * - {@link euiLoading}: Adds a loading spinner to the input element. * - {@link readonly}: Disables the input element. * - {@link disabled}: Disables the input element. * - {@link euiDanger}: Sets the invalid state of the input element. * - {@link euiSuccess}: Sets the success state of the input element. * - {@link euiWarning}: Sets the warning state of the input element. * - {@link euiInfo}: Sets the info state of the input element. * - {@link euiPrimary}: Sets the primary state of the input element. * - {@link euiSecondary}: Sets the secondary state of the input element. * * @usageNotes * ### Basic Usage * ```html * * ``` * * ### With Min/Max Range * ```html * * ``` * * ### Currency Format * ```html * * ``` * * ### Accessibility * - Use associated `