@taiga-ui/addon-commerce 3.26.0-dev.main-10c1e43 → 3.26.0-dev.main-365a136

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 (31) hide show
  1. package/bundles/taiga-ui-addon-commerce-components-card.umd.js +5 -11
  2. package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
  3. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +31 -44
  4. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +1 -7
  6. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
  7. package/bundles/taiga-ui-addon-commerce-utils.umd.js +390 -18
  8. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  9. package/components/input-card-grouped/input-card-grouped.component.d.ts +6 -4
  10. package/components/input-card-grouped/input-card-grouped.module.d.ts +2 -2
  11. package/esm2015/components/card/card.component.js +3 -8
  12. package/esm2015/components/input-card/input-card.providers.js +3 -9
  13. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +17 -34
  14. package/esm2015/components/input-card-grouped/input-card-grouped.module.js +5 -5
  15. package/esm2015/types/payment-system.js +1 -1
  16. package/esm2015/utils/get-payment-system.js +56 -22
  17. package/esm2015/utils/index.js +2 -1
  18. package/esm2015/utils/payment-system-icons.js +17 -0
  19. package/fesm2015/taiga-ui-addon-commerce-components-card.js +2 -7
  20. package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
  21. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +20 -37
  22. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  23. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +2 -8
  24. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  25. package/fesm2015/taiga-ui-addon-commerce-utils.js +73 -22
  26. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  27. package/package.json +4 -3
  28. package/types/payment-system.d.ts +1 -1
  29. package/utils/get-payment-system.d.ts +6 -1
  30. package/utils/index.d.ts +1 -0
  31. package/utils/payment-system-icons.d.ts +2 -0
@@ -1,27 +1,61 @@
1
- export function tuiGetPaymentSystem(cardNumber) {
1
+ // https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN)
2
+ export const TUI_BIN_TABLE = [
3
+ [`mir`, 2200, 2204],
4
+ [`mastercard`, 2221, 2720],
5
+ [`jcb`, 3528, 3589],
6
+ [`amex`, 34],
7
+ [`amex`, 37],
8
+ [`dinersclub`, 36],
9
+ [`electron`, 4026],
10
+ [`electron`, 4175],
11
+ [`electron`, 4405],
12
+ [`electron`, 4508],
13
+ [`electron`, 4844],
14
+ [`electron`, 4913],
15
+ [`electron`, 4917],
16
+ [`visa`, 4],
17
+ [`verve`, 506099, 506198],
18
+ [`verve`, 507865, 507964],
19
+ [`maestro`, 5018],
20
+ [`maestro`, 5020],
21
+ [`maestro`, 5038],
22
+ [`maestro`, 5090],
23
+ [`maestro`, 5890],
24
+ [`maestro`, 5893],
25
+ [`rupay`, 508],
26
+ [`maestro`, 50],
27
+ [`dinersclub`, 54],
28
+ [`mastercard`, 51, 55],
29
+ [`maestro`, 56],
30
+ [`maestro`, 58],
31
+ [`mastercard`, 5],
32
+ [`maestro`, 6000],
33
+ [`maestro`, 6304],
34
+ [`maestro`, 6759, 6763],
35
+ [`verve`, 650002, 650027],
36
+ [`maestro`, 676770],
37
+ [`maestro`, 676774],
38
+ [`discover`, 644, 649],
39
+ [`discover`, 6011],
40
+ [`rupay`, 60],
41
+ [`unionpay`, 62],
42
+ [`discover`, 65],
43
+ [`maestro`, 6],
44
+ [`rupay`, 81, 82],
45
+ [`uzcard`, 8600],
46
+ [`humo`, 9860],
47
+ ];
48
+ export function tuiGetPaymentSystem(cardNumber, supported) {
49
+ var _a;
2
50
  if (!cardNumber) {
3
51
  return null;
4
52
  }
5
- const one = Number.parseInt(cardNumber[0], 10);
6
- const two = Number.parseInt(cardNumber.slice(0, 2), 10);
7
- const three = Number.parseInt(cardNumber.slice(0, 3), 10);
8
- const four = Number.parseInt(cardNumber.slice(0, 4), 10);
9
- if (tuiIsMaestro(three, two, one)) {
10
- return `maestro`;
11
- }
12
- if (tuiIsMastercard(four, two, one)) {
13
- return `mastercard`;
14
- }
15
- if (tuiIsMir(four)) {
16
- return `mir`;
17
- }
18
- if (tuiIsElectron(four)) {
19
- return `electron`;
20
- }
21
- if (tuiIsVisa(one)) {
22
- return `visa`;
23
- }
24
- return null;
53
+ const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {
54
+ const cardNumberNumeric = Number.parseInt(cardNumber.slice(0, String(start).length), 10);
55
+ const match = cardNumberNumeric >= start && cardNumberNumeric <= end;
56
+ return match && (!(supported === null || supported === void 0 ? void 0 : supported.length) || supported.includes(paymentSystem));
57
+ });
58
+ return (_a = row === null || row === void 0 ? void 0 : row[0]) !== null && _a !== void 0 ? _a : null;
25
59
  }
