@taiga-ui/addon-commerce 4.43.0 → 4.44.0-canary.0bcf1bf

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/components/input-card/input-card.options.d.ts +2 -1
  2. package/components/input-card-group/input-card-group.component.d.ts +3 -3
  3. package/components/input-card-group/input-card-group.options.d.ts +2 -1
  4. package/components/input-card-group/input-card-group.providers.d.ts +2 -1
  5. package/components/thumbnail-card/thumbnail-card.options.d.ts +2 -1
  6. package/esm2022/components/input-card/input-card.component.mjs +3 -2
  7. package/esm2022/components/input-card/input-card.options.mjs +6 -3
  8. package/esm2022/components/input-card-group/input-card-group.component.mjs +14 -12
  9. package/esm2022/components/input-card-group/input-card-group.options.mjs +6 -3
  10. package/esm2022/components/input-card-group/input-card-group.providers.mjs +21 -20
  11. package/esm2022/components/thumbnail-card/thumbnail-card.options.mjs +9 -8
  12. package/esm2022/constants/mask-card.mjs +6 -6
  13. package/esm2022/pipes/amount/amount.options.mjs +6 -3
  14. package/esm2022/pipes/format-card/format-card.pipe.mjs +3 -2
  15. package/esm2022/tokens/i18n.mjs +11 -5
  16. package/esm2022/tokens/payment-system-icons.mjs +19 -17
  17. package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs +37 -31
  18. package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs +7 -4
  20. package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs +8 -7
  22. package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-addon-commerce-constants.mjs +5 -5
  24. package/fesm2022/taiga-ui-addon-commerce-constants.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs +5 -3
  26. package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-addon-commerce-pipes-format-card.mjs +2 -1
  28. package/fesm2022/taiga-ui-addon-commerce-pipes-format-card.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-addon-commerce-tokens.mjs +27 -19
  30. package/fesm2022/taiga-ui-addon-commerce-tokens.mjs.map +1 -1
  31. package/package.json +18 -18
  32. package/pipes/amount/amount.options.d.ts +2 -1
  33. package/tokens/i18n.d.ts +4 -3
  34. package/tokens/payment-system-icons.d.ts +1 -1
@@ -1,29 +1,30 @@
1
- import { inject } from '@angular/core';
1
+ import { inject, InjectionToken } from '@angular/core';
2
2
  import { WA_WINDOW } from '@ng-web-apis/common';
3
3
  import { TUI_CARD_CVC_TEXTS, TUI_CARD_EXPIRY_TEXTS, TUI_CARD_NUMBER_TEXTS, } from '@taiga-ui/addon-commerce/tokens';
4
4
  import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
5
- import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils/miscellaneous';
6
5
  import { TUI_MEDIA } from '@taiga-ui/core/tokens';
7
6
  import { combineLatest, map, of, startWith, switchMap } from 'rxjs';
8
7
  /**
9
8
  * InputCardGroup texts
10
9
  */
