diff --git a/projects/demo-app/src/app/app.component.html b/projects/demo-app/src/app/app.component.html
index b345abc9..cf02c036 100644
--- a/projects/demo-app/src/app/app.component.html
+++ b/projects/demo-app/src/app/app.component.html
@@ -44,6 +44,12 @@
hug/ngx-components Demo
Timpe Picker
+
+
+ dashboard
+ Layout
+
+
diff --git a/projects/demo-app/src/app/app.routes.ts b/projects/demo-app/src/app/app.routes.ts
index 82ffcdc5..aa794470 100644
--- a/projects/demo-app/src/app/app.routes.ts
+++ b/projects/demo-app/src/app/app.routes.ts
@@ -8,5 +8,6 @@ export const appRoutes: Routes = [
{ path: 'snackbar', loadComponent: () => import('./snackbar/snackbar-demo.component').then(m => m.SnackbarDemoComponent), data: { title: 'Snackbar' } },
{ path: 'splitter', loadComponent: () => import('./splitter/splitter-demo.component').then(m => m.SplitterDemoComponent), data: { title: 'Splitter' } },
{ path: 'time-picker', loadComponent: () => import('./time-picker/time-picker-demo.component').then(m => m.TimePickerDemoComponent), data: { title: 'Time Picker' } },
+ { path: 'layout', loadComponent: () => import('./layout/layout-demo.component').then(m => m.LayoutDemoComponent), data: { title: 'Layout' } },
{ path: '**', redirectTo: 'message-box', pathMatch: 'prefix' }
];
diff --git a/projects/demo-app/src/app/layout/layout-demo.component.html b/projects/demo-app/src/app/layout/layout-demo.component.html
new file mode 100644
index 00000000..4cd16226
--- /dev/null
+++ b/projects/demo-app/src/app/layout/layout-demo.component.html
@@ -0,0 +1,44 @@
+
+
+ Accès dossier patient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Layout right
+
+
+
+
+ Info box
+ Info box primary
+ Info box accent
+
+
+ Layout content
+
diff --git a/projects/demo-app/src/app/layout/layout-demo.component.scss b/projects/demo-app/src/app/layout/layout-demo.component.scss
new file mode 100644
index 00000000..ef65ed05
--- /dev/null
+++ b/projects/demo-app/src/app/layout/layout-demo.component.scss
@@ -0,0 +1,18 @@
+@use '@angular/material' as mat;
+
+:host {
+ ngx-layout {
+ .content-container {
+ display: flex;
+ flex: 1 1 auto;
+ padding: 1rem;
+ background: mat.get-color-from-palette(mat.$green-palette, 100);
+ }
+
+ .layout-right-container {
+ display: flex;
+ flex: 1 1 auto;
+ background: mat.get-color-from-palette(mat.$red-palette, 100);
+ }
+ }
+}
diff --git a/projects/demo-app/src/app/layout/layout-demo.component.ts b/projects/demo-app/src/app/layout/layout-demo.component.ts
new file mode 100644
index 00000000..999098a4
--- /dev/null
+++ b/projects/demo-app/src/app/layout/layout-demo.component.ts
@@ -0,0 +1,46 @@
+import { CommonModule } from '@angular/common';
+import { ChangeDetectionStrategy, Component } from '@angular/core';
+import { FormsModule } from '@angular/forms';
+import { MatButtonModule } from '@angular/material/button';
+import { MatIconModule } from '@angular/material/icon';
+import { MatTooltipModule } from '@angular/material/tooltip';
+import { NgxLayoutComponent } from '@hug/ngx-layout';
+import { NgxSearchContainerComponent, NgxSearchInputDirective } from '@hug/ngx-search-container';
+import { NgxStatusService } from '@hug/ngx-status';
+
+@Component({
+ selector: 'app-layout-demo',
+ templateUrl: './layout-demo.component.html',
+ styleUrls: ['./layout-demo.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush,
+ standalone: true,
+ imports: [
+ CommonModule,
+ FormsModule,
+ MatButtonModule,
+ MatIconModule,
+ MatTooltipModule,
+ NgxSearchContainerComponent,
+ NgxSearchInputDirective,
+ NgxLayoutComponent
+ ]
+})
+export class LayoutDemoComponent {
+
+ protected withBackButton = true;
+ protected withCloseButton = true;
+ protected search: string | undefined;
+
+ public constructor(
+ private ngxStatusService: NgxStatusService
+ ) {
+ }
+
+ protected log(msg: string, event?: Event): void {
+ console.log(msg, event);
+ this.ngxStatusService.showStatus({
+ title: msg,
+ type: 'info'
+ });
+ }
+}