@taiga-ui/addon-commerce 2.24.0 → 2.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-validators.umd.js +7 -7
- package/bundles/taiga-ui-addon-commerce-validators.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce.umd.js +8 -8
- package/bundles/taiga-ui-addon-commerce.umd.min.js +1 -1
- package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +1 -1
- package/components/input-CVC/taiga-ui-addon-commerce-components-input-CVC.metadata.json +1 -1
- package/components/input-card/taiga-ui-addon-commerce-components-input-card.metadata.json +1 -1
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
- package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.metadata.json +1 -1
- package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
- package/esm2015/components/card/card.module.js +1 -1
- package/esm2015/components/input-CVC/input-CVC.module.js +1 -1
- package/esm2015/components/input-card/input-card.module.js +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.module.js +1 -1
- package/esm2015/components/input-expire/input-expire.module.js +1 -1
- package/esm2015/components/money/money.module.js +1 -1
- package/esm2015/index.js +2 -2
- package/esm2015/pipes/currency.module.js +1 -1
- package/esm2015/types/index.js +1 -1
- package/esm2015/utils/format-currency.js +1 -1
- package/esm2015/validators/index.js +2 -2
- package/esm5/components/card/card.module.js +1 -1
- package/esm5/components/input-CVC/input-CVC.module.js +1 -1
- package/esm5/components/input-card/input-card.module.js +1 -1
- package/esm5/components/input-card-grouped/input-card-grouped.component.js +1 -1
- package/esm5/components/input-card-grouped/input-card-grouped.module.js +1 -1
- package/esm5/components/input-expire/input-expire.module.js +1 -1
- package/esm5/components/money/money.module.js +1 -1
- package/esm5/index.js +2 -2
- package/esm5/pipes/currency.module.js +1 -1
- package/esm5/types/index.js +1 -1
- package/esm5/utils/format-currency.js +1 -1
- package/esm5/validators/index.js +2 -2
- package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-CVC.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-validators.js +7 -7
- package/fesm2015/taiga-ui-addon-commerce-validators.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce.js +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-card.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-CVC.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-pipes.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce-validators.js +8 -8
- package/fesm5/taiga-ui-addon-commerce-validators.js.map +1 -1
- package/fesm5/taiga-ui-addon-commerce.js +1 -1
- package/index.d.ts +1 -1
- package/package.json +4 -4
- package/pipes/taiga-ui-addon-commerce-pipes.metadata.json +1 -1
- package/taiga-ui-addon-commerce.metadata.json +1 -1
- package/types/index.d.ts +1 -1
- package/types/taiga-ui-addon-commerce-types.metadata.json +1 -1
- package/validators/index.d.ts +1 -1
- package/validators/taiga-ui-addon-commerce-validators.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card-grouped.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>('InputCardGrouped texts', {\n factory: () =>\n inputGroupedTextsFactory(\n inject(WINDOW),\n inject(TUI_CARD_NUMBER_TEXTS),\n inject(TUI_CARD_EXPIRY_TEXTS),\n inject(TUI_CARD_CVC_TEXTS),\n inject(TUI_MEDIA),\n ),\n});\n\nexport function inputGroupedTextsFactory(\n windowRef: Window,\n cardNumberTexts: Observable<[string, string]>,\n expiryTexts: Observable<[string, string]>,\n cvcTexts: Observable<[string, string]>,\n {desktopSmall}: TuiMedia,\n): Observable<TuiCardGroupedTexts> {\n const media = windowRef.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return typedFromEvent(media, 'change').pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK, tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n getPaymentSystem,\n tuiCreateAutoCorrectedExpirePipe,\n} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_DATA_LIST_HOST,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n} from './input-card-grouped.providers';\n\nconst STUB: TuiCard = {\n card: '',\n expire: '',\n cvc: '',\n};\nconst ICONS = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\n// @dynamic\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-tui-host-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiNullableControl<TuiCard>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent | null = null; // TODO(splincode): will be deleted `null` in v3.0\n\n @Input()\n @tuiDefaultProp()\n exampleText = '0000 0000 0000 0000';\n\n @Input()\n @tuiDefaultProp()\n cardValidator: TuiBooleanHandler<string> = tuiDefaultCardValidator;\n\n @Input()\n @tuiRequiredSetter()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n exampleTextCVC = '000';\n\n maskCVC: TuiTextMaskOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n\n readonly maskCard: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n readonly maskExpire: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n open = false;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent = '';\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n private expireInert = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get card(): string {\n return this.value?.card ?? '';\n }\n\n get expire(): string {\n return this.value?.expire ?? '';\n }\n\n get cvc(): string {\n return this.value?.cvc ?? '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get defaultIcon(): string | null {\n const {paymentSystem} = this;\n\n return paymentSystem && ICONS[paymentSystem];\n }\n\n get icon(): PolymorpheusContent | null {\n return this.cardSrc ?? this.defaultIcon;\n }\n\n get bin(): string | null {\n return !this.value || this.value.card.length < 6\n ? null\n : this.value.card.substr(0, 6);\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || !!this.value;\n }\n\n get formattedCard(): string {\n return this.value && !this.cardPrefilled\n ? this.value.card\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('')\n : '';\n }\n\n get idCard(): string {\n return this.id + '_card';\n }\n\n get idExpire(): string {\n return this.id + '_expire';\n }\n\n get idCVC(): string {\n return this.id + '_cvc';\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteCard(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteExpire(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteCVC(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcCsc\n : TuiCreditCardAutofillName.Off;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n handleOption(option: Partial<TuiCard>) {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.updateValue({card, expire, cvc});\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n\n onCardChange(card: string) {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.card === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator(this.card) && !this.expire && this.inputExpire) {\n setNativeFocused(this.inputExpire.nativeElement, true, true);\n }\n }\n\n onExpireChange(expire: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.inputExpire) {\n return;\n }\n\n if (parseInt(expire.substr(0, 2), 10) > 12) {\n expire = '12' + expire.substr(2);\n }\n\n if (expire.substr(0, 2) === '00') {\n expire = '01' + expire.substr(2);\n }\n\n this.inputExpire.nativeElement.value = expire;\n this.updateProperty(expire, 'expire');\n\n if (expire.length === 5 && this.inputCVC) {\n setNativeFocused(this.inputCVC.nativeElement);\n }\n }\n\n onCVCChange(cvc: string) {\n this.updateProperty(cvc, 'cvc');\n }\n\n onActiveZoneChange(active: boolean) {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onMouseDown(event: MouseEvent) {\n if ((event.target as HTMLElement).matches('input')) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll(element: HTMLElement) {\n element.scrollLeft = 0;\n }\n\n @HostListener('keydown.esc')\n onEsc() {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number) {\n this.open = this.hasDropdown;\n this.changeDetectorRef.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n clear() {\n this.updateValue(null);\n\n if (this.inputCard) {\n setNativeFocused(this.inputCard.nativeElement);\n }\n }\n\n toggle() {\n this.open = !this.open;\n }\n\n writeValue(value: TuiCard | null) {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && isNativeFocused(this.inputCard.nativeElement);\n }\n\n private get paymentSystem(): TuiPaymentSystem | null {\n return this.value && getPaymentSystem(this.value.card);\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null) {\n const {bin} = this;\n\n if (bin !== oldBin && !this.cardPrefilled) {\n this.binChange.emit(bin);\n }\n }\n\n private updateProperty(propValue: string, propName: 'card' | 'expire' | 'cvc') {\n const {card, expire, cvc} = this.value || STUB;\n const newValue: TuiCard = {\n card,\n expire,\n cvc,\n };\n\n newValue[propName] = propValue;\n\n if (!newValue.expire && !newValue.cvc && !newValue.card) {\n this.updateValue(null);\n } else {\n this.updateValue(newValue);\n }\n }\n\n private focusInput() {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiHoveredModule,\n TuiActiveZoneModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n"],"names":["InjectionToken","inject","WINDOW","TUI_CARD_NUMBER_TEXTS","TUI_CARD_EXPIRY_TEXTS","TUI_CARD_CVC_TEXTS","TUI_MEDIA","typedFromEvent","startWith","switchMap","combineLatest","of","map","tuiDefaultCardValidator","EventEmitter","TUI_DIGIT_REGEXP","TUI_CARD_MASK","tuiCreateAutoCorrectedExpirePipe","isNativeFocusedIn","TUI_NON_DIGIT_REGEXP","setNativeFocused","isNativeFocused","getPaymentSystem","NgControl","Optional","Self","Inject","ChangeDetectorRef","ElementRef","Observable","TUI_MODE","Input","tuiDefaultProp","tuiRequiredSetter","Output","ContentChild","TuiDataListDirective","TemplateRef","TuiDataListComponent","ViewChild","HostListener","tuiPure","Component","ChangeDetectionStrategy","MODE_PROVIDER","TUI_FOCUSABLE_ITEM_ACCESSOR","forwardRef","TUI_DATA_LIST_HOST","AbstractTuiNullableControl","NgModule","CommonModule","FormsModule","TextMaskModule","TuiFocusableModule","TuiSvgModule","TuiWrapperModule","TuiHoveredModule","TuiActiveZoneModule","TuiInputModeModule","TuiMapperPipeModule","TuiDropdownModule","TuiPreventDefaultModule","PolymorpheusModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-components-input-card-grouped.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>('InputCardGrouped texts', {\n factory: () =>\n inputGroupedTextsFactory(\n inject(WINDOW),\n inject(TUI_CARD_NUMBER_TEXTS),\n inject(TUI_CARD_EXPIRY_TEXTS),\n inject(TUI_CARD_CVC_TEXTS),\n inject(TUI_MEDIA),\n ),\n});\n\nexport function inputGroupedTextsFactory(\n windowRef: Window,\n cardNumberTexts: Observable<[string, string]>,\n expiryTexts: Observable<[string, string]>,\n cvcTexts: Observable<[string, string]>,\n {desktopSmall}: TuiMedia,\n): Observable<TuiCardGroupedTexts> {\n const media = windowRef.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return typedFromEvent(media, 'change').pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK, tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n getPaymentSystem,\n tuiCreateAutoCorrectedExpirePipe,\n} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_DATA_LIST_HOST,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n} from './input-card-grouped.providers';\n\nconst STUB: TuiCard = {\n card: '',\n expire: '',\n cvc: '',\n};\nconst ICONS = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\n// @dynamic\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-tui-host-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiNullableControl<TuiCard>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent | null = null; // TODO(splincode): will be deleted `null` in v3.0\n\n @Input()\n @tuiDefaultProp()\n exampleText = '0000 0000 0000 0000';\n\n @Input()\n @tuiDefaultProp()\n cardValidator: TuiBooleanHandler<string> = tuiDefaultCardValidator;\n\n @Input()\n @tuiRequiredSetter()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n exampleTextCVC = '000';\n\n maskCVC: TuiTextMaskOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n\n readonly maskCard: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n readonly maskExpire: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n open = false;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent = '';\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n private expireInert = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get card(): string {\n return this.value?.card ?? '';\n }\n\n get expire(): string {\n return this.value?.expire ?? '';\n }\n\n get cvc(): string {\n return this.value?.cvc ?? '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get defaultIcon(): string | null {\n const {paymentSystem} = this;\n\n return paymentSystem && ICONS[paymentSystem];\n }\n\n get icon(): PolymorpheusContent | null {\n return this.cardSrc ?? this.defaultIcon;\n }\n\n get bin(): string | null {\n return !this.value || this.value.card.length < 6\n ? null\n : this.value.card.substr(0, 6);\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || !!this.value;\n }\n\n get formattedCard(): string {\n return this.value && !this.cardPrefilled\n ? this.value.card\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('')\n : '';\n }\n\n get idCard(): string {\n return this.id + '_card';\n }\n\n get idExpire(): string {\n return this.id + '_expire';\n }\n\n get idCVC(): string {\n return this.id + '_cvc';\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteCard(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteExpire(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteCVC(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcCsc\n : TuiCreditCardAutofillName.Off;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n handleOption(option: Partial<TuiCard>) {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.updateValue({card, expire, cvc});\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n\n onCardChange(card: string) {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.card === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator(this.card) && !this.expire && this.inputExpire) {\n setNativeFocused(this.inputExpire.nativeElement, true, true);\n }\n }\n\n onExpireChange(expire: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.inputExpire) {\n return;\n }\n\n if (parseInt(expire.substr(0, 2), 10) > 12) {\n expire = '12' + expire.substr(2);\n }\n\n if (expire.substr(0, 2) === '00') {\n expire = '01' + expire.substr(2);\n }\n\n this.inputExpire.nativeElement.value = expire;\n this.updateProperty(expire, 'expire');\n\n if (expire.length === 5 && this.inputCVC) {\n setNativeFocused(this.inputCVC.nativeElement);\n }\n }\n\n onCVCChange(cvc: string) {\n this.updateProperty(cvc, 'cvc');\n }\n\n onActiveZoneChange(active: boolean) {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onMouseDown(event: MouseEvent) {\n if ((event.target as HTMLElement).matches('input')) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll(element: HTMLElement) {\n element.scrollLeft = 0;\n }\n\n @HostListener('keydown.esc')\n onEsc() {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number) {\n this.open = this.hasDropdown;\n this.changeDetectorRef.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n clear() {\n this.updateValue(null);\n\n if (this.inputCard) {\n setNativeFocused(this.inputCard.nativeElement);\n }\n }\n\n toggle() {\n this.open = !this.open;\n }\n\n writeValue(value: TuiCard | null) {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && isNativeFocused(this.inputCard.nativeElement);\n }\n\n private get paymentSystem(): TuiPaymentSystem | null {\n return this.value && getPaymentSystem(this.value.card);\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null) {\n const {bin} = this;\n\n if (bin !== oldBin && !this.cardPrefilled) {\n this.binChange.emit(bin);\n }\n }\n\n private updateProperty(propValue: string, propName: 'card' | 'expire' | 'cvc') {\n const {card, expire, cvc} = this.value || STUB;\n const newValue: TuiCard = {\n card,\n expire,\n cvc,\n };\n\n newValue[propName] = propValue;\n\n if (!newValue.expire && !newValue.cvc && !newValue.card) {\n this.updateValue(null);\n } else {\n this.updateValue(newValue);\n }\n }\n\n private focusInput() {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiHoveredModule,\n TuiActiveZoneModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n"],"names":["InjectionToken","inject","WINDOW","TUI_CARD_NUMBER_TEXTS","TUI_CARD_EXPIRY_TEXTS","TUI_CARD_CVC_TEXTS","TUI_MEDIA","typedFromEvent","startWith","switchMap","combineLatest","of","map","tuiDefaultCardValidator","EventEmitter","TUI_DIGIT_REGEXP","TUI_CARD_MASK","tuiCreateAutoCorrectedExpirePipe","isNativeFocusedIn","TUI_NON_DIGIT_REGEXP","setNativeFocused","isNativeFocused","getPaymentSystem","NgControl","Optional","Self","Inject","ChangeDetectorRef","ElementRef","Observable","TUI_MODE","Input","tuiDefaultProp","tuiRequiredSetter","Output","ContentChild","TuiDataListDirective","TemplateRef","TuiDataListComponent","ViewChild","HostListener","tuiPure","Component","ChangeDetectionStrategy","MODE_PROVIDER","TUI_FOCUSABLE_ITEM_ACCESSOR","forwardRef","TUI_DATA_LIST_HOST","AbstractTuiNullableControl","NgModule","CommonModule","FormsModule","TextMaskModule","TuiFocusableModule","TuiSvgModule","TuiWrapperModule","TuiHoveredModule","TuiActiveZoneModule","TuiInputModeModule","TuiMapperPipeModule","TuiDropdownModule","TuiPreventDefaultModule","PolymorpheusModule"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TUI_INPUT_CARD_GROUPED_TEXTS","InjectionToken","factory","inputGroupedTextsFactory","inject","WINDOW","TUI_CARD_NUMBER_TEXTS","TUI_CARD_EXPIRY_TEXTS","TUI_CARD_CVC_TEXTS","TUI_MEDIA","windowRef","cardNumberTexts","expiryTexts","cvcTexts","_a","desktopSmall","media","matchMedia","typedFromEvent","pipe","startWith","switchMap","combineLatest","of","Number","matches","map","_b","index","cardNumber","expiry","cardNumberText","expiryText","cvcText","STUB","card","expire","cvc","ICONS","TuiInputCardGroupedComponent","control","changeDetectorRef","elementRef","mode$","cardGroupedTexts$","_this","_super","this","autocompleteEnabled","cardSrc","exampleText","cardValidator","tuiDefaultCardValidator","autofilledChange","EventEmitter","binChange","exampleTextCVC","maskCVC","mask","fill","TUI_DIGIT_REGEXP","guide","maskCard","TUI_CARD_MASK","conformedValue","trim","maskExpire","tuiCreateAutoCorrectedExpirePipe","open","dropdown","expireInert","__","constructor","prototype","create","__extends","repeat","inputCard","nativeElement","isNativeFocusedIn","readOnly","computedDisabled","paymentSystem","defaultIcon","substr","computedFocused","cardPrefilled","split","char","join","id","isFocusable","cardFocused","match","TUI_NON_DIGIT_REGEXP","focusable","slice","handleOption","option","_c","_d","_e","bin","element","inputExpire","inputCVC","updateValue","updateBin","setNativeFocused","onCardChange","parsed","updateProperty","onExpireChange","parseInt","onCVCChange","onActiveZoneChange","active","updateFocused","onHovered","hovered","updateHovered","onMouseDown","event","preventDefault","focusInput","onScroll","scrollLeft","onEsc","onArrow","step","hasDropdown","detectChanges","datalist","onKeyDownArrow","clear","toggle","writeValue","isNativeFocused","getPaymentSystem","oldBin","emit","propValue","propName","newValue","cardFocusable","expireFocusable","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","ElementRef","Observable","TUI_MODE","Input","tuiDefaultProp","tuiRequiredSetter","Output","ContentChild","TuiDataListDirective","read","TemplateRef","TuiDataListComponent","ViewChild","HostListener","tuiPure","TuiInputCardGroupedComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","MODE_PROVIDER","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","TUI_DATA_LIST_HOST","host","($.data-mode.attr)","data-tui-host-size","AbstractTuiNullableControl","TuiInputCardGroupedModule","NgModule","imports","CommonModule","FormsModule","TextMaskModule","TuiFocusableModule","TuiSvgModule","TuiWrapperModule","TuiHoveredModule","TuiActiveZoneModule","TuiInputModeModule","TuiMapperPipeModule","TuiDropdownModule","TuiPreventDefaultModule","PolymorpheusModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>('InputCardGrouped texts', {\n factory: () =>\n inputGroupedTextsFactory(\n inject(WINDOW),\n inject(TUI_CARD_NUMBER_TEXTS),\n inject(TUI_CARD_EXPIRY_TEXTS),\n inject(TUI_CARD_CVC_TEXTS),\n inject(TUI_MEDIA),\n ),\n});\n\nexport function inputGroupedTextsFactory(\n windowRef: Window,\n cardNumberTexts: Observable<[string, string]>,\n expiryTexts: Observable<[string, string]>,\n cvcTexts: Observable<[string, string]>,\n {desktopSmall}: TuiMedia,\n): Observable<TuiCardGroupedTexts> {\n const media = windowRef.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return typedFromEvent(media, 'change').pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK, tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n getPaymentSystem,\n tuiCreateAutoCorrectedExpirePipe,\n} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_DATA_LIST_HOST,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n} from './input-card-grouped.providers';\n\nconst STUB: TuiCard = {\n card: '',\n expire: '',\n cvc: '',\n};\nconst ICONS = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\n// @dynamic\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-tui-host-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiNullableControl<TuiCard>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent | null = null; // TODO(splincode): will be deleted `null` in v3.0\n\n @Input()\n @tuiDefaultProp()\n exampleText = '0000 0000 0000 0000';\n\n @Input()\n @tuiDefaultProp()\n cardValidator: TuiBooleanHandler<string> = tuiDefaultCardValidator;\n\n @Input()\n @tuiRequiredSetter()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n exampleTextCVC = '000';\n\n maskCVC: TuiTextMaskOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n\n readonly maskCard: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n readonly maskExpire: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n open = false;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent = '';\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n private expireInert = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get card(): string {\n return this.value?.card ?? '';\n }\n\n get expire(): string {\n return this.value?.expire ?? '';\n }\n\n get cvc(): string {\n return this.value?.cvc ?? '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get defaultIcon(): string | null {\n const {paymentSystem} = this;\n\n return paymentSystem && ICONS[paymentSystem];\n }\n\n get icon(): PolymorpheusContent | null {\n return this.cardSrc ?? this.defaultIcon;\n }\n\n get bin(): string | null {\n return !this.value || this.value.card.length < 6\n ? null\n : this.value.card.substr(0, 6);\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || !!this.value;\n }\n\n get formattedCard(): string {\n return this.value && !this.cardPrefilled\n ? this.value.card\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('')\n : '';\n }\n\n get idCard(): string {\n return this.id + '_card';\n }\n\n get idExpire(): string {\n return this.id + '_expire';\n }\n\n get idCVC(): string {\n return this.id + '_cvc';\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteCard(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteExpire(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteCVC(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcCsc\n : TuiCreditCardAutofillName.Off;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n handleOption(option: Partial<TuiCard>) {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.updateValue({card, expire, cvc});\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n\n onCardChange(card: string) {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.card === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator(this.card) && !this.expire && this.inputExpire) {\n setNativeFocused(this.inputExpire.nativeElement, true, true);\n }\n }\n\n onExpireChange(expire: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.inputExpire) {\n return;\n }\n\n if (parseInt(expire.substr(0, 2), 10) > 12) {\n expire = '12' + expire.substr(2);\n }\n\n if (expire.substr(0, 2) === '00') {\n expire = '01' + expire.substr(2);\n }\n\n this.inputExpire.nativeElement.value = expire;\n this.updateProperty(expire, 'expire');\n\n if (expire.length === 5 && this.inputCVC) {\n setNativeFocused(this.inputCVC.nativeElement);\n }\n }\n\n onCVCChange(cvc: string) {\n this.updateProperty(cvc, 'cvc');\n }\n\n onActiveZoneChange(active: boolean) {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onMouseDown(event: MouseEvent) {\n if ((event.target as HTMLElement).matches('input')) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll(element: HTMLElement) {\n element.scrollLeft = 0;\n }\n\n @HostListener('keydown.esc')\n onEsc() {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number) {\n this.open = this.hasDropdown;\n this.changeDetectorRef.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n clear() {\n this.updateValue(null);\n\n if (this.inputCard) {\n setNativeFocused(this.inputCard.nativeElement);\n }\n }\n\n toggle() {\n this.open = !this.open;\n }\n\n writeValue(value: TuiCard | null) {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && isNativeFocused(this.inputCard.nativeElement);\n }\n\n private get paymentSystem(): TuiPaymentSystem | null {\n return this.value && getPaymentSystem(this.value.card);\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null) {\n const {bin} = this;\n\n if (bin !== oldBin && !this.cardPrefilled) {\n this.binChange.emit(bin);\n }\n }\n\n private updateProperty(propValue: string, propName: 'card' | 'expire' | 'cvc') {\n const {card, expire, cvc} = this.value || STUB;\n const newValue: TuiCard = {\n card,\n expire,\n cvc,\n };\n\n newValue[propName] = propValue;\n\n if (!newValue.expire && !newValue.cvc && !newValue.card) {\n this.updateValue(null);\n } else {\n this.updateValue(newValue);\n }\n }\n\n private focusInput() {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiHoveredModule,\n TuiActiveZoneModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.providers.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.component.ts","ng://@taiga-ui/addon-commerce/components/input-card-grouped/input-card-grouped.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","TUI_INPUT_CARD_GROUPED_TEXTS","InjectionToken","factory","inputGroupedTextsFactory","inject","WINDOW","TUI_CARD_NUMBER_TEXTS","TUI_CARD_EXPIRY_TEXTS","TUI_CARD_CVC_TEXTS","TUI_MEDIA","windowRef","cardNumberTexts","expiryTexts","cvcTexts","_a","desktopSmall","media","matchMedia","typedFromEvent","pipe","startWith","switchMap","combineLatest","of","Number","matches","map","_b","index","cardNumber","expiry","cardNumberText","expiryText","cvcText","STUB","card","expire","cvc","ICONS","TuiInputCardGroupedComponent","control","changeDetectorRef","elementRef","mode$","cardGroupedTexts$","_this","_super","this","autocompleteEnabled","cardSrc","exampleText","cardValidator","tuiDefaultCardValidator","autofilledChange","EventEmitter","binChange","exampleTextCVC","maskCVC","mask","fill","TUI_DIGIT_REGEXP","guide","maskCard","TUI_CARD_MASK","conformedValue","trim","maskExpire","tuiCreateAutoCorrectedExpirePipe","open","dropdown","expireInert","__","constructor","prototype","create","__extends","repeat","inputCard","nativeElement","isNativeFocusedIn","readOnly","computedDisabled","paymentSystem","defaultIcon","substr","computedFocused","cardPrefilled","split","char","join","id","isFocusable","cardFocused","match","TUI_NON_DIGIT_REGEXP","focusable","slice","handleOption","option","_c","_d","_e","bin","element","inputExpire","inputCVC","updateValue","updateBin","setNativeFocused","onCardChange","parsed","updateProperty","onExpireChange","parseInt","onCVCChange","onActiveZoneChange","active","updateFocused","onHovered","hovered","updateHovered","onMouseDown","event","preventDefault","focusInput","onScroll","scrollLeft","onEsc","onArrow","step","hasDropdown","detectChanges","datalist","onKeyDownArrow","clear","toggle","writeValue","isNativeFocused","getPaymentSystem","oldBin","emit","propValue","propName","newValue","cardFocusable","expireFocusable","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","ElementRef","Observable","TUI_MODE","Input","tuiDefaultProp","tuiRequiredSetter","Output","ContentChild","TuiDataListDirective","read","TemplateRef","TuiDataListComponent","ViewChild","HostListener","tuiPure","TuiInputCardGroupedComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","MODE_PROVIDER","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","TUI_DATA_LIST_HOST","host","($.data-mode.attr)","data-tui-host-size","AbstractTuiNullableControl","TuiInputCardGroupedModule","NgModule","imports","CommonModule","FormsModule","TextMaskModule","TuiFocusableModule","TuiSvgModule","TuiWrapperModule","TuiHoveredModule","TuiActiveZoneModule","TuiInputModeModule","TuiMapperPipeModule","TuiDropdownModule","TuiPreventDefaultModule","PolymorpheusModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {\n TUI_CARD_CVC_TEXTS,\n TUI_CARD_EXPIRY_TEXTS,\n TUI_CARD_NUMBER_TEXTS,\n} from '@taiga-ui/addon-commerce/tokens';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {TuiMedia} from '@taiga-ui/core/interfaces';\nimport {TUI_MEDIA} from '@taiga-ui/core/tokens';\nimport {combineLatest, Observable, of} from 'rxjs';\nimport {map, startWith, switchMap} from 'rxjs/operators';\n\nexport interface TuiCardGroupedTexts {\n readonly cardNumberText: string;\n readonly expiryText: string;\n readonly cvcText: string;\n}\n\nexport const TUI_INPUT_CARD_GROUPED_TEXTS = new InjectionToken<\n Observable<TuiCardGroupedTexts>\n>('InputCardGrouped texts', {\n factory: () =>\n inputGroupedTextsFactory(\n inject(WINDOW),\n inject(TUI_CARD_NUMBER_TEXTS),\n inject(TUI_CARD_EXPIRY_TEXTS),\n inject(TUI_CARD_CVC_TEXTS),\n inject(TUI_MEDIA),\n ),\n});\n\nexport function inputGroupedTextsFactory(\n windowRef: Window,\n cardNumberTexts: Observable<[string, string]>,\n expiryTexts: Observable<[string, string]>,\n cvcTexts: Observable<[string, string]>,\n {desktopSmall}: TuiMedia,\n): Observable<TuiCardGroupedTexts> {\n const media = windowRef.matchMedia(\n `screen and (min-width: ${(desktopSmall - 1) / 16}em)`,\n );\n\n return typedFromEvent(media, 'change').pipe(\n startWith(null),\n switchMap(() =>\n combineLatest([\n of(Number(media.matches)),\n cardNumberTexts,\n expiryTexts,\n cvcTexts,\n ]),\n ),\n map(([index, cardNumber, expiry, cvcTexts]) => ({\n cardNumberText: cardNumber[index],\n expiryText: expiry[index],\n cvcText: cvcTexts[index],\n })),\n );\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK, tuiDefaultCardValidator} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCard} from '@taiga-ui/addon-commerce/interfaces';\nimport {TuiCodeCVCLength} from '@taiga-ui/addon-commerce/types';\nimport {\n getPaymentSystem,\n tuiCreateAutoCorrectedExpirePipe,\n} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiBooleanHandler,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n MODE_PROVIDER,\n TUI_DATA_LIST_HOST,\n TUI_DIGIT_REGEXP,\n TUI_MODE,\n TUI_NON_DIGIT_REGEXP,\n TuiBrightness,\n TuiDataListComponent,\n TuiDataListDirective,\n TuiDataListHost,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {\n TUI_INPUT_CARD_GROUPED_TEXTS,\n TuiCardGroupedTexts,\n} from './input-card-grouped.providers';\n\nconst STUB: TuiCard = {\n card: '',\n expire: '',\n cvc: '',\n};\nconst ICONS = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\n// @dynamic\n@Component({\n selector: 'tui-input-card-grouped',\n templateUrl: './input-card-grouped.template.html',\n styleUrls: ['./input-card-grouped.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n MODE_PROVIDER,\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiInputCardGroupedComponent),\n },\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n 'data-tui-host-size': 'l',\n },\n})\nexport class TuiInputCardGroupedComponent\n extends AbstractTuiNullableControl<TuiCard>\n implements TuiFocusableElementAccessor, TuiDataListHost<Partial<TuiCard>>\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Input()\n @tuiDefaultProp()\n cardSrc: PolymorpheusContent | null = null; // TODO(splincode): will be deleted `null` in v3.0\n\n @Input()\n @tuiDefaultProp()\n exampleText = '0000 0000 0000 0000';\n\n @Input()\n @tuiDefaultProp()\n cardValidator: TuiBooleanHandler<string> = tuiDefaultCardValidator;\n\n @Input()\n @tuiRequiredSetter()\n set codeLength(length: TuiCodeCVCLength) {\n this.exampleTextCVC = '0'.repeat(length);\n this.maskCVC = {\n mask: new Array(length).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n }\n\n @Output()\n readonly autofilledChange = new EventEmitter<boolean>();\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n exampleTextCVC = '000';\n\n maskCVC: TuiTextMaskOptions = {\n mask: new Array(3).fill(TUI_DIGIT_REGEXP),\n guide: false,\n };\n\n readonly maskCard: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n readonly maskExpire: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n open = false;\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly dropdown: PolymorpheusContent = '';\n\n @ContentChild(TuiDataListComponent)\n readonly datalist?: TuiDataListComponent<TuiCard>;\n\n @ViewChild('inputCard')\n private readonly inputCard?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputExpire')\n private readonly inputExpire?: ElementRef<HTMLInputElement>;\n\n @ViewChild('inputCVC')\n private readonly inputCVC?: ElementRef<HTMLInputElement>;\n\n private expireInert = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_INPUT_CARD_GROUPED_TEXTS)\n readonly cardGroupedTexts$: Observable<TuiCardGroupedTexts>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.inputCard ? this.inputCard.nativeElement : null;\n }\n\n get focused(): boolean {\n return this.open || isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n get card(): string {\n return this.value?.card ?? '';\n }\n\n get expire(): string {\n return this.value?.expire ?? '';\n }\n\n get cvc(): string {\n return this.value?.cvc ?? '';\n }\n\n get hasCleaner(): boolean {\n return !!this.value && !this.readOnly && !this.computedDisabled;\n }\n\n get hasDropdown(): boolean {\n return !!this.dropdown;\n }\n\n get defaultIcon(): string | null {\n const {paymentSystem} = this;\n\n return paymentSystem && ICONS[paymentSystem];\n }\n\n get icon(): PolymorpheusContent | null {\n return this.cardSrc ?? this.defaultIcon;\n }\n\n get bin(): string | null {\n return !this.value || this.value.card.length < 6\n ? null\n : this.value.card.substr(0, 6);\n }\n\n get placeholderRaised(): boolean {\n return (this.computedFocused && !this.readOnly) || !!this.value;\n }\n\n get formattedCard(): string {\n return this.value && !this.cardPrefilled\n ? this.value.card\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('')\n : '';\n }\n\n get idCard(): string {\n return this.id + '_card';\n }\n\n get idExpire(): string {\n return this.id + '_expire';\n }\n\n get idCVC(): string {\n return this.id + '_cvc';\n }\n\n get isCardCollapsed(): boolean {\n return this.isFocusable(this.card) && !this.cardFocused;\n }\n\n get autocompleteCard(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteExpire(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n get autocompleteCVC(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcCsc\n : TuiCreditCardAutofillName.Off;\n }\n\n // Safari expiration date autofill workaround\n get name(): 'ccexpiryyear' | null {\n return this.autocompleteEnabled ? 'ccexpiryyear' : null;\n }\n\n get cardPrefilled(): boolean {\n return !!this.card.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cvcPrefilled(): boolean {\n return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);\n }\n\n get cardFocusable(): boolean {\n return this.focusable && !this.cardPrefilled;\n }\n\n get expireFocusable(): boolean {\n return this.isFocusable(this.card) && !this.expireInert;\n }\n\n get cvcFocusable(): boolean {\n return this.isFocusable(this.card);\n }\n\n get masked(): string {\n return this.cardPrefilled ? `*${this.card.slice(-4)}` : '*';\n }\n\n handleOption(option: Partial<TuiCard>) {\n const {card = '', expire = '', cvc = ''} = option;\n const {bin} = this;\n const element =\n (!expire && this.inputExpire?.nativeElement) || this.inputCVC?.nativeElement;\n\n this.updateValue({card, expire, cvc});\n this.updateBin(bin);\n this.open = false;\n this.expireInert = !!expire;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n\n onCardChange(card: string) {\n const {value, bin} = this;\n const parsed = card.split(' ').join('');\n\n if (value && value.card === parsed) {\n return;\n }\n\n this.updateProperty(parsed, 'card');\n this.updateBin(bin);\n\n if (this.cardValidator(this.card) && !this.expire && this.inputExpire) {\n setNativeFocused(this.inputExpire.nativeElement, true, true);\n }\n }\n\n onExpireChange(expire: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.inputExpire) {\n return;\n }\n\n if (parseInt(expire.substr(0, 2), 10) > 12) {\n expire = '12' + expire.substr(2);\n }\n\n if (expire.substr(0, 2) === '00') {\n expire = '01' + expire.substr(2);\n }\n\n this.inputExpire.nativeElement.value = expire;\n this.updateProperty(expire, 'expire');\n\n if (expire.length === 5 && this.inputCVC) {\n setNativeFocused(this.inputCVC.nativeElement);\n }\n }\n\n onCVCChange(cvc: string) {\n this.updateProperty(cvc, 'cvc');\n }\n\n onActiveZoneChange(active: boolean) {\n this.updateFocused(active);\n this.open = active && this.open;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onMouseDown(event: MouseEvent) {\n if ((event.target as HTMLElement).matches('input')) {\n return;\n }\n\n event.preventDefault();\n this.focusInput();\n }\n\n onScroll(element: HTMLElement) {\n element.scrollLeft = 0;\n }\n\n @HostListener('keydown.esc')\n onEsc() {\n this.open = false;\n }\n\n @HostListener('keydown.arrowDown.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])\n onArrow(element: HTMLElement, step: number) {\n this.open = this.hasDropdown;\n this.changeDetectorRef.detectChanges();\n this.datalist?.onKeyDownArrow(element, step);\n }\n\n clear() {\n this.updateValue(null);\n\n if (this.inputCard) {\n setNativeFocused(this.inputCard.nativeElement);\n }\n }\n\n toggle() {\n this.open = !this.open;\n }\n\n writeValue(value: TuiCard | null) {\n const {bin} = this;\n\n super.writeValue(value);\n this.updateBin(bin);\n this.expireInert = !!this.expire && this.cardPrefilled;\n }\n\n private get cardFocused(): boolean {\n return !!this.inputCard && isNativeFocused(this.inputCard.nativeElement);\n }\n\n private get paymentSystem(): TuiPaymentSystem | null {\n return this.value && getPaymentSystem(this.value.card);\n }\n\n @tuiPure\n private isFocusable(card: string): boolean {\n return this.focusable && (this.cardValidator(card) || this.cardPrefilled);\n }\n\n private updateBin(oldBin: string | null) {\n const {bin} = this;\n\n if (bin !== oldBin && !this.cardPrefilled) {\n this.binChange.emit(bin);\n }\n }\n\n private updateProperty(propValue: string, propName: 'card' | 'expire' | 'cvc') {\n const {card, expire, cvc} = this.value || STUB;\n const newValue: TuiCard = {\n card,\n expire,\n cvc,\n };\n\n newValue[propName] = propValue;\n\n if (!newValue.expire && !newValue.cvc && !newValue.card) {\n this.updateValue(null);\n } else {\n this.updateValue(newValue);\n }\n }\n\n private focusInput() {\n const element =\n (this.cardFocusable && this.inputCard?.nativeElement) ||\n (this.expireFocusable && this.inputExpire?.nativeElement) ||\n this.inputCVC?.nativeElement;\n\n if (element) {\n setNativeFocused(element);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {TuiDropdownModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputCardGroupedComponent} from './input-card-grouped.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiSvgModule,\n TuiWrapperModule,\n TuiHoveredModule,\n TuiActiveZoneModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiDropdownModule,\n TuiPreventDefaultModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCardGroupedComponent],\n exports: [TuiInputCardGroupedComponent],\n})\nexport class TuiInputCardGroupedModule {}\n"]}
|