@taiga-ui/addon-commerce
Version:
Extension package for Taiga UI related to commerce, payment systems, currencies etc.
30 lines • 5.85 kB
JavaScript
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=