@taiga-ui/kit 2.48.0 → 2.49.2

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 (169) hide show
  1. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +2 -1
  16. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  18. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
  22. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-constants.umd.js +3 -3
  32. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
  34. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +0 -11
  36. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-utils-files.umd.js +1 -1
  44. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  46. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-utils-mask.umd.js +3 -3
  48. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  50. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  51. package/components/carousel/carousel.component.d.ts +1 -1
  52. package/components/combo-box/combo-box.directive.d.ts +1 -1
  53. package/components/combo-box/combo-box.providers.d.ts +1 -1
  54. package/components/input-count/input-count.component.d.ts +2 -2
  55. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  56. package/components/input-date/input-date.component.d.ts +1 -1
  57. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  58. package/components/input-date-range/input-date-range.component.d.ts +1 -1
  59. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  60. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  61. package/components/input-number/input-number.component.d.ts +2 -2
  62. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  63. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  64. package/components/input-time/input-time-options.d.ts +1 -1
  65. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  66. package/components/pdf-viewer/pdf-viewer.service.d.ts +3 -3
  67. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
  68. package/components/tree/misc/tree.tokens.d.ts +2 -2
  69. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  70. package/esm2015/abstract/slider/slider.js +2 -2
  71. package/esm2015/components/carousel/carousel.component.js +1 -1
  72. package/esm2015/components/combo-box/combo-box.directive.js +1 -1
  73. package/esm2015/components/combo-box/combo-box.providers.js +1 -1
  74. package/esm2015/components/field-error/field-error.component.js +1 -1
  75. package/esm2015/components/input-count/input-count.component.js +2 -2
  76. package/esm2015/components/input-date/input-date.component.js +1 -1
  77. package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
  78. package/esm2015/components/input-month-range/input-month-range.component.js +4 -3
  79. package/esm2015/components/input-number/input-number.component.js +1 -1
  80. package/esm2015/components/input-phone-international/input-phone-international.component.js +4 -4
  81. package/esm2015/components/input-time/input-time-options.js +2 -2
  82. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
  83. package/esm2015/components/tree/misc/tree.tokens.js +1 -1
  84. package/esm2015/constants/masks.js +5 -5
  85. package/esm2015/pipes/field-error/field-error-pipe.js +3 -10
  86. package/esm2015/pipes/filter-by-input/filter-by-input.base.js +1 -1
  87. package/esm2015/tokens/mobile-calendar.js +1 -1
  88. package/esm2015/utils/files/format-size.js +2 -2
  89. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  90. package/esm2015/utils/mask/create-date-mask.js +3 -3
  91. package/esm2015/utils/mask/create-time-mask.js +2 -2
  92. package/esm5/abstract/slider/slider.js +1 -1
  93. package/esm5/components/carousel/carousel.component.js +1 -1
  94. package/esm5/components/combo-box/combo-box.directive.js +1 -1
  95. package/esm5/components/combo-box/combo-box.providers.js +1 -1
  96. package/esm5/components/field-error/field-error.component.js +1 -1
  97. package/esm5/components/input-count/input-count.component.js +2 -2
  98. package/esm5/components/input-date/input-date.component.js +1 -1
  99. package/esm5/components/input-date-range/input-date-range.component.js +1 -1
  100. package/esm5/components/input-month-range/input-month-range.component.js +4 -3
  101. package/esm5/components/input-number/input-number.component.js +1 -1
  102. package/esm5/components/input-phone-international/input-phone-international.component.js +4 -4
  103. package/esm5/components/input-time/input-time-options.js +1 -1
  104. package/esm5/components/pdf-viewer/pdf-viewer.service.js +1 -1
  105. package/esm5/components/tree/misc/tree.tokens.js +1 -1
  106. package/esm5/constants/masks.js +5 -5
  107. package/esm5/pipes/field-error/field-error-pipe.js +3 -14
  108. package/esm5/pipes/filter-by-input/filter-by-input.base.js +1 -1
  109. package/esm5/tokens/mobile-calendar.js +1 -1
  110. package/esm5/utils/files/format-size.js +2 -2
  111. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
  112. package/esm5/utils/mask/create-date-mask.js +3 -3
  113. package/esm5/utils/mask/create-time-mask.js +2 -2
  114. package/fesm2015/taiga-ui-kit-abstract.js +1 -1
  115. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  116. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  117. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  118. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  119. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  120. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  121. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  122. package/fesm2015/taiga-ui-kit-components-input-month-range.js +3 -2
  123. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  124. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  125. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +3 -3
  126. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  127. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
  128. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  129. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  130. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  131. package/fesm2015/taiga-ui-kit-constants.js +4 -4
  132. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  133. package/fesm2015/taiga-ui-kit-pipes-field-error.js +1 -8
  134. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  136. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  137. package/fesm2015/taiga-ui-kit-utils-files.js +1 -1
  138. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  139. package/fesm2015/taiga-ui-kit-utils-mask.js +3 -3
  140. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  141. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  142. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  143. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  144. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  145. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  146. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  147. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  148. package/fesm5/taiga-ui-kit-components-input-month-range.js +3 -2
  149. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  150. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  151. package/fesm5/taiga-ui-kit-components-input-phone-international.js +3 -3
  152. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  153. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  154. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  155. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  156. package/fesm5/taiga-ui-kit-constants.js +4 -4
  157. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  158. package/fesm5/taiga-ui-kit-pipes-field-error.js +1 -12
  159. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  160. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  161. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  162. package/fesm5/taiga-ui-kit-utils-files.js +1 -1
  163. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  164. package/fesm5/taiga-ui-kit-utils-mask.js +3 -3
  165. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  166. package/package.json +4 -4
  167. package/pipes/field-error/field-error-pipe.d.ts +2 -3
  168. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
  169. package/tokens/mobile-calendar.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<any>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<any>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.check$.next();\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler ?? TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\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-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<unknown>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<unknown>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.check$.next();\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler ?? TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { __spread } from 'tslib';