11
- export const TUI_INPUT_CARD_GROUP_TEXTS = tuiCreateTokenFromFactory(() => {
12
- const win = inject(WA_WINDOW);
13
- const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);
14
- const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);
15
- const cvcTexts = inject(TUI_CARD_CVC_TEXTS);
16
- const { desktopSmall } = inject(TUI_MEDIA);
17
- const media = win.matchMedia(`screen and (min-width: ${(desktopSmall - 1) / 16}em)`);
18
- return tuiTypedFromEvent(media, 'change').pipe(startWith(null), switchMap(() => combineLatest([
19
- of(Number(media.matches)),
20
- cardNumberTexts,
21
- expiryTexts,
22
- cvcTexts,
23
- ])), map(([index, cardNumber, expiry, cvcTexts]) => ({
24
- cardNumberText: cardNumber[index] ?? '',
25
- expiryText: expiry[index] ?? '',
26
- cvcText: cvcTexts[index] ?? '',
27
- })));
10
+ export const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken(ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '', {
11
+ factory: () => {
12
+ const win = inject(WA_WINDOW);
13
+ const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);
14
+ const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);
15
+ const cvcTexts = inject(TUI_CARD_CVC_TEXTS);
16
+ const { desktopSmall } = inject(TUI_MEDIA);
17
+ const media = win.matchMedia(`screen and (min-width: ${(desktopSmall - 1) / 16}em)`);
18
+ return tuiTypedFromEvent(media, 'change').pipe(startWith(null), switchMap(() => combineLatest([
19
+ of(Number(media.matches)),
20
+ cardNumberTexts,
21
+ expiryTexts,
22
+ cvcTexts,
23
+ ])), map(([index, cardNumber, expiry, cvcTexts]) => ({
24
+ cardNumberText: cardNumber[index] ?? '',
25
+ expiryText: expiry[index] ?? '',
26
+ cvcText: cvcTexts[index] ?? '',
27
+ })));
28
+ },
28
29
  });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXAvaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUNILGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIscUJBQXFCLEdBQ3hCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWhELE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBUWxFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcseUJBQXlCLENBRWpFLEdBQUcsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN0RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxNQUFNLEVBQUMsWUFBWSxFQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsMEJBQTBCLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFckYsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMxQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQ2YsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNYLGFBQWEsQ0FBQztRQUNWLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pCLGVBQWU7UUFDZixXQUFXO1FBQ1gsUUFBUTtLQUNYLENBQUMsQ0FDTCxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ3ZDLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtRQUMvQixPQUFPLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7S0FDakMsQ0FBQyxDQUFDLENBQ04sQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfQ0FSRF9DVkNfVEVYVFMsXG4gICAgVFVJX0NBUkRfRVhQSVJZX1RFWFRTLFxuICAgIFRVSV9DQVJEX05VTUJFUl9URVhUUyxcbn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3Rva2Vucyc7XG5pbXBvcnQge3R1aVR5cGVkRnJvbUV2ZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX01FRElBfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjb21iaW5lTGF0ZXN0LCBtYXAsIG9mLCBzdGFydFdpdGgsIHN3aXRjaE1hcH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQ2FyZEdyb3VwZWRUZXh0cyB7XG4gICAgcmVhZG9ubHkgY2FyZE51bWJlclRleHQ6IHN0cmluZztcbiAgICByZWFkb25seSBjdmNUZXh0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZXhwaXJ5VGV4dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIElucHV0Q2FyZEdyb3VwIHRleHRzXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSU5QVVRfQ0FSRF9HUk9VUF9URVhUUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8XG4gICAgT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPlxuPigoKSA9PiB7XG4gICAgY29uc3Qgd2luID0gaW5qZWN0KFdBX1dJTkRPVyk7XG4gICAgY29uc3QgY2FyZE51bWJlclRleHRzID0gaW5qZWN0KFRVSV9DQVJEX05VTUJFUl9URVhUUyk7XG4gICAgY29uc3QgZXhwaXJ5VGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfRVhQSVJZX1RFWFRTKTtcbiAgICBjb25zdCBjdmNUZXh0cyA9IGluamVjdChUVUlfQ0FSRF9DVkNfVEVYVFMpO1xuICAgIGNvbnN0IHtkZXNrdG9wU21hbGx9ID0gaW5qZWN0KFRVSV9NRURJQSk7XG5cbiAgICBjb25zdCBtZWRpYSA9IHdpbi5tYXRjaE1lZGlhKGBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR7KGRlc2t0b3BTbWFsbCAtIDEpIC8gMTZ9ZW0pYCk7XG5cbiAgICByZXR1cm4gdHVpVHlwZWRGcm9tRXZlbnQobWVkaWEsICdjaGFuZ2UnKS5waXBlKFxuICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICAgICAgb2YoTnVtYmVyKG1lZGlhLm1hdGNoZXMpKSxcbiAgICAgICAgICAgICAgICBjYXJkTnVtYmVyVGV4dHMsXG4gICAgICAgICAgICAgICAgZXhwaXJ5VGV4dHMsXG4gICAgICAgICAgICAgICAgY3ZjVGV4dHMsXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChbaW5kZXgsIGNhcmROdW1iZXIsIGV4cGlyeSwgY3ZjVGV4dHNdKSA9PiAoe1xuICAgICAgICAgICAgY2FyZE51bWJlclRleHQ6IGNhcmROdW1iZXJbaW5kZXhdID8/ICcnLFxuICAgICAgICAgICAgZXhwaXJ5VGV4dDogZXhwaXJ5W2luZGV4XSA/PyAnJyxcbiAgICAgICAgICAgIGN2Y1RleHQ6IGN2Y1RleHRzW2luZGV4XSA/PyAnJyxcbiAgICAgICAgfSkpLFxuICAgICk7XG59KTtcbiJdfQ==
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXAvaW5wdXQtY2FyZC1ncm91cC5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFDSCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLHFCQUFxQixHQUN4QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxPQUFPLEVBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQVFsRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksY0FBYyxDQUUxRCxTQUFTLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNWLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN0RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNsRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxNQUFNLEVBQUMsWUFBWSxFQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQ3hCLDBCQUEwQixDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FDekQsQ0FBQztRQUVGLE9BQU8saUJBQWlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDMUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDWCxhQUFhLENBQUM7WUFDVixFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QixlQUFlO1lBQ2YsV0FBVztZQUNYLFFBQVE7U0FDWCxDQUFDLENBQ0wsRUFDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLGNBQWMsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUN2QyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDL0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO1NBQ2pDLENBQUMsQ0FBQyxDQUNOLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7V0FfV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7XG4gICAgVFVJX0NBUkRfQ1ZDX1RFWFRTLFxuICAgIFRVSV9DQVJEX0VYUElSWV9URVhUUyxcbiAgICBUVUlfQ0FSRF9OVU1CRVJfVEVYVFMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90b2tlbnMnO1xuaW1wb3J0IHt0dWlUeXBlZEZyb21FdmVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge1RVSV9NRURJQX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Y29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc3RhcnRXaXRoLCBzd2l0Y2hNYXB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUNhcmRHcm91cGVkVGV4dHMge1xuICAgIHJlYWRvbmx5IGNhcmROdW1iZXJUZXh0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY3ZjVGV4dDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGV4cGlyeVRleHQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnB1dENhcmRHcm91cCB0ZXh0c1xuICovXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX0NBUkRfR1JPVVBfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gICAgT2JzZXJ2YWJsZTxUdWlDYXJkR3JvdXBlZFRleHRzPlxuPihuZ0Rldk1vZGUgPyAnVFVJX0lOUFVUX0NBUkRfR1JPVVBfVEVYVFMnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHdpbiA9IGluamVjdChXQV9XSU5ET1cpO1xuICAgICAgICBjb25zdCBjYXJkTnVtYmVyVGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfTlVNQkVSX1RFWFRTKTtcbiAgICAgICAgY29uc3QgZXhwaXJ5VGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfRVhQSVJZX1RFWFRTKTtcbiAgICAgICAgY29uc3QgY3ZjVGV4dHMgPSBpbmplY3QoVFVJX0NBUkRfQ1ZDX1RFWFRTKTtcbiAgICAgICAgY29uc3Qge2Rlc2t0b3BTbWFsbH0gPSBpbmplY3QoVFVJX01FRElBKTtcblxuICAgICAgICBjb25zdCBtZWRpYSA9IHdpbi5tYXRjaE1lZGlhKFxuICAgICAgICAgICAgYHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHsoZGVza3RvcFNtYWxsIC0gMSkgLyAxNn1lbSlgLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0dWlUeXBlZEZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgobnVsbCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgICAgICAgb2YoTnVtYmVyKG1lZGlhLm1hdGNoZXMpKSxcbiAgICAgICAgICAgICAgICAgICAgY2FyZE51bWJlclRleHRzLFxuICAgICAgICAgICAgICAgICAgICBleHBpcnlUZXh0cyxcbiAgICAgICAgICAgICAgICAgICAgY3ZjVGV4dHMsXG4gICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbWFwKChbaW5kZXgsIGNhcmROdW1iZXIsIGV4cGlyeSwgY3ZjVGV4dHNdKSA9PiAoe1xuICAgICAgICAgICAgICAgIGNhcmROdW1iZXJUZXh0OiBjYXJkTnVtYmVyW2luZGV4XSA/PyAnJyxcbiAgICAgICAgICAgICAgICBleHBpcnlUZXh0OiBleHBpcnlbaW5kZXhdID8/ICcnLFxuICAgICAgICAgICAgICAgIGN2Y1RleHQ6IGN2Y1RleHRzW2luZGV4XSA/PyAnJyxcbiAgICAgICAgICAgIH0pKSxcbiAgICAgICAgKTtcbiAgICB9LFxufSk7XG4iXX0=
@@ -1,9 +1,10 @@
1
- import { inject } from '@angular/core';
1
+ import { inject, InjectionToken } from '@angular/core';
2
2
  import { TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/tokens';
3
- import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils/miscellaneous';
4
- export const TUI_THUMBNAIL_CARD_OPTIONS = tuiCreateTokenFromFactory(() => ({
5
- icons: inject(TUI_PAYMENT_SYSTEM_ICONS),
6
- size: 'm',
7
- monoHandler: (ps) => ps === 'mir' || ps === 'visa' || ps === 'electron',
8
- }));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNhcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvdGh1bWJuYWlsLWNhcmQvdGh1bWJuYWlsLWNhcmQub3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBR3pFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBUzVFLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUNuQyx5QkFBeUIsQ0FBMEIsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0RCxLQUFLLEVBQUUsTUFBTSxDQUFDLHdCQUF3QixDQUFDO0lBQ3ZDLElBQUksRUFBRSxHQUFHO0lBQ1QsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssS0FBSyxJQUFJLEVBQUUsS0FBSyxNQUFNLElBQUksRUFBRSxLQUFLLFVBQVU7Q0FDMUUsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9QQVlNRU5UX1NZU1RFTV9JQ09OU30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB0eXBlIHtUdWlCb29sZWFuSGFuZGxlcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay90eXBlcyc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnl9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpU2l6ZUwsIFR1aVNpemVYU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aVRodW1ibmFpbENhcmRPcHRpb25zIHtcbiAgICByZWFkb25seSBzaXplOiBUdWlTaXplTCB8IFR1aVNpemVYUztcbiAgICByZWFkb25seSBpY29uczogUmVjb3JkPFR1aVBheW1lbnRTeXN0ZW0sIHN0cmluZz47XG4gICAgcmVhZG9ubHkgbW9ub0hhbmRsZXI6IFR1aUJvb2xlYW5IYW5kbGVyPFR1aVBheW1lbnRTeXN0ZW0+O1xufVxuXG5leHBvcnQgY29uc3QgVFVJX1RIVU1CTkFJTF9DQVJEX09QVElPTlMgPVxuICAgIHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8VHVpVGh1bWJuYWlsQ2FyZE9wdGlvbnM+KCgpID0+ICh7XG4gICAgICAgIGljb25zOiBpbmplY3QoVFVJX1BBWU1FTlRfU1lTVEVNX0lDT05TKSxcbiAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICBtb25vSGFuZGxlcjogKHBzKSA9PiBwcyA9PT0gJ21pcicgfHwgcHMgPT09ICd2aXNhJyB8fCBwcyA9PT0gJ2VsZWN0cm9uJyxcbiAgICB9KSk7XG4iXX0=
3
+ export const TUI_THUMBNAIL_CARD_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_THUMBNAIL_CARD_OPTIONS' : '', {
4
+ factory: () => ({
5
+ icons: inject(TUI_PAYMENT_SYSTEM_ICONS),
6
+ size: 'm',
7
+ monoHandler: (ps) => ps === 'mir' || ps === 'visa' || ps === 'electron',
8
+ }),
9
+ });
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGh1bWJuYWlsLWNhcmQub3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvdGh1bWJuYWlsLWNhcmQvdGh1bWJuYWlsLWNhcmQub3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQVd6RSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FDeEQsU0FBUyxDQUFDLENBQUMsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUM3QztJQUNJLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osS0FBSyxFQUFFLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQztRQUN2QyxJQUFJLEVBQUUsR0FBRztRQUNULFdBQVcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUssSUFBSSxFQUFFLEtBQUssTUFBTSxJQUFJLEVBQUUsS0FBSyxVQUFVO0tBQzFFLENBQUM7Q0FDTCxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUVUlfUEFZTUVOVF9TWVNURU1fSUNPTlN9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90b2tlbnMnO1xuaW1wb3J0IHR5cGUge1R1aVBheW1lbnRTeXN0ZW19IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQgdHlwZSB7VHVpQm9vbGVhbkhhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMLCBUdWlTaXplWFN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlUaHVtYm5haWxDYXJkT3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgc2l6ZTogVHVpU2l6ZUwgfCBUdWlTaXplWFM7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlY29yZDxUdWlQYXltZW50U3lzdGVtLCBzdHJpbmc+O1xuICAgIHJlYWRvbmx5IG1vbm9IYW5kbGVyOiBUdWlCb29sZWFuSGFuZGxlcjxUdWlQYXltZW50U3lzdGVtPjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9USFVNQk5BSUxfQ0FSRF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPFR1aVRodW1ibmFpbENhcmRPcHRpb25zPihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX1RIVU1CTkFJTF9DQVJEX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICAgICAgaWNvbnM6IGluamVjdChUVUlfUEFZTUVOVF9TWVNURU1fSUNPTlMpLFxuICAgICAgICAgICAgc2l6ZTogJ20nLFxuICAgICAgICAgICAgbW9ub0hhbmRsZXI6IChwcykgPT4gcHMgPT09ICdtaXInIHx8IHBzID09PSAndmlzYScgfHwgcHMgPT09ICdlbGVjdHJvbicsXG4gICAgICAgIH0pLFxuICAgIH0sXG4pO1xuIl19
@@ -1,29 +1,29 @@
1
- import { TUI_DIGIT_REGEXP } from '@taiga-ui/cdk/constants';
1
+ import { CHAR_NO_BREAK_SPACE, TUI_DIGIT_REGEXP } from '@taiga-ui/cdk/constants';
2
2
  export const TUI_MASK_CARD = {
3
3
  mask: [
4
4
  TUI_DIGIT_REGEXP,
5
5
  TUI_DIGIT_REGEXP,
6
6
  TUI_DIGIT_REGEXP,
7
7
  TUI_DIGIT_REGEXP,
8
- ' ',
8
+ CHAR_NO_BREAK_SPACE,
9
9
  TUI_DIGIT_REGEXP,
10
10
  TUI_DIGIT_REGEXP,
11
11
  TUI_DIGIT_REGEXP,
12
12
  TUI_DIGIT_REGEXP,
13
- ' ',
13
+ CHAR_NO_BREAK_SPACE,
14
14
  TUI_DIGIT_REGEXP,
15
15
  TUI_DIGIT_REGEXP,
16
16
  TUI_DIGIT_REGEXP,
17
17
  TUI_DIGIT_REGEXP,
18
- ' ',
18
+ CHAR_NO_BREAK_SPACE,
19
19
  TUI_DIGIT_REGEXP,
20
20
  TUI_DIGIT_REGEXP,
21
21
  TUI_DIGIT_REGEXP,
22
22
  TUI_DIGIT_REGEXP,
23
- ' ',
23
+ CHAR_NO_BREAK_SPACE,
24
24
  TUI_DIGIT_REGEXP,
25
25
  TUI_DIGIT_REGEXP,
26
26
  TUI_DIGIT_REGEXP,
27
27
  ],
28
28
  };
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzL21hc2stY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQ3pDLElBQUksRUFBRTtRQUNGLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixHQUFHO1FBQ0gsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLEdBQUc7UUFDSCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsR0FBRztRQUNILGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixHQUFHO1FBQ0gsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7S0FDbkI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7VFVJX0RJR0lUX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgVFVJX01BU0tfQ0FSRDogTWFza2l0b09wdGlvbnMgPSB7XG4gICAgbWFzazogW1xuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAnICcsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICcgJyxcbiAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgJyAnLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAnICcsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgXSxcbn07XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFzay1jYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzL21hc2stY2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQW1CO0lBQ3pDLElBQUksRUFBRTtRQUNGLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7S0FDbkI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge01hc2tpdG9PcHRpb25zfSBmcm9tICdAbWFza2l0by9jb3JlJztcbmltcG9ydCB7Q0hBUl9OT19CUkVBS19TUEFDRSwgVFVJX0RJR0lUX1JFR0VYUH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgVFVJX01BU0tfQ0FSRDogTWFza2l0b09wdGlvbnMgPSB7XG4gICAgbWFzazogW1xuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBDSEFSX05PX0JSRUFLX1NQQUNFLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgIF0sXG59O1xuIl19
@@ -1,11 +1,14 @@
1
- import { tuiCreateToken, tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
+ import { tuiProvideOptions } from '@taiga-ui/cdk/utils/miscellaneous';
2
3
  export const TUI_AMOUNT_DEFAULT_OPTIONS = {
3
4
  currency: null,
4
5
  currencyAlign: 'left',
5
6
  sign: 'negative-only',
6
7
  };
7
- export const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);
8
+ export const TUI_AMOUNT_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_AMOUNT_OPTIONS' : '', {
9
+ factory: () => TUI_AMOUNT_DEFAULT_OPTIONS,
10
+ });
8
11
  export function tuiAmountOptionsProvider(options) {
9
12
  return tuiProvideOptions(TUI_AMOUNT_OPTIONS, options, TUI_AMOUNT_DEFAULT_OPTIONS);
10
13
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50Lm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9waXBlcy9hbW91bnQvYW1vdW50Lm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBV3BGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFxQjtJQUN4RCxRQUFRLEVBQUUsSUFBSTtJQUNkLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLElBQUksRUFBRSxlQUFlO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQUMsMEJBQTBCLENBQUMsQ0FBQztBQUU3RSxNQUFNLFVBQVUsd0JBQXdCLENBQUMsT0FBa0M7SUFDdkUsT0FBTyxpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1Byb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlDdXJyZW5jeVZhcmlhbnRzfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpSG9yaXpvbnRhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpQW1vdW50U2lnbn0gZnJvbSAnLi9hbW91bnQudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFtb3VudE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGN1cnJlbmN5OiBUdWlDdXJyZW5jeVZhcmlhbnRzO1xuICAgIHJlYWRvbmx5IGN1cnJlbmN5QWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb247XG4gICAgcmVhZG9ubHkgc2lnbjogVHVpQW1vdW50U2lnbjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BTU9VTlRfREVGQVVMVF9PUFRJT05TOiBUdWlBbW91bnRPcHRpb25zID0ge1xuICAgIGN1cnJlbmN5OiBudWxsLFxuICAgIGN1cnJlbmN5QWxpZ246ICdsZWZ0JyxcbiAgICBzaWduOiAnbmVnYXRpdmUtb25seScsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0FNT1VOVF9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0FNT1VOVF9ERUZBVUxUX09QVElPTlMpO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQW1vdW50T3B0aW9uc1Byb3ZpZGVyKG9wdGlvbnM6IFBhcnRpYWw8VHVpQW1vdW50T3B0aW9ucz4pOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVPcHRpb25zKFRVSV9BTU9VTlRfT1BUSU9OUywgb3B0aW9ucywgVFVJX0FNT1VOVF9ERUZBVUxUX09QVElPTlMpO1xufVxuIl19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1vdW50Lm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9waXBlcy9hbW91bnQvYW1vdW50Lm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUU3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQVdwRSxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBcUI7SUFDeEQsUUFBUSxFQUFFLElBQUk7SUFDZCxhQUFhLEVBQUUsTUFBTTtJQUNyQixJQUFJLEVBQUUsZUFBZTtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQ2hELFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckM7SUFDSSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsMEJBQTBCO0NBQzVDLENBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxPQUFrQztJQUN2RSxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLE9BQU8sRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO0FBQ3RGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7UHJvdmlkZXJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7VHVpQ3VycmVuY3lWYXJpYW50c30gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcbmltcG9ydCB7dHVpUHJvdmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgdHlwZSB7VHVpSG9yaXpvbnRhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgdHlwZSB7VHVpQW1vdW50U2lnbn0gZnJvbSAnLi9hbW91bnQudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUFtb3VudE9wdGlvbnMge1xuICAgIHJlYWRvbmx5IGN1cnJlbmN5OiBUdWlDdXJyZW5jeVZhcmlhbnRzO1xuICAgIHJlYWRvbmx5IGN1cnJlbmN5QWxpZ246IFR1aUhvcml6b250YWxEaXJlY3Rpb247XG4gICAgcmVhZG9ubHkgc2lnbjogVHVpQW1vdW50U2lnbjtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BTU9VTlRfREVGQVVMVF9PUFRJT05TOiBUdWlBbW91bnRPcHRpb25zID0ge1xuICAgIGN1cnJlbmN5OiBudWxsLFxuICAgIGN1cnJlbmN5QWxpZ246ICdsZWZ0JyxcbiAgICBzaWduOiAnbmVnYXRpdmUtb25seScsXG59O1xuXG5leHBvcnQgY29uc3QgVFVJX0FNT1VOVF9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfQU1PVU5UX09QVElPTlMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiAoKSA9PiBUVUlfQU1PVU5UX0RFRkFVTFRfT1BUSU9OUyxcbiAgICB9LFxuKTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUFtb3VudE9wdGlvbnNQcm92aWRlcihvcHRpb25zOiBQYXJ0aWFsPFR1aUFtb3VudE9wdGlvbnM+KTogUHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlT3B0aW9ucyhUVUlfQU1PVU5UX09QVElPTlMsIG9wdGlvbnMsIFRVSV9BTU9VTlRfREVGQVVMVF9PUFRJT05TKTtcbn1cbiJdfQ==
@@ -1,11 +1,12 @@
1
1
  import { Pipe } from '@angular/core';
2
+ import { CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
2
3
  import * as i0 from "@angular/core";
3
4
  class TuiFormatCardPipe {
4
5
  transform(value = '', cardPrefilled = false) {
5
6
  return value && !cardPrefilled
6
7
  ? value
7
8
  .split('')
8
- .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))
9
+ .map((char, index) => index && index % 4 === 0 ? `${CHAR_NO_BREAK_SPACE}${char}` : char)
9
10
  .join('')
10
11
  : '';
11
12
  }
@@ -20,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
20
21
  name: 'tuiFormatCard',
21
22
  }]
