@taiga-ui/addon-commerce
Version:
Extension package for Taiga UI related to commerce, payment systems, currencies etc.
47 lines • 6 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { MaskitoDirective } from '@maskito/angular';
import { TUI_INPUT_CARD_OPTIONS } from '@taiga-ui/addon-commerce/components/input-card';
import { TUI_MASK_CVC } from '@taiga-ui/addon-commerce/constants';
import { TuiWithTextfield } from '@taiga-ui/core/components/textfield';
import { tuiMaskito } from '@taiga-ui/kit/utils';
import * as i0 from "@angular/core";
import * as i1 from "@maskito/angular";
import * as i2 from "@taiga-ui/core/components/textfield";
class TuiInputCVC {
constructor() {
this.mask = tuiMaskito(TUI_MASK_CVC(3));
/** @deprecated apparently "off" doesn't disable autocomplete */
this.autocomplete = inject(TUI_INPUT_CARD_OPTIONS).autocomplete;
this.hidden = true;
this.length = 3;
}
// TODO: refactor to signal inputs after Angular update
ngOnChanges() {
this.mask.set(TUI_MASK_CVC(this.length));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCVC, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputCVC, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { autocomplete: "autocomplete", hidden: "hidden", length: "length" }, host: { attributes: { "inputmode": "numeric", "autocomplete": "cc-csc" }, listeners: { "copy.prevent": "(0)" }, properties: { "placeholder": "\"0\".repeat(length)", "style.-webkit-text-security": "hidden ? \"disc\" : null" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithTextfield }], ngImport: i0 }); }
}
export { TuiInputCVC };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputCVC, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: 'input[tuiInputCVC]',
hostDirectives: [MaskitoDirective, TuiWithTextfield],
host: {
inputmode: 'numeric',
autocomplete: 'cc-csc',
'[placeholder]': '"0".repeat(length)',
'[style.-webkit-text-security]': 'hidden ? "disc" : null',
'(copy.prevent)': '(0)',
},
}]
}], propDecorators: { autocomplete: [{
type: Input
}], hidden: [{
type: Input
}], length: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY3ZjLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FkZG9uLWNvbW1lcmNlL2NvbXBvbmVudHMvaW5wdXQtY3ZjL2lucHV0LWN2Yy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUN0RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDaEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRS9DLE1BWWEsV0FBVztJQVp4QjtRQWFxQixTQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXBELGdFQUFnRTtRQUV6RCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUczRCxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBR2QsV0FBTSxHQUFVLENBQUMsQ0FBQztLQU01QjtJQUpHLHVEQUF1RDtJQUNoRCxXQUFXO1FBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7K0dBaEJRLFdBQVc7bUdBQVgsV0FBVzs7U0FBWCxXQUFXOzRGQUFYLFdBQVc7a0JBWnZCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGNBQWMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO29CQUNwRCxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLFNBQVM7d0JBQ3BCLFlBQVksRUFBRSxRQUFRO3dCQUN0QixlQUFlLEVBQUUsb0JBQW9CO3dCQUNyQywrQkFBK0IsRUFBRSx3QkFBd0I7d0JBQ3pELGdCQUFnQixFQUFFLEtBQUs7cUJBQzFCO2lCQUNKOzhCQU1VLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixLQUFLO2dCQUlDLE1BQU07c0JBRFosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCB0eXBlIE9uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hc2tpdG9EaXJlY3RpdmV9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHtUVUlfSU5QVVRfQ0FSRF9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29tcG9uZW50cy9pbnB1dC1jYXJkJztcbmltcG9ydCB7VFVJX01BU0tfQ1ZDfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvY29uc3RhbnRzJztcbmltcG9ydCB7VHVpV2l0aFRleHRmaWVsZH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHt0dWlNYXNraXRvfSBmcm9tICdAdGFpZ2EtdWkva2l0L3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ2lucHV0W3R1aUlucHV0Q1ZDXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtNYXNraXRvRGlyZWN0aXZlLCBUdWlXaXRoVGV4dGZpZWxkXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGlucHV0bW9kZTogJ251bWVyaWMnLFxuICAgICAgICBhdXRvY29tcGxldGU6ICdjYy1jc2MnLFxuICAgICAgICAnW3BsYWNlaG9sZGVyXSc6ICdcIjBcIi5yZXBlYXQobGVuZ3RoKScsXG4gICAgICAgICdbc3R5bGUuLXdlYmtpdC10ZXh0LXNlY3VyaXR5XSc6ICdoaWRkZW4gPyBcImRpc2NcIiA6IG51bGwnLFxuICAgICAgICAnKGNvcHkucHJldmVudCknOiAnKDApJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dENWQyBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBtYXNrID0gdHVpTWFza2l0byhUVUlfTUFTS19DVkMoMykpO1xuXG4gICAgLyoqIEBkZXByZWNhdGVkIGFwcGFyZW50bHkgXCJvZmZcIiBkb2Vzbid0IGRpc2FibGUgYXV0b2NvbXBsZXRlICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlID0gaW5qZWN0KFRVSV9JTlBVVF9DQVJEX09QVElPTlMpLmF1dG9jb21wbGV0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGhpZGRlbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBsZW5ndGg6IDMgfCA0ID0gMztcblxuICAgIC8vIFRPRE86IHJlZmFjdG9yIHRvIHNpZ25hbCBpbnB1dHMgYWZ0ZXIgQW5ndWxhciB1cGRhdGVcbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubWFzay5zZXQoVFVJX01BU0tfQ1ZDKHRoaXMubGVuZ3RoKSk7XG4gICAgfVxufVxuIl19