{"version":3,"file":"taiga-ui-kit-components-input-number.mjs","sources":["../../../projects/kit/components/input-number/input-number.options.ts","../../../projects/kit/components/input-number/number-mask.directive.ts","../../../projects/kit/components/input-number/quantum.directive.ts","../../../projects/kit/components/input-number/transformers/number.value-transformer.ts","../../../projects/kit/components/input-number/input-number.directive.ts","../../../projects/kit/components/input-number/step/input-number-step.service.ts","../../../projects/kit/components/input-number/step/input-number-step.component.ts","../../../projects/kit/components/input-number/step/input-number-step.template.html","../../../projects/kit/components/input-number/step/input-number-step.directive.ts","../../../projects/kit/components/input-number/transformers/bigint.value-transformer.ts","../../../projects/kit/components/input-number/input-number.ts","../../../projects/kit/components/input-number/taiga-ui-kit-components-input-number.ts"],"sourcesContent":["import {type MaskitoNumberParams} from '@maskito/kit';\nimport {type TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {CHAR_MINUS} from '@taiga-ui/cdk/constants';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputNumberOptions extends Pick<\n    Required<MaskitoNumberParams>,\n    'max' | 'min' | 'minusSign' | 'postfix' | 'prefix'\n> {\n    readonly step: bigint | number;\n    readonly icons: Readonly<{\n        decrease: string;\n        increase: string;\n    }>;\n    readonly valueTransformer:\n        | TuiValueTransformer<bigint | null, any>\n        | TuiValueTransformer<number | null, any>\n        | null;\n}\n\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n    min: Number.MIN_SAFE_INTEGER,\n    max: Number.MAX_SAFE_INTEGER,\n    prefix: '',\n    postfix: '',\n    minusSign: CHAR_MINUS,\n    step: 0,\n    icons: {\n        increase: '@tui.plus',\n        decrease: '@tui.minus',\n    },\n    valueTransformer: null,\n};\n\nexport const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(\n    TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, effect, inject, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {type MaskitoOptions, maskitoTransform} from '@maskito/core';\nimport {\n    maskitoCaretGuard,\n    maskitoNumberOptionsGenerator,\n    type MaskitoNumberParams,\n    maskitoStringifyNumber,\n} from '@maskito/kit';\nimport {tuiIsSafeToRound, tuiRoundWith} from '@taiga-ui/cdk/utils/math';\nimport {TuiInputDirective} from '@taiga-ui/core/components/input';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {\n    TUI_INPUT_NUMBER_OPTIONS,\n    type TuiInputNumberOptions,\n} from './input-number.options';\n\n@Directive({hostDirectives: [MaskitoDirective]})\nexport class TuiNumberMask {\n    private readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n    private readonly numberFormat = inject(TUI_NUMBER_FORMAT);\n    private readonly input = inject(TuiInputDirective);\n    public readonly prefix = input(this.options.prefix);\n    public readonly postfix = input(this.options.postfix);\n\n    public readonly maximumFractionDigits = computed(\n        (precision = this.numberFormat().precision) =>\n            Number.isNaN(precision) ? 2 : precision,\n    );\n\n    public readonly min = input<\n        TuiInputNumberOptions['min'],\n        TuiInputNumberOptions['min'] | null\n    >(this.options.min, {transform: (x) => x ?? this.options.min});\n\n    public readonly max = input<\n        TuiInputNumberOptions['max'],\n        TuiInputNumberOptions['max'] | null\n    >(this.options.max, {transform: (x) => x ?? this.options.max});\n\n    public readonly params = computed(() => {\n        const {decimalMode, ...numberFormat} = this.numberFormat();\n        const maximumFractionDigits = this.maximumFractionDigits();\n\n        return {\n            ...numberFormat,\n            ...this.options,\n            maximumFractionDigits,\n            min: this.min(),\n            max: this.max(),\n            prefix: this.prefix(),\n            postfix: this.postfix(),\n            minimumFractionDigits: decimalMode === 'always' ? maximumFractionDigits : 0,\n        } as const satisfies MaskitoNumberParams;\n    });\n\n    protected readonly mask = tuiMaskito(computed(() => this.computeMask(this.params())));\n\n    protected readonly maskInitialCalibration = effect(() => {\n        const options = maskitoNumberOptionsGenerator({\n            ...this.params(),\n            min: -Infinity,\n            max: Infinity,\n        });\n\n        this.input.value.update((x) => maskitoTransform(x, options));\n    });\n\n    public stringify(value: bigint | number | null | undefined): string {\n        const params = this.params();\n        const precision = params.maximumFractionDigits;\n\n        const rounded =\n            typeof value === 'number' &&\n            Number.isFinite(precision) &&\n            tuiIsSafeToRound(value, precision)\n                ? tuiRoundWith({\n                      value,\n                      precision,\n                      method: this.numberFormat().rounding,\n                  })\n                : value;\n\n        return maskitoStringifyNumber(rounded ?? null, {\n            ...params,\n            minimumFractionDigits:\n                String(rounded).includes(params.decimalSeparator) &&\n                this.numberFormat().decimalMode !== 'not-zero'\n                    ? params.maximumFractionDigits\n                    : 0,\n        });\n    }\n\n    private computeMask(params: MaskitoNumberParams): MaskitoOptions {\n        const {prefix = '', postfix = '', negativePattern, minusSign} = params;\n        const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n\n        return {\n            ...options,\n            plugins: [\n                ...plugins,\n                maskitoCaretGuard((value) => [\n                    minusSign &&\n                    value.includes(minusSign) &&\n                    negativePattern === 'minusFirst'\n                        ? 0\n                        : prefix.length,\n                    value.length - postfix.length,\n                ]),\n            ],\n        };\n    }\n}\n\n@Directive({\n    hostDirectives: [\n        {\n            directive: TuiNumberMask,\n            inputs: ['min', 'max', 'prefix', 'postfix'],\n        },\n    ],\n})\nexport class TuiWithNumberMask {}\n","import {Directive, input} from '@angular/core';\nimport {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiIsSafeToRound, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/core/components/slider';\nimport {tuiGetFractionPartPadded} from '@taiga-ui/core/utils/format';\nimport {identity} from 'rxjs';\n\n@Directive()\nexport class TuiQuantumValueTransformerBase extends TuiValueTransformer<\n    number | null,\n    number | null\n> {\n    public override fromControlValue = identity;\n\n    // eslint-disable-next-line @typescript-eslint/parameter-properties,@angular-eslint/prefer-inject\n    constructor(public quantum = 0) {\n        super();\n    }\n\n    public toControlValue(value: number | null): number | null {\n        return value != null &&\n            this.quantum > 0 &&\n            tuiIsSafeToRound(value, tuiGetFractionPartPadded(this.quantum).length)\n            ? tuiRound(\n                  Math.round(value / this.quantum) * this.quantum,\n                  TUI_FLOATING_PRECISION,\n              )\n            : value;\n    }\n}\n\n@Directive({\n    selector: '[tuiInputNumber][quantum]:not([bigint])',\n    inputs: ['quantum'],\n})\nexport class TuiQuantumValueTransformer extends TuiQuantumValueTransformerBase {\n    constructor() {\n        super(0);\n    }\n}\n\n@Directive({selector: '[tuiInputNumber][bigint][quantum]'})\nexport class TuiBigIntQuantumValueTransformer extends TuiValueTransformer<\n    bigint | null,\n    bigint | null\n> {\n    public readonly quantum = input(BigInt(0));\n    public override fromControlValue = identity;\n\n    public toControlValue(value: bigint | null): bigint | null {\n        if (!this.quantum() || !value) {\n            return value;\n        }\n\n        const floor = (value / this.quantum()) * this.quantum();\n        const remainder = value % this.quantum();\n\n        return (\n            floor + (BigInt(2) * remainder >= this.quantum() ? this.quantum() : BigInt(0))\n        );\n    }\n}\n","import {Directive, inject} from '@angular/core';\nimport {maskitoParseNumber} from '@maskito/kit';\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TUI_INPUT_NUMBER_OPTIONS} from '../input-number.options';\nimport {TuiNumberMask} from '../number-mask.directive';\nimport {TuiQuantumValueTransformer} from '../quantum.directive';\n\n@Directive({providers: [tuiProvide(TuiValueTransformer, TuiNumberValueTransformer)]})\nexport class TuiNumberValueTransformer extends TuiValueTransformer<\n    string,\n    number | null\n> {\n    private readonly mask = inject(TuiNumberMask);\n\n    private readonly quantumTransformer: TuiValueTransformer<\n        number | null,\n        number | null\n    > =\n        inject(TuiQuantumValueTransformer, {optional: true}) ??\n        TUI_IDENTITY_VALUE_TRANSFORMER;\n\n    private readonly optionsTransformer: TuiValueTransformer<number | null, any> =\n        inject(TUI_INPUT_NUMBER_OPTIONS).valueTransformer ??\n        TUI_IDENTITY_VALUE_TRANSFORMER;\n\n    public toControlValue(textfieldValue: string | null): number | null {\n        const parsed = maskitoParseNumber(textfieldValue ?? '', this.mask.params());\n\n        return this.optionsTransformer.toControlValue(\n            this.quantumTransformer.toControlValue(Number.isNaN(parsed) ? null : parsed),\n        );\n    }\n\n    public fromControlValue(controlValue: number | null): string {\n        return this.mask.stringify(\n            this.optionsTransformer.fromControlValue(controlValue),\n        );\n    }\n}\n","import {computed, Directive, effect, inject, untracked} from '@angular/core';\nimport {maskitoParseNumber} from '@maskito/kit';\nimport {WA_IS_IOS} from '@ng-web-apis/platform';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiInputDirective, TuiWithInput} from '@taiga-ui/core/components/input';\n\nimport {TuiNumberMask, TuiWithNumberMask} from './number-mask.directive';\nimport {TuiNumberValueTransformer} from './transformers/number.value-transformer';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n@Directive({\n    selector: 'input[tuiInputNumber]',\n    providers: [tuiAsControl(TuiInputNumberDirective)],\n    hostDirectives: [TuiWithInput, TuiWithNumberMask, TuiNumberValueTransformer],\n    host: {\n        '[attr.inputMode]': 'inputMode()',\n        '[attr.maxLength]':\n            'element.maxLength > 0 ? element.maxLength : defaultMaxLength()',\n        '[disabled]': 'disabled()',\n        '(blur)': 'onBlur()',\n        '(focus)': 'onFocus()',\n    },\n})\nexport class TuiInputNumberDirective extends TuiControl<string> {\n    private readonly mask = inject(TuiNumberMask);\n    private readonly input = inject(TuiInputDirective);\n    private readonly isIOS = inject(WA_IS_IOS);\n    protected readonly element = tuiInjectElement<HTMLInputElement>();\n\n    protected readonly inputMode = computed(() => {\n        if (this.isIOS) {\n            return this.mask.min() < 0\n                ? 'text' // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n                : 'decimal';\n        }\n\n        /**\n         * Samsung Keyboard does not have minus sign for `inputmode=decimal`\n         * @see https://github.com/taiga-family/taiga-ui/issues/11061#issuecomment-2939103792\n         */\n        return 'numeric';\n    });\n\n    protected readonly defaultMaxLength = computed(() => {\n        const {\n            decimalSeparator,\n            thousandSeparator,\n            maximumFractionDigits,\n            prefix,\n            postfix,\n            min,\n            max,\n        } = this.mask.params();\n\n        if (!Number.isFinite(min) || !Number.isFinite(max)) {\n            return -1;\n        }\n\n        const decimalPart =\n            !!maximumFractionDigits && this.input.value().includes(decimalSeparator);\n\n        const precision = decimalPart ? Math.min(maximumFractionDigits + 1, 20) : 0;\n        const takeThousand = thousandSeparator.repeat(5).length;\n        const affixes = prefix.length + postfix.length;\n\n        return DEFAULT_MAX_LENGTH + precision + takeThousand + affixes;\n    });\n\n    public readonly parsed = computed(() => this.parse(this.input.value()));\n\n    protected readonly onChangeEffect = effect(() => {\n        const decorations = untracked(\n            ({decimalSeparator, minusSign} = this.mask.params()) =>\n                new RegExp(`[^\\\\d\\\\${minusSign}\\\\${decimalSeparator}]`, 'g'),\n        );\n\n        const changed = !Object.is(\n            this.input.value().replaceAll(decorations, ''),\n            untracked(() => this.value()?.replaceAll(decorations, '')) ?? '',\n        );\n\n        const value = this.parsed();\n\n        const valid =\n            Number.isNaN(value) || (value >= this.mask.min() && value <= this.mask.max());\n\n        if (changed && valid) {\n            this.onChange(this.input.value());\n        }\n    });\n\n    public override writeValue(value: any): void {\n        const reset = this.control.pristine && this.control.untouched && !value;\n\n        const changed = untracked(\n            () => value !== this.transformer.toControlValue(this.value()),\n        );\n\n        if (changed || reset) {\n            super.writeValue(value);\n            untracked(() => this.input.value.set(this.value()));\n        }\n    }\n\n    public setValue(value: bigint | number | string | null): void {\n        this.input.value.set(\n            typeof value === 'string' ? value : this.mask.stringify(value),\n        );\n    }\n\n    protected onFocus(): void {\n        if (!this.input.value() && !this.readOnly()) {\n            this.input.value.set(`${this.mask.prefix()}${this.mask.postfix()}`);\n        }\n    }\n\n    protected onBlur(): void {\n        setTimeout(() =>\n            this.setValue(this.transformer.fromControlValue(this.control.value)),\n        );\n    }\n\n    private parse(value: string): bigint | number {\n        const params = this.mask.params();\n\n        const possibleTooBig =\n            !Number.isFinite(this.mask.min()) || !Number.isFinite(this.mask.max());\n\n        return (\n            maskitoParseNumber(value, {\n                ...params,\n                bigint: !value.includes(params.decimalSeparator) && possibleTooBig,\n            }) ?? Number.NaN\n        );\n    }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable} from '@angular/core';\nimport {\n    expand,\n    fromEvent,\n    map,\n    merge,\n    type Observable,\n    Subject,\n    switchMap,\n    takeUntil,\n    timer,\n} from 'rxjs';\n\nconst INITIAL_DELAY = 300;\nconst DELAY_DECREMENT = 15;\nconst MIN_DELAY = 100;\n\nfunction getDelay(index: number): number {\n    return Math.max(INITIAL_DELAY - index * DELAY_DECREMENT, MIN_DELAY);\n}\n\n@Injectable()\nexport class TuiInputNumberStepService<T> {\n    private readonly doc = inject(DOCUMENT);\n    private readonly start$ = new Subject<T>();\n\n    private readonly stop$ = merge(\n        fromEvent(this.doc, 'pointerup'),\n        fromEvent(this.doc, 'pointerleave'),\n        fromEvent(this.doc, 'pointercancel'),\n    );\n\n    public readonly steps$: Observable<T> = this.start$.pipe(\n        switchMap((value) =>\n            timer(INITIAL_DELAY).pipe(\n                expand((_, index) => timer(getDelay(index))),\n                map(() => value),\n                takeUntil(this.stop$),\n            ),\n        ),\n    );\n\n    public next(value: T): void {\n        this.start$.next(value);\n    }\n}\n","import {\n    ChangeDetectionStrategy,\n    Component,\n    inject,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\n\nimport {TuiInputNumberDirective} from '../input-number.directive';\nimport {\n    TUI_INPUT_NUMBER_OPTIONS,\n    type TuiInputNumberOptions,\n} from '../input-number.options';\nimport {TuiNumberMask} from '../number-mask.directive';\nimport {TuiInputNumberStep} from './input-number-step.directive';\nimport {TuiInputNumberStepService} from './input-number-step.service';\n\n@Component({\n    imports: [TuiButton],\n    templateUrl: './input-number-step.template.html',\n    styles: `\n        [data-tui-version='${TUI_VERSION}'] {\n            @import './input-number-step.style.less';\n        }\n    `,\n    encapsulation: ViewEncapsulation.None,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [TuiInputNumberStepService],\n    host: {\n        'data-tui-version': TUI_VERSION,\n        '[style.border-radius]': '\"inherit\"',\n        '[style.display]': '\"contents\"',\n    },\n})\nexport class TuiInputNumberStepButtons {\n    protected readonly mask = inject(TuiNumberMask);\n    protected readonly input = inject(TuiInputNumberDirective);\n    protected readonly options: TuiInputNumberOptions = inject(TUI_INPUT_NUMBER_OPTIONS);\n    protected readonly directive = inject(TuiInputNumberStep);\n    protected readonly appearance = inject(TUI_TEXTFIELD_OPTIONS).appearance;\n    protected readonly hold = inject(TuiInputNumberStepService<bigint | number>);\n\n    protected readonly $ = this.hold.steps$\n        .pipe(takeUntilDestroyed())\n        .subscribe((value) => this.directive.onStep(value));\n}\n","@if (directive.step()) {\n    <section class=\"t-input-number-buttons\">\n        <button\n            size=\"s\"\n            tabindex=\"-1\"\n            tuiIconButton\n            type=\"button\"\n            class=\"t-button\"\n            [appearance]=\"appearance()\"\n            [disabled]=\"!input.interactive() || input.parsed() >= mask.max()\"\n            [iconStart]=\"options.icons.increase\"\n            (click.prevent)=\"directive.onStep(directive.step())\"\n            (pointerdown.prevent)=\"hold.next(directive.step())\"\n        >\n            +\n        </button>\n        <button\n            size=\"s\"\n            tabindex=\"-1\"\n            tuiIconButton\n            type=\"button\"\n            class=\"t-button\"\n            [appearance]=\"appearance()\"\n            [disabled]=\"!input.interactive() || input.parsed() <= mask.min()\"\n            [iconStart]=\"options.icons.decrease\"\n            (click.prevent)=\"directive.onStep(-directive.step())\"\n            (pointerdown.prevent)=\"hold.next(-directive.step())\"\n        >\n            -\n        </button>\n    </section>\n}\n","import {Directive, inject, input} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiSum} from '@taiga-ui/cdk/utils/math';\nimport {\n    tuiAsTextfieldContent,\n    TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiAppearanceProxy} from '@taiga-ui/kit/directives/appearance-proxy';\n\nimport {TuiInputNumberDirective} from '../input-number.directive';\nimport {TUI_INPUT_NUMBER_OPTIONS} from '../input-number.options';\nimport {TuiNumberMask} from '../number-mask.directive';\nimport {TuiInputNumberStepButtons} from './input-number-step.component';\n\n@Directive({\n    selector: 'input[tuiInputNumber][step]',\n    providers: [tuiAsTextfieldContent(TuiInputNumberStepButtons)],\n    hostDirectives: [TuiAppearanceProxy, TuiTextfieldContent],\n    host: {\n        'data-tui-version': TUI_VERSION,\n        '[class._with-buttons]': 'step()',\n        '(keydown.arrowDown.prevent)': 'onStep(-step())',\n        '(keydown.arrowUp.prevent)': 'onStep(step())',\n    },\n})\nexport class TuiInputNumberStep {\n    private readonly el = tuiInjectElement<HTMLInputElement>();\n    private readonly input = inject(TuiInputNumberDirective, {self: true});\n    private readonly mask = inject(TuiNumberMask, {self: true});\n    public readonly step = input(inject(TUI_INPUT_NUMBER_OPTIONS).step);\n\n    public onStep(step: bigint | number): void {\n        const current = this.input.parsed() || 0;\n\n        const updated = tuiSum(\n            current,\n            typeof current === 'bigint' ? BigInt(step) : Number(step),\n        );\n\n        this.input.setValue(tuiClamp(updated, this.mask.min(), this.mask.max()));\n\n        setTimeout((end = Number.MAX_SAFE_INTEGER) => {\n            this.el.setSelectionRange(end, end);\n        });\n    }\n}\n","import {Directive, inject} from '@angular/core';\nimport {maskitoParseNumber} from '@maskito/kit';\nimport {TUI_IDENTITY_VALUE_TRANSFORMER, TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nimport {TUI_INPUT_NUMBER_OPTIONS} from '../input-number.options';\nimport {TuiNumberMask} from '../number-mask.directive';\nimport {TuiBigIntQuantumValueTransformer} from '../quantum.directive';\n\n@Directive({\n    selector: '[tuiInputNumber][bigint]',\n    providers: [tuiProvide(TuiValueTransformer, TuiBigIntValueTransformer)],\n})\nexport class TuiBigIntValueTransformer extends TuiValueTransformer<\n    string,\n    bigint | null\n> {\n    private readonly quantumTransformer: TuiValueTransformer<\n        bigint | null,\n        bigint | null\n    > =\n        inject(TuiBigIntQuantumValueTransformer, {optional: true}) ??\n        TUI_IDENTITY_VALUE_TRANSFORMER;\n\n    private readonly optionsTransformer: TuiValueTransformer<bigint | null, any> =\n        inject(TUI_INPUT_NUMBER_OPTIONS).valueTransformer ??\n        TUI_IDENTITY_VALUE_TRANSFORMER;\n\n    private readonly mask = inject(TuiNumberMask);\n\n    public toControlValue(textfieldValue: string | null): bigint | null {\n        return this.optionsTransformer.toControlValue(\n            this.quantumTransformer.toControlValue(\n                maskitoParseNumber(textfieldValue ?? '', {\n                    ...this.mask.params(),\n                    bigint: true,\n                }),\n            ),\n        );\n    }\n\n    public fromControlValue(controlValue: bigint | null): string {\n        return this.mask.stringify(\n            this.optionsTransformer.fromControlValue(controlValue),\n        );\n    }\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputNumberDirective} from './input-number.directive';\nimport {TuiNumberMask} from './number-mask.directive';\nimport {\n    TuiBigIntQuantumValueTransformer,\n    TuiQuantumValueTransformer,\n} from './quantum.directive';\nimport {TuiInputNumberStep} from './step/input-number-step.directive';\nimport {TuiBigIntValueTransformer} from './transformers/bigint.value-transformer';\n\nexport const TuiInputNumber = [\n    TuiInputNumberDirective,\n    TuiNumberMask,\n    TuiInputNumberStep,\n    TuiBigIntValueTransformer,\n    TuiQuantumValueTransformer,\n    TuiBigIntQuantumValueTransformer,\n    TuiLabel,\n    TuiTextfieldComponent,\n    TuiTextfieldOptionsDirective,\n    TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiWithNumberMask","i3.TuiNumberValueTransformer"],"mappings":"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"}