@taiga-ui/addon-commerce 4.66.0 → 5.0.0-canary.856b30d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/components/index.d.ts +0 -2
- package/components/input-card/index.d.ts +3 -1
- package/components/input-card/input-card.component.d.ts +7 -13
- package/components/input-card/input-card.d.ts +7 -0
- package/components/input-card/input-cvc.directive.d.ts +10 -0
- package/components/input-card/input-expire.directive.d.ts +8 -0
- package/components/input-card-group/input-card-group.component.d.ts +33 -47
- package/components/input-card-group/input-card-group.directive.d.ts +3 -6
- package/components/input-card-group/input-card-group.options.d.ts +4 -7
- package/components/input-card-group/input-card-group.providers.d.ts +4 -5
- package/components/thumbnail-card/thumbnail-card.component.d.ts +5 -8
- package/components/thumbnail-card/thumbnail-card.options.d.ts +0 -2
- package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs +112 -203
- package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs +95 -66
- package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs +11 -26
- package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-components.mjs +0 -2
- package/fesm2022/taiga-ui-addon-commerce-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-constants.mjs +4 -26
- package/fesm2022/taiga-ui-addon-commerce-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs +27 -25
- package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-currency.mjs +6 -9
- package/fesm2022/taiga-ui-addon-commerce-pipes-currency.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs +18 -10
- package/fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-pipes-format-card.mjs +4 -7
- package/fesm2022/taiga-ui-addon-commerce-pipes-format-card.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-tokens.mjs +13 -14
- package/fesm2022/taiga-ui-addon-commerce-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-types.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-utils.mjs.map +1 -1
- package/fesm2022/taiga-ui-addon-commerce-validators.mjs.map +1 -1
- package/package.json +40 -79
- package/pipes/amount/amount.options.d.ts +1 -3
- package/pipes/amount/amount.pipe.d.ts +5 -2
- package/pipes/currency/currency.pipe.d.ts +2 -2
- package/pipes/decimal/decimal.pipe.d.ts +4 -2
- package/tokens/i18n.d.ts +4 -5
- package/components/input-card/input-card.options.d.ts +0 -12
- package/components/input-cvc/index.d.ts +0 -1
- package/components/input-cvc/input-cvc.directive.d.ts +0 -14
- package/components/input-expire/index.d.ts +0 -1
- package/components/input-expire/input-expire.directive.d.ts +0 -10
- package/esm2022/components/index.mjs +0 -6
- package/esm2022/components/input-card/index.mjs +0 -3
- package/esm2022/components/input-card/input-card.component.mjs +0 -86
- package/esm2022/components/input-card/input-card.options.mjs +0 -15
- package/esm2022/components/input-card/taiga-ui-addon-commerce-components-input-card.mjs +0 -5
- package/esm2022/components/input-card-group/index.mjs +0 -5
- package/esm2022/components/input-card-group/input-card-group.component.mjs +0 -335
- package/esm2022/components/input-card-group/input-card-group.directive.mjs +0 -30
- package/esm2022/components/input-card-group/input-card-group.options.mjs +0 -19
- package/esm2022/components/input-card-group/input-card-group.providers.mjs +0 -20
- package/esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs +0 -5
- package/esm2022/components/input-cvc/index.mjs +0 -2
- package/esm2022/components/input-cvc/input-cvc.directive.mjs +0 -47
- package/esm2022/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.mjs +0 -5
- package/esm2022/components/input-expire/index.mjs +0 -2
- package/esm2022/components/input-expire/input-expire.directive.mjs +0 -38
- package/esm2022/components/input-expire/taiga-ui-addon-commerce-components-input-expire.mjs +0 -5
- package/esm2022/components/taiga-ui-addon-commerce-components.mjs +0 -5
- package/esm2022/components/thumbnail-card/index.mjs +0 -3
- package/esm2022/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.mjs +0 -5
- package/esm2022/components/thumbnail-card/thumbnail-card.component.mjs +0 -35
- package/esm2022/components/thumbnail-card/thumbnail-card.options.mjs +0 -10
- package/esm2022/constants/default-card-validator.mjs +0 -3
- package/esm2022/constants/index.mjs +0 -6
- package/esm2022/constants/mask-card-holder.mjs +0 -51
- package/esm2022/constants/mask-card.mjs +0 -29
- package/esm2022/constants/mask-cvc.mjs +0 -5
- package/esm2022/constants/mask-expire.mjs +0 -6
- package/esm2022/constants/taiga-ui-addon-commerce-constants.mjs +0 -5
- package/esm2022/index.mjs +0 -8
- package/esm2022/pipes/amount/amount.options.mjs +0 -14
- package/esm2022/pipes/amount/amount.pipe.mjs +0 -45
- package/esm2022/pipes/amount/amount.types.mjs +0 -2
- package/esm2022/pipes/amount/amount.utils.mjs +0 -11
- package/esm2022/pipes/amount/index.mjs +0 -4
- package/esm2022/pipes/amount/taiga-ui-addon-commerce-pipes-amount.mjs +0 -5
- package/esm2022/pipes/currency/currency.pipe.mjs +0 -19
- package/esm2022/pipes/currency/index.mjs +0 -2
- package/esm2022/pipes/currency/taiga-ui-addon-commerce-pipes-currency.mjs +0 -5
- package/esm2022/pipes/decimal/decimal.pipe.mjs +0 -28
- package/esm2022/pipes/decimal/index.mjs +0 -2
- package/esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs +0 -5
- package/esm2022/pipes/format-card/format-card.pipe.mjs +0 -24
- package/esm2022/pipes/format-card/index.mjs +0 -2
- package/esm2022/pipes/format-card/taiga-ui-addon-commerce-pipes-format-card.mjs +0 -5
- package/esm2022/pipes/index.mjs +0 -5
- package/esm2022/pipes/taiga-ui-addon-commerce-pipes.mjs +0 -5
- package/esm2022/taiga-ui-addon-commerce.mjs +0 -5
- package/esm2022/tokens/i18n.mjs +0 -22
- package/esm2022/tokens/index.mjs +0 -3
- package/esm2022/tokens/payment-system-icons.mjs +0 -20
- package/esm2022/tokens/taiga-ui-addon-commerce-tokens.mjs +0 -5
- package/esm2022/types/currency-code.mjs +0 -410
- package/esm2022/types/currency-variants.mjs +0 -2
- package/esm2022/types/currency.mjs +0 -419
- package/esm2022/types/index.mjs +0 -3
- package/esm2022/types/payment-system.mjs +0 -2
- package/esm2022/types/taiga-ui-addon-commerce-types.mjs +0 -5
- package/esm2022/utils/format-currency.mjs +0 -12
- package/esm2022/utils/get-code-by-currency.mjs +0 -52
- package/esm2022/utils/get-currency-by-code.mjs +0 -52
- package/esm2022/utils/get-currency-symbol.mjs +0 -139
- package/esm2022/utils/get-payment-system.mjs +0 -105
- package/esm2022/utils/index.mjs +0 -9
- package/esm2022/utils/is-card-length-valid.mjs +0 -22
- package/esm2022/utils/is-card-number-valid.mjs +0 -18
- package/esm2022/utils/is-expire-valid.mjs +0 -10
- package/esm2022/utils/taiga-ui-addon-commerce-utils.mjs +0 -5
- package/esm2022/validators/card-expire.validator.mjs +0 -8
- package/esm2022/validators/card-number.validator.mjs +0 -8
- package/esm2022/validators/index.mjs +0 -4
- package/esm2022/validators/luhn.validator.mjs +0 -6
- package/esm2022/validators/taiga-ui-addon-commerce-validators.mjs +0 -5
- package/fesm2022/taiga-ui-addon-commerce-components-input-cvc.mjs +0 -53
- package/fesm2022/taiga-ui-addon-commerce-components-input-cvc.mjs.map +0 -1
- package/fesm2022/taiga-ui-addon-commerce-components-input-expire.mjs +0 -44
- package/fesm2022/taiga-ui-addon-commerce-components-input-expire.mjs.map +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { TuiCurrency, TuiCurrencyCode, } from '@taiga-ui/addon-commerce/types';
|
|
2
|
-
export function tuiGetCurrencySymbol(currency) {
|
|
3
|
-
switch (currency) {
|
|
4
|
-
case TuiCurrency.ArmenianDram:
|
|
5
|
-
case TuiCurrencyCode.ArmenianDram:
|
|
6
|
-
return '֏';
|
|
7
|
-
case TuiCurrency.AustralianDollar:
|
|
8
|
-
case TuiCurrencyCode.AustralianDollar:
|
|
9
|
-
return 'A$';
|
|
10
|
-
case TuiCurrency.AzerbaijaniManat:
|
|
11
|
-
case TuiCurrencyCode.AzerbaijaniManat:
|
|
12
|
-
return '₼';
|
|
13
|
-
case TuiCurrency.BahrainiDinar:
|
|
14
|
-
case TuiCurrencyCode.BahrainiDinar:
|
|
15
|
-
return 'BD';
|
|
16
|
-
case TuiCurrency.Baht:
|
|
17
|
-
case TuiCurrencyCode.Baht:
|
|
18
|
-
return '฿';
|
|
19
|
-
case TuiCurrency.BelarusianRuble:
|
|
20
|
-
case TuiCurrencyCode.BelarusianRuble:
|
|
21
|
-
return 'Br';
|
|
22
|
-
case TuiCurrency.BrazilianReal:
|
|
23
|
-
case TuiCurrencyCode.BrazilianReal:
|
|
24
|
-
return 'R$';
|
|
25
|
-
case TuiCurrency.CanadianDollar:
|
|
26
|
-
case TuiCurrencyCode.CanadianDollar:
|
|
27
|
-
return 'C$';
|
|
28
|
-
case TuiCurrency.CzechKoruna:
|
|
29
|
-
case TuiCurrencyCode.CzechKoruna:
|
|
30
|
-
return 'Kč';
|
|
31
|
-
case TuiCurrency.Dirham:
|
|
32
|
-
case TuiCurrencyCode.Dirham:
|
|
33
|
-
return 'Dh';
|
|
34
|
-
case TuiCurrency.Dollar:
|
|
35
|
-
case TuiCurrency.MexicanPeso:
|
|
36
|
-
case TuiCurrencyCode.Dollar:
|
|
37
|
-
case TuiCurrencyCode.MexicanPeso:
|
|
38
|
-
return '$';
|
|
39
|
-
case TuiCurrency.EastCaribbeanDollar:
|
|
40
|
-
case TuiCurrencyCode.EastCaribbeanDollar:
|
|
41
|
-
return 'EC$';
|
|
42
|
-
case TuiCurrency.Euro:
|
|
43
|
-
case TuiCurrencyCode.Euro:
|
|
44
|
-
return '€';
|
|
45
|
-
case TuiCurrency.Forint:
|
|
46
|
-
case TuiCurrencyCode.Forint:
|
|
47
|
-
return 'Ft';
|
|
48
|
-
case TuiCurrency.GeorgianLari:
|
|
49
|
-
case TuiCurrencyCode.GeorgianLari:
|
|
50
|
-
return '₾';
|
|
51
|
-
case TuiCurrency.HongKongDollar:
|
|
52
|
-
case TuiCurrencyCode.HongKongDollar:
|
|
53
|
-
return 'HK$';
|
|
54
|
-
case TuiCurrency.Hryvnia:
|
|
55
|
-
case TuiCurrencyCode.Hryvnia:
|
|
56
|
-
return '₴';
|
|
57
|
-
case TuiCurrency.IndianRupee:
|
|
58
|
-
case TuiCurrencyCode.IndianRupee:
|
|
59
|
-
return '₹';
|
|
60
|
-
case TuiCurrency.IndonesianRupiah:
|
|
61
|
-
case TuiCurrencyCode.IndonesianRupiah:
|
|
62
|
-
return 'Rp';
|
|
63
|
-
case TuiCurrency.IranianRial:
|
|
64
|
-
case TuiCurrencyCode.IranianRial:
|
|
65
|
-
return 'IR';
|
|
66
|
-
case TuiCurrency.IsraeliShekel:
|
|
67
|
-
case TuiCurrencyCode.IsraeliShekel:
|
|
68
|
-
return '₪';
|
|
69
|
-
case TuiCurrency.KyrgyzstanSom:
|
|
70
|
-
case TuiCurrencyCode.KyrgyzstanSom:
|
|
71
|
-
return 'c';
|
|
72
|
-
case TuiCurrency.MalaysianRinggit:
|
|
73
|
-
case TuiCurrencyCode.MalaysianRinggit:
|
|
74
|
-
return 'RM';
|
|
75
|
-
case TuiCurrency.MoldovanLeu:
|
|
76
|
-
case TuiCurrencyCode.MoldovanLeu:
|
|
77
|
-
return 'L';
|
|
78
|
-
case TuiCurrency.MongolianTugrik:
|
|
79
|
-
case TuiCurrencyCode.MongolianTugrik:
|
|
80
|
-
return '₮';
|
|
81
|
-
case TuiCurrency.NewTurkmenManat:
|
|
82
|
-
case TuiCurrencyCode.NewTurkmenManat:
|
|
83
|
-
return 'TMT';
|
|
84
|
-
case TuiCurrency.PolandZloty:
|
|
85
|
-
case TuiCurrencyCode.PolandZloty:
|
|
86
|
-
return 'zł';
|
|
87
|
-
case TuiCurrency.Pound:
|
|
88
|
-
case TuiCurrencyCode.Pound:
|
|
89
|
-
return '£';
|
|
90
|
-
case TuiCurrency.Ruble:
|
|
91
|
-
case TuiCurrencyCode.Ruble:
|
|
92
|
-
return '₽';
|
|
93
|
-
case TuiCurrency.SaudiRiyal:
|
|
94
|
-
case TuiCurrencyCode.SaudiRiyal:
|
|
95
|
-
return 'SR';
|
|
96
|
-
case TuiCurrency.SerbianDinar:
|
|
97
|
-
case TuiCurrencyCode.SerbianDinar:
|
|
98
|
-
return 'DIN';
|
|
99
|
-
case TuiCurrency.SingaporeDollar:
|
|
100
|
-
case TuiCurrencyCode.SingaporeDollar:
|
|
101
|
-
return 'S$';
|
|
102
|
-
case TuiCurrency.SouthAfricanRand:
|
|
103
|
-
case TuiCurrencyCode.SouthAfricanRand:
|
|
104
|
-
return 'R';
|
|
105
|
-
case TuiCurrency.SriLankanRupee:
|
|
106
|
-
case TuiCurrencyCode.SriLankanRupee:
|
|
107
|
-
return 'Rs.';
|
|
108
|
-
case TuiCurrency.SwissFranc:
|
|
109
|
-
case TuiCurrencyCode.SwissFranc:
|
|
110
|
-
return '₣';
|
|
111
|
-
case TuiCurrency.TajikistaniSomoni:
|
|
112
|
-
case TuiCurrencyCode.TajikistaniSomoni:
|
|
113
|
-
return 'SM';
|
|
114
|
-
case TuiCurrency.Tenge:
|
|
115
|
-
case TuiCurrencyCode.Tenge:
|
|
116
|
-
return '₸';
|
|
117
|
-
case TuiCurrency.TurkishLira:
|
|
118
|
-
case TuiCurrencyCode.TurkishLira:
|
|
119
|
-
return '₺';
|
|
120
|
-
case TuiCurrency.UzbekSum:
|
|
121
|
-
case TuiCurrencyCode.UzbekSum:
|
|
122
|
-
return "So'm";
|
|
123
|
-
case TuiCurrency.VietnameseDong:
|
|
124
|
-
case TuiCurrencyCode.VietnameseDong:
|
|
125
|
-
return 'đ';
|
|
126
|
-
case TuiCurrency.Won:
|
|
127
|
-
case TuiCurrencyCode.Won:
|
|
128
|
-
return '₩';
|
|
129
|
-
case TuiCurrency.Yen:
|
|
130
|
-
case TuiCurrencyCode.Yen:
|
|
131
|
-
return '¥';
|
|
132
|
-
case TuiCurrency.YuanRenminbi:
|
|
133
|
-
case TuiCurrencyCode.YuanRenminbi:
|
|
134
|
-
return 'CN¥';
|
|
135
|
-
default:
|
|
136
|
-
return null;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbmN5LXN5bWJvbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3V0aWxzL2dldC1jdXJyZW5jeS1zeW1ib2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFdBQVcsRUFDWCxlQUFlLEdBRWxCLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFFBQTZCO0lBQzlELFFBQVEsUUFBUSxFQUFFO1FBQ2QsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBQzlCLEtBQUssZUFBZSxDQUFDLFlBQVk7WUFDN0IsT0FBTyxHQUFHLENBQUM7UUFDZixLQUFLLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztRQUNsQyxLQUFLLGVBQWUsQ0FBQyxnQkFBZ0I7WUFDakMsT0FBTyxJQUFJLENBQUM7UUFDaEIsS0FBSyxXQUFXLENBQUMsZ0JBQWdCLENBQUM7UUFDbEMsS0FBSyxlQUFlLENBQUMsZ0JBQWdCO1lBQ2pDLE9BQU8sR0FBRyxDQUFDO1FBQ2YsS0FBSyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQy9CLEtBQUssZUFBZSxDQUFDLGFBQWE7WUFDOUIsT0FBTyxJQUFJLENBQUM7UUFDaEIsS0FBSyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3RCLEtBQUssZUFBZSxDQUFDLElBQUk7WUFDckIsT0FBTyxHQUFHLENBQUM7UUFDZixLQUFLLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFDakMsS0FBSyxlQUFlLENBQUMsZUFBZTtZQUNoQyxPQUFPLElBQUksQ0FBQztRQUNoQixLQUFLLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDL0IsS0FBSyxlQUFlLENBQUMsYUFBYTtZQUM5QixPQUFPLElBQUksQ0FBQztRQUNoQixLQUFLLFdBQVcsQ0FBQyxjQUFjLENBQUM7UUFDaEMsS0FBSyxlQUFlLENBQUMsY0FBYztZQUMvQixPQUFPLElBQUksQ0FBQztR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LE9BQU8sR0FBRyxDQUFDO1FBQ2YsS0FBSyxXQUFXLENBQUMsWUFBWSxDQUFDO1FBQzlCLEtBQUssZUFBZSxDQUFDLFlBQVk7WUFDN0IsT0FBTyxLQUFLLENBQUM7UUFDakI7WUFDSSxPQUFPLElBQUksQ0FBQztLQUNuQjtBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIFR1aUN1cnJlbmN5LFxuICAgIFR1aUN1cnJlbmN5Q29kZSxcbiAgICB0eXBlIFR1aUN1cnJlbmN5VmFyaWFudHMsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlHZXRDdXJyZW5jeVN5bWJvbChjdXJyZW5jeTogVHVpQ3VycmVuY3lWYXJpYW50cyk6IHN0cmluZyB8IG51bGwge1xuICAgIHN3aXRjaCAoY3VycmVuY3kpIHtcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5Bcm1lbmlhbkRyYW06XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkFybWVuaWFuRHJhbTpcbiAgICAgICAgICAgIHJldHVybiAn1o8nO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkF1c3RyYWxpYW5Eb2xsYXI6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkF1c3RyYWxpYW5Eb2xsYXI6XG4gICAgICAgICAgICByZXR1cm4gJ0EkJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5BemVyYmFpamFuaU1hbmF0OlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5BemVyYmFpamFuaU1hbmF0OlxuICAgICAgICAgICAgcmV0dXJuICfigrwnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkJhaHJhaW5pRGluYXI6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkJhaHJhaW5pRGluYXI6XG4gICAgICAgICAgICByZXR1cm4gJ0JEJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5CYWh0OlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5CYWh0OlxuICAgICAgICAgICAgcmV0dXJuICfguL8nO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkJlbGFydXNpYW5SdWJsZTpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuQmVsYXJ1c2lhblJ1YmxlOlxuICAgICAgICAgICAgcmV0dXJuICdCcic7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuQnJhemlsaWFuUmVhbDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuQnJhemlsaWFuUmVhbDpcbiAgICAgICAgICAgIHJldHVybiAnUiQnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkNhbmFkaWFuRG9sbGFyOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5DYW5hZGlhbkRvbGxhcjpcbiAgICAgICAgICAgIHJldHVybiAnQyQnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkN6ZWNoS29ydW5hOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5DemVjaEtvcnVuYTpcbiAgICAgICAgICAgIHJldHVybiAnS8SNJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5EaXJoYW06XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkRpcmhhbTpcbiAgICAgICAgICAgIHJldHVybiAnRGgnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkRvbGxhcjpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5NZXhpY2FuUGVzbzpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuRG9sbGFyOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5NZXhpY2FuUGVzbzpcbiAgICAgICAgICAgIHJldHVybiAnJCc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuRWFzdENhcmliYmVhbkRvbGxhcjpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuRWFzdENhcmliYmVhbkRvbGxhcjpcbiAgICAgICAgICAgIHJldHVybiAnRUMkJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5FdXJvOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5FdXJvOlxuICAgICAgICAgICAgcmV0dXJuICfigqwnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkZvcmludDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuRm9yaW50OlxuICAgICAgICAgICAgcmV0dXJuICdGdCc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuR2VvcmdpYW5MYXJpOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5HZW9yZ2lhbkxhcmk6XG4gICAgICAgICAgICByZXR1cm4gJ+KCvic7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuSG9uZ0tvbmdEb2xsYXI6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkhvbmdLb25nRG9sbGFyOlxuICAgICAgICAgICAgcmV0dXJuICdISyQnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkhyeXZuaWE6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkhyeXZuaWE6XG4gICAgICAgICAgICByZXR1cm4gJ+KCtCc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuSW5kaWFuUnVwZWU6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkluZGlhblJ1cGVlOlxuICAgICAgICAgICAgcmV0dXJuICfigrknO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LkluZG9uZXNpYW5SdXBpYWg6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkluZG9uZXNpYW5SdXBpYWg6XG4gICAgICAgICAgICByZXR1cm4gJ1JwJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5JcmFuaWFuUmlhbDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuSXJhbmlhblJpYWw6XG4gICAgICAgICAgICByZXR1cm4gJ0lSJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5Jc3JhZWxpU2hla2VsOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5Jc3JhZWxpU2hla2VsOlxuICAgICAgICAgICAgcmV0dXJuICfigqonO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Lkt5cmd5enN0YW5Tb206XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLkt5cmd5enN0YW5Tb206XG4gICAgICAgICAgICByZXR1cm4gJ2MnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Lk1hbGF5c2lhblJpbmdnaXQ6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLk1hbGF5c2lhblJpbmdnaXQ6XG4gICAgICAgICAgICByZXR1cm4gJ1JNJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5Nb2xkb3ZhbkxldTpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuTW9sZG92YW5MZXU6XG4gICAgICAgICAgICByZXR1cm4gJ0wnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Lk1vbmdvbGlhblR1Z3JpazpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuTW9uZ29saWFuVHVncmlrOlxuICAgICAgICAgICAgcmV0dXJuICfigq4nO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Lk5ld1R1cmttZW5NYW5hdDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuTmV3VHVya21lbk1hbmF0OlxuICAgICAgICAgICAgcmV0dXJuICdUTVQnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LlBvbGFuZFpsb3R5OlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5Qb2xhbmRabG90eTpcbiAgICAgICAgICAgIHJldHVybiAnesWCJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5Qb3VuZDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuUG91bmQ6XG4gICAgICAgICAgICByZXR1cm4gJ8KjJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5SdWJsZTpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuUnVibGU6XG4gICAgICAgICAgICByZXR1cm4gJ+KCvSc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuU2F1ZGlSaXlhbDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuU2F1ZGlSaXlhbDpcbiAgICAgICAgICAgIHJldHVybiAnU1InO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LlNlcmJpYW5EaW5hcjpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuU2VyYmlhbkRpbmFyOlxuICAgICAgICAgICAgcmV0dXJuICdESU4nO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LlNpbmdhcG9yZURvbGxhcjpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuU2luZ2Fwb3JlRG9sbGFyOlxuICAgICAgICAgICAgcmV0dXJuICdTJCc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuU291dGhBZnJpY2FuUmFuZDpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuU291dGhBZnJpY2FuUmFuZDpcbiAgICAgICAgICAgIHJldHVybiAnUic7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuU3JpTGFua2FuUnVwZWU6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLlNyaUxhbmthblJ1cGVlOlxuICAgICAgICAgICAgcmV0dXJuICdScy4nO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LlN3aXNzRnJhbmM6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLlN3aXNzRnJhbmM6XG4gICAgICAgICAgICByZXR1cm4gJ+KCoyc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuVGFqaWtpc3RhbmlTb21vbmk6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLlRhamlraXN0YW5pU29tb25pOlxuICAgICAgICAgICAgcmV0dXJuICdTTSc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuVGVuZ2U6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLlRlbmdlOlxuICAgICAgICAgICAgcmV0dXJuICfigrgnO1xuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5LlR1cmtpc2hMaXJhOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5UdXJraXNoTGlyYTpcbiAgICAgICAgICAgIHJldHVybiAn4oK6JztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5VemJla1N1bTpcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeUNvZGUuVXpiZWtTdW06XG4gICAgICAgICAgICByZXR1cm4gXCJTbydtXCI7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuVmlldG5hbWVzZURvbmc6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLlZpZXRuYW1lc2VEb25nOlxuICAgICAgICAgICAgcmV0dXJuICfEkSc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuV29uOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5Xb246XG4gICAgICAgICAgICByZXR1cm4gJ+KCqSc7XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3kuWWVuOlxuICAgICAgICBjYXNlIFR1aUN1cnJlbmN5Q29kZS5ZZW46XG4gICAgICAgICAgICByZXR1cm4gJ8KlJztcbiAgICAgICAgY2FzZSBUdWlDdXJyZW5jeS5ZdWFuUmVubWluYmk6XG4gICAgICAgIGNhc2UgVHVpQ3VycmVuY3lDb2RlLll1YW5SZW5taW5iaTpcbiAgICAgICAgICAgIHJldHVybiAnQ07CpSc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,105 +0,0 @@
|
|
|
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
|
-
['mastercard', 51, 55],
|
|
28
|
-
['maestro', 56],
|
|
29
|
-
['maestro', 58],
|
|
30
|
-
['mastercard', 5],
|
|
31
|
-
['maestro', 6000],
|
|
32
|
-
['maestro', 6304],
|
|
33
|
-
['maestro', 6759, 6763],
|
|
34
|
-
['verve', 650002, 650027],
|
|
35
|
-
['maestro', 676770],
|
|
36
|
-
['maestro', 676774],
|
|
37
|
-
['discover', 644, 649],
|
|
38
|
-
['discover', 6011],
|
|
39
|
-
['rupay', 60],
|
|
40
|
-
['unionpay', 62],
|
|
41
|
-
['discover', 65],
|
|
42
|
-
['maestro', 6],
|
|
43
|
-
['rupay', 81, 82],
|
|
44
|
-
['uzcard', 8600],
|
|
45
|
-
['humo', 9860],
|
|
46
|
-
];
|
|
47
|
-
export function tuiGetPaymentSystem(cardNumber, supported) {
|
|
48
|
-
if (!cardNumber) {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {
|
|
52
|
-
const cardNumberNumeric = Number.parseInt(cardNumber.slice(0, String(start).length), 10);
|
|
53
|
-
const match = cardNumberNumeric >= start && cardNumberNumeric <= end;
|
|
54
|
-
return match && (!supported?.length || supported.includes(paymentSystem));
|
|
55
|
-
});
|
|
56
|
-
return row?.[0] ?? null;
|
|
57
|
-
}
|
|
58
|
-
export function tuiIsMaestro(three, two, one) {
|
|
59
|
-
if (one === 6) {
|
|
60
|
-
return true;
|
|
61
|
-
}
|
|
62
|
-
if (two === 50 || (two > 55 && two < 59)) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
if (three < 500) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
return three < 510;
|
|
69
|
-
}
|
|
70
|
-
export function tuiIsMastercard(four, two, one) {
|
|
71
|
-
if (one === 5) {
|
|
72
|
-
return true;
|
|
73
|
-
}
|
|
74
|
-
if (two < 10) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
if (two > 50 && two < 56) {
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
if (four < 1000) {
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
return four > 2220 && four < 2721;
|
|
84
|
-
}
|
|
85
|
-
export function tuiIsMir(four) {
|
|
86
|
-
return four > 2199 && four < 2205;
|
|
87
|
-
}
|
|
88
|
-
export function tuiIsElectron(four) {
|
|
89
|
-
switch (four) {
|
|
90
|
-
case 4026:
|
|
91
|
-
case 4175:
|
|
92
|
-
case 4405:
|
|
93
|
-
case 4508:
|
|
94
|
-
case 4844:
|
|
95
|
-
case 4913:
|
|
96
|
-
case 4917:
|
|
97
|
-
return true;
|
|
98
|
-
default:
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
export function tuiIsVisa(one) {
|
|
103
|
-
return one === 4;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXBheW1lbnQtc3lzdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdXRpbHMvZ2V0LXBheW1lbnQtc3lzdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxhQUFhLEdBRXRCO0lBQ0EsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUNuQixDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO0lBQzFCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7SUFDbkIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ1osQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ1osQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDbEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUM7SUFDbEIsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDO0lBQ2xCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztJQUNsQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDekIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO0lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNqQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUM7SUFDakIsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDO0lBQ2pCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FB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QUFJLEdBQUcsR0FBRyxFQUFFLEVBQUU7UUFDdEIsT0FBTyxJQUFJLENBQUM7S0FDZjtJQUVELElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtRQUNiLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBWTtJQUNqQyxPQUFPLElBQUksR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZO0lBQ3RDLFFBQVEsSUFBSSxFQUFFO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJLENBQUM7UUFDVixLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssSUFBSSxDQUFDO1FBQ1YsS0FBSyxJQUFJO1lBQ0wsT0FBTyxJQUFJLENBQUM7UUFDaEI7WUFDSSxPQUFPLEtBQUssQ0FBQztLQUNwQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVc7SUFDakMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3R5cGUgVHVpUGF5bWVudFN5c3RlbX0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3R5cGVzJztcblxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUGF5bWVudF9jYXJkX251bWJlciNJc3N1ZXJfaWRlbnRpZmljYXRpb25fbnVtYmVyXyhJSU4pXG5leHBvcnQgY29uc3QgVFVJX0JJTl9UQUJMRTogUmVhZG9ubHlBcnJheTxcbiAgICBbcGF5bWVudFN5c3RlbTogVHVpUGF5bWVudFN5c3RlbSwgc3RhcnQ6IG51bWJlciwgZW5kPzogbnVtYmVyXVxuPiA9IFtcbiAgICBbJ21pcicsIDIyMDAsIDIyMDRdLFxuICAgIFsnbWFzdGVyY2FyZCcsIDIyMjEsIDI3MjBdLFxuICAgIFsnamNiJywgMzUyOCwgMzU4OV0sXG4gICAgWydhbWV4JywgMzRdLFxuICAgIFsnYW1leCcsIDM3XSxcbiAgICBbJ2RpbmVyc2NsdWInLCAzNl0sXG4gICAgWydlbGVjdHJvbicsIDQwMjZdLFxuICAgIFsnZWxlY3Ryb24nLCA0MTc1XSxcbiAgICBbJ2VsZWN0cm9uJywgNDQwNV0sXG4gICAgWydlbGVjdHJvbicsIDQ1MDhdLFxuICAgIFsnZWxlY3Ryb24nLCA0ODQ0XSxcbiAgICBbJ2VsZWN0cm9uJywgNDkxM10sXG4gICAgWydlbGVjdHJvbicsIDQ5MTddLFxuICAgIFsndmlzYScsIDRdLFxuICAgIFsndmVydmUnLCA1MDYwOTksIDUwNjE5OF0sXG4gICAgWyd2ZXJ2ZScsIDUwNzg2NSwgNTA3OTY0XSxcbiAgICBbJ21hZXN0cm8nLCA1MDE4XSxcbiAgICBbJ21hZXN0cm8nLCA1MDIwXSxcbiAgICBbJ21hZXN0cm8nLCA1MDM4XSxcbiAgICBbJ21hZXN0cm8nLCA1MDkwXSxcbiAgICBbJ21hZXN0cm8nLCA1ODkwXSxcbiAgICBbJ21hZXN0cm8nLCA1ODkzXSxcbiAgICBbJ3J1cGF5JywgNTA4XSxcbiAgICBbJ21hZXN0cm8nLCA1MF0sXG4gICAgWydtYXN0ZXJjYXJkJywgNTEsIDU1XSxcbiAgICBbJ21hZXN0cm8nLCA1Nl0sXG4gICAgWydtYWVzdHJvJywgNThdLFxuICAgIFsnbWFzdGVyY2FyZCcsIDVdLFxuICAgIFsnbWFlc3RybycsIDYwMDBdLFxuICAgIFsnbWFlc3RybycsIDYzMDRdLFxuICAgIFsnbWFlc3RybycsIDY3NTksIDY3NjNdLFxuICAgIFsndmVydmUnLCA2NTAwMDIsIDY1MDAyN10sXG4gICAgWydtYWVzdHJvJywgNjc2NzcwXSxcbiAgICBbJ21hZXN0cm8nLCA2NzY3NzRdLFxuICAgIFsnZGlzY292ZXInLCA2NDQsIDY0OV0sXG4gICAgWydkaXNjb3ZlcicsIDYwMTFdLFxuICAgIFsncnVwYXknLCA2MF0sXG4gICAgWyd1bmlvbnBheScsIDYyXSxcbiAgICBbJ2Rpc2NvdmVyJywgNjVdLFxuICAgIFsnbWFlc3RybycsIDZdLFxuICAgIFsncnVwYXknLCA4MSwgODJdLFxuICAgIFsndXpjYXJkJywgODYwMF0sXG4gICAgWydodW1vJywgOTg2MF0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpR2V0UGF5bWVudFN5c3RlbShcbiAgICBjYXJkTnVtYmVyPzogc3RyaW5nIHwgbnVsbCxcbiAgICBzdXBwb3J0ZWQ/OiBUdWlQYXltZW50U3lzdGVtW10sXG4pOiBUdWlQYXltZW50U3lzdGVtIHwgbnVsbCB7XG4gICAgaWYgKCFjYXJkTnVtYmVyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdyA9IFRVSV9CSU5fVEFCTEUuZmluZCgoW3BheW1lbnRTeXN0ZW0sIHN0YXJ0LCBlbmQgPSBzdGFydF0pID0+IHtcbiAgICAgICAgY29uc3QgY2FyZE51bWJlck51bWVyaWMgPSBOdW1iZXIucGFyc2VJbnQoXG4gICAgICAgICAgICBjYXJkTnVtYmVyLnNsaWNlKDAsIFN0cmluZyhzdGFydCkubGVuZ3RoKSxcbiAgICAgICAgICAgIDEwLFxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG1hdGNoID0gY2FyZE51bWJlck51bWVyaWMgPj0gc3RhcnQgJiYgY2FyZE51bWJlck51bWVyaWMgPD0gZW5kO1xuXG4gICAgICAgIHJldHVybiBtYXRjaCAmJiAoIXN1cHBvcnRlZD8ubGVuZ3RoIHx8IHN1cHBvcnRlZC5pbmNsdWRlcyhwYXltZW50U3lzdGVtKSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcm93Py5bMF0gPz8gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUlzTWFlc3Rybyh0aHJlZTogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPT09IDUwIHx8ICh0d28gPiA1NSAmJiB0d28gPCA1OSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRocmVlIDwgNTAwKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhyZWUgPCA1MTA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc01hc3RlcmNhcmQoZm91cjogbnVtYmVyLCB0d286IG51bWJlciwgb25lOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBpZiAob25lID09PSA1KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0d28gPCAxMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR3byA+IDUwICYmIHR3byA8IDU2KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChmb3VyIDwgMTAwMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdXIgPiAyMjIwICYmIGZvdXIgPCAyNzIxO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNNaXIoZm91cjogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZvdXIgPiAyMTk5ICYmIGZvdXIgPCAyMjA1O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNFbGVjdHJvbihmb3VyOiBudW1iZXIpOiBib29sZWFuIHtcbiAgICBzd2l0Y2ggKGZvdXIpIHtcbiAgICAgICAgY2FzZSA0MDI2OlxuICAgICAgICBjYXNlIDQxNzU6XG4gICAgICAgIGNhc2UgNDQwNTpcbiAgICAgICAgY2FzZSA0NTA4OlxuICAgICAgICBjYXNlIDQ4NDQ6XG4gICAgICAgIGNhc2UgNDkxMzpcbiAgICAgICAgY2FzZSA0OTE3OlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNWaXNhKG9uZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9uZSA9PT0gNDtcbn1cbiJdfQ==
|
package/esm2022/utils/index.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './format-currency';
|
|
2
|
-
export * from './get-code-by-currency';
|
|
3
|
-
export * from './get-currency-by-code';
|
|
4
|
-
export * from './get-currency-symbol';
|
|
5
|
-
export * from './get-payment-system';
|
|
6
|
-
export * from './is-card-length-valid';
|
|
7
|
-
export * from './is-card-number-valid';
|
|
8
|
-
export * from './is-expire-valid';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1jdXJyZW5jeSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jb2RlLWJ5LWN1cnJlbmN5JztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWN1cnJlbmN5LWJ5LWNvZGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY3VycmVuY3ktc3ltYm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LXBheW1lbnQtc3lzdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtY2FyZC1sZW5ndGgtdmFsaWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1jYXJkLW51bWJlci12YWxpZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWV4cGlyZS12YWxpZCc7XG4iXX0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { tuiGetPaymentSystem } from './get-payment-system';
|
|
2
|
-
/**
|
|
3
|
-
* Validates card number length using payment system dictionary
|
|
4
|
-
*/
|
|
5
|
-
export function tuiIsCardLengthValid(cardNumber) {
|
|
6
|
-
const { length } = cardNumber;
|
|
7
|
-
const paymentSystem = tuiGetPaymentSystem(cardNumber);
|
|
8
|
-
switch (paymentSystem) {
|
|
9
|
-
case 'electron':
|
|
10
|
-
return length === 16;
|
|
11
|
-
case 'maestro':
|
|
12
|
-
return length > 11 && length < 20;
|
|
13
|
-
case 'mastercard':
|
|
14
|
-
case 'mir':
|
|
15
|
-
return length > 15 && length < 20;
|
|
16
|
-
case 'visa':
|
|
17
|
-
return length > 12 && length < 20;
|
|
18
|
-
default:
|
|
19
|
-
return length > 8 && length < 20;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2FyZC1sZW5ndGgtdmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pcy1jYXJkLWxlbmd0aC12YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxVQUFrQjtJQUNuRCxNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsVUFBVSxDQUFDO0lBQzVCLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRXRELFFBQVEsYUFBYSxFQUFFO1FBQ25CLEtBQUssVUFBVTtZQUNYLE9BQU8sTUFBTSxLQUFLLEVBQUUsQ0FBQztRQUN6QixLQUFLLFNBQVM7WUFDVixPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxLQUFLLFlBQVksQ0FBQztRQUNsQixLQUFLLEtBQUs7WUFDTixPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QyxLQUFLLE1BQU07WUFDUCxPQUFPLE1BQU0sR0FBRyxFQUFFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUN0QztZQUNJLE9BQU8sTUFBTSxHQUFHLENBQUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0tBQ3hDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpR2V0UGF5bWVudFN5c3RlbX0gZnJvbSAnLi9nZXQtcGF5bWVudC1zeXN0ZW0nO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBjYXJkIG51bWJlciBsZW5ndGggdXNpbmcgcGF5bWVudCBzeXN0ZW0gZGljdGlvbmFyeVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHVpSXNDYXJkTGVuZ3RoVmFsaWQoY2FyZE51bWJlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qge2xlbmd0aH0gPSBjYXJkTnVtYmVyO1xuICAgIGNvbnN0IHBheW1lbnRTeXN0ZW0gPSB0dWlHZXRQYXltZW50U3lzdGVtKGNhcmROdW1iZXIpO1xuXG4gICAgc3dpdGNoIChwYXltZW50U3lzdGVtKSB7XG4gICAgICAgIGNhc2UgJ2VsZWN0cm9uJzpcbiAgICAgICAgICAgIHJldHVybiBsZW5ndGggPT09IDE2O1xuICAgICAgICBjYXNlICdtYWVzdHJvJzpcbiAgICAgICAgICAgIHJldHVybiBsZW5ndGggPiAxMSAmJiBsZW5ndGggPCAyMDtcbiAgICAgICAgY2FzZSAnbWFzdGVyY2FyZCc6XG4gICAgICAgIGNhc2UgJ21pcic6XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoID4gMTUgJiYgbGVuZ3RoIDwgMjA7XG4gICAgICAgIGNhc2UgJ3Zpc2EnOlxuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aCA+IDEyICYmIGxlbmd0aCA8IDIwO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGxlbmd0aCA+IDggJiYgbGVuZ3RoIDwgMjA7XG4gICAgfVxufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { TUI_NON_DIGITS_REGEXP } from '@taiga-ui/cdk/constants';
|
|
2
|
-
/**
|
|
3
|
-
* Validates card number using Luhn algorithm
|
|
4
|
-
*/
|
|
5
|
-
export function tuiIsCardNumberValid(value) {
|
|
6
|
-
const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');
|
|
7
|
-
const { length } = cardNumber;
|
|
8
|
-
const arr = cardNumber.split('').map((char, index) => {
|
|
9
|
-
const digit = parseInt(char, 10);
|
|
10
|
-
if ((index + length) % 2 === 0) {
|
|
11
|
-
const digitX2 = digit * 2;
|
|
12
|
-
return digitX2 > 9 ? digitX2 - 9 : digitX2;
|
|
13
|
-
}
|
|
14
|
-
return digit;
|
|
15
|
-
});
|
|
16
|
-
return !(arr.reduce((a, b) => a + b, 0) % 10);
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtY2FyZC1udW1iZXItdmFsaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy9pcy1jYXJkLW51bWJlci12YWxpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RDs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxLQUFzQjtJQUN2RCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxVQUFVLENBQUM7SUFDNUIsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDakQsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUUxQixPQUFPLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztTQUM5QztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VFVJX05PTl9ESUdJVFNfUkVHRVhQfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5cbi8qKlxuICogVmFsaWRhdGVzIGNhcmQgbnVtYmVyIHVzaW5nIEx1aG4gYWxnb3JpdGhtXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc0NhcmROdW1iZXJWYWxpZCh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2FyZE51bWJlciA9IFN0cmluZyh2YWx1ZSkucmVwbGFjZShUVUlfTk9OX0RJR0lUU19SRUdFWFAsICcnKTtcblxuICAgIGNvbnN0IHtsZW5ndGh9ID0gY2FyZE51bWJlcjtcbiAgICBjb25zdCBhcnIgPSBjYXJkTnVtYmVyLnNwbGl0KCcnKS5tYXAoKGNoYXIsIGluZGV4KSA9PiB7XG4gICAgICAgIGNvbnN0IGRpZ2l0ID0gcGFyc2VJbnQoY2hhciwgMTApO1xuXG4gICAgICAgIGlmICgoaW5kZXggKyBsZW5ndGgpICUgMiA9PT0gMCkge1xuICAgICAgICAgICAgY29uc3QgZGlnaXRYMiA9IGRpZ2l0ICogMjtcblxuICAgICAgICAgICAgcmV0dXJuIGRpZ2l0WDIgPiA5ID8gZGlnaXRYMiAtIDkgOiBkaWdpdFgyO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRpZ2l0O1xuICAgIH0pO1xuXG4gICAgcmV0dXJuICEoYXJyLnJlZHVjZSgoYSwgYikgPT4gYSArIGIsIDApICUgMTApO1xufVxuIl19
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
2
|
-
export function tuiIsExpireValid(expire, today = new Date()) {
|
|
3
|
-
const currentMonth = today.getMonth() + 1;
|
|
4
|
-
const currentYear = today.getFullYear() - 2000;
|
|
5
|
-
const expireMonth = tuiClamp(parseInt(expire.slice(0, 2), 10), 1, 12);
|
|
6
|
-
const expireYear = tuiClamp(parseInt(expire.slice(-2), 10), 0, 99);
|
|
7
|
-
return (expireYear > currentYear ||
|
|
8
|
-
(currentYear === expireYear && expireMonth >= currentMonth));
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtZXhwaXJlLXZhbGlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdXRpbHMvaXMtZXhwaXJlLXZhbGlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRTtJQUMvRCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDL0MsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRW5FLE9BQU8sQ0FDSCxVQUFVLEdBQUcsV0FBVztRQUN4QixDQUFDLFdBQVcsS0FBSyxVQUFVLElBQUksV0FBVyxJQUFJLFlBQVksQ0FBQyxDQUM5RCxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHVpQ2xhbXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWF0aCc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc0V4cGlyZVZhbGlkKGV4cGlyZTogc3RyaW5nLCB0b2RheSA9IG5ldyBEYXRlKCkpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50TW9udGggPSB0b2RheS5nZXRNb250aCgpICsgMTtcbiAgICBjb25zdCBjdXJyZW50WWVhciA9IHRvZGF5LmdldEZ1bGxZZWFyKCkgLSAyMDAwO1xuICAgIGNvbnN0IGV4cGlyZU1vbnRoID0gdHVpQ2xhbXAocGFyc2VJbnQoZXhwaXJlLnNsaWNlKDAsIDIpLCAxMCksIDEsIDEyKTtcbiAgICBjb25zdCBleHBpcmVZZWFyID0gdHVpQ2xhbXAocGFyc2VJbnQoZXhwaXJlLnNsaWNlKC0yKSwgMTApLCAwLCA5OSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICBleHBpcmVZZWFyID4gY3VycmVudFllYXIgfHxcbiAgICAgICAgKGN1cnJlbnRZZWFyID09PSBleHBpcmVZZWFyICYmIGV4cGlyZU1vbnRoID49IGN1cnJlbnRNb250aClcbiAgICApO1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tY29tbWVyY2UtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS91dGlscy90YWlnYS11aS1hZGRvbi1jb21tZXJjZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { tuiIsExpireValid } from '@taiga-ui/addon-commerce/utils';
|
|
2
|
-
import { TuiValidationError } from '@taiga-ui/cdk/classes';
|
|
3
|
-
export function tuiCardExpireValidator({ value, }) {
|
|
4
|
-
return value?.expire?.length === 5 && !tuiIsExpireValid(value?.expire)
|
|
5
|
-
? { expire: new TuiValidationError('Expire date') }
|
|
6
|
-
: null;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1leHBpcmUudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdmFsaWRhdG9ycy9jYXJkLWV4cGlyZS52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEVBQ25DLEtBQUssR0FDUztJQUNkLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUNsRSxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsRUFBQztRQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBBYnN0cmFjdENvbnRyb2wsIHR5cGUgVmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlJc0V4cGlyZVZhbGlkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvdXRpbHMnO1xuaW1wb3J0IHtUdWlWYWxpZGF0aW9uRXJyb3J9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDYXJkRXhwaXJlVmFsaWRhdG9yKHtcbiAgICB2YWx1ZSxcbn06IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICByZXR1cm4gdmFsdWU/LmV4cGlyZT8ubGVuZ3RoID09PSA1ICYmICF0dWlJc0V4cGlyZVZhbGlkKHZhbHVlPy5leHBpcmUpXG4gICAgICAgID8ge2V4cGlyZTogbmV3IFR1aVZhbGlkYXRpb25FcnJvcignRXhwaXJlIGRhdGUnKX1cbiAgICAgICAgOiBudWxsO1xufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { tuiIsCardNumberValid } from '@taiga-ui/addon-commerce/utils';
|
|
2
|
-
import { TuiValidationError } from '@taiga-ui/cdk/classes';
|
|
3
|
-
export function tuiCardNumberValidator({ value, }) {
|
|
4
|
-
return value?.card && !tuiIsCardNumberValid(value.card)
|
|
5
|
-
? { card: new TuiValidationError('Invalid card number') }
|
|
6
|
-
: null;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1udW1iZXIudmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYWRkb24tY29tbWVyY2UvdmFsaWRhdG9ycy9jYXJkLW51bWJlci52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEVBQ25DLEtBQUssR0FDUztJQUNkLE9BQU8sS0FBSyxFQUFFLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDbkQsQ0FBQyxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksa0JBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBQztRQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBBYnN0cmFjdENvbnRyb2wsIHR5cGUgVmFsaWRhdGlvbkVycm9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlJc0NhcmROdW1iZXJWYWxpZH0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLWNvbW1lcmNlL3V0aWxzJztcbmltcG9ydCB7VHVpVmFsaWRhdGlvbkVycm9yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpQ2FyZE51bWJlclZhbGlkYXRvcih7XG4gICAgdmFsdWUsXG59OiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgcmV0dXJuIHZhbHVlPy5jYXJkICYmICF0dWlJc0NhcmROdW1iZXJWYWxpZCh2YWx1ZS5jYXJkKVxuICAgICAgICA/IHtjYXJkOiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKCdJbnZhbGlkIGNhcmQgbnVtYmVyJyl9XG4gICAgICAgIDogbnVsbDtcbn1cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './card-expire.validator';
|
|
2
|
-
export * from './card-number.validator';
|
|
3
|
-
export * from './luhn.validator';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS92YWxpZGF0b3JzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYXJkLWV4cGlyZS52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLW51bWJlci52YWxpZGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9sdWhuLnZhbGlkYXRvcic7XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { tuiIsCardNumberValid } from '@taiga-ui/addon-commerce/utils';
|
|
2
|
-
import { TuiValidationError } from '@taiga-ui/cdk/classes';
|
|
3
|
-
export function tuiCreateLuhnValidator(message) {
|
|
4
|
-
return ({ value }) => tuiIsCardNumberValid(value) ? null : { luhn: new TuiValidationError(message) };
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVobi52YWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS92YWxpZGF0b3JzL2x1aG4udmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBR3pELE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxPQUE0QjtJQUMvRCxPQUFPLENBQUMsRUFBQyxLQUFLLEVBQWtCLEVBQUUsRUFBRSxDQUNoQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBBYnN0cmFjdENvbnRyb2wsIHR5cGUgVmFsaWRhdG9yRm59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7dHVpSXNDYXJkTnVtYmVyVmFsaWR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS91dGlscyc7XG5pbXBvcnQge1R1aVZhbGlkYXRpb25FcnJvcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHlwZSBQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUNyZWF0ZUx1aG5WYWxpZGF0b3IobWVzc2FnZTogUG9seW1vcnBoZXVzQ29udGVudCk6IFZhbGlkYXRvckZuIHtcbiAgICByZXR1cm4gKHt2YWx1ZX06IEFic3RyYWN0Q29udHJvbCkgPT5cbiAgICAgICAgdHVpSXNDYXJkTnVtYmVyVmFsaWQodmFsdWUpID8gbnVsbCA6IHtsdWhuOiBuZXcgVHVpVmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UpfTtcbn1cbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktYWRkb24tY29tbWVyY2UtdmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL3ZhbGlkYXRvcnMvdGFpZ2EtdWktYWRkb24tY29tbWVyY2UtdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Directive, Input } from '@angular/core';
|
|
3
|
-
import * as i1 from '@maskito/angular';
|
|
4
|
-
import { MaskitoDirective } from '@maskito/angular';
|
|
5
|
-
import { TUI_INPUT_CARD_OPTIONS } from '@taiga-ui/addon-commerce/components/input-card';
|
|
6
|
-
import { TUI_MASK_CVC } from '@taiga-ui/addon-commerce/constants';
|
|
7
|
-
import * as i2 from '@taiga-ui/core/components/textfield';
|
|
8
|
-
import { TuiWithTextfield } from '@taiga-ui/core/components/textfield';
|
|
9
|
-
import { tuiMaskito } from '@taiga-ui/kit/utils';
|
|
10
|
-
|
|
11
|
-
class TuiInputCVC {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.mask = tuiMaskito(TUI_MASK_CVC(3));
|
|
14
|
-
/** @deprecated apparently "off" doesn't disable autocomplete */
|
|
15
|
-
this.autocomplete = inject(TUI_INPUT_CARD_OPTIONS).autocomplete;
|
|
16
|
-
this.hidden = true;
|
|
17
|
-
this.length = 3;
|
|
18
|
-
}
|
|
19
|
-
// TODO: refactor to signal inputs after Angular update
|
|
20
|
-
ngOnChanges() {
|
|
21
|
-
this.mask.set(TUI_MASK_CVC(this.length));
|
|
22
|
-
}
|
|
23
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCVC, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
24
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputCVC, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { autocomplete: "autocomplete", hidden: "hidden", length: "length" }, host: { attributes: { "inputmode": "numeric", "autocomplete": "cc-csc" }, listeners: { "copy.prevent": "(0)" }, properties: { "placeholder": "\"0\".repeat(length)", "style.-webkit-text-security": "hidden ? \"disc\" : null" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0 }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCVC, decorators: [{
|
|
27
|
-
type: Directive,
|
|
28
|
-
args: [{
|
|
29
|
-
standalone: true,
|
|
30
|
-
selector: 'input[tuiInputCVC]',
|
|
31
|
-
hostDirectives: [MaskitoDirective, TuiWithTextfield],
|
|
32
|
-
host: {
|
|
33
|
-
inputmode: 'numeric',
|
|
34
|
-
autocomplete: 'cc-csc',
|
|
35
|
-
'[placeholder]': '"0".repeat(length)',
|
|
36
|
-
'[style.-webkit-text-security]': 'hidden ? "disc" : null',
|
|
37
|
-
'(copy.prevent)': '(0)',
|
|
38
|
-
},
|
|
39
|
-
}]
|
|
40
|
-
}], propDecorators: { autocomplete: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], hidden: [{
|
|
43
|
-
type: Input
|
|
44
|
-
}], length: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}] } });
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Generated bundle index. Do not edit.
|
|
50
|
-
*/
|
|
51
|
-
|
|
52
|
-
export { TuiInputCVC };
|
|
53
|
-
//# sourceMappingURL=taiga-ui-addon-commerce-components-input-cvc.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-cvc.mjs","sources":["../../../projects/addon-commerce/components/input-cvc/input-cvc.directive.ts","../../../projects/addon-commerce/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.ts"],"sourcesContent":["import {Directive, inject, Input, type OnChanges} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_INPUT_CARD_OPTIONS} from '@taiga-ui/addon-commerce/components/input-card';\nimport {TUI_MASK_CVC} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithTextfield} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputCVC]',\n hostDirectives: [MaskitoDirective, TuiWithTextfield],\n host: {\n inputmode: 'numeric',\n autocomplete: 'cc-csc',\n '[placeholder]': '\"0\".repeat(length)',\n '[style.-webkit-text-security]': 'hidden ? \"disc\" : null',\n '(copy.prevent)': '(0)',\n },\n})\nexport class TuiInputCVC implements OnChanges {\n private readonly mask = tuiMaskito(TUI_MASK_CVC(3));\n\n /** @deprecated apparently \"off\" doesn't disable autocomplete */\n @Input()\n public autocomplete = inject(TUI_INPUT_CARD_OPTIONS).autocomplete;\n\n @Input()\n public hidden = true;\n\n @Input()\n public length: 3 | 4 = 3;\n\n // TODO: refactor to signal inputs after Angular update\n public ngOnChanges(): void {\n this.mask.set(TUI_MASK_CVC(this.length));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAYa,WAAW,CAAA;AAZxB,IAAA,WAAA,GAAA;QAaqB,IAAI,CAAA,IAAA,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;;AAI7C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC;QAG3D,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;QAGd,IAAM,CAAA,MAAA,GAAU,CAAC,CAAC;AAM5B,KAAA;;IAHU,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KAC5C;+GAhBQ,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,KAAA,EAAA,EAAA,UAAA,EAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,6BAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAZvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,cAAc,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,YAAY,EAAE,QAAQ;AACtB,wBAAA,eAAe,EAAE,oBAAoB;AACrC,wBAAA,+BAA+B,EAAE,wBAAwB;AACzD,wBAAA,gBAAgB,EAAE,KAAK;AAC1B,qBAAA;AACJ,iBAAA,CAAA;8BAMU,YAAY,EAAA,CAAA;sBADlB,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,KAAK;gBAIC,MAAM,EAAA,CAAA;sBADZ,KAAK;;;AC7BV;;AAEG;;;;"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { inject, Directive, Input } from '@angular/core';
|
|
3
|
-
import * as i1 from '@maskito/angular';
|
|
4
|
-
import { MaskitoDirective } from '@maskito/angular';
|
|
5
|
-
import { TUI_INPUT_CARD_OPTIONS } from '@taiga-ui/addon-commerce/components/input-card';
|
|
6
|
-
import { TUI_MASK_EXPIRE } from '@taiga-ui/addon-commerce/constants';
|
|
7
|
-
import * as i2 from '@taiga-ui/core/components/textfield';
|
|
8
|
-
import { TuiWithTextfield } from '@taiga-ui/core/components/textfield';
|
|
9
|
-
import { tuiMaskito } from '@taiga-ui/kit/utils';
|
|
10
|
-
|
|
11
|
-
class TuiInputExpire {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.mask = tuiMaskito(TUI_MASK_EXPIRE);
|
|
14
|
-
/** @deprecated apparently "off" doesn't disable autocomplete */
|
|
15
|
-
this.autocomplete = inject(TUI_INPUT_CARD_OPTIONS).autocomplete;
|
|
16
|
-
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputExpire, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
18
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputExpire, isStandalone: true, selector: "input[tuiInputExpire]", inputs: { autocomplete: "autocomplete" }, host: { attributes: { "inputmode": "numeric", "placeholder": "00/00", "translate": "no", "maxlength": "5", "name": "ccexpiryyear", "autocomplete": "cc-exp" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0 }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputExpire, decorators: [{
|
|
21
|
-
type: Directive,
|
|
22
|
-
args: [{
|
|
23
|
-
standalone: true,
|
|
24
|
-
selector: 'input[tuiInputExpire]',
|
|
25
|
-
hostDirectives: [MaskitoDirective, TuiWithTextfield],
|
|
26
|
-
host: {
|
|
27
|
-
inputmode: 'numeric',
|
|
28
|
-
placeholder: '00/00',
|
|
29
|
-
translate: 'no',
|
|
30
|
-
maxlength: '5',
|
|
31
|
-
name: 'ccexpiryyear',
|
|
32
|
-
autocomplete: 'cc-exp',
|
|
33
|
-
},
|
|
34
|
-
}]
|
|
35
|
-
}], propDecorators: { autocomplete: [{
|
|
36
|
-
type: Input
|
|
37
|
-
}] } });
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Generated bundle index. Do not edit.
|
|
41
|
-
*/
|
|
42
|
-
|
|
43
|
-
export { TuiInputExpire };
|
|
44
|
-
//# sourceMappingURL=taiga-ui-addon-commerce-components-input-expire.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.mjs","sources":["../../../projects/addon-commerce/components/input-expire/input-expire.directive.ts","../../../projects/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.ts"],"sourcesContent":["import {Directive, inject, Input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_INPUT_CARD_OPTIONS} from '@taiga-ui/addon-commerce/components/input-card';\nimport {TUI_MASK_EXPIRE} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithTextfield} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputExpire]',\n hostDirectives: [MaskitoDirective, TuiWithTextfield],\n host: {\n inputmode: 'numeric',\n placeholder: '00/00',\n translate: 'no',\n maxlength: '5',\n name: 'ccexpiryyear',\n autocomplete: 'cc-exp',\n },\n})\nexport class TuiInputExpire {\n protected readonly mask = tuiMaskito(TUI_MASK_EXPIRE);\n\n /** @deprecated apparently \"off\" doesn't disable autocomplete */\n @Input()\n public autocomplete = inject(TUI_INPUT_CARD_OPTIONS).autocomplete;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAOA,MAaa,cAAc,CAAA;AAb3B,IAAA,WAAA,GAAA;AAcuB,QAAA,IAAA,CAAA,IAAI,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;;AAI/C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC;AACrE,KAAA;+GANY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,EAAA,IAAA,EAAA,WAAA,EAAA,GAAA,EAAA,MAAA,EAAA,cAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAb1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,cAAc,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AACpD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,SAAS;AACpB,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,SAAS,EAAE,IAAI;AACf,wBAAA,SAAS,EAAE,GAAG;AACd,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,YAAY,EAAE,QAAQ;AACzB,qBAAA;AACJ,iBAAA,CAAA;8BAMU,YAAY,EAAA,CAAA;sBADlB,KAAK;;;ACxBV;;AAEG;;;;"}
|