@taiga-ui/kit 4.4.1 → 4.5.0-canary.49229f4

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 (217) hide show
  1. package/components/calendar-month/calendar-month.component.d.ts +1 -1
  2. package/components/calendar-range/calendar-range.component.d.ts +2 -3
  3. package/components/checkbox/checkbox.options.d.ts +1 -1
  4. package/components/confirm/confirm.component.d.ts +1 -1
  5. package/components/files/file/file.options.d.ts +1 -1
  6. package/components/files/files.utils.d.ts +1 -1
  7. package/components/files/input-files/input-files.directive.d.ts +4 -3
  8. package/components/index.d.ts +1 -0
  9. package/components/input-password/index.d.ts +2 -0
  10. package/components/input-password/input-password.component.d.ts +13 -0
  11. package/components/input-password/input-password.options.d.ts +12 -0
  12. package/components/input-phone-international/input-phone-international.component.d.ts +2 -1
  13. package/components/pagination/pagination.component.d.ts +1 -1
  14. package/components/preview/pagination/preview-pagination.component.d.ts +1 -1
  15. package/components/radio/radio.options.d.ts +1 -1
  16. package/components/radio-list/radio-list.component.d.ts +1 -0
  17. package/components/segmented/segmented.component.d.ts +0 -2
  18. package/components/tiles/tile.service.d.ts +1 -1
  19. package/esm2022/components/accordion/accordion-item.component.mjs +4 -4
  20. package/esm2022/components/action-bar/action-bar.component.mjs +3 -3
  21. package/esm2022/components/avatar/avatar-labeled.component.mjs +3 -3
  22. package/esm2022/components/avatar/avatar-outline.directive.mjs +2 -2
  23. package/esm2022/components/avatar/avatar.component.mjs +3 -3
  24. package/esm2022/components/badge/badge.directive.mjs +2 -2
  25. package/esm2022/components/badge-notification/badge-notification.component.mjs +3 -3
  26. package/esm2022/components/badged-content/badged-content.component.mjs +3 -3
  27. package/esm2022/components/block/block.directive.mjs +2 -2
  28. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +4 -4
  29. package/esm2022/components/calendar-month/calendar-month.component.mjs +8 -8
  30. package/esm2022/components/calendar-range/calendar-range.component.mjs +13 -13
  31. package/esm2022/components/carousel/carousel-scroll.directive.mjs +3 -3
  32. package/esm2022/components/carousel/carousel.component.mjs +7 -7
  33. package/esm2022/components/checkbox/checkbox.component.mjs +6 -4
  34. package/esm2022/components/checkbox/checkbox.options.mjs +1 -1
  35. package/esm2022/components/chip/chip.directive.mjs +2 -2
  36. package/esm2022/components/comment/comment.directive.mjs +2 -2
  37. package/esm2022/components/compass/compass.component.mjs +2 -2
  38. package/esm2022/components/confirm/confirm.component.mjs +6 -5
  39. package/esm2022/components/data-list-wrapper/data-list-group-wrapper.component.mjs +3 -3
  40. package/esm2022/components/data-list-wrapper/data-list-wrapper.component.mjs +3 -3
  41. package/esm2022/components/elastic-container/elastic-container.component.mjs +3 -3
  42. package/esm2022/components/files/file/file.component.mjs +4 -4
  43. package/esm2022/components/files/file/file.options.mjs +1 -1
  44. package/esm2022/components/files/files/files.component.mjs +4 -4
  45. package/esm2022/components/files/files.utils.mjs +1 -1
  46. package/esm2022/components/files/input-files/input-files.component.mjs +5 -5
  47. package/esm2022/components/files/input-files/input-files.content.mjs +4 -3
  48. package/esm2022/components/files/input-files/input-files.directive.mjs +7 -4
  49. package/esm2022/components/filter/filter.component.mjs +5 -5
  50. package/esm2022/components/index.mjs +2 -1
  51. package/esm2022/components/input-inline/input-inline.component.mjs +4 -4
  52. package/esm2022/components/input-password/index.mjs +3 -0
  53. package/esm2022/components/input-password/input-password.component.mjs +65 -0
  54. package/esm2022/components/input-password/input-password.options.mjs +12 -0
  55. package/esm2022/components/input-password/taiga-ui-kit-components-input-password.mjs +5 -0
  56. package/esm2022/components/input-phone-international/input-phone-international.component.mjs +6 -4
  57. package/esm2022/components/items-with-more/items-with-more.component.mjs +3 -3
  58. package/esm2022/components/items-with-more/items-with-more.service.mjs +4 -4
  59. package/esm2022/components/line-clamp/line-clamp-box.component.mjs +3 -3
  60. package/esm2022/components/line-clamp/line-clamp.component.mjs +4 -4
  61. package/esm2022/components/pagination/pagination.component.mjs +3 -3
  62. package/esm2022/components/pdf-viewer/pdf-viewer.component.mjs +6 -6
  63. package/esm2022/components/pin/pin.directive.mjs +2 -2
  64. package/esm2022/components/preview/pagination/preview-pagination.component.mjs +4 -4
  65. package/esm2022/components/preview/preview-dialog/preview-dialog.component.mjs +5 -5
  66. package/esm2022/components/preview/preview.component.mjs +8 -8
  67. package/esm2022/components/preview/zoom/preview-zoom.component.mjs +9 -9
  68. package/esm2022/components/progress/progress-bar/progress-bar.component.mjs +2 -2
  69. package/esm2022/components/progress/progress-bar/progress-color-segments.directive.mjs +3 -3
  70. package/esm2022/components/progress/progress-circle/progress-circle.component.mjs +3 -3
  71. package/esm2022/components/progress/progress-label/progress-label.component.mjs +2 -2
  72. package/esm2022/components/pulse/pulse.component.mjs +3 -3
  73. package/esm2022/components/push/push-alert.component.mjs +7 -7
  74. package/esm2022/components/push/push.component.mjs +3 -3
  75. package/esm2022/components/radio/radio.component.mjs +7 -4
  76. package/esm2022/components/radio/radio.options.mjs +1 -1
  77. package/esm2022/components/radio-list/radio-list.component.mjs +10 -7
  78. package/esm2022/components/range/range.component.mjs +6 -6
  79. package/esm2022/components/rating/rating.component.mjs +4 -4
  80. package/esm2022/components/segmented/segmented.component.mjs +15 -15
  81. package/esm2022/components/slider/helpers/slider-readonly.directive.mjs +4 -4
  82. package/esm2022/components/slider/helpers/slider-thumb-label.component.mjs +3 -3
  83. package/esm2022/components/slider/slider.component.mjs +2 -2
  84. package/esm2022/components/status/status.directive.mjs +2 -2
  85. package/esm2022/components/stepper/step.component.mjs +3 -3
  86. package/esm2022/components/switch/switch.component.mjs +2 -2
  87. package/esm2022/components/tabs/tabs-horizontal.directive.mjs +3 -3
  88. package/esm2022/components/tabs/tabs-with-more.component.mjs +6 -4
  89. package/esm2022/components/tabs/tabs.directive.mjs +2 -2
  90. package/esm2022/components/tiles/tile.service.mjs +3 -2
  91. package/esm2022/components/tiles/tiles.component.mjs +2 -2
  92. package/esm2022/components/tree/components/tree/tree.component.mjs +7 -7
  93. package/esm2022/components/tree/components/tree-item/tree-item.component.mjs +3 -3
  94. package/esm2022/components/tree/components/tree-item-content/tree-item-content.component.mjs +5 -5
  95. package/esm2022/directives/button-group/button-group.directive.mjs +2 -2
  96. package/esm2022/directives/connected/connected.directive.mjs +2 -2
  97. package/esm2022/directives/fade/fade.directive.mjs +3 -3
  98. package/esm2022/directives/fluid-typography/fluid-typography.directive.mjs +3 -3
  99. package/esm2022/directives/icon-badge/icon-badge.directive.mjs +2 -2
  100. package/esm2022/directives/sensitive/sensitive.directive.mjs +5 -5
  101. package/fesm2022/taiga-ui-kit-components-accordion.mjs +3 -3
  102. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  103. package/fesm2022/taiga-ui-kit-components-action-bar.mjs +2 -2
  104. package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
  105. package/fesm2022/taiga-ui-kit-components-avatar.mjs +6 -6
  106. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +2 -2
  108. package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
  110. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-components-badged-content.mjs +2 -2
  112. package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
  114. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  115. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +4 -4
  116. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  117. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +8 -8
  118. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  119. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +14 -14
  120. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  121. package/fesm2022/taiga-ui-kit-components-carousel.mjs +9 -9
  122. package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +1 -1
  123. package/fesm2022/taiga-ui-kit-components-checkbox.mjs +5 -3
  124. package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
  125. package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
  126. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  127. package/fesm2022/taiga-ui-kit-components-comment.mjs +2 -2
  128. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  129. package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
  130. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  131. package/fesm2022/taiga-ui-kit-components-confirm.mjs +4 -4
  132. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  133. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +5 -5
  134. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  135. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs +2 -2
  136. package/fesm2022/taiga-ui-kit-components-elastic-container.mjs.map +1 -1
  137. package/fesm2022/taiga-ui-kit-components-files.mjs +17 -13
  138. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  139. package/fesm2022/taiga-ui-kit-components-filter.mjs +4 -4
  140. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  141. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +4 -4
  142. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  143. package/fesm2022/taiga-ui-kit-components-input-password.mjs +81 -0
  144. package/fesm2022/taiga-ui-kit-components-input-password.mjs.map +1 -0
  145. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +5 -4
  146. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  147. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +6 -6
  148. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  149. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +5 -5
  150. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  151. package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
  152. package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
  153. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs +5 -5
  154. package/fesm2022/taiga-ui-kit-components-pdf-viewer.mjs.map +1 -1
  155. package/fesm2022/taiga-ui-kit-components-pin.mjs +2 -2
  156. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  157. package/fesm2022/taiga-ui-kit-components-preview-preview-dialog.mjs +4 -4
  158. package/fesm2022/taiga-ui-kit-components-preview-preview-dialog.mjs.map +1 -1
  159. package/fesm2022/taiga-ui-kit-components-preview.mjs +23 -23
  160. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  161. package/fesm2022/taiga-ui-kit-components-progress.mjs +8 -8
  162. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  163. package/fesm2022/taiga-ui-kit-components-pulse.mjs +2 -2
  164. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  165. package/fesm2022/taiga-ui-kit-components-push.mjs +9 -9
  166. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  167. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +9 -7
  168. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  169. package/fesm2022/taiga-ui-kit-components-radio.mjs +6 -4
  170. package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
  171. package/fesm2022/taiga-ui-kit-components-range.mjs +5 -5
  172. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  173. package/fesm2022/taiga-ui-kit-components-rating.mjs +3 -3
  174. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  175. package/fesm2022/taiga-ui-kit-components-segmented.mjs +14 -14
  176. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  177. package/fesm2022/taiga-ui-kit-components-slider.mjs +7 -7
  178. package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
  179. package/fesm2022/taiga-ui-kit-components-status.mjs +2 -2
  180. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  181. package/fesm2022/taiga-ui-kit-components-stepper.mjs +2 -2
  182. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  183. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  184. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  185. package/fesm2022/taiga-ui-kit-components-tabs.mjs +9 -7
  186. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  187. package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -3
  188. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  189. package/fesm2022/taiga-ui-kit-components-tree.mjs +13 -13
  190. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  191. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  192. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  193. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +2 -2
  194. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  195. package/fesm2022/taiga-ui-kit-directives-connected.mjs +2 -2
  196. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  197. package/fesm2022/taiga-ui-kit-directives-fade.mjs +2 -2
  198. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  199. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +2 -2
  200. package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
  201. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs +2 -2
  202. package/fesm2022/taiga-ui-kit-directives-icon-badge.mjs.map +1 -1
  203. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +4 -4
  204. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  205. package/package.json +505 -499
  206. package/styles/components/badge.less +12 -12
  207. package/styles/components/block.less +3 -6
  208. package/styles/components/checkbox.less +2 -2
  209. package/styles/components/chip.less +3 -3
  210. package/styles/components/comment.less +2 -2
  211. package/styles/components/compass.less +6 -6
  212. package/styles/components/pin.less +9 -9
  213. package/styles/components/progress-bar.less +2 -2
  214. package/styles/components/radio.less +2 -2
  215. package/styles/components/status.less +2 -2
  216. package/styles/components/switch.less +8 -8
  217. package/tokens/i18n.d.ts +8 -8
@@ -1,9 +1,9 @@
1
- import { NgIf, NgTemplateOutlet, AsyncPipe, NgForOf } from '@angular/common';
1
+ import { AsyncPipe, NgIf, NgTemplateOutlet, NgForOf } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { Directive, Input, inject, forwardRef, Component, ChangeDetectionStrategy, InjectionToken, SkipSelf, ContentChildren, ViewChild, EventEmitter, Output, Injectable } from '@angular/core';
4
4
  import { TuiLet } from '@taiga-ui/cdk/directives/let';
5
5
  import { tuiCreateToken, tuiProvide, tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
6
- import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
6
+ import { injectContext, PolymorpheusComponent, PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
7
7
  import { Subject, startWith, map, distinctUntilChanged, switchMap, tap } from 'rxjs';
8
8
  import { EMPTY_ARRAY, TUI_TRUE_HANDLER, EMPTY_FUNCTION, EMPTY_QUERY } from '@taiga-ui/cdk/constants';
9
9
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
@@ -36,7 +36,7 @@ class TuiTreeItemContent {
36
36
  this.controller = inject(forwardRef(() => TUI_TREE_CONTROLLER));
37
37
  this.change$ = new Subject();
38
38
  this.icons = inject(TUI_COMMON_ICONS);
39
- this.context = inject(POLYMORPHEUS_CONTEXT);
39
+ this.context = injectContext();
40
40
  this.expanded$ = this.change$.pipe(startWith(null), map(() => this.isExpanded), distinctUntilChanged());
41
41
  }
42
42
  ngDoCheck() {
@@ -53,11 +53,11 @@ class TuiTreeItemContent {
53
53
  this.controller.toggle(this.context.$implicit);
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTreeItemContent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTreeItemContent, isStandalone: true, selector: "ng-component", host: { properties: { "class._expandable": "isExpandable" } }, ngImport: i0, template: "<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"expanded$ | async\"\n [iconStart]=\"icons.more\"\n [style.border-radius.%]=\"100\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\" />\n", styles: [":host{display:flex;align-items:center}:host :host-context(tui-tree-item._expandable):not(._expandable){padding-left:2rem}.t-button{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:.5rem}.t-button_expanded{transform:rotate(90deg)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTreeItemContent, isStandalone: true, selector: "ng-component", host: { properties: { "class._expandable": "isExpandable" } }, ngImport: i0, template: "<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"expanded$ | async\"\n [iconStart]=\"icons.more\"\n [style.border-radius.%]=\"100\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\" />\n", styles: [":host{display:flex;align-items:center}:host :host-context(tui-tree-item._expandable):not(._expandable){padding-left:2rem}.t-button{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:.5rem}.t-button_expanded{transform:rotate(90deg)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTreeItemContent, decorators: [{
59
59
  type: Component,
60
- args: [{ standalone: true, imports: [NgIf, TuiButton, NgTemplateOutlet, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
60
+ args: [{ standalone: true, imports: [AsyncPipe, NgIf, NgTemplateOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, host: {
61
61
  '[class._expandable]': 'isExpandable',
62
62
  }, template: "<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"expanded$ | async\"\n [iconStart]=\"icons.more\"\n [style.border-radius.%]=\"100\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\" />\n", styles: [":host{display:flex;align-items:center}:host :host-context(tui-tree-item._expandable):not(._expandable){padding-left:2rem}.t-button{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:.5rem}.t-button_expanded{transform:rotate(90deg)}\n"] }]
63
63
  }] });
@@ -132,11 +132,11 @@ class TuiTreeItem {
132
132
  deps: [[new SkipSelf(), TUI_TREE_LEVEL]],
133
133
  useFactory: (level) => ++level,
134
134
  },
135
- ], queries: [{ propertyName: "nested", predicate: TUI_TREE_NODE }], ngImport: i0, template: "<ng-template #template>\n <ng-content />\n</ng-template>\n<ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: this, template: template}\">\n {{ text }}\n</ng-container>\n<tui-expand\n *ngIf=\"isExpandable\"\n role=\"group\"\n class=\"t-children\"\n [expanded]=\"expanded$ | async\"\n>\n <div>\n <ng-content select=\"tui-tree-item\" />\n <ng-content select=\"tui-tree\" />\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\" />\n", styles: [":host{display:block}.t-children{position:relative;margin-left:var(--tui-tree-item-indent, 1.5rem)}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
135
+ ], queries: [{ propertyName: "nested", predicate: TUI_TREE_NODE }], ngImport: i0, template: "<ng-template #template>\n <ng-content />\n</ng-template>\n<ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: this, template: template}\">\n {{ text }}\n</ng-container>\n<tui-expand\n *ngIf=\"isExpandable\"\n role=\"group\"\n class=\"t-children\"\n [expanded]=\"expanded$ | async\"\n>\n <div>\n <ng-content select=\"tui-tree-item\" />\n <ng-content select=\"tui-tree\" />\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\" />\n", styles: [":host{display:block}.t-children{position:relative;margin-left:var(--tui-tree-item-indent, 1.5rem)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
136
136
  }
137
137
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTreeItem, decorators: [{
138
138
  type: Component,
139
- args: [{ standalone: true, selector: 'tui-tree-item', imports: [PolymorpheusOutlet, TuiExpandComponent, NgIf, AsyncPipe], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
139
+ args: [{ standalone: true, selector: 'tui-tree-item', imports: [AsyncPipe, NgIf, PolymorpheusOutlet, TuiExpandComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
140
140
  tuiProvide(TUI_TREE_NODE, TuiTreeItem),
141
141
  {
142
142
  provide: TUI_TREE_LEVEL,
@@ -201,18 +201,18 @@ class TuiTreeComponent {
201
201
  return this.directive?.childrenHandler || TuiTreeChildren.defaultHandler;
202
202
  }
203
203
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
204
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTreeComponent, isStandalone: true, selector: "tui-tree", inputs: { value: "value", trackBy: "trackBy", content: "content" }, host: { attributes: { "role": "tree" } }, providers: [tuiProvide(TUI_TREE_NODE, TuiTreeComponent)], viewQueries: [{ propertyName: "item", first: true, predicate: i0.forwardRef(function () { return TuiTreeItem; }), descendants: true }, { propertyName: "child", first: true, predicate: i0.forwardRef(function () { return TuiTreeComponent; }), descendants: true }], ngImport: i0, template: "<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"value !== children\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: value, node: view}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-tree\n *ngFor=\"let child of children; trackBy: trackBy\"\n [content]=\"content\"\n [trackBy]=\"trackBy\"\n [value]=\"child\"\n />\n</tui-tree-item>\n", styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "component", type: TuiTreeComponent, selector: "tui-tree", inputs: ["value", "trackBy", "content"] }, { kind: "component", type: TuiTreeItem, selector: "tui-tree-item" }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TuiTreeNode, selector: "tui-tree-item[tuiTreeNode]", inputs: ["tuiTreeNode"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
204
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiTreeComponent, isStandalone: true, selector: "tui-tree", inputs: { value: "value", trackBy: "trackBy", content: "content" }, host: { attributes: { "role": "tree" } }, providers: [tuiProvide(TUI_TREE_NODE, TuiTreeComponent)], viewQueries: [{ propertyName: "item", first: true, predicate: i0.forwardRef(function () { return TuiTreeItem; }), descendants: true }, { propertyName: "child", first: true, predicate: i0.forwardRef(function () { return TuiTreeComponent; }), descendants: true }], ngImport: i0, template: "<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"value !== children\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: value, node: view}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-tree\n *ngFor=\"let child of children; trackBy: trackBy\"\n [content]=\"content\"\n [trackBy]=\"trackBy\"\n [value]=\"child\"\n />\n</tui-tree-item>\n", styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "component", type: TuiTreeComponent, selector: "tui-tree", inputs: ["value", "trackBy", "content"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "component", type: TuiTreeItem, selector: "tui-tree-item" }, { kind: "directive", type: TuiTreeNode, selector: "tui-tree-item[tuiTreeNode]", inputs: ["tuiTreeNode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
205
205
  }
206
206
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiTreeComponent, decorators: [{
207
207
  type: Component,
208
208
  args: [{ standalone: true, selector: 'tui-tree', imports: [
209
- TuiTreeItem,
210
- TuiLet,
211
- PolymorpheusOutlet,
212
- NgIf,
209
+ AsyncPipe,
213
210
  NgForOf,
211
+ NgIf,
212
+ PolymorpheusOutlet,
213
+ TuiLet,
214
+ TuiTreeItem,
214
215
  TuiTreeNode,
215
- AsyncPipe,
216
216
  ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(TUI_TREE_NODE, TuiTreeComponent)], host: { role: 'tree' }, template: "<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"value !== children\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: value, node: view}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-tree\n *ngFor=\"let child of children; trackBy: trackBy\"\n [content]=\"content\"\n [trackBy]=\"trackBy\"\n [value]=\"child\"\n />\n</tui-tree-item>\n", styles: [":host{position:relative;display:block}\n"] }]
217
217
  }], propDecorators: { item: [{
218
218
  type: ViewChild,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tree.mjs","sources":["../../../projects/kit/components/tree/directives/tree-children.directive.ts","../../../projects/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","../../../projects/kit/components/tree/components/tree-item-content/tree-item-content.template.html","../../../projects/kit/components/tree/misc/tree.constants.ts","../../../projects/kit/components/tree/misc/tree.tokens.ts","../../../projects/kit/components/tree/components/tree-item/tree-item.component.ts","../../../projects/kit/components/tree/components/tree-item/tree-item.template.html","../../../projects/kit/components/tree/directives/tree-node.directive.ts","../../../projects/kit/components/tree/components/tree/tree.component.ts","../../../projects/kit/components/tree/components/tree/tree.template.html","../../../projects/kit/components/tree/directives/tree-controller.directive.ts","../../../projects/kit/components/tree/directives/tree-item-controller.directive.ts","../../../projects/kit/components/tree/misc/tree.service.ts","../../../projects/kit/components/tree/tree.ts","../../../projects/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY} from '@taiga-ui/cdk/constants';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\n\n@Directive({\n standalone: true,\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildren<T> {\n @Input()\n public childrenHandler: TuiHandler<T, readonly T[]> = TuiTreeChildren.defaultHandler;\n\n public static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {AsyncPipe, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {DoCheck} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, forwardRef, inject} from '@angular/core';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {POLYMORPHEUS_CONTEXT} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport type {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n standalone: true,\n imports: [NgIf, TuiButton, NgTemplateOutlet, AsyncPipe],\n templateUrl: './tree-item-content.template.html',\n styleUrls: ['./tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._expandable]': 'isExpandable',\n },\n})\nexport class TuiTreeItemContent implements DoCheck {\n private readonly controller = inject<TuiTreeController>(\n forwardRef(() => TUI_TREE_CONTROLLER),\n );\n\n private readonly change$ = new Subject<void>();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context = inject<TuiTreeItemContext>(POLYMORPHEUS_CONTEXT);\n\n protected readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n public ngDoCheck(): void {\n this.change$.next();\n }\n\n protected get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n protected get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n protected onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"expanded$ | async\"\n [iconStart]=\"icons.more\"\n [style.border-radius.%]=\"100\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\" />\n","import {EMPTY_FUNCTION, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiTreeItemContent} from '../components/tree-item-content/tree-item-content.component';\nimport type {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(TuiTreeItemContent);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: TUI_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport type {TuiTreeAccessor, TuiTreeItemContext, TuiTreeLoader} from './tree.interfaces';\n\n/**\n * Controller for tracking value - TuiTreeItemComponent pairs\n */\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<unknown>>(\n '[TUI_TREE_ACCESSOR]',\n);\n\n/**\n * Controller for expanding the tree\n */\nexport const TUI_TREE_CONTROLLER = tuiCreateToken(TUI_DEFAULT_TREE_CONTROLLER);\n\n/**\n * A node of a tree view\n */\nexport const TUI_TREE_NODE = new InjectionToken('[TUI_TREE_NODE]');\n\n/**\n * A tree node placeholder for loading\n */\nexport const TUI_TREE_LOADING = tuiCreateToken({});\n\n/**\n * A tree node starting point\n */\nexport const TUI_TREE_START = new InjectionToken('[TUI_TREE_START]');\n\n/**\n * A service to load tree progressively\n */\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<unknown>>(\n '[TUI_TREE_LOADER]',\n);\n\n/**\n * Content for a tree item\n */\nexport const TUI_TREE_CONTENT =\n tuiCreateToken<PolymorpheusContent<TuiTreeItemContext>>(TUI_TREE_ITEM_CONTENT);\n\n/**\n * Nesting level of current TreeView node\n */\nexport const TUI_TREE_LEVEL = tuiCreateToken(-1);\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport type {DoCheck, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n SkipSelf,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiExpandComponent} from '@taiga-ui/core/components/expand';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport type {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';\n\n@Component({\n standalone: true,\n selector: 'tui-tree-item',\n imports: [PolymorpheusOutlet, TuiExpandComponent, NgIf, AsyncPipe],\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiProvide(TUI_TREE_NODE, TuiTreeItem),\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: (level: number): number => ++level,\n },\n ],\n host: {\n role: 'treeitem',\n '[class._expandable]': 'isExpandable',\n },\n})\nexport class TuiTreeItem implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n\n private readonly controller = inject<TuiTreeController>(\n forwardRef(() => TUI_TREE_CONTROLLER),\n );\n\n private readonly change$ = new Subject<void>();\n\n protected readonly level = inject<number>(forwardRef(() => TUI_TREE_LEVEL));\n\n protected readonly content = inject<PolymorpheusContent<TuiTreeItemContext>>(\n forwardRef(() => TUI_TREE_CONTENT),\n );\n\n protected readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n );\n\n protected readonly attached$ = this.change$.pipe(\n map(() => this.el.isConnected),\n distinctUntilChanged(),\n );\n\n public get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n public get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n public ngDoCheck(): void {\n this.checkChanges();\n }\n\n public checkChanges(): void {\n this.change$.next();\n }\n}\n","<ng-template #template>\n <ng-content />\n</ng-template>\n<ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: this, template: template}\">\n {{ text }}\n</ng-container>\n<tui-expand\n *ngIf=\"isExpandable\"\n role=\"group\"\n class=\"t-children\"\n [expanded]=\"expanded$ | async\"\n>\n <div>\n <ng-content select=\"tui-tree-item\" />\n <ng-content select=\"tui-tree\" />\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\" />\n","import type {OnDestroy} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\n\nimport {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNode<T> implements OnDestroy {\n private readonly component = inject(TuiTreeItem);\n private readonly directive = inject<TuiTreeAccessor<T>>(TUI_TREE_ACCESSOR, {\n optional: true,\n });\n\n @Input('tuiTreeNode')\n public set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n public ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport type {DoCheck, TrackByFunction} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport {TuiTreeChildren} from '../../directives/tree-children.directive';\nimport {TuiTreeNode} from '../../directives/tree-node.directive';\nimport type {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItem} from '../tree-item/tree-item.component';\n\n@Component({\n standalone: true,\n selector: 'tui-tree',\n imports: [\n TuiTreeItem,\n TuiLet,\n PolymorpheusOutlet,\n NgIf,\n NgForOf,\n TuiTreeNode,\n AsyncPipe,\n ],\n templateUrl: './tree.template.html',\n styleUrls: ['./tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_TREE_NODE, TuiTreeComponent)],\n host: {role: 'tree'},\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @ViewChild(forwardRef(() => TuiTreeItem))\n protected readonly item?: TuiTreeItem;\n\n @ViewChild(forwardRef(() => TuiTreeComponent))\n protected readonly child?: TuiTreeComponent<T>;\n\n protected readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n protected readonly directive = inject<TuiTreeChildren<T>>(TuiTreeChildren, {\n optional: true,\n });\n\n @Input({\n required: true,\n })\n public value!: T;\n\n @Input()\n public trackBy: TrackByFunction<T> = (_: number, item: T) => item;\n\n @Input()\n public content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) =>\n String($implicit);\n\n public ngDoCheck(): void {\n this.checkChanges();\n }\n\n protected checkChanges(): void {\n this.check$.next();\n this.item?.checkChanges();\n this.child?.checkChanges();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler || TuiTreeChildren.defaultHandler;\n }\n}\n","<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"value !== children\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: value, node: view}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-tree\n *ngFor=\"let child of children; trackBy: trackBy\"\n [content]=\"content\"\n [trackBy]=\"trackBy\"\n [value]=\"child\"\n />\n</tui-tree-item>\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {tuiIsPresent, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport type {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiTreeController][map]',\n providers: [\n tuiProvide(TUI_TREE_ACCESSOR, TuiTreeControllerDirective),\n tuiProvide(TUI_TREE_CONTROLLER, TuiTreeControllerDirective),\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n protected readonly items = new Map<TuiTreeItem, T>();\n\n @Input('tuiTreeController')\n public fallback = true;\n\n @Input()\n public map = new Map<T, boolean>();\n\n @Output()\n public readonly toggled = new EventEmitter<T>();\n\n public register(item: TuiTreeItem, value: T): void {\n this.items.set(item, value);\n }\n\n public unregister(item: TuiTreeItem): void {\n this.items.delete(item);\n }\n\n public isExpanded(item: TuiTreeItem): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n public toggle(item: TuiTreeItem): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!tuiIsPresent(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 {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport type {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiTreeController]:not([map])',\n providers: [tuiProvide(TUI_TREE_CONTROLLER, TuiTreeItemController)],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeItemController implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItem, boolean>();\n\n @Input('tuiTreeController')\n public fallback = true;\n\n public isExpanded(item: TuiTreeItem): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n public toggle(item: TuiTreeItem): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {map, startWith, Subject, switchMap, tap} from 'rxjs';\n\nimport type {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly loading = inject<T>(TUI_TREE_LOADING);\n private readonly start = inject<T>(TUI_TREE_START);\n private readonly loader = inject<TuiTreeLoader<T>>(TUI_TREE_LOADER);\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n private readonly load$ = new Subject<T>();\n\n public 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) =>\n children.filter((item) => !this.loader.hasChildren(item)),\n ),\n tap((children) => children.forEach((child) => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n map(() => this.start),\n );\n\n public getChildren(item: T): readonly T[] {\n return this.map.get(item) || [this.loading];\n }\n\n public 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 {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItem} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildren} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemController} from './directives/tree-item-controller.directive';\nimport {TuiTreeNode} from './directives/tree-node.directive';\n\nexport const TuiTree = [\n TuiTreeComponent,\n TuiTreeItem,\n TuiTreeItemContent,\n TuiTreeChildren,\n TuiTreeItemController,\n TuiTreeControllerDirective,\n TuiTreeNode,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tree.mjs","sources":["../../../projects/kit/components/tree/directives/tree-children.directive.ts","../../../projects/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","../../../projects/kit/components/tree/components/tree-item-content/tree-item-content.template.html","../../../projects/kit/components/tree/misc/tree.constants.ts","../../../projects/kit/components/tree/misc/tree.tokens.ts","../../../projects/kit/components/tree/components/tree-item/tree-item.component.ts","../../../projects/kit/components/tree/components/tree-item/tree-item.template.html","../../../projects/kit/components/tree/directives/tree-node.directive.ts","../../../projects/kit/components/tree/components/tree/tree.component.ts","../../../projects/kit/components/tree/components/tree/tree.template.html","../../../projects/kit/components/tree/directives/tree-controller.directive.ts","../../../projects/kit/components/tree/directives/tree-item-controller.directive.ts","../../../projects/kit/components/tree/misc/tree.service.ts","../../../projects/kit/components/tree/tree.ts","../../../projects/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY} from '@taiga-ui/cdk/constants';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\n\n@Directive({\n standalone: true,\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildren<T> {\n @Input()\n public childrenHandler: TuiHandler<T, readonly T[]> = TuiTreeChildren.defaultHandler;\n\n public static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {AsyncPipe, NgIf, NgTemplateOutlet} from '@angular/common';\nimport type {DoCheck} from '@angular/core';\nimport {ChangeDetectionStrategy, Component, forwardRef, inject} from '@angular/core';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {injectContext} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport type {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n standalone: true,\n imports: [AsyncPipe, NgIf, NgTemplateOutlet, TuiButton],\n templateUrl: './tree-item-content.template.html',\n styleUrls: ['./tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._expandable]': 'isExpandable',\n },\n})\nexport class TuiTreeItemContent implements DoCheck {\n private readonly controller = inject<TuiTreeController>(\n forwardRef(() => TUI_TREE_CONTROLLER),\n );\n\n private readonly change$ = new Subject<void>();\n\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context = injectContext<TuiTreeItemContext>();\n\n protected readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n public ngDoCheck(): void {\n this.change$.next();\n }\n\n protected get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n protected get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n protected onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"expanded$ | async\"\n [iconStart]=\"icons.more\"\n [style.border-radius.%]=\"100\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\" />\n","import {EMPTY_FUNCTION, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\n\nimport {TuiTreeItemContent} from '../components/tree-item-content/tree-item-content.component';\nimport type {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(TuiTreeItemContent);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: TUI_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport type {TuiTreeAccessor, TuiTreeItemContext, TuiTreeLoader} from './tree.interfaces';\n\n/**\n * Controller for tracking value - TuiTreeItemComponent pairs\n */\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<unknown>>(\n '[TUI_TREE_ACCESSOR]',\n);\n\n/**\n * Controller for expanding the tree\n */\nexport const TUI_TREE_CONTROLLER = tuiCreateToken(TUI_DEFAULT_TREE_CONTROLLER);\n\n/**\n * A node of a tree view\n */\nexport const TUI_TREE_NODE = new InjectionToken('[TUI_TREE_NODE]');\n\n/**\n * A tree node placeholder for loading\n */\nexport const TUI_TREE_LOADING = tuiCreateToken({});\n\n/**\n * A tree node starting point\n */\nexport const TUI_TREE_START = new InjectionToken('[TUI_TREE_START]');\n\n/**\n * A service to load tree progressively\n */\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<unknown>>(\n '[TUI_TREE_LOADER]',\n);\n\n/**\n * Content for a tree item\n */\nexport const TUI_TREE_CONTENT =\n tuiCreateToken<PolymorpheusContent<TuiTreeItemContext>>(TUI_TREE_ITEM_CONTENT);\n\n/**\n * Nesting level of current TreeView node\n */\nexport const TUI_TREE_LEVEL = tuiCreateToken(-1);\n","import {AsyncPipe, NgIf} from '@angular/common';\nimport type {DoCheck, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n forwardRef,\n inject,\n SkipSelf,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiExpandComponent} from '@taiga-ui/core/components/expand';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport type {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';\n\n@Component({\n standalone: true,\n selector: 'tui-tree-item',\n imports: [AsyncPipe, NgIf, PolymorpheusOutlet, TuiExpandComponent],\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiProvide(TUI_TREE_NODE, TuiTreeItem),\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: (level: number): number => ++level,\n },\n ],\n host: {\n role: 'treeitem',\n '[class._expandable]': 'isExpandable',\n },\n})\nexport class TuiTreeItem implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly el = tuiInjectElement();\n\n private readonly controller = inject<TuiTreeController>(\n forwardRef(() => TUI_TREE_CONTROLLER),\n );\n\n private readonly change$ = new Subject<void>();\n\n protected readonly level = inject<number>(forwardRef(() => TUI_TREE_LEVEL));\n\n protected readonly content = inject<PolymorpheusContent<TuiTreeItemContext>>(\n forwardRef(() => TUI_TREE_CONTENT),\n );\n\n protected readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n );\n\n protected readonly attached$ = this.change$.pipe(\n map(() => this.el.isConnected),\n distinctUntilChanged(),\n );\n\n public get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n public get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n public ngDoCheck(): void {\n this.checkChanges();\n }\n\n public checkChanges(): void {\n this.change$.next();\n }\n}\n","<ng-template #template>\n <ng-content />\n</ng-template>\n<ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: this, template: template}\">\n {{ text }}\n</ng-container>\n<tui-expand\n *ngIf=\"isExpandable\"\n role=\"group\"\n class=\"t-children\"\n [expanded]=\"expanded$ | async\"\n>\n <div>\n <ng-content select=\"tui-tree-item\" />\n <ng-content select=\"tui-tree\" />\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\" />\n","import type {OnDestroy} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\n\nimport {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNode<T> implements OnDestroy {\n private readonly component = inject(TuiTreeItem);\n private readonly directive = inject<TuiTreeAccessor<T>>(TUI_TREE_ACCESSOR, {\n optional: true,\n });\n\n @Input('tuiTreeNode')\n public set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n public ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {AsyncPipe, NgForOf, NgIf} from '@angular/common';\nimport type {DoCheck, TrackByFunction} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport type {TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {distinctUntilChanged, map, startWith, Subject} from 'rxjs';\n\nimport {TuiTreeChildren} from '../../directives/tree-children.directive';\nimport {TuiTreeNode} from '../../directives/tree-node.directive';\nimport type {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItem} from '../tree-item/tree-item.component';\n\n@Component({\n standalone: true,\n selector: 'tui-tree',\n imports: [\n AsyncPipe,\n NgForOf,\n NgIf,\n PolymorpheusOutlet,\n TuiLet,\n TuiTreeItem,\n TuiTreeNode,\n ],\n templateUrl: './tree.template.html',\n styleUrls: ['./tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(TUI_TREE_NODE, TuiTreeComponent)],\n host: {role: 'tree'},\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @ViewChild(forwardRef(() => TuiTreeItem))\n protected readonly item?: TuiTreeItem;\n\n @ViewChild(forwardRef(() => TuiTreeComponent))\n protected readonly child?: TuiTreeComponent<T>;\n\n protected readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n protected readonly directive = inject<TuiTreeChildren<T>>(TuiTreeChildren, {\n optional: true,\n });\n\n @Input({\n required: true,\n })\n public value!: T;\n\n @Input()\n public trackBy: TrackByFunction<T> = (_: number, item: T) => item;\n\n @Input()\n public content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) =>\n String($implicit);\n\n public ngDoCheck(): void {\n this.checkChanges();\n }\n\n protected checkChanges(): void {\n this.check$.next();\n this.item?.checkChanges();\n this.child?.checkChanges();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler || TuiTreeChildren.defaultHandler;\n }\n}\n","<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"value !== children\">\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: value, node: view}\">\n {{ text }}\n </ng-container>\n </ng-container>\n <tui-tree\n *ngFor=\"let child of children; trackBy: trackBy\"\n [content]=\"content\"\n [trackBy]=\"trackBy\"\n [value]=\"child\"\n />\n</tui-tree-item>\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {tuiIsPresent, tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport type {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiTreeController][map]',\n providers: [\n tuiProvide(TUI_TREE_ACCESSOR, TuiTreeControllerDirective),\n tuiProvide(TUI_TREE_CONTROLLER, TuiTreeControllerDirective),\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n protected readonly items = new Map<TuiTreeItem, T>();\n\n @Input('tuiTreeController')\n public fallback = true;\n\n @Input()\n public map = new Map<T, boolean>();\n\n @Output()\n public readonly toggled = new EventEmitter<T>();\n\n public register(item: TuiTreeItem, value: T): void {\n this.items.set(item, value);\n }\n\n public unregister(item: TuiTreeItem): void {\n this.items.delete(item);\n }\n\n public isExpanded(item: TuiTreeItem): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n public toggle(item: TuiTreeItem): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!tuiIsPresent(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 {tuiProvide} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport type {TuiTreeItem} from '../components/tree-item/tree-item.component';\nimport type {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n standalone: true,\n selector: '[tuiTreeController]:not([map])',\n providers: [tuiProvide(TUI_TREE_CONTROLLER, TuiTreeItemController)],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeItemController implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItem, boolean>();\n\n @Input('tuiTreeController')\n public fallback = true;\n\n public isExpanded(item: TuiTreeItem): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n public toggle(item: TuiTreeItem): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {inject, Injectable} from '@angular/core';\nimport {map, startWith, Subject, switchMap, tap} from 'rxjs';\n\nimport type {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly loading = inject<T>(TUI_TREE_LOADING);\n private readonly start = inject<T>(TUI_TREE_START);\n private readonly loader = inject<TuiTreeLoader<T>>(TUI_TREE_LOADER);\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n private readonly load$ = new Subject<T>();\n\n public 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) =>\n children.filter((item) => !this.loader.hasChildren(item)),\n ),\n tap((children) => children.forEach((child) => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n map(() => this.start),\n );\n\n public getChildren(item: T): readonly T[] {\n return this.map.get(item) || [this.loading];\n }\n\n public 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 {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItem} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildren} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemController} from './directives/tree-item-controller.directive';\nimport {TuiTreeNode} from './directives/tree-node.directive';\n\nexport const TuiTree = [\n TuiTreeComponent,\n TuiTreeItem,\n TuiTreeItemContent,\n TuiTreeChildren,\n TuiTreeItemController,\n TuiTreeControllerDirective,\n TuiTreeNode,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export * from '@taiga-ui/kit/components/elastic-container';
20
20
  export * from '@taiga-ui/kit/components/files';
21
21
  export * from '@taiga-ui/kit/components/filter';
22
22
  export * from '@taiga-ui/kit/components/input-inline';
23
+ export * from '@taiga-ui/kit/components/input-password';
23
24
  export * from '@taiga-ui/kit/components/input-phone-international';
24
25
  export * from '@taiga-ui/kit/components/items-with-more';
25
26
  export * from '@taiga-ui/kit/components/line-clamp';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components.mjs","sources":["../../../projects/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-kit-components.mjs","sources":["../../../projects/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEG"}
@@ -4,13 +4,13 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
 
5
5
  class TuiButtonGroupStyles {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-inline-size:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;inline-size:1.75rem;block-size:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{inline-size:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-inline-size:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, decorators: [{
10
10
  type: Component,
11
11
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12
12
  class: 'tui-button-group-styles',
13
- }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-width:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;width:1.75rem;height:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{width:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-width:100%;justify-content:center}\n"] }]
13
+ }, styles: ["[tuiButtonGroup]{display:flex;border-radius:var(--tui-radius-xl);justify-content:center;overflow:hidden}[tuiButtonGroup]>button,[tuiButtonGroup]>a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-inline-size:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center}[tuiButtonGroup]>button:active,[tuiButtonGroup]>a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup]>button:before,[tuiButtonGroup]>a:before,[tuiButtonGroup]>button:after,[tuiButtonGroup]>a:after{position:absolute;top:0;background:inherit;inline-size:1.75rem;block-size:100%}[tuiButtonGroup]>button:first-child:before,[tuiButtonGroup]>a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup]>button:last-child:after,[tuiButtonGroup]>a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup]>button tui-icon,[tuiButtonGroup]>a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup]>button:only-child,[tuiButtonGroup]>a:only-child{inline-size:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-inline-size:100%;justify-content:center}\n"] }]
14
14
  }] });
15
15
  class TuiButtonGroup {
16
16
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-button-group.mjs","sources":["../../../projects/kit/directives/button-group/button-group.directive.ts","../../../projects/kit/directives/button-group/taiga-ui-kit-directives-button-group.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./button-group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-group-styles',\n },\n})\nclass TuiButtonGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiButtonGroup]',\n})\nexport class TuiButtonGroup {\n protected readonly nothing = tuiWithStyles(TuiButtonGroupStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6HARZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,k0CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA,EAAA,MAAA,EAAA,CAAA,k0CAAA,CAAA,EAAA,CAAA;;AAIL,MAIa,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAKuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AACpE,KAAA;+GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA,CAAA;;;ACvBD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-button-group.mjs","sources":["../../../projects/kit/directives/button-group/button-group.directive.ts","../../../projects/kit/directives/button-group/taiga-ui-kit-directives-button-group.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./button-group.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-button-group-styles',\n },\n})\nclass TuiButtonGroupStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiButtonGroup]',\n})\nexport class TuiButtonGroup {\n protected readonly nothing = tuiWithStyles(TuiButtonGroupStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,oBAAoB,CAAA;+GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,6HARZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,81CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,yBAAyB;AACnC,qBAAA,EAAA,MAAA,EAAA,CAAA,81CAAA,CAAA,EAAA,CAAA;;AAIL,MAIa,cAAc,CAAA;AAJ3B,IAAA,WAAA,GAAA;AAKuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AACpE,KAAA;+GAFY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,kBAAkB;AAC/B,iBAAA,CAAA;;;ACvBD;;AAEG;;;;"}
@@ -4,13 +4,13 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
4
4
 
5
5
  class TuiConnectedStyles {
6
6
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConnectedStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConnectedStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-connected-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiConnected]{--t-image-size: 2.5rem;--t-connected-height: calc(100% - var(--t-image-size) - .5rem)}[tuiConnected] [tuiCell]:not(:last-of-type):after,[tuiConnected] [tuiStep]:not(:last-of-type):after{content:\"\";position:absolute;top:calc(var(--t-image-size) + .25rem);left:calc(var(--t-image-size) / 2);height:var(--t-connected-height);width:1px;background-color:var(--tui-border-normal);background-clip:content-box;padding:inherit}[tuiConnected] [tuiStep]{--t-image-size: 2rem;--t-connected-height: calc(100% - var(--t-image-size) + .75rem)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConnectedStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-connected-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiConnected]{--t-image-size: 2.5rem;--t-connected-height: calc(100% - var(--t-image-size) - .5rem)}[tuiConnected] [tuiCell]:not(:last-of-type):after,[tuiConnected] [tuiStep]:not(:last-of-type):after{content:\"\";position:absolute;top:calc(var(--t-image-size) + .25rem);left:calc(var(--t-image-size) / 2);block-size:var(--t-connected-height);inline-size:1px;background-color:var(--tui-border-normal);background-clip:content-box;padding:inherit}[tuiConnected] [tuiStep]{--t-image-size: 2rem;--t-connected-height: calc(100% - var(--t-image-size) + .75rem)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
8
  }
9
9
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConnectedStyles, decorators: [{
10
10
  type: Component,
11
11
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
12
12
  class: 'tui-connected-styles',
13
- }, styles: ["[tuiConnected]{--t-image-size: 2.5rem;--t-connected-height: calc(100% - var(--t-image-size) - .5rem)}[tuiConnected] [tuiCell]:not(:last-of-type):after,[tuiConnected] [tuiStep]:not(:last-of-type):after{content:\"\";position:absolute;top:calc(var(--t-image-size) + .25rem);left:calc(var(--t-image-size) / 2);height:var(--t-connected-height);width:1px;background-color:var(--tui-border-normal);background-clip:content-box;padding:inherit}[tuiConnected] [tuiStep]{--t-image-size: 2rem;--t-connected-height: calc(100% - var(--t-image-size) + .75rem)}\n"] }]
13
+ }, styles: ["[tuiConnected]{--t-image-size: 2.5rem;--t-connected-height: calc(100% - var(--t-image-size) - .5rem)}[tuiConnected] [tuiCell]:not(:last-of-type):after,[tuiConnected] [tuiStep]:not(:last-of-type):after{content:\"\";position:absolute;top:calc(var(--t-image-size) + .25rem);left:calc(var(--t-image-size) / 2);block-size:var(--t-connected-height);inline-size:1px;background-color:var(--tui-border-normal);background-clip:content-box;padding:inherit}[tuiConnected] [tuiStep]{--t-image-size: 2rem;--t-connected-height: calc(100% - var(--t-image-size) + .75rem)}\n"] }]
14
14
  }] });
15
15
  class TuiConnected {
16
16
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-connected.mjs","sources":["../../../projects/kit/directives/connected/connected.directive.ts","../../../projects/kit/directives/connected/taiga-ui-kit-directives-connected.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./connected.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-connected-styles',\n },\n})\nclass TuiConnectedStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiConnected]',\n host: {\n tuiConnected: '',\n },\n})\nexport class TuiConnected {\n protected readonly nothing = tuiWithStyles(TuiConnectedStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0HARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qiBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA,EAAA,MAAA,EAAA,CAAA,qiBAAA,CAAA,EAAA,CAAA;;AAIL,MAOa,YAAY,CAAA;AAPzB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAClE,KAAA;+GAFY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-connected.mjs","sources":["../../../projects/kit/directives/connected/connected.directive.ts","../../../projects/kit/directives/connected/taiga-ui-kit-directives-connected.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./connected.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-connected-styles',\n },\n})\nclass TuiConnectedStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiConnected]',\n host: {\n tuiConnected: '',\n },\n})\nexport class TuiConnected {\n protected readonly nothing = tuiWithStyles(TuiConnectedStyles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAQA,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,0HARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+iBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,sBAAsB;AAChC,qBAAA,EAAA,MAAA,EAAA,CAAA,+iBAAA,CAAA,EAAA,CAAA;;AAIL,MAOa,YAAY,CAAA;AAPzB,IAAA,WAAA,GAAA;AAQuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAClE,KAAA;+GAFY,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAPxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;AC1BD;;AAEG;;;;"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, NgZone, Directive, Input } from '@angular/core';
2
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, inject, Directive, Input } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { MutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
5
5
  import { ResizeObserverService } from '@ng-web-apis/resize-observer';
@@ -29,7 +29,7 @@ class TuiFade {
29
29
  const el = tuiInjectElement();
30
30
  tuiWithStyles(TuiFadeStyles);
31
31
  merge(inject(ResizeObserverService, { self: true }), inject(MutationObserverService, { self: true }), fromEvent(el, 'scroll'))
32
- .pipe(tuiZonefree(inject(NgZone)), takeUntilDestroyed())
32
+ .pipe(tuiZonefree(), takeUntilDestroyed())
33
33
  .subscribe(() => {
34
34
  el.classList.toggle('_start', !!el.scrollLeft || !!el.scrollTop);
35
35
  el.classList.toggle('_end', this.isEnd(el));
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n NgZone,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation} from '@taiga-ui/core/types';\nimport {fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./fade.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-fade-styles',\n },\n})\nclass TuiFadeStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiFade]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {\n '[style.line-height]': 'lineHeight',\n '[style.--line-height]': 'lineHeight',\n '[style.--fade-size]': 'size',\n '[style.--fade-offset]': 'offset',\n '[attr.data-orientation]': 'orientation',\n },\n})\nexport class TuiFade {\n // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh\n @Input('tuiFadeHeight')\n public lineHeight: string | null = null;\n\n @Input('tuiFadeSize')\n public size = '1.5em';\n\n @Input('tuiFadeOffset')\n public offset = '0em';\n\n @Input('tuiFade')\n public orientation: TuiOrientation | '' = 'horizontal';\n\n constructor() {\n const el = tuiInjectElement();\n\n tuiWithStyles(TuiFadeStyles);\n merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(el, 'scroll'),\n )\n .pipe(tuiZonefree(inject(NgZone)), takeUntilDestroyed())\n .subscribe(() => {\n el.classList.toggle('_start', !!el.scrollLeft || !!el.scrollTop);\n el.classList.toggle('_end', this.isEnd(el));\n });\n }\n\n private isEnd(el: HTMLElement): boolean {\n if (this.orientation === 'vertical') {\n return Math.round(el.scrollTop) < el.scrollHeight - el.clientHeight - BUFFER;\n }\n\n return (\n Math.round(el.scrollLeft) < el.scrollWidth - el.clientWidth - BUFFER ||\n // horizontal multiline fade can kick in early due to hanging elements of fonts so using bigger buffer\n el.scrollHeight > el.clientHeight + 4 * BUFFER\n );\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-directives-fade.mjs","sources":["../../../projects/kit/directives/fade/fade.directive.ts","../../../projects/kit/directives/fade/taiga-ui-kit-directives-fade.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiOrientation} from '@taiga-ui/core/types';\nimport {fromEvent, merge} from 'rxjs';\n\nconst BUFFER = 1; // buffer for rounding issues\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./fade.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-fade-styles',\n },\n})\nclass TuiFadeStyles {}\n\n@Directive({\n standalone: true,\n selector: '[tuiFade]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {\n '[style.line-height]': 'lineHeight',\n '[style.--line-height]': 'lineHeight',\n '[style.--fade-size]': 'size',\n '[style.--fade-offset]': 'offset',\n '[attr.data-orientation]': 'orientation',\n },\n})\nexport class TuiFade {\n // TODO: Remove when lh CSS units are supported: https://caniuse.com/mdn-css_types_length_lh\n @Input('tuiFadeHeight')\n public lineHeight: string | null = null;\n\n @Input('tuiFadeSize')\n public size = '1.5em';\n\n @Input('tuiFadeOffset')\n public offset = '0em';\n\n @Input('tuiFade')\n public orientation: TuiOrientation | '' = 'horizontal';\n\n constructor() {\n const el = tuiInjectElement();\n\n tuiWithStyles(TuiFadeStyles);\n merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(el, 'scroll'),\n )\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => {\n el.classList.toggle('_start', !!el.scrollLeft || !!el.scrollTop);\n el.classList.toggle('_end', this.isEnd(el));\n });\n }\n\n private isEnd(el: HTMLElement): boolean {\n if (this.orientation === 'vertical') {\n return Math.round(el.scrollTop) < el.scrollHeight - el.clientHeight - BUFFER;\n }\n\n return (\n Math.round(el.scrollLeft) < el.scrollWidth - el.clientWidth - BUFFER ||\n // horizontal multiline fade can kick in early due to hanging elements of fonts so using bigger buffer\n el.scrollHeight > el.clientHeight + 4 * BUFFER\n );\n }\n}\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 * as i0 from '@angular/core';
2
- import { inject, NgZone, Directive, Input } from '@angular/core';
2
+ import { inject, Directive, Input } from '@angular/core';
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { MutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
5
5
  import { ResizeObserverService } from '@ng-web-apis/resize-observer';
@@ -25,7 +25,7 @@ class TuiFluidTypography {
25
25
  this.el = tuiInjectElement();
26
26
  this.options = inject(TUI_FLUID_TYPOGRAPHY_OPTIONS);
27
27
  this.sub = merge(this.changes$, inject(ResizeObserverService, { self: true }), inject(MutationObserverService, { self: true }), fromEvent(this.el, 'input'))
28
- .pipe(tuiZonefree(inject(NgZone)), takeUntilDestroyed())
28
+ .pipe(tuiZonefree(), takeUntilDestroyed())
29
29
  .subscribe(() => {
30
30
  const min = Number(this.tuiFluidTypography[0] || this.options.min);
31
31
  const max = Number(this.tuiFluidTypography[1] || this.options.max);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-fluid-typography.mjs","sources":["../../../projects/kit/directives/fluid-typography/fluid-typography.options.ts","../../../projects/kit/directives/fluid-typography/fluid-typography.directive.ts","../../../projects/kit/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiFluidTypographyOptions {\n readonly min: number;\n readonly max: number;\n}\n\nexport const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS: TuiFluidTypographyOptions = {\n min: 0.625,\n max: 1.5,\n};\n\nexport const TUI_FLUID_TYPOGRAPHY_OPTIONS = tuiCreateToken(\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n);\n\nexport function tuiFluidTypographyOptionsProvider(\n options: Partial<TuiFluidTypographyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_FLUID_TYPOGRAPHY_OPTIONS,\n options,\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n );\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive, inject, Input, NgZone} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Subject} from 'rxjs';\n\nimport {TUI_FLUID_TYPOGRAPHY_OPTIONS} from './fluid-typography.options';\n\nconst STEP = 1 / 16;\n\n@Directive({\n standalone: true,\n selector: '[tuiFluidTypography]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {tuiFluidTypography: ''},\n})\nexport class TuiFluidTypography implements OnChanges {\n // TODO: refactor to signal inputs after Angular update\n private readonly changes$ = new Subject<void>();\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_FLUID_TYPOGRAPHY_OPTIONS);\n\n protected readonly sub = merge(\n this.changes$,\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(this.el, 'input'),\n )\n .pipe(tuiZonefree(inject(NgZone)), takeUntilDestroyed())\n .subscribe(() => {\n const min = Number(this.tuiFluidTypography[0] || this.options.min);\n const max = Number(this.tuiFluidTypography[1] || this.options.max);\n\n for (let i = max; i >= min; i -= STEP) {\n this.el.style.fontSize = `${i}rem`;\n\n if (this.el.scrollWidth <= this.el.clientWidth) {\n break;\n }\n }\n });\n\n @Input()\n public tuiFluidTypography: readonly [min: number, max: number] | '' = '';\n\n public ngOnChanges(): void {\n this.changes$.next();\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-directives-fluid-typography.mjs","sources":["../../../projects/kit/directives/fluid-typography/fluid-typography.options.ts","../../../projects/kit/directives/fluid-typography/fluid-typography.directive.ts","../../../projects/kit/directives/fluid-typography/taiga-ui-kit-directives-fluid-typography.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport interface TuiFluidTypographyOptions {\n readonly min: number;\n readonly max: number;\n}\n\nexport const TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS: TuiFluidTypographyOptions = {\n min: 0.625,\n max: 1.5,\n};\n\nexport const TUI_FLUID_TYPOGRAPHY_OPTIONS = tuiCreateToken(\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n);\n\nexport function tuiFluidTypographyOptionsProvider(\n options: Partial<TuiFluidTypographyOptions>,\n): Provider {\n return tuiProvideOptions(\n TUI_FLUID_TYPOGRAPHY_OPTIONS,\n options,\n TUI_FLUID_TYPOGRAPHY_DEFAULT_OPTIONS,\n );\n}\n","import type {OnChanges} from '@angular/core';\nimport {Directive, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {fromEvent, merge, Subject} from 'rxjs';\n\nimport {TUI_FLUID_TYPOGRAPHY_OPTIONS} from './fluid-typography.options';\n\nconst STEP = 1 / 16;\n\n@Directive({\n standalone: true,\n selector: '[tuiFluidTypography]',\n providers: [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {characterData: true, subtree: true},\n },\n ],\n host: {tuiFluidTypography: ''},\n})\nexport class TuiFluidTypography implements OnChanges {\n // TODO: refactor to signal inputs after Angular update\n private readonly changes$ = new Subject<void>();\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_FLUID_TYPOGRAPHY_OPTIONS);\n\n protected readonly sub = merge(\n this.changes$,\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n fromEvent(this.el, 'input'),\n )\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => {\n const min = Number(this.tuiFluidTypography[0] || this.options.min);\n const max = Number(this.tuiFluidTypography[1] || this.options.max);\n\n for (let i = max; i >= min; i -= STEP) {\n this.el.style.fontSize = `${i}rem`;\n\n if (this.el.scrollWidth <= this.el.clientWidth) {\n break;\n }\n }\n });\n\n @Input()\n public tuiFluidTypography: readonly [min: number, max: number] | '' = '';\n\n public ngOnChanges(): void {\n this.changes$.next();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ import { TuiIcon } from '@taiga-ui/core/components/icon';
5
5
 
6
6
  class TuiIconBadgeStyles {
7
7
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadgeStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconBadgeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icon-badge" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);width:.57em;height:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiIconBadgeStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-icon-badge" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);inline-size:.57em;block-size:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiIconBadgeStyles, decorators: [{
11
11
  type: Component,
12
12
  args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
13
13
  class: 'tui-icon-badge',
14
- }, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);width:.57em;height:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),black .4em)}\n"] }]
14
+ }, styles: ["[tuiIconBadge]:before{content:\"\";position:absolute;right:.143em;bottom:.143em;display:var(--t-icon-badge, none);inline-size:.57em;block-size:.57em;transform:translate(50%,50%);-webkit-mask:var(--t-icon-badge) no-repeat center / contain;mask:var(--t-icon-badge) no-repeat center / contain;background:currentColor}[tuiIconBadge][style*=\"--t-icon-badge:\"]:after{-webkit-mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em);mask-image:var(--t-icon),radial-gradient(circle at bottom .1em right .1em,transparent calc(.4em - .5px),#000 .4em)}\n"] }]
15
15
  }] });
16
16
  class TuiIconBadge {
17
17
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-icon-badge.mjs","sources":["../../../projects/kit/directives/icon-badge/icon-badge.directive.ts","../../../projects/kit/directives/icon-badge/taiga-ui-kit-directives-icon-badge.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./icon-badge.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-icon-badge',\n },\n})\nclass TuiIconBadgeStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[badge]',\n host: {\n tuiIconBadge: '',\n '[style.--t-icon-badge]': 'badgeSrc()',\n },\n})\nexport class TuiIconBadge {\n private readonly icon = inject(TuiIcon);\n\n protected readonly nothing = tuiWithStyles(TuiIconBadgeStyles);\n protected readonly badgeSrc = signal<string | null>(null);\n\n @Input()\n public set badge(icon: string) {\n this.badgeSrc.set(this.icon.resolve(icon));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAYA,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,oHARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qlBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,gBAAgB;AAC1B,qBAAA,EAAA,MAAA,EAAA,CAAA,qlBAAA,CAAA,EAAA,CAAA;;AAIL,MAQa,YAAY,CAAA;AARzB,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAErB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;AAM7D,KAAA;IAJG,IACW,KAAK,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;+GATQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AAChB,wBAAA,wBAAwB,EAAE,YAAY;AACzC,qBAAA;AACJ,iBAAA,CAAA;8BAQc,KAAK,EAAA,CAAA;sBADf,KAAK;;;ACtCV;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-icon-badge.mjs","sources":["../../../projects/kit/directives/icon-badge/icon-badge.directive.ts","../../../projects/kit/directives/icon-badge/taiga-ui-kit-directives-icon-badge.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n Input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./icon-badge.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-icon-badge',\n },\n})\nclass TuiIconBadgeStyles {}\n\n@Directive({\n standalone: true,\n selector: 'tui-icon[badge]',\n host: {\n tuiIconBadge: '',\n '[style.--t-icon-badge]': 'badgeSrc()',\n },\n})\nexport class TuiIconBadge {\n private readonly icon = inject(TuiIcon);\n\n protected readonly nothing = tuiWithStyles(TuiIconBadgeStyles);\n protected readonly badgeSrc = signal<string | null>(null);\n\n @Input()\n public set badge(icon: string) {\n this.badgeSrc.set(this.icon.resolve(icon));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAYA,MAUM,kBAAkB,CAAA;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,oHARV,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6lBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;4FAQV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAVvB,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACzC,IAAA,EAAA;AACF,wBAAA,KAAK,EAAE,gBAAgB;AAC1B,qBAAA,EAAA,MAAA,EAAA,CAAA,6lBAAA,CAAA,EAAA,CAAA;;AAIL,MAQa,YAAY,CAAA;AARzB,IAAA,WAAA,GAAA;AASqB,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAErB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC5C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;AAM7D,KAAA;IAJG,IACW,KAAK,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;+GATQ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACF,wBAAA,YAAY,EAAE,EAAE;AAChB,wBAAA,wBAAwB,EAAE,YAAY;AACzC,qBAAA;AACJ,iBAAA,CAAA;8BAQc,KAAK,EAAA,CAAA;sBADf,KAAK;;;ACtCV;;AAEG;;;;"}