{"version":3,"file":"taiga-ui-addon-commerce-components-input-card-group.mjs","sources":["../../../projects/addon-commerce/components/input-card-group/input-card-group.directive.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.options.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.providers.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.component.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.template.html","../../../projects/addon-commerce/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.ts"],"sourcesContent":["import {Directive, inject, input} from '@angular/core';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\n@Directive({host: {'[class._compact]': \"compact() || breakpoint() === 'mobile'\"}})\nexport class TuiInputCardGroupDirective {\n    protected readonly breakpoint = inject(TUI_BREAKPOINT);\n\n    public readonly compact = input(false);\n}\n","import {tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCardInputs {\n    cvc: boolean;\n    expire: boolean;\n}\n\nexport interface TuiInputCardGroupOptions {\n    readonly cardValidator: TuiBooleanHandler<string>;\n    readonly placeholder: string;\n    readonly cvcPlaceholder: string;\n    readonly cvcHidden: boolean;\n    readonly inputs: TuiCardInputs;\n}\n\nexport const TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS: TuiInputCardGroupOptions = {\n    cardValidator: tuiDefaultCardValidator,\n    placeholder: '0000 0000 0000 0000',\n    cvcPlaceholder: '000',\n    cvcHidden: true,\n    inputs: {cvc: true, expire: true},\n};\n\nexport const [TUI_INPUT_CARD_GROUP_OPTIONS, tuiInputCardGroupOptionsProvider] =\n    tuiCreateOptions(TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS);\n","import {computed, inject, InjectionToken, type Signal} from '@angular/core';\nimport {\n    TUI_CARD_CVC_TEXTS,\n    TUI_CARD_EXPIRY_TEXTS,\n    TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\n\nexport interface TuiCardGroupedTexts {\n    readonly cardNumberText: string;\n    readonly cvcText: string;\n    readonly expiryText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken<Signal<TuiCardGroupedTexts>>(\n    ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '',\n);\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER = {\n    provide: TUI_INPUT_CARD_GROUP_TEXTS,\n    useFactory: () => {\n        const cardGroupTexts = inject(TUI_INPUT_CARD_GROUP_TEXTS, {\n            skipSelf: true,\n            optional: true,\n        });\n\n        const breakpoint = inject(TUI_BREAKPOINT);\n        const directive = inject(TuiInputCardGroupDirective);\n        const compact = computed(() => directive.compact() || breakpoint() === 'mobile');\n        const cardNumber = inject(TUI_CARD_NUMBER_TEXTS);\n        const expiry = inject(TUI_CARD_EXPIRY_TEXTS);\n        const cvcTexts = inject(TUI_CARD_CVC_TEXTS);\n\n        return computed(\n            () =>\n                cardGroupTexts?.() ?? {\n                    cardNumberText: cardNumber()[Number(!compact())] ?? '',\n                    expiryText: expiry()[Number(!compact())] ?? '',\n                    cvcText: cvcTexts()[Number(!compact())] ?? '',\n                },\n        );\n    },\n};\n","import {DOCUMENT, isPlatformServer} from '@angular/common';\nimport {\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    type ElementRef,\n    inject,\n    input,\n    output,\n    PLATFORM_ID,\n    type Signal,\n    signal,\n    viewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {WA_IS_MOBILE, WA_IS_WEBKIT} from '@ng-web-apis/platform';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {\n    TUI_MASK_CARD,\n    TUI_MASK_CVC,\n    TUI_MASK_EXPIRE,\n} from '@taiga-ui/addon-commerce/constants';\nimport {TuiFormatCardPipe} from '@taiga-ui/addon-commerce/pipes/format-card';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {CHAR_NO_BREAK_SPACE, TUI_NON_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\nimport {tuiHovered, TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn, tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n    tuiAsDataListHost,\n    type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon, TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {\n    TuiAppearance,\n    tuiAppearance,\n    tuiAppearanceFocus,\n    tuiAppearanceMode,\n    tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n    TuiDropdownDirective,\n    TuiDropdownOpen,\n    tuiDropdownOptionsProvider,\n    TuiWithDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TUI_DATE_TEXTS} from '@taiga-ui/kit/tokens';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, Subject, switchMap, timer} from 'rxjs';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\nimport {TUI_INPUT_CARD_GROUP_OPTIONS} from './input-card-group.options';\nimport {\n    TUI_INPUT_CARD_GROUP_TEXTS,\n    TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n} from './input-card-group.providers';\n\nexport interface TuiCard {\n    card: string;\n    cvc: string;\n    expire: string;\n}\n\n@Component({\n    selector: 'tui-input-card-group',\n    imports: [\n        FormsModule,\n        MaskitoDirective,\n        PolymorpheusOutlet,\n        TuiAppearance,\n        TuiChevron,\n        TuiFormatCardPipe,\n        TuiIcon,\n        TuiIconPipe,\n        TuiMapperPipe,\n        TuiTransitioned,\n        WaResizeObserver,\n    ],\n    templateUrl: './input-card-group.template.html',\n    styleUrl: './input-card-group.style.less',\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [\n        tuiAsDataListHost(TuiInputCardGroup),\n        tuiAsControl(TuiInputCardGroup),\n        tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n        TuiHoveredService,\n        TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n    ],\n    hostDirectives: [\n        TuiAppearance,\n        TuiDropdownDirective,\n        TuiWithDropdownOpen,\n        {directive: TuiInputCardGroupDirective, inputs: ['compact']},\n    ],\n    host: {\n        '[attr.data-size]': 'textfield.size()',\n        '(pointerdown)': 'onPointerDown($event)',\n        '(scroll.zoneless)': '$event.target.scrollLeft = 0',\n        '(tuiActiveZoneChange)': 'onTouched()',\n    },\n})\nexport class TuiInputCardGroup\n    extends TuiControl<TuiCard | null>\n    implements TuiDataListHost<Partial<TuiCard>>\n{\n    private readonly inputCard = viewChild<ElementRef<HTMLInputElement>>('inputCard');\n    private readonly inputExpire = viewChild<ElementRef<HTMLInputElement>>('inputExpire');\n    private readonly inputCVC = viewChild<ElementRef<HTMLInputElement>>('inputCVC');\n    private readonly doc = inject(DOCUMENT);\n    private readonly isServer = isPlatformServer(inject(PLATFORM_ID));\n    private readonly focus$ = new Subject<void>();\n    private readonly expirePrefilled = signal(false);\n    private readonly paymentSystems = inject(TUI_PAYMENT_SYSTEM_ICONS);\n    private readonly options = inject(TUI_INPUT_CARD_GROUP_OPTIONS);\n    private readonly el = tuiInjectElement();\n    private readonly hover = tuiHovered();\n    private readonly focusedIn = tuiFocusedIn(this.el);\n\n    protected readonly cvcMask = computed(() => TUI_MASK_CVC(this.codeLength() ?? 3));\n    protected readonly cvcHidden = this.options.cvcHidden;\n    protected readonly dateTexts = inject(TUI_DATE_TEXTS);\n\n    protected readonly expirePlaceholder = computed(\n        () => this.dateTexts()['dd/mm/yyyy']?.slice(3, 8).replaceAll('.', '/') ?? '00/00',\n    );\n\n    protected readonly cvcPlaceholder = computed((length = this.codeLength()) =>\n        length ? '0'.repeat(length) : this.options.cvcPlaceholder,\n    );\n\n    protected readonly cvcPrefilled = computed(\n        () => !this.inputs().cvc || !!this.cvc().match(TUI_NON_DIGIT_REGEXP),\n    );\n\n    protected readonly cardPrefilled = computed(\n        () => !!this.card().match(TUI_NON_DIGIT_REGEXP),\n    );\n\n    protected readonly focusable = computed(\n        () => this.cardValidator()(this.card()) || this.cardPrefilled(),\n    );\n\n    protected readonly expireFocusable = computed(\n        () => this.focusable() && !this.expirePrefilled(),\n    );\n\n    protected readonly isMobile = inject(WA_IS_MOBILE);\n    protected readonly isWebkit = inject(WA_IS_WEBKIT);\n    protected readonly dropdown = inject(TuiDropdownDirective);\n    protected readonly maskCard = TUI_MASK_CARD;\n    protected readonly maskExpire = TUI_MASK_EXPIRE;\n    protected readonly icons = inject(TUI_COMMON_ICONS);\n    protected readonly textfield = inject(TUI_TEXTFIELD_OPTIONS);\n    protected readonly texts = inject(TUI_INPUT_CARD_GROUP_TEXTS);\n    protected readonly open = inject(TuiDropdownOpen).open;\n\n    protected readonly $ = this.isWebkit\n        ? this.focus$\n              .pipe(\n                  switchMap(() => timer(100)),\n                  takeUntilDestroyed(),\n              )\n              .subscribe(() => (this.expire() ? this.focusCVC() : this.focusExpire()))\n        : EMPTY;\n\n    protected readonly card = computed(() => this.value()?.card || '');\n    protected readonly expire = computed(() => this.value()?.expire || '');\n    protected readonly cvc = computed(() => this.value()?.cvc || '');\n    protected readonly m = tuiAppearanceMode(this.mode);\n\n    protected readonly appearance = tuiAppearance(\n        inject(TUI_TEXTFIELD_OPTIONS).appearance,\n    );\n\n    protected readonly state: Signal<unknown> = tuiAppearanceState(\n        // eslint-disable-next-line no-nested-ternary\n        computed(() => (this.disabled() ? 'disabled' : this.hover() ? 'hover' : null)),\n    );\n\n    protected readonly focus = tuiAppearanceFocus(\n        computed(() => this.open() || this.focusedIn()),\n    );\n\n    protected readonly labelRaised = computed(\n        () => (this.focus() && !this.readOnly()) || !!this.card(),\n    );\n\n    protected readonly hasCleaner = computed(\n        () => this.textfield.cleaner() && this.card() && this.interactive(),\n    );\n\n    protected readonly bin = computed(() =>\n        this.card().length < 6 ? null : this.card().slice(0, 6),\n    );\n\n    protected readonly content = computed<PolymorpheusContent>(\n        (system = tuiGetPaymentSystem(this.card())) =>\n            this.icon() || (system && this.paymentSystems[system]),\n    );\n\n    public readonly placeholder = input(this.options.placeholder);\n    public readonly inputs = input(this.options.inputs);\n    public readonly cardValidator = input(this.options.cardValidator);\n    public readonly icon = input<PolymorpheusContent>('');\n    public readonly id = input(tuiGenerateId());\n    public readonly codeLength = input<3 | 4>();\n    public readonly binChange = output<string | null>();\n\n    public override writeValue(value: TuiCard | null): void {\n        const bin = this.bin();\n        const {activeElement} = this.doc;\n\n        super.writeValue(value);\n        this.updateBin(bin);\n        this.expirePrefilled.set(!!this.expire() && this.cardPrefilled());\n\n        // Programmatic setting of expire input value breaks autofill in Chrome\n        const inputExpire = this.inputExpire();\n\n        if (\n            !inputExpire ||\n            this.isMobile ||\n            this.isWebkit ||\n            this.isServer ||\n            inputExpire.nativeElement.value === this.expire()\n        ) {\n            return;\n        }\n\n        inputExpire.nativeElement.focus({preventScroll: true});\n        inputExpire.nativeElement.select();\n        this.doc.execCommand('insertText', false, this.expire());\n        inputExpire.nativeElement.blur();\n        (activeElement as HTMLElement | null)?.focus({preventScroll: true});\n    }\n\n    public focusCard(): void {\n        this.inputCard()?.nativeElement.focus({preventScroll: true});\n    }\n\n    public focusExpire(): void {\n        if (this.inputs().expire) {\n            this.inputExpire()?.nativeElement.focus({preventScroll: true});\n        } else {\n            this.inputCVC()?.nativeElement.focus({preventScroll: true});\n        }\n    }\n\n    public focusCVC(): void {\n        this.inputCVC()?.nativeElement.focus({preventScroll: true});\n    }\n\n    public handleOption(option: Partial<TuiCard> | null): void {\n        const {card = '', expire = '', cvc = ''} = option || {};\n        const bin = this.bin();\n\n        const element =\n            (!card && this.inputCard()?.nativeElement) ||\n            (!expire && this.inputExpire()?.nativeElement) ||\n            this.inputCVC()?.nativeElement;\n\n        this.onChange({card, expire, cvc});\n        this.updateBin(bin);\n        this.open.set(false);\n        this.expirePrefilled.set(!!expire);\n\n        element?.focus();\n    }\n\n    public clear(): void {\n        this.expirePrefilled.set(false);\n        [this.inputCVC(), this.inputExpire(), this.inputCard()].forEach((e) => {\n            e?.nativeElement.focus();\n            e?.nativeElement.select();\n            e?.nativeElement.ownerDocument.execCommand('delete');\n        });\n\n        this.onChange(null);\n    }\n\n    protected get cardCollapsed(): boolean {\n        return this.focusable() && !tuiIsFocused(this.inputCard()?.nativeElement);\n    }\n\n    protected onResize(): void {\n        this.cdr.detectChanges();\n    }\n\n    protected onCardChange(card: string): void {\n        const bin = this.bin();\n        const parsed = card.split(CHAR_NO_BREAK_SPACE).join('');\n\n        if (this.card() === parsed) {\n            return;\n        }\n\n        this.updateProperty(parsed, 'card');\n        this.updateBin(bin);\n\n        if (this.cardValidator()(this.card()) && !this.expire() && this.inputExpire()) {\n            this.focusExpire();\n            // Safari autofill focus jerk workaround\n            this.focus$.next();\n        }\n    }\n\n    protected onExpireChange(expire: string): void {\n        this.updateProperty(expire, 'expire');\n\n        // MM/YY\n        if (Number(this.inputExpire()?.nativeElement.selectionStart) === 5) {\n            this.focusCVC();\n        }\n    }\n\n    protected onCVCChange(cvc: string): void {\n        this.updateProperty(cvc, 'cvc');\n    }\n\n    protected getStyle({offsetWidth}: HTMLSpanElement): string {\n        return this.cardCollapsed\n            ? `transform: translate3d(calc(${offsetWidth}px * var(--tui-inline)), 0, 0); clip-path: inset(0 0 0 calc(100% - ${offsetWidth}px));`\n            : '';\n    }\n\n    protected onPointerDown(event: MouseEvent): void {\n        if (tuiIsElement(event.target) && tuiIsInput(event.target)) {\n            return;\n        }\n\n        event.preventDefault();\n        this.focusInput();\n    }\n\n    protected toggle(): void {\n        this.open.update((open) => !open);\n    }\n\n    private updateBin(oldBin: string | null): void {\n        const bin = this.bin();\n\n        if (bin !== oldBin && !this.cardPrefilled()) {\n            this.binChange.emit(bin);\n        }\n    }\n\n    private updateProperty(value: string, propName: 'card' | 'cvc' | 'expire'): void {\n        const {card = '', expire = '', cvc = ''} = this.value() || {};\n        const newValue: TuiCard = {card, expire, cvc};\n\n        newValue[propName] = value;\n\n        this.onChange(newValue.expire || newValue.cvc || newValue.card ? newValue : null);\n    }\n\n    private focusInput(): void {\n        const element =\n            (!this.cardPrefilled() && this.inputCard()?.nativeElement) ||\n            (this.expireFocusable() && this.inputExpire()?.nativeElement) ||\n            this.inputCVC()?.nativeElement;\n\n        element?.focus();\n    }\n}\n","@let formattedCard = card() | tuiFormatCard: cardPrefilled();\n\n<div class=\"t-wrapper\">\n    <label (click.zoneless.prevent)=\"(0)\">\n        <input\n            #inputCard\n            autocomplete=\"cc-number\"\n            automation-id=\"tui-input-card-group__card\"\n            inputmode=\"numeric\"\n            translate=\"no\"\n            type=\"text\"\n            class=\"t-input t-input_card\"\n            [attr.aria-invalid]=\"!cardPrefilled() && !(this.card() | tuiMapper: cardValidator())\"\n            [attr.id]=\"`${id()}_card`\"\n            [attr.role]=\"dropdown.content() ? 'combobox' : null\"\n            [class.t-input_filled]=\"card().length\"\n            [class.t-input_inert]=\"cardPrefilled()\"\n            [disabled]=\"disabled()\"\n            [maskito]=\"maskCard\"\n            [ngModel]=\"formattedCard\"\n            [ngModelOptions]=\"{standalone: true}\"\n            [placeholder]=\"cardPrefilled() ? '' : placeholder()\"\n            [readOnly]=\"readOnly()\"\n            [tabIndex]=\"cardPrefilled() ? -1 : 0\"\n            (focus)=\"(0)\"\n            (ngModelChange)=\"onCardChange($event)\"\n        />\n        <span\n            aria-hidden=\"true\"\n            translate=\"no\"\n            class=\"t-collapsed\"\n            [attr.data-before]=\"cardPrefilled() ? card().slice(-4) : ''\"\n            [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n            (waResizeObserver)=\"onResize()\"\n        >\n            <span\n                #ghost\n                class=\"t-ghost\"\n                [textContent]=\"formattedCard.slice(card().length % 4 > 0 ? -5 : -4)\"\n            ></span>\n\n            <span class=\"t-collapsed-wrapper\">\n                <span\n                    class=\"t-value\"\n                    [style]=\"getStyle(ghost)\"\n                    [textContent]=\"formattedCard\"\n                ></span>\n            </span>\n        </span>\n        <div\n            tuiTransitioned\n            class=\"t-label\"\n            [attr.data-label]=\"texts().cardNumberText\"\n            [class.t-label_raised]=\"labelRaised()\"\n        >\n            <ng-content />\n        </div>\n    </label>\n</div>\n<div\n    class=\"t-wrapper t-wrapper_expire\"\n    [class.t-wrapper_active]=\"cardCollapsed\"\n>\n    <label (click.zoneless.prevent)=\"(0)\">\n        <input\n            #inputExpire\n            autocomplete=\"cc-exp\"\n            automation-id=\"tui-input-card-group__expire\"\n            inputmode=\"numeric\"\n            maxlength=\"5\"\n            name=\"ccexpiryyear\"\n            translate=\"no\"\n            class=\"t-input\"\n            [attr.id]=\"`${id()}_expire`\"\n            [class.t-input_inert]=\"!expireFocusable()\"\n            [class.t-input_prefilled]=\"!inputs().expire\"\n            [disabled]=\"disabled()\"\n            [maskito]=\"maskExpire\"\n            [ngModel]=\"expire()\"\n            [ngModelOptions]=\"{standalone: true}\"\n            [placeholder]=\"inputs().expire ? expirePlaceholder() : '••/••'\"\n            [readOnly]=\"readOnly() || !inputs().expire\"\n            [tabIndex]=\"expireFocusable() || (isMobile && isWebkit) ? 0 : -1\"\n            (focus)=\"(0)\"\n            (ngModelChange)=\"onExpireChange($event)\"\n        />\n        <div\n            tuiTransitioned\n            class=\"t-label\"\n            [class.t-label_raised]=\"labelRaised()\"\n        >\n            {{ texts().expiryText }}\n        </div>\n    </label>\n</div>\n<div\n    class=\"t-wrapper t-wrapper_cvc\"\n    [class.t-wrapper_active]=\"cardCollapsed\"\n>\n    <label (click.zoneless.prevent)=\"(0)\">\n        <input\n            #inputCVC\n            autocomplete=\"cc-csc\"\n            automation-id=\"tui-input-card-group__cvc\"\n            inputmode=\"numeric\"\n            translate=\"no\"\n            type=\"text\"\n            class=\"t-input\"\n            [attr.id]=\"`${id()}_cvc`\"\n            [class.t-input_cvc_hidden]=\"cvcHidden\"\n            [class.t-input_prefilled]=\"cvcPrefilled()\"\n            [disabled]=\"disabled()\"\n            [maskito]=\"cvcMask()\"\n            [ngModel]=\"cvc()\"\n            [ngModelOptions]=\"{standalone: true}\"\n            [placeholder]=\"cvcPrefilled() ? '•••' : cvcPlaceholder()\"\n            [readOnly]=\"readOnly() || cvcPrefilled()\"\n            [tabIndex]=\"focusable() || (isMobile && isWebkit) ? 0 : -1\"\n            (focus)=\"(0)\"\n            (ngModelChange)=\"onCVCChange($event)\"\n        />\n        <div\n            tuiTransitioned\n            class=\"t-label\"\n            [class.t-label_raised]=\"labelRaised()\"\n        >\n            {{ texts().cvcText }}\n        </div>\n    </label>\n</div>\n<div class=\"t-icons\">\n    @if (content()) {\n        <div class=\"t-icon-outlet\">\n            <img\n                *polymorpheusOutlet=\"content() as src\"\n                alt=\"\"\n                automation-id=\"tui-input-card-group__icon\"\n                class=\"t-card\"\n                [src]=\"src | tuiIcon\"\n            />\n        </div>\n    }\n    @if (hasCleaner()) {\n        <tui-icon\n            automation-id=\"tui-input-card-group__cleaner\"\n            tuiAppearance=\"icon\"\n            class=\"t-icon\"\n            [icon]=\"icons.close\"\n            (click)=\"clear()\"\n        />\n    }\n    @if (dropdown.content()) {\n        <tui-icon\n            automation-id=\"tui-input-card-group__dropdown\"\n            tuiAppearance=\"icon\"\n            tuiChevron\n            class=\"t-icon\"\n            (click)=\"toggle()\"\n        />\n    }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiInputCardGroupDirective"],"mappings":"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"}