@taiga-ui/core 3.66.0 → 3.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -369,7 +369,7 @@
369
369
  return TuiRootComponent;
370
370
  }());
371
371
  TuiRootComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiRootComponent, deps: [{ token: tokens.TUI_REDUCED_MOTION }, { token: tokens.TUI_ANIMATIONS_DURATION }, { token: i1.TUI_DIALOGS }, { token: i1.TUI_IS_MOBILE }, { token: i5.TuiBreakpointService }, { token: i1.TUI_IS_IOS }, { token: i1.TUI_IS_ANDROID }, { token: i4.DOCUMENT }, { token: tokens.TUI_THEME }], target: i0__namespace.ɵɵFactoryTarget.Component });
372
- TuiRootComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.66.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0__namespace, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1__namespace.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2__namespace.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1__namespace.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1__namespace.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1__namespace.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3__namespace.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.Default, encapsulation: i0__namespace.ViewEncapsulation.None });
372
+ TuiRootComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.67.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0__namespace, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1__namespace.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2__namespace.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1__namespace.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1__namespace.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1__namespace.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3__namespace.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.Default, encapsulation: i0__namespace.ViewEncapsulation.None });
373
373
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiRootComponent, decorators: [{
374
374
  type: i0.Component,
375
375
  args: [{
@@ -87,13 +87,19 @@
87
87
  this.el = el;
88
88
  this.userAgent = userAgent;
89
89
  this.isIos = isIos;
90
- this.delegated = false;
91
90
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
92
91
  (i1.tuiIsFirefox(this.userAgent) &&
93
92
  !this.cssRef.supports('scrollbar-width', 'none'));
94
93
  this.hidden = false;
95
94
  this.browserScrollRef = new i0.ElementRef(this.el.nativeElement);
96
95
  }
96
+ Object.defineProperty(TuiScrollbarComponent.prototype, "delegated", {
97
+ get: function () {
98
+ return this.browserScrollRef.nativeElement !== this.el.nativeElement;
99
+ },
100
+ enumerable: false,
101
+ configurable: true
102
+ });
97
103
  Object.defineProperty(TuiScrollbarComponent.prototype, "showScrollbars", {
98
104
  get: function () {
99
105
  return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);
@@ -109,7 +115,6 @@
109
115
  configurable: true
110
116
  });
111
117
  TuiScrollbarComponent.prototype.onScrollable = function (element) {
112
- this.delegated = true;
113
118
  this.browserScrollRef.nativeElement = element;
114
119
  };
115
120
  TuiScrollbarComponent.prototype.scrollIntoView = function (detail) {
@@ -138,7 +143,7 @@
138
143
  return browserScrollRef;
139
144
  },
140
145
  },
141
- ], ngImport: i0__namespace, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1__namespace.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
146
+ ], ngImport: i0__namespace, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1__namespace.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
142
147
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TuiScrollbarComponent, decorators: [{
143
148
  type: i0.Component,
144
149
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.umd.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","TUI_SCROLL_REF","ElementRef","Directive","TUI_SCROLLABLE","Inject","tuiIsFirefox","tuiGetElementOffset","CSS_TOKEN","USER_AGENT","TUI_IS_IOS","i1","i2","Component","ChangeDetectionStrategy","Input","HostBinding","HostListener","TUI_SCROLL_INTO_VIEW","CommonModule","TuiScrollControlsModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scrollbar.umd.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get delegated(): boolean {\n return this.browserScrollRef.nativeElement !== this.el.nativeElement;\n }\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i0","TUI_SCROLL_REF","ElementRef","Directive","TUI_SCROLLABLE","Inject","tuiIsFirefox","tuiGetElementOffset","CSS_TOKEN","USER_AGENT","TUI_IS_IOS","i1","i2","Component","ChangeDetectionStrategy","Input","HostBinding","HostListener","TUI_SCROLL_INTO_VIEW","CommonModule","TuiScrollControlsModule","NgModule"],"mappings":"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"}
@@ -7,11 +7,11 @@ export declare class TuiScrollbarComponent {
7
7
  private readonly el;
8
8
  private readonly userAgent;
9
9
  private readonly isIos;
10
- private delegated;
11
10
  private readonly isLegacy;
12
11
  hidden: boolean;
13
12
  readonly browserScrollRef: ElementRef<HTMLElement>;
14
13
  constructor(cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>, el: ElementRef<HTMLElement>, userAgent: string, isIos: boolean);
14
+ get delegated(): boolean;
15
15
  get showScrollbars(): boolean;
16
16
  get showNative(): boolean;
17
17
  onScrollable(element: HTMLElement): void;
@@ -1 +1 @@
1
- export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.66.0";
1
+ export declare const TUI_CACHE_BUSTING_PAYLOAD: "?v=3.67.0";
@@ -29,7 +29,7 @@ export class TuiRootComponent {
29
29
  }
30
30
  }
31
31
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
32
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.66.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
32
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.67.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
33
33
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{
@@ -12,13 +12,15 @@ export class TuiScrollbarComponent {
12
12
  this.el = el;
13
13
  this.userAgent = userAgent;
14
14
  this.isIos = isIos;
15
- this.delegated = false;
16
15
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
17
16
  (tuiIsFirefox(this.userAgent) &&
18
17
  !this.cssRef.supports('scrollbar-width', 'none'));
19
18
  this.hidden = false;
20
19
  this.browserScrollRef = new ElementRef(this.el.nativeElement);
21
20
  }
21
+ get delegated() {
22
+ return this.browserScrollRef.nativeElement !== this.el.nativeElement;
23
+ }
22
24
  get showScrollbars() {
23
25
  return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);
24
26
  }
@@ -26,7 +28,6 @@ export class TuiScrollbarComponent {
26
28
  return this.isLegacy && !this.hidden && !this.delegated;
27
29
  }
28
30
  onScrollable(element) {
29
- this.delegated = true;
30
31
  this.browserScrollRef.nativeElement = element;
31
32
  }
32
33
  scrollIntoView(detail) {
@@ -51,7 +52,7 @@ TuiScrollbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
51
52
  deps: [TuiScrollbarComponent],
52
53
  useFactory: ({ browserScrollRef, }) => browserScrollRef,
53
54
  },
54
- ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
+ ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
55
56
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarComponent, decorators: [{
56
57
  type: Component,
57
58
  args: [{
@@ -91,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
91
92
  type: HostListener,
92
93
  args: [`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail']]
93
94
  }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsVUFBVSxFQUNWLGNBQWMsRUFDZCxtQkFBbUIsRUFFbkIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUU5RSxzQ0FBc0M7QUFnQnRDLE1BQU0sT0FBTyxxQkFBcUI7SUFhOUIsWUFFcUIsTUFBK0MsRUFDM0IsRUFBMkIsRUFDM0IsU0FBaUIsRUFDakIsS0FBYztRQUhsQyxXQUFNLEdBQU4sTUFBTSxDQUF5QztRQUMzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFqQi9DLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFVCxhQUFRLEdBQ3JCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQztZQUMzQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUN6QixDQUFDLElBQUksQ0FB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QkFEYixZQUFZO3VCQUFDLEdBQUcsb0JBQW9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NTUyBhcyBDU1NfVE9LRU4sIFVTRVJfQUdFTlR9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfSU9TLFxuICAgIFRVSV9TQ1JPTExfUkVGLFxuICAgIHR1aUdldEVsZW1lbnRPZmZzZXQsXG4gICAgVHVpSW5qZWN0aW9uVG9rZW5UeXBlLFxuICAgIHR1aUlzRmlyZWZveCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9TQ1JPTExfSU5UT19WSUVXLCBUVUlfU0NST0xMQUJMRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuLy8gVE9ETzogUmVtb3ZlIGFsbCBsZWdhY3kgY29kZSBpbiA0LjBcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNjcm9sbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIGRlcHM6IFtUdWlTY3JvbGxiYXJDb21wb25lbnRdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKHtcbiAgICAgICAgICAgICAgICBicm93c2VyU2Nyb2xsUmVmLFxuICAgICAgICAgICAgfTogVHVpU2Nyb2xsYmFyQ29tcG9uZW50KTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPT4gYnJvd3NlclNjcm9sbFJlZixcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgZGVsZWdhdGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzTGVnYWN5OiBib29sZWFuID1cbiAgICAgICAgIXRoaXMuY3NzUmVmLnN1cHBvcnRzKCdwb3NpdGlvbicsICdzdGlja3knKSB8fFxuICAgICAgICAodHVpSXNGaXJlZm94KHRoaXMudXNlckFnZW50KSAmJlxuICAgICAgICAgICAgIXRoaXMuY3NzUmVmLnN1cHBvcnRzKCdzY3JvbGxiYXItd2lkdGgnLCAnbm9uZScpKTtcblxuICAgIEBJbnB1dCgpXG4gICAgaGlkZGVuID0gZmFsc2U7XG5cbiAgICByZWFkb25seSBicm93c2VyU2Nyb2xsUmVmID0gbmV3IEVsZW1lbnRSZWYodGhpcy5lbC5uYXRpdmVFbGVtZW50KTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENTU19UT0tFTilcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBjc3NSZWY6IFR1aUluamVjdGlvblRva2VuVHlwZTx0eXBlb2YgQ1NTX1RPS0VOPixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgQEluamVjdChVU0VSX0FHRU5UKSBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudDogc3RyaW5nLFxuICAgICAgICBASW5qZWN0KFRVSV9JU19JT1MpIHByaXZhdGUgcmVhZG9ubHkgaXNJb3M6IGJvb2xlYW4sXG4gICAgKSB7fVxuXG4gICAgZ2V0IHNob3dTY3JvbGxiYXJzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuaGlkZGVuICYmICF0aGlzLmlzSW9zICYmICghdGhpcy5pc0xlZ2FjeSB8fCB0aGlzLmRlbGVnYXRlZCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5fbGVnYWN5JylcbiAgICBnZXQgc2hvd05hdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMZWdhY3kgJiYgIXRoaXMuaGlkZGVuICYmICF0aGlzLmRlbGVnYXRlZDtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKGAke1RVSV9TQ1JPTExBQkxFfS5zdG9wYCwgWyckZXZlbnQuZGV0YWlsJ10pXG4gICAgb25TY3JvbGxhYmxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVsZWdhdGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5icm93c2VyU2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1NDUk9MTF9JTlRPX1ZJRVd9LnN0b3BgLCBbJyRldmVudC5kZXRhaWwnXSlcbiAgICBzY3JvbGxJbnRvVmlldyhkZXRhaWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRlbGVnYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5icm93c2VyU2Nyb2xsUmVmO1xuICAgICAgICBjb25zdCB7b2Zmc2V0VG9wLCBvZmZzZXRMZWZ0fSA9IHR1aUdldEVsZW1lbnRPZmZzZXQobmF0aXZlRWxlbWVudCwgZGV0YWlsKTtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gbmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gZGV0YWlsO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBvZmZzZXRUb3AgKyBvZmZzZXRIZWlnaHQgLyAyIC0gY2xpZW50SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAvIDIgLSBjbGllbnRXaWR0aCAvIDI7XG5cbiAgICAgICAgLy8gPy4gZm9yIG91ciBjbGllbnRzIG9uIFdpbmRvd3MgWFAgYW5kIENocm9tZSA0OVxuICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbFRvPy4oc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbC1jb250cm9sc1xuICAgICpuZ0lmPVwic2hvd1Njcm9sbGJhcnNcIlxuICAgIGNsYXNzPVwidC1iYXJzXCJcbj48L3R1aS1zY3JvbGwtY29udHJvbHM+XG48ZGl2IGNsYXNzPVwidC1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zY3JvbGxiYXIvc2Nyb2xsYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssR0FDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQ0gsVUFBVSxFQUNWLGNBQWMsRUFDZCxtQkFBbUIsRUFFbkIsWUFBWSxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxjQUFjLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUU5RSxzQ0FBc0M7QUFnQnRDLE1BQU0sT0FBTyxxQkFBcUI7SUFXOUIsWUFFcUIsTUFBK0MsRUFDM0IsRUFBMkIsRUFDM0IsU0FBaUIsRUFDakIsS0FBYztRQUhsQyxXQUFNLEdBQU4sTUFBTSxDQUF5QztRQUMzQixPQUFFLEdBQUYsRUFBRSxDQUF5QjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFVBQUssR0FBTCxLQUFLLENBQVM7UUFmdEMsYUFBUSxHQUNyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDM0MsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDekIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFB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QU8sRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFNekQsY0FBYztzQkFEYixZQUFZO3VCQUFDLEdBQUcsb0JBQW9CLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NTUyBhcyBDU1NfVE9LRU4sIFVTRVJfQUdFTlR9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBUVUlfSVNfSU9TLFxuICAgIFRVSV9TQ1JPTExfUkVGLFxuICAgIHR1aUdldEVsZW1lbnRPZmZzZXQsXG4gICAgVHVpSW5qZWN0aW9uVG9rZW5UeXBlLFxuICAgIHR1aUlzRmlyZWZveCxcbn0gZnJvbSAnQHRhaWdhLXVpL2Nkayc7XG5pbXBvcnQge1RVSV9TQ1JPTExfSU5UT19WSUVXLCBUVUlfU0NST0xMQUJMRX0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29uc3RhbnRzJztcblxuLy8gVE9ETzogUmVtb3ZlIGFsbCBsZWdhY3kgY29kZSBpbiA0LjBcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLXNjcm9sbGJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Njcm9sbGJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zY3JvbGxiYXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfU0NST0xMX1JFRixcbiAgICAgICAgICAgIGRlcHM6IFtUdWlTY3JvbGxiYXJDb21wb25lbnRdLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogKHtcbiAgICAgICAgICAgICAgICBicm93c2VyU2Nyb2xsUmVmLFxuICAgICAgICAgICAgfTogVHVpU2Nyb2xsYmFyQ29tcG9uZW50KTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gPT4gYnJvd3NlclNjcm9sbFJlZixcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTY3JvbGxiYXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNMZWdhY3k6IGJvb2xlYW4gPVxuICAgICAgICAhdGhpcy5jc3NSZWYuc3VwcG9ydHMoJ3Bvc2l0aW9uJywgJ3N0aWNreScpIHx8XG4gICAgICAgICh0dWlJc0ZpcmVmb3godGhpcy51c2VyQWdlbnQpICYmXG4gICAgICAgICAgICAhdGhpcy5jc3NSZWYuc3VwcG9ydHMoJ3Njcm9sbGJhci13aWR0aCcsICdub25lJykpO1xuXG4gICAgQElucHV0KClcbiAgICBoaWRkZW4gPSBmYWxzZTtcblxuICAgIHJlYWRvbmx5IGJyb3dzZXJTY3JvbGxSZWYgPSBuZXcgRWxlbWVudFJlZih0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ1NTX1RPS0VOKVxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGNzc1JlZjogVHVpSW5qZWN0aW9uVG9rZW5UeXBlPHR5cGVvZiBDU1NfVE9LRU4+LFxuICAgICAgICBASW5qZWN0KEVsZW1lbnRSZWYpIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFVTRVJfQUdFTlQpIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50OiBzdHJpbmcsXG4gICAgICAgIEBJbmplY3QoVFVJX0lTX0lPUykgcHJpdmF0ZSByZWFkb25seSBpc0lvczogYm9vbGVhbixcbiAgICApIHt9XG5cbiAgICBnZXQgZGVsZWdhdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5icm93c2VyU2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnQgIT09IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBnZXQgc2hvd1Njcm9sbGJhcnMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuaXNJb3MgJiYgKCF0aGlzLmlzTGVnYWN5IHx8IHRoaXMuZGVsZWdhdGVkKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLl9sZWdhY3knKVxuICAgIGdldCBzaG93TmF0aXZlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0xlZ2FjeSAmJiAhdGhpcy5oaWRkZW4gJiYgIXRoaXMuZGVsZWdhdGVkO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1NDUk9MTEFCTEV9LnN0b3BgLCBbJyRldmVudC5kZXRhaWwnXSlcbiAgICBvblNjcm9sbGFibGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5icm93c2VyU2Nyb2xsUmVmLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50O1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoYCR7VFVJX1NDUk9MTF9JTlRPX1ZJRVd9LnN0b3BgLCBbJyRldmVudC5kZXRhaWwnXSlcbiAgICBzY3JvbGxJbnRvVmlldyhkZXRhaWw6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRlbGVnYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge25hdGl2ZUVsZW1lbnR9ID0gdGhpcy5icm93c2VyU2Nyb2xsUmVmO1xuICAgICAgICBjb25zdCB7b2Zmc2V0VG9wLCBvZmZzZXRMZWZ0fSA9IHR1aUdldEVsZW1lbnRPZmZzZXQobmF0aXZlRWxlbWVudCwgZGV0YWlsKTtcbiAgICAgICAgY29uc3Qge2NsaWVudEhlaWdodCwgY2xpZW50V2lkdGh9ID0gbmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3Qge29mZnNldEhlaWdodCwgb2Zmc2V0V2lkdGh9ID0gZGV0YWlsO1xuICAgICAgICBjb25zdCBzY3JvbGxUb3AgPSBvZmZzZXRUb3AgKyBvZmZzZXRIZWlnaHQgLyAyIC0gY2xpZW50SGVpZ2h0IC8gMjtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IG9mZnNldExlZnQgKyBvZmZzZXRXaWR0aCAvIDIgLSBjbGllbnRXaWR0aCAvIDI7XG5cbiAgICAgICAgLy8gPy4gZm9yIG91ciBjbGllbnRzIG9uIFdpbmRvd3MgWFAgYW5kIENocm9tZSA0OVxuICAgICAgICBuYXRpdmVFbGVtZW50LnNjcm9sbFRvPy4oc2Nyb2xsTGVmdCwgc2Nyb2xsVG9wKTtcbiAgICB9XG59XG4iLCI8dHVpLXNjcm9sbC1jb250cm9sc1xuICAgICpuZ0lmPVwic2hvd1Njcm9sbGJhcnNcIlxuICAgIGNsYXNzPVwidC1iYXJzXCJcbj48L3R1aS1zY3JvbGwtY29udHJvbHM+XG48ZGl2XG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIFtjbGFzcy50LWNvbnRlbnRfZGVsZWdhdGVkXT1cImRlbGVnYXRlZFwiXG4+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -33,7 +33,7 @@ class TuiRootComponent {
33
33
  }
34
34
  }
35
35
  TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_REDUCED_MOTION }, { token: TUI_ANIMATIONS_DURATION }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TuiBreakpointService }, { token: TUI_IS_IOS }, { token: TUI_IS_ANDROID }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
36
- TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.66.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
36
+ TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.67.0" }, listeners: { "touchstart.passive.silent": "0", "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration", "class._ios": "isIOS", "class._android": "isAndroid", "class._reduced-motion": "reducedMotion", "$.class._mobile": "isMobileRes$" } }, ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<!--TODO: 4.0 rename to tuiOverDropdowns-->\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}@keyframes tuiSkeletonVibe{to{opacity:.5}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{display:none}body[data-tui-theme]{font:var(--tui-font-text-s);color:var(--tui-text-01);background:var(--tui-base-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;display:none;margin:0}[data-tui-theme] tui-root>.t-root-scrollbar{display:block}.t-root-content{height:100%;isolation:isolate}.t-overscroll-none{overscroll-behavior:none}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i1.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i1.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i1.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i3.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiRootComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{
@@ -62,13 +62,15 @@ class TuiScrollbarComponent {
62
62
  this.el = el;
63
63
  this.userAgent = userAgent;
64
64
  this.isIos = isIos;
65
- this.delegated = false;
66
65
  this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
67
66
  (tuiIsFirefox(this.userAgent) &&
68
67
  !this.cssRef.supports('scrollbar-width', 'none'));
69
68
  this.hidden = false;
70
69
  this.browserScrollRef = new ElementRef(this.el.nativeElement);
71
70
  }
71
+ get delegated() {
72
+ return this.browserScrollRef.nativeElement !== this.el.nativeElement;
73
+ }
72
74
  get showScrollbars() {
73
75
  return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);
74
76
  }
@@ -76,7 +78,6 @@ class TuiScrollbarComponent {
76
78
  return this.isLegacy && !this.hidden && !this.delegated;
77
79
  }
78
80
  onScrollable(element) {
79
- this.delegated = true;
80
81
  this.browserScrollRef.nativeElement = element;
81
82
  }
82
83
  scrollIntoView(detail) {
@@ -101,7 +102,7 @@ TuiScrollbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
101
102
  deps: [TuiScrollbarComponent],
102
103
  useFactory: ({ browserScrollRef, }) => browserScrollRef,
103
104
  },
104
- ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
+ ], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;isolation:isolate;overflow:auto}:host:not(._legacy){scrollbar-width:none;-ms-overflow-style:none}:host:not(._legacy)::-webkit-scrollbar,:host:not(._legacy)::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}:host._legacy{overflow:overlay}@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm){:host._legacy::-webkit-scrollbar,:host._legacy::-webkit-scrollbar-thumb{width:1rem;height:1rem;border-radius:6.25rem;background-clip:padding-box;border:.375rem solid transparent}:host._legacy::-webkit-scrollbar{background-color:transparent}:host._legacy::-webkit-scrollbar-thumb{background-color:var(--tui-clear-hover)}:host._legacy::-webkit-scrollbar-thumb:hover{background-color:var(--tui-clear-active)}:host._legacy::-webkit-scrollbar-thumb:active{background-color:var(--tui-text-03)}}.t-content{isolation:isolate;flex:1;flex-basis:auto;width:100%;height:-webkit-max-content;height:max-content}.t-content_delegated{height:100%}.t-bars{color:var(--tui-text-01)}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
105
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiScrollbarComponent, decorators: [{
106
107
  type: Component,
107
108
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/cdk';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n/** @deprecated import from `@taiga-ui/cdk` instead */\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(@Inject(ElementRef) private readonly el: ElementRef<HTMLElement>) {}\n\n ngOnInit(): void {\n this.el.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.el.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n TUI_SCROLL_REF,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n// TODO: Remove all legacy code in 4.0\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.el.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly el: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get delegated(): boolean {\n return this.browserScrollRef.nativeElement !== this.el.nativeElement;\n }\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls\n *ngIf=\"showScrollbars\"\n class=\"t-bars\"\n></tui-scroll-controls>\n<div\n class=\"t-content\"\n [class.t-content_delegated]=\"delegated\"\n>\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "3.66.0",
3
+ "version": "3.67.0",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -15,7 +15,7 @@
15
15
  "repository": "https://github.com/taiga-family/taiga-ui",
16
16
  "license": "Apache-2.0",
17
17
  "dependencies": {
18
- "@taiga-ui/i18n": "^3.66.0",
18
+ "@taiga-ui/i18n": "^3.67.0",
19
19
  "tslib": "2.6.2"
20
20
  },
21
21
  "peerDependencies": {
@@ -27,8 +27,8 @@
27
27
  "@angular/router": ">=12.0.0",
28
28
  "@ng-web-apis/common": "3.0.6",
29
29
  "@ng-web-apis/mutation-observer": "3.1.0",
30
- "@taiga-ui/cdk": "^3.66.0",
31
- "@taiga-ui/i18n": "^3.66.0",
30
+ "@taiga-ui/cdk": "^3.67.0",
31
+ "@taiga-ui/i18n": "^3.67.0",
32
32
  "@tinkoff/ng-event-plugins": "3.1.0",
33
33
  "@tinkoff/ng-polymorpheus": "4.3.0",
34
34
  "rxjs": ">=6.0.0"