@hug/ngx-layout 1.1.3 → 1.1.5

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.
package/CHANGELOG.md CHANGED
@@ -1,16 +1,16 @@
1
- ## 1.1.3 (2024-07-08)
1
+ ## 1.1.5 (2024-07-23)
2
2
 
3
3
 
4
4
  ### 🐛 Fixes
5
5
 
6
- - theming ([79feb6e](https://github.com/DSI-HUG/ngx-components/commit/79feb6e))
6
+ - **ngx-list-loader:** improve encapsulation ([550e79a](https://github.com/DSI-HUG/ngx-components/commit/550e79a))
7
7
 
8
+ - **ngx-layout:** ngx prefix ([d5a4b08](https://github.com/DSI-HUG/ngx-components/commit/d5a4b08))
8
9
 
9
- ### 🌱 Dependencies
10
10
 
11
- - **@hug/ngx-core:** upgrade to v1.1.7 ([b0f15b9](https://github.com/DSI-HUG/ngx-components/commit/b0f15b9))
11
+ ### 🌱 Dependencies
12
12
 
13
- - **@hug/ngx-sidenav:** upgrade to v1.1.2 ([92ee575](https://github.com/DSI-HUG/ngx-components/commit/92ee575))
13
+ - **@hug/ngx-sidenav:** upgrade to v1.1.3 ([3d9afa7](https://github.com/DSI-HUG/ngx-components/commit/3d9afa7))
14
14
 
15
15
 
16
16
  ### ❤️ Thank You
@@ -18,14 +18,47 @@
18
18
  - dsi-hug-bot @dsi-hug-bot
19
19
  - Serge
20
20
 
21
- ## 1.1.0 (2024-06-26)
21
+ ## 1.1.4 (2024-07-23)
22
22
 
23
23
 
24
- ### 🚀 Features
24
+ ### 🐛 Fixes
25
25
 
26
- - **layout:** first commit ([70a9056](https://github.com/DSI-HUG/ngx-components/commit/70a9056))
26
+ - **ngx-layout:** use inject ([b44b216](https://github.com/DSI-HUG/ngx-components/commit/b44b216))
27
+
28
+
29
+ ### 🌱 Dependencies
30
+
31
+ - **@hug/ngx-core:** upgrade to v1.1.8 ([26f0d10](https://github.com/DSI-HUG/ngx-components/commit/26f0d10))
27
32
 
28
33
 
29
34
  ### ❤️ Thank You
30
35
 
31
- - Badisi
36
+ - dsi-hug-bot @dsi-hug-bot
37
+ - Serge
38
+
39
+ ## 1.1.3 (2024-07-08)
40
+
41
+ ### 🐛 Fixes
42
+
43
+ - theming ([79feb6e](https://github.com/DSI-HUG/ngx-components/commit/79feb6e))
44
+
45
+ ### 🌱 Dependencies
46
+
47
+ - **@hug/ngx-core:** upgrade to v1.1.7 ([b0f15b9](https://github.com/DSI-HUG/ngx-components/commit/b0f15b9))
48
+
49
+ - **@hug/ngx-sidenav:** upgrade to v1.1.2 ([92ee575](https://github.com/DSI-HUG/ngx-components/commit/92ee575))
50
+
51
+ ### ❤️ Thank You
52
+
53
+ - dsi-hug-bot @dsi-hug-bot
54
+ - Serge
55
+
56
+ ## 1.1.0 (2024-06-26)
57
+
58
+ ### 🚀 Features
59
+
60
+ - **layout:** first commit ([70a9056](https://github.com/DSI-HUG/ngx-components/commit/70a9056))
61
+
62
+ ### ❤️ Thank You
63
+
64
+ - Badisi
package/README.md CHANGED
@@ -1,5 +1,4 @@
1
- @hug/layout
2
- =======
1
+ # @hug/layout
3
2
 
4
3
  The sources for this package are in the main [DSI-HUG/ngx-components](https://github.com/dsi-hug/ngx-components) repo. Please file issues and pull requests against that repo.
5
4
 
@@ -1,4 +1,4 @@
1
- @use '@angular/material'as mat;
1
+ @use '@angular/material' as mat;
2
2
 
3
3
  @mixin theme($theme) {
4
4
  $primary: map-get($theme, primary);
@@ -6,7 +6,7 @@
6
6
  $background: map-get($theme, background);
7
7
  $foreground: map-get($theme, foreground);
8
8
 
9
- layout>.mat-toolbar.mat-primary {
9
+ ngx-layout > .mat-toolbar.mat-primary {
10
10
  background-color: mat.get-color-from-palette($primary, darker);
11
11
  color: mat.get-color-from-palette($primary, darker-contrast);
12
12
 
@@ -24,7 +24,7 @@
24
24
  }
25
25
  }
26
26
 
27
- layout {
27
+ ngx-layout {
28
28
  mat-drawer {
29
29
  &.right {
30
30
  [filters-title] {
@@ -86,7 +86,7 @@
86
86
  }
87
87
 
88
88
  mat-button-toggle-group {
89
- &:not([filters-toggle-group]):not([color="accent"]):not([color="primary"]) {
89
+ &:not([filters-toggle-group]):not([color='accent']):not([color='primary']) {
90
90
  mat-button-toggle {
91
91
  button {
92
92
  .mat-button-toggle-label-content {
@@ -1,24 +1,22 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
2
  import { CommonModule } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
4
4
  import { MatButtonModule } from '@angular/material/button';
5
5
  import { MatIconModule } from '@angular/material/icon';
6
6
  import { MatSidenavModule } from '@angular/material/sidenav';
7
7
  import { MatToolbarModule } from '@angular/material/toolbar';
8
8
  import { MatTooltipModule } from '@angular/material/tooltip';
9
+ import { NgxMediaService } from '@hug/ngx-core';
10
+ import { NgxSidenavService } from '@hug/ngx-sidenav';
9
11
  import * as i0 from "@angular/core";
10
- import * as i1 from "@hug/ngx-core";
11
- import * as i2 from "@hug/ngx-sidenav";
12
- import * as i3 from "@angular/common";
13
- import * as i4 from "@angular/material/button";
14
- import * as i5 from "@angular/material/icon";
15
- import * as i6 from "@angular/material/sidenav";
16
- import * as i7 from "@angular/material/toolbar";
17
- import * as i8 from "@angular/material/tooltip";
18
- export class LayoutComponent {
19
- constructor(mediaService, sidenavService) {
20
- this.mediaService = mediaService;
21
- this.sidenavService = sidenavService;
12
+ import * as i1 from "@angular/common";
13
+ import * as i2 from "@angular/material/button";
14
+ import * as i3 from "@angular/material/icon";
15
+ import * as i4 from "@angular/material/sidenav";
16
+ import * as i5 from "@angular/material/toolbar";
17
+ import * as i6 from "@angular/material/tooltip";
18
+ export class NgxLayoutComponent {
19
+ constructor() {
22
20
  this.toolbarColor = 'primary';
23
21
  this.editorToolbarId = 'editor-toolbar';
24
22
  this.closeButtonLabel = 'Fermer';
@@ -28,6 +26,8 @@ export class LayoutComponent {
28
26
  this.sideFilterClosed = new EventEmitter();
29
27
  this.sideFilterOpened = new EventEmitter();
30
28
  this.noRight = false;
29
+ this.mediaService = inject(NgxMediaService);
30
+ this.sidenavService = inject(NgxSidenavService);
31
31
  this._withEditorToolbar = true;
32
32
  this._withSidenav = false;
33
33
  this._keepFilterButtonDisplayed = true;
@@ -95,19 +95,19 @@ export class LayoutComponent {
95
95
  void this.sideFilter?.open();
96
96
  }
97
97
  }
98
- LayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.MediaService }, { token: i2.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
99
- LayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LayoutComponent, isStandalone: true, selector: "layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, decorators: [{
98
+ NgxLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
99
+ NgxLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgxLayoutComponent, isStandalone: true, selector: "ngx-layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i4.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i4.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i4.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
100
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, decorators: [{
101
101
  type: Component,
102
- args: [{ selector: 'layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
102
+ args: [{ selector: 'ngx-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
103
103
  CommonModule,
104
104
  MatButtonModule,
105
105
  MatIconModule,
106
106
  MatSidenavModule,
107
107
  MatToolbarModule,
108
108
  MatTooltipModule
109
- ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
110
- }], ctorParameters: function () { return [{ type: i1.MediaService }, { type: i2.SidenavService }]; }, propDecorators: { toolbarColor: [{
109
+ ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
110
+ }], propDecorators: { toolbarColor: [{
111
111
  type: Input
112
112
  }], editorToolbarId: [{
113
113
  type: Input
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
167
167
  }], displayEditorToolbar: [{
168
168
  type: Input
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFlLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBYSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7O0FBb0I3RCxNQUFNLE9BQU8sZUFBZTtJQWtIeEIsWUFDYyxZQUEwQixFQUMxQixjQUE4QjtRQUQ5QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFuSDVCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsZ0JBQWdCLENBQUM7UUFFbkMscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsUUFBUSxDQUFDO1FBUWpCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7UUFD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QUFTO3VCQUFDLFlBQVk7Z0JBMkJaLGlCQUFpQjtzQkFEM0IsS0FBSztnQkFZSyxXQUFXO3NCQURyQixLQUFLO2dCQVdLLHlCQUF5QjtzQkFEbkMsS0FBSztnQkFXSyxlQUFlO3NCQUR6QixLQUFLO2dCQVlLLGNBQWM7c0JBRHhCLEtBQUs7Z0JBWUssb0JBQW9CO3NCQUQ5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXREcmF3ZXIsIE1hdFNpZGVuYXZNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1lZGlhU2VydmljZSB9IGZyb20gJ0BodWcvbmd4LWNvcmUnO1xuaW1wb3J0IHsgU2lkZW5hdlNlcnZpY2UgfSBmcm9tICdAaHVnL25neC1zaWRlbmF2JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRTaWRlbmF2TW9kdWxlLFxuICAgICAgICBNYXRUb29sYmFyTW9kdWxlLFxuICAgICAgICBNYXRUb29sdGlwTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBMYXlvdXRDb21wb25lbnQge1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sYmFyQ29sb3IgPSAncHJpbWFyeSc7XG4gICAgQElucHV0KCkgcHVibGljIGVkaXRvclRvb2xiYXJJZCA9ICdlZGl0b3ItdG9vbGJhcic7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgY2xvc2VCdXR0b25MYWJlbCA9ICdGZXJtZXInO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBiYWNrQnV0dG9uTGFiZWwgPSAnUmV0b3VyJztcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRUb29sYmFyRXh0ZXJuYWw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0UHJpbWFyeUFjdGlvbkV4dGVybmFsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQElucHV0KCkgcHVibGljIGxheW91dEFjdGlvbnNFeHRlcm5hbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRJbmZvQm94ZXNFeHRlcm5hbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRSaWdodEV4dGVybmFsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGNsb3NlQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGJhY2tCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2lkZUZpbHRlckNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNpZGVGaWx0ZXJPcGVuZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKCdsYXlvdXRUb29sYmFyJykgcHJvdGVjdGVkIGxheW91dFRvb2xiYXJDb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQENvbnRlbnRDaGlsZCgnbGF5b3V0UHJpbWFyeUFjdGlvbicpIHByb3RlY3RlZCBsYXlvdXRQcmltYXJ5QWN0aW9uQ29udGVudD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBDb250ZW50Q2hpbGQoJ2xheW91dEFjdGlvbnMnKSBwcm90ZWN0ZWQgbGF5b3V0QWN0aW9uc0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBAQ29udGVudENoaWxkKCdsYXlvdXRJbmZvQm94ZXMnKSBwcm90ZWN0ZWQgbGF5b3V0SW5mb0JveGVzQ29udGVudD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBDb250ZW50Q2hpbGQoJ2xheW91dFJpZ2h0JykgcHJvdGVjdGVkIGxheW91dFJpZ2h0Q29udGVudD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5uby1yaWdodCcpIHByb3RlY3RlZCBub1JpZ2h0ID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKCdzaWRlRmlsdGVyJykgcHJvdGVjdGVkIHNpZGVGaWx0ZXI/OiBNYXREcmF3ZXI7XG5cbiAgICBwcml2YXRlIF93aXRoRWRpdG9yVG9vbGJhciA9IHRydWU7XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFRvb2xiYXIoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUb29sYmFyRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRUb29sYmFyQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFByaW1hcnlBY3Rpb24oKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRQcmltYXJ5QWN0aW9uRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRQcmltYXJ5QWN0aW9uQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dEFjdGlvbnMoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRBY3Rpb25zRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRBY3Rpb25zQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dEluZm9Cb3hlcygpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dEluZm9Cb3hlc0V4dGVybmFsID8/IHRoaXMubGF5b3V0SW5mb0JveGVzQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFJpZ2h0KCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmxheW91dFJpZ2h0RXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRSaWdodENvbnRlbnQ7XG4gICAgICAgIHRoaXMubm9SaWdodCA9ICF2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoRWRpdG9yVG9vbGJhcih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3dpdGhFZGl0b3JUb29sYmFyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpdGhFZGl0b3JUb29sYmFyKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoRWRpdG9yVG9vbGJhcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF93aXRoU2lkZW5hdiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IHdpdGhTaWRlbmF2KHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fd2l0aFNpZGVuYXYgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2l0aFNpZGVuYXYoKTogQm9vbGVhbklucHV0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dpdGhTaWRlbmF2O1xuICAgIH1cblxuICAgIHByaXZhdGUgX2tlZXBGaWx0ZXJCdXR0b25EaXNwbGF5ZWQgPSB0cnVlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBrZWVwRmlsdGVyQnV0dG9uRGlzcGxheWVkKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fa2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBrZWVwRmlsdGVyQnV0dG9uRGlzcGxheWVkKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9rZWVwRmlsdGVyQnV0dG9uRGlzcGxheWVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3dpdGhDbG9zZUJ1dHRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoQ2xvc2VCdXR0b24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl93aXRoQ2xvc2VCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2l0aENsb3NlQnV0dG9uKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoQ2xvc2VCdXR0b247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfd2l0aEJhY2tCdXR0b24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoQmFja0J1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3dpdGhCYWNrQnV0dG9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpdGhCYWNrQnV0dG9uKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoQmFja0J1dHRvbjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9kaXNwbGF5RWRpdG9yVG9vbGJhciA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZGlzcGxheUVkaXRvclRvb2xiYXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl9kaXNwbGF5RWRpdG9yVG9vbGJhciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkaXNwbGF5RWRpdG9yVG9vbGJhcigpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheUVkaXRvclRvb2xiYXI7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VTaWRlRmlsdGVyKCk6IHZvaWQge1xuICAgICAgICB2b2lkIHRoaXMuc2lkZUZpbHRlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblNpZGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIHZvaWQgdGhpcy5zaWRlRmlsdGVyPy5vcGVuKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlclwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktYWN0aW9uLWNvbnRhaW5lclwiIFtjbGFzcy5ib3R0b21dPVwiKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpXCIgKm5nSWY9XCJsYXlvdXRQcmltYXJ5QWN0aW9uICYmICEoKGxheW91dEFjdGlvbnMgfHwgbGF5b3V0SW5mb0JveGVzKSAmJiAoKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID09PSBmYWxzZSkpXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0UHJpbWFyeUFjdGlvblwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgJiYgYWN0aW9uc1Rvb2xiYXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUb29sYmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FjdGlvbnNUb29sYmFyPlxuICAgIDxtYXQtdG9vbGJhciBpZD1cImFjdGlvbnMtdG9vbGJhclwiIGNsYXNzPVwiYWN0aW9uc1wiIFtjb2xvcl09XCJ0b29sYmFyQ29sb3JcIiBbY2xhc3MuYm90dG9tXT1cIihtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktYWN0aW9uLWNvbnRhaW5lclwiICpuZ0lmPVwibGF5b3V0UHJpbWFyeUFjdGlvbiAmJiAobGF5b3V0QWN0aW9ucyB8fCBsYXlvdXRJbmZvQm94ZXMpICYmICgobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPT09IGZhbHNlKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dFByaW1hcnlBY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0QWN0aW9uc1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1ib3hlcy1jb250YWluZXJcIiAqbmdJZj1cImxheW91dEluZm9Cb3hlcyAmJiAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0SW5mb0JveGVzXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsdGVyPlxuICAgIDxtYXQtdG9vbGJhciBpZD1cInRvb2xiYXJcIiBbY29sb3JdPVwidG9vbGJhckNvbG9yXCIgKm5nSWY9XCJsYXlvdXRUb29sYmFyIHx8IGxheW91dFJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwic2lkZW5hdi1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ3aXRoU2lkZW5hdiAmJiAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgJiYgKChzaWRlbmF2U2VydmljZS5vcGVuQ2hhbmdlZCQgfCBhc3luYykgPT09IGZhbHNlKVwiIChjbGljayk9XCJzaWRlbmF2U2VydmljZS50b2dnbGUoKVwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPm1lbnU8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJiYWNrLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIndpdGhCYWNrQnV0dG9uXCIgKGNsaWNrKT1cInRoaXMuYmFja0J1dHRvbkNsaWNrZWQuZW1pdCgkZXZlbnQpXCIgW21hdFRvb2x0aXBdPVwiYmFja0J1dHRvbkxhYmVsXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGlkPVwidG9vbGJhci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFRvb2xiYXJcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0VG9vbGJhclwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiZmlsdGVyLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic2lkZUZpbHRlci50b2dnbGUoKVwiICpuZ0lmPVwic2lkZUZpbHRlciAmJiAoa2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCB8fCAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykpICYmIGxheW91dFJpZ2h0XCIgbWF0VG9vbHRpcD1cIkFmZmljaGVyL01hc3F1ZXIgbGVzIGZpbHRyZXNcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiY2xvc2UtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uICpuZ0lmPVwid2l0aENsb3NlQnV0dG9uXCIgKGNsaWNrKT1cInRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiIFttYXRUb29sdGlwXT1cImNsb3NlQnV0dG9uTGFiZWxcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LXRvb2xiYXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihsYXlvdXRBY3Rpb25zIHx8IGxheW91dEluZm9Cb3hlcykgJiYgKChtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2UpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxtYXQtZHJhd2VyLWNvbnRhaW5lciAqbmdJZj1cImxheW91dFJpZ2h0OyBlbHNlIGNvbnRlbnRcIiBhdXRvc2l6ZT1cInRydWVcIj5cbiAgICAgICAgPG1hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbWF0LWRyYXdlci1jb250ZW50PlxuICAgICAgICA8bWF0LWRyYXdlciBpZD1cInNpZGUtZmlsdGVyXCIgI3NpZGVGaWx0ZXIgKGNsb3NlZCk9XCJzaWRlRmlsdGVyQ2xvc2VkLmVtaXQoKVwiIChvcGVuZWRDaGFuZ2UpPVwic2lkZUZpbHRlck9wZW5lZC5lbWl0KClcIiBjbGFzcz1cInJpZ2h0XCIgcG9zaXRpb249XCJlbmRcIiBbYXR0ci5yb2xlXT1cIihtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA/ICdkaWFsb2cnIDogJ25hdmlnYXRpb24nXCIgW21vZGVdPVwiKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID8gJ292ZXInIDogJ3NpZGUnXCIgW29wZW5lZF09XCIobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0UmlnaHRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L21hdC1kcmF3ZXI+XG4gICAgPC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUssT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQWEsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7OztBQWtCckQsTUFBTSxPQUFPLGtCQUFrQjtJQWhCL0I7UUFpQm9CLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLG9CQUFlLEdBQUcsZ0JBQWdCLENBQUM7UUFFbkMscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQzVCLG9CQUFlLEdBQUcsUUFBUSxDQUFDO1FBUWpCLHVCQUFrQixHQUFHLElBQUks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QVk7dUJBQUMsaUJBQWlCO2dCQUNRLGtCQUFrQjtzQkFBeEQsWUFBWTt1QkFBQyxhQUFhO2dCQUVjLE9BQU87c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUVNLFVBQVU7c0JBQTVDLFNBQVM7dUJBQUMsWUFBWTtnQkE4QlosaUJBQWlCO3NCQUQzQixLQUFLO2dCQVlLLFdBQVc7c0JBRHJCLEtBQUs7Z0JBV0sseUJBQXlCO3NCQURuQyxLQUFLO2dCQVdLLGVBQWU7c0JBRHpCLEtBQUs7Z0JBWUssY0FBYztzQkFEeEIsS0FBSztnQkFZSyxvQkFBb0I7c0JBRDlCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0RHJhd2VyLCBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBNYXRUb29sYmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ3hNZWRpYVNlcnZpY2UgfSBmcm9tICdAaHVnL25neC1jb3JlJztcbmltcG9ydCB7IE5neFNpZGVuYXZTZXJ2aWNlIH0gZnJvbSAnQGh1Zy9uZ3gtc2lkZW5hdic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgICAgIE1hdFRvb2xiYXJNb2R1bGUsXG4gICAgICAgIE1hdFRvb2x0aXBNb2R1bGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neExheW91dENvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2xiYXJDb2xvciA9ICdwcmltYXJ5JztcbiAgICBASW5wdXQoKSBwdWJsaWMgZWRpdG9yVG9vbGJhcklkID0gJ2VkaXRvci10b29sYmFyJztcblxuICAgIEBJbnB1dCgpIHB1YmxpYyBjbG9zZUJ1dHRvbkxhYmVsID0gJ0Zlcm1lcic7XG4gICAgQElucHV0KCkgcHVibGljIGJhY2tCdXR0b25MYWJlbCA9ICdSZXRvdXInO1xuXG4gICAgQElucHV0KCkgcHVibGljIGxheW91dFRvb2xiYXJFeHRlcm5hbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRQcmltYXJ5QWN0aW9uRXh0ZXJuYWw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0QWN0aW9uc0V4dGVybmFsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQElucHV0KCkgcHVibGljIGxheW91dEluZm9Cb3hlc0V4dGVybmFsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQElucHV0KCkgcHVibGljIGxheW91dFJpZ2h0RXh0ZXJuYWw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgY2xvc2VCdXR0b25DbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgYmFja0J1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzaWRlRmlsdGVyQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgc2lkZUZpbHRlck9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2xheW91dFRvb2xiYXInKSBwcm90ZWN0ZWQgbGF5b3V0VG9vbGJhckNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBAQ29udGVudENoaWxkKCdsYXlvdXRQcmltYXJ5QWN0aW9uJykgcHJvdGVjdGVkIGxheW91dFByaW1hcnlBY3Rpb25Db250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQENvbnRlbnRDaGlsZCgnbGF5b3V0QWN0aW9ucycpIHByb3RlY3RlZCBsYXlvdXRBY3Rpb25zQ29udGVudD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBDb250ZW50Q2hpbGQoJ2xheW91dEluZm9Cb3hlcycpIHByb3RlY3RlZCBsYXlvdXRJbmZvQm94ZXNDb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQENvbnRlbnRDaGlsZCgnbGF5b3V0UmlnaHQnKSBwcm90ZWN0ZWQgbGF5b3V0UmlnaHRDb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLXJpZ2h0JykgcHJvdGVjdGVkIG5vUmlnaHQgPSBmYWxzZTtcblxuICAgIEBWaWV3Q2hpbGQoJ3NpZGVGaWx0ZXInKSBwcm90ZWN0ZWQgc2lkZUZpbHRlcj86IE1hdERyYXdlcjtcblxuICAgIHByb3RlY3RlZCBtZWRpYVNlcnZpY2UgPSBpbmplY3QoTmd4TWVkaWFTZXJ2aWNlKTtcbiAgICBwcm90ZWN0ZWQgc2lkZW5hdlNlcnZpY2UgPSBpbmplY3QoTmd4U2lkZW5hdlNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSBfd2l0aEVkaXRvclRvb2xiYXIgPSB0cnVlO1xuXG4gICAgcHVibGljIGdldCBsYXlvdXRUb29sYmFyKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0VG9vbGJhckV4dGVybmFsID8/IHRoaXMubGF5b3V0VG9vbGJhckNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYXlvdXRQcmltYXJ5QWN0aW9uKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0UHJpbWFyeUFjdGlvbkV4dGVybmFsID8/IHRoaXMubGF5b3V0UHJpbWFyeUFjdGlvbkNvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYXlvdXRBY3Rpb25zKCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGF5b3V0QWN0aW9uc0V4dGVybmFsID8/IHRoaXMubGF5b3V0QWN0aW9uc0NvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYXlvdXRJbmZvQm94ZXMoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRJbmZvQm94ZXNFeHRlcm5hbCA/PyB0aGlzLmxheW91dEluZm9Cb3hlc0NvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYXlvdXRSaWdodCgpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5sYXlvdXRSaWdodEV4dGVybmFsID8/IHRoaXMubGF5b3V0UmlnaHRDb250ZW50O1xuICAgICAgICB0aGlzLm5vUmlnaHQgPSAhdmFsdWU7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgd2l0aEVkaXRvclRvb2xiYXIodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl93aXRoRWRpdG9yVG9vbGJhciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3aXRoRWRpdG9yVG9vbGJhcigpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aEVkaXRvclRvb2xiYXI7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfd2l0aFNpZGVuYXYgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoU2lkZW5hdih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3dpdGhTaWRlbmF2ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpdGhTaWRlbmF2KCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoU2lkZW5hdjtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9rZWVwRmlsdGVyQnV0dG9uRGlzcGxheWVkID0gdHJ1ZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQga2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2tlZXBGaWx0ZXJCdXR0b25EaXNwbGF5ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQga2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCgpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fa2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF93aXRoQ2xvc2VCdXR0b24gPSBmYWxzZTtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgd2l0aENsb3NlQnV0dG9uKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fd2l0aENsb3NlQnV0dG9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpdGhDbG9zZUJ1dHRvbigpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aENsb3NlQnV0dG9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3dpdGhCYWNrQnV0dG9uID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgd2l0aEJhY2tCdXR0b24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl93aXRoQmFja0J1dHRvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3aXRoQmFja0J1dHRvbigpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aEJhY2tCdXR0b247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzcGxheUVkaXRvclRvb2xiYXIgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGRpc3BsYXlFZGl0b3JUb29sYmFyKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICAgICAgdGhpcy5fZGlzcGxheUVkaXRvclRvb2xiYXIgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheUVkaXRvclRvb2xiYXIoKTogQm9vbGVhbklucHV0IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlFZGl0b3JUb29sYmFyO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbG9zZVNpZGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIHZvaWQgdGhpcy5zaWRlRmlsdGVyPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuU2lkZUZpbHRlcigpOiB2b2lkIHtcbiAgICAgICAgdm9pZCB0aGlzLnNpZGVGaWx0ZXI/Lm9wZW4oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyXCI+PC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbWFyeS1hY3Rpb24tY29udGFpbmVyXCIgW2NsYXNzLmJvdHRvbV09XCJtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jXCIgKm5nSWY9XCJsYXlvdXRQcmltYXJ5QWN0aW9uICYmICEoKGxheW91dEFjdGlvbnMgfHwgbGF5b3V0SW5mb0JveGVzKSAmJiAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPT09IGZhbHNlKVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dFByaW1hcnlBY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpICYmIGFjdGlvbnNUb29sYmFyXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJhY3Rpb25zVG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhY3Rpb25zVG9vbGJhcj5cbiAgICA8bWF0LXRvb2xiYXIgaWQ9XCJhY3Rpb25zLXRvb2xiYXJcIiBjbGFzcz1cImFjdGlvbnNcIiBbY29sb3JdPVwidG9vbGJhckNvbG9yXCIgW2NsYXNzLmJvdHRvbV09XCJtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbWFyeS1hY3Rpb24tY29udGFpbmVyXCIgKm5nSWY9XCJsYXlvdXRQcmltYXJ5QWN0aW9uICYmIChsYXlvdXRBY3Rpb25zIHx8IGxheW91dEluZm9Cb3hlcykgJiYgKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID09PSBmYWxzZVwiPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dFByaW1hcnlBY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRBY3Rpb25zXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0QWN0aW9uc1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5mby1ib3hlcy1jb250YWluZXJcIiAqbmdJZj1cImxheW91dEluZm9Cb3hlcyAmJiAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPT09IGZhbHNlXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0SW5mb0JveGVzXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtdG9vbGJhcj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZmlsdGVyPlxuICAgIDxtYXQtdG9vbGJhciBpZD1cInRvb2xiYXJcIiBbY29sb3JdPVwidG9vbGJhckNvbG9yXCIgKm5nSWY9XCJsYXlvdXRUb29sYmFyIHx8IGxheW91dFJpZ2h0XCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwic2lkZW5hdi1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ3aXRoU2lkZW5hdiAmJiAobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgJiYgKHNpZGVuYXZTZXJ2aWNlLm9wZW5DaGFuZ2VkJCB8IGFzeW5jKSA9PT0gZmFsc2VcIiAoY2xpY2spPVwic2lkZW5hdlNlcnZpY2UudG9nZ2xlKClcIj5cbiAgICAgICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwiYmFjay1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKm5nSWY9XCJ3aXRoQmFja0J1dHRvblwiIChjbGljayk9XCJ0aGlzLmJhY2tCdXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiIFttYXRUb29sdGlwXT1cImJhY2tCdXR0b25MYWJlbFwiPlxuICAgICAgICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBpZD1cInRvb2xiYXItY29udGVudC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYXlvdXRUb29sYmFyXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dFRvb2xiYXJcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImZpbHRlci1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNpZGVGaWx0ZXIudG9nZ2xlKClcIiAqbmdJZj1cInNpZGVGaWx0ZXIgJiYgKGtlZXBGaWx0ZXJCdXR0b25EaXNwbGF5ZWQgfHwgKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpKSAmJiBsYXlvdXRSaWdodFwiIG1hdFRvb2x0aXA9XCJBZmZpY2hlci9NYXNxdWVyIGxlcyBmaWx0cmVzXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+dHVuZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBpZD1cImNsb3NlLWJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cIndpdGhDbG9zZUJ1dHRvblwiIChjbGljayk9XCJ0aGlzLmNsb3NlQnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudClcIiBbbWF0VG9vbHRpcF09XCJjbG9zZUJ1dHRvbkxhYmVsXCI+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L21hdC10b29sYmFyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIobGF5b3V0QWN0aW9ucyB8fCBsYXlvdXRJbmZvQm94ZXMpICYmIChtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUb29sYmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG1hdC1kcmF3ZXItY29udGFpbmVyICpuZ0lmPVwibGF5b3V0UmlnaHQ7IGVsc2UgY29udGVudFwiIGF1dG9zaXplPVwidHJ1ZVwiPlxuICAgICAgICA8bWF0LWRyYXdlci1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9tYXQtZHJhd2VyLWNvbnRlbnQ+XG4gICAgICAgIDxtYXQtZHJhd2VyIGlkPVwic2lkZS1maWx0ZXJcIiAjc2lkZUZpbHRlciAoY2xvc2VkKT1cInNpZGVGaWx0ZXJDbG9zZWQuZW1pdCgpXCIgKG9wZW5lZENoYW5nZSk9XCJzaWRlRmlsdGVyT3BlbmVkLmVtaXQoKVwiIGNsYXNzPVwicmlnaHRcIiBwb3NpdGlvbj1cImVuZFwiIFthdHRyLnJvbGVdPVwiKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID8gJ2RpYWxvZycgOiAnbmF2aWdhdGlvbidcIiBbbW9kZV09XCIobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPyAnb3ZlcicgOiAnc2lkZSdcIiBbb3BlbmVkXT1cIihtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsYXlvdXRSaWdodFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbWF0LWRyYXdlcj5cbiAgICA8L21hdC1kcmF3ZXItY29udGFpbmVyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -1,25 +1,23 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import * as i3 from '@angular/common';
2
+ import * as i1 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, HostBinding, ViewChild } from '@angular/core';
6
- import * as i4 from '@angular/material/button';
5
+ import { EventEmitter, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, HostBinding, ViewChild } from '@angular/core';
6
+ import * as i2 from '@angular/material/button';
7
7
  import { MatButtonModule } from '@angular/material/button';
8
- import * as i5 from '@angular/material/icon';
8
+ import * as i3 from '@angular/material/icon';
9
9
  import { MatIconModule } from '@angular/material/icon';
10
- import * as i6 from '@angular/material/sidenav';
10
+ import * as i4 from '@angular/material/sidenav';
11
11
  import { MatSidenavModule } from '@angular/material/sidenav';
12
- import * as i7 from '@angular/material/toolbar';
12
+ import * as i5 from '@angular/material/toolbar';
13
13
  import { MatToolbarModule } from '@angular/material/toolbar';
14
- import * as i8 from '@angular/material/tooltip';
14
+ import * as i6 from '@angular/material/tooltip';
15
15
  import { MatTooltipModule } from '@angular/material/tooltip';
16
- import * as i1 from '@hug/ngx-core';
17
- import * as i2 from '@hug/ngx-sidenav';
16
+ import { NgxMediaService } from '@hug/ngx-core';
17
+ import { NgxSidenavService } from '@hug/ngx-sidenav';
18
18
 
19
- class LayoutComponent {
20
- constructor(mediaService, sidenavService) {
21
- this.mediaService = mediaService;
22
- this.sidenavService = sidenavService;
19
+ class NgxLayoutComponent {
20
+ constructor() {
23
21
  this.toolbarColor = 'primary';
24
22
  this.editorToolbarId = 'editor-toolbar';
25
23
  this.closeButtonLabel = 'Fermer';
@@ -29,6 +27,8 @@ class LayoutComponent {
29
27
  this.sideFilterClosed = new EventEmitter();
30
28
  this.sideFilterOpened = new EventEmitter();
31
29
  this.noRight = false;
30
+ this.mediaService = inject(NgxMediaService);
31
+ this.sidenavService = inject(NgxSidenavService);
32
32
  this._withEditorToolbar = true;
33
33
  this._withSidenav = false;
34
34
  this._keepFilterButtonDisplayed = true;
@@ -103,19 +103,19 @@ class LayoutComponent {
103
103
  void ((_a = this.sideFilter) === null || _a === void 0 ? void 0 : _a.open());
104
104
  }
105
105
  }
106
- LayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.MediaService }, { token: i2.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
107
- LayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LayoutComponent, isStandalone: true, selector: "layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, decorators: [{
106
+ NgxLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
+ NgxLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgxLayoutComponent, isStandalone: true, selector: "ngx-layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i4.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i4.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i4.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, decorators: [{
109
109
  type: Component,
110
- args: [{ selector: 'layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
110
+ args: [{ selector: 'ngx-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
111
111
  CommonModule,
112
112
  MatButtonModule,
113
113
  MatIconModule,
114
114
  MatSidenavModule,
115
115
  MatToolbarModule,
116
116
  MatTooltipModule
117
- ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
118
- }], ctorParameters: function () { return [{ type: i1.MediaService }, { type: i2.SidenavService }]; }, propDecorators: { toolbarColor: [{
117
+ ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
118
+ }], propDecorators: { toolbarColor: [{
119
119
  type: Input
120
120
  }], editorToolbarId: [{
121
121
  type: Input
@@ -180,5 +180,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
180
180
  * Generated bundle index. Do not edit.
181
181
  */
182
182
 
183
- export { LayoutComponent };
183
+ export { NgxLayoutComponent };
184
184
  //# sourceMappingURL=hug-ngx-layout.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hug-ngx-layout.mjs","sources":["../../../projects/layout/src/layout.component.ts","../../../projects/layout/src/layout.component.html","../../../projects/layout/src/hug-ngx-layout.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MediaService } from '@hug/ngx-core';\nimport { SidenavService } from '@hug/ngx-sidenav';\n\n@Component({\n selector: 'layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatToolbarModule,\n MatTooltipModule\n ]\n})\nexport class LayoutComponent {\n @Input() public toolbarColor = 'primary';\n @Input() public editorToolbarId = 'editor-toolbar';\n\n @Input() public closeButtonLabel = 'Fermer';\n @Input() public backButtonLabel = 'Retour';\n\n @Input() public layoutToolbarExternal?: TemplateRef<unknown>;\n @Input() public layoutPrimaryActionExternal?: TemplateRef<unknown>;\n @Input() public layoutActionsExternal?: TemplateRef<unknown>;\n @Input() public layoutInfoBoxesExternal?: TemplateRef<unknown>;\n @Input() public layoutRightExternal?: TemplateRef<unknown>;\n\n @Output() public readonly closeButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly backButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly sideFilterClosed = new EventEmitter<void>();\n @Output() public readonly sideFilterOpened = new EventEmitter<void>();\n\n @ContentChild('layoutToolbar') protected layoutToolbarContent?: TemplateRef<unknown>;\n @ContentChild('layoutPrimaryAction') protected layoutPrimaryActionContent?: TemplateRef<unknown>;\n @ContentChild('layoutActions') protected layoutActionsContent?: TemplateRef<unknown>;\n @ContentChild('layoutInfoBoxes') protected layoutInfoBoxesContent?: TemplateRef<unknown>;\n @ContentChild('layoutRight') protected layoutRightContent?: TemplateRef<unknown>;\n\n @HostBinding('class.no-right') protected noRight = false;\n\n @ViewChild('sideFilter') protected sideFilter?: MatDrawer;\n\n private _withEditorToolbar = true;\n\n public get layoutToolbar(): TemplateRef<unknown> | undefined {\n return this.layoutToolbarExternal ?? this.layoutToolbarContent;\n }\n\n public get layoutPrimaryAction(): TemplateRef<unknown> | undefined {\n return this.layoutPrimaryActionExternal ?? this.layoutPrimaryActionContent;\n }\n\n public get layoutActions(): TemplateRef<unknown> | undefined {\n return this.layoutActionsExternal ?? this.layoutActionsContent;\n }\n\n public get layoutInfoBoxes(): TemplateRef<unknown> | undefined {\n return this.layoutInfoBoxesExternal ?? this.layoutInfoBoxesContent;\n }\n\n public get layoutRight(): TemplateRef<unknown> | undefined {\n const value = this.layoutRightExternal ?? this.layoutRightContent;\n this.noRight = !value;\n return value;\n }\n\n @Input()\n public set withEditorToolbar(value: BooleanInput) {\n this._withEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get withEditorToolbar(): BooleanInput {\n return this._withEditorToolbar;\n }\n\n private _withSidenav = false;\n\n @Input()\n public set withSidenav(value: BooleanInput) {\n this._withSidenav = coerceBooleanProperty(value);\n }\n\n public get withSidenav(): BooleanInput {\n return this._withSidenav;\n }\n\n private _keepFilterButtonDisplayed = true;\n @Input()\n public set keepFilterButtonDisplayed(value: BooleanInput) {\n this._keepFilterButtonDisplayed = coerceBooleanProperty(value);\n }\n\n public get keepFilterButtonDisplayed(): BooleanInput {\n return this._keepFilterButtonDisplayed;\n }\n\n private _withCloseButton = false;\n @Input()\n public set withCloseButton(value: BooleanInput) {\n this._withCloseButton = coerceBooleanProperty(value);\n }\n\n public get withCloseButton(): BooleanInput {\n return this._withCloseButton;\n }\n\n private _withBackButton = false;\n\n @Input()\n public set withBackButton(value: BooleanInput) {\n this._withBackButton = coerceBooleanProperty(value);\n }\n\n public get withBackButton(): BooleanInput {\n return this._withBackButton;\n }\n\n private _displayEditorToolbar = true;\n\n @Input()\n public set displayEditorToolbar(value: BooleanInput) {\n this._displayEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get displayEditorToolbar(): BooleanInput {\n return this._displayEditorToolbar;\n }\n\n public constructor(\n protected mediaService: MediaService,\n protected sidenavService: SidenavService\n ) {\n }\n\n public closeSideFilter(): void {\n void this.sideFilter?.close();\n }\n\n public openSideFilter(): void {\n void this.sideFilter?.open();\n }\n}\n","<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hug-ngx-layout.mjs","sources":["../../../projects/layout/src/layout.component.ts","../../../projects/layout/src/layout.component.html","../../../projects/layout/src/hug-ngx-layout.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, inject, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { NgxMediaService } from '@hug/ngx-core';\nimport { NgxSidenavService } from '@hug/ngx-sidenav';\n\n@Component({\n selector: 'ngx-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatToolbarModule,\n MatTooltipModule\n ]\n})\nexport class NgxLayoutComponent {\n @Input() public toolbarColor = 'primary';\n @Input() public editorToolbarId = 'editor-toolbar';\n\n @Input() public closeButtonLabel = 'Fermer';\n @Input() public backButtonLabel = 'Retour';\n\n @Input() public layoutToolbarExternal?: TemplateRef<unknown>;\n @Input() public layoutPrimaryActionExternal?: TemplateRef<unknown>;\n @Input() public layoutActionsExternal?: TemplateRef<unknown>;\n @Input() public layoutInfoBoxesExternal?: TemplateRef<unknown>;\n @Input() public layoutRightExternal?: TemplateRef<unknown>;\n\n @Output() public readonly closeButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly backButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly sideFilterClosed = new EventEmitter<void>();\n @Output() public readonly sideFilterOpened = new EventEmitter<void>();\n\n @ContentChild('layoutToolbar') protected layoutToolbarContent?: TemplateRef<unknown>;\n @ContentChild('layoutPrimaryAction') protected layoutPrimaryActionContent?: TemplateRef<unknown>;\n @ContentChild('layoutActions') protected layoutActionsContent?: TemplateRef<unknown>;\n @ContentChild('layoutInfoBoxes') protected layoutInfoBoxesContent?: TemplateRef<unknown>;\n @ContentChild('layoutRight') protected layoutRightContent?: TemplateRef<unknown>;\n\n @HostBinding('class.no-right') protected noRight = false;\n\n @ViewChild('sideFilter') protected sideFilter?: MatDrawer;\n\n protected mediaService = inject(NgxMediaService);\n protected sidenavService = inject(NgxSidenavService);\n\n private _withEditorToolbar = true;\n\n public get layoutToolbar(): TemplateRef<unknown> | undefined {\n return this.layoutToolbarExternal ?? this.layoutToolbarContent;\n }\n\n public get layoutPrimaryAction(): TemplateRef<unknown> | undefined {\n return this.layoutPrimaryActionExternal ?? this.layoutPrimaryActionContent;\n }\n\n public get layoutActions(): TemplateRef<unknown> | undefined {\n return this.layoutActionsExternal ?? this.layoutActionsContent;\n }\n\n public get layoutInfoBoxes(): TemplateRef<unknown> | undefined {\n return this.layoutInfoBoxesExternal ?? this.layoutInfoBoxesContent;\n }\n\n public get layoutRight(): TemplateRef<unknown> | undefined {\n const value = this.layoutRightExternal ?? this.layoutRightContent;\n this.noRight = !value;\n return value;\n }\n\n @Input()\n public set withEditorToolbar(value: BooleanInput) {\n this._withEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get withEditorToolbar(): BooleanInput {\n return this._withEditorToolbar;\n }\n\n private _withSidenav = false;\n\n @Input()\n public set withSidenav(value: BooleanInput) {\n this._withSidenav = coerceBooleanProperty(value);\n }\n\n public get withSidenav(): BooleanInput {\n return this._withSidenav;\n }\n\n private _keepFilterButtonDisplayed = true;\n @Input()\n public set keepFilterButtonDisplayed(value: BooleanInput) {\n this._keepFilterButtonDisplayed = coerceBooleanProperty(value);\n }\n\n public get keepFilterButtonDisplayed(): BooleanInput {\n return this._keepFilterButtonDisplayed;\n }\n\n private _withCloseButton = false;\n @Input()\n public set withCloseButton(value: BooleanInput) {\n this._withCloseButton = coerceBooleanProperty(value);\n }\n\n public get withCloseButton(): BooleanInput {\n return this._withCloseButton;\n }\n\n private _withBackButton = false;\n\n @Input()\n public set withBackButton(value: BooleanInput) {\n this._withBackButton = coerceBooleanProperty(value);\n }\n\n public get withBackButton(): BooleanInput {\n return this._withBackButton;\n }\n\n private _displayEditorToolbar = true;\n\n @Input()\n public set displayEditorToolbar(value: BooleanInput) {\n this._displayEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get displayEditorToolbar(): BooleanInput {\n return this._displayEditorToolbar;\n }\n\n public closeSideFilter(): void {\n void this.sideFilter?.close();\n }\n\n public openSideFilter(): void {\n void this.sideFilter?.open();\n }\n}\n","<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,25 +1,23 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import * as i3 from '@angular/common';
2
+ import * as i1 from '@angular/common';
3
3
  import { CommonModule } from '@angular/common';
4
4
  import * as i0 from '@angular/core';
5
- import { EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, HostBinding, ViewChild } from '@angular/core';
6
- import * as i4 from '@angular/material/button';
5
+ import { EventEmitter, inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, Output, ContentChild, HostBinding, ViewChild } from '@angular/core';
6
+ import * as i2 from '@angular/material/button';
7
7
  import { MatButtonModule } from '@angular/material/button';
8
- import * as i5 from '@angular/material/icon';
8
+ import * as i3 from '@angular/material/icon';
9
9
  import { MatIconModule } from '@angular/material/icon';
10
- import * as i6 from '@angular/material/sidenav';
10
+ import * as i4 from '@angular/material/sidenav';
11
11
  import { MatSidenavModule } from '@angular/material/sidenav';
12
- import * as i7 from '@angular/material/toolbar';
12
+ import * as i5 from '@angular/material/toolbar';
13
13
  import { MatToolbarModule } from '@angular/material/toolbar';
14
- import * as i8 from '@angular/material/tooltip';
14
+ import * as i6 from '@angular/material/tooltip';
15
15
  import { MatTooltipModule } from '@angular/material/tooltip';
16
- import * as i1 from '@hug/ngx-core';
17
- import * as i2 from '@hug/ngx-sidenav';
16
+ import { NgxMediaService } from '@hug/ngx-core';
17
+ import { NgxSidenavService } from '@hug/ngx-sidenav';
18
18
 
19
- class LayoutComponent {
20
- constructor(mediaService, sidenavService) {
21
- this.mediaService = mediaService;
22
- this.sidenavService = sidenavService;
19
+ class NgxLayoutComponent {
20
+ constructor() {
23
21
  this.toolbarColor = 'primary';
24
22
  this.editorToolbarId = 'editor-toolbar';
25
23
  this.closeButtonLabel = 'Fermer';
@@ -29,6 +27,8 @@ class LayoutComponent {
29
27
  this.sideFilterClosed = new EventEmitter();
30
28
  this.sideFilterOpened = new EventEmitter();
31
29
  this.noRight = false;
30
+ this.mediaService = inject(NgxMediaService);
31
+ this.sidenavService = inject(NgxSidenavService);
32
32
  this._withEditorToolbar = true;
33
33
  this._withSidenav = false;
34
34
  this._keepFilterButtonDisplayed = true;
@@ -96,19 +96,19 @@ class LayoutComponent {
96
96
  void this.sideFilter?.open();
97
97
  }
98
98
  }
99
- LayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, deps: [{ token: i1.MediaService }, { token: i2.SidenavService }], target: i0.ɵɵFactoryTarget.Component });
100
- LayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: LayoutComponent, isStandalone: true, selector: "layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i6.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i6.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i6.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: LayoutComponent, decorators: [{
99
+ NgxLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
100
+ NgxLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgxLayoutComponent, isStandalone: true, selector: "ngx-layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withEditorToolbar: "withEditorToolbar", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton", displayEditorToolbar: "displayEditorToolbar" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatSidenavModule }, { kind: "component", type: i4.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i4.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i4.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i5.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgxLayoutComponent, decorators: [{
102
102
  type: Component,
103
- args: [{ selector: 'layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
103
+ args: [{ selector: 'ngx-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
104
104
  CommonModule,
105
105
  MatButtonModule,
106
106
  MatIconModule,
107
107
  MatSidenavModule,
108
108
  MatToolbarModule,
109
109
  MatTooltipModule
110
- ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["layout{display:flex;flex-direction:column;position:absolute;inset:0}layout.no-left.no-right .main-content{padding:0}layout mat-sidenav-container{position:absolute;inset:0}layout mat-sidenav-content,layout mat-drawer-content{display:flex!important;flex-direction:column}layout mat-sidenav{width:200px}layout mat-drawer{width:220px}layout mat-drawer.right{padding:.3rem}layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}layout mat-drawer.right [icons-container]{display:flex;align-items:center}layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group]{display:flex}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}layout mat-drawer.right mat-form-field{width:100%}layout mat-drawer.right .mat-form-field-infix{width:inherit}layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}layout mat-drawer-container{flex:1}layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}layout .main-content .primary-action-container:hover{opacity:1}layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}layout ::-webkit-scrollbar{width:12px;height:12px}layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
111
- }], ctorParameters: function () { return [{ type: i1.MediaService }, { type: i2.SidenavService }]; }, propDecorators: { toolbarColor: [{
110
+ ], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-sidenav-content,ngx-layout mat-drawer-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-chip-list-wrapper{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{position:relative}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip{padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-standard-chip:not([disabled]):hover:before{content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{-webkit-transition:.3s ease-in-out;transition:.3s ease-in-out;border-radius:6px}\n"] }]
111
+ }], propDecorators: { toolbarColor: [{
112
112
  type: Input
113
113
  }], editorToolbarId: [{
114
114
  type: Input
@@ -173,5 +173,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
173
173
  * Generated bundle index. Do not edit.
174
174
  */
175
175
 
176
- export { LayoutComponent };
176
+ export { NgxLayoutComponent };
177
177
  //# sourceMappingURL=hug-ngx-layout.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hug-ngx-layout.mjs","sources":["../../../projects/layout/src/layout.component.ts","../../../projects/layout/src/layout.component.html","../../../projects/layout/src/hug-ngx-layout.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MediaService } from '@hug/ngx-core';\nimport { SidenavService } from '@hug/ngx-sidenav';\n\n@Component({\n selector: 'layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatToolbarModule,\n MatTooltipModule\n ]\n})\nexport class LayoutComponent {\n @Input() public toolbarColor = 'primary';\n @Input() public editorToolbarId = 'editor-toolbar';\n\n @Input() public closeButtonLabel = 'Fermer';\n @Input() public backButtonLabel = 'Retour';\n\n @Input() public layoutToolbarExternal?: TemplateRef<unknown>;\n @Input() public layoutPrimaryActionExternal?: TemplateRef<unknown>;\n @Input() public layoutActionsExternal?: TemplateRef<unknown>;\n @Input() public layoutInfoBoxesExternal?: TemplateRef<unknown>;\n @Input() public layoutRightExternal?: TemplateRef<unknown>;\n\n @Output() public readonly closeButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly backButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly sideFilterClosed = new EventEmitter<void>();\n @Output() public readonly sideFilterOpened = new EventEmitter<void>();\n\n @ContentChild('layoutToolbar') protected layoutToolbarContent?: TemplateRef<unknown>;\n @ContentChild('layoutPrimaryAction') protected layoutPrimaryActionContent?: TemplateRef<unknown>;\n @ContentChild('layoutActions') protected layoutActionsContent?: TemplateRef<unknown>;\n @ContentChild('layoutInfoBoxes') protected layoutInfoBoxesContent?: TemplateRef<unknown>;\n @ContentChild('layoutRight') protected layoutRightContent?: TemplateRef<unknown>;\n\n @HostBinding('class.no-right') protected noRight = false;\n\n @ViewChild('sideFilter') protected sideFilter?: MatDrawer;\n\n private _withEditorToolbar = true;\n\n public get layoutToolbar(): TemplateRef<unknown> | undefined {\n return this.layoutToolbarExternal ?? this.layoutToolbarContent;\n }\n\n public get layoutPrimaryAction(): TemplateRef<unknown> | undefined {\n return this.layoutPrimaryActionExternal ?? this.layoutPrimaryActionContent;\n }\n\n public get layoutActions(): TemplateRef<unknown> | undefined {\n return this.layoutActionsExternal ?? this.layoutActionsContent;\n }\n\n public get layoutInfoBoxes(): TemplateRef<unknown> | undefined {\n return this.layoutInfoBoxesExternal ?? this.layoutInfoBoxesContent;\n }\n\n public get layoutRight(): TemplateRef<unknown> | undefined {\n const value = this.layoutRightExternal ?? this.layoutRightContent;\n this.noRight = !value;\n return value;\n }\n\n @Input()\n public set withEditorToolbar(value: BooleanInput) {\n this._withEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get withEditorToolbar(): BooleanInput {\n return this._withEditorToolbar;\n }\n\n private _withSidenav = false;\n\n @Input()\n public set withSidenav(value: BooleanInput) {\n this._withSidenav = coerceBooleanProperty(value);\n }\n\n public get withSidenav(): BooleanInput {\n return this._withSidenav;\n }\n\n private _keepFilterButtonDisplayed = true;\n @Input()\n public set keepFilterButtonDisplayed(value: BooleanInput) {\n this._keepFilterButtonDisplayed = coerceBooleanProperty(value);\n }\n\n public get keepFilterButtonDisplayed(): BooleanInput {\n return this._keepFilterButtonDisplayed;\n }\n\n private _withCloseButton = false;\n @Input()\n public set withCloseButton(value: BooleanInput) {\n this._withCloseButton = coerceBooleanProperty(value);\n }\n\n public get withCloseButton(): BooleanInput {\n return this._withCloseButton;\n }\n\n private _withBackButton = false;\n\n @Input()\n public set withBackButton(value: BooleanInput) {\n this._withBackButton = coerceBooleanProperty(value);\n }\n\n public get withBackButton(): BooleanInput {\n return this._withBackButton;\n }\n\n private _displayEditorToolbar = true;\n\n @Input()\n public set displayEditorToolbar(value: BooleanInput) {\n this._displayEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get displayEditorToolbar(): BooleanInput {\n return this._displayEditorToolbar;\n }\n\n public constructor(\n protected mediaService: MediaService,\n protected sidenavService: SidenavService\n ) {\n }\n\n public closeSideFilter(): void {\n void this.sideFilter?.close();\n }\n\n public openSideFilter(): void {\n void this.sideFilter?.open();\n }\n}\n","<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"(mediaService.isHandset$ | async)\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false))\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"(mediaService.isHandset$ | async)\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && ((sidenavService.openChanged$ | async) === false)\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && ((mediaService.isHandset$ | async) === false)\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hug-ngx-layout.mjs","sources":["../../../projects/layout/src/layout.component.ts","../../../projects/layout/src/layout.component.html","../../../projects/layout/src/hug-ngx-layout.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, inject, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatDrawer, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { NgxMediaService } from '@hug/ngx-core';\nimport { NgxSidenavService } from '@hug/ngx-sidenav';\n\n@Component({\n selector: 'ngx-layout',\n templateUrl: './layout.component.html',\n styleUrls: ['./layout.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatToolbarModule,\n MatTooltipModule\n ]\n})\nexport class NgxLayoutComponent {\n @Input() public toolbarColor = 'primary';\n @Input() public editorToolbarId = 'editor-toolbar';\n\n @Input() public closeButtonLabel = 'Fermer';\n @Input() public backButtonLabel = 'Retour';\n\n @Input() public layoutToolbarExternal?: TemplateRef<unknown>;\n @Input() public layoutPrimaryActionExternal?: TemplateRef<unknown>;\n @Input() public layoutActionsExternal?: TemplateRef<unknown>;\n @Input() public layoutInfoBoxesExternal?: TemplateRef<unknown>;\n @Input() public layoutRightExternal?: TemplateRef<unknown>;\n\n @Output() public readonly closeButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly backButtonClicked = new EventEmitter<MouseEvent>();\n @Output() public readonly sideFilterClosed = new EventEmitter<void>();\n @Output() public readonly sideFilterOpened = new EventEmitter<void>();\n\n @ContentChild('layoutToolbar') protected layoutToolbarContent?: TemplateRef<unknown>;\n @ContentChild('layoutPrimaryAction') protected layoutPrimaryActionContent?: TemplateRef<unknown>;\n @ContentChild('layoutActions') protected layoutActionsContent?: TemplateRef<unknown>;\n @ContentChild('layoutInfoBoxes') protected layoutInfoBoxesContent?: TemplateRef<unknown>;\n @ContentChild('layoutRight') protected layoutRightContent?: TemplateRef<unknown>;\n\n @HostBinding('class.no-right') protected noRight = false;\n\n @ViewChild('sideFilter') protected sideFilter?: MatDrawer;\n\n protected mediaService = inject(NgxMediaService);\n protected sidenavService = inject(NgxSidenavService);\n\n private _withEditorToolbar = true;\n\n public get layoutToolbar(): TemplateRef<unknown> | undefined {\n return this.layoutToolbarExternal ?? this.layoutToolbarContent;\n }\n\n public get layoutPrimaryAction(): TemplateRef<unknown> | undefined {\n return this.layoutPrimaryActionExternal ?? this.layoutPrimaryActionContent;\n }\n\n public get layoutActions(): TemplateRef<unknown> | undefined {\n return this.layoutActionsExternal ?? this.layoutActionsContent;\n }\n\n public get layoutInfoBoxes(): TemplateRef<unknown> | undefined {\n return this.layoutInfoBoxesExternal ?? this.layoutInfoBoxesContent;\n }\n\n public get layoutRight(): TemplateRef<unknown> | undefined {\n const value = this.layoutRightExternal ?? this.layoutRightContent;\n this.noRight = !value;\n return value;\n }\n\n @Input()\n public set withEditorToolbar(value: BooleanInput) {\n this._withEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get withEditorToolbar(): BooleanInput {\n return this._withEditorToolbar;\n }\n\n private _withSidenav = false;\n\n @Input()\n public set withSidenav(value: BooleanInput) {\n this._withSidenav = coerceBooleanProperty(value);\n }\n\n public get withSidenav(): BooleanInput {\n return this._withSidenav;\n }\n\n private _keepFilterButtonDisplayed = true;\n @Input()\n public set keepFilterButtonDisplayed(value: BooleanInput) {\n this._keepFilterButtonDisplayed = coerceBooleanProperty(value);\n }\n\n public get keepFilterButtonDisplayed(): BooleanInput {\n return this._keepFilterButtonDisplayed;\n }\n\n private _withCloseButton = false;\n @Input()\n public set withCloseButton(value: BooleanInput) {\n this._withCloseButton = coerceBooleanProperty(value);\n }\n\n public get withCloseButton(): BooleanInput {\n return this._withCloseButton;\n }\n\n private _withBackButton = false;\n\n @Input()\n public set withBackButton(value: BooleanInput) {\n this._withBackButton = coerceBooleanProperty(value);\n }\n\n public get withBackButton(): BooleanInput {\n return this._withBackButton;\n }\n\n private _displayEditorToolbar = true;\n\n @Input()\n public set displayEditorToolbar(value: BooleanInput) {\n this._displayEditorToolbar = coerceBooleanProperty(value);\n }\n\n public get displayEditorToolbar(): BooleanInput {\n return this._displayEditorToolbar;\n }\n\n public closeSideFilter(): void {\n void this.sideFilter?.close();\n }\n\n public openSideFilter(): void {\n void this.sideFilter?.open();\n }\n}\n","<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\" *ngIf=\"layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"(mediaService.isHandset$ | async) && actionsToolbar\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar id=\"actions-toolbar\" class=\"actions\" [color]=\"toolbarColor\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <span class=\"primary-action-container\" *ngIf=\"layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n <ng-container *ngIf=\"layoutActions\">\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n </ng-container>\n <div class=\"info-boxes-container\" *ngIf=\"layoutInfoBoxes && (mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\" *ngIf=\"layoutToolbar || layoutRight\">\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button *ngIf=\"withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false\" (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n <button type=\"button\" id=\"back-button\" mat-icon-button *ngIf=\"withBackButton\" (click)=\"this.backButtonClicked.emit($event)\" [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <div id=\"toolbar-content-container\">\n <ng-container *ngIf=\"layoutToolbar\">\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n </ng-container>\n </div>\n <button type=\"button\" id=\"filter-button\" mat-icon-button (click)=\"sideFilter.toggle()\" *ngIf=\"sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight\" matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n <button type=\"button\" id=\"close-button\" mat-icon-button *ngIf=\"withCloseButton\" (click)=\"this.closeButtonClicked.emit($event)\" [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-toolbar>\n <ng-container *ngIf=\"(layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false\">\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n </ng-container>\n <mat-drawer-container *ngIf=\"layoutRight; else content\" autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer id=\"side-filter\" #sideFilter (closed)=\"sideFilterClosed.emit()\" (openedChange)=\"sideFilterOpened.emit()\" class=\"right\" position=\"end\" [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\" [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\" [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,10 @@
1
1
  import { BooleanInput } from '@angular/cdk/coercion';
2
2
  import { EventEmitter, TemplateRef } from '@angular/core';
3
3
  import { MatDrawer } from '@angular/material/sidenav';
4
- import { MediaService } from '@hug/ngx-core';
5
- import { SidenavService } from '@hug/ngx-sidenav';
4
+ import { NgxMediaService } from '@hug/ngx-core';
5
+ import { NgxSidenavService } from '@hug/ngx-sidenav';
6
6
  import * as i0 from "@angular/core";
7
- export declare class LayoutComponent {
8
- protected mediaService: MediaService;
9
- protected sidenavService: SidenavService;
7
+ export declare class NgxLayoutComponent {
10
8
  toolbarColor: string;
11
9
  editorToolbarId: string;
12
10
  closeButtonLabel: string;
@@ -27,6 +25,8 @@ export declare class LayoutComponent {
27
25
  protected layoutRightContent?: TemplateRef<unknown>;
28
26
  protected noRight: boolean;
29
27
  protected sideFilter?: MatDrawer;
28
+ protected mediaService: NgxMediaService;
29
+ protected sidenavService: NgxSidenavService;
30
30
  private _withEditorToolbar;
31
31
  get layoutToolbar(): TemplateRef<unknown> | undefined;
32
32
  get layoutPrimaryAction(): TemplateRef<unknown> | undefined;
@@ -50,9 +50,8 @@ export declare class LayoutComponent {
50
50
  private _displayEditorToolbar;
51
51
  set displayEditorToolbar(value: BooleanInput);
52
52
  get displayEditorToolbar(): BooleanInput;
53
- constructor(mediaService: MediaService, sidenavService: SidenavService);
54
53
  closeSideFilter(): void;
55
54
  openSideFilter(): void;
56
- static ɵfac: i0.ɵɵFactoryDeclaration<LayoutComponent, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutComponent, "layout", never, { "toolbarColor": "toolbarColor"; "editorToolbarId": "editorToolbarId"; "closeButtonLabel": "closeButtonLabel"; "backButtonLabel": "backButtonLabel"; "layoutToolbarExternal": "layoutToolbarExternal"; "layoutPrimaryActionExternal": "layoutPrimaryActionExternal"; "layoutActionsExternal": "layoutActionsExternal"; "layoutInfoBoxesExternal": "layoutInfoBoxesExternal"; "layoutRightExternal": "layoutRightExternal"; "withEditorToolbar": "withEditorToolbar"; "withSidenav": "withSidenav"; "keepFilterButtonDisplayed": "keepFilterButtonDisplayed"; "withCloseButton": "withCloseButton"; "withBackButton": "withBackButton"; "displayEditorToolbar": "displayEditorToolbar"; }, { "closeButtonClicked": "closeButtonClicked"; "backButtonClicked": "backButtonClicked"; "sideFilterClosed": "sideFilterClosed"; "sideFilterOpened": "sideFilterOpened"; }, ["layoutToolbarContent", "layoutPrimaryActionContent", "layoutActionsContent", "layoutInfoBoxesContent", "layoutRightContent"], ["*"], true>;
55
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxLayoutComponent, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<NgxLayoutComponent, "ngx-layout", never, { "toolbarColor": "toolbarColor"; "editorToolbarId": "editorToolbarId"; "closeButtonLabel": "closeButtonLabel"; "backButtonLabel": "backButtonLabel"; "layoutToolbarExternal": "layoutToolbarExternal"; "layoutPrimaryActionExternal": "layoutPrimaryActionExternal"; "layoutActionsExternal": "layoutActionsExternal"; "layoutInfoBoxesExternal": "layoutInfoBoxesExternal"; "layoutRightExternal": "layoutRightExternal"; "withEditorToolbar": "withEditorToolbar"; "withSidenav": "withSidenav"; "keepFilterButtonDisplayed": "keepFilterButtonDisplayed"; "withCloseButton": "withCloseButton"; "withBackButton": "withBackButton"; "displayEditorToolbar": "displayEditorToolbar"; }, { "closeButtonClicked": "closeButtonClicked"; "backButtonClicked": "backButtonClicked"; "sideFilterClosed": "sideFilterClosed"; "sideFilterOpened": "sideFilterOpened"; }, ["layoutToolbarContent", "layoutPrimaryActionContent", "layoutActionsContent", "layoutInfoBoxesContent", "layoutRightContent"], ["*"], true>;
58
57
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hug/ngx-layout",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "description": "HUG Angular - layout component",
5
5
  "homepage": "https://github.com/dsi-hug/ngx-components",
6
6
  "license": "GPL-3.0-only",
@@ -39,8 +39,8 @@
39
39
  "@angular/core": ">= 14",
40
40
  "@angular/cdk": ">= 14",
41
41
  "@angular/material": ">= 14",
42
- "@hug/ngx-core": "1.1.7",
43
- "@hug/ngx-sidenav": "1.1.2"
42
+ "@hug/ngx-core": "1.1.8",
43
+ "@hug/ngx-sidenav": "1.1.3"
44
44
  },
45
45
  "dependencies": {
46
46
  "tslib": "^2.6.3"