@taiga-ui/addon-commerce 3.36.1 → 3.36.2-dev.main-2debc55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +6 -8
  2. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +4 -5
  4. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +8 -9
  6. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  7. package/components/input-card/abstract-input-card.d.ts +1 -1
  8. package/components/input-card/index.d.ts +1 -1
  9. package/components/input-card/input-card.component.d.ts +1 -1
  10. package/components/input-card/{input-card.providers.d.ts → input-card.options.d.ts} +3 -3
  11. package/components/input-card-grouped/index.d.ts +1 -0
  12. package/components/input-card-grouped/input-card-grouped.component.d.ts +2 -1
  13. package/components/input-card-grouped/input-card-grouped.options.d.ts +11 -0
  14. package/components/input-card-grouped/input-card-grouped.providers.d.ts +1 -11
  15. package/components/money/index.d.ts +1 -1
  16. package/components/money/money.component.d.ts +1 -1
  17. package/components/money/{money-options.d.ts → money.options.d.ts} +6 -5
  18. package/esm2015/components/input-card/abstract-input-card.js +1 -1
  19. package/esm2015/components/input-card/index.js +2 -2
  20. package/esm2015/components/input-card/input-card.component.js +2 -2
  21. package/esm2015/components/input-card/input-card.options.js +13 -0
  22. package/esm2015/components/input-card-grouped/index.js +2 -1
  23. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +3 -2
  24. package/esm2015/components/input-card-grouped/input-card-grouped.options.js +9 -0
  25. package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +1 -11
  26. package/esm2015/components/money/index.js +2 -2
  27. package/esm2015/components/money/money.component.js +2 -2
  28. package/esm2015/components/money/money.options.js +19 -0
  29. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +7 -9
  30. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  31. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +6 -7
  32. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  33. package/fesm2015/taiga-ui-addon-commerce-components-money.js +10 -12
  34. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  35. package/package.json +4 -4
  36. package/esm2015/components/input-card/input-card.providers.js +0 -14
  37. package/esm2015/components/money/money-options.js +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-input-card-grouped.js","sources":["../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.template.html","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts","../../../projects/addon-commerce/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.ts"],"sourcesContent":["import {inject, InjectionToken, ValueProvider} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_INPUT_CARD_DEFAULT_OPTIONS,\n TuiInputCardOptions,\n} from '@taiga-ui/addon-commerce/components/input-card';\nimport {tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {TuiBooleanHandler, tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_MEDIA} from '@taiga-ui/core';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\n/**\n * InputCardGrouped texts\n */\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>(`[TUI_INPUT_CARD_GROUPED_TEXTS]`, {\n factory: () => {\n const win = inject(WINDOW);\n const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);\n const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);\n const cvcTexts = inject(TUI_CARD_CVC_TEXTS);\n const {desktopSmall} = inject(TUI_MEDIA);\n\n const media = win.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return tuiTypedFromEvent(media, `change`).pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n },\n});\n\nexport interface TuiInputCardGroupedOptions extends TuiInputCardOptions {\n readonly cardValidator: TuiBooleanHandler<string>;\n readonly exampleText: string;\n readonly exampleTextCVC: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS: TuiInputCardGroupedOptions = {\n ...TUI_INPUT_CARD_DEFAULT_OPTIONS,\n cardValidator: tuiDefaultCardValidator,\n exampleText: `0000 0000 0000 0000`,\n exampleTextCVC: `000`,\n};\n\nexport const TUI_INPUT_CARD_GROUPED_OPTIONS =\n new InjectionToken<TuiInputCardGroupedOptions>(`[TUI_INPUT_CARD_GROUPED_OPTIONS]`, {\n factory: () => TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS,\n });\n\nexport const tuiInputCardGroupedOptionsProvider: (\n options: Partial<TuiInputCardGroupedOptions>,\n) => ValueProvider = (options: Partial<TuiInputCardGroupedOptions>) => ({\n provide: TUI_INPUT_CARD_GROUPED_OPTIONS,\n useValue: {...TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {AbstractTuiInputCard} from '@taiga-ui/addon-commerce/components/input-card';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n TuiAutoFocusDirective,\n TuiFocusableElementAccessor,\n tuiIsElement,\n tuiIsInput,\n tuiIsNativeFocused,\n tuiIsNativeFocusedIn,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n tuiAsDataListHost,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_CARD_GROUPED_OPTIONS,\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n TuiInputCardGroupedOptions,\n} from './input-card-grouped.providers';\n\nconst EXPIRE_COMPLETE_LENGTH = 5; // MM/YY\n\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardGroupedComponent),\n tuiAsControl(TuiInputCardGroupedComponent),\n tuiAsDataListHost(TuiInputCardGroupedComponent),\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiInputCard<TuiCard, TuiInputCardGroupedOptions>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCard', {read: TuiAutoFocusDirective})\n private readonly cardNumberAutofocusRef?: TuiAutoFocusDirective;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire', {read: TuiAutoFocusDirective})\n private readonly expireCardAutofocusRef?: TuiAutoFocusDirective;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC', {read: TuiAutoFocusDirective})\n private readonly cvcCardAutofocusRef?: TuiAutoFocusDirective;\n\n private expireInert = false;\n\n @Input()\n exampleText = this.options.exampleText;\n\n @Input()\n cardValidator = this.options.cardValidator;\n\n @Input()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent;\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n exampleTextCVC = this.options.exampleTextCVC;\n\n maskCVC: MaskitoOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n };\n\n readonly maskCard: MaskitoOptions = {\n mask: TUI_CARD_MASK,\n };\n\n readonly maskExpire: MaskitoOptions = maskitoDateOptionsGenerator({\n mode: 'mm/yy',\n separator: '/',\n });\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_INPUT_CARD_GROUPED_OPTIONS) options: TuiInputCardGroupedOptions,\n ) {\n super(control, cdr, options);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n get card(): string {\n return this.value?.card || '';\n }\n\n get expire(): string {\n return this.value?.expire || '';\n }\n\n get cvc(): string {\n return this.value?.cvc || '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value?.card?.trim() && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || this.hasCardNumber;\n }\n\n get hasCardNumber(): boolean {\n return !!this.value?.card?.trim();\n }\n\n get idCard(): string {\n return `${this.id}_card`;\n }\n\n get idExpire(): string {\n return `${this.id}_expire`;\n }\n\n get idCVC(): string {\n return `${this.id}_cvc`;\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteExpire(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-exp' : 'off';\n }\n\n get autocompleteCVC(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-csc' : 'off';\n }\n\n get tailLength(): number {\n return this.hasExtraSpace ? 5 : 4;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n private get expireSelectionStart(): number {\n return this.inputExpire?.nativeElement.selectionStart || 0;\n }\n\n @HostListener('keydown.esc')\n onEsc(): void {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number): void {\n this.open = this.hasDropdown;\n this.cdr.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n handleOption(option: Partial<TuiCard>): void {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.value = {card, expire, cvc};\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n element?.focus();\n }\n\n onCardChange(card: string): void {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.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 }\n }\n\n onExpireChange(expire: string): void {\n this.updateProperty(expire, 'expire');\n\n if (\n expire.length === EXPIRE_COMPLETE_LENGTH &&\n this.expireSelectionStart >= EXPIRE_COMPLETE_LENGTH\n ) {\n this.focusCVC();\n }\n }\n\n onCVCChange(cvc: string): void {\n this.updateProperty(cvc, 'cvc');\n }\n\n transform({offsetWidth}: HTMLSpanElement): string {\n return this.isCardCollapsed ? `translate3d(${offsetWidth}px, 0, 0)` : '';\n }\n\n onActiveZoneChange(active: boolean): void {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onMouseDown(event: MouseEvent): void {\n if (tuiIsElement(event.target) && tuiIsInput(event.target)) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll({currentTarget}: Event): void {\n if (tuiIsElement(currentTarget)) {\n currentTarget.scrollLeft = 0;\n }\n }\n\n clear(): void {\n this.expireInert = false;\n this.value = null;\n this.focusCard();\n }\n\n toggle(): void {\n this.open = !this.open;\n }\n\n override writeValue(value: TuiCard | null): void {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n /** Public API for manual focus management */\n focusCard(): void {\n this.cardNumberAutofocusRef?.focus();\n }\n\n focusExpire(): void {\n this.expireCardAutofocusRef?.focus();\n }\n\n focusCVC(): void {\n this.cvcCardAutofocusRef?.focus();\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && tuiIsNativeFocused(this.inputCard.nativeElement);\n }\n\n private get hasExtraSpace(): boolean {\n return this.card.length % 4 > 0;\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null): void {\n const {bin} = this;\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.value = newValue.expire || newValue.cvc || newValue.card ? newValue : null;\n }\n\n private focusInput(): void {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n element?.focus();\n }\n}\n","<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [maskito]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n (tuiResize)=\"(0)\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '•••' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [maskito]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiFormatCardModule} from '@taiga-ui/addon-commerce/pipes';\nimport {\n TuiActiveZoneModule,\n TuiAutoFocusModule,\n TuiFocusableModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiResizeModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MaskitoModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiResizeModule,\n TuiFormatCardModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-input-card-grouped.js","sources":["../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.options.ts","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.template.html","../../../projects/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts","../../../projects/addon-commerce/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {\n TUI_INPUT_CARD_DEFAULT_OPTIONS,\n TuiInputCardOptions,\n} from '@taiga-ui/addon-commerce/components/input-card';\nimport {tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {TuiBooleanHandler, tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\n\nexport interface TuiInputCardGroupedOptions extends TuiInputCardOptions {\n readonly cardValidator: TuiBooleanHandler<string>;\n readonly exampleText: string;\n readonly exampleTextCVC: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS: TuiInputCardGroupedOptions = {\n ...TUI_INPUT_CARD_DEFAULT_OPTIONS,\n cardValidator: tuiDefaultCardValidator,\n exampleText: `0000 0000 0000 0000`,\n exampleTextCVC: `000`,\n};\n\nexport const TUI_INPUT_CARD_GROUPED_OPTIONS = tuiCreateOptions(\n TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS,\n);\n\nexport function tuiInputCardGroupedOptionsProvider(\n options: Partial<TuiInputCardGroupedOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_CARD_GROUPED_OPTIONS,\n options,\n TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS,\n );\n}\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk';\nimport {TUI_MEDIA} from '@taiga-ui/core';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\n/**\n * InputCardGrouped texts\n */\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>(`[TUI_INPUT_CARD_GROUPED_TEXTS]`, {\n factory: () => {\n const win = inject(WINDOW);\n const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);\n const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);\n const cvcTexts = inject(TUI_CARD_CVC_TEXTS);\n const {desktopSmall} = inject(TUI_MEDIA);\n\n const media = win.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return tuiTypedFromEvent(media, `change`).pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n },\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {AbstractTuiInputCard} from '@taiga-ui/addon-commerce/components/input-card';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n TuiAutoFocusDirective,\n TuiFocusableElementAccessor,\n tuiIsElement,\n tuiIsInput,\n tuiIsNativeFocused,\n tuiIsNativeFocusedIn,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n tuiAsDataListHost,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_CARD_GROUPED_OPTIONS,\n TuiInputCardGroupedOptions,\n} from './input-card-grouped.options';\nimport {\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n} from './input-card-grouped.providers';\n\nconst EXPIRE_COMPLETE_LENGTH = 5; // MM/YY\n\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardGroupedComponent),\n tuiAsControl(TuiInputCardGroupedComponent),\n tuiAsDataListHost(TuiInputCardGroupedComponent),\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiInputCard<TuiCard, TuiInputCardGroupedOptions>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCard', {read: TuiAutoFocusDirective})\n private readonly cardNumberAutofocusRef?: TuiAutoFocusDirective;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire', {read: TuiAutoFocusDirective})\n private readonly expireCardAutofocusRef?: TuiAutoFocusDirective;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC', {read: TuiAutoFocusDirective})\n private readonly cvcCardAutofocusRef?: TuiAutoFocusDirective;\n\n private expireInert = false;\n\n @Input()\n exampleText = this.options.exampleText;\n\n @Input()\n cardValidator = this.options.cardValidator;\n\n @Input()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent;\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n exampleTextCVC = this.options.exampleTextCVC;\n\n maskCVC: MaskitoOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n };\n\n readonly maskCard: MaskitoOptions = {\n mask: TUI_CARD_MASK,\n };\n\n readonly maskExpire: MaskitoOptions = maskitoDateOptionsGenerator({\n mode: 'mm/yy',\n separator: '/',\n });\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_INPUT_CARD_GROUPED_OPTIONS) options: TuiInputCardGroupedOptions,\n ) {\n super(control, cdr, options);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n get card(): string {\n return this.value?.card || '';\n }\n\n get expire(): string {\n return this.value?.expire || '';\n }\n\n get cvc(): string {\n return this.value?.cvc || '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value?.card?.trim() && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || this.hasCardNumber;\n }\n\n get hasCardNumber(): boolean {\n return !!this.value?.card?.trim();\n }\n\n get idCard(): string {\n return `${this.id}_card`;\n }\n\n get idExpire(): string {\n return `${this.id}_expire`;\n }\n\n get idCVC(): string {\n return `${this.id}_cvc`;\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteExpire(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-exp' : 'off';\n }\n\n get autocompleteCVC(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-csc' : 'off';\n }\n\n get tailLength(): number {\n return this.hasExtraSpace ? 5 : 4;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n private get expireSelectionStart(): number {\n return this.inputExpire?.nativeElement.selectionStart || 0;\n }\n\n @HostListener('keydown.esc')\n onEsc(): void {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number): void {\n this.open = this.hasDropdown;\n this.cdr.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n handleOption(option: Partial<TuiCard>): void {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.value = {card, expire, cvc};\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n element?.focus();\n }\n\n onCardChange(card: string): void {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.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 }\n }\n\n onExpireChange(expire: string): void {\n this.updateProperty(expire, 'expire');\n\n if (\n expire.length === EXPIRE_COMPLETE_LENGTH &&\n this.expireSelectionStart >= EXPIRE_COMPLETE_LENGTH\n ) {\n this.focusCVC();\n }\n }\n\n onCVCChange(cvc: string): void {\n this.updateProperty(cvc, 'cvc');\n }\n\n transform({offsetWidth}: HTMLSpanElement): string {\n return this.isCardCollapsed ? `translate3d(${offsetWidth}px, 0, 0)` : '';\n }\n\n onActiveZoneChange(active: boolean): void {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onMouseDown(event: MouseEvent): void {\n if (tuiIsElement(event.target) && tuiIsInput(event.target)) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll({currentTarget}: Event): void {\n if (tuiIsElement(currentTarget)) {\n currentTarget.scrollLeft = 0;\n }\n }\n\n clear(): void {\n this.expireInert = false;\n this.value = null;\n this.focusCard();\n }\n\n toggle(): void {\n this.open = !this.open;\n }\n\n override writeValue(value: TuiCard | null): void {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n /** Public API for manual focus management */\n focusCard(): void {\n this.cardNumberAutofocusRef?.focus();\n }\n\n focusExpire(): void {\n this.expireCardAutofocusRef?.focus();\n }\n\n focusCVC(): void {\n this.cvcCardAutofocusRef?.focus();\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && tuiIsNativeFocused(this.inputCard.nativeElement);\n }\n\n private get hasExtraSpace(): boolean {\n return this.card.length % 4 > 0;\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null): void {\n const {bin} = this;\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.value = newValue.expire || newValue.cvc || newValue.card ? newValue : null;\n }\n\n private focusInput(): void {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n element?.focus();\n }\n}\n","<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [maskito]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n (tuiResize)=\"(0)\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '•••' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [maskito]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiFormatCardModule} from '@taiga-ui/addon-commerce/pipes';\nimport {\n TuiActiveZoneModule,\n TuiAutoFocusModule,\n TuiFocusableModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n TuiResizeModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n MaskitoModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiActiveZoneModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n TuiLetModule,\n TuiResizeModule,\n TuiFormatCardModule,\n TuiAutoFocusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
- import { EventEmitter, Directive, Optional, Self, Inject, ChangeDetectorRef, Input, Output, InjectionToken, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
3
+ import { EventEmitter, Directive, Optional, Self, Inject, ChangeDetectorRef, Input, Output, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { NgControl } from '@angular/forms';
6
- import { AbstractTuiNullableControl, tuiPure, tuiAsFocusableItemAccessor, tuiAsControl } from '@taiga-ui/cdk';
6
+ import { AbstractTuiNullableControl, tuiPure, tuiCreateOptions, tuiProvideOptions, tuiAsFocusableItemAccessor, tuiAsControl } from '@taiga-ui/cdk';
7
7
  import { TUI_CARD_MASK } from '@taiga-ui/addon-commerce/constants';
8
8
  import * as i1$1 from '@taiga-ui/core';
9
9
  import { TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
@@ -78,11 +78,10 @@ const TUI_INPUT_CARD_DEFAULT_OPTIONS = {
78
78
  paymentSystemHandler: tuiGetPaymentSystem,
79
79
  autocompleteEnabled: false,
80
80
  };
81
- const TUI_INPUT_CARD_OPTIONS = new InjectionToken(`[TUI_INPUT_CARD_OPTIONS]`, { factory: () => TUI_INPUT_CARD_DEFAULT_OPTIONS });
82
- const tuiInputCardOptionsProvider = (options) => ({
83
- provide: TUI_INPUT_CARD_OPTIONS,
84
- useValue: Object.assign(Object.assign({}, TUI_INPUT_CARD_DEFAULT_OPTIONS), options),
85
- });
81
+ const TUI_INPUT_CARD_OPTIONS = tuiCreateOptions(TUI_INPUT_CARD_DEFAULT_OPTIONS);
82
+ function tuiInputCardOptionsProvider(options) {
83
+ return tuiProvideOptions(TUI_INPUT_CARD_OPTIONS, options, TUI_INPUT_CARD_DEFAULT_OPTIONS);
84
+ }
86
85
 
87
86
  class TuiInputCardComponent extends AbstractTuiInputCard {
88
87
  constructor(control, cdr, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-input-card.js","sources":["../../../projects/addon-commerce/components/input-card/abstract-input-card.ts","../../../projects/addon-commerce/components/input-card/input-card.providers.ts","../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-card.template.html","../../../projects/addon-commerce/components/input-card/input-card.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.module.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {\n AbstractTuiNullableControl,\n TuiAutofillFieldName,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCardOptions} from './input-card.providers';\n\n@Directive()\nexport abstract class AbstractTuiInputCard<\n T,\n Options extends TuiInputCardOptions = TuiInputCardOptions,\n >\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @Input()\n cardSrc: PolymorpheusContent;\n\n @Input()\n autocompleteEnabled = this.options.autocompleteEnabled;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n protected readonly options: Options,\n ) {\n super(control, cdr);\n }\n\n abstract get card(): string;\n\n abstract get nativeFocusableElement(): TuiNativeFocusableElement | null;\n\n get defaultIcon(): string | null {\n const paymentSystem = this.getPaymentSystem(this.card);\n\n return paymentSystem && this.options.icons[paymentSystem];\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return this.getPaymentSystem(this.card);\n }\n\n get icon(): PolymorpheusContent {\n return this.cardSrc || this.defaultIcon;\n }\n\n get autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? `cc-number` : `off`;\n }\n\n /**\n * @deprecated: drop in v4.0\n * use {@link autocomplete}\n */\n get autocompleteCard(): TuiAutofillFieldName {\n return this.autocomplete;\n }\n\n get bin(): string | null {\n return this.card.length < 6 ? null : this.card.slice(0, 6);\n }\n\n @tuiPure\n protected getPaymentSystem(cardNumber?: string | null): TuiPaymentSystem | null {\n return this.options.paymentSystemHandler(cardNumber);\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {\n TUI_PAYMENT_SYSTEM_ICONS,\n tuiGetPaymentSystem,\n} from '@taiga-ui/addon-commerce/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCardOptions {\n cardSrc: PolymorpheusContent;\n readonly autocompleteEnabled: boolean;\n readonly icons: Record<TuiPaymentSystem, string>;\n readonly paymentSystemHandler: TuiHandler<\n string | null | undefined,\n TuiPaymentSystem | null\n >;\n}\n\nexport const TUI_INPUT_CARD_DEFAULT_OPTIONS: TuiInputCardOptions = {\n icons: TUI_PAYMENT_SYSTEM_ICONS,\n cardSrc: ``,\n paymentSystemHandler: tuiGetPaymentSystem,\n autocompleteEnabled: false,\n};\n\nexport const TUI_INPUT_CARD_OPTIONS = new InjectionToken<TuiInputCardOptions>(\n `[TUI_INPUT_CARD_OPTIONS]`,\n {factory: () => TUI_INPUT_CARD_DEFAULT_OPTIONS},\n);\n\nexport const tuiInputCardOptionsProvider: (\n options: Partial<TuiInputCardOptions>,\n) => ValueProvider = (options: Partial<TuiInputCardOptions>) => ({\n provide: TUI_INPUT_CARD_OPTIONS,\n useValue: {...TUI_INPUT_CARD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {tuiAsControl, tuiAsFocusableItemAccessor} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/core';\n\nimport {AbstractTuiInputCard} from './abstract-input-card';\nimport {TUI_INPUT_CARD_OPTIONS, TuiInputCardOptions} from './input-card.providers';\n\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardComponent),\n tuiAsControl(TuiInputCardComponent),\n ],\n})\nexport class TuiInputCardComponent extends AbstractTuiInputCard<string> {\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n readonly maskOptions: MaskitoOptions = {\n mask: TUI_CARD_MASK,\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_INPUT_CARD_OPTIONS) options: TuiInputCardOptions,\n ) {\n super(control, cdr, options);\n }\n\n get card(): string {\n return this.value ?? '';\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n onValueChange(value: string): void {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.value = parsed;\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n override writeValue(value: string | null): void {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected override getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [maskito]=\"maskOptions\"\n [value]=\"card | maskito : maskOptions\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCardComponent} from './input-card.component';\n\n@Directive({\n selector: 'tui-input-card',\n providers: [tuiAsTextfieldHost(TuiInputCardDirective)],\n})\nexport class TuiInputCardDirective\n extends AbstractTuiTextfieldHost<TuiInputCardComponent>\n implements AfterViewInit\n{\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n ngAfterViewInit(): void {\n const {nativeFocusableElement} = this.host;\n\n if (!nativeFocusableElement) {\n return;\n }\n\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.placeholder =\n nativeFocusableElement.placeholder || '0000 0000 0000 0000';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardDirective} from './input-card.directive';\n\n@NgModule({\n imports: [\n MaskitoModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent, TuiInputCardDirective],\n exports: [TuiInputCardComponent, TuiInputCardDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-input-card.js","sources":["../../../projects/addon-commerce/components/input-card/abstract-input-card.ts","../../../projects/addon-commerce/components/input-card/input-card.options.ts","../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-card.template.html","../../../projects/addon-commerce/components/input-card/input-card.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.module.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {\n AbstractTuiNullableControl,\n TuiAutofillFieldName,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCardOptions} from './input-card.options';\n\n@Directive()\nexport abstract class AbstractTuiInputCard<\n T,\n Options extends TuiInputCardOptions = TuiInputCardOptions,\n >\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @Input()\n cardSrc: PolymorpheusContent;\n\n @Input()\n autocompleteEnabled = this.options.autocompleteEnabled;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n protected readonly options: Options,\n ) {\n super(control, cdr);\n }\n\n abstract get card(): string;\n\n abstract get nativeFocusableElement(): TuiNativeFocusableElement | null;\n\n get defaultIcon(): string | null {\n const paymentSystem = this.getPaymentSystem(this.card);\n\n return paymentSystem && this.options.icons[paymentSystem];\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return this.getPaymentSystem(this.card);\n }\n\n get icon(): PolymorpheusContent {\n return this.cardSrc || this.defaultIcon;\n }\n\n get autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? `cc-number` : `off`;\n }\n\n /**\n * @deprecated: drop in v4.0\n * use {@link autocomplete}\n */\n get autocompleteCard(): TuiAutofillFieldName {\n return this.autocomplete;\n }\n\n get bin(): string | null {\n return this.card.length < 6 ? null : this.card.slice(0, 6);\n }\n\n @tuiPure\n protected getPaymentSystem(cardNumber?: string | null): TuiPaymentSystem | null {\n return this.options.paymentSystemHandler(cardNumber);\n }\n}\n","import {Provider} from '@angular/core';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {\n TUI_PAYMENT_SYSTEM_ICONS,\n tuiGetPaymentSystem,\n} from '@taiga-ui/addon-commerce/utils';\nimport {tuiCreateOptions, TuiHandler, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCardOptions {\n cardSrc: PolymorpheusContent;\n readonly autocompleteEnabled: boolean;\n readonly icons: Record<TuiPaymentSystem, string>;\n readonly paymentSystemHandler: TuiHandler<\n string | null | undefined,\n TuiPaymentSystem | null\n >;\n}\n\nexport const TUI_INPUT_CARD_DEFAULT_OPTIONS: TuiInputCardOptions = {\n icons: TUI_PAYMENT_SYSTEM_ICONS,\n cardSrc: ``,\n paymentSystemHandler: tuiGetPaymentSystem,\n autocompleteEnabled: false,\n};\n\nexport const TUI_INPUT_CARD_OPTIONS = tuiCreateOptions(TUI_INPUT_CARD_DEFAULT_OPTIONS);\n\nexport function tuiInputCardOptionsProvider(\n options: Partial<TuiInputCardOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_INPUT_CARD_OPTIONS,\n options,\n TUI_INPUT_CARD_DEFAULT_OPTIONS,\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {tuiAsControl, tuiAsFocusableItemAccessor} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/core';\n\nimport {AbstractTuiInputCard} from './abstract-input-card';\nimport {TUI_INPUT_CARD_OPTIONS, TuiInputCardOptions} from './input-card.options';\n\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardComponent),\n tuiAsControl(TuiInputCardComponent),\n ],\n})\nexport class TuiInputCardComponent extends AbstractTuiInputCard<string> {\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n readonly maskOptions: MaskitoOptions = {\n mask: TUI_CARD_MASK,\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_INPUT_CARD_OPTIONS) options: TuiInputCardOptions,\n ) {\n super(control, cdr, options);\n }\n\n get card(): string {\n return this.value ?? '';\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n onValueChange(value: string): void {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.value = parsed;\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n override writeValue(value: string | null): void {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected override getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [maskito]=\"maskOptions\"\n [value]=\"card | maskito : maskOptions\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCardComponent} from './input-card.component';\n\n@Directive({\n selector: 'tui-input-card',\n providers: [tuiAsTextfieldHost(TuiInputCardDirective)],\n})\nexport class TuiInputCardDirective\n extends AbstractTuiTextfieldHost<TuiInputCardComponent>\n implements AfterViewInit\n{\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n ngAfterViewInit(): void {\n const {nativeFocusableElement} = this.host;\n\n if (!nativeFocusableElement) {\n return;\n }\n\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.placeholder =\n nativeFocusableElement.placeholder || '0000 0000 0000 0000';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardDirective} from './input-card.directive';\n\n@NgModule({\n imports: [\n MaskitoModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent, TuiInputCardDirective],\n exports: [TuiInputCardComponent, TuiInputCardDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Pipe, Inject, Component, ChangeDetectionStrategy, Input, HostBinding, NgModule } from '@angular/core';
3
- import { CHAR_MINUS, CHAR_PLUS, tuiRoundWith } from '@taiga-ui/cdk';
2
+ import { Pipe, Inject, Component, ChangeDetectionStrategy, Input, HostBinding, NgModule } from '@angular/core';
3
+ import { tuiCreateOptions, tuiProvideOptions, CHAR_MINUS, CHAR_PLUS, tuiRoundWith } from '@taiga-ui/cdk';
4
4
  import { TuiCurrency } from '@taiga-ui/addon-commerce/enums';
5
5
  import { tuiFormatNumber, TUI_NUMBER_FORMAT } from '@taiga-ui/core';
6
6
  import * as i4 from '@taiga-ui/addon-commerce/pipes';
7
7
  import { TuiCurrencyPipeModule } from '@taiga-ui/addon-commerce/pipes';
8
8
  import { CommonModule } from '@angular/common';
9
9
 
10
- const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = {
10
+ const TUI_MONEY_DEFAULT_OPTIONS = {
11
11
  decimal: `not-zero`,
12
12
  currency: TuiCurrency.Ruble,
13
13
  sign: `negative-only`,
@@ -16,15 +16,13 @@ const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = {
16
16
  singleColor: false,
17
17
  };
18
18
  /**
19
- * Default parameters for money component
19
+ * @deprecated TODO: remove in 4.0
20
20
  */
21
- const TUI_MONEY_OPTIONS = new InjectionToken(`[TUI_MONEY_OPTIONS]`, {
22
- factory: () => TUI_MONEY_DEFAULT_DEFAULT_OPTIONS,
23
- });
24
- const tuiMoneyOptionsProvider = (options) => ({
25
- provide: TUI_MONEY_OPTIONS,
26
- useValue: Object.assign(Object.assign({}, TUI_MONEY_DEFAULT_DEFAULT_OPTIONS), options),
27
- });
21
+ const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = TUI_MONEY_DEFAULT_OPTIONS;
22
+ const TUI_MONEY_OPTIONS = tuiCreateOptions(TUI_MONEY_DEFAULT_OPTIONS);
23
+ function tuiMoneyOptionsProvider(options) {
24
+ return tuiProvideOptions(TUI_MONEY_OPTIONS, options, TUI_MONEY_DEFAULT_OPTIONS);
25
+ }
28
26
 
29
27
  function tuiFormatSignSymbol(value, sign) {
30
28
  if (sign === `never` || !value || (sign === `negative-only` && value > 0)) {
@@ -193,5 +191,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
193
191
  * Generated bundle index. Do not edit.
194
192
  */
195
193
 
196
- export { TUI_MONEY_DEFAULT_DEFAULT_OPTIONS, TUI_MONEY_OPTIONS, TuiFractionPartPipe, TuiIntegerPartPipe, TuiMoneyComponent, TuiMoneyModule, TuiSignSymbolPipe, tuiFormatFractionPart, tuiFormatSignSymbol, tuiMoneyOptionsProvider };
194
+ export { TUI_MONEY_DEFAULT_DEFAULT_OPTIONS, TUI_MONEY_DEFAULT_OPTIONS, TUI_MONEY_OPTIONS, TuiFractionPartPipe, TuiIntegerPartPipe, TuiMoneyComponent, TuiMoneyModule, TuiSignSymbolPipe, tuiFormatFractionPart, tuiFormatSignSymbol, tuiMoneyOptionsProvider };
197
195
  //# sourceMappingURL=taiga-ui-addon-commerce-components-money.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-money.js","sources":["../../../projects/addon-commerce/components/money/money-options.ts","../../../projects/addon-commerce/components/money/utils/format-sign-symbol.ts","../../../projects/addon-commerce/components/money/pipes/sign-symbol.pipe.ts","../../../projects/addon-commerce/components/money/pipes/integer-part.pipe.ts","../../../projects/addon-commerce/components/money/utils/format-fraction-part.ts","../../../projects/addon-commerce/components/money/pipes/fraction-part.pipe.ts","../../../projects/addon-commerce/components/money/money.component.ts","../../../projects/addon-commerce/components/money/money.template.html","../../../projects/addon-commerce/components/money/money.module.ts","../../../projects/addon-commerce/components/money/taiga-ui-addon-commerce-components-money.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiCurrency} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants, TuiMoneySign} from '@taiga-ui/addon-commerce/types';\nimport {TuiDecimal} from '@taiga-ui/core';\n\nexport interface TuiMoneyOptions {\n readonly decimal: TuiDecimal;\n readonly currency: TuiCurrencyVariants;\n readonly sign: TuiMoneySign;\n readonly colored: boolean;\n readonly precision: number;\n readonly singleColor: boolean;\n}\n\nexport const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS: TuiMoneyOptions = {\n decimal: `not-zero`,\n currency: TuiCurrency.Ruble,\n sign: `negative-only`,\n colored: false,\n precision: 2,\n singleColor: false,\n};\n\n/**\n * Default parameters for money component\n */\nexport const TUI_MONEY_OPTIONS = new InjectionToken<TuiMoneyOptions>(\n `[TUI_MONEY_OPTIONS]`,\n {\n factory: () => TUI_MONEY_DEFAULT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiMoneyOptionsProvider: (\n options: Partial<TuiMoneyOptions>,\n) => ValueProvider = (options: Partial<TuiMoneyOptions>) => ({\n provide: TUI_MONEY_OPTIONS,\n useValue: {...TUI_MONEY_DEFAULT_DEFAULT_OPTIONS, ...options},\n});\n","import {TuiMoneySign, TuiMoneySignSymbol} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiMoneySign,\n): TuiMoneySignSymbol {\n if (sign === `never` || !value || (sign === `negative-only` && value > 0)) {\n return ``;\n }\n\n if (sign === `force-negative` || (value < 0 && sign !== `force-positive`)) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiMoneySign, TuiMoneySignSymbol} from '@taiga-ui/addon-commerce/types';\n\nimport {tuiFormatSignSymbol} from '../utils/format-sign-symbol';\n\n@Pipe({name: `tuiSignSymbol`})\nexport class TuiSignSymbolPipe implements PipeTransform {\n transform(value: number, sign: TuiMoneySign): TuiMoneySignSymbol {\n return tuiFormatSignSymbol(value, sign);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {tuiRoundWith} from '@taiga-ui/cdk';\nimport {\n TUI_NUMBER_FORMAT,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n} from '@taiga-ui/core';\n\n@Pipe({name: `tuiIntegerPart`})\nexport class TuiIntegerPartPipe implements PipeTransform {\n constructor(\n @Inject(TUI_NUMBER_FORMAT) private readonly numberFormat: TuiNumberFormatSettings,\n ) {}\n\n transform(value: number, precision = 2): string {\n const rounded = tuiRoundWith({\n value: Math.abs(Number(value)),\n precision,\n method: this.numberFormat.rounding,\n });\n\n return tuiFormatNumber(rounded, {\n ...this.numberFormat,\n decimalLimit: 0,\n rounding: `truncate`,\n });\n }\n}\n","import {TuiDecimal, tuiFormatNumber, TuiNumberFormatSettings} from '@taiga-ui/core';\n\nexport function tuiFormatFractionPart(options: {\n value: number;\n decimal: TuiDecimal;\n precision: number;\n numberFormat: TuiNumberFormatSettings;\n}): string {\n const {value, decimal, numberFormat, precision} = options;\n const fraction = tuiFormatNumber(value, {\n ...numberFormat,\n decimalLimit: precision,\n }).split(numberFormat.decimalSeparator)[1];\n const shouldShow =\n decimal !== `never` && (decimal === `always` || !!parseInt(fraction, 10));\n\n return shouldShow ? `${numberFormat.decimalSeparator}${fraction}` : ``;\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TUI_NUMBER_FORMAT, TuiDecimal, TuiNumberFormatSettings} from '@taiga-ui/core';\n\nimport {tuiFormatFractionPart} from '../utils/format-fraction-part';\n\n@Pipe({name: `tuiFractionPart`})\nexport class TuiFractionPartPipe implements PipeTransform {\n constructor(\n @Inject(TUI_NUMBER_FORMAT) private readonly numberFormat: TuiNumberFormatSettings,\n ) {}\n\n transform(value: number, decimal: TuiDecimal, precision: number): string {\n return tuiFormatFractionPart({\n value,\n decimal,\n precision,\n numberFormat: this.numberFormat,\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n TuiCurrencyVariants,\n TuiMoneySign,\n TuiMoneySignSymbol,\n} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk';\nimport {TuiDecimal} from '@taiga-ui/core';\n\nimport {TUI_MONEY_OPTIONS, TuiMoneyOptions} from './money-options';\nimport {tuiFormatSignSymbol} from './utils/format-sign-symbol';\n\n@Component({\n selector: 'tui-money',\n templateUrl: './money.template.html',\n styleUrls: ['./money.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMoneyComponent {\n @Input()\n value = NaN;\n\n @Input()\n decimal: TuiDecimal = this.options.decimal;\n\n @Input()\n currency: TuiCurrencyVariants = this.options.currency;\n\n @Input()\n sign: TuiMoneySign = this.options.sign;\n\n @Input()\n colored = this.options.colored;\n\n @Input()\n precision = this.options.precision;\n\n @Input()\n singleColor = this.options.singleColor;\n\n get signSymbol(): TuiMoneySignSymbol {\n return tuiFormatSignSymbol(this.value, this.sign);\n }\n\n @HostBinding('class._red')\n get red(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_MINUS ||\n (this.value < 0 && this.sign !== 'force-positive'))\n );\n }\n\n @HostBinding('class._green')\n get green(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_PLUS ||\n (this.value > 0 && this.sign !== 'force-negative'))\n );\n }\n\n @HostBinding('class._inherit-color')\n get inheritColor(): boolean {\n return this.singleColor || (this.value === 0 && this.colored);\n }\n\n constructor(@Inject(TUI_MONEY_OPTIONS) private readonly options: TuiMoneyOptions) {}\n}\n","<span\n automation-id=\"tui-money__sign\"\n [textContent]=\"value | tuiSignSymbol : sign\"\n></span>\n<span\n automation-id=\"tui-money__integer-part\"\n [textContent]=\"value | tuiIntegerPart : precision\"\n></span>\n<span class=\"t-lighter\">\n <span\n automation-id=\"tui-money__fraction-part\"\n [textContent]=\"value | tuiFractionPart : decimal : precision\"\n ></span>\n <span\n automation-id=\"tui-money__currency\"\n class=\"t-currency\"\n [textContent]=\"currency | tuiCurrency\"\n ></span>\n</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiCurrencyPipeModule} from '@taiga-ui/addon-commerce/pipes';\n\nimport {TuiMoneyComponent} from './money.component';\nimport {TuiFractionPartPipe} from './pipes/fraction-part.pipe';\nimport {TuiIntegerPartPipe} from './pipes/integer-part.pipe';\nimport {TuiSignSymbolPipe} from './pipes/sign-symbol.pipe';\n\n@NgModule({\n imports: [CommonModule, TuiCurrencyPipeModule],\n declarations: [\n TuiMoneyComponent,\n TuiFractionPartPipe,\n TuiIntegerPartPipe,\n TuiSignSymbolPipe,\n ],\n exports: [TuiMoneyComponent],\n})\nexport class TuiMoneyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiSignSymbolPipe","i2.TuiIntegerPartPipe","i3.TuiFractionPartPipe"],"mappings":";;;;;;;;;AAca,MAAA,iCAAiC,GAAoB;AAC9D,IAAA,OAAO,EAAE,CAAU,QAAA,CAAA;IACnB,QAAQ,EAAE,WAAW,CAAC,KAAK;AAC3B,IAAA,IAAI,EAAE,CAAe,aAAA,CAAA;AACrB,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,SAAS,EAAE,CAAC;AACZ,IAAA,WAAW,EAAE,KAAK;EACpB;AAEF;;AAEG;MACU,iBAAiB,GAAG,IAAI,cAAc,CAC/C,qBAAqB,EACrB;AACI,IAAA,OAAO,EAAE,MAAM,iCAAiC;AACnD,CAAA,EACH;MAEW,uBAAuB,GAEf,CAAC,OAAiC,MAAM;AACzD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,QAAQ,EAAM,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,iCAAiC,CAAK,EAAA,OAAO,CAAC;AAC/D,CAAA;;ACnCe,SAAA,mBAAmB,CAC/B,KAAa,EACb,IAAkB,EAAA;AAElB,IAAA,IAAI,IAAI,KAAK,CAAA,KAAA,CAAO,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAED,IAAA,IAAI,IAAI,KAAK,CAAgB,cAAA,CAAA,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,CAAA,cAAA,CAAgB,CAAC,EAAE;AACvE,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACrB;;MCVa,iBAAiB,CAAA;IAC1B,SAAS,CAAC,KAAa,EAAE,IAAkB,EAAA;AACvC,QAAA,OAAO,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;KAC3C;;+GAHQ,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAjB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAD7B,IAAI;mBAAC,EAAC,IAAI,EAAE,CAAA,aAAA,CAAe,EAAC,CAAA;;;MCIhB,kBAAkB,CAAA;AAC3B,IAAA,WAAA,CACgD,YAAqC,EAAA;QAArC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAyB;KACjF;AAEJ,IAAA,SAAS,CAAC,KAAa,EAAE,SAAS,GAAG,CAAC,EAAA;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC;YACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,SAAS;AACT,YAAA,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;AACrC,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,eAAe,CAAC,OAAO,EACvB,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,YAAY,CAAA,EAAA,EACpB,YAAY,EAAE,CAAC,EACf,QAAQ,EAAE,CAAA,QAAA,CAAU,IACtB,CAAC;KACN;;AAjBQ,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,kBAEf,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;8GAFpB,kBAAkB,EAAA,IAAA,EAAA,gBAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAD9B,IAAI;mBAAC,EAAC,IAAI,EAAE,CAAA,cAAA,CAAgB,EAAC,CAAA;;0BAGrB,MAAM;2BAAC,iBAAiB,CAAA;;;ACT3B,SAAU,qBAAqB,CAAC,OAKrC,EAAA;IACG,MAAM,EAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAC/B,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,YAAY,CACf,EAAA,EAAA,YAAY,EAAE,SAAS,IACzB,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,UAAU,GACZ,OAAO,KAAK,OAAO,KAAK,OAAO,KAAK,CAAA,MAAA,CAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9E,IAAA,OAAO,UAAU,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAA,EAAG,QAAQ,CAAE,CAAA,GAAG,EAAE,CAAC;AAC3E;;MCXa,mBAAmB,CAAA;AAC5B,IAAA,WAAA,CACgD,YAAqC,EAAA;QAArC,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAyB;KACjF;AAEJ,IAAA,SAAS,CAAC,KAAa,EAAE,OAAmB,EAAE,SAAiB,EAAA;AAC3D,QAAA,OAAO,qBAAqB,CAAC;YACzB,KAAK;YACL,OAAO;YACP,SAAS;YACT,YAAY,EAAE,IAAI,CAAC,YAAY;AAClC,SAAA,CAAC,CAAC;KACN;;AAZQ,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,kBAEhB,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;+GAFpB,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAD/B,IAAI;mBAAC,EAAC,IAAI,EAAE,CAAA,eAAA,CAAiB,EAAC,CAAA;;0BAGtB,MAAM;2BAAC,iBAAiB,CAAA;;;MCgBpB,iBAAiB,CAAA;AAiD1B,IAAA,WAAA,CAAwD,OAAwB,EAAA;QAAxB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAiB;QA/ChF,IAAK,CAAA,KAAA,GAAG,GAAG,CAAC;AAGZ,QAAA,IAAA,CAAA,OAAO,GAAe,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAG3C,QAAA,IAAA,CAAA,QAAQ,GAAwB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;AAGtD,QAAA,IAAA,CAAA,IAAI,GAAiB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AAGvC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAG/B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;AAGnC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;KA6B6C;AA3BpF,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACrD;AAED,IAAA,IACI,GAAG,GAAA;QACH,QACI,IAAI,CAAC,OAAO;AACZ,aAAC,IAAI,CAAC,UAAU,KAAK,UAAU;AAC3B,iBAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,EACzD;KACL;AAED,IAAA,IACI,KAAK,GAAA;QACL,QACI,IAAI,CAAC,OAAO;AACZ,aAAC,IAAI,CAAC,UAAU,KAAK,SAAS;AAC1B,iBAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,EACzD;KACL;AAED,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;KACjE;;AA/CQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAiDN,iBAAiB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAjD5B,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,4UCxB9B,2jBAmBA,EAAA,MAAA,EAAA,CAAA,8NAAA,CAAA,EAAA,KAAA,EAAA,EAAA,eAAA,EAAAA,iBAAA,EAAA,gBAAA,EAAAC,kBAAA,EAAA,iBAAA,EAAAC,mBAAA,EAAA,aAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDKa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAN7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,WAAW,EAAE,uBAAuB;oBACpC,SAAS,EAAE,CAAC,oBAAoB,CAAC;oBACjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BAkDgB,MAAM;2BAAC,iBAAiB,CAAA;4CA/CrC,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,IAAI,EAAA,CAAA;sBADH,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,SAAS,EAAA,CAAA;sBADR,KAAK;gBAIN,WAAW,EAAA,CAAA;sBADV,KAAK;gBAQF,GAAG,EAAA,CAAA;sBADN,WAAW;uBAAC,YAAY,CAAA;gBAUrB,KAAK,EAAA,CAAA;sBADR,WAAW;uBAAC,cAAc,CAAA;gBAUvB,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,sBAAsB,CAAA;;;MEjD1B,cAAc,CAAA;;4GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAPnB,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;AAClB,QAAA,iBAAiB,CALX,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,qBAAqB,aAOnC,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAElB,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EATd,OAAA,EAAA,CAAA,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAA,EAAA,CAAA,CAAA;4FASrC,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;AAC9C,oBAAA,YAAY,EAAE;wBACV,iBAAiB;wBACjB,mBAAmB;wBACnB,kBAAkB;wBAClB,iBAAiB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC/B,iBAAA,CAAA;;;AClBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-money.js","sources":["../../../projects/addon-commerce/components/money/money.options.ts","../../../projects/addon-commerce/components/money/utils/format-sign-symbol.ts","../../../projects/addon-commerce/components/money/pipes/sign-symbol.pipe.ts","../../../projects/addon-commerce/components/money/pipes/integer-part.pipe.ts","../../../projects/addon-commerce/components/money/utils/format-fraction-part.ts","../../../projects/addon-commerce/components/money/pipes/fraction-part.pipe.ts","../../../projects/addon-commerce/components/money/money.component.ts","../../../projects/addon-commerce/components/money/money.template.html","../../../projects/addon-commerce/components/money/money.module.ts","../../../projects/addon-commerce/components/money/taiga-ui-addon-commerce-components-money.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {TuiCurrency} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants, TuiMoneySign} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateOptions, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiDecimal} from '@taiga-ui/core';\n\nexport interface TuiMoneyOptions {\n readonly decimal: TuiDecimal;\n readonly currency: TuiCurrencyVariants;\n readonly sign: TuiMoneySign;\n readonly colored: boolean;\n readonly precision: number;\n readonly singleColor: boolean;\n}\n\nexport const TUI_MONEY_DEFAULT_OPTIONS: TuiMoneyOptions = {\n decimal: `not-zero`,\n currency: TuiCurrency.Ruble,\n sign: `negative-only`,\n colored: false,\n precision: 2,\n singleColor: false,\n};\n\n/**\n * @deprecated TODO: remove in 4.0\n */\nexport const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = TUI_MONEY_DEFAULT_OPTIONS;\n\nexport const TUI_MONEY_OPTIONS = tuiCreateOptions(TUI_MONEY_DEFAULT_OPTIONS);\n\nexport function tuiMoneyOptionsProvider(options: Partial<TuiMoneyOptions>): Provider {\n return tuiProvideOptions(TUI_MONEY_OPTIONS, options, TUI_MONEY_DEFAULT_OPTIONS);\n}\n","import {TuiMoneySign, TuiMoneySignSymbol} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiMoneySign,\n): TuiMoneySignSymbol {\n if (sign === `never` || !value || (sign === `negative-only` && value > 0)) {\n return ``;\n }\n\n if (sign === `force-negative` || (value < 0 && sign !== `force-positive`)) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiMoneySign, TuiMoneySignSymbol} from '@taiga-ui/addon-commerce/types';\n\nimport {tuiFormatSignSymbol} from '../utils/format-sign-symbol';\n\n@Pipe({name: `tuiSignSymbol`})\nexport class TuiSignSymbolPipe implements PipeTransform {\n transform(value: number, sign: TuiMoneySign): TuiMoneySignSymbol {\n return tuiFormatSignSymbol(value, sign);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {tuiRoundWith} from '@taiga-ui/cdk';\nimport {\n TUI_NUMBER_FORMAT,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n} from '@taiga-ui/core';\n\n@Pipe({name: `tuiIntegerPart`})\nexport class TuiIntegerPartPipe implements PipeTransform {\n constructor(\n @Inject(TUI_NUMBER_FORMAT) private readonly numberFormat: TuiNumberFormatSettings,\n ) {}\n\n transform(value: number, precision = 2): string {\n const rounded = tuiRoundWith({\n value: Math.abs(Number(value)),\n precision,\n method: this.numberFormat.rounding,\n });\n\n return tuiFormatNumber(rounded, {\n ...this.numberFormat,\n decimalLimit: 0,\n rounding: `truncate`,\n });\n }\n}\n","import {TuiDecimal, tuiFormatNumber, TuiNumberFormatSettings} from '@taiga-ui/core';\n\nexport function tuiFormatFractionPart(options: {\n value: number;\n decimal: TuiDecimal;\n precision: number;\n numberFormat: TuiNumberFormatSettings;\n}): string {\n const {value, decimal, numberFormat, precision} = options;\n const fraction = tuiFormatNumber(value, {\n ...numberFormat,\n decimalLimit: precision,\n }).split(numberFormat.decimalSeparator)[1];\n const shouldShow =\n decimal !== `never` && (decimal === `always` || !!parseInt(fraction, 10));\n\n return shouldShow ? `${numberFormat.decimalSeparator}${fraction}` : ``;\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TUI_NUMBER_FORMAT, TuiDecimal, TuiNumberFormatSettings} from '@taiga-ui/core';\n\nimport {tuiFormatFractionPart} from '../utils/format-fraction-part';\n\n@Pipe({name: `tuiFractionPart`})\nexport class TuiFractionPartPipe implements PipeTransform {\n constructor(\n @Inject(TUI_NUMBER_FORMAT) private readonly numberFormat: TuiNumberFormatSettings,\n ) {}\n\n transform(value: number, decimal: TuiDecimal, precision: number): string {\n return tuiFormatFractionPart({\n value,\n decimal,\n precision,\n numberFormat: this.numberFormat,\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {\n TuiCurrencyVariants,\n TuiMoneySign,\n TuiMoneySignSymbol,\n} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk';\nimport {TuiDecimal} from '@taiga-ui/core';\n\nimport {TUI_MONEY_OPTIONS, TuiMoneyOptions} from './money.options';\nimport {tuiFormatSignSymbol} from './utils/format-sign-symbol';\n\n@Component({\n selector: 'tui-money',\n templateUrl: './money.template.html',\n styleUrls: ['./money.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMoneyComponent {\n @Input()\n value = NaN;\n\n @Input()\n decimal: TuiDecimal = this.options.decimal;\n\n @Input()\n currency: TuiCurrencyVariants = this.options.currency;\n\n @Input()\n sign: TuiMoneySign = this.options.sign;\n\n @Input()\n colored = this.options.colored;\n\n @Input()\n precision = this.options.precision;\n\n @Input()\n singleColor = this.options.singleColor;\n\n get signSymbol(): TuiMoneySignSymbol {\n return tuiFormatSignSymbol(this.value, this.sign);\n }\n\n @HostBinding('class._red')\n get red(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_MINUS ||\n (this.value < 0 && this.sign !== 'force-positive'))\n );\n }\n\n @HostBinding('class._green')\n get green(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_PLUS ||\n (this.value > 0 && this.sign !== 'force-negative'))\n );\n }\n\n @HostBinding('class._inherit-color')\n get inheritColor(): boolean {\n return this.singleColor || (this.value === 0 && this.colored);\n }\n\n constructor(@Inject(TUI_MONEY_OPTIONS) private readonly options: TuiMoneyOptions) {}\n}\n","<span\n automation-id=\"tui-money__sign\"\n [textContent]=\"value | tuiSignSymbol : sign\"\n></span>\n<span\n automation-id=\"tui-money__integer-part\"\n [textContent]=\"value | tuiIntegerPart : precision\"\n></span>\n<span class=\"t-lighter\">\n <span\n automation-id=\"tui-money__fraction-part\"\n [textContent]=\"value | tuiFractionPart : decimal : precision\"\n ></span>\n <span\n automation-id=\"tui-money__currency\"\n class=\"t-currency\"\n [textContent]=\"currency | tuiCurrency\"\n ></span>\n</span>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiCurrencyPipeModule} from '@taiga-ui/addon-commerce/pipes';\n\nimport {TuiMoneyComponent} from './money.component';\nimport {TuiFractionPartPipe} from './pipes/fraction-part.pipe';\nimport {TuiIntegerPartPipe} from './pipes/integer-part.pipe';\nimport {TuiSignSymbolPipe} from './pipes/sign-symbol.pipe';\n\n@NgModule({\n imports: [CommonModule, TuiCurrencyPipeModule],\n declarations: [\n TuiMoneyComponent,\n TuiFractionPartPipe,\n TuiIntegerPartPipe,\n TuiSignSymbolPipe,\n ],\n exports: [TuiMoneyComponent],\n})\nexport class TuiMoneyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiSignSymbolPipe","i2.TuiIntegerPartPipe","i3.TuiFractionPartPipe"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "3.36.1",
3
+ "version": "3.36.2-dev.main-2debc55",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -21,9 +21,9 @@
21
21
  "@maskito/core": ">=1.2.0",
22
22
  "@maskito/kit": ">=1.2.0",
23
23
  "@ng-web-apis/common": ">=3.0.0",
24
- "@taiga-ui/cdk": ">=3.36.1",
25
- "@taiga-ui/core": ">=3.36.1",
26
- "@taiga-ui/i18n": ">=3.36.1",
24
+ "@taiga-ui/cdk": ">=3.36.2",
25
+ "@taiga-ui/core": ">=3.36.2",
26
+ "@taiga-ui/i18n": ">=3.36.2",
27
27
  "@tinkoff/ng-polymorpheus": ">=4.0.0",
28
28
  "rxjs": ">=6.0.0"
29
29
  },
@@ -1,14 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { TUI_PAYMENT_SYSTEM_ICONS, tuiGetPaymentSystem, } from '@taiga-ui/addon-commerce/utils';
3
- export const TUI_INPUT_CARD_DEFAULT_OPTIONS = {
4
- icons: TUI_PAYMENT_SYSTEM_ICONS,
5
- cardSrc: ``,
6
- paymentSystemHandler: tuiGetPaymentSystem,
7
- autocompleteEnabled: false,
8
- };
9
- export const TUI_INPUT_CARD_OPTIONS = new InjectionToken(`[TUI_INPUT_CARD_OPTIONS]`, { factory: () => TUI_INPUT_CARD_DEFAULT_OPTIONS });
10
- export const tuiInputCardOptionsProvider = (options) => ({
11
- provide: TUI_INPUT_CARD_OPTIONS,
12
- useValue: Object.assign(Object.assign({}, TUI_INPUT_CARD_DEFAULT_OPTIONS), options),
13
- });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQvaW5wdXQtY2FyZC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUNILHdCQUF3QixFQUN4QixtQkFBbUIsR0FDdEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQWN4QyxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBd0I7SUFDL0QsS0FBSyxFQUFFLHdCQUF3QjtJQUMvQixPQUFPLEVBQUUsRUFBRTtJQUNYLG9CQUFvQixFQUFFLG1CQUFtQjtJQUN6QyxtQkFBbUIsRUFBRSxLQUFLO0NBQzdCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDcEQsMEJBQTBCLEVBQzFCLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDhCQUE4QixFQUFDLENBQ2xELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FFbkIsQ0FBQyxPQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSxrQ0FBTSw4QkFBOEIsR0FBSyxPQUFPLENBQUM7Q0FDNUQsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIFRVSV9QQVlNRU5UX1NZU1RFTV9JQ09OUyxcbiAgICB0dWlHZXRQYXltZW50U3lzdGVtLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtUdWlIYW5kbGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dENhcmRPcHRpb25zIHtcbiAgICBjYXJkU3JjOiBQb2x5bW9ycGhldXNDb250ZW50O1xuICAgIHJlYWRvbmx5IGF1dG9jb21wbGV0ZUVuYWJsZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlY29yZDxUdWlQYXltZW50U3lzdGVtLCBzdHJpbmc+O1xuICAgIHJlYWRvbmx5IHBheW1lbnRTeXN0ZW1IYW5kbGVyOiBUdWlIYW5kbGVyPFxuICAgICAgICBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICBUdWlQYXltZW50U3lzdGVtIHwgbnVsbFxuICAgID47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfQ0FSRF9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0Q2FyZE9wdGlvbnMgPSB7XG4gICAgaWNvbnM6IFRVSV9QQVlNRU5UX1NZU1RFTV9JQ09OUyxcbiAgICBjYXJkU3JjOiBgYCxcbiAgICBwYXltZW50U3lzdGVtSGFuZGxlcjogdHVpR2V0UGF5bWVudFN5c3RlbSxcbiAgICBhdXRvY29tcGxldGVFbmFibGVkOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfQ0FSRF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aUlucHV0Q2FyZE9wdGlvbnM+KFxuICAgIGBbVFVJX0lOUFVUX0NBUkRfT1BUSU9OU11gLFxuICAgIHtmYWN0b3J5OiAoKSA9PiBUVUlfSU5QVVRfQ0FSRF9ERUZBVUxUX09QVElPTlN9LFxuKTtcblxuZXhwb3J0IGNvbnN0IHR1aUlucHV0Q2FyZE9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSW5wdXRDYXJkT3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlJbnB1dENhcmRPcHRpb25zPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSU5QVVRfQ0FSRF9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7Li4uVFVJX0lOUFVUX0NBUkRfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19
@@ -1,21 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import { TuiCurrency } from '@taiga-ui/addon-commerce/enums';
3
- export const TUI_MONEY_DEFAULT_DEFAULT_OPTIONS = {
4
- decimal: `not-zero`,
5
- currency: TuiCurrency.Ruble,
6
- sign: `negative-only`,
7
- colored: false,
8
- precision: 2,
9
- singleColor: false,
10
- };
11
- /**
12
- * Default parameters for money component
13
- */
14
- export const TUI_MONEY_OPTIONS = new InjectionToken(`[TUI_MONEY_OPTIONS]`, {
15
- factory: () => TUI_MONEY_DEFAULT_DEFAULT_OPTIONS,
16
- });
17
- export const tuiMoneyOptionsProvider = (options) => ({
18
- provide: TUI_MONEY_OPTIONS,
19
- useValue: Object.assign(Object.assign({}, TUI_MONEY_DEFAULT_DEFAULT_OPTIONS), options),
20
- });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uZXktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvbW9uZXkvbW9uZXktb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsY0FBYyxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFhM0QsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQW9CO0lBQzlELE9BQU8sRUFBRSxVQUFVO0lBQ25CLFFBQVEsRUFBRSxXQUFXLENBQUMsS0FBSztJQUMzQixJQUFJLEVBQUUsZUFBZTtJQUNyQixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osV0FBVyxFQUFFLEtBQUs7Q0FDckIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQy9DLHFCQUFxQixFQUNyQjtJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUM7Q0FDbkQsQ0FDSixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBRWYsQ0FBQyxPQUFpQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxrQ0FBTSxpQ0FBaUMsR0FBSyxPQUFPLENBQUM7Q0FDL0QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3Rpb25Ub2tlbiwgVmFsdWVQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUN1cnJlbmN5fSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMnO1xuaW1wb3J0IHtUdWlDdXJyZW5jeVZhcmlhbnRzLCBUdWlNb25leVNpZ259IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1R1aURlY2ltYWx9IGZyb20gJ0B0YWlnYS11aS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlNb25leU9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGRlY2ltYWw6IFR1aURlY2ltYWw7XG4gICAgcmVhZG9ubHkgY3VycmVuY3k6IFR1aUN1cnJlbmN5VmFyaWFudHM7XG4gICAgcmVhZG9ubHkgc2lnbjogVHVpTW9uZXlTaWduO1xuICAgIHJlYWRvbmx5IGNvbG9yZWQ6IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgcHJlY2lzaW9uOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgc2luZ2xlQ29sb3I6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfTU9ORVlfREVGQVVMVF9ERUZBVUxUX09QVElPTlM6IFR1aU1vbmV5T3B0aW9ucyA9IHtcbiAgICBkZWNpbWFsOiBgbm90LXplcm9gLFxuICAgIGN1cnJlbmN5OiBUdWlDdXJyZW5jeS5SdWJsZSxcbiAgICBzaWduOiBgbmVnYXRpdmUtb25seWAsXG4gICAgY29sb3JlZDogZmFsc2UsXG4gICAgcHJlY2lzaW9uOiAyLFxuICAgIHNpbmdsZUNvbG9yOiBmYWxzZSxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBtb25leSBjb21wb25lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9NT05FWV9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aU1vbmV5T3B0aW9ucz4oXG4gICAgYFtUVUlfTU9ORVlfT1BUSU9OU11gLFxuICAgIHtcbiAgICAgICAgZmFjdG9yeTogKCkgPT4gVFVJX01PTkVZX0RFRkFVTFRfREVGQVVMVF9PUFRJT05TLFxuICAgIH0sXG4pO1xuXG5leHBvcnQgY29uc3QgdHVpTW9uZXlPcHRpb25zUHJvdmlkZXI6IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aU1vbmV5T3B0aW9ucz4sXG4pID0+IFZhbHVlUHJvdmlkZXIgPSAob3B0aW9uczogUGFydGlhbDxUdWlNb25leU9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9NT05FWV9PUFRJT05TLFxuICAgIHVzZVZhbHVlOiB7Li4uVFVJX01PTkVZX0RFRkFVTFRfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zfSxcbn0pO1xuIl19