@taiga-ui/addon-commerce 2.28.0 → 2.32.0

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 (50) hide show
  1. package/README.md +4 -5
  2. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +7 -4
  3. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +2 -2
  7. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
  9. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-commerce-enums.umd.js +284 -1
  11. package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +1 -1
  13. package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-commerce-utils.umd.js +1 -1
  15. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +1 -1
  17. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
  18. package/components/input-card-grouped/input-card-grouped.component.d.ts +2 -1
  19. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
  20. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
  21. package/enums/currency-code.d.ts +141 -0
  22. package/enums/currency.d.ts +142 -1
  23. package/enums/taiga-ui-addon-commerce-enums.metadata.json +1 -1
  24. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +9 -6
  25. package/esm2015/components/money/money.component.js +3 -3
  26. package/esm2015/enums/currency-code.js +142 -1
  27. package/esm2015/enums/currency.js +143 -2
  28. package/esm2015/utils/create-auto-corrected-expire-pipe.js +2 -2
  29. package/esm5/components/input-card-grouped/input-card-grouped.component.js +9 -6
  30. package/esm5/components/money/money.component.js +3 -3
  31. package/esm5/enums/currency-code.js +142 -1
  32. package/esm5/enums/currency.js +143 -2
  33. package/esm5/utils/create-auto-corrected-expire-pipe.js +2 -2
  34. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
  35. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  36. package/fesm2015/taiga-ui-addon-commerce-components-money.js +2 -2
  37. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  38. package/fesm2015/taiga-ui-addon-commerce-enums.js +283 -1
  39. package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
  40. package/fesm2015/taiga-ui-addon-commerce-utils.js +1 -1
  41. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  42. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -5
  43. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  44. package/fesm5/taiga-ui-addon-commerce-components-money.js +2 -2
  45. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
  46. package/fesm5/taiga-ui-addon-commerce-enums.js +283 -1
  47. package/fesm5/taiga-ui-addon-commerce-enums.js.map +1 -1
  48. package/fesm5/taiga-ui-addon-commerce-utils.js +1 -1
  49. package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
  50. package/package.json +9 -9
