@taiga-ui/addon-commerce 2.22.0 → 2.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/README.md +7 -3
  2. package/bundles/taiga-ui-addon-commerce-components-card.umd.js +5 -4
  3. package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
  4. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js +1 -1
  5. package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.js +2 -2
  7. package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.js.map +1 -1
  8. package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.min.js +2 -2
  9. package/bundles/taiga-ui-addon-commerce-components-input-CVC.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +4 -31
  11. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
  12. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +2 -2
  13. package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +2 -2
  15. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
  16. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js +1 -1
  17. package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js +2 -2
  19. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
  20. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js +1 -1
  21. package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-addon-commerce-components-money.umd.js +2 -2
  23. package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
  24. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +1 -1
  25. package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
  27. package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js.map +1 -1
  28. package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
  29. package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-addon-commerce-validators.umd.js +7 -7
  31. package/bundles/taiga-ui-addon-commerce-validators.umd.js.map +1 -1
  32. package/bundles/taiga-ui-addon-commerce.umd.js +8 -8
  33. package/bundles/taiga-ui-addon-commerce.umd.min.js +1 -1
  34. package/components/card/card.component.d.ts +1 -1
  35. package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +1 -1
  36. package/components/input-CVC/taiga-ui-addon-commerce-components-input-CVC.metadata.json +1 -1
  37. package/components/input-card/taiga-ui-addon-commerce-components-input-card.metadata.json +1 -1
  38. package/components/input-card-grouped/input-card-grouped.component.d.ts +0 -4
  39. package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +1 -1
  40. package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.metadata.json +1 -1
  41. package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +1 -1
  42. package/esm2015/components/card/card.component.js +5 -5
  43. package/esm2015/components/card/card.module.js +1 -1
  44. package/esm2015/components/input-CVC/input-CVC.component.js +2 -2
  45. package/esm2015/components/input-CVC/input-CVC.module.js +1 -1
  46. package/esm2015/components/input-card/input-card.component.js +2 -2
  47. package/esm2015/components/input-card/input-card.module.js +1 -1
  48. package/esm2015/components/input-card-grouped/input-card-grouped.component.js +6 -17
  49. package/esm2015/components/input-card-grouped/input-card-grouped.module.js +1 -1
  50. package/esm2015/components/input-expire/input-expire.component.js +2 -2
  51. package/esm2015/components/input-expire/input-expire.module.js +1 -1
  52. package/esm2015/components/money/money.component.js +3 -3
  53. package/esm2015/components/money/money.module.js +1 -1
  54. package/esm2015/index.js +2 -2
  55. package/esm2015/pipes/currency.module.js +1 -1
  56. package/esm2015/types/index.js +1 -1
  57. package/esm2015/utils/format-currency.js +1 -1
  58. package/esm2015/validators/index.js +2 -2
  59. package/esm5/components/card/card.component.js +6 -5
  60. package/esm5/components/card/card.module.js +1 -1
  61. package/esm5/components/input-CVC/input-CVC.component.js +2 -2
  62. package/esm5/components/input-CVC/input-CVC.module.js +1 -1
  63. package/esm5/components/input-card/input-card.component.js +2 -2
  64. package/esm5/components/input-card/input-card.module.js +1 -1
  65. package/esm5/components/input-card-grouped/input-card-grouped.component.js +6 -33
  66. package/esm5/components/input-card-grouped/input-card-grouped.module.js +1 -1
  67. package/esm5/components/input-expire/input-expire.component.js +2 -2
  68. package/esm5/components/input-expire/input-expire.module.js +1 -1
  69. package/esm5/components/money/money.component.js +3 -3
  70. package/esm5/components/money/money.module.js +1 -1
  71. package/esm5/index.js +2 -2
  72. package/esm5/pipes/currency.module.js +1 -1
  73. package/esm5/types/index.js +1 -1
  74. package/esm5/utils/format-currency.js +1 -1
  75. package/esm5/validators/index.js +2 -2
  76. package/fesm2015/taiga-ui-addon-commerce-components-card.js +4 -4
  77. package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
  78. package/fesm2015/taiga-ui-addon-commerce-components-input-CVC.js +2 -2
  79. package/fesm2015/taiga-ui-addon-commerce-components-input-CVC.js.map +1 -1
  80. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +5 -16
  81. package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  82. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +2 -2
  83. package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  84. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +2 -2
  85. package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
  86. package/fesm2015/taiga-ui-addon-commerce-components-money.js +2 -2
  87. package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
  88. package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
  89. package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
  90. package/fesm2015/taiga-ui-addon-commerce-validators.js +7 -7
  91. package/fesm2015/taiga-ui-addon-commerce-validators.js.map +1 -1
  92. package/fesm2015/taiga-ui-addon-commerce.js +1 -1
  93. package/fesm5/taiga-ui-addon-commerce-components-card.js +5 -4
  94. package/fesm5/taiga-ui-addon-commerce-components-card.js.map +1 -1
  95. package/fesm5/taiga-ui-addon-commerce-components-input-CVC.js +2 -2
  96. package/fesm5/taiga-ui-addon-commerce-components-input-CVC.js.map +1 -1
  97. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +5 -32
  98. package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
  99. package/fesm5/taiga-ui-addon-commerce-components-input-card.js +2 -2
  100. package/fesm5/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
  101. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js +2 -2
  102. package/fesm5/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
  103. package/fesm5/taiga-ui-addon-commerce-components-money.js +2 -2
  104. package/fesm5/taiga-ui-addon-commerce-components-money.js.map +1 -1
  105. package/fesm5/taiga-ui-addon-commerce-pipes.js.map +1 -1
  106. package/fesm5/taiga-ui-addon-commerce-utils.js.map +1 -1
  107. package/fesm5/taiga-ui-addon-commerce-validators.js +8 -8
  108. package/fesm5/taiga-ui-addon-commerce-validators.js.map +1 -1
  109. package/fesm5/taiga-ui-addon-commerce.js +1 -1
  110. package/index.d.ts +1 -1
  111. package/package.json +6 -5
  112. package/pipes/taiga-ui-addon-commerce-pipes.metadata.json +1 -1
  113. package/taiga-ui-addon-commerce.metadata.json +1 -1
  114. package/types/index.d.ts +1 -1
  115. package/types/taiga-ui-addon-commerce-types.metadata.json +1 -1
  116. package/validators/index.d.ts +1 -1
  117. package/validators/taiga-ui-addon-commerce-validators.metadata.json +1 -1
@@ -143,7 +143,7 @@ var TuiInputCardComponent = /** @class */ (function (_super) {
143
143
  TuiInputCardComponent = TuiInputCardComponent_1 = __decorate([
144
144
  Component({
145
145
  selector: 'tui-input-card',
146
- template: "<tui-primitive-textfield\n class=\"t-input\"\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n [tuiTextfieldAutocomplete]=\"autocomplete\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [pseudoFocused]=\"pseudoFocused\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n",
146
+ template: "<tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n class=\"t-input\"\n [tuiTextfieldAutocomplete]=\"autocomplete\"\n [tuiTextfieldCustomContent]=\"icon\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [invalid]=\"computedInvalid\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [pseudoFocused]=\"pseudoFocused\"\n [textMask]=\"textMaskOptions\"\n [value]=\"formattedCard\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n",
147
147
  changeDetection: ChangeDetectionStrategy.OnPush,
148
148
  providers: [
149
149
  {
@@ -156,7 +156,7 @@ var TuiInputCardComponent = /** @class */ (function (_super) {
156
156
  useFactory: cardTextfieldControllerFactory,
157
157
  },
158
158
  ],
159
- styles: [":host{display:block;border-radius:var(--tui-radius-m)}.t-input{border-radius:inherit}"]
159
+ styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:left}.t-input{border-radius:inherit;text-align:inherit}"]
160
160
  }),
161
161
  __param(0, Optional()),
162
162
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-input-card.js","sources":["ng://@taiga-ui/addon-commerce/components/input-card/input-card.component.ts","ng://@taiga-ui/addon-commerce/components/input-card/input-card.module.ts","ng://@taiga-ui/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {getPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldExampleTextDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst icons = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\nexport function cardTextfieldControllerFactory(\n directive: TuiTextfieldExampleTextDirective | null,\n): TuiTextfieldExampleTextDirective {\n directive = directive || new TuiTextfieldExampleTextDirective();\n directive.exampleText = '0000 0000 0000 0000';\n\n return directive;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardComponent),\n },\n {\n provide: TUI_TEXTFIELD_EXAMPLE_TEXT,\n deps: [[new Optional(), TuiTextfieldExampleTextDirective]],\n useFactory: cardTextfieldControllerFactory,\n },\n ],\n})\nexport class TuiInputCardComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n cardSrc: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get icon(): string | null {\n if (this.cardSrc !== null) {\n return this.cardSrc;\n }\n\n const {paymentSystem} = this;\n\n return paymentSystem ? icons[paymentSystem] : null;\n }\n\n get autocomplete(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return getPaymentSystem(this.value);\n }\n\n get bin(): string | null {\n return this.value.length < 6 ? null : this.value.substr(0, 6);\n }\n\n get formattedCard(): string {\n return this.value\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('');\n }\n\n onValueChange(value: string) {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.updateValue(parsed);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n writeValue(value: string | null) {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\nimport {TextMaskModule} from 'angular2-text-mask';\nimport {TuiInputCardComponent} from './input-card.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent],\n exports: [TuiInputCardComponent],\n})\nexport class TuiInputCardModule {}\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.js","sources":["ng://@taiga-ui/addon-commerce/components/input-card/input-card.component.ts","ng://@taiga-ui/addon-commerce/components/input-card/input-card.module.ts","ng://@taiga-ui/addon-commerce/components/input-card/taiga-ui-addon-commerce-components-input-card.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {TUI_CARD_MASK} from '@taiga-ui/addon-commerce/constants';\nimport {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\nimport {getPaymentSystem} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_TEXTFIELD_EXAMPLE_TEXT,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldExampleTextDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\nconst icons = {\n [TuiPaymentSystem.Mir]: 'tuiIconMir',\n [TuiPaymentSystem.Visa]: 'tuiIconVisa',\n [TuiPaymentSystem.Electron]: 'tuiIconElectron',\n [TuiPaymentSystem.Mastercard]: 'tuiIconMastercard',\n [TuiPaymentSystem.Maestro]: 'tuiIconMaestro',\n};\n\nexport function cardTextfieldControllerFactory(\n directive: TuiTextfieldExampleTextDirective | null,\n): TuiTextfieldExampleTextDirective {\n directive = directive || new TuiTextfieldExampleTextDirective();\n directive.exampleText = '0000 0000 0000 0000';\n\n return directive;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-input-card',\n templateUrl: './input-card.template.html',\n styleUrls: ['./input-card.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputCardComponent),\n },\n {\n provide: TUI_TEXTFIELD_EXAMPLE_TEXT,\n deps: [[new Optional(), TuiTextfieldExampleTextDirective]],\n useFactory: cardTextfieldControllerFactory,\n },\n ],\n})\nexport class TuiInputCardComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n cardSrc: string | null = null;\n\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n @Output()\n readonly binChange = new EventEmitter<string | null>();\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: TUI_CARD_MASK,\n guide: false,\n pipe: conformedValue => conformedValue.trim(),\n };\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get icon(): string | null {\n if (this.cardSrc !== null) {\n return this.cardSrc;\n }\n\n const {paymentSystem} = this;\n\n return paymentSystem ? icons[paymentSystem] : null;\n }\n\n get autocomplete(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcNumber\n : TuiCreditCardAutofillName.Off;\n }\n\n get paymentSystem(): TuiPaymentSystem | null {\n return getPaymentSystem(this.value);\n }\n\n get bin(): string | null {\n return this.value.length < 6 ? null : this.value.substr(0, 6);\n }\n\n get formattedCard(): string {\n return this.value\n .split('')\n .map((char, index) => (index && index % 4 === 0 ? ` ${char}` : char))\n .join('');\n }\n\n onValueChange(value: string) {\n const parsed = value.split(' ').join('');\n const currentBin = this.bin;\n\n this.updateValue(parsed);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n writeValue(value: string | null) {\n const currentBin = this.bin;\n\n super.writeValue(value);\n\n const newBin = this.bin;\n\n if (currentBin !== newBin) {\n this.binChange.emit(newBin);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputCardComponent} from './input-card.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputCardComponent],\n exports: [TuiInputCardComponent],\n})\nexport class TuiInputCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -90,7 +90,7 @@ var TuiInputExpireComponent = /** @class */ (function (_super) {
90
90
  TuiInputExpireComponent = TuiInputExpireComponent_1 = __decorate([
91
91
  Component({
92
92
  selector: 'tui-input-expire',
93
- template: "<tui-primitive-textfield\n class=\"t-input\"\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n tuiTextfieldExampleText=\"00/00\"\n [tuiTextfieldAutocomplete]=\"autocomplete\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [pseudoFocused]=\"pseudoFocused\"\n [textMask]=\"textMaskOptions\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n",
93
+ template: "<tui-primitive-textfield\n tuiValueAccessor\n tuiTextfieldInputMode=\"numeric\"\n tuiTextfieldExampleText=\"00/00\"\n class=\"t-input\"\n [tuiTextfieldAutocomplete]=\"autocomplete\"\n [nativeId]=\"nativeId\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [invalid]=\"computedInvalid\"\n [pseudoHovered]=\"pseudoHovered\"\n [pseudoPressed]=\"pseudoPressed\"\n [pseudoFocused]=\"pseudoFocused\"\n [textMask]=\"textMaskOptions\"\n [value]=\"value\"\n (valueChange)=\"onValueChange($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n>\n <ng-content></ng-content>\n</tui-primitive-textfield>\n",
94
94
  changeDetection: ChangeDetectionStrategy.OnPush,
95
95
  providers: [
96
96
  {
@@ -98,7 +98,7 @@ var TuiInputExpireComponent = /** @class */ (function (_super) {
98
98
  useExisting: forwardRef(function () { return TuiInputExpireComponent_1; }),
99
99
  },
100
100
  ],
101
- styles: [":host{display:block;max-width:11rem;border-radius:var(--tui-radius-m)}.t-input{border-radius:inherit}"]
101
+ styles: [":host{display:block;max-width:11rem;border-radius:var(--tui-radius-m);text-align:left}.t-input{border-radius:inherit;text-align:inherit}"]
102
102
  }),
103
103
  __param(0, Optional()),
104
104
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.js","sources":["ng://@taiga-ui/addon-commerce/components/input-expire/input-expire.component.ts","ng://@taiga-ui/addon-commerce/components/input-expire/input-expire.module.ts","ng://@taiga-ui/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiCreateAutoCorrectedExpirePipe} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-expire',\n templateUrl: './input-expire.template.html',\n styleUrls: ['./input-expire.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputExpireComponent),\n },\n ],\n})\nexport class TuiInputExpireComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get autocomplete(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n onValueChange(value: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.input || !this.input.nativeFocusableElement) {\n return;\n }\n\n if (parseInt(value.substr(0, 2), 10) > 12) {\n value = '12' + value.substr(2);\n }\n\n if (value.substr(0, 2) === '00') {\n value = '01' + value.substr(2);\n }\n\n this.input.nativeFocusableElement.value = value;\n\n if (this.value !== value) {\n this.updateValue(value);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\nimport {TextMaskModule} from 'angular2-text-mask';\nimport {TuiInputExpireComponent} from './input-expire.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputExpireComponent],\n exports: [TuiInputExpireComponent],\n})\nexport class TuiInputExpireModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;IAuCY,2CAA0B;IAsBlC,iCAII,OAAyB,EACE,iBAAoC;QALnE,YAOI,kBAAM,OAAO,EAAE,iBAAiB,CAAC,SACpC;QAzBD,yBAAmB,GAAG,KAAK,CAAC;QAEnB,qBAAe,GAAuB;YAC3C,IAAI,EAAE;gBACF,gBAAgB;gBAChB,gBAAgB;gBAChB,GAAG;gBACH,gBAAgB;gBAChB,gBAAgB;aACnB;YACD,IAAI,EAAE,gCAAgC,EAAE;YACxC,KAAK,EAAE,KAAK;SACf,CAAC;;KAaD;gCA/BQ,uBAAuB;IAiChC,sBAAI,2DAAsB;aAA1B;YACI,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC;SAChE;;;OAAA;IAED,sBAAI,4CAAO;aAAX;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;SAC7C;;;OAAA;IAED,sBAAI,iDAAY;aAAhB;YACI,OAAO,IAAI,CAAC,mBAAmB;;kCAEK;SACvC;;;OAAA;IAED,+CAAa,GAAb,UAAc,KAAa;;;QAGvB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,EAAE;YACnD,OAAO;SACV;QAED,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACvC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;YAC7B,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC;QAEhD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC3B;KACJ;IAED,2CAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,2CAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAES,kDAAgB,GAA1B;QACI,OAAO,EAAE,CAAC;KACb;;;gBApDY,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gBAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;;IAtB7B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wEACW;IAe5B;QADC,SAAS,CAAC,8BAA8B,CAAC;0DACc;IArB/C,uBAAuB;QAZnC,SAAS,CAAC;YACP,QAAQ,EAAE,kBAAkB;YAC5B,6rBAA2C;YAE3C,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,yBAAuB,GAAA,CAAC;iBACzD;aACJ;;SACJ,CAAC;QAyBO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OA5BrB,uBAAuB,CAgFnC;IAAD,8BAAC;CAAA,CA/EW,kBAAkB;;;ICvB9B;KAAoC;IAAvB,oBAAoB;QAVhC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,cAAc;gBACd,2BAA2B;gBAC3B,4BAA4B;gBAC5B,sBAAsB;aACzB;YACD,YAAY,EAAE,CAAC,uBAAuB,CAAC;YACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;OACW,oBAAoB,CAAG;IAAD,2BAAC;CAApC;;AChBA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-components-input-expire.js","sources":["ng://@taiga-ui/addon-commerce/components/input-expire/input-expire.component.ts","ng://@taiga-ui/addon-commerce/components/input-expire/input-expire.module.ts","ng://@taiga-ui/addon-commerce/components/input-expire/taiga-ui-addon-commerce-components-input-expire.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiCreateAutoCorrectedExpirePipe} from '@taiga-ui/addon-commerce/utils';\nimport {\n AbstractTuiControl,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiCreditCardAutofillName,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DIGIT_REGEXP,\n TuiPrimitiveTextfieldComponent,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-input-expire',\n templateUrl: './input-expire.template.html',\n styleUrls: ['./input-expire.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputExpireComponent),\n },\n ],\n})\nexport class TuiInputExpireComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @Input()\n @tuiDefaultProp()\n autocompleteEnabled = false;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '/',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ],\n pipe: tuiCreateAutoCorrectedExpirePipe(),\n guide: false,\n };\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly input?: TuiPrimitiveTextfieldComponent;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return !!this.input && this.input.focused;\n }\n\n get autocomplete(): TuiCreditCardAutofillName {\n return this.autocompleteEnabled\n ? TuiCreditCardAutofillName.CcExp\n : TuiCreditCardAutofillName.Off;\n }\n\n onValueChange(value: string) {\n // @bad TODO: Workaround until mask pipe can replace chars and keep caret position\n // @bad TODO: Think about a solution without mask at all\n if (!this.input || !this.input.nativeFocusableElement) {\n return;\n }\n\n if (parseInt(value.substr(0, 2), 10) > 12) {\n value = '12' + value.substr(2);\n }\n\n if (value.substr(0, 2) === '00') {\n value = '01' + value.substr(2);\n }\n\n this.input.nativeFocusableElement.value = value;\n\n if (this.value !== value) {\n this.updateValue(value);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiValueAccessorModule} from '@taiga-ui/kit';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputExpireComponent} from './input-expire.component';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputExpireComponent],\n exports: [TuiInputExpireComponent],\n})\nexport class TuiInputExpireModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -118,8 +118,8 @@ var TuiMoneyComponent = /** @class */ (function () {
118
118
  Component({
119
119
  selector: 'tui-money',
120
120
  changeDetection: ChangeDetectionStrategy.OnPush,
121
- template: "<span automation-id=\"tui-money__sign\">{{signSymbol}}</span>\n<span automation-id=\"tui-money__integer-part\">{{integerPart}}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{fractionPart}}</span>\n <span automation-id=\"tui-money__currency\" class=\"t-currency\"\n >{{currency | tuiCurrency}}</span\n >\n</span>\n",
122
- styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}.t-currency:not(:empty){margin-left:.25em}"]
121
+ template: "<span automation-id=\"tui-money__sign\">{{ signSymbol }}</span>\n<span automation-id=\"tui-money__integer-part\">{{ integerPart }}</span>\n<span class=\"t-lighter\">\n <span automation-id=\"tui-money__fraction-part\">{{ fractionPart }}</span>\n <span automation-id=\"tui-money__currency\" class=\"t-currency\">\n {{ currency | tuiCurrency }}\n </span>\n</span>\n",
122
+ styles: [":host{white-space:nowrap}:host._red{color:var(--tui-negative)}:host._green{color:var(--tui-positive)}:host:not(._inherit-color) .t-lighter{opacity:var(--tui-disabled-opacity)}"]
123
123
  }),
124
124
  __param(0, Inject(TUI_NUMBER_FORMAT))
125
125
  ], TuiMoneyComponent);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-components-money.js","sources":["ng://@taiga-ui/addon-commerce/components/money/money.component.ts","ng://@taiga-ui/addon-commerce/components/money/money.module.ts","ng://@taiga-ui/addon-commerce/components/money/taiga-ui-addon-commerce-components-money.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiCurrency} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants, TuiMoneySignT} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_EN_DASH, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TuiDecimalT,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-money',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './money.template.html',\n styleUrls: ['./money.style.less'],\n})\nexport class TuiMoneyComponent {\n @Input()\n @tuiDefaultProp()\n value = NaN;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n currency: TuiCurrencyVariants = TuiCurrency.Ruble;\n\n @Input()\n @tuiDefaultProp()\n sign: TuiMoneySignT = 'negative-only';\n\n @Input()\n @tuiDefaultProp()\n colored = false;\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n singleColor = false;\n\n get integerPart(): string {\n return formatNumber(\n Math.floor(Math.abs(this.value)),\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n get fractionPart(): string {\n const {decimal, value} = this;\n const fraction = value.toFixed(this.precision).split('.')[1];\n\n return decimal === 'never' ||\n (parseInt(fraction, 10) === 0 && decimal !== 'always')\n ? ''\n : this.numberFormat.decimalSeparator + fraction;\n }\n\n get signSymbol(): '' | typeof CHAR_EN_DASH | '+' {\n const {sign, value} = this;\n\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_EN_DASH;\n }\n\n return '+';\n }\n\n @HostBinding('class._red')\n get red(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_EN_DASH ||\n (this.value < 0 && this.sign !== 'force-positive'))\n );\n }\n\n @HostBinding('class._green')\n get green(): boolean {\n return (\n this.colored &&\n (this.signSymbol === '+' ||\n (this.value > 0 && this.sign !== 'force-negative'))\n );\n }\n\n @HostBinding('class._inherit-color')\n get inheritColor(): boolean {\n return this.singleColor || (this.value === 0 && this.colored);\n }\n\n constructor(\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiCurrencyPipeModule} from '@taiga-ui/addon-commerce/pipes';\nimport {TuiMoneyComponent} from './money.component';\n\n@NgModule({\n imports: [CommonModule, TuiCurrencyPipeModule],\n declarations: [TuiMoneyComponent],\n exports: [TuiMoneyComponent],\n})\nexport class TuiMoneyModule {}\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-money.js","sources":["ng://@taiga-ui/addon-commerce/components/money/money.component.ts","ng://@taiga-ui/addon-commerce/components/money/money.module.ts","ng://@taiga-ui/addon-commerce/components/money/taiga-ui-addon-commerce-components-money.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiCurrency} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants, TuiMoneySignT} from '@taiga-ui/addon-commerce/types';\nimport {CHAR_EN_DASH, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TuiDecimalT,\n} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-money',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './money.template.html',\n styleUrls: ['./money.style.less'],\n})\nexport class TuiMoneyComponent {\n @Input()\n @tuiDefaultProp()\n value = NaN;\n\n @Input()\n @tuiDefaultProp()\n decimal: TuiDecimalT = 'not-zero';\n\n @Input()\n @tuiDefaultProp()\n currency: TuiCurrencyVariants = TuiCurrency.Ruble;\n\n @Input()\n @tuiDefaultProp()\n sign: TuiMoneySignT = 'negative-only';\n\n @Input()\n @tuiDefaultProp()\n colored = false;\n\n @Input()\n @tuiDefaultProp()\n precision = 2;\n\n @Input()\n @tuiDefaultProp()\n singleColor = false;\n\n get integerPart(): string {\n return formatNumber(\n Math.floor(Math.abs(this.value)),\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n get fractionPart(): string {\n const {decimal, value} = this;\n const fraction = value.toFixed(this.precision).split('.')[1];\n\n return decimal === 'never' ||\n (parseInt(fraction, 10) === 0 && decimal !== 'always')\n ? ''\n : this.numberFormat.decimalSeparator + fraction;\n }\n\n get signSymbol(): '' | typeof CHAR_EN_DASH | '+' {\n const {sign, value} = this;\n\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_EN_DASH;\n }\n\n return '+';\n }\n\n @HostBinding('class._red')\n get red(): boolean {\n return (\n this.colored &&\n (this.signSymbol === CHAR_EN_DASH ||\n (this.value < 0 && this.sign !== 'force-positive'))\n );\n }\n\n @HostBinding('class._green')\n get green(): boolean {\n return (\n this.colored &&\n (this.signSymbol === '+' ||\n (this.value > 0 && this.sign !== 'force-negative'))\n );\n }\n\n @HostBinding('class._inherit-color')\n get inheritColor(): boolean {\n return this.singleColor || (this.value === 0 && this.colored);\n }\n\n constructor(\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: NumberFormatSettings,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiCurrencyPipeModule} from '@taiga-ui/addon-commerce/pipes';\n\nimport {TuiMoneyComponent} from './money.component';\n\n@NgModule({\n imports: [CommonModule, TuiCurrencyPipeModule],\n declarations: [TuiMoneyComponent],\n exports: [TuiMoneyComponent],\n})\nexport class TuiMoneyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-pipes.js","sources":["ng://@taiga-ui/addon-commerce/pipes/currency.pipe.ts","ng://@taiga-ui/addon-commerce/pipes/currency.module.ts","ng://@taiga-ui/addon-commerce/pipes/taiga-ui-addon-commerce-pipes.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {formatCurrency} from '@taiga-ui/addon-commerce/utils';\n\n@Pipe({\n name: 'tuiCurrency',\n})\nexport class TuiCurrencyPipe implements PipeTransform {\n transform(currency: TuiCurrencyVariants): string {\n return formatCurrency(currency);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiCurrencyPipe} from './currency.pipe';\n\n@NgModule({\n declarations: [TuiCurrencyPipe],\n exports: [TuiCurrencyPipe],\n})\nexport class TuiCurrencyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAOA;KAIC;IAHG,mCAAS,GAAT,UAAU,QAA6B;QACnC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KACnC;IAHQ,eAAe;QAH3B,IAAI,CAAC;YACF,IAAI,EAAE,aAAa;SACtB,CAAC;OACW,eAAe,CAI3B;IAAD,sBAAC;CAJD;;;ICAA;KAAqC;IAAxB,qBAAqB;QAJjC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;SAC7B,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACPA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-pipes.js","sources":["ng://@taiga-ui/addon-commerce/pipes/currency.pipe.ts","ng://@taiga-ui/addon-commerce/pipes/currency.module.ts","ng://@taiga-ui/addon-commerce/pipes/taiga-ui-addon-commerce-pipes.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {formatCurrency} from '@taiga-ui/addon-commerce/utils';\n\n@Pipe({\n name: 'tuiCurrency',\n})\nexport class TuiCurrencyPipe implements PipeTransform {\n transform(currency: TuiCurrencyVariants): string {\n return formatCurrency(currency);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiCurrencyPipe} from './currency.pipe';\n\n@NgModule({\n declarations: [TuiCurrencyPipe],\n exports: [TuiCurrencyPipe],\n})\nexport class TuiCurrencyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;IAOA;KAIC;IAHG,mCAAS,GAAT,UAAU,QAA6B;QACnC,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;KACnC;IAHQ,eAAe;QAH3B,IAAI,CAAC;YACF,IAAI,EAAE,aAAa;SACtB,CAAC;OACW,eAAe,CAI3B;IAAD,sBAAC;CAJD;;;ICCA;KAAqC;IAAxB,qBAAqB;QAJjC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,eAAe,CAAC;YAC/B,OAAO,EAAE,CAAC,eAAe,CAAC;SAC7B,CAAC;OACW,qBAAqB,CAAG;IAAD,4BAAC;CAArC;;ACRA;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts","ng://@taiga-ui/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[\\/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts","ng://@taiga-ui/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[\\/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = rawValue.substr(0, 2) + '/' + rawValue.substr(5);\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${'0'.repeat(2 - month.length)}${month}/${\n year ? year.substr(2) : ''\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = '/';\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = '0';\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return '₽';\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n return '$';\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return 'S$';\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return 'A$';\n case TuiCurrency.HongKong_dollar:\n case TuiCurrencyCode.HongKong_dollar:\n return 'HK$';\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return 'C$';\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return '€';\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return '£';\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return '฿';\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return '₺';\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return 'CN¥';\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return '¥';\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return '₪';\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return '₹';\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return '₣';\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return '֏';\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return '₩';\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return '₸';\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return '₴';\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === 'string'\n ? currency || ''\n : padStart(String(currency), 3, '0');\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === '') {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.substr(0, 2), 10);\n const three = Number.parseInt(cardNumber.substr(0, 3), 10);\n const four = Number.parseInt(cardNumber.substr(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, '');\n\n const {length} = cardNumber;\n const arr = cardNumber.split('').map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,6 @@
1
- import { isCardNumberValid, isExpireValid } from '@taiga-ui/addon-commerce/utils';
1
+ import { isExpireValid, isCardNumberValid } from '@taiga-ui/addon-commerce/utils';
2
2
  import { TuiValidationError } from '@taiga-ui/cdk';
3
3
 
4
- function tuiCreateLuhnValidator(message) {
5
- return function (_a) {
6
- var value = _a.value;
7
- return isCardNumberValid(value) ? null : { luhn: new TuiValidationError(message) };
8
- };
9
- }
10
-
11
4
  function tuiCardExpireValidator(_a) {
12
5
  var value = _a.value;
13
6
  var _b;
@@ -23,6 +16,13 @@ function tuiCardNumberValidator(_a) {
23
16
  : null;
24
17
  }
25
18
 
19
+ function tuiCreateLuhnValidator(message) {
20
+ return function (_a) {
21
+ var value = _a.value;
22
+ return isCardNumberValid(value) ? null : { luhn: new TuiValidationError(message) };
23
+ };
24
+ }
25
+
26
26
  /**
27
27
  * Generated bundle index. Do not edit.
28
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-commerce-validators.js","sources":["ng://@taiga-ui/addon-commerce/validators/luhn.validator.ts","ng://@taiga-ui/addon-commerce/validators/card-expire.validator.ts","ng://@taiga-ui/addon-commerce/validators/card-number.validator.ts","ng://@taiga-ui/addon-commerce/validators/taiga-ui-addon-commerce-validators.ts"],"sourcesContent":["import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport function tuiCreateLuhnValidator(message: PolymorpheusContent): ValidatorFn {\n return ({value}: AbstractControl) => {\n return isCardNumberValid(value) ? null : {luhn: new TuiValidationError(message)};\n };\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isExpireValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardExpireValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.expire?.length === 5 && !isExpireValid(value?.expire)\n ? {expire: new TuiValidationError('Expire date')}\n : null;\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardNumberValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.card && !isCardNumberValid(value.card)\n ? {card: new TuiValidationError('Invalid card number')}\n : null;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;SAKgB,sBAAsB,CAAC,OAA4B;IAC/D,OAAO,UAAC,EAAwB;YAAvB,gBAAK;QACV,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;KACpF,CAAC;AACN;;SCLgB,sBAAsB,CAAC,EAErB;QADd,gBAAK;;IAEL,OAAO,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;UAC7D,EAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAC;UAC/C,IAAI,CAAC;AACf;;SCNgB,sBAAsB,CAAC,EAErB;QADd,gBAAK;IAEL,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;UAC9C,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAC;UACrD,IAAI,CAAC;AACf;;ACVA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-addon-commerce-validators.js","sources":["ng://@taiga-ui/addon-commerce/validators/card-expire.validator.ts","ng://@taiga-ui/addon-commerce/validators/card-number.validator.ts","ng://@taiga-ui/addon-commerce/validators/luhn.validator.ts","ng://@taiga-ui/addon-commerce/validators/taiga-ui-addon-commerce-validators.ts"],"sourcesContent":["import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isExpireValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardExpireValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.expire?.length === 5 && !isExpireValid(value?.expire)\n ? {expire: new TuiValidationError('Expire date')}\n : null;\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardNumberValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.card && !isCardNumberValid(value.card)\n ? {card: new TuiValidationError('Invalid card number')}\n : null;\n}\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {isCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport function tuiCreateLuhnValidator(message: PolymorpheusContent): ValidatorFn {\n return ({value}: AbstractControl) => {\n return isCardNumberValid(value) ? null : {luhn: new TuiValidationError(message)};\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;SAIgB,sBAAsB,CAAC,EAErB;QADd,gBAAK;;IAEL,OAAO,OAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;UAC7D,EAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,aAAa,CAAC,EAAC;UAC/C,IAAI,CAAC;AACf;;SCNgB,sBAAsB,CAAC,EAErB;QADd,gBAAK;IAEL,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC;UAC9C,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,EAAC;UACrD,IAAI,CAAC;AACf;;SCLgB,sBAAsB,CAAC,OAA4B;IAC/D,OAAO,UAAC,EAAwB;YAAvB,gBAAK;QACV,OAAO,iBAAiB,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;KACpF,CAAC;AACN;;ACTA;;;;;;"}
@@ -2,8 +2,8 @@ export * from '@taiga-ui/addon-commerce/components';
2
2
  export * from '@taiga-ui/addon-commerce/constants';
3
3
  export * from '@taiga-ui/addon-commerce/enums';
4
4
  export * from '@taiga-ui/addon-commerce/pipes';
5
- export * from '@taiga-ui/addon-commerce/utils';
6
5
  export * from '@taiga-ui/addon-commerce/tokens';
6
+ export * from '@taiga-ui/addon-commerce/utils';
7
7
  export * from '@taiga-ui/addon-commerce/validators';
8
8
 
9
9
  /**
package/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from '@taiga-ui/addon-commerce/constants';
3
3
  export * from '@taiga-ui/addon-commerce/enums';
4
4
  export * from '@taiga-ui/addon-commerce/interfaces';
5
5
  export * from '@taiga-ui/addon-commerce/pipes';
6
- export * from '@taiga-ui/addon-commerce/utils';
7
6
  export * from '@taiga-ui/addon-commerce/tokens';
8
7
  export * from '@taiga-ui/addon-commerce/types';
8
+ export * from '@taiga-ui/addon-commerce/utils';
9
9
  export * from '@taiga-ui/addon-commerce/validators';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-commerce",
3
- "version": "2.22.0",
3
+ "version": "2.26.0",
4
4
  "description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
5
5
  "keywords": [
6
6
  "angular",
@@ -17,10 +17,11 @@
17
17
  "@angular/common": ">=9.0.0",
18
18
  "@angular/core": ">=9.0.0",
19
19
  "@angular/forms": ">=9.0.0",
20
- "@tinkoff/ng-polymorpheus": "3.1.11",
21
- "@taiga-ui/cdk": "2.22.0",
22
- "@taiga-ui/core": "2.22.0",
23
- "@taiga-ui/i18n": "2.22.0",
20
+ "@ng-web-apis/common": "1.12.1",
21
+ "@tinkoff/ng-polymorpheus": "3.1.12",
22
+ "@taiga-ui/cdk": "2.26.0",
23
+ "@taiga-ui/core": "2.26.0",
24
+ "@taiga-ui/i18n": "2.26.0",
24
25
  "angular2-text-mask": "9.0.0",
25
26
  "rxjs": ">=6.0.0"
26
27
  },
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiCurrencyPipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":3,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiCurrencyPipe"}],"exports":[{"__symbolic":"reference","name":"TuiCurrencyPipe"}]}]}],"members":{}},"TuiCurrencyPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"tuiCurrency"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"TuiCurrencyPipeModule":"./currency.module","TuiCurrencyPipe":"./currency.pipe"},"importAs":"@taiga-ui/addon-commerce/pipes"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiCurrencyPipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiCurrencyPipe"}],"exports":[{"__symbolic":"reference","name":"TuiCurrencyPipe"}]}]}],"members":{}},"TuiCurrencyPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"tuiCurrency"}]}],"members":{"transform":[{"__symbolic":"method"}]}}},"origins":{"TuiCurrencyPipeModule":"./currency.module","TuiCurrencyPipe":"./currency.pipe"},"importAs":"@taiga-ui/addon-commerce/pipes"}
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/addon-commerce/components"},{"from":"@taiga-ui/addon-commerce/constants"},{"from":"@taiga-ui/addon-commerce/enums"},{"from":"@taiga-ui/addon-commerce/interfaces"},{"from":"@taiga-ui/addon-commerce/pipes"},{"from":"@taiga-ui/addon-commerce/utils"},{"from":"@taiga-ui/addon-commerce/tokens"},{"from":"@taiga-ui/addon-commerce/types"},{"from":"@taiga-ui/addon-commerce/validators"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/addon-commerce"}
1
+ {"__symbolic":"module","version":4,"exports":[{"from":"@taiga-ui/addon-commerce/components"},{"from":"@taiga-ui/addon-commerce/constants"},{"from":"@taiga-ui/addon-commerce/enums"},{"from":"@taiga-ui/addon-commerce/interfaces"},{"from":"@taiga-ui/addon-commerce/pipes"},{"from":"@taiga-ui/addon-commerce/tokens"},{"from":"@taiga-ui/addon-commerce/types"},{"from":"@taiga-ui/addon-commerce/utils"},{"from":"@taiga-ui/addon-commerce/validators"}],"metadata":{},"origins":{},"importAs":"@taiga-ui/addon-commerce"}
package/types/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
+ export * from './code-length';
1
2
  export * from './currency-variants';
2
3
  export * from './money-sign';
3
- export * from './code-length';
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiCurrencyVariants":{"__symbolic":"interface"},"TuiMoneySignT":{"__symbolic":"interface"},"TuiCodeCVCLength":{"__symbolic":"interface"}},"origins":{"TuiCurrencyVariants":"./currency-variants","TuiMoneySignT":"./money-sign","TuiCodeCVCLength":"./code-length"},"importAs":"@taiga-ui/addon-commerce/types"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiCodeCVCLength":{"__symbolic":"interface"},"TuiCurrencyVariants":{"__symbolic":"interface"},"TuiMoneySignT":{"__symbolic":"interface"}},"origins":{"TuiCodeCVCLength":"./code-length","TuiCurrencyVariants":"./currency-variants","TuiMoneySignT":"./money-sign"},"importAs":"@taiga-ui/addon-commerce/types"}
@@ -1,3 +1,3 @@
1
- export * from './luhn.validator';
2
1
  export * from './card-expire.validator';
3
2
  export * from './card-number.validator';
3
+ export * from './luhn.validator';
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"tuiCreateLuhnValidator":{"__symbolic":"function","parameters":["message"],"value":{"__symbolic":"error","message":"Lambda not supported","line":6,"character":11,"module":"./luhn.validator"}},"tuiCardExpireValidator":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"expire"},"member":"length"},"right":5},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/utils","name":"isExpireValid","line":7,"character":43},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"expire"}]}}},"thenExpression":{"expire":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiValidationError","line":8,"character":23},"arguments":["Expire date"]}},"elseExpression":null}},"tuiCardNumberValidator":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"card"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/utils","name":"isCardNumberValid","line":7,"character":27},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"card"}]}}},"thenExpression":{"card":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiValidationError","line":8,"character":21},"arguments":["Invalid card number"]}},"elseExpression":null}}},"origins":{"tuiCreateLuhnValidator":"./luhn.validator","tuiCardExpireValidator":"./card-expire.validator","tuiCardNumberValidator":"./card-number.validator"},"importAs":"@taiga-ui/addon-commerce/validators"}
1
+ {"__symbolic":"module","version":4,"metadata":{"tuiCardExpireValidator":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"expire"},"member":"length"},"right":5},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/utils","name":"isExpireValid","line":7,"character":43},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"expire"}]}}},"thenExpression":{"expire":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiValidationError","line":8,"character":23},"arguments":["Expire date"]}},"elseExpression":null}},"tuiCardNumberValidator":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"if","condition":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"card"},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@taiga-ui/addon-commerce/utils","name":"isCardNumberValid","line":7,"character":27},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"value"},"member":"card"}]}}},"thenExpression":{"card":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"TuiValidationError","line":8,"character":21},"arguments":["Invalid card number"]}},"elseExpression":null}},"tuiCreateLuhnValidator":{"__symbolic":"function","parameters":["message"],"value":{"__symbolic":"error","message":"Lambda not supported","line":6,"character":11,"module":"./luhn.validator"}}},"origins":{"tuiCardExpireValidator":"./card-expire.validator","tuiCardNumberValidator":"./card-number.validator","tuiCreateLuhnValidator":"./luhn.validator"},"importAs":"@taiga-ui/addon-commerce/validators"}