@taiga-ui/kit 5.8.0-canary.fac3204 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/components/files/input-files/input-files.directive.d.ts +0 -1
  2. package/components/index.d.ts +1 -0
  3. package/components/pincode/index.d.ts +3 -0
  4. package/components/pincode/pincode-content.component.d.ts +7 -0
  5. package/components/pincode/pincode.component.d.ts +23 -0
  6. package/components/pincode/pincode.d.ts +4 -0
  7. package/fesm2022/taiga-ui-kit-components-accordion.mjs +2 -2
  8. package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-kit-components-avatar.mjs +9 -9
  10. package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-kit-components-badge.mjs +2 -2
  12. package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-kit-components-block.mjs +2 -2
  14. package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-kit-components-chip.mjs +2 -2
  20. package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-kit-components-comment.mjs +3 -3
  22. package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-kit-components-compass.mjs +2 -2
  24. package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-kit-components-copy.mjs +2 -2
  27. package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-kit-components-files.mjs +6 -7
  30. package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
  32. package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-kit-components-input-color.mjs +2 -2
  35. package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
  36. package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +2 -2
  38. package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-kit-components-input-date.mjs +2 -2
  40. package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-kit-components-input-inline.mjs +2 -2
  42. package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-kit-components-input-month.mjs +2 -2
  44. package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-kit-components-input-number.mjs +3 -3
  46. package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +2 -2
  48. package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
  50. package/fesm2022/taiga-ui-kit-components-input-slider.mjs +2 -2
  51. package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-kit-components-input-time.mjs +2 -2
  53. package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-kit-components-like.mjs +2 -2
  56. package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-kit-components-message.mjs +2 -2
  59. package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-kit-components-pin.mjs +3 -3
  62. package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-kit-components-pincode.mjs +125 -0
  64. package/fesm2022/taiga-ui-kit-components-pincode.mjs.map +1 -0
  65. package/fesm2022/taiga-ui-kit-components-preview.mjs +3 -3
  66. package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-kit-components-progress.mjs +10 -10
  68. package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
  70. package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-kit-components-radio-list.mjs +2 -2
  72. package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
  74. package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-kit-components-segmented.mjs +3 -3
  76. package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
  78. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +2 -2
  79. package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -1
  80. package/fesm2022/taiga-ui-kit-components-status.mjs +3 -3
  81. package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
  82. package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
  83. package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
  84. package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
  85. package/fesm2022/taiga-ui-kit-components-tabs.mjs +3 -3
  86. package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
  87. package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
  88. package/fesm2022/taiga-ui-kit-components-tiles.mjs +4 -4
  89. package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
  90. package/fesm2022/taiga-ui-kit-components-timeline.mjs.map +1 -1
  91. package/fesm2022/taiga-ui-kit-components-toast.mjs +2 -2
  92. package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
  93. package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
  94. package/fesm2022/taiga-ui-kit-components.mjs +1 -0
  95. package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
  96. package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -1
  97. package/fesm2022/taiga-ui-kit-directives-button-group.mjs +3 -3
  98. package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
  99. package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
  100. package/fesm2022/taiga-ui-kit-directives-chevron.mjs +2 -2
  101. package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
  102. package/fesm2022/taiga-ui-kit-directives-connected.mjs +3 -3
  103. package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
  104. package/fesm2022/taiga-ui-kit-directives-fade.mjs +3 -3
  105. package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
  106. package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
  107. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +3 -3
  108. package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
  109. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +2 -2
  110. package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
  111. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +3 -3
  112. package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
  113. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +2 -2
  114. package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
  115. package/package.json +17 -13
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-progress.mjs","sources":["../../../projects/kit/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.ts","../../../projects/kit/components/progress/progress.options.ts","../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.directive.ts","../../../projects/kit/components/progress/progress.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './progress-fixed-gradient.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-fixed-gradient-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressFixedGradient]',\n host: {'[style.--tui-progress-percent.%]': 'el.position * 100'},\n})\nexport class TuiProgressFixedGradientDirective {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly el = tuiInjectElement<HTMLProgressElement>();\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeXXL, type TuiSizeXXS} from '@taiga-ui/core/types';\n\nexport interface TuiProgressOptions {\n readonly color: string | null;\n readonly size: TuiSizeXXL | TuiSizeXXS;\n}\n\nexport const TUI_PROGRESS_DEFAULT_OPTIONS: TuiProgressOptions = {\n color: null,\n size: 'm',\n};\n\nexport const [TUI_PROGRESS_OPTIONS, tuiProgressOptionsProvider] = tuiCreateOptions(\n TUI_PROGRESS_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiSizeXXL, type TuiSizeXXS} from '@taiga-ui/core/types';\n\nimport {TUI_PROGRESS_OPTIONS} from '../progress.options';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/progress-bar.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n '[style.--tui-progress-color]': 'color()',\n },\n})\nexport class TuiProgressBar {\n private readonly options = inject(TUI_PROGRESS_OPTIONS);\n public readonly color = input(this.options.color);\n public readonly size = input<TuiSizeXXL | TuiSizeXXS>(this.options.size);\n}\n","import {computed, Directive, inject, input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {map} from 'rxjs';\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n providers: [WaResizeObserverService],\n host: {'[style.--tui-progress-color]': 'gradient()'},\n})\nexport class TuiProgressColorSegments {\n private readonly el = tuiInjectElement<HTMLProgressElement>();\n\n private readonly width = toSignal(\n inject(WaResizeObserverService, {self: true}).pipe(\n map(([x]) => x?.contentRect.width ?? 0),\n ),\n {initialValue: this.el.offsetWidth},\n );\n\n protected readonly gradient = computed((colors = this.colors()) => {\n if (!colors.length) {\n return null;\n }\n\n const segmentWidth = this.width() / colors.length;\n\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right${colorsString})`;\n });\n\n public readonly colors = input<readonly string[]>([], {\n alias: 'tuiProgressColorSegments',\n });\n}\n","import {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\n\nimport {TUI_PROGRESS_OPTIONS} from '../progress.options';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrl: './progress-circle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size()',\n '[class._arc]': 'arc()',\n '[style.--t-progress-ratio]': 'ratio()',\n '[style.--tui-progress-color]': 'color()',\n },\n})\nexport class TuiProgressCircle {\n private readonly options = inject(TUI_PROGRESS_OPTIONS);\n\n protected readonly ratio = computed((ratio = this.value() / this.max()) =>\n Number.isFinite(ratio) ? ratio : 0,\n );\n\n public readonly value = input(0);\n public readonly max = input(1);\n public readonly color = input(this.options.color);\n public readonly size = input(this.options.size);\n public readonly arc = input(false, {transform: coerceBooleanProperty});\n}\n","<progress\n class=\"t-hidden-progress\"\n [max]=\"max()\"\n [value]=\"value()\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n />\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrl: './progress-label.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabel {}\n","<ng-content select=\"progress\" />\n<ng-content select=\"tui-progress-circle\" />\n<span class=\"t-label\">\n <ng-content />\n</span>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './progress-segmented.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-progress-segmented-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiProgressBar][segments]',\n host: {\n class: '_segmented',\n '[style.--t-segment-width]': '1 / segments()',\n },\n})\nexport class TuiProgressSegmented {\n protected readonly nothing = tuiWithStyles(Styles);\n public readonly segments = input(1);\n}\n","import {TuiProgressFixedGradientDirective} from './progress-bar/fixed-gradient/progress-fixed-gradient.directive';\nimport {TuiProgressBar} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegments} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircle} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabel} from './progress-label/progress-label.component';\nimport {TuiProgressSegmented} from './progress-segmented/progress-segmented.directive';\n\nexport const TuiProgress = [\n TuiProgressBar,\n TuiProgressCircle,\n TuiProgressColorSegments,\n TuiProgressFixedGradientDirective,\n TuiProgressLabel,\n TuiProgressSegmented,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Styles"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-progress.mjs","sources":["../../../projects/kit/components/progress/progress-bar/fixed-gradient/progress-fixed-gradient.directive.ts","../../../projects/kit/components/progress/progress.options.ts","../../../projects/kit/components/progress/progress-bar/progress-bar.component.ts","../../../projects/kit/components/progress/progress-bar/progress-color-segments.directive.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.component.ts","../../../projects/kit/components/progress/progress-circle/progress-circle.template.html","../../../projects/kit/components/progress/progress-label/progress-label.component.ts","../../../projects/kit/components/progress/progress-label/progress-label.template.html","../../../projects/kit/components/progress/progress-segmented/progress-segmented.directive.ts","../../../projects/kit/components/progress/progress.ts","../../../projects/kit/components/progress/taiga-ui-kit-components-progress.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './progress-fixed-gradient.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-fixed-gradient-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressFixedGradient]',\n host: {'[style.--tui-progress-percent.%]': 'el.position * 100'},\n})\nexport class TuiProgressFixedGradientDirective {\n protected readonly nothing = tuiWithStyles(Styles);\n protected readonly el = tuiInjectElement<HTMLProgressElement>();\n}\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeXXL, type TuiSizeXXS} from '@taiga-ui/core/types';\n\nexport interface TuiProgressOptions {\n readonly color: string | null;\n readonly size: TuiSizeXXL | TuiSizeXXS;\n}\n\nexport const TUI_PROGRESS_DEFAULT_OPTIONS: TuiProgressOptions = {\n color: null,\n size: 'm',\n};\n\nexport const [TUI_PROGRESS_OPTIONS, tuiProgressOptionsProvider] = tuiCreateOptions(\n TUI_PROGRESS_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {type TuiSizeXXL, type TuiSizeXXS} from '@taiga-ui/core/types';\n\nimport {TUI_PROGRESS_OPTIONS} from '../progress.options';\n\n@Component({\n selector: 'progress[tuiProgressBar]',\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/progress-bar.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n '[style.--tui-progress-color]': 'color()',\n },\n})\nexport class TuiProgressBar {\n private readonly options = inject(TUI_PROGRESS_OPTIONS);\n\n public readonly color = input(this.options.color);\n public readonly size = input<TuiSizeXXL | TuiSizeXXS>(this.options.size);\n}\n","import {computed, Directive, inject, input} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {map} from 'rxjs';\n\n@Directive({\n selector: 'progress[tuiProgressBar][tuiProgressColorSegments]',\n providers: [WaResizeObserverService],\n host: {'[style.--tui-progress-color]': 'gradient()'},\n})\nexport class TuiProgressColorSegments {\n private readonly el = tuiInjectElement<HTMLProgressElement>();\n\n private readonly width = toSignal(\n inject(WaResizeObserverService, {self: true}).pipe(\n map(([x]) => x?.contentRect.width ?? 0),\n ),\n {initialValue: this.el.offsetWidth},\n );\n\n protected readonly gradient = computed((colors = this.colors()) => {\n if (!colors.length) {\n return null;\n }\n\n const segmentWidth = this.width() / colors.length;\n\n const colorsString = colors.reduce(\n (acc, color, i) =>\n `${acc}, ${color} ${i * segmentWidth}px ${(i + 1) * segmentWidth}px`,\n '',\n );\n\n return `linear-gradient(to right${colorsString})`;\n });\n\n public readonly colors = input<readonly string[]>([], {\n alias: 'tuiProgressColorSegments',\n });\n}\n","import {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\n\nimport {TUI_PROGRESS_OPTIONS} from '../progress.options';\n\n@Component({\n selector: 'tui-progress-circle',\n templateUrl: './progress-circle.template.html',\n styleUrl: './progress-circle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-size]': 'size()',\n '[class._arc]': 'arc()',\n '[style.--t-progress-ratio]': 'ratio()',\n '[style.--tui-progress-color]': 'color()',\n },\n})\nexport class TuiProgressCircle {\n private readonly options = inject(TUI_PROGRESS_OPTIONS);\n\n protected readonly ratio = computed((ratio = this.value() / this.max()) =>\n Number.isFinite(ratio) ? ratio : 0,\n );\n\n public readonly value = input(0);\n public readonly max = input(1);\n public readonly color = input(this.options.color);\n public readonly size = input(this.options.size);\n public readonly arc = input(false, {transform: coerceBooleanProperty});\n}\n","<progress\n class=\"t-hidden\"\n [max]=\"max()\"\n [value]=\"value()\"\n></progress>\n\n<svg\n aria-hidden=\"true\"\n height=\"100%\"\n width=\"100%\"\n class=\"t-svg\"\n>\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-track\"\n />\n\n <circle\n cx=\"50%\"\n cy=\"50%\"\n class=\"t-progress\"\n />\n</svg>\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\n\n@Component({\n selector: 'label[tuiProgressLabel]',\n templateUrl: './progress-label.template.html',\n styleUrl: './progress-label.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiProgressLabel {}\n","<ng-content select=\"progress\" />\n<ng-content select=\"tui-progress-circle\" />\n<span class=\"t-label\">\n <ng-content />\n</span>\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './progress-segmented.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-progress-segmented-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiProgressBar][segments]',\n host: {\n class: '_segmented',\n '[style.--t-segment-width]': '1 / segments()',\n },\n})\nexport class TuiProgressSegmented {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly segments = input(1);\n}\n","import {TuiProgressFixedGradientDirective} from './progress-bar/fixed-gradient/progress-fixed-gradient.directive';\nimport {TuiProgressBar} from './progress-bar/progress-bar.component';\nimport {TuiProgressColorSegments} from './progress-bar/progress-color-segments.directive';\nimport {TuiProgressCircle} from './progress-circle/progress-circle.component';\nimport {TuiProgressLabel} from './progress-label/progress-label.component';\nimport {TuiProgressSegmented} from './progress-segmented/progress-segmented.directive';\n\nexport const TuiProgress = [\n TuiProgressBar,\n TuiProgressCircle,\n TuiProgressColorSegments,\n TuiProgressFixedGradientDirective,\n TuiProgressLabel,\n TuiProgressSegmented,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Styles"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-pulse.mjs","sources":["../../../projects/kit/components/pulse/pulse.component.ts","../../../projects/kit/components/pulse/taiga-ui-kit-components-pulse.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n PLATFORM_ID,\n} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/classes';\n\n@Component({\n selector: 'tui-pulse',\n template: '',\n styleUrl: './pulse.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsRectAccessor(TuiPulse)],\n hostDirectives: [TuiAnimated],\n host: {'[class._playing]': 'playing()'},\n})\nexport class TuiPulse extends TuiRectAccessor {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly el = tuiInjectElement();\n public readonly playing = input(true);\n public readonly type = 'hint';\n\n public getClientRect(): DOMRect {\n const rect = this.el.getBoundingClientRect();\n\n return this.isBrowser\n ? new DOMRect(rect.x - 4, rect.y - 4, rect.width + 8, rect.height + 8)\n : rect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAqBM,MAAO,QAAS,SAAQ,eAAe,CAAA;AAT7C,IAAA,WAAA,GAAA;;QAUqB,IAAA,CAAA,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClD,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AACxB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,IAAA,CAAA,IAAI,GAAG,MAAM;AAShC,IAAA;IAPU,aAAa,GAAA;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;QAE5C,OAAO,IAAI,CAAC;cACN,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;cACnE,IAAI;IACd;+GAZS,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAJN,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,kGAH9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOH,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;+BACI,WAAW,EAAA,QAAA,EACX,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,iBAAiB,CAAA,QAAA,CAAU,CAAC,EAAA,cAAA,EACxB,CAAC,WAAW,CAAC,EAAA,IAAA,EACvB,EAAC,kBAAkB,EAAE,WAAW,EAAC,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA;;;ACnB3C;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-pulse.mjs","sources":["../../../projects/kit/components/pulse/pulse.component.ts","../../../projects/kit/components/pulse/taiga-ui-kit-components-pulse.ts"],"sourcesContent":["import {isPlatformBrowser} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n PLATFORM_ID,\n} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsRectAccessor, TuiRectAccessor} from '@taiga-ui/core/classes';\n\n@Component({\n selector: 'tui-pulse',\n template: '',\n styleUrl: './pulse.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsRectAccessor(TuiPulse)],\n hostDirectives: [TuiAnimated],\n host: {'[class._playing]': 'playing()'},\n})\nexport class TuiPulse extends TuiRectAccessor {\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n private readonly el = tuiInjectElement();\n\n public readonly playing = input(true);\n public readonly type = 'hint';\n\n public getClientRect(): DOMRect {\n const rect = this.el.getBoundingClientRect();\n\n return this.isBrowser\n ? new DOMRect(rect.x - 4, rect.y - 4, rect.width + 8, rect.height + 8)\n : rect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAqBM,MAAO,QAAS,SAAQ,eAAe,CAAA;AAT7C,IAAA,WAAA,GAAA;;QAUqB,IAAA,CAAA,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAClD,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AAExB,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,IAAA,CAAA,IAAI,GAAG,MAAM;AAShC,IAAA;IAPU,aAAa,GAAA;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;QAE5C,OAAO,IAAI,CAAC;cACN,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;cACnE,IAAI;IACd;+GAbS,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAJN,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,kGAH9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOH,QAAQ,EAAA,UAAA,EAAA,CAAA;kBATpB,SAAS;+BACI,WAAW,EAAA,QAAA,EACX,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,iBAAiB,CAAA,QAAA,CAAU,CAAC,EAAA,cAAA,EACxB,CAAC,WAAW,CAAC,EAAA,IAAA,EACvB,EAAC,kBAAkB,EAAE,WAAW,EAAC,EAAA,MAAA,EAAA,CAAA,glBAAA,CAAA,EAAA;;;ACnB3C;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-push.mjs","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.options.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {DatePipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, input, output} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiButtonX} from '@taiga-ui/core/directives/button-x';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-push',\n imports: [DatePipe, TuiButton, TuiButtonX],\n templateUrl: './push.template.html',\n styleUrl: './push.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({size: 's', appearance: 'secondary'})],\n host: {'[style.--t-lines]': 'lines()'},\n})\nexport class TuiPushComponent {\n protected readonly isString = tuiIsString;\n protected readonly closeWord = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n public readonly heading = input('');\n public readonly type = input('');\n public readonly lines = input(2);\n public readonly timestamp = input<number | string>('');\n public readonly close = output();\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n@if (close['listeners']?.length) {\n <button\n size=\"xs\"\n tuiButtonX\n class=\"t-close\"\n (click)=\"close.emit()\"\n >\n {{ closeWord() }}\n </button>\n}\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-icon\" />\n </span>\n {{ type() }}\n @if (timestamp()) {\n <span\n class=\"t-time\"\n [textContent]=\"isString(timestamp()) ? timestamp() : (timestamp() | date: 'h:mm a')\"\n ></span>\n }\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading() }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPositionOptions} from '@taiga-ui/core/portals/alert';\n\nexport interface TuiPushOptions extends TuiPositionOptions {\n readonly buttons: readonly string[];\n readonly heading: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly image: string;\n readonly timestamp: number | string;\n readonly type: string;\n}\n\nexport const [TUI_PUSH_OPTIONS, tuiPushOptionsProvider] =\n tuiCreateOptions<TuiPushOptions>({\n heading: '',\n type: '',\n timestamp: '',\n image: '',\n icon: '',\n iconColor: '',\n buttons: [],\n block: 'end',\n inline: 'end',\n });\n\nexport const TUI_PUSH_CONCURRENCY = new InjectionToken(\n ngDevMode ? 'TUI_PUSH_CONCURRENCY' : '',\n {factory: () => 5},\n);\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext, TuiPortalDirective} from '@taiga-ui/cdk/portals';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiAlertDirective} from '@taiga-ui/core/portals/alert';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {type TuiPushOptions} from './push.options';\n\n@Component({\n selector: 'tui-push-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiIcon, TuiLink, TuiPushComponent],\n templateUrl: './push-alert.template.html',\n styleUrl: './push-alert.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiAlertDirective],\n})\nexport class TuiPushAlert {\n protected readonly context =\n injectContext<TuiPortalContext<TuiPushOptions, string>>();\n\n protected get isDirective(): boolean {\n return this.context.content instanceof TuiPortalDirective;\n }\n}\n","<div class=\"t-wrapper\">\n @if (!isDirective) {\n <tui-push\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n >\n @if (context.image) {\n <img\n alt=\"\"\n [src]=\"context.image\"\n />\n }\n @if (context.icon) {\n <tui-icon\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n }\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n @if (context.buttons.length > 1) {\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n }\n @if (context.buttons.length) {\n <button\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n }\n </tui-push>\n } @else {\n <ng-container *polymorpheusOutlet=\"context.content\" />\n }\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiAlertService} from '@taiga-ui/core/portals/alert';\n\nimport {\n TUI_PUSH_CONCURRENCY,\n TUI_PUSH_OPTIONS,\n type TuiPushOptions,\n} from './push.options';\nimport {TuiPushAlert} from './push-alert.component';\n\n@Injectable({providedIn: 'root'})\nexport class TuiPushService extends TuiAlertService<TuiPushOptions, string> {\n protected override readonly options = inject(TUI_PUSH_OPTIONS);\n protected override readonly component = TuiPushAlert;\n\n constructor() {\n super(inject(TUI_PUSH_CONCURRENCY));\n }\n}\n","import {DestroyRef, Directive, inject} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: 'ng-template[tuiPush]',\n providers: [tuiAsPortal(TuiPushService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['open: tuiPush'],\n },\n ],\n})\nexport class TuiPushDirective {\n private readonly sub = inject(TuiPortalDirective).openChange.subscribe(() => {});\n\n constructor() {\n inject(DestroyRef).onDestroy(() => this.sub.unsubscribe());\n }\n}\n","import {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushAlert} from './push-alert.component';\n\nexport const TuiPush = [TuiPushComponent, TuiPushAlert, TuiPushDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;;;MAgBa,gBAAgB,CAAA;AAT7B,IAAA,WAAA,GAAA;QAUuB,IAAA,CAAA,QAAQ,GAAG,WAAW;AACtB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AAClC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACnC,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC;AACnB,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;AAChB,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;AAChB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAkB,EAAE,CAAC;QACtC,IAAA,CAAA,KAAK,GAAG,MAAM,EAAE;AACnC,IAAA;+GATY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAHd,CAAC,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECb/E,68BA0CA,EAAA,MAAA,EAAA,CAAA,+xCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDjCc,QAAQ,6CAAa,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAOhC,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAAA,OAAA,EACX,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,wBAAwB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC,EAAA,IAAA,EACrE,EAAC,mBAAmB,EAAE,SAAS,EAAC,EAAA,QAAA,EAAA,68BAAA,EAAA,MAAA,EAAA,CAAA,+xCAAA,CAAA,EAAA;;;MEA7B,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,GACnD,gBAAgB,CAAiB;AAC7B,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,SAAS,EAAE,EAAE;AACb,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,MAAM,EAAE,KAAK;AAChB,CAAA;AAEE,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAClD,SAAS,GAAG,sBAAsB,GAAG,EAAE,EACvC,EAAC,OAAO,EAAE,MAAM,CAAC,EAAC;;MCTT,YAAY,CAAA;AARzB,IAAA,WAAA,GAAA;QASuB,IAAA,CAAA,OAAO,GACtB,aAAa,EAA4C;AAKhE,IAAA;AAHG,IAAA,IAAc,WAAW,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,YAAY,kBAAkB;IAC7D;+GANS,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,WAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBzB,4kDA+CA,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDjCc,kBAAkB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAMlE,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;+BACI,gBAAgB,EAAA,OAAA,EACjB,CAAC,kBAAkB,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAG3D,uBAAuB,CAAC,MAAM,kBAC/B,CAAC,WAAW,EAAE,iBAAiB,CAAC,EAAA,QAAA,EAAA,4kDAAA,EAAA,MAAA,EAAA,CAAA,gEAAA,CAAA,EAAA;;;AEP9C,MAAO,cAAe,SAAQ,eAAuC,CAAA;AAIvE,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAJX,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAClC,IAAA,CAAA,SAAS,GAAG,YAAY;IAIpD;+GANS,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADF,MAAM,EAAA,CAAA,CAAA;;4FAClB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAC,UAAU,EAAE,MAAM,EAAC;;;MCKnB,gBAAgB,CAAA;AAGzB,IAAA,WAAA,GAAA;AAFiB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK,EAAE,CAAC,CAAC;AAG5E,QAAA,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;IAC9D;+GALS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gBAAgB,mEARd,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAQ/B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAV5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,SAAS,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AACxC,oBAAA,cAAc,EAAE;AACZ,wBAAA;AACI,4BAAA,SAAS,EAAE,kBAAkB;4BAC7B,MAAM,EAAE,CAAC,eAAe,CAAC;AAC5B,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACVM,MAAM,OAAO,GAAG,CAAC,gBAAgB,EAAE,YAAY,EAAE,gBAAgB;;ACJxE;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-push.mjs","sources":["../../../projects/kit/components/push/push.component.ts","../../../projects/kit/components/push/push.template.html","../../../projects/kit/components/push/push.options.ts","../../../projects/kit/components/push/push-alert.component.ts","../../../projects/kit/components/push/push-alert.template.html","../../../projects/kit/components/push/push.service.ts","../../../projects/kit/components/push/push.directive.ts","../../../projects/kit/components/push/push.ts","../../../projects/kit/components/push/taiga-ui-kit-components-push.ts"],"sourcesContent":["import {DatePipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, inject, input, output} from '@angular/core';\nimport {tuiIsString} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {TuiButtonX} from '@taiga-ui/core/directives/button-x';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-push',\n imports: [DatePipe, TuiButton, TuiButtonX],\n templateUrl: './push.template.html',\n styleUrl: './push.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiButtonOptionsProvider({size: 's', appearance: 'secondary'})],\n host: {'[style.--t-lines]': 'lines()'},\n})\nexport class TuiPushComponent {\n protected readonly isString = tuiIsString;\n protected readonly closeWord = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n\n public readonly heading = input('');\n public readonly type = input('');\n public readonly lines = input(2);\n public readonly timestamp = input<number | string>('');\n public readonly close = output();\n}\n","<div class=\"t-image\">\n <ng-content select=\"img\" />\n</div>\n@if (close['listeners']?.length) {\n <button\n size=\"xs\"\n tuiButtonX\n class=\"t-close\"\n (click)=\"close.emit()\"\n >\n {{ closeWord() }}\n </button>\n}\n<div class=\"t-top\">\n <span class=\"t-icon\">\n <ng-content select=\"tui-icon\" />\n </span>\n {{ type() }}\n @if (timestamp()) {\n <span\n class=\"t-time\"\n [textContent]=\"isString(timestamp()) ? timestamp() : (timestamp() | date: 'h:mm a')\"\n ></span>\n }\n</div>\n<h3\n automation-id=\"tui-push__heading\"\n class=\"t-heading\"\n>\n {{ heading() }}\n</h3>\n<div class=\"t-content\">\n <ng-content />\n</div>\n<div class=\"t-actions\">\n <span class=\"t-button\">\n <ng-content select=\"[tuiButton]\" />\n </span>\n <span class=\"t-link\">\n <ng-content select=\"[tuiLink]\" />\n </span>\n</div>\n","import {InjectionToken} from '@angular/core';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPositionOptions} from '@taiga-ui/core/portals/alert';\n\nexport interface TuiPushOptions extends TuiPositionOptions {\n readonly buttons: readonly string[];\n readonly heading: string;\n readonly icon: string;\n readonly iconColor: string;\n readonly image: string;\n readonly timestamp: number | string;\n readonly type: string;\n}\n\nexport const [TUI_PUSH_OPTIONS, tuiPushOptionsProvider] =\n tuiCreateOptions<TuiPushOptions>({\n heading: '',\n type: '',\n timestamp: '',\n image: '',\n icon: '',\n iconColor: '',\n buttons: [],\n block: 'end',\n inline: 'end',\n });\n\nexport const TUI_PUSH_CONCURRENCY = new InjectionToken(\n ngDevMode ? 'TUI_PUSH_CONCURRENCY' : '',\n {factory: () => 5},\n);\n","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext, TuiPortalDirective} from '@taiga-ui/cdk/portals';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiAlertDirective} from '@taiga-ui/core/portals/alert';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiPushComponent} from './push.component';\nimport {type TuiPushOptions} from './push.options';\n\n@Component({\n selector: 'tui-push-alert',\n imports: [PolymorpheusOutlet, TuiButton, TuiIcon, TuiLink, TuiPushComponent],\n templateUrl: './push-alert.template.html',\n styleUrl: './push-alert.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [TuiAnimated, TuiAlertDirective],\n})\nexport class TuiPushAlert {\n protected readonly context =\n injectContext<TuiPortalContext<TuiPushOptions, string>>();\n\n protected get isDirective(): boolean {\n return this.context.content instanceof TuiPortalDirective;\n }\n}\n","<div class=\"t-wrapper\">\n @if (!isDirective) {\n <tui-push\n [heading]=\"context.heading\"\n [timestamp]=\"context.timestamp\"\n [type]=\"context.type\"\n (close)=\"context.$implicit.complete()\"\n >\n @if (context.image) {\n <img\n alt=\"\"\n [src]=\"context.image\"\n />\n }\n @if (context.icon) {\n <tui-icon\n [icon]=\"context.icon\"\n [style.color]=\"context.iconColor\"\n />\n }\n <div\n *polymorpheusOutlet=\"context.content as text; context: context\"\n [innerHTML]=\"text\"\n ></div>\n @if (context.buttons.length > 1) {\n <button\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[0] || '')\"\n >\n {{ context.buttons[0] }}\n </button>\n }\n @if (context.buttons.length) {\n <button\n tuiLink\n type=\"button\"\n (click)=\"context.$implicit.next(context.buttons[context.buttons.length - 1] || '')\"\n >\n {{ context.buttons[context.buttons.length - 1] }}\n </button>\n }\n </tui-push>\n } @else {\n <ng-container *polymorpheusOutlet=\"context.content\" />\n }\n</div>\n","import {inject, Injectable} from '@angular/core';\nimport {TuiAlertService} from '@taiga-ui/core/portals/alert';\n\nimport {\n TUI_PUSH_CONCURRENCY,\n TUI_PUSH_OPTIONS,\n type TuiPushOptions,\n} from './push.options';\nimport {TuiPushAlert} from './push-alert.component';\n\n@Injectable({providedIn: 'root'})\nexport class TuiPushService extends TuiAlertService<TuiPushOptions, string> {\n protected override readonly options = inject(TUI_PUSH_OPTIONS);\n protected override readonly component = TuiPushAlert;\n\n constructor() {\n super(inject(TUI_PUSH_CONCURRENCY));\n }\n}\n","import {DestroyRef, Directive, inject} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {TuiPushService} from './push.service';\n\n@Directive({\n selector: 'ng-template[tuiPush]',\n providers: [tuiAsPortal(TuiPushService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: ['open: tuiPush'],\n },\n ],\n})\nexport class TuiPushDirective {\n private readonly sub = inject(TuiPortalDirective).openChange.subscribe(() => {});\n\n constructor() {\n inject(DestroyRef).onDestroy(() => this.sub.unsubscribe());\n }\n}\n","import {TuiPushComponent} from './push.component';\nimport {TuiPushDirective} from './push.directive';\nimport {TuiPushAlert} from './push-alert.component';\n\nexport const TuiPush = [TuiPushComponent, TuiPushAlert, TuiPushDirective] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -39,7 +39,7 @@ class TuiRadioList extends TuiControl {
39
39
  : this.handlers.identityMatcher()(this.value(), item);
40
40
  }
41
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRadioList, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiRadioList, isStandalone: true, selector: "tui-radio-list", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, itemContent: { classPropertyName: "itemContent", publicName: "itemContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.8.0-canary.fac3204", "role": "radiogroup" }, listeners: { "focusout": "onFocusOut()" }, properties: { "attr.data-size": "size()" } }, providers: [tuiAsControl(TuiRadioList)], viewQueries: [{ propertyName: "controls", predicate: NgControl, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithItemsHandlers }], ngImport: i0, template: "@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\n}\n", styles: ["tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){display:flex;flex-direction:column;align-items:flex-start;gap:.75rem 1.5rem;font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s],tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-ui-s)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiSubtitle],tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle] [tuiSubtitle]{font:var(--tui-typography-body-xs)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s]>.t-item,tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle]>.t-item{gap:.5rem}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]) [tuiTitle]{font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.t-item{display:flex;gap:.75rem}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.t-item_disabled{opacity:var(--tui-disabled-opacity)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", inputs: ["size"] }, { kind: "directive", type: i3.TuiRadioDirective, selector: "input[type=\"radio\"][tuiRadio][identityMatcher]", inputs: ["identityMatcher"] }, { kind: "directive", type: TuiValidator, selector: "[tuiValidator]", inputs: ["tuiValidator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: TuiRadioList, isStandalone: true, selector: "tui-radio-list", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, itemContent: { classPropertyName: "itemContent", publicName: "itemContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.9.0", "role": "radiogroup" }, listeners: { "focusout": "onFocusOut()" }, properties: { "attr.data-size": "size()" } }, providers: [tuiAsControl(TuiRadioList)], viewQueries: [{ propertyName: "controls", predicate: NgControl, descendants: true, isSignal: true }], usesInheritance: true, hostDirectives: [{ directive: i1.TuiWithItemsHandlers }], ngImport: i0, template: "@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\n}\n", styles: ["tui-radio-list:where(*[data-tui-version=\"5.9.0\"]){display:flex;flex-direction:column;align-items:flex-start;gap:.75rem 1.5rem;font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s],tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-ui-s)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiSubtitle],tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle] [tuiSubtitle]{font:var(--tui-typography-body-xs)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s]>.t-item,tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle]>.t-item{gap:.5rem}tui-radio-list:where(*[data-tui-version=\"5.9.0\"]) [tuiTitle]{font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])>.t-item{display:flex;gap:.75rem}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])>.t-item_disabled{opacity:var(--tui-disabled-opacity)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiRadioComponent, selector: "input[type=\"radio\"][tuiRadio]", inputs: ["size"] }, { kind: "directive", type: i3.TuiRadioDirective, selector: "input[type=\"radio\"][tuiRadio][identityMatcher]", inputs: ["identityMatcher"] }, { kind: "directive", type: TuiValidator, selector: "[tuiValidator]", inputs: ["tuiValidator"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiRadioList, decorators: [{
45
45
  type: Component,
@@ -48,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
48
48
  role: 'radiogroup',
49
49
  '[attr.data-size]': 'size()',
50
50
  '(focusout)': 'onFocusOut()',
51
- }, template: "@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\n}\n", styles: ["tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){display:flex;flex-direction:column;align-items:flex-start;gap:.75rem 1.5rem;font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s],tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-ui-s)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiSubtitle],tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle] [tuiSubtitle]{font:var(--tui-typography-body-xs)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s]>.t-item,tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] [tuiTitle]>.t-item{gap:.5rem}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]) [tuiTitle]{font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.t-item{display:flex;gap:.75rem}tui-radio-list:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.t-item_disabled{opacity:var(--tui-disabled-opacity)}\n"] }]
51
+ }, template: "@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\n}\n", styles: ["tui-radio-list:where(*[data-tui-version=\"5.9.0\"]){display:flex;flex-direction:column;align-items:flex-start;gap:.75rem 1.5rem;font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s],tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle]{font:var(--tui-typography-ui-s)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiSubtitle],tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle] [tuiSubtitle]{font:var(--tui-typography-body-xs)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s]>.t-item,tui-radio-list:where(*[data-tui-version=\"5.9.0\"])[data-size=s] [tuiTitle]>.t-item{gap:.5rem}tui-radio-list:where(*[data-tui-version=\"5.9.0\"]) [tuiTitle]{font:var(--tui-typography-body-m)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"]) [tuiSubtitle]{color:var(--tui-text-secondary)}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])>.t-item{display:flex;gap:.75rem}tui-radio-list:where(*[data-tui-version=\"5.9.0\"])>.t-item_disabled{opacity:var(--tui-disabled-opacity)}\n"] }]
52
52
  }] });
53
53
 
54
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-radio-list.mjs","sources":["../../../projects/kit/components/radio-list/radio-list.component.ts","../../../projects/kit/components/radio-list/radio-list.template.html","../../../projects/kit/components/radio-list/taiga-ui-kit-components-radio-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormsModule, NgControl, type ValidatorFn, Validators} from '@angular/forms';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRINGIFY, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiRadio} from '@taiga-ui/core/components/radio';\nimport {\n TUI_ITEMS_HANDLERS,\n TuiWithItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nconst ERROR: ValidatorFn = () => ({error: 'Invalid'});\n\n@Component({\n selector: 'tui-radio-list',\n imports: [FormsModule, PolymorpheusOutlet, TuiRadio, TuiValidator],\n templateUrl: './radio-list.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './radio-list.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsControl(TuiRadioList)],\n hostDirectives: [TuiWithItemsHandlers],\n host: {\n 'data-tui-version': TUI_VERSION,\n role: 'radiogroup',\n '[attr.data-size]': 'size()',\n '(focusout)': 'onFocusOut()',\n },\n})\nexport class TuiRadioList<T> extends TuiControl<T> {\n private readonly controls = viewChildren(NgControl);\n private readonly id = tuiGenerateId();\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n\n protected readonly validator = computed(() =>\n this.invalid() ? ERROR : Validators.nullValidator,\n );\n\n public readonly items = input<readonly T[]>();\n public readonly size = input<TuiSizeS>('m');\n public readonly itemContent = input(TUI_STRINGIFY);\n\n protected get name(): string {\n return `${this.control.name}-${this.id}`;\n }\n\n protected onFocusOut(): void {\n this.controls().forEach((control) => control.control?.markAsTouched());\n\n if (!this.touched()) {\n this.onTouched();\n }\n }\n\n protected itemIsActive(item: T): boolean {\n return this.value() === null\n ? item === null\n : this.handlers.identityMatcher()(this.value(), item);\n }\n}\n","@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\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-components-radio-list.mjs","sources":["../../../projects/kit/components/radio-list/radio-list.component.ts","../../../projects/kit/components/radio-list/radio-list.template.html","../../../projects/kit/components/radio-list/taiga-ui-kit-components-radio-list.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {FormsModule, NgControl, type ValidatorFn, Validators} from '@angular/forms';\nimport {tuiAsControl, TuiControl} from '@taiga-ui/cdk/classes';\nimport {TUI_STRINGIFY, TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {TuiValidator} from '@taiga-ui/cdk/directives/validator';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiRadio} from '@taiga-ui/core/components/radio';\nimport {\n TUI_ITEMS_HANDLERS,\n TuiWithItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nconst ERROR: ValidatorFn = () => ({error: 'Invalid'});\n\n@Component({\n selector: 'tui-radio-list',\n imports: [FormsModule, PolymorpheusOutlet, TuiRadio, TuiValidator],\n templateUrl: './radio-list.template.html',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './radio-list.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsControl(TuiRadioList)],\n hostDirectives: [TuiWithItemsHandlers],\n host: {\n 'data-tui-version': TUI_VERSION,\n role: 'radiogroup',\n '[attr.data-size]': 'size()',\n '(focusout)': 'onFocusOut()',\n },\n})\nexport class TuiRadioList<T> extends TuiControl<T> {\n private readonly controls = viewChildren(NgControl);\n private readonly id = tuiGenerateId();\n\n protected readonly handlers = inject(TUI_ITEMS_HANDLERS);\n\n protected readonly validator = computed(() =>\n this.invalid() ? ERROR : Validators.nullValidator,\n );\n\n public readonly items = input<readonly T[]>();\n public readonly size = input<TuiSizeS>('m');\n public readonly itemContent = input(TUI_STRINGIFY);\n\n protected get name(): string {\n return `${this.control.name}-${this.id}`;\n }\n\n protected onFocusOut(): void {\n this.controls().forEach((control) => control.control?.markAsTouched());\n\n if (!this.touched()) {\n this.onTouched();\n }\n }\n\n protected itemIsActive(item: T): boolean {\n return this.value() === null\n ? item === null\n : this.handlers.identityMatcher()(this.value(), item);\n }\n}\n","@for (item of items(); track item) {\n <label\n class=\"t-item\"\n [class.t-item_disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n >\n <input\n tuiRadio\n type=\"radio\"\n [disabled]=\"disabled() || handlers.disabledItemHandler()(item)\"\n [identityMatcher]=\"handlers.identityMatcher()\"\n [name]=\"name\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size()\"\n [tuiValidator]=\"validator()\"\n [value]=\"item\"\n (ngModelChange)=\"onChange($event)\"\n />\n <ng-container\n *polymorpheusOutlet=\"itemContent() as text; context: {$implicit: item, active: itemIsActive(item)}\"\n >\n {{ text }}\n </ng-container>\n </label>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-range.mjs","sources":["../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, output} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/core/components/slider';\nimport {identity, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs';\n\nimport {TuiRange} from './range.component';\n\n@Directive()\nexport class TuiRangeChange {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly range = inject(TuiRange);\n public readonly activeThumbChange = output<'end' | 'start'>();\n\n constructor() {\n let activeThumb: 'end' | 'start';\n\n tuiTypedFromEvent(this.el, 'pointerdown', {\n passive: true,\n capture: true,\n })\n .pipe(\n tap(({clientX, target, pointerId}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n const slideElement =\n this.range.thumbs()[activeThumb === 'start' ? 0 : 1];\n\n slideElement.setPointerCapture(pointerId);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable()) {\n this.el.focus();\n }\n }),\n switchMap((event) =>\n tuiTypedFromEvent(this.doc, 'pointermove').pipe(\n tuiIsElement(event.target) && tuiIsInput(event.target)\n ? identity\n : startWith(event),\n ),\n ),\n map(({clientX}) => this.getFractionFromEvents(clientX ?? 0)),\n takeUntil(tuiTypedFromEvent(this.doc, 'pointerup', {passive: true})),\n repeat(),\n takeUntilDestroyed(),\n )\n .subscribe((fraction) => {\n const value = this.range.toValue(fraction);\n\n this.range.processValue(value, activeThumb === 'end');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const {left, right, width} = this.el.getBoundingClientRect();\n const start = this.el.matches('[dir=\"rtl\"] :scope') ? right : left;\n const value = Math.abs(tuiClamp(clickClientX, left, right) - start);\n\n return tuiRound(value / width, TUI_FLOATING_PRECISION);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'end' | 'start' {\n const [startThumb, endThumb] = this.range.thumbs();\n\n switch (target) {\n case endThumb:\n return 'end';\n case startThumb:\n return 'start';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'end' | 'start' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaStart = fraction * 100 - this.range.start();\n const deltaEnd = fraction * 100 - 100 + this.range.end();\n\n return Math.abs(deltaStart) > Math.abs(deltaEnd) ||\n deltaEnd > 0 ||\n (this.range.start() === 0 && this.range.end() === 100)\n ? 'end'\n : 'start';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n viewChildren,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiQuantize} from '@taiga-ui/cdk/utils/math';\nimport {\n type TuiKeySteps,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n TuiSlider,\n TuiSliderComponent,\n} from '@taiga-ui/core/components/slider';\n\nimport {TuiRangeChange} from './range-change.directive';\n\n@Component({\n selector: 'tui-range',\n imports: [FormsModule, TuiSlider],\n templateUrl: './range.template.html',\n styleUrl: './range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider([0, 0])],\n hostDirectives: [\n {\n directive: TuiRangeChange,\n outputs: ['activeThumbChange'],\n },\n ],\n host: {\n '[attr.aria-disabled]': 'disabled()',\n '[attr.tabindex]': '-1',\n '[class._disabled]': 'disabled()',\n '[style.--t-end.%]': 'end()',\n '[style.--t-start.%]': 'start()',\n '(focusout)': 'onTouched()',\n '(keydown.arrowDown.prevent)': 'changeByStep(-1, $event.target)',\n '(keydown.arrowLeft.prevent)': 'changeByStep(rtl ? 1 : -1, $event.target)',\n '(keydown.arrowRight.prevent)': 'changeByStep(rtl ? -1 : 1, $event.target)',\n '(keydown.arrowUp.prevent)': 'changeByStep(1, $event.target)',\n },\n})\nexport class TuiRange extends TuiControl<[number, number]> {\n private readonly el = tuiInjectElement();\n private readonly sliders = viewChildren(TuiSliderComponent);\n protected lastActiveThumb: 'end' | 'start' = 'end';\n public readonly min = input(0);\n public readonly max = input(100);\n public readonly step = input(1);\n public readonly segments = input(1);\n public readonly keySteps = input<TuiKeySteps>();\n public readonly focusable = input(true);\n public readonly margin = input(0);\n public readonly limit = input(Infinity);\n public readonly start = computed(() => this.toPercent(this.value()[0]));\n public readonly end = computed(() => 100 - this.toPercent(this.value()[1]));\n\n public readonly thumbs = computed(\n ([start, end] = this.sliders()) => [start!.el, end!.el] as const,\n );\n\n protected readonly segmentWidthRatio = computed<number>(() => 1 / this.segments());\n\n protected readonly fractionStep = computed<number>((step = this.step()) =>\n this.keySteps() ? step / 100 : step / (this.max() - this.min()),\n );\n\n protected readonly computedKeySteps = computed<TuiKeySteps>(\n () =>\n this.keySteps() || [\n [0, this.min()],\n [100, this.max()],\n ],\n );\n\n public processValue(value: number, end: boolean): void {\n if (end) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = end ? 'end' : 'start';\n }\n\n public takeStep(coefficients: readonly [number, number]): readonly [number, number] {\n return this.value().map((value, i) => {\n const fraction = this.toPercent(value) / 100;\n const newFractionValue = fraction + coefficients[i]! * this.fractionStep();\n\n return this.toValue(newFractionValue);\n }) as [number, number];\n }\n\n public toValue(fraction: number): number {\n return tuiPercentageToKeyStepValue(\n tuiClamp(tuiQuantize(fraction, this.fractionStep()), 0, 1) * 100,\n this.computedKeySteps(),\n );\n }\n\n protected get rtl(): boolean {\n return this.el.matches('[dir=\"rtl\"] :scope');\n }\n\n protected changeByStep(coefficient: number, target: HTMLElement): void {\n const [startThumb, endThumb] = this.thumbs();\n\n const isEndThumb =\n target === this.el ? this.lastActiveThumb === 'end' : target === endThumb;\n\n const activeThumbElement = isEndThumb ? endThumb : startThumb;\n const newValue = this.takeStep(isEndThumb ? [0, coefficient] : [coefficient, 0]);\n\n this.processValue(newValue[isEndThumb ? 1 : 0], isEndThumb);\n activeThumbElement?.focus();\n }\n\n protected toPercent(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps());\n }\n\n private updateStart(value: number): void {\n const newValue = Math.min(value, this.value()[1]);\n const distance = this.value()[1] - newValue;\n\n if (!this.checkDistance(distance)) {\n return;\n }\n\n this.onChange([newValue, this.value()[1]]);\n }\n\n private updateEnd(value: number): void {\n const newValue = Math.max(value, this.value()[0]);\n const distance = newValue - this.value()[0];\n\n if (!this.checkDistance(distance)) {\n return;\n }\n\n this.onChange([this.value()[0], newValue]);\n }\n\n private checkDistance(distance: number): boolean {\n return tuiClamp(distance, this.margin(), this.limit()) === distance;\n }\n}\n","<div\n class=\"t-track\"\n [style.--t-bg-size-ratio]=\"1 - segmentWidthRatio()\"\n [style.--t-segment-width.%]=\"segmentWidthRatio() * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"keySteps()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [ngModel]=\"value()[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [step]=\"step()\"\n [tabIndex]=\"focusable() ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"keySteps()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [ngModel]=\"value()[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [step]=\"step()\"\n [tabIndex]=\"focusable() ? 0 : -1\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiRangeChange"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-range.mjs","sources":["../../../projects/kit/components/range/range-change.directive.ts","../../../projects/kit/components/range/range.component.ts","../../../projects/kit/components/range/range.template.html","../../../projects/kit/components/range/taiga-ui-kit-components-range.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, inject, output} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement, tuiIsElement, tuiIsInput} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiRound} from '@taiga-ui/cdk/utils/math';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/core/components/slider';\nimport {identity, map, repeat, startWith, switchMap, takeUntil, tap} from 'rxjs';\n\nimport {TuiRange} from './range.component';\n\n@Directive()\nexport class TuiRangeChange {\n private readonly doc = inject(DOCUMENT);\n private readonly el = tuiInjectElement();\n private readonly range = inject(TuiRange);\n\n public readonly activeThumbChange = output<'end' | 'start'>();\n\n constructor() {\n let activeThumb: 'end' | 'start';\n\n tuiTypedFromEvent(this.el, 'pointerdown', {\n passive: true,\n capture: true,\n })\n .pipe(\n tap(({clientX, target, pointerId}) => {\n activeThumb = this.detectActiveThumb(clientX, target);\n const slideElement =\n this.range.thumbs()[activeThumb === 'start' ? 0 : 1];\n\n slideElement.setPointerCapture(pointerId);\n this.activeThumbChange.emit(activeThumb);\n\n if (this.range.focusable()) {\n this.el.focus();\n }\n }),\n switchMap((event) =>\n tuiTypedFromEvent(this.doc, 'pointermove').pipe(\n tuiIsElement(event.target) && tuiIsInput(event.target)\n ? identity\n : startWith(event),\n ),\n ),\n map(({clientX}) => this.getFractionFromEvents(clientX ?? 0)),\n takeUntil(tuiTypedFromEvent(this.doc, 'pointerup', {passive: true})),\n repeat(),\n takeUntilDestroyed(),\n )\n .subscribe((fraction) => {\n const value = this.range.toValue(fraction);\n\n this.range.processValue(value, activeThumb === 'end');\n });\n }\n\n private getFractionFromEvents(clickClientX: number): number {\n const {left, right, width} = this.el.getBoundingClientRect();\n const start = this.el.matches('[dir=\"rtl\"] :scope') ? right : left;\n const value = Math.abs(tuiClamp(clickClientX, left, right) - start);\n\n return tuiRound(value / width, TUI_FLOATING_PRECISION);\n }\n\n private detectActiveThumb(\n clientX: number,\n target: EventTarget | null,\n ): 'end' | 'start' {\n const [startThumb, endThumb] = this.range.thumbs();\n\n switch (target) {\n case endThumb:\n return 'end';\n case startThumb:\n return 'start';\n default:\n return this.findNearestActiveThumb(clientX);\n }\n }\n\n private findNearestActiveThumb(clientX: number): 'end' | 'start' {\n const fraction = this.getFractionFromEvents(clientX);\n const deltaStart = fraction * 100 - this.range.start();\n const deltaEnd = fraction * 100 - 100 + this.range.end();\n\n return Math.abs(deltaStart) > Math.abs(deltaEnd) ||\n deltaEnd > 0 ||\n (this.range.start() === 0 && this.range.end() === 100)\n ? 'end'\n : 'start';\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n viewChildren,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp, tuiQuantize} from '@taiga-ui/cdk/utils/math';\nimport {\n type TuiKeySteps,\n tuiKeyStepValueToPercentage,\n tuiPercentageToKeyStepValue,\n TuiSlider,\n TuiSliderComponent,\n} from '@taiga-ui/core/components/slider';\n\nimport {TuiRangeChange} from './range-change.directive';\n\n@Component({\n selector: 'tui-range',\n imports: [FormsModule, TuiSlider],\n templateUrl: './range.template.html',\n styleUrl: './range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider([0, 0])],\n hostDirectives: [\n {\n directive: TuiRangeChange,\n outputs: ['activeThumbChange'],\n },\n ],\n host: {\n '[attr.aria-disabled]': 'disabled()',\n '[attr.tabindex]': '-1',\n '[class._disabled]': 'disabled()',\n '[style.--t-end.%]': 'end()',\n '[style.--t-start.%]': 'start()',\n '(focusout)': 'onTouched()',\n '(keydown.arrowDown.prevent)': 'changeByStep(-1, $event.target)',\n '(keydown.arrowLeft.prevent)': 'changeByStep(rtl ? 1 : -1, $event.target)',\n '(keydown.arrowRight.prevent)': 'changeByStep(rtl ? -1 : 1, $event.target)',\n '(keydown.arrowUp.prevent)': 'changeByStep(1, $event.target)',\n },\n})\nexport class TuiRange extends TuiControl<[number, number]> {\n private readonly el = tuiInjectElement();\n private readonly sliders = viewChildren(TuiSliderComponent);\n\n protected lastActiveThumb: 'end' | 'start' = 'end';\n\n public readonly min = input(0);\n public readonly max = input(100);\n public readonly step = input(1);\n public readonly segments = input(1);\n public readonly keySteps = input<TuiKeySteps>();\n public readonly focusable = input(true);\n public readonly margin = input(0);\n public readonly limit = input(Infinity);\n public readonly start = computed(() => this.toPercent(this.value()[0]));\n public readonly end = computed(() => 100 - this.toPercent(this.value()[1]));\n\n public readonly thumbs = computed(\n ([start, end] = this.sliders()) => [start!.el, end!.el] as const,\n );\n\n protected readonly segmentWidthRatio = computed<number>(() => 1 / this.segments());\n\n protected readonly fractionStep = computed<number>((step = this.step()) =>\n this.keySteps() ? step / 100 : step / (this.max() - this.min()),\n );\n\n protected readonly computedKeySteps = computed<TuiKeySteps>(\n () =>\n this.keySteps() || [\n [0, this.min()],\n [100, this.max()],\n ],\n );\n\n public processValue(value: number, end: boolean): void {\n if (end) {\n this.updateEnd(value);\n } else {\n this.updateStart(value);\n }\n\n this.lastActiveThumb = end ? 'end' : 'start';\n }\n\n public takeStep(coefficients: readonly [number, number]): readonly [number, number] {\n return this.value().map((value, i) => {\n const fraction = this.toPercent(value) / 100;\n const newFractionValue = fraction + coefficients[i]! * this.fractionStep();\n\n return this.toValue(newFractionValue);\n }) as [number, number];\n }\n\n public toValue(fraction: number): number {\n return tuiPercentageToKeyStepValue(\n tuiClamp(tuiQuantize(fraction, this.fractionStep()), 0, 1) * 100,\n this.computedKeySteps(),\n );\n }\n\n protected get rtl(): boolean {\n return this.el.matches('[dir=\"rtl\"] :scope');\n }\n\n protected changeByStep(coefficient: number, target: HTMLElement): void {\n const [startThumb, endThumb] = this.thumbs();\n\n const isEndThumb =\n target === this.el ? this.lastActiveThumb === 'end' : target === endThumb;\n\n const activeThumbElement = isEndThumb ? endThumb : startThumb;\n const newValue = this.takeStep(isEndThumb ? [0, coefficient] : [coefficient, 0]);\n\n this.processValue(newValue[isEndThumb ? 1 : 0], isEndThumb);\n activeThumbElement?.focus();\n }\n\n protected toPercent(value: number): number {\n return tuiKeyStepValueToPercentage(value, this.computedKeySteps());\n }\n\n private updateStart(value: number): void {\n const newValue = Math.min(value, this.value()[1]);\n const distance = this.value()[1] - newValue;\n\n if (!this.checkDistance(distance)) {\n return;\n }\n\n this.onChange([newValue, this.value()[1]]);\n }\n\n private updateEnd(value: number): void {\n const newValue = Math.max(value, this.value()[0]);\n const distance = newValue - this.value()[0];\n\n if (!this.checkDistance(distance)) {\n return;\n }\n\n this.onChange([this.value()[0], newValue]);\n }\n\n private checkDistance(distance: number): boolean {\n return tuiClamp(distance, this.margin(), this.limit()) === distance;\n }\n}\n","<div\n class=\"t-track\"\n [style.--t-bg-size-ratio]=\"1 - segmentWidthRatio()\"\n [style.--t-segment-width.%]=\"segmentWidthRatio() * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"keySteps()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [ngModel]=\"value()[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [step]=\"step()\"\n [tabIndex]=\"focusable() ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"keySteps()\"\n [max]=\"max()\"\n [min]=\"min()\"\n [ngModel]=\"value()[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [step]=\"step()\"\n [tabIndex]=\"focusable() ? 0 : -1\"\n />\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiRangeChange"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-rating.mjs","sources":["../../../projects/kit/components/rating/rating.options.ts","../../../projects/kit/components/rating/rating.component.ts","../../../projects/kit/components/rating/rating.template.html","../../../projects/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiRatingContext extends TuiContext<number> {\n readonly value: number;\n readonly filled: boolean;\n}\n\nexport interface TuiRatingOptions {\n readonly icon: PolymorpheusContent<TuiRatingContext>;\n readonly max: number;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n icon: '@tui.star',\n max: 5,\n};\n\nexport const [TUI_RATING_OPTIONS, tuiRatingOptionsProvider] = tuiCreateOptions(\n TUI_RATING_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_RATING_OPTIONS} from './rating.options';\n\n@Component({\n selector: 'tui-rating',\n imports: [FormsModule, PolymorpheusOutlet, TuiIcon],\n templateUrl: './rating.template.html',\n styleUrl: './rating.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider(0)],\n host: {\n '[class._active]': 'active()',\n '[class._disabled]': 'disabled()',\n '[class._readonly]': 'readOnly()',\n '(document:pointerup)': 'onPointer(-1)',\n '(keydown.capture)': 'onKeyDown($event)',\n '(pointercancel)': 'onPointer(-1)',\n '(pointerdown)': 'onPointer(1)',\n },\n})\nexport class TuiRating extends TuiControl<number> {\n private readonly options = inject(TUI_RATING_OPTIONS);\n protected readonly active = signal(0);\n protected readonly array = computed(() => Array.from({length: this.max()}));\n public readonly icon = input(this.options.icon);\n public readonly max = input(this.options.max);\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (this.readOnly()) {\n event.preventDefault();\n }\n }\n\n protected onPointer(delta: number): void {\n this.active.update((active) => tuiClamp(active + delta, 0, 1));\n }\n\n protected onClick(value: number): void {\n if (this.active()) {\n this.onChange(value);\n }\n }\n\n protected isActive(index: number): boolean {\n return Math.ceil(this.value()) >= this.max() - index;\n }\n\n protected isFraction(index: number): boolean {\n return this.value() > this.max() - index - 1 && this.value() < this.max() - index;\n }\n\n protected getCut(index: number): number {\n return this.isFraction(index)\n ? 100 * Math.max(this.max() - index - this.value(), 0)\n : 0;\n }\n}\n","<input\n min=\"1\"\n type=\"range\"\n class=\"t-range\"\n [attr.aria-disabled]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [max]=\"max()\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onTouched()\"\n (ngModelChange)=\"onChange($event)\"\n/>\n<div class=\"t-items\">\n @for (_ of array(); track $index) {\n @let $implicit = max() - $index;\n @let filled = $implicit - value() < 1;\n\n <div\n class=\"t-item\"\n [class.t-item_active]=\"isActive($index)\"\n (pointerup)=\"onClick($implicit)\"\n >\n @if (isFraction($index)) {\n <tui-icon\n *polymorpheusOutlet=\"icon() as src; context: {$implicit, filled: false, value: value()}\"\n class=\"t-icon t-icon_blank\"\n [background]=\"src.toString()\"\n [style.--t-cut.%]=\"100 - getCut($index)\"\n />\n }\n <tui-icon\n *polymorpheusOutlet=\"icon() as src; context: {$implicit, filled, value: value()}\"\n class=\"t-icon\"\n [background]=\"src.toString()\"\n [style.--t-cut.%]=\"getCut($index)\"\n />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-rating.mjs","sources":["../../../projects/kit/components/rating/rating.options.ts","../../../projects/kit/components/rating/rating.component.ts","../../../projects/kit/components/rating/rating.template.html","../../../projects/kit/components/rating/taiga-ui-kit-components-rating.ts"],"sourcesContent":["import {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\n\nexport interface TuiRatingContext extends TuiContext<number> {\n readonly value: number;\n readonly filled: boolean;\n}\n\nexport interface TuiRatingOptions {\n readonly icon: PolymorpheusContent<TuiRatingContext>;\n readonly max: number;\n}\n\nexport const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions = {\n icon: '@tui.star',\n max: 5,\n};\n\nexport const [TUI_RATING_OPTIONS, tuiRatingOptionsProvider] = tuiCreateOptions(\n TUI_RATING_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TUI_RATING_OPTIONS} from './rating.options';\n\n@Component({\n selector: 'tui-rating',\n imports: [FormsModule, PolymorpheusOutlet, TuiIcon],\n templateUrl: './rating.template.html',\n styleUrl: './rating.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiFallbackValueProvider(0)],\n host: {\n '[class._active]': 'active()',\n '[class._disabled]': 'disabled()',\n '[class._readonly]': 'readOnly()',\n '(document:pointerup)': 'onPointer(-1)',\n '(keydown.capture)': 'onKeyDown($event)',\n '(pointercancel)': 'onPointer(-1)',\n '(pointerdown)': 'onPointer(1)',\n },\n})\nexport class TuiRating extends TuiControl<number> {\n private readonly options = inject(TUI_RATING_OPTIONS);\n\n protected readonly active = signal(0);\n protected readonly array = computed(() => Array.from({length: this.max()}));\n\n public readonly icon = input(this.options.icon);\n public readonly max = input(this.options.max);\n\n protected onKeyDown(event: KeyboardEvent): void {\n if (this.readOnly()) {\n event.preventDefault();\n }\n }\n\n protected onPointer(delta: number): void {\n this.active.update((active) => tuiClamp(active + delta, 0, 1));\n }\n\n protected onClick(value: number): void {\n if (this.active()) {\n this.onChange(value);\n }\n }\n\n protected isActive(index: number): boolean {\n return Math.ceil(this.value()) >= this.max() - index;\n }\n\n protected isFraction(index: number): boolean {\n return this.value() > this.max() - index - 1 && this.value() < this.max() - index;\n }\n\n protected getCut(index: number): number {\n return this.isFraction(index)\n ? 100 * Math.max(this.max() - index - this.value(), 0)\n : 0;\n }\n}\n","<input\n min=\"1\"\n type=\"range\"\n class=\"t-range\"\n [attr.aria-disabled]=\"readOnly()\"\n [disabled]=\"disabled()\"\n [max]=\"max()\"\n [ngModel]=\"value()\"\n [ngModelOptions]=\"{standalone: true}\"\n (blur)=\"onTouched()\"\n (ngModelChange)=\"onChange($event)\"\n/>\n<div class=\"t-items\">\n @for (_ of array(); track $index) {\n @let $implicit = max() - $index;\n @let filled = $implicit - value() < 1;\n\n <div\n class=\"t-item\"\n [class.t-item_active]=\"isActive($index)\"\n (pointerup)=\"onClick($implicit)\"\n >\n @if (isFraction($index)) {\n <tui-icon\n *polymorpheusOutlet=\"icon() as src; context: {$implicit, filled: false, value: value()}\"\n class=\"t-icon t-icon_blank\"\n [background]=\"src.toString()\"\n [style.--t-cut.%]=\"100 - getCut($index)\"\n />\n }\n <tui-icon\n *polymorpheusOutlet=\"icon() as src; context: {$implicit, filled, value: value()}\"\n class=\"t-icon\"\n [background]=\"src.toString()\"\n [style.--t-cut.%]=\"getCut($index)\"\n />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -90,10 +90,10 @@ class TuiSegmented {
90
90
  this.el.style.setProperty('--t-width', tuiPx(offsetWidth));
91
91
  }
92
92
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiSegmented, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
93
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiSegmented, isStandalone: true, selector: "tui-segmented", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, activeItemIndex: { classPropertyName: "activeItemIndex", publicName: "activeItemIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeItemIndex: "activeItemIndexChange" }, host: { attributes: { "data-tui-version": "5.8.0-canary.fac3204" }, properties: { "attr.data-size": "size()", "attr.inert": "disabled() ? \"\" : null", "style.--t-anchor": "anchorId" } }, providers: [
93
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: TuiSegmented, isStandalone: true, selector: "tui-segmented", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, activeItemIndex: { classPropertyName: "activeItemIndex", publicName: "activeItemIndex", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { activeItemIndex: "activeItemIndexChange" }, host: { attributes: { "data-tui-version": "5.9.0" }, properties: { "attr.data-size": "size()", "attr.inert": "disabled() ? \"\" : null", "style.--t-anchor": "anchorId" } }, providers: [
94
94
  WaResizeObserverService,
95
95
  tuiBadgeNotificationOptionsProvider({ size: 's' }),
96
- ], usesOnChanges: true, hostDirectives: [{ directive: TuiSegmentedDirective }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){position:relative;display:flex;flex-shrink:0;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] tui-icon{font-size:1rem}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-typography-body-l);border-radius:var(--tui-radius-l)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=l]>*:before{block-size:1.25rem}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[inert]{opacity:var(--tui-disabled-opacity);pointer-events:none}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media(hover:hover)and (pointer:fine){tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.tui-segmented_active{anchor-name:var(--t-anchor)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]){position:absolute;inset:-.125rem;background:transparent!important}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]):before{transition-property:inset,inline-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;inset:var(--t-top) auto auto var(--t-left);inset:anchor(start);position-anchor:var(--t-anchor);block-size:var(--t-height);inline-size:var(--t-width);inline-size:anchor-size(inline);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}@supports not (anchor-name: --t-anchor){[dir=rtl] tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]):before{inset-inline:auto var(--t-left)}}[tuiTheme=dark] tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]),tui-segmented[tuiTheme=dark]:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){--tui-background-base: var(--tui-background-neutral-1-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
96
+ ], usesOnChanges: true, hostDirectives: [{ directive: TuiSegmentedDirective }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-segmented:where(*[data-tui-version=\"5.9.0\"]){position:relative;display:flex;flex-shrink:0;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=s] tui-icon{font-size:1rem}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-typography-body-l);border-radius:var(--tui-radius-l)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=l]>*:before{block-size:1.25rem}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[inert]{opacity:var(--tui-disabled-opacity);pointer-events:none}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media(hover:hover)and (pointer:fine){tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>.tui-segmented_active{anchor-name:var(--t-anchor)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]){position:absolute;inset:-.125rem;background:transparent!important}tui-segmented:where(*[data-tui-version=\"5.9.0\"]):before{transition-property:inset,inline-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;inset:var(--t-top) auto auto var(--t-left);inset:anchor(start);position-anchor:var(--t-anchor);block-size:var(--t-height);inline-size:var(--t-width);inline-size:anchor-size(inline);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}@supports not (anchor-name: --t-anchor){[dir=rtl] tui-segmented:where(*[data-tui-version=\"5.9.0\"]):before{inset-inline:auto var(--t-left)}}[tuiTheme=dark] tui-segmented:where(*[data-tui-version=\"5.9.0\"]),tui-segmented[tuiTheme=dark]:where(*[data-tui-version=\"5.9.0\"]){--tui-background-base: var(--tui-background-neutral-1-hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
97
97
  }
98
98
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: TuiSegmented, decorators: [{
99
99
  type: Component,
@@ -105,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
105
105
  '[attr.data-size]': 'size()',
106
106
  '[attr.inert]': 'disabled() ? "" : null',
107
107
  '[style.--t-anchor]': 'anchorId',
108
- }, styles: ["tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){position:relative;display:flex;flex-shrink:0;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=s] tui-icon{font-size:1rem}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-typography-body-l);border-radius:var(--tui-radius-l)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[data-size=l]>*:before{block-size:1.25rem}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])[inert]{opacity:var(--tui-disabled-opacity);pointer-events:none}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:focus-visible,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media(hover:hover)and (pointer:fine){tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label:active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]):active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>a.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>button.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>.tui-segmented_active{anchor-name:var(--t-anchor)}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"])>label>input:not([tuiRadio]){position:absolute;inset:-.125rem;background:transparent!important}tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]):before{transition-property:inset,inline-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;inset:var(--t-top) auto auto var(--t-left);inset:anchor(start);position-anchor:var(--t-anchor);block-size:var(--t-height);inline-size:var(--t-width);inline-size:anchor-size(inline);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}@supports not (anchor-name: --t-anchor){[dir=rtl] tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]):before{inset-inline:auto var(--t-left)}}[tuiTheme=dark] tui-segmented:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]),tui-segmented[tuiTheme=dark]:where(*[data-tui-version=\"5.8.0-canary.fac3204\"]){--tui-background-base: var(--tui-background-neutral-1-hover)}\n"] }]
108
+ }, styles: ["tui-segmented:where(*[data-tui-version=\"5.9.0\"]){position:relative;display:flex;flex-shrink:0;color:var(--tui-background-base);background:var(--tui-background-neutral-1);overflow:hidden;-webkit-mask-image:linear-gradient(#000,#000);mask-image:linear-gradient(#000,#000)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=s]{--t-padding: .5rem;--t-gap: .5rem;--t-margin: -.125rem;--t-height: var(--tui-height-s);font:var(--tui-typography-body-s);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=s] tui-icon{font-size:1rem}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=m]{--t-padding: .875rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-m);font:var(--tui-typography-body-m);border-radius:var(--tui-radius-m)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=l]{--t-padding: 1.25rem;--t-gap: 1rem;--t-margin: -.375rem;--t-height: var(--tui-height-l);font:var(--tui-typography-body-l);border-radius:var(--tui-radius-l)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[data-size=l]>*:before{block-size:1.25rem}tui-segmented:where(*[data-tui-version=\"5.9.0\"])[inert]{opacity:var(--tui-disabled-opacity);pointer-events:none}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]){transition-property:color,background,opacity,border-image;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;justify-content:center;block-size:var(--t-height);white-space:nowrap;gap:var(--t-gap);margin:0;padding:0 var(--t-padding);color:var(--tui-text-primary);overflow:hidden;cursor:pointer;font:inherit;border-radius:inherit;border:.125rem solid transparent;background-clip:padding-box;box-sizing:border-box;border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 0 0 100 .5;clip-path:polygon(-1rem calc(50% - .5rem),1px calc(50% - .5rem),1px 0,100% 0,100% 100%,1px 100%,1px calc(50% + .5rem),-1rem calc(50% + .5rem))}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio])>*{margin:0 var(--t-margin)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:focus-visible,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.25rem}@media(hover:hover)and (pointer:fine){tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover{background-color:var(--tui-background-neutral-1-hover)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:not(.tui-segmented_active):not(:active):hover+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):not(.tui-segmented_active):not(:active):hover+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label:active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]):active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label.tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]).tui-segmented_active,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>a.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>button.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label.tui-segmented_active+*,tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]).tui-segmented_active+*{border-image:linear-gradient(var(--tui-border-normal),transparent) 1 / 0 0 25% .5 / 100 0 0 .5}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>.tui-segmented_active{anchor-name:var(--t-anchor)}tui-segmented:where(*[data-tui-version=\"5.9.0\"])>label>input:not([tuiRadio]){position:absolute;inset:-.125rem;background:transparent!important}tui-segmented:where(*[data-tui-version=\"5.9.0\"]):before{transition-property:inset,inline-size;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;inset:var(--t-top) auto auto var(--t-left);inset:anchor(start);position-anchor:var(--t-anchor);block-size:var(--t-height);inline-size:var(--t-width);inline-size:anchor-size(inline);border-radius:inherit;background:currentColor;background-clip:padding-box;border:.125rem solid transparent;box-sizing:border-box;filter:drop-shadow(0 .25rem 1.25rem rgba(0,0,0,.1))}@supports not (anchor-name: --t-anchor){[dir=rtl] tui-segmented:where(*[data-tui-version=\"5.9.0\"]):before{inset-inline:auto var(--t-left)}}[tuiTheme=dark] tui-segmented:where(*[data-tui-version=\"5.9.0\"]),tui-segmented[tuiTheme=dark]:where(*[data-tui-version=\"5.9.0\"]){--tui-background-base: var(--tui-background-neutral-1-hover)}\n"] }]
109
109
  }] });
110
110
 
111
111
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-segmented.mjs","sources":["../../../projects/kit/components/segmented/segmented.directive.ts","../../../projects/kit/components/segmented/segmented.component.ts","../../../projects/kit/components/segmented/taiga-ui-kit-components-segmented.ts"],"sourcesContent":["import {\n type AfterContentChecked,\n type AfterContentInit,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {NgControl, RadioControlValueAccessor} from '@angular/forms';\nimport {RouterLinkActive} from '@angular/router';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {map, switchMap} from 'rxjs';\n\nimport {TuiSegmented} from './segmented.component';\n\n@Directive({host: {'(click)': 'update($event.target)'}})\nexport class TuiSegmentedDirective implements AfterContentChecked, AfterContentInit {\n private readonly component = inject(TuiSegmented);\n private readonly el = tuiInjectElement();\n private readonly links = contentChildren(RouterLinkActive);\n private readonly elements = contentChildren(RouterLinkActive, {read: ElementRef});\n private readonly controls = contentChildren(NgControl, {descendants: true});\n private readonly controls$ = toObservable(this.controls);\n\n private readonly radios = contentChildren(RadioControlValueAccessor, {\n descendants: true,\n });\n\n public ngAfterContentInit(): void {\n this.controls$\n .pipe(\n switchMap(([control]) => tuiControlValue(control)),\n map((value) => this.radios().findIndex((c) => c.value === value)),\n )\n .subscribe((index) => {\n this.component.update(index);\n });\n }\n\n public ngAfterContentChecked(): void {\n const index = this.links().findIndex(({isActive}) => isActive);\n\n if (index !== -1) {\n this.update(this.elements()[index]?.nativeElement || null);\n }\n }\n\n protected update(target: Element | null): void {\n this.component.update(\n Array.from(this.el.children).findIndex((tab) => tab.contains(target)),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n type OnChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_CSS} from '@ng-web-apis/common';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement, tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGenerateId, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiBadgeNotificationOptionsProvider} from '@taiga-ui/kit/components/badge-notification';\n\nimport {TuiSegmentedDirective} from './segmented.directive';\n\nexport const [TUI_SEGMENTED_OPTIONS, tuiSegmentedOptionsProvider] = tuiCreateOptions({\n size: 's',\n});\n\n@Component({\n selector: 'tui-segmented',\n template: '<ng-content />',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './segmented.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaResizeObserverService,\n tuiBadgeNotificationOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiSegmentedDirective],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n '[attr.inert]': 'disabled() ? \"\" : null',\n '[style.--t-anchor]': 'anchorId',\n },\n})\nexport class TuiSegmented implements OnChanges {\n private readonly legacy = !inject(WA_CSS).supports('anchor-name', '--t-anchor');\n private readonly el = tuiInjectElement();\n protected readonly anchorId = `--${tuiGenerateId()}`;\n\n protected readonly sub = inject(WaResizeObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n public readonly size = input(inject(TUI_SEGMENTED_OPTIONS).size);\n public readonly activeItemIndex = model(0);\n public readonly disabled = input(false);\n\n public ngOnChanges(): void {\n this.refresh();\n }\n\n public update(activeItemIndex: number): void {\n if (activeItemIndex === this.activeItemIndex() || activeItemIndex < 0) {\n return;\n }\n\n this.activeItemIndex.set(activeItemIndex);\n this.refresh();\n }\n\n private refresh(): void {\n const el = this.el.children.item(this.activeItemIndex());\n\n if (!tuiIsHTMLElement(el)) {\n return;\n }\n\n Array.from(this.el.children).forEach((e) =>\n e.classList.remove('tui-segmented_active'),\n );\n\n el.classList.add('tui-segmented_active');\n\n if (!this.legacy) {\n return;\n }\n\n const {offsetWidth, offsetLeft, offsetTop} = el;\n\n this.el.style.setProperty('--t-top', tuiPx(offsetTop));\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiSegmentedDirective"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-segmented.mjs","sources":["../../../projects/kit/components/segmented/segmented.directive.ts","../../../projects/kit/components/segmented/segmented.component.ts","../../../projects/kit/components/segmented/taiga-ui-kit-components-segmented.ts"],"sourcesContent":["import {\n type AfterContentChecked,\n type AfterContentInit,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {NgControl, RadioControlValueAccessor} from '@angular/forms';\nimport {RouterLinkActive} from '@angular/router';\nimport {tuiControlValue} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {map, switchMap} from 'rxjs';\n\nimport {TuiSegmented} from './segmented.component';\n\n@Directive({host: {'(click)': 'update($event.target)'}})\nexport class TuiSegmentedDirective implements AfterContentChecked, AfterContentInit {\n private readonly component = inject(TuiSegmented);\n private readonly el = tuiInjectElement();\n private readonly links = contentChildren(RouterLinkActive);\n private readonly elements = contentChildren(RouterLinkActive, {read: ElementRef});\n private readonly controls = contentChildren(NgControl, {descendants: true});\n private readonly controls$ = toObservable(this.controls);\n\n private readonly radios = contentChildren(RadioControlValueAccessor, {\n descendants: true,\n });\n\n public ngAfterContentInit(): void {\n this.controls$\n .pipe(\n switchMap(([control]) => tuiControlValue(control)),\n map((value) => this.radios().findIndex((c) => c.value === value)),\n )\n .subscribe((index) => {\n this.component.update(index);\n });\n }\n\n public ngAfterContentChecked(): void {\n const index = this.links().findIndex(({isActive}) => isActive);\n\n if (index !== -1) {\n this.update(this.elements()[index]?.nativeElement || null);\n }\n }\n\n protected update(target: Element | null): void {\n this.component.update(\n Array.from(this.el.children).findIndex((tab) => tab.contains(target)),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n type OnChanges,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {WA_CSS} from '@ng-web-apis/common';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement, tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGenerateId, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiBadgeNotificationOptionsProvider} from '@taiga-ui/kit/components/badge-notification';\n\nimport {TuiSegmentedDirective} from './segmented.directive';\n\nexport const [TUI_SEGMENTED_OPTIONS, tuiSegmentedOptionsProvider] = tuiCreateOptions({\n size: 's',\n});\n\n@Component({\n selector: 'tui-segmented',\n template: '<ng-content />',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import './segmented.style.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaResizeObserverService,\n tuiBadgeNotificationOptionsProvider({size: 's'}),\n ],\n hostDirectives: [TuiSegmentedDirective],\n host: {\n 'data-tui-version': TUI_VERSION,\n '[attr.data-size]': 'size()',\n '[attr.inert]': 'disabled() ? \"\" : null',\n '[style.--t-anchor]': 'anchorId',\n },\n})\nexport class TuiSegmented implements OnChanges {\n private readonly legacy = !inject(WA_CSS).supports('anchor-name', '--t-anchor');\n private readonly el = tuiInjectElement();\n\n protected readonly anchorId = `--${tuiGenerateId()}`;\n\n protected readonly sub = inject(WaResizeObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n public readonly size = input(inject(TUI_SEGMENTED_OPTIONS).size);\n public readonly activeItemIndex = model(0);\n public readonly disabled = input(false);\n\n public ngOnChanges(): void {\n this.refresh();\n }\n\n public update(activeItemIndex: number): void {\n if (activeItemIndex === this.activeItemIndex() || activeItemIndex < 0) {\n return;\n }\n\n this.activeItemIndex.set(activeItemIndex);\n this.refresh();\n }\n\n private refresh(): void {\n const el = this.el.children.item(this.activeItemIndex());\n\n if (!tuiIsHTMLElement(el)) {\n return;\n }\n\n Array.from(this.el.children).forEach((e) =>\n e.classList.remove('tui-segmented_active'),\n );\n\n el.classList.add('tui-segmented_active');\n\n if (!this.legacy) {\n return;\n }\n\n const {offsetWidth, offsetLeft, offsetTop} = el;\n\n this.el.style.setProperty('--t-top', tuiPx(offsetTop));\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiSegmentedDirective"],"mappings":"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"}