@bootkit/ng0 0.0.0-alpha.35 → 0.0.0-alpha.36
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/fesm2022/bootkit-ng0-common.mjs +3 -3
- package/fesm2022/bootkit-ng0-common.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-accordion.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-accordion.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-backdrop.mjs +3 -3
- package/fesm2022/bootkit-ng0-components-backdrop.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-button.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-button.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-card.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-card.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-code.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-code.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-collapse.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-collapse.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-confirmation.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-confirmation.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-dropdown.mjs +22 -22
- package/fesm2022/bootkit-ng0-components-dropdown.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-form-field.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-form-field.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-list.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-list.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-modal.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-modal.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-nav.mjs +19 -19
- package/fesm2022/bootkit-ng0-components-nav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-offcanvas.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-pagination.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-pagination.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-popover.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-popover.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-select.mjs +7 -7
- package/fesm2022/bootkit-ng0-components-select.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-sidenav.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-sidenav.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-stepper.mjs +10 -10
- package/fesm2022/bootkit-ng0-components-stepper.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-table.mjs +13 -13
- package/fesm2022/bootkit-ng0-components-table.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-toast.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-toast.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-tooltip.mjs +6 -6
- package/fesm2022/bootkit-ng0-components-tooltip.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs +19 -19
- package/fesm2022/bootkit-ng0-components-vertical-menu.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-form.mjs +25 -25
- package/fesm2022/bootkit-ng0-form.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-http.mjs +3 -3
- package/fesm2022/bootkit-ng0-http.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-layouts-layout1.mjs +164 -92
- package/fesm2022/bootkit-ng0-layouts-layout1.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-localization.mjs +34 -34
- package/fesm2022/bootkit-ng0-localization.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-platform-browser.mjs +6 -6
- package/fesm2022/bootkit-ng0-platform-browser.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-routing.mjs +3 -3
- package/fesm2022/bootkit-ng0-routing.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-script.mjs +3 -3
- package/fesm2022/bootkit-ng0-script.mjs.map +1 -1
- package/fesm2022/bootkit-ng0-security.mjs +13 -13
- package/fesm2022/bootkit-ng0-security.mjs.map +1 -1
- package/layouts/layout1/index.d.ts +117 -60
- package/package.json +21 -21
|
@@ -1,83 +1,50 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Injectable, inject, TemplateRef, input, booleanAttribute, EventEmitter, Output, Directive, signal, ChangeDetectorRef, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, NgModule } from '@angular/core';
|
|
3
3
|
import * as i2 from '@bootkit/ng0/components/sidenav';
|
|
4
4
|
import { SidenavModule } from '@bootkit/ng0/components/sidenav';
|
|
5
5
|
import * as i1 from '@angular/common';
|
|
6
6
|
import { CommonModule } from '@angular/common';
|
|
7
7
|
import { Subject } from 'rxjs';
|
|
8
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
9
|
-
|
|
10
|
-
class Layout1SecondarySidenav {
|
|
11
|
-
template;
|
|
12
|
-
zIndex;
|
|
13
|
-
css;
|
|
14
|
-
size;
|
|
15
|
-
position;
|
|
16
|
-
mode;
|
|
17
|
-
hasBackdrop;
|
|
18
|
-
closeOnBackdropClick;
|
|
19
|
-
constructor(template, options) {
|
|
20
|
-
this.template = template;
|
|
21
|
-
this.zIndex = signal(options?.zIndex, ...(ngDevMode ? [{ debugName: "zIndex" }] : []));
|
|
22
|
-
this.css = signal(options?.css, ...(ngDevMode ? [{ debugName: "css" }] : []));
|
|
23
|
-
this.size = signal(options?.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
24
|
-
this.position = signal(options?.position ?? 'start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
25
|
-
this.mode = signal(options?.mode ?? 'over', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
26
|
-
this.hasBackdrop = signal(options?.hasBackdrop ?? true, ...(ngDevMode ? [{ debugName: "hasBackdrop" }] : []));
|
|
27
|
-
this.closeOnBackdropClick = signal(options?.closeOnBackdropClick ?? false, ...(ngDevMode ? [{ debugName: "closeOnBackdropClick" }] : []));
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
8
|
|
|
31
9
|
/**
|
|
32
10
|
* Service to manage the configuration and state of Layout1Component.
|
|
33
11
|
*/
|
|
34
12
|
class Layout1Manager {
|
|
35
|
-
_zIndexCounter = 1000;
|
|
36
|
-
_sidenavPushSubject = new Subject();
|
|
37
|
-
_sidenavPopSubject = new Subject();
|
|
38
|
-
_sidenavRemoveSubject = new Subject();
|
|
39
|
-
/**
|
|
40
|
-
* @private
|
|
41
|
-
*/
|
|
42
|
-
sidenavPushNotification = this._sidenavPushSubject.asObservable();
|
|
43
13
|
/**
|
|
44
|
-
*
|
|
14
|
+
* The Layout1Component instance associated with this manager.
|
|
45
15
|
*/
|
|
46
|
-
|
|
16
|
+
component;
|
|
47
17
|
/**
|
|
48
|
-
*
|
|
18
|
+
* Push a secondary sidenav.
|
|
19
|
+
* @param content The template for the secondary sidenav.
|
|
20
|
+
* @param options Options for the secondary sidenav.
|
|
21
|
+
* @returns The reference to the pushed secondary sidenav.
|
|
49
22
|
*/
|
|
50
|
-
|
|
23
|
+
pushSidenav(content, options) {
|
|
24
|
+
return this.component.pushSidenav(content, options);
|
|
25
|
+
}
|
|
51
26
|
/**
|
|
52
|
-
*
|
|
53
|
-
* @param template
|
|
54
|
-
* @param options
|
|
55
|
-
* @returns
|
|
27
|
+
* Close the last secondary sidenav and dispose it.
|
|
56
28
|
*/
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
options.zIndex = options.zIndex ?? this._zIndexCounter++;
|
|
60
|
-
const sidenav = new Layout1SecondarySidenav(template, options);
|
|
61
|
-
this._sidenavPushSubject.next(sidenav);
|
|
62
|
-
return sidenav;
|
|
29
|
+
popSidenav(result) {
|
|
30
|
+
return this.component.popSidenav(result);
|
|
63
31
|
}
|
|
64
32
|
/**
|
|
65
|
-
*
|
|
33
|
+
* Get the list of secondary sidenavs.
|
|
66
34
|
*/
|
|
67
|
-
|
|
68
|
-
this.
|
|
35
|
+
get secondarySidenavs() {
|
|
36
|
+
return this.component.secondarySidenavs;
|
|
69
37
|
}
|
|
70
38
|
/**
|
|
71
|
-
*
|
|
72
|
-
* @param sidenav
|
|
39
|
+
* Get the last secondary sidenav.
|
|
73
40
|
*/
|
|
74
|
-
|
|
75
|
-
this.
|
|
41
|
+
get last() {
|
|
42
|
+
return this.component.secondarySidenavs.at(-1);
|
|
76
43
|
}
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
78
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
44
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Manager, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
45
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Manager, providedIn: 'root' });
|
|
79
46
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Manager, decorators: [{
|
|
81
48
|
type: Injectable,
|
|
82
49
|
args: [{
|
|
83
50
|
providedIn: 'root'
|
|
@@ -97,10 +64,10 @@ class Layout1SidenavDirective {
|
|
|
97
64
|
size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
|
|
98
65
|
css = input(...(ngDevMode ? [undefined, { debugName: "css" }] : []));
|
|
99
66
|
backdropClick = new EventEmitter();
|
|
100
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
101
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1SidenavDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.11", type: Layout1SidenavDirective, isStandalone: true, selector: "[ng0Layout1Sidenav]", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, css: { classPropertyName: "css", publicName: "css", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backdropClick: "backdropClick" }, exportAs: ["ng0Layout1Sidenav"], ngImport: i0 });
|
|
102
69
|
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1SidenavDirective, decorators: [{
|
|
104
71
|
type: Directive,
|
|
105
72
|
args: [{
|
|
106
73
|
selector: '[ng0Layout1Sidenav]',
|
|
@@ -111,76 +78,181 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
111
78
|
type: Output
|
|
112
79
|
}] } });
|
|
113
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Reference to a secondary sidenav in the Layout1Component.
|
|
83
|
+
*/
|
|
84
|
+
class Layout1SecondarySidenav {
|
|
85
|
+
_disposedSubject = new Subject();
|
|
86
|
+
_isDisposed = false;
|
|
87
|
+
/**
|
|
88
|
+
* Observable that emits when the sidenav is disposed.
|
|
89
|
+
*/
|
|
90
|
+
disposed = this._disposedSubject.asObservable();
|
|
91
|
+
/**
|
|
92
|
+
* template of the sidenav content.
|
|
93
|
+
*/
|
|
94
|
+
template;
|
|
95
|
+
/**
|
|
96
|
+
* Z-Index of the sidenav.
|
|
97
|
+
*/
|
|
98
|
+
zIndex;
|
|
99
|
+
/**
|
|
100
|
+
* Sidenav css classes.
|
|
101
|
+
*/
|
|
102
|
+
css;
|
|
103
|
+
/**
|
|
104
|
+
* Size of the sidenav.
|
|
105
|
+
*/
|
|
106
|
+
size;
|
|
107
|
+
/**
|
|
108
|
+
* Position of the sidenav.
|
|
109
|
+
*/
|
|
110
|
+
position;
|
|
111
|
+
/**
|
|
112
|
+
* Mode of the sidenav.
|
|
113
|
+
*/
|
|
114
|
+
mode;
|
|
115
|
+
/**
|
|
116
|
+
* Whether the sidenav has a backdrop.
|
|
117
|
+
*/
|
|
118
|
+
hasBackdrop;
|
|
119
|
+
/**
|
|
120
|
+
* Whether the sidenav should close on backdrop click.
|
|
121
|
+
*/
|
|
122
|
+
closeOnBackdropClick;
|
|
123
|
+
/**
|
|
124
|
+
* Whether the sidenav is disposed.
|
|
125
|
+
*/
|
|
126
|
+
get isDisposed() {
|
|
127
|
+
return this._isDisposed;
|
|
128
|
+
}
|
|
129
|
+
constructor(template, options) {
|
|
130
|
+
this.template = template;
|
|
131
|
+
this.zIndex = signal(options?.zIndex, ...(ngDevMode ? [{ debugName: "zIndex" }] : []));
|
|
132
|
+
this.css = signal(options?.css, ...(ngDevMode ? [{ debugName: "css" }] : []));
|
|
133
|
+
this.size = signal(options?.size, ...(ngDevMode ? [{ debugName: "size" }] : []));
|
|
134
|
+
this.position = signal(options?.position ?? 'start', ...(ngDevMode ? [{ debugName: "position" }] : []));
|
|
135
|
+
this.mode = signal(options?.mode ?? 'over', ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
136
|
+
this.hasBackdrop = signal(options?.hasBackdrop ?? true, ...(ngDevMode ? [{ debugName: "hasBackdrop" }] : []));
|
|
137
|
+
this.closeOnBackdropClick = signal(options?.closeOnBackdropClick ?? false, ...(ngDevMode ? [{ debugName: "closeOnBackdropClick" }] : []));
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Close and dispose the sidenav.
|
|
141
|
+
* @param result Optional result to emit when the sidenav is closed.
|
|
142
|
+
*/
|
|
143
|
+
dispose(result) {
|
|
144
|
+
if (!this._isDisposed) {
|
|
145
|
+
this._isDisposed = true;
|
|
146
|
+
this._disposedSubject.next(result);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
114
151
|
/**
|
|
115
152
|
* Layout1 component that provides a layout with sidenavs.
|
|
116
153
|
*/
|
|
117
154
|
class Layout1Component {
|
|
155
|
+
_zIndexCounter = 1000;
|
|
118
156
|
_manager = inject(Layout1Manager);
|
|
119
157
|
_sidenavs;
|
|
120
158
|
_secondarySidenavs = signal([], ...(ngDevMode ? [{ debugName: "_secondarySidenavs" }] : []));
|
|
121
159
|
_openSecondarySidenavs = new Set();
|
|
122
160
|
_changeDetectorRef = inject(ChangeDetectorRef);
|
|
161
|
+
/**
|
|
162
|
+
* Default position for secondary sidenavs.
|
|
163
|
+
*/
|
|
164
|
+
defaultSidenavPosition = input('start', ...(ngDevMode ? [{ debugName: "defaultSidenavPosition" }] : []));
|
|
165
|
+
/**
|
|
166
|
+
* Default size for secondary sidenavs.
|
|
167
|
+
*/
|
|
168
|
+
defaultSidenavSize = input(...(ngDevMode ? [undefined, { debugName: "defaultSidenavSize" }] : []));
|
|
169
|
+
/**
|
|
170
|
+
* Default mode for secondary sidenavs.
|
|
171
|
+
*/
|
|
172
|
+
defaultSidenavMode = input('over', ...(ngDevMode ? [{ debugName: "defaultSidenavMode" }] : []));
|
|
173
|
+
/**
|
|
174
|
+
* Default hasBackdrop value for secondary sidenavs.
|
|
175
|
+
*/
|
|
176
|
+
defaultSidenavHasBackdrop = input(true, ...(ngDevMode ? [{ debugName: "defaultSidenavHasBackdrop" }] : []));
|
|
177
|
+
/**
|
|
178
|
+
* Default closeOnBackdropClick value for secondary sidenavs.
|
|
179
|
+
*/
|
|
180
|
+
defaultSidenavCloseOnBackdropClick = input(false, ...(ngDevMode ? [{ debugName: "defaultSidenavCloseOnBackdropClick" }] : []));
|
|
123
181
|
constructor() {
|
|
124
|
-
this._manager.
|
|
125
|
-
this._manager.sidenavRemoveNotification.pipe(takeUntilDestroyed()).subscribe(c => this.removeSidenav(c));
|
|
126
|
-
this._manager.sidenavPopNotification.pipe(takeUntilDestroyed()).subscribe(c => this.popSidenav());
|
|
182
|
+
this._manager.component = this;
|
|
127
183
|
}
|
|
128
184
|
/**
|
|
129
185
|
* Push a secondary sidenav.
|
|
130
|
-
* @param sidenav
|
|
186
|
+
* @param template The template for the secondary sidenav.
|
|
187
|
+
* @param options Options for the secondary sidenav.
|
|
188
|
+
* @returns The reference to the pushed secondary sidenav.
|
|
131
189
|
*/
|
|
132
|
-
pushSidenav(
|
|
133
|
-
|
|
190
|
+
pushSidenav(template, options) {
|
|
191
|
+
options = options || {};
|
|
192
|
+
options.zIndex = options.zIndex ?? this._zIndexCounter++;
|
|
193
|
+
options.mode = options.mode ?? this.defaultSidenavMode();
|
|
194
|
+
options.position = options.position ?? this.defaultSidenavPosition();
|
|
195
|
+
options.size = options.size ?? this.defaultSidenavSize();
|
|
196
|
+
options.hasBackdrop = options.hasBackdrop ?? this.defaultSidenavHasBackdrop();
|
|
197
|
+
options.closeOnBackdropClick = options.closeOnBackdropClick ?? this.defaultSidenavCloseOnBackdropClick();
|
|
198
|
+
const sidenavRef = new Layout1SecondarySidenav(template, options);
|
|
199
|
+
this._secondarySidenavs().push(sidenavRef);
|
|
134
200
|
this._changeDetectorRef.markForCheck();
|
|
201
|
+
// Open the sidenav in the next tick to ensure it's 'transform' transition works correctly.
|
|
135
202
|
setTimeout(() => {
|
|
136
|
-
|
|
137
|
-
this._openSecondarySidenavs.add(sidenav);
|
|
203
|
+
this._openSecondarySidenavs.add(sidenavRef);
|
|
138
204
|
this._changeDetectorRef.markForCheck();
|
|
139
205
|
});
|
|
206
|
+
sidenavRef.disposed.subscribe((result) => {
|
|
207
|
+
// Close the sidenav first. After the transition ends, it will be removed from DOM.
|
|
208
|
+
this._openSecondarySidenavs.delete(sidenavRef);
|
|
209
|
+
});
|
|
210
|
+
return sidenavRef;
|
|
140
211
|
}
|
|
141
212
|
/**
|
|
142
|
-
*
|
|
143
|
-
|
|
144
|
-
|
|
213
|
+
* Close the last secondary sidenav and dispose it.
|
|
214
|
+
* @param result The result to pass when closing the sidenav.
|
|
215
|
+
* @return The reference to the closed secondary sidenav.
|
|
216
|
+
*/
|
|
217
|
+
popSidenav(result) {
|
|
145
218
|
const last = this._secondarySidenavs().at(-1);
|
|
146
219
|
if (last) {
|
|
147
|
-
|
|
220
|
+
last.dispose(result);
|
|
221
|
+
return last;
|
|
148
222
|
}
|
|
223
|
+
return undefined;
|
|
149
224
|
}
|
|
150
225
|
/**
|
|
151
|
-
*
|
|
152
|
-
* @param sidenav
|
|
226
|
+
* Get the list of secondary sidenavs.
|
|
153
227
|
*/
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
this._openSecondarySidenavs.delete(sidenav);
|
|
228
|
+
get secondarySidenavs() {
|
|
229
|
+
return this._secondarySidenavs();
|
|
157
230
|
}
|
|
158
231
|
_onSecondarySidenavTransitionEnd(sidenav) {
|
|
159
|
-
if (
|
|
160
|
-
// We should remove secondary sidenavs from DOM.
|
|
232
|
+
if (sidenav.isDisposed) {
|
|
161
233
|
const index = this._secondarySidenavs().findIndex(x => x === sidenav);
|
|
162
234
|
this._secondarySidenavs().splice(index, 1);
|
|
163
235
|
}
|
|
164
236
|
}
|
|
165
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
166
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Component, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
238
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.11", type: Layout1Component, isStandalone: true, selector: "ng0-layout1", inputs: { defaultSidenavPosition: { classPropertyName: "defaultSidenavPosition", publicName: "defaultSidenavPosition", isSignal: true, isRequired: false, transformFunction: null }, defaultSidenavSize: { classPropertyName: "defaultSidenavSize", publicName: "defaultSidenavSize", isSignal: true, isRequired: false, transformFunction: null }, defaultSidenavMode: { classPropertyName: "defaultSidenavMode", publicName: "defaultSidenavMode", isSignal: true, isRequired: false, transformFunction: null }, defaultSidenavHasBackdrop: { classPropertyName: "defaultSidenavHasBackdrop", publicName: "defaultSidenavHasBackdrop", isSignal: true, isRequired: false, transformFunction: null }, defaultSidenavCloseOnBackdropClick: { classPropertyName: "defaultSidenavCloseOnBackdropClick", publicName: "defaultSidenavCloseOnBackdropClick", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "_sidenavs", predicate: Layout1SidenavDirective }], ngImport: i0, template: "<ng0-sidenav-container>\r\n <ng0-sidenav-content>\r\n <ng-content select=\"ng0-layout1-header\" />\r\n <ng-content select=\"ng0-layout1-content\" />\r\n </ng0-sidenav-content>\r\n\r\n @for (sidenav of _sidenavs; track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"sidenav.open()\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (backdropClick)=\"sidenav.backdropClick.emit($event)\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n @for (sidenav of _secondarySidenavs(); track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-secondary-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"_openSecondarySidenavs.has(sidenav)\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (transitionEnd)=\"_onSecondarySidenavTransitionEnd(sidenav)\"\r\n (backdropClick)=\"sidenav.closeOnBackdropClick() ? sidenav.dispose() : null\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n</ng0-sidenav-container>", styles: ["ng0-layout1{display:flex;flex-direction:column;min-height:100vh;width:100%}ng0-layout1 ng0-layout1-header{display:block;z-index:1}ng0-layout1 ng0-layout1-header.ng0-layout1-header-sticky{position:sticky;top:0}ng0-layout1 ng0-layout1-content{display:block}ng0-layout1 ng0-sidenav-container{overflow:unset!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: SidenavModule }, { kind: "component", type: i2.SidenavContainerComponent, selector: "ng0-sidenav-container", outputs: ["backdropClick"] }, { kind: "component", type: i2.SidenavComponent, selector: "ng0-sidenav", inputs: ["open", "mode", "hasBackdrop", "zIndex", "position", "size", "fixedInViewport"], outputs: ["backdropClick"] }, { kind: "component", type: i2.SidenavContentComponent, selector: "ng0-sidenav-content" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
167
239
|
}
|
|
168
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Component, decorators: [{
|
|
169
241
|
type: Component,
|
|
170
|
-
args: [{ selector: 'ng0-layout1', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, SidenavModule], template: "<ng0-sidenav-container>\r\n <ng0-sidenav-content>\r\n <ng-content select=\"ng0-layout1-header\" />\r\n <ng-content select=\"ng0-layout1-content\" />\r\n </ng0-sidenav-content>\r\n\r\n @for (sidenav of _sidenavs; track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"sidenav.open()\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (backdropClick)=\"sidenav.backdropClick.emit($event)\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n @for (sidenav of _secondarySidenavs(); track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-secondary-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"_openSecondarySidenavs.has(sidenav)\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (transitionEnd)=\"_onSecondarySidenavTransitionEnd(sidenav)\"\r\n (backdropClick)=\"sidenav.closeOnBackdropClick() ?
|
|
242
|
+
args: [{ selector: 'ng0-layout1', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, SidenavModule], template: "<ng0-sidenav-container>\r\n <ng0-sidenav-content>\r\n <ng-content select=\"ng0-layout1-header\" />\r\n <ng-content select=\"ng0-layout1-content\" />\r\n </ng0-sidenav-content>\r\n\r\n @for (sidenav of _sidenavs; track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"sidenav.open()\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (backdropClick)=\"sidenav.backdropClick.emit($event)\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n @for (sidenav of _secondarySidenavs(); track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-secondary-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"_openSecondarySidenavs.has(sidenav)\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (transitionEnd)=\"_onSecondarySidenavTransitionEnd(sidenav)\"\r\n (backdropClick)=\"sidenav.closeOnBackdropClick() ? sidenav.dispose() : null\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n</ng0-sidenav-container>", styles: ["ng0-layout1{display:flex;flex-direction:column;min-height:100vh;width:100%}ng0-layout1 ng0-layout1-header{display:block;z-index:1}ng0-layout1 ng0-layout1-header.ng0-layout1-header-sticky{position:sticky;top:0}ng0-layout1 ng0-layout1-content{display:block}ng0-layout1 ng0-sidenav-container{overflow:unset!important}\n"] }]
|
|
171
243
|
}], ctorParameters: () => [], propDecorators: { _sidenavs: [{
|
|
172
244
|
type: ContentChildren,
|
|
173
245
|
args: [Layout1SidenavDirective]
|
|
174
|
-
}] } });
|
|
246
|
+
}], defaultSidenavPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSidenavPosition", required: false }] }], defaultSidenavSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSidenavSize", required: false }] }], defaultSidenavMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSidenavMode", required: false }] }], defaultSidenavHasBackdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSidenavHasBackdrop", required: false }] }], defaultSidenavCloseOnBackdropClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSidenavCloseOnBackdropClick", required: false }] }] } });
|
|
175
247
|
|
|
176
248
|
/**
|
|
177
249
|
* Layout1 header component.
|
|
178
250
|
*/
|
|
179
251
|
class Layout1HeaderComponent {
|
|
180
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
181
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
252
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1HeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
253
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: Layout1HeaderComponent, isStandalone: true, selector: "ng0-layout1-header", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
182
254
|
}
|
|
183
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
255
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1HeaderComponent, decorators: [{
|
|
184
256
|
type: Component,
|
|
185
257
|
args: [{
|
|
186
258
|
selector: 'ng0-layout1-header',
|
|
@@ -195,10 +267,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.9", ngImpor
|
|
|
195
267
|
* Layout1 content component.
|
|
196
268
|
*/
|
|
197
269
|
class Layout1ContentComponent {
|
|
198
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
270
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1ContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
271
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.11", type: Layout1ContentComponent, isStandalone: true, selector: "ng0-layout1-content", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
200
272
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1ContentComponent, decorators: [{
|
|
202
274
|
type: Component,
|
|
203
275
|
args: [{
|
|
204
276
|
selector: 'ng0-layout1-content',
|
|
@@ -219,17 +291,17 @@ const items = [
|
|
|
219
291
|
* Layout1Module
|
|
220
292
|
*/
|
|
221
293
|
class Layout1Module {
|
|
222
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
223
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.
|
|
294
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Module, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
295
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.11", ngImport: i0, type: Layout1Module, imports: [Layout1Component,
|
|
224
296
|
Layout1SidenavDirective,
|
|
225
297
|
Layout1HeaderComponent,
|
|
226
298
|
Layout1ContentComponent], exports: [Layout1Component,
|
|
227
299
|
Layout1SidenavDirective,
|
|
228
300
|
Layout1HeaderComponent,
|
|
229
301
|
Layout1ContentComponent] });
|
|
230
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.
|
|
302
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Module, imports: [Layout1Component] });
|
|
231
303
|
}
|
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.11", ngImport: i0, type: Layout1Module, decorators: [{
|
|
233
305
|
type: NgModule,
|
|
234
306
|
args: [{
|
|
235
307
|
imports: items,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootkit-ng0-layouts-layout1.mjs","sources":["../../../projects/ng0/layouts/layout1/types.ts","../../../projects/ng0/layouts/layout1/layout1-manager.ts","../../../projects/ng0/layouts/layout1/layout1-sidenav.directive.ts","../../../projects/ng0/layouts/layout1/layout1.component.ts","../../../projects/ng0/layouts/layout1/layout1.component.html","../../../projects/ng0/layouts/layout1/layout1-header.component.ts","../../../projects/ng0/layouts/layout1/layout1-content.component.ts","../../../projects/ng0/layouts/layout1/layout1.module.ts","../../../projects/ng0/layouts/layout1/bootkit-ng0-layouts-layout1.ts"],"sourcesContent":["import { signal, TemplateRef, WritableSignal } from \"@angular/core\";\r\nimport { CssClass } from \"@bootkit/ng0/common\";\r\nimport { SidenavMode, SidenavPosition, SidenavSize } from \"@bootkit/ng0/components/sidenav\";\r\n\r\n/**\r\n * Represents a secondary sidenav options in the Layout1Component.\r\n */\r\nexport interface Layout1SecondarySidenavOptions {\r\n size?: SidenavSize;\r\n zIndex?: number;\r\n position?: SidenavPosition;\r\n mode?: SidenavMode;\r\n fixedInViewport?: boolean;\r\n hasBackdrop?: boolean;\r\n css?: CssClass;\r\n closeOnBackdropClick?: boolean\r\n}\r\n\r\nexport class Layout1SecondarySidenav {\r\n template: TemplateRef<any>;\r\n zIndex: WritableSignal<number | undefined>;\r\n css: WritableSignal<CssClass>;\r\n size: WritableSignal<SidenavSize>;\r\n position: WritableSignal<SidenavPosition>;\r\n mode: WritableSignal<SidenavMode>;\r\n hasBackdrop: WritableSignal<boolean>;\r\n closeOnBackdropClick: WritableSignal<boolean>;\r\n\r\n constructor(template: TemplateRef<any>, options?: Layout1SecondarySidenavOptions) {\r\n this.template = template;\r\n this.zIndex = signal(options?.zIndex);\r\n this.css = signal(options?.css);\r\n this.size = signal(options?.size);\r\n this.position = signal(options?.position ?? 'start');\r\n this.mode = signal(options?.mode ?? 'over');\r\n this.hasBackdrop = signal(options?.hasBackdrop ?? true);\r\n this.closeOnBackdropClick = signal(options?.closeOnBackdropClick ?? false);\r\n }\r\n}\r\n","import { Injectable, TemplateRef } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport { Layout1SecondarySidenav, Layout1SecondarySidenavOptions } from './types';\r\n\r\n/**\r\n * Service to manage the configuration and state of Layout1Component.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Layout1Manager {\r\n private _zIndexCounter = 1000;\r\n private _sidenavPushSubject = new Subject<Layout1SecondarySidenav>();\r\n private _sidenavPopSubject = new Subject<any>();\r\n private _sidenavRemoveSubject = new Subject<Layout1SecondarySidenav>();\r\n\r\n /**\r\n * @private\r\n */\r\n public sidenavPushNotification = this._sidenavPushSubject.asObservable();\r\n\r\n /**\r\n * @private\r\n */\r\n public sidenavPopNotification = this._sidenavPopSubject.asObservable();\r\n\r\n /**\r\n * @private\r\n */\r\n public sidenavRemoveNotification = this._sidenavRemoveSubject.asObservable();\r\n\r\n /**\r\n * Push a secondary sidenav.\r\n * @param template \r\n * @param options \r\n * @returns \r\n */\r\n public pushSidenav(template: TemplateRef<any>, options?: Layout1SecondarySidenavOptions): Layout1SecondarySidenav {\r\n options = options || {};\r\n options.zIndex = options.zIndex ?? this._zIndexCounter++;\r\n\r\n const sidenav = new Layout1SecondarySidenav(template, options);\r\n this._sidenavPushSubject.next(sidenav);\r\n return sidenav;\r\n }\r\n\r\n /**\r\n * Pop the last secondary sidenav.\r\n */\r\n public popSidenav(): void {\r\n this._sidenavPopSubject.next(undefined);\r\n }\r\n\r\n /**\r\n * Remove a secondary sidenav.\r\n * @param sidenav \r\n */\r\n public removeSidenav(sidenav: Layout1SecondarySidenav): void {\r\n this._sidenavRemoveSubject.next(sidenav);\r\n }\r\n}\r\n","import { booleanAttribute, Directive, EventEmitter, inject, input, numberAttribute, Output, TemplateRef } from '@angular/core';\r\nimport { SidenavMode, SidenavPosition, SidenavSize } from '@bootkit/ng0/components/sidenav';\r\nimport { CssClass } from '@bootkit/ng0/common';\r\n\r\n/** \r\n * Directive to define a sidenav within Layout1Component.\r\n */\r\n@Directive({\r\n selector: '[ng0Layout1Sidenav]',\r\n exportAs: 'ng0Layout1Sidenav',\r\n standalone: true,\r\n})\r\nexport class Layout1SidenavDirective {\r\n public readonly template = inject(TemplateRef<any>);\r\n public readonly open = input(true, { transform: booleanAttribute });\r\n public readonly mode = input<SidenavMode>('push');\r\n public readonly hasBackdrop = input(true, { transform: booleanAttribute });\r\n public readonly zIndex = input<number | undefined>(undefined);\r\n public readonly position = input<SidenavPosition>('start');\r\n public readonly size = input<SidenavSize>();\r\n public readonly css = input<CssClass>();\r\n @Output() public backdropClick = new EventEmitter<PointerEvent>();\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, inject, model, QueryList, signal, ViewEncapsulation } from '@angular/core';\r\nimport { SidenavModule } from '@bootkit/ng0/components/sidenav';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Layout1Manager } from './layout1-manager';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { Layout1SidenavDirective } from './layout1-sidenav.directive';\r\nimport { Layout1SecondarySidenav } from './types';\r\n\r\n/**\r\n * Layout1 component that provides a layout with sidenavs.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1',\r\n templateUrl: './layout1.component.html',\r\n styleUrls: ['./layout1.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule, SidenavModule]\r\n})\r\nexport class Layout1Component {\r\n private readonly _manager = inject(Layout1Manager);\r\n @ContentChildren(Layout1SidenavDirective) protected readonly _sidenavs?: QueryList<Layout1SidenavDirective>;\r\n protected readonly _secondarySidenavs = signal<Layout1SecondarySidenav[]>([]);\r\n protected readonly _openSecondarySidenavs = new Set<Layout1SecondarySidenav>();\r\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n constructor() {\r\n this._manager.sidenavPushNotification.pipe(takeUntilDestroyed()).subscribe(c => this.pushSidenav(c));\r\n this._manager.sidenavRemoveNotification.pipe(takeUntilDestroyed()).subscribe(c => this.removeSidenav(c));\r\n this._manager.sidenavPopNotification.pipe(takeUntilDestroyed()).subscribe(c => this.popSidenav());\r\n }\r\n\r\n /**\r\n * Push a secondary sidenav.\r\n * @param sidenav \r\n */\r\n public pushSidenav(sidenav: Layout1SecondarySidenav): void {\r\n this._secondarySidenavs().push(sidenav);\r\n this._changeDetectorRef.markForCheck();\r\n setTimeout(() => {\r\n // Open the sidenav in the next tick to ensure it's 'transform' transition works correctly.\r\n this._openSecondarySidenavs.add(sidenav);\r\n this._changeDetectorRef.markForCheck();\r\n });\r\n }\r\n\r\n /**\r\n * Pop the last secondary sidenav.\r\n */\r\n public popSidenav(): void {\r\n const last = this._secondarySidenavs().at(-1);\r\n if (last) {\r\n this.removeSidenav(last);\r\n }\r\n }\r\n\r\n /**\r\n * Remove a secondary sidenav.\r\n * @param sidenav \r\n */\r\n public removeSidenav(sidenav: Layout1SecondarySidenav): void {\r\n // Close the sidenav first. After the transition ends, it will be removed from DOM.\r\n this._openSecondarySidenavs.delete(sidenav);\r\n }\r\n\r\n protected _onSecondarySidenavTransitionEnd(sidenav: Layout1SecondarySidenav) {\r\n if (!this._openSecondarySidenavs.has(sidenav)) {\r\n // We should remove secondary sidenavs from DOM.\r\n const index = this._secondarySidenavs().findIndex(x => x === sidenav);\r\n this._secondarySidenavs().splice(index, 1);\r\n }\r\n }\r\n}\r\n","<ng0-sidenav-container>\r\n <ng0-sidenav-content>\r\n <ng-content select=\"ng0-layout1-header\" />\r\n <ng-content select=\"ng0-layout1-content\" />\r\n </ng0-sidenav-content>\r\n\r\n @for (sidenav of _sidenavs; track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"sidenav.open()\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (backdropClick)=\"sidenav.backdropClick.emit($event)\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n @for (sidenav of _secondarySidenavs(); track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-secondary-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"_openSecondarySidenavs.has(sidenav)\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (transitionEnd)=\"_onSecondarySidenavTransitionEnd(sidenav)\"\r\n (backdropClick)=\"sidenav.closeOnBackdropClick() ? removeSidenav(sidenav) : null\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n</ng0-sidenav-container>","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Layout1 header component.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1-header',\r\n template: `<ng-content></ng-content>`,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class Layout1HeaderComponent {\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Layout1 content component.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1-content',\r\n template: `<ng-content></ng-content>`,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class Layout1ContentComponent {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Layout1Component } from './layout1.component';\r\nimport { Layout1SidenavDirective } from './layout1-sidenav.directive';\r\nimport { Layout1HeaderComponent } from './layout1-header.component';\r\nimport { Layout1ContentComponent } from './public-api';\r\n\r\nconst items = [\r\n Layout1Component,\r\n Layout1SidenavDirective,\r\n Layout1HeaderComponent,\r\n Layout1ContentComponent\r\n];\r\n\r\n/**\r\n * Layout1Module\r\n */\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class Layout1Module { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;MAkBa,uBAAuB,CAAA;AAChC,IAAA,QAAQ;AACR,IAAA,MAAM;AACN,IAAA,GAAG;AACH,IAAA,IAAI;AACJ,IAAA,QAAQ;AACR,IAAA,IAAI;AACJ,IAAA,WAAW;AACX,IAAA,oBAAoB;IAEpB,WAAA,CAAY,QAA0B,EAAE,OAAwC,EAAA;AAC5E,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,QAAQ,IAAI,OAAO,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,MAAM,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;QACvD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,OAAO,EAAE,oBAAoB,IAAI,KAAK,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,sBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;IAC9E;AACH;;AClCD;;AAEG;MAIU,cAAc,CAAA;IACjB,cAAc,GAAG,IAAI;AACrB,IAAA,mBAAmB,GAAG,IAAI,OAAO,EAA2B;AAC5D,IAAA,kBAAkB,GAAG,IAAI,OAAO,EAAO;AACvC,IAAA,qBAAqB,GAAG,IAAI,OAAO,EAA2B;AAEtE;;AAEG;AACI,IAAA,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;AAExE;;AAEG;AACI,IAAA,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AAEtE;;AAEG;AACI,IAAA,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE;AAE5E;;;;;AAKG;IACI,WAAW,CAAC,QAA0B,EAAE,OAAwC,EAAA;AACrF,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE;QACvB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;QAExD,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC;AAC9D,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;AACtC,QAAA,OAAO,OAAO;IAChB;AAEA;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;IACzC;AAEA;;;AAGG;AACI,IAAA,aAAa,CAAC,OAAgC,EAAA;AACnD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;IAC1C;uGAjDW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA;;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACLD;;AAEG;MAMU,uBAAuB,CAAA;AAChB,IAAA,QAAQ,GAAG,MAAM,EAAC,WAAgB,EAAC;AACnC,IAAA,IAAI,GAAG,KAAK,CAAC,IAAI,wCAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AACnD,IAAA,IAAI,GAAG,KAAK,CAAc,MAAM,gDAAC;AACjC,IAAA,WAAW,GAAG,KAAK,CAAC,IAAI,+CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;AAC1D,IAAA,MAAM,GAAG,KAAK,CAAqB,SAAS,kDAAC;AAC7C,IAAA,QAAQ,GAAG,KAAK,CAAkB,OAAO,oDAAC;IAC1C,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAe;IAC3B,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAY;AACtB,IAAA,aAAa,GAAG,IAAI,YAAY,EAAgB;uGATxD,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AACnB,iBAAA;;sBAUI;;;ACbL;;AAEG;MAUU,gBAAgB,CAAA;AACV,IAAA,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;AACW,IAAA,SAAS;AACnD,IAAA,kBAAkB,GAAG,MAAM,CAA4B,EAAE,8DAAC;AAC1D,IAAA,sBAAsB,GAAG,IAAI,GAAG,EAA2B;AAC7D,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAE/D,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;IACnG;AAEA;;;AAGG;AACI,IAAA,WAAW,CAAC,OAAgC,EAAA;QACjD,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;AACvC,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;QACtC,UAAU,CAAC,MAAK;;AAEd,YAAA,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC;AACxC,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;AACxC,QAAA,CAAC,CAAC;IACJ;AAEA;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;QAC1B;IACF;AAEA;;;AAGG;AACI,IAAA,aAAa,CAAC,OAAgC,EAAA;;AAEnD,QAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7C;AAEU,IAAA,gCAAgC,CAAC,OAAgC,EAAA;QACzE,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;;AAE7C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC;YACrE,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C;IACF;uGApDW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAhB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,iGAEV,uBAAuB,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtB1C,2nDAqCwB,EAAA,MAAA,EAAA,CAAA,8TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDnBZ,YAAY,mSAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAE1B,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAT5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAAA,aAAA,EAGR,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,UAAA,EACnC,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,2nDAAA,EAAA,MAAA,EAAA,CAAA,8TAAA,CAAA,EAAA;;sBAIrC,eAAe;uBAAC,uBAAuB;;;AEpB1C;;AAEG;MAQU,sBAAsB,CAAA;uGAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8EALvB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK1B,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACTD;;AAEG;MAQU,uBAAuB,CAAA;uGAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+EALxB,CAAA,yBAAA,CAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAK1B,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,QAAQ,EAAE,CAAA,yBAAA,CAA2B;oBACrC,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;ACLD,MAAM,KAAK,GAAG;IACV,gBAAgB;IAChB,uBAAuB;IACvB,sBAAsB;IACtB;CACH;AAED;;AAEG;MAKU,aAAa,CAAA;uGAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAb,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAbtB,gBAAgB;YAChB,uBAAuB;YACvB,sBAAsB;AACtB,YAAA,uBAAuB,aAHvB,gBAAgB;YAChB,uBAAuB;YACvB,sBAAsB;YACtB,uBAAuB,CAAA,EAAA,CAAA;AAUd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,YAbtB,gBAAgB,CAAA,EAAA,CAAA;;2FAaP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAJzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,KAAK;AACd,oBAAA,OAAO,EAAE;AACZ,iBAAA;;;ACnBD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"bootkit-ng0-layouts-layout1.mjs","sources":["../../../projects/ng0/layouts/layout1/layout1-manager.ts","../../../projects/ng0/layouts/layout1/layout1-sidenav.directive.ts","../../../projects/ng0/layouts/layout1/secondary-sidenav.ts","../../../projects/ng0/layouts/layout1/layout1.component.ts","../../../projects/ng0/layouts/layout1/layout1.component.html","../../../projects/ng0/layouts/layout1/layout1-header.component.ts","../../../projects/ng0/layouts/layout1/layout1-content.component.ts","../../../projects/ng0/layouts/layout1/layout1.module.ts","../../../projects/ng0/layouts/layout1/bootkit-ng0-layouts-layout1.ts"],"sourcesContent":["import { Injectable, TemplateRef } from '@angular/core';\r\nimport { Layout1SecondarySidenav, Layout1SecondarySidenavOptions } from './secondary-sidenav';\r\nimport { Layout1Component } from './layout1.component';\r\n\r\n/**\r\n * Service to manage the configuration and state of Layout1Component.\r\n */\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Layout1Manager {\r\n /**\r\n * The Layout1Component instance associated with this manager.\r\n */\r\n public component!: Layout1Component;\r\n\r\n /**\r\n * Push a secondary sidenav.\r\n * @param content The template for the secondary sidenav.\r\n * @param options Options for the secondary sidenav.\r\n * @returns The reference to the pushed secondary sidenav.\r\n */\r\n public pushSidenav(content: TemplateRef<any>, options?: Layout1SecondarySidenavOptions): Layout1SecondarySidenav {\r\n return this.component.pushSidenav(content, options);\r\n }\r\n\r\n /**\r\n * Close the last secondary sidenav and dispose it.\r\n */\r\n public popSidenav(result?: any): Layout1SecondarySidenav | undefined {\r\n return this.component.popSidenav(result);\r\n }\r\n\r\n /**\r\n * Get the list of secondary sidenavs.\r\n */\r\n public get secondarySidenavs(): ReadonlyArray<Layout1SecondarySidenav> {\r\n return this.component.secondarySidenavs;\r\n }\r\n\r\n /**\r\n * Get the last secondary sidenav.\r\n */\r\n public get last(): Layout1SecondarySidenav | undefined {\r\n return this.component.secondarySidenavs.at(-1);\r\n }\r\n}\r\n","import { booleanAttribute, Directive, EventEmitter, inject, input, Output, TemplateRef } from '@angular/core';\r\nimport { SidenavMode, SidenavPosition, SidenavSize } from '@bootkit/ng0/components/sidenav';\r\nimport { CssClass } from '@bootkit/ng0/common';\r\n\r\n/** \r\n * Directive to define a sidenav within Layout1Component.\r\n */\r\n@Directive({\r\n selector: '[ng0Layout1Sidenav]',\r\n exportAs: 'ng0Layout1Sidenav',\r\n standalone: true,\r\n})\r\nexport class Layout1SidenavDirective {\r\n public readonly template = inject(TemplateRef<any>);\r\n public readonly open = input(true, { transform: booleanAttribute });\r\n public readonly mode = input<SidenavMode>('push');\r\n public readonly hasBackdrop = input(true, { transform: booleanAttribute });\r\n public readonly zIndex = input<number | undefined>(undefined);\r\n public readonly position = input<SidenavPosition>('start');\r\n public readonly size = input<SidenavSize>();\r\n public readonly css = input<CssClass>();\r\n @Output() public backdropClick = new EventEmitter<PointerEvent>();\r\n}\r\n","import { signal, TemplateRef, WritableSignal } from \"@angular/core\";\r\nimport { CssClass } from \"@bootkit/ng0/common\";\r\nimport { SidenavMode, SidenavPosition, SidenavSize } from \"@bootkit/ng0/components/sidenav\";\r\nimport { Subject } from \"rxjs\";\r\n\r\n/**\r\n * Represents a secondary sidenav options in the Layout1Component.\r\n */\r\nexport interface Layout1SecondarySidenavOptions {\r\n size?: SidenavSize;\r\n zIndex?: number;\r\n position?: SidenavPosition;\r\n mode?: SidenavMode;\r\n fixedInViewport?: boolean;\r\n hasBackdrop?: boolean;\r\n css?: CssClass;\r\n closeOnBackdropClick?: boolean\r\n}\r\n\r\n/**\r\n * Reference to a secondary sidenav in the Layout1Component.\r\n */\r\nexport class Layout1SecondarySidenav {\r\n private _disposedSubject = new Subject<any>();\r\n private _isDisposed = false;\r\n\r\n /**\r\n * Observable that emits when the sidenav is disposed.\r\n */\r\n public readonly disposed = this._disposedSubject.asObservable();\r\n\r\n /**\r\n * template of the sidenav content.\r\n */\r\n public readonly template: TemplateRef<any>;\r\n\r\n /**\r\n * Z-Index of the sidenav.\r\n */\r\n public readonly zIndex: WritableSignal<number | undefined>;\r\n\r\n /**\r\n * Sidenav css classes.\r\n */\r\n public readonly css: WritableSignal<CssClass>;\r\n\r\n /**\r\n * Size of the sidenav.\r\n */\r\n public readonly size: WritableSignal<SidenavSize>;\r\n\r\n /**\r\n * Position of the sidenav.\r\n */\r\n public readonly position: WritableSignal<SidenavPosition>;\r\n\r\n /**\r\n * Mode of the sidenav.\r\n */\r\n public readonly mode: WritableSignal<SidenavMode>;\r\n\r\n /**\r\n * Whether the sidenav has a backdrop.\r\n */\r\n public readonly hasBackdrop: WritableSignal<boolean>;\r\n\r\n /**\r\n * Whether the sidenav should close on backdrop click.\r\n */\r\n public readonly closeOnBackdropClick: WritableSignal<boolean>;\r\n\r\n /**\r\n * Whether the sidenav is disposed.\r\n */\r\n public get isDisposed() {\r\n return this._isDisposed;\r\n }\r\n\r\n constructor(template: TemplateRef<any>, options?: Layout1SecondarySidenavOptions) {\r\n this.template = template;\r\n this.zIndex = signal(options?.zIndex);\r\n this.css = signal(options?.css);\r\n this.size = signal(options?.size);\r\n this.position = signal(options?.position ?? 'start');\r\n this.mode = signal(options?.mode ?? 'over');\r\n this.hasBackdrop = signal(options?.hasBackdrop ?? true);\r\n this.closeOnBackdropClick = signal(options?.closeOnBackdropClick ?? false);\r\n }\r\n\r\n /**\r\n * Close and dispose the sidenav.\r\n * @param result Optional result to emit when the sidenav is closed.\r\n */\r\n public dispose(result?: any): void {\r\n if (!this._isDisposed) {\r\n this._isDisposed = true;\r\n this._disposedSubject.next(result);\r\n }\r\n }\r\n}\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, inject, input, QueryList, signal, TemplateRef, ViewEncapsulation } from '@angular/core';\r\nimport { SidenavMode, SidenavModule, SidenavPosition, SidenavSize } from '@bootkit/ng0/components/sidenav';\r\nimport { CommonModule } from '@angular/common';\r\nimport { Layout1Manager } from './layout1-manager';\r\nimport { Layout1SidenavDirective } from './layout1-sidenav.directive';\r\nimport { Layout1SecondarySidenavOptions, Layout1SecondarySidenav } from './secondary-sidenav';\r\n\r\n/**\r\n * Layout1 component that provides a layout with sidenavs.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1',\r\n templateUrl: './layout1.component.html',\r\n styleUrls: ['./layout1.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n imports: [CommonModule, SidenavModule]\r\n})\r\nexport class Layout1Component {\r\n private _zIndexCounter = 1000;\r\n private readonly _manager = inject(Layout1Manager);\r\n @ContentChildren(Layout1SidenavDirective) protected readonly _sidenavs?: QueryList<Layout1SidenavDirective>;\r\n protected readonly _secondarySidenavs = signal<Layout1SecondarySidenav[]>([]);\r\n protected readonly _openSecondarySidenavs = new Set<Layout1SecondarySidenav>();\r\n private readonly _changeDetectorRef = inject(ChangeDetectorRef);\r\n\r\n /**\r\n * Default position for secondary sidenavs.\r\n */\r\n defaultSidenavPosition = input<SidenavPosition>('start');\r\n\r\n /**\r\n * Default size for secondary sidenavs.\r\n */\r\n defaultSidenavSize = input<SidenavSize>();\r\n\r\n /**\r\n * Default mode for secondary sidenavs.\r\n */\r\n defaultSidenavMode = input<SidenavMode>('over');\r\n\r\n /**\r\n * Default hasBackdrop value for secondary sidenavs.\r\n */\r\n defaultSidenavHasBackdrop = input(true);\r\n\r\n /**\r\n * Default closeOnBackdropClick value for secondary sidenavs.\r\n */\r\n defaultSidenavCloseOnBackdropClick = input(false);\r\n\r\n\r\n constructor() {\r\n this._manager.component = this;\r\n }\r\n\r\n /**\r\n * Push a secondary sidenav.\r\n * @param template The template for the secondary sidenav.\r\n * @param options Options for the secondary sidenav.\r\n * @returns The reference to the pushed secondary sidenav.\r\n */\r\n public pushSidenav(template: TemplateRef<any>, options?: Layout1SecondarySidenavOptions): Layout1SecondarySidenav {\r\n options = options || {};\r\n options.zIndex = options.zIndex ?? this._zIndexCounter++;\r\n options.mode = options.mode ?? this.defaultSidenavMode();\r\n options.position = options.position ?? this.defaultSidenavPosition();\r\n options.size = options.size ?? this.defaultSidenavSize();\r\n options.hasBackdrop = options.hasBackdrop ?? this.defaultSidenavHasBackdrop();\r\n options.closeOnBackdropClick = options.closeOnBackdropClick ?? this.defaultSidenavCloseOnBackdropClick();\r\n\r\n const sidenavRef = new Layout1SecondarySidenav(template, options);\r\n this._secondarySidenavs().push(sidenavRef);\r\n this._changeDetectorRef.markForCheck();\r\n\r\n // Open the sidenav in the next tick to ensure it's 'transform' transition works correctly.\r\n setTimeout(() => {\r\n this._openSecondarySidenavs.add(sidenavRef);\r\n this._changeDetectorRef.markForCheck();\r\n });\r\n\r\n sidenavRef.disposed.subscribe((result?: any) => {\r\n // Close the sidenav first. After the transition ends, it will be removed from DOM.\r\n this._openSecondarySidenavs.delete(sidenavRef);\r\n });\r\n\r\n return sidenavRef;\r\n }\r\n\r\n /**\r\n * Close the last secondary sidenav and dispose it.\r\n * @param result The result to pass when closing the sidenav.\r\n * @return The reference to the closed secondary sidenav.\r\n */\r\n public popSidenav(result?: any): Layout1SecondarySidenav | undefined {\r\n const last = this._secondarySidenavs().at(-1);\r\n if (last) {\r\n last.dispose(result);\r\n return last;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n /**\r\n * Get the list of secondary sidenavs.\r\n */\r\n public get secondarySidenavs(): ReadonlyArray<Layout1SecondarySidenav> {\r\n return this._secondarySidenavs();\r\n }\r\n\r\n protected _onSecondarySidenavTransitionEnd(sidenav: Layout1SecondarySidenav) {\r\n if (sidenav.isDisposed) {\r\n const index = this._secondarySidenavs().findIndex(x => x === sidenav);\r\n this._secondarySidenavs().splice(index, 1);\r\n }\r\n }\r\n}\r\n","<ng0-sidenav-container>\r\n <ng0-sidenav-content>\r\n <ng-content select=\"ng0-layout1-header\" />\r\n <ng-content select=\"ng0-layout1-content\" />\r\n </ng0-sidenav-content>\r\n\r\n @for (sidenav of _sidenavs; track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"sidenav.open()\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (backdropClick)=\"sidenav.backdropClick.emit($event)\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n @for (sidenav of _secondarySidenavs(); track $index) {\r\n <ng0-sidenav class=\"ng0-layout1-secondary-sidenav\"\r\n [size]=\"sidenav.size()\"\r\n [open]=\"_openSecondarySidenavs.has(sidenav)\"\r\n [mode]=\"sidenav.mode()\"\r\n [hasBackdrop]=\"sidenav.hasBackdrop()\"\r\n [position]=\"sidenav.position()\"\r\n [zIndex]=\"sidenav.zIndex()\"\r\n [fixedInViewport]=\"true\"\r\n [ngClass]=\"sidenav.css()\"\r\n (transitionEnd)=\"_onSecondarySidenavTransitionEnd(sidenav)\"\r\n (backdropClick)=\"sidenav.closeOnBackdropClick() ? sidenav.dispose() : null\">\r\n <ng-container *ngTemplateOutlet=\"sidenav.template\" />\r\n </ng0-sidenav>\r\n }\r\n\r\n</ng0-sidenav-container>","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Layout1 header component.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1-header',\r\n template: `<ng-content></ng-content>`,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class Layout1HeaderComponent {\r\n}\r\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\r\n\r\n/**\r\n * Layout1 content component.\r\n */\r\n@Component({\r\n selector: 'ng0-layout1-content',\r\n template: `<ng-content></ng-content>`,\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class Layout1ContentComponent {\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Layout1Component } from './layout1.component';\r\nimport { Layout1SidenavDirective } from './layout1-sidenav.directive';\r\nimport { Layout1HeaderComponent } from './layout1-header.component';\r\nimport { Layout1ContentComponent } from './public-api';\r\n\r\nconst items = [\r\n Layout1Component,\r\n Layout1SidenavDirective,\r\n Layout1HeaderComponent,\r\n Layout1ContentComponent\r\n];\r\n\r\n/**\r\n * Layout1Module\r\n */\r\n@NgModule({\r\n imports: items,\r\n exports: items\r\n})\r\nexport class Layout1Module { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|