@taiga-ui/core 5.4.0 → 5.5.0-canary.e848761

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 (64) hide show
  1. package/fesm2022/taiga-ui-core-classes.mjs.map +1 -1
  2. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  3. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  4. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  5. package/fesm2022/taiga-ui-core-components-carousel.mjs.map +1 -1
  6. package/fesm2022/taiga-ui-core-components-cell.mjs +5 -5
  7. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  8. package/fesm2022/taiga-ui-core-components-checkbox.mjs +2 -2
  9. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -1
  10. package/fesm2022/taiga-ui-core-components-data-list.mjs +14 -14
  11. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  12. package/fesm2022/taiga-ui-core-components-error.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-core-components-expand.mjs.map +1 -1
  14. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  15. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  16. package/fesm2022/taiga-ui-core-components-input.mjs +3 -3
  17. package/fesm2022/taiga-ui-core-components-input.mjs.map +1 -1
  18. package/fesm2022/taiga-ui-core-components-label.mjs +4 -4
  19. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  20. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  21. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-loader.mjs +2 -5
  23. package/fesm2022/taiga-ui-core-components-loader.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  25. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  26. package/fesm2022/taiga-ui-core-components-radio.mjs +3 -3
  27. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -1
  28. package/fesm2022/taiga-ui-core-components-root.mjs +6 -4
  29. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-components-slider.mjs +11 -11
  32. package/fesm2022/taiga-ui-core-components-slider.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-core-components-spin-button.mjs +2 -2
  34. package/fesm2022/taiga-ui-core-components-spin-button.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-core-components-textfield.mjs +22 -20
  36. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-components-title.mjs +4 -4
  38. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-directives-appearance.mjs +5 -5
  40. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-directives-button-x.mjs +2 -2
  42. package/fesm2022/taiga-ui-core-directives-button-x.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-directives-group.mjs +7 -7
  44. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-directives-icons.mjs +7 -7
  46. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-pipes-filter-by-input.mjs.map +1 -1
  48. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-core-portals-alert.mjs +4 -4
  50. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  52. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +5 -5
  54. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  55. package/fesm2022/taiga-ui-core-portals-hint.mjs +5 -6
  56. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-core-portals-modal.mjs +5 -5
  58. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -1
  60. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  62. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  64. package/package.json +60 -60
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n public abstract getPosition(rect: DOMRect): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: Omit<T, 'type'>) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || Object.create(fallback, {type: {value: type}});\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {coerceArray} from '@angular/cdk/coercion';\nimport {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly drivers = coerceArray(\n inject(TuiDriver, {self: true, optional: true}) || [],\n );\n\n private readonly vehicles = coerceArray(\n inject(TuiVehicle, {self: true, optional: true}) || [],\n );\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-classes.mjs","sources":["../../../projects/core/classes/accessors.ts","../../../projects/core/classes/vehicle.ts","../../../projects/core/classes/driver.ts","../../../projects/core/classes/taiga-ui-core-classes.ts"],"sourcesContent":["import {\n type AbstractType,\n type ExistingProvider,\n type FactoryProvider,\n Optional,\n SkipSelf,\n type Type,\n} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\nexport abstract class TuiAccessor {\n public abstract readonly type: string;\n}\n\nexport abstract class TuiPositionAccessor extends TuiAccessor {\n public abstract getPosition(rect: DOMRect): TuiPoint;\n}\n\nexport abstract class TuiRectAccessor extends TuiAccessor {\n public abstract getClientRect(): DOMRect;\n}\n\nexport function tuiProvideAccessor<T extends TuiAccessor>(\n provide: AbstractType<T>,\n type: string,\n fallback: Type<T>,\n): FactoryProvider {\n return {\n provide,\n deps: [[new SkipSelf(), new Optional(), provide], fallback],\n useFactory: tuiFallbackAccessor<T>(type),\n };\n}\n\nexport function tuiFallbackAccessor<T extends TuiAccessor>(\n type: string,\n): (accessors: readonly T[] | null, fallback: Omit<T, 'type'>) => T {\n return (accessors, fallback) =>\n accessors?.find?.(\n (accessor) => accessor !== fallback && accessor.type === type,\n ) || Object.create(fallback, {type: {value: type}});\n}\n\nexport function tuiPositionAccessorFor(\n type: string,\n fallback: Type<TuiPositionAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiPositionAccessor, type, fallback);\n}\n\nexport function tuiRectAccessorFor(\n type: string,\n fallback: Type<TuiRectAccessor>,\n): FactoryProvider {\n return tuiProvideAccessor(TuiRectAccessor, type, fallback);\n}\n\nexport function tuiAsPositionAccessor(\n accessor: Type<TuiPositionAccessor>,\n): ExistingProvider {\n return tuiProvide(TuiPositionAccessor, accessor, true);\n}\n\nexport function tuiAsRectAccessor(accessor: Type<TuiRectAccessor>): ExistingProvider {\n return tuiProvide(TuiRectAccessor, accessor, true);\n}\n","import {type ExistingProvider, type Type} from '@angular/core';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\n\nexport abstract class TuiVehicle {\n public abstract readonly type: string;\n public abstract toggle(value: boolean): void;\n}\n\nexport function tuiAsVehicle(vehicle: Type<TuiVehicle>): ExistingProvider {\n return tuiProvide(TuiVehicle, vehicle, true);\n}\n","import {coerceArray} from '@angular/cdk/coercion';\nimport {\n type AfterViewInit,\n DestroyRef,\n Directive,\n type ExistingProvider,\n inject,\n type Type,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {distinctUntilChanged, merge, Observable} from 'rxjs';\n\nimport {TuiVehicle} from './vehicle';\n\nexport abstract class TuiDriver extends Observable<boolean> {\n public abstract readonly type: string;\n}\n\nexport function tuiAsDriver(driver: Type<TuiDriver>): ExistingProvider {\n return tuiProvide(TuiDriver, driver, true);\n}\n\n@Directive()\nexport abstract class TuiDriverDirective implements AfterViewInit {\n public abstract type: string;\n private readonly destroyRef = inject(DestroyRef);\n\n private readonly drivers = coerceArray(\n inject(TuiDriver, {self: true, optional: true}) || [],\n );\n\n private readonly vehicles = coerceArray(\n inject(TuiVehicle, {self: true, optional: true}) || [],\n );\n\n public ngAfterViewInit(): void {\n const vehicle = this.vehicles.find(({type}) => type === this.type);\n\n merge(...this.drivers.filter(({type}) => type === this.type))\n .pipe(distinctUntilChanged(), takeUntilDestroyed(this.destroyRef))\n .subscribe((value) => {\n vehicle?.toggle(value);\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -16,11 +16,11 @@ const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTT
16
16
 
17
17
  class Styles {
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-button-5.4.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.4.0\"]),[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>img,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-end=font]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-typography-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;font-variant-ligatures:none!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-button-5.5.0-canary.e848761"], ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]),[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>img,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-end=font]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-typography-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;font-variant-ligatures:none!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, decorators: [{
22
22
  type: Component,
23
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-button-${TUI_VERSION}`, styles: ["[tuiButton]:where(*[data-tui-version=\"5.4.0\"]),[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>img,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-icon-end=font]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-typography-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.4.0\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;font-variant-ligatures:none!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[tuiIconButton]:where(*[data-tui-version=\"5.4.0\"])[data-icon-start]:after{display:none}\n"] }]
23
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-button-${TUI_VERSION}`, styles: ["[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]),[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){--t-size: var(--tui-height-l);--t-radius: var(--tui-radius-l);--t-gap: .25rem;--t-padding: 0 1.25rem;--t-margin: -.25rem;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:inline-flex;align-items:center;flex-shrink:0;box-sizing:border-box;white-space:nowrap;overflow:hidden;vertical-align:middle;max-inline-size:100%;gap:calc(var(--t-gap, 0rem) - 2 * var(--t-margin, 0rem));block-size:var(--t-size);justify-content:center;border-radius:var(--t-radius);padding:var(--t-padding);-webkit-user-select:none;user-select:none;cursor:pointer;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>img,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]{--t-size: var(--tui-height-xs);--t-radius: var(--tui-radius-xs);--t-gap: .125rem;--t-padding: 0 .375rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]{--t-size: var(--tui-height-s);--t-radius: var(--tui-radius-s);--t-gap: .125rem;--t-padding: 0 .625rem;--t-margin: -.125rem;font:var(--tui-typography-body-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-icon-end=font]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]{--t-size: var(--tui-height-m);--t-radius: var(--tui-radius-m);--t-gap: .125rem;--t-padding: 0 1rem;--t-margin: -.375rem;font:var(--tui-typography-body-m);font-weight:700}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-start=font]:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-start=font]:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-end=font]:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-icon-end=font]:after{font-size:1.5rem}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]{--t-margin: 0rem !important;--t-line-height: 1rem;flex-direction:column;flex-shrink:1;block-size:auto;padding:.75rem;gap:.375rem;min-inline-size:5rem;white-space:pre-line;font:var(--tui-typography-ui-s)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){gap:0;inline-size:var(--t-size);min-inline-size:var(--t-size);font-size:0!important;font-variant-ligatures:none!important;padding:0}[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[tuiIconButton]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-icon-start]:after{display:none}\n"] }]
24
24
  }] });
25
25
  class TuiButton {
26
26
  constructor() {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/button.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-button-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQO,MAAM,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACI9B,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,wGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wuOAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,WAAA,EAAc,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,wuOAAA,CAAA,EAAA;;MAU5B,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAElC,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE,IAAA;+GAJY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;ACpCD;;AAEG;;;;"}
1
+ {"version":3,"file":"taiga-ui-core-components-button.mjs","sources":["../../../projects/core/components/button/button.options.ts","../../../projects/core/components/button/button.directive.ts","../../../projects/core/components/button/taiga-ui-core-components-button.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {type TuiSizeXL, type TuiSizeXS} from '@taiga-ui/core/types';\n\nexport interface TuiButtonOptions extends TuiAppearanceOptions {\n readonly size: TuiSizeXL | TuiSizeXS;\n}\n\nexport const TUI_BUTTON_DEFAULT_OPTIONS: TuiButtonOptions = {\n appearance: 'primary',\n size: 'l',\n};\n\nexport const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(\n TUI_BUTTON_DEFAULT_OPTIONS,\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n inject,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\n\nimport {TUI_BUTTON_OPTIONS} from './button.options';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/button.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-button-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',\n providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)],\n hostDirectives: [TuiWithAppearance, TuiWithIcons],\n host: {'[attr.data-size]': 'size()'},\n})\nexport class TuiButton {\n protected readonly nothing = tuiWithStyles(Styles);\n public readonly size = input(inject(TUI_BUTTON_OPTIONS).size);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAQO,MAAM,0BAA0B,GAAqB;AACxD,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,GAAG;;AAGN,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,GAAG,gBAAgB,CAC1E,0BAA0B;;ACI9B,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,uHAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,60QAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,WAAA,EAAc,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,60QAAA,CAAA,EAAA;;MAU5B,SAAS,CAAA;AANtB,IAAA,WAAA,GAAA;AAOuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;QAClC,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC;AAChE,IAAA;+GAHY,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,SAAS,2SAJP,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAIpD,SAAS,EAAA,UAAA,EAAA,CAAA;kBANrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uEAAuE;AACjF,oBAAA,SAAS,EAAE,CAAC,4BAA4B,CAAC,kBAAkB,CAAC,CAAC;AAC7D,oBAAA,cAAc,EAAE,CAAC,iBAAiB,EAAE,YAAY,CAAC;AACjD,oBAAA,IAAI,EAAE,EAAC,kBAAkB,EAAE,QAAQ,EAAC;AACvC,iBAAA;;;ACpCD;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-calendar.mjs","sources":["../../../projects/core/components/calendar/calendar.options.ts","../../../projects/core/components/calendar/calendar-sheet.options.ts","../../../projects/core/components/calendar/calendar-sheet.pipe.ts","../../../projects/core/components/calendar/order-week-days.pipe.ts","../../../projects/core/components/calendar/calendar-sheet.component.ts","../../../projects/core/components/calendar/calendar-sheet.template.html","../../../projects/core/components/calendar/calendar-spin.component.ts","../../../projects/core/components/calendar/calendar-spin.template.html","../../../projects/core/components/calendar/calendar-year.component.ts","../../../projects/core/components/calendar/calendar-year.template.html","../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {type Signal, signal} from '@angular/core';\nimport {type TuiDay, TuiDayOfWeek} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarOptions {\n readonly dayType: TuiHandler<TuiDay, string>;\n readonly weekStart: Signal<0 | 1 | 2 | 3 | 4 | 5 | 6>;\n}\n\nexport const TUI_CALENDAR_DEFAULT_OPTIONS: TuiCalendarOptions = {\n dayType: (day) => (day.isWeekend ? 'weekend' : 'weekday'),\n weekStart: signal(TuiDayOfWeek.Monday),\n};\n\nexport const [TUI_CALENDAR_OPTIONS, tuiCalendarOptionsProvider] = tuiCreateOptions(\n TUI_CALENDAR_DEFAULT_OPTIONS,\n);\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarSheetOptions {\n readonly rangeMode: boolean;\n}\n\nexport const TUI_CALENDAR_SHEET_DEFAULT_OPTIONS: TuiCalendarSheetOptions = {\n rangeMode: false,\n};\n\nexport const [TUI_CALENDAR_SHEET_OPTIONS, tuiCalendarSheetOptionsProvider] =\n tuiCreateOptions(TUI_CALENDAR_SHEET_DEFAULT_OPTIONS);\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {DAYS_IN_WEEK, TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\n\nconst CALENDAR_ROWS_COUNT = 6;\n\n@Pipe({name: 'tuiCalendarSheet'})\nexport class TuiCalendarSheetPipe implements PipeTransform {\n private readonly options = inject(TUI_CALENDAR_OPTIONS);\n private currentMonth: TuiMonth | null = null;\n private currentSheet: ReadonlyArray<readonly TuiDay[]> = [];\n\n public transform(\n month: TuiMonth,\n showAdjacentDays = false,\n ): ReadonlyArray<readonly TuiDay[]> {\n if (this.currentMonth?.monthSame(month)) {\n return this.currentSheet;\n }\n\n const sheet: Array<readonly TuiDay[]> = [];\n\n for (let rowIndex = 0; rowIndex < CALENDAR_ROWS_COUNT; rowIndex++) {\n const row: TuiDay[] = [];\n\n for (let colIndex = 0; colIndex < DAYS_IN_WEEK; colIndex++) {\n const day = getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek: this.options.weekStart(),\n });\n\n const isPrevMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year < relativeToMonth.year || day.month < relativeToMonth.month;\n\n const isNextMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year > relativeToMonth.year || day.month > relativeToMonth.month;\n\n if (isPrevMonthDay(day) && !showAdjacentDays) {\n continue;\n }\n\n if (isNextMonthDay(day) && !showAdjacentDays) {\n break;\n }\n\n row.push(day);\n }\n\n sheet.push(row);\n }\n\n this.currentSheet = sheet.filter((row) => row.length);\n this.currentMonth = month;\n\n return this.currentSheet;\n }\n}\n\n/**\n * Computes day of week offset of the beginning of the month\n */\nfunction getMonthStartDaysOffset(\n month: TuiMonth,\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n): number {\n const startMonthOffsetFromSunday = new Date(month.year, month.month, 1).getDay();\n\n return startMonthOffsetFromSunday >= firstDayOfWeek\n ? startMonthOffsetFromSunday - firstDayOfWeek\n : DAYS_IN_WEEK - (firstDayOfWeek - startMonthOffsetFromSunday);\n}\n\n/**\n * Calculated day on a calendar grid\n * @return resulting day on these coordinates (could exceed passed month)\n */\nfunction getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek,\n}: {\n /**\n * column in a calendar\n */\n colIndex: number;\n /**\n * first day of the week index (Sunday - 0, Saturday - 6)\n */\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n month: TuiMonth;\n /**\n * row in a calendar\n */\n rowIndex: number;\n}): TuiDay {\n ngDevMode && console.assert(Number.isInteger(rowIndex));\n ngDevMode && console.assert(tuiInRange(rowIndex, 0, 6));\n ngDevMode && console.assert(Number.isInteger(colIndex));\n ngDevMode && console.assert(tuiInRange(colIndex, 0, DAYS_IN_WEEK));\n\n let day =\n rowIndex * DAYS_IN_WEEK +\n colIndex -\n getMonthStartDaysOffset(month, firstDayOfWeek) +\n 1;\n\n if (day > month.daysCount) {\n day -= month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n}\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {map, type Observable} from 'rxjs';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\n\nfunction convertToSundayFirstWeekFormat(\n weekDaysNames: readonly string[],\n): readonly string[] {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [weekDaysNames[sundayIndex] || '', ...weekDaysNames.slice(0, sundayIndex)];\n}\n\n@Pipe({name: 'tuiOrderWeekDays'})\nexport class TuiOrderWeekDaysPipe implements PipeTransform {\n private readonly options = inject(TUI_CALENDAR_OPTIONS);\n\n public transform(\n mondayFirstWeekDays$: Observable<readonly string[]>,\n ): Observable<readonly string[]> {\n return mondayFirstWeekDays$.pipe(\n map(convertToSundayFirstWeekFormat),\n map((weekDays) => [\n ...weekDays.slice(this.options.weekStart()),\n ...weekDays.slice(0, this.options.weekStart()),\n ]),\n );\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiDay, TuiDayRange, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\nimport {TUI_CALENDAR_SHEET_OPTIONS} from './calendar-sheet.options';\nimport {TuiCalendarSheetPipe} from './calendar-sheet.pipe';\nimport {TuiOrderWeekDaysPipe} from './order-week-days.pipe';\n\nexport type TuiMarkerHandler = TuiHandler<TuiDay, [] | [string, string] | [string]>;\n\n@Component({\n selector: 'tui-calendar-sheet',\n imports: [\n AsyncPipe,\n TuiCalendarSheetPipe,\n TuiHovered,\n TuiMapperPipe,\n TuiOrderWeekDaysPipe,\n ],\n templateUrl: './calendar-sheet.template.html',\n styleUrl: './calendar-sheet.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[class._picking]': 'isRangePicking'},\n})\nexport class TuiCalendarSheet {\n private readonly options = inject(TUI_CALENDAR_SHEET_OPTIONS);\n private readonly today = TuiDay.currentLocal();\n\n protected readonly unorderedWeekDays$ = toObservable(inject(TUI_SHORT_WEEK_DAYS));\n protected readonly dayType = inject(TUI_CALENDAR_OPTIONS).dayType;\n\n public readonly month = input(TuiMonth.currentLocal());\n public readonly disabledItemHandler =\n input<TuiBooleanHandler<TuiDay>>(TUI_FALSE_HANDLER);\n\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly value = input<TuiDay | TuiDayRange | readonly TuiDay[] | null>(null);\n public readonly showAdjacent = input(true);\n public readonly hoveredItem = model<TuiDay | null>(null);\n\n public readonly dayClick = output<TuiDay>();\n\n public onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n public getItemRange(item: TuiDay): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay && !this.computedRangeMode) {\n return value.daySame(item) ? 'active' : null;\n }\n\n if (value instanceof TuiDayRange && value.isSingleDay) {\n return value.from.daySame(item) ? 'active' : null;\n }\n\n if (!(value instanceof TuiDay) && !(value instanceof TuiDayRange)) {\n return value.find((day) => day.daySame(item)) ? 'active' : null;\n }\n\n const range = this.getRange(value, this.hoveredItem());\n\n if (range.isSingleDay && range.from.daySame(item)) {\n return 'active';\n }\n\n if (range.from.daySame(item)) {\n return 'start';\n }\n\n if (range.to.daySame(item)) {\n return 'end';\n }\n\n return range.from.dayBefore(item) && range.to.dayAfter(item) ? 'middle' : null;\n }\n\n protected get computedRangeMode(): boolean {\n return this.options.rangeMode;\n }\n\n protected get isRangePicking(): boolean {\n return this.options.rangeMode && this.value() instanceof TuiDay;\n }\n\n protected readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n range: string | null,\n markerHandler: TuiMarkerHandler | null,\n ): [string, string] | [string] | null => {\n if (today || ['active', 'end', 'start'].includes(range || '')) {\n return null;\n }\n\n const markers = markerHandler?.(day);\n\n return markers?.length ? markers : null;\n };\n\n protected itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n protected itemIsUnavailable(item: TuiDay): boolean {\n return !this.month().monthSame(item);\n }\n\n private getRange(\n value: TuiDay | TuiDayRange,\n hoveredItem: TuiDay | null,\n ): TuiDayRange {\n if (value instanceof TuiDay) {\n return TuiDayRange.sort(value, hoveredItem ?? value);\n }\n\n return value.isSingleDay\n ? TuiDayRange.sort(value.from, hoveredItem ?? value.to)\n : value;\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem(), day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem.set(day);\n }\n}\n","<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n@let sheet = month() | tuiCalendarSheet: true;\n<div>\n @for (_ of '-'.repeat(sheet.length); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(sheet[rowIndex]?.length ?? 0); track $index) {\n @let item = sheet[rowIndex]?.[$index];\n @if (item && (!itemIsUnavailable(item) || showAdjacent())) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayType\"\n [class.t-cell_disabled]=\"disabledItemHandler()(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"dayClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler();\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiMonth,\n type TuiMonthLike,\n type TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-calendar-spin',\n imports: [TuiLink, TuiSpinButton],\n templateUrl: './calendar-spin.template.html',\n styleUrl: './calendar-spin.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSpin {\n protected readonly months = inject(TUI_MONTHS);\n\n public readonly value = model(TuiMonth.currentLocal());\n public readonly min = input<TuiMonth>(TUI_FIRST_DAY);\n public readonly max = input<TuiMonth>(TUI_LAST_DAY);\n\n public readonly yearClick = output<TuiYear>();\n\n protected append(date: TuiMonthLike): void {\n const value = this.value().append(date);\n const min = this.min();\n const max = this.max();\n\n if (min.monthSameOrAfter(value)) {\n this.updateValue(min);\n } else {\n this.updateValue(max.monthSameOrBefore(value) ? max : value);\n }\n }\n\n private updateValue(value: TuiMonth): void {\n if (this.value().monthSame(value)) {\n return;\n }\n\n this.value.set(value);\n }\n}\n","<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value().monthSameOrBefore(min())\"\n [rightDisabled]=\"value().monthSameOrAfter(max())\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ months()[value().month] }}\n @if (min().year === max().year) {\n {{ value().formattedYear }}\n } @else {\n <button\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"yearClick.emit(value())\"\n >\n {{ value().formattedYear }}\n </button>\n }\n</tui-spin-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n MAX_YEAR,\n MIN_YEAR,\n TuiDay,\n type TuiDayRange,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\nconst CURRENT_YEAR = TuiMonth.currentLocal().year;\n\n@Component({\n selector: 'tui-calendar-year',\n imports: [TuiHovered, TuiScrollIntoView],\n templateUrl: './calendar-year.template.html',\n styleUrl: './calendar-year.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendarYear)],\n host: {'[class._picking]': 'isRangePicking()'},\n})\nexport class TuiCalendarYear {\n private readonly hoveredItem = signal<number | null>(null);\n private readonly calculatedMin = computed(() => {\n const initial = this.initialItem() - LIMIT;\n const min = this.min() ?? MIN_YEAR;\n\n return min > initial ? min : initial;\n });\n\n private readonly calculatedMax = computed(() => {\n const initial = this.initialItem() + LIMIT;\n const max = this.max() ?? MAX_YEAR;\n\n return max < initial ? max + 1 : initial;\n });\n\n protected readonly isRangePicking = computed(\n (x = this.value()) =>\n this.rangeMode() && (x instanceof TuiDay || x instanceof TuiMonth),\n );\n\n protected readonly rows = computed(() =>\n Math.ceil((this.calculatedMax() - this.calculatedMin()) / ITEMS_IN_ROW),\n );\n\n public readonly rangeMode = input(false);\n public readonly disabledItemHandler = input<TuiBooleanHandler<number>>(\n inject(TUI_ITEMS_HANDLERS).disabledItemHandler(),\n );\n\n public readonly value = input<\n TuiDayRange | TuiMonthRange | TuiYear | number | readonly TuiDay[] | null\n >(null);\n\n public readonly min = input(MIN_YEAR, {\n transform: (x: number | null) => x ?? MIN_YEAR,\n });\n\n public readonly max = input(MAX_YEAR, {\n transform: (x: number | null) => x ?? MAX_YEAR,\n });\n\n public readonly initialItem = input(CURRENT_YEAR, {\n transform: (x: number | null) => x ?? CURRENT_YEAR,\n });\n\n public readonly yearClick = output<number>();\n\n public isDisabled(item: number): boolean {\n return (\n (this.max() && this.max() < item) ||\n (this.min() && this.min() > item) ||\n this.disabledItemHandler()(item)\n );\n }\n\n public getItemRange(item: number): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n const hoveredItem = this.hoveredItem();\n\n if (value instanceof TuiYear && value.year === item) {\n return 'active';\n }\n\n if (tuiIsNumber(value)) {\n return value === item ? 'active' : null;\n }\n\n if (!(value instanceof TuiMonthRange) && !(value instanceof TuiYear)) {\n return value?.find((day) => day.year === item) ? 'active' : null;\n }\n\n const hovered = this.isRangePicking() ? hoveredItem : null;\n const from = 'from' in value ? value.from?.year : value.year;\n const to = 'from' in value ? value.to.year : value.year;\n\n const min = Math.min(from, hovered ?? to);\n const max = Math.max(from, hovered ?? to);\n\n if (min === max && from === to && from === item) {\n return 'active';\n }\n\n if (min === item) {\n return 'start';\n }\n\n if (max === item) {\n return 'end';\n }\n\n return min < item && item < max ? 'middle' : null;\n }\n\n public onItemHovered(hovered: boolean, item: number): void {\n this.hoveredItem.set(hovered ? item : null);\n }\n\n protected scrollItemIntoView(item: number): boolean {\n return this.initialItem() === item;\n }\n\n protected getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin();\n }\n\n protected itemIsToday(item: number): boolean {\n return CURRENT_YEAR === item;\n }\n}\n","@for (_ of '-'.repeat(rows()); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getItem(rowIndex, $index);\n <div\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n }\n </div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n output,\n} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TUI_LAST_DISPLAYED_DAY,\n TuiDay,\n type TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\n\nimport {TuiCalendarSheet, type TuiMarkerHandler} from './calendar-sheet.component';\nimport {TUI_CALENDAR_SHEET_OPTIONS} from './calendar-sheet.options';\nimport {TuiCalendarSpin} from './calendar-spin.component';\nimport {TuiCalendarYear} from './calendar-year.component';\n\n@Component({\n selector: 'tui-calendar',\n imports: [\n TuiCalendarSheet,\n TuiCalendarSpin,\n TuiCalendarYear,\n TuiMapperPipe,\n TuiScrollbar,\n ],\n templateUrl: './calendar.template.html',\n styleUrl: './calendar.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendar)],\n host: {'(pointerdown.prevent.zoneless)': '0'},\n})\nexport class TuiCalendar {\n protected readonly options = inject(TUI_CALENDAR_SHEET_OPTIONS);\n\n public readonly disabledItemHandler = input<TuiBooleanHandler<TuiDay>>(\n inject(TUI_ITEMS_HANDLERS).disabledItemHandler(),\n );\n\n public readonly min = input(TUI_FIRST_DAY, {\n transform: (x: TuiDay | null) => x ?? TUI_FIRST_DAY,\n });\n\n public readonly max = input(TUI_LAST_DAY, {\n transform: (x: TuiDay | null) => x ?? TUI_LAST_DAY,\n });\n\n public readonly minViewedMonth = input<TuiMonth | null>(TUI_FIRST_DAY);\n public readonly maxViewedMonth = input<TuiMonth | null>(TUI_LAST_DAY);\n public readonly showAdjacent = input(true);\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly initialView = input<'month' | 'year'>('month');\n\n public readonly month = model(TuiMonth.currentLocal());\n public readonly hoveredItem = model<TuiDay | null>(null);\n public readonly value = model<TuiDay | TuiDayRange | readonly TuiDay[] | null>(null);\n\n public readonly dayClick = output<TuiDay>();\n\n protected readonly computedMinViewedMonth = computed(() => {\n const min = this.min();\n const minViewed = this.minViewedMonth() ?? TUI_FIRST_DAY;\n\n return minViewed.monthSameOrAfter(min) ? minViewed : min;\n });\n\n protected readonly computedMaxViewedMonth = computed(() => {\n const max = this.max();\n const maxViewed = this.maxViewedMonth() ?? TUI_LAST_DAY;\n\n return maxViewed.monthSameOrBefore(max) ? maxViewed : max;\n });\n\n protected readonly view = linkedSignal(() => this.initialView());\n\n protected readonly syncMonthFromValue = effect(() => {\n const value = this.value();\n\n if (\n this.showAdjacent() &&\n value instanceof TuiDay &&\n value.daySameOrBefore(TUI_LAST_DISPLAYED_DAY)\n ) {\n this.month.set(value);\n }\n });\n\n public onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n public onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n this.value.set(day);\n }\n\n public onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n protected readonly disabledItemHandlerMapper: TuiMapper<\n [TuiBooleanHandler<TuiDay>, TuiDay, TuiDay],\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min, max) => (item) =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n protected onPickerYearClick(year: number): void {\n this.view.set('month');\n this.updateViewedMonth(new TuiMonth(year, this.month().month));\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month().monthSame(month)) {\n return;\n }\n\n this.month.set(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem(), day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem.set(day);\n }\n}\n","@if (view() === 'year') {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month().year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth()\"\n [min]=\"computedMinViewedMonth()\"\n [value]=\"month()\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"view.set('year')\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledItemHandlerMapper : min() : max()\"\n [hoveredItem]=\"hoveredItem()\"\n [markerHandler]=\"markerHandler()\"\n [month]=\"month()\"\n [showAdjacent]=\"showAdjacent()\"\n [value]=\"value()\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-calendar.mjs","sources":["../../../projects/core/components/calendar/calendar.options.ts","../../../projects/core/components/calendar/calendar-sheet.options.ts","../../../projects/core/components/calendar/calendar-sheet.pipe.ts","../../../projects/core/components/calendar/order-week-days.pipe.ts","../../../projects/core/components/calendar/calendar-sheet.component.ts","../../../projects/core/components/calendar/calendar-sheet.template.html","../../../projects/core/components/calendar/calendar-spin.component.ts","../../../projects/core/components/calendar/calendar-spin.template.html","../../../projects/core/components/calendar/calendar-year.component.ts","../../../projects/core/components/calendar/calendar-year.template.html","../../../projects/core/components/calendar/calendar.component.ts","../../../projects/core/components/calendar/calendar.template.html","../../../projects/core/components/calendar/taiga-ui-core-components-calendar.ts"],"sourcesContent":["import {type Signal, signal} from '@angular/core';\nimport {type TuiDay, TuiDayOfWeek} from '@taiga-ui/cdk/date-time';\nimport {type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarOptions {\n readonly dayType: TuiHandler<TuiDay, string>;\n readonly weekStart: Signal<0 | 1 | 2 | 3 | 4 | 5 | 6>;\n}\n\nexport const TUI_CALENDAR_DEFAULT_OPTIONS: TuiCalendarOptions = {\n dayType: (day) => (day.isWeekend ? 'weekend' : 'weekday'),\n weekStart: signal(TuiDayOfWeek.Monday),\n};\n\nexport const [TUI_CALENDAR_OPTIONS, tuiCalendarOptionsProvider] = tuiCreateOptions(\n TUI_CALENDAR_DEFAULT_OPTIONS,\n);\n","import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiCalendarSheetOptions {\n readonly rangeMode: boolean;\n}\n\nexport const TUI_CALENDAR_SHEET_DEFAULT_OPTIONS: TuiCalendarSheetOptions = {\n rangeMode: false,\n};\n\nexport const [TUI_CALENDAR_SHEET_OPTIONS, tuiCalendarSheetOptionsProvider] =\n tuiCreateOptions(TUI_CALENDAR_SHEET_DEFAULT_OPTIONS);\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {DAYS_IN_WEEK, TuiDay, type TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {tuiInRange} from '@taiga-ui/cdk/utils/math';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\n\nconst CALENDAR_ROWS_COUNT = 6;\n\n@Pipe({name: 'tuiCalendarSheet'})\nexport class TuiCalendarSheetPipe implements PipeTransform {\n private readonly options = inject(TUI_CALENDAR_OPTIONS);\n private currentMonth: TuiMonth | null = null;\n private currentSheet: ReadonlyArray<readonly TuiDay[]> = [];\n\n public transform(\n month: TuiMonth,\n showAdjacentDays = false,\n ): ReadonlyArray<readonly TuiDay[]> {\n if (this.currentMonth?.monthSame(month)) {\n return this.currentSheet;\n }\n\n const sheet: Array<readonly TuiDay[]> = [];\n\n for (let rowIndex = 0; rowIndex < CALENDAR_ROWS_COUNT; rowIndex++) {\n const row: TuiDay[] = [];\n\n for (let colIndex = 0; colIndex < DAYS_IN_WEEK; colIndex++) {\n const day = getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek: this.options.weekStart(),\n });\n\n const isPrevMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year < relativeToMonth.year || day.month < relativeToMonth.month;\n\n const isNextMonthDay = (day: TuiDay, relativeToMonth = month): boolean =>\n day.year > relativeToMonth.year || day.month > relativeToMonth.month;\n\n if (isPrevMonthDay(day) && !showAdjacentDays) {\n continue;\n }\n\n if (isNextMonthDay(day) && !showAdjacentDays) {\n break;\n }\n\n row.push(day);\n }\n\n sheet.push(row);\n }\n\n this.currentSheet = sheet.filter((row) => row.length);\n this.currentMonth = month;\n\n return this.currentSheet;\n }\n}\n\n/**\n * Computes day of week offset of the beginning of the month\n */\nfunction getMonthStartDaysOffset(\n month: TuiMonth,\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6,\n): number {\n const startMonthOffsetFromSunday = new Date(month.year, month.month, 1).getDay();\n\n return startMonthOffsetFromSunday >= firstDayOfWeek\n ? startMonthOffsetFromSunday - firstDayOfWeek\n : DAYS_IN_WEEK - (firstDayOfWeek - startMonthOffsetFromSunday);\n}\n\n/**\n * Calculated day on a calendar grid\n * @return resulting day on these coordinates (could exceed passed month)\n */\nfunction getDayFromMonthRowCol({\n month,\n rowIndex,\n colIndex,\n firstDayOfWeek,\n}: {\n /**\n * column in a calendar\n */\n colIndex: number;\n /**\n * first day of the week index (Sunday - 0, Saturday - 6)\n */\n firstDayOfWeek: 0 | 1 | 2 | 3 | 4 | 5 | 6;\n month: TuiMonth;\n /**\n * row in a calendar\n */\n rowIndex: number;\n}): TuiDay {\n ngDevMode && console.assert(Number.isInteger(rowIndex));\n ngDevMode && console.assert(tuiInRange(rowIndex, 0, 6));\n ngDevMode && console.assert(Number.isInteger(colIndex));\n ngDevMode && console.assert(tuiInRange(colIndex, 0, DAYS_IN_WEEK));\n\n let day =\n rowIndex * DAYS_IN_WEEK +\n colIndex -\n getMonthStartDaysOffset(month, firstDayOfWeek) +\n 1;\n\n if (day > month.daysCount) {\n day -= month.daysCount;\n month = month.append({month: 1});\n }\n\n if (day <= 0) {\n month = month.append({month: -1});\n day = month.daysCount + day;\n }\n\n return new TuiDay(month.year, month.month, day);\n}\n","import {inject, Pipe, type PipeTransform} from '@angular/core';\nimport {map, type Observable} from 'rxjs';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\n\nfunction convertToSundayFirstWeekFormat(\n weekDaysNames: readonly string[],\n): readonly string[] {\n const sundayIndex = weekDaysNames.length - 1;\n\n return [weekDaysNames[sundayIndex] || '', ...weekDaysNames.slice(0, sundayIndex)];\n}\n\n@Pipe({name: 'tuiOrderWeekDays'})\nexport class TuiOrderWeekDaysPipe implements PipeTransform {\n private readonly options = inject(TUI_CALENDAR_OPTIONS);\n\n public transform(\n mondayFirstWeekDays$: Observable<readonly string[]>,\n ): Observable<readonly string[]> {\n return mondayFirstWeekDays$.pipe(\n map(convertToSundayFirstWeekFormat),\n map((weekDays) => [\n ...weekDays.slice(this.options.weekStart()),\n ...weekDays.slice(0, this.options.weekStart()),\n ]),\n );\n }\n}\n","import {AsyncPipe} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport {toObservable} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiDay, TuiDayRange, TuiMonth} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiHandler} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\n\nimport {TUI_CALENDAR_OPTIONS} from './calendar.options';\nimport {TUI_CALENDAR_SHEET_OPTIONS} from './calendar-sheet.options';\nimport {TuiCalendarSheetPipe} from './calendar-sheet.pipe';\nimport {TuiOrderWeekDaysPipe} from './order-week-days.pipe';\n\nexport type TuiMarkerHandler = TuiHandler<TuiDay, [] | [string, string] | [string]>;\n\n@Component({\n selector: 'tui-calendar-sheet',\n imports: [\n AsyncPipe,\n TuiCalendarSheetPipe,\n TuiHovered,\n TuiMapperPipe,\n TuiOrderWeekDaysPipe,\n ],\n templateUrl: './calendar-sheet.template.html',\n styleUrl: './calendar-sheet.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[class._picking]': 'isRangePicking'},\n})\nexport class TuiCalendarSheet {\n private readonly options = inject(TUI_CALENDAR_SHEET_OPTIONS);\n private readonly today = TuiDay.currentLocal();\n protected readonly unorderedWeekDays$ = toObservable(inject(TUI_SHORT_WEEK_DAYS));\n protected readonly dayType = inject(TUI_CALENDAR_OPTIONS).dayType;\n public readonly month = input(TuiMonth.currentLocal());\n\n public readonly disabledItemHandler =\n input<TuiBooleanHandler<TuiDay>>(TUI_FALSE_HANDLER);\n\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly value = input<TuiDay | TuiDayRange | readonly TuiDay[] | null>(null);\n public readonly showAdjacent = input(true);\n public readonly hoveredItem = model<TuiDay | null>(null);\n public readonly dayClick = output<TuiDay>();\n\n public onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n public getItemRange(item: TuiDay): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay && !this.computedRangeMode) {\n return value.daySame(item) ? 'active' : null;\n }\n\n if (value instanceof TuiDayRange && value.isSingleDay) {\n return value.from.daySame(item) ? 'active' : null;\n }\n\n if (!(value instanceof TuiDay) && !(value instanceof TuiDayRange)) {\n return value.find((day) => day.daySame(item)) ? 'active' : null;\n }\n\n const range = this.getRange(value, this.hoveredItem());\n\n if (range.isSingleDay && range.from.daySame(item)) {\n return 'active';\n }\n\n if (range.from.daySame(item)) {\n return 'start';\n }\n\n if (range.to.daySame(item)) {\n return 'end';\n }\n\n return range.from.dayBefore(item) && range.to.dayAfter(item) ? 'middle' : null;\n }\n\n protected get computedRangeMode(): boolean {\n return this.options.rangeMode;\n }\n\n protected get isRangePicking(): boolean {\n return this.options.rangeMode && this.value() instanceof TuiDay;\n }\n\n protected readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n range: string | null,\n markerHandler: TuiMarkerHandler | null,\n ): [string, string] | [string] | null => {\n if (today || ['active', 'end', 'start'].includes(range || '')) {\n return null;\n }\n\n const markers = markerHandler?.(day);\n\n return markers?.length ? markers : null;\n };\n\n protected itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n protected itemIsUnavailable(item: TuiDay): boolean {\n return !this.month().monthSame(item);\n }\n\n private getRange(\n value: TuiDay | TuiDayRange,\n hoveredItem: TuiDay | null,\n ): TuiDayRange {\n if (value instanceof TuiDay) {\n return TuiDayRange.sort(value, hoveredItem ?? value);\n }\n\n return value.isSingleDay\n ? TuiDayRange.sort(value.from, hoveredItem ?? value.to)\n : value;\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem(), day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem.set(day);\n }\n}\n","<div class=\"t-row t-row_weekday\">\n @for (day of unorderedWeekDays$ | tuiOrderWeekDays | async; track day) {\n <div\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n }\n</div>\n@let sheet = month() | tuiCalendarSheet: true;\n<div>\n @for (_ of '-'.repeat(sheet.length); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(sheet[rowIndex]?.length ?? 0); track $index) {\n @let item = sheet[rowIndex]?.[$index];\n @if (item && (!itemIsUnavailable(item) || showAdjacent())) {\n <div\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayType\"\n [class.t-cell_disabled]=\"disabledItemHandler()(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"dayClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n @if (\n item | tuiMapper: toMarkers : itemIsToday(item) : getItemRange(item) : markerHandler();\n as markers\n ) {\n <div class=\"t-dots\">\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n @if (markers.length > 1) {\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n }\n </div>\n }\n </div>\n }\n }\n </div>\n }\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n model,\n output,\n} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiMonth,\n type TuiMonthLike,\n type TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiSpinButton} from '@taiga-ui/core/components/spin-button';\nimport {TUI_MONTHS} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-calendar-spin',\n imports: [TuiLink, TuiSpinButton],\n templateUrl: './calendar-spin.template.html',\n styleUrl: './calendar-spin.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarSpin {\n protected readonly months = inject(TUI_MONTHS);\n public readonly value = model(TuiMonth.currentLocal());\n public readonly min = input<TuiMonth>(TUI_FIRST_DAY);\n public readonly max = input<TuiMonth>(TUI_LAST_DAY);\n public readonly yearClick = output<TuiYear>();\n\n protected append(date: TuiMonthLike): void {\n const value = this.value().append(date);\n const min = this.min();\n const max = this.max();\n\n if (min.monthSameOrAfter(value)) {\n this.updateValue(min);\n } else {\n this.updateValue(max.monthSameOrBefore(value) ? max : value);\n }\n }\n\n private updateValue(value: TuiMonth): void {\n if (this.value().monthSame(value)) {\n return;\n }\n\n this.value.set(value);\n }\n}\n","<tui-spin-button\n [focusable]=\"false\"\n [leftDisabled]=\"value().monthSameOrBefore(min())\"\n [rightDisabled]=\"value().monthSameOrAfter(max())\"\n (leftClick)=\"append({month: -1})\"\n (rightClick)=\"append({month: 1})\"\n>\n {{ months()[value().month] }}\n @if (min().year === max().year) {\n {{ value().formattedYear }}\n } @else {\n <button\n tabIndex=\"-1\"\n tuiLink\n type=\"button\"\n (click)=\"yearClick.emit(value())\"\n >\n {{ value().formattedYear }}\n </button>\n }\n</tui-spin-button>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output,\n signal,\n} from '@angular/core';\nimport {\n MAX_YEAR,\n MIN_YEAR,\n TuiDay,\n type TuiDayRange,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiHovered} from '@taiga-ui/cdk/directives/hovered';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {tuiIsNumber} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollIntoView} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\nconst CURRENT_YEAR = TuiMonth.currentLocal().year;\n\n@Component({\n selector: 'tui-calendar-year',\n imports: [TuiHovered, TuiScrollIntoView],\n templateUrl: './calendar-year.template.html',\n styleUrl: './calendar-year.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendarYear)],\n host: {'[class._picking]': 'isRangePicking()'},\n})\nexport class TuiCalendarYear {\n private readonly hoveredItem = signal<number | null>(null);\n\n private readonly calculatedMin = computed(() => {\n const initial = this.initialItem() - LIMIT;\n const min = this.min() ?? MIN_YEAR;\n\n return min > initial ? min : initial;\n });\n\n private readonly calculatedMax = computed(() => {\n const initial = this.initialItem() + LIMIT;\n const max = this.max() ?? MAX_YEAR;\n\n return max < initial ? max + 1 : initial;\n });\n\n protected readonly isRangePicking = computed(\n (x = this.value()) =>\n this.rangeMode() && (x instanceof TuiDay || x instanceof TuiMonth),\n );\n\n protected readonly rows = computed(() =>\n Math.ceil((this.calculatedMax() - this.calculatedMin()) / ITEMS_IN_ROW),\n );\n\n public readonly rangeMode = input(false);\n\n public readonly disabledItemHandler = input<TuiBooleanHandler<number>>(\n inject(TUI_ITEMS_HANDLERS).disabledItemHandler(),\n );\n\n public readonly value = input<\n TuiDayRange | TuiMonthRange | TuiYear | number | readonly TuiDay[] | null\n >(null);\n\n public readonly min = input(MIN_YEAR, {\n transform: (x: number | null) => x ?? MIN_YEAR,\n });\n\n public readonly max = input(MAX_YEAR, {\n transform: (x: number | null) => x ?? MAX_YEAR,\n });\n\n public readonly initialItem = input(CURRENT_YEAR, {\n transform: (x: number | null) => x ?? CURRENT_YEAR,\n });\n\n public readonly yearClick = output<number>();\n\n public isDisabled(item: number): boolean {\n return (\n (this.max() && this.max() < item) ||\n (this.min() && this.min() > item) ||\n this.disabledItemHandler()(item)\n );\n }\n\n public getItemRange(item: number): 'active' | 'end' | 'middle' | 'start' | null {\n const value = this.value();\n const hoveredItem = this.hoveredItem();\n\n if (value instanceof TuiYear && value.year === item) {\n return 'active';\n }\n\n if (tuiIsNumber(value)) {\n return value === item ? 'active' : null;\n }\n\n if (!(value instanceof TuiMonthRange) && !(value instanceof TuiYear)) {\n return value?.find((day) => day.year === item) ? 'active' : null;\n }\n\n const hovered = this.isRangePicking() ? hoveredItem : null;\n const from = 'from' in value ? value.from?.year : value.year;\n const to = 'from' in value ? value.to.year : value.year;\n const min = Math.min(from, hovered ?? to);\n const max = Math.max(from, hovered ?? to);\n\n if (min === max && from === to && from === item) {\n return 'active';\n }\n\n if (min === item) {\n return 'start';\n }\n\n if (max === item) {\n return 'end';\n }\n\n return min < item && item < max ? 'middle' : null;\n }\n\n public onItemHovered(hovered: boolean, item: number): void {\n this.hoveredItem.set(hovered ? item : null);\n }\n\n protected scrollItemIntoView(item: number): boolean {\n return this.initialItem() === item;\n }\n\n protected getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin();\n }\n\n protected itemIsToday(item: number): boolean {\n return CURRENT_YEAR === item;\n }\n}\n","@for (_ of '-'.repeat(rows()); track $index) {\n @let rowIndex = $index;\n <div\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n >\n @for (_ of '-'.repeat(4); track $index) {\n @let item = getItem(rowIndex, $index);\n <div\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n }\n </div>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n linkedSignal,\n model,\n output,\n} from '@angular/core';\nimport {\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TUI_LAST_DISPLAYED_DAY,\n TuiDay,\n type TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {TuiMapperPipe} from '@taiga-ui/cdk/pipes/mapper';\nimport {type TuiBooleanHandler, type TuiMapper} from '@taiga-ui/cdk/types';\nimport {tuiNullableSame} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiScrollbar} from '@taiga-ui/core/components/scrollbar';\nimport {TUI_ITEMS_HANDLERS} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiAsAuxiliary} from '@taiga-ui/core/tokens';\n\nimport {TuiCalendarSheet, type TuiMarkerHandler} from './calendar-sheet.component';\nimport {TUI_CALENDAR_SHEET_OPTIONS} from './calendar-sheet.options';\nimport {TuiCalendarSpin} from './calendar-spin.component';\nimport {TuiCalendarYear} from './calendar-year.component';\n\n@Component({\n selector: 'tui-calendar',\n imports: [\n TuiCalendarSheet,\n TuiCalendarSpin,\n TuiCalendarYear,\n TuiMapperPipe,\n TuiScrollbar,\n ],\n templateUrl: './calendar.template.html',\n styleUrl: './calendar.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsAuxiliary(TuiCalendar)],\n host: {'(pointerdown.prevent.zoneless)': '0'},\n})\nexport class TuiCalendar {\n protected readonly options = inject(TUI_CALENDAR_SHEET_OPTIONS);\n\n public readonly disabledItemHandler = input<TuiBooleanHandler<TuiDay>>(\n inject(TUI_ITEMS_HANDLERS).disabledItemHandler(),\n );\n\n public readonly min = input(TUI_FIRST_DAY, {\n transform: (x: TuiDay | null) => x ?? TUI_FIRST_DAY,\n });\n\n public readonly max = input(TUI_LAST_DAY, {\n transform: (x: TuiDay | null) => x ?? TUI_LAST_DAY,\n });\n\n public readonly minViewedMonth = input<TuiMonth | null>(TUI_FIRST_DAY);\n public readonly maxViewedMonth = input<TuiMonth | null>(TUI_LAST_DAY);\n public readonly showAdjacent = input(true);\n public readonly markerHandler = input<TuiMarkerHandler | null>(null);\n public readonly initialView = input<'month' | 'year'>('month');\n public readonly month = model(TuiMonth.currentLocal());\n public readonly hoveredItem = model<TuiDay | null>(null);\n public readonly value = model<TuiDay | TuiDayRange | readonly TuiDay[] | null>(null);\n public readonly dayClick = output<TuiDay>();\n\n protected readonly computedMinViewedMonth = computed(() => {\n const min = this.min();\n const minViewed = this.minViewedMonth() ?? TUI_FIRST_DAY;\n\n return minViewed.monthSameOrAfter(min) ? minViewed : min;\n });\n\n protected readonly computedMaxViewedMonth = computed(() => {\n const max = this.max();\n const maxViewed = this.maxViewedMonth() ?? TUI_LAST_DAY;\n\n return maxViewed.monthSameOrBefore(max) ? maxViewed : max;\n });\n\n protected readonly view = linkedSignal(() => this.initialView());\n\n protected readonly syncMonthFromValue = effect(() => {\n const value = this.value();\n\n if (\n this.showAdjacent() &&\n value instanceof TuiDay &&\n value.daySameOrBefore(TUI_LAST_DISPLAYED_DAY)\n ) {\n this.month.set(value);\n }\n });\n\n public onPaginationValueChange(month: TuiMonth): void {\n this.updateViewedMonth(month);\n }\n\n public onDayClick(day: TuiDay): void {\n this.dayClick.emit(day);\n this.value.set(day);\n }\n\n public onHoveredItemChange(day: TuiDay | null): void {\n this.updateHoveredDay(day);\n }\n\n protected readonly disabledItemHandlerMapper: TuiMapper<\n [TuiBooleanHandler<TuiDay>, TuiDay, TuiDay],\n TuiBooleanHandler<TuiDay>\n > = (disabledItemHandler, min, max) => (item) =>\n item.dayBefore(min) || item.dayAfter(max) || disabledItemHandler(item);\n\n protected onPickerYearClick(year: number): void {\n this.view.set('month');\n this.updateViewedMonth(new TuiMonth(year, this.month().month));\n }\n\n private updateViewedMonth(month: TuiMonth): void {\n if (this.month().monthSame(month)) {\n return;\n }\n\n this.month.set(month);\n }\n\n private updateHoveredDay(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem(), day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem.set(day);\n }\n}\n","@if (view() === 'year') {\n <tui-scrollbar\n automation-id=\"tui-calendar__scrollbar\"\n class=\"t-scrollbar\"\n >\n <tui-calendar-year\n automation-id=\"tui-calendar__year\"\n [initialItem]=\"month().year\"\n [max]=\"max().year\"\n [min]=\"min().year\"\n [rangeMode]=\"options.rangeMode\"\n [value]=\"value()\"\n (yearClick)=\"onPickerYearClick($event)\"\n />\n </tui-scrollbar>\n} @else {\n <tui-calendar-spin\n automation-id=\"tui-calendar__pagination\"\n class=\"t-pagination\"\n [max]=\"computedMaxViewedMonth()\"\n [min]=\"computedMinViewedMonth()\"\n [value]=\"month()\"\n (valueChange)=\"onPaginationValueChange($event)\"\n (yearClick)=\"view.set('year')\"\n />\n <tui-calendar-sheet\n automation-id=\"tui-calendar__calendar\"\n [disabledItemHandler]=\"disabledItemHandler() | tuiMapper: disabledItemHandlerMapper : min() : max()\"\n [hoveredItem]=\"hoveredItem()\"\n [markerHandler]=\"markerHandler()\"\n [month]=\"month()\"\n [showAdjacent]=\"showAdjacent()\"\n [value]=\"value()\"\n (dayClick)=\"onDayClick($event)\"\n (hoveredItemChange)=\"onHoveredItemChange($event)\"\n />\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-core-components-carousel.mjs","sources":["../../../projects/core/components/carousel/carousel.component.ts","../../../projects/core/components/carousel/carousel.component.html","../../../projects/core/components/carousel/carousel.directive.ts","../../../projects/core/components/carousel/carousel.ts","../../../projects/core/components/carousel/taiga-ui-core-components-carousel.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n ElementRef,\n inject,\n input,\n model,\n TemplateRef,\n} from '@angular/core';\nimport {\n WA_INTERSECTION_ROOT,\n WaIntersectionObserver,\n WaIntersectionObserverDirective,\n} from '@ng-web-apis/intersection-observer';\nimport {WA_IS_IOS} from '@ng-web-apis/platform';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TUI_REDUCED_MOTION} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-carousel',\n imports: [NgTemplateOutlet, WaIntersectionObserver],\n templateUrl: './carousel.component.html',\n styleUrl: './carousel.component.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)],\n hostDirectives: [WaIntersectionObserverDirective],\n host: {waIntersectionThreshold: '1'},\n})\nexport class TuiCarouselComponent implements AfterViewInit {\n private readonly el = tuiInjectElement();\n private readonly ios = inject(WA_IS_IOS);\n private readonly behavior = inject(TUI_REDUCED_MOTION) ? 'auto' : 'smooth';\n\n protected readonly math = Math;\n protected readonly template = contentChild.required(TuiItem, {read: TemplateRef});\n\n public readonly index = model(0);\n public readonly min = input(-Infinity);\n public readonly max = input(Infinity);\n\n public ngAfterViewInit(): void {\n if (this.index() > this.min()) {\n this.el.scrollLeft = this.d * this.el.clientWidth;\n }\n }\n\n public next(): void {\n this.el.scrollTo({left: this.d * this.el.scrollWidth, behavior: this.behavior});\n }\n\n public prev(): void {\n this.el.scrollTo({left: 0, behavior: this.behavior});\n }\n\n protected onIntersection(isIntersecting: boolean, step: number): void {\n const index = tuiClamp(this.index() + step, this.min(), this.max());\n\n if (isIntersecting) {\n if (this.ios && index !== this.index()) {\n this.el.style.overflow = 'hidden';\n }\n\n this.index.set(index);\n requestAnimationFrame(() => {\n this.el.style.overflow = '';\n\n if (this.index() > this.min() && this.index() < this.max()) {\n this.el.scrollLeft = this.d * this.el.clientWidth;\n }\n });\n }\n }\n\n private get d(): number {\n return this.el.matches('[dir=\"rtl\"] :scope') ? -1 : 1;\n }\n}\n","<span\n class=\"t-item\"\n (waIntersectionObservee)=\"onIntersection(!!$event[0]?.isIntersecting, -1)\"\n>\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: math.max(index() - 1, min())}\" />\n</span>\n@if (index() !== min() && index() !== max()) {\n <span class=\"t-item\">\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: index()}\" />\n </span>\n}\n<span\n class=\"t-item\"\n (waIntersectionObservee)=\"onIntersection(!!$event[0]?.isIntersecting, 1)\"\n>\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: math.min(index() + 1, max())}\" />\n</span>\n","import {Directive, effect, inject, input} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {WA_PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {combineLatest, fromEvent, map, merge, switchMap, takeWhile, timer} from 'rxjs';\n\nimport {TuiCarouselComponent} from './carousel.component';\n\n@Directive({\n selector: 'tui-carousel[duration]',\n exportAs: 'tuiCarousel',\n})\nexport class TuiCarouselDirective {\n private readonly el = tuiInjectElement();\n private readonly carousel = inject(TuiCarouselComponent);\n private readonly running$ = merge(\n fromEvent(this.el, 'mouseenter').pipe(map(TUI_FALSE_HANDLER)),\n fromEvent(this.el, 'touchstart').pipe(map(TUI_FALSE_HANDLER)),\n fromEvent(this.el, 'touchend').pipe(map(TUI_TRUE_HANDLER)),\n fromEvent(this.el, 'mouseleave').pipe(map(TUI_TRUE_HANDLER)),\n inject(WA_PAGE_VISIBILITY),\n );\n\n public readonly duration = input(0);\n public readonly progress = toSignal(\n combineLatest([\n toObservable(this.duration),\n toObservable(this.carousel.index),\n ]).pipe(\n switchMap(([duration]) =>\n this.running$.pipe(\n tuiIfMap(() =>\n timer(0, 100).pipe(\n map((i) => Math.min(100, ((i * 100) / duration) * 100)),\n takeWhile((percent) => percent < 100, true),\n ),\n ),\n ),\n ),\n ),\n {initialValue: 0},\n );\n\n protected readonly sync = effect(() => {\n if (this.progress() === 100) {\n this.carousel.next();\n }\n });\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\n\nexport const TuiCarousel = [TuiCarouselComponent, TuiCarouselDirective, TuiItem] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-carousel.mjs","sources":["../../../projects/core/components/carousel/carousel.component.ts","../../../projects/core/components/carousel/carousel.component.html","../../../projects/core/components/carousel/carousel.directive.ts","../../../projects/core/components/carousel/carousel.ts","../../../projects/core/components/carousel/taiga-ui-core-components-carousel.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n ElementRef,\n inject,\n input,\n model,\n TemplateRef,\n} from '@angular/core';\nimport {\n WA_INTERSECTION_ROOT,\n WaIntersectionObserver,\n WaIntersectionObserverDirective,\n} from '@ng-web-apis/intersection-observer';\nimport {WA_IS_IOS} from '@ng-web-apis/platform';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiProvide} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TUI_REDUCED_MOTION} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-carousel',\n imports: [NgTemplateOutlet, WaIntersectionObserver],\n templateUrl: './carousel.component.html',\n styleUrl: './carousel.component.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)],\n hostDirectives: [WaIntersectionObserverDirective],\n host: {waIntersectionThreshold: '1'},\n})\nexport class TuiCarouselComponent implements AfterViewInit {\n private readonly el = tuiInjectElement();\n private readonly ios = inject(WA_IS_IOS);\n private readonly behavior = inject(TUI_REDUCED_MOTION) ? 'auto' : 'smooth';\n protected readonly math = Math;\n protected readonly template = contentChild.required(TuiItem, {read: TemplateRef});\n public readonly index = model(0);\n public readonly min = input(-Infinity);\n public readonly max = input(Infinity);\n\n public ngAfterViewInit(): void {\n if (this.index() > this.min()) {\n this.el.scrollLeft = this.d * this.el.clientWidth;\n }\n }\n\n public next(): void {\n this.el.scrollTo({left: this.d * this.el.scrollWidth, behavior: this.behavior});\n }\n\n public prev(): void {\n this.el.scrollTo({left: 0, behavior: this.behavior});\n }\n\n protected onIntersection(isIntersecting: boolean, step: number): void {\n const index = tuiClamp(this.index() + step, this.min(), this.max());\n\n if (isIntersecting) {\n if (this.ios && index !== this.index()) {\n this.el.style.overflow = 'hidden';\n }\n\n this.index.set(index);\n requestAnimationFrame(() => {\n this.el.style.overflow = '';\n\n if (this.index() > this.min() && this.index() < this.max()) {\n this.el.scrollLeft = this.d * this.el.clientWidth;\n }\n });\n }\n }\n\n private get d(): number {\n return this.el.matches('[dir=\"rtl\"] :scope') ? -1 : 1;\n }\n}\n","<span\n class=\"t-item\"\n (waIntersectionObservee)=\"onIntersection(!!$event[0]?.isIntersecting, -1)\"\n>\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: math.max(index() - 1, min())}\" />\n</span>\n@if (index() !== min() && index() !== max()) {\n <span class=\"t-item\">\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: index()}\" />\n </span>\n}\n<span\n class=\"t-item\"\n (waIntersectionObservee)=\"onIntersection(!!$event[0]?.isIntersecting, 1)\"\n>\n <ng-container *ngTemplateOutlet=\"template(); context: {$implicit: math.min(index() + 1, max())}\" />\n</span>\n","import {Directive, effect, inject, input} from '@angular/core';\nimport {toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {WA_PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiIfMap} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {combineLatest, fromEvent, map, merge, switchMap, takeWhile, timer} from 'rxjs';\n\nimport {TuiCarouselComponent} from './carousel.component';\n\n@Directive({\n selector: 'tui-carousel[duration]',\n exportAs: 'tuiCarousel',\n})\nexport class TuiCarouselDirective {\n private readonly el = tuiInjectElement();\n private readonly carousel = inject(TuiCarouselComponent);\n\n private readonly running$ = merge(\n fromEvent(this.el, 'mouseenter').pipe(map(TUI_FALSE_HANDLER)),\n fromEvent(this.el, 'touchstart').pipe(map(TUI_FALSE_HANDLER)),\n fromEvent(this.el, 'touchend').pipe(map(TUI_TRUE_HANDLER)),\n fromEvent(this.el, 'mouseleave').pipe(map(TUI_TRUE_HANDLER)),\n inject(WA_PAGE_VISIBILITY),\n );\n\n public readonly duration = input(0);\n\n public readonly progress = toSignal(\n combineLatest([\n toObservable(this.duration),\n toObservable(this.carousel.index),\n ]).pipe(\n switchMap(([duration]) =>\n this.running$.pipe(\n tuiIfMap(() =>\n timer(0, 100).pipe(\n map((i) => Math.min(100, ((i * 100) / duration) * 100)),\n takeWhile((percent) => percent < 100, true),\n ),\n ),\n ),\n ),\n ),\n {initialValue: 0},\n );\n\n protected readonly sync = effect(() => {\n if (this.progress() === 100) {\n this.carousel.next();\n }\n });\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\n\nexport const TuiCarousel = [TuiCarouselComponent, TuiCarouselDirective, TuiItem] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -9,11 +9,11 @@ const [TUI_CELL_OPTIONS, tuiCellOptionsProvider] = tuiCreateOptions({ height: 'n
9
9
 
10
10
  class Styles {
11
11
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-cell-5.4.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiCell]:where(*[data-tui-version=\"5.4.0\"]){--t-pad: .125rem 1rem;--t-radius: var(--tui-radius-s);transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;text-align:start;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-pad);min-block-size:var(--t-block-size);border-radius:var(--t-radius)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(button,label):not(:disabled):active{background:var(--tui-background-neutral-1)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):disabled,[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):disabled>*:not([tuiTooltip]),[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-block-size);align-items:center;align-self:stretch}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions]{position:absolute;z-index:1;inset-inline-end:0;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:-.625rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]{--t-block-size: calc(var(--tui-height-s) - .125rem);--t-pad: .1875rem 1rem;gap:.5rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-height=spacious]{--t-pad: .4375rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-height=compact]{--t-block-size: calc(var(--tui-height-s) - .25rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-typography-ui-s);gap:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-typography-body-m);font-size:.5625rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]{--t-block-size: calc(var(--tui-height-m) - .75rem);--t-pad: .375rem 1rem;gap:.75rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-height=spacious]{--t-pad: 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-height=compact]{--t-block-size: calc(var(--tui-height-m) - .5rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-s);gap:.125rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: .5rem 1rem;--t-radius: var(--tui-radius-l);gap:1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l][data-height=spacious]{--t-pad: 1.25rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l][data-height=compact]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-typography-body-m);font-weight:700;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions]~*{opacity:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] a,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] label{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}@media (hover: hover) and (pointer: fine){a[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.20", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-cell-5.5.0-canary.e848761"], ngImport: i0, template: '', isInline: true, styles: ["[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){--t-pad: .125rem 1rem;--t-radius: var(--tui-radius-s);transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;text-align:start;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-pad);min-block-size:var(--t-block-size);border-radius:var(--t-radius)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(button,label):not(:disabled):active{background:var(--tui-background-neutral-1)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):disabled,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):disabled>*:not([tuiTooltip]),[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-block-size);align-items:center;align-self:stretch}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions]{position:absolute;z-index:1;inset-inline-end:0;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:-.625rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]{--t-block-size: calc(var(--tui-height-s) - .125rem);--t-pad: .1875rem 1rem;gap:.5rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-height=spacious]{--t-pad: .4375rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-height=compact]{--t-block-size: calc(var(--tui-height-s) - .25rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-typography-ui-s);gap:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-typography-body-m);font-size:.5625rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]{--t-block-size: calc(var(--tui-height-m) - .75rem);--t-pad: .375rem 1rem;gap:.75rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-height=spacious]{--t-pad: 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-height=compact]{--t-block-size: calc(var(--tui-height-m) - .5rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-s);gap:.125rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: .5rem 1rem;--t-radius: var(--tui-radius-l);gap:1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l][data-height=spacious]{--t-pad: 1.25rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l][data-height=compact]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-typography-body-m);font-weight:700;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions]~*{opacity:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] a,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] label{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}@media (hover: hover) and (pointer: fine){a[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
13
  }
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: Styles, decorators: [{
15
15
  type: Component,
16
- args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-cell-${TUI_VERSION}`, styles: ["[tuiCell]:where(*[data-tui-version=\"5.4.0\"]){--t-pad: .125rem 1rem;--t-radius: var(--tui-radius-s);transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;text-align:start;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-pad);min-block-size:var(--t-block-size);border-radius:var(--t-radius)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(button,label):not(:disabled):active{background:var(--tui-background-neutral-1)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):disabled,[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):disabled>*:not([tuiTooltip]),[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-block-size);align-items:center;align-self:stretch}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions]{position:absolute;z-index:1;inset-inline-end:0;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]) tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:-.625rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]{--t-block-size: calc(var(--tui-height-s) - .125rem);--t-pad: .1875rem 1rem;gap:.5rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-height=spacious]{--t-pad: .4375rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s][data-height=compact]{--t-block-size: calc(var(--tui-height-s) - .25rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-typography-ui-s);gap:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-typography-body-m);font-size:.5625rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]{--t-block-size: calc(var(--tui-height-m) - .75rem);--t-pad: .375rem 1rem;gap:.75rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-height=spacious]{--t-pad: 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m][data-height=compact]{--t-block-size: calc(var(--tui-height-m) - .5rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-s);gap:.125rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: .5rem 1rem;--t-radius: var(--tui-radius-l);gap:1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l][data-height=spacious]{--t-pad: 1.25rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l][data-height=compact]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.4.0\"])[data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-typography-body-m);font-weight:700;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions]~*{opacity:0}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] a,[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover [tuiCellActions] label{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}@media (hover: hover) and (pointer: fine){a[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:where(*[data-tui-version=\"5.4.0\"]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"] }]
16
+ args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-cell-${TUI_VERSION}`, styles: ["[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]){--t-pad: .125rem 1rem;--t-radius: var(--tui-radius-s);transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;position:relative;display:flex;align-items:center;text-align:start;box-sizing:content-box;isolation:isolate;color:var(--tui-text-primary);padding:var(--t-pad);min-block-size:var(--t-block-size);border-radius:var(--t-radius)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(button,label):not(:disabled):active{background:var(--tui-background-neutral-1)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):disabled,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-state=disabled]{opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):disabled>*:not([tuiTooltip]),[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-state=disabled]>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(label):has(input:disabled){opacity:initial;pointer-events:none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):is(label):has(input:disabled)>*:not([tuiTooltip]){opacity:var(--tui-disabled-opacity)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiAccessories]{position:relative;display:flex;max-block-size:var(--t-block-size);align-items:center;align-self:stretch}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions]{position:absolute;z-index:1;inset-inline-end:0;padding-inline-end:inherit;--t-group-mask: none;--t-group-mask-end: none;--t-group-mask-start: none}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions]~*{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] a{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;opacity:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] button:focus-visible,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiCellActions][tuiCellActions] a:focus-visible{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiSubtitle]{display:flex;align-items:center;gap:.25rem;color:var(--tui-text-secondary)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]{flex-shrink:7;margin-inline-end:auto;align-items:normal;text-align:start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]~[tuiTitle]{flex-shrink:3;margin-inline-end:0;text-align:end;align-items:flex-end}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) [tuiTitle]~[tuiTitle][tuiFade]{align-items:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]) tui-badge-notification[data-size=xs]{position:absolute;top:50%;transform:translateY(-50%);inset-inline-start:-.625rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]{--t-block-size: calc(var(--tui-height-s) - .125rem);--t-pad: .1875rem 1rem;gap:.5rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-height=spacious]{--t-pad: .4375rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s][data-height=compact]{--t-block-size: calc(var(--tui-height-s) - .25rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] [tuiTitle]{max-block-size:100%;font:var(--tui-typography-ui-s);gap:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=s]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 1.5rem;font:var(--tui-typography-body-m);font-size:.5625rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]{--t-block-size: calc(var(--tui-height-m) - .75rem);--t-pad: .375rem 1rem;gap:.75rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-height=spacious]{--t-pad: 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m][data-height=compact]{--t-block-size: calc(var(--tui-height-m) - .5rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m] [tuiTitle]{font:var(--tui-typography-ui-s);gap:.125rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m] [tuiSubtitle]{font:var(--tui-typography-ui-2xs)}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=m]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2rem;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: .5rem 1rem;--t-radius: var(--tui-radius-l);gap:1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l][data-height=spacious]{--t-pad: 1.25rem 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l][data-height=compact]{--t-block-size: calc(var(--tui-height-l) - 1rem);--t-pad: 0 1rem}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>tui-avatar-stack [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAccessories] [tuiAvatar],[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"])[data-size=l]>[tuiAccessories] tui-avatar-stack [tuiAvatar]{--t-size: 2.5rem;font:var(--tui-typography-body-m);font-weight:700;align-self:flex-start}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions]~*{opacity:0}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] button,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] a,[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover [tuiCellActions] label{opacity:1}[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):focus-visible{outline:.125rem solid var(--tui-border-focus);outline-offset:-.125rem}@media (hover: hover) and (pointer: fine){a[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]),button[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]),label[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:disabled,[data-state=disabled]){background:var(--tui-background-neutral-1);cursor:pointer}label[tuiCell]:where(*[data-tui-version=\"5.5.0-canary.e848761\"]):hover:not(:has(input:disabled)){background:var(--tui-background-neutral-1);cursor:pointer}}\n"] }]
17
17
  }] });
18
18
  class TuiCell {
19
19
  constructor() {
@@ -23,7 +23,7 @@ class TuiCell {
23
23
  this.height = input(this.options.height, { alias: 'tuiCellHeight' });
24
24
  }
25
25
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
26
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiCell, isStandalone: true, selector: "[tuiCell]:not(ng-template)", inputs: { size: { classPropertyName: "size", publicName: "tuiCell", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "tuiCellHeight", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiCell": "", "data-tui-version": "5.4.0" }, properties: { "attr.data-size": "size() || options.size || \"l\"", "attr.data-height": "height()" } }, providers: [tuiButtonOptionsProvider({ size: 's' })], ngImport: i0 }); }
26
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiCell, isStandalone: true, selector: "[tuiCell]:not(ng-template)", inputs: { size: { classPropertyName: "size", publicName: "tuiCell", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "tuiCellHeight", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-tui-version": "5.5.0-canary.e848761", "tuiCell": "" }, properties: { "attr.data-height": "height()", "attr.data-size": "size() || options.size || \"l\"" } }, providers: [tuiButtonOptionsProvider({ size: 's' })], ngImport: i0 }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCell, decorators: [{
29
29
  type: Directive,
@@ -31,10 +31,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImpo
31
31
  selector: '[tuiCell]:not(ng-template)',
32
32
  providers: [tuiButtonOptionsProvider({ size: 's' })],
33
33
  host: {
34
- tuiCell: '',
35
34
  'data-tui-version': TUI_VERSION,
36
- '[attr.data-size]': 'size() || options.size || "l"',
35
+ tuiCell: '',
37
36
  '[attr.data-height]': 'height()',
37
+ '[attr.data-size]': 'size() || options.size || "l"',
38
38
  },
39
39
  }]
40
40
  }] });