@taiga-ui/addon-commerce 3.26.0-dev.main-10c1e43 → 3.26.0-dev.main-eca1ec4
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-card.umd.js +5 -11
- package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +31 -44
- 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 +1 -7
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js +15 -17
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js +17 -39
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js +390 -18
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/components/input-card-grouped/input-card-grouped.component.d.ts +6 -4
- package/components/input-card-grouped/input-card-grouped.module.d.ts +2 -2
- package/components/input-cvc/input-cvc.component.d.ts +3 -3
- package/components/input-cvc/input-cvc.module.d.ts +3 -2
- package/components/input-expire/input-expire.component.d.ts +1 -3
- package/components/input-expire/input-expire.module.d.ts +3 -2
- package/esm2015/components/card/card.component.js +3 -8
- package/esm2015/components/input-card/input-card.providers.js +3 -9
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +17 -34
- package/esm2015/components/input-card-grouped/input-card-grouped.module.js +5 -5
- package/esm2015/components/input-cvc/input-cvc.component.js +7 -9
- package/esm2015/components/input-cvc/input-cvc.module.js +6 -5
- package/esm2015/components/input-expire/input-expire.component.js +11 -33
- package/esm2015/components/input-expire/input-expire.module.js +6 -5
- package/esm2015/types/payment-system.js +1 -1
- package/esm2015/utils/get-payment-system.js +56 -22
- package/esm2015/utils/index.js +2 -1
- package/esm2015/utils/payment-system-icons.js +17 -0
- package/fesm2015/taiga-ui-addon-commerce-components-card.js +2 -7
- package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +20 -37
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +2 -8
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js +11 -12
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +15 -36
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js +73 -22
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/package.json +4 -3
- package/types/payment-system.d.ts +1 -1
- package/utils/get-payment-system.d.ts +6 -1
- package/utils/index.d.ts +1 -0
- package/utils/payment-system-icons.d.ts +2 -0
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { ChangeDetectorRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, NgModule } from '@angular/core';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i4 from '@angular/forms';
|
|
5
5
|
import { NgControl } from '@angular/forms';
|
|
6
6
|
import { AbstractTuiControl, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, tuiRequiredSetter } from '@taiga-ui/cdk';
|
|
7
7
|
import * as i1 from '@taiga-ui/core';
|
|
8
8
|
import { TUI_DIGIT_REGEXP, TUI_TEXTFIELD_LABEL_OUTSIDE, TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
|
|
9
9
|
import * as i2 from '@taiga-ui/kit';
|
|
10
|
-
import {
|
|
10
|
+
import { TuiValueAccessorModule } from '@taiga-ui/kit';
|
|
11
|
+
import * as i3 from '@maskito/angular';
|
|
12
|
+
import { MaskitoModule } from '@maskito/angular';
|
|
11
13
|
|
|
12
14
|
class TuiInputCVCComponent extends AbstractTuiControl {
|
|
13
15
|
constructor(control, cdr, textfieldLabelOutside) {
|
|
@@ -15,16 +17,14 @@ class TuiInputCVCComponent extends AbstractTuiControl {
|
|
|
15
17
|
this.textfieldLabelOutside = textfieldLabelOutside;
|
|
16
18
|
this.autocompleteEnabled = false;
|
|
17
19
|
this.exampleText = '000';
|
|
18
|
-
this.
|
|
20
|
+
this.maskOptions = {
|
|
19
21
|
mask: new Array(3).fill(TUI_DIGIT_REGEXP),
|
|
20
|
-
guide: false,
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
set length(length) {
|
|
24
25
|
this.exampleText = '0'.repeat(length);
|
|
25
|
-
this.
|
|
26
|
+
this.maskOptions = {
|
|
26
27
|
mask: new Array(length).fill(TUI_DIGIT_REGEXP),
|
|
27
|
-
guide: false,
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
get nativeFocusableElement() {
|
|
@@ -42,7 +42,6 @@ class TuiInputCVCComponent extends AbstractTuiControl {
|
|
|
42
42
|
onFocused(focused) {
|
|
43
43
|
this.updateFocused(focused);
|
|
44
44
|
}
|
|
45
|
-
onCopy() { }
|
|
46
45
|
/** deprecated use 'value' setter */
|
|
47
46
|
onValueChange(value) {
|
|
48
47
|
this.value = value;
|
|
@@ -55,7 +54,7 @@ TuiInputCVCComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", ver
|
|
|
55
54
|
TuiInputCVCComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCVCComponent, selector: "tui-input-cvc", inputs: { autocompleteEnabled: "autocompleteEnabled", length: "length" }, providers: [
|
|
56
55
|
tuiAsFocusableItemAccessor(TuiInputCVCComponent),
|
|
57
56
|
tuiAsControl(TuiInputCVCComponent),
|
|
58
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [nativeId]=\"nativeId\"\n [
|
|
57
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [nativeId]=\"nativeId\"\n [maskito]=\"maskOptions\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (copy.prevent)=\"(0)\"\n>\n <ng-content></ng-content>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n [autocomplete]=\"autocomplete\"\n [placeholder]=\"computedPlaceholder\"\n />\n</tui-primitive-textfield>\n", styles: [":host{display:block;max-width:11rem;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"] }, { type: i1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
58
|
__decorate([
|
|
60
59
|
tuiDefaultProp()
|
|
61
60
|
], TuiInputCVCComponent.prototype, "autocompleteEnabled", void 0);
|
|
@@ -74,7 +73,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
74
73
|
tuiAsControl(TuiInputCVCComponent),
|
|
75
74
|
],
|
|
76
75
|
}]
|
|
77
|
-
}], ctorParameters: function () { return [{ type:
|
|
76
|
+
}], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
|
|
78
77
|
type: Optional
|
|
79
78
|
}, {
|
|
80
79
|
type: Self
|
|
@@ -99,12 +98,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
99
98
|
class TuiInputCVCModule {
|
|
100
99
|
}
|
|
101
100
|
TuiInputCVCModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCVCModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
102
|
-
TuiInputCVCModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCVCModule, declarations: [TuiInputCVCComponent], imports: [
|
|
101
|
+
TuiInputCVCModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCVCModule, declarations: [TuiInputCVCComponent], imports: [MaskitoModule,
|
|
103
102
|
TuiPrimitiveTextfieldModule,
|
|
104
103
|
TuiTextfieldControllerModule,
|
|
105
104
|
TuiValueAccessorModule], exports: [TuiInputCVCComponent] });
|
|
106
105
|
TuiInputCVCModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCVCModule, imports: [[
|
|
107
|
-
|
|
106
|
+
MaskitoModule,
|
|
108
107
|
TuiPrimitiveTextfieldModule,
|
|
109
108
|
TuiTextfieldControllerModule,
|
|
110
109
|
TuiValueAccessorModule,
|
|
@@ -113,7 +112,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
113
112
|
type: NgModule,
|
|
114
113
|
args: [{
|
|
115
114
|
imports: [
|
|
116
|
-
|
|
115
|
+
MaskitoModule,
|
|
117
116
|
TuiPrimitiveTextfieldModule,
|
|
118
117
|
TuiTextfieldControllerModule,
|
|
119
118
|
TuiValueAccessorModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-cvc.js","sources":["../../../projects/addon-commerce/components/input-cvc/input-cvc.component.ts","../../../projects/addon-commerce/components/input-cvc/input-cvc.template.html","../../../projects/addon-commerce/components/input-cvc/input-cvc.module.ts","../../../projects/addon-commerce/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldLabelOutsideDirective,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-cvc.js","sources":["../../../projects/addon-commerce/components/input-cvc/input-cvc.component.ts","../../../projects/addon-commerce/components/input-cvc/input-cvc.template.html","../../../projects/addon-commerce/components/input-cvc/input-cvc.module.ts","../../../projects/addon-commerce/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {MaskitoOptions} from '@maskito/core';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TUI_TEXTFIELD_LABEL_OUTSIDE,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldLabelOutsideDirective,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-cvc',\n templateUrl: './input-cvc.template.html',\n styleUrls: ['./input-cvc.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCVCComponent),\n tuiAsControl(TuiInputCVCComponent),\n ],\n})\nexport class TuiInputCVCComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Input()\n @tuiRequiredSetter()\n set length(length: TuiCodeCVCLength) {\n this.exampleText = '0'.repeat(length);\n this.maskOptions = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n };\n }\n\n exampleText = '000';\n\n maskOptions: MaskitoOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n };\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_LABEL_OUTSIDE)\n private readonly textfieldLabelOutside: TuiTextfieldLabelOutsideDirective,\n ) {\n super(control, cdr);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | 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 autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-csc' : 'off';\n }\n\n get computedPlaceholder(): string {\n return this.textfieldLabelOutside.labelOutside ? '' : this.exampleText;\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /** deprecated use 'value' setter */\n onValueChange(value: string): void {\n this.value = value;\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [nativeId]=\"nativeId\"\n [maskito]=\"maskOptions\"\n [invalid]=\"computedInvalid\"\n [focusable]=\"focusable\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n (copy.prevent)=\"(0)\"\n>\n <ng-content></ng-content>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n [autocomplete]=\"autocomplete\"\n [placeholder]=\"computedPlaceholder\"\n />\n</tui-primitive-textfield>\n","import {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputCVCComponent} from './input-cvc.component';\n\n@NgModule({\n imports: [\n MaskitoModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCVCComponent],\n exports: [TuiInputCVCComponent],\n})\nexport class TuiInputCVCModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { ChangeDetectorRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, NgModule } from '@angular/core';
|
|
4
|
-
import * as
|
|
4
|
+
import * as i4 from '@angular/forms';
|
|
5
5
|
import { NgControl } from '@angular/forms';
|
|
6
|
-
import {
|
|
6
|
+
import { maskitoDateOptionsGenerator } from '@maskito/kit';
|
|
7
7
|
import { AbstractTuiControl, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp } from '@taiga-ui/cdk';
|
|
8
8
|
import * as i1 from '@taiga-ui/core';
|
|
9
|
-
import {
|
|
9
|
+
import { TuiPrimitiveTextfieldComponent, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
|
|
10
10
|
import * as i2 from '@taiga-ui/kit';
|
|
11
|
-
import {
|
|
11
|
+
import { TuiValueAccessorModule } from '@taiga-ui/kit';
|
|
12
|
+
import * as i3 from '@maskito/angular';
|
|
13
|
+
import { MaskitoModule } from '@maskito/angular';
|
|
12
14
|
|
|
13
15
|
class TuiInputExpireComponent extends AbstractTuiControl {
|
|
14
16
|
constructor(control, cdr) {
|
|
15
17
|
super(control, cdr);
|
|
16
18
|
this.autocompleteEnabled = false;
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
'/',
|
|
22
|
-
TUI_DIGIT_REGEXP,
|
|
23
|
-
TUI_DIGIT_REGEXP,
|
|
24
|
-
],
|
|
25
|
-
pipe: tuiCreateAutoCorrectedExpirePipe(),
|
|
26
|
-
guide: false,
|
|
27
|
-
};
|
|
19
|
+
this.maskOptions = maskitoDateOptionsGenerator({
|
|
20
|
+
mode: 'mm/yy',
|
|
21
|
+
separator: '/',
|
|
22
|
+
});
|
|
28
23
|
}
|
|
29
24
|
get nativeFocusableElement() {
|
|
30
25
|
return this.input ? this.input.nativeFocusableElement : null;
|
|
@@ -35,22 +30,6 @@ class TuiInputExpireComponent extends AbstractTuiControl {
|
|
|
35
30
|
get autocomplete() {
|
|
36
31
|
return this.autocompleteEnabled ? 'cc-exp' : 'off';
|
|
37
32
|
}
|
|
38
|
-
onValueChange(value) {
|
|
39
|
-
var _a;
|
|
40
|
-
// @bad TODO: Workaround until mask pipe can replace chars and keep caret position
|
|
41
|
-
// @bad TODO: Think about a solution without mask at all
|
|
42
|
-
if (!((_a = this.input) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement)) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
if (parseInt(value.slice(0, 2), 10) > 12) {
|
|
46
|
-
value = `12${value.slice(2)}`;
|
|
47
|
-
}
|
|
48
|
-
if (value.startsWith('00')) {
|
|
49
|
-
value = `01${value.slice(2)}`;
|
|
50
|
-
}
|
|
51
|
-
this.input.nativeFocusableElement.value = value;
|
|
52
|
-
this.value = value;
|
|
53
|
-
}
|
|
54
33
|
onFocused(focused) {
|
|
55
34
|
this.updateFocused(focused);
|
|
56
35
|
}
|
|
@@ -62,7 +41,7 @@ TuiInputExpireComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0",
|
|
|
62
41
|
TuiInputExpireComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputExpireComponent, selector: "tui-input-expire", inputs: { autocompleteEnabled: "autocompleteEnabled" }, providers: [
|
|
63
42
|
tuiAsFocusableItemAccessor(TuiInputExpireComponent),
|
|
64
43
|
tuiAsControl(TuiInputExpireComponent),
|
|
65
|
-
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [
|
|
44
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [maskito]=\"maskOptions\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n placeholder=\"00/00\"\n translate=\"no\"\n type=\"\"\n [attr.autocomplete]=\"autocomplete\"\n />\n <ng-content></ng-content>\n</tui-primitive-textfield>\n", styles: [":host{display:block;max-width:11rem;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"] }, { type: i1.TuiTextfieldComponent, selector: "input[tuiTextfield], textarea[tuiTextfield]" }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i3.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
66
45
|
__decorate([
|
|
67
46
|
tuiDefaultProp()
|
|
68
47
|
], TuiInputExpireComponent.prototype, "autocompleteEnabled", void 0);
|
|
@@ -78,7 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
78
57
|
tuiAsControl(TuiInputExpireComponent),
|
|
79
58
|
],
|
|
80
59
|
}]
|
|
81
|
-
}], ctorParameters: function () { return [{ type:
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
|
|
82
61
|
type: Optional
|
|
83
62
|
}, {
|
|
84
63
|
type: Self
|
|
@@ -98,12 +77,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
98
77
|
class TuiInputExpireModule {
|
|
99
78
|
}
|
|
100
79
|
TuiInputExpireModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputExpireModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
101
|
-
TuiInputExpireModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputExpireModule, declarations: [TuiInputExpireComponent], imports: [
|
|
80
|
+
TuiInputExpireModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputExpireModule, declarations: [TuiInputExpireComponent], imports: [MaskitoModule,
|
|
102
81
|
TuiPrimitiveTextfieldModule,
|
|
103
82
|
TuiTextfieldControllerModule,
|
|
104
83
|
TuiValueAccessorModule], exports: [TuiInputExpireComponent] });
|
|
105
84
|
TuiInputExpireModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputExpireModule, imports: [[
|
|
106
|
-
|
|
85
|
+
MaskitoModule,
|
|
107
86
|
TuiPrimitiveTextfieldModule,
|
|
108
87
|
TuiTextfieldControllerModule,
|
|
109
88
|
TuiValueAccessorModule,
|
|
@@ -112,7 +91,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
112
91
|
type: NgModule,
|
|
113
92
|
args: [{
|
|
114
93
|
imports: [
|
|
115
|
-
|
|
94
|
+
MaskitoModule,
|
|
116
95
|
TuiPrimitiveTextfieldModule,
|
|
117
96
|
TuiTextfieldControllerModule,
|
|
118
97
|
TuiValueAccessorModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.js","sources":["../../../projects/addon-commerce/components/input-expire/input-expire.component.ts","../../../projects/addon-commerce/components/input-expire/input-expire.template.html","../../../projects/addon-commerce/components/input-expire/input-expire.module.ts","../../../projects/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.js","sources":["../../../projects/addon-commerce/components/input-expire/input-expire.component.ts","../../../projects/addon-commerce/components/input-expire/input-expire.template.html","../../../projects/addon-commerce/components/input-expire/input-expire.module.ts","../../../projects/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {maskitoDateOptionsGenerator} from '@maskito/kit';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiAutofillFieldName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-expire',\n templateUrl: './input-expire.template.html',\n styleUrls: ['./input-expire.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputExpireComponent),\n tuiAsControl(TuiInputExpireComponent),\n ],\n})\nexport class TuiInputExpireComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n readonly maskOptions = maskitoDateOptionsGenerator({\n mode: 'mm/yy',\n separator: '/',\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 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 autocomplete(): TuiAutofillFieldName {\n return this.autocompleteEnabled ? 'cc-exp' : 'off';\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-input\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [maskito]=\"maskOptions\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"pseudoFocus\"\n [(value)]=\"value\"\n (focusedChange)=\"onFocused($event)\"\n>\n <input\n tuiTextfield\n inputmode=\"numeric\"\n placeholder=\"00/00\"\n translate=\"no\"\n type=\"\"\n [attr.autocomplete]=\"autocomplete\"\n />\n <ng-content></ng-content>\n</tui-primitive-textfield>\n","import {NgModule} from '@angular/core';\nimport {MaskitoModule} from '@maskito/angular';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\n\nimport {TuiInputExpireComponent} from './input-expire.component';\n\n@NgModule({\n imports: [\n MaskitoModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputExpireComponent],\n exports: [TuiInputExpireComponent],\n})\nexport class TuiInputExpireModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -158,30 +158,64 @@ function tuiGetCurrencyByCode(currency) {
|
|
|
158
158
|
return (_a = TUI_CURRENCY_DICTIONARY[currency]) !== null && _a !== void 0 ? _a : null;
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
// https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN)
|
|
162
|
+
const TUI_BIN_TABLE = [
|
|
163
|
+
[`mir`, 2200, 2204],
|
|
164
|
+
[`mastercard`, 2221, 2720],
|
|
165
|
+
[`jcb`, 3528, 3589],
|
|
166
|
+
[`amex`, 34],
|
|
167
|
+
[`amex`, 37],
|
|
168
|
+
[`dinersclub`, 36],
|
|
169
|
+
[`electron`, 4026],
|
|
170
|
+
[`electron`, 4175],
|
|
171
|
+
[`electron`, 4405],
|
|
172
|
+
[`electron`, 4508],
|
|
173
|
+
[`electron`, 4844],
|
|
174
|
+
[`electron`, 4913],
|
|
175
|
+
[`electron`, 4917],
|
|
176
|
+
[`visa`, 4],
|
|
177
|
+
[`verve`, 506099, 506198],
|
|
178
|
+
[`verve`, 507865, 507964],
|
|
179
|
+
[`maestro`, 5018],
|
|
180
|
+
[`maestro`, 5020],
|
|
181
|
+
[`maestro`, 5038],
|
|
182
|
+
[`maestro`, 5090],
|
|
183
|
+
[`maestro`, 5890],
|
|
184
|
+
[`maestro`, 5893],
|
|
185
|
+
[`rupay`, 508],
|
|
186
|
+
[`maestro`, 50],
|
|
187
|
+
[`dinersclub`, 54],
|
|
188
|
+
[`mastercard`, 51, 55],
|
|
189
|
+
[`maestro`, 56],
|
|
190
|
+
[`maestro`, 58],
|
|
191
|
+
[`mastercard`, 5],
|
|
192
|
+
[`maestro`, 6000],
|
|
193
|
+
[`maestro`, 6304],
|
|
194
|
+
[`maestro`, 6759, 6763],
|
|
195
|
+
[`verve`, 650002, 650027],
|
|
196
|
+
[`maestro`, 676770],
|
|
197
|
+
[`maestro`, 676774],
|
|
198
|
+
[`discover`, 644, 649],
|
|
199
|
+
[`discover`, 6011],
|
|
200
|
+
[`rupay`, 60],
|
|
201
|
+
[`unionpay`, 62],
|
|
202
|
+
[`discover`, 65],
|
|
203
|
+
[`maestro`, 6],
|
|
204
|
+
[`rupay`, 81, 82],
|
|
205
|
+
[`uzcard`, 8600],
|
|
206
|
+
[`humo`, 9860],
|
|
207
|
+
];
|
|
208
|
+
function tuiGetPaymentSystem(cardNumber, supported) {
|
|
209
|
+
var _a;
|
|
162
210
|
if (!cardNumber) {
|
|
163
211
|
return null;
|
|
164
212
|
}
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
if (tuiIsMastercard(four, two, one)) {
|
|
173
|
-
return `mastercard`;
|
|
174
|
-
}
|
|
175
|
-
if (tuiIsMir(four)) {
|
|
176
|
-
return `mir`;
|
|
177
|
-
}
|
|
178
|
-
if (tuiIsElectron(four)) {
|
|
179
|
-
return `electron`;
|
|
180
|
-
}
|
|
181
|
-
if (tuiIsVisa(one)) {
|
|
182
|
-
return `visa`;
|
|
183
|
-
}
|
|
184
|
-
return null;
|
|
213
|
+
const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {
|
|
214
|
+
const cardNumberNumeric = Number.parseInt(cardNumber.slice(0, String(start).length), 10);
|
|
215
|
+
const match = cardNumberNumeric >= start && cardNumberNumeric <= end;
|
|
216
|
+
return match && (!(supported === null || supported === void 0 ? void 0 : supported.length) || supported.includes(paymentSystem));
|
|
217
|
+
});
|
|
218
|
+
return (_a = row === null || row === void 0 ? void 0 : row[0]) !== null && _a !== void 0 ? _a : null;
|
|
185
219
|
}
|
|
186
220
|
function tuiIsMaestro(three, two, one) {
|
|
187
221
|
if (one === 6) {
|
|
@@ -280,9 +314,26 @@ function tuiIsExpireValid(expire) {
|
|
|
280
314
|
return year > currentYear || (year === currentYear && month >= currentMonth);
|
|
281
315
|
}
|
|
282
316
|
|
|
317
|
+
const TUI_PAYMENT_SYSTEM_ICONS = {
|
|
318
|
+
mir: `tuiIconMir`,
|
|
319
|
+
visa: `tuiIconVisa`,
|
|
320
|
+
electron: `tuiIconElectron`,
|
|
321
|
+
mastercard: `tuiIconMastercard`,
|
|
322
|
+
maestro: `tuiIconMaestro`,
|
|
323
|
+
amex: `tuiIconAmex`,
|
|
324
|
+
dinersclub: `tuiIconDinersClub`,
|
|
325
|
+
discover: `tuiIconDiscover`,
|
|
326
|
+
humo: `tuiIconHumo`,
|
|
327
|
+
jcb: `tuiIconJCB`,
|
|
328
|
+
rupay: `tuiIconRuPay`,
|
|
329
|
+
unionpay: `tuiIconUnionPay`,
|
|
330
|
+
uzcard: `tuiIconUzcard`,
|
|
331
|
+
verve: `tuiIconVerve`,
|
|
332
|
+
};
|
|
333
|
+
|
|
283
334
|
/**
|
|
284
335
|
* Generated bundle index. Do not edit.
|
|
285
336
|
*/
|
|
286
337
|
|
|
287
|
-
export { TUI_CURRENCY_DICTIONARY, tuiCreateAutoCorrectedExpirePipe, tuiFormatCurrency, tuiGetCurrencyByCode, tuiGetCurrencySymbol, tuiGetPaymentSystem, tuiIsCardLengthValid, tuiIsCardNumberValid, tuiIsElectron, tuiIsExpireValid, tuiIsMaestro, tuiIsMastercard, tuiIsMir, tuiIsVisa };
|
|
338
|
+
export { TUI_BIN_TABLE, TUI_CURRENCY_DICTIONARY, TUI_PAYMENT_SYSTEM_ICONS, tuiCreateAutoCorrectedExpirePipe, tuiFormatCurrency, tuiGetCurrencyByCode, tuiGetCurrencySymbol, tuiGetPaymentSystem, tuiIsCardLengthValid, tuiIsCardNumberValid, tuiIsElectron, tuiIsExpireValid, tuiIsMaestro, tuiIsMastercard, tuiIsMir, tuiIsVisa };
|
|
288
339
|
//# sourceMappingURL=taiga-ui-addon-commerce-utils.js.map
|
|
@@ -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 | 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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"}
|
|
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/payment-system-icons.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\n// https://en.wikipedia.org/wiki/Payment_card_number#Issuer_identification_number_(IIN)\nexport const TUI_BIN_TABLE: ReadonlyArray<\n [paymentSystem: TuiPaymentSystem, start: number, end?: number]\n> = [\n [`mir`, 2200, 2204],\n [`mastercard`, 2221, 2720],\n [`jcb`, 3528, 3589],\n [`amex`, 34],\n [`amex`, 37],\n [`dinersclub`, 36],\n [`electron`, 4026],\n [`electron`, 4175],\n [`electron`, 4405],\n [`electron`, 4508],\n [`electron`, 4844],\n [`electron`, 4913],\n [`electron`, 4917],\n [`visa`, 4],\n [`verve`, 506099, 506198],\n [`verve`, 507865, 507964],\n [`maestro`, 5018],\n [`maestro`, 5020],\n [`maestro`, 5038],\n [`maestro`, 5090],\n [`maestro`, 5890],\n [`maestro`, 5893],\n [`rupay`, 508],\n [`maestro`, 50],\n [`dinersclub`, 54],\n [`mastercard`, 51, 55],\n [`maestro`, 56],\n [`maestro`, 58],\n [`mastercard`, 5],\n [`maestro`, 6000],\n [`maestro`, 6304],\n [`maestro`, 6759, 6763],\n [`verve`, 650002, 650027],\n [`maestro`, 676770],\n [`maestro`, 676774],\n [`discover`, 644, 649],\n [`discover`, 6011],\n [`rupay`, 60],\n [`unionpay`, 62],\n [`discover`, 65],\n [`maestro`, 6],\n [`rupay`, 81, 82],\n [`uzcard`, 8600],\n [`humo`, 9860],\n];\n\nexport function tuiGetPaymentSystem(\n cardNumber?: string | null,\n supported?: TuiPaymentSystem[],\n): TuiPaymentSystem | null {\n if (!cardNumber) {\n return null;\n }\n\n const row = TUI_BIN_TABLE.find(([paymentSystem, start, end = start]) => {\n const cardNumberNumeric = Number.parseInt(\n cardNumber.slice(0, String(start).length),\n 10,\n );\n\n const match = cardNumberNumeric >= start && cardNumberNumeric <= end;\n\n return match && (!supported?.length || supported.includes(paymentSystem));\n });\n\n return row?.[0] ?? 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","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\nexport const TUI_PAYMENT_SYSTEM_ICONS: Record<TuiPaymentSystem, string> = {\n mir: `tuiIconMir`,\n visa: `tuiIconVisa`,\n electron: `tuiIconElectron`,\n mastercard: `tuiIconMastercard`,\n maestro: `tuiIconMaestro`,\n amex: `tuiIconAmex`,\n dinersclub: `tuiIconDinersClub`,\n discover: `tuiIconDiscover`,\n humo: `tuiIconHumo`,\n jcb: `tuiIconJCB`,\n rupay: `tuiIconRuPay`,\n unionpay: `tuiIconUnionPay`,\n uzcard: `tuiIconUzcard`,\n verve: `tuiIconVerve`,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAC/C,MAAM,cAAc,GAAG,2BAA2B,CAAC;AAEnD;;;;;AAKG;SACa,gCAAgC,GAAA;AAC5C,IAAA,OAAO,CAAC,cAAc,EAAE,EAAC,QAAQ,EAAC,KAAI;;AAElC,QAAA,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnC,YAAA,cAAc,GAAG,CAAG,EAAA,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA,CAAA,EAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,SAAA;;AAGD,QAAA,IACI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,QAAQ,CAAC,MAAM,GAAG,EAAE;AACpB,YAAA,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/B;YACE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;;YAGnD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC;AAEpD,YAAA,cAAc,GAAG,CAAA,EAAG,CAAG,CAAA,CAAA,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA,CAAA,EACpD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA,CAC3B,EAAE,CAAC;AACN,SAAA;QAED,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;AACxC,YAAA,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC3B,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAC5C,YAAA,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3B,YAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/B,SAAA;QAED,OAAO;AACH,YAAA,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,mBAAmB;SACtB,CAAC;AACN,KAAC,CAAC;AACN;;AC/CA;AACM,SAAU,oBAAoB,CAAC,QAA6B,EAAA;AAC9D,IAAA,QAAQ,QAAQ;QACZ,KAAuB,KAAA,aAAA;AACvB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAwB,KAAA,cAAA;QACxB,KAA4B,KAAA,cAAA;QAC5B,KAA6B,KAAA,mBAAA;AAC7B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAiC,KAAA,uBAAA;AACjC,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,IAAI,CAAC;QAChB,KAAkC,KAAA,wBAAA;AAClC,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,IAAI,CAAC;QAChB,KAAgC,KAAA,sBAAA;AAChC,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,KAAK,CAAC;QACjB,KAAgC,KAAA,sBAAA;AAChC,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,IAAI,CAAC;QAChB,KAAsB,KAAA,YAAA;AACtB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAuB,KAAA,aAAA;AACvB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAsB,KAAA,YAAA;AACtB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA6B,KAAA,mBAAA;AAC7B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA8B,KAAA,oBAAA;AAC9B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,KAAK,CAAC;QACjB,KAAqB,KAAA,WAAA;AACrB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA+B,KAAA,qBAAA;AAC/B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA6B,KAAA,mBAAA;AAC7B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA4B,KAAA,kBAAA;AAC5B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA8B,KAAA,oBAAA;AAC9B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAqB,KAAA,WAAA;AACrB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAuB,KAAA,aAAA;AACvB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAyB,KAAA,eAAA;AACzB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAA0B,KAAA,gBAAA;AAC1B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,MAAM,CAAC;QAClB,KAA+B,KAAA,qBAAA;AAC/B,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,GAAG,CAAC;QACf,KAAwB,KAAA,cAAA;AACxB,QAAA,KAAA,KAAA;AACI,YAAA,OAAO,IAAI,CAAC;AAChB,QAAA;AACI,YAAA,OAAO,IAAI,CAAC;AACnB,KAAA;AACL;;ACxEM,SAAU,iBAAiB,CAAC,QAA6B,EAAA;AAC3D,IAAA,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAExD,IAAA,OAAO,oBAAoB,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC;AAC5E,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA6B,EAAA;AACpD,IAAA,OAAO,QAAQ,KAAK,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC;UAC3C,QAAQ,IAAI,CAAE,CAAA;AAChB,UAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAG,CAAA,CAAA,CAAC,CAAC;AAC5C;;ACZa,MAAA,uBAAuB,GAAyC;AACzE,IAAA,CAAA,KAAA,eAA0C,KAAA;AAC1C,IAAA,CAAA,KAAA,gBAA4C,KAAA;AAC5C,IAAA,CAAA,KAAA,qBAAsD,KAAA;AACtD,IAAA,CAAA,KAAA,yBAA8D,KAAA;AAC9D,IAAA,CAAA,KAAA,yBAA8D,KAAA;AAC9D,IAAA,CAAA,KAAA,0BAAgE,KAAA;AAChE,IAAA,CAAA,KAAA,wBAA4D,KAAA;AAC5D,IAAA,CAAA,KAAA,wBAA4D,KAAA;AAC5D,IAAA,CAAA,KAAA,cAAwC,KAAA;AACxC,IAAA,CAAA,KAAA,eAA0C,KAAA;AAC1C,IAAA,CAAA,KAAA,cAAwC,KAAA;AACxC,IAAA,CAAA,KAAA,qBAAsD,KAAA;AACtD,IAAA,CAAA,KAAA,sBAAwD,KAAA;AACxD,IAAA,CAAA,KAAA,aAAsC,KAAA;AACtC,IAAA,CAAA,KAAA,uBAA0D,KAAA;AAC1D,IAAA,CAAA,KAAA,uBAA0D,KAAA;AAC1D,IAAA,CAAA,KAAA,qBAAsD,KAAA;AACtD,IAAA,CAAA,KAAA,oBAAoD,KAAA;AACpD,IAAA,CAAA,KAAA,sBAAwD,KAAA;AACxD,IAAA,CAAA,KAAA,aAAsC,KAAA;AACtC,IAAA,CAAA,KAAA,eAA0C,KAAA;AAC1C,IAAA,CAAA,KAAA,iBAA8C,KAAA;AAC9C,IAAA,CAAA,KAAA,kBAAgD,KAAA;AAChD,IAAA,CAAA,KAAA,uBAA0D,KAAA;AAC1D,IAAA,CAAA,KAAA,gBAA4C,KAAA;EAC9C;AAEI,SAAU,oBAAoB,CAAC,QAAyB,EAAA;;AAC1D,IAAA,OAAO,MAAA,uBAAuB,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC;AACrD;;AC/BA;AACa,MAAA,aAAa,GAEtB;AACA,IAAA,CAAC,CAAK,GAAA,CAAA,EAAE,IAAI,EAAE,IAAI,CAAC;AACnB,IAAA,CAAC,CAAY,UAAA,CAAA,EAAE,IAAI,EAAE,IAAI,CAAC;AAC1B,IAAA,CAAC,CAAK,GAAA,CAAA,EAAE,IAAI,EAAE,IAAI,CAAC;IACnB,CAAC,CAAA,IAAA,CAAM,EAAE,EAAE,CAAC;IACZ,CAAC,CAAA,IAAA,CAAM,EAAE,EAAE,CAAC;IACZ,CAAC,CAAA,UAAA,CAAY,EAAE,EAAE,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,IAAA,CAAM,EAAE,CAAC,CAAC;AACX,IAAA,CAAC,CAAO,KAAA,CAAA,EAAE,MAAM,EAAE,MAAM,CAAC;AACzB,IAAA,CAAC,CAAO,KAAA,CAAA,EAAE,MAAM,EAAE,MAAM,CAAC;IACzB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,KAAA,CAAO,EAAE,GAAG,CAAC;IACd,CAAC,CAAA,OAAA,CAAS,EAAE,EAAE,CAAC;IACf,CAAC,CAAA,UAAA,CAAY,EAAE,EAAE,CAAC;AAClB,IAAA,CAAC,CAAY,UAAA,CAAA,EAAE,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC,CAAA,OAAA,CAAS,EAAE,EAAE,CAAC;IACf,CAAC,CAAA,OAAA,CAAS,EAAE,EAAE,CAAC;IACf,CAAC,CAAA,UAAA,CAAY,EAAE,CAAC,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;IACjB,CAAC,CAAA,OAAA,CAAS,EAAE,IAAI,CAAC;AACjB,IAAA,CAAC,CAAS,OAAA,CAAA,EAAE,IAAI,EAAE,IAAI,CAAC;AACvB,IAAA,CAAC,CAAO,KAAA,CAAA,EAAE,MAAM,EAAE,MAAM,CAAC;IACzB,CAAC,CAAA,OAAA,CAAS,EAAE,MAAM,CAAC;IACnB,CAAC,CAAA,OAAA,CAAS,EAAE,MAAM,CAAC;AACnB,IAAA,CAAC,CAAU,QAAA,CAAA,EAAE,GAAG,EAAE,GAAG,CAAC;IACtB,CAAC,CAAA,QAAA,CAAU,EAAE,IAAI,CAAC;IAClB,CAAC,CAAA,KAAA,CAAO,EAAE,EAAE,CAAC;IACb,CAAC,CAAA,QAAA,CAAU,EAAE,EAAE,CAAC;IAChB,CAAC,CAAA,QAAA,CAAU,EAAE,EAAE,CAAC;IAChB,CAAC,CAAA,OAAA,CAAS,EAAE,CAAC,CAAC;AACd,IAAA,CAAC,CAAO,KAAA,CAAA,EAAE,EAAE,EAAE,EAAE,CAAC;IACjB,CAAC,CAAA,MAAA,CAAQ,EAAE,IAAI,CAAC;IAChB,CAAC,CAAA,IAAA,CAAM,EAAE,IAAI,CAAC;EAChB;AAEc,SAAA,mBAAmB,CAC/B,UAA0B,EAC1B,SAA8B,EAAA;;IAE9B,IAAI,CAAC,UAAU,EAAE;AACb,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AAED,IAAA,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,KAAI;QACnE,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CACrC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EACzC,EAAE,CACL,CAAC;QAEF,MAAM,KAAK,GAAG,iBAAiB,IAAI,KAAK,IAAI,iBAAiB,IAAI,GAAG,CAAC;QAErE,OAAO,KAAK,KAAK,EAAC,SAAS,KAAA,IAAA,IAAT,SAAS,KAAT,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAS,CAAE,MAAM,CAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC9E,KAAC,CAAC,CAAC;IAEH,OAAO,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAH,GAAG,CAAG,CAAC,CAAC,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;AAC5B,CAAC;SAEe,YAAY,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAA;IAChE,IAAI,GAAG,KAAK,CAAC,EAAE;AACX,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;AAED,IAAA,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE;AACtC,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,IAAI,KAAK,GAAG,GAAG,EAAE;AACb,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;IAED,OAAO,KAAK,GAAG,GAAG,CAAC;AACvB,CAAC;SAEe,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW,EAAA;IAClE,IAAI,GAAG,KAAK,CAAC,EAAE;AACX,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,IAAI,GAAG,GAAG,EAAE,EAAE;AACV,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE;AACtB,QAAA,OAAO,IAAI,CAAC;AACf,KAAA;IAED,IAAI,IAAI,GAAG,IAAI,EAAE;AACb,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AACtC,CAAC;AAEK,SAAU,QAAQ,CAAC,IAAY,EAAA;AACjC,IAAA,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AACtC,CAAC;AAEK,SAAU,aAAa,CAAC,IAAY,EAAA;AACtC,IAAA,QAAQ,IAAI;AACR,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI,CAAC;AACV,QAAA,KAAK,IAAI;AACL,YAAA,OAAO,IAAI,CAAC;AAChB,QAAA;AACI,YAAA,OAAO,KAAK,CAAC;AACpB,KAAA;AACL,CAAC;AAEK,SAAU,SAAS,CAAC,GAAW,EAAA;IACjC,OAAO,GAAG,KAAK,CAAC,CAAC;AACrB;;ACjIA;;AAEG;AACG,SAAU,oBAAoB,CAAC,UAAkB,EAAA;AACnD,IAAA,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;AAC5B,IAAA,MAAM,aAAa,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AAEtD,IAAA,QAAQ,aAAa;AACjB,QAAA,KAAK,CAAU,QAAA,CAAA;YACX,OAAO,MAAM,KAAK,EAAE,CAAC;AACzB,QAAA,KAAK,CAAS,OAAA,CAAA;AACV,YAAA,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AACtC,QAAA,KAAK,YAAY,CAAC;AAClB,QAAA,KAAK,CAAK,GAAA,CAAA;AACN,YAAA,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AACtC,QAAA,KAAK,CAAM,IAAA,CAAA;AACP,YAAA,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AACtC,QAAA;AACI,YAAA,OAAO,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACxC,KAAA;AACL;;ACpBA;;AAEG;AACG,SAAU,oBAAoB,CAAC,KAAsB,EAAA;AACvD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAA,CAAE,CAAC,CAAC;AAEpE,IAAA,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;AAC5B,IAAA,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAE,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;QACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;AAC5B,YAAA,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;AAE1B,YAAA,OAAO,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC;AAC9C,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD;;ACtBM,SAAU,gBAAgB,CAAC,MAAc,EAAA;AAC3C,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;AACzB,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;;AAE/C,IAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;AAE9C,IAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3C,IAAA,OAAO,IAAI,GAAG,WAAW,KAAK,IAAI,KAAK,WAAW,IAAI,KAAK,IAAI,YAAY,CAAC,CAAC;AACjF;;ACRa,MAAA,wBAAwB,GAAqC;AACtE,IAAA,GAAG,EAAE,CAAY,UAAA,CAAA;AACjB,IAAA,IAAI,EAAE,CAAa,WAAA,CAAA;AACnB,IAAA,QAAQ,EAAE,CAAiB,eAAA,CAAA;AAC3B,IAAA,UAAU,EAAE,CAAmB,iBAAA,CAAA;AAC/B,IAAA,OAAO,EAAE,CAAgB,cAAA,CAAA;AACzB,IAAA,IAAI,EAAE,CAAa,WAAA,CAAA;AACnB,IAAA,UAAU,EAAE,CAAmB,iBAAA,CAAA;AAC/B,IAAA,QAAQ,EAAE,CAAiB,eAAA,CAAA;AAC3B,IAAA,IAAI,EAAE,CAAa,WAAA,CAAA;AACnB,IAAA,GAAG,EAAE,CAAY,UAAA,CAAA;AACjB,IAAA,KAAK,EAAE,CAAc,YAAA,CAAA;AACrB,IAAA,QAAQ,EAAE,CAAiB,eAAA,CAAA;AAC3B,IAAA,MAAM,EAAE,CAAe,aAAA,CAAA;AACvB,IAAA,KAAK,EAAE,CAAc,YAAA,CAAA;;;AChBzB;;AAEG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-commerce",
|
|
3
|
-
"version": "3.26.0-dev.main-
|
|
3
|
+
"version": "3.26.0-dev.main-eca1ec4",
|
|
4
4
|
"description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
"@angular/common": ">=12.0.0",
|
|
18
18
|
"@angular/core": ">=12.0.0",
|
|
19
19
|
"@angular/forms": ">=12.0.0",
|
|
20
|
-
"@maskito/angular": ">=0.11.
|
|
21
|
-
"@maskito/core": ">=0.11.
|
|
20
|
+
"@maskito/angular": ">=0.11.1",
|
|
21
|
+
"@maskito/core": ">=0.11.1",
|
|
22
|
+
"@maskito/kit": ">=0.11.1",
|
|
22
23
|
"@ng-web-apis/common": ">=2.0.0",
|
|
23
24
|
"@taiga-ui/cdk": ">=3.26.0",
|
|
24
25
|
"@taiga-ui/core": ">=3.26.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare type TuiPaymentSystem = 'electron' | 'maestro' | 'mastercard' | 'mir' | 'visa';
|
|
1
|
+
export declare type TuiPaymentSystem = 'amex' | 'dinersclub' | 'discover' | 'electron' | 'humo' | 'jcb' | 'maestro' | 'mastercard' | 'mir' | 'rupay' | 'unionpay' | 'uzcard' | 'verve' | 'visa';
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { TuiPaymentSystem } from '@taiga-ui/addon-commerce/types';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const TUI_BIN_TABLE: ReadonlyArray<[
|
|
3
|
+
paymentSystem: TuiPaymentSystem,
|
|
4
|
+
start: number,
|
|
5
|
+
end?: number
|
|
6
|
+
]>;
|
|
7
|
+
export declare function tuiGetPaymentSystem(cardNumber?: string | null, supported?: TuiPaymentSystem[]): TuiPaymentSystem | null;
|
|
3
8
|
export declare function tuiIsMaestro(three: number, two: number, one: number): boolean;
|
|
4
9
|
export declare function tuiIsMastercard(four: number, two: number, one: number): boolean;
|
|
5
10
|
export declare function tuiIsMir(four: number): boolean;
|
package/utils/index.d.ts
CHANGED