@taiga-ui/kit 3.54.0 → 3.55.0-canary.17e839c

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 (156) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +2 -1
  9. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-combo-box.umd.js +4 -1
  11. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-files.umd.js +5 -2
  13. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-multi.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +9 -1
  17. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-date.umd.js +1 -1
  21. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-phone.umd.js +5 -4
  26. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  28. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -10
  30. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  32. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-multi-select.umd.js +4 -1
  34. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
  37. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-push.umd.js +1 -1
  39. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-radio.umd.js +37 -43
  41. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  43. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-select-option.umd.js +4 -4
  45. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-slider.umd.js +14 -4
  47. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  49. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  50. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  52. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +6 -6
  54. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +17 -25
  56. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  57. package/components/files/file/file.component.d.ts +1 -1
  58. package/components/input-tag/input-tag.component.d.ts +3 -4
  59. package/components/pdf-viewer/pdf-viewer.options.d.ts +5 -5
  60. package/components/progress/progress-circle/progress-circle.component.d.ts +2 -2
  61. package/components/radio/radio.component.d.ts +2 -4
  62. package/components/slider/slider.component.d.ts +1 -0
  63. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  64. package/esm2015/components/action/action.component.js +1 -1
  65. package/esm2015/components/avatar/avatar.component.js +2 -2
  66. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  67. package/esm2015/components/calendar-range/calendar-range.component.js +3 -2
  68. package/esm2015/components/combo-box/combo-box.component.js +5 -2
  69. package/esm2015/components/files/file/file.component.js +5 -2
  70. package/esm2015/components/files/files.component.js +1 -1
  71. package/esm2015/components/input-date/input-date.component.js +1 -1
  72. package/esm2015/components/input-date-multi/input-date-multi.component.js +1 -1
  73. package/esm2015/components/input-date-range/input-date-range.component.js +10 -2
  74. package/esm2015/components/input-date-time/input-date-time.component.js +1 -1
  75. package/esm2015/components/input-files/input-files.component.js +1 -2
  76. package/esm2015/components/input-files/input-files.directive.js +1 -2
  77. package/esm2015/components/input-phone/input-phone.component.js +6 -5
  78. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  79. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  80. package/esm2015/components/input-tag/input-tag.component.js +3 -11
  81. package/esm2015/components/line-clamp/line-clamp-box.component.js +2 -2
  82. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  83. package/esm2015/components/multi-select/multi-select.component.js +5 -2
  84. package/esm2015/components/pdf-viewer/pdf-viewer.options.js +1 -1
  85. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  86. package/esm2015/components/push/push.component.js +1 -1
  87. package/esm2015/components/radio/radio.component.js +9 -16
  88. package/esm2015/components/range/range.component.js +1 -1
  89. package/esm2015/components/select-option/select-option.component.js +5 -5
  90. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +3 -3
  91. package/esm2015/components/slider/slider.component.js +9 -3
  92. package/esm2015/components/stepper/step/step.component.js +1 -1
  93. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  94. package/esm2015/components/tree/components/tree-item/tree-item.component.js +1 -2
  95. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +1 -2
  96. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +1 -2
  97. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +1 -1
  98. package/esm2015/pipes/field-error/field-error-pipe.js +7 -7
  99. package/esm2015/utils/miscellaneous/create-time-periods.js +3 -3
  100. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  101. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  102. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  103. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  104. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  105. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  106. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  107. package/fesm2015/taiga-ui-kit-components-calendar-range.js +2 -1
  108. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  109. package/fesm2015/taiga-ui-kit-components-combo-box.js +4 -1
  110. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  111. package/fesm2015/taiga-ui-kit-components-files.js +6 -3
  112. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  113. package/fesm2015/taiga-ui-kit-components-input-date-multi.js +1 -1
  114. package/fesm2015/taiga-ui-kit-components-input-date-multi.js.map +1 -1
  115. package/fesm2015/taiga-ui-kit-components-input-date-range.js +9 -1
  116. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  117. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  118. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  119. package/fesm2015/taiga-ui-kit-components-input-date.js +1 -1
  120. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  121. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  122. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  123. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  124. package/fesm2015/taiga-ui-kit-components-input-phone.js +5 -4
  125. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  126. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  127. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  128. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -11
  129. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  130. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  131. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  132. package/fesm2015/taiga-ui-kit-components-multi-select.js +4 -1
  133. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  134. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-components-progress.js +1 -1
  136. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  137. package/fesm2015/taiga-ui-kit-components-push.js +1 -1
  138. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  139. package/fesm2015/taiga-ui-kit-components-radio.js +10 -16
  140. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  141. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  142. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  143. package/fesm2015/taiga-ui-kit-components-select-option.js +4 -4
  144. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  145. package/fesm2015/taiga-ui-kit-components-slider.js +10 -4
  146. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  147. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  148. package/fesm2015/taiga-ui-kit-components-tabs.js +1 -1
  149. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  150. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  151. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  152. package/fesm2015/taiga-ui-kit-pipes-field-error.js +6 -6
  153. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  154. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +2 -2
  155. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  156. package/package.json +42 -42
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-slider.js","sources":["../../../projects/kit/components/slider/slider.options.ts","../../../projects/kit/components/slider/slider.component.ts","../../../projects/kit/components/slider/helpers/slider-key-steps.directive.ts","../../../projects/kit/components/slider/helpers/slider-readonly.directive.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.template.html","../../../projects/kit/components/slider/slider.module.ts","../../../projects/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: `m`,\n trackColor: `var(--tui-base-03)`,\n};\n\n/**\n * Default parameters for Slider component\n */\nexport const TUI_SLIDER_OPTIONS = tuiCreateToken(TUI_SLIDER_DEFAULT_OPTIONS);\n\nexport function tuiSliderOptionsProvider(options: Partial<TuiSliderOptions>): Provider {\n return tuiProvideOptions(TUI_SLIDER_OPTIONS, options, TUI_SLIDER_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n tuiIsEdgeOlderThan,\n tuiPure,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TuiSliderKeyStepsDirective} from './helpers/slider-key-steps.directive';\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider.options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: '',\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = this.options.size;\n\n @Input()\n segments = 1;\n\n get min(): number {\n return Number(this.el.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.el.nativeElement.max || 100);\n }\n\n get step(): number {\n return Number(this.el.nativeElement.step) || 1;\n }\n\n get value(): number {\n const {el, control, hasKeySteps} = this;\n\n if (!hasKeySteps && control instanceof NgModel) {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `el.nativeElement.value` is equal to the previous value at this moment.\n */\n return control.viewModel;\n }\n\n return Number(el.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.el.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return (100 * (this.value - this.min)) / (this.max - this.min) || 0;\n }\n\n @HostBinding('style.--tui-slider-segment-width.%')\n get segmentWidth(): number {\n return 100 / Math.max(1, this.segments);\n }\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n @HostBinding('class._old-edge')\n get isOldEdge(): boolean {\n return tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);\n }\n\n @tuiPure\n get hasKeySteps(): boolean {\n return Boolean(this.injector.get(TuiSliderKeyStepsDirective, null));\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) readonly el: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(Injector) private readonly injector: Injector,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(tuiWatch(cdr), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAssert,\n tuiClamp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\n\nimport {TuiSliderComponent} from '../slider.component';\n\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.aria-valuenow]': 'safeCurrentValue',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuemax]': 'max',\n '[disabled]': 'computedDisabled',\n },\n})\nexport class TuiSliderKeyStepsDirective\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @Input()\n keySteps!: TuiKeySteps;\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled ? null : this.el.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get min(): number {\n return this.keySteps[0][1];\n }\n\n get max(): number {\n return this.keySteps[this.keySteps.length - 1][1];\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Inject(forwardRef(() => TuiSliderComponent))\n private readonly slider: TuiSliderComponent,\n ) {\n super(control, cdr);\n }\n\n @HostListener('input')\n @HostListener('change')\n updateControlValue(): void {\n this.value = tuiPercentageToKeyStepValue(\n this.slider.valuePercentage,\n this.keySteps,\n );\n }\n\n override writeValue(controlValue: number | null): void {\n if (controlValue === null) {\n return;\n }\n\n const clampedControlValue = tuiClamp(controlValue, this.min, this.max);\n\n ngDevMode &&\n tuiAssert.assert(\n controlValue === clampedControlValue,\n '\\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max',\n );\n\n this.slider.value = this.transformToNativeValue(clampedControlValue);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(controlValue: number): number {\n const {min, max} = this.slider;\n const newValuePercentage = tuiKeyStepValueToPercentage(\n controlValue,\n this.keySteps,\n );\n\n return (newValuePercentage * (max - min)) / 100 + min;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, HostListener, Inject, Input, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiCoerceBooleanProperty,\n TuiDestroyService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {combineLatest, merge, Observable} from 'rxjs';\nimport {filter, map, takeUntil, tap} from 'rxjs/operators';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n selector: 'input[tuiSlider][readonly]',\n providers: [TuiDestroyService],\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n readonly: boolean | string = true;\n\n constructor(\n @Inject(ElementRef) el: ElementRef<HTMLInputElement>,\n @Inject(DOCUMENT) doc: Document,\n @Self()\n @Inject(TuiDestroyService)\n destroy$: Observable<unknown>,\n ) {\n const touchStart$ = tuiTypedFromEvent(el.nativeElement, 'touchstart', {\n passive: false,\n });\n const touchMove$ = tuiTypedFromEvent(doc, 'touchmove', {\n passive: false,\n });\n const touchEnd$ = tuiTypedFromEvent(doc, 'touchend', {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap(e => this.preventEvent(e)),\n map(ALWAYS_TRUE_HANDLER),\n ),\n touchEnd$.pipe(map(ALWAYS_FALSE_HANDLER)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntil(destroy$),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n @HostListener('mousedown', ['$event'])\n preventEvent(event: Event): void {\n if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {\n event.preventDefault();\n }\n }\n\n @HostListener('keydown', ['$event'])\n preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from '../../slider.component';\n\n@Component({\n selector: '[tuiSliderThumbLabel]',\n templateUrl: './slider-thumb-label.template.html',\n styleUrls: ['./slider-thumb-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderThumbLabelComponent implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n readonly control?: NgControl;\n\n get size(): TuiSizeS {\n return this.slider?.size || 'm';\n }\n\n get ratio(): number {\n return (this.slider?.valuePercentage || 0) / 100;\n }\n\n get ghostLeft(): number {\n return this.ratio * (this.slider?.el.nativeElement.offsetWidth || 0);\n }\n\n ngAfterContentInit(): void {\n ngDevMode &&\n tuiAssert.assert(\n Boolean(this.control?.valueChanges),\n '\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n' +\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n}\n","<ng-container *ngIf=\"control?.valueChanges | async\"></ng-container>\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\n [style.--tui-slider-thumb-ratio]=\"ratio\"\n [style.left.px]=\"ghostLeft\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"input[type=range]\"></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiSliderKeyStepsDirective} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonlyDirective} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabelComponent} from './helpers/slider-thumb-label/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n ],\n})\nexport class TuiSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-slider.js","sources":["../../../projects/kit/components/slider/slider.options.ts","../../../projects/kit/components/slider/slider.component.ts","../../../projects/kit/components/slider/helpers/slider-key-steps.directive.ts","../../../projects/kit/components/slider/helpers/slider-readonly.directive.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.ts","../../../projects/kit/components/slider/helpers/slider-thumb-label/slider-thumb-label.template.html","../../../projects/kit/components/slider/slider.module.ts","../../../projects/kit/components/slider/taiga-ui-kit-components-slider.ts"],"sourcesContent":["import {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nexport interface TuiSliderOptions {\n readonly size: TuiSizeS;\n readonly trackColor: string;\n}\n\nexport const TUI_SLIDER_DEFAULT_OPTIONS: TuiSliderOptions = {\n size: `m`,\n trackColor: `var(--tui-base-03)`,\n};\n\n/**\n * Default parameters for Slider component\n */\nexport const TUI_SLIDER_OPTIONS = tuiCreateToken(TUI_SLIDER_DEFAULT_OPTIONS);\n\nexport function tuiSliderOptionsProvider(options: Partial<TuiSliderOptions>): Provider {\n return tuiProvideOptions(TUI_SLIDER_OPTIONS, options, TUI_SLIDER_DEFAULT_OPTIONS);\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Injector,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl, NgModel} from '@angular/forms';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {\n CHROMIUM_EDGE_START_VERSION,\n tuiIsEdgeOlderThan,\n tuiPure,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\nimport {take} from 'rxjs/operators';\n\nimport {TuiSliderKeyStepsDirective} from './helpers/slider-key-steps.directive';\nimport {TUI_SLIDER_OPTIONS, TuiSliderOptions} from './slider.options';\n\n@Component({\n /**\n * We have to call our component as `<input tuiSlider type=\"range\" ... />`\n * because otherwise built-in angular\n * {@link https://github.com/angular/angular/blob/master/packages/forms/src/directives/range_value_accessor.ts#L45 RangeValueAccessor}\n * cannot be matched by its CSS selector.\n */\n selector: 'input[type=range][tuiSlider]',\n template: '',\n styleUrls: ['./slider.style.less'],\n host: {\n /**\n * For change detection.\n * Webkit does not have built-in method for customization of filling progress (as Firefox).\n * We draw filling of progress by `background: linear-gradient(...)` of the track.\n * This function triggers change detection (for {@link valuePercentage} function) when we drag thumb of the input.\n */\n '(input)': '0',\n '[style.--tui-slider-track-color]': 'options.trackColor',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderComponent {\n @Input()\n @HostBinding('attr.data-size')\n size: TuiSizeS = this.options.size;\n\n @Input()\n segments = 1;\n\n get min(): number {\n return Number(this.el.nativeElement.min);\n }\n\n get max(): number {\n return Number(this.el.nativeElement.max || 100);\n }\n\n get step(): number {\n return Number(this.el.nativeElement.step) || 1;\n }\n\n get value(): number {\n const {el, control, hasKeySteps} = this;\n\n if (!hasKeySteps && control instanceof NgModel) {\n /**\n * If developer uses `[(ngModel)]` and programmatically change value,\n * the `el.nativeElement.value` is equal to the previous value at this moment.\n */\n return control.viewModel;\n }\n\n return Number(el.nativeElement.value) || 0;\n }\n\n set value(newValue: number) {\n this.el.nativeElement.value = `${newValue}`;\n }\n\n @HostBinding('style.--tui-slider-fill-ratio')\n get valueRatio(): number {\n return (this.value - this.min) / (this.max - this.min) || 0;\n }\n\n @HostBinding('style.--tui-slider-fill-percentage.%')\n get valuePercentage(): number {\n return 100 * this.valueRatio;\n }\n\n @HostBinding('style.--tui-slider-segment-width.%')\n get segmentWidth(): number {\n return 100 / Math.max(1, this.segments);\n }\n\n // TODO: drop support of legacy Edge (EdgeHTML) in v4.x\n @HostBinding('class._old-edge')\n get isOldEdge(): boolean {\n return tuiIsEdgeOlderThan(CHROMIUM_EDGE_START_VERSION, this.userAgent);\n }\n\n @tuiPure\n get hasKeySteps(): boolean {\n return Boolean(this.injector.get(TuiSliderKeyStepsDirective, null));\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_SLIDER_OPTIONS) readonly options: TuiSliderOptions,\n @Inject(ElementRef) readonly el: ElementRef<HTMLInputElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(Injector) private readonly injector: Injector,\n ) {\n if (control instanceof NgModel) {\n /**\n * The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,\n * when a control is bound using [(ngModel)], first time with a phantom null value.\n * With `changeDetection: ChangeDetectionStrategy.OnPush` the second call of writeValue with real value don't re-render the view.\n * ___\n * See this {@link https://github.com/angular/angular/issues/14988 issue}\n */\n control.valueChanges?.pipe(tuiWatch(cdr), take(1)).subscribe();\n }\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAssert,\n tuiClamp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n} from '@taiga-ui/cdk';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n} from '@taiga-ui/kit/utils';\n\nimport {TuiSliderComponent} from '../slider.component';\n\n@Directive({\n selector: 'input[tuiSlider][keySteps]',\n host: {\n '[attr.aria-valuenow]': 'safeCurrentValue',\n '[attr.aria-valuemin]': 'min',\n '[attr.aria-valuemax]': 'max',\n '[disabled]': 'computedDisabled',\n },\n})\nexport class TuiSliderKeyStepsDirective\n extends AbstractTuiControl<number>\n implements TuiFocusableElementAccessor\n{\n @Input()\n keySteps!: TuiKeySteps;\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.computedDisabled ? null : this.el.nativeElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get min(): number {\n return this.keySteps[0][1];\n }\n\n get max(): number {\n return this.keySteps[this.keySteps.length - 1][1];\n }\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLInputElement>,\n @Inject(forwardRef(() => TuiSliderComponent))\n private readonly slider: TuiSliderComponent,\n ) {\n super(control, cdr);\n }\n\n @HostListener('input')\n @HostListener('change')\n updateControlValue(): void {\n this.value = tuiPercentageToKeyStepValue(\n this.slider.valuePercentage,\n this.keySteps,\n );\n }\n\n override writeValue(controlValue: number | null): void {\n if (controlValue === null) {\n return;\n }\n\n const clampedControlValue = tuiClamp(controlValue, this.min, this.max);\n\n ngDevMode &&\n tuiAssert.assert(\n controlValue === clampedControlValue,\n '\\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max',\n );\n\n this.slider.value = this.transformToNativeValue(clampedControlValue);\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private transformToNativeValue(controlValue: number): number {\n const {min, max} = this.slider;\n const newValuePercentage = tuiKeyStepValueToPercentage(\n controlValue,\n this.keySteps,\n );\n\n return (newValuePercentage * (max - min)) / 100 + min;\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, HostListener, Inject, Input, Self} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n ALWAYS_TRUE_HANDLER,\n tuiCoerceBooleanProperty,\n TuiDestroyService,\n tuiTypedFromEvent,\n} from '@taiga-ui/cdk';\nimport {combineLatest, merge, Observable} from 'rxjs';\nimport {filter, map, takeUntil, tap} from 'rxjs/operators';\n\nconst SLIDER_INTERACTION_KEYS = new Set([\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'ArrowDown',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n]);\n\n/**\n * Native <input type='range' readonly> doesn't work.\n * This directive imitates this native behaviour.\n */\n@Directive({\n selector: 'input[tuiSlider][readonly]',\n providers: [TuiDestroyService],\n})\nexport class TuiSliderReadonlyDirective {\n @Input()\n readonly: boolean | string = true;\n\n constructor(\n @Inject(ElementRef) el: ElementRef<HTMLInputElement>,\n @Inject(DOCUMENT) doc: Document,\n @Self()\n @Inject(TuiDestroyService)\n destroy$: Observable<unknown>,\n ) {\n const touchStart$ = tuiTypedFromEvent(el.nativeElement, 'touchstart', {\n passive: false,\n });\n const touchMove$ = tuiTypedFromEvent(doc, 'touchmove', {\n passive: false,\n });\n const touchEnd$ = tuiTypedFromEvent(doc, 'touchend', {\n passive: true,\n });\n\n const shouldPreventMove$ = merge(\n touchStart$.pipe(\n tap(e => this.preventEvent(e)),\n map(ALWAYS_TRUE_HANDLER),\n ),\n touchEnd$.pipe(map(ALWAYS_FALSE_HANDLER)),\n );\n\n /**\n * @bad TODO think about another solution.\n * Keep in mind that preventing touch event (on slider) inside `@HostListener('touchstart')` doesn't work for mobile chrome.\n */\n combineLatest([touchMove$, shouldPreventMove$])\n .pipe(\n filter(([_, shouldPreventMove]) => shouldPreventMove),\n takeUntil(destroy$),\n )\n .subscribe(([moveEvent]) => this.preventEvent(moveEvent));\n }\n\n @HostListener('mousedown', ['$event'])\n preventEvent(event: Event): void {\n if (event.cancelable && tuiCoerceBooleanProperty(this.readonly)) {\n event.preventDefault();\n }\n }\n\n @HostListener('keydown', ['$event'])\n preventKeyboardInteraction(event: KeyboardEvent): void {\n if (SLIDER_INTERACTION_KEYS.has(event.key)) {\n this.preventEvent(event);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiAssert} from '@taiga-ui/cdk';\nimport {TuiSizeS} from '@taiga-ui/core';\n\nimport {TuiSliderComponent} from '../../slider.component';\n\n@Component({\n selector: '[tuiSliderThumbLabel]',\n templateUrl: './slider-thumb-label.template.html',\n styleUrls: ['./slider-thumb-label.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiSliderThumbLabelComponent implements AfterContentInit {\n @ContentChild(TuiSliderComponent)\n readonly slider?: TuiSliderComponent;\n\n @ContentChild(NgControl)\n readonly control?: NgControl;\n\n get size(): TuiSizeS {\n return this.slider?.size || 'm';\n }\n\n get ratio(): number {\n return this.slider?.valueRatio || 0;\n }\n\n get ghostLeft(): number {\n return this.ratio * (this.slider?.el.nativeElement.offsetWidth || 0);\n }\n\n ngAfterContentInit(): void {\n ngDevMode &&\n tuiAssert.assert(\n Boolean(this.control?.valueChanges),\n '\\n[tuiSliderThumbLabel] expected <input tuiSlider type=\"range\" /> to use Angular Forms.\\n' +\n 'Use [(ngModel)] or [formControl] or formControlName for correct work.',\n );\n }\n}\n","<ng-container *ngIf=\"control?.valueChanges | async\"></ng-container>\n\n<div\n class=\"t-ghost\"\n [attr.data-size]=\"size\"\n [style.--tui-slider-thumb-ratio]=\"ratio\"\n [style.left.px]=\"ghostLeft\"\n>\n <ng-content></ng-content>\n</div>\n\n<ng-content select=\"input[type=range]\"></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\n\nimport {TuiSliderKeyStepsDirective} from './helpers/slider-key-steps.directive';\nimport {TuiSliderReadonlyDirective} from './helpers/slider-readonly.directive';\nimport {TuiSliderThumbLabelComponent} from './helpers/slider-thumb-label/slider-thumb-label.component';\nimport {TuiSliderComponent} from './slider.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n ],\n exports: [\n TuiSliderComponent,\n TuiSliderThumbLabelComponent,\n TuiSliderKeyStepsDirective,\n TuiSliderReadonlyDirective,\n ],\n})\nexport class TuiSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -185,7 +185,7 @@ class TuiStepComponent {
185
185
  }
186
186
  }
187
187
  TuiStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiStepComponent, deps: [{ token: TuiFocusVisibleService }, { token: TuiRouterLinkActiveService }, { token: TuiStepperComponent }, { token: ElementRef }, { token: TUI_COMMON_ICONS }], target: i0.ɵɵFactoryTarget.Component });
188
- TuiStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiStepComponent, selector: "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", inputs: { stepState: "stepState", icon: "icon" }, host: { attributes: { "type": "button" }, listeners: { "click": "activate()" }, properties: { "attr.data-state": "this.stepState", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive", "class._vertical": "this.isVertical", "tabIndex": "this.tabIndex" } }, providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService], ngImport: i0, template: "<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n class=\"t-marker t-marker_error\"\n [src]=\"icons.error\"\n></tui-svg>\n<tui-svg\n class=\"t-marker t-marker_pass\"\n [src]=\"icons.check\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:1.5rem;outline:none;cursor:pointer;text-decoration:none;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:\"\";position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not([data-state=\"normal\"]):not(._active) .t-marker_index,:host:not(._active) .t-marker_custom~.t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host:not([data-state=\"error\"]) .t-marker_error,:host._active .t-marker_error{display:none}:host:not([data-state=\"pass\"]) .t-marker_pass,:host._active .t-marker_pass{display:none}:host:not([data-state=\"normal\"]) .t-marker_custom,:host._active .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
188
+ TuiStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiStepComponent, selector: "button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]", inputs: { stepState: "stepState", icon: "icon" }, host: { attributes: { "type": "button" }, listeners: { "click": "activate()" }, properties: { "attr.data-state": "this.stepState", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive", "class._vertical": "this.isVertical", "tabIndex": "this.tabIndex" } }, providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService], ngImport: i0, template: "<tui-svg\n *ngIf=\"icon\"\n class=\"t-marker t-marker_custom\"\n [src]=\"icon\"\n></tui-svg>\n<tui-svg\n class=\"t-marker t-marker_error\"\n [src]=\"icons.error\"\n></tui-svg>\n<tui-svg\n class=\"t-marker t-marker_pass\"\n [src]=\"icons.check\"\n></tui-svg>\n<div class=\"t-marker t-marker_index\"></div>\n<ng-content></ng-content>\n", styles: [":host{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;flex-shrink:0;color:var(--tui-link);margin-right:1.5rem;outline:none;cursor:pointer;counter-increment:steps}:host:disabled{pointer-events:none;color:var(--tui-base-07)}:host:hover{color:var(--tui-link-hover)}:host:not(:last-of-type)._vertical{margin-bottom:1.25rem}:host._active,:host._active:hover{color:var(--tui-text-01);cursor:default}:host._focus-visible:before{content:\"\";position:absolute;left:2.75rem;right:0;top:50%;height:1.5rem;margin-top:-.75rem;background:var(--tui-selection)}.t-marker{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:flex;width:2rem;height:2rem;border-radius:100%;margin-right:.75rem;flex-shrink:0;align-items:center;justify-content:center;background:var(--tui-secondary);color:var(--tui-link)}:host:disabled .t-marker{background:var(--tui-base-03);color:var(--tui-base-07)}.t-marker_index:before{content:counter(steps)}:host:hover .t-marker_index{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}:host._active .t-marker_index{color:var(--tui-primary-text);background:var(--tui-primary)}:host:not([data-state=\"normal\"]):not(._active) .t-marker_index,:host:not(._active) .t-marker_custom~.t-marker_index{display:none}.t-marker_error{background:var(--tui-error-bg);color:var(--tui-error-fill)}:host:hover .t-marker_error{background:var(--tui-error-bg-hover);color:var(--tui-error-fill)}:host:not([data-state=\"error\"]) .t-marker_error,:host._active .t-marker_error{display:none}:host:not([data-state=\"pass\"]) .t-marker_pass,:host._active .t-marker_pass{display:none}:host:not([data-state=\"normal\"]) .t-marker_custom,:host._active .t-marker_custom{display:none}:host:hover .t-marker_custom{color:var(--tui-link-hover);background:var(--tui-secondary-hover)}\n"], components: [{ type: i1$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
189
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiStepComponent, decorators: [{
190
190
  type: Component,
191
191
  args: [{
@@ -71,7 +71,7 @@ class TuiTabComponent {
71
71
  }
72
72
  }
73
73
  TuiTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTabComponent, deps: [{ token: RouterLinkActive, optional: true }, { token: ElementRef }, { token: TUI_MODE }, { token: TUI_TAB_EVENT }, { token: TUI_TAB_MARGIN }, { token: TuiFocusVisibleService }], target: i0.ɵɵFactoryTarget.Component });
74
- TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.cursor": "\"pointer\"", "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\">\n <ng-content></ng-content>\n</span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:color,box-shadow,opacity,background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:none;text-decoration:none;color:inherit;margin-left:var(--tui-tab-margin, 1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:#ffffffb8}:host[data-mode=onDark]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}:host-context(tui-tabs[data-vertical]),:host-context([tuiTabs][data-vertical]){min-height:2.75rem;height:auto;white-space:normal;margin:0;text-align:left;padding:.25rem 1.25rem .25rem 0}:host-context(tui-tabs[data-vertical]):after,:host-context([tuiTabs][data-vertical]):after{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--tui-primary);transform:scaleX(0);transform-origin:right}:host-context(tui-tabs[data-vertical]):hover,:host-context([tuiTabs][data-vertical]):hover{box-shadow:inset -2px 0 var(--tui-base-03)}:host-context(tui-tabs[data-vertical])._active:after,:host-context([tuiTabs][data-vertical])._active:after{transform:none}:host-context(tui-tabs[data-vertical=\"right\"]),:host-context([tuiTabs][data-vertical=\"right\"]){text-align:right;padding:.25rem 0 .25rem 1.25rem}:host-context(tui-tabs[data-vertical=\"right\"]):after,:host-context([tuiTabs][data-vertical=\"right\"]):after{right:auto;left:0;transform-origin:left}:host-context(tui-tabs[data-vertical=\"right\"]):hover,:host-context([tuiTabs][data-vertical=\"right\"]):hover{box-shadow:inset 2px 0 var(--tui-base-03)}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ TuiTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.cursor": "\"pointer\"", "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\">\n <ng-content></ng-content>\n</span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:color,box-shadow,opacity,background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;font-size:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:none;color:inherit;margin-left:var(--tui-tab-margin, 1.5rem)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:#ffffffb8}:host[data-mode=onDark]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .t-highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,\"Helvetica Neue\",sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}:host-context(tui-tabs[data-vertical]),:host-context([tuiTabs][data-vertical]){min-height:2.75rem;height:auto;white-space:normal;margin:0;text-align:left;padding:.25rem 1.25rem .25rem 0}:host-context(tui-tabs[data-vertical]):after,:host-context([tuiTabs][data-vertical]):after{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--tui-primary);transform:scaleX(0);transform-origin:right}:host-context(tui-tabs[data-vertical]):hover,:host-context([tuiTabs][data-vertical]):hover{box-shadow:inset -2px 0 var(--tui-base-03)}:host-context(tui-tabs[data-vertical])._active:after,:host-context([tuiTabs][data-vertical])._active:after{transform:none}:host-context(tui-tabs[data-vertical=\"right\"]),:host-context([tuiTabs][data-vertical=\"right\"]){text-align:right;padding:.25rem 0 .25rem 1.25rem}:host-context(tui-tabs[data-vertical=\"right\"]):after,:host-context([tuiTabs][data-vertical=\"right\"]):after{right:auto;left:0;transform-origin:left}:host-context(tui-tabs[data-vertical=\"right\"]):hover,:host-context([tuiTabs][data-vertical=\"right\"]):hover{box-shadow:inset 2px 0 var(--tui-base-03)}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
75
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiTabComponent, decorators: [{
76
76
  type: Component,
77
77
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tree.js","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.providers.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.module.ts","../../../projects/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TUI_COMMON_ICONS, TuiCommonIcons} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport type {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\n// eslint-disable-next-line import/no-cycle\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: './tree-item-content.template.html',\n styleUrls: ['./tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n shape=\"rounded\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"isExpanded\"\n [icon]=\"icons.more\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\"></ng-container>\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport type {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-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 {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\n// eslint-disable-next-line import/no-cycle\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: (level: number): number => ++level,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport 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// eslint-disable-next-line import/no-cycle\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.el.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly el: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.checkChanges();\n }\n\n checkChanges(): void {\n this.change$.next();\n }\n}\n","<ng-template #template>\n <ng-content></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\"></ng-content>\n <ng-content select=\"tui-tree\"></ng-content>\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\"></ng-container>\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n TrackByFunction,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: './tree.template.html',\n styleUrls: ['./tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n trackBy: TrackByFunction<T> = (_: number, item: T) => item;\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.checkChanges();\n }\n\n 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 || TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"$any(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 ></tui-tree>\n</tui-tree-item>\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {tuiIsPresent} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n fallback = true;\n\n @Input()\n map = new Map<T, boolean>();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!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';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n map(() => this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) || [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i3.TuiTreeNodeDirective","i5"],"mappings":";;;;;;;;;;;;;MAMa,wBAAwB,CAAA;AAHrC,IAAA,WAAA,GAAA;AAKI,QAAA,IAAA,CAAA,eAAe,GACX,wBAAwB,CAAC,cAAc,CAAC;AAK/C,KAAA;IAHG,OAAO,cAAc,CAAI,IAAO,EAAA;AAC5B,QAAA,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;KACnD;;sHAPQ,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;0GAAxB,wBAAwB,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACxC,iBAAA,CAAA;8BAGG,eAAe,EAAA,CAAA;sBADd,KAAK;;;MCcG,2BAA2B,CAAA;AACpC,IAAA,WAAA,CACuC,KAAqB,EACjB,OAA2B,EAEjD,UAA6B,EAAA;QAHX,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;QACjB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAoB;QAEjD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;KAC9C;AAEJ,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;KAC5C;AAED,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,QACI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;AACnC,YAAA,IAAI,CAAC,UAAU,KAAK,2BAA2B,EACjD;KACL;IAED,OAAO,GAAA;QACH,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAClD;;yHAtBQ,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAExB,gBAAgB,EAAA,EAAA,EAAA,KAAA,EAChB,oBAAoB,EAAA,EAAA,EAAA,KAAA,EACpB,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAJxC,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,iICrBxC,+VAaA,EAAA,MAAA,EAAA,CAAA,uTAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,0EAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,MAAA,EAAA,WAAA,EAAA,OAAA,EAAA,YAAA,EAAA,MAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDQa,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBANvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,CAAC,gCAAgC,CAAC;oBAC7C,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA,CAAA;;0BAGQ,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,oBAAoB,CAAA;;0BAC3B,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAA;4CAS7C,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,mBAAmB,CAAA;;;ME3BvB,qBAAqB,GAAG,IAAI,qBAAqB,CAC1D,2BAA2B,EAC7B;AAEW,MAAA,2BAA2B,GAAsB;AAC1D,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,MAAM,EAAE,cAA4B;;;ACLxC;;AAEG;MACU,iBAAiB,GAAG,IAAI,cAAc,CAC/C,CAAqB,mBAAA,CAAA,EACvB;AAEF;;AAEG;MACU,mBAAmB,GAAG,cAAc,CAAC,2BAA2B,EAAE;AAE/E;;AAEG;MACU,aAAa,GAAG,IAAI,cAAc,CAAC,CAAiB,eAAA,CAAA,EAAE;AAEnE;;AAEG;MACU,gBAAgB,GAAG,cAAc,CAAC,EAAE,EAAE;AAEnD;;AAEG;MACU,cAAc,GAAG,IAAI,cAAc,CAAC,CAAkB,gBAAA,CAAA,EAAE;AAErE;;AAEG;MACU,eAAe,GAAG,IAAI,cAAc,CAC7C,CAAmB,iBAAA,CAAA,EACrB;AAEF;;AAEG;MACU,gBAAgB,GACzB,cAAc,CAA0C,qBAAqB,EAAE;AAEnF;;AAEG;MACU,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC;;AC5ClC,MAAA,uBAAuB,GAAe;AAC/C,IAAA;AACI,QAAA,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;AACxC,QAAA,UAAU,EAAE,CAAC,KAAa,KAAa,EAAE,KAAK;AACjD,KAAA;AACD,IAAA;AACI,QAAA,OAAO,EAAE,aAAa;AACtB,QAAA,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;AACtD,KAAA;;;MCqBQ,oBAAoB,CAAA;AAgB7B,IAAA,WAAA,CAEqB,EAA2B,EAE3B,UAA6B,EAErC,KAAa,EAEb,OAAgD,EAAA;QANxC,IAAE,CAAA,EAAA,GAAF,EAAE,CAAyB;QAE3B,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;QAErC,IAAK,CAAA,KAAA,GAAL,KAAK,CAAQ;QAEb,IAAO,CAAA,OAAA,GAAP,OAAO,CAAyC;QAtB5C,IAAM,CAAA,MAAA,GAAuB,WAAW,CAAC;AAEzC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEtC,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,CAC7B,CAAC;QAEO,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAC5C,oBAAoB,EAAE,CACzB,CAAC;KAWE;AAEJ,IAAA,IACI,YAAY,GAAA;AACZ,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;KAC/B;AAED,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC3C;IAED,SAAS,GAAA;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IAED,YAAY,GAAA;AACR,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;;kHA1CQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAiBjB,UAAU,EAAA,EAAA,EAAA,KAAA,EAEV,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAErC,EAAA,EAAA,KAAA,EAAA,UAAU,CAAC,MAAM,cAAc,CAAC,EAAA,EAAA,EAAA,KAAA,EAEhC,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAvBrC,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EALlB,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,uBAAuB,EAMjB,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,aAAoB,6BCrCzC,uiBAkBA,EAAA,MAAA,EAAA,CAAA,sGAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDkBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,WAAW,EAAE,2BAA2B;oBACxC,SAAS,EAAE,CAAC,wBAAwB,CAAC;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE,uBAAuB;AAClC,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,UAAU;AACnB,qBAAA;AACJ,iBAAA,CAAA;;0BAkBQ,MAAM;2BAAC,UAAU,CAAA;;0BAEjB,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,mBAAmB,CAAC,CAAA;;0BAE5C,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,cAAc,CAAC,CAAA;;0BAEvC,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAA;4CArB7B,MAAM,EAAA,CAAA;sBADtB,eAAe;uBAAC,aAAoB,CAAA;gBA2BjC,YAAY,EAAA,CAAA;sBADf,WAAW;uBAAC,mBAAmB,CAAA;;;MEtDvB,oBAAoB,CAAA;IAM7B,WAGqB,CAAA,SAA6B,EAE7B,SAA+B,EAAA;QAF/B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAoB;QAE7B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAsB;KAChD;IAXJ,IACI,KAAK,CAAC,KAAQ,EAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KACnD;IAUD,WAAW,GAAA;;QACP,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC9C;;kHAhBQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAQjB,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAEjB,oBAAoB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sGAVvB,oBAAoB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,CAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,4BAA4B;AACzC,iBAAA,CAAA;;0BAQQ,QAAQ;;0BACR,MAAM;2BAAC,iBAAiB,CAAA;;0BAExB,MAAM;2BAAC,oBAAoB,CAAA;4CAR5B,KAAK,EAAA,CAAA;sBADR,KAAK;uBAAC,aAAa,CAAA;;;MCyBX,gBAAgB,CAAA;AAkBzB,IAAA,WAAA,CAGa,SAA6C,EAAA;QAA7C,IAAS,CAAA,SAAA,GAAT,SAAS,CAAoC;AApBzC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,OAAO,EAAQ,CAAC;AAWrC,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CACjC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EACnC,oBAAoB,EAAE,CACzB,CAAC;QASF,IAAO,CAAA,OAAA,GAAuB,CAAC,CAAS,EAAE,IAAO,KAAK,IAAI,CAAC;AAG3D,QAAA,IAAA,CAAA,OAAO,GAA2C,CAAC,EAAC,SAAS,EAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;KANjF;IAQJ,SAAS,GAAA;QACL,IAAI,CAAC,YAAY,EAAE,CAAC;KACvB;IAED,YAAY,GAAA;;AACR,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACnB,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,EAAE,CAAC;AAC1B,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAY,EAAE,CAAC;KAC9B;AAED,IAAA,IAAY,OAAO,GAAA;;QACf,OAAO,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,eAAe,KAAI,wBAAwB,CAAC,cAAc,CAAC;KACrF;;AA1CQ,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAoBb,wBAAwB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AApB3B,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,EAVd,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,MAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,WAAW,EAAE,gBAAgB;AAChC,SAAA;AACJ,KAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAWU,oBAAoB,EAGpB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAgB,EC5C/B,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0hBAiBA,wIDkBa,gBAAgB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAE,oBAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAf5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,WAAW,EAAE,sBAAsB;oBACnC,SAAS,EAAE,CAAC,mBAAmB,CAAC;oBAChC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,aAAa;AACtB,4BAAA,WAAW,EAAkB,gBAAA;AAChC,yBAAA;AACJ,qBAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,IAAI,EAAE,MAAM;AACf,qBAAA;AACJ,iBAAA,CAAA;;0BAoBQ,QAAQ;;0BACR,MAAM;2BAAC,wBAAwB,CAAA;4CAhBpC,KAAK,EAAA,CAAA;sBADJ,KAAK;gBAIG,IAAI,EAAA,CAAA;sBADZ,SAAS;uBAAC,oBAAoB,CAAA;gBAItB,KAAK,EAAA,CAAA;sBADb,SAAS;uBAAC,gBAAgB,CAAA;gBAgB3B,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,OAAO,EAAA,CAAA;sBADN,KAAK;;;MEzCG,0BAA0B,CAAA;AAdvC,IAAA,WAAA,GAAA;QAkBI,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAGhB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,GAAG,EAAc,CAAC;AAGnB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAK,CAAC;AAEhC,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;AA2BvD,KAAA;IAzBG,QAAQ,CAAC,IAA0B,EAAE,KAAQ,EAAA;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC/B;AAED,IAAA,UAAU,CAAC,IAA0B,EAAA;AACjC,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;AAED,IAAA,UAAU,CAAC,IAA0B,EAAA;;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnC,QAAA,OAAO,OAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,mCAAI,IAAI,CAAC,QAAQ,CAAC;KAC1D;AAED,IAAA,MAAM,CAAC,IAA0B,EAAA;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAEvC,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;KAClC;;wHAtCQ,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,0BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAZxB,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,iBAAiB;AAC1B,YAAA,WAAW,EAAE,0BAA0B;AAC1C,SAAA;AACD,QAAA;AACI,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,WAAW,EAAE,0BAA0B;AAC1C,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAGQ,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAdtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAA4B,0BAAA;AAC1C,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAA4B,0BAAA;AAC1C,yBAAA;AACJ,qBAAA;AACD,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA,CAAA;8BAKG,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,mBAAmB,CAAA;gBAI1B,GAAG,EAAA,CAAA;sBADF,KAAK;gBAIG,OAAO,EAAA,CAAA;sBADf,MAAM;;;MCdE,8BAA8B,CAAA;AAV3C,IAAA,WAAA,GAAA;AAWqB,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,OAAO,EAAiC,CAAC;QAGpE,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AASnB,KAAA;AAPG,IAAA,UAAU,CAAC,IAA0B,EAAA;;AACjC,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,CAAC,QAAQ,CAAC;KAC9C;AAED,IAAA,MAAM,CAAC,IAA0B,EAAA;AAC7B,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;;4HAZQ,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,8BAA8B,EAR5B,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,EAAA,UAAA,CAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,WAAW,EAAE,8BAA8B;AAC9C,SAAA;AACJ,KAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAGQ,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAV1C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAgC,8BAAA;AAC9C,yBAAA;AACJ,qBAAA;AACD,oBAAA,QAAQ,EAAE,mBAAmB;AAChC,iBAAA,CAAA;8BAKG,QAAQ,EAAA,CAAA;sBADP,KAAK;uBAAC,mBAAmB,CAAA;;;MCXjB,cAAc,CAAA;AAiBvB,IAAA,WAAA,CAC+C,OAAU,EACZ,KAAQ,EACP,MAAwB,EAAA;QAFvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAG;QACZ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAG;QACP,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;AAnBrD,QAAA,IAAA,CAAA,GAAG,GAAG,IAAI,GAAG,CAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAErD,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,OAAO,EAAK,CAAC;QAEjC,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,SAAS,CAAC,IAAI,IACV,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAC/B,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAC7C,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EACxE,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CACtE,CACJ,EACD,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CACxB,CAAC;KAME;AAEJ,IAAA,WAAW,CAAC,IAAO,EAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/C;AAED,IAAA,YAAY,CAAC,IAAO,EAAA;QAChB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO;AACV,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;AAlCQ,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAkBX,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,gBAAgB,EAChB,EAAA,EAAA,KAAA,EAAA,cAAc,aACd,eAAe,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;gHApBlB,cAAc,EAAA,CAAA,CAAA;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;;0BAmBF,MAAM;2BAAC,gBAAgB,CAAA;;0BACvB,MAAM;2BAAC,cAAc,CAAA;;0BACrB,MAAM;2BAAC,eAAe,CAAA;;;MCWlB,aAAa,CAAA;;2GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBAhBlB,gBAAgB;QAChB,oBAAoB;QACpB,2BAA2B;QAC3B,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B;AAC1B,QAAA,oBAAoB,aAbpB,YAAY;QACZ,kBAAkB;QAClB,eAAe;QACf,YAAY;AACZ,QAAA,eAAe,aAYf,gBAAgB;QAChB,oBAAoB;QACpB,wBAAwB;QACxB,8BAA8B;QAC9B,0BAA0B,CAAA,EAAA,CAAA,CAAA;AAGrB,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAxBb,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,kBAAkB;YAClB,eAAe;YACf,YAAY;YACZ,eAAe;AAClB,SAAA,CAAA,EAAA,CAAA,CAAA;4FAkBQ,aAAa,EAAA,UAAA,EAAA,CAAA;kBAzBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,kBAAkB;wBAClB,eAAe;wBACf,YAAY;wBACZ,eAAe;AAClB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,gBAAgB;wBAChB,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,8BAA8B;wBAC9B,0BAA0B;wBAC1B,oBAAoB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,gBAAgB;wBAChB,oBAAoB;wBACpB,wBAAwB;wBACxB,8BAA8B;wBAC9B,0BAA0B;AAC7B,qBAAA;AACJ,iBAAA,CAAA;;;ACtCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tree.js","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.providers.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.module.ts","../../../projects/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {TUI_COMMON_ICONS, TuiCommonIcons} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\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 selector: 'tui-tree-item-content',\n templateUrl: './tree-item-content.template.html',\n styleUrls: ['./tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(TUI_COMMON_ICONS) readonly icons: TuiCommonIcons,\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","<button\n *ngIf=\"isExpandable\"\n appearance=\"flat\"\n shape=\"rounded\"\n size=\"xs\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [class.t-button_expanded]=\"isExpanded\"\n [icon]=\"icons.more\"\n (click)=\"onClick()\"\n></button>\n<ng-container [ngTemplateOutlet]=\"context.template\"></ng-container>\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport type {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateToken} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-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 {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: (level: number): number => ++level,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport 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';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.el.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly el: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.checkChanges();\n }\n\n checkChanges(): void {\n this.change$.next();\n }\n}\n","<ng-template #template>\n <ng-content></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\"></ng-content>\n <ng-content select=\"tui-tree\"></ng-content>\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\"></ng-container>\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n TrackByFunction,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: './tree.template.html',\n styleUrls: ['./tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n trackBy: TrackByFunction<T> = (_: number, item: T) => item;\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.checkChanges();\n }\n\n 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 || TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <ng-container *ngIf=\"$any(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 ></tui-tree>\n</tui-tree-item>\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {tuiIsPresent} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n fallback = true;\n\n @Input()\n map = new Map<T, boolean>();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!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';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n exportAs: 'tuiTreeController',\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n map(() => this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) || [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i3.TuiTreeNodeDirective","i5"],"mappings":"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"}
@@ -90,7 +90,7 @@ class TuiPrimitiveCalendarRangeComponent {
90
90
  }
91
91
  }
92
92
  TuiPrimitiveCalendarRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveCalendarRangeComponent, deps: [{ token: TUI_CALENDAR_DATE_STREAM, optional: true }, { token: ChangeDetectorRef }, { token: TuiDestroyService, self: true }], target: i0.ɵɵFactoryTarget.Component });
93
- TuiPrimitiveCalendarRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveCalendarRangeComponent, selector: "tui-primitive-calendar-range", inputs: { disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", defaultViewedMonthFirst: "defaultViewedMonthFirst", defaultViewedMonthSecond: "defaultViewedMonthSecond", min: "min", max: "max", value: "value" }, outputs: { dayClick: "dayClick" }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset : -1\"\n [min]=\"min\"\n [month]=\"userViewedMonthFirst\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"t-border\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset : 1\"\n [month]=\"userViewedMonthSecond.monthSameOrBefore(min) ? (min | tuiMapper: monthOffset : 1) : userViewedMonthSecond\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n", styles: [":host{display:flex}.t-border{border-left:1px solid var(--tui-base-03)}\n"], components: [{ type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }], pipes: { "tuiMapper": i2.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
+ TuiPrimitiveCalendarRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiPrimitiveCalendarRangeComponent, selector: "tui-primitive-calendar-range", inputs: { disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", defaultViewedMonthFirst: "defaultViewedMonthFirst", defaultViewedMonthSecond: "defaultViewedMonthSecond", min: "min", max: "max", value: "value" }, outputs: { dayClick: "dayClick" }, providers: [TuiDestroyService], ngImport: i0, template: "<tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset : -1\"\n [min]=\"min\"\n [month]=\"userViewedMonthFirst\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"t-border\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset : 1\"\n [month]=\"userViewedMonthSecond.monthSameOrBefore(min) ? (min | tuiMapper: monthOffset : 1) : userViewedMonthSecond\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n", styles: [":host{display:flex}.t-border{border-left:1px solid var(--tui-base-03)}\n"], components: [{ type: i1.TuiCalendarComponent, selector: "tui-calendar", inputs: ["initialView", "month", "disabledItemHandler", "min", "max", "minViewedMonth", "maxViewedMonth", "hoveredItem", "showAdjacent", "markerHandler", "value"], outputs: ["dayClick", "monthChange", "hoveredItemChange"] }], pipes: { "tuiMapper": i2.TuiMapperPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
94
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiPrimitiveCalendarRangeComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-internal-primitive-calendar-range.js","sources":["../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.component.ts","../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.template.html","../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.module.ts","../../../projects/kit/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n TuiDestroyService,\n TuiMonth,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER, TuiMarkerHandler} from '@taiga-ui/core';\nimport {TUI_CALENDAR_DATE_STREAM} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Component({\n selector: 'tui-primitive-calendar-range',\n templateUrl: './primitive-calendar-range.template.html',\n styleUrls: ['./primitive-calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiPrimitiveCalendarRangeComponent implements OnInit {\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n defaultViewedMonthFirst = TuiMonth.currentLocal();\n\n @Input()\n defaultViewedMonthSecond = TuiMonth.currentLocal().append({month: 1});\n\n @Input()\n min = TUI_FIRST_DAY;\n\n @Input()\n max = TUI_LAST_DAY;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n hoveredItem: TuiDay | null = null;\n\n userViewedMonthFirst: TuiMonth = this.defaultViewedMonthFirst;\n userViewedMonthSecond: TuiMonth = this.defaultViewedMonthSecond;\n\n constructor(\n @Inject(TUI_CALENDAR_DATE_STREAM)\n @Optional()\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n this.updateViewedMonths();\n });\n }\n\n get cappedUserViewedMonthSecond(): TuiMonth {\n return this.userViewedMonthSecond.monthBefore(this.max)\n ? this.userViewedMonthSecond\n : this.max;\n }\n\n get cappedUserViewedMonthFirst(): TuiMonth {\n return this.userViewedMonthFirst.monthSameOrBefore(this.userViewedMonthSecond)\n ? this.userViewedMonthFirst\n : this.userViewedMonthSecond;\n }\n\n monthOffset: TuiTypedMapper<[TuiMonth, number], TuiMonth> = (value, offset) =>\n value.append({month: offset});\n\n ngOnInit(): void {\n this.setInitialMonths();\n }\n\n onSectionFirstViewedMonth(month: TuiMonth): void {\n this.userViewedMonthFirst = month;\n\n this.userViewedMonthSecond = this.userViewedMonthFirst.append({month: 1});\n }\n\n onSectionSecondViewedMonth(month: TuiMonth): void {\n this.userViewedMonthSecond = month;\n\n this.userViewedMonthFirst = this.userViewedMonthSecond.append({\n month: -1,\n });\n }\n\n onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n private setInitialMonths(): void {\n if (!this.value) {\n this.userViewedMonthSecond = this.updatedViewedMonthSecond(\n this.defaultViewedMonthSecond,\n );\n\n this.userViewedMonthFirst = this.updatedViewedMonthFirst(\n this.defaultViewedMonthFirst,\n );\n }\n }\n\n private updatedViewedMonthSecond(month: TuiMonth): TuiMonth {\n if (month.monthSameOrAfter(this.max)) {\n return this.max;\n }\n\n if (month.monthBefore(this.min)) {\n return this.min.append({month: 1});\n }\n\n return month;\n }\n\n private updatedViewedMonthFirst(month: TuiMonth): TuiMonth {\n if (month.monthSameOrAfter(this.userViewedMonthSecond)) {\n return this.userViewedMonthSecond.append({month: -1});\n }\n\n if (month.monthSameOrBefore(this.min)) {\n return this.min;\n }\n\n return month;\n }\n\n private updateViewedMonths(): void {\n this.userViewedMonthFirst =\n this.value === null ? this.defaultViewedMonthFirst : this.value.from;\n\n this.userViewedMonthSecond = this.userViewedMonthFirst.append({month: 1});\n }\n}\n","<tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset : -1\"\n [min]=\"min\"\n [month]=\"userViewedMonthFirst\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"t-border\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset : 1\"\n [month]=\"userViewedMonthSecond.monthSameOrBefore(min) ? (min | tuiMapper: monthOffset : 1) : userViewedMonthSecond\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiScrollbarModule} from '@taiga-ui/core';\n\nimport {TuiPrimitiveCalendarRangeComponent} from './primitive-calendar-range.component';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [TuiMapperPipeModule, TuiScrollbarModule, TuiCalendarModule],\n declarations: [TuiPrimitiveCalendarRangeComponent],\n exports: [TuiPrimitiveCalendarRangeComponent],\n})\nexport class TuiPrimitiveCalendarRangeModule {}\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-internal-primitive-calendar-range.js","sources":["../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.component.ts","../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.template.html","../../../projects/kit/internal/primitive-calendar-range/primitive-calendar-range.module.ts","../../../projects/kit/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n TuiDestroyService,\n TuiMonth,\n TuiTypedMapper,\n tuiWatch,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER, TuiMarkerHandler} from '@taiga-ui/core';\nimport {TUI_CALENDAR_DATE_STREAM} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Component({\n selector: 'tui-primitive-calendar-range',\n templateUrl: './primitive-calendar-range.template.html',\n styleUrls: ['./primitive-calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiPrimitiveCalendarRangeComponent implements OnInit {\n @Input()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n defaultViewedMonthFirst = TuiMonth.currentLocal();\n\n @Input()\n defaultViewedMonthSecond = TuiMonth.currentLocal().append({month: 1});\n\n @Input()\n min = TUI_FIRST_DAY;\n\n @Input()\n max = TUI_LAST_DAY;\n\n @Input()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n hoveredItem: TuiDay | null = null;\n\n userViewedMonthFirst: TuiMonth = this.defaultViewedMonthFirst;\n userViewedMonthSecond: TuiMonth = this.defaultViewedMonthSecond;\n\n constructor(\n @Inject(TUI_CALENDAR_DATE_STREAM)\n @Optional()\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Self() @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges.pipe(tuiWatch(cdr), takeUntil(destroy$)).subscribe(value => {\n this.value = value;\n this.updateViewedMonths();\n });\n }\n\n get cappedUserViewedMonthSecond(): TuiMonth {\n return this.userViewedMonthSecond.monthBefore(this.max)\n ? this.userViewedMonthSecond\n : this.max;\n }\n\n get cappedUserViewedMonthFirst(): TuiMonth {\n return this.userViewedMonthFirst.monthSameOrBefore(this.userViewedMonthSecond)\n ? this.userViewedMonthFirst\n : this.userViewedMonthSecond;\n }\n\n monthOffset: TuiTypedMapper<[TuiMonth, number], TuiMonth> = (value, offset) =>\n value.append({month: offset});\n\n ngOnInit(): void {\n this.setInitialMonths();\n }\n\n onSectionFirstViewedMonth(month: TuiMonth): void {\n this.userViewedMonthFirst = month;\n\n this.userViewedMonthSecond = this.userViewedMonthFirst.append({month: 1});\n }\n\n onSectionSecondViewedMonth(month: TuiMonth): void {\n this.userViewedMonthSecond = month;\n\n this.userViewedMonthFirst = this.userViewedMonthSecond.append({\n month: -1,\n });\n }\n\n onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n }\n\n private setInitialMonths(): void {\n if (!this.value) {\n this.userViewedMonthSecond = this.updatedViewedMonthSecond(\n this.defaultViewedMonthSecond,\n );\n\n this.userViewedMonthFirst = this.updatedViewedMonthFirst(\n this.defaultViewedMonthFirst,\n );\n }\n }\n\n private updatedViewedMonthSecond(month: TuiMonth): TuiMonth {\n if (month.monthSameOrAfter(this.max)) {\n return this.max;\n }\n\n if (month.monthBefore(this.min)) {\n return this.min.append({month: 1});\n }\n\n return month;\n }\n\n private updatedViewedMonthFirst(month: TuiMonth): TuiMonth {\n if (month.monthSameOrAfter(this.userViewedMonthSecond)) {\n return this.userViewedMonthSecond.append({month: -1});\n }\n\n if (month.monthSameOrBefore(this.min)) {\n return this.min;\n }\n\n return month;\n }\n\n private updateViewedMonths(): void {\n this.userViewedMonthFirst =\n this.value === null ? this.defaultViewedMonthFirst : this.value.from;\n\n this.userViewedMonthSecond = this.userViewedMonthFirst.append({month: 1});\n }\n}\n","<tui-calendar\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset : -1\"\n [min]=\"min\"\n [month]=\"userViewedMonthFirst\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"t-border\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [min]=\"min\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset : 1\"\n [month]=\"userViewedMonthSecond.monthSameOrBefore(min) ? (min | tuiMapper: monthOffset : 1) : userViewedMonthSecond\"\n [showAdjacent]=\"false\"\n [value]=\"value\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiScrollbarModule} from '@taiga-ui/core';\n\nimport {TuiPrimitiveCalendarRangeComponent} from './primitive-calendar-range.component';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [TuiMapperPipeModule, TuiScrollbarModule, TuiCalendarModule],\n declarations: [TuiPrimitiveCalendarRangeComponent],\n exports: [TuiPrimitiveCalendarRangeComponent],\n})\nexport class TuiPrimitiveCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,6 +10,12 @@ import { of, isObservable } from 'rxjs';
10
10
  import { map } from 'rxjs/operators';
11
11
 
12
12
  const EMPTY_RECORD = {};
13
+ function unwrapObservable(content, context) {
14
+ return content.pipe(map(error => new TuiValidationError(error || ``, context)));
15
+ }
16
+ function defaultError(content, context) {
17
+ return of(new TuiValidationError(content || ``, context));
18
+ }
13
19
  class TuiFieldErrorPipe {
14
20
  constructor(parent, self, container, validationErrors) {
15
21
  this.parent = parent;
@@ -121,12 +127,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
121
127
  type: Inject,
122
128
  args: [TUI_VALIDATION_ERRORS]
123
129
  }] }]; }, propDecorators: { getErrorId: [], getError: [] } });
124
- function unwrapObservable(content, context) {
125
- return content.pipe(map(error => new TuiValidationError(error || ``, context)));
126
- }
127
- function defaultError(content, context) {
128
- return of(new TuiValidationError(content || ``, context));
129
- }
130
130
 
131
131
  class TuiFieldErrorContentPipe {
132
132
  constructor(injector) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-field-error.js","sources":["../../../projects/kit/pipes/field-error/field-error-pipe.ts","../../../projects/kit/pipes/field-error/field-error-content-pipe.ts","../../../projects/kit/pipes/field-error/field-error.module.ts","../../../projects/kit/pipes/field-error/taiga-ui-kit-pipes-field-error.ts"],"sourcesContent":["import {Inject, Optional, Pipe, PipeTransform, Self, SkipSelf} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\nimport {tuiIsString, tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n\n@Pipe({\n name: `tuiFieldError`,\n pure: false,\n})\nexport class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {\n private order: readonly string[] = [];\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(NgControl)\n private readonly parent: NgControl | null,\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly self: NgControl | null,\n @Optional()\n @Inject(ControlContainer)\n private readonly container: ControlContainer | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n Observable<PolymorpheusContent> | PolymorpheusContent\n >,\n ) {\n if (this.self && !this.self.valueAccessor) {\n this.self.valueAccessor = this;\n }\n }\n\n transform(order: readonly string[]): Observable<TuiValidationError | null> {\n this.order = order;\n\n return this.computedError;\n }\n\n get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n registerOnChange(): void {}\n\n registerOnTouched(): void {}\n\n setDisabledState(): void {}\n\n writeValue(): void {}\n\n private get error(): Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control?.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control?.touched;\n }\n\n private get control(): AbstractControl | null | undefined {\n return this.self?.control || this.parent?.control || this.container?.control;\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, unknown> {\n return this.control?.errors || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, unknown>,\n ): string {\n const id = order?.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || ``;\n }\n\n @tuiPure\n private getError(\n context: any,\n content?: Observable<PolymorpheusContent> | PolymorpheusContent,\n ): Observable<TuiValidationError> {\n if (context instanceof TuiValidationError) {\n return of(context);\n }\n\n if (content === undefined && tuiIsString(context)) {\n return of(new TuiValidationError(context));\n }\n\n if (isObservable(content)) {\n return unwrapObservable(content, context);\n }\n\n if (content instanceof Function) {\n const message = content(context) as\n | Observable<PolymorpheusContent>\n | PolymorpheusContent;\n\n return isObservable(message)\n ? unwrapObservable(message, context)\n : defaultError(message, context);\n }\n\n return defaultError(content, context);\n }\n}\n\nfunction unwrapObservable(\n content: Observable<PolymorpheusContent>,\n context: any,\n): Observable<TuiValidationError> {\n return content.pipe(map(error => new TuiValidationError(error || ``, context)));\n}\n\nfunction defaultError(\n content: PolymorpheusContent,\n context: any,\n): Observable<TuiValidationError> {\n return of(new TuiValidationError(content || ``, context));\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Inject, Injector, OnDestroy, Pipe, PipeTransform} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@Pipe({\n name: `tuiFieldErrorContent`,\n pure: false,\n})\nexport class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {\n private readonly localInjector = Injector.create({\n providers: [{provide: AsyncPipe}, {provide: TuiFieldErrorPipe}],\n parent: this.injector,\n });\n\n private readonly asyncPipe = this.localInjector.get(AsyncPipe);\n private readonly fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);\n\n constructor(@Inject(Injector) private readonly injector: Injector) {}\n\n transform(order: readonly string[]): PolymorpheusContent {\n return this.getErrorContent(order);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n private getErrorContent(order: readonly string[]): PolymorpheusContent {\n const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));\n\n if (!error) {\n return ``;\n }\n\n return typeof error.message === `function`\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFieldErrorContentPipe} from './field-error-content-pipe';\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@NgModule({\n declarations: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n exports: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n})\nexport class TuiFieldErrorPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-pipes-field-error.js","sources":["../../../projects/kit/pipes/field-error/field-error-pipe.ts","../../../projects/kit/pipes/field-error/field-error-content-pipe.ts","../../../projects/kit/pipes/field-error/field-error.module.ts","../../../projects/kit/pipes/field-error/taiga-ui-kit-pipes-field-error.ts"],"sourcesContent":["import {Inject, Optional, Pipe, PipeTransform, Self, SkipSelf} from '@angular/core';\nimport {\n AbstractControl,\n ControlContainer,\n ControlValueAccessor,\n NgControl,\n} from '@angular/forms';\nimport {tuiIsString, tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {isObservable, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n\nfunction unwrapObservable(\n content: Observable<PolymorpheusContent>,\n context: any,\n): Observable<TuiValidationError> {\n return content.pipe(map(error => new TuiValidationError(error || ``, context)));\n}\n\nfunction defaultError(\n content: PolymorpheusContent,\n context: any,\n): Observable<TuiValidationError> {\n return of(new TuiValidationError(content || ``, context));\n}\n\n@Pipe({\n name: `tuiFieldError`,\n pure: false,\n})\nexport class TuiFieldErrorPipe implements PipeTransform, ControlValueAccessor {\n private order: readonly string[] = [];\n\n constructor(\n @Optional()\n @SkipSelf()\n @Inject(NgControl)\n private readonly parent: NgControl | null,\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly self: NgControl | null,\n @Optional()\n @Inject(ControlContainer)\n private readonly container: ControlContainer | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n Observable<PolymorpheusContent> | PolymorpheusContent\n >,\n ) {\n if (this.self && !this.self.valueAccessor) {\n this.self.valueAccessor = this;\n }\n }\n\n transform(order: readonly string[]): Observable<TuiValidationError | null> {\n this.order = order;\n\n return this.computedError;\n }\n\n get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n registerOnChange(): void {}\n\n registerOnTouched(): void {}\n\n setDisabledState(): void {}\n\n writeValue(): void {}\n\n private get error(): Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control?.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control?.touched;\n }\n\n private get control(): AbstractControl | null | undefined {\n return this.self?.control || this.parent?.control || this.container?.control;\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, unknown> {\n return this.control?.errors || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, unknown>,\n ): string {\n const id = order?.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || ``;\n }\n\n @tuiPure\n private getError(\n context: any,\n content?: Observable<PolymorpheusContent> | PolymorpheusContent,\n ): Observable<TuiValidationError> {\n if (context instanceof TuiValidationError) {\n return of(context);\n }\n\n if (content === undefined && tuiIsString(context)) {\n return of(new TuiValidationError(context));\n }\n\n if (isObservable(content)) {\n return unwrapObservable(content, context);\n }\n\n if (content instanceof Function) {\n const message = content(context) as\n | Observable<PolymorpheusContent>\n | PolymorpheusContent;\n\n return isObservable(message)\n ? unwrapObservable(message, context)\n : defaultError(message, context);\n }\n\n return defaultError(content, context);\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {Inject, Injector, OnDestroy, Pipe, PipeTransform} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@Pipe({\n name: `tuiFieldErrorContent`,\n pure: false,\n})\nexport class TuiFieldErrorContentPipe implements PipeTransform, OnDestroy {\n private readonly localInjector = Injector.create({\n providers: [{provide: AsyncPipe}, {provide: TuiFieldErrorPipe}],\n parent: this.injector,\n });\n\n private readonly asyncPipe = this.localInjector.get(AsyncPipe);\n private readonly fieldErrorPipe = this.localInjector.get(TuiFieldErrorPipe);\n\n constructor(@Inject(Injector) private readonly injector: Injector) {}\n\n transform(order: readonly string[]): PolymorpheusContent {\n return this.getErrorContent(order);\n }\n\n ngOnDestroy(): void {\n this.asyncPipe.ngOnDestroy();\n }\n\n private getErrorContent(order: readonly string[]): PolymorpheusContent {\n const error = this.asyncPipe.transform(this.fieldErrorPipe.transform(order));\n\n if (!error) {\n return ``;\n }\n\n return typeof error.message === `function`\n ? error.message(error.context)\n : error.message;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFieldErrorContentPipe} from './field-error-content-pipe';\nimport {TuiFieldErrorPipe} from './field-error-pipe';\n\n@NgModule({\n declarations: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n exports: [TuiFieldErrorPipe, TuiFieldErrorContentPipe],\n})\nexport class TuiFieldErrorPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAaA,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,SAAS,gBAAgB,CACrB,OAAwC,EACxC,OAAY,EAAA;IAEZ,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,kBAAkB,CAAC,KAAK,IAAI,CAAA,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,YAAY,CACjB,OAA4B,EAC5B,OAAY,EAAA;AAEZ,IAAA,OAAO,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,IAAI,CAAA,CAAE,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9D,CAAC;MAMY,iBAAiB,CAAA;AAG1B,IAAA,WAAA,CAIqB,MAAwB,EAIxB,IAAsB,EAGtB,SAAkC,EAElC,gBAGhB,EAAA;QAZgB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QAIxB,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAkB;QAGtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAyB;QAElC,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAGhC;QAlBG,IAAK,CAAA,KAAA,GAAsB,EAAE,CAAC;QAoBlC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvC,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAClC,SAAA;KACJ;AAED,IAAA,SAAS,CAAC,KAAwB,EAAA;AAC9B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,OAAO,IAAI,CAAC,aAAa,CAAC;KAC7B;AAED,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;KACnE;AAED,IAAA,gBAAgB,MAAW;AAE3B,IAAA,iBAAiB,MAAW;AAE5B,IAAA,gBAAgB,MAAW;AAE3B,IAAA,UAAU,MAAW;AAErB,IAAA,IAAY,KAAK,GAAA;AACb,QAAA,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,OAAO,EAAE;AACV,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;KAClD;AAED,IAAA,IAAY,OAAO,GAAA;;QACf,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,CAAC;KAClC;AAED,IAAA,IAAY,OAAO,GAAA;;QACf,OAAO,CAAC,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,CAAC;KAClC;AAED,IAAA,IAAY,OAAO,GAAA;;QACf,OAAO,CAAA,MAAA,IAAI,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAI,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAA,KAAI,CAAA,EAAA,GAAA,IAAI,CAAC,SAAS,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAA,CAAC;KAChF;AAED,IAAA,IAAY,OAAO,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;KAC1D;AAED,IAAA,IAAY,aAAa,GAAA;;QACrB,OAAO,CAAA,MAAA,IAAI,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,KAAI,YAAY,CAAC;KAC/C;IAGO,UAAU,CACd,KAAwB,EACxB,aAAsC,EAAA;AAEtC,QAAA,MAAM,EAAE,GAAG,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,IAAI,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,QAAA,OAAO,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC;KAC/B;IAGO,QAAQ,CACZ,OAAY,EACZ,OAA+D,EAAA;QAE/D,IAAI,OAAO,YAAY,kBAAkB,EAAE;AACvC,YAAA,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC;AACtB,SAAA;QAED,IAAI,OAAO,KAAK,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO,EAAE,CAAC,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE;AACvB,YAAA,OAAO,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,SAAA;QAED,IAAI,OAAO,YAAY,QAAQ,EAAE;AAC7B,YAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAEN,CAAC;YAE1B,OAAO,YAAY,CAAC,OAAO,CAAC;AACxB,kBAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC;AACpC,kBAAE,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxC,SAAA;AAED,QAAA,OAAO,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACzC;;AApHQ,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,kBAMd,SAAS,EAAA,QAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAIT,SAAS,EAGT,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,gBAAgB,6BAEhB,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GAfxB,iBAAiB,EAAA,IAAA,EAAA,eAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;AA8E1B,UAAA,CAAA;IADC,OAAO;AASP,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,IAAA,CAAA,CAAA;AAGD,UAAA,CAAA;IADC,OAAO;AA4BP,CAAA,EAAA,iBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;4FApHQ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,CAAe,aAAA,CAAA;AACrB,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA,CAAA;;0BAKQ,QAAQ;;0BACR,QAAQ;;0BACR,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,QAAQ;;0BACR,IAAI;;0BACJ,MAAM;2BAAC,SAAS,CAAA;;0BAEhB,QAAQ;;0BACR,MAAM;2BAAC,gBAAgB,CAAA;;0BAEvB,MAAM;2BAAC,qBAAqB,CAAA;AA+DzB,iBAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,cAAA,EAAA,EAAA,UAAU,MAWV,QAAQ,EAAA,EAAA,EAAA,EAAA,CAAA;;MChHP,wBAAwB,CAAA;AASjC,IAAA,WAAA,CAA+C,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;AARhD,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC7C,YAAA,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,SAAS,EAAC,EAAE,EAAC,OAAO,EAAE,iBAAiB,EAAC,CAAC;YAC/D,MAAM,EAAE,IAAI,CAAC,QAAQ;AACxB,SAAA,CAAC,CAAC;QAEc,IAAS,CAAA,SAAA,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAc,CAAA,cAAA,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;KAEP;AAErE,IAAA,SAAS,CAAC,KAAwB,EAAA;AAC9B,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KACtC;IAED,WAAW,GAAA;AACP,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;KAChC;AAEO,IAAA,eAAe,CAAC,KAAwB,EAAA;AAC5C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAE7E,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AAED,QAAA,OAAO,OAAO,KAAK,CAAC,OAAO,KAAK,CAAU,QAAA,CAAA;cACpC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;AAC9B,cAAE,KAAK,CAAC,OAAO,CAAC;KACvB;;AA7BQ,wBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,kBASb,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;oHATnB,wBAAwB,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,EAAA,KAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,CAAsB,oBAAA,CAAA;AAC5B,oBAAA,IAAI,EAAE,KAAK;AACd,iBAAA,CAAA;;0BAUgB,MAAM;2BAAC,QAAQ,CAAA;;;MCVnB,uBAAuB,CAAA;;qHAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAvB,uBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,iBAHjB,iBAAiB,EAAE,wBAAwB,CAChD,EAAA,OAAA,EAAA,CAAA,iBAAiB,EAAE,wBAAwB,CAAA,EAAA,CAAA,CAAA;sHAE5C,uBAAuB,EAAA,CAAA,CAAA;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,YAAY,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;AAC3D,oBAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;AACzD,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
@@ -31,10 +31,10 @@ function tuiCreateDefaultDayRangePeriods(periodTitles = [
31
31
  function tuiCreateTimePeriods(minHour = 0, maxHour = HOURS_IN_DAY, minutes = [0, 30]) {
32
32
  const timeArray = [];
33
33
  for (let i = minHour; i < maxHour; i++) {
34
- for (const minute of minutes) {
34
+ minutes.forEach(minute => {
35
35
  const time = new TuiTime(i, minute);
36
36
  timeArray.push(time);
37
- }
37
+ });
38
38
  }
39
39
  return timeArray;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-miscellaneous.js","sources":["../../../projects/kit/utils/miscellaneous/create-default-day-range-periods.ts","../../../projects/kit/utils/miscellaneous/create-time-periods.ts","../../../projects/kit/utils/miscellaneous/get-precision.ts","../../../projects/kit/utils/miscellaneous/is-flat.ts","../../../projects/kit/utils/miscellaneous/replay-control-value-changes-factory.ts","../../../projects/kit/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.ts"],"sourcesContent":["import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n `For all the time`,\n `Today`,\n `Yesterday`,\n `Current week`,\n `Current month`,\n `Previous month`,\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","import {HOURS_IN_DAY, TuiTime} from '@taiga-ui/cdk';\n\nexport function tuiCreateTimePeriods(\n minHour: number = 0,\n maxHour: number = HOURS_IN_DAY,\n minutes: readonly number[] = [0, 30],\n): readonly TuiTime[] {\n const timeArray: TuiTime[] = [];\n\n for (let i = minHour; i < maxHour; i++) {\n for (const minute of minutes) {\n const time = new TuiTime(i, minute);\n\n timeArray.push(time);\n }\n }\n\n return timeArray;\n}\n","/**\n * @return fractional length\n */\nexport function tuiGetPrecision(num: number): number {\n const [, fractionPart = ``] = String(num).split(`.`);\n\n return fractionPart.length;\n}\n","export function tuiIsFlat<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[],\n): items is readonly T[] {\n return !Array.isArray(items[0]);\n}\n","import {NgControl} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiControlValueTransformer,\n TuiDay,\n TuiDayRange,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * @internal\n */\nexport function tuiControlValueFactory<\n T extends TuiDay | TuiDayRange | [TuiDay | null, TuiTime | null],\n>(\n control: NgControl | null,\n valueTransformer?: TuiControlValueTransformer<T> | null,\n): Observable<T | null> | null {\n return control\n ? tuiControlValue(control).pipe(\n map(value =>\n valueTransformer\n ? valueTransformer.fromControlValue(value)\n : (value as T),\n ),\n )\n : of(null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-utils-miscellaneous.js","sources":["../../../projects/kit/utils/miscellaneous/create-default-day-range-periods.ts","../../../projects/kit/utils/miscellaneous/create-time-periods.ts","../../../projects/kit/utils/miscellaneous/get-precision.ts","../../../projects/kit/utils/miscellaneous/is-flat.ts","../../../projects/kit/utils/miscellaneous/replay-control-value-changes-factory.ts","../../../projects/kit/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.ts"],"sourcesContent":["import {TUI_FIRST_DAY, TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {TuiDayRangePeriod} from '@taiga-ui/kit/classes';\n\nexport function tuiCreateDefaultDayRangePeriods(\n periodTitles: [string, string, string, string, string, string] = [\n `For all the time`,\n `Today`,\n `Yesterday`,\n `Current week`,\n `Current month`,\n `Previous month`,\n ],\n): readonly TuiDayRangePeriod[] {\n const today = TuiDay.currentLocal();\n const yesterday = today.append({day: -1});\n const startOfWeek = today.append({day: -today.dayOfWeek()});\n const endOfWeek = startOfWeek.append({day: 6});\n const startOfMonth = today.append({day: 1 - today.day});\n const endOfMonth = startOfMonth.append({month: 1, day: -1});\n const startOfLastMonth = startOfMonth.append({month: -1});\n\n return [\n new TuiDayRangePeriod(new TuiDayRange(TUI_FIRST_DAY, today), periodTitles[0]),\n new TuiDayRangePeriod(new TuiDayRange(today, today), periodTitles[1]),\n new TuiDayRangePeriod(new TuiDayRange(yesterday, yesterday), periodTitles[2]),\n new TuiDayRangePeriod(new TuiDayRange(startOfWeek, endOfWeek), periodTitles[3]),\n new TuiDayRangePeriod(new TuiDayRange(startOfMonth, endOfMonth), periodTitles[4]),\n new TuiDayRangePeriod(\n new TuiDayRange(startOfLastMonth, startOfMonth.append({day: -1})),\n periodTitles[5],\n ),\n ];\n}\n","import {HOURS_IN_DAY, TuiTime} from '@taiga-ui/cdk';\n\nexport function tuiCreateTimePeriods(\n minHour: number = 0,\n maxHour: number = HOURS_IN_DAY,\n minutes: readonly number[] = [0, 30],\n): readonly TuiTime[] {\n const timeArray: TuiTime[] = [];\n\n for (let i = minHour; i < maxHour; i++) {\n minutes.forEach(minute => {\n const time = new TuiTime(i, minute);\n\n timeArray.push(time);\n });\n }\n\n return timeArray;\n}\n","/**\n * @return fractional length\n */\nexport function tuiGetPrecision(num: number): number {\n const [, fractionPart = ``] = String(num).split(`.`);\n\n return fractionPart.length;\n}\n","export function tuiIsFlat<T>(\n items: ReadonlyArray<readonly T[]> | readonly T[],\n): items is readonly T[] {\n return !Array.isArray(items[0]);\n}\n","import {NgControl} from '@angular/forms';\nimport {\n tuiControlValue,\n TuiControlValueTransformer,\n TuiDay,\n TuiDayRange,\n TuiTime,\n} from '@taiga-ui/cdk';\nimport {Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n/**\n * @internal\n */\nexport function tuiControlValueFactory<\n T extends TuiDay | TuiDayRange | [TuiDay | null, TuiTime | null],\n>(\n control: NgControl | null,\n valueTransformer?: TuiControlValueTransformer<T> | null,\n): Observable<T | null> | null {\n return control\n ? tuiControlValue(control).pipe(\n map(value =>\n valueTransformer\n ? valueTransformer.fromControlValue(value)\n : (value as T),\n ),\n )\n : of(null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}