@taiga-ui/addon-commerce 5.3.0 → 5.4.0-canary.d26a6e2
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.
- package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs +11 -11
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs +4 -2
- package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-utils.mjs +1 -4
- package/fesm2022/taiga-ui-addon-commerce-utils.mjs.map +1 -1
- package/package.json +9 -9
- package/pipes/amount/amount.pipe.d.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card-group.mjs","sources":["../../../projects/addon-commerce/components/input-card-group/input-card-group.directive.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.options.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.providers.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.component.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.template.html","../../../projects/addon-commerce/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.ts"],"sourcesContent":["import {Directive, inject, input} from '@angular/core';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\n@Directive({host: {'[class._compact]': \"compact() || breakpoint() === 'mobile'\"}})\nexport class TuiInputCardGroupDirective {\n protected readonly breakpoint = inject(TUI_BREAKPOINT);\n public readonly compact = input(false);\n}\n","import {tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCardInputs {\n cvc: boolean;\n expire: boolean;\n}\n\nexport interface TuiInputCardGroupOptions {\n readonly cardValidator: TuiBooleanHandler<string>;\n readonly placeholder: string;\n readonly cvcPlaceholder: string;\n readonly cvcHidden: boolean;\n readonly inputs: TuiCardInputs;\n}\n\nexport const TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS: TuiInputCardGroupOptions = {\n cardValidator: tuiDefaultCardValidator,\n placeholder: '0000 0000 0000 0000',\n cvcPlaceholder: '000',\n cvcHidden: true,\n inputs: {cvc: true, expire: true},\n};\n\nexport const [TUI_INPUT_CARD_GROUP_OPTIONS, tuiInputCardGroupOptionsProvider] =\n tuiCreateOptions(TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS);\n","import {computed, inject, InjectionToken, type Signal} from '@angular/core';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly cvcText: string;\n readonly expiryText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken<Signal<TuiCardGroupedTexts>>(\n ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '',\n);\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER = {\n provide: TUI_INPUT_CARD_GROUP_TEXTS,\n useFactory: () => {\n const cardGroupTexts = inject(TUI_INPUT_CARD_GROUP_TEXTS, {\n skipSelf: true,\n optional: true,\n });\n const breakpoint = inject(TUI_BREAKPOINT);\n const directive = inject(TuiInputCardGroupDirective);\n const compact = computed(() => directive.compact() || breakpoint() === 'mobile');\n const cardNumber = inject(TUI_CARD_NUMBER_TEXTS);\n const expiry = inject(TUI_CARD_EXPIRY_TEXTS);\n const cvcTexts = inject(TUI_CARD_CVC_TEXTS);\n\n return computed(\n () =>\n cardGroupTexts?.() ?? {\n cardNumberText: cardNumber()[Number(!compact())] ?? '',\n expiryText: expiry()[Number(!compact())] ?? '',\n cvcText: cvcTexts()[Number(!compact())] ?? '',\n },\n );\n },\n};\n","import {DOCUMENT, isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n output,\n PLATFORM_ID,\n type Signal,\n signal,\n viewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {WA_IS_MOBILE, WA_IS_WEBKIT} from '@ng-web-apis/platform';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {\n TUI_MASK_CARD,\n TUI_MASK_CVC,\n TUI_MASK_EXPIRE,\n} from '@taiga-ui/addon-commerce/constants';\nimport {TuiFormatCardPipe} from '@taiga-ui/addon-commerce/pipes/format-card';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {CHAR_NO_BREAK_SPACE, TUI_NON_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\nimport {tuiHovered, TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn, tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon, TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiDropdownDirective,\n TuiDropdownOpen,\n tuiDropdownOptionsProvider,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, Subject, switchMap, timer} from 'rxjs';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\nimport {TUI_INPUT_CARD_GROUP_OPTIONS} from './input-card-group.options';\nimport {\n TUI_INPUT_CARD_GROUP_TEXTS,\n TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n} from './input-card-group.providers';\n\nexport interface TuiCard {\n card: string;\n cvc: string;\n expire: string;\n}\n\n@Component({\n selector: 'tui-input-card-group',\n imports: [\n FormsModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n TuiAppearance,\n TuiChevron,\n TuiFormatCardPipe,\n TuiIcon,\n TuiIconPipe,\n TuiMapperPipe,\n TuiTransitioned,\n WaResizeObserver,\n ],\n templateUrl: './input-card-group.template.html',\n styleUrl: './input-card-group.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiInputCardGroup),\n tuiAsControl(TuiInputCardGroup),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n TuiHoveredService,\n TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n ],\n hostDirectives: [\n TuiAppearance,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n {directive: TuiInputCardGroupDirective, inputs: ['compact']},\n ],\n host: {\n '[attr.data-size]': 'textfield.size()',\n '(pointerdown)': 'onPointerDown($event)',\n '(scroll.zoneless)': '$event.target.scrollLeft = 0',\n '(tuiActiveZoneChange)': 'onTouched()',\n },\n})\nexport class TuiInputCardGroup\n extends TuiControl<TuiCard | null>\n implements TuiDataListHost<Partial<TuiCard>>\n{\n private readonly inputCard = viewChild<ElementRef<HTMLInputElement>>('inputCard');\n private readonly inputExpire = viewChild<ElementRef<HTMLInputElement>>('inputExpire');\n private readonly inputCVC = viewChild<ElementRef<HTMLInputElement>>('inputCVC');\n private readonly doc = inject(DOCUMENT);\n private readonly isServer = isPlatformServer(inject(PLATFORM_ID));\n private readonly focus$ = new Subject<void>();\n private readonly expirePrefilled = signal(false);\n private readonly paymentSystems = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly options = inject(TUI_INPUT_CARD_GROUP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly hover = tuiHovered();\n private readonly focusedIn = tuiFocusedIn(this.el);\n\n protected readonly cvcMask = computed(() => TUI_MASK_CVC(this.codeLength() ?? 3));\n protected readonly cvcHidden = this.options.cvcHidden;\n protected readonly cvcPlaceholder = computed((length = this.codeLength()) =>\n length ? '0'.repeat(length) : this.options.cvcPlaceholder,\n );\n\n protected readonly cvcPrefilled = computed(\n () => !this.inputs().cvc || !!this.cvc().match(TUI_NON_DIGIT_REGEXP),\n );\n\n protected readonly cardPrefilled = computed(\n () => !!this.card().match(TUI_NON_DIGIT_REGEXP),\n );\n\n protected readonly focusable = computed(\n () => this.cardValidator()(this.card()) || this.cardPrefilled(),\n );\n\n protected readonly expireFocusable = computed(\n () => this.focusable() && !this.expirePrefilled(),\n );\n\n protected readonly isMobile = inject(WA_IS_MOBILE);\n protected readonly isWebkit = inject(WA_IS_WEBKIT);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly maskCard = TUI_MASK_CARD;\n protected readonly maskExpire = TUI_MASK_EXPIRE;\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly textfield = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly texts = inject(TUI_INPUT_CARD_GROUP_TEXTS);\n protected readonly open = inject(TuiDropdownOpen).open;\n protected readonly $ = this.isWebkit\n ? this.focus$\n .pipe(\n switchMap(() => timer(100)),\n takeUntilDestroyed(),\n )\n .subscribe(() => (this.expire() ? this.focusCVC() : this.focusExpire()))\n : EMPTY;\n\n protected readonly card = computed(() => this.value()?.card || '');\n protected readonly expire = computed(() => this.value()?.expire || '');\n protected readonly cvc = computed(() => this.value()?.cvc || '');\n protected readonly m = tuiAppearanceMode(this.mode);\n protected readonly appearance = tuiAppearance(\n inject(TUI_TEXTFIELD_OPTIONS).appearance,\n );\n\n protected readonly state: Signal<unknown> = tuiAppearanceState(\n // eslint-disable-next-line no-nested-ternary\n computed(() => (this.disabled() ? 'disabled' : this.hover() ? 'hover' : null)),\n );\n\n protected readonly focus = tuiAppearanceFocus(\n computed(() => this.open() || this.focusedIn()),\n );\n\n protected readonly labelRaised = computed(\n () => (this.focus() && !this.readOnly()) || !!this.card(),\n );\n\n protected readonly hasCleaner = computed(\n () => this.textfield.cleaner() && this.card() && this.interactive(),\n );\n\n protected readonly bin = computed(() =>\n this.card().length < 6 ? null : this.card().slice(0, 6),\n );\n\n protected readonly content = computed<PolymorpheusContent>(\n (system = tuiGetPaymentSystem(this.card())) =>\n this.icon() || (system && this.paymentSystems[system]),\n );\n\n public readonly placeholder = input(this.options.placeholder);\n public readonly inputs = input(this.options.inputs);\n public readonly cardValidator = input(this.options.cardValidator);\n public readonly icon = input<PolymorpheusContent>('');\n public readonly id = input(tuiGenerateId());\n public readonly codeLength = input<3 | 4>();\n public readonly binChange = output<string | null>();\n\n public override writeValue(value: TuiCard | null): void {\n const bin = this.bin();\n const {activeElement} = this.doc;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expirePrefilled.set(!!this.expire() && this.cardPrefilled());\n\n // Programmatic setting of expire input value breaks autofill in Chrome\n const inputExpire = this.inputExpire();\n\n if (\n !inputExpire ||\n this.isMobile ||\n this.isWebkit ||\n this.isServer ||\n inputExpire.nativeElement.value === this.expire()\n ) {\n return;\n }\n\n inputExpire.nativeElement.focus({preventScroll: true});\n inputExpire.nativeElement.select();\n this.doc.execCommand('insertText', false, this.expire());\n inputExpire.nativeElement.blur();\n (activeElement as HTMLElement | null)?.focus({preventScroll: true});\n }\n\n public focusCard(): void {\n this.inputCard()?.nativeElement.focus({preventScroll: true});\n }\n\n public focusExpire(): void {\n if (this.inputs().expire) {\n this.inputExpire()?.nativeElement.focus({preventScroll: true});\n } else {\n this.inputCVC()?.nativeElement.focus({preventScroll: true});\n }\n }\n\n public focusCVC(): void {\n this.inputCVC()?.nativeElement.focus({preventScroll: true});\n }\n\n public handleOption(option: Partial<TuiCard> | null): void {\n const {card = '', expire = '', cvc = ''} = option || {};\n const bin = this.bin();\n const element =\n (!card && this.inputCard()?.nativeElement) ||\n (!expire && this.inputExpire()?.nativeElement) ||\n this.inputCVC()?.nativeElement;\n\n this.onChange({card, expire, cvc});\n this.updateBin(bin);\n this.open.set(false);\n this.expirePrefilled.set(!!expire);\n\n element?.focus();\n }\n\n public clear(): void {\n this.expirePrefilled.set(false);\n [this.inputCVC(), this.inputExpire(), this.inputCard()].forEach((e) => {\n e?.nativeElement.focus();\n e?.nativeElement.select();\n e?.nativeElement.ownerDocument.execCommand('delete');\n });\n\n this.onChange(null);\n }\n\n protected get cardCollapsed(): boolean {\n return this.focusable() && !tuiIsFocused(this.inputCard()?.nativeElement);\n }\n\n protected onResize(): void {\n this.cdr.detectChanges();\n }\n\n protected onCardChange(card: string): void {\n const bin = this.bin();\n const parsed = card.split(CHAR_NO_BREAK_SPACE).join('');\n\n if (this.card() === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator()(this.card()) && !this.expire() && this.inputExpire()) {\n this.focusExpire();\n // Safari autofill focus jerk workaround\n this.focus$.next();\n }\n }\n\n protected onExpireChange(expire: string): void {\n this.updateProperty(expire, 'expire');\n\n // MM/YY\n if (Number(this.inputExpire()?.nativeElement.selectionStart) === 5) {\n this.focusCVC();\n }\n }\n\n protected onCVCChange(cvc: string): void {\n this.updateProperty(cvc, 'cvc');\n }\n\n protected getStyle({offsetWidth}: HTMLSpanElement): string {\n return this.cardCollapsed\n ? `transform: translate3d(calc(${offsetWidth}px * var(--tui-inline)), 0, 0); clip-path: inset(0 0 0 calc(100% - ${offsetWidth}px));`\n : '';\n }\n\n protected onPointerDown(event: MouseEvent): void {\n if (tuiIsElement(event.target) && tuiIsInput(event.target)) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected toggle(): void {\n this.open.update((open) => !open);\n }\n\n private updateBin(oldBin: string | null): void {\n if (this.bin() !== oldBin && !this.cardPrefilled()) {\n this.binChange.emit(this.bin());\n }\n }\n\n private updateProperty(value: string, propName: 'card' | 'cvc' | 'expire'): void {\n const {card = '', expire = '', cvc = ''} = this.value() || {};\n const newValue: TuiCard = {card, expire, cvc};\n\n newValue[propName] = value;\n\n this.onChange(newValue.expire || newValue.cvc || newValue.card ? newValue : null);\n }\n\n private focusInput(): void {\n const element =\n (!this.cardPrefilled() && this.inputCard()?.nativeElement) ||\n (this.expireFocusable() && this.inputExpire()?.nativeElement) ||\n this.inputCVC()?.nativeElement;\n\n element?.focus();\n }\n}\n","@let formattedCard = card() | tuiFormatCard: cardPrefilled();\n\n<div class=\"t-wrapper\">\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCard\n autocomplete=\"cc-number\"\n automation-id=\"tui-input-card-group__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input t-input_card\"\n [attr.aria-invalid]=\"!cardPrefilled() && !(this.card() | tuiMapper: cardValidator())\"\n [attr.id]=\"`${id()}_card`\"\n [attr.role]=\"dropdown.content() ? 'combobox' : null\"\n [class.t-input_filled]=\"card().length\"\n [class.t-input_inert]=\"cardPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskCard\"\n [ngModel]=\"formattedCard\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cardPrefilled() ? '' : placeholder()\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardPrefilled() ? -1 : 0\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCardChange($event)\"\n />\n <span\n aria-hidden=\"true\"\n translate=\"no\"\n class=\"t-collapsed\"\n [attr.data-before]=\"cardPrefilled() ? card().slice(-4) : ''\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(card().length % 4 > 0 ? -5 : -4)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style]=\"getStyle(ghost)\"\n [textContent]=\"formattedCard\"\n ></span>\n </span>\n </span>\n <div\n tuiTransitioned\n class=\"t-label\"\n [attr.data-label]=\"texts().cardNumberText\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n <ng-content />\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputExpire\n autocomplete=\"cc-exp\"\n automation-id=\"tui-input-card-group__expire\"\n inputmode=\"numeric\"\n maxlength=\"5\"\n name=\"ccexpiryyear\"\n translate=\"no\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_expire`\"\n [class.t-input_inert]=\"!expireFocusable()\"\n [class.t-input_prefilled]=\"!inputs().expire\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"inputs().expire ? '00/00' : '••/••'\"\n [readOnly]=\"readOnly() || !inputs().expire\"\n [tabIndex]=\"expireFocusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().expiryText }}\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCVC\n autocomplete=\"cc-csc\"\n automation-id=\"tui-input-card-group__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_cvc`\"\n [class.t-input_cvc_hidden]=\"cvcHidden\"\n [class.t-input_prefilled]=\"cvcPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"cvcMask()\"\n [ngModel]=\"cvc()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled() ? '•••' : cvcPlaceholder()\"\n [readOnly]=\"readOnly() || cvcPrefilled()\"\n [tabIndex]=\"focusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().cvcText }}\n </div>\n </label>\n</div>\n<div class=\"t-icons\">\n @if (content()) {\n <div class=\"t-icon-outlet\">\n <img\n *polymorpheusOutlet=\"content() as src\"\n alt=\"\"\n automation-id=\"tui-input-card-group__icon\"\n class=\"t-card\"\n [src]=\"src | tuiIcon\"\n />\n </div>\n }\n @if (hasCleaner()) {\n <tui-icon\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n }\n @if (dropdown.content()) {\n <tui-icon\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n class=\"t-icon\"\n (click)=\"toggle()\"\n />\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiInputCardGroupDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card-group.mjs","sources":["../../../projects/addon-commerce/components/input-card-group/input-card-group.directive.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.options.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.providers.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.component.ts","../../../projects/addon-commerce/components/input-card-group/input-card-group.template.html","../../../projects/addon-commerce/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.ts"],"sourcesContent":["import {Directive, inject, input} from '@angular/core';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\n@Directive({host: {'[class._compact]': \"compact() || breakpoint() === 'mobile'\"}})\nexport class TuiInputCardGroupDirective {\n protected readonly breakpoint = inject(TUI_BREAKPOINT);\n public readonly compact = input(false);\n}\n","import {tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCardInputs {\n cvc: boolean;\n expire: boolean;\n}\n\nexport interface TuiInputCardGroupOptions {\n readonly cardValidator: TuiBooleanHandler<string>;\n readonly placeholder: string;\n readonly cvcPlaceholder: string;\n readonly cvcHidden: boolean;\n readonly inputs: TuiCardInputs;\n}\n\nexport const TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS: TuiInputCardGroupOptions = {\n cardValidator: tuiDefaultCardValidator,\n placeholder: '0000 0000 0000 0000',\n cvcPlaceholder: '000',\n cvcHidden: true,\n inputs: {cvc: true, expire: true},\n};\n\nexport const [TUI_INPUT_CARD_GROUP_OPTIONS, tuiInputCardGroupOptionsProvider] =\n tuiCreateOptions(TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS);\n","import {computed, inject, InjectionToken, type Signal} from '@angular/core';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {TUI_BREAKPOINT} from '@taiga-ui/core/tokens';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly cvcText: string;\n readonly expiryText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken<Signal<TuiCardGroupedTexts>>(\n ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '',\n);\n\nexport const TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER = {\n provide: TUI_INPUT_CARD_GROUP_TEXTS,\n useFactory: () => {\n const cardGroupTexts = inject(TUI_INPUT_CARD_GROUP_TEXTS, {\n skipSelf: true,\n optional: true,\n });\n const breakpoint = inject(TUI_BREAKPOINT);\n const directive = inject(TuiInputCardGroupDirective);\n const compact = computed(() => directive.compact() || breakpoint() === 'mobile');\n const cardNumber = inject(TUI_CARD_NUMBER_TEXTS);\n const expiry = inject(TUI_CARD_EXPIRY_TEXTS);\n const cvcTexts = inject(TUI_CARD_CVC_TEXTS);\n\n return computed(\n () =>\n cardGroupTexts?.() ?? {\n cardNumberText: cardNumber()[Number(!compact())] ?? '',\n expiryText: expiry()[Number(!compact())] ?? '',\n cvcText: cvcTexts()[Number(!compact())] ?? '',\n },\n );\n },\n};\n","import {DOCUMENT, isPlatformServer} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n output,\n PLATFORM_ID,\n type Signal,\n signal,\n viewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {FormsModule} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {WA_IS_MOBILE, WA_IS_WEBKIT} from '@ng-web-apis/platform';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {\n TUI_MASK_CARD,\n TUI_MASK_CVC,\n TUI_MASK_EXPIRE,\n} from '@taiga-ui/addon-commerce/constants';\nimport {TuiFormatCardPipe} from '@taiga-ui/addon-commerce/pipes/format-card';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {CHAR_NO_BREAK_SPACE, TUI_NON_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\nimport {tuiHovered, TuiHoveredService} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiFocusedIn, tuiIsFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAsDataListHost,\n type TuiDataListHost,\n} from '@taiga-ui/core/components/data-list';\nimport {TuiIcon, TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {\n TuiAppearance,\n tuiAppearance,\n tuiAppearanceFocus,\n tuiAppearanceMode,\n tuiAppearanceState,\n} from '@taiga-ui/core/directives/appearance';\nimport {\n TuiDropdownDirective,\n TuiDropdownOpen,\n tuiDropdownOptionsProvider,\n TuiWithDropdownOpen,\n} from '@taiga-ui/core/portals/dropdown';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {EMPTY, Subject, switchMap, timer} from 'rxjs';\n\nimport {TuiInputCardGroupDirective} from './input-card-group.directive';\nimport {TUI_INPUT_CARD_GROUP_OPTIONS} from './input-card-group.options';\nimport {\n TUI_INPUT_CARD_GROUP_TEXTS,\n TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n} from './input-card-group.providers';\n\nexport interface TuiCard {\n card: string;\n cvc: string;\n expire: string;\n}\n\n@Component({\n selector: 'tui-input-card-group',\n imports: [\n FormsModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n TuiAppearance,\n TuiChevron,\n TuiFormatCardPipe,\n TuiIcon,\n TuiIconPipe,\n TuiMapperPipe,\n TuiTransitioned,\n WaResizeObserver,\n ],\n templateUrl: './input-card-group.template.html',\n styleUrl: './input-card-group.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsDataListHost(TuiInputCardGroup),\n tuiAsControl(TuiInputCardGroup),\n tuiDropdownOptionsProvider({limitWidth: 'fixed'}),\n TuiHoveredService,\n TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,\n ],\n hostDirectives: [\n TuiAppearance,\n TuiDropdownDirective,\n TuiWithDropdownOpen,\n {directive: TuiInputCardGroupDirective, inputs: ['compact']},\n ],\n host: {\n '[attr.data-size]': 'textfield.size()',\n '(pointerdown)': 'onPointerDown($event)',\n '(scroll.zoneless)': '$event.target.scrollLeft = 0',\n '(tuiActiveZoneChange)': 'onTouched()',\n },\n})\nexport class TuiInputCardGroup\n extends TuiControl<TuiCard | null>\n implements TuiDataListHost<Partial<TuiCard>>\n{\n private readonly inputCard = viewChild<ElementRef<HTMLInputElement>>('inputCard');\n private readonly inputExpire = viewChild<ElementRef<HTMLInputElement>>('inputExpire');\n private readonly inputCVC = viewChild<ElementRef<HTMLInputElement>>('inputCVC');\n private readonly doc = inject(DOCUMENT);\n private readonly isServer = isPlatformServer(inject(PLATFORM_ID));\n private readonly focus$ = new Subject<void>();\n private readonly expirePrefilled = signal(false);\n private readonly paymentSystems = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly options = inject(TUI_INPUT_CARD_GROUP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly hover = tuiHovered();\n private readonly focusedIn = tuiFocusedIn(this.el);\n protected readonly cvcMask = computed(() => TUI_MASK_CVC(this.codeLength() ?? 3));\n protected readonly cvcHidden = this.options.cvcHidden;\n\n protected readonly cvcPlaceholder = computed((length = this.codeLength()) =>\n length ? '0'.repeat(length) : this.options.cvcPlaceholder,\n );\n\n protected readonly cvcPrefilled = computed(\n () => !this.inputs().cvc || !!this.cvc().match(TUI_NON_DIGIT_REGEXP),\n );\n\n protected readonly cardPrefilled = computed(\n () => !!this.card().match(TUI_NON_DIGIT_REGEXP),\n );\n\n protected readonly focusable = computed(\n () => this.cardValidator()(this.card()) || this.cardPrefilled(),\n );\n\n protected readonly expireFocusable = computed(\n () => this.focusable() && !this.expirePrefilled(),\n );\n\n protected readonly isMobile = inject(WA_IS_MOBILE);\n protected readonly isWebkit = inject(WA_IS_WEBKIT);\n protected readonly dropdown = inject(TuiDropdownDirective);\n protected readonly maskCard = TUI_MASK_CARD;\n protected readonly maskExpire = TUI_MASK_EXPIRE;\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly textfield = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly texts = inject(TUI_INPUT_CARD_GROUP_TEXTS);\n protected readonly open = inject(TuiDropdownOpen).open;\n\n protected readonly $ = this.isWebkit\n ? this.focus$\n .pipe(\n switchMap(() => timer(100)),\n takeUntilDestroyed(),\n )\n .subscribe(() => (this.expire() ? this.focusCVC() : this.focusExpire()))\n : EMPTY;\n\n protected readonly card = computed(() => this.value()?.card || '');\n protected readonly expire = computed(() => this.value()?.expire || '');\n protected readonly cvc = computed(() => this.value()?.cvc || '');\n protected readonly m = tuiAppearanceMode(this.mode);\n\n protected readonly appearance = tuiAppearance(\n inject(TUI_TEXTFIELD_OPTIONS).appearance,\n );\n\n protected readonly state: Signal<unknown> = tuiAppearanceState(\n // eslint-disable-next-line no-nested-ternary\n computed(() => (this.disabled() ? 'disabled' : this.hover() ? 'hover' : null)),\n );\n\n protected readonly focus = tuiAppearanceFocus(\n computed(() => this.open() || this.focusedIn()),\n );\n\n protected readonly labelRaised = computed(\n () => (this.focus() && !this.readOnly()) || !!this.card(),\n );\n\n protected readonly hasCleaner = computed(\n () => this.textfield.cleaner() && this.card() && this.interactive(),\n );\n\n protected readonly bin = computed(() =>\n this.card().length < 6 ? null : this.card().slice(0, 6),\n );\n\n protected readonly content = computed<PolymorpheusContent>(\n (system = tuiGetPaymentSystem(this.card())) =>\n this.icon() || (system && this.paymentSystems[system]),\n );\n\n public readonly placeholder = input(this.options.placeholder);\n public readonly inputs = input(this.options.inputs);\n public readonly cardValidator = input(this.options.cardValidator);\n public readonly icon = input<PolymorpheusContent>('');\n public readonly id = input(tuiGenerateId());\n public readonly codeLength = input<3 | 4>();\n public readonly binChange = output<string | null>();\n\n public override writeValue(value: TuiCard | null): void {\n const bin = this.bin();\n const {activeElement} = this.doc;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expirePrefilled.set(!!this.expire() && this.cardPrefilled());\n\n // Programmatic setting of expire input value breaks autofill in Chrome\n const inputExpire = this.inputExpire();\n\n if (\n !inputExpire ||\n this.isMobile ||\n this.isWebkit ||\n this.isServer ||\n inputExpire.nativeElement.value === this.expire()\n ) {\n return;\n }\n\n inputExpire.nativeElement.focus({preventScroll: true});\n inputExpire.nativeElement.select();\n this.doc.execCommand('insertText', false, this.expire());\n inputExpire.nativeElement.blur();\n (activeElement as HTMLElement | null)?.focus({preventScroll: true});\n }\n\n public focusCard(): void {\n this.inputCard()?.nativeElement.focus({preventScroll: true});\n }\n\n public focusExpire(): void {\n if (this.inputs().expire) {\n this.inputExpire()?.nativeElement.focus({preventScroll: true});\n } else {\n this.inputCVC()?.nativeElement.focus({preventScroll: true});\n }\n }\n\n public focusCVC(): void {\n this.inputCVC()?.nativeElement.focus({preventScroll: true});\n }\n\n public handleOption(option: Partial<TuiCard> | null): void {\n const {card = '', expire = '', cvc = ''} = option || {};\n const bin = this.bin();\n const element =\n (!card && this.inputCard()?.nativeElement) ||\n (!expire && this.inputExpire()?.nativeElement) ||\n this.inputCVC()?.nativeElement;\n\n this.onChange({card, expire, cvc});\n this.updateBin(bin);\n this.open.set(false);\n this.expirePrefilled.set(!!expire);\n\n element?.focus();\n }\n\n public clear(): void {\n this.expirePrefilled.set(false);\n [this.inputCVC(), this.inputExpire(), this.inputCard()].forEach((e) => {\n e?.nativeElement.focus();\n e?.nativeElement.select();\n e?.nativeElement.ownerDocument.execCommand('delete');\n });\n\n this.onChange(null);\n }\n\n protected get cardCollapsed(): boolean {\n return this.focusable() && !tuiIsFocused(this.inputCard()?.nativeElement);\n }\n\n protected onResize(): void {\n this.cdr.detectChanges();\n }\n\n protected onCardChange(card: string): void {\n const bin = this.bin();\n const parsed = card.split(CHAR_NO_BREAK_SPACE).join('');\n\n if (this.card() === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator()(this.card()) && !this.expire() && this.inputExpire()) {\n this.focusExpire();\n // Safari autofill focus jerk workaround\n this.focus$.next();\n }\n }\n\n protected onExpireChange(expire: string): void {\n this.updateProperty(expire, 'expire');\n\n // MM/YY\n if (Number(this.inputExpire()?.nativeElement.selectionStart) === 5) {\n this.focusCVC();\n }\n }\n\n protected onCVCChange(cvc: string): void {\n this.updateProperty(cvc, 'cvc');\n }\n\n protected getStyle({offsetWidth}: HTMLSpanElement): string {\n return this.cardCollapsed\n ? `transform: translate3d(calc(${offsetWidth}px * var(--tui-inline)), 0, 0); clip-path: inset(0 0 0 calc(100% - ${offsetWidth}px));`\n : '';\n }\n\n protected onPointerDown(event: MouseEvent): void {\n if (tuiIsElement(event.target) && tuiIsInput(event.target)) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n protected toggle(): void {\n this.open.update((open) => !open);\n }\n\n private updateBin(oldBin: string | null): void {\n if (this.bin() !== oldBin && !this.cardPrefilled()) {\n this.binChange.emit(this.bin());\n }\n }\n\n private updateProperty(value: string, propName: 'card' | 'cvc' | 'expire'): void {\n const {card = '', expire = '', cvc = ''} = this.value() || {};\n const newValue: TuiCard = {card, expire, cvc};\n\n newValue[propName] = value;\n\n this.onChange(newValue.expire || newValue.cvc || newValue.card ? newValue : null);\n }\n\n private focusInput(): void {\n const element =\n (!this.cardPrefilled() && this.inputCard()?.nativeElement) ||\n (this.expireFocusable() && this.inputExpire()?.nativeElement) ||\n this.inputCVC()?.nativeElement;\n\n element?.focus();\n }\n}\n","@let formattedCard = card() | tuiFormatCard: cardPrefilled();\n\n<div class=\"t-wrapper\">\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCard\n autocomplete=\"cc-number\"\n automation-id=\"tui-input-card-group__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input t-input_card\"\n [attr.aria-invalid]=\"!cardPrefilled() && !(this.card() | tuiMapper: cardValidator())\"\n [attr.id]=\"`${id()}_card`\"\n [attr.role]=\"dropdown.content() ? 'combobox' : null\"\n [class.t-input_filled]=\"card().length\"\n [class.t-input_inert]=\"cardPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskCard\"\n [ngModel]=\"formattedCard\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cardPrefilled() ? '' : placeholder()\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardPrefilled() ? -1 : 0\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCardChange($event)\"\n />\n <span\n aria-hidden=\"true\"\n translate=\"no\"\n class=\"t-collapsed\"\n [attr.data-before]=\"cardPrefilled() ? card().slice(-4) : ''\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(card().length % 4 > 0 ? -5 : -4)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style]=\"getStyle(ghost)\"\n [textContent]=\"formattedCard\"\n ></span>\n </span>\n </span>\n <div\n tuiTransitioned\n class=\"t-label\"\n [attr.data-label]=\"texts().cardNumberText\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n <ng-content />\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputExpire\n autocomplete=\"cc-exp\"\n automation-id=\"tui-input-card-group__expire\"\n inputmode=\"numeric\"\n maxlength=\"5\"\n name=\"ccexpiryyear\"\n translate=\"no\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_expire`\"\n [class.t-input_inert]=\"!expireFocusable()\"\n [class.t-input_prefilled]=\"!inputs().expire\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"inputs().expire ? '00/00' : '••/••'\"\n [readOnly]=\"readOnly() || !inputs().expire\"\n [tabIndex]=\"expireFocusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().expiryText }}\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCVC\n autocomplete=\"cc-csc\"\n automation-id=\"tui-input-card-group__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_cvc`\"\n [class.t-input_cvc_hidden]=\"cvcHidden\"\n [class.t-input_prefilled]=\"cvcPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"cvcMask()\"\n [ngModel]=\"cvc()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled() ? '•••' : cvcPlaceholder()\"\n [readOnly]=\"readOnly() || cvcPrefilled()\"\n [tabIndex]=\"focusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().cvcText }}\n </div>\n </label>\n</div>\n<div class=\"t-icons\">\n @if (content()) {\n <div class=\"t-icon-outlet\">\n <img\n *polymorpheusOutlet=\"content() as src\"\n alt=\"\"\n automation-id=\"tui-input-card-group__icon\"\n class=\"t-card\"\n [src]=\"src | tuiIcon\"\n />\n </div>\n }\n @if (hasCleaner()) {\n <tui-icon\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n }\n @if (dropdown.content()) {\n <tui-icon\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n class=\"t-icon\"\n (click)=\"toggle()\"\n />\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.TuiInputCardGroupDirective"],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ class TuiInputCardComponent {
|
|
|
39
39
|
this.accessor.onChange = (value) => onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));
|
|
40
40
|
}
|
|
41
41
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputCardComponent, isStandalone: true, selector: "input[tuiInputCard]", outputs: { binChange: "binChange" }, host: { attributes: { "
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiInputCardComponent, isStandalone: true, selector: "input[tuiInputCard]", outputs: { binChange: "binChange" }, host: { attributes: { "autocomplete": "cc-number", "inputmode": "numeric", "ngSkipHydration": "true", "placeholder": "0000 0000 0000 0000" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0, template: `
|
|
43
43
|
@if (image()) {
|
|
44
44
|
<img
|
|
45
45
|
*tuiTextfieldContent
|
|
@@ -48,7 +48,7 @@ class TuiInputCardComponent {
|
|
|
48
48
|
[src]="image() | tuiIcon"
|
|
49
49
|
/>
|
|
50
50
|
}
|
|
51
|
-
`, isInline: true, styles: ["tui-textfield:where(*[data-tui-version=\"5.
|
|
51
|
+
`, isInline: true, styles: ["tui-textfield:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system{inline-size:2rem}\n"], dependencies: [{ kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }, { kind: "directive", type: TuiTextfieldContent, selector: "ng-template[tuiTextfieldContent]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
52
52
|
}
|
|
53
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputCardComponent, decorators: [{
|
|
54
54
|
type: Component,
|
|
@@ -62,11 +62,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
62
62
|
/>
|
|
63
63
|
}
|
|
64
64
|
`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [MaskitoDirective, TuiWithInput], host: {
|
|
65
|
+
autocomplete: 'cc-number',
|
|
65
66
|
inputmode: 'numeric',
|
|
66
|
-
placeholder: '0000 0000 0000 0000',
|
|
67
67
|
ngSkipHydration: 'true',
|
|
68
|
-
|
|
69
|
-
}, styles: ["tui-textfield:where(*[data-tui-version=\"5.
|
|
68
|
+
placeholder: '0000 0000 0000 0000',
|
|
69
|
+
}, styles: ["tui-textfield:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.4.0-canary.d26a6e2\"]) .t-payment-system{inline-size:2rem}\n"] }]
|
|
70
70
|
}] });
|
|
71
71
|
|
|
72
72
|
class TuiInputCVCDirective {
|
|
@@ -76,7 +76,7 @@ class TuiInputCVCDirective {
|
|
|
76
76
|
this.length = input(3);
|
|
77
77
|
}
|
|
78
78
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputCVCDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
79
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputCVCDirective, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "
|
|
79
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiInputCVCDirective, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "autocomplete": "cc-csc", "inputmode": "numeric" }, listeners: { "copy.prevent": "(0)" }, properties: { "placeholder": "\"0\".repeat(length())", "style.-webkit-text-security": "hidden() ? \"disc\" : null" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
|
|
80
80
|
}
|
|
81
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputCVCDirective, decorators: [{
|
|
82
82
|
type: Directive,
|
|
@@ -84,8 +84,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
84
84
|
selector: 'input[tuiInputCVC]',
|
|
85
85
|
hostDirectives: [MaskitoDirective, TuiWithInput],
|
|
86
86
|
host: {
|
|
87
|
-
inputmode: 'numeric',
|
|
88
87
|
autocomplete: 'cc-csc',
|
|
88
|
+
inputmode: 'numeric',
|
|
89
89
|
'[placeholder]': '"0".repeat(length())',
|
|
90
90
|
'[style.-webkit-text-security]': 'hidden() ? "disc" : null',
|
|
91
91
|
'(copy.prevent)': '(0)',
|
|
@@ -98,7 +98,7 @@ class TuiInputExpireDirective {
|
|
|
98
98
|
this.mask = tuiMaskito(TUI_MASK_EXPIRE);
|
|
99
99
|
}
|
|
100
100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputExpireDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
101
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiInputExpireDirective, isStandalone: true, selector: "input[tuiInputExpire]", host: { attributes: { "
|
|
101
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiInputExpireDirective, isStandalone: true, selector: "input[tuiInputExpire]", host: { attributes: { "autocomplete": "cc-exp", "inputmode": "numeric", "maxlength": "5", "name": "ccexpiryyear", "placeholder": "00/00", "translate": "no" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
|
|
102
102
|
}
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiInputExpireDirective, decorators: [{
|
|
104
104
|
type: Directive,
|
|
@@ -106,12 +106,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
|
|
|
106
106
|
selector: 'input[tuiInputExpire]',
|
|
107
107
|
hostDirectives: [MaskitoDirective, TuiWithInput],
|
|
108
108
|
host: {
|
|
109
|
+
autocomplete: 'cc-exp',
|
|
109
110
|
inputmode: 'numeric',
|
|
110
|
-
placeholder: '00/00',
|
|
111
|
-
translate: 'no',
|
|
112
111
|
maxlength: '5',
|
|
113
112
|
name: 'ccexpiryyear',
|
|
114
|
-
|
|
113
|
+
placeholder: '00/00',
|
|
114
|
+
translate: 'no',
|
|
115
115
|
},
|
|
116
116
|
}]
|
|
117
117
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card.mjs","sources":["../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-cvc.directive.ts","../../../projects/addon-commerce/components/input-card/input-expire.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n type OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {outputFromObservable, toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {DefaultValueAccessor, NgControl} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CARD} from '@taiga-ui/addon-commerce/constants';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {TuiTextfieldContent} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\nimport {distinctUntilChanged, map, skip, startWith, switchMap, timer} from 'rxjs';\n\n@Component({\n selector: 'input[tuiInputCard]',\n imports: [TuiIconPipe, TuiTextfieldContent],\n template: `\n @if (image()) {\n <img\n *tuiTextfieldContent\n alt=\"\"\n class=\"t-payment-system\"\n [src]=\"image() | tuiIcon\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-card.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n inputmode: 'numeric',\n placeholder: '0000 0000 0000 0000',\n ngSkipHydration: 'true',\n autocomplete: 'cc-number',\n },\n})\nexport class TuiInputCardComponent implements OnInit {\n private readonly icons = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly control = inject(NgControl);\n private readonly value = toSignal(\n timer(0).pipe(switchMap(() => tuiControlValue<string>(this.control))),\n {initialValue: ''},\n );\n\n private readonly accessor = inject(DefaultValueAccessor, {\n self: true,\n optional: true,\n });\n\n protected readonly mask = tuiMaskito(TUI_MASK_CARD);\n protected readonly image = computed(\n (s = tuiGetPaymentSystem(this.value())) => (s && this.icons[s]) || '',\n );\n\n public readonly binChange = outputFromObservable(\n toObservable(this.value).pipe(\n map((v) => (v.length < 6 ? null : v.replace(' ', '').slice(0, 6))),\n startWith(null),\n distinctUntilChanged(),\n skip(1),\n ),\n );\n\n public ngOnInit(): void {\n if (!this.accessor) {\n return;\n }\n\n const onChanges = this.accessor.onChange.bind(this.accessor);\n\n this.accessor.onChange = (value: string) =>\n onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));\n }\n}\n","import {computed, Directive, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CVC} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputCVC]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n inputmode: 'numeric',\n autocomplete: 'cc-csc',\n '[placeholder]': '\"0\".repeat(length())',\n '[style.-webkit-text-security]': 'hidden() ? \"disc\" : null',\n '(copy.prevent)': '(0)',\n },\n})\nexport class TuiInputCVCDirective {\n protected readonly mask = tuiMaskito(computed(() => TUI_MASK_CVC(this.length())));\n\n public readonly hidden = input(true);\n public readonly length = input<3 | 4>(3);\n}\n","import {Directive} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_EXPIRE} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputExpire]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n inputmode: 'numeric',\n placeholder: '00/00',\n translate: 'no',\n maxlength: '5',\n name: 'ccexpiryyear',\n autocomplete: 'cc-exp',\n },\n})\nexport class TuiInputExpireDirective {\n protected readonly mask = tuiMaskito(TUI_MASK_EXPIRE);\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCVCDirective} from './input-cvc.directive';\nimport {TuiInputExpireDirective} from './input-expire.directive';\n\nexport const TuiInputCard = [\n TuiInputCardComponent,\n TuiInputCVCDirective,\n TuiInputExpireDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card.mjs","sources":["../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-cvc.directive.ts","../../../projects/addon-commerce/components/input-card/input-expire.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n type OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport {outputFromObservable, toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {DefaultValueAccessor, NgControl} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CARD} from '@taiga-ui/addon-commerce/constants';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {TuiTextfieldContent} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\nimport {distinctUntilChanged, map, skip, startWith, switchMap, timer} from 'rxjs';\n\n@Component({\n selector: 'input[tuiInputCard]',\n imports: [TuiIconPipe, TuiTextfieldContent],\n template: `\n @if (image()) {\n <img\n *tuiTextfieldContent\n alt=\"\"\n class=\"t-payment-system\"\n [src]=\"image() | tuiIcon\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-card.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-number',\n inputmode: 'numeric',\n ngSkipHydration: 'true',\n placeholder: '0000 0000 0000 0000',\n },\n})\nexport class TuiInputCardComponent implements OnInit {\n private readonly icons = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly control = inject(NgControl);\n\n private readonly value = toSignal(\n timer(0).pipe(switchMap(() => tuiControlValue<string>(this.control))),\n {initialValue: ''},\n );\n\n private readonly accessor = inject(DefaultValueAccessor, {\n self: true,\n optional: true,\n });\n\n protected readonly mask = tuiMaskito(TUI_MASK_CARD);\n\n protected readonly image = computed(\n (s = tuiGetPaymentSystem(this.value())) => (s && this.icons[s]) || '',\n );\n\n public readonly binChange = outputFromObservable(\n toObservable(this.value).pipe(\n map((v) => (v.length < 6 ? null : v.replace(' ', '').slice(0, 6))),\n startWith(null),\n distinctUntilChanged(),\n skip(1),\n ),\n );\n\n public ngOnInit(): void {\n if (!this.accessor) {\n return;\n }\n\n const onChanges = this.accessor.onChange.bind(this.accessor);\n\n this.accessor.onChange = (value: string) =>\n onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));\n }\n}\n","import {computed, Directive, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CVC} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputCVC]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-csc',\n inputmode: 'numeric',\n '[placeholder]': '\"0\".repeat(length())',\n '[style.-webkit-text-security]': 'hidden() ? \"disc\" : null',\n '(copy.prevent)': '(0)',\n },\n})\nexport class TuiInputCVCDirective {\n protected readonly mask = tuiMaskito(computed(() => TUI_MASK_CVC(this.length())));\n public readonly hidden = input(true);\n public readonly length = input<3 | 4>(3);\n}\n","import {Directive} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_EXPIRE} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputExpire]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-exp',\n inputmode: 'numeric',\n maxlength: '5',\n name: 'ccexpiryyear',\n placeholder: '00/00',\n translate: 'no',\n },\n})\nexport class TuiInputExpireDirective {\n protected readonly mask = tuiMaskito(TUI_MASK_EXPIRE);\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCVCDirective} from './input-cvc.directive';\nimport {TuiInputExpireDirective} from './input-expire.directive';\n\nexport const TuiInputCard = [\n TuiInputCardComponent,\n TuiInputCVCDirective,\n TuiInputExpireDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-thumbnail-card.mjs","sources":["../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.options.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.component.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.template.html","../../../projects/addon-commerce/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.ts"],"sourcesContent":["import {inject, InjectionToken} from '@angular/core';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {type TuiSizeL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiThumbnailCardOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n readonly icons: Record<TuiPaymentSystem, string>;\n}\n\nexport const TUI_THUMBNAIL_CARD_OPTIONS = new InjectionToken<TuiThumbnailCardOptions>(\n ngDevMode ? 'TUI_THUMBNAIL_CARD_OPTIONS' : '',\n {\n factory: () => ({\n icons: inject(TUI_PAYMENT_SYSTEM_ICONS),\n size: 'm',\n }),\n },\n);\n","import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {type TuiSizeL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nimport {TUI_THUMBNAIL_CARD_OPTIONS} from './thumbnail-card.options';\n\n@Component({\n selector: 'tui-thumbnail-card',\n imports: [TuiIcon],\n templateUrl: './thumbnail-card.template.html',\n styleUrl: './thumbnail-card.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiThumbnailCard {\n protected readonly options = inject(TUI_THUMBNAIL_CARD_OPTIONS);\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-thumbnail-card.mjs","sources":["../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.options.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.component.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.template.html","../../../projects/addon-commerce/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.ts"],"sourcesContent":["import {inject, InjectionToken} from '@angular/core';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {type TuiSizeL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiThumbnailCardOptions {\n readonly size: TuiSizeL | TuiSizeXS;\n readonly icons: Record<TuiPaymentSystem, string>;\n}\n\nexport const TUI_THUMBNAIL_CARD_OPTIONS = new InjectionToken<TuiThumbnailCardOptions>(\n ngDevMode ? 'TUI_THUMBNAIL_CARD_OPTIONS' : '',\n {\n factory: () => ({\n icons: inject(TUI_PAYMENT_SYSTEM_ICONS),\n size: 'm',\n }),\n },\n);\n","import {ChangeDetectionStrategy, Component, inject, input} from '@angular/core';\nimport {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {type TuiSizeL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nimport {TUI_THUMBNAIL_CARD_OPTIONS} from './thumbnail-card.options';\n\n@Component({\n selector: 'tui-thumbnail-card',\n imports: [TuiIcon],\n templateUrl: './thumbnail-card.template.html',\n styleUrl: './thumbnail-card.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiThumbnailCard {\n protected readonly options = inject(TUI_THUMBNAIL_CARD_OPTIONS);\n public readonly size = input<TuiSizeL | TuiSizeXS>(this.options.size);\n public readonly paymentSystem = input<TuiPaymentSystem | null>(null);\n public readonly iconStart = input('');\n public readonly iconEnd = input('');\n}\n","<div class=\"t-start t-icon\">\n <ng-content select=\"img\">\n @if (iconStart()) {\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart()\"\n />\n }\n </ng-content>\n</div>\n\n@if (iconEnd()) {\n <tui-icon\n class=\"t-end t-icon\"\n [icon]=\"iconEnd()\"\n />\n}\n\n<div class=\"t-content\">\n <ng-content />\n</div>\n\n@let system = paymentSystem();\n\n@if (system) {\n <tui-icon\n class=\"t-logo\"\n [icon]=\"options.icons[system]\"\n />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAUO,MAAM,0BAA0B,GAAG,IAAI,cAAc,CACxD,SAAS,GAAG,4BAA4B,GAAG,EAAE,EAC7C;AACI,IAAA,OAAO,EAAE,OAAO;AACZ,QAAA,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC;AACvC,QAAA,IAAI,EAAE,GAAG;KACZ,CAAC;AACL,CAAA;;MCFQ,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,0BAA0B,CAAC;QAC/C,IAAA,CAAA,IAAI,GAAG,KAAK,CAAuB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;AACrD,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAA0B,IAAI,CAAC;AACpD,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC;AACrB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;AACtC,IAAA;+GANY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf7B,+iBA8BA,EAAA,MAAA,EAAA,CAAA,42FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrBc,OAAO,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMR,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,OAAA,EACrB,CAAC,OAAO,CAAC,EAAA,eAAA,EAGD,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC,EAAC,kBAAkB,EAAE,QAAQ,EAAC,EAAA,QAAA,EAAA,+iBAAA,EAAA,MAAA,EAAA,CAAA,42FAAA,CAAA,EAAA;;;AEbxC;;AAEG;;;;"}
|
|
@@ -31,6 +31,7 @@ class TuiAmountPipe {
|
|
|
31
31
|
this.value = signal(Number.NaN);
|
|
32
32
|
this.currency = signal(this.options.currency);
|
|
33
33
|
this.currencyAlign = signal(this.options.currencyAlign);
|
|
34
|
+
this.sign = signal(this.options.sign);
|
|
34
35
|
this.formatted = computed(() => {
|
|
35
36
|
const format = this.format();
|
|
36
37
|
const currencySymbol = tuiFormatCurrency(this.currency());
|
|
@@ -40,7 +41,7 @@ class TuiAmountPipe {
|
|
|
40
41
|
? DEFAULT_PRECISION
|
|
41
42
|
: format.precision,
|
|
42
43
|
});
|
|
43
|
-
const sign = formatted === '0' ? '' : tuiFormatSignSymbol(this.value(), this.
|
|
44
|
+
const sign = formatted === '0' ? '' : tuiFormatSignSymbol(this.value(), this.sign());
|
|
44
45
|
const space = currencySymbol &&
|
|
45
46
|
(currencySymbol?.length > 1 || this.currencyAlign() === 'end')
|
|
46
47
|
? CHAR_NO_BREAK_SPACE
|
|
@@ -50,11 +51,12 @@ class TuiAmountPipe {
|
|
|
50
51
|
: `${sign}${currencySymbol}${space}${formatted}`;
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
|
-
transform(value, currency = this.options.currency, currencyAlign = this.options.currencyAlign) {
|
|
54
|
+
transform(value, currency = this.options.currency, currencyAlign = this.options.currencyAlign, sign = this.options.sign) {
|
|
54
55
|
untracked(() => {
|
|
55
56
|
this.value.set(value);
|
|
56
57
|
this.currency.set(currency);
|
|
57
58
|
this.currencyAlign.set(currencyAlign);
|
|
59
|
+
this.sign.set(sign);
|
|
58
60
|
});
|
|
59
61
|
return this.formatted();
|
|
60
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {type TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'start',\n sign: 'negative-only',\n};\n\nexport const [TUI_AMOUNT_OPTIONS, tuiAmountOptionsProvider] = tuiCreateOptions(\n TUI_AMOUNT_DEFAULT_OPTIONS,\n);\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport {type TuiAmountSign, type TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\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 {\n computed,\n inject,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\nimport {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({name: 'tuiAmount', pure: false})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n private readonly value = signal(Number.NaN);\n private readonly currency = signal(this.options.currency);\n private readonly currencyAlign = signal(this.options.currencyAlign);\n private readonly formatted = computed(() => {\n const format = this.format();\n const currencySymbol = tuiFormatCurrency(this.currency());\n const formatted = tuiFormatNumber(Math.abs(this.value()), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const sign =\n formatted === '0' ? '' : tuiFormatSignSymbol(this.value(), this.
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {type TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'start',\n sign: 'negative-only',\n};\n\nexport const [TUI_AMOUNT_OPTIONS, tuiAmountOptionsProvider] = tuiCreateOptions(\n TUI_AMOUNT_DEFAULT_OPTIONS,\n);\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport {type TuiAmountSign, type TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\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 {\n computed,\n inject,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\nimport {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {type TuiAmountSign} from './amount.types';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({name: 'tuiAmount', pure: false})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n private readonly value = signal(Number.NaN);\n private readonly currency = signal(this.options.currency);\n private readonly currencyAlign = signal(this.options.currencyAlign);\n private readonly sign = signal(this.options.sign);\n\n private readonly formatted = computed(() => {\n const format = this.format();\n const currencySymbol = tuiFormatCurrency(this.currency());\n const formatted = tuiFormatNumber(Math.abs(this.value()), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const sign =\n formatted === '0' ? '' : tuiFormatSignSymbol(this.value(), this.sign());\n const space =\n currencySymbol &&\n (currencySymbol?.length > 1 || this.currencyAlign() === 'end')\n ? CHAR_NO_BREAK_SPACE\n : '';\n\n return this.currencyAlign() === 'end'\n ? `${sign}${formatted}${space}${currencySymbol}`\n : `${sign}${currencySymbol}${space}${formatted}`;\n });\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = this.options.currency,\n currencyAlign: TuiHorizontalDirection = this.options.currencyAlign,\n sign: TuiAmountSign = this.options.sign,\n ): string {\n untracked(() => {\n this.value.set(value);\n this.currency.set(currency);\n this.currencyAlign.set(currencyAlign);\n this.sign.set(sign);\n });\n\n return this.formatted();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-pipes-decimal.mjs","sources":["../../../projects/addon-commerce/pipes/decimal/decimal.pipe.ts","../../../projects/addon-commerce/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.ts"],"sourcesContent":["import {\n computed,\n inject,\n INJECTOR,\n Injector,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\nimport {TuiAmountPipe} from '@taiga-ui/addon-commerce/pipes/amount';\nimport {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\n\n@Pipe({name: 'tuiDecimal', pure: false})\nexport class TuiDecimalPipe implements PipeTransform {\n private readonly format = inject(TUI_NUMBER_FORMAT);\n private readonly amountPipe = Injector.create({\n providers: [{provide: TuiAmountPipe}],\n parent: inject(INJECTOR),\n }).get(TuiAmountPipe);\n\n private readonly value = signal(Number.NaN);\n private readonly currency = signal<TuiCurrencyVariants>('');\n private readonly formatted = computed(() => {\n const format = this.format();\n const amount = this.amountPipe.transform(this.value(), this.currency());\n const [, decimal] = amount.split(format.decimalSeparator);\n\n return decimal ? `${format.decimalSeparator}${decimal}` : '';\n });\n\n public transform(value: number, currency: TuiCurrencyVariants = ''): string {\n untracked(() => {\n this.value.set(value);\n this.currency.set(currency);\n });\n\n return this.formatted();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAea,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-pipes-decimal.mjs","sources":["../../../projects/addon-commerce/pipes/decimal/decimal.pipe.ts","../../../projects/addon-commerce/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.ts"],"sourcesContent":["import {\n computed,\n inject,\n INJECTOR,\n Injector,\n Pipe,\n type PipeTransform,\n signal,\n untracked,\n} from '@angular/core';\nimport {TuiAmountPipe} from '@taiga-ui/addon-commerce/pipes/amount';\nimport {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\n\n@Pipe({name: 'tuiDecimal', pure: false})\nexport class TuiDecimalPipe implements PipeTransform {\n private readonly format = inject(TUI_NUMBER_FORMAT);\n\n private readonly amountPipe = Injector.create({\n providers: [{provide: TuiAmountPipe}],\n parent: inject(INJECTOR),\n }).get(TuiAmountPipe);\n\n private readonly value = signal(Number.NaN);\n private readonly currency = signal<TuiCurrencyVariants>('');\n\n private readonly formatted = computed(() => {\n const format = this.format();\n const amount = this.amountPipe.transform(this.value(), this.currency());\n const [, decimal] = amount.split(format.decimalSeparator);\n\n return decimal ? `${format.decimalSeparator}${decimal}` : '';\n });\n\n public transform(value: number, currency: TuiCurrencyVariants = ''): string {\n untracked(() => {\n this.value.set(value);\n this.currency.set(currency);\n });\n\n return this.formatted();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAea,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAElC,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC1C,YAAA,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;AACrC,YAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC3B,SAAA,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;AAEJ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAsB,EAAE,CAAC;AAE1C,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACvC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AACvE,YAAA,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAEzD,YAAA,OAAO,OAAO,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAA,EAAG,OAAO,CAAA,CAAE,GAAG,EAAE;AAChE,QAAA,CAAC,CAAC;AAUL,IAAA;AARU,IAAA,SAAS,CAAC,KAAa,EAAE,QAAA,GAAgC,EAAE,EAAA;QAC9D,SAAS,CAAC,MAAK;AACX,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC/B,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE;IAC3B;+GA1BS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAC;;;ACdvC;;AAEG;;;;"}
|
|
@@ -311,10 +311,7 @@ function tuiGetPaymentSystem(cardNumber, supported) {
|
|
|
311
311
|
return row?.[0] ?? null;
|
|
312
312
|
}
|
|
313
313
|
function tuiIsMaestro(three, two, one) {
|
|
314
|
-
if (one === 6) {
|
|
315
|
-
return true;
|
|
316
|
-
}
|
|
317
|
-
if (two === 50 || (two > 55 && two < 59)) {
|
|
314
|
+
if (one === 6 || two === 50 || (two > 55 && two < 59)) {
|
|
318
315
|
return true;
|
|
319
316
|
}
|
|
320
317
|
if (three < 500) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-utils.mjs","sources":["../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-code-by-currency.ts","../../../projects/addon-commerce/utils/get-currency-by-code.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {\n TuiCurrency,\n TuiCurrencyCode,\n type TuiCurrencyVariants,\n} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.AzerbaijaniManat:\n case TuiCurrencyCode.AzerbaijaniManat:\n return '₼';\n case TuiCurrency.BahrainiDinar:\n case TuiCurrencyCode.BahrainiDinar:\n return 'BD';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.BelarusianRuble:\n case TuiCurrencyCode.BelarusianRuble:\n return 'Br';\n case TuiCurrency.BrazilianReal:\n case TuiCurrencyCode.BrazilianReal:\n return 'R$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.CzechKoruna:\n case TuiCurrencyCode.CzechKoruna:\n return 'Kč';\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return 'Dh';\n case TuiCurrency.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.Dollar:\n case TuiCurrencyCode.MexicanPeso:\n return '$';\n case TuiCurrency.EastCaribbeanDollar:\n case TuiCurrencyCode.EastCaribbeanDollar:\n return 'EC$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Forint:\n case TuiCurrencyCode.Forint:\n return 'Ft';\n case TuiCurrency.GeorgianLari:\n case TuiCurrencyCode.GeorgianLari:\n return '₾';\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return 'HK$';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.IndonesianRupiah:\n case TuiCurrencyCode.IndonesianRupiah:\n return 'Rp';\n case TuiCurrency.IranianRial:\n case TuiCurrencyCode.IranianRial:\n return 'IR';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return 'c';\n case TuiCurrency.MalaysianRinggit:\n case TuiCurrencyCode.MalaysianRinggit:\n return 'RM';\n case TuiCurrency.MoldovanLeu:\n case TuiCurrencyCode.MoldovanLeu:\n return 'L';\n case TuiCurrency.MongolianTugrik:\n case TuiCurrencyCode.MongolianTugrik:\n return '₮';\n case TuiCurrency.NewTurkmenManat:\n case TuiCurrencyCode.NewTurkmenManat:\n return 'TMT';\n case TuiCurrency.PolandZloty:\n case TuiCurrencyCode.PolandZloty:\n return 'zł';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.SaudiRiyal:\n case TuiCurrencyCode.SaudiRiyal:\n return 'SR';\n case TuiCurrency.SerbianDinar:\n case TuiCurrencyCode.SerbianDinar:\n return 'DIN';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.SouthAfricanRand:\n case TuiCurrencyCode.SouthAfricanRand:\n return 'R';\n case TuiCurrency.SriLankanRupee:\n case TuiCurrencyCode.SriLankanRupee:\n return 'Rs.';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.TajikistaniSomoni:\n case TuiCurrencyCode.TajikistaniSomoni:\n return 'SM';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return \"So'm\";\n case TuiCurrency.VietnameseDong:\n case TuiCurrencyCode.VietnameseDong:\n return 'đ';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n default:\n return null;\n }\n}\n","import {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ''\n : String(currency).padStart(3, '0');\n}\n\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/types';\n\nexport const TUI_CODE_DICTIONARY: Record<TuiCurrency, TuiCurrencyCode> = {\n [TuiCurrency.Ruble]: TuiCurrencyCode.Ruble,\n [TuiCurrency.Dollar]: TuiCurrencyCode.Dollar,\n [TuiCurrency.MexicanPeso]: TuiCurrencyCode.MexicanPeso,\n [TuiCurrency.MoldovanLeu]: TuiCurrencyCode.MoldovanLeu,\n [TuiCurrency.PolandZloty]: TuiCurrencyCode.PolandZloty,\n [TuiCurrency.SingaporeDollar]: TuiCurrencyCode.SingaporeDollar,\n [TuiCurrency.AustralianDollar]: TuiCurrencyCode.AustralianDollar,\n [TuiCurrency.HongKongDollar]: TuiCurrencyCode.HongKongDollar,\n [TuiCurrency.CanadianDollar]: TuiCurrencyCode.CanadianDollar,\n [TuiCurrency.CzechKoruna]: TuiCurrencyCode.CzechKoruna,\n [TuiCurrency.EastCaribbeanDollar]: TuiCurrencyCode.EastCaribbeanDollar,\n [TuiCurrency.Euro]: TuiCurrencyCode.Euro,\n [TuiCurrency.Forint]: TuiCurrencyCode.Forint,\n [TuiCurrency.Pound]: TuiCurrencyCode.Pound,\n [TuiCurrency.Baht]: TuiCurrencyCode.Baht,\n [TuiCurrency.BahrainiDinar]: TuiCurrencyCode.BahrainiDinar,\n [TuiCurrency.TurkishLira]: TuiCurrencyCode.TurkishLira,\n [TuiCurrency.YuanRenminbi]: TuiCurrencyCode.YuanRenminbi,\n [TuiCurrency.Yen]: TuiCurrencyCode.Yen,\n [TuiCurrency.IsraeliShekel]: TuiCurrencyCode.IsraeliShekel,\n [TuiCurrency.IndianRupee]: TuiCurrencyCode.IndianRupee,\n [TuiCurrency.SwissFranc]: TuiCurrencyCode.SwissFranc,\n [TuiCurrency.ArmenianDram]: TuiCurrencyCode.ArmenianDram,\n [TuiCurrency.Won]: TuiCurrencyCode.Won,\n [TuiCurrency.Tenge]: TuiCurrencyCode.Tenge,\n [TuiCurrency.Hryvnia]: TuiCurrencyCode.Hryvnia,\n [TuiCurrency.UzbekSum]: TuiCurrencyCode.UzbekSum,\n [TuiCurrency.KyrgyzstanSom]: TuiCurrencyCode.KyrgyzstanSom,\n [TuiCurrency.Dirham]: TuiCurrencyCode.Dirham,\n [TuiCurrency.TajikistaniSomoni]: TuiCurrencyCode.TajikistaniSomoni,\n [TuiCurrency.MalaysianRinggit]: TuiCurrencyCode.MalaysianRinggit,\n [TuiCurrency.BelarusianRuble]: TuiCurrencyCode.BelarusianRuble,\n [TuiCurrency.GeorgianLari]: TuiCurrencyCode.GeorgianLari,\n [TuiCurrency.AzerbaijaniManat]: TuiCurrencyCode.AzerbaijaniManat,\n [TuiCurrency.SriLankanRupee]: TuiCurrencyCode.SriLankanRupee,\n [TuiCurrency.SerbianDinar]: TuiCurrencyCode.SerbianDinar,\n [TuiCurrency.SaudiRiyal]: TuiCurrencyCode.SaudiRiyal,\n [TuiCurrency.MongolianTugrik]: TuiCurrencyCode.MongolianTugrik,\n [TuiCurrency.SouthAfricanRand]: TuiCurrencyCode.SouthAfricanRand,\n [TuiCurrency.IranianRial]: TuiCurrencyCode.IranianRial,\n [TuiCurrency.IndonesianRupiah]: TuiCurrencyCode.IndonesianRupiah,\n [TuiCurrency.VietnameseDong]: TuiCurrencyCode.VietnameseDong,\n [TuiCurrency.NewTurkmenManat]: TuiCurrencyCode.NewTurkmenManat,\n [TuiCurrency.BrazilianReal]: TuiCurrencyCode.BrazilianReal,\n};\n\nexport function tuiGetCodeByCurrency(code: TuiCurrency): TuiCurrencyCode | null {\n return TUI_CODE_DICTIONARY[code] ?? null;\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/types';\n\nexport const TUI_CURRENCY_DICTIONARY: Record<TuiCurrencyCode, TuiCurrency> = {\n [TuiCurrencyCode.Ruble]: TuiCurrency.Ruble,\n [TuiCurrencyCode.Dollar]: TuiCurrency.Dollar,\n [TuiCurrencyCode.MexicanPeso]: TuiCurrency.MexicanPeso,\n [TuiCurrencyCode.MoldovanLeu]: TuiCurrency.MoldovanLeu,\n [TuiCurrencyCode.PolandZloty]: TuiCurrency.PolandZloty,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.AustralianDollar]: TuiCurrency.AustralianDollar,\n [TuiCurrencyCode.HongKongDollar]: TuiCurrency.HongKongDollar,\n [TuiCurrencyCode.CanadianDollar]: TuiCurrency.CanadianDollar,\n [TuiCurrencyCode.CzechKoruna]: TuiCurrency.CzechKoruna,\n [TuiCurrencyCode.EastCaribbeanDollar]: TuiCurrency.EastCaribbeanDollar,\n [TuiCurrencyCode.Euro]: TuiCurrency.Euro,\n [TuiCurrencyCode.Forint]: TuiCurrency.Forint,\n [TuiCurrencyCode.Pound]: TuiCurrency.Pound,\n [TuiCurrencyCode.Baht]: TuiCurrency.Baht,\n [TuiCurrencyCode.BahrainiDinar]: TuiCurrency.BahrainiDinar,\n [TuiCurrencyCode.TurkishLira]: TuiCurrency.TurkishLira,\n [TuiCurrencyCode.YuanRenminbi]: TuiCurrency.YuanRenminbi,\n [TuiCurrencyCode.Yen]: TuiCurrency.Yen,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IndianRupee]: TuiCurrency.IndianRupee,\n [TuiCurrencyCode.SwissFranc]: TuiCurrency.SwissFranc,\n [TuiCurrencyCode.ArmenianDram]: TuiCurrency.ArmenianDram,\n [TuiCurrencyCode.Won]: TuiCurrency.Won,\n [TuiCurrencyCode.Tenge]: TuiCurrency.Tenge,\n [TuiCurrencyCode.Hryvnia]: TuiCurrency.Hryvnia,\n [TuiCurrencyCode.UzbekSum]: TuiCurrency.UzbekSum,\n [TuiCurrencyCode.KyrgyzstanSom]: TuiCurrency.KyrgyzstanSom,\n [TuiCurrencyCode.Dirham]: TuiCurrency.Dirham,\n [TuiCurrencyCode.TajikistaniSomoni]: TuiCurrency.TajikistaniSomoni,\n [TuiCurrencyCode.MalaysianRinggit]: TuiCurrency.MalaysianRinggit,\n [TuiCurrencyCode.BelarusianRuble]: TuiCurrency.BelarusianRuble,\n [TuiCurrencyCode.GeorgianLari]: TuiCurrency.GeorgianLari,\n [TuiCurrencyCode.AzerbaijaniManat]: TuiCurrency.AzerbaijaniManat,\n [TuiCurrencyCode.SriLankanRupee]: TuiCurrency.SriLankanRupee,\n [TuiCurrencyCode.SerbianDinar]: TuiCurrency.SerbianDinar,\n [TuiCurrencyCode.SaudiRiyal]: TuiCurrency.SaudiRiyal,\n [TuiCurrencyCode.MongolianTugrik]: TuiCurrency.MongolianTugrik,\n [TuiCurrencyCode.SouthAfricanRand]: TuiCurrency.SouthAfricanRand,\n [TuiCurrencyCode.IranianRial]: TuiCurrency.IranianRial,\n [TuiCurrencyCode.IndonesianRupiah]: TuiCurrency.IndonesianRupiah,\n [TuiCurrencyCode.VietnameseDong]: TuiCurrency.VietnameseDong,\n [TuiCurrencyCode.NewTurkmenManat]: TuiCurrency.NewTurkmenManat,\n [TuiCurrencyCode.BrazilianReal]: TuiCurrency.BrazilianReal,\n};\n\nexport function tuiGetCurrencyByCode(currency: TuiCurrencyCode): TuiCurrency | null {\n return TUI_CURRENCY_DICTIONARY[currency] ?? null;\n}\n","import {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\n// https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN)\nexport const TUI_BIN_TABLE: ReadonlyArray<\n [paymentSystem: TuiPaymentSystem, start: number, end?: number]\n> = [\n ['mir', 2200, 2204],\n ['mastercard', 2221, 2720],\n ['jcb', 3528, 3589],\n ['amex', 34],\n ['amex', 37],\n ['dinersclub', 36],\n ['electron', 4026],\n ['electron', 4175],\n ['electron', 4405],\n ['electron', 4508],\n ['electron', 4844],\n ['electron', 4913],\n ['electron', 4917],\n ['visa', 4],\n ['verve', 506099, 506198],\n ['verve', 507865, 507964],\n ['maestro', 5018],\n ['maestro', 5020],\n ['maestro', 5038],\n ['maestro', 5090],\n ['maestro', 5890],\n ['maestro', 5893],\n ['rupay', 508],\n ['maestro', 50],\n ['mastercard', 51, 55],\n ['maestro', 56],\n ['maestro', 58],\n ['mastercard', 5],\n ['maestro', 6000],\n ['maestro', 6304],\n ['maestro', 6759, 6763],\n ['verve', 650002, 650027],\n ['maestro', 676770],\n ['maestro', 676774],\n ['discover', 644, 649],\n ['discover', 6011],\n ['rupay', 60],\n ['unionpay', 62],\n ['discover', 65],\n ['maestro', 6],\n ['rupay', 81, 82],\n ['uzcard', 8600],\n ['humo', 9860],\n];\n\nexport function tuiGetPaymentSystem(\n cardNumber?: string | null,\n supported?: TuiPaymentSystem[],\n): TuiPaymentSystem | null {\n if (!cardNumber) {\n return null;\n }\n\n const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {\n const cardNumberNumeric = Number.parseInt(\n cardNumber.slice(0, String(start).length),\n 10,\n );\n\n const match = cardNumberNumeric >= start && cardNumberNumeric <= end;\n\n return match && (!supported?.length || supported.includes(paymentSystem));\n });\n\n return row?.[0] ?? null;\n}\n\nexport function tuiIsMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function tuiIsMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case 'electron':\n return length === 16;\n case 'maestro':\n return length > 11 && length < 20;\n case 'mastercard':\n case 'mir':\n return length > 15 && length < 20;\n case 'visa':\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/cdk/constants';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function tuiIsCardNumberValid(value: number | string): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = Number.parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\n\nexport function tuiIsExpireValid(expire: string, today = new Date()): boolean {\n const currentMonth = today.getMonth() + 1;\n const currentYear = today.getFullYear() - 2000;\n const expireMonth = tuiClamp(Number.parseInt(expire.slice(0, 2), 10), 1, 12);\n const expireYear = tuiClamp(Number.parseInt(expire.slice(-2), 10), 0, 99);\n\n return (\n expireYear > currentYear ||\n (currentYear === expireYear && expireMonth >= currentMonth)\n );\n}\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-utils.mjs","sources":["../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-code-by-currency.ts","../../../projects/addon-commerce/utils/get-currency-by-code.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {\n TuiCurrency,\n TuiCurrencyCode,\n type TuiCurrencyVariants,\n} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.AzerbaijaniManat:\n case TuiCurrencyCode.AzerbaijaniManat:\n return '₼';\n case TuiCurrency.BahrainiDinar:\n case TuiCurrencyCode.BahrainiDinar:\n return 'BD';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.BelarusianRuble:\n case TuiCurrencyCode.BelarusianRuble:\n return 'Br';\n case TuiCurrency.BrazilianReal:\n case TuiCurrencyCode.BrazilianReal:\n return 'R$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.CzechKoruna:\n case TuiCurrencyCode.CzechKoruna:\n return 'Kč';\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return 'Dh';\n case TuiCurrency.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.Dollar:\n case TuiCurrencyCode.MexicanPeso:\n return '$';\n case TuiCurrency.EastCaribbeanDollar:\n case TuiCurrencyCode.EastCaribbeanDollar:\n return 'EC$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Forint:\n case TuiCurrencyCode.Forint:\n return 'Ft';\n case TuiCurrency.GeorgianLari:\n case TuiCurrencyCode.GeorgianLari:\n return '₾';\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return 'HK$';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.IndonesianRupiah:\n case TuiCurrencyCode.IndonesianRupiah:\n return 'Rp';\n case TuiCurrency.IranianRial:\n case TuiCurrencyCode.IranianRial:\n return 'IR';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return 'c';\n case TuiCurrency.MalaysianRinggit:\n case TuiCurrencyCode.MalaysianRinggit:\n return 'RM';\n case TuiCurrency.MoldovanLeu:\n case TuiCurrencyCode.MoldovanLeu:\n return 'L';\n case TuiCurrency.MongolianTugrik:\n case TuiCurrencyCode.MongolianTugrik:\n return '₮';\n case TuiCurrency.NewTurkmenManat:\n case TuiCurrencyCode.NewTurkmenManat:\n return 'TMT';\n case TuiCurrency.PolandZloty:\n case TuiCurrencyCode.PolandZloty:\n return 'zł';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.SaudiRiyal:\n case TuiCurrencyCode.SaudiRiyal:\n return 'SR';\n case TuiCurrency.SerbianDinar:\n case TuiCurrencyCode.SerbianDinar:\n return 'DIN';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.SouthAfricanRand:\n case TuiCurrencyCode.SouthAfricanRand:\n return 'R';\n case TuiCurrency.SriLankanRupee:\n case TuiCurrencyCode.SriLankanRupee:\n return 'Rs.';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.TajikistaniSomoni:\n case TuiCurrencyCode.TajikistaniSomoni:\n return 'SM';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return \"So'm\";\n case TuiCurrency.VietnameseDong:\n case TuiCurrencyCode.VietnameseDong:\n return 'đ';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n default:\n return null;\n }\n}\n","import {type TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ''\n : String(currency).padStart(3, '0');\n}\n\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/types';\n\nexport const TUI_CODE_DICTIONARY: Record<TuiCurrency, TuiCurrencyCode> = {\n [TuiCurrency.Ruble]: TuiCurrencyCode.Ruble,\n [TuiCurrency.Dollar]: TuiCurrencyCode.Dollar,\n [TuiCurrency.MexicanPeso]: TuiCurrencyCode.MexicanPeso,\n [TuiCurrency.MoldovanLeu]: TuiCurrencyCode.MoldovanLeu,\n [TuiCurrency.PolandZloty]: TuiCurrencyCode.PolandZloty,\n [TuiCurrency.SingaporeDollar]: TuiCurrencyCode.SingaporeDollar,\n [TuiCurrency.AustralianDollar]: TuiCurrencyCode.AustralianDollar,\n [TuiCurrency.HongKongDollar]: TuiCurrencyCode.HongKongDollar,\n [TuiCurrency.CanadianDollar]: TuiCurrencyCode.CanadianDollar,\n [TuiCurrency.CzechKoruna]: TuiCurrencyCode.CzechKoruna,\n [TuiCurrency.EastCaribbeanDollar]: TuiCurrencyCode.EastCaribbeanDollar,\n [TuiCurrency.Euro]: TuiCurrencyCode.Euro,\n [TuiCurrency.Forint]: TuiCurrencyCode.Forint,\n [TuiCurrency.Pound]: TuiCurrencyCode.Pound,\n [TuiCurrency.Baht]: TuiCurrencyCode.Baht,\n [TuiCurrency.BahrainiDinar]: TuiCurrencyCode.BahrainiDinar,\n [TuiCurrency.TurkishLira]: TuiCurrencyCode.TurkishLira,\n [TuiCurrency.YuanRenminbi]: TuiCurrencyCode.YuanRenminbi,\n [TuiCurrency.Yen]: TuiCurrencyCode.Yen,\n [TuiCurrency.IsraeliShekel]: TuiCurrencyCode.IsraeliShekel,\n [TuiCurrency.IndianRupee]: TuiCurrencyCode.IndianRupee,\n [TuiCurrency.SwissFranc]: TuiCurrencyCode.SwissFranc,\n [TuiCurrency.ArmenianDram]: TuiCurrencyCode.ArmenianDram,\n [TuiCurrency.Won]: TuiCurrencyCode.Won,\n [TuiCurrency.Tenge]: TuiCurrencyCode.Tenge,\n [TuiCurrency.Hryvnia]: TuiCurrencyCode.Hryvnia,\n [TuiCurrency.UzbekSum]: TuiCurrencyCode.UzbekSum,\n [TuiCurrency.KyrgyzstanSom]: TuiCurrencyCode.KyrgyzstanSom,\n [TuiCurrency.Dirham]: TuiCurrencyCode.Dirham,\n [TuiCurrency.TajikistaniSomoni]: TuiCurrencyCode.TajikistaniSomoni,\n [TuiCurrency.MalaysianRinggit]: TuiCurrencyCode.MalaysianRinggit,\n [TuiCurrency.BelarusianRuble]: TuiCurrencyCode.BelarusianRuble,\n [TuiCurrency.GeorgianLari]: TuiCurrencyCode.GeorgianLari,\n [TuiCurrency.AzerbaijaniManat]: TuiCurrencyCode.AzerbaijaniManat,\n [TuiCurrency.SriLankanRupee]: TuiCurrencyCode.SriLankanRupee,\n [TuiCurrency.SerbianDinar]: TuiCurrencyCode.SerbianDinar,\n [TuiCurrency.SaudiRiyal]: TuiCurrencyCode.SaudiRiyal,\n [TuiCurrency.MongolianTugrik]: TuiCurrencyCode.MongolianTugrik,\n [TuiCurrency.SouthAfricanRand]: TuiCurrencyCode.SouthAfricanRand,\n [TuiCurrency.IranianRial]: TuiCurrencyCode.IranianRial,\n [TuiCurrency.IndonesianRupiah]: TuiCurrencyCode.IndonesianRupiah,\n [TuiCurrency.VietnameseDong]: TuiCurrencyCode.VietnameseDong,\n [TuiCurrency.NewTurkmenManat]: TuiCurrencyCode.NewTurkmenManat,\n [TuiCurrency.BrazilianReal]: TuiCurrencyCode.BrazilianReal,\n};\n\nexport function tuiGetCodeByCurrency(code: TuiCurrency): TuiCurrencyCode | null {\n return TUI_CODE_DICTIONARY[code] ?? null;\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/types';\n\nexport const TUI_CURRENCY_DICTIONARY: Record<TuiCurrencyCode, TuiCurrency> = {\n [TuiCurrencyCode.Ruble]: TuiCurrency.Ruble,\n [TuiCurrencyCode.Dollar]: TuiCurrency.Dollar,\n [TuiCurrencyCode.MexicanPeso]: TuiCurrency.MexicanPeso,\n [TuiCurrencyCode.MoldovanLeu]: TuiCurrency.MoldovanLeu,\n [TuiCurrencyCode.PolandZloty]: TuiCurrency.PolandZloty,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.AustralianDollar]: TuiCurrency.AustralianDollar,\n [TuiCurrencyCode.HongKongDollar]: TuiCurrency.HongKongDollar,\n [TuiCurrencyCode.CanadianDollar]: TuiCurrency.CanadianDollar,\n [TuiCurrencyCode.CzechKoruna]: TuiCurrency.CzechKoruna,\n [TuiCurrencyCode.EastCaribbeanDollar]: TuiCurrency.EastCaribbeanDollar,\n [TuiCurrencyCode.Euro]: TuiCurrency.Euro,\n [TuiCurrencyCode.Forint]: TuiCurrency.Forint,\n [TuiCurrencyCode.Pound]: TuiCurrency.Pound,\n [TuiCurrencyCode.Baht]: TuiCurrency.Baht,\n [TuiCurrencyCode.BahrainiDinar]: TuiCurrency.BahrainiDinar,\n [TuiCurrencyCode.TurkishLira]: TuiCurrency.TurkishLira,\n [TuiCurrencyCode.YuanRenminbi]: TuiCurrency.YuanRenminbi,\n [TuiCurrencyCode.Yen]: TuiCurrency.Yen,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IndianRupee]: TuiCurrency.IndianRupee,\n [TuiCurrencyCode.SwissFranc]: TuiCurrency.SwissFranc,\n [TuiCurrencyCode.ArmenianDram]: TuiCurrency.ArmenianDram,\n [TuiCurrencyCode.Won]: TuiCurrency.Won,\n [TuiCurrencyCode.Tenge]: TuiCurrency.Tenge,\n [TuiCurrencyCode.Hryvnia]: TuiCurrency.Hryvnia,\n [TuiCurrencyCode.UzbekSum]: TuiCurrency.UzbekSum,\n [TuiCurrencyCode.KyrgyzstanSom]: TuiCurrency.KyrgyzstanSom,\n [TuiCurrencyCode.Dirham]: TuiCurrency.Dirham,\n [TuiCurrencyCode.TajikistaniSomoni]: TuiCurrency.TajikistaniSomoni,\n [TuiCurrencyCode.MalaysianRinggit]: TuiCurrency.MalaysianRinggit,\n [TuiCurrencyCode.BelarusianRuble]: TuiCurrency.BelarusianRuble,\n [TuiCurrencyCode.GeorgianLari]: TuiCurrency.GeorgianLari,\n [TuiCurrencyCode.AzerbaijaniManat]: TuiCurrency.AzerbaijaniManat,\n [TuiCurrencyCode.SriLankanRupee]: TuiCurrency.SriLankanRupee,\n [TuiCurrencyCode.SerbianDinar]: TuiCurrency.SerbianDinar,\n [TuiCurrencyCode.SaudiRiyal]: TuiCurrency.SaudiRiyal,\n [TuiCurrencyCode.MongolianTugrik]: TuiCurrency.MongolianTugrik,\n [TuiCurrencyCode.SouthAfricanRand]: TuiCurrency.SouthAfricanRand,\n [TuiCurrencyCode.IranianRial]: TuiCurrency.IranianRial,\n [TuiCurrencyCode.IndonesianRupiah]: TuiCurrency.IndonesianRupiah,\n [TuiCurrencyCode.VietnameseDong]: TuiCurrency.VietnameseDong,\n [TuiCurrencyCode.NewTurkmenManat]: TuiCurrency.NewTurkmenManat,\n [TuiCurrencyCode.BrazilianReal]: TuiCurrency.BrazilianReal,\n};\n\nexport function tuiGetCurrencyByCode(currency: TuiCurrencyCode): TuiCurrency | null {\n return TUI_CURRENCY_DICTIONARY[currency] ?? null;\n}\n","import {type TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\n// https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN)\nexport const TUI_BIN_TABLE: ReadonlyArray<\n [paymentSystem: TuiPaymentSystem, start: number, end?: number]\n> = [\n ['mir', 2200, 2204],\n ['mastercard', 2221, 2720],\n ['jcb', 3528, 3589],\n ['amex', 34],\n ['amex', 37],\n ['dinersclub', 36],\n ['electron', 4026],\n ['electron', 4175],\n ['electron', 4405],\n ['electron', 4508],\n ['electron', 4844],\n ['electron', 4913],\n ['electron', 4917],\n ['visa', 4],\n ['verve', 506099, 506198],\n ['verve', 507865, 507964],\n ['maestro', 5018],\n ['maestro', 5020],\n ['maestro', 5038],\n ['maestro', 5090],\n ['maestro', 5890],\n ['maestro', 5893],\n ['rupay', 508],\n ['maestro', 50],\n ['mastercard', 51, 55],\n ['maestro', 56],\n ['maestro', 58],\n ['mastercard', 5],\n ['maestro', 6000],\n ['maestro', 6304],\n ['maestro', 6759, 6763],\n ['verve', 650002, 650027],\n ['maestro', 676770],\n ['maestro', 676774],\n ['discover', 644, 649],\n ['discover', 6011],\n ['rupay', 60],\n ['unionpay', 62],\n ['discover', 65],\n ['maestro', 6],\n ['rupay', 81, 82],\n ['uzcard', 8600],\n ['humo', 9860],\n];\n\nexport function tuiGetPaymentSystem(\n cardNumber?: string | null,\n supported?: TuiPaymentSystem[],\n): TuiPaymentSystem | null {\n if (!cardNumber) {\n return null;\n }\n\n const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {\n const cardNumberNumeric = Number.parseInt(\n cardNumber.slice(0, String(start).length),\n 10,\n );\n\n const match = cardNumberNumeric >= start && cardNumberNumeric <= end;\n\n return match && (!supported?.length || supported.includes(paymentSystem));\n });\n\n return row?.[0] ?? null;\n}\n\nexport function tuiIsMaestro(three: number, two: number, one: number): boolean {\n if (one === 6 || two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function tuiIsMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case 'electron':\n return length === 16;\n case 'maestro':\n return length > 11 && length < 20;\n case 'mastercard':\n case 'mir':\n return length > 15 && length < 20;\n case 'visa':\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/cdk/constants';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function tuiIsCardNumberValid(value: number | string): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = Number.parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","import {tuiClamp} from '@taiga-ui/cdk/utils/math';\n\nexport function tuiIsExpireValid(expire: string, today = new Date()): boolean {\n const currentMonth = today.getMonth() + 1;\n const currentYear = today.getFullYear() - 2000;\n const expireMonth = tuiClamp(Number.parseInt(expire.slice(0, 2), 10), 1, 12);\n const expireYear = tuiClamp(Number.parseInt(expire.slice(-2), 10), 0, 99);\n\n return (\n expireYear > currentYear ||\n (currentYear === expireYear && expireMonth >= currentMonth)\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-commerce",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0-canary.d26a6e2",
|
|
4
4
|
"description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -38,10 +38,10 @@
|
|
|
38
38
|
"@maskito/core": "^5.2.2",
|
|
39
39
|
"@maskito/kit": "^5.2.2",
|
|
40
40
|
"@ng-web-apis/common": "^5.2.0",
|
|
41
|
-
"@taiga-ui/cdk": "5.
|
|
42
|
-
"@taiga-ui/core": "5.
|
|
43
|
-
"@taiga-ui/i18n": "5.
|
|
44
|
-
"@taiga-ui/kit": "5.
|
|
41
|
+
"@taiga-ui/cdk": "5.4.0",
|
|
42
|
+
"@taiga-ui/core": "5.4.0",
|
|
43
|
+
"@taiga-ui/i18n": "5.4.0",
|
|
44
|
+
"@taiga-ui/kit": "5.4.0",
|
|
45
45
|
"@taiga-ui/polymorpheus": "^5.0.0",
|
|
46
46
|
"rxjs": ">=7.0.0"
|
|
47
47
|
},
|
|
@@ -55,14 +55,14 @@
|
|
|
55
55
|
"types": "./index.d.ts",
|
|
56
56
|
"default": "./fesm2022/taiga-ui-addon-commerce.mjs"
|
|
57
57
|
},
|
|
58
|
-
"./components": {
|
|
59
|
-
"types": "./components/index.d.ts",
|
|
60
|
-
"default": "./fesm2022/taiga-ui-addon-commerce-components.mjs"
|
|
61
|
-
},
|
|
62
58
|
"./constants": {
|
|
63
59
|
"types": "./constants/index.d.ts",
|
|
64
60
|
"default": "./fesm2022/taiga-ui-addon-commerce-constants.mjs"
|
|
65
61
|
},
|
|
62
|
+
"./components": {
|
|
63
|
+
"types": "./components/index.d.ts",
|
|
64
|
+
"default": "./fesm2022/taiga-ui-addon-commerce-components.mjs"
|
|
65
|
+
},
|
|
66
66
|
"./pipes": {
|
|
67
67
|
"types": "./pipes/index.d.ts",
|
|
68
68
|
"default": "./fesm2022/taiga-ui-addon-commerce-pipes.mjs"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type PipeTransform } from '@angular/core';
|
|
2
2
|
import { type TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
|
|
3
3
|
import { type TuiHorizontalDirection } from '@taiga-ui/core/types';
|
|
4
|
+
import { type TuiAmountSign } from './amount.types';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
5
6
|
export declare class TuiAmountPipe implements PipeTransform {
|
|
6
7
|
private readonly options;
|
|
@@ -8,8 +9,9 @@ export declare class TuiAmountPipe implements PipeTransform {
|
|
|
8
9
|
private readonly value;
|
|
9
10
|
private readonly currency;
|
|
10
11
|
private readonly currencyAlign;
|
|
12
|
+
private readonly sign;
|
|
11
13
|
private readonly formatted;
|
|
12
|
-
transform(value: number, currency?: TuiCurrencyVariants, currencyAlign?: TuiHorizontalDirection): string;
|
|
14
|
+
transform(value: number, currency?: TuiCurrencyVariants, currencyAlign?: TuiHorizontalDirection, sign?: TuiAmountSign): string;
|
|
13
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiAmountPipe, never>;
|
|
14
16
|
static ɵpipe: i0.ɵɵPipeDeclaration<TuiAmountPipe, "tuiAmount", true>;
|
|
15
17
|
}
|