@taiga-ui/addon-commerce 3.25.0-dev.main-6e071fa → 3.25.0-dev.main-165117e
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/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +9 -82
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +136 -71
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/components/input-card/abstract-input-card.d.ts +24 -0
- package/components/input-card/index.d.ts +2 -0
- package/components/input-card/input-card.component.d.ts +9 -16
- package/components/input-card/input-card.providers.d.ts +13 -0
- package/components/input-card-grouped/input-card-grouped.component.d.ts +4 -13
- package/components/input-card-grouped/input-card-grouped.providers.d.ts +4 -7
- package/esm2015/components/input-card/abstract-input-card.js +65 -0
- package/esm2015/components/input-card/index.js +3 -1
- package/esm2015/components/input-card/input-card.component.js +26 -50
- package/esm2015/components/input-card/input-card.providers.js +20 -0
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +7 -46
- package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +3 -16
- package/esm2015/utils/get-payment-system.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +8 -60
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +104 -52
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/package.json +1 -1
- package/utils/get-payment-system.d.ts +1 -1
|
@@ -1,38 +1,105 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { EventEmitter,
|
|
4
|
-
import * as
|
|
3
|
+
import { EventEmitter, Directive, Optional, Self, Inject, ChangeDetectorRef, Input, Output, InjectionToken, Component, ChangeDetectionStrategy, ViewChild, NgModule } from '@angular/core';
|
|
4
|
+
import * as i1 from '@angular/forms';
|
|
5
5
|
import { NgControl } from '@angular/forms';
|
|
6
|
+
import { AbstractTuiNullableControl, tuiDefaultProp, tuiPure, tuiAsFocusableItemAccessor, tuiAsControl } from '@taiga-ui/cdk';
|
|
6
7
|
import { TUI_CARD_MASK } from '@taiga-ui/addon-commerce/constants';
|
|
7
|
-
import
|
|
8
|
-
import { AbstractTuiControl, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
9
|
-
import * as i1 from '@taiga-ui/core';
|
|
8
|
+
import * as i1$1 from '@taiga-ui/core';
|
|
10
9
|
import { TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
|
|
10
|
+
import { tuiGetPaymentSystem } from '@taiga-ui/addon-commerce/utils';
|
|
11
11
|
import * as i2 from '@taiga-ui/kit';
|
|
12
12
|
import { TextMaskModule, TuiValueAccessorModule } from '@taiga-ui/kit';
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
visa: 'tuiIconVisa',
|
|
17
|
-
electron: 'tuiIconElectron',
|
|
18
|
-
mastercard: 'tuiIconMastercard',
|
|
19
|
-
maestro: 'tuiIconMaestro',
|
|
20
|
-
};
|
|
21
|
-
class TuiInputCardComponent extends AbstractTuiControl {
|
|
22
|
-
constructor(control, cdr) {
|
|
14
|
+
class AbstractTuiInputCard extends AbstractTuiNullableControl {
|
|
15
|
+
constructor(control, cdr, options) {
|
|
23
16
|
super(control, cdr);
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
17
|
+
this.options = options;
|
|
18
|
+
this.cardSrc = ``;
|
|
19
|
+
this.autocompleteEnabled = this.options.autocompleteEnabled;
|
|
26
20
|
this.binChange = new EventEmitter();
|
|
21
|
+
}
|
|
22
|
+
get defaultIcon() {
|
|
23
|
+
const paymentSystem = this.getPaymentSystem(this.card);
|
|
24
|
+
return paymentSystem && this.options.icons[paymentSystem];
|
|
25
|
+
}
|
|
26
|
+
get paymentSystem() {
|
|
27
|
+
return this.getPaymentSystem(this.card);
|
|
28
|
+
}
|
|
29
|
+
get icon() {
|
|
30
|
+
return this.cardSrc || this.defaultIcon;
|
|
31
|
+
}
|
|
32
|
+
get autocompleteCard() {
|
|
33
|
+
return this.autocompleteEnabled ? `cc-number` : `off`;
|
|
34
|
+
}
|
|
35
|
+
get bin() {
|
|
36
|
+
return this.card.length < 6 ? null : this.card.slice(0, 6);
|
|
37
|
+
}
|
|
38
|
+
getPaymentSystem(cardNumber) {
|
|
39
|
+
return this.options.paymentSystemHandler(cardNumber);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
AbstractTuiInputCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiInputCard, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
43
|
+
AbstractTuiInputCard.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: AbstractTuiInputCard, inputs: { cardSrc: "cardSrc", autocompleteEnabled: "autocompleteEnabled" }, outputs: { binChange: "binChange" }, usesInheritance: true, ngImport: i0 });
|
|
44
|
+
__decorate([
|
|
45
|
+
tuiDefaultProp()
|
|
46
|
+
], AbstractTuiInputCard.prototype, "cardSrc", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
tuiDefaultProp()
|
|
49
|
+
], AbstractTuiInputCard.prototype, "autocompleteEnabled", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
tuiPure
|
|
52
|
+
], AbstractTuiInputCard.prototype, "getPaymentSystem", null);
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AbstractTuiInputCard, decorators: [{
|
|
54
|
+
type: Directive
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
56
|
+
type: Optional
|
|
57
|
+
}, {
|
|
58
|
+
type: Self
|
|
59
|
+
}, {
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [NgControl]
|
|
62
|
+
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [ChangeDetectorRef]
|
|
65
|
+
}] }, { type: undefined }]; }, propDecorators: { cardSrc: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], autocompleteEnabled: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], binChange: [{
|
|
70
|
+
type: Output
|
|
71
|
+
}], getPaymentSystem: [] } });
|
|
72
|
+
|
|
73
|
+
const TUI_INPUT_CARD_DEFAULT_OPTIONS = {
|
|
74
|
+
icons: {
|
|
75
|
+
mir: `tuiIconMir`,
|
|
76
|
+
visa: `tuiIconVisa`,
|
|
77
|
+
electron: `tuiIconElectron`,
|
|
78
|
+
mastercard: `tuiIconMastercard`,
|
|
79
|
+
maestro: `tuiIconMaestro`,
|
|
80
|
+
},
|
|
81
|
+
cardSrc: ``,
|
|
82
|
+
paymentSystemHandler: tuiGetPaymentSystem,
|
|
83
|
+
autocompleteEnabled: false,
|
|
84
|
+
};
|
|
85
|
+
const TUI_INPUT_CARD_OPTIONS = new InjectionToken(`[TUI_INPUT_CARD_OPTIONS]`, { factory: () => TUI_INPUT_CARD_DEFAULT_OPTIONS });
|
|
86
|
+
const tuiInputCardOptionsProvider = (options) => ({
|
|
87
|
+
provide: TUI_INPUT_CARD_OPTIONS,
|
|
88
|
+
useValue: Object.assign(Object.assign({}, TUI_INPUT_CARD_DEFAULT_OPTIONS), options),
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
class TuiInputCardComponent extends AbstractTuiInputCard {
|
|
92
|
+
constructor(control, cdr, options) {
|
|
93
|
+
super(control, cdr, options);
|
|
27
94
|
this.textMaskOptions = {
|
|
28
95
|
mask: TUI_CARD_MASK,
|
|
29
96
|
guide: false,
|
|
30
97
|
pipe: conformedValue => conformedValue.trim(),
|
|
31
98
|
};
|
|
32
99
|
}
|
|
33
|
-
get
|
|
34
|
-
|
|
35
|
-
return
|
|
100
|
+
get card() {
|
|
101
|
+
var _a;
|
|
102
|
+
return (_a = this.value) !== null && _a !== void 0 ? _a : '';
|
|
36
103
|
}
|
|
37
104
|
get nativeFocusableElement() {
|
|
38
105
|
return this.input ? this.input.nativeFocusableElement : null;
|
|
@@ -40,23 +107,8 @@ class TuiInputCardComponent extends AbstractTuiControl {
|
|
|
40
107
|
get focused() {
|
|
41
108
|
return !!this.input && this.input.focused;
|
|
42
109
|
}
|
|
43
|
-
get icon() {
|
|
44
|
-
return this.cardSrc || this.defaultCardIcon;
|
|
45
|
-
}
|
|
46
|
-
get autocomplete() {
|
|
47
|
-
return this.autocompleteEnabled ? 'cc-number' : 'off';
|
|
48
|
-
}
|
|
49
|
-
get paymentSystem() {
|
|
50
|
-
return tuiGetPaymentSystem(this.value);
|
|
51
|
-
}
|
|
52
|
-
get bin() {
|
|
53
|
-
return this.value.length < 6 ? null : this.value.slice(0, 6);
|
|
54
|
-
}
|
|
55
110
|
get formattedCard() {
|
|
56
|
-
return this.
|
|
57
|
-
.split('')
|
|
58
|
-
.map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))
|
|
59
|
-
.join('');
|
|
111
|
+
return this.getFormattedCard(this.card);
|
|
60
112
|
}
|
|
61
113
|
onValueChange(value) {
|
|
62
114
|
const parsed = value.split(' ').join('');
|
|
@@ -81,18 +133,21 @@ class TuiInputCardComponent extends AbstractTuiControl {
|
|
|
81
133
|
getFallbackValue() {
|
|
82
134
|
return '';
|
|
83
135
|
}
|
|
136
|
+
getFormattedCard(cardNumber) {
|
|
137
|
+
return cardNumber
|
|
138
|
+
.split('')
|
|
139
|
+
.map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))
|
|
140
|
+
.join('');
|
|
141
|
+
}
|
|
84
142
|
}
|
|
85
|
-
TuiInputCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
86
|
-
TuiInputCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCardComponent, selector: "tui-input-card",
|
|
143
|
+
TuiInputCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_INPUT_CARD_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
144
|
+
TuiInputCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCardComponent, selector: "tui-input-card", providers: [
|
|
87
145
|
tuiAsFocusableItemAccessor(TuiInputCardComponent),
|
|
88
146
|
tuiAsControl(TuiInputCardComponent),
|
|
89
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-input{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
90
|
-
__decorate([
|
|
91
|
-
tuiDefaultProp()
|
|
92
|
-
], TuiInputCardComponent.prototype, "cardSrc", void 0);
|
|
147
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-input{border-radius:inherit;text-align:inherit}\n"], components: [{ type: i1$1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }], directives: [{ type: i1$1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i1$1.TuiTextfieldCustomContentDirective, selector: "[tuiTextfieldCustomContent]", inputs: ["tuiTextfieldCustomContent"] }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
93
148
|
__decorate([
|
|
94
|
-
|
|
95
|
-
], TuiInputCardComponent.prototype, "
|
|
149
|
+
tuiPure
|
|
150
|
+
], TuiInputCardComponent.prototype, "getFormattedCard", null);
|
|
96
151
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCardComponent, decorators: [{
|
|
97
152
|
type: Component,
|
|
98
153
|
args: [{
|
|
@@ -105,7 +160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
105
160
|
tuiAsControl(TuiInputCardComponent),
|
|
106
161
|
],
|
|
107
162
|
}]
|
|
108
|
-
}], ctorParameters: function () { return [{ type:
|
|
163
|
+
}], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
|
|
109
164
|
type: Optional
|
|
110
165
|
}, {
|
|
111
166
|
type: Self
|
|
@@ -115,16 +170,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
115
170
|
}] }, { type: i0.ChangeDetectorRef, decorators: [{
|
|
116
171
|
type: Inject,
|
|
117
172
|
args: [ChangeDetectorRef]
|
|
173
|
+
}] }, { type: undefined, decorators: [{
|
|
174
|
+
type: Inject,
|
|
175
|
+
args: [TUI_INPUT_CARD_OPTIONS]
|
|
118
176
|
}] }]; }, propDecorators: { input: [{
|
|
119
177
|
type: ViewChild,
|
|
120
178
|
args: [TuiPrimitiveTextfieldComponent]
|
|
121
|
-
}],
|
|
122
|
-
type: Input
|
|
123
|
-
}], autocompleteEnabled: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], binChange: [{
|
|
126
|
-
type: Output
|
|
127
|
-
}] } });
|
|
179
|
+
}], getFormattedCard: [] } });
|
|
128
180
|
|
|
129
181
|
class TuiInputCardDirective extends AbstractTuiTextfieldHost {
|
|
130
182
|
onValueChange(value) {
|
|
@@ -181,5 +233,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
181
233
|
* Generated bundle index. Do not edit.
|
|
182
234
|
*/
|
|
183
235
|
|
|
184
|
-
export { TuiInputCardComponent, TuiInputCardDirective, TuiInputCardModule };
|
|
236
|
+
export { AbstractTuiInputCard, TUI_INPUT_CARD_DEFAULT_OPTIONS, TUI_INPUT_CARD_OPTIONS, TuiInputCardComponent, TuiInputCardDirective, TuiInputCardModule, tuiInputCardOptionsProvider };
|
|
185
237
|
//# sourceMappingURL=taiga-ui-addon-commerce-components-input-card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card.js","sources":["../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-card.template.html","../../../projects/addon-commerce/components/input-card/input-card.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.module.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldComponent, TuiTextMaskOptions} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nconst icons: Record<TuiPaymentSystem, string> = {\n mir: 'tuiIconMir',\n visa: 'tuiIconVisa',\n electron: 'tuiIconElectron',\n mastercard: 'tuiIconMastercard',\n maestro: 'tuiIconMaestro',\n};\n\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardComponent),\n tuiAsControl(TuiInputCardComponent),\n ],\n})\nexport class TuiInputCardComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n ) {\n super(control, cdr);\n }\n\n private get defaultCardIcon(): string | null {\n const {paymentSystem} = this;\n\n return paymentSystem ? icons[paymentSystem] : null;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get icon(): PolymorpheusContent {\n return this.cardSrc || this.defaultCardIcon;\n }\n\n get autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-number' : 'off';\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return tuiGetPaymentSystem(this.value);\n }\n\n get bin(): string | null {\n return this.value.length < 6 ? null : this.value.slice(0, 6);\n }\n\n get formattedCard(): string {\n return this.value\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('');\n }\n\n onValueChange(value: string): void {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.value = parsed;\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n override writeValue(value: string | null): void {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCardComponent} from './input-card.component';\n\n@Directive({\n selector: 'tui-input-card',\n providers: [tuiAsTextfieldHost(TuiInputCardDirective)],\n})\nexport class TuiInputCardDirective\n extends AbstractTuiTextfieldHost<TuiInputCardComponent>\n implements AfterViewInit\n{\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n ngAfterViewInit(): void {\n const {nativeFocusableElement} = this.host;\n\n if (!nativeFocusableElement) {\n return;\n }\n\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.placeholder =\n nativeFocusableElement.placeholder || '0000 0000 0000 0000';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardDirective} from './input-card.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent, TuiInputCardDirective],\n exports: [TuiInputCardComponent, TuiInputCardDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card.js","sources":["../../../projects/addon-commerce/components/input-card/abstract-input-card.ts","../../../projects/addon-commerce/components/input-card/input-card.providers.ts","../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-card.template.html","../../../projects/addon-commerce/components/input-card/input-card.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.module.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {\n AbstractTuiNullableControl,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCardOptions} from './input-card.providers';\n\n@Directive()\nexport abstract class AbstractTuiInputCard<\n T,\n Options extends TuiInputCardOptions = TuiInputCardOptions,\n >\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent = ``;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = this.options.autocompleteEnabled;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n protected readonly options: Options,\n ) {\n super(control, cdr);\n }\n\n abstract get card(): string;\n\n abstract get nativeFocusableElement(): TuiNativeFocusableElement | null;\n\n get defaultIcon(): string | null {\n const paymentSystem = this.getPaymentSystem(this.card);\n\n return paymentSystem && this.options.icons[paymentSystem];\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return this.getPaymentSystem(this.card);\n }\n\n get icon(): PolymorpheusContent {\n return this.cardSrc || this.defaultIcon;\n }\n\n get autocompleteCard(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? `cc-number` : `off`;\n }\n\n get bin(): string | null {\n return this.card.length < 6 ? null : this.card.slice(0, 6);\n }\n\n @tuiPure\n protected getPaymentSystem(cardNumber?: string | null): TuiPaymentSystem | null {\n return this.options.paymentSystemHandler(cardNumber);\n }\n}\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCardOptions {\n cardSrc: PolymorpheusContent;\n readonly autocompleteEnabled: boolean;\n readonly icons: Record<TuiPaymentSystem, string>;\n readonly paymentSystemHandler: TuiHandler<\n string | null | undefined,\n TuiPaymentSystem | null\n >;\n}\n\nexport const TUI_INPUT_CARD_DEFAULT_OPTIONS: TuiInputCardOptions = {\n icons: {\n mir: `tuiIconMir`,\n visa: `tuiIconVisa`,\n electron: `tuiIconElectron`,\n mastercard: `tuiIconMastercard`,\n maestro: `tuiIconMaestro`,\n },\n cardSrc: ``,\n paymentSystemHandler: tuiGetPaymentSystem,\n autocompleteEnabled: false,\n};\n\nexport const TUI_INPUT_CARD_OPTIONS = new InjectionToken<TuiInputCardOptions>(\n `[TUI_INPUT_CARD_OPTIONS]`,\n {factory: () => TUI_INPUT_CARD_DEFAULT_OPTIONS},\n);\n\nexport const tuiInputCardOptionsProvider: (\n options: Partial<TuiInputCardOptions>,\n) => ValueProvider = (options: Partial<TuiInputCardOptions>) => ({\n provide: TUI_INPUT_CARD_OPTIONS,\n useValue: {...TUI_INPUT_CARD_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {tuiAsControl, tuiAsFocusableItemAccessor, tuiPure} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldComponent, TuiTextMaskOptions} from '@taiga-ui/core';\n\nimport {AbstractTuiInputCard} from './abstract-input-card';\nimport {TUI_INPUT_CARD_OPTIONS, TuiInputCardOptions} from './input-card.providers';\n\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCardComponent),\n tuiAsControl(TuiInputCardComponent),\n ],\n})\nexport class TuiInputCardComponent extends AbstractTuiInputCard<string> {\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_INPUT_CARD_OPTIONS) options: TuiInputCardOptions,\n ) {\n super(control, cdr, options);\n }\n\n get card(): string {\n return this.value ?? '';\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get formattedCard(): string {\n return this.getFormattedCard(this.card);\n }\n\n onValueChange(value: string): void {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.value = parsed;\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n override writeValue(value: string | null): void {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected override getFallbackValue(): string {\n return '';\n }\n\n @tuiPure\n private getFormattedCard(cardNumber: string): string {\n return cardNumber\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('');\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCardComponent} from './input-card.component';\n\n@Directive({\n selector: 'tui-input-card',\n providers: [tuiAsTextfieldHost(TuiInputCardDirective)],\n})\nexport class TuiInputCardDirective\n extends AbstractTuiTextfieldHost<TuiInputCardComponent>\n implements AfterViewInit\n{\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n ngAfterViewInit(): void {\n const {nativeFocusableElement} = this.host;\n\n if (!nativeFocusableElement) {\n return;\n }\n\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.placeholder =\n nativeFocusableElement.placeholder || '0000 0000 0000 0000';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardDirective} from './input-card.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent, TuiInputCardDirective],\n exports: [TuiInputCardComponent, TuiInputCardDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["../../../projects/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-currency-by-code.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.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.slice(0, 2)}/${rawValue.slice(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\n // TODO: investigate why the month is sometimes more than 2-length in safari\n const month = array[1].slice(2);\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${`0`.repeat(2 - month.length)}${month}/${\n year ? year.slice(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\n// eslint-disable-next-line complexity\nexport function tuiGetCurrencySymbol(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 case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\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.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\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 case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return `So'm`;\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return `c`;\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return `Dh`;\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ``\n : String(currency).padStart(3, `0`);\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\n\nexport const TUI_CURRENCY_DICTIONARY: Record<TuiCurrencyCode, TuiCurrency> = {\n [TuiCurrencyCode.Ruble]: TuiCurrency.Ruble,\n [TuiCurrencyCode.Dollar]: TuiCurrency.Dollar,\n [TuiCurrencyCode.MexicanPeso]: TuiCurrency.MexicanPeso,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.AustralianDollar]: TuiCurrency.AustralianDollar,\n [TuiCurrencyCode.HongKongDollar]: TuiCurrency.HongKongDollar,\n [TuiCurrencyCode.CanadianDollar]: TuiCurrency.CanadianDollar,\n [TuiCurrencyCode.Euro]: TuiCurrency.Euro,\n [TuiCurrencyCode.Pound]: TuiCurrency.Pound,\n [TuiCurrencyCode.Baht]: TuiCurrency.Baht,\n [TuiCurrencyCode.TurkishLira]: TuiCurrency.TurkishLira,\n [TuiCurrencyCode.YuanRenminbi]: TuiCurrency.YuanRenminbi,\n [TuiCurrencyCode.Yen]: TuiCurrency.Yen,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IndianRupee]: TuiCurrency.IndianRupee,\n [TuiCurrencyCode.SwissFranc]: TuiCurrency.SwissFranc,\n [TuiCurrencyCode.ArmenianDram]: TuiCurrency.ArmenianDram,\n [TuiCurrencyCode.Won]: TuiCurrency.Won,\n [TuiCurrencyCode.Tenge]: TuiCurrency.Tenge,\n [TuiCurrencyCode.Hryvnia]: TuiCurrency.Hryvnia,\n [TuiCurrencyCode.UzbekSum]: TuiCurrency.UzbekSum,\n [TuiCurrencyCode.KyrgyzstanSom]: TuiCurrency.KyrgyzstanSom,\n [TuiCurrencyCode.Dirham]: TuiCurrency.Dirham,\n};\n\nexport function tuiGetCurrencyByCode(currency: TuiCurrencyCode): TuiCurrency | null {\n return TUI_CURRENCY_DICTIONARY[currency] ?? null;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetPaymentSystem(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.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (tuiIsMaestro(three, two, one)) {\n return `maestro`;\n }\n\n if (tuiIsMastercard(four, two, one)) {\n return `mastercard`;\n }\n\n if (tuiIsMir(four)) {\n return `mir`;\n }\n\n if (tuiIsElectron(four)) {\n return `electron`;\n }\n\n if (tuiIsVisa(one)) {\n return `visa`;\n }\n\n return null;\n}\n\nexport function tuiIsMaestro(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 tuiIsMastercard(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 tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(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 tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case `electron`:\n return length === 16;\n case `maestro`:\n return length > 11 && length < 20;\n case `mastercard`:\n case `mir`:\n return length > 15 && length < 20;\n case `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 tuiIsCardNumberValid(value: number | string): 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 tuiIsExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n // eslint-disable-next-line radix\n const month = parseInt(expire.slice(0, 2), 0);\n // eslint-disable-next-line radix\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["../../../projects/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-currency-by-code.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.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.slice(0, 2)}/${rawValue.slice(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\n // TODO: investigate why the month is sometimes more than 2-length in safari\n const month = array[1].slice(2);\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${`0`.repeat(2 - month.length)}${month}/${\n year ? year.slice(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\n// eslint-disable-next-line complexity\nexport function tuiGetCurrencySymbol(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 case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\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.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\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 case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return `So'm`;\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return `c`;\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return `Dh`;\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ``\n : String(currency).padStart(3, `0`);\n}\n","// cspell:disable\nimport {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\n\nexport const TUI_CURRENCY_DICTIONARY: Record<TuiCurrencyCode, TuiCurrency> = {\n [TuiCurrencyCode.Ruble]: TuiCurrency.Ruble,\n [TuiCurrencyCode.Dollar]: TuiCurrency.Dollar,\n [TuiCurrencyCode.MexicanPeso]: TuiCurrency.MexicanPeso,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.SingaporeDollar]: TuiCurrency.SingaporeDollar,\n [TuiCurrencyCode.AustralianDollar]: TuiCurrency.AustralianDollar,\n [TuiCurrencyCode.HongKongDollar]: TuiCurrency.HongKongDollar,\n [TuiCurrencyCode.CanadianDollar]: TuiCurrency.CanadianDollar,\n [TuiCurrencyCode.Euro]: TuiCurrency.Euro,\n [TuiCurrencyCode.Pound]: TuiCurrency.Pound,\n [TuiCurrencyCode.Baht]: TuiCurrency.Baht,\n [TuiCurrencyCode.TurkishLira]: TuiCurrency.TurkishLira,\n [TuiCurrencyCode.YuanRenminbi]: TuiCurrency.YuanRenminbi,\n [TuiCurrencyCode.Yen]: TuiCurrency.Yen,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IsraeliShekel]: TuiCurrency.IsraeliShekel,\n [TuiCurrencyCode.IndianRupee]: TuiCurrency.IndianRupee,\n [TuiCurrencyCode.SwissFranc]: TuiCurrency.SwissFranc,\n [TuiCurrencyCode.ArmenianDram]: TuiCurrency.ArmenianDram,\n [TuiCurrencyCode.Won]: TuiCurrency.Won,\n [TuiCurrencyCode.Tenge]: TuiCurrency.Tenge,\n [TuiCurrencyCode.Hryvnia]: TuiCurrency.Hryvnia,\n [TuiCurrencyCode.UzbekSum]: TuiCurrency.UzbekSum,\n [TuiCurrencyCode.KyrgyzstanSom]: TuiCurrency.KyrgyzstanSom,\n [TuiCurrencyCode.Dirham]: TuiCurrency.Dirham,\n};\n\nexport function tuiGetCurrencyByCode(currency: TuiCurrencyCode): TuiCurrency | null {\n return TUI_CURRENCY_DICTIONARY[currency] ?? null;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetPaymentSystem(cardNumber?: string | null): TuiPaymentSystem | null {\n if (!cardNumber) {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (tuiIsMaestro(three, two, one)) {\n return `maestro`;\n }\n\n if (tuiIsMastercard(four, two, one)) {\n return `mastercard`;\n }\n\n if (tuiIsMir(four)) {\n return `mir`;\n }\n\n if (tuiIsElectron(four)) {\n return `electron`;\n }\n\n if (tuiIsVisa(one)) {\n return `visa`;\n }\n\n return null;\n}\n\nexport function tuiIsMaestro(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 tuiIsMastercard(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 tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(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 tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case `electron`:\n return length === 16;\n case `maestro`:\n return length > 11 && length < 20;\n case `mastercard`:\n case `mir`:\n return length > 15 && length < 20;\n case `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 tuiIsCardNumberValid(value: number | string): 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 tuiIsExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n // eslint-disable-next-line radix\n const month = parseInt(expire.slice(0, 2), 0);\n // eslint-disable-next-line radix\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TuiPaymentSystem } from '@taiga-ui/addon-commerce/types';
|
|
2
|
-
export declare function tuiGetPaymentSystem(cardNumber
|
|
2
|
+
export declare function tuiGetPaymentSystem(cardNumber?: string | null): TuiPaymentSystem | null;
|
|
3
3
|
export declare function tuiIsMaestro(three: number, two: number, one: number): boolean;
|
|
4
4
|
export declare function tuiIsMastercard(four: number, two: number, one: number): boolean;
|
|
5
5
|
export declare function tuiIsMir(four: number): boolean;
|