22
23
  }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWNhcmQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3BpcGVzL2Zvcm1hdC1jYXJkL2Zvcm1hdC1jYXJkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFbkMsTUFJYSxpQkFBaUI7SUFDbkIsU0FBUyxDQUFDLFFBQXVCLEVBQUUsRUFBRSxhQUFhLEdBQUcsS0FBSztRQUM3RCxPQUFPLEtBQUssSUFBSSxDQUFDLGFBQWE7WUFDMUIsQ0FBQyxDQUFDLEtBQUs7aUJBQ0EsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3BFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2IsQ0FBQzsrR0FSUSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs7U0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICd0dWlGb3JtYXRDYXJkJyxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRm9ybWF0Q2FyZFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICBwdWJsaWMgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCBudWxsID0gJycsIGNhcmRQcmVmaWxsZWQgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB2YWx1ZSAmJiAhY2FyZFByZWZpbGxlZFxuICAgICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgICAgICAgICAgLnNwbGl0KCcnKVxuICAgICAgICAgICAgICAgICAgLm1hcCgoY2hhciwgaW5kZXgpID0+IChpbmRleCAmJiBpbmRleCAlIDQgPT09IDAgPyBgICR7Y2hhcn1gIDogY2hhcikpXG4gICAgICAgICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgIDogJyc7XG4gICAgfVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWNhcmQucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3BpcGVzL2Zvcm1hdC1jYXJkL2Zvcm1hdC1jYXJkLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFNUQsTUFJYSxpQkFBaUI7SUFDbkIsU0FBUyxDQUFDLFFBQXVCLEVBQUUsRUFBRSxhQUFhLEdBQUcsS0FBSztRQUM3RCxPQUFPLEtBQUssSUFBSSxDQUFDLGFBQWE7WUFDMUIsQ0FBQyxDQUFDLEtBQUs7aUJBQ0EsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDakIsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLG1CQUFtQixHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3BFO2lCQUNBLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDZixDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2IsQ0FBQzsrR0FWUSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs7U0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxlQUFlO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtQaXBlVHJhbnNmb3JtfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7UGlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NIQVJfTk9fQlJFQUtfU1BBQ0V9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3R1aUZvcm1hdENhcmQnLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlGb3JtYXRDYXJkUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJywgY2FyZFByZWZpbGxlZCA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICYmICFjYXJkUHJlZmlsbGVkXG4gICAgICAgICAgICA/IHZhbHVlXG4gICAgICAgICAgICAgICAgICAuc3BsaXQoJycpXG4gICAgICAgICAgICAgICAgICAubWFwKChjaGFyLCBpbmRleCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICBpbmRleCAmJiBpbmRleCAlIDQgPT09IDAgPyBgJHtDSEFSX05PX0JSRUFLX1NQQUNFfSR7Y2hhcn1gIDogY2hhcixcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIC5qb2luKCcnKVxuICAgICAgICAgICAgOiAnJztcbiAgICB9XG59XG4iXX0=