26
60
  export function tuiIsMaestro(three, two, one) {
27
61
  if (one === 6) {
@@ -70,4 +104,4 @@ export function tuiIsElectron(four) {
70
104
  export function tuiIsVisa(one) {
71
105
  return one === 4;
72
106
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBheW1lbnQtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdXRpbHMvZ2V0LXBheW1lbnQtc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxVQUEwQjtJQUMxRCxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2IsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXpELElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDL0IsT0FBTyxTQUFTLENBQUM7S0FDcEI7SUFFRCxJQUFJLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1FBQ2pDLE9BQU8sWUFBWSxDQUFDO0tBQ3ZCO0lBRUQsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDaEIsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQixPQUFPLFVBQVUsQ0FBQztLQUNyQjtJQUVELElBQUksU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2hCLE9BQU8sTUFBTSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2hFLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRTtRQUN0QyxPQUFPLElBQUksQ0FBQztLQUNmO0lBRUQsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFO1FBQ2IsT0FBTyxLQUFLLENBQUM7S0FDaEI7SUFFRCxPQUFPLEtBQUssR0FBRyxHQUFHLENBQUM7QUFDdkIsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBWSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2xFLElBQUksR0FBRyxLQUFLLENBQUMsRUFBRTtRQUNYLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7UUFDYixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE9BQU8sSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVk7SUFDakMsT0FBTyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN0QyxRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSTtZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2hCO1lBQ0ksT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXO0lBQ2pDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpR2V0UGF5bWVudFN5c3RlbShjYXJkTnVtYmVyPzogc3RyaW5nIHwgbnVsbCk6IFR1aVBheW1lbnRTeXN0ZW0gfCBudWxsIHtcbiAgICBpZiAoIWNhcmROdW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgb25lID0gTnVtYmVyLnBhcnNlSW50KGNhcmROdW1iZXJbMF0sIDEwKTtcbiAgICBjb25zdCB0d28gPSBOdW1iZXIucGFyc2VJbnQoY2FyZE51bWJlci5zbGljZSgwLCAyKSwgMTApO1xuICAgIGNvbnN0IHRocmVlID0gTnVtYmVyLnBhcnNlSW50KGNhcmROdW1iZXIuc2xpY2UoMCwgMyksIDEwKTtcbiAgICBjb25zdCBmb3VyID0gTnVtYmVyLnBhcnNlSW50KGNhcmROdW1iZXIuc2xpY2UoMCwgNCksIDEwKTtcblxuICAgIGlmICh0dWlJc01hZXN0cm8odGhyZWUsIHR3bywgb25lKSkge1xuICAgICAgICByZXR1cm4gYG1hZXN0cm9gO1xuICAgIH1cblxuICAgIGlmICh0dWlJc01hc3RlcmNhcmQoZm91ciwgdHdvLCBvbmUpKSB7XG4gICAgICAgIHJldHVybiBgbWFzdGVyY2FyZGA7XG4gICAgfVxuXG4gICAgaWYgKHR1aUlzTWlyKGZvdXIpKSB7XG4gICAgICAgIHJldHVybiBgbWlyYDtcbiAgICB9XG5cbiAgICBpZiAodHVpSXNFbGVjdHJvbihmb3VyKSkge1xuICAgICAgICByZXR1cm4gYGVsZWN0cm9uYDtcbiAgICB9XG5cbiAgICBpZiAodHVpSXNWaXNhKG9uZSkpIHtcbiAgICAgICAgcmV0dXJuIGB2aXNhYDtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUlzTWFlc3Rybyh0aHJlZTogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPT09IDUwIHx8ICh0d28gPiA1NSAmJiB0d28gPCA1OSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRocmVlIDwgNTAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyZWUgPCA1MTA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc01hc3RlcmNhcmQoZm91cjogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA1KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPCAxMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR3byA+IDUwICYmIHR3byA8IDU2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChmb3VyIDwgMTAwMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdXIgPiAyMjIwICYmIGZvdXIgPCAyNzIxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNNaXIoZm91cjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZvdXIgPiAyMTk5ICYmIGZvdXIgPCAyMjA1O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNFbGVjdHJvbihmb3VyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGZvdXIpIHtcbiAgICAgICAgY2FzZSA0MDI2OlxuICAgICAgICBjYXNlIDQxNzU6XG4gICAgICAgIGNhc2UgNDQwNTpcbiAgICAgICAgY2FzZSA0NTA4OlxuICAgICAgICBjYXNlIDQ4NDQ6XG4gICAgICAgIGNhc2UgNDkxMzpcbiAgICAgICAgY2FzZSA0OTE3OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNWaXNhKG9uZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9uZSA9PT0gNDtcbn1cbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBheW1lbnQtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdXRpbHMvZ2V0LXBheW1lbnQtc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxhQUFhLEdBRXRCO0lBQ0EsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuQixDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQzFCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ1osQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ1osQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDbEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDbEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDekIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO0lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7SUFDakIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO0lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FB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Q2Y7SUFFRCxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELElBQUksR0FBRyxHQUFHLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0tBQ2Y7SUFFRCxJQUFJLElBQUksR0FBRyxJQUFJLEVBQUU7UUFDYixPQUFPLEtBQUssQ0FBQztLQUNoQjtJQUVELE9BQU8sSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVk7SUFDakMsT0FBTyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBWTtJQUN0QyxRQUFRLElBQUksRUFBRTtRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSTtZQUNMLE9BQU8sSUFBSSxDQUFDO1FBQ2hCO1lBQ0ksT0FBTyxLQUFLLENBQUM7S0FDcEI7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFXO0lBQ2pDLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQztBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdHlwZXMnO1xuXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9QYXltZW50X2NhcmRfbnVtYmVyI0lzc3Vlcl9pZGVudGlmaWNhdGlvbl9udW1iZXJfKElJTilcbmV4cG9ydCBjb25zdCBUVUlfQklOX1RBQkxFOiBSZWFkb25seUFycmF5PFxuICAgIFtwYXltZW50U3lzdGVtOiBUdWlQYXltZW50U3lzdGVtLCBzdGFydDogbnVtYmVyLCBlbmQ/OiBudW1iZXJdXG4+ID0gW1xuICAgIFtgbWlyYCwgMjIwMCwgMjIwNF0sXG4gICAgW2BtYXN0ZXJjYXJkYCwgMjIyMSwgMjcyMF0sXG4gICAgW2BqY2JgLCAzNTI4LCAzNTg5XSxcbiAgICBbYGFtZXhgLCAzNF0sXG4gICAgW2BhbWV4YCwgMzddLFxuICAgIFtgZGluZXJzY2x1YmAsIDM2XSxcbiAgICBbYGVsZWN0cm9uYCwgNDAyNl0sXG4gICAgW2BlbGVjdHJvbmAsIDQxNzVdLFxuICAgIFtgZWxlY3Ryb25gLCA0NDA1XSxcbiAgICBbYGVsZWN0cm9uYCwgNDUwOF0sXG4gICAgW2BlbGVjdHJvbmAsIDQ4NDRdLFxuICAgIFtgZWxlY3Ryb25gLCA0OTEzXSxcbiAgICBbYGVsZWN0cm9uYCwgNDkxN10sXG4gICAgW2B2aXNhYCwgNF0sXG4gICAgW2B2ZXJ2ZWAsIDUwNjA5OSwgNTA2MTk4XSxcbiAgICBbYHZlcnZlYCwgNTA3ODY1LCA1MDc5NjRdLFxuICAgIFtgbWFlc3Ryb2AsIDUwMThdLFxuICAgIFtgbWFlc3Ryb2AsIDUwMjBdLFxuICAgIFtgbWFlc3Ryb2AsIDUwMzhdLFxuICAgIFtgbWFlc3Ryb2AsIDUwOTBdLFxuICAgIFtgbWFlc3Ryb2AsIDU4OTBdLFxuICAgIFtgbWFlc3Ryb2AsIDU4OTNdLFxuICAgIFtgcnVwYXlgLCA1MDhdLFxuICAgIFtgbWFlc3Ryb2AsIDUwXSxcbiAgICBbYGRpbmVyc2NsdWJgLCA1NF0sXG4gICAgW2BtYXN0ZXJjYXJkYCwgNTEsIDU1XSxcbiAgICBbYG1hZXN0cm9gLCA1Nl0sXG4gICAgW2BtYWVzdHJvYCwgNThdLFxuICAgIFtgbWFzdGVyY2FyZGAsIDVdLFxuICAgIFtgbWFlc3Ryb2AsIDYwMDBdLFxuICAgIFtgbWFlc3Ryb2AsIDYzMDRdLFxuICAgIFtgbWFlc3Ryb2AsIDY3NTksIDY3NjNdLFxuICAgIFtgdmVydmVgLCA2NTAwMDIsIDY1MDAyN10sXG4gICAgW2BtYWVzdHJvYCwgNjc2NzcwXSxcbiAgICBbYG1hZXN0cm9gLCA2NzY3NzRdLFxuICAgIFtgZGlzY292ZXJgLCA2NDQsIDY0OV0sXG4gICAgW2BkaXNjb3ZlcmAsIDYwMTFdLFxuICAgIFtgcnVwYXlgLCA2MF0sXG4gICAgW2B1bmlvbnBheWAsIDYyXSxcbiAgICBbYGRpc2NvdmVyYCwgNjVdLFxuICAgIFtgbWFlc3Ryb2AsIDZdLFxuICAgIFtgcnVwYXlgLCA4MSwgODJdLFxuICAgIFtgdXpjYXJkYCwgODYwMF0sXG4gICAgW2BodW1vYCwgOTg2MF0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpR2V0UGF5bWVudFN5c3RlbShcbiAgICBjYXJkTnVtYmVyPzogc3RyaW5nIHwgbnVsbCxcbiAgICBzdXBwb3J0ZWQ/OiBUdWlQYXltZW50U3lzdGVtW10sXG4pOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgaWYgKCFjYXJkTnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdyA9IFRVSV9CSU5fVEFCTEUuZmluZCgoW3BheW1lbnRTeXN0ZW0sIHN0YXJ0LCBlbmQgPSBzdGFydF0pID0+IHtcbiAgICAgICAgY29uc3QgY2FyZE51bWJlck51bWVyaWMgPSBOdW1iZXIucGFyc2VJbnQoXG4gICAgICAgICAgICBjYXJkTnVtYmVyLnNsaWNlKDAsIFN0cmluZyhzdGFydCkubGVuZ3RoKSxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG1hdGNoID0gY2FyZE51bWJlck51bWVyaWMgPj0gc3RhcnQgJiYgY2FyZE51bWJlck51bWVyaWMgPD0gZW5kO1xuXG4gICAgICAgIHJldHVybiBtYXRjaCAmJiAoIXN1cHBvcnRlZD8ubGVuZ3RoIHx8IHN1cHBvcnRlZC5pbmNsdWRlcyhwYXltZW50U3lzdGVtKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93Py5bMF0gPz8gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUlzTWFlc3Rybyh0aHJlZTogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPT09IDUwIHx8ICh0d28gPiA1NSAmJiB0d28gPCA1OSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRocmVlIDwgNTAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyZWUgPCA1MTA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc01hc3RlcmNhcmQoZm91cjogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA1KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPCAxMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR3byA+IDUwICYmIHR3byA8IDU2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChmb3VyIDwgMTAwMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdXIgPiAyMjIwICYmIGZvdXIgPCAyNzIxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNNaXIoZm91cjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZvdXIgPiAyMTk5ICYmIGZvdXIgPCAyMjA1O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNFbGVjdHJvbihmb3VyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGZvdXIpIHtcbiAgICAgICAgY2FzZSA0MDI2OlxuICAgICAgICBjYXNlIDQxNzU6XG4gICAgICAgIGNhc2UgNDQwNTpcbiAgICAgICAgY2FzZSA0NTA4OlxuICAgICAgICBjYXNlIDQ4NDQ6XG4gICAgICAgIGNhc2UgNDkxMzpcbiAgICAgICAgY2FzZSA0OTE3OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNWaXNhKG9uZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9uZSA9PT0gNDtcbn1cbiJdfQ==
@@ -6,4 +6,5 @@ export * from './get-payment-system';
6
6
  export * from './is-card-length-valid';
7
7
  export * from './is-card-number-valid';
8
8
  export * from './is-expire-valid';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NyZWF0ZS1hdXRvLWNvcnJlY3RlZC1leHBpcmUtcGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1jdXJyZW5jeSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jdXJyZW5jeS1ieS1jb2RlJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWN1cnJlbmN5LXN5bWJvbCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1wYXltZW50LXN5c3RlbSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWNhcmQtbGVuZ3RoLXZhbGlkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY2FyZC1udW1iZXItdmFsaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1leHBpcmUtdmFsaWQnO1xuIl19
9
+ export * from './payment-system-icons';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY3JlYXRlLWF1dG8tY29ycmVjdGVkLWV4cGlyZS1waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWN1cnJlbmN5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWN1cnJlbmN5LWJ5LWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY3VycmVuY3ktc3ltYm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBheW1lbnQtc3lzdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY2FyZC1sZW5ndGgtdmFsaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jYXJkLW51bWJlci12YWxpZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWV4cGlyZS12YWxpZCc7XG5leHBvcnQgKiBmcm9tICcuL3BheW1lbnQtc3lzdGVtLWljb25zJztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ export const TUI_PAYMENT_SYSTEM_ICONS = {
2
+ mir: `tuiIconMir`,
3
+ visa: `tuiIconVisa`,
4
+ electron: `tuiIconElectron`,
5
+ mastercard: `tuiIconMastercard`,
6
+ maestro: `tuiIconMaestro`,
7
+ amex: `tuiIconAmex`,
8
+ dinersclub: `tuiIconDinersClub`,
9
+ discover: `tuiIconDiscover`,
10
+ humo: `tuiIconHumo`,
11
+ jcb: `tuiIconJCB`,
12
+ rupay: `tuiIconRuPay`,
13
+ unionpay: `tuiIconUnionPay`,
14
+ uzcard: `tuiIconUzcard`,
15
+ verve: `tuiIconVerve`,
16
+ };
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1zeXN0ZW0taWNvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9wYXltZW50LXN5c3RlbS1pY29ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUM7SUFDdEUsR0FBRyxFQUFFLFlBQVk7SUFDakIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixVQUFVLEVBQUUsbUJBQW1CO0lBQy9CLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsVUFBVSxFQUFFLG1CQUFtQjtJQUMvQixRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLElBQUksRUFBRSxhQUFhO0lBQ25CLEdBQUcsRUFBRSxZQUFZO0lBQ2pCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsTUFBTSxFQUFFLGVBQWU7SUFDdkIsS0FBSyxFQUFFLGNBQWM7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IFRVSV9QQVlNRU5UX1NZU1RFTV9JQ09OUzogUmVjb3JkPFR1aVBheW1lbnRTeXN0ZW0sIHN0cmluZz4gPSB7XG4gICAgbWlyOiBgdHVpSWNvbk1pcmAsXG4gICAgdmlzYTogYHR1aUljb25WaXNhYCxcbiAgICBlbGVjdHJvbjogYHR1aUljb25FbGVjdHJvbmAsXG4gICAgbWFzdGVyY2FyZDogYHR1aUljb25NYXN0ZXJjYXJkYCxcbiAgICBtYWVzdHJvOiBgdHVpSWNvbk1hZXN0cm9gLFxuICAgIGFtZXg6IGB0dWlJY29uQW1leGAsXG4gICAgZGluZXJzY2x1YjogYHR1aUljb25EaW5lcnNDbHViYCxcbiAgICBkaXNjb3ZlcjogYHR1aUljb25EaXNjb3ZlcmAsXG4gICAgaHVtbzogYHR1aUljb25IdW1vYCxcbiAgICBqY2I6IGB0dWlJY29uSkNCYCxcbiAgICBydXBheTogYHR1aUljb25SdVBheWAsXG4gICAgdW5pb25wYXk6IGB0dWlJY29uVW5pb25QYXlgLFxuICAgIHV6Y2FyZDogYHR1aUljb25VemNhcmRgLFxuICAgIHZlcnZlOiBgdHVpSWNvblZlcnZlYCxcbn07XG4iXX0=
@@ -1,19 +1,14 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Component, ChangeDetectionStrategy, Input, HostBinding, NgModule } from '@angular/core';
4
+ import { TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/utils';
4
5
  import { tuiDefaultProp } from '@taiga-ui/cdk';
5
6
  import * as i1 from '@taiga-ui/core';
6
7
  import { TuiSvgModule } from '@taiga-ui/core';
7
8
  import * as i2 from '@angular/common';
8
9
  import { CommonModule } from '@angular/common';
9
10
 
10
- const icons = {
11
- mir: 'tuiIconMirMono',
12
- visa: 'tuiIconVisaMono',
13
- electron: 'tuiIconElectronMono',
14
- mastercard: 'tuiIconMastercard',
15
- maestro: 'tuiIconMaestro',
16
- };
11
+ const icons = Object.assign(Object.assign({}, TUI_PAYMENT_SYSTEM_ICONS), { mir: 'tuiIconMirMono', visa: 'tuiIconVisaMono', electron: 'tuiIconElectronMono' });
17
12
  class TuiCardComponent {
18
13
  constructor() {
19
14
  this.active = false;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-card.js","sources":["../../../projects/addon-commerce/components/card/card.component.ts","../../../projects/addon-commerce/components/card/card.template.html","../../../projects/addon-commerce/components/card/card.module.ts","../../../projects/addon-commerce/components/card/taiga-ui-addon-commerce-components-card.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nconst icons: Record<TuiPaymentSystem, string> = {\n mir: 'tuiIconMirMono',\n visa: 'tuiIconVisaMono',\n electron: 'tuiIconElectronMono',\n mastercard: 'tuiIconMastercard',\n maestro: 'tuiIconMaestro',\n};\n\n@Component({\n selector: 'tui-card',\n templateUrl: './card.template.html',\n styleUrls: ['./card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCardComponent {\n @Input()\n @HostBinding('class._active')\n @tuiDefaultProp()\n active = false;\n\n @Input()\n @tuiDefaultProp()\n brandLogo = '';\n\n @Input()\n @tuiDefaultProp(\n ({length}: string) => !length || length === 4,\n 'cardNumber should contain 4 symbols',\n )\n cardNumber = '';\n\n @Input()\n @tuiDefaultProp()\n paymentSystem: TuiPaymentSystem | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n get hasBrandLogo(): boolean {\n return !!this.brandLogo && this.size === 'm';\n }\n\n get paymentSystemLogo(): string {\n return this.paymentSystem ? icons[this.paymentSystem] : '';\n }\n}\n","<div class=\"t-front\">\n <tui-svg\n *ngIf=\"hasBrandLogo\"\n class=\"t-brand-logo\"\n [src]=\"brandLogo\"\n ></tui-svg>\n <span class=\"t-number\">{{ cardNumber }}</span>\n <tui-svg\n *ngIf=\"!!paymentSystem\"\n class=\"t-payment-system-logo\"\n [src]=\"paymentSystemLogo\"\n ></tui-svg>\n</div>\n<div class=\"t-back\"></div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiCardComponent} from './card.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiCardComponent],\n exports: [TuiCardComponent],\n})\nexport class TuiCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-card.js","sources":["../../../projects/addon-commerce/components/card/card.component.ts","../../../projects/addon-commerce/components/card/card.template.html","../../../projects/addon-commerce/components/card/card.module.ts","../../../projects/addon-commerce/components/card/taiga-ui-addon-commerce-components-card.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, HostBinding, Input} from '@angular/core';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/utils';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nconst icons: Record<TuiPaymentSystem, string> = {\n ...TUI_PAYMENT_SYSTEM_ICONS,\n mir: 'tuiIconMirMono',\n visa: 'tuiIconVisaMono',\n electron: 'tuiIconElectronMono',\n};\n\n@Component({\n selector: 'tui-card',\n templateUrl: './card.template.html',\n styleUrls: ['./card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCardComponent {\n @Input()\n @HostBinding('class._active')\n @tuiDefaultProp()\n active = false;\n\n @Input()\n @tuiDefaultProp()\n brandLogo = '';\n\n @Input()\n @tuiDefaultProp(\n ({length}: string) => !length || length === 4,\n 'cardNumber should contain 4 symbols',\n )\n cardNumber = '';\n\n @Input()\n @tuiDefaultProp()\n paymentSystem: TuiPaymentSystem | null = null;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n get hasBrandLogo(): boolean {\n return !!this.brandLogo && this.size === 'm';\n }\n\n get paymentSystemLogo(): string {\n return this.paymentSystem ? icons[this.paymentSystem] : '';\n }\n}\n","<div class=\"t-front\">\n <tui-svg\n *ngIf=\"hasBrandLogo\"\n class=\"t-brand-logo\"\n [src]=\"brandLogo\"\n ></tui-svg>\n <span class=\"t-number\">{{ cardNumber }}</span>\n <tui-svg\n *ngIf=\"!!paymentSystem\"\n class=\"t-payment-system-logo\"\n [src]=\"paymentSystemLogo\"\n ></tui-svg>\n</div>\n<div class=\"t-back\"></div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiCardComponent} from './card.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiCardComponent],\n exports: [TuiCardComponent],\n})\nexport class TuiCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { InjectionToken, inject, EventEmitter, ChangeDetectorRef, ElementRef, TemplateRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, Output, ContentChild, HostListener, NgModule } from '@angular/core';
4
- import * as i4 from '@angular/forms';
4
+ import * as i5 from '@angular/forms';
5
5
  import { NgControl, FormsModule } from '@angular/forms';
6
+ import { maskitoDateOptionsGenerator } from '@maskito/kit';
6
7
  import { TUI_INPUT_CARD_DEFAULT_OPTIONS, AbstractTuiInputCard } from '@taiga-ui/addon-commerce/components/input-card';
7
8
  import { tuiDefaultCardValidator, TUI_CARD_MASK } from '@taiga-ui/addon-commerce/constants';
8
- import { tuiCreateAutoCorrectedExpirePipe } from '@taiga-ui/addon-commerce/utils';
9
9
  import * as i3 from '@taiga-ui/cdk';
10
10
  import { tuiTypedFromEvent, tuiIsNativeFocusedIn, tuiIsElement, tuiIsInput, tuiIsNativeFocused, tuiAsFocusableItemAccessor, tuiAsControl, TuiAutoFocusDirective, tuiDefaultProp, tuiRequiredSetter, tuiPure, TuiFocusableModule, TuiActiveZoneModule, TuiMapperPipeModule, TuiPreventDefaultModule, TuiLetModule, TuiResizeModule, TuiAutoFocusModule } from '@taiga-ui/cdk';
11
11
  import * as i1 from '@taiga-ui/core';
@@ -17,8 +17,8 @@ import { combineLatest, of } from 'rxjs';
17
17
  import { startWith, switchMap, map } from 'rxjs/operators';
18
18
  import * as i2 from '@angular/common';
19
19
  import { CommonModule } from '@angular/common';
20
- import * as i5 from '@taiga-ui/kit';
21
- import { TextMaskModule } from '@taiga-ui/kit';
20
+ import * as i4 from '@maskito/angular';
21
+ import { MaskitoModule } from '@maskito/angular';
22
22
  import * as i6 from '@tinkoff/ng-polymorpheus';
23
23
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
24
24
  import * as i7 from '@taiga-ui/addon-commerce/pipes';
@@ -56,6 +56,7 @@ const tuiInputCardGroupedOptionsProvider = (options) => ({
56
56
  useValue: Object.assign(Object.assign({}, TUI_INPUT_CARD_GROUPED_DEFAULT_OPTIONS), options),
57
57
  });
58
58
 
59
+ const EXPIRE_COMPLETE_LENGTH = 5; // MM/YY
59
60
  class TuiInputCardGroupedComponent extends AbstractTuiInputCard {
60
61
  constructor(control, cdr, el, mode$, cardGroupedTexts$, controller, options) {
61
62
  super(control, cdr, options);
@@ -70,31 +71,20 @@ class TuiInputCardGroupedComponent extends AbstractTuiInputCard {
70
71
  this.exampleTextCVC = this.options.exampleTextCVC;
71
72
  this.maskCVC = {
72
73
  mask: new Array(3).fill(TUI_DIGIT_REGEXP),
73
- guide: false,
74
74
  };
75
75
  this.maskCard = {
76
76
  mask: TUI_CARD_MASK,
77
- guide: false,
78
- pipe: conformedValue => conformedValue.trim(),
79
- };
80
- this.maskExpire = {
81
- mask: [
82
- TUI_DIGIT_REGEXP,
83
- TUI_DIGIT_REGEXP,
84
- '/',
85
- TUI_DIGIT_REGEXP,
86
- TUI_DIGIT_REGEXP,
87
- ],
88
- pipe: tuiCreateAutoCorrectedExpirePipe(),
89
- guide: false,
90
77
  };
78
+ this.maskExpire = maskitoDateOptionsGenerator({
79
+ mode: 'mm/yy',
80
+ separator: '/',
81
+ });
91
82
  this.open = false;
92
83
  }
93
84
  set codeLength(length) {
94
85
  this.exampleTextCVC = '0'.repeat(length);
95
86
  this.maskCVC = {
96
87
  mask: new Array(length).fill(TUI_DIGIT_REGEXP),
97
- guide: false,
98
88
  };
99
89
  }
100
90
  get nativeFocusableElement() {
@@ -175,6 +165,10 @@ class TuiInputCardGroupedComponent extends AbstractTuiInputCard {
175
165
  get masked() {
176
166
  return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';
177
167
  }
168
+ get expireSelectionStart() {
169
+ var _a;
170
+ return ((_a = this.inputExpire) === null || _a === void 0 ? void 0 : _a.nativeElement.selectionStart) || 0;
171
+ }
178
172
  onEsc() {
179
173
  this.open = false;
180
174
  }
@@ -208,20 +202,9 @@ class TuiInputCardGroupedComponent extends AbstractTuiInputCard {
208
202
  }
209
203
  }
210
204
  onExpireChange(expire) {
211
- // @bad TODO: Workaround until mask pipe can replace chars and keep caret position
212
- // @bad TODO: Think about a solution without mask at all
213
- if (!this.inputExpire) {
214
- return;
215
- }
216
- if (parseInt(expire.slice(0, 2), 10) > 12) {
217
- expire = `12${expire.slice(2)}`;
218
- }
219
- if (expire.startsWith('00')) {
220
- expire = `01${expire.slice(2)}`;
221
- }
222
- this.inputExpire.nativeElement.value = expire;
223
205
  this.updateProperty(expire, 'expire');
224
- if (expire.length === 5) {
206
+ if (expire.length === EXPIRE_COMPLETE_LENGTH &&
207
+ this.expireSelectionStart >= EXPIRE_COMPLETE_LENGTH) {
225
208
  this.focusCVC();
226
209
  }
227
210
  }
@@ -309,7 +292,7 @@ TuiInputCardGroupedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12
309
292
  tuiAsDataListHost(TuiInputCardGroupedComponent),
310
293
  MODE_PROVIDER,
311
294
  TEXTFIELD_CONTROLLER_PROVIDER,
312
- ], queries: [{ propertyName: "dropdown", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "datalist", first: true, predicate: TuiDataListComponent, descendants: true }], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true }, { propertyName: "cardNumberAutofocusRef", first: true, predicate: ["inputCard"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true }, { propertyName: "expireCardAutofocusRef", first: true, predicate: ["inputExpire"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true }, { propertyName: "cvcCardAutofocusRef", first: true, predicate: ["inputCVC"], descendants: true, read: TuiAutoFocusDirective }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n (tuiResize)=\"(0)\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n", styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill: var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate(100%)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate(100%)}.t-wrapper_active{transform:translate(6.5625rem)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate(4.125rem)}.t-card{width:2rem;height:2rem;margin-right:.5rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;border:0;padding-left:1rem;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:hover,.t-collapsed:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-collapsed:-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select: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;width:100%;height: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:translate(100%)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;border:0;padding:0 1rem}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder,.t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .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-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:flex}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-icon,:host._disabled .t-icon{pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-ghost{visibility:hidden}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i1.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i1.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i1.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { 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]" }, { type: i3.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { type: i5.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.TuiResizeDirective, selector: "[tuiResize]", outputs: ["tuiResize"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe, "tuiFormatCard": i7.TuiFormatCardPipe, "tuiMapper": i3.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
295
+ ], queries: [{ propertyName: "dropdown", first: true, predicate: TuiDataListDirective, descendants: true, read: TemplateRef }, { propertyName: "datalist", first: true, predicate: TuiDataListComponent, descendants: true }], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true }, { propertyName: "cardNumberAutofocusRef", first: true, predicate: ["inputCard"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true }, { propertyName: "expireCardAutofocusRef", first: true, predicate: ["inputExpire"], descendants: true, read: TuiAutoFocusDirective }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true }, { propertyName: "cvcCardAutofocusRef", first: true, predicate: ["inputCVC"], descendants: true, read: TuiAutoFocusDirective }], usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n tuiWrapper\n tuiDropdownLimitWidth=\"fixed\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [tuiDropdownManual]=\"open\"\n [tuiDropdown]=\"dropdown || ''\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard : cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input t-input_card\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper : cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [maskito]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n translate=\"no\"\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n (tuiResize)=\"(0)\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(-tailLength)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style.transform]=\"transform(ghost)\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n class=\"t-input\"\n [tuiAutoFocus]=\"false\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [maskito]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n class=\"t-icon-outlet\"\n >\n <tui-svg\n *polymorpheusOutlet=\"icon as text\"\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"text\"\n ></tui-svg>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n tuiWrapper\n appearance=\"icon\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</div>\n", styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill: var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate(100%)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate(100%)}.t-wrapper_active{transform:translate(6.5625rem)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate(4.125rem)}.t-card{width:2rem;height:2rem;margin-right:.5rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;border:0;padding-left:1rem;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:hover,.t-collapsed:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-collapsed:-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-collapsed,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-collapsed:-webkit-autofill+.t-content .t-placeholder,.t-collapsed :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-collapsed,.t-collapsed :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select: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;width:100%;height: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:translate(100%)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;margin:0;border-radius:inherit;background:none;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end, 0) 0 var(--border-start, 0);border-inline-start-width:var(--border-start, 0);border-inline-end-width:var(--border-end, 0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;border:0;padding:0 1rem}.t-input:-webkit-autofill,.t-input:-webkit-autofill:hover,.t-input:-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}:host[data-mode=onDark] .t-input:-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:hover,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=\"onDark\"]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=\"onDark\"]):-webkit-autofill:focus{caret-color:var(--tui-base-09);border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}:host[data-size=s] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"s\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"s\"]):not(tui-text-area){padding:0 var(--tui-padding-s)}:host[data-size=l] .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size=\"l\"]):not(tui-text-area){padding:0 var(--tui-padding-l)}:host._disabled .t-input,.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled){pointer-events:none}:host[data-size=l]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.25rem}:host[data-size=l]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"l\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.8156rem;transform:translateY(-.625rem)}:host[data-size=m]:not(._label-outside) .t-input,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield){padding-top:1.125rem}:host[data-size=m]:not(._label-outside) .t-input:-webkit-autofill+.t-content .t-placeholder,.t-input :host-context(tui-primitive-textfield[data-size=\"m\"]:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.t-content .t-placeholder{font-size:.69rem;transform:translateY(-.5rem)}:host._hidden input.t-input,.t-input :host-context(tui-primitive-textfield._hidden){opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),:host[data-mode=onDark] .t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden)::placeholder,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden)::placeholder,.t-input_card:not(.t-input_hidden):-webkit-autofill,:host[data-mode=onDark] .t-input_card:not(.t-input_hidden):-webkit-autofill{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button,:host[data-mode=onDark] .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-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:flex}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;width:1.5rem;height:1.5rem;margin:0 0 0 .25rem;-webkit-margin-start:.25rem;margin-inline-start:.25rem;-webkit-margin-end:0;margin-inline-end:0;align-items:center;justify-content:center;box-sizing:border-box;cursor:pointer}:host._readonly .t-icon,:host._disabled .t-icon{pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size=m] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size=m]._focused._label-outside .t-placeholder,:host[data-size=l]._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size=l] .t-placeholder{font-size:.9375rem}:host[data-size=l] .t-placeholder_raised{font-size:.8156rem}:host[data-size=m]._focused:not(._label-outside) .t-placeholder,:host[data-size=l]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size=m][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size=l][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size=m][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size=l][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens: none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}.t-ghost{visibility:hidden}\n"], components: [{ type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i1.TuiDropdownOptionsDirective, selector: "[tuiDropdownAlign], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: ["tuiDropdownAlign", "tuiDropdownDirection", "tuiDropdownLimitWidth", "tuiDropdownMinHeight", "tuiDropdownMaxHeight", "tuiDropdownOffset"] }, { type: i1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i1.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i1.TuiDropdownPositionDirective, selector: "[tuiDropdown]:not([tuiDropdownCustomPosition]):not([tuiDropdownSided])" }, { type: i1.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i3.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i3.TuiLetDirective, selector: "[tuiLet]", inputs: ["tuiLet"] }, { type: i3.TuiPreventDefaultDirective, selector: "[tuiPreventDefault]", inputs: ["tuiPreventDefault"] }, { type: i4.MaskitoCva, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.TuiAutoFocusDirective, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { type: i3.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.TuiResizeDirective, selector: "[tuiResize]", outputs: ["tuiResize"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe, "tuiFormatCard": i7.TuiFormatCardPipe, "tuiMapper": i3.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
313
296
  __decorate([
314
297
  tuiDefaultProp()
315
298
  ], TuiInputCardGroupedComponent.prototype, "exampleText", void 0);
@@ -341,7 +324,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
341
324
  'data-size': 'l',
342
325
  },
343
326
  }]
344
- }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
327
+ }], ctorParameters: function () { return [{ type: i5.NgControl, decorators: [{
345
328
  type: Optional
346
329
  }, {
347
330
  type: Self
@@ -414,7 +397,7 @@ class TuiInputCardGroupedModule {
414
397
  TuiInputCardGroupedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardGroupedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
415
398
  TuiInputCardGroupedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardGroupedModule, declarations: [TuiInputCardGroupedComponent], imports: [CommonModule,
416
399
  FormsModule,
417
- TextMaskModule,
400
+ MaskitoModule,
418
401
  TuiFocusableModule,
419
402
  TuiSvgModule,
420
403
  TuiWrapperModule,
@@ -430,7 +413,7 @@ TuiInputCardGroupedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0
430
413
  TuiInputCardGroupedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardGroupedModule, imports: [[
431
414
  CommonModule,
432
415
  FormsModule,
433
- TextMaskModule,
416
+ MaskitoModule,
434
417
  TuiFocusableModule,
435
418
  TuiSvgModule,
436
419
  TuiWrapperModule,
@@ -450,7 +433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
450
433
  imports: [
451
434
  CommonModule,
452
435
  FormsModule,
453
- TextMaskModule,
436
+ MaskitoModule,
454
437
  TuiFocusableModule,
455
438
  TuiSvgModule,
456
439
  TuiWrapperModule,