diff --git a/projects/cdk/directives/for-async/for-async.directive.ts b/projects/cdk/directives/for-async/for-async.directive.ts
index 2ce737015483..a945762947b3 100644
--- a/projects/cdk/directives/for-async/for-async.directive.ts
+++ b/projects/cdk/directives/for-async/for-async.directive.ts
@@ -10,6 +10,10 @@ import {
import {from, of, Subject} from 'rxjs';
import {concatMap, delay, takeUntil} from 'rxjs/operators';
+/**
+ * @deprecated:
+ * remove in v4.0
+ */
@Directive({selector: '[tuiForAsync][tuiForAsyncOf]'})
export class TuiForAsyncDirective
implements OnChanges, OnDestroy
diff --git a/projects/cdk/directives/for-async/for-async.module.ts b/projects/cdk/directives/for-async/for-async.module.ts
index 8d520ae2190f..75d4ba8a49dc 100644
--- a/projects/cdk/directives/for-async/for-async.module.ts
+++ b/projects/cdk/directives/for-async/for-async.module.ts
@@ -3,7 +3,8 @@ import {NgModule} from '@angular/core';
import {TuiForAsyncDirective} from './for-async.directive';
/**
- * @experimental
+ * @deprecated:
+ * remove in v4.0
*/
@NgModule({
declarations: [TuiForAsyncDirective],
diff --git a/projects/demo/src/modules/icons/icons-group/icons-group.module.ts b/projects/demo/src/modules/icons/icons-group/icons-group.module.ts
index 44b788bd1e2c..0028765503a5 100644
--- a/projects/demo/src/modules/icons/icons-group/icons-group.module.ts
+++ b/projects/demo/src/modules/icons/icons-group/icons-group.module.ts
@@ -4,7 +4,6 @@ import {ReactiveFormsModule} from '@angular/forms';
import {
TuiAutoFocusModule,
TuiFilterPipeModule,
- TuiForAsyncModule,
TuiKeysPipeModule,
TuiLetModule,
} from '@taiga-ui/cdk';
@@ -19,7 +18,6 @@ import {IconsGroupDirective} from './icons-group.directive';
CommonModule,
TuiInputModule,
TuiBadgeModule,
- TuiForAsyncModule,
TuiKeysPipeModule,
TuiFilterPipeModule,
TuiHintModule,
diff --git a/projects/demo/src/modules/icons/icons-group/icons-group.template.html b/projects/demo/src/modules/icons/icons-group/icons-group.template.html
index cc8eec78b135..030a4e1b1033 100644
--- a/projects/demo/src/modules/icons/icons-group/icons-group.template.html
+++ b/projects/demo/src/modules/icons/icons-group/icons-group.template.html
@@ -12,39 +12,34 @@ Search by name
- 0 ? 0 : 10
- } as options"
->
-
-
-
+ Nothing found
-
-
-
-
+
+
+
diff --git a/projects/demo/src/modules/icons/icons.component.ts b/projects/demo/src/modules/icons/icons.component.ts
index aaac7a25d20a..322c4c6bcfda 100644
--- a/projects/demo/src/modules/icons/icons.component.ts
+++ b/projects/demo/src/modules/icons/icons.component.ts
@@ -48,4 +48,8 @@ export class IconsComponent {
@Inject(TUI_DEMO_ICONS) readonly icons: DemoTuiIconsTabs,
@Inject(TuiModeDirective) private readonly mode: TuiModeDirective,
) {}
+
+ onIntersection(entries: IntersectionObserverEntry[]): boolean {
+ return entries[entries.length - 1]?.isIntersecting ?? false;
+ }
}
diff --git a/projects/demo/src/modules/icons/icons.module.ts b/projects/demo/src/modules/icons/icons.module.ts
index 52d27f8c0a6f..9e22e9f168c7 100644
--- a/projects/demo/src/modules/icons/icons.module.ts
+++ b/projects/demo/src/modules/icons/icons.module.ts
@@ -2,6 +2,7 @@ import {CommonModule} from '@angular/common';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {RouterModule} from '@angular/router';
+import {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';
import {TuiAddonDocModule, tuiGenerateRoutes} from '@taiga-ui/addon-doc';
import {TuiActiveZoneModule} from '@taiga-ui/cdk';
import {
@@ -32,6 +33,7 @@ import {IconsGroupModule} from './icons-group/icons-group.module';
TuiHostedDropdownModule,
TuiColorSelectorModule,
TuiActiveZoneModule,
+ IntersectionObserverModule,
],
declarations: [IconsComponent],
exports: [IconsComponent],
diff --git a/projects/demo/src/modules/icons/icons.style.less b/projects/demo/src/modules/icons/icons.style.less
index 97193f072dd1..729a52c545fb 100644
--- a/projects/demo/src/modules/icons/icons.style.less
+++ b/projects/demo/src/modules/icons/icons.style.less
@@ -1,7 +1,14 @@
@import 'taiga-ui-local';
+.icon-place {
+ width: 4.25rem;
+ height: 4.25rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
.icon {
- margin: @space * 3;
transition: all 0.5s ease-in;
border: 1px solid var(--tui-base-03);
box-shadow: 0 0.05rem 0.5rem #3333;
diff --git a/projects/demo/src/modules/icons/icons.template.html b/projects/demo/src/modules/icons/icons.template.html
index b84b7ba60617..43fda91986db 100644
--- a/projects/demo/src/modules/icons/icons.template.html
+++ b/projects/demo/src/modules/icons/icons.template.html
@@ -35,7 +35,11 @@
token, which is responsible for removing malicious code from the svg.
-
+