@@ -1,16 +1,22 @@
1
- import { tuiCreateToken, tuiCreateTokenFromFactory, } from '@taiga-ui/cdk/utils/miscellaneous';
1
+ import { InjectionToken } from '@angular/core';
2
2
  import { tuiExtractI18n } from '@taiga-ui/i18n/utils';
3
3
  import { of } from 'rxjs';
4
4
  /**
5
5
  * Number and card number i18n
6
6
  */
7
- export const TUI_CARD_NUMBER_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('cardNumber'));
7
+ export const TUI_CARD_NUMBER_TEXTS = new InjectionToken(ngDevMode ? 'TUI_CARD_NUMBER_TEXTS' : '', {
8
+ factory: tuiExtractI18n('cardNumber'),
9
+ });
8
10
  /**
9
11
  * Expiry and card expiry i18n
10
12
  */
11
- export const TUI_CARD_EXPIRY_TEXTS = tuiCreateTokenFromFactory(tuiExtractI18n('cardExpiry'));
13
+ export const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(ngDevMode ? 'TUI_CARD_EXPIRY_TEXTS' : '', {
14
+ factory: tuiExtractI18n('cardExpiry'),
15
+ });
12
16
  /**
13
17
  * Card CVC number text [mobile, desktop]
14
18
  */
15
- export const TUI_CARD_CVC_TEXTS = tuiCreateToken(of(['CVC', 'CVC/CVV']));
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3Rva2Vucy9pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2QseUJBQXlCLEdBQzVCLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFeEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyx5QkFBeUIsQ0FDMUQsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUMvQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyx5QkFBeUIsQ0FDMUQsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUMvQixDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxjQUFjLENBQzVDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICB0dWlDcmVhdGVUb2tlbixcbiAgICB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlFeHRyYWN0STE4bn0gZnJvbSAnQHRhaWdhLXVpL2kxOG4vdXRpbHMnO1xuaW1wb3J0IHR5cGUge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtvZn0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogTnVtYmVyIGFuZCBjYXJkIG51bWJlciBpMThuXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfQ0FSRF9OVU1CRVJfVEVYVFMgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgIHR1aUV4dHJhY3RJMThuKCdjYXJkTnVtYmVyJyksXG4pO1xuXG4vKipcbiAqIEV4cGlyeSBhbmQgY2FyZCBleHBpcnkgaTE4blxuICovXG5leHBvcnQgY29uc3QgVFVJX0NBUkRfRVhQSVJZX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICB0dWlFeHRyYWN0STE4bignY2FyZEV4cGlyeScpLFxuKTtcblxuLyoqXG4gKiBDYXJkIENWQyBudW1iZXIgdGV4dCBbbW9iaWxlLCBkZXNrdG9wXVxuICovXG5leHBvcnQgY29uc3QgVFVJX0NBUkRfQ1ZDX1RFWFRTID0gdHVpQ3JlYXRlVG9rZW48T2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPj4oXG4gICAgb2YoWydDVkMnLCAnQ1ZDL0NWViddKSxcbik7XG4iXX0=
19
+ export const TUI_CARD_CVC_TEXTS = new InjectionToken(ngDevMode ? 'TUI_CARD_CVC_TEXTS' : '', {
20
+ factory: () => of(['CVC', 'CVC/CVV']),
21
+ });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3Rva2Vucy9pMThuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXBELE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFeEI7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FDbkQsU0FBUyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUN4QztJQUNJLE9BQU8sRUFBRSxjQUFjLENBQUMsWUFBWSxDQUFDO0NBQ3hDLENBQ0osQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELFNBQVMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDeEM7SUFDSSxPQUFPLEVBQUUsY0FBYyxDQUFDLFlBQVksQ0FBQztDQUN4QyxDQUNKLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLElBQUksY0FBYyxDQUNoRCxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3JDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztDQUN4QyxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRXh0cmFjdEkxOG59IGZyb20gJ0B0YWlnYS11aS9pMThuL3V0aWxzJztcbmltcG9ydCB0eXBlIHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIE51bWJlciBhbmQgY2FyZCBudW1iZXIgaTE4blxuICovXG5leHBvcnQgY29uc3QgVFVJX0NBUkRfTlVNQkVSX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfQ0FSRF9OVU1CRVJfVEVYVFMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bignY2FyZE51bWJlcicpLFxuICAgIH0sXG4pO1xuXG4vKipcbiAqIEV4cGlyeSBhbmQgY2FyZCBleHBpcnkgaTE4blxuICovXG5leHBvcnQgY29uc3QgVFVJX0NBUkRfRVhQSVJZX1RFWFRTID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfQ0FSRF9FWFBJUllfVEVYVFMnIDogJycsXG4gICAge1xuICAgICAgICBmYWN0b3J5OiB0dWlFeHRyYWN0STE4bignY2FyZEV4cGlyeScpLFxuICAgIH0sXG4pO1xuXG4vKipcbiAqIENhcmQgQ1ZDIG51bWJlciB0ZXh0IFttb2JpbGUsIGRlc2t0b3BdXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfQ0FSRF9DVkNfVEVYVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48T2JzZXJ2YWJsZTxbc3RyaW5nLCBzdHJpbmddPj4oXG4gICAgbmdEZXZNb2RlID8gJ1RVSV9DQVJEX0NWQ19URVhUUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IG9mKFsnQ1ZDJywgJ0NWQy9DVlYnXSksXG4gICAgfSxcbik7XG4iXX0=
@@ -1,18 +1,20 @@
1
- import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
2
- export const TUI_PAYMENT_SYSTEM_ICONS = tuiCreateToken({
3
- mir: '@tui.mir',
4
- visa: '@tui.visa',
5
- electron: '@tui.electron',
6
- mastercard: '@tui.mastercard',
7
- maestro: '@tui.maestro',
8
- amex: '@tui.amex',
9
- dinersclub: '@tui.diners-club',
10
- discover: '@tui.discover',
11
- humo: '@tui.humo',
12
- jcb: '@tui.jcb',
13
- rupay: '@tui.ru-pay',
14
- unionpay: '@tui.union-pay',
15
- uzcard: '@tui.uzcard',
16
- verve: '@tui.verve',
1
+ import { InjectionToken } from '@angular/core';
2
+ export const TUI_PAYMENT_SYSTEM_ICONS = new InjectionToken(ngDevMode ? 'TUI_PAYMENT_SYSTEM_ICONS' : '', {
3
+ factory: () => ({
4
+ mir: '@tui.mir',
5
+ visa: '@tui.visa',
6
+ electron: '@tui.electron',
7
+ mastercard: '@tui.mastercard',
8
+ maestro: '@tui.maestro',
9
+ amex: '@tui.amex',
10
+ dinersclub: '@tui.diners-club',
11
+ discover: '@tui.discover',
12
+ humo: '@tui.humo',
13
+ jcb: '@tui.jcb',
14
+ rupay: '@tui.ru-pay',
15
+ unionpay: '@tui.union-pay',
16
+ uzcard: '@tui.uzcard',
17
+ verve: '@tui.verve',
18
+ }),
17
19
  });
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zeXN0ZW0taWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS90b2tlbnMvcGF5bWVudC1zeXN0ZW0taWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUNqQyxjQUFjLENBQUM7SUFDWCxHQUFHLEVBQUUsVUFBVTtJQUNmLElBQUksRUFBRSxXQUFXO0lBQ2pCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLFVBQVUsRUFBRSxpQkFBaUI7SUFDN0IsT0FBTyxFQUFFLGNBQWM7SUFDdkIsSUFBSSxFQUFFLFdBQVc7SUFDakIsVUFBVSxFQUFFLGtCQUFrQjtJQUM5QixRQUFRLEVBQUUsZUFBZTtJQUN6QixJQUFJLEVBQUUsV0FBVztJQUNqQixHQUFHLEVBQUUsVUFBVTtJQUNmLEtBQUssRUFBRSxhQUFhO0lBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsTUFBTSxFQUFFLGFBQWE7SUFDckIsS0FBSyxFQUFFLFlBQVk7Q0FDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbn0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9QQVlNRU5UX1NZU1RFTV9JQ09OUzogSW5qZWN0aW9uVG9rZW48UmVjb3JkPFR1aVBheW1lbnRTeXN0ZW0sIHN0cmluZz4+ID1cbiAgICB0dWlDcmVhdGVUb2tlbih7XG4gICAgICAgIG1pcjogJ0B0dWkubWlyJyxcbiAgICAgICAgdmlzYTogJ0B0dWkudmlzYScsXG4gICAgICAgIGVsZWN0cm9uOiAnQHR1aS5lbGVjdHJvbicsXG4gICAgICAgIG1hc3RlcmNhcmQ6ICdAdHVpLm1hc3RlcmNhcmQnLFxuICAgICAgICBtYWVzdHJvOiAnQHR1aS5tYWVzdHJvJyxcbiAgICAgICAgYW1leDogJ0B0dWkuYW1leCcsXG4gICAgICAgIGRpbmVyc2NsdWI6ICdAdHVpLmRpbmVycy1jbHViJyxcbiAgICAgICAgZGlzY292ZXI6ICdAdHVpLmRpc2NvdmVyJyxcbiAgICAgICAgaHVtbzogJ0B0dWkuaHVtbycsXG4gICAgICAgIGpjYjogJ0B0dWkuamNiJyxcbiAgICAgICAgcnVwYXk6ICdAdHVpLnJ1LXBheScsXG4gICAgICAgIHVuaW9ucGF5OiAnQHR1aS51bmlvbi1wYXknLFxuICAgICAgICB1emNhcmQ6ICdAdHVpLnV6Y2FyZCcsXG4gICAgICAgIHZlcnZlOiAnQHR1aS52ZXJ2ZScsXG4gICAgfSk7XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zeXN0ZW0taWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS90b2tlbnMvcGF5bWVudC1zeXN0ZW0taWNvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUc3QyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FFeEQsU0FBUyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ1osR0FBRyxFQUFFLFVBQVU7UUFDZixJQUFJLEVBQUUsV0FBVztRQUNqQixRQUFRLEVBQUUsZUFBZTtRQUN6QixVQUFVLEVBQUUsaUJBQWlCO1FBQzdCLE9BQU8sRUFBRSxjQUFjO1FBQ3ZCLElBQUksRUFBRSxXQUFXO1FBQ2pCLFVBQVUsRUFBRSxrQkFBa0I7UUFDOUIsUUFBUSxFQUFFLGVBQWU7UUFDekIsSUFBSSxFQUFFLFdBQVc7UUFDakIsR0FBRyxFQUFFLFVBQVU7UUFDZixLQUFLLEVBQUUsYUFBYTtRQUNwQixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLEtBQUssRUFBRSxZQUFZO0tBQ3RCLENBQUM7Q0FDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgVFVJX1BBWU1FTlRfU1lTVEVNX0lDT05TID0gbmV3IEluamVjdGlvblRva2VuPFxuICAgIFJlY29yZDxUdWlQYXltZW50U3lzdGVtLCBzdHJpbmc+XG4+KG5nRGV2TW9kZSA/ICdUVUlfUEFZTUVOVF9TWVNURU1fSUNPTlMnIDogJycsIHtcbiAgICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgICAgICBtaXI6ICdAdHVpLm1pcicsXG4gICAgICAgIHZpc2E6ICdAdHVpLnZpc2EnLFxuICAgICAgICBlbGVjdHJvbjogJ0B0dWkuZWxlY3Ryb24nLFxuICAgICAgICBtYXN0ZXJjYXJkOiAnQHR1aS5tYXN0ZXJjYXJkJyxcbiAgICAgICAgbWFlc3RybzogJ0B0dWkubWFlc3RybycsXG4gICAgICAgIGFtZXg6ICdAdHVpLmFtZXgnLFxuICAgICAgICBkaW5lcnNjbHViOiAnQHR1aS5kaW5lcnMtY2x1YicsXG4gICAgICAgIGRpc2NvdmVyOiAnQHR1aS5kaXNjb3ZlcicsXG4gICAgICAgIGh1bW86ICdAdHVpLmh1bW8nLFxuICAgICAgICBqY2I6ICdAdHVpLmpjYicsXG4gICAgICAgIHJ1cGF5OiAnQHR1aS5ydS1wYXknLFxuICAgICAgICB1bmlvbnBheTogJ0B0dWkudW5pb24tcGF5JyxcbiAgICAgICAgdXpjYXJkOiAnQHR1aS51emNhcmQnLFxuICAgICAgICB2ZXJ2ZTogJ0B0dWkudmVydmUnLFxuICAgIH0pLFxufSk7XG4iXX0=
@@ -1,7 +1,7 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import { DOCUMENT, isPlatformServer, NgIf } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { inject, PLATFORM_ID, computed, EventEmitter, Component, ChangeDetectionStrategy, ViewChild, Input, Output } from '@angular/core';
4
+ import { InjectionToken, inject, PLATFORM_ID, computed, EventEmitter, Component, ChangeDetectionStrategy, ViewChild, Input, Output } from '@angular/core';
5
5
  import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
6
  import * as i4 from '@angular/forms';
7
7
  import { FormsModule } from '@angular/forms';
@@ -11,7 +11,7 @@ import { tuiDefaultCardValidator, TUI_MASK_CVC, TUI_MASK_CARD, TUI_MASK_EXPIRE }
11
11
  import { TuiFormatCardPipe } from '@taiga-ui/addon-commerce/pipes';
12
12
  import { TUI_CARD_NUMBER_TEXTS, TUI_CARD_EXPIRY_TEXTS, TUI_CARD_CVC_TEXTS, TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/tokens';
13
13
  import { TuiControl, tuiAsControl } from '@taiga-ui/cdk/classes';
14
- import { TUI_NON_DIGIT_REGEXP } from '@taiga-ui/cdk/constants';
14
+ import { TUI_NON_DIGIT_REGEXP, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
15
15
  import { tuiHovered, TuiHoveredService } from '@taiga-ui/cdk/directives/hovered';
16
16
  import { TuiLet } from '@taiga-ui/cdk/directives/let';
17
17
  import { tuiTypedFromEvent } from '@taiga-ui/cdk/observables';
@@ -20,7 +20,7 @@ import { tuiInjectId } from '@taiga-ui/cdk/services';
20
20
  import { TUI_IS_MOBILE, TUI_IS_WEBKIT } from '@taiga-ui/cdk/tokens';
21
21
  import { tuiInjectElement, tuiIsElement, tuiIsInput } from '@taiga-ui/cdk/utils/dom';
22
22
  import { tuiIsNativeFocusedIn, tuiIsNativeFocused } from '@taiga-ui/cdk/utils/focus';
23
- import { tuiCreateToken, tuiProvideOptions, tuiCreateTokenFromFactory, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
23
+ import { tuiProvideOptions, tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
24
24
  import { tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
25
25
  import { TuiIcon, TuiIconPipe } from '@taiga-ui/core/components/icon';
26
26
  import * as i3 from '@taiga-ui/core/components/textfield';
@@ -44,7 +44,9 @@ const TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS = {
44
44
  cvcHidden: true,
45
45
  inputs: { cvc: true, expire: true },
46
46
  };
47
- const TUI_INPUT_CARD_GROUP_OPTIONS = tuiCreateToken(TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS);
47
+ const TUI_INPUT_CARD_GROUP_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_INPUT_CARD_GROUP_OPTIONS' : '', {
48
+ factory: () => TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS,
49
+ });
48
50
  function tuiInputCardGroupOptionsProvider(options) {
49
51
  return tuiProvideOptions(TUI_INPUT_CARD_GROUP_OPTIONS, options, TUI_INPUT_CARD_GROUP_DEFAULT_OPTIONS);
50
52
  }
@@ -52,23 +54,25 @@ function tuiInputCardGroupOptionsProvider(options) {
52
54
  /**
53
55
  * InputCardGroup texts
54
56
  */
55
- const TUI_INPUT_CARD_GROUP_TEXTS = tuiCreateTokenFromFactory(() => {
56
- const win = inject(WA_WINDOW);
57
- const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);
58
- const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);
59
- const cvcTexts = inject(TUI_CARD_CVC_TEXTS);
60
- const { desktopSmall } = inject(TUI_MEDIA);
61
- const media = win.matchMedia(`screen and (min-width: ${(desktopSmall - 1) / 16}em)`);
62
- return tuiTypedFromEvent(media, 'change').pipe(startWith(null), switchMap(() => combineLatest([
63
- of(Number(media.matches)),
64
- cardNumberTexts,
65
- expiryTexts,
66
- cvcTexts,
67
- ])), map(([index, cardNumber, expiry, cvcTexts]) => ({
68
- cardNumberText: cardNumber[index] ?? '',
69
- expiryText: expiry[index] ?? '',
70
- cvcText: cvcTexts[index] ?? '',
71
- })));
57
+ const TUI_INPUT_CARD_GROUP_TEXTS = new InjectionToken(ngDevMode ? 'TUI_INPUT_CARD_GROUP_TEXTS' : '', {
58
+ factory: () => {
59
+ const win = inject(WA_WINDOW);
60
+ const cardNumberTexts = inject(TUI_CARD_NUMBER_TEXTS);
61
+ const expiryTexts = inject(TUI_CARD_EXPIRY_TEXTS);
62
+ const cvcTexts = inject(TUI_CARD_CVC_TEXTS);
63
+ const { desktopSmall } = inject(TUI_MEDIA);
64
+ const media = win.matchMedia(`screen and (min-width: ${(desktopSmall - 1) / 16}em)`);
65
+ return tuiTypedFromEvent(media, 'change').pipe(startWith(null), switchMap(() => combineLatest([
66
+ of(Number(media.matches)),
67
+ cardNumberTexts,
68
+ expiryTexts,
69
+ cvcTexts,
70
+ ])), map(([index, cardNumber, expiry, cvcTexts]) => ({
71
+ cardNumberText: cardNumber[index] ?? '',
72
+ expiryText: expiry[index] ?? '',
73
+ cvcText: cvcTexts[index] ?? '',
74
+ })));
75
+ },
72
76
  });
73
77
 
74
78
  class TuiInputCardGroup extends TuiControl {
@@ -226,11 +230,11 @@ class TuiInputCardGroup extends TuiControl {
226
230
  return this.isFocusable(this.card);
227
231
  }
228
232
  get masked() {
229
- return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';
233
+ return this.cardPrefilled ? `${this.card.slice(-4)}` : '';
230
234
  }
231
235
  onCardChange(card) {
232
236
  const { value, bin } = this;
233
- const parsed = card.split(' ').join('');
237
+ const parsed = card.split(CHAR_NO_BREAK_SPACE).join('');
234
238
  if (value()?.card === parsed) {
235
239
  return;
236
240
  }
@@ -252,10 +256,12 @@ class TuiInputCardGroup extends TuiControl {
252
256
  onCVCChange(cvc) {
253
257
  this.updateProperty(cvc, 'cvc');
254
258
  }
255
- transform({ offsetWidth }) {
256
- return this.cardCollapsed ? `translate3d(${offsetWidth}px, 0, 0)` : '';
259
+ getStyle({ offsetWidth }) {
260
+ return this.cardCollapsed
261
+ ? `transform: translate3d(calc(${offsetWidth}px * var(--t-inline)), 0, 0); clip-path: inset(0 0 0 calc(100% - ${offsetWidth}px));`
262
+ : '';
257
263
  }
258
- onMouseDown(event) {
264
+ onPointerDown(event) {
259
265
  if (tuiIsElement(event.target) && tuiIsInput(event.target)) {
260
266
  return;
261
267
  }
@@ -263,7 +269,7 @@ class TuiInputCardGroup extends TuiControl {
263
269
  this.focusInput();
264
270
  }
265
271
  toggle() {
266
- this.open.set(!this.open());
272
+ this.open.update((open) => !open);
267
273
  }
268
274
  isFocusable(card) {
269
275
  return this.cardValidator(card) || this.cardPrefilled;
@@ -290,12 +296,12 @@ class TuiInputCardGroup extends TuiControl {
290
296
  element?.focus();
291
297
  }
292
298
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCardGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
293
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputCardGroup, isStandalone: true, selector: "tui-input-card-group", inputs: { exampleText: "exampleText", placeholder: "placeholder", inputs: "inputs", cardValidator: "cardValidator", icon: "icon", id: "id", autocomplete: "autocomplete", codeLength: "codeLength" }, outputs: { binChange: "binChange" }, host: { attributes: { "data-size": "l" }, listeners: { "mousedown": "onMouseDown($event)", "scroll.zoneless": "$event.target.scrollLeft = 0" }, properties: { "style.--tui-duration.s": "0" } }, providers: [
299
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputCardGroup, isStandalone: true, selector: "tui-input-card-group", inputs: { exampleText: "exampleText", placeholder: "placeholder", inputs: "inputs", cardValidator: "cardValidator", icon: "icon", id: "id", autocomplete: "autocomplete", codeLength: "codeLength" }, outputs: { binChange: "binChange" }, host: { attributes: { "data-size": "l" }, listeners: { "pointerdown": "onPointerDown($event)", "scroll.zoneless": "$event.target.scrollLeft = 0" }, properties: { "style.--tui-duration.s": "0" } }, providers: [
294
300
  tuiAsDataListHost(TuiInputCardGroup),
295
301
  tuiAsControl(TuiInputCardGroup),
296
302
  tuiDropdownOptionsProvider({ limitWidth: 'fixed' }),
297
303
  TuiHoveredService,
298
- ], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true, static: true }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true, static: true }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiAppearance }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithTextfieldDropdown }, { directive: i2.TuiWithDropdownOpen }], ngImport: i0, template: "<div class=\"t-wrapper\">\n <label\n *tuiLet=\"value()?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n (click.zoneless.prevent)=\"(0)\"\n >\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 [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 || exampleText\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardFocusable ? 0 : -1\"\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]=\"masked\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <div\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts()?.cardNumberText }}\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' : '\u2022\u2022/\u2022\u2022'\"\n [readOnly]=\"readOnly() || !inputs.expire\"\n [tabIndex]=\"expireFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\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]=\"maskCVC\"\n [ngModel]=\"cvc\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [readOnly]=\"readOnly() || cvcPrefilled\"\n [tabIndex]=\"cvcFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\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 <div\n *ngIf=\"content\"\n class=\"t-icon-outlet\"\n >\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 <tui-icon\n *ngIf=\"hasCleaner()\"\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n <tui-icon\n *ngIf=\"dropdown._content()\"\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n (click)=\"toggle()\"\n />\n</div>\n", styles: ["@keyframes outside{0%{transform:translate3d(var(--t-translate),0,0)}to{transform:translate3d(100%,0,0)}}@keyframes inside{0%{transform:translate3d(100%,0,0)}to{transform:translate3d(var(--t-translate),0,0)}}:host{position:relative;display:block;block-size:var(--tui-height-l);inline-size:29.5rem;border-radius:var(--tui-radius-l);overflow:hidden;--t-translate: 6.5625rem}:host :host-context(tui-root._mobile){inline-size:18rem;--t-translate: 4.125rem}:host[tuiAppearance][data-appearance]:has(:-webkit-autofill){background:var(--tui-service-autofill-background)!important}.t-wrapper{position:absolute;inline-size:100%;block-size:100%;transition:opacity 0s var(--tui-duration)}.t-wrapper_cvc,.t-wrapper_expire{opacity:0;pointer-events:none;animation:outside var(--tui-duration) ease-in-out}.t-wrapper_cvc{margin-inline-start:7.1875rem}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-inline-start:4.0625rem}.t-wrapper_active{transition:none;pointer-events:auto;opacity:1;animation:inside var(--tui-duration) ease-in-out forwards}.t-card{inline-size:2rem;block-size:2rem}.t-collapsed{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;padding:1.25rem var(--tui-padding-l) 0;box-sizing:border-box;font:var(--tui-font-text-m);line-height:2.25rem;color:var(--tui-text-primary);white-space:nowrap;pointer-events:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;inline-size:100%;block-size:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border:0;margin:0;padding:1.25rem var(--tui-padding-l) 0;outline:none;background:transparent;box-sizing:border-box;font:var(--tui-font-text-m);color:var(--tui-text-primary)}.t-input::placeholder{color:var(--tui-text-tertiary)}.t-input_prefilled::placeholder{color:var(--tui-text-primary)}.t-input[chrome-autofilled],.t-input:-webkit-autofill{-webkit-text-fill-color:var(--tui-text-primary)!important;caret-color:var(--tui-text-primary)!important;-webkit-transition:background-color 600000s 0s;transition:background-color 600000s 0s}.t-input.t-input.t-input_card:not(:-webkit-autofill):not(:focus:placeholder-shown),.t-input.t-input.t-input_card.t-input_filled{caret-color:var(--tui-text-primary);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input.t-input.t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-input_cvc_hidden{-webkit-text-security:disc}.t-icons{position:absolute;right:1rem;display:flex;align-items:center;block-size:100%;gap:.25rem}.t-icon-outlet{display:flex;margin-right:.25rem}.t-icon{cursor:pointer;border-width:.25rem}.t-label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;margin:1.125rem 1rem;font:var(--tui-font-text-m);line-height:1.25rem;color:var(--tui-text-secondary)}input:-webkit-autofill~.t-label,.t-label_raised{font-size:.8156rem;transform:translateY(-.7em)}:host([data-mode~=\"invalid\"]) input:-webkit-autofill~.t-label,:host([data-mode~=\"invalid\"]) .t-label_raised{color:var(--tui-text-negative)}:host([data-focus=\"true\"]) .t-label{color:var(--tui-text-primary)}.t-ghost{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "pipe", type: TuiFormatCardPipe, name: "tuiFormatCard" }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
304
+ ], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true, static: true }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true, static: true }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true, static: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiAppearance }, { directive: i2.TuiDropdownDirective }, { directive: i3.TuiWithTextfieldDropdown }, { directive: i2.TuiWithDropdownOpen }], ngImport: i0, template: "<div class=\"t-wrapper\">\n <label\n *tuiLet=\"value()?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n (click.zoneless.prevent)=\"(0)\"\n >\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 [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 || exampleText\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardFocusable ? 0 : -1\"\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]=\"masked\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style]=\"getStyle(ghost)\"\n [textContent]=\"formattedCard\"\n ></span>\n </span>\n </span>\n <div\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' : '\u2022\u2022/\u2022\u2022'\"\n [readOnly]=\"readOnly() || !inputs.expire\"\n [tabIndex]=\"expireFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\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]=\"maskCVC\"\n [ngModel]=\"cvc\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [readOnly]=\"readOnly() || cvcPrefilled\"\n [tabIndex]=\"cvcFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\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 <div\n *ngIf=\"content\"\n class=\"t-icon-outlet\"\n >\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 <tui-icon\n *ngIf=\"hasCleaner()\"\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n <tui-icon\n *ngIf=\"dropdown._content()\"\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n (click)=\"toggle()\"\n />\n</div>\n", styles: ["@keyframes outside{0%{transform:translate3d(calc(var(--t-translate) * var(--t-inline)),0,0)}to{transform:translate3d(calc(100% * var(--t-inline)),0,0)}}@keyframes inside{0%{transform:translate3d(calc(100% * var(--t-inline)),0,0)}to{transform:translate3d(calc(var(--t-translate) * var(--t-inline)),0,0)}}:host{position:relative;display:block;block-size:var(--tui-height-l);inline-size:29.5rem;border-radius:var(--tui-radius-l);overflow:hidden;--t-translate: 6.5625rem}:host :host-context(tui-root._mobile){inline-size:18rem;--t-translate: 4.125rem}:host[tuiAppearance][data-appearance]:has(:-webkit-autofill){background:var(--tui-service-autofill-background)!important}.t-wrapper{position:absolute;inline-size:100%;block-size:100%;transition:opacity 0s var(--tui-duration)}.t-wrapper_cvc,.t-wrapper_expire{opacity:0;pointer-events:none;animation:outside var(--tui-duration) ease-in-out}.t-wrapper_cvc{margin-inline-start:7.1875rem}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-inline-start:4.0625rem}.t-wrapper_active{transition:none;pointer-events:auto;opacity:1;animation:inside var(--tui-duration) ease-in-out forwards}.t-card{inline-size:2rem;block-size:2rem}.t-collapsed{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;padding:1.25rem var(--tui-padding-l) 0;box-sizing:border-box;font:var(--tui-font-text-m);line-height:2.25rem;color:var(--tui-text-primary);white-space:nowrap;pointer-events:none}.t-collapsed:after{content:\"*\";float:left;opacity:0}:host-context([dir=\"rtl\"]) .t-collapsed:after{float:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask:after{opacity:1}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask:after{transition:opacity 0s var(--tui-duration)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask .t-collapsed-wrapper{left:unset}.t-collapsed-wrapper{position:absolute;top:0;display:block;inline-size:100%;block-size:100%;overflow:hidden}.t-value{transition-property:transform,clip-path;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;clip-path:inset(0);transform:translate3d(calc(100% * var(--t-inline)),0,0)}:host-context([dir=\"rtl\"]) .t-value{right:unset;left:100%;transform:translate3d(calc(100% * var(--t-inline)),0,0)!important}.t-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border:0;margin:0;padding:1.25rem var(--tui-padding-l) 0;outline:none;background:transparent;box-sizing:border-box;font:var(--tui-font-text-m);color:var(--tui-text-primary);direction:ltr}:host-context([dir=\"rtl\"]) .t-input{text-align:end}.t-input::placeholder{color:var(--tui-text-tertiary)}.t-input_prefilled::placeholder{color:var(--tui-text-primary)}.t-input[chrome-autofilled],.t-input:-webkit-autofill{-webkit-text-fill-color:var(--tui-text-primary)!important;caret-color:var(--tui-text-primary)!important;-webkit-transition:background-color 600000s 0s;transition:background-color 600000s 0s}.t-input.t-input.t-input_card:not(:-webkit-autofill):not(:focus:placeholder-shown),.t-input.t-input.t-input_card.t-input_filled{caret-color:var(--tui-text-primary);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input.t-input.t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-60rem;top:-60rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-input_cvc_hidden{-webkit-text-security:disc}.t-icons{position:absolute;right:1rem;display:flex;align-items:center;block-size:100%;gap:.25rem}@supports (inset-inline-end: 0){.t-icons{right:unset;inset-inline-end:1rem}}.t-icon-outlet{display:flex;margin-inline-end:.25rem}.t-icon{cursor:pointer;border-width:.25rem}.t-label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;margin:1.125rem 1rem;font:var(--tui-font-text-m);line-height:1.25rem;color:var(--tui-text-secondary)}.t-label:empty:before{content:attr(data-label)}input:-webkit-autofill~.t-label,.t-label_raised{font-size:.83rem;transform:translateY(-.7rem)}:host([data-mode~=\"invalid\"]) input:-webkit-autofill~.t-label,:host([data-mode~=\"invalid\"]) .t-label_raised{color:var(--tui-text-negative)}:host([data-focus=\"true\"]) .t-label{color:var(--tui-text-primary)}.t-ghost{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "pipe", type: TuiFormatCardPipe, name: "tuiFormatCard" }, { kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["box"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
299
305
  }
300
306
  __decorate([
301
307
  tuiPure
@@ -331,9 +337,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
331
337
  ], host: {
332
338
  'data-size': 'l',
333
339
  '[style.--tui-duration.s]': '0',
334
- '(mousedown)': 'onMouseDown($event)',
340
+ '(pointerdown)': 'onPointerDown($event)',
335
341
  '(scroll.zoneless)': '$event.target.scrollLeft = 0',
336
- }, template: "<div class=\"t-wrapper\">\n <label\n *tuiLet=\"value()?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n (click.zoneless.prevent)=\"(0)\"\n >\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 [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 || exampleText\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardFocusable ? 0 : -1\"\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]=\"masked\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <div\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts()?.cardNumberText }}\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' : '\u2022\u2022/\u2022\u2022'\"\n [readOnly]=\"readOnly() || !inputs.expire\"\n [tabIndex]=\"expireFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\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]=\"maskCVC\"\n [ngModel]=\"cvc\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [readOnly]=\"readOnly() || cvcPrefilled\"\n [tabIndex]=\"cvcFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\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 <div\n *ngIf=\"content\"\n class=\"t-icon-outlet\"\n >\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 <tui-icon\n *ngIf=\"hasCleaner()\"\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n <tui-icon\n *ngIf=\"dropdown._content()\"\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n (click)=\"toggle()\"\n />\n</div>\n", styles: ["@keyframes outside{0%{transform:translate3d(var(--t-translate),0,0)}to{transform:translate3d(100%,0,0)}}@keyframes inside{0%{transform:translate3d(100%,0,0)}to{transform:translate3d(var(--t-translate),0,0)}}:host{position:relative;display:block;block-size:var(--tui-height-l);inline-size:29.5rem;border-radius:var(--tui-radius-l);overflow:hidden;--t-translate: 6.5625rem}:host :host-context(tui-root._mobile){inline-size:18rem;--t-translate: 4.125rem}:host[tuiAppearance][data-appearance]:has(:-webkit-autofill){background:var(--tui-service-autofill-background)!important}.t-wrapper{position:absolute;inline-size:100%;block-size:100%;transition:opacity 0s var(--tui-duration)}.t-wrapper_cvc,.t-wrapper_expire{opacity:0;pointer-events:none;animation:outside var(--tui-duration) ease-in-out}.t-wrapper_cvc{margin-inline-start:7.1875rem}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-inline-start:4.0625rem}.t-wrapper_active{transition:none;pointer-events:auto;opacity:1;animation:inside var(--tui-duration) ease-in-out forwards}.t-card{inline-size:2rem;block-size:2rem}.t-collapsed{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;padding:1.25rem var(--tui-padding-l) 0;box-sizing:border-box;font:var(--tui-font-text-m);line-height:2.25rem;color:var(--tui-text-primary);white-space:nowrap;pointer-events:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;inline-size:100%;block-size:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border:0;margin:0;padding:1.25rem var(--tui-padding-l) 0;outline:none;background:transparent;box-sizing:border-box;font:var(--tui-font-text-m);color:var(--tui-text-primary)}.t-input::placeholder{color:var(--tui-text-tertiary)}.t-input_prefilled::placeholder{color:var(--tui-text-primary)}.t-input[chrome-autofilled],.t-input:-webkit-autofill{-webkit-text-fill-color:var(--tui-text-primary)!important;caret-color:var(--tui-text-primary)!important;-webkit-transition:background-color 600000s 0s;transition:background-color 600000s 0s}.t-input.t-input.t-input_card:not(:-webkit-autofill):not(:focus:placeholder-shown),.t-input.t-input.t-input_card.t-input_filled{caret-color:var(--tui-text-primary);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input.t-input.t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-62.4375rem;top:-62.4375rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-input_cvc_hidden{-webkit-text-security:disc}.t-icons{position:absolute;right:1rem;display:flex;align-items:center;block-size:100%;gap:.25rem}.t-icon-outlet{display:flex;margin-right:.25rem}.t-icon{cursor:pointer;border-width:.25rem}.t-label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;margin:1.125rem 1rem;font:var(--tui-font-text-m);line-height:1.25rem;color:var(--tui-text-secondary)}input:-webkit-autofill~.t-label,.t-label_raised{font-size:.8156rem;transform:translateY(-.7em)}:host([data-mode~=\"invalid\"]) input:-webkit-autofill~.t-label,:host([data-mode~=\"invalid\"]) .t-label_raised{color:var(--tui-text-negative)}:host([data-focus=\"true\"]) .t-label{color:var(--tui-text-primary)}.t-ghost{visibility:hidden}\n"] }]
342
+ }, template: "<div class=\"t-wrapper\">\n <label\n *tuiLet=\"value()?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n (click.zoneless.prevent)=\"(0)\"\n >\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 [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 || exampleText\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardFocusable ? 0 : -1\"\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]=\"masked\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style]=\"getStyle(ghost)\"\n [textContent]=\"formattedCard\"\n ></span>\n </span>\n </span>\n <div\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' : '\u2022\u2022/\u2022\u2022'\"\n [readOnly]=\"readOnly() || !inputs.expire\"\n [tabIndex]=\"expireFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\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]=\"maskCVC\"\n [ngModel]=\"cvc\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [readOnly]=\"readOnly() || cvcPrefilled\"\n [tabIndex]=\"cvcFocusable || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\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 <div\n *ngIf=\"content\"\n class=\"t-icon-outlet\"\n >\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 <tui-icon\n *ngIf=\"hasCleaner()\"\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n <tui-icon\n *ngIf=\"dropdown._content()\"\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n (click)=\"toggle()\"\n />\n</div>\n", styles: ["@keyframes outside{0%{transform:translate3d(calc(var(--t-translate) * var(--t-inline)),0,0)}to{transform:translate3d(calc(100% * var(--t-inline)),0,0)}}@keyframes inside{0%{transform:translate3d(calc(100% * var(--t-inline)),0,0)}to{transform:translate3d(calc(var(--t-translate) * var(--t-inline)),0,0)}}:host{position:relative;display:block;block-size:var(--tui-height-l);inline-size:29.5rem;border-radius:var(--tui-radius-l);overflow:hidden;--t-translate: 6.5625rem}:host :host-context(tui-root._mobile){inline-size:18rem;--t-translate: 4.125rem}:host[tuiAppearance][data-appearance]:has(:-webkit-autofill){background:var(--tui-service-autofill-background)!important}.t-wrapper{position:absolute;inline-size:100%;block-size:100%;transition:opacity 0s var(--tui-duration)}.t-wrapper_cvc,.t-wrapper_expire{opacity:0;pointer-events:none;animation:outside var(--tui-duration) ease-in-out}.t-wrapper_cvc{margin-inline-start:7.1875rem}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-inline-start:4.0625rem}.t-wrapper_active{transition:none;pointer-events:auto;opacity:1;animation:inside var(--tui-duration) ease-in-out forwards}.t-card{inline-size:2rem;block-size:2rem}.t-collapsed{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;padding:1.25rem var(--tui-padding-l) 0;box-sizing:border-box;font:var(--tui-font-text-m);line-height:2.25rem;color:var(--tui-text-primary);white-space:nowrap;pointer-events:none}.t-collapsed:after{content:\"*\";float:left;opacity:0}:host-context([dir=\"rtl\"]) .t-collapsed:after{float:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask:after{opacity:1}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask:after{transition:opacity 0s var(--tui-duration)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask .t-collapsed-wrapper{left:unset}.t-collapsed-wrapper{position:absolute;top:0;display:block;inline-size:100%;block-size:100%;overflow:hidden}.t-value{transition-property:transform,clip-path;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;clip-path:inset(0);transform:translate3d(calc(100% * var(--t-inline)),0,0)}:host-context([dir=\"rtl\"]) .t-value{right:unset;left:100%;transform:translate3d(calc(100% * var(--t-inline)),0,0)!important}.t-input{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;border:0;margin:0;padding:1.25rem var(--tui-padding-l) 0;outline:none;background:transparent;box-sizing:border-box;font:var(--tui-font-text-m);color:var(--tui-text-primary);direction:ltr}:host-context([dir=\"rtl\"]) .t-input{text-align:end}.t-input::placeholder{color:var(--tui-text-tertiary)}.t-input_prefilled::placeholder{color:var(--tui-text-primary)}.t-input[chrome-autofilled],.t-input:-webkit-autofill{-webkit-text-fill-color:var(--tui-text-primary)!important;caret-color:var(--tui-text-primary)!important;-webkit-transition:background-color 600000s 0s;transition:background-color 600000s 0s}.t-input.t-input.t-input_card:not(:-webkit-autofill):not(:focus:placeholder-shown),.t-input.t-input.t-input_card.t-input_filled{caret-color:var(--tui-text-primary);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input.t-input.t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;left:-60rem;top:-60rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-input_cvc_hidden{-webkit-text-security:disc}.t-icons{position:absolute;right:1rem;display:flex;align-items:center;block-size:100%;gap:.25rem}@supports (inset-inline-end: 0){.t-icons{right:unset;inset-inline-end:1rem}}.t-icon-outlet{display:flex;margin-inline-end:.25rem}.t-icon{cursor:pointer;border-width:.25rem}.t-label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;margin:1.125rem 1rem;font:var(--tui-font-text-m);line-height:1.25rem;color:var(--tui-text-secondary)}.t-label:empty:before{content:attr(data-label)}input:-webkit-autofill~.t-label,.t-label_raised{font-size:.83rem;transform:translateY(-.7rem)}:host([data-mode~=\"invalid\"]) input:-webkit-autofill~.t-label,:host([data-mode~=\"invalid\"]) .t-label_raised{color:var(--tui-text-negative)}:host([data-focus=\"true\"]) .t-label{color:var(--tui-text-primary)}.t-ghost{visibility:hidden}\n"] }]
337
343
  }], propDecorators: { inputCard: [{
338
344
  type: ViewChild,
339
345
  args: ['inputCard', { static: true }]