@taiga-ui/addon-commerce 4.0.0-rc.1 → 4.0.0-rc.10

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.
Files changed (67) hide show
  1. package/components/index.d.ts +1 -1
  2. package/components/input-card/input-card.directive.d.ts +1 -1
  3. package/components/input-card-group/index.d.ts +3 -0
  4. package/components/{input-card-grouped/input-card-grouped.component.d.ts → input-card-group/input-card-group.component.d.ts} +10 -10
  5. package/components/{input-card-grouped/input-card-grouped.options.d.ts → input-card-group/input-card-group.options.d.ts} +3 -3
  6. package/components/{input-card-grouped/input-card-grouped.providers.d.ts → input-card-group/input-card-group.providers.d.ts} +2 -2
  7. package/components/input-cvc/input-cvc.directive.d.ts +2 -4
  8. package/components/input-expire/input-expire.directive.d.ts +2 -4
  9. package/components/thumbnail-card/index.d.ts +1 -0
  10. package/components/thumbnail-card/thumbnail-card.component.d.ts +6 -5
  11. package/components/thumbnail-card/thumbnail-card.options.d.ts +9 -0
  12. package/esm2022/components/index.mjs +2 -2
  13. package/esm2022/components/input-card/input-card.directive.mjs +4 -5
  14. package/esm2022/components/input-card-group/index.mjs +4 -0
  15. package/esm2022/components/input-card-group/input-card-group.component.mjs +278 -0
  16. package/esm2022/components/input-card-group/input-card-group.options.mjs +15 -0
  17. package/esm2022/components/input-card-group/input-card-group.providers.mjs +29 -0
  18. package/esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs +5 -0
  19. package/esm2022/components/input-cvc/input-cvc.directive.mjs +5 -10
  20. package/esm2022/components/input-expire/input-expire.directive.mjs +3 -6
  21. package/esm2022/components/thumbnail-card/index.mjs +2 -1
  22. package/esm2022/components/thumbnail-card/thumbnail-card.component.mjs +13 -20
  23. package/esm2022/components/thumbnail-card/thumbnail-card.options.mjs +9 -0
  24. package/esm2022/constants/default-card-validator.mjs +2 -2
  25. package/esm2022/constants/mask-card-holder.mjs +2 -2
  26. package/esm2022/constants/mask-cvc.mjs +2 -2
  27. package/esm2022/pipes/amount/amount.options.mjs +2 -2
  28. package/esm2022/pipes/amount/amount.pipe.mjs +4 -3
  29. package/esm2022/pipes/decimal/decimal.pipe.mjs +28 -0
  30. package/esm2022/pipes/decimal/index.mjs +2 -0
  31. package/esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs +5 -0
  32. package/esm2022/pipes/index.mjs +2 -1
  33. package/esm2022/tokens/i18n.mjs +2 -2
  34. package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs +318 -0
  35. package/fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs.map +1 -0
  36. package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs +3 -4
  37. package/fesm2022/taiga-ui-addon-commerce-components-input-card.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-addon-commerce-components-input-cvc.mjs +4 -9
  39. package/fesm2022/taiga-ui-addon-commerce-components-input-cvc.mjs.map +1 -1
  40. package/fesm2022/taiga-ui-addon-commerce-components-input-expire.mjs +2 -5
  41. package/fesm2022/taiga-ui-addon-commerce-components-input-expire.mjs.map +1 -1
  42. package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs +20 -20
  43. package/fesm2022/taiga-ui-addon-commerce-components-thumbnail-card.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-addon-commerce-components.mjs +1 -1
  45. package/fesm2022/taiga-ui-addon-commerce-constants.mjs +3 -3
  46. package/fesm2022/taiga-ui-addon-commerce-constants.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs +4 -3
  48. package/fesm2022/taiga-ui-addon-commerce-pipes-amount.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs +34 -0
  50. package/fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs.map +1 -0
  51. package/fesm2022/taiga-ui-addon-commerce-pipes.mjs +1 -0
  52. package/fesm2022/taiga-ui-addon-commerce-pipes.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-addon-commerce-tokens.mjs +1 -1
  54. package/fesm2022/taiga-ui-addon-commerce-tokens.mjs.map +1 -1
  55. package/package.json +21 -15
  56. package/pipes/decimal/decimal.pipe.d.ts +11 -0
  57. package/pipes/decimal/index.d.ts +1 -0
  58. package/pipes/index.d.ts +1 -0
  59. package/tokens/i18n.d.ts +2 -2
  60. package/components/input-card-grouped/index.d.ts +0 -3
  61. package/esm2022/components/input-card-grouped/index.mjs +0 -4
  62. package/esm2022/components/input-card-grouped/input-card-grouped.component.mjs +0 -288
  63. package/esm2022/components/input-card-grouped/input-card-grouped.options.mjs +0 -15
  64. package/esm2022/components/input-card-grouped/input-card-grouped.providers.mjs +0 -29
  65. package/esm2022/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.mjs +0 -5
  66. package/fesm2022/taiga-ui-addon-commerce-components-input-card-grouped.mjs +0 -328
  67. package/fesm2022/taiga-ui-addon-commerce-components-input-card-grouped.mjs.map +0 -1
@@ -1,33 +1,31 @@
1
1
  import { NgIf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { inject, Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
4
- import { TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/tokens';
5
4
  import { TuiIcon, TuiIconPipe } from '@taiga-ui/core/components/icon';
5
+ import { TUI_PAYMENT_SYSTEM_ICONS } from '@taiga-ui/addon-commerce/tokens';
6
+ import { tuiCreateTokenFromFactory } from '@taiga-ui/cdk/utils/miscellaneous';
7
+
8
+ const TUI_THUMBNAIL_CARD_OPTIONS = tuiCreateTokenFromFactory(() => ({
9
+ icons: inject(TUI_PAYMENT_SYSTEM_ICONS),
10
+ size: 'm',
11
+ monoHandler: (ps) => ps === 'mir' || ps === 'visa' || ps === 'electron',
12
+ }));
6
13
 
7
14
  class TuiThumbnailCard {
8
15
  constructor() {
9
- this.paymentIcons = inject(TUI_PAYMENT_SYSTEM_ICONS);
10
- this.size = 'm';
16
+ this.options = inject(TUI_THUMBNAIL_CARD_OPTIONS);
17
+ this.size = this.options.size;
11
18
  this.paymentSystem = null;
12
- this.iconLeft = '';
13
- this.iconRight = '';
14
- }
15
- get isMono() {
16
- switch (this.paymentSystem) {
17
- case 'mir':
18
- case 'visa':
19
- case 'electron':
20
- return true;
21
- default:
22
- return false;
23
- }
19
+ this.iconStart = '';
20
+ this.iconEnd = '';
21
+ this.monoHandler = this.options.monoHandler;
24
22
  }
25
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiThumbnailCard, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiThumbnailCard, isStandalone: true, selector: "tui-thumbnail-card", inputs: { size: "size", paymentSystem: "paymentSystem", iconLeft: "iconLeft", iconRight: "iconRight" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"t-front\">\n <div\n *ngIf=\"iconLeft\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconLeft\"\n />\n </div>\n <div\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconRight\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"isMono; else colored\"\n class=\"t-logo\"\n [icon]=\"paymentIcons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"paymentIcons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n", styles: [":host{position:relative;display:inline-flex;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\"}:host[data-size=s]{width:2.5rem;height:1.625rem;border-radius:.25rem;font-size:0}:host[data-size=s] .t-left{transform:translate(.125rem,.125rem) scale(.625)}:host[data-size=s] .t-right{display:none}:host[data-size=s] .t-logo{bottom:-.375rem;transform:scale(.55)}:host[data-size=m]{width:3rem;height:2rem;border-radius:.3125rem;text-indent:.1875rem;font:normal .5625rem/.875rem var(--tui-font-text)}:host[data-size=m] .t-left{transform:translate(.1875rem,.25rem) scale(.75)}:host[data-size=m] .t-right{transform:translate(-.1875rem,.1875rem) scale(.875)}:host[data-size=m] .t-right .t-icon{transform:scale(.714)}:host[data-size=m] .t-logo{bottom:-.3125rem;transform:scale(.55)}:host[data-size=l]{width:3.375rem;height:2.25rem;border-radius:.375rem;text-indent:.3125rem;font:normal .625rem/1.125rem var(--tui-font-text)}:host[data-size=l] .t-left{transform:translate(.1875rem,.1875rem)}:host[data-size=l] .t-right{transform:translate(-.1875rem,.1875rem)}:host[data-size=l] .t-logo{bottom:-.1875rem;transform:scale(.75)}.t-left,.t-right{position:absolute;top:0;display:flex}.t-left{left:0;transform-origin:top left}.t-right{right:0;transform-origin:top right}.t-right:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:currentColor;opacity:.35}.t-right .t-icon{color:#fff;transform:scale(.625)}.t-logo{position:absolute;right:.1875rem;width:1.5rem;height:1.5rem;transform-origin:right}.t-icon{width:1rem;height:1rem}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border-radius:inherit}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);background:#b0b0b0;border-radius:inherit}.t-back:after{position:absolute;left:0;right:0;content:\"\";top:20%;bottom:60%;background:#959595}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiThumbnailCard, isStandalone: true, selector: "tui-thumbnail-card", inputs: { size: "size", paymentSystem: "paymentSystem", iconStart: "iconStart", iconEnd: "iconEnd", monoHandler: "monoHandler" }, host: { properties: { "attr.data-size": "this.size" } }, ngImport: i0, template: "<div class=\"t-front\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart\"\n />\n </div>\n <div\n *ngIf=\"iconEnd\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconEnd\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"monoHandler(paymentSystem); else colored\"\n class=\"t-logo\"\n [icon]=\"options.icons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"options.icons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n", styles: [":host{position:relative;display:inline-flex;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\"}:host[data-size=s]{width:2.5rem;height:1.625rem;border-radius:.25rem;font-size:0}:host[data-size=s] .t-left{transform:translate(.125rem,.125rem) scale(.625)}:host[data-size=s] .t-right{display:none}:host[data-size=s] .t-logo{bottom:-.375rem;transform:scale(.55)}:host[data-size=m]{width:3rem;height:2rem;border-radius:.3125rem;text-indent:.1875rem;font:normal .5625rem/.875rem var(--tui-font-text)}:host[data-size=m] .t-left{transform:translate(.1875rem,.25rem) scale(.75)}:host[data-size=m] .t-right{transform:translate(-.1875rem,.1875rem) scale(.875)}:host[data-size=m] .t-right .t-icon{transform:scale(.714)}:host[data-size=m] .t-logo{bottom:-.3125rem;transform:scale(.55)}:host[data-size=l]{width:3.375rem;height:2.25rem;border-radius:.375rem;text-indent:.3125rem;font:normal .625rem/1.125rem var(--tui-font-text)}:host[data-size=l] .t-left{transform:translate(.1875rem,.1875rem)}:host[data-size=l] .t-right{transform:translate(-.1875rem,.1875rem)}:host[data-size=l] .t-logo{bottom:-.1875rem;transform:scale(.75)}.t-left,.t-right{position:absolute;top:0;display:flex}.t-left{left:0;transform-origin:top left}.t-right{right:0;transform-origin:top right}.t-right:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:currentColor;opacity:.35}.t-right .t-icon{color:#fff;transform:scale(.625)}.t-logo{position:absolute;right:.1875rem;width:1.5rem;height:1.5rem;transform-origin:right}.t-icon{width:1rem;height:1rem}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border-radius:inherit}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);background:#b0b0b0;border-radius:inherit}.t-back:after{position:absolute;left:0;right:0;content:\"\";top:20%;bottom:60%;background:#959595}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon", inputs: ["icon", "background"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TuiIconPipe, name: "tuiIcon" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
25
  }
28
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiThumbnailCard, decorators: [{
29
27
  type: Component,
30
- args: [{ standalone: true, selector: 'tui-thumbnail-card', imports: [TuiIcon, NgIf, TuiIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-front\">\n <div\n *ngIf=\"iconLeft\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconLeft\"\n />\n </div>\n <div\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconRight\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"isMono; else colored\"\n class=\"t-logo\"\n [icon]=\"paymentIcons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"paymentIcons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n", styles: [":host{position:relative;display:inline-flex;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\"}:host[data-size=s]{width:2.5rem;height:1.625rem;border-radius:.25rem;font-size:0}:host[data-size=s] .t-left{transform:translate(.125rem,.125rem) scale(.625)}:host[data-size=s] .t-right{display:none}:host[data-size=s] .t-logo{bottom:-.375rem;transform:scale(.55)}:host[data-size=m]{width:3rem;height:2rem;border-radius:.3125rem;text-indent:.1875rem;font:normal .5625rem/.875rem var(--tui-font-text)}:host[data-size=m] .t-left{transform:translate(.1875rem,.25rem) scale(.75)}:host[data-size=m] .t-right{transform:translate(-.1875rem,.1875rem) scale(.875)}:host[data-size=m] .t-right .t-icon{transform:scale(.714)}:host[data-size=m] .t-logo{bottom:-.3125rem;transform:scale(.55)}:host[data-size=l]{width:3.375rem;height:2.25rem;border-radius:.375rem;text-indent:.3125rem;font:normal .625rem/1.125rem var(--tui-font-text)}:host[data-size=l] .t-left{transform:translate(.1875rem,.1875rem)}:host[data-size=l] .t-right{transform:translate(-.1875rem,.1875rem)}:host[data-size=l] .t-logo{bottom:-.1875rem;transform:scale(.75)}.t-left,.t-right{position:absolute;top:0;display:flex}.t-left{left:0;transform-origin:top left}.t-right{right:0;transform-origin:top right}.t-right:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:currentColor;opacity:.35}.t-right .t-icon{color:#fff;transform:scale(.625)}.t-logo{position:absolute;right:.1875rem;width:1.5rem;height:1.5rem;transform-origin:right}.t-icon{width:1rem;height:1rem}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border-radius:inherit}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);background:#b0b0b0;border-radius:inherit}.t-back:after{position:absolute;left:0;right:0;content:\"\";top:20%;bottom:60%;background:#959595}\n"] }]
28
+ args: [{ standalone: true, selector: 'tui-thumbnail-card', imports: [TuiIcon, NgIf, TuiIconPipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-front\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart\"\n />\n </div>\n <div\n *ngIf=\"iconEnd\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconEnd\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"monoHandler(paymentSystem); else colored\"\n class=\"t-logo\"\n [icon]=\"options.icons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"options.icons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n", styles: [":host{position:relative;display:inline-flex;flex-shrink:0;background:#000;color:#fff;transform-style:preserve-3d;overflow:hidden}:host:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\"}:host[data-size=s]{width:2.5rem;height:1.625rem;border-radius:.25rem;font-size:0}:host[data-size=s] .t-left{transform:translate(.125rem,.125rem) scale(.625)}:host[data-size=s] .t-right{display:none}:host[data-size=s] .t-logo{bottom:-.375rem;transform:scale(.55)}:host[data-size=m]{width:3rem;height:2rem;border-radius:.3125rem;text-indent:.1875rem;font:normal .5625rem/.875rem var(--tui-font-text)}:host[data-size=m] .t-left{transform:translate(.1875rem,.25rem) scale(.75)}:host[data-size=m] .t-right{transform:translate(-.1875rem,.1875rem) scale(.875)}:host[data-size=m] .t-right .t-icon{transform:scale(.714)}:host[data-size=m] .t-logo{bottom:-.3125rem;transform:scale(.55)}:host[data-size=l]{width:3.375rem;height:2.25rem;border-radius:.375rem;text-indent:.3125rem;font:normal .625rem/1.125rem var(--tui-font-text)}:host[data-size=l] .t-left{transform:translate(.1875rem,.1875rem)}:host[data-size=l] .t-right{transform:translate(-.1875rem,.1875rem)}:host[data-size=l] .t-logo{bottom:-.1875rem;transform:scale(.75)}.t-left,.t-right{position:absolute;top:0;display:flex}.t-left{left:0;transform-origin:top left}.t-right{right:0;transform-origin:top right}.t-right:before{content:\"\";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:100%;background:currentColor;opacity:.35}.t-right .t-icon{color:#fff;transform:scale(.625)}.t-logo{position:absolute;right:.1875rem;width:1.5rem;height:1.5rem;transform-origin:right}.t-icon{width:1rem;height:1rem}.t-front{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:flex-end;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-shadow:inset 0 0 0 1px var(--tui-background-neutral-1);border-radius:inherit}.t-back{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:rotateY(180deg) translateZ(1px);background:#b0b0b0;border-radius:inherit}.t-back:after{position:absolute;left:0;right:0;content:\"\";top:20%;bottom:60%;background:#959595}\n"] }]
31
29
  }], propDecorators: { size: [{
32
30
  type: Input
33
31
  }, {
@@ -35,9 +33,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
35
33
  args: ['attr.data-size']
36
34
  }], paymentSystem: [{
37
35
  type: Input
38
- }], iconLeft: [{
36
+ }], iconStart: [{
37
+ type: Input
38
+ }], iconEnd: [{
39
39
  type: Input
40
- }], iconRight: [{
40
+ }], monoHandler: [{
41
41
  type: Input
42
42
  }] } });
43
43
 
@@ -45,5 +45,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
45
45
  * Generated bundle index. Do not edit.
46
46
  */
47
47
 
48
- export { TuiThumbnailCard };
48
+ export { TUI_THUMBNAIL_CARD_OPTIONS, TuiThumbnailCard };
49
49
  //# sourceMappingURL=taiga-ui-addon-commerce-components-thumbnail-card.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-thumbnail-card.mjs","sources":["../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.component.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.template.html","../../../projects/addon-commerce/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {TuiIcon, TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\n@Component({\n standalone: true,\n selector: 'tui-thumbnail-card',\n imports: [TuiIcon, NgIf, TuiIconPipe],\n templateUrl: './thumbnail-card.template.html',\n styleUrls: ['./thumbnail-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThumbnailCard {\n protected readonly paymentIcons = inject(TUI_PAYMENT_SYSTEM_ICONS);\n\n @Input()\n @HostBinding('attr.data-size')\n public size: TuiSizeL | TuiSizeS = 'm';\n\n @Input()\n public paymentSystem: TuiPaymentSystem | null = null;\n\n @Input()\n public iconLeft = '';\n\n @Input()\n public iconRight = '';\n\n protected get isMono(): boolean {\n switch (this.paymentSystem) {\n case 'mir':\n case 'visa':\n case 'electron':\n return true;\n default:\n return false;\n }\n }\n}\n","<div class=\"t-front\">\n <div\n *ngIf=\"iconLeft\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconLeft\"\n />\n </div>\n <div\n *ngIf=\"iconRight\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconRight\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"isMono; else colored\"\n class=\"t-logo\"\n [icon]=\"paymentIcons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"paymentIcons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAaA,MAQa,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAI5D,IAAI,CAAA,IAAA,GAAwB,GAAG,CAAC;QAGhC,IAAa,CAAA,aAAA,GAA4B,IAAI,CAAC;QAG9C,IAAQ,CAAA,QAAA,GAAG,EAAE,CAAC;QAGd,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;AAYzB,KAAA;AAVG,IAAA,IAAc,MAAM,GAAA;QAChB,QAAQ,IAAI,CAAC,aAAa;AACtB,YAAA,KAAK,KAAK,CAAC;AACX,YAAA,KAAK,MAAM,CAAC;AACZ,YAAA,KAAK,UAAU;AACX,gBAAA,OAAO,IAAI,CAAC;AAChB,YAAA;AACI,gBAAA,OAAO,KAAK,CAAC;AACpB,SAAA;KACJ;+GAzBQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,+OCrB7B,83BAoCA,EAAA,MAAA,EAAA,CAAA,grEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDpBc,OAAO,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,wFAAE,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAK3B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,EAGpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,83BAAA,EAAA,MAAA,EAAA,CAAA,grEAAA,CAAA,EAAA,CAAA;8BAOxC,IAAI,EAAA,CAAA;sBAFV,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAItB,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;;;AElCV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-thumbnail-card.mjs","sources":["../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.options.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.component.ts","../../../projects/addon-commerce/components/thumbnail-card/thumbnail-card.template.html","../../../projects/addon-commerce/components/thumbnail-card/taiga-ui-addon-commerce-components-thumbnail-card.ts"],"sourcesContent":["import {inject} from '@angular/core';\nimport {TUI_PAYMENT_SYSTEM_ICONS} from '@taiga-ui/addon-commerce/tokens';\nimport type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nexport interface TuiThumbnailCardOptions {\n readonly size: TuiSizeL | TuiSizeS;\n readonly icons: Record<TuiPaymentSystem, string>;\n readonly monoHandler: TuiBooleanHandler<TuiPaymentSystem>;\n}\n\nexport const TUI_THUMBNAIL_CARD_OPTIONS =\n tuiCreateTokenFromFactory<TuiThumbnailCardOptions>(() => ({\n icons: inject(TUI_PAYMENT_SYSTEM_ICONS),\n size: 'm',\n monoHandler: (ps) => ps === 'mir' || ps === 'visa' || ps === 'electron',\n }));\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n inject,\n Input,\n} from '@angular/core';\nimport type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport type {TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {TuiIcon, TuiIconPipe} from '@taiga-ui/core/components/icon';\nimport type {TuiSizeL, TuiSizeS} from '@taiga-ui/core/types';\n\nimport {TUI_THUMBNAIL_CARD_OPTIONS} from './thumbnail-card.options';\n\n@Component({\n standalone: true,\n selector: 'tui-thumbnail-card',\n imports: [TuiIcon, NgIf, TuiIconPipe],\n templateUrl: './thumbnail-card.template.html',\n styleUrls: ['./thumbnail-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiThumbnailCard {\n protected readonly options = inject(TUI_THUMBNAIL_CARD_OPTIONS);\n\n @Input()\n @HostBinding('attr.data-size')\n public size: TuiSizeL | TuiSizeS = this.options.size;\n\n @Input()\n public paymentSystem: TuiPaymentSystem | null = null;\n\n @Input()\n public iconStart = '';\n\n @Input()\n public iconEnd = '';\n\n @Input()\n public monoHandler: TuiBooleanHandler<TuiPaymentSystem> = this.options.monoHandler;\n}\n","<div class=\"t-front\">\n <div\n *ngIf=\"iconStart\"\n class=\"t-left\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconStart\"\n />\n </div>\n <div\n *ngIf=\"iconEnd\"\n class=\"t-right\"\n >\n <tui-icon\n class=\"t-icon\"\n [icon]=\"iconEnd\"\n />\n </div>\n <ng-content />\n <ng-container *ngIf=\"paymentSystem\">\n <tui-icon\n *ngIf=\"monoHandler(paymentSystem); else colored\"\n class=\"t-logo\"\n [icon]=\"options.icons[paymentSystem]\"\n />\n <ng-template #colored>\n <img\n class=\"t-logo\"\n [alt]=\"paymentSystem\"\n [src]=\"options.icons[paymentSystem] | tuiIcon\"\n />\n </ng-template>\n </ng-container>\n</div>\n<div class=\"t-back\"></div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAaa,0BAA0B,GACnC,yBAAyB,CAA0B,OAAO;AACtD,IAAA,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC;AACvC,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,KAAK,MAAM,IAAI,EAAE,KAAK,UAAU;AAC1E,CAAA,CAAC;;ACHN,MAQa,gBAAgB,CAAA;AAR7B,IAAA,WAAA,GAAA;AASuB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAIzD,QAAA,IAAA,CAAA,IAAI,GAAwB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;QAG9C,IAAa,CAAA,aAAA,GAA4B,IAAI,CAAC;QAG9C,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;QAGf,IAAO,CAAA,OAAA,GAAG,EAAE,CAAC;AAGb,QAAA,IAAA,CAAA,WAAW,GAAwC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;AACtF,KAAA;+GAlBY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,yQCvB7B,k5BAoCA,EAAA,MAAA,EAAA,CAAA,grEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDlBc,OAAO,EAAE,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,wFAAE,WAAW,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAK3B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AACM,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,EACN,QAAA,EAAA,oBAAoB,EACrB,OAAA,EAAA,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,EAGpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,k5BAAA,EAAA,MAAA,EAAA,CAAA,grEAAA,CAAA,EAAA,CAAA;8BAOxC,IAAI,EAAA,CAAA;sBAFV,KAAK;;sBACL,WAAW;uBAAC,gBAAgB,CAAA;gBAItB,aAAa,EAAA,CAAA;sBADnB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAIC,WAAW,EAAA,CAAA;sBADjB,KAAK;;;AEvCV;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  export * from '@taiga-ui/addon-commerce/components/input-card';
2
- export * from '@taiga-ui/addon-commerce/components/input-card-grouped';
2
+ export * from '@taiga-ui/addon-commerce/components/input-card-group';
3
3
  export * from '@taiga-ui/addon-commerce/components/input-cvc';
4
4
  export * from '@taiga-ui/addon-commerce/components/input-expire';
5
5
  export * from '@taiga-ui/addon-commerce/components/thumbnail-card';
@@ -2,7 +2,7 @@ import { tuiIsCardLengthValid, tuiIsCardNumberValid } from '@taiga-ui/addon-comm
2
2
  import { TUI_DIGIT_REGEXP } from '@taiga-ui/cdk/constants';
3
3
  import { maskitoDateOptionsGenerator } from '@maskito/kit';
4
4
 
5
- const tuiDefaultCardValidator = card => card.length > 11 && tuiIsCardLengthValid(card) && tuiIsCardNumberValid(card);
5
+ const tuiDefaultCardValidator = (card) => card.length > 11 && tuiIsCardLengthValid(card) && tuiIsCardNumberValid(card);
6
6
 
7
7
  const TUI_MASK_CARD = {
8
8
  mask: [
@@ -64,7 +64,7 @@ function toEnglishUppercase(value) {
64
64
  return value
65
65
  .toUpperCase()
66
66
  .split('')
67
- .map(char => MAP[char] || char)
67
+ .map((char) => MAP[char] || char)
68
68
  .join('');
69
69
  }
70
70
  const TUI_MASK_CARD_HOLDER = {
@@ -83,7 +83,7 @@ const TUI_MASK_CARD_HOLDER = {
83
83
  ],
84
84
  };
85
85
 
86
- const TUI_MASK_CVC = length => ({
86
+ const TUI_MASK_CVC = (length) => ({
87
87
  mask: new Array(length).fill(TUI_DIGIT_REGEXP),
88
88
  });
89
89
 
@@ -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 type {MaskitoOptions} from '@maskito/core';\nimport {TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\n\nexport const TUI_MASK_CARD: MaskitoOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\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: new Array(length).fill(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":";;;;MAGa,uBAAuB,GAA8B,IAAI,IAClE,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI;;ACDlE,MAAA,aAAa,GAAmB;AACzC,IAAA,IAAI,EAAE;QACF,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;AACnB,KAAA;;;AC1BL,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,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO,KAAK;AACP,SAAA,WAAW,EAAE;SACb,KAAK,CAAC,EAAE,CAAC;SACT,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;SAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAEY,MAAA,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,CAAC;YAExC,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,CAAC;SACL;AACJ,KAAA;;;MCjDQ,YAAY,GAAuC,MAAM,KAAK;IACvE,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACjD,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 type {MaskitoOptions} from '@maskito/core';\nimport {TUI_DIGIT_REGEXP} from '@taiga-ui/cdk/constants';\n\nexport const TUI_MASK_CARD: MaskitoOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\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: new Array(length).fill(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":";;;;AAGa,MAAA,uBAAuB,GAA8B,CAAC,IAAI,KACnE,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI;;ACDlE,MAAA,aAAa,GAAmB;AACzC,IAAA,IAAI,EAAE;QACF,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,GAAG;QACH,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;AACnB,KAAA;;;AC1BL,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,CAAC;AAEF,SAAS,kBAAkB,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO,KAAK;AACP,SAAA,WAAW,EAAE;SACb,KAAK,CAAC,EAAE,CAAC;AACT,SAAA,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;SAChC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAEY,MAAA,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,CAAC;YAExC,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,CAAC;SACL;AACJ,KAAA;;;MCjDQ,YAAY,GAAuC,CAAC,MAAM,MAAM;IACzE,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;AACjD,CAAA;;ACJM,MAAM,eAAe,GAAG,2BAA2B,CAAC;AACvD,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,SAAS,EAAE,GAAG;AACjB,CAAA;;ACLD;;AAEG;;;;"}
@@ -9,7 +9,7 @@ import { map } from 'rxjs';
9
9
 
10
10
  const TUI_AMOUNT_DEFAULT_OPTIONS = {
11
11
  currency: null,
12
- currencyAlign: 'right',
12
+ currencyAlign: 'left',
13
13
  sign: 'negative-only',
14
14
  };
15
15
  const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);
@@ -34,7 +34,7 @@ class TuiAmountPipe {
34
34
  this.format = inject(TUI_NUMBER_FORMAT);
35
35
  }
36
36
  transform(value, currency = this.options.currency, currencyAlign = this.options.currencyAlign) {
37
- return this.format.pipe(map(format => {
37
+ return this.format.pipe(map((format) => {
38
38
  const sign = tuiFormatSignSymbol(value, this.options.sign);
39
39
  const currencySymbol = tuiFormatCurrency(currency);
40
40
  const formatted = tuiFormatNumber(Math.abs(value), {
@@ -43,7 +43,8 @@ class TuiAmountPipe {
43
43
  ? DEFAULT_PRECISION
44
44
  : format.precision,
45
45
  });
46
- const space = currencySymbol?.length > 1 || currencyAlign === 'right'
46
+ const space = currencySymbol &&
47
+ (currencySymbol?.length > 1 || currencyAlign === 'right')
47
48
  ? CHAR_NO_BREAK_SPACE
48
49
  : '';
49
50
  return currencyAlign === 'right'
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport type {TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'right',\n sign: 'negative-only',\n};\n\nexport const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);\n\nexport function tuiAmountOptionsProvider(options: Partial<TuiAmountOptions>): Provider {\n return tuiProvideOptions(TUI_AMOUNT_OPTIONS, options, TUI_AMOUNT_DEFAULT_OPTIONS);\n}\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport type {TuiAmountSign, TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\n if (sign === 'never' || !value || (sign === 'negative-only' && value > 0)) {\n return '';\n }\n\n if (sign === 'force-negative' || (value < 0 && sign !== 'force-positive')) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport type {Observable} from 'rxjs';\nimport {map} from 'rxjs';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({standalone: true, name: 'tuiAmount'})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = this.options.currency,\n currencyAlign: TuiHorizontalDirection = this.options.currencyAlign,\n ): Observable<string> {\n return this.format.pipe(\n map(format => {\n const sign = tuiFormatSignSymbol(value, this.options.sign);\n const currencySymbol = tuiFormatCurrency(currency);\n const formatted = tuiFormatNumber(Math.abs(value), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const space =\n currencySymbol?.length > 1 || currencyAlign === 'right'\n ? CHAR_NO_BREAK_SPACE\n : '';\n\n return currencyAlign === 'right'\n ? `${sign}${formatted}${space}${currencySymbol}`\n : `${sign}${currencySymbol}${space}${formatted}`;\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,IAAI,EAAE,eAAe;EACvB;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;ACnBgB,SAAA,mBAAmB,CAC/B,KAAa,EACb,IAAmB,EAAA;AAEnB,IAAA,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAED,IAAA,IAAI,IAAI,KAAK,gBAAgB,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE;AACvE,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACrB;;ACHA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MACa,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AA4BvD,KAAA;AA1BU,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAAgC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrD,aAAwC,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAA;QAElE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,GAAG,CAAC,MAAM,IAAG;AACT,YAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D,YAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/C,gBAAA,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,sBAAE,iBAAiB;sBACjB,MAAM,CAAC,SAAS;AACzB,aAAA,CAAC,CAAC;YACH,MAAM,KAAK,GACP,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,aAAa,KAAK,OAAO;AACnD,kBAAE,mBAAmB;kBACnB,EAAE,CAAC;YAEb,OAAO,aAAa,KAAK,OAAO;kBAC1B,GAAG,IAAI,CAAA,EAAG,SAAS,CAAG,EAAA,KAAK,CAAG,EAAA,cAAc,CAAE,CAAA;kBAC9C,CAAG,EAAA,IAAI,CAAG,EAAA,cAAc,GAAG,KAAK,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC;SACxD,CAAC,CACL,CAAC;KACL;+GA7BQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;;;AChB3C;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-pipes-amount.mjs","sources":["../../../projects/addon-commerce/pipes/amount/amount.options.ts","../../../projects/addon-commerce/pipes/amount/amount.utils.ts","../../../projects/addon-commerce/pipes/amount/amount.pipe.ts","../../../projects/addon-commerce/pipes/amount/taiga-ui-addon-commerce-pipes-amount.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport type {TuiAmountSign} from './amount.types';\n\nexport interface TuiAmountOptions {\n readonly currency: TuiCurrencyVariants;\n readonly currencyAlign: TuiHorizontalDirection;\n readonly sign: TuiAmountSign;\n}\n\nexport const TUI_AMOUNT_DEFAULT_OPTIONS: TuiAmountOptions = {\n currency: null,\n currencyAlign: 'left',\n sign: 'negative-only',\n};\n\nexport const TUI_AMOUNT_OPTIONS = tuiCreateToken(TUI_AMOUNT_DEFAULT_OPTIONS);\n\nexport function tuiAmountOptionsProvider(options: Partial<TuiAmountOptions>): Provider {\n return tuiProvideOptions(TUI_AMOUNT_OPTIONS, options, TUI_AMOUNT_DEFAULT_OPTIONS);\n}\n","import {CHAR_MINUS, CHAR_PLUS} from '@taiga-ui/cdk/constants';\n\nimport type {TuiAmountSign, TuiAmountSignSymbol} from './amount.types';\n\nexport function tuiFormatSignSymbol(\n value: number,\n sign: TuiAmountSign,\n): TuiAmountSignSymbol {\n if (sign === 'never' || !value || (sign === 'negative-only' && value > 0)) {\n return '';\n }\n\n if (sign === 'force-negative' || (value < 0 && sign !== 'force-positive')) {\n return CHAR_MINUS;\n }\n\n return CHAR_PLUS;\n}\n","import type {PipeTransform} from '@angular/core';\nimport {inject, Pipe} from '@angular/core';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiFormatCurrency} from '@taiga-ui/addon-commerce/utils';\nimport {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk/constants';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport type {Observable} from 'rxjs';\nimport {map} from 'rxjs';\n\nimport {TUI_AMOUNT_OPTIONS} from './amount.options';\nimport {tuiFormatSignSymbol} from './amount.utils';\n\nconst DEFAULT_PRECISION = 2;\n\n@Pipe({standalone: true, name: 'tuiAmount'})\nexport class TuiAmountPipe implements PipeTransform {\n private readonly options = inject(TUI_AMOUNT_OPTIONS);\n private readonly format = inject(TUI_NUMBER_FORMAT);\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = this.options.currency,\n currencyAlign: TuiHorizontalDirection = this.options.currencyAlign,\n ): Observable<string> {\n return this.format.pipe(\n map((format) => {\n const sign = tuiFormatSignSymbol(value, this.options.sign);\n const currencySymbol = tuiFormatCurrency(currency);\n const formatted = tuiFormatNumber(Math.abs(value), {\n ...format,\n precision: Number.isNaN(format.precision)\n ? DEFAULT_PRECISION\n : format.precision,\n });\n const space =\n currencySymbol &&\n (currencySymbol?.length > 1 || currencyAlign === 'right')\n ? CHAR_NO_BREAK_SPACE\n : '';\n\n return currencyAlign === 'right'\n ? `${sign}${formatted}${space}${currencySymbol}`\n : `${sign}${currencySymbol}${space}${formatted}`;\n }),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;AAaa,MAAA,0BAA0B,GAAqB;AACxD,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,aAAa,EAAE,MAAM;AACrB,IAAA,IAAI,EAAE,eAAe;EACvB;MAEW,kBAAkB,GAAG,cAAc,CAAC,0BAA0B,EAAE;AAEvE,SAAU,wBAAwB,CAAC,OAAkC,EAAA;IACvE,OAAO,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,0BAA0B,CAAC,CAAC;AACtF;;ACnBgB,SAAA,mBAAmB,CAC/B,KAAa,EACb,IAAmB,EAAA;AAEnB,IAAA,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,eAAe,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;AACvE,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AAED,IAAA,IAAI,IAAI,KAAK,gBAAgB,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,KAAK,gBAAgB,CAAC,EAAE;AACvE,QAAA,OAAO,UAAU,CAAC;AACrB,KAAA;AAED,IAAA,OAAO,SAAS,CAAC;AACrB;;ACHA,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MACa,aAAa,CAAA;AAD1B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AA6BvD,KAAA;AA3BU,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAAgC,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrD,aAAwC,GAAA,IAAI,CAAC,OAAO,CAAC,aAAa,EAAA;QAElE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,GAAG,CAAC,CAAC,MAAM,KAAI;AACX,YAAA,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3D,YAAA,MAAM,cAAc,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/C,gBAAA,GAAG,MAAM;gBACT,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;AACrC,sBAAE,iBAAiB;sBACjB,MAAM,CAAC,SAAS;AACzB,aAAA,CAAC,CAAC;YACH,MAAM,KAAK,GACP,cAAc;iBACb,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,aAAa,KAAK,OAAO,CAAC;AACrD,kBAAE,mBAAmB;kBACnB,EAAE,CAAC;YAEb,OAAO,aAAa,KAAK,OAAO;kBAC1B,GAAG,IAAI,CAAA,EAAG,SAAS,CAAG,EAAA,KAAK,CAAG,EAAA,cAAc,CAAE,CAAA;kBAC9C,CAAG,EAAA,IAAI,CAAG,EAAA,cAAc,GAAG,KAAK,CAAA,EAAG,SAAS,CAAA,CAAE,CAAC;SACxD,CAAC,CACL,CAAC;KACL;+GA9BQ,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,CAAA,EAAA;;4FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAC,CAAA;;;AChB3C;;AAEG;;;;"}
@@ -0,0 +1,34 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, Injector, INJECTOR, Pipe } from '@angular/core';
3
+ import { TuiAmountPipe } from '@taiga-ui/addon-commerce/pipes/amount';
4
+ import { TUI_NUMBER_FORMAT } from '@taiga-ui/core/tokens';
5
+ import { switchMap, map } from 'rxjs';
6
+
7
+ class TuiDecimalPipe {
8
+ constructor() {
9
+ this.format = inject(TUI_NUMBER_FORMAT);
10
+ this.amountPipe = Injector.create({
11
+ providers: [{ provide: TuiAmountPipe }],
12
+ parent: inject(INJECTOR),
13
+ }).get(TuiAmountPipe);
14
+ }
15
+ transform(value, currency = '') {
16
+ return this.format.pipe(switchMap((format) => this.amountPipe.transform(value, currency).pipe(map((value) => {
17
+ const decimal = value.split(format.decimalSeparator)[1];
18
+ return decimal ? `${format.decimalSeparator}${decimal}` : '';
19
+ }))));
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, isStandalone: true, name: "tuiDecimal" }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDecimalPipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{ standalone: true, name: 'tuiDecimal' }]
27
+ }] });
28
+
29
+ /**
30
+ * Generated bundle index. Do not edit.
31
+ */
32
+
33
+ export { TuiDecimalPipe };
34
+ //# sourceMappingURL=taiga-ui-addon-commerce-pipes-decimal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-addon-commerce-pipes-decimal.mjs","sources":["../../../projects/addon-commerce/pipes/decimal/decimal.pipe.ts","../../../projects/addon-commerce/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.ts"],"sourcesContent":["import type {PipeTransform} from '@angular/core';\nimport {inject, INJECTOR, Injector, Pipe} from '@angular/core';\nimport {TuiAmountPipe} from '@taiga-ui/addon-commerce/pipes/amount';\nimport type {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport type {Observable} from 'rxjs';\nimport {map, switchMap} from 'rxjs';\n\n@Pipe({standalone: true, name: 'tuiDecimal'})\nexport class TuiDecimalPipe implements PipeTransform {\n private readonly format = inject(TUI_NUMBER_FORMAT);\n private readonly amountPipe = Injector.create({\n providers: [{provide: TuiAmountPipe}],\n parent: inject(INJECTOR),\n }).get(TuiAmountPipe);\n\n public transform(\n value: number,\n currency: TuiCurrencyVariants = '',\n ): Observable<string> {\n return this.format.pipe(\n switchMap((format) =>\n this.amountPipe.transform(value, currency).pipe(\n map((value) => {\n const decimal = value.split(format.decimalSeparator)[1];\n\n return decimal ? `${format.decimalSeparator}${decimal}` : '';\n }),\n ),\n ),\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAQA,MACa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAEqB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC1C,YAAA,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,aAAa,EAAC,CAAC;AACrC,YAAA,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC;AAC3B,SAAA,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAkBzB,KAAA;AAhBU,IAAA,SAAS,CACZ,KAAa,EACb,QAAA,GAAgC,EAAE,EAAA;AAElC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,SAAS,CAAC,CAAC,MAAM,KACb,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC3C,GAAG,CAAC,CAAC,KAAK,KAAI;AACV,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AAExD,YAAA,OAAO,OAAO,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAA,EAAG,OAAO,CAAE,CAAA,GAAG,EAAE,CAAC;AACjE,SAAC,CAAC,CACL,CACJ,CACJ,CAAC;KACL;+GAtBQ,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA,EAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAC,CAAA;;;ACR5C;;AAEG;;;;"}
@@ -1,5 +1,6 @@
1
1
  export * from '@taiga-ui/addon-commerce/pipes/amount';
2
2
  export * from '@taiga-ui/addon-commerce/pipes/currency';
3
+ export * from '@taiga-ui/addon-commerce/pipes/decimal';
3
4
  export * from '@taiga-ui/addon-commerce/pipes/format-card';
4
5
 
5
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-pipes.mjs","sources":["../../../projects/addon-commerce/pipes/taiga-ui-addon-commerce-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-pipes.mjs","sources":["../../../projects/addon-commerce/pipes/taiga-ui-addon-commerce-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;AAEG"}
@@ -1,5 +1,5 @@
1
1
  import { tuiCreateTokenFromFactory, tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
2
- import { tuiExtractI18n } from '@taiga-ui/i18n/tools';
2
+ import { tuiExtractI18n } from '@taiga-ui/i18n/utils';
3
3
  import { of } from 'rxjs';
4
4
 
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-tokens.mjs","sources":["../../../projects/addon-commerce/tokens/i18n.ts","../../../projects/addon-commerce/tokens/payment-system-icons.ts","../../../projects/addon-commerce/tokens/taiga-ui-addon-commerce-tokens.ts"],"sourcesContent":["import {\n tuiCreateToken,\n tuiCreateTokenFromFactory,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/tools';\nimport type {Observable} from 'rxjs';\nimport {of} from 'rxjs';\n\n/**\n * Number and card number i18n\n */\nexport const TUI_CARD_NUMBER_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('cardNumber'),\n);\n\n/**\n * Expiry and card expiry i18n\n */\nexport const TUI_CARD_EXPIRY_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('cardExpiry'),\n);\n\n/**\n * Card CVC number text [mobile, desktop]\n */\nexport const TUI_CARD_CVC_TEXTS = tuiCreateToken<Observable<[string, string]>>(\n of(['CVC', 'CVC/CVV']),\n);\n","import type {InjectionToken} from '@angular/core';\nimport type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_PAYMENT_SYSTEM_ICONS: InjectionToken<Record<TuiPaymentSystem, string>> =\n tuiCreateToken({\n mir: '@tui.mir',\n visa: '@tui.visa',\n electron: '@tui.electron',\n mastercard: '@tui.mastercard',\n maestro: '@tui.maestro',\n amex: '@tui.amex',\n dinersclub: '@tui.diners-club',\n discover: '@tui.discover',\n humo: '@tui.humo',\n jcb: '@tui.jcb',\n rupay: '@tui.ru-pay',\n unionpay: '@tui.union-pay',\n uzcard: '@tui.uzcard',\n verve: '@tui.verve',\n });\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA;;AAEG;AACU,MAAA,qBAAqB,GAAG,yBAAyB,CAC1D,cAAc,CAAC,YAAY,CAAC,EAC9B;AAEF;;AAEG;AACU,MAAA,qBAAqB,GAAG,yBAAyB,CAC1D,cAAc,CAAC,YAAY,CAAC,EAC9B;AAEF;;AAEG;AACI,MAAM,kBAAkB,GAAG,cAAc,CAC5C,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;;ACtBnB,MAAM,wBAAwB,GACjC,cAAc,CAAC;AACX,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,KAAK,EAAE,YAAY;AACtB,CAAA;;ACpBL;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-tokens.mjs","sources":["../../../projects/addon-commerce/tokens/i18n.ts","../../../projects/addon-commerce/tokens/payment-system-icons.ts","../../../projects/addon-commerce/tokens/taiga-ui-addon-commerce-tokens.ts"],"sourcesContent":["import {\n tuiCreateToken,\n tuiCreateTokenFromFactory,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiExtractI18n} from '@taiga-ui/i18n/utils';\nimport type {Observable} from 'rxjs';\nimport {of} from 'rxjs';\n\n/**\n * Number and card number i18n\n */\nexport const TUI_CARD_NUMBER_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('cardNumber'),\n);\n\n/**\n * Expiry and card expiry i18n\n */\nexport const TUI_CARD_EXPIRY_TEXTS = tuiCreateTokenFromFactory(\n tuiExtractI18n('cardExpiry'),\n);\n\n/**\n * Card CVC number text [mobile, desktop]\n */\nexport const TUI_CARD_CVC_TEXTS = tuiCreateToken<Observable<[string, string]>>(\n of(['CVC', 'CVC/CVV']),\n);\n","import type {InjectionToken} from '@angular/core';\nimport type {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_PAYMENT_SYSTEM_ICONS: InjectionToken<Record<TuiPaymentSystem, string>> =\n tuiCreateToken({\n mir: '@tui.mir',\n visa: '@tui.visa',\n electron: '@tui.electron',\n mastercard: '@tui.mastercard',\n maestro: '@tui.maestro',\n amex: '@tui.amex',\n dinersclub: '@tui.diners-club',\n discover: '@tui.discover',\n humo: '@tui.humo',\n jcb: '@tui.jcb',\n rupay: '@tui.ru-pay',\n unionpay: '@tui.union-pay',\n uzcard: '@tui.uzcard',\n verve: '@tui.verve',\n });\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA;;AAEG;AACU,MAAA,qBAAqB,GAAG,yBAAyB,CAC1D,cAAc,CAAC,YAAY,CAAC,EAC9B;AAEF;;AAEG;AACU,MAAA,qBAAqB,GAAG,yBAAyB,CAC1D,cAAc,CAAC,YAAY,CAAC,EAC9B;AAEF;;AAEG;AACI,MAAM,kBAAkB,GAAG,cAAc,CAC5C,EAAE,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;;ACtBnB,MAAM,wBAAwB,GACjC,cAAc,CAAC;AACX,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,UAAU,EAAE,iBAAiB;AAC7B,IAAA,OAAO,EAAE,cAAc;AACvB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,UAAU,EAAE,kBAAkB;AAC9B,IAAA,QAAQ,EAAE,eAAe;AACzB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,QAAQ,EAAE,gBAAgB;AAC1B,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,KAAK,EAAE,YAAY;AACtB,CAAA;;ACpBL;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "4.0.0-rc.1",
3
+ "version": "4.0.0-rc.10",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,15 +17,15 @@
17
17
  "@angular/common": ">=16.0.0",
18
18
  "@angular/core": ">=16.0.0",
19
19
  "@angular/forms": ">=16.0.0",
20
- "@maskito/angular": "^2.4.0",
21
- "@maskito/core": "^2.4.0",
22
- "@maskito/kit": "^2.4.0",
23
- "@ng-web-apis/common": "^4.0.0",
24
- "@taiga-ui/cdk": "^4.0.0-rc.1",
25
- "@taiga-ui/core": "^4.0.0-rc.1",
26
- "@taiga-ui/i18n": "^4.0.0-rc.1",
27
- "@taiga-ui/kit": "^4.0.0-rc.1",
28
- "@taiga-ui/polymorpheus": "^4.6.3",
20
+ "@maskito/angular": "^3.0.0",
21
+ "@maskito/core": "^3.0.0",
22
+ "@maskito/kit": "^3.0.0",
23
+ "@ng-web-apis/common": "^4.2.1",
24
+ "@taiga-ui/cdk": "^4.0.0-rc.10",
25
+ "@taiga-ui/core": "^4.0.0-rc.10",
26
+ "@taiga-ui/i18n": "^4.0.0-rc.10",
27
+ "@taiga-ui/kit": "^4.0.0-rc.10",
28
+ "@taiga-ui/polymorpheus": "^4.6.4",
29
29
  "rxjs": ">=7.0.0"
30
30
  },
31
31
  "module": "fesm2022/taiga-ui-addon-commerce.mjs",
@@ -88,11 +88,11 @@
88
88
  "esm": "./esm2022/components/input-card/taiga-ui-addon-commerce-components-input-card.mjs",
89
89
  "default": "./fesm2022/taiga-ui-addon-commerce-components-input-card.mjs"
90
90
  },
91
- "./components/input-card-grouped": {
92
- "types": "./components/input-card-grouped/index.d.ts",
93
- "esm2022": "./esm2022/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.mjs",
94
- "esm": "./esm2022/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.mjs",
95
- "default": "./fesm2022/taiga-ui-addon-commerce-components-input-card-grouped.mjs"
91
+ "./components/input-card-group": {
92
+ "types": "./components/input-card-group/index.d.ts",
93
+ "esm2022": "./esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs",
94
+ "esm": "./esm2022/components/input-card-group/taiga-ui-addon-commerce-components-input-card-group.mjs",
95
+ "default": "./fesm2022/taiga-ui-addon-commerce-components-input-card-group.mjs"
96
96
  },
97
97
  "./components/input-cvc": {
98
98
  "types": "./components/input-cvc/index.d.ts",
@@ -124,6 +124,12 @@
124
124
  "esm": "./esm2022/pipes/currency/taiga-ui-addon-commerce-pipes-currency.mjs",
125
125
  "default": "./fesm2022/taiga-ui-addon-commerce-pipes-currency.mjs"
126
126
  },
127
+ "./pipes/decimal": {
128
+ "types": "./pipes/decimal/index.d.ts",
129
+ "esm2022": "./esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs",
130
+ "esm": "./esm2022/pipes/decimal/taiga-ui-addon-commerce-pipes-decimal.mjs",
131
+ "default": "./fesm2022/taiga-ui-addon-commerce-pipes-decimal.mjs"
132
+ },
127
133
  "./pipes/format-card": {
128
134
  "types": "./pipes/format-card/index.d.ts",
129
135
  "esm2022": "./esm2022/pipes/format-card/taiga-ui-addon-commerce-pipes-format-card.mjs",
@@ -0,0 +1,11 @@
1
+ import type { PipeTransform } from '@angular/core';
2
+ import type { TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
3
+ import type { Observable } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TuiDecimalPipe implements PipeTransform {
6
+ private readonly format;
7
+ private readonly amountPipe;
8
+ transform(value: number, currency?: TuiCurrencyVariants): Observable<string>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDecimalPipe, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<TuiDecimalPipe, "tuiDecimal", true>;
11
+ }
@@ -0,0 +1 @@
1
+ export * from './decimal.pipe';
package/pipes/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from '@taiga-ui/addon-commerce/pipes/amount';
2
2
  export * from '@taiga-ui/addon-commerce/pipes/currency';
3
+ export * from '@taiga-ui/addon-commerce/pipes/decimal';
3
4
  export * from '@taiga-ui/addon-commerce/pipes/format-card';
package/tokens/i18n.d.ts CHANGED
@@ -2,11 +2,11 @@ import type { Observable } from 'rxjs';
2
2
  /**
3
3
  * Number and card number i18n
4
4
  */
5
- export declare const TUI_CARD_NUMBER_TEXTS: import("@angular/core").InjectionToken<Observable<[string, string]>>;
5
+ export declare const TUI_CARD_NUMBER_TEXTS: import("@angular/core").InjectionToken<Observable<[number: string, card_number: string]>>;
6
6
  /**
7
7
  * Expiry and card expiry i18n
8
8
  */
9
- export declare const TUI_CARD_EXPIRY_TEXTS: import("@angular/core").InjectionToken<Observable<[string, string]>>;
9
+ export declare const TUI_CARD_EXPIRY_TEXTS: import("@angular/core").InjectionToken<Observable<[expiry: string, expiry_date: string]>>;
10
10
  /**
11
11
  * Card CVC number text [mobile, desktop]
12
12
  */
@@ -1,3 +0,0 @@
1
- export * from './input-card-grouped.component';
2
- export * from './input-card-grouped.options';
3
- export * from './input-card-grouped.providers';
@@ -1,4 +0,0 @@
1
- export * from './input-card-grouped.component';
2
- export * from './input-card-grouped.options';
3
- export * from './input-card-grouped.providers';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWNhcmQtZ3JvdXBlZC5vcHRpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG4iXX0=