@taiga-ui/addon-commerce 5.10.0-canary.ae2d96d → 5.10.0-canary.b311bc0

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.
@@ -38,10 +38,10 @@ class TuiInputCardGroupDirective {
38
38
  this.breakpoint = inject(TUI_BREAKPOINT);
39
39
  this.compact = input(false);
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TuiInputCardGroupDirective, isStandalone: true, inputs: { compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class._compact": "compact() || breakpoint() === 'mobile'" } }, ngImport: i0 }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.23", type: TuiInputCardGroupDirective, isStandalone: true, inputs: { compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class._compact": "compact() || breakpoint() === 'mobile'" } }, ngImport: i0 }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardGroupDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardGroupDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{ host: { '[class._compact]': "compact() || breakpoint() === 'mobile'" } }]
47
47
  }] });
@@ -255,8 +255,8 @@ class TuiInputCardGroup extends TuiControl {
255
255
  this.inputCVC()?.nativeElement;
256
256
  element?.focus();
257
257
  }
258
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
259
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: TuiInputCardGroup, isStandalone: true, selector: "tui-input-card-group", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null }, cardValidator: { classPropertyName: "cardValidator", publicName: "cardValidator", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, codeLength: { classPropertyName: "codeLength", publicName: "codeLength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { binChange: "binChange" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "scroll.zoneless": "$event.target.scrollLeft = 0", "tuiActiveZoneChange": "onTouched()" }, properties: { "attr.data-size": "textfield.size()" } }, providers: [
258
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardGroup, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiInputCardGroup, isStandalone: true, selector: "tui-input-card-group", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, inputs: { classPropertyName: "inputs", publicName: "inputs", isSignal: true, isRequired: false, transformFunction: null }, cardValidator: { classPropertyName: "cardValidator", publicName: "cardValidator", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, codeLength: { classPropertyName: "codeLength", publicName: "codeLength", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { binChange: "binChange" }, host: { listeners: { "pointerdown": "onPointerDown($event)", "scroll.zoneless": "$event.target.scrollLeft = 0", "tuiActiveZoneChange": "onTouched()" }, properties: { "attr.data-size": "textfield.size()" } }, providers: [
260
260
  tuiAsDataListHost(TuiInputCardGroup),
261
261
  tuiAsControl(TuiInputCardGroup),
262
262
  tuiDropdownOptionsProvider({ limitWidth: 'fixed' }),
@@ -264,7 +264,7 @@ class TuiInputCardGroup extends TuiControl {
264
264
  TUI_INPUT_CARD_GROUP_TEXTS_PROVIDER,
265
265
  ], viewQueries: [{ propertyName: "inputCard", first: true, predicate: ["inputCard"], descendants: true, isSignal: true }, { propertyName: "inputExpire", first: true, predicate: ["inputExpire"], descendants: true, isSignal: true }, { propertyName: "inputCVC", first: true, predicate: ["inputCVC"], descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiAppearance }, { directive: i2.TuiDropdownDirective }, { directive: i2.TuiWithDropdownOpen }, { directive: TuiInputCardGroupDirective, inputs: ["compact", "compact"] }], ngImport: i0, template: "@let formattedCard = card() | tuiFormatCard: cardPrefilled();\n\n<div class=\"t-wrapper\">\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCard\n autocomplete=\"cc-number\"\n automation-id=\"tui-input-card-group__card\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input t-input_card\"\n [attr.aria-invalid]=\"!cardPrefilled() && !(this.card() | tuiMapper: cardValidator())\"\n [attr.id]=\"`${id()}_card`\"\n [attr.role]=\"dropdown.content() ? 'combobox' : null\"\n [class.t-input_filled]=\"card().length\"\n [class.t-input_inert]=\"cardPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskCard\"\n [ngModel]=\"formattedCard\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cardPrefilled() ? '' : placeholder()\"\n [readOnly]=\"readOnly()\"\n [tabIndex]=\"cardPrefilled() ? -1 : 0\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCardChange($event)\"\n />\n <span\n aria-hidden=\"true\"\n translate=\"no\"\n class=\"t-collapsed\"\n [attr.data-before]=\"cardPrefilled() ? card().slice(-4) : ''\"\n [class.t-collapsed_enable-mask]=\"cardCollapsed\"\n (waResizeObserver)=\"onResize()\"\n >\n <span\n #ghost\n class=\"t-ghost\"\n [textContent]=\"formattedCard.slice(card().length % 4 > 0 ? -5 : -4)\"\n ></span>\n\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [style]=\"getStyle(ghost)\"\n [textContent]=\"formattedCard\"\n ></span>\n </span>\n </span>\n <div\n tuiTransitioned\n class=\"t-label\"\n [attr.data-label]=\"texts().cardNumberText\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n <ng-content />\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputExpire\n autocomplete=\"cc-exp\"\n automation-id=\"tui-input-card-group__expire\"\n inputmode=\"numeric\"\n maxlength=\"5\"\n name=\"ccexpiryyear\"\n translate=\"no\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_expire`\"\n [class.t-input_inert]=\"!expireFocusable()\"\n [class.t-input_prefilled]=\"!inputs().expire\"\n [disabled]=\"disabled()\"\n [maskito]=\"maskExpire\"\n [ngModel]=\"expire()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"inputs().expire ? expirePlaceholder() : '\u2022\u2022/\u2022\u2022'\"\n [readOnly]=\"readOnly() || !inputs().expire\"\n [tabIndex]=\"expireFocusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onExpireChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().expiryText }}\n </div>\n </label>\n</div>\n<div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"cardCollapsed\"\n>\n <label (click.zoneless.prevent)=\"(0)\">\n <input\n #inputCVC\n autocomplete=\"cc-csc\"\n automation-id=\"tui-input-card-group__cvc\"\n inputmode=\"numeric\"\n translate=\"no\"\n type=\"text\"\n class=\"t-input\"\n [attr.id]=\"`${id()}_cvc`\"\n [class.t-input_cvc_hidden]=\"cvcHidden\"\n [class.t-input_prefilled]=\"cvcPrefilled()\"\n [disabled]=\"disabled()\"\n [maskito]=\"cvcMask()\"\n [ngModel]=\"cvc()\"\n [ngModelOptions]=\"{standalone: true}\"\n [placeholder]=\"cvcPrefilled() ? '\u2022\u2022\u2022' : cvcPlaceholder()\"\n [readOnly]=\"readOnly() || cvcPrefilled()\"\n [tabIndex]=\"focusable() || (isMobile && isWebkit) ? 0 : -1\"\n (focus)=\"(0)\"\n (ngModelChange)=\"onCVCChange($event)\"\n />\n <div\n tuiTransitioned\n class=\"t-label\"\n [class.t-label_raised]=\"labelRaised()\"\n >\n {{ texts().cvcText }}\n </div>\n </label>\n</div>\n<div class=\"t-icons\">\n @if (content()) {\n <div class=\"t-icon-outlet\">\n <img\n *polymorpheusOutlet=\"content() as src\"\n alt=\"\"\n automation-id=\"tui-input-card-group__icon\"\n class=\"t-card\"\n [src]=\"src | tuiIcon\"\n />\n </div>\n }\n @if (hasCleaner()) {\n <tui-icon\n automation-id=\"tui-input-card-group__cleaner\"\n tuiAppearance=\"icon\"\n class=\"t-icon\"\n [icon]=\"icons.close\"\n (click)=\"clear()\"\n />\n }\n @if (dropdown.content()) {\n <tui-icon\n automation-id=\"tui-input-card-group__dropdown\"\n tuiAppearance=\"icon\"\n tuiChevron\n class=\"t-icon\"\n (click)=\"toggle()\"\n />\n }\n</div>\n", styles: ["@keyframes outside{0%{transform:translate3d(calc(var(--t-translate) * var(--tui-inline)),0,0)}to{transform:translate3d(calc(100% * var(--tui-inline)),0,0)}}@keyframes inside{0%{transform:translate3d(calc(100% * var(--tui-inline)),0,0)}to{transform:translate3d(calc(var(--t-translate) * var(--tui-inline)),0,0)}}:host{--t-height: var(--tui-height-l);--t-padding: var(--tui-padding-l);--t-label: -.7rem;--t-label-size: .83em;--t-translate: 6.5rem;--t-collapsed-offset: 1.4375rem;position:relative;display:block;block-size:var(--t-height);min-inline-size:24rem;border-radius:var(--tui-radius-l);overflow:hidden;font:var(--tui-typography-ui-m);isolation:isolate}:host[data-size=m]{--t-label: -.7em;--t-height: var(--tui-height-m);--t-padding: var(--tui-padding-m);--t-collapsed-offset: 1.125rem;border-radius:var(--tui-radius-m);font:var(--tui-typography-ui-s)}:host[data-size=m] .t-card{inline-size:1.5rem;block-size:1.5rem}:host[data-size=m] [tuiChevron]{margin-inline-end:-.875rem;margin-inline-start:.125rem}:host._compact{min-inline-size:19rem;--t-translate: 4rem}:host[tuiAppearance][data-appearance]:has(:-webkit-autofill,[chrome-autofilled]){background:var(--tui-service-autofill-background)!important}:host [tuiChevron]{block-size:auto;align-self:stretch;border-inline-end:var(--t-padding) solid transparent;margin-inline-end:-.75rem;box-sizing:content-box;font-size:1rem;cursor:pointer}.t-wrapper{position:absolute;z-index:1;inline-size:100%;block-size:var(--t-height);transition:opacity 0s var(--tui-duration)}.t-wrapper_cvc,.t-wrapper_expire{opacity:0;pointer-events:none;animation:outside var(--tui-duration) ease-in-out}.t-wrapper_cvc{margin-inline-start:7rem}:host._compact .t-wrapper_cvc{margin-inline-start:4rem}.t-wrapper_active{transition:none;pointer-events:auto;opacity:1;animation:inside var(--tui-duration) ease-in-out forwards}.t-card{inline-size:2rem;block-size:2rem}:host:has(.t-label[data-label=\"\"]:empty) .t-input,:host:has(.t-label[data-label=\"\"]:empty) .t-collapsed,:host:has(.t-label:not([data-label]):empty) .t-input,:host:has(.t-label:not([data-label]):empty) .t-collapsed{padding-block-start:0;line-height:var(--t-height)}.t-collapsed{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;padding:calc(var(--t-height) / 3) var(--t-padding) 0;box-sizing:border-box;line-height:calc(2 * var(--t-height) / 3);color:var(--tui-text-primary);white-space:nowrap;pointer-events:none}.t-collapsed:after{content:\"*\";float:left;opacity:0}:host-context([dir=\"rtl\"]) .t-collapsed:after{float:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask:after{opacity:1}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask:after{transition:opacity 0s var(--tui-duration)}.t-collapsed_enable-mask .t-collapsed-wrapper{inset-inline-start:var(--t-collapsed-offset)}:host-context([dir=\"rtl\"]) .t-collapsed_enable-mask .t-collapsed-wrapper{inset-inline-start:unset}.t-collapsed-wrapper{position:absolute;display:block;inset-block-start:0;inline-size:100%;block-size:100%;overflow:hidden}.t-value{transition-property:transform,clip-path;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;display:block;inset-block:auto 0;inset-inline:auto 100%;clip-path:inset(0);transform:translate3d(calc(100% * var(--tui-inline)),0,0)}:host-context([dir=\"rtl\"]) .t-value{transform:translate3d(calc(100% * var(--tui-inline)),0,0)!important}.t-input{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;z-index:1;border:0;margin:0;padding:calc(var(--t-height) / 3) var(--t-padding) 0;outline:none;background:transparent;box-sizing:border-box;font:inherit;color:var(--tui-text-primary);direction:ltr}:host-context([dir=\"rtl\"]) .t-input{text-align:end}.t-input::placeholder{color:var(--tui-text-secondary)}.t-input_prefilled::placeholder{color:var(--tui-text-primary)}.t-input[chrome-autofilled],.t-input:-webkit-autofill{-webkit-text-fill-color:var(--tui-text-primary)!important;caret-color:var(--tui-text-primary)!important;transition:background-color 600000s 0s}.t-input.t-input.t-input_card:not(:-webkit-autofill,[chrome-autofilled]):not(:focus:placeholder-shown),.t-input.t-input.t-input_card.t-input_filled{caret-color:var(--tui-text-primary);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input.t-input.t-input_card::-webkit-credit-card-auto-fill-button{content:none!important;position:absolute;inset:-60rem 0 0 -60rem;z-index:-999;display:none!important;background:transparent!important;pointer-events:none!important}.t-input_inert{pointer-events:none}.t-input_cvc_hidden{-webkit-text-security:disc}.t-icons{position:absolute;z-index:1;display:flex;inset-inline-end:1rem;align-items:center;block-size:var(--t-height);gap:.25rem;pointer-events:none}.t-icon-outlet{display:flex;margin-inline-end:.25rem}.t-icon{cursor:pointer;pointer-events:auto}.t-icon:before{font-size:1rem}.t-label{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;max-inline-size:6.5rem;margin:0 var(--t-padding);line-height:var(--t-height);color:var(--tui-text-secondary)}.t-label:empty:before{content:attr(data-label)}.t-label:not([data-label]):empty{display:none}input[chrome-autofilled]~.t-label,input:-webkit-autofill~.t-label,.t-label_raised{font-size:var(--t-label-size);transform:translateY(var(--t-label))}:host([data-mode~=\"invalid\"]) input[chrome-autofilled]~.t-label,:host([data-mode~=\"invalid\"]) input:-webkit-autofill~.t-label,:host([data-mode~=\"invalid\"]) .t-label_raised{color:var(--tui-text-negative)}:host([data-focus=\"true\"]) .t-label{color:var(--tui-text-primary)}.t-ghost{visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: TuiChevron, selector: "[tuiChevron]", inputs: ["tuiChevron"] }, { kind: "pipe", type: TuiFormatCardPipe, name: "tuiFormatCard" }, { kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "directive", type: TuiTransitioned, selector: "[tuiTransitioned]" }, { kind: "directive", type: WaResizeObserver, selector: "[waResizeObserver]", inputs: ["waResizeBox"], outputs: ["waResizeObserver"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
266
266
  }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardGroup, decorators: [{
267
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardGroup, decorators: [{
268
268
  type: Component,
269
269
  args: [{ selector: 'tui-input-card-group', imports: [
270
270
  FormsModule,
@@ -29,8 +29,8 @@ class TuiInputCardContent {
29
29
  return (system && this.icons[system]) || '';
30
30
  });
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: TuiInputCardContent, isStandalone: true, selector: "tui-input-card-content", host: { attributes: { "data-tui-version": "5.10.0-canary.ae2d96d" } }, ngImport: i0, template: `
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiInputCardContent, isStandalone: true, selector: "tui-input-card-content", host: { attributes: { "data-tui-version": "5.10.0-canary.b311bc0" } }, ngImport: i0, template: `
34
34
  @if (image()) {
35
35
  <img
36
36
  alt=""
@@ -38,9 +38,9 @@ class TuiInputCardContent {
38
38
  [src]="image() | tuiIcon"
39
39
  />
40
40
  }
41
- `, isInline: true, styles: ["tui-input-card-content:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]){display:contents}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system{inline-size:2rem}\n"], dependencies: [{ kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
41
+ `, isInline: true, styles: ["tui-input-card-content:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]){display:contents}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system{inline-size:2rem}\n"], dependencies: [{ kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardContent, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardContent, decorators: [{
44
44
  type: Component,
45
45
  args: [{ selector: 'tui-input-card-content', imports: [TuiIconPipe], template: `
46
46
  @if (image()) {
@@ -50,7 +50,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImpo
50
50
  [src]="image() | tuiIcon"
51
51
  />
52
52
  }
53
- `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, styles: ["tui-input-card-content:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]){display:contents}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.10.0-canary.ae2d96d\"]) .t-payment-system{inline-size:2rem}\n"] }]
53
+ `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { 'data-tui-version': TUI_VERSION }, styles: ["tui-input-card-content:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]){display:contents}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system:not(:first-child){display:none}tui-textfield:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system{inline-size:1.5rem}tui-textfield[data-size=l]:where(*[data-tui-version=\"5.10.0-canary.b311bc0\"]) .t-payment-system{inline-size:2rem}\n"] }]
54
54
  }] });
55
55
 
56
56
  // TODO(v6): rename to TuiInputCardDirective
@@ -71,14 +71,14 @@ class TuiInputCardComponent {
71
71
  const onChanges = this.accessor.onChange.bind(this.accessor);
72
72
  this.accessor.onChange = (value) => onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));
73
73
  }
74
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: TuiInputCardComponent, isStandalone: true, selector: "input[tuiInputCard]", outputs: { binChange: "binChange" }, host: { attributes: { "autocomplete": "cc-number", "inputmode": "numeric", "placeholder": "0000 0000 0000 0000" } }, providers: [tuiAsTextfieldContent(TuiInputCardContent)], hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }, { directive: i3.TuiTextfieldContent }], ngImport: i0 }); }
74
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
75
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.23", type: TuiInputCardComponent, isStandalone: true, selector: "input[tuiInputCard]", outputs: { binChange: "binChange" }, host: { attributes: { "autocomplete": "cc-number", "inputmode": "numeric", "placeholder": "0000 0000 0000 0000" } }, providers: [tuiAsTextfieldContent(() => TuiInputCardContent)], hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }, { directive: i3.TuiTextfieldContent }], ngImport: i0 }); }
76
76
  }
77
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCardComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCardComponent, decorators: [{
78
78
  type: Directive,
79
79
  args: [{
80
80
  selector: 'input[tuiInputCard]',
81
- providers: [tuiAsTextfieldContent(TuiInputCardContent)],
81
+ providers: [tuiAsTextfieldContent(() => TuiInputCardContent)],
82
82
  hostDirectives: [MaskitoDirective, TuiWithInput, TuiTextfieldContent],
83
83
  host: {
84
84
  autocomplete: 'cc-number',
@@ -94,10 +94,10 @@ class TuiInputCVCDirective {
94
94
  this.hidden = input(true);
95
95
  this.length = input(3);
96
96
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCVCDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.22", type: TuiInputCVCDirective, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "autocomplete": "cc-csc", "inputmode": "numeric" }, listeners: { "copy.prevent": "(0)" }, properties: { "placeholder": "\"0\".repeat(length())", "style.-webkit-text-security": "hidden() ? \"disc\" : null" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
97
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCVCDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.23", type: TuiInputCVCDirective, isStandalone: true, selector: "input[tuiInputCVC]", inputs: { hidden: { classPropertyName: "hidden", publicName: "hidden", isSignal: true, isRequired: false, transformFunction: null }, length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "autocomplete": "cc-csc", "inputmode": "numeric" }, listeners: { "copy.prevent": "(0)" }, properties: { "placeholder": "\"0\".repeat(length())", "style.-webkit-text-security": "hidden() ? \"disc\" : null" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
99
99
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputCVCDirective, decorators: [{
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputCVCDirective, decorators: [{
101
101
  type: Directive,
102
102
  args: [{
103
103
  selector: 'input[tuiInputCVC]',
@@ -116,10 +116,10 @@ class TuiInputExpireDirective {
116
116
  constructor() {
117
117
  this.mask = tuiMaskito(TUI_MASK_EXPIRE);
118
118
  }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputExpireDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
120
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.22", type: TuiInputExpireDirective, isStandalone: true, selector: "input[tuiInputExpire]", host: { attributes: { "autocomplete": "cc-exp", "inputmode": "numeric", "maxlength": "5", "name": "ccexpiryyear", "placeholder": "00/00", "translate": "no" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputExpireDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
120
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.23", type: TuiInputExpireDirective, isStandalone: true, selector: "input[tuiInputExpire]", host: { attributes: { "autocomplete": "cc-exp", "inputmode": "numeric", "maxlength": "5", "name": "ccexpiryyear", "placeholder": "00/00", "translate": "no" } }, hostDirectives: [{ directive: i1.MaskitoDirective }, { directive: i2.TuiWithInput }], ngImport: i0 }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiInputExpireDirective, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiInputExpireDirective, decorators: [{
123
123
  type: Directive,
124
124
  args: [{
125
125
  selector: 'input[tuiInputExpire]',
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-input-card.mjs","sources":["../../../projects/addon-commerce/components/input-card/input-card-content.component.ts","../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-cvc.directive.ts","../../../projects/addon-commerce/components/input-card/input-expire.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {switchMap, timer} from 'rxjs';\n\n@Component({\n selector: 'tui-input-card-content',\n imports: [TuiIconPipe],\n template: `\n @if (image()) {\n <img\n alt=\"\"\n class=\"t-payment-system\"\n [src]=\"image() | tuiIcon\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-card.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputCardContent {\n private readonly icons = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly control = inject(NgControl);\n\n private readonly value = toSignal(\n timer(0).pipe(switchMap(() => tuiControlValue<string>(this.control))),\n {initialValue: ''},\n );\n\n protected readonly image = computed(() => {\n const system = tuiGetPaymentSystem(this.value());\n\n return (system && this.icons[system]) || '';\n });\n}\n","import {Directive, inject, type OnInit} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {DefaultValueAccessor, NgControl} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CARD} from '@taiga-ui/addon-commerce/constants';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\nimport {distinctUntilChanged, map, skip, startWith, switchMap, timer} from 'rxjs';\n\nimport {TuiInputCardContent} from './input-card-content.component';\n\n@Directive({\n selector: 'input[tuiInputCard]',\n providers: [tuiAsTextfieldContent(TuiInputCardContent)],\n hostDirectives: [MaskitoDirective, TuiWithInput, TuiTextfieldContent],\n host: {\n autocomplete: 'cc-number',\n inputmode: 'numeric',\n placeholder: '0000 0000 0000 0000',\n },\n})\n// TODO(v6): rename to TuiInputCardDirective\nexport class TuiInputCardComponent implements OnInit {\n private readonly control = inject(NgControl);\n\n private readonly accessor = inject(DefaultValueAccessor, {\n self: true,\n optional: true,\n });\n\n protected readonly mask = tuiMaskito(TUI_MASK_CARD);\n\n public readonly binChange = outputFromObservable(\n timer(0).pipe(\n switchMap(() => tuiControlValue<string>(this.control)),\n map((v) => (v.length < 6 ? null : v.replace(' ', '').slice(0, 6))),\n startWith(null),\n distinctUntilChanged(),\n skip(1),\n ),\n );\n\n public ngOnInit(): void {\n if (!this.accessor) {\n return;\n }\n\n const onChanges = this.accessor.onChange.bind(this.accessor);\n\n this.accessor.onChange = (value: string) =>\n onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));\n }\n}\n","import {computed, Directive, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CVC} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputCVC]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-csc',\n inputmode: 'numeric',\n '[placeholder]': '\"0\".repeat(length())',\n '[style.-webkit-text-security]': 'hidden() ? \"disc\" : null',\n '(copy.prevent)': '(0)',\n },\n})\nexport class TuiInputCVCDirective {\n protected readonly mask = tuiMaskito(computed(() => TUI_MASK_CVC(this.length())));\n\n public readonly hidden = input(true);\n public readonly length = input<3 | 4>(3);\n}\n","import {Directive} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_EXPIRE} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputExpire]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-exp',\n inputmode: 'numeric',\n maxlength: '5',\n name: 'ccexpiryyear',\n placeholder: '00/00',\n translate: 'no',\n },\n})\nexport class TuiInputExpireDirective {\n protected readonly mask = tuiMaskito(TUI_MASK_EXPIRE);\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardContent} from './input-card-content.component';\nimport {TuiInputCVCDirective} from './input-cvc.directive';\nimport {TuiInputExpireDirective} from './input-expire.directive';\n\nexport const TuiInputCard = [\n TuiInputCardComponent,\n TuiInputCardContent,\n TuiInputCVCDirective,\n TuiInputExpireDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-input-card.mjs","sources":["../../../projects/addon-commerce/components/input-card/input-card-content.component.ts","../../../projects/addon-commerce/components/input-card/input-card.component.ts","../../../projects/addon-commerce/components/input-card/input-cvc.directive.ts","../../../projects/addon-commerce/components/input-card/input-expire.directive.ts","../../../projects/addon-commerce/components/input-card/input-card.ts","../../../projects/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {NgControl} from '@angular/forms';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport {tuiGetPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport {switchMap, timer} from 'rxjs';\n\n@Component({\n selector: 'tui-input-card-content',\n imports: [TuiIconPipe],\n template: `\n @if (image()) {\n <img\n alt=\"\"\n class=\"t-payment-system\"\n [src]=\"image() | tuiIcon\"\n />\n }\n `,\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './input-card.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'data-tui-version': TUI_VERSION},\n})\nexport class TuiInputCardContent {\n private readonly icons = inject(TUI_PAYMENT_SYSTEM_ICONS);\n private readonly control = inject(NgControl);\n\n private readonly value = toSignal(\n timer(0).pipe(switchMap(() => tuiControlValue<string>(this.control))),\n {initialValue: ''},\n );\n\n protected readonly image = computed(() => {\n const system = tuiGetPaymentSystem(this.value());\n\n return (system && this.icons[system]) || '';\n });\n}\n","import {Directive, inject, type OnInit} from '@angular/core';\nimport {outputFromObservable} from '@angular/core/rxjs-interop';\nimport {DefaultValueAccessor, NgControl} from '@angular/forms';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CARD} from '@taiga-ui/addon-commerce/constants';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {\n tuiAsTextfieldContent,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\nimport {distinctUntilChanged, map, skip, startWith, switchMap, timer} from 'rxjs';\n\nimport {TuiInputCardContent} from './input-card-content.component';\n\n@Directive({\n selector: 'input[tuiInputCard]',\n providers: [tuiAsTextfieldContent(() => TuiInputCardContent)],\n hostDirectives: [MaskitoDirective, TuiWithInput, TuiTextfieldContent],\n host: {\n autocomplete: 'cc-number',\n inputmode: 'numeric',\n placeholder: '0000 0000 0000 0000',\n },\n})\n// TODO(v6): rename to TuiInputCardDirective\nexport class TuiInputCardComponent implements OnInit {\n private readonly control = inject(NgControl);\n\n private readonly accessor = inject(DefaultValueAccessor, {\n self: true,\n optional: true,\n });\n\n protected readonly mask = tuiMaskito(TUI_MASK_CARD);\n\n public readonly binChange = outputFromObservable(\n timer(0).pipe(\n switchMap(() => tuiControlValue<string>(this.control)),\n map((v) => (v.length < 6 ? null : v.replace(' ', '').slice(0, 6))),\n startWith(null),\n distinctUntilChanged(),\n skip(1),\n ),\n );\n\n public ngOnInit(): void {\n if (!this.accessor) {\n return;\n }\n\n const onChanges = this.accessor.onChange.bind(this.accessor);\n\n this.accessor.onChange = (value: string) =>\n onChanges(value.replaceAll(CHAR_NO_BREAK_SPACE, ''));\n }\n}\n","import {computed, Directive, input} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_CVC} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputCVC]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-csc',\n inputmode: 'numeric',\n '[placeholder]': '\"0\".repeat(length())',\n '[style.-webkit-text-security]': 'hidden() ? \"disc\" : null',\n '(copy.prevent)': '(0)',\n },\n})\nexport class TuiInputCVCDirective {\n protected readonly mask = tuiMaskito(computed(() => TUI_MASK_CVC(this.length())));\n\n public readonly hidden = input(true);\n public readonly length = input<3 | 4>(3);\n}\n","import {Directive} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TUI_MASK_EXPIRE} from '@taiga-ui/addon-commerce/constants';\nimport {TuiWithInput} from '@taiga-ui/core/components/input';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\n@Directive({\n selector: 'input[tuiInputExpire]',\n hostDirectives: [MaskitoDirective, TuiWithInput],\n host: {\n autocomplete: 'cc-exp',\n inputmode: 'numeric',\n maxlength: '5',\n name: 'ccexpiryyear',\n placeholder: '00/00',\n translate: 'no',\n },\n})\nexport class TuiInputExpireDirective {\n protected readonly mask = tuiMaskito(TUI_MASK_EXPIRE);\n}\n","import {TuiLabel} from '@taiga-ui/core/components/label';\nimport {\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n} from '@taiga-ui/core/components/textfield';\nimport {TuiDropdownContent} from '@taiga-ui/core/portals/dropdown';\n\nimport {TuiInputCardComponent} from './input-card.component';\nimport {TuiInputCardContent} from './input-card-content.component';\nimport {TuiInputCVCDirective} from './input-cvc.directive';\nimport {TuiInputExpireDirective} from './input-expire.directive';\n\nexport const TuiInputCard = [\n TuiInputCardComponent,\n TuiInputCardContent,\n TuiInputCVCDirective,\n TuiInputExpireDirective,\n TuiLabel,\n TuiTextfieldComponent,\n TuiTextfieldOptionsDirective,\n TuiDropdownContent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -18,10 +18,10 @@ class TuiThumbnailCard {
18
18
  this.iconStart = input('');
19
19
  this.iconEnd = input('');
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiThumbnailCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.22", type: TuiThumbnailCard, isStandalone: true, selector: "tui-thumbnail-card,[tuiThumbnailCard]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, paymentSystem: { classPropertyName: "paymentSystem", publicName: "paymentSystem", isSignal: true, isRequired: false, transformFunction: null }, iconStart: { classPropertyName: "iconStart", publicName: "iconStart", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<div class=\"t-start t-icon\">\n <ng-content select=\"img\">\n @if (iconStart()) {\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart()\"\n />\n }\n </ng-content>\n</div>\n\n@if (iconEnd()) {\n <tui-icon\n class=\"t-end t-icon\"\n [icon]=\"iconEnd()\"\n />\n}\n\n<div class=\"t-content\">\n <ng-content />\n</div>\n\n@let system = paymentSystem();\n\n@if (system) {\n <tui-icon\n class=\"t-logo\"\n [icon]=\"options.icons[system]\"\n />\n}\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border:none;zoom:var(--tui-font-scale);--t-logo-height: .8125rem}:host:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}:host:focus-visible{outline:.125rem solid var(--tui-border-focus)}:host:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit}:host:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);color:#b0b0b0;border-radius:inherit;background:linear-gradient(to bottom,currentColor 0 20%,#959595 20% 40%,currentColor 40%)}:host[data-size=xs],:host[data-size=s]{font-size:0;border-radius:.25rem}:host[data-size=xs]{inline-size:2rem;block-size:1.375rem}:host[data-size=s]{inline-size:2.5rem;block-size:1.625rem}:host[data-size=m]{inline-size:3rem;block-size:2rem;border-radius:.3125rem;font:normal .5625rem / var(--t-logo-height) var(--tui-typography-family-text)}:host[data-size=l]{inline-size:3.375rem;block-size:2.25rem;border-radius:.375rem;font:normal .6875rem / var(--t-logo-height) var(--tui-typography-family-text)}.t-start{position:absolute;display:flex;inset-block-start:0;inset-inline-start:0;transform-origin:top var(--tui-inline-start)}:host[data-size=xs] .t-start,:host[data-size=s] .t-start{transform:translate(calc(var(--tui-inline) * .125rem),.125rem) scale(.625)}:host[data-size=m] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem) scale(.75)}:host[data-size=l] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem)}.t-end{position:absolute;inset-block-start:.1875rem;inset-inline-end:.1875rem}:host[data-size=xs] .t-end,:host[data-size=s] .t-end{display:none}:host[data-size=m] .t-end{font-size:.875rem}:host[data-size=m] .t-end:before{transform:scale(.5)}:host[data-size=l] .t-end:before{transform:scale(.625)}.t-end:after{--tui-icon-size: 100%;position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;display:block;transform:none;border-radius:100%;background:currentColor;opacity:.35}.t-end:before{color:#fff}.t-logo{position:absolute;inset-inline-end:.25rem;inset-block-end:0;block-size:var(--t-logo-height);transform-origin:var(--tui-inline-end);zoom:1}:host[data-size=xs] .t-logo{inset-inline-end:.125rem}:host[data-size=m] .t-logo,:host[data-size=l] .t-logo{inset-block-end:.0625rem}.t-logo:before{block-size:100%;background-position:var(--tui-inline-end);background-size:contain;-webkit-mask-position:var(--tui-inline-end);mask-position:var(--tui-inline-end);-webkit-mask-size:contain;mask-size:contain}.t-content{position:absolute}:host[data-size=m] .t-content{inset-inline-start:.1875rem;inset-block-end:.0625rem}:host[data-size=l] .t-content{inset-inline-start:.25rem;inset-block-end:.0625rem}.t-icon{inline-size:1em;block-size:1em;font-size:1rem;zoom:1}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiThumbnailCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.23", type: TuiThumbnailCard, isStandalone: true, selector: "tui-thumbnail-card,[tuiThumbnailCard]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, paymentSystem: { classPropertyName: "paymentSystem", publicName: "paymentSystem", isSignal: true, isRequired: false, transformFunction: null }, iconStart: { classPropertyName: "iconStart", publicName: "iconStart", isSignal: true, isRequired: false, transformFunction: null }, iconEnd: { classPropertyName: "iconEnd", publicName: "iconEnd", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, ngImport: i0, template: "<div class=\"t-start t-icon\">\n <ng-content select=\"img\">\n @if (iconStart()) {\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart()\"\n />\n }\n </ng-content>\n</div>\n\n@if (iconEnd()) {\n <tui-icon\n class=\"t-end t-icon\"\n [icon]=\"iconEnd()\"\n />\n}\n\n<div class=\"t-content\">\n <ng-content />\n</div>\n\n@let system = paymentSystem();\n\n@if (system) {\n <tui-icon\n class=\"t-logo\"\n [icon]=\"options.icons[system]\"\n />\n}\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border:none;zoom:var(--tui-font-scale);--t-logo-height: .8125rem}:host:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}:host:focus-visible{outline:.125rem solid var(--tui-border-focus)}:host:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit}:host:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);color:#b0b0b0;border-radius:inherit;background:linear-gradient(to bottom,currentColor 0 20%,#959595 20% 40%,currentColor 40%)}:host[data-size=xs],:host[data-size=s]{font-size:0;border-radius:.25rem}:host[data-size=xs]{inline-size:2rem;block-size:1.375rem}:host[data-size=s]{inline-size:2.5rem;block-size:1.625rem}:host[data-size=m]{inline-size:3rem;block-size:2rem;border-radius:.3125rem;font:normal .5625rem / var(--t-logo-height) var(--tui-typography-family-text)}:host[data-size=l]{inline-size:3.375rem;block-size:2.25rem;border-radius:.375rem;font:normal .6875rem / var(--t-logo-height) var(--tui-typography-family-text)}.t-start{position:absolute;display:flex;inset-block-start:0;inset-inline-start:0;transform-origin:top var(--tui-inline-start)}:host[data-size=xs] .t-start,:host[data-size=s] .t-start{transform:translate(calc(var(--tui-inline) * .125rem),.125rem) scale(.625)}:host[data-size=m] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem) scale(.75)}:host[data-size=l] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem)}.t-end{position:absolute;inset-block-start:.1875rem;inset-inline-end:.1875rem}:host[data-size=xs] .t-end,:host[data-size=s] .t-end{display:none}:host[data-size=m] .t-end{font-size:.875rem}:host[data-size=m] .t-end:before{transform:scale(.5)}:host[data-size=l] .t-end:before{transform:scale(.625)}.t-end:after{--tui-icon-size: 100%;position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;display:block;transform:none;border-radius:100%;background:currentColor;opacity:.35}.t-end:before{color:#fff}.t-logo{position:absolute;inset-inline-end:.25rem;inset-block-end:0;block-size:var(--t-logo-height);transform-origin:var(--tui-inline-end);zoom:1}:host[data-size=xs] .t-logo{inset-inline-end:.125rem}:host[data-size=m] .t-logo,:host[data-size=l] .t-logo{inset-block-end:.0625rem}.t-logo:before{block-size:100%;background-position:var(--tui-inline-end);background-size:contain;-webkit-mask-position:var(--tui-inline-end);mask-position:var(--tui-inline-end);-webkit-mask-size:contain;mask-size:contain}.t-content{position:absolute}:host[data-size=m] .t-content{inset-inline-start:.1875rem;inset-block-end:.0625rem}:host[data-size=l] .t-content{inset-inline-start:.25rem;inset-block-end:.0625rem}.t-icon{inline-size:1em;block-size:1em;font-size:1rem;zoom:1}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiThumbnailCard, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiThumbnailCard, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'tui-thumbnail-card,[tuiThumbnailCard]', imports: [TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, host: { '[attr.data-size]': 'size()' }, template: "<div class=\"t-start t-icon\">\n <ng-content select=\"img\">\n @if (iconStart()) {\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart()\"\n />\n }\n </ng-content>\n</div>\n\n@if (iconEnd()) {\n <tui-icon\n class=\"t-end t-icon\"\n [icon]=\"iconEnd()\"\n />\n}\n\n<div class=\"t-content\">\n <ng-content />\n</div>\n\n@let system = paymentSystem();\n\n@if (system) {\n <tui-icon\n class=\"t-logo\"\n [icon]=\"options.icons[system]\"\n />\n}\n", styles: [":host{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:inline-block;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border:none;zoom:var(--tui-font-scale);--t-logo-height: .8125rem}:host:is(a,button,select,textarea,input,label,.tui-interactive):not(:disabled){cursor:pointer}:host:focus-visible{outline:.125rem solid var(--tui-border-focus)}:host:before{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit}:host:after{position:absolute;inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;content:\"\";backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);color:#b0b0b0;border-radius:inherit;background:linear-gradient(to bottom,currentColor 0 20%,#959595 20% 40%,currentColor 40%)}:host[data-size=xs],:host[data-size=s]{font-size:0;border-radius:.25rem}:host[data-size=xs]{inline-size:2rem;block-size:1.375rem}:host[data-size=s]{inline-size:2.5rem;block-size:1.625rem}:host[data-size=m]{inline-size:3rem;block-size:2rem;border-radius:.3125rem;font:normal .5625rem / var(--t-logo-height) var(--tui-typography-family-text)}:host[data-size=l]{inline-size:3.375rem;block-size:2.25rem;border-radius:.375rem;font:normal .6875rem / var(--t-logo-height) var(--tui-typography-family-text)}.t-start{position:absolute;display:flex;inset-block-start:0;inset-inline-start:0;transform-origin:top var(--tui-inline-start)}:host[data-size=xs] .t-start,:host[data-size=s] .t-start{transform:translate(calc(var(--tui-inline) * .125rem),.125rem) scale(.625)}:host[data-size=m] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem) scale(.75)}:host[data-size=l] .t-start{transform:translate(calc(var(--tui-inline) * .1875rem),.1875rem)}.t-end{position:absolute;inset-block-start:.1875rem;inset-inline-end:.1875rem}:host[data-size=xs] .t-end,:host[data-size=s] .t-end{display:none}:host[data-size=m] .t-end{font-size:.875rem}:host[data-size=m] .t-end:before{transform:scale(.5)}:host[data-size=l] .t-end:before{transform:scale(.625)}.t-end:after{--tui-icon-size: 100%;position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;display:block;transform:none;border-radius:100%;background:currentColor;opacity:.35}.t-end:before{color:#fff}.t-logo{position:absolute;inset-inline-end:.25rem;inset-block-end:0;block-size:var(--t-logo-height);transform-origin:var(--tui-inline-end);zoom:1}:host[data-size=xs] .t-logo{inset-inline-end:.125rem}:host[data-size=m] .t-logo,:host[data-size=l] .t-logo{inset-block-end:.0625rem}.t-logo:before{block-size:100%;background-position:var(--tui-inline-end);background-size:contain;-webkit-mask-position:var(--tui-inline-end);mask-position:var(--tui-inline-end);-webkit-mask-size:contain;mask-size:contain}.t-content{position:absolute}:host[data-size=m] .t-content{inset-inline-start:.1875rem;inset-block-end:.0625rem}:host[data-size=l] .t-content{inset-inline-start:.25rem;inset-block-end:.0625rem}.t-icon{inline-size:1em;block-size:1em;font-size:1rem;zoom:1}\n"] }]
27
27
  }] });
@@ -1,7 +1,7 @@
1
1
  import { tuiIsCardLengthValid, tuiIsCardNumberValid } from '@taiga-ui/addon-commerce/utils';
2
2
  import { maskitoInitialCalibrationPlugin } from '@maskito/core';
3
3
  import { TUI_DIGIT_REGEXP, CHAR_NO_BREAK_SPACE } from '@taiga-ui/cdk/constants';
4
- import { maskitoDateOptionsGenerator } from '@maskito/kit';
4
+ import { maskitoDate } from '@maskito/kit';
5
5
 
6
6
  const tuiDefaultCardValidator = (card) => card.length > 11 && tuiIsCardLengthValid(card) && tuiIsCardNumberValid(card);
7
7
 
@@ -65,7 +65,7 @@ const TUI_MASK_CVC = (length) => ({
65
65
  mask: Array.from({ length }, () => TUI_DIGIT_REGEXP),
66
66
  });
67
67
 
68
- const TUI_MASK_EXPIRE = maskitoDateOptionsGenerator({
68
+ const TUI_MASK_EXPIRE = maskitoDate({
69
69
  mode: 'mm/yy',
70
70
  separator: '/',
71
71
  });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-constants.mjs","sources":["../../../projects/addon-commerce/constants/default-card-validator.ts","../../../projects/addon-commerce/constants/mask-card.ts","../../../projects/addon-commerce/constants/mask-card-holder.ts","../../../projects/addon-commerce/constants/mask-cvc.ts","../../../projects/addon-commerce/constants/mask-expire.ts","../../../projects/addon-commerce/constants/taiga-ui-addon-commerce-constants.ts"],"sourcesContent":["import {tuiIsCardLengthValid, tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const tuiDefaultCardValidator: TuiBooleanHandler<string> = (card) =>\n card.length > 11 && tuiIsCardLengthValid(card) && tuiIsCardNumberValid(card);\n","import {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {CHAR_NO_BREAK_SPACE, TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\n\nexport const TUI_MASK_CARD: MaskitoOptions = {\n plugins: [maskitoInitialCalibrationPlugin()],\n mask: Array.from({length: 23}).map((_, i) =>\n (i + 1) % 5 ? TUI_DIGIT_REGEXP : CHAR_NO_BREAK_SPACE,\n ),\n};\n","import {type MaskitoOptions} from '@maskito/core';\n\nconst MAP: Record<string, string> = {\n А: 'F',\n В: 'D',\n Г: 'U',\n Д: 'L',\n Е: 'T',\n З: 'P',\n И: 'B',\n Й: 'Q',\n К: 'R',\n Л: 'K',\n М: 'V',\n Н: 'Y',\n О: 'J',\n П: 'G',\n Р: 'H',\n С: 'C',\n Т: 'N',\n У: 'E',\n Ф: 'A',\n Ц: 'W',\n Ч: 'X',\n Ш: 'I',\n Щ: 'O',\n Ы: 'S',\n Ь: 'M',\n Я: 'Z',\n};\n\nfunction toEnglishUppercase(value: string): string {\n return value\n .toUpperCase()\n .split('')\n .map((char) => MAP[char] || char)\n .join('');\n}\n\nexport const TUI_MASK_CARD_HOLDER: MaskitoOptions = {\n mask: /^[a-z\\s]+$/i,\n preprocessors: [\n ({elementState, data}) => {\n const {value, selection} = elementState;\n\n return {\n elementState: {\n selection,\n value: toEnglishUppercase(value),\n },\n data: toEnglishUppercase(data),\n };\n },\n ],\n};\n","import {type MaskitoOptions} from '@maskito/core';\nimport {TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\n\nexport const TUI_MASK_CVC: TuiHandler<number, MaskitoOptions> = (length) => ({\n mask: Array.from({length}, () => TUI_DIGIT_REGEXP),\n});\n","import {maskitoDateOptionsGenerator} from '@maskito/kit';\n\nexport const TUI_MASK_EXPIRE = maskitoDateOptionsGenerator({\n mode: 'mm/yy',\n separator: '/',\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGO,MAAM,uBAAuB,GAA8B,CAAC,IAAI,KACnE,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI;;ACDxE,MAAM,aAAa,GAAmB;AACzC,IAAA,OAAO,EAAE,CAAC,+BAA+B,EAAE,CAAC;AAC5C,IAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACpC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,mBAAmB,CACvD;;;ACLL,MAAM,GAAG,GAA2B;AAChC,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;CACT;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO;AACF,SAAA,WAAW;SACX,KAAK,CAAC,EAAE;AACR,SAAA,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;SAC/B,IAAI,CAAC,EAAE,CAAC;AACjB;AAEO,MAAM,oBAAoB,GAAmB;AAChD,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,aAAa,EAAE;AACX,QAAA,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,KAAI;AACrB,YAAA,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,YAAY;YAEvC,OAAO;AACH,gBAAA,YAAY,EAAE;oBACV,SAAS;AACT,oBAAA,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;AACnC,iBAAA;AACD,gBAAA,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aACjC;QACL,CAAC;AACJ,KAAA;;;MCjDQ,YAAY,GAAuC,CAAC,MAAM,MAAM;AACzE,IAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,gBAAgB,CAAC;AACrD,CAAA;;ACJM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AACvD,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,SAAS,EAAE,GAAG;AACjB,CAAA;;ACLD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-constants.mjs","sources":["../../../projects/addon-commerce/constants/default-card-validator.ts","../../../projects/addon-commerce/constants/mask-card.ts","../../../projects/addon-commerce/constants/mask-card-holder.ts","../../../projects/addon-commerce/constants/mask-cvc.ts","../../../projects/addon-commerce/constants/mask-expire.ts","../../../projects/addon-commerce/constants/taiga-ui-addon-commerce-constants.ts"],"sourcesContent":["import {tuiIsCardLengthValid, tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\nexport const tuiDefaultCardValidator: TuiBooleanHandler<string> = (card) =>\n card.length > 11 && tuiIsCardLengthValid(card) && tuiIsCardNumberValid(card);\n","import {maskitoInitialCalibrationPlugin, type MaskitoOptions} from '@maskito/core';\nimport {CHAR_NO_BREAK_SPACE, TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\n\nexport const TUI_MASK_CARD: MaskitoOptions = {\n plugins: [maskitoInitialCalibrationPlugin()],\n mask: Array.from({length: 23}).map((_, i) =>\n (i + 1) % 5 ? TUI_DIGIT_REGEXP : CHAR_NO_BREAK_SPACE,\n ),\n};\n","import {type MaskitoOptions} from '@maskito/core';\n\nconst MAP: Record<string, string> = {\n А: 'F',\n В: 'D',\n Г: 'U',\n Д: 'L',\n Е: 'T',\n З: 'P',\n И: 'B',\n Й: 'Q',\n К: 'R',\n Л: 'K',\n М: 'V',\n Н: 'Y',\n О: 'J',\n П: 'G',\n Р: 'H',\n С: 'C',\n Т: 'N',\n У: 'E',\n Ф: 'A',\n Ц: 'W',\n Ч: 'X',\n Ш: 'I',\n Щ: 'O',\n Ы: 'S',\n Ь: 'M',\n Я: 'Z',\n};\n\nfunction toEnglishUppercase(value: string): string {\n return value\n .toUpperCase()\n .split('')\n .map((char) => MAP[char] || char)\n .join('');\n}\n\nexport const TUI_MASK_CARD_HOLDER: MaskitoOptions = {\n mask: /^[a-z\\s]+$/i,\n preprocessors: [\n ({elementState, data}) => {\n const {value, selection} = elementState;\n\n return {\n elementState: {\n selection,\n value: toEnglishUppercase(value),\n },\n data: toEnglishUppercase(data),\n };\n },\n ],\n};\n","import {type MaskitoOptions} from '@maskito/core';\nimport {TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\n\nexport const TUI_MASK_CVC: TuiHandler<number, MaskitoOptions> = (length) => ({\n mask: Array.from({length}, () => TUI_DIGIT_REGEXP),\n});\n","import {maskitoDate} from '@maskito/kit';\n\nexport const TUI_MASK_EXPIRE = maskitoDate({\n mode: 'mm/yy',\n separator: '/',\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAGO,MAAM,uBAAuB,GAA8B,CAAC,IAAI,KACnE,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI;;ACDxE,MAAM,aAAa,GAAmB;AACzC,IAAA,OAAO,EAAE,CAAC,+BAA+B,EAAE,CAAC;AAC5C,IAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KACpC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,gBAAgB,GAAG,mBAAmB,CACvD;;;ACLL,MAAM,GAAG,GAA2B;AAChC,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;AACN,IAAA,CAAC,EAAE,GAAG;CACT;AAED,SAAS,kBAAkB,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO;AACF,SAAA,WAAW;SACX,KAAK,CAAC,EAAE;AACR,SAAA,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI;SAC/B,IAAI,CAAC,EAAE,CAAC;AACjB;AAEO,MAAM,oBAAoB,GAAmB;AAChD,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,aAAa,EAAE;AACX,QAAA,CAAC,EAAC,YAAY,EAAE,IAAI,EAAC,KAAI;AACrB,YAAA,MAAM,EAAC,KAAK,EAAE,SAAS,EAAC,GAAG,YAAY;YAEvC,OAAO;AACH,gBAAA,YAAY,EAAE;oBACV,SAAS;AACT,oBAAA,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC;AACnC,iBAAA;AACD,gBAAA,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;aACjC;QACL,CAAC;AACJ,KAAA;;;MCjDQ,YAAY,GAAuC,CAAC,MAAM,MAAM;AACzE,IAAA,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,MAAM,gBAAgB,CAAC;AACrD,CAAA;;ACJM,MAAM,eAAe,GAAG,WAAW,CAAC;AACvC,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,SAAS,EAAE,GAAG;AACjB,CAAA;;ACLD;;AAEG;;;;"}
@@ -59,10 +59,10 @@ class TuiAmountPipe {
59
59
  });
60
60
  return this.formatted();
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiAmountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
63
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TuiAmountPipe, isStandalone: true, name: "tuiAmount", pure: false }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiAmountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
63
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.23", ngImport: i0, type: TuiAmountPipe, isStandalone: true, name: "tuiAmount", pure: false }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiAmountPipe, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiAmountPipe, decorators: [{
66
66
  type: Pipe,
67
67
  args: [{ name: 'tuiAmount', pure: false }]
68
68
  }] });
@@ -6,10 +6,10 @@ class TuiCurrencyPipe {
6
6
  constructor() {
7
7
  this.transform = tuiFormatCurrency;
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TuiCurrencyPipe, isStandalone: true, name: "tuiCurrency" }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiCurrencyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
10
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.23", ngImport: i0, type: TuiCurrencyPipe, isStandalone: true, name: "tuiCurrency" }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiCurrencyPipe, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiCurrencyPipe, decorators: [{
13
13
  type: Pipe,
14
14
  args: [{ name: 'tuiCurrency' }]
15
15
  }] });
@@ -26,10 +26,10 @@ class TuiDecimalPipe {
26
26
  });
27
27
  return this.formatted();
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiDecimalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TuiDecimalPipe, isStandalone: true, name: "tuiDecimal", pure: false }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiDecimalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
30
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.23", ngImport: i0, type: TuiDecimalPipe, isStandalone: true, name: "tuiDecimal", pure: false }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiDecimalPipe, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiDecimalPipe, decorators: [{
33
33
  type: Pipe,
34
34
  args: [{ name: 'tuiDecimal', pure: false }]
35
35
  }] });
@@ -11,10 +11,10 @@ class TuiFormatCardPipe {
11
11
  .join('')
12
12
  : '';
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiFormatCardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.22", ngImport: i0, type: TuiFormatCardPipe, isStandalone: true, name: "tuiFormatCard" }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiFormatCardPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
15
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.23", ngImport: i0, type: TuiFormatCardPipe, isStandalone: true, name: "tuiFormatCard" }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.22", ngImport: i0, type: TuiFormatCardPipe, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.23", ngImport: i0, type: TuiFormatCardPipe, decorators: [{
18
18
  type: Pipe,
19
19
  args: [{ name: 'tuiFormatCard' }]
20
20
  }] });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "5.10.0-canary.ae2d96d",
3
+ "version": "5.10.0-canary.b311bc0",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",