@@ -4,48 +4,331 @@
4
4
  (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-commerce'] = global['taiga-ui']['addon-commerce'] || {}, global['taiga-ui']['addon-commerce'].enums = {})));
5
5
  }(this, (function (exports) { 'use strict';
6
6
 
7
+ /**
8
+ * **Active ISO 4217 alphabetic currency codes**
9
+ *
10
+ * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.
11
+ * @description Alphabetic code is also called "alfa-3".
12
+ *
13
+ * @link https://en.wikipedia.org/wiki/ISO_4217
14
+ */
15
+
7
16
  (function (TuiCurrency) {
17
+ /**
18
+ * Russian ruble
19
+ *
20
+ * @description Numeric code: 643
21
+ * @description Alphabetic code: RUB
22
+ * @description Countries and territories: Russia
23
+ */
8
24
  TuiCurrency["Ruble"] = "RUB";
25
+ /**
26
+ * Euro
27
+ *
28
+ * @description Numeric code: 978
29
+ * @description Alphabetic code: EUR
30
+ * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)
31
+ */
9
32
  TuiCurrency["Euro"] = "EUR";
33
+ /**
34
+ * United States dollar
35
+ *
36
+ * @description Numeric code: 840
37
+ * @description Alphabetic code: USD
38
+ * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)
39
+ */
10
40
  TuiCurrency["Dollar"] = "USD";
41
+ /**
42
+ * Pound sterling
43
+ *
44
+ * @description Numeric code: 826
45
+ * @description Alphabetic code: GBP
46
+ * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)
47
+ */
11
48
  TuiCurrency["Pound"] = "GBP";
49
+ /**
50
+ * Thai baht
51
+ *
52
+ * @description Numeric code: 764
53
+ * @description Alphabetic code: THB
54
+ * @description Countries and territories: Thailand
55
+ */
12
56
  TuiCurrency["Baht"] = "THB";
57
+ /**
58
+ * Turkish lira
59
+ *
60
+ * @description Numeric code: 949
61
+ * @description Alphabetic code: TRY
62
+ * @description Countries and territories: Turkey
63
+ */
13
64
  TuiCurrency["TurkishLira"] = "TRY";
65
+ /**
66
+ * Chinese yuan
67
+ *
68
+ * @description Numeric code: 156
69
+ * @description Alphabetic code: CNY
70
+ * @description Countries and territories: China
71
+ */
14
72
  TuiCurrency["YuanRenminbi"] = "CNY";
73
+ /**
74
+ * Kazakhstani tenge
75
+ *
76
+ * @description Numeric code: 398
77
+ * @description Alphabetic code: KZT
78
+ * @description Countries and territories: Kazakhstan
79
+ */
15
80
  TuiCurrency["Tenge"] = "KZT";
81
+ /**
82
+ * Israeli new shekel
83
+ *
84
+ * @description Numeric code: 376
85
+ * @description Alphabetic code: ILS
86
+ * @description Countries and territories: Israel
87
+ */
16
88
  TuiCurrency["IsraeliShekel"] = "ILS";
89
+ /**
90
+ * Indian rupee
91
+ *
92
+ * @description Numeric code: 356
93
+ * @description Alphabetic code: INR
94
+ * @description Countries and territories: India, Bhutan
95
+ */
17
96
  TuiCurrency["IndianRupee"] = "INR";
97
+ /**
98
+ * Japanese yen
99
+ *
100
+ * @description Numeric code: 392
101
+ * @description Alphabetic code: JPY
102
+ * @description Countries and territories: Japan
103
+ */
18
104
  TuiCurrency["Yen"] = "JPY";
105
+ /**
106
+ * South Korean won
107
+ *
108
+ * @description Numeric code: 410
109
+ * @description Alphabetic code: KRW
110
+ * @description Countries and territories: South Korea
111
+ */
112
+ TuiCurrency["Won"] = "KRW";
113
+ /**
114
+ * Swiss franc
115
+ *
116
+ * @description Numeric code: 756
117
+ * @description Alphabetic code: CHF
118
+ * @description Countries and territories: Switzerland, Liechtenstein (LI)
119
+ */
19
120
  TuiCurrency["SwissFranc"] = "CHF";
121
+ /**
122
+ * Singapore dollar
123
+ *
124
+ * @description Numeric code: 702
125
+ * @description Alphabetic code: SGD
126
+ * @description Countries and territories: Singapore
127
+ */
20
128
  TuiCurrency["SingaporeDollar"] = "SGD";
129
+ /**
130
+ * Australian dollar
131
+ *
132
+ * @description Numeric code: 036
133
+ * @description Alphabetic code: AUD
134
+ * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)
135
+ */
21
136
  TuiCurrency["AustralianDollar"] = "AUD";
137
+ /**
138
+ * Hong Kong dollar
139
+ *
140
+ * @description Numeric code: 344
141
+ * @description Alphabetic code: HKD
142
+ * @description Countries and territories: Hong Kong
143
+ */
22
144
  TuiCurrency["HongKong_dollar"] = "HKD";
145
+ /**
146
+ * Canadian dollar
147
+ *
148
+ * @description Numeric code: 124
149
+ * @description Alphabetic code: CAD
150
+ * @description Countries and territories: Canada
151
+ */
23
152
  TuiCurrency["CanadianDollar"] = "CAD";
153
+ /**
154
+ * Armenian dram
155
+ *
156
+ * @description Numeric code: 051
157
+ * @description Alphabetic code: AMD
158
+ * @description Countries and territories: Armenia
159
+ */
24
160
  TuiCurrency["ArmenianDram"] = "AMD";
25
- TuiCurrency["Won"] = "KRW";
161
+ /**
162
+ * Ukrainian hryvnia
163
+ *
164
+ * @description Numeric code: 980
165
+ * @description Alphabetic code: UAH
166
+ * @description Countries and territories: Ukraine
167
+ */
26
168
  TuiCurrency["Hryvnia"] = "UAH";
27
169
  })(exports.TuiCurrency || (exports.TuiCurrency = {}));
28
170
 
171
+ /**
172
+ * **Active ISO 4217 numeric currency codes**
173
+ *
174
+ * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.
175
+ * @description Numeric code is also called "number-3".
176
+ *
177
+ * @link https://en.wikipedia.org/wiki/ISO_4217
178
+ */
29
179
 
30
180
  (function (TuiCurrencyCode) {
181
+ /**
182
+ * Russian ruble
183
+ *
184
+ * @description Numeric code: 643
185
+ * @description Alphabetic code: RUB
186
+ * @description Countries and territories: Russia
187
+ */
31
188
  TuiCurrencyCode["Ruble"] = "643";
189
+ /**
190
+ * Euro
191
+ *
192
+ * @description Numeric code: 978
193
+ * @description Alphabetic code: EUR
194
+ * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)
195
+ */
32
196
  TuiCurrencyCode["Euro"] = "978";
197
+ /**
198
+ * United States dollar
199
+ *
200
+ * @description Numeric code: 840
201
+ * @description Alphabetic code: USD
202
+ * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)
203
+ */
33
204
  TuiCurrencyCode["Dollar"] = "840";
205
+ /**
206
+ * Pound sterling
207
+ *
208
+ * @description Numeric code: 826
209
+ * @description Alphabetic code: GBP
210
+ * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)
211
+ */
34
212
  TuiCurrencyCode["Pound"] = "826";
213
+ /**
214
+ * Thai baht
215
+ *
216
+ * @description Numeric code: 764
217
+ * @description Alphabetic code: THB
218
+ * @description Countries and territories: Thailand
219
+ */
35
220
  TuiCurrencyCode["Baht"] = "764";
221
+ /**
222
+ * Turkish lira
223
+ *
224
+ * @description Numeric code: 949
225
+ * @description Alphabetic code: TRY
226
+ * @description Countries and territories: Turkey
227
+ */
36
228
  TuiCurrencyCode["TurkishLira"] = "949";
229
+ /**
230
+ * Chinese yuan
231
+ *
232
+ * @description Numeric code: 156
233
+ * @description Alphabetic code: CNY
234
+ * @description Countries and territories: China
235
+ */
37
236
  TuiCurrencyCode["YuanRenminbi"] = "156";
237
+ /**
238
+ * Kazakhstani tenge
239
+ *
240
+ * @description Numeric code: 398
241
+ * @description Alphabetic code: KZT
242
+ * @description Countries and territories: Kazakhstan
243
+ */
38
244
  TuiCurrencyCode["Tenge"] = "398";
245
+ /**
246
+ * Israeli new shekel
247
+ *
248
+ * @description Numeric code: 376
249
+ * @description Alphabetic code: ILS
250
+ * @description Countries and territories: Israel
251
+ */
39
252
  TuiCurrencyCode["IsraeliShekel"] = "376";
253
+ /**
254
+ * Indian rupee
255
+ *
256
+ * @description Numeric code: 356
257
+ * @description Alphabetic code: INR
258
+ * @description Countries and territories: India, Bhutan
259
+ */
40
260
  TuiCurrencyCode["IndianRupee"] = "356";
261
+ /**
262
+ * Japanese yen
263
+ *
264
+ * @description Numeric code: 392
265
+ * @description Alphabetic code: JPY
266
+ * @description Countries and territories: Japan
267
+ */
41
268
  TuiCurrencyCode["Yen"] = "392";
269
+ /**
270
+ * South Korean won
271
+ *
272
+ * @description Numeric code: 410
273
+ * @description Alphabetic code: KRW
274
+ * @description Countries and territories: South Korea
275
+ */
42
276
  TuiCurrencyCode["Won"] = "410";
277
+ /**
278
+ * Swiss franc
279
+ *
280
+ * @description Numeric code: 756
281
+ * @description Alphabetic code: CHF
282
+ * @description Countries and territories: Switzerland, Liechtenstein (LI)
283
+ */
43
284
  TuiCurrencyCode["SwissFranc"] = "756";
285
+ /**
286
+ * Singapore dollar
287
+ *
288
+ * @description Numeric code: 702
289
+ * @description Alphabetic code: SGD
290
+ * @description Countries and territories: Singapore
291
+ */
44
292
  TuiCurrencyCode["SingaporeDollar"] = "702";
293
+ /**
294
+ * Australian dollar
295
+ *
296
+ * @description Numeric code: 036
297
+ * @description Alphabetic code: AUD
298
+ * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)
299
+ */
45
300
  TuiCurrencyCode["AustralianDollar"] = "036";
301
+ /**
302
+ * Hong Kong dollar
303
+ *
304
+ * @description Numeric code: 344
305
+ * @description Alphabetic code: HKD
306
+ * @description Countries and territories: Hong Kong
307
+ */
46
308
  TuiCurrencyCode["HongKong_dollar"] = "344";
309
+ /**
310
+ * Canadian dollar
311
+ *
312
+ * @description Numeric code: 124
313
+ * @description Alphabetic code: CAD
314
+ * @description Countries and territories: Canada
315
+ */
47
316
  TuiCurrencyCode["CanadianDollar"] = "124";
317
+ /**
318
+ * Armenian dram
319
+ *
320
+ * @description Numeric code: 051
321
+ * @description Alphabetic code: AMD
322
+ * @description Countries and territories: Armenia
323
+ */
48
324
  TuiCurrencyCode["ArmenianDram"] = "051";
325
+ /**
326
+ * Ukrainian hryvnia
327
+ *
328
+ * @description Numeric code: 980
329
+ * @description Alphabetic code: UAH
330
+ * @description Countries and territories: Ukraine
331
+ */
49
332
  TuiCurrencyCode["Hryvnia"] = "980";
50
333
  })(exports.TuiCurrencyCode || (exports.TuiCurrencyCode = {}));
51
334
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-enums.umd.js","sources":["ng://@taiga-ui/addon-commerce/enums/currency.ts","ng://@taiga-ui/addon-commerce/enums/currency-code.ts","ng://@taiga-ui/addon-commerce/enums/money-sign.ts","ng://@taiga-ui/addon-commerce/enums/payment-system.ts"],"sourcesContent":["export const enum TuiCurrency {\n Ruble = 'RUB',\n Euro = 'EUR',\n Dollar = 'USD',\n Pound = 'GBP',\n Baht = 'THB',\n TurkishLira = 'TRY',\n YuanRenminbi = 'CNY',\n Tenge = 'KZT',\n IsraeliShekel = 'ILS',\n IndianRupee = 'INR',\n Yen = 'JPY',\n SwissFranc = 'CHF',\n SingaporeDollar = 'SGD',\n AustralianDollar = 'AUD',\n HongKong_dollar = 'HKD',\n CanadianDollar = 'CAD',\n ArmenianDram = 'AMD',\n Won = 'KRW',\n Hryvnia = 'UAH',\n}\n","export const enum TuiCurrencyCode {\n Ruble = '643',\n Euro = '978',\n Dollar = '840',\n Pound = '826',\n Baht = '764',\n TurkishLira = '949',\n YuanRenminbi = '156',\n Tenge = '398',\n IsraeliShekel = '376',\n IndianRupee = '356',\n Yen = '392',\n Won = '410',\n SwissFranc = '756',\n SingaporeDollar = '702',\n AustralianDollar = '036',\n HongKong_dollar = '344',\n CanadianDollar = '124',\n ArmenianDram = '051',\n Hryvnia = '980',\n}\n","/**\n * negative-only — show sign only for negative numbers\n * always — always show sign, except for zero\n * never — never show sign\n * force-negative — show minus no matter the number, except for zero\n * force-positive — show plus no matter the number, except for zero\n * @deprecated use join type {@link TuiMoneySignT}\n */\nexport const enum TuiMoneySign {\n NegativeOnly = 'negative-only',\n Always = 'always',\n Never = 'never',\n ForceNegative = 'force-negative',\n ForcePositive = 'force-positive',\n}\n","export const enum TuiPaymentSystem {\n Visa = 'visa',\n Electron = 'electron',\n Mastercard = 'mastercard',\n Maestro = 'maestro',\n Mir = 'mir',\n}\n"],"names":["TuiCurrency","TuiCurrencyCode","TuiMoneySign","TuiPaymentSystem"],"mappings":";;;;;;IAAA,WAAkB,WAAW;QACzB,4BAAa,CAAA;QACb,2BAAY,CAAA;QACZ,6BAAc,CAAA;QACd,4BAAa,CAAA;QACb,2BAAY,CAAA;QACZ,kCAAmB,CAAA;QACnB,mCAAoB,CAAA;QACpB,4BAAa,CAAA;QACb,oCAAqB,CAAA;QACrB,kCAAmB,CAAA;QACnB,0BAAW,CAAA;QACX,iCAAkB,CAAA;QAClB,sCAAuB,CAAA;QACvB,uCAAwB,CAAA;QACxB,sCAAuB,CAAA;QACvB,qCAAsB,CAAA;QACtB,mCAAoB,CAAA;QACpB,0BAAW,CAAA;QACX,8BAAe,CAAA;IACnB,CAAC,EApBiBA,mBAAW,KAAXA,mBAAW;;;ICA7B,WAAkB,eAAe;QAC7B,gCAAa,CAAA;QACb,+BAAY,CAAA;QACZ,iCAAc,CAAA;QACd,gCAAa,CAAA;QACb,+BAAY,CAAA;QACZ,sCAAmB,CAAA;QACnB,uCAAoB,CAAA;QACpB,gCAAa,CAAA;QACb,wCAAqB,CAAA;QACrB,sCAAmB,CAAA;QACnB,8BAAW,CAAA;QACX,8BAAW,CAAA;QACX,qCAAkB,CAAA;QAClB,0CAAuB,CAAA;QACvB,2CAAwB,CAAA;QACxB,0CAAuB,CAAA;QACvB,yCAAsB,CAAA;QACtB,uCAAoB,CAAA;QACpB,kCAAe,CAAA;IACnB,CAAC,EApBiBC,uBAAe,KAAfA,uBAAe;;ICAjC;;;;;;;;;IAQA,WAAkB,YAAY;QAC1B,8CAA8B,CAAA;QAC9B,iCAAiB,CAAA;QACjB,+BAAe,CAAA;QACf,gDAAgC,CAAA;QAChC,gDAAgC,CAAA;IACpC,CAAC,EANiBC,oBAAY,KAAZA,oBAAY;;;ICR9B,WAAkB,gBAAgB;QAC9B,iCAAa,CAAA;QACb,yCAAqB,CAAA;QACrB,6CAAyB,CAAA;QACzB,uCAAmB,CAAA;QACnB,+BAAW,CAAA;IACf,CAAC,EANiBC,wBAAgB,KAAhBA,wBAAgB;;;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-enums.umd.js","sources":["ng://@taiga-ui/addon-commerce/enums/currency.ts","ng://@taiga-ui/addon-commerce/enums/currency-code.ts","ng://@taiga-ui/addon-commerce/enums/money-sign.ts","ng://@taiga-ui/addon-commerce/enums/payment-system.ts"],"sourcesContent":["/**\n * **Active ISO 4217 alphabetic currency codes**\n *\n * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.\n * @description Alphabetic code is also called \"alfa-3\".\n *\n * @link https://en.wikipedia.org/wiki/ISO_4217\n */\nexport const enum TuiCurrency {\n /**\n * Russian ruble\n *\n * @description Numeric code: 643\n * @description Alphabetic code: RUB\n * @description Countries and territories: Russia\n */\n Ruble = 'RUB',\n\n /**\n * Euro\n *\n * @description Numeric code: 978\n * @description Alphabetic code: EUR\n * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)\n */\n Euro = 'EUR',\n\n /**\n * United States dollar\n *\n * @description Numeric code: 840\n * @description Alphabetic code: USD\n * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)\n */\n Dollar = 'USD',\n\n /**\n * Pound sterling\n *\n * @description Numeric code: 826\n * @description Alphabetic code: GBP\n * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)\n */\n Pound = 'GBP',\n\n /**\n * Thai baht\n *\n * @description Numeric code: 764\n * @description Alphabetic code: THB\n * @description Countries and territories: Thailand\n */\n Baht = 'THB',\n\n /**\n * Turkish lira\n *\n * @description Numeric code: 949\n * @description Alphabetic code: TRY\n * @description Countries and territories: Turkey\n */\n TurkishLira = 'TRY',\n\n /**\n * Chinese yuan\n *\n * @description Numeric code: 156\n * @description Alphabetic code: CNY\n * @description Countries and territories: China\n */\n YuanRenminbi = 'CNY',\n\n /**\n * Kazakhstani tenge\n *\n * @description Numeric code: 398\n * @description Alphabetic code: KZT\n * @description Countries and territories: Kazakhstan\n */\n Tenge = 'KZT',\n\n /**\n * Israeli new shekel\n *\n * @description Numeric code: 376\n * @description Alphabetic code: ILS\n * @description Countries and territories: Israel\n */\n IsraeliShekel = 'ILS',\n\n /**\n * Indian rupee\n *\n * @description Numeric code: 356\n * @description Alphabetic code: INR\n * @description Countries and territories: India, Bhutan\n */\n IndianRupee = 'INR',\n\n /**\n * Japanese yen\n *\n * @description Numeric code: 392\n * @description Alphabetic code: JPY\n * @description Countries and territories: Japan\n */\n Yen = 'JPY',\n\n /**\n * South Korean won\n *\n * @description Numeric code: 410\n * @description Alphabetic code: KRW\n * @description Countries and territories: South Korea\n */\n Won = 'KRW',\n\n /**\n * Swiss franc\n *\n * @description Numeric code: 756\n * @description Alphabetic code: CHF\n * @description Countries and territories: Switzerland, Liechtenstein (LI)\n */\n SwissFranc = 'CHF',\n\n /**\n * Singapore dollar\n *\n * @description Numeric code: 702\n * @description Alphabetic code: SGD\n * @description Countries and territories: Singapore\n */\n SingaporeDollar = 'SGD',\n\n /**\n * Australian dollar\n *\n * @description Numeric code: 036\n * @description Alphabetic code: AUD\n * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)\n */\n AustralianDollar = 'AUD',\n\n /**\n * Hong Kong dollar\n *\n * @description Numeric code: 344\n * @description Alphabetic code: HKD\n * @description Countries and territories: Hong Kong\n */\n HongKong_dollar = 'HKD',\n\n /**\n * Canadian dollar\n *\n * @description Numeric code: 124\n * @description Alphabetic code: CAD\n * @description Countries and territories: Canada\n */\n CanadianDollar = 'CAD',\n\n /**\n * Armenian dram\n *\n * @description Numeric code: 051\n * @description Alphabetic code: AMD\n * @description Countries and territories: Armenia\n */\n ArmenianDram = 'AMD',\n\n /**\n * Ukrainian hryvnia\n *\n * @description Numeric code: 980\n * @description Alphabetic code: UAH\n * @description Countries and territories: Ukraine\n */\n Hryvnia = 'UAH',\n}\n","/**\n * **Active ISO 4217 numeric currency codes**\n *\n * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.\n * @description Numeric code is also called \"number-3\".\n *\n * @link https://en.wikipedia.org/wiki/ISO_4217\n */\nexport const enum TuiCurrencyCode {\n /**\n * Russian ruble\n *\n * @description Numeric code: 643\n * @description Alphabetic code: RUB\n * @description Countries and territories: Russia\n */\n Ruble = '643',\n\n /**\n * Euro\n *\n * @description Numeric code: 978\n * @description Alphabetic code: EUR\n * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)\n */\n Euro = '978',\n\n /**\n * United States dollar\n *\n * @description Numeric code: 840\n * @description Alphabetic code: USD\n * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)\n */\n Dollar = '840',\n\n /**\n * Pound sterling\n *\n * @description Numeric code: 826\n * @description Alphabetic code: GBP\n * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)\n */\n Pound = '826',\n\n /**\n * Thai baht\n *\n * @description Numeric code: 764\n * @description Alphabetic code: THB\n * @description Countries and territories: Thailand\n */\n Baht = '764',\n\n /**\n * Turkish lira\n *\n * @description Numeric code: 949\n * @description Alphabetic code: TRY\n * @description Countries and territories: Turkey\n */\n TurkishLira = '949',\n\n /**\n * Chinese yuan\n *\n * @description Numeric code: 156\n * @description Alphabetic code: CNY\n * @description Countries and territories: China\n */\n YuanRenminbi = '156',\n\n /**\n * Kazakhstani tenge\n *\n * @description Numeric code: 398\n * @description Alphabetic code: KZT\n * @description Countries and territories: Kazakhstan\n */\n Tenge = '398',\n\n /**\n * Israeli new shekel\n *\n * @description Numeric code: 376\n * @description Alphabetic code: ILS\n * @description Countries and territories: Israel\n */\n IsraeliShekel = '376',\n\n /**\n * Indian rupee\n *\n * @description Numeric code: 356\n * @description Alphabetic code: INR\n * @description Countries and territories: India, Bhutan\n */\n IndianRupee = '356',\n\n /**\n * Japanese yen\n *\n * @description Numeric code: 392\n * @description Alphabetic code: JPY\n * @description Countries and territories: Japan\n */\n Yen = '392',\n\n /**\n * South Korean won\n *\n * @description Numeric code: 410\n * @description Alphabetic code: KRW\n * @description Countries and territories: South Korea\n */\n Won = '410',\n\n /**\n * Swiss franc\n *\n * @description Numeric code: 756\n * @description Alphabetic code: CHF\n * @description Countries and territories: Switzerland, Liechtenstein (LI)\n */\n SwissFranc = '756',\n\n /**\n * Singapore dollar\n *\n * @description Numeric code: 702\n * @description Alphabetic code: SGD\n * @description Countries and territories: Singapore\n */\n SingaporeDollar = '702',\n\n /**\n * Australian dollar\n *\n * @description Numeric code: 036\n * @description Alphabetic code: AUD\n * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)\n */\n AustralianDollar = '036',\n\n /**\n * Hong Kong dollar\n *\n * @description Numeric code: 344\n * @description Alphabetic code: HKD\n * @description Countries and territories: Hong Kong\n */\n HongKong_dollar = '344',\n\n /**\n * Canadian dollar\n *\n * @description Numeric code: 124\n * @description Alphabetic code: CAD\n * @description Countries and territories: Canada\n */\n CanadianDollar = '124',\n\n /**\n * Armenian dram\n *\n * @description Numeric code: 051\n * @description Alphabetic code: AMD\n * @description Countries and territories: Armenia\n */\n ArmenianDram = '051',\n\n /**\n * Ukrainian hryvnia\n *\n * @description Numeric code: 980\n * @description Alphabetic code: UAH\n * @description Countries and territories: Ukraine\n */\n Hryvnia = '980',\n}\n","/**\n * negative-only — show sign only for negative numbers\n * always — always show sign, except for zero\n * never — never show sign\n * force-negative — show minus no matter the number, except for zero\n * force-positive — show plus no matter the number, except for zero\n * @deprecated use join type {@link TuiMoneySignT}\n */\nexport const enum TuiMoneySign {\n NegativeOnly = 'negative-only',\n Always = 'always',\n Never = 'never',\n ForceNegative = 'force-negative',\n ForcePositive = 'force-positive',\n}\n","export const enum TuiPaymentSystem {\n Visa = 'visa',\n Electron = 'electron',\n Mastercard = 'mastercard',\n Maestro = 'maestro',\n Mir = 'mir',\n}\n"],"names":["TuiCurrency","TuiCurrencyCode","TuiMoneySign","TuiPaymentSystem"],"mappings":";;;;;;IAAA;;;;;;;;;IAQA,WAAkB,WAAW;;;;;;;;QAQzB,4BAAa,CAAA;;;;;;;;QASb,2BAAY,CAAA;;;;;;;;QASZ,6BAAc,CAAA;;;;;;;;QASd,4BAAa,CAAA;;;;;;;;QASb,2BAAY,CAAA;;;;;;;;QASZ,kCAAmB,CAAA;;;;;;;;QASnB,mCAAoB,CAAA;;;;;;;;QASpB,4BAAa,CAAA;;;;;;;;QASb,oCAAqB,CAAA;;;;;;;;QASrB,kCAAmB,CAAA;;;;;;;;QASnB,0BAAW,CAAA;;;;;;;;QASX,0BAAW,CAAA;;;;;;;;QASX,iCAAkB,CAAA;;;;;;;;QASlB,sCAAuB,CAAA;;;;;;;;QASvB,uCAAwB,CAAA;;;;;;;;QASxB,sCAAuB,CAAA;;;;;;;;QASvB,qCAAsB,CAAA;;;;;;;;QAStB,mCAAoB,CAAA;;;;;;;;QASpB,8BAAe,CAAA;IACnB,CAAC,EA3KiBA,mBAAW,KAAXA,mBAAW;;ICR7B;;;;;;;;;IAQA,WAAkB,eAAe;;;;;;;;QAQ7B,gCAAa,CAAA;;;;;;;;QASb,+BAAY,CAAA;;;;;;;;QASZ,iCAAc,CAAA;;;;;;;;QASd,gCAAa,CAAA;;;;;;;;QASb,+BAAY,CAAA;;;;;;;;QASZ,sCAAmB,CAAA;;;;;;;;QASnB,uCAAoB,CAAA;;;;;;;;QASpB,gCAAa,CAAA;;;;;;;;QASb,wCAAqB,CAAA;;;;;;;;QASrB,sCAAmB,CAAA;;;;;;;;QASnB,8BAAW,CAAA;;;;;;;;QASX,8BAAW,CAAA;;;;;;;;QASX,qCAAkB,CAAA;;;;;;;;QASlB,0CAAuB,CAAA;;;;;;;;QASvB,2CAAwB,CAAA;;;;;;;;QASxB,0CAAuB,CAAA;;;;;;;;QASvB,yCAAsB,CAAA;;;;;;;;QAStB,uCAAoB,CAAA;;;;;;;;QASpB,kCAAe,CAAA;IACnB,CAAC,EA3KiBC,uBAAe,KAAfA,uBAAe;;ICRjC;;;;;;;;;IAQA,WAAkB,YAAY;QAC1B,8CAA8B,CAAA;QAC9B,iCAAiB,CAAA;QACjB,+BAAe,CAAA;QACf,gDAAgC,CAAA;QAChC,gDAAgC,CAAA;IACpC,CAAC,EANiBC,oBAAY,KAAZA,oBAAY;;;ICR9B,WAAkB,gBAAgB;QAC9B,iCAAa,CAAA;QACb,yCAAqB,CAAA;QACrB,6CAAyB,CAAA;QACzB,uCAAmB,CAAA;QACnB,+BAAW,CAAA;IACf,CAAC,EANiBC,wBAAgB,KAAhBA,wBAAgB;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports):"function"==typeof define&&define.amd?define("@taiga-ui/addon-commerce/enums",["exports"],a):a(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"]["addon-commerce"]=e["taiga-ui"]["addon-commerce"]||{},e["taiga-ui"]["addon-commerce"].enums={}))}(this,(function(e){"use strict";var a,n,i,r;(a=e.TuiCurrency||(e.TuiCurrency={})).Ruble="RUB",a.Euro="EUR",a.Dollar="USD",a.Pound="GBP",a.Baht="THB",a.TurkishLira="TRY",a.YuanRenminbi="CNY",a.Tenge="KZT",a.IsraeliShekel="ILS",a.IndianRupee="INR",a.Yen="JPY",a.SwissFranc="CHF",a.SingaporeDollar="SGD",a.AustralianDollar="AUD",a.HongKong_dollar="HKD",a.CanadianDollar="CAD",a.ArmenianDram="AMD",a.Won="KRW",a.Hryvnia="UAH",(n=e.TuiCurrencyCode||(e.TuiCurrencyCode={})).Ruble="643",n.Euro="978",n.Dollar="840",n.Pound="826",n.Baht="764",n.TurkishLira="949",n.YuanRenminbi="156",n.Tenge="398",n.IsraeliShekel="376",n.IndianRupee="356",n.Yen="392",n.Won="410",n.SwissFranc="756",n.SingaporeDollar="702",n.AustralianDollar="036",n.HongKong_dollar="344",n.CanadianDollar="124",n.ArmenianDram="051",n.Hryvnia="980",(i=e.TuiMoneySign||(e.TuiMoneySign={})).NegativeOnly="negative-only",i.Always="always",i.Never="never",i.ForceNegative="force-negative",i.ForcePositive="force-positive",(r=e.TuiPaymentSystem||(e.TuiPaymentSystem={})).Visa="visa",r.Electron="electron",r.Mastercard="mastercard",r.Maestro="maestro",r.Mir="mir",Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports):"function"==typeof define&&define.amd?define("@taiga-ui/addon-commerce/enums",["exports"],a):a(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"]["addon-commerce"]=e["taiga-ui"]["addon-commerce"]||{},e["taiga-ui"]["addon-commerce"].enums={}))}(this,(function(e){"use strict";var a,n,i,r;(a=e.TuiCurrency||(e.TuiCurrency={})).Ruble="RUB",a.Euro="EUR",a.Dollar="USD",a.Pound="GBP",a.Baht="THB",a.TurkishLira="TRY",a.YuanRenminbi="CNY",a.Tenge="KZT",a.IsraeliShekel="ILS",a.IndianRupee="INR",a.Yen="JPY",a.Won="KRW",a.SwissFranc="CHF",a.SingaporeDollar="SGD",a.AustralianDollar="AUD",a.HongKong_dollar="HKD",a.CanadianDollar="CAD",a.ArmenianDram="AMD",a.Hryvnia="UAH",(n=e.TuiCurrencyCode||(e.TuiCurrencyCode={})).Ruble="643",n.Euro="978",n.Dollar="840",n.Pound="826",n.Baht="764",n.TurkishLira="949",n.YuanRenminbi="156",n.Tenge="398",n.IsraeliShekel="376",n.IndianRupee="356",n.Yen="392",n.Won="410",n.SwissFranc="756",n.SingaporeDollar="702",n.AustralianDollar="036",n.HongKong_dollar="344",n.CanadianDollar="124",n.ArmenianDram="051",n.Hryvnia="980",(i=e.TuiMoneySign||(e.TuiMoneySign={})).NegativeOnly="negative-only",i.Always="always",i.Never="never",i.ForceNegative="force-negative",i.ForcePositive="force-positive",(r=e.TuiPaymentSystem||(e.TuiPaymentSystem={})).Visa="visa",r.Electron="electron",r.Mastercard="mastercard",r.Maestro="maestro",r.Mir="mir",Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-addon-commerce-enums.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/addon-commerce/enums/currency.ts","ng://@taiga-ui/addon-commerce/enums/currency-code.ts","ng://@taiga-ui/addon-commerce/enums/money-sign.ts","ng://@taiga-ui/addon-commerce/enums/payment-system.ts"],"names":["TuiCurrency","TuiCurrencyCode","TuiMoneySign","TuiPaymentSystem"],"mappings":"wWAAA,IAAkBA,ECAAC,ECQAC,ECRAC,GHAAH,EAAAA,EAAAA,cAAAA,EAAAA,YAAW,KACzB,MAAA,MACAA,EAAA,KAAA,MACAA,EAAA,OAAA,MACAA,EAAA,MAAA,MACAA,EAAA,KAAA,MACAA,EAAA,YAAA,MACAA,EAAA,aAAA,MACAA,EAAA,MAAA,MACAA,EAAA,cAAA,MACAA,EAAA,YAAA,MACAA,EAAA,IAAA,MACAA,EAAA,WAAA,MACAA,EAAA,gBAAA,MACAA,EAAA,iBAAA,MACAA,EAAA,gBAAA,MACAA,EAAA,eAAA,MACAA,EAAA,aAAA,MACAA,EAAA,IAAA,MACAA,EAAA,QAAA,OCnBcC,EAAAA,EAAAA,kBAAAA,EAAAA,gBAAe,KAC7B,MAAA,MACAA,EAAA,KAAA,MACAA,EAAA,OAAA,MACAA,EAAA,MAAA,MACAA,EAAA,KAAA,MACAA,EAAA,YAAA,MACAA,EAAA,aAAA,MACAA,EAAA,MAAA,MACAA,EAAA,cAAA,MACAA,EAAA,YAAA,MACAA,EAAA,IAAA,MACAA,EAAA,IAAA,MACAA,EAAA,WAAA,MACAA,EAAA,gBAAA,MACAA,EAAA,iBAAA,MACAA,EAAA,gBAAA,MACAA,EAAA,eAAA,MACAA,EAAA,aAAA,MACAA,EAAA,QAAA,OCXcC,EAAAA,EAAAA,eAAAA,EAAAA,aAAY,KAC1B,aAAA,gBACAA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,cAAA,iBACAA,EAAA,cAAA,kBCbcC,EAAAA,EAAAA,mBAAAA,EAAAA,iBAAgB,KAC9B,KAAA,OACAA,EAAA,SAAA,WACAA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,IAAA","sourcesContent":["export const enum TuiCurrency {\n Ruble = 'RUB',\n Euro = 'EUR',\n Dollar = 'USD',\n Pound = 'GBP',\n Baht = 'THB',\n TurkishLira = 'TRY',\n YuanRenminbi = 'CNY',\n Tenge = 'KZT',\n IsraeliShekel = 'ILS',\n IndianRupee = 'INR',\n Yen = 'JPY',\n SwissFranc = 'CHF',\n SingaporeDollar = 'SGD',\n AustralianDollar = 'AUD',\n HongKong_dollar = 'HKD',\n CanadianDollar = 'CAD',\n ArmenianDram = 'AMD',\n Won = 'KRW',\n Hryvnia = 'UAH',\n}\n","export const enum TuiCurrencyCode {\n Ruble = '643',\n Euro = '978',\n Dollar = '840',\n Pound = '826',\n Baht = '764',\n TurkishLira = '949',\n YuanRenminbi = '156',\n Tenge = '398',\n IsraeliShekel = '376',\n IndianRupee = '356',\n Yen = '392',\n Won = '410',\n SwissFranc = '756',\n SingaporeDollar = '702',\n AustralianDollar = '036',\n HongKong_dollar = '344',\n CanadianDollar = '124',\n ArmenianDram = '051',\n Hryvnia = '980',\n}\n","/**\n * negative-only — show sign only for negative numbers\n * always — always show sign, except for zero\n * never — never show sign\n * force-negative — show minus no matter the number, except for zero\n * force-positive — show plus no matter the number, except for zero\n * @deprecated use join type {@link TuiMoneySignT}\n */\nexport const enum TuiMoneySign {\n NegativeOnly = 'negative-only',\n Always = 'always',\n Never = 'never',\n ForceNegative = 'force-negative',\n ForcePositive = 'force-positive',\n}\n","export const enum TuiPaymentSystem {\n Visa = 'visa',\n Electron = 'electron',\n Mastercard = 'mastercard',\n Maestro = 'maestro',\n Mir = 'mir',\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/addon-commerce/enums/currency.ts","ng://@taiga-ui/addon-commerce/enums/currency-code.ts","ng://@taiga-ui/addon-commerce/enums/money-sign.ts","ng://@taiga-ui/addon-commerce/enums/payment-system.ts"],"names":["TuiCurrency","TuiCurrencyCode","TuiMoneySign","TuiPaymentSystem"],"mappings":"wWAQA,IAAkBA,ECAAC,ECAAC,ECRAC,GHQAH,EAAAA,EAAAA,cAAAA,EAAAA,YAAW,KAQzB,MAAA,MASAA,EAAA,KAAA,MASAA,EAAA,OAAA,MASAA,EAAA,MAAA,MASAA,EAAA,KAAA,MASAA,EAAA,YAAA,MASAA,EAAA,aAAA,MASAA,EAAA,MAAA,MASAA,EAAA,cAAA,MASAA,EAAA,YAAA,MASAA,EAAA,IAAA,MASAA,EAAA,IAAA,MASAA,EAAA,WAAA,MASAA,EAAA,gBAAA,MASAA,EAAA,iBAAA,MASAA,EAAA,gBAAA,MASAA,EAAA,eAAA,MASAA,EAAA,aAAA,MASAA,EAAA,QAAA,OC1KcC,EAAAA,EAAAA,kBAAAA,EAAAA,gBAAe,KAQ7B,MAAA,MASAA,EAAA,KAAA,MASAA,EAAA,OAAA,MASAA,EAAA,MAAA,MASAA,EAAA,KAAA,MASAA,EAAA,YAAA,MASAA,EAAA,aAAA,MASAA,EAAA,MAAA,MASAA,EAAA,cAAA,MASAA,EAAA,YAAA,MASAA,EAAA,IAAA,MASAA,EAAA,IAAA,MASAA,EAAA,WAAA,MASAA,EAAA,gBAAA,MASAA,EAAA,iBAAA,MASAA,EAAA,gBAAA,MASAA,EAAA,eAAA,MASAA,EAAA,aAAA,MASAA,EAAA,QAAA,OC1KcC,EAAAA,EAAAA,eAAAA,EAAAA,aAAY,KAC1B,aAAA,gBACAA,EAAA,OAAA,SACAA,EAAA,MAAA,QACAA,EAAA,cAAA,iBACAA,EAAA,cAAA,kBCbcC,EAAAA,EAAAA,mBAAAA,EAAAA,iBAAgB,KAC9B,KAAA,OACAA,EAAA,SAAA,WACAA,EAAA,WAAA,aACAA,EAAA,QAAA,UACAA,EAAA,IAAA","sourcesContent":["/**\n * **Active ISO 4217 alphabetic currency codes**\n *\n * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.\n * @description Alphabetic code is also called \"alfa-3\".\n *\n * @link https://en.wikipedia.org/wiki/ISO_4217\n */\nexport const enum TuiCurrency {\n /**\n * Russian ruble\n *\n * @description Numeric code: 643\n * @description Alphabetic code: RUB\n * @description Countries and territories: Russia\n */\n Ruble = 'RUB',\n\n /**\n * Euro\n *\n * @description Numeric code: 978\n * @description Alphabetic code: EUR\n * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)\n */\n Euro = 'EUR',\n\n /**\n * United States dollar\n *\n * @description Numeric code: 840\n * @description Alphabetic code: USD\n * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)\n */\n Dollar = 'USD',\n\n /**\n * Pound sterling\n *\n * @description Numeric code: 826\n * @description Alphabetic code: GBP\n * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)\n */\n Pound = 'GBP',\n\n /**\n * Thai baht\n *\n * @description Numeric code: 764\n * @description Alphabetic code: THB\n * @description Countries and territories: Thailand\n */\n Baht = 'THB',\n\n /**\n * Turkish lira\n *\n * @description Numeric code: 949\n * @description Alphabetic code: TRY\n * @description Countries and territories: Turkey\n */\n TurkishLira = 'TRY',\n\n /**\n * Chinese yuan\n *\n * @description Numeric code: 156\n * @description Alphabetic code: CNY\n * @description Countries and territories: China\n */\n YuanRenminbi = 'CNY',\n\n /**\n * Kazakhstani tenge\n *\n * @description Numeric code: 398\n * @description Alphabetic code: KZT\n * @description Countries and territories: Kazakhstan\n */\n Tenge = 'KZT',\n\n /**\n * Israeli new shekel\n *\n * @description Numeric code: 376\n * @description Alphabetic code: ILS\n * @description Countries and territories: Israel\n */\n IsraeliShekel = 'ILS',\n\n /**\n * Indian rupee\n *\n * @description Numeric code: 356\n * @description Alphabetic code: INR\n * @description Countries and territories: India, Bhutan\n */\n IndianRupee = 'INR',\n\n /**\n * Japanese yen\n *\n * @description Numeric code: 392\n * @description Alphabetic code: JPY\n * @description Countries and territories: Japan\n */\n Yen = 'JPY',\n\n /**\n * South Korean won\n *\n * @description Numeric code: 410\n * @description Alphabetic code: KRW\n * @description Countries and territories: South Korea\n */\n Won = 'KRW',\n\n /**\n * Swiss franc\n *\n * @description Numeric code: 756\n * @description Alphabetic code: CHF\n * @description Countries and territories: Switzerland, Liechtenstein (LI)\n */\n SwissFranc = 'CHF',\n\n /**\n * Singapore dollar\n *\n * @description Numeric code: 702\n * @description Alphabetic code: SGD\n * @description Countries and territories: Singapore\n */\n SingaporeDollar = 'SGD',\n\n /**\n * Australian dollar\n *\n * @description Numeric code: 036\n * @description Alphabetic code: AUD\n * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)\n */\n AustralianDollar = 'AUD',\n\n /**\n * Hong Kong dollar\n *\n * @description Numeric code: 344\n * @description Alphabetic code: HKD\n * @description Countries and territories: Hong Kong\n */\n HongKong_dollar = 'HKD',\n\n /**\n * Canadian dollar\n *\n * @description Numeric code: 124\n * @description Alphabetic code: CAD\n * @description Countries and territories: Canada\n */\n CanadianDollar = 'CAD',\n\n /**\n * Armenian dram\n *\n * @description Numeric code: 051\n * @description Alphabetic code: AMD\n * @description Countries and territories: Armenia\n */\n ArmenianDram = 'AMD',\n\n /**\n * Ukrainian hryvnia\n *\n * @description Numeric code: 980\n * @description Alphabetic code: UAH\n * @description Countries and territories: Ukraine\n */\n Hryvnia = 'UAH',\n}\n","/**\n * **Active ISO 4217 numeric currency codes**\n *\n * @description The ISO 4217 classification is used to describe alphabetic and numeric currency codes.\n * @description Numeric code is also called \"number-3\".\n *\n * @link https://en.wikipedia.org/wiki/ISO_4217\n */\nexport const enum TuiCurrencyCode {\n /**\n * Russian ruble\n *\n * @description Numeric code: 643\n * @description Alphabetic code: RUB\n * @description Countries and territories: Russia\n */\n Ruble = '643',\n\n /**\n * Euro\n *\n * @description Numeric code: 978\n * @description Alphabetic code: EUR\n * @description Countries and territories: Åland Islands (AX), European Union (EU), Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY), Estonia (EE), Finland (FI), France (FR), French Southern and Antarctic Lands (TF), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Latvia (LV), Lithuania (LT), Luxembourg (LU), Malta (MT), French Guiana (GF), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Réunion (RE), Saint Barthélemy (BL), Saint Martin (MF), Saint Pierre and Miquelon (PM), San Marino (SM), Slovakia (SK), Slovenia (SI), Spain (ES), Vatican City (VA)\n */\n Euro = '978',\n\n /**\n * United States dollar\n *\n * @description Numeric code: 840\n * @description Alphabetic code: USD\n * @description Countries and territories: United States, American Samoa (AS), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ – Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA) (as well as Panamanian Balboa), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), United States Minor Outlying Islands (UM)\n */\n Dollar = '840',\n\n /**\n * Pound sterling\n *\n * @description Numeric code: 826\n * @description Alphabetic code: GBP\n * @description Countries and territories: United Kingdom, Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), Tristan da Cunha (SH-TA)\n */\n Pound = '826',\n\n /**\n * Thai baht\n *\n * @description Numeric code: 764\n * @description Alphabetic code: THB\n * @description Countries and territories: Thailand\n */\n Baht = '764',\n\n /**\n * Turkish lira\n *\n * @description Numeric code: 949\n * @description Alphabetic code: TRY\n * @description Countries and territories: Turkey\n */\n TurkishLira = '949',\n\n /**\n * Chinese yuan\n *\n * @description Numeric code: 156\n * @description Alphabetic code: CNY\n * @description Countries and territories: China\n */\n YuanRenminbi = '156',\n\n /**\n * Kazakhstani tenge\n *\n * @description Numeric code: 398\n * @description Alphabetic code: KZT\n * @description Countries and territories: Kazakhstan\n */\n Tenge = '398',\n\n /**\n * Israeli new shekel\n *\n * @description Numeric code: 376\n * @description Alphabetic code: ILS\n * @description Countries and territories: Israel\n */\n IsraeliShekel = '376',\n\n /**\n * Indian rupee\n *\n * @description Numeric code: 356\n * @description Alphabetic code: INR\n * @description Countries and territories: India, Bhutan\n */\n IndianRupee = '356',\n\n /**\n * Japanese yen\n *\n * @description Numeric code: 392\n * @description Alphabetic code: JPY\n * @description Countries and territories: Japan\n */\n Yen = '392',\n\n /**\n * South Korean won\n *\n * @description Numeric code: 410\n * @description Alphabetic code: KRW\n * @description Countries and territories: South Korea\n */\n Won = '410',\n\n /**\n * Swiss franc\n *\n * @description Numeric code: 756\n * @description Alphabetic code: CHF\n * @description Countries and territories: Switzerland, Liechtenstein (LI)\n */\n SwissFranc = '756',\n\n /**\n * Singapore dollar\n *\n * @description Numeric code: 702\n * @description Alphabetic code: SGD\n * @description Countries and territories: Singapore\n */\n SingaporeDollar = '702',\n\n /**\n * Australian dollar\n *\n * @description Numeric code: 036\n * @description Alphabetic code: AUD\n * @description Countries and territories: Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard Island and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV)\n */\n AustralianDollar = '036',\n\n /**\n * Hong Kong dollar\n *\n * @description Numeric code: 344\n * @description Alphabetic code: HKD\n * @description Countries and territories: Hong Kong\n */\n HongKong_dollar = '344',\n\n /**\n * Canadian dollar\n *\n * @description Numeric code: 124\n * @description Alphabetic code: CAD\n * @description Countries and territories: Canada\n */\n CanadianDollar = '124',\n\n /**\n * Armenian dram\n *\n * @description Numeric code: 051\n * @description Alphabetic code: AMD\n * @description Countries and territories: Armenia\n */\n ArmenianDram = '051',\n\n /**\n * Ukrainian hryvnia\n *\n * @description Numeric code: 980\n * @description Alphabetic code: UAH\n * @description Countries and territories: Ukraine\n */\n Hryvnia = '980',\n}\n","/**\n * negative-only — show sign only for negative numbers\n * always — always show sign, except for zero\n * never — never show sign\n * force-negative — show minus no matter the number, except for zero\n * force-positive — show plus no matter the number, except for zero\n * @deprecated use join type {@link TuiMoneySignT}\n */\nexport const enum TuiMoneySign {\n NegativeOnly = 'negative-only',\n Always = 'always',\n Never = 'never',\n ForceNegative = 'force-negative',\n ForcePositive = 'force-positive',\n}\n","export const enum TuiPaymentSystem {\n Visa = 'visa',\n Electron = 'electron',\n Mastercard = 'mastercard',\n Maestro = 'maestro',\n Mir = 'mir',\n}\n"]}
@@ -4,7 +4,7 @@
4
4
  (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui']['addon-commerce'] = global['taiga-ui']['addon-commerce'] || {}, global['taiga-ui']['addon-commerce'].utils = {}), global.core, global.cdk));
5
5
  }(this, (function (exports, core, cdk) { 'use strict';
6
6
 
7
- var TUI_EXP_YEAR_MONTH = /^\d{2}[\/|.]\d{4}$/;
7
+ var TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
8
8
  var TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
9
9
  /**
10
10
  * Correct expiration date text allowing only valid months
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-utils.umd.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[\\/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n"],"names":["TUI_NON_DIGIT_REGEXP","padStart","TUI_NON_DIGITS_REGEXP"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-utils.umd.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n"],"names":["TUI_NON_DIGIT_REGEXP","padStart","TUI_NON_DIGITS_REGEXP"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@taiga-ui/core"),require("@taiga-ui/cdk")):"function"==typeof define&&define.amd?define("@taiga-ui/addon-commerce/utils",["exports","@taiga-ui/core","@taiga-ui/cdk"],r):r(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"]["addon-commerce"]=e["taiga-ui"]["addon-commerce"]||{},e["taiga-ui"]["addon-commerce"].utils={}),e.core,e.cdk)}(this,(function(e,r,t){"use strict";var a=/^\d{2}[\/|.]\d{4}$/,n=/^\d{1,4}.\d{1,2}.\d{1,4}$/;function s(e){switch(e){case"RUB":case"643":return"₽";case"USD":case"840":return"$";case"SGD":case"702":return"S$";case"AUD":case"036":return"A$";case"HKD":case"344":return"HK$";case"CAD":case"124":return"C$";case"EUR":case"978":return"€";case"GBP":case"826":return"£";case"THB":case"764":return"฿";case"TRY":case"949":return"₺";case"CNY":case"156":return"CN¥";case"JPY":case"392":return"¥";case"ILS":case"376":return"₪";case"INR":case"356":return"₹";case"CHF":case"756":return"₣";case"AMD":case"051":return"֏";case"KRW":case"410":return"₩";case"KZT":case"398":return"₸";case"UAH":case"980":return"₴";default:return null}}function u(e){if(""===e)return null;var r=Number.parseInt(e[0],10),t=Number.parseInt(e.substr(0,2),10),a=Number.parseInt(e.substr(0,3),10),n=Number.parseInt(e.substr(0,4),10);return c(a,t,r)?"maestro":i(n,t,r)?"mastercard":o(n)?"mir":d(n)?"electron":l(r)?"visa":null}function c(e,r,t){return 6===t||(50===r||r>55&&r<59||!(e<500)&&e<510)}function i(e,r,t){return 5===t||!(r<10)&&(r>50&&r<56||!(e<1e3)&&(e>2220&&e<2721))}function o(e){return e>2199&&e<2205}function d(e){switch(e){case 4026:case 4175:case 4405:case 4508:case 4844:case 4913:case 4917:return!0;default:return!1}}function l(e){return 4===e}e.formatCurrency=function(e){var r=function(e){return null===e||"string"==typeof e?e||"":t.padStart(String(e),3,"0")}(e);return s(r)||r},e.getCurrencySymbol=s,e.getPaymentSystem=u,e.isCardLengthValid=function(e){var r=e.length;switch(u(e)){case"electron":return 16===r;case"maestro":return r>11&&r<20;case"mastercard":case"mir":return r>15&&r<20;case"visa":return r>12&&r<20;default:return r>8&&r<20}},e.isCardNumberValid=function(e){var t=String(e).replace(r.TUI_NON_DIGITS_REGEXP,""),a=t.length;return!(t.split("").map((function(e,r){var t=parseInt(e,10);if((r+a)%2==0){var n=2*t;return n>9?n-9:n}return t})).reduce((function(e,r){return e+r}),0)%10)},e.isElectron=d,e.isExpireValid=function(e){var r=new Date,t=r.getMonth(),a=r.getFullYear()-2e3,n=parseInt(e.slice(0,2),0),s=parseInt(e.slice(-2),0);return s>a||s===a&&n>=t},e.isMaestro=c,e.isMastercard=i,e.isMir=o,e.isVisa=l,e.tuiCreateAutoCorrectedExpirePipe=function(){return function(e,t){var s=t.rawValue;if(a.test(s)&&(e=s.substr(0,2)+"/"+s.substr(5)),s.length>7&&s.length<11&&n.test(s)){var u=s.split(r.TUI_NON_DIGIT_REGEXP),c=u[1],i=u.find((function(e){return 4===e.length}));e=""+"0".repeat(2-c.length)+c+"/"+(i?i.substr(2):"")}var o=[],d=e.split("");return parseInt(d[0],10)>1&&(d[2]="/",d[1]=d[0],d[0]="0",o.push(0)),{value:d.join(""),indexesOfPipedChars:o}}},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@taiga-ui/core"),require("@taiga-ui/cdk")):"function"==typeof define&&define.amd?define("@taiga-ui/addon-commerce/utils",["exports","@taiga-ui/core","@taiga-ui/cdk"],r):r(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"]["addon-commerce"]=e["taiga-ui"]["addon-commerce"]||{},e["taiga-ui"]["addon-commerce"].utils={}),e.core,e.cdk)}(this,(function(e,r,t){"use strict";var a=/^\d{2}[/|.]\d{4}$/,n=/^\d{1,4}.\d{1,2}.\d{1,4}$/;function s(e){switch(e){case"RUB":case"643":return"₽";case"USD":case"840":return"$";case"SGD":case"702":return"S$";case"AUD":case"036":return"A$";case"HKD":case"344":return"HK$";case"CAD":case"124":return"C$";case"EUR":case"978":return"€";case"GBP":case"826":return"£";case"THB":case"764":return"฿";case"TRY":case"949":return"₺";case"CNY":case"156":return"CN¥";case"JPY":case"392":return"¥";case"ILS":case"376":return"₪";case"INR":case"356":return"₹";case"CHF":case"756":return"₣";case"AMD":case"051":return"֏";case"KRW":case"410":return"₩";case"KZT":case"398":return"₸";case"UAH":case"980":return"₴";default:return null}}function u(e){if(""===e)return null;var r=Number.parseInt(e[0],10),t=Number.parseInt(e.substr(0,2),10),a=Number.parseInt(e.substr(0,3),10),n=Number.parseInt(e.substr(0,4),10);return c(a,t,r)?"maestro":i(n,t,r)?"mastercard":o(n)?"mir":d(n)?"electron":l(r)?"visa":null}function c(e,r,t){return 6===t||(50===r||r>55&&r<59||!(e<500)&&e<510)}function i(e,r,t){return 5===t||!(r<10)&&(r>50&&r<56||!(e<1e3)&&(e>2220&&e<2721))}function o(e){return e>2199&&e<2205}function d(e){switch(e){case 4026:case 4175:case 4405:case 4508:case 4844:case 4913:case 4917:return!0;default:return!1}}function l(e){return 4===e}e.formatCurrency=function(e){var r=function(e){return null===e||"string"==typeof e?e||"":t.padStart(String(e),3,"0")}(e);return s(r)||r},e.getCurrencySymbol=s,e.getPaymentSystem=u,e.isCardLengthValid=function(e){var r=e.length;switch(u(e)){case"electron":return 16===r;case"maestro":return r>11&&r<20;case"mastercard":case"mir":return r>15&&r<20;case"visa":return r>12&&r<20;default:return r>8&&r<20}},e.isCardNumberValid=function(e){var t=String(e).replace(r.TUI_NON_DIGITS_REGEXP,""),a=t.length;return!(t.split("").map((function(e,r){var t=parseInt(e,10);if((r+a)%2==0){var n=2*t;return n>9?n-9:n}return t})).reduce((function(e,r){return e+r}),0)%10)},e.isElectron=d,e.isExpireValid=function(e){var r=new Date,t=r.getMonth(),a=r.getFullYear()-2e3,n=parseInt(e.slice(0,2),0),s=parseInt(e.slice(-2),0);return s>a||s===a&&n>=t},e.isMaestro=c,e.isMastercard=i,e.isMir=o,e.isVisa=l,e.tuiCreateAutoCorrectedExpirePipe=function(){return function(e,t){var s=t.rawValue;if(a.test(s)&&(e=s.substr(0,2)+"/"+s.substr(5)),s.length>7&&s.length<11&&n.test(s)){var u=s.split(r.TUI_NON_DIGIT_REGEXP),c=u[1],i=u.find((function(e){return 4===e.length}));e=""+"0".repeat(2-c.length)+c+"/"+(i?i.substr(2):"")}var o=[],d=e.split("");return parseInt(d[0],10)>1&&(d[2]="/",d[1]=d[0],d[0]="0",o.push(0)),{value:d.join(""),indexesOfPipedChars:o}}},Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=taiga-ui-addon-commerce-utils.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts"],"names":["TUI_EXP_YEAR_MONTH","TUI_EXP_SAFARI","getCurrencySymbol","currency","getPaymentSystem","cardNumber","one","Number","parseInt","two","substr","three","four","isMaestro","isMastercard","isMir","isElectron","isVisa","stringifiedCurrency","padStart","String","stringifyCurrency","length","value","replace","TUI_NON_DIGITS_REGEXP","split","map","char","index","digit","digitX2","reduce","a","b","expire","today","Date","currentMonth","getMonth","currentYear","getFullYear","month","slice","year","conformedValue","_a","rawValue","test","array","TUI_NON_DIGIT_REGEXP","find","repeat","indexesOfPipedChars","conformedValueArr","push","join"],"mappings":"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","sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[\\/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n"]}
1
+ {"version":3,"sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts"],"names":["TUI_EXP_YEAR_MONTH","TUI_EXP_SAFARI","getCurrencySymbol","currency","getPaymentSystem","cardNumber","one","Number","parseInt","two","substr","three","four","isMaestro","isMastercard","isMir","isElectron","isVisa","stringifiedCurrency","padStart","String","stringifyCurrency","length","value","replace","TUI_NON_DIGITS_REGEXP","split","map","char","index","digit","digitX2","reduce","a","b","expire","today","Date","currentMonth","getMonth","currentYear","getFullYear","month","slice","year","conformedValue","_a","rawValue","test","array","TUI_NON_DIGIT_REGEXP","find","repeat","indexesOfPipedChars","conformedValueArr","push","join"],"mappings":"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","sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n"]}
@@ -11,6 +11,7 @@ export declare class TuiInputCardGroupedComponent extends AbstractTuiNullableCon
11
11
  private readonly elementRef;
12
12
  readonly mode$: Observable<TuiBrightness | null>;
13
13
  readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>;
14
+ readonly appearance: string;
14
15
  private readonly inputCard?;
15
16
  private readonly inputExpire?;
16
17
  private readonly inputCVC?;
@@ -29,7 +30,7 @@ export declare class TuiInputCardGroupedComponent extends AbstractTuiNullableCon
29
30
  readonly maskCard: TuiTextMaskOptions;
30
31
  readonly maskExpire: TuiTextMaskOptions;
31
32
  open: boolean;
32
- constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, cardGroupedTexts$: Observable<TuiCardGroupedTexts>);
33
+ constructor(control: NgControl | null, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>, mode$: Observable<TuiBrightness | null>, cardGroupedTexts$: Observable<TuiCardGroupedTexts>, appearance: string);
33
34
  get nativeFocusableElement(): HTMLInputElement | null;
34
35
  get focused(): boolean;
35
36
  get card(): string;