@taiga-ui/core 5.0.0 → 5.1.0-canary.71f34cd

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 (72) hide show
  1. package/components/icon/icon.pipe.d.ts +1 -2
  2. package/components/textfield/textfield-content.directive.d.ts +6 -1
  3. package/fesm2022/taiga-ui-core-classes.mjs +3 -3
  4. package/fesm2022/taiga-ui-core-components-button.mjs +7 -7
  5. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  6. package/fesm2022/taiga-ui-core-components-calendar.mjs +18 -18
  7. package/fesm2022/taiga-ui-core-components-carousel.mjs +7 -7
  8. package/fesm2022/taiga-ui-core-components-carousel.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-core-components-cell.mjs +7 -7
  10. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-core-components-checkbox.mjs +4 -4
  12. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-core-components-data-list.mjs +20 -20
  14. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-core-components-error.mjs +9 -9
  16. package/fesm2022/taiga-ui-core-components-expand.mjs +3 -3
  17. package/fesm2022/taiga-ui-core-components-icon.mjs +7 -7
  18. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-core-components-input.mjs +6 -6
  20. package/fesm2022/taiga-ui-core-components-label.mjs +7 -7
  21. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  22. package/fesm2022/taiga-ui-core-components-link.mjs +7 -7
  23. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  24. package/fesm2022/taiga-ui-core-components-loader.mjs +3 -3
  25. package/fesm2022/taiga-ui-core-components-notification.mjs +16 -16
  26. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-core-components-radio.mjs +7 -7
  28. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-components-root.mjs +3 -3
  30. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +21 -21
  32. package/fesm2022/taiga-ui-core-components-slider.mjs +16 -17
  33. package/fesm2022/taiga-ui-core-components-slider.mjs.map +1 -1
  34. package/fesm2022/taiga-ui-core-components-spin-button.mjs +3 -3
  35. package/fesm2022/taiga-ui-core-components-textfield.mjs +41 -34
  36. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-components-title.mjs +7 -7
  38. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-directives-appearance.mjs +10 -10
  40. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-directives-button-x.mjs +3 -3
  42. package/fesm2022/taiga-ui-core-directives-date-format.mjs +3 -3
  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 +10 -10
  46. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-core-directives-items-handlers.mjs +9 -9
  48. package/fesm2022/taiga-ui-core-directives-number-format.mjs +3 -3
  49. package/fesm2022/taiga-ui-core-pipes-filter-by-input.mjs +3 -3
  50. package/fesm2022/taiga-ui-core-pipes-format-number.mjs +4 -4
  51. package/fesm2022/taiga-ui-core-pipes-format-number.mjs.map +1 -1
  52. package/fesm2022/taiga-ui-core-portals-alert.mjs +10 -10
  53. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  54. package/fesm2022/taiga-ui-core-portals-dialog.mjs +13 -13
  55. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  56. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +57 -57
  57. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  58. package/fesm2022/taiga-ui-core-portals-hint.mjs +36 -36
  59. package/fesm2022/taiga-ui-core-portals-modal.mjs +8 -8
  60. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-core-portals-popup.mjs +11 -10
  62. package/fesm2022/taiga-ui-core-portals-popup.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-core-services.mjs +6 -6
  64. package/fesm2022/taiga-ui-core-tokens.mjs +17 -11
  65. package/fesm2022/taiga-ui-core-tokens.mjs.map +1 -1
  66. package/fesm2022/taiga-ui-core-utils-format.mjs +4 -2
  67. package/fesm2022/taiga-ui-core-utils-format.mjs.map +1 -1
  68. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs +5 -1
  69. package/fesm2022/taiga-ui-core-utils-miscellaneous.mjs.map +1 -1
  70. package/package.json +18 -18
  71. package/tokens/number-format.d.ts +1 -0
  72. package/tokens/validation-errors.d.ts +4 -2
@@ -1,8 +1,7 @@
1
1
  import { type PipeTransform } from '@angular/core';
2
- import { type TuiStringHandler } from '@taiga-ui/cdk/types';
3
2
  import * as i0 from "@angular/core";
4
3
  export declare class TuiIconPipe implements PipeTransform {
5
- readonly transform: TuiStringHandler<string>;
4
+ readonly transform: import("@taiga-ui/cdk/types").TuiStringHandler<string>;
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiIconPipe, never>;
7
6
  static ɵpipe: i0.ɵɵPipeDeclaration<TuiIconPipe, "tuiIcon", true>;
8
7
  }
@@ -1,6 +1,11 @@
1
- import { type DoCheck, type OnDestroy } from '@angular/core';
1
+ import { type DoCheck, InjectionToken, type OnDestroy, type Type, type ValueProvider } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ export declare const TUI_TEXTFIELD_CONTENT: InjectionToken<Type<any>>;
4
+ export declare function tuiAsTextfieldContent(useValue: Type<any>): ValueProvider;
3
5
  export declare class TuiTextfieldContent implements DoCheck, OnDestroy {
6
+ private readonly vcr;
7
+ private readonly options;
8
+ private readonly content;
4
9
  private readonly ref;
5
10
  ngDoCheck(): void;
6
11
  ngOnDestroy(): void;
@@ -59,10 +59,10 @@ class TuiDriverDirective {
59
59
  vehicle?.toggle(value);
60
60
  });
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiDriverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiDriverDirective, isStandalone: true, ngImport: i0 }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiDriverDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.20", type: TuiDriverDirective, isStandalone: true, ngImport: i0 }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiDriverDirective, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiDriverDirective, decorators: [{
66
66
  type: Directive
67
67
  }] });
68
68
 
@@ -15,22 +15,22 @@ const TUI_BUTTON_DEFAULT_OPTIONS = {
15
15
  const [TUI_BUTTON_OPTIONS, tuiButtonOptionsProvider] = tuiCreateOptions(TUI_BUTTON_DEFAULT_OPTIONS);
16
16
 
17
17
  class Styles {
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-button-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.0.0\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
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.1.0-canary.71f34cd"], ngImport: i0, template: '', isInline: true, styles: ["[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]),[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]){--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.1.0-canary.71f34cd\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>img,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]){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.1.0-canary.71f34cd\"])[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-icon-start]:after{display:none}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
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.0.0\"]),[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>img,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.0.0\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.0.0\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.0.0\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.0.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.0.0\"])[tuiIconButton]:where(*[data-tui-version=\"5.0.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.1.0-canary.71f34cd\"]),[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]){--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.1.0-canary.71f34cd\"])>img,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>img,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiAvatar],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiAvatar],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-badge,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>tui-badge,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiBadge],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiBadge],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiRadio],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiRadio],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiSwitch],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiSwitch],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiCheckbox],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>[tuiCheckbox],[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiIcons]:after{margin:var(--t-margin)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader .t-text,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])>.t-loader .t-text{position:absolute}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[data-size=xs] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=xs]:after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[data-size=s] tui-icon,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s] tui-icon,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=s]:not([tuiIconButton][data-appearance=icon],[tuiIconButton][data-appearance^=action]):after{font-size:1rem}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-size=m],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])._loading,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading{--tui-disabled-opacity: 1;-webkit-text-fill-color:transparent}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>*,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>*,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:before,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:before,[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:after,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading:after{opacity:0}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>.t-loader,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])._loading>.t-loader{opacity:1}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiButtonVertical],[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[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.1.0-canary.71f34cd\"])[tuiButtonVertical]>*,[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[tuiButtonVertical]>*{max-block-size:calc(var(--t-line-height) * 2)}[tuiButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]):is(a):not([href]),[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]):is(a):not([href]){opacity:var(--tui-disabled-opacity);pointer-events:none}[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"]){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.1.0-canary.71f34cd\"])[tuiIconButton]:where(*[data-tui-version=\"5.1.0-canary.71f34cd\"])[data-icon-start]:after{display:none}\n"] }]
24
24
  }] });
25
25
  class TuiButton {
26
26
  constructor() {
27
27
  this.nothing = tuiWithStyles(Styles);
28
28
  this.size = input(inject(TUI_BUTTON_OPTIONS).size);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiButton, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
31
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiButton, isStandalone: true, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: [tuiAppearanceOptionsProvider(TUI_BUTTON_OPTIONS)], hostDirectives: [{ directive: i1.TuiWithAppearance }, { directive: i2.TuiWithIcons }], ngImport: i0 }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiButton, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiButton, decorators: [{
34
34
  type: Directive,
35
35
  args: [{
36
36
  selector: 'a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]',
@@ -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,iqMAAA,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,iqMAAA,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\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,klOAAA,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,klOAAA,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;;;;"}
@@ -65,10 +65,10 @@ class TuiCalendarSheetPipe {
65
65
  this.currentMonth = month;
66
66
  return this.currentSheet;
67
67
  }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSheetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
69
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSheetPipe, isStandalone: true, name: "tuiCalendarSheet" }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSheetPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
69
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSheetPipe, isStandalone: true, name: "tuiCalendarSheet" }); }
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSheetPipe, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSheetPipe, decorators: [{
72
72
  type: Pipe,
73
73
  args: [{ name: 'tuiCalendarSheet' }]
74
74
  }] });
@@ -119,10 +119,10 @@ class TuiOrderWeekDaysPipe {
119
119
  ...weekDays.slice(0, this.options.weekStart()),
120
120
  ]));
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiOrderWeekDaysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
123
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.19", ngImport: i0, type: TuiOrderWeekDaysPipe, isStandalone: true, name: "tuiOrderWeekDays" }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiOrderWeekDaysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
123
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.20", ngImport: i0, type: TuiOrderWeekDaysPipe, isStandalone: true, name: "tuiOrderWeekDays" }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiOrderWeekDaysPipe, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiOrderWeekDaysPipe, decorators: [{
126
126
  type: Pipe,
127
127
  args: [{ name: 'tuiOrderWeekDays' }]
128
128
  }] });
@@ -203,10 +203,10 @@ class TuiCalendarSheet {
203
203
  }
204
204
  this.hoveredItem.set(day);
205
205
  }
206
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showAdjacent: { classPropertyName: "showAdjacent", publicName: "showAdjacent", isSignal: true, isRequired: false, transformFunction: null }, hoveredItem: { classPropertyName: "hoveredItem", publicName: "hoveredItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoveredItem: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<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", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-typography-body-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{inset-inline-end:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{inset-inline-start:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-typography-body-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;display:flex;inset-block-end:0;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
206
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
207
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, showAdjacent: { classPropertyName: "showAdjacent", publicName: "showAdjacent", isSignal: true, isRequired: false, transformFunction: null }, hoveredItem: { classPropertyName: "hoveredItem", publicName: "hoveredItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hoveredItem: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isRangePicking" } }, ngImport: i0, template: "<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", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-typography-body-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{inset-inline-end:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{inset-inline-start:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:calc(100% / 7)}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-typography-body-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;display:flex;inset-block-end:0;justify-content:center;margin-block-start:-.5rem;padding-block-end:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSheet, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSheet, decorators: [{
210
210
  type: Component,
211
211
  args: [{ selector: 'tui-calendar-sheet', imports: [
212
212
  AsyncPipe,
@@ -242,10 +242,10 @@ class TuiCalendarSpin {
242
242
  }
243
243
  this.value.set(value);
244
244
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSpin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCalendarSpin, isStandalone: true, selector: "tui-calendar-spin", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", yearClick: "yearClick" }, ngImport: i0, template: "<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", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSpin, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
246
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiCalendarSpin, isStandalone: true, selector: "tui-calendar-spin", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", yearClick: "yearClick" }, ngImport: i0, template: "<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", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }, { kind: "component", type: TuiSpinButton, selector: "tui-spin-button", inputs: ["focusable", "disabled", "leftDisabled", "rightDisabled"], outputs: ["leftClick", "rightClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarSpin, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarSpin, decorators: [{
249
249
  type: Component,
250
250
  args: [{ selector: 'tui-calendar-spin', imports: [TuiLink, TuiSpinButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<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", styles: [":host{display:block}\n"] }]
251
251
  }] });
@@ -327,10 +327,10 @@ class TuiCalendarYear {
327
327
  itemIsToday(item) {
328
328
  return CURRENT_YEAR === item;
329
329
  }
330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
331
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { rangeMode: { classPropertyName: "rangeMode", publicName: "rangeMode", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, initialItem: { classPropertyName: "initialItem", publicName: "initialItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarYear)], ngImport: i0, template: "@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", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-typography-body-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{inset-inline-end:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{inset-inline-start:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
330
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
331
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { rangeMode: { classPropertyName: "rangeMode", publicName: "rangeMode", isSignal: true, isRequired: false, transformFunction: null }, disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, initialItem: { classPropertyName: "initialItem", publicName: "initialItem", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isRangePicking()" } }, providers: [tuiAsAuxiliary(TuiCalendarYear)], ngImport: i0, template: "@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", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-typography-body-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{inset-inline-end:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{inset-inline-start:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
332
332
  }
333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendarYear, decorators: [{
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendarYear, decorators: [{
334
334
  type: Component,
335
335
  args: [{ selector: 'tui-calendar-year', imports: [TuiHovered, TuiScrollIntoView], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiCalendarYear)], host: { '[class._picking]': 'isRangePicking()' }, template: "@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", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-typography-body-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;inset-block-start:0;inset-inline-start:0;inset-block-end:0;inset-inline-end:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-top-left-radius:0;border-bottom-left-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-top-right-radius:0;border-bottom-right-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{inset-inline-end:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{inset-inline-start:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover) and (pointer: fine){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;padding-inline-end:1rem;inline-size:15.75rem;padding:0 1.125rem}.t-cell{flex:1;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"] }]
336
336
  }] });
@@ -401,10 +401,10 @@ class TuiCalendar {
401
401
  }
402
402
  this.hoveredItem.set(day);
403
403
  }
404
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
405
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCalendar, isStandalone: true, selector: "tui-calendar", inputs: { disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minViewedMonth: { classPropertyName: "minViewedMonth", publicName: "minViewedMonth", isSignal: true, isRequired: false, transformFunction: null }, maxViewedMonth: { classPropertyName: "maxViewedMonth", publicName: "maxViewedMonth", isSignal: true, isRequired: false, transformFunction: null }, showAdjacent: { classPropertyName: "showAdjacent", publicName: "showAdjacent", isSignal: true, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: true, isRequired: false, transformFunction: null }, initialView: { classPropertyName: "initialView", publicName: "initialView", isSignal: true, isRequired: false, transformFunction: null }, month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, hoveredItem: { classPropertyName: "hoveredItem", publicName: "hoveredItem", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { month: "monthChange", hoveredItem: "hoveredItemChange", value: "valueChange", dayClick: "dayClick" }, host: { listeners: { "pointerdown.prevent.zoneless": "0" } }, providers: [tuiAsAuxiliary(TuiCalendar)], ngImport: i0, template: "@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", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-sheet-dialog){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"], dependencies: [{ kind: "component", type: TuiCalendarSheet, selector: "tui-calendar-sheet", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "showAdjacent", "hoveredItem"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "component", type: TuiCalendarSpin, selector: "tui-calendar-spin", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "value", "min", "max", "initialItem"], outputs: ["yearClick"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
404
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
405
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiCalendar, isStandalone: true, selector: "tui-calendar", inputs: { disabledItemHandler: { classPropertyName: "disabledItemHandler", publicName: "disabledItemHandler", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minViewedMonth: { classPropertyName: "minViewedMonth", publicName: "minViewedMonth", isSignal: true, isRequired: false, transformFunction: null }, maxViewedMonth: { classPropertyName: "maxViewedMonth", publicName: "maxViewedMonth", isSignal: true, isRequired: false, transformFunction: null }, showAdjacent: { classPropertyName: "showAdjacent", publicName: "showAdjacent", isSignal: true, isRequired: false, transformFunction: null }, markerHandler: { classPropertyName: "markerHandler", publicName: "markerHandler", isSignal: true, isRequired: false, transformFunction: null }, initialView: { classPropertyName: "initialView", publicName: "initialView", isSignal: true, isRequired: false, transformFunction: null }, month: { classPropertyName: "month", publicName: "month", isSignal: true, isRequired: false, transformFunction: null }, hoveredItem: { classPropertyName: "hoveredItem", publicName: "hoveredItem", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { month: "monthChange", hoveredItem: "hoveredItemChange", value: "valueChange", dayClick: "dayClick" }, host: { listeners: { "pointerdown.prevent.zoneless": "0" } }, providers: [tuiAsAuxiliary(TuiCalendar)], ngImport: i0, template: "@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", styles: [":host{display:block;min-block-size:20.25rem;inline-size:18rem;padding:1rem 1.125rem;box-sizing:border-box;flex-shrink:0}:host-context(tui-sheet-dialog){inline-size:100%}tui-calendar-year{padding:0}.t-scrollbar{block-size:18.25rem;inline-size:calc(100% + 1rem)}.t-pagination{margin-block-end:1rem}\n"], dependencies: [{ kind: "component", type: TuiCalendarSheet, selector: "tui-calendar-sheet", inputs: ["month", "disabledItemHandler", "markerHandler", "value", "showAdjacent", "hoveredItem"], outputs: ["hoveredItemChange", "dayClick"] }, { kind: "component", type: TuiCalendarSpin, selector: "tui-calendar-spin", inputs: ["value", "min", "max"], outputs: ["valueChange", "yearClick"] }, { kind: "component", type: TuiCalendarYear, selector: "tui-calendar-year", inputs: ["rangeMode", "disabledItemHandler", "value", "min", "max", "initialItem"], outputs: ["yearClick"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
406
406
  }
407
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCalendar, decorators: [{
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCalendar, decorators: [{
408
408
  type: Component,
409
409
  args: [{ selector: 'tui-calendar', imports: [
410
410
  TuiCalendarSheet,
@@ -55,12 +55,12 @@ class TuiCarouselComponent {
55
55
  get d() {
56
56
  return this.el.matches('[dir="rtl"] :scope') ? -1 : 1;
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiCarouselComponent, isStandalone: true, selector: "tui-carousel", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "waIntersectionThreshold": "1" } }, providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)], queries: [{ propertyName: "template", first: true, predicate: TuiItem, descendants: true, read: TemplateRef, isSignal: true }], hostDirectives: [{ directive: i1.WaIntersectionObserverDirective }], ngImport: i0, template: "<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", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;max-inline-size:100%;overscroll-behavior:none;overflow:scroll;scroll-snap-type:x mandatory}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}.t-item{position:relative;display:flex;min-inline-size:100%;block-size:100%;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.WaIntersectionObservee, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.20", type: TuiCarouselComponent, isStandalone: true, selector: "tui-carousel", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, host: { attributes: { "waIntersectionThreshold": "1" } }, providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)], queries: [{ propertyName: "template", first: true, predicate: TuiItem, descendants: true, read: TemplateRef, isSignal: true }], hostDirectives: [{ directive: i1.WaIntersectionObserverDirective }], ngImport: i0, template: "<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", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;max-inline-size:100%;overscroll-behavior:none;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:active .t-item{padding-block-start:1px;margin-block-start:-1px}.t-item{position:relative;display:flex;min-inline-size:100%;block-size:100%;box-sizing:content-box;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.WaIntersectionObservee, selector: "[waIntersectionObservee]", outputs: ["waIntersectionObservee"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCarouselComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCarouselComponent, decorators: [{
62
62
  type: Component,
63
- args: [{ selector: 'tui-carousel', imports: [NgTemplateOutlet, WaIntersectionObserver], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)], hostDirectives: [WaIntersectionObserverDirective], host: { waIntersectionThreshold: '1' }, template: "<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", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;max-inline-size:100%;overscroll-behavior:none;overflow:scroll;scroll-snap-type:x mandatory}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}.t-item{position:relative;display:flex;min-inline-size:100%;block-size:100%;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}\n"] }]
63
+ args: [{ selector: 'tui-carousel', imports: [NgTemplateOutlet, WaIntersectionObserver], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiProvide(WA_INTERSECTION_ROOT, ElementRef)], hostDirectives: [WaIntersectionObserverDirective], host: { waIntersectionThreshold: '1' }, template: "<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", styles: [":host{scrollbar-width:none;-ms-overflow-style:none;display:flex;max-inline-size:100%;overscroll-behavior:none;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:active .t-item{padding-block-start:1px;margin-block-start:-1px}.t-item{position:relative;display:flex;min-inline-size:100%;block-size:100%;box-sizing:content-box;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}\n"] }]
64
64
  }] });
65
65
 
66
66
  class TuiCarouselDirective {
@@ -79,10 +79,10 @@ class TuiCarouselDirective {
79
79
  }
80
80
  });
81
81
  }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCarouselDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiCarouselDirective, isStandalone: true, selector: "tui-carousel[duration]", inputs: { duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["tuiCarousel"], ngImport: i0 }); }
82
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCarouselDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
83
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.20", type: TuiCarouselDirective, isStandalone: true, selector: "tui-carousel[duration]", inputs: { duration: { classPropertyName: "duration", publicName: "duration", isSignal: true, isRequired: false, transformFunction: null } }, exportAs: ["tuiCarousel"], ngImport: i0 }); }
84
84
  }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiCarouselDirective, decorators: [{
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.20", ngImport: i0, type: TuiCarouselDirective, decorators: [{
86
86
  type: Directive,
87
87
  args: [{
88
88
  selector: 'tui-carousel[duration]',
@@ -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\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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"}