diff --git a/packages/angular/src/lib/cdk/action-bar/index.ts b/packages/angular/src/lib/cdk/action-bar/index.ts
index daa3194..01e6c7e 100644
--- a/packages/angular/src/lib/cdk/action-bar/index.ts
+++ b/packages/angular/src/lib/cdk/action-bar/index.ts
@@ -78,6 +78,7 @@ const appendActionItem = (bar: NgActionBar, item: ActionItem) => {
@Component({
selector: 'ActionBar',
template: '',
+ standalone: true,
})
export class ActionBarComponent {
constructor(public element: ElementRef, @Optional() private page: Page) {
@@ -96,6 +97,7 @@ export class ActionBarComponent {
@Component({
selector: 'ActionBarExtension',
template: '',
+ standalone: true,
})
// eslint-disable-next-line @angular-eslint/component-class-suffix
export class ActionBarScope {
@@ -130,6 +132,7 @@ export class ActionBarScope {
@Directive({
selector: 'ActionItem', // tslint:disable-line:directive-selector
+ standalone: true,
})
export class ActionItemDirective implements OnDestroy {
constructor(public element: ElementRef, @Optional() private ownerScope: ActionBarScope) {
@@ -147,6 +150,7 @@ export class ActionItemDirective implements OnDestroy {
@Directive({
selector: 'NavigationButton', // tslint:disable-line:directive-selector
+ standalone: true,
})
export class NavigationButtonDirective implements OnDestroy {
constructor(public element: ElementRef, @Optional() private ownerScope: ActionBarScope) {
diff --git a/packages/angular/src/lib/cdk/detached-loader.ts b/packages/angular/src/lib/cdk/detached-loader.ts
index 5574da5..681e7e7 100644
--- a/packages/angular/src/lib/cdk/detached-loader.ts
+++ b/packages/angular/src/lib/cdk/detached-loader.ts
@@ -1,8 +1,8 @@
-import { ComponentRef, ComponentFactory, ViewContainerRef, Component, Type, ComponentFactoryResolver, ChangeDetectorRef, ApplicationRef, OnDestroy, TemplateRef, ViewChild, Injector } from '@angular/core';
+import { ApplicationRef, ChangeDetectorRef, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, Injector, NO_ERRORS_SCHEMA, OnDestroy, TemplateRef, Type, ViewChild, ViewContainerRef } from '@angular/core';
import { ProxyViewContainer, Trace } from '@nativescript/core';
-import { ComponentPortal, TemplatePortal } from './portal';
-import type { ComponentType } from '../utils/general';
import { registerElement } from '../element-registry';
+import type { ComponentType } from '../utils/general';
+import { ComponentPortal, TemplatePortal } from './portal';
registerElement('DetachedContainer', () => ProxyViewContainer, {
skipAddToDom: true,
@@ -19,6 +19,8 @@ registerElement('DetachedContainer', () => ProxyViewContainer, {
template: `
`,
+ standalone: true,
+ schemas: [NO_ERRORS_SCHEMA],
})
// eslint-disable-next-line @angular-eslint/component-class-suffix
export class DetachedLoader implements OnDestroy {
diff --git a/packages/angular/src/lib/cdk/dialog/dialog-content-directives.ts b/packages/angular/src/lib/cdk/dialog/dialog-content-directives.ts
index 4279306..ef694f9 100644
--- a/packages/angular/src/lib/cdk/dialog/dialog-content-directives.ts
+++ b/packages/angular/src/lib/cdk/dialog/dialog-content-directives.ts
@@ -18,6 +18,7 @@ import { NativeDialogRef } from './dialog-ref';
// eslint-disable-next-line @angular-eslint/directive-selector
selector: '[native-dialog-close], [nativeDialogClose]',
exportAs: 'nativeDialogClose',
+ standalone: true,
})
export class NativeDialogCloseDirective implements OnInit, OnChanges {
/** Dialog close input. */
diff --git a/packages/angular/src/lib/cdk/dialog/dialog-module.ts b/packages/angular/src/lib/cdk/dialog/dialog-module.ts
index dc22711..666084e 100644
--- a/packages/angular/src/lib/cdk/dialog/dialog-module.ts
+++ b/packages/angular/src/lib/cdk/dialog/dialog-module.ts
@@ -3,7 +3,7 @@ import { NativeDialogCloseDirective } from './dialog-content-directives';
import { NativeDialogService } from './dialog-services';
@NgModule({
- declarations: [NativeDialogCloseDirective],
+ imports: [NativeDialogCloseDirective],
exports: [NativeDialogCloseDirective],
providers: [NativeDialogService],
})
diff --git a/packages/angular/src/lib/cdk/frame-page/frame-page.component.ts b/packages/angular/src/lib/cdk/frame-page/frame-page.component.ts
index 1743979..487211c 100644
--- a/packages/angular/src/lib/cdk/frame-page/frame-page.component.ts
+++ b/packages/angular/src/lib/cdk/frame-page/frame-page.component.ts
@@ -24,6 +24,7 @@ registerElement('FramePage', () => Frame, {
// eslint-disable-next-line @angular-eslint/component-selector
selector: 'FramePage',
template: ``,
+ standalone: true,
providers: [
{
provide: Frame,
diff --git a/packages/angular/src/lib/cdk/frame-page/frame-page.module.ts b/packages/angular/src/lib/cdk/frame-page/frame-page.module.ts
index d8a3e49..8ac5411 100644
--- a/packages/angular/src/lib/cdk/frame-page/frame-page.module.ts
+++ b/packages/angular/src/lib/cdk/frame-page/frame-page.module.ts
@@ -4,7 +4,7 @@ import { FrameDirective } from './frame.directive';
import { PageDirective } from './page.directive';
@NgModule({
- declarations: [FrameDirective, PageDirective, FramePageComponent],
+ imports: [FrameDirective, PageDirective, FramePageComponent],
exports: [FrameDirective, PageDirective, FramePageComponent],
})
export class FramePageModule {}
diff --git a/packages/angular/src/lib/cdk/frame-page/frame.directive.ts b/packages/angular/src/lib/cdk/frame-page/frame.directive.ts
index 57d7106..7bc214e 100644
--- a/packages/angular/src/lib/cdk/frame-page/frame.directive.ts
+++ b/packages/angular/src/lib/cdk/frame-page/frame.directive.ts
@@ -8,6 +8,7 @@ export function customFrameDirectiveFactory(v: FrameDirective) {
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'Frame',
+ standalone: true,
providers: [
{
provide: Frame,
diff --git a/packages/angular/src/lib/cdk/frame-page/page.directive.ts b/packages/angular/src/lib/cdk/frame-page/page.directive.ts
index 37142ed..919bac5 100644
--- a/packages/angular/src/lib/cdk/frame-page/page.directive.ts
+++ b/packages/angular/src/lib/cdk/frame-page/page.directive.ts
@@ -9,6 +9,7 @@ export function customPageFactory(v: PageDirective) {
@Directive({
// eslint-disable-next-line @angular-eslint/directive-selector
selector: 'Page',
+ standalone: true,
providers: [
{
provide: Page,
diff --git a/packages/angular/src/lib/cdk/list-view/list-view.component.ts b/packages/angular/src/lib/cdk/list-view/list-view.component.ts
index 0901bea..f678597 100644
--- a/packages/angular/src/lib/cdk/list-view/list-view.component.ts
+++ b/packages/angular/src/lib/cdk/list-view/list-view.component.ts
@@ -3,8 +3,9 @@ import { ItemEventData, KeyedTemplate, LayoutBase, ListView, ObservableArray, pr
import { extractSingleViewRecursive } from '../../element-registry/registry';
import { NativeScriptDebug } from '../../trace';
-import { NgViewTemplate } from '../../view-refs';
import { isListLikeIterable } from '../../utils/general';
+import { NgViewTemplate } from '../../view-refs';
+import { DetachedLoader } from '../detached-loader';
const NG_VIEW = '_ngViewRef';
@@ -89,7 +90,9 @@ export interface SetupItemViewArgs {
template: `
`,
+ standalone: true,
changeDetection: ChangeDetectionStrategy.OnPush,
+ imports: [DetachedLoader],
providers: [{ provide: TEMPLATED_ITEMS_COMPONENT, useExisting: forwardRef(() => ListViewComponent) }],
})
export class ListViewComponent implements DoCheck, OnDestroy, AfterContentInit, TemplatedItemsHost {
@@ -293,7 +296,10 @@ export function getItemViewRoot(viewRef: EmbeddedViewRef, rootLocator:
}
// eslint-disable-next-line @angular-eslint/directive-selector
-@Directive({ selector: '[nsTemplateKey],[nsTemplateKeys]' })
+@Directive({
+ selector: '[nsTemplateKey],[nsTemplateKeys]',
+ standalone: true,
+})
export class TemplateKeyDirective {
constructor(private templateRef: TemplateRef, @Host() @Inject(TEMPLATED_ITEMS_COMPONENT) private comp: TemplatedItemsHost) {}
diff --git a/packages/angular/src/lib/cdk/platform-filters/android-filter.component.ts b/packages/angular/src/lib/cdk/platform-filters/android-filter.component.ts
index c643378..564b9f3 100644
--- a/packages/angular/src/lib/cdk/platform-filters/android-filter.component.ts
+++ b/packages/angular/src/lib/cdk/platform-filters/android-filter.component.ts
@@ -1,11 +1,14 @@
/* eslint-disable @angular-eslint/component-selector */
import { Component, Inject } from '@angular/core';
-import { platformNames, IDevice } from '@nativescript/core';
+import { IDevice, platformNames } from '@nativescript/core';
import { DEVICE } from '../../tokens';
@Component({
selector: 'android',
- template: ``,
+ template: `@if (show) {
+
+ }`,
+ standalone: true,
})
export class AndroidFilterComponent {
public show: boolean;
diff --git a/packages/angular/src/lib/cdk/platform-filters/ios-filter.component.ts b/packages/angular/src/lib/cdk/platform-filters/ios-filter.component.ts
index 6e820d1..6da8395 100644
--- a/packages/angular/src/lib/cdk/platform-filters/ios-filter.component.ts
+++ b/packages/angular/src/lib/cdk/platform-filters/ios-filter.component.ts
@@ -1,11 +1,14 @@
/* eslint-disable @angular-eslint/component-selector */
import { Component, Inject } from '@angular/core';
-import { platformNames, IDevice } from '@nativescript/core';
+import { IDevice, platformNames } from '@nativescript/core';
import { DEVICE } from '../../tokens';
@Component({
selector: 'ios',
- template: ``,
+ template: `@if (show) {
+
+ }`,
+ standalone: true,
})
export class IOSFilterComponent {
public show: boolean;
diff --git a/packages/angular/src/lib/cdk/platform-filters/vision-filter.component.ts b/packages/angular/src/lib/cdk/platform-filters/vision-filter.component.ts
index b84bdef..ae24959 100644
--- a/packages/angular/src/lib/cdk/platform-filters/vision-filter.component.ts
+++ b/packages/angular/src/lib/cdk/platform-filters/vision-filter.component.ts
@@ -5,7 +5,10 @@ import { DEVICE } from '../../tokens';
@Component({
selector: 'visionos',
- template: ``,
+ template: `@if (show) {
+
+ }`,
+ standalone: true,
})
export class VisionOSFilterComponent {
public show: boolean;
diff --git a/packages/angular/src/lib/cdk/portal/portal-directives.ts b/packages/angular/src/lib/cdk/portal/portal-directives.ts
index 716ced2..a7ae4fc 100644
--- a/packages/angular/src/lib/cdk/portal/portal-directives.ts
+++ b/packages/angular/src/lib/cdk/portal/portal-directives.ts
@@ -18,6 +18,7 @@ import { BasePortalOutlet, ComponentPortal, DomPortal, Portal, TemplatePortal }
@Directive({
selector: '[cdkPortal]',
exportAs: 'cdkPortal',
+ standalone: true,
})
export class CdkPortal extends TemplatePortal {
constructor(templateRef: TemplateRef, viewContainerRef: ViewContainerRef) {
@@ -40,6 +41,7 @@ export type CdkPortalOutletAttachedRef = ComponentRef | EmbeddedViewRef",
+ standalone: true,
+ imports: [PageRouterOutlet],
})
export class NSEmptyOutletComponent {
@ViewChild(PageRouterOutlet, { read: PageRouterOutlet, static: false }) pageRouterOutlet: PageRouterOutlet;
diff --git a/packages/angular/src/lib/legacy/router/ns-router-link-active.ts b/packages/angular/src/lib/legacy/router/ns-router-link-active.ts
index 0b17316..331ae90 100644
--- a/packages/angular/src/lib/legacy/router/ns-router-link-active.ts
+++ b/packages/angular/src/lib/legacy/router/ns-router-link-active.ts
@@ -51,6 +51,7 @@ import { NSRouterLink } from './ns-router-link';
@Directive({
selector: '[nsRouterLinkActive]',
exportAs: 'routerLinkActive',
+ standalone: true,
})
export class NSRouterLinkActive implements OnChanges, OnDestroy, AfterContentInit {
// tslint:disable-line:max-line-length directive-class-suffix
diff --git a/packages/angular/src/lib/legacy/router/ns-router-link.ts b/packages/angular/src/lib/legacy/router/ns-router-link.ts
index b63fe70..b71bc0b 100644
--- a/packages/angular/src/lib/legacy/router/ns-router-link.ts
+++ b/packages/angular/src/lib/legacy/router/ns-router-link.ts
@@ -33,7 +33,10 @@ export type QueryParamsHandling = 'merge' | 'preserve' | '';
* instead look in the current component"s children for the route.
* And if the segment begins with `../`, the router will go up one level.
*/
-@Directive({ selector: '[nsRouterLink]' })
+@Directive({
+ selector: '[nsRouterLink]',
+ standalone: true,
+})
export class NSRouterLink implements AfterViewInit {
// tslint:disable-line:directive-class-suffix
@Input() target: string;
diff --git a/packages/angular/src/lib/legacy/router/page-router-outlet.ts b/packages/angular/src/lib/legacy/router/page-router-outlet.ts
index dd03f5f..9c2a36b 100644
--- a/packages/angular/src/lib/legacy/router/page-router-outlet.ts
+++ b/packages/angular/src/lib/legacy/router/page-router-outlet.ts
@@ -77,7 +77,10 @@ const routeToString = function (activatedRoute: ActivatedRoute | ActivatedRouteS
registerElement('page-router-outlet', () => Frame);
// eslint-disable-next-line @angular-eslint/directive-selector
-@Directive({ selector: 'page-router-outlet' }) // tslint:disable-line:directive-selector
+@Directive({
+ selector: 'page-router-outlet',
+ standalone: true,
+}) // tslint:disable-line:directive-selector
export class PageRouterOutlet implements OnDestroy, RouterOutletContract {
// tslint:disable-line:directive-class-suffix
private activated: ComponentRef | null = null;
diff --git a/packages/angular/src/lib/legacy/router/router.module.ts b/packages/angular/src/lib/legacy/router/router.module.ts
index 3590f7d..e0211fa 100644
--- a/packages/angular/src/lib/legacy/router/router.module.ts
+++ b/packages/angular/src/lib/legacy/router/router.module.ts
@@ -26,10 +26,11 @@ export function provideLocationStrategy(locationStrategy: NSLocationStrategy, fr
return locationStrategy ? locationStrategy : new NSLocationStrategy(frameService, startPath);
}
+const ROUTER_COMPONENTS = [NSRouterLink, NSRouterLinkActive, PageRouterOutlet, NSEmptyOutletComponent];
+
@NgModule({
- declarations: [NSRouterLink, NSRouterLinkActive, PageRouterOutlet, NSEmptyOutletComponent],
- imports: [RouterModule, NativeScriptCommonModule],
- exports: [RouterModule, NSRouterLink, NSRouterLinkActive, PageRouterOutlet, NSEmptyOutletComponent],
+ imports: [RouterModule, NativeScriptCommonModule, ...ROUTER_COMPONENTS],
+ exports: [RouterModule, ...ROUTER_COMPONENTS],
schemas: [NO_ERRORS_SCHEMA],
})
export class NativeScriptRouterModule {
diff --git a/packages/angular/src/lib/nativescript-common.module.ts b/packages/angular/src/lib/nativescript-common.module.ts
index 67b6b04..e60ee3f 100644
--- a/packages/angular/src/lib/nativescript-common.module.ts
+++ b/packages/angular/src/lib/nativescript-common.module.ts
@@ -15,8 +15,7 @@ const CDK_COMPONENTS = [ActionBarComponent, ActionBarScope, ActionItemDirective,
registerNativeScriptViewComponents();
@NgModule({
- imports: [CommonModule, FramePageModule],
- declarations: [...CDK_COMPONENTS],
+ imports: [CommonModule, FramePageModule, ...CDK_COMPONENTS],
exports: [CommonModule, FramePageModule, ...CDK_COMPONENTS],
providers: [ModalDialogService],
schemas: [NO_ERRORS_SCHEMA],
diff --git a/packages/angular/src/lib/nativescript.ts b/packages/angular/src/lib/nativescript.ts
index 6869502..7fb656d 100644
--- a/packages/angular/src/lib/nativescript.ts
+++ b/packages/angular/src/lib/nativescript.ts
@@ -43,8 +43,7 @@ export const NATIVESCRIPT_MODULE_STATIC_PROVIDERS: StaticProvider[] = [
export const NATIVESCRIPT_MODULE_PROVIDERS: Provider[] = [{ provide: ViewportScroller, useClass: NullViewportScroller }];
@NgModule({
- imports: [ApplicationModule, NativeScriptCommonModule],
- declarations: [DetachedLoader],
+ imports: [ApplicationModule, DetachedLoader, NativeScriptCommonModule],
providers: [...NATIVESCRIPT_MODULE_STATIC_PROVIDERS, ...NATIVESCRIPT_MODULE_PROVIDERS],
exports: [ApplicationModule, DetachedLoader, NativeScriptCommonModule],
schemas: [NO_ERRORS_SCHEMA],