2
- import { CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
+ import { CHAR_PLUS, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
3
3
  import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
4
4
 
5
5
  var DATE_TIME_SEPARATOR = ', ';
@@ -25,7 +25,7 @@ var GROUP_CLASS_NAMES = [
25
25
  var iconBlank = '<svg></svg>';
26
26
 
27
27
  var TUI_PHONE_MASK = [
28
- '+',
28
+ CHAR_PLUS,
29
29
  '7',
30
30
  ' ',
31
31
  TUI_DIGIT_REGEXP,
@@ -35,10 +35,10 @@ var TUI_PHONE_MASK = [
35
35
  TUI_DIGIT_REGEXP,
36
36
  TUI_DIGIT_REGEXP,
37
37
  TUI_DIGIT_REGEXP,
38
- '-',
38
+ CHAR_HYPHEN,
39
39
  TUI_DIGIT_REGEXP,
40
40
  TUI_DIGIT_REGEXP,
41
- '-',
41
+ CHAR_HYPHEN,
42
42
  TUI_DIGIT_REGEXP,
43
43
  TUI_DIGIT_REGEXP,
44
44
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/max-time-values.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n '+',\n '7',\n ' ',\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 TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '-',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_TIME_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ':',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n\n/**\n * @deprecated use {@link tuiCreateDateMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\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/**\n * @deprecated use {@link tuiCreateDateRangeMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_RANGE_MASK: TuiTextMaskList = [\n ...TUI_DATE_MASK,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...TUI_DATE_MASK,\n];\n","/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n","import {TuiDay, TuiDayLike, TuiDayRange, TuiMapper} from '@taiga-ui/cdk';\n\nexport const MAX_DAY_RANGE_LENGTH_MAPPER: TuiMapper<TuiDay, TuiDay> = (\n min,\n value: TuiDayRange,\n maxLength: TuiDayLike | null,\n backwards: boolean,\n) => {\n if (!value || !value.isSingleDay || !maxLength) {\n return min;\n }\n\n const dateShift = value.from\n .append(maxLength, backwards)\n .append({day: 1}, !backwards);\n\n if (backwards) {\n return dateShift.dayBefore(min) ? min : dateShift;\n }\n\n if (!min) {\n return dateShift;\n }\n\n return dateShift.dayAfter(min) ? min : dateShift;\n};\n","import {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n","export const DEFAULT_ROUTER_LINK_OPTIONS = {\n fragment: '',\n preserveFragment: true,\n replaceUrl: false,\n skipLocationChange: false,\n queryParams: null,\n useHref: false,\n target: null,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAAa,mBAAmB,GAAG;;ICEtB,UAAU,GAAuB;IAC1C,IAAI,EAAJ;QACI,OAAO,KAAK,CAAC;KAChB;;;ICLQ,iBAAiB,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;;;ICTF,SAAS,GAAG;;ICGZ,cAAc,GAAoB;IAC3C,GAAG;IACH,GAAG;IACH,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;AAEF;;;IAGa,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;EAClB;AACF;;;IAGa,mBAAmB,YACzB,aAAa;IAChB,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;GAChB,aAAa;;ACpDpB;;;IAGa,sBAAsB,GAAG;;ICDzB,2BAA2B,GAA8B,UAClE,GAAG,EACH,KAAkB,EAClB,SAA4B,EAC5B,SAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;QAC5C,OAAO,GAAG,CAAC;KACd;IAED,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;SAC5B,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;KACrD;IAED,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;AACrD;;ICvBa,eAAe,GAAuC;IAC/D,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;;;ICNE,2BAA2B,GAAG;IACvC,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;;;ACPhB;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/max-time-values.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n CHAR_PLUS,\n '7',\n ' ',\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 CHAR_HYPHEN,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n CHAR_HYPHEN,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_TIME_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ':',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n\n/**\n * @deprecated use {@link tuiCreateDateMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\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/**\n * @deprecated use {@link tuiCreateDateRangeMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_RANGE_MASK: TuiTextMaskList = [\n ...TUI_DATE_MASK,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...TUI_DATE_MASK,\n];\n","/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n","import {TuiDay, TuiDayLike, TuiDayRange, TuiMapper} from '@taiga-ui/cdk';\n\nexport const MAX_DAY_RANGE_LENGTH_MAPPER: TuiMapper<TuiDay, TuiDay> = (\n min,\n value: TuiDayRange,\n maxLength: TuiDayLike | null,\n backwards: boolean,\n) => {\n if (!value || !value.isSingleDay || !maxLength) {\n return min;\n }\n\n const dateShift = value.from\n .append(maxLength, backwards)\n .append({day: 1}, !backwards);\n\n if (backwards) {\n return dateShift.dayBefore(min) ? min : dateShift;\n }\n\n if (!min) {\n return dateShift;\n }\n\n return dateShift.dayAfter(min) ? min : dateShift;\n};\n","import {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n","export const DEFAULT_ROUTER_LINK_OPTIONS = {\n fragment: '',\n preserveFragment: true,\n replaceUrl: false,\n skipLocationChange: false,\n queryParams: null,\n useHref: false,\n target: null,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAAa,mBAAmB,GAAG;;ICEtB,UAAU,GAAuB;IAC1C,IAAI,EAAJ;QACI,OAAO,KAAK,CAAC;KAChB;;;ICLQ,iBAAiB,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;;;ICTF,SAAS,GAAG;;ICGZ,cAAc,GAAoB;IAC3C,SAAS;IACT,GAAG;IACH,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;AAEF;;;IAGa,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;EAClB;AACF;;;IAGa,mBAAmB,YACzB,aAAa;IAChB,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;GAChB,aAAa;;ACpDpB;;;IAGa,sBAAsB,GAAG;;ICDzB,2BAA2B,GAA8B,UAClE,GAAG,EACH,KAAkB,EAClB,SAA4B,EAC5B,SAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;QAC5C,OAAO,GAAG,CAAC;KACd;IAED,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;SAC5B,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;KACrD;IAED,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;AACrD;;ICvBa,eAAe,GAAuC;IAC/D,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;;;ICNE,2BAA2B,GAAG;IACvC,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;;;ACPhB;;;;;;"}
@@ -4,7 +4,7 @@ import { AsyncPipe } from '@angular/common';
4
4
  import { NgControl, FormArrayName, FormGroupName, FormGroupDirective } from '@angular/forms';
5
5
  import { TuiValidationError, tuiPure } from '@taiga-ui/cdk';
6
6
  import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
7
- import { merge, EMPTY, of, isObservable } from 'rxjs';
7
+ import { of, isObservable } from 'rxjs';
8
8
  import { map } from 'rxjs/operators';
9
9
 
10
10
  var EMPTY_RECORD = {};
@@ -25,14 +25,6 @@ var TuiFieldErrorPipe = /** @class */ (function () {
25
25
  this.order = order;
26
26
  return this.computedError;
27
27
  };
28
- Object.defineProperty(TuiFieldErrorPipe.prototype, "change$", {
29
- get: function () {
30
- var _a, _b;
31
- return merge(((_a = this.control) === null || _a === void 0 ? void 0 : _a.valueChanges) || EMPTY, ((_b = this.control) === null || _b === void 0 ? void 0 : _b.statusChanges) || EMPTY);
32
- },
33
- enumerable: true,
34
- configurable: true
35
- });
36
28
  Object.defineProperty(TuiFieldErrorPipe.prototype, "computedError", {
37
29
  get: function () {
38
30
  return (this.invalid && this.touched && this.error) || of(null);
@@ -121,9 +113,6 @@ var TuiFieldErrorPipe = /** @class */ (function () {
121
113
  { type: FormGroupDirective, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [FormGroupDirective,] }] },
122
114
  { type: undefined, decorators: [{ type: Inject, args: [TUI_VALIDATION_ERRORS,] }] }
123
115
  ]; };
124
- __decorate([
125
- tuiPure
126
- ], TuiFieldErrorPipe.prototype, "change$", null);
127
116
  __decorate([
128
117
  tuiPure
129
118
  ], TuiFieldErrorPipe.prototype, "getErrorId", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-field-error.js","sources":["ng://@taiga-ui/kit/pipes/field-error/field-error-pipe.ts","ng://@taiga-ui/kit/pipes/field-error/field-error-content-pipe.ts","ng://@taiga-ui/kit/pipes/field-error/field-error.module.ts","ng://@taiga-ui/kit/pipes/field-error/taiga-ui-kit-pipes-field-error.ts"],"sourcesContent":["import {Inject, Optional, Pipe, PipeTransform, Self} from '@angular/core';\nimport {\n AbstractControl,\n FormArrayName,\n FormGroupDirective,\n FormGroupName,\n NgControl,\n} from '@angular/forms';\nimport {tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, isObservable, merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n\n// @dynamic\n@Pipe({\n name: 'tuiFieldError',\n pure: false,\n})\nexport class TuiFieldErrorPipe implements PipeTransform {\n private order: readonly string[] = [];\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly ngControl: NgControl | null,\n @Optional()\n @Self()\n @Inject(FormArrayName)\n private readonly formArrayName: FormArrayName | null,\n @Optional()\n @Self()\n @Inject(FormGroupName)\n private readonly formGroupName: FormGroupName | null,\n @Optional()\n @Self()\n @Inject(FormGroupDirective)\n private readonly formGroup: FormGroupDirective | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n PolymorpheusContent | Observable<PolymorpheusContent>\n >,\n ) {\n if (this.ngControl && !this.ngControl.valueAccessor) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n transform(order: readonly string[]): Observable<TuiValidationError | null> {\n this.order = order;\n\n return this.computedError;\n }\n\n @tuiPure\n get change$(): Observable<unknown> {\n return merge(\n this.control?.valueChanges || EMPTY,\n this.control?.statusChanges || EMPTY,\n );\n }\n\n get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n registerOnChange(): void {}\n\n registerOnTouched(): void {}\n\n setDisabledState(): void {}\n\n writeValue(): void {}\n\n private get error(): Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control?.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control?.touched;\n }\n\n private get control(): AbstractControl | null {\n return (\n this.ngControl?.control ||\n this.formArrayName?.control ||\n this.formGroupName?.control ||\n this.formGroup?.control ||\n null\n );\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, any> {\n return this.control?.errors || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, any>,\n ): string {\n const id = order?.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || '';\n }\n\n @tuiPure\n private getError(\n firstError: any,\n errorContent?: PolymorpheusContent | Observable<PolymorpheusContent>,\n ): Observable<TuiValidationError> {\n if (firstError instanceof TuiValidationError) {\n return of(firstError);\n }\n\n if (errorContent === undefined && typeof firstError === 'string') {\n return of(new TuiValidationError(firstError));\n }\n\n if (isObservable(errorContent)) {\n return errorContent.pipe(\n map(error => new TuiValidationError(error || '', firstError)),\n );\n }\n\n return of(new TuiValidationError(errorContent || '', firstError));\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Inject, Injector, OnDestroy, Pipe, PipeTransform} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n// @dynamic\n@Pipe({\n name: 'tuiFieldErrorContent',\n pure: false,\n})\nexport class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {\n private readonly localInjector = Injector.create({\n providers: [{provide: AsyncPipe}, {provide: TuiFieldErrorPipe}],\n parent: this.injector,\n });\n\n private readonly asyncPipe = this.localInjector.get(AsyncPipe);\n private readonly fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);\n\n constructor(@Inject(Injector) private readonly injector: Injector) {}\n\n transform(order: readonly string[]): PolymorpheusContent {\n return this.getErrorContent(order);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n private getErrorContent(order: readonly string[]): PolymorpheusContent {\n const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));\n\n if (!error) {\n return '';\n }\n\n return typeof error.message === 'function'\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFieldErrorContentPipe} from './field-error-content-pipe';\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@NgModule({\n declarations: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n exports: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n})\nexport class TuiFieldErrorPipeModule {}\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-kit-pipes-field-error.js","sources":["ng://@taiga-ui/kit/pipes/field-error/field-error-pipe.ts","ng://@taiga-ui/kit/pipes/field-error/field-error-content-pipe.ts","ng://@taiga-ui/kit/pipes/field-error/field-error.module.ts","ng://@taiga-ui/kit/pipes/field-error/taiga-ui-kit-pipes-field-error.ts"],"sourcesContent":["import {Inject, Optional, Pipe, PipeTransform, Self} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n FormArrayName,\n FormGroupDirective,\n FormGroupName,\n NgControl,\n} from '@angular/forms';\nimport {tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n\n// @dynamic\n@Pipe({\n name: 'tuiFieldError',\n pure: false,\n})\nexport class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {\n private order: readonly string[] = [];\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly ngControl: NgControl | null,\n @Optional()\n @Self()\n @Inject(FormArrayName)\n private readonly formArrayName: FormArrayName | null,\n @Optional()\n @Self()\n @Inject(FormGroupName)\n private readonly formGroupName: FormGroupName | null,\n @Optional()\n @Self()\n @Inject(FormGroupDirective)\n private readonly formGroup: FormGroupDirective | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n PolymorpheusContent | Observable<PolymorpheusContent>\n >,\n ) {\n if (this.ngControl && !this.ngControl.valueAccessor) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n transform(order: readonly string[]): Observable<TuiValidationError | null> {\n this.order = order;\n\n return this.computedError;\n }\n\n get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n registerOnChange(): void {}\n\n registerOnTouched(): void {}\n\n setDisabledState(): void {}\n\n writeValue(): void {}\n\n private get error(): Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control?.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control?.touched;\n }\n\n private get control(): AbstractControl | null {\n return (\n this.ngControl?.control ||\n this.formArrayName?.control ||\n this.formGroupName?.control ||\n this.formGroup?.control ||\n null\n );\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, unknown> {\n return this.control?.errors || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, unknown>,\n ): string {\n const id = order?.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || '';\n }\n\n @tuiPure\n private getError(\n firstError: any,\n errorContent?: PolymorpheusContent | Observable<PolymorpheusContent>,\n ): Observable<TuiValidationError> {\n if (firstError instanceof TuiValidationError) {\n return of(firstError);\n }\n\n if (errorContent === undefined && typeof firstError === 'string') {\n return of(new TuiValidationError(firstError));\n }\n\n if (isObservable(errorContent)) {\n return errorContent.pipe(\n map(error => new TuiValidationError(error || '', firstError)),\n );\n }\n\n return of(new TuiValidationError(errorContent || '', firstError));\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Inject, Injector, OnDestroy, Pipe, PipeTransform} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n// @dynamic\n@Pipe({\n name: 'tuiFieldErrorContent',\n pure: false,\n})\nexport class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {\n private readonly localInjector = Injector.create({\n providers: [{provide: AsyncPipe}, {provide: TuiFieldErrorPipe}],\n parent: this.injector,\n });\n\n private readonly asyncPipe = this.localInjector.get(AsyncPipe);\n private readonly fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);\n\n constructor(@Inject(Injector) private readonly injector: Injector) {}\n\n transform(order: readonly string[]): PolymorpheusContent {\n return this.getErrorContent(order);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n private getErrorContent(order: readonly string[]): PolymorpheusContent {\n const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));\n\n if (!error) {\n return '';\n }\n\n return typeof error.message === 'function'\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFieldErrorContentPipe} from './field-error-content-pipe';\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@NgModule({\n declarations: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n exports: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n})\nexport class TuiFieldErrorPipeModule {}\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-kit-pipes-filter-by-input.js","sources":["ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.base.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input-with.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.module.ts","ng://@taiga-ui/kit/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport {\n isPresent,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringHandler,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nexport type ArrayElement<A> = A extends ReadonlyArray<infer T>\n ? A extends ReadonlyArray<ReadonlyArray<infer G>>\n ? G\n : T\n : never;\n\n/**\n * @deprecated\n * TODO: 3.0 replace with {@link AbstractTuiFilterByInputBase}\n */\nexport abstract class TuiFilterByInputBase {\n protected abstract readonly accessor: TuiFocusableElementAccessor;\n\n protected get query(): string {\n return this.accessor.nativeFocusableElement\n ? (this.accessor.nativeFocusableElement as any).value || ''\n : '';\n }\n\n @tuiPure\n protected filter<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filterFlat(items, matcher, stringify, query)\n : this.filter2d(items, matcher, stringify, query);\n }\n\n private filterFlat<T>(\n items: readonly T[],\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] {\n const match = this.getMatch(items, stringify, query);\n\n return isPresent(match)\n ? items\n : items.filter(item => matcher(item, query, stringify));\n }\n\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): ReadonlyArray<readonly T[]> {\n const match = items.find(item =>\n isPresent(this.getMatch(item, stringify, query)),\n );\n\n return isPresent(match)\n ? items\n : items.map(inner => this.filterFlat(inner, matcher, stringify, query));\n }\n\n private getMatch<T>(\n items: readonly T[],\n stringify: TuiStringHandler<T>,\n query: string,\n ): T | undefined {\n return items.find(\n item => stringify(item).toLocaleLowerCase() === query.toLocaleLowerCase(),\n );\n }\n}\n\nexport abstract class AbstractTuiFilterByInputBase extends TuiFilterByInputBase {}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInput',\n pure: false,\n})\nexport class TuiFilterByInputPipe extends TuiFilterByInputBase implements PipeTransform {\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringMatcher<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T> = TUI_DEFAULT_MATCHER,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInputWith',\n pure: false,\n})\nexport class TuiFilterByInputWithPipe\n extends TuiFilterByInputBase\n implements PipeTransform\n{\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringHandler<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n stringify: TuiStringHandler<T>,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFilterByInputPipe} from './filter-by-input.pipe';\nimport {TuiFilterByInputWithPipe} from './filter-by-input-with.pipe';\n\n@NgModule({\n declarations: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n exports: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n})\nexport class TuiFilterByInputPipeModule {}\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-kit-pipes-filter-by-input.js","sources":["ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.base.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input-with.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.module.ts","ng://@taiga-ui/kit/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\nimport {\n isPresent,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringHandler,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nexport type ArrayElement<A> = A extends ReadonlyArray<infer T>\n ? A extends ReadonlyArray<ReadonlyArray<infer G>>\n ? G\n : T\n : never;\n\n/**\n * @deprecated\n * TODO: 3.0 replace with {@link AbstractTuiFilterByInputBase}\n */\nexport abstract class TuiFilterByInputBase {\n protected abstract readonly accessor: TuiFocusableElementAccessor;\n\n protected get query(): string {\n return this.accessor.nativeFocusableElement\n ? (this.accessor.nativeFocusableElement as HTMLInputElement).value || ''\n : '';\n }\n\n @tuiPure\n protected filter<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filterFlat(items, matcher, stringify, query)\n : this.filter2d(items, matcher, stringify, query);\n }\n\n private filterFlat<T>(\n items: readonly T[],\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] {\n const match = this.getMatch(items, stringify, query);\n\n return isPresent(match)\n ? items\n : items.filter(item => matcher(item, query, stringify));\n }\n\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): ReadonlyArray<readonly T[]> {\n const match = items.find(item =>\n isPresent(this.getMatch(item, stringify, query)),\n );\n\n return isPresent(match)\n ? items\n : items.map(inner => this.filterFlat(inner, matcher, stringify, query));\n }\n\n private getMatch<T>(\n items: readonly T[],\n stringify: TuiStringHandler<T>,\n query: string,\n ): T | undefined {\n return items.find(\n item => stringify(item).toLocaleLowerCase() === query.toLocaleLowerCase(),\n );\n }\n}\n\nexport abstract class AbstractTuiFilterByInputBase extends TuiFilterByInputBase {}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInput',\n pure: false,\n})\nexport class TuiFilterByInputPipe extends TuiFilterByInputBase implements PipeTransform {\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringMatcher<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T> = TUI_DEFAULT_MATCHER,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInputWith',\n pure: false,\n})\nexport class TuiFilterByInputWithPipe\n extends TuiFilterByInputBase\n implements PipeTransform\n{\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringHandler<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n stringify: TuiStringHandler<T>,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFilterByInputPipe} from './filter-by-input.pipe';\nimport {TuiFilterByInputWithPipe} from './filter-by-input-with.pipe';\n\n@NgModule({\n declarations: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n exports: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n})\nexport class TuiFilterByInputPipeModule {}\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-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/date-inputs-value-transformers.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/items-handlers.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/month-formatter.ts","ng://@taiga-ui/kit/tokens/tab-margin.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange, TuiTime} from '@taiga-ui/cdk';\n\nexport const TUI_DATE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDay | null>\n>('Control value transformer of TuiDay to custom value format for InputDate* components');\n\nexport const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDayRange | null>\n>('Control value transformer for InputDateRange component');\n\nexport const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<[TuiDay | null, TuiTime | null]>\n>('Control value transformer for InputDateTime component');\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_HIDE_TEXT = new InjectionToken(`i18n 'hide' word`, {\n factory: extractI18n('hide'),\n});\n\nexport const TUI_SHOW_ALL_TEXT = new InjectionToken(`i18n 'show all' word`, {\n factory: extractI18n('showAll'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('pagination'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiIdentityMatcher,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nexport interface TuiItemsHandlers<T> {\n readonly stringify: TuiStringHandler<T>;\n readonly identityMatcher: TuiIdentityMatcher<T>;\n readonly disabledItemHandler: TuiBooleanHandler<T>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: TUI_DEFAULT_STRINGIFY,\n identityMatcher: TUI_DEFAULT_IDENTITY_MATCHER,\n disabledItemHandler: ALWAYS_FALSE_HANDLER,\n};\n\nexport const TUI_ITEMS_HANDLERS = new InjectionToken<TuiItemsHandlers<unknown>>(\n 'Default items handlers for components',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport const tuiItemsHandlersProvider: <T>(\n options: Partial<TuiItemsHandlers<T>>,\n) => ValueProvider = <T>(options: Partial<TuiItemsHandlers<T>>) => ({\n provide: TUI_ITEMS_HANDLERS,\n useValue: {...TUI_DEFAULT_ITEMS_HANDLERS, ...options},\n});\n","import {InjectionToken} from '@angular/core';\n\n/** @deprecated use {@link TuiMobileTabsDirective} from @taiga-ui/addon-mobile */\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<any>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiMonth} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MONTH_FORMATTER = new InjectionToken<\n TuiHandler<TuiMonth | null, Observable<string>>\n>('A function to get localized formatted month');\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_TAB_MARGIN = new InjectionToken<number>('Margin between tabs', {\n factory: () => 24,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\n// TODO: 3.0 use TUI_TAG_OPTIONS instead of it\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent | Observable<PolymorpheusContent>>\n>('Validation errors', {\n factory: () => ({}),\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-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/date-inputs-value-transformers.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/items-handlers.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/month-formatter.ts","ng://@taiga-ui/kit/tokens/tab-margin.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange, TuiTime} from '@taiga-ui/cdk';\n\nexport const TUI_DATE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDay | null>\n>('Control value transformer of TuiDay to custom value format for InputDate* components');\n\nexport const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDayRange | null>\n>('Control value transformer for InputDateRange component');\n\nexport const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<[TuiDay | null, TuiTime | null]>\n>('Control value transformer for InputDateTime component');\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_HIDE_TEXT = new InjectionToken(`i18n 'hide' word`, {\n factory: extractI18n('hide'),\n});\n\nexport const TUI_SHOW_ALL_TEXT = new InjectionToken(`i18n 'show all' word`, {\n factory: extractI18n('showAll'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('pagination'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","import {InjectionToken, ValueProvider} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiIdentityMatcher,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nexport interface TuiItemsHandlers<T> {\n readonly stringify: TuiStringHandler<T>;\n readonly identityMatcher: TuiIdentityMatcher<T>;\n readonly disabledItemHandler: TuiBooleanHandler<T>;\n}\n\nexport const TUI_DEFAULT_ITEMS_HANDLERS: TuiItemsHandlers<unknown> = {\n stringify: TUI_DEFAULT_STRINGIFY,\n identityMatcher: TUI_DEFAULT_IDENTITY_MATCHER,\n disabledItemHandler: ALWAYS_FALSE_HANDLER,\n};\n\nexport const TUI_ITEMS_HANDLERS = new InjectionToken<TuiItemsHandlers<unknown>>(\n 'Default items handlers for components',\n {\n factory: () => TUI_DEFAULT_ITEMS_HANDLERS,\n },\n);\n\nexport const tuiItemsHandlersProvider: <T>(\n options: Partial<TuiItemsHandlers<T>>,\n) => ValueProvider = <T>(options: Partial<TuiItemsHandlers<T>>) => ({\n provide: TUI_ITEMS_HANDLERS,\n useValue: {...TUI_DEFAULT_ITEMS_HANDLERS, ...options},\n});\n","import {InjectionToken} from '@angular/core';\n\n/** @deprecated use {@link TuiMobileTabsDirective} from @taiga-ui/addon-mobile */\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<unknown>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiHandler, TuiMonth} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_MONTH_FORMATTER = new InjectionToken<\n TuiHandler<TuiMonth | null, Observable<string>>\n>('A function to get localized formatted month');\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_TAB_MARGIN = new InjectionToken<number>('Margin between tabs', {\n factory: () => 24,\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\n// TODO: 3.0 use TUI_TAG_OPTIONS instead of it\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent | Observable<PolymorpheusContent>>\n>('Validation errors', {\n factory: () => ({}),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ function formatSize(units, size) {
10
10
  return size + " " + units[0];
11
11
  }
12
12
  if (size < BYTES_PER_MB) {
13
- return (size / BYTES_PER_KB).toFixed() + " " + units[1];
13
+ return (size / BYTES_PER_KB).toFixed(0) + " " + units[1];
14
14
  }
15
15
  return round(size / BYTES_PER_MB, 2).toLocaleString('ru-RU') + " " + units[2];
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-files.js","sources":["ng://@taiga-ui/kit/utils/files/format-size.ts","ng://@taiga-ui/kit/utils/files/get-accept-array.ts","ng://@taiga-ui/kit/utils/files/taiga-ui-kit-utils-files.ts"],"sourcesContent":["import {round} from '@taiga-ui/cdk';\n\nconst BYTES_PER_KB = 1000;\nconst BYTES_PER_MB = 1000 * BYTES_PER_KB;\n\nexport function formatSize(\n units: [string, string, string],\n size?: number,\n): string | null {\n if (size === undefined) {\n return null;\n }\n\n if (size < BYTES_PER_KB) {\n return `${size} ${units[0]}`;\n }\n\n if (size < BYTES_PER_MB) {\n return `${(size / BYTES_PER_KB).toFixed()} ${units[1]}`;\n }\n\n return `${round(size / BYTES_PER_MB, 2).toLocaleString('ru-RU')} ${units[2]}`;\n}\n","export function getAcceptArray(accept: string): readonly string[] {\n return accept\n .toLowerCase()\n .split(',')\n .map(format => format.trim());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA,IAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,IAAM,YAAY,GAAG,IAAI,GAAG,YAAY,CAAC;SAEzB,UAAU,CACtB,KAA+B,EAC/B,IAAa;IAEb,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,GAAG,YAAY,EAAE;QACrB,OAAU,IAAI,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;KAChC;IAED,IAAI,IAAI,GAAG,YAAY,EAAE;QACrB,OAAU,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,EAAE,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;KAC3D;IAED,OAAU,KAAK,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;AAClF;;SCtBgB,cAAc,CAAC,MAAc;IACzC,OAAO,MAAM;SACR,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAI,EAAE,GAAA,CAAC,CAAC;AACtC;;ACLA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-utils-files.js","sources":["ng://@taiga-ui/kit/utils/files/format-size.ts","ng://@taiga-ui/kit/utils/files/get-accept-array.ts","ng://@taiga-ui/kit/utils/files/taiga-ui-kit-utils-files.ts"],"sourcesContent":["import {round} from '@taiga-ui/cdk';\n\nconst BYTES_PER_KB = 1000;\nconst BYTES_PER_MB = 1000 * BYTES_PER_KB;\n\nexport function formatSize(\n units: [string, string, string],\n size?: number,\n): string | null {\n if (size === undefined) {\n return null;\n }\n\n if (size < BYTES_PER_KB) {\n return `${size} ${units[0]}`;\n }\n\n if (size < BYTES_PER_MB) {\n return `${(size / BYTES_PER_KB).toFixed(0)} ${units[1]}`;\n }\n\n return `${round(size / BYTES_PER_MB, 2).toLocaleString('ru-RU')} ${units[2]}`;\n}\n","export function getAcceptArray(accept: string): readonly string[] {\n return accept\n .toLowerCase()\n .split(',')\n .map(format => format.trim());\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAEA,IAAM,YAAY,GAAG,IAAI,CAAC;AAC1B,IAAM,YAAY,GAAG,IAAI,GAAG,YAAY,CAAC;SAEzB,UAAU,CACtB,KAA+B,EAC/B,IAAa;IAEb,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,GAAG,YAAY,EAAE;QACrB,OAAU,IAAI,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;KAChC;IAED,IAAI,IAAI,GAAG,YAAY,EAAE;QACrB,OAAU,CAAC,IAAI,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;KAC5D;IAED,OAAU,KAAK,CAAC,IAAI,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,SAAI,KAAK,CAAC,CAAC,CAAG,CAAC;AAClF;;SCtBgB,cAAc,CAAC,MAAc;IACzC,OAAO,MAAM;SACR,WAAW,EAAE;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,IAAI,EAAE,GAAA,CAAC,CAAC;AACtC;;ACLA;;;;;;"}
@@ -118,8 +118,8 @@ function tuiCreateAutoCorrectedDateTimePipe(configs) {
118
118
  };
119
119
  }
120
120
 
121
- var TWO_DIGITS = Array(2).fill(TUI_DIGIT_REGEXP);
122
- var FOUR_DIGITS = Array(4).fill(TUI_DIGIT_REGEXP);
121
+ var TWO_DIGITS = new Array(2).fill(TUI_DIGIT_REGEXP);
122
+ var FOUR_DIGITS = new Array(4).fill(TUI_DIGIT_REGEXP);
123
123
  function tuiCreateDateMask(mode, separator) {
124
124
  tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');
125
125
  switch (mode) {
@@ -144,7 +144,7 @@ function tuiCreateDateRangeMask(dateMode, dateSeparator) {
144
144
 
145
145
  function tuiCreateTimePartMask(maxPartValue, prefix) {
146
146
  var length = String(maxPartValue).length;
147
- var regExp = Array(length).fill(TUI_DIGIT_REGEXP);
147
+ var regExp = new Array(length).fill(TUI_DIGIT_REGEXP);
148
148
  if (prefix) {
149
149
  regExp.unshift(prefix);
150
150
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-mask.js","sources":["ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-range-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-date-mask.ts","ng://@taiga-ui/kit/utils/mask/create-date-range-mask.ts","ng://@taiga-ui/kit/utils/mask/create-time-mask.ts","ng://@taiga-ui/kit/utils/mask/taiga-ui-kit-utils-mask.ts"],"sourcesContent":["import {DATE_FILLER_LENGTH, TuiDateMode, TuiDay} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\nexport interface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDay | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nexport function normalizeDateValue(\n dateValue: string,\n {value, min, max, dateFormat, dateSeparator}: TuiAutoCorrectedDatePipeConfigs,\n): string {\n return value && value.toString(dateFormat, dateSeparator) === dateValue\n ? dateValue\n : TuiDay.normalizeParse(dateValue, dateFormat)\n .dayLimit(min, max)\n .toString(dateFormat, dateSeparator);\n}\n\nexport function tuiCreateAutoCorrectedDatePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => {\n if (value.length !== DATE_FILLER_LENGTH) {\n return {value};\n }\n\n return {\n value: normalizeDateValue(value, config),\n };\n };\n}\n","import {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TuiDateMode,\n TuiDay,\n TuiDayRange,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\ninterface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDayRange | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nfunction parseWithLimit(value: string, config: TuiAutoCorrectedDatePipeConfigs): TuiDay {\n return TuiDay.normalizeParse(\n value.slice(0, DATE_FILLER_LENGTH),\n config.dateFormat,\n ).dayLimit(config.min, config.max);\n}\n\nfunction processRawValue(value: string, config: TuiAutoCorrectedDatePipeConfigs): string {\n const {dateFormat, dateSeparator} = config;\n\n switch (value.length) {\n case DATE_FILLER_LENGTH:\n return parseWithLimit(value, config).toString(dateFormat, dateSeparator);\n case DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length:\n return (\n parseWithLimit(value, config).toString(dateFormat, dateSeparator) +\n RANGE_SEPARATOR_CHAR\n );\n case DATE_RANGE_FILLER_LENGTH:\n return config.value &&\n config.value.toString(dateFormat, dateSeparator) === value\n ? value\n : TuiDayRange.sort(\n parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config),\n parseWithLimit(\n value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n config,\n ),\n ).toString(dateFormat, dateSeparator);\n default:\n return value;\n }\n}\n\n/**\n * Normalizes date in formatted string\n *\n * Normalizes when:\n *\n * 1. It is a single date\n * 2. It is a single date and a separator\n * 3. It is two dates and a separator between them\n *\n * In **other** cases, the value does not change.\n *\n * @param config with min and max date\n * @return mask pipe handler that handles `min` and `max`\n */\nexport function tuiCreateAutoCorrectedDateRangePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => ({value: processRawValue(value, config)});\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\n/**\n * Adjusts the entered time by omitting only suitable values for hours and minutes\n * @returns time as a string\n */\nexport function tuiCreateAutoCorrectedTimePipe(\n timeMode: TuiTimeMode = 'HH:MM',\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskPipeHandler {\n const timeFormatArray = ['HH', 'MM', 'SS', 'MS'] as const;\n const safeValues = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return conformedValue => {\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n timeFormatArray.forEach(format => {\n const position = timeMode.indexOf(format);\n const maxFirstDigit = parseInt(String(safeValues[format]).slice(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = '0';\n indexesOfPipedChars.push(position);\n }\n });\n\n const isInvalid = timeFormatArray.some(\n format =>\n parseInt(conformedValue.slice(timeMode.indexOf(format), 2), 10) >\n safeValues[format],\n );\n\n return isInvalid\n ? false\n : {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {DATE_FILLER_LENGTH, TuiTimeMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\n\nimport {\n normalizeDateValue,\n TuiAutoCorrectedDatePipeConfigs,\n} from './create-auto-corrected-date-pipe';\nimport {tuiCreateAutoCorrectedTimePipe} from './create-auto-corrected-time-pipe';\n\ninterface TuiAutoCorrectedDateTimePipeConfigs extends TuiAutoCorrectedDatePipeConfigs {\n timeMode: TuiTimeMode;\n}\n\nexport function tuiCreateAutoCorrectedDateTimePipe(\n configs: TuiAutoCorrectedDateTimePipeConfigs,\n): TuiTextMaskPipeHandler {\n const timePipe = tuiCreateAutoCorrectedTimePipe(configs.timeMode);\n\n return value => {\n if (value.length < DATE_FILLER_LENGTH) {\n return {value};\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const formattedDate = normalizeDateValue(date, configs);\n\n if (!time) {\n return {value: formattedDate};\n }\n\n const pipedTime = timePipe(time, {} as any);\n\n if (!pipedTime || typeof pipedTime === 'string') {\n return false;\n }\n\n return {\n value: `${formattedDate}${DATE_TIME_SEPARATOR}${pipedTime.value}`,\n indexesOfPipedChars: pipedTime.indexesOfPipedChars\n ? pipedTime.indexesOfPipedChars.map(i => i + date.length + 2)\n : undefined,\n };\n };\n}\n","import {tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nconst TWO_DIGITS = Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = Array(4).fill(TUI_DIGIT_REGEXP);\n\nexport function tuiCreateDateMask(mode: TuiDateMode, separator: string): TuiTextMaskList {\n tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');\n\n switch (mode) {\n case 'YMD':\n return [...FOUR_DIGITS, separator, ...TWO_DIGITS, separator, ...TWO_DIGITS];\n case 'MDY':\n case 'DMY':\n default:\n return [...TWO_DIGITS, separator, ...TWO_DIGITS, separator, ...FOUR_DIGITS];\n }\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskList} from '@taiga-ui/core';\n\nimport {tuiCreateDateMask} from './create-date-mask';\n\nexport function tuiCreateDateRangeMask(\n dateMode: TuiDateMode,\n dateSeparator: string,\n): TuiTextMaskList {\n tuiAssert.assert(\n dateSeparator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dateMask = tuiCreateDateMask(dateMode, dateSeparator);\n\n return [\n ...dateMask,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...dateMask,\n ];\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nfunction tuiCreateTimePartMask(\n maxPartValue: number,\n prefix?: string,\n): Array<string | RegExp> {\n const {length} = String(maxPartValue);\n const regExp = Array(length).fill(TUI_DIGIT_REGEXP);\n\n if (prefix) {\n regExp.unshift(prefix);\n }\n\n return regExp;\n}\n\nexport function tuiCreateTimeMask(\n mode: TuiTimeMode,\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskList {\n const {HH, MM, SS, MS} = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return [\n ...tuiCreateTimePartMask(HH),\n ...tuiCreateTimePartMask(MM, ':'),\n ...(mode.includes('HH:MM:SS') ? tuiCreateTimePartMask(SS, ':') : []),\n ...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),\n ];\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-kit-utils-mask.js","sources":["ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-range-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-auto-corrected-date-time-pipe.ts","ng://@taiga-ui/kit/utils/mask/create-date-mask.ts","ng://@taiga-ui/kit/utils/mask/create-date-range-mask.ts","ng://@taiga-ui/kit/utils/mask/create-time-mask.ts","ng://@taiga-ui/kit/utils/mask/taiga-ui-kit-utils-mask.ts"],"sourcesContent":["import {DATE_FILLER_LENGTH, TuiDateMode, TuiDay} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\nexport interface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDay | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nexport function normalizeDateValue(\n dateValue: string,\n {value, min, max, dateFormat, dateSeparator}: TuiAutoCorrectedDatePipeConfigs,\n): string {\n return value && value.toString(dateFormat, dateSeparator) === dateValue\n ? dateValue\n : TuiDay.normalizeParse(dateValue, dateFormat)\n .dayLimit(min, max)\n .toString(dateFormat, dateSeparator);\n}\n\nexport function tuiCreateAutoCorrectedDatePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => {\n if (value.length !== DATE_FILLER_LENGTH) {\n return {value};\n }\n\n return {\n value: normalizeDateValue(value, config),\n };\n };\n}\n","import {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TuiDateMode,\n TuiDay,\n TuiDayRange,\n} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler, TuiWithOptionalMinMaxWithValue} from '@taiga-ui/core';\n\ninterface TuiAutoCorrectedDatePipeConfigs\n extends TuiWithOptionalMinMaxWithValue<TuiDayRange | null, TuiDay> {\n dateFormat: TuiDateMode;\n dateSeparator: string;\n}\n\nfunction parseWithLimit(value: string, config: TuiAutoCorrectedDatePipeConfigs): TuiDay {\n return TuiDay.normalizeParse(\n value.slice(0, DATE_FILLER_LENGTH),\n config.dateFormat,\n ).dayLimit(config.min, config.max);\n}\n\nfunction processRawValue(value: string, config: TuiAutoCorrectedDatePipeConfigs): string {\n const {dateFormat, dateSeparator} = config;\n\n switch (value.length) {\n case DATE_FILLER_LENGTH:\n return parseWithLimit(value, config).toString(dateFormat, dateSeparator);\n case DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length:\n return (\n parseWithLimit(value, config).toString(dateFormat, dateSeparator) +\n RANGE_SEPARATOR_CHAR\n );\n case DATE_RANGE_FILLER_LENGTH:\n return config.value &&\n config.value.toString(dateFormat, dateSeparator) === value\n ? value\n : TuiDayRange.sort(\n parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config),\n parseWithLimit(\n value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length),\n config,\n ),\n ).toString(dateFormat, dateSeparator);\n default:\n return value;\n }\n}\n\n/**\n * Normalizes date in formatted string\n *\n * Normalizes when:\n *\n * 1. It is a single date\n * 2. It is a single date and a separator\n * 3. It is two dates and a separator between them\n *\n * In **other** cases, the value does not change.\n *\n * @param config with min and max date\n * @return mask pipe handler that handles `min` and `max`\n */\nexport function tuiCreateAutoCorrectedDateRangePipe(\n config: TuiAutoCorrectedDatePipeConfigs,\n): TuiTextMaskPipeHandler {\n return value => ({value: processRawValue(value, config)});\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskPipeHandler} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\n/**\n * Adjusts the entered time by omitting only suitable values for hours and minutes\n * @returns time as a string\n */\nexport function tuiCreateAutoCorrectedTimePipe(\n timeMode: TuiTimeMode = 'HH:MM',\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskPipeHandler {\n const timeFormatArray = ['HH', 'MM', 'SS', 'MS'] as const;\n const safeValues = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return conformedValue => {\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split('');\n\n timeFormatArray.forEach(format => {\n const position = timeMode.indexOf(format);\n const maxFirstDigit = parseInt(String(safeValues[format]).slice(0, 1), 10);\n\n if (parseInt(conformedValueArr[position], 10) > maxFirstDigit) {\n conformedValueArr[position + 1] = conformedValueArr[position];\n conformedValueArr[position] = '0';\n indexesOfPipedChars.push(position);\n }\n });\n\n const isInvalid = timeFormatArray.some(\n format =>\n parseInt(conformedValue.slice(timeMode.indexOf(format), 2), 10) >\n safeValues[format],\n );\n\n return isInvalid\n ? false\n : {\n value: conformedValueArr.join(''),\n indexesOfPipedChars,\n };\n };\n}\n","import {DATE_FILLER_LENGTH, TuiTimeMode} from '@taiga-ui/cdk';\nimport {\n TuiTextMaskConfig,\n TuiTextMaskOptions,\n TuiTextMaskPipeHandler,\n} from '@taiga-ui/core';\nimport {DATE_TIME_SEPARATOR} from '@taiga-ui/kit/constants';\n\nimport {\n normalizeDateValue,\n TuiAutoCorrectedDatePipeConfigs,\n} from './create-auto-corrected-date-pipe';\nimport {tuiCreateAutoCorrectedTimePipe} from './create-auto-corrected-time-pipe';\n\ninterface TuiAutoCorrectedDateTimePipeConfigs extends TuiAutoCorrectedDatePipeConfigs {\n timeMode: TuiTimeMode;\n}\n\nexport function tuiCreateAutoCorrectedDateTimePipe(\n configs: TuiAutoCorrectedDateTimePipeConfigs,\n): TuiTextMaskPipeHandler {\n const timePipe = tuiCreateAutoCorrectedTimePipe(configs.timeMode);\n\n return value => {\n if (value.length < DATE_FILLER_LENGTH) {\n return {value};\n }\n\n const [date, time] = value.split(DATE_TIME_SEPARATOR);\n\n const formattedDate = normalizeDateValue(date, configs);\n\n if (!time) {\n return {value: formattedDate};\n }\n\n const pipedTime = timePipe(\n time,\n {} as unknown as TuiTextMaskOptions & TuiTextMaskConfig,\n );\n\n if (!pipedTime || typeof pipedTime === 'string') {\n return false;\n }\n\n return {\n value: `${formattedDate}${DATE_TIME_SEPARATOR}${pipedTime.value}`,\n indexesOfPipedChars: pipedTime.indexesOfPipedChars\n ? pipedTime.indexesOfPipedChars.map(i => i + date.length + 2)\n : undefined,\n };\n };\n}\n","import {tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nconst TWO_DIGITS = new Array(2).fill(TUI_DIGIT_REGEXP);\nconst FOUR_DIGITS = new Array(4).fill(TUI_DIGIT_REGEXP);\n\nexport function tuiCreateDateMask(mode: TuiDateMode, separator: string): TuiTextMaskList {\n tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');\n\n switch (mode) {\n case 'YMD':\n return [...FOUR_DIGITS, separator, ...TWO_DIGITS, separator, ...TWO_DIGITS];\n case 'MDY':\n case 'DMY':\n default:\n return [...TWO_DIGITS, separator, ...TWO_DIGITS, separator, ...FOUR_DIGITS];\n }\n}\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE, tuiAssert, TuiDateMode} from '@taiga-ui/cdk';\nimport {TuiTextMaskList} from '@taiga-ui/core';\n\nimport {tuiCreateDateMask} from './create-date-mask';\n\nexport function tuiCreateDateRangeMask(\n dateMode: TuiDateMode,\n dateSeparator: string,\n): TuiTextMaskList {\n tuiAssert.assert(\n dateSeparator.length === 1,\n 'Separator should consist of only 1 symbol',\n );\n\n const dateMask = tuiCreateDateMask(dateMode, dateSeparator);\n\n return [\n ...dateMask,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...dateMask,\n ];\n}\n","import {TuiTimeMode} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\nimport {MAX_TIME_VALUES} from '@taiga-ui/kit/constants';\nimport {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nfunction tuiCreateTimePartMask(\n maxPartValue: number,\n prefix?: string,\n): Array<string | RegExp> {\n const {length} = String(maxPartValue);\n const regExp = new Array(length).fill(TUI_DIGIT_REGEXP);\n\n if (prefix) {\n regExp.unshift(prefix);\n }\n\n return regExp;\n}\n\nexport function tuiCreateTimeMask(\n mode: TuiTimeMode,\n maxValues: Partial<Record<TuiTimeFormatParts, number>> = {},\n): TuiTextMaskList {\n const {HH, MM, SS, MS} = {\n ...MAX_TIME_VALUES,\n ...maxValues,\n };\n\n return [\n ...tuiCreateTimePartMask(HH),\n ...tuiCreateTimePartMask(MM, ':'),\n ...(mode.includes('HH:MM:SS') ? tuiCreateTimePartMask(SS, ':') : []),\n ...(mode === 'HH:MM:SS.MSS' ? tuiCreateTimePartMask(MS, '.') : []),\n ];\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/kit",
3
- "version": "2.48.0",
3
+ "version": "2.49.2",
4
4
  "description": "Taiga UI Angular main components kit",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,9 +24,9 @@
24
24
  "@angular/router": ">=9.0.0",
25
25
  "@ng-web-apis/common": ">=1.12.1 < 2",
26
26
  "@ng-web-apis/mutation-observer": ">=1.1.0",
27
- "@taiga-ui/cdk": ">=2.48.0",
28
- "@taiga-ui/core": ">=2.48.0",
29
- "@taiga-ui/i18n": ">=2.48.0",
27
+ "@taiga-ui/cdk": ">=2.49.2",
28
+ "@taiga-ui/core": ">=2.49.2",
29
+ "@taiga-ui/i18n": ">=2.49.2",
30
30
  "@tinkoff/ng-polymorpheus": ">=3.1.12 < 4",
31
31
  "rxjs": ">=6.0.0"
32
32
  },
@@ -1,9 +1,9 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { FormArrayName, FormGroupDirective, FormGroupName, NgControl } from '@angular/forms';
2
+ import { ControlValueAccessor, FormArrayName, FormGroupDirective, FormGroupName, NgControl } from '@angular/forms';
3
3
  import { TuiValidationError } from '@taiga-ui/cdk';
4
4
  import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
5
5
  import { Observable } from 'rxjs';
6
- export declare class TuiFieldErrorPipe implements PipeTransform {
6
+ export declare class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {
7
7
  private readonly ngControl;
8
8
  private readonly formArrayName;
9
9
  private readonly formGroupName;
@@ -12,7 +12,6 @@ export declare class TuiFieldErrorPipe implements PipeTransform {
12
12
  private order;
13
13
  constructor(ngControl: NgControl | null, formArrayName: FormArrayName | null, formGroupName: FormGroupName | null, formGroup: FormGroupDirective | null, validationErrors: Record<string, PolymorpheusContent | Observable<PolymorpheusContent>>);
14
14
  transform(order: readonly string[]): Observable<TuiValidationError | null>;
15
- get change$(): Observable<unknown>;
16
15
  get computedError(): Observable<TuiValidationError | null>;
17
16
  registerOnChange(): void;
18
17
  registerOnTouched(): void;
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"TuiFieldErrorPipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiFieldErrorPipe"},{"__symbolic":"reference","name":"TuiFieldErrorContentPipe"}],"exports":[{"__symbolic":"reference","name":"TuiFieldErrorPipe"},{"__symbolic":"reference","name":"TuiFieldErrorContentPipe"}]}]}],"members":{}},"TuiFieldErrorContentPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":7,"character":1},"arguments":[{"name":"tuiFieldErrorContent","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":20,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":20,"character":61}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getErrorContent":[{"__symbolic":"method"}]}},"TuiFieldErrorPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":17,"character":1},"arguments":[{"name":"tuiFieldError","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":25,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":26,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":27,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":29,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":30,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormArrayName","line":31,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":33,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":34,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":35,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupName","line":35,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":37,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":38,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":39,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":39,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":41,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_VALIDATION_ERRORS","line":41,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":28,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"FormArrayName","line":32,"character":40},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupName","line":36,"character":40},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":40,"character":36},{"__symbolic":"error","message":"Could not resolve type","line":42,"character":43,"context":{"typeName":"Record"},"module":"./field-error-pipe"}]}],"transform":[{"__symbolic":"method"}],"change$":[{"__symbolic":"property","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":58,"character":5}]}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"getErrorId":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":117,"character":5}]}],"getError":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":128,"character":5}]}]}}},"origins":{"TuiFieldErrorPipeModule":"./field-error.module","TuiFieldErrorContentPipe":"./field-error-content-pipe","TuiFieldErrorPipe":"./field-error-pipe"},"importAs":"@taiga-ui/kit/pipes/field-error"}
1
+ {"__symbolic":"module","version":4,"metadata":{"TuiFieldErrorPipeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiFieldErrorPipe"},{"__symbolic":"reference","name":"TuiFieldErrorContentPipe"}],"exports":[{"__symbolic":"reference","name":"TuiFieldErrorPipe"},{"__symbolic":"reference","name":"TuiFieldErrorContentPipe"}]}]}],"members":{}},"TuiFieldErrorContentPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":7,"character":1},"arguments":[{"name":"tuiFieldErrorContent","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":17},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":20,"character":24}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":20,"character":61}]}],"transform":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getErrorContent":[{"__symbolic":"method"}]}},"TuiFieldErrorPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":18,"character":1},"arguments":[{"name":"tuiFieldError","pure":false}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":26,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":27,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":28,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":28,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":30,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":31,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":32,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormArrayName","line":32,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":34,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":35,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":36,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupName","line":36,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":38,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":39,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":40,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":40,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":42,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/kit/tokens","name":"TUI_VALIDATION_ERRORS","line":42,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"NgControl","line":29,"character":36},{"__symbolic":"reference","module":"@angular/forms","name":"FormArrayName","line":33,"character":40},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupName","line":37,"character":40},{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":41,"character":36},{"__symbolic":"error","message":"Could not resolve type","line":43,"character":43,"context":{"typeName":"Record"},"module":"./field-error-pipe"}]}],"transform":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"getErrorId":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":110,"character":5}]}],"getError":[{"__symbolic":"method","decorators":[{"__symbolic":"reference","module":"@taiga-ui/cdk","name":"tuiPure","line":121,"character":5}]}]}}},"origins":{"TuiFieldErrorPipeModule":"./field-error.module","TuiFieldErrorContentPipe":"./field-error-content-pipe","TuiFieldErrorPipe":"./field-error-pipe"},"importAs":"@taiga-ui/kit/pipes/field-error"}
@@ -1,2 +1,2 @@
1
1
  import { InjectionToken, Type } from '@angular/core';
2
- export declare const TUI_MOBILE_CALENDAR: InjectionToken<Type<any>>;
2
+ export declare const TUI_MOBILE_CALENDAR: InjectionToken<Type<unknown>>;