UNPKG

@taiga-ui/addon-commerce

Version:

Extension package for Taiga UI related to commerce, payment systems, currencies etc.

30 lines 5.85 kB
import { inject, InjectionToken } from '@angular/core'; import { WA_WINDOW } from '@ng-web-apis/common'; import { TUI_CARD_CVC_TEXTS, TUI_CARD_EXPIRY_TEXTS, TUI_CARD_NUMBER_TEXTS, } from '@taiga-ui/addon-commerce/tokens'; import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables'; import { TUI_MEDIA } from '@taiga-ui/core/tokens'; import { combineLatest, map, of, startWith, switchMap } from 'rxjs'; /** * InputCardGroup texts */ export const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken(ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '', { factory: () => { const win = inject(WA_WINDOW); const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS); const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS); const cvcTexts = inject(TUI_CARD_CVC_TEXTS); const { desktopSmall } = inject(TUI_MEDIA); const media = win.matchMedia(`screen and (min-width: ${(desktopSmall - 1) / 16}em)`); return tuiTypedFromEvent(media, 'change').pipe(startWith(null), switchMap(() => combineLatest([ of(Number(media.matches)), cardNumberTexts, expiryTexts, cvcTexts, ])), map(([index, cardNumber, expiry, cvcTexts]) => ({ cardNumberText: cardNumber[index] ?? '', expiryText: expiry[index] ?? '', cvcText: cvcTexts[index] ?? '', }))); }, }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXAvaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBbUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFRbkY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FFMUQsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDVixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDdEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbEQsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV6QyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUN4QiwwQkFBMEIsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQ3pELENBQUM7UUFFRixPQUFPLGlCQUFpQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFDZixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsYUFBYSxDQUFDO1lBQ1YsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsZUFBZTtZQUNmLFdBQVc7WUFDWCxRQUFRO1NBQ1gsQ0FBQyxDQUNMLEVBQ0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1QyxjQUFjLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDdkMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtTQUNqQyxDQUFDLENBQUMsQ0FDTixDQUFDO0lBQ04sQ0FBQztDQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX1dJTkRPV30gZnJvbSAnQG5nLXdlYi1hcGlzL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIFRVSV9DQVJEX0NWQ19URVhUUyxcbiAgICBUVUlfQ0FSRF9FWFBJUllfVEVYVFMsXG4gICAgVFVJX0NBUkRfTlVNQkVSX1RFWFRTLFxufSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdG9rZW5zJztcbmltcG9ydCB7dHVpVHlwZWRGcm9tRXZlbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHtUVUlfTUVESUF9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIG1hcCwgdHlwZSBPYnNlcnZhYmxlLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUNhcmRHcm91cGVkVGV4dHMge1xuICAgIHJlYWRvbmx5IGNhcmROdW1iZXJUZXh0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY3ZjVGV4dDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV4cGlyeVRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnB1dENhcmRHcm91cCB0ZXh0c1xuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX0NBUkRfR1JPVVBfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPlxuPihuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX0NBUkRfR1JPVVBfVEVYVFMnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdpbiA9IGluamVjdChXQV9XSU5ET1cpO1xuICAgICAgICBjb25zdCBjYXJkTnVtYmVyVGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfTlVNQkVSX1RFWFRTKTtcbiAgICAgICAgY29uc3QgZXhwaXJ5VGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfRVhQSVJZX1RFWFRTKTtcbiAgICAgICAgY29uc3QgY3ZjVGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfQ1ZDX1RFWFRTKTtcbiAgICAgICAgY29uc3Qge2Rlc2t0b3BTbWFsbH0gPSBpbmplY3QoVFVJX01FRElBKTtcblxuICAgICAgICBjb25zdCBtZWRpYSA9IHdpbi5tYXRjaE1lZGlhKFxuICAgICAgICAgICAgYHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHsoZGVza3RvcFNtYWxsIC0gMSkgLyAxNn1lbSlgLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0dWlUeXBlZEZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgb2YoTnVtYmVyKG1lZGlhLm1hdGNoZXMpKSxcbiAgICAgICAgICAgICAgICAgICAgY2FyZE51bWJlclRleHRzLFxuICAgICAgICAgICAgICAgICAgICBleHBpcnlUZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgY3ZjVGV4dHMsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKChbaW5kZXgsIGNhcmROdW1iZXIsIGV4cGlyeSwgY3ZjVGV4dHNdKSA9PiAoe1xuICAgICAgICAgICAgICAgIGNhcmROdW1iZXJUZXh0OiBjYXJkTnVtYmVyW2luZGV4XSA/PyAnJyxcbiAgICAgICAgICAgICAgICBleHBpcnlUZXh0OiBleHBpcnlbaW5kZXhdID8/ICcnLFxuICAgICAgICAgICAgICAgIGN2Y1RleHQ6IGN2Y1RleHRzW2luZGV4XSA/PyAnJyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgKTtcbiAgICB9LFxufSk7XG4iXX0=