@mxtommy/kip 3.11.0 → 4.0.1
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/.github/copilot-instructions.md +102 -27
- package/.github/instructions/angular.instructions.md +1 -1
- package/CHANGELOG.md +33 -2
- package/README.md +98 -78
- package/docs/widget-schematic.md +102 -0
- package/images/ChartplotterMode.png +0 -0
- package/package.json +8 -3
- package/public/3rdpartylicenses.txt +95 -69
- package/public/assets/help-docs/chartplotter.md +122 -0
- package/public/assets/help-docs/community.md +68 -0
- package/public/assets/help-docs/configuration.md +1 -1
- package/public/assets/help-docs/contact-us.md +58 -8
- package/public/assets/help-docs/dashboards.md +117 -42
- package/public/assets/help-docs/datainspector.md +1 -1
- package/public/assets/help-docs/datasets.md +1 -1
- package/public/assets/help-docs/embedwidget.md +1 -1
- package/public/assets/help-docs/grafana.md +1 -1
- package/public/assets/help-docs/influxdb.md +1 -1
- package/public/assets/help-docs/kiosk.md +30 -14
- package/public/assets/help-docs/menu.json +5 -3
- package/public/assets/help-docs/putcontrols.md +5 -5
- package/public/assets/help-docs/welcome.md +49 -23
- package/public/assets/help-docs/zones.md +1 -1
- package/public/assets/svg/icons.svg +22 -24
- package/public/{chunk-F4VOQO2M.js → chunk-4HLTLR5F.js} +1 -1
- package/public/chunk-52M2PJJL.js +4 -0
- package/public/chunk-5FWE6Y4K.js +52 -0
- package/public/{chunk-K4BST2XF.js → chunk-75QTGQOO.js} +1 -1
- package/public/{chunk-XE352AKG.js → chunk-AB255PKD.js} +1 -1
- package/public/{chunk-GMZROOAF.js → chunk-ACTDISHE.js} +1 -1
- package/public/chunk-AYVYZ27A.js +2 -0
- package/public/chunk-B3P2F52Y.js +9 -0
- package/public/{chunk-EJ4JM3HG.js → chunk-BMDGKBYM.js} +23 -23
- package/public/chunk-CTZYGIOB.js +8 -0
- package/public/chunk-CVTWABMM.js +2 -0
- package/public/chunk-CZJ7AC6N.js +1 -0
- package/public/chunk-F5X5MWHG.js +0 -0
- package/public/{chunk-TIXQ3FAF.js → chunk-HIADZ4BV.js} +1 -1
- package/public/chunk-IJ22WXFB.js +1 -0
- package/public/chunk-IPSRX374.js +1 -0
- package/public/chunk-JCW5H5WP.js +1 -0
- package/public/{chunk-I6UWIF55.js → chunk-KHL7FGID.js} +1 -1
- package/public/{chunk-ANRGX57I.js → chunk-OB3QLUH6.js} +12 -12
- package/public/{chunk-G4B4D3XR.js → chunk-OQULS6SV.js} +1 -1
- package/public/chunk-P3OU5V2Y.js +1 -0
- package/public/chunk-RYHOAWDD.js +4 -0
- package/public/chunk-SVP7ZRWY.js +5 -0
- package/public/{chunk-IZAPOSYM.js → chunk-SZ2GUIT5.js} +1 -1
- package/public/chunk-TCZ5ZAXQ.js +3 -0
- package/public/chunk-V7PWLOQ2.js +6 -0
- package/public/index.html +2 -2
- package/public/main-3LAUI5JW.js +5 -0
- package/public/scripts-7HSGK5LZ.js +14 -0
- package/public/styles-MJ4EO4B4.css +1 -0
- package/tools/schematics/collection.json +9 -0
- package/tools/schematics/create-host2-widget/files/readme/README.md.template +109 -0
- package/tools/schematics/create-host2-widget/files/spec/widget-__name@dasherize__.component.spec.ts +38 -0
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.html +6 -0
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.scss +5 -0
- package/tools/schematics/create-host2-widget/files/widget/widget-__name@dasherize__.component.ts.template +94 -0
- package/tools/schematics/create-host2-widget/index.js +138 -0
- package/tools/schematics/create-host2-widget/schema.json +89 -0
- package/tools/schematics/create-host2-widget/test/create-host2-widget.spec.ts +70 -0
- package/tools/schematics/create-host2-widget/utils/formatting.js +119 -0
- package/public/chunk-2MAVQD65.js +0 -3
- package/public/chunk-5MLB3PYZ.js +0 -11
- package/public/chunk-66OJ5PZF.js +0 -2
- package/public/chunk-6NRGS3BZ.js +0 -1
- package/public/chunk-FPMCI7XZ.js +0 -6
- package/public/chunk-GIZH6HIB.js +0 -2
- package/public/chunk-KPOCVRYH.js +0 -2
- package/public/chunk-N3HCHSSE.js +0 -2
- package/public/chunk-P4K222SI.js +0 -8
- package/public/chunk-PYBIMDD3.js +0 -5
- package/public/chunk-S4OKR5KN.js +0 -1
- package/public/chunk-TARCFDF4.js +0 -4
- package/public/chunk-VZ77T3BF.js +0 -4
- package/public/chunk-XFU5YJJP.js +0 -5
- package/public/main-KP322K7A.js +0 -51
- package/public/styles-PDNHT2L2.css +0 -1
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
|
|
2
|
+
import { Tree } from '@angular-devkit/schematics';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
|
|
5
|
+
// Path to collection.json
|
|
6
|
+
const collectionPath = path.join(__dirname, '..', 'collection.json').replace(/test\/[.][.]/, '..');
|
|
7
|
+
|
|
8
|
+
describe('create-host2-widget schematic', () => {
|
|
9
|
+
const runner = new SchematicTestRunner('kip-schematics', collectionPath);
|
|
10
|
+
let appTree: UnitTestTree;
|
|
11
|
+
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
// Minimal host tree with widget.service.ts skeleton to exercise mutations
|
|
14
|
+
appTree = new UnitTestTree(Tree.empty());
|
|
15
|
+
appTree.create('src/app/core/services/widget.service.ts', `import { Type } from '@angular/core';\nexport interface WidgetDescription { selector: string; componentClassName: string; category: string; name: string; description: string; icon: string; minWidth: number; minHeight: number; defaultWidth: number; defaultHeight: number; requiredPlugins: string[]; }\nexport class WidgetService {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private readonly _componentTypeMap: Record<string, Type<any>> = {\n };\n private readonly _widgetDefinition: readonly WidgetDescription[] = [\n ];\n}`);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
function run(options: Record<string, any>) {
|
|
20
|
+
return runner.runSchematic('create-host2-widget', {
|
|
21
|
+
name: 'alpha', title: 'Alpha', registerWidget: 'Core',
|
|
22
|
+
pathType: 'number', pathDefault: null, ignoreZones: false,
|
|
23
|
+
addSpec: false, todoBlock: false, readme: false,
|
|
24
|
+
...options
|
|
25
|
+
}, appTree);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
it('generates widget files', async () => {
|
|
29
|
+
const tree = await run({});
|
|
30
|
+
expect(tree.exists('src/app/widgets/widget-alpha/widget-alpha.component.ts')).toBeTrue();
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('updates service: import, map, definition', async () => {
|
|
34
|
+
const tree = await run({});
|
|
35
|
+
const service = tree.read('src/app/core/services/widget.service.ts')!.toString('utf-8');
|
|
36
|
+
expect(service).toContain("import { WidgetAlphaComponent } from '../../widgets/widget-alpha/widget-alpha.component'");
|
|
37
|
+
expect(service).toMatch(/_componentTypeMap[\s\S]*WidgetAlphaComponent: WidgetAlphaComponent/);
|
|
38
|
+
expect(service).toMatch(/selector: 'widget-alpha'/);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
it('inserts second widget in same category after first', async () => {
|
|
42
|
+
let tree = await run({});
|
|
43
|
+
appTree = tree; // carry over
|
|
44
|
+
tree = await run({ name: 'beta', title: 'Beta' });
|
|
45
|
+
const service = tree.read('src/app/core/services/widget.service.ts')!.toString('utf-8');
|
|
46
|
+
const alphaIdx = service.indexOf("selector: 'widget-alpha'");
|
|
47
|
+
const betaIdx = service.indexOf("selector: 'widget-beta'");
|
|
48
|
+
expect(alphaIdx).toBeGreaterThan(-1);
|
|
49
|
+
expect(betaIdx).toBeGreaterThan(-1);
|
|
50
|
+
expect(betaIdx).toBeGreaterThan(alphaIdx); // inserted after
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('is idempotent (running with same name does not duplicate)', async () => {
|
|
54
|
+
let tree = await run({});
|
|
55
|
+
appTree = tree;
|
|
56
|
+
tree = await run({});
|
|
57
|
+
const service = tree.read('src/app/core/services/widget.service.ts')!.toString('utf-8');
|
|
58
|
+
const occurrences = (service.match(/selector: 'widget-alpha'/g) || []).length;
|
|
59
|
+
expect(occurrences).toBe(1);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it('skips registration when registerWidget = no', async () => {
|
|
63
|
+
const tree = await run({ name: 'gamma', title: 'Gamma', registerWidget: 'no' });
|
|
64
|
+
const service = tree.read('src/app/core/services/widget.service.ts')!.toString('utf-8');
|
|
65
|
+
expect(service).not.toContain('WidgetGammaComponent');
|
|
66
|
+
expect(service).not.toContain("selector: 'widget-gamma'");
|
|
67
|
+
// component file still generated
|
|
68
|
+
expect(tree.exists('src/app/widgets/widget-gamma/widget-gamma.component.ts')).toBeTrue();
|
|
69
|
+
});
|
|
70
|
+
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
// JavaScript utility helpers for widget.service.ts mutation formatting & insertion logic
|
|
2
|
+
// Converted from TypeScript version.
|
|
3
|
+
|
|
4
|
+
function escapeSingle(str) {
|
|
5
|
+
return str.replace(/'/g, "\\'");
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
function buildWidgetDefinitionObject(selector, className, opts) {
|
|
9
|
+
return `{
|
|
10
|
+
name: '${opts.title}',
|
|
11
|
+
description: '${escapeSingle(opts.description)}',
|
|
12
|
+
icon: '${opts.icon}', // TODO replace placeholder icon
|
|
13
|
+
minWidth: ${opts.minWidth},
|
|
14
|
+
minHeight: ${opts.minHeight},
|
|
15
|
+
defaultWidth: ${opts.defaultWidth},
|
|
16
|
+
defaultHeight: ${opts.defaultHeight},
|
|
17
|
+
category: '${opts.category}',
|
|
18
|
+
requiredPlugins: [],
|
|
19
|
+
selector: '${selector}',
|
|
20
|
+
componentClassName: '${className}'
|
|
21
|
+
},`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function appendImport(src, importStatement) {
|
|
25
|
+
if (src.includes(importStatement)) return src;
|
|
26
|
+
const importBlockRegex = /^(?:import[^;]+;\s*)+/m;
|
|
27
|
+
if (importBlockRegex.test(src)) {
|
|
28
|
+
return src.replace(importBlockRegex, (block) => {
|
|
29
|
+
const normalized = block.replace(/\n*$/, '');
|
|
30
|
+
return normalized + '\n' + importStatement + '\n\n';
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return importStatement + '\n\n' + src;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function updateComponentMap(src, className) {
|
|
37
|
+
const mapPattern = /_componentTypeMap: Record<string, Type<any>> = {([\s\S]*?)};/m;
|
|
38
|
+
return src.replace(mapPattern, (m, inner) => {
|
|
39
|
+
if (inner.includes(className + ':')) return m;
|
|
40
|
+
const lines = inner.split(/\n/);
|
|
41
|
+
while (lines.length && lines[lines.length - 1].trim() === '') lines.pop();
|
|
42
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
43
|
+
const trimmed = lines[i].trim();
|
|
44
|
+
if (!trimmed) continue;
|
|
45
|
+
if (!trimmed.includes(':')) break;
|
|
46
|
+
if (!trimmed.endsWith(',')) lines[i] = lines[i] + ',';
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
lines.push(` ${className}: ${className}`);
|
|
50
|
+
// Replace inner content, then normalize closing brace indentation to two spaces
|
|
51
|
+
let replaced = m.replace(inner, lines.join('\n') + '\n');
|
|
52
|
+
replaced = replaced.replace(/\n *};/, '\n };');
|
|
53
|
+
return replaced;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function normalizeDefinitionFormatting(content, baseIndent) {
|
|
58
|
+
let rebuilt = content;
|
|
59
|
+
// Remove any blank line(s) between objects: ensure pattern `},\n{` with exactly one newline
|
|
60
|
+
rebuilt = rebuilt.replace(/},\n\n+(\s*{)/g, '},\n$1');
|
|
61
|
+
// Remove blank line before closing array
|
|
62
|
+
rebuilt = rebuilt.replace(/,\n\n(\s*])/g, ',\n$1');
|
|
63
|
+
// Remove stray duplicate blank lines inside objects
|
|
64
|
+
rebuilt = rebuilt.replace(/({\n)([ \t]*\n)+/g, '$1');
|
|
65
|
+
rebuilt = rebuilt.replace(/\n\s*\n(\s+\w+:)/g, '\n$1');
|
|
66
|
+
// Normalize opening brace indentation
|
|
67
|
+
rebuilt = rebuilt.replace(/^(\s*){(?=\n)/gm, baseIndent + '{');
|
|
68
|
+
// Collapse any 2+ blank lines to single newline
|
|
69
|
+
rebuilt = rebuilt.replace(/\n{2,}/g, '\n');
|
|
70
|
+
// Remove any trailing blank lines; do NOT force an extra newline because the array pattern supplies one before the closing ];
|
|
71
|
+
return rebuilt.replace(/\n\s*$/,'');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function insertDefinitionObject(src, selector, className, opts) {
|
|
75
|
+
const defArrayPattern = /private readonly _widgetDefinition: readonly WidgetDescription\[] = \[(\s*[\s\S]*?)\n\s*];/m;
|
|
76
|
+
return src.replace(defArrayPattern, (m, inner) => {
|
|
77
|
+
if (inner.includes(`selector: '${selector}'`)) return m;
|
|
78
|
+
let defObj = buildWidgetDefinitionObject(selector, className, opts).trim();
|
|
79
|
+
defObj = defObj.startsWith('{') ? defObj : '{' + defObj;
|
|
80
|
+
defObj = defObj.replace(/\n{2,}/g, '\n');
|
|
81
|
+
const linesDef = defObj.split(/\n/).map(l => l.trimEnd());
|
|
82
|
+
const openIdx = 0; const closeIdx = linesDef.length - 1;
|
|
83
|
+
const indentMatch = inner.match(/^(\s*){/m);
|
|
84
|
+
const baseIndent = indentMatch ? indentMatch[1] : ' ';
|
|
85
|
+
const firstLine = baseIndent + '{';
|
|
86
|
+
const lastLine = baseIndent + linesDef[closeIdx].trim();
|
|
87
|
+
const middle = linesDef.slice(openIdx + 1, closeIdx).filter(l => l.trim().length > 0).map(l => baseIndent + ' ' + l.trim());
|
|
88
|
+
defObj = [firstLine, ...middle, lastLine].join('\n');
|
|
89
|
+
const objectRegex = /{[\s\S]*?},\n?/g;
|
|
90
|
+
const objects = inner.match(objectRegex) || [];
|
|
91
|
+
if (objects.length === 0) {
|
|
92
|
+
return m.replace(inner, defObj + '\n');
|
|
93
|
+
}
|
|
94
|
+
const metas = objects.map(o => ({ text: o, category: (o.match(/category: '([^']+)'/) || [])[1] }));
|
|
95
|
+
let insertAfter = -1;
|
|
96
|
+
for (let i = 0; i < metas.length; i++) {
|
|
97
|
+
if (metas[i].category === opts.category) insertAfter = i;
|
|
98
|
+
}
|
|
99
|
+
const formattedNew = defObj + '\n';
|
|
100
|
+
let rebuilt = '';
|
|
101
|
+
metas.forEach((meta, idx) => {
|
|
102
|
+
const normalized = meta.text.endsWith('\n') ? meta.text : meta.text + '\n';
|
|
103
|
+
rebuilt += normalized;
|
|
104
|
+
if (idx === insertAfter) rebuilt += formattedNew; // inserted immediately, no extra blank line expected
|
|
105
|
+
});
|
|
106
|
+
if (insertAfter === -1) rebuilt += formattedNew; // appended at end
|
|
107
|
+
rebuilt = normalizeDefinitionFormatting(rebuilt, baseIndent);
|
|
108
|
+
return m.replace(inner, rebuilt);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
module.exports = {
|
|
113
|
+
escapeSingle,
|
|
114
|
+
buildWidgetDefinitionObject,
|
|
115
|
+
appendImport,
|
|
116
|
+
updateComponentMap,
|
|
117
|
+
insertDefinitionObject,
|
|
118
|
+
normalizeDefinitionFormatting
|
|
119
|
+
};
|
package/public/chunk-2MAVQD65.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{Ab as _,B as te,Bb as f,E as re,Ed as _e,F as g,Fa as Z,Gb as B,Gd as Y,Hb as l,Ia as ce,J as ie,K as ne,L as z,Oa as h,Od as fe,Pa as le,Qd as w,Sa as y,V as j,Wa as F,X as s,Xa as S,Xb as v,Ya as H,ab as N,bb as C,cb as k,da as ae,ea as O,ee as we,fe as b,ga as n,gd as A,ge,he as $,ib as m,id as K,j as c,ja as Q,jb as p,ka as W,ld as he,na as G,oa as oe,oc as T,ra as se,rb as L,tb as U,td as me,ud as pe,va as M,vb as D,w as V,wa as E,wb as u,xa as de,xb as d,yb as x,yd as ue,zb as q}from"./chunk-ANRGX57I.js";var I=["*"],ye=["content"],Ce=[[["mat-drawer"]],[["mat-drawer-content"]],"*"],ke=["mat-drawer","mat-drawer-content","*"];function De(i,P){if(i&1){let e=L();m(0,"div",1),U("click",function(){Q(e);let r=D();return W(r._onBackdropClicked())}),p()}if(i&2){let e=D();l("mat-drawer-shown",e._isShowingBackdrop())}}function xe(i,P){i&1&&(m(0,"mat-drawer-content"),d(1,2),p())}var Me=[[["mat-sidenav"]],[["mat-sidenav-content"]],"*"],Ee=["mat-sidenav","mat-sidenav-content","*"];function Fe(i,P){if(i&1){let e=L();m(0,"div",1),U("click",function(){Q(e);let r=D();return W(r._onBackdropClicked())}),p()}if(i&2){let e=D();l("mat-drawer-shown",e._isShowingBackdrop())}}function Se(i,P){i&1&&(m(0,"mat-sidenav-content"),d(1,2),p())}var Be=`.mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));background-color:var(--mat-sidenav-content-background-color, var(--mat-sys-background));box-sizing:border-box;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent))}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}@media(forced-colors: active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-content.mat-drawer-content-hidden{opacity:0}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));box-shadow:var(--mat-sidenav-container-elevation-shadow, none);background-color:var(--mat-sidenav-container-background-color, var(--mat-sys-surface));border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));width:var(--mat-sidenav-container-width, 360px);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}@media(forced-colors: active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media(forced-colors: active){[dir=rtl] .mat-drawer,.mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-transition .mat-drawer{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating){visibility:hidden;box-shadow:none}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container{display:none}.mat-drawer.mat-drawer-opened.mat-drawer-opened{transform:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto}.mat-sidenav-fixed{position:fixed}
|
|
2
|
-
`;var Te=new O("MAT_DRAWER_DEFAULT_AUTOSIZE",{providedIn:"root",factory:Ae}),ee=new O("MAT_DRAWER_CONTAINER");function Ae(){return!1}var R=(()=>{class i extends b{_platform=n(A);_changeDetectorRef=n(T);_container=n(X);constructor(){let e=n(E),t=n(we),r=n(S);super(e,t,r)}ngAfterContentInit(){this._container._contentMarginChanges.subscribe(()=>{this._changeDetectorRef.markForCheck()})}_shouldBeHidden(){if(this._platform.isBrowser)return!1;let{start:e,end:t}=this._container;return e!=null&&e.mode!=="over"&&e.opened||t!=null&&t.mode!=="over"&&t.opened}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=h({type:i,selectors:[["mat-drawer-content"]],hostAttrs:[1,"mat-drawer-content"],hostVars:6,hostBindings:function(t,r){t&2&&(B("margin-left",r._container._contentMargins.left,"px")("margin-right",r._container._contentMargins.right,"px"),l("mat-drawer-content-hidden",r._shouldBeHidden()))},features:[v([{provide:b,useExisting:i}]),y],ngContentSelectors:I,decls:1,vars:0,template:function(t,r){t&1&&(u(),d(0))},encapsulation:2,changeDetection:0})}return i})(),J=(()=>{class i{_elementRef=n(E);_focusTrapFactory=n(pe);_focusMonitor=n(he);_platform=n(A);_ngZone=n(S);_renderer=n(ce);_interactivityChecker=n(me);_doc=n(oe);_container=n(ee,{optional:!0});_focusTrap=null;_elementFocusedBeforeDrawerWasOpened=null;_eventCleanups;_isAttached;_anchor;get position(){return this._position}set position(e){e=e==="end"?"end":"start",e!==this._position&&(this._isAttached&&this._updatePositionInParent(e),this._position=e,this.onPositionChanged.emit())}_position="start";get mode(){return this._mode}set mode(e){this._mode=e,this._updateFocusTrapState(),this._modeChanged.next()}_mode="over";get disableClose(){return this._disableClose}set disableClose(e){this._disableClose=w(e)}_disableClose=!1;get autoFocus(){let e=this._autoFocus;return e??(this.mode==="side"?"dialog":"first-tabbable")}set autoFocus(e){(e==="true"||e==="false"||e==null)&&(e=w(e)),this._autoFocus=e}_autoFocus;get opened(){return this._opened()}set opened(e){this.toggle(w(e))}_opened=se(!1);_openedVia;_animationStarted=new c;_animationEnd=new c;openedChange=new F(!0);_openedStream=this.openedChange.pipe(g(e=>e),V(()=>{}));openedStart=this._animationStarted.pipe(g(()=>this.opened),z(void 0));_closedStream=this.openedChange.pipe(g(e=>!e),V(()=>{}));closedStart=this._animationStarted.pipe(g(()=>!this.opened),z(void 0));_destroyed=new c;onPositionChanged=new F;_content;_modeChanged=new c;_injector=n(G);_changeDetectorRef=n(T);constructor(){this.openedChange.pipe(s(this._destroyed)).subscribe(e=>{e?(this._elementFocusedBeforeDrawerWasOpened=this._doc.activeElement,this._takeFocus()):this._isFocusWithinDrawer()&&this._restoreFocus(this._openedVia||"program")}),this._ngZone.runOutsideAngular(()=>{let e=this._elementRef.nativeElement;te(e,"keydown").pipe(g(t=>t.keyCode===27&&!this.disableClose&&!ue(t)),s(this._destroyed)).subscribe(t=>this._ngZone.run(()=>{this.close(),t.stopPropagation(),t.preventDefault()})),this._eventCleanups=[this._renderer.listen(e,"transitionrun",this._handleTransitionEvent),this._renderer.listen(e,"transitionend",this._handleTransitionEvent),this._renderer.listen(e,"transitioncancel",this._handleTransitionEvent)]}),this._animationEnd.subscribe(()=>{this.openedChange.emit(this.opened)})}_forceFocus(e,t){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{let r=()=>{a(),o(),e.removeAttribute("tabindex")},a=this._renderer.listen(e,"blur",r),o=this._renderer.listen(e,"mousedown",r)})),e.focus(t)}_focusByCssSelector(e,t){let r=this._elementRef.nativeElement.querySelector(e);r&&this._forceFocus(r,t)}_takeFocus(){if(!this._focusTrap)return;let e=this._elementRef.nativeElement;switch(this.autoFocus){case!1:case"dialog":return;case!0:case"first-tabbable":H(()=>{!this._focusTrap.focusInitialElement()&&typeof e.focus=="function"&&e.focus()},{injector:this._injector});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this.autoFocus);break}}_restoreFocus(e){this.autoFocus!=="dialog"&&(this._elementFocusedBeforeDrawerWasOpened?this._focusMonitor.focusVia(this._elementFocusedBeforeDrawerWasOpened,e):this._elementRef.nativeElement.blur(),this._elementFocusedBeforeDrawerWasOpened=null)}_isFocusWithinDrawer(){let e=this._doc.activeElement;return!!e&&this._elementRef.nativeElement.contains(e)}ngAfterViewInit(){this._isAttached=!0,this._position==="end"&&this._updatePositionInParent("end"),this._platform.isBrowser&&(this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._updateFocusTrapState())}ngOnDestroy(){this._eventCleanups.forEach(e=>e()),this._focusTrap?.destroy(),this._anchor?.remove(),this._anchor=null,this._animationStarted.complete(),this._animationEnd.complete(),this._modeChanged.complete(),this._destroyed.next(),this._destroyed.complete()}open(e){return this.toggle(!0,e)}close(){return this.toggle(!1)}_closeViaBackdropClick(){return this._setOpen(!1,!0,"mouse")}toggle(e=!this.opened,t){e&&t&&(this._openedVia=t);let r=this._setOpen(e,!e&&this._isFocusWithinDrawer(),this._openedVia||"program");return e||(this._openedVia=null),r}_setOpen(e,t,r){return e===this.opened?Promise.resolve(e?"open":"close"):(this._opened.set(e),this._container?._transitionsEnabled?this._setIsAnimating(!0):setTimeout(()=>{this._animationStarted.next(),this._animationEnd.next()}),this._elementRef.nativeElement.classList.toggle("mat-drawer-opened",e),!e&&t&&this._restoreFocus(r),this._changeDetectorRef.markForCheck(),this._updateFocusTrapState(),new Promise(a=>{this.openedChange.pipe(ne(1)).subscribe(o=>a(o?"open":"close"))}))}_setIsAnimating(e){this._elementRef.nativeElement.classList.toggle("mat-drawer-animating",e)}_getWidth(){return this._elementRef.nativeElement.offsetWidth||0}_updateFocusTrapState(){this._focusTrap&&(this._focusTrap.enabled=!!this._container?.hasBackdrop&&this.opened)}_updatePositionInParent(e){if(!this._platform.isBrowser)return;let t=this._elementRef.nativeElement,r=t.parentNode;e==="end"?(this._anchor||(this._anchor=this._doc.createComment("mat-drawer-anchor"),r.insertBefore(this._anchor,t)),r.appendChild(t)):this._anchor&&this._anchor.parentNode.insertBefore(t,this._anchor)}_handleTransitionEvent=e=>{let t=this._elementRef.nativeElement;e.target===t&&this._ngZone.run(()=>{e.type==="transitionrun"?this._animationStarted.next(e):(e.type==="transitionend"&&this._setIsAnimating(!1),this._animationEnd.next(e))})};static \u0275fac=function(t){return new(t||i)};static \u0275cmp=h({type:i,selectors:[["mat-drawer"]],viewQuery:function(t,r){if(t&1&&q(ye,5),t&2){let a;_(a=f())&&(r._content=a.first)}},hostAttrs:[1,"mat-drawer"],hostVars:12,hostBindings:function(t,r){t&2&&(N("align",null)("tabIndex",r.mode!=="side"?"-1":null),B("visibility",!r._container&&!r.opened?"hidden":null),l("mat-drawer-end",r.position==="end")("mat-drawer-over",r.mode==="over")("mat-drawer-push",r.mode==="push")("mat-drawer-side",r.mode==="side"))},inputs:{position:"position",mode:"mode",disableClose:"disableClose",autoFocus:"autoFocus",opened:"opened"},outputs:{openedChange:"openedChange",_openedStream:"opened",openedStart:"openedStart",_closedStream:"closed",closedStart:"closedStart",onPositionChanged:"positionChanged"},exportAs:["matDrawer"],ngContentSelectors:I,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,r){t&1&&(u(),m(0,"div",1,0),d(2),p())},dependencies:[b],encapsulation:2,changeDetection:0})}return i})(),X=(()=>{class i{_dir=n(_e,{optional:!0});_element=n(E);_ngZone=n(S);_changeDetectorRef=n(T);_animationDisabled=fe();_transitionsEnabled=!1;_allDrawers;_drawers=new de;_content;_userContent;get start(){return this._start}get end(){return this._end}get autosize(){return this._autosize}set autosize(e){this._autosize=w(e)}_autosize=n(Te);get hasBackdrop(){return this._drawerHasBackdrop(this._start)||this._drawerHasBackdrop(this._end)}set hasBackdrop(e){this._backdropOverride=e==null?null:w(e)}_backdropOverride;backdropClick=new F;_start;_end;_left;_right;_destroyed=new c;_doCheckSubject=new c;_contentMargins={left:null,right:null};_contentMarginChanges=new c;get scrollable(){return this._userContent||this._content}_injector=n(G);constructor(){let e=n(A),t=n(ge);this._dir?.change.pipe(s(this._destroyed)).subscribe(()=>{this._validateDrawers(),this.updateContentMargins()}),t.change().pipe(s(this._destroyed)).subscribe(()=>this.updateContentMargins()),!this._animationDisabled&&e.isBrowser&&this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{this._element.nativeElement.classList.add("mat-drawer-transition"),this._transitionsEnabled=!0},200)})}ngAfterContentInit(){this._allDrawers.changes.pipe(j(this._allDrawers),s(this._destroyed)).subscribe(e=>{this._drawers.reset(e.filter(t=>!t._container||t._container===this)),this._drawers.notifyOnChanges()}),this._drawers.changes.pipe(j(null)).subscribe(()=>{this._validateDrawers(),this._drawers.forEach(e=>{this._watchDrawerToggle(e),this._watchDrawerPosition(e),this._watchDrawerMode(e)}),(!this._drawers.length||this._isDrawerOpen(this._start)||this._isDrawerOpen(this._end))&&this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),this._ngZone.runOutsideAngular(()=>{this._doCheckSubject.pipe(ie(10),s(this._destroyed)).subscribe(()=>this.updateContentMargins())})}ngOnDestroy(){this._contentMarginChanges.complete(),this._doCheckSubject.complete(),this._drawers.destroy(),this._destroyed.next(),this._destroyed.complete()}open(){this._drawers.forEach(e=>e.open())}close(){this._drawers.forEach(e=>e.close())}updateContentMargins(){let e=0,t=0;if(this._left&&this._left.opened){if(this._left.mode=="side")e+=this._left._getWidth();else if(this._left.mode=="push"){let r=this._left._getWidth();e+=r,t-=r}}if(this._right&&this._right.opened){if(this._right.mode=="side")t+=this._right._getWidth();else if(this._right.mode=="push"){let r=this._right._getWidth();t+=r,e-=r}}e=e||null,t=t||null,(e!==this._contentMargins.left||t!==this._contentMargins.right)&&(this._contentMargins={left:e,right:t},this._ngZone.run(()=>this._contentMarginChanges.next(this._contentMargins)))}ngDoCheck(){this._autosize&&this._isPushed()&&this._ngZone.runOutsideAngular(()=>this._doCheckSubject.next())}_watchDrawerToggle(e){e._animationStarted.pipe(s(this._drawers.changes)).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()}),e.mode!=="side"&&e.openedChange.pipe(s(this._drawers.changes)).subscribe(()=>this._setContainerClass(e.opened))}_watchDrawerPosition(e){e.onPositionChanged.pipe(s(this._drawers.changes)).subscribe(()=>{H({read:()=>this._validateDrawers()},{injector:this._injector})})}_watchDrawerMode(e){e._modeChanged.pipe(s(re(this._drawers.changes,this._destroyed))).subscribe(()=>{this.updateContentMargins(),this._changeDetectorRef.markForCheck()})}_setContainerClass(e){let t=this._element.nativeElement.classList,r="mat-drawer-container-has-open";e?t.add(r):t.remove(r)}_validateDrawers(){this._start=this._end=null,this._drawers.forEach(e=>{e.position=="end"?(this._end!=null,this._end=e):(this._start!=null,this._start=e)}),this._right=this._left=null,this._dir&&this._dir.value==="rtl"?(this._left=this._end,this._right=this._start):(this._left=this._start,this._right=this._end)}_isPushed(){return this._isDrawerOpen(this._start)&&this._start.mode!="over"||this._isDrawerOpen(this._end)&&this._end.mode!="over"}_onBackdropClicked(){this.backdropClick.emit(),this._closeModalDrawersViaBackdrop()}_closeModalDrawersViaBackdrop(){[this._start,this._end].filter(e=>e&&!e.disableClose&&this._drawerHasBackdrop(e)).forEach(e=>e._closeViaBackdropClick())}_isShowingBackdrop(){return this._isDrawerOpen(this._start)&&this._drawerHasBackdrop(this._start)||this._isDrawerOpen(this._end)&&this._drawerHasBackdrop(this._end)}_isDrawerOpen(e){return e!=null&&e.opened}_drawerHasBackdrop(e){return this._backdropOverride==null?!!e&&e.mode!=="side":this._backdropOverride}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=h({type:i,selectors:[["mat-drawer-container"]],contentQueries:function(t,r,a){if(t&1&&(x(a,R,5),x(a,J,5)),t&2){let o;_(o=f())&&(r._content=o.first),_(o=f())&&(r._allDrawers=o)}},viewQuery:function(t,r){if(t&1&&q(R,5),t&2){let a;_(a=f())&&(r._userContent=a.first)}},hostAttrs:[1,"mat-drawer-container"],hostVars:2,hostBindings:function(t,r){t&2&&l("mat-drawer-container-explicit-backdrop",r._backdropOverride)},inputs:{autosize:"autosize",hasBackdrop:"hasBackdrop"},outputs:{backdropClick:"backdropClick"},exportAs:["matDrawerContainer"],features:[v([{provide:ee,useExisting:i}])],ngContentSelectors:ke,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(t,r){t&1&&(u(Ce),C(0,De,1,2,"div",0),d(1),d(2,1),C(3,xe,2,0,"mat-drawer-content")),t&2&&(k(r.hasBackdrop?0:-1),Z(3),k(r._content?-1:3))},dependencies:[R],styles:[`.mat-drawer-container{position:relative;z-index:1;color:var(--mat-sidenav-content-text-color, var(--mat-sys-on-background));background-color:var(--mat-sidenav-content-background-color, var(--mat-sys-background));box-sizing:border-box;display:block;overflow:hidden}.mat-drawer-container[fullscreen]{top:0;left:0;right:0;bottom:0;position:absolute}.mat-drawer-container[fullscreen].mat-drawer-container-has-open{overflow:hidden}.mat-drawer-container.mat-drawer-container-explicit-backdrop .mat-drawer-side{z-index:3}.mat-drawer-container.ng-animate-disabled .mat-drawer-backdrop,.mat-drawer-container.ng-animate-disabled .mat-drawer-content,.ng-animate-disabled .mat-drawer-container .mat-drawer-backdrop,.ng-animate-disabled .mat-drawer-container .mat-drawer-content{transition:none}.mat-drawer-backdrop{top:0;left:0;right:0;bottom:0;position:absolute;display:block;z-index:3;visibility:hidden}.mat-drawer-backdrop.mat-drawer-shown{visibility:visible;background-color:var(--mat-sidenav-scrim-color, color-mix(in srgb, var(--mat-sys-neutral-variant20) 40%, transparent))}.mat-drawer-transition .mat-drawer-backdrop{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:background-color,visibility}@media(forced-colors: active){.mat-drawer-backdrop{opacity:.5}}.mat-drawer-content{position:relative;z-index:1;display:block;height:100%;overflow:auto}.mat-drawer-content.mat-drawer-content-hidden{opacity:0}.mat-drawer-transition .mat-drawer-content{transition-duration:400ms;transition-timing-function:cubic-bezier(0.25, 0.8, 0.25, 1);transition-property:transform,margin-left,margin-right}.mat-drawer{position:relative;z-index:4;color:var(--mat-sidenav-container-text-color, var(--mat-sys-on-surface-variant));box-shadow:var(--mat-sidenav-container-elevation-shadow, none);background-color:var(--mat-sidenav-container-background-color, var(--mat-sys-surface));border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));width:var(--mat-sidenav-container-width, 360px);display:block;position:absolute;top:0;bottom:0;z-index:3;outline:0;box-sizing:border-box;overflow-y:auto;transform:translate3d(-100%, 0, 0)}@media(forced-colors: active){.mat-drawer,[dir=rtl] .mat-drawer.mat-drawer-end{border-right:solid 1px currentColor}}@media(forced-colors: active){[dir=rtl] .mat-drawer,.mat-drawer.mat-drawer-end{border-left:solid 1px currentColor;border-right:none}}.mat-drawer.mat-drawer-side{z-index:2}.mat-drawer.mat-drawer-end{right:0;transform:translate3d(100%, 0, 0);border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .mat-drawer{border-top-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-left-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-right-radius:0;border-bottom-right-radius:0;transform:translate3d(100%, 0, 0)}[dir=rtl] .mat-drawer.mat-drawer-end{border-top-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-bottom-right-radius:var(--mat-sidenav-container-shape, var(--mat-sys-corner-large));border-top-left-radius:0;border-bottom-left-radius:0;left:0;right:auto;transform:translate3d(-100%, 0, 0)}.mat-drawer-transition .mat-drawer{transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating){visibility:hidden;box-shadow:none}.mat-drawer:not(.mat-drawer-opened):not(.mat-drawer-animating) .mat-drawer-inner-container{display:none}.mat-drawer.mat-drawer-opened.mat-drawer-opened{transform:none}.mat-drawer-side{box-shadow:none;border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid}.mat-drawer-side.mat-drawer-end{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side{border-left-color:var(--mat-sidenav-container-divider-color, transparent);border-left-width:1px;border-left-style:solid;border-right:none}[dir=rtl] .mat-drawer-side.mat-drawer-end{border-right-color:var(--mat-sidenav-container-divider-color, transparent);border-right-width:1px;border-right-style:solid;border-left:none}.mat-drawer-inner-container{width:100%;height:100%;overflow:auto}.mat-sidenav-fixed{position:fixed}
|
|
3
|
-
`],encapsulation:2,changeDetection:0})}return i})(),ve=(()=>{class i extends R{static \u0275fac=(()=>{let e;return function(r){return(e||(e=M(i)))(r||i)}})();static \u0275cmp=h({type:i,selectors:[["mat-sidenav-content"]],hostAttrs:[1,"mat-drawer-content","mat-sidenav-content"],features:[v([{provide:b,useExisting:i}]),y],ngContentSelectors:I,decls:1,vars:0,template:function(t,r){t&1&&(u(),d(0))},encapsulation:2,changeDetection:0})}return i})(),Re=(()=>{class i extends J{get fixedInViewport(){return this._fixedInViewport}set fixedInViewport(e){this._fixedInViewport=w(e)}_fixedInViewport=!1;get fixedTopGap(){return this._fixedTopGap}set fixedTopGap(e){this._fixedTopGap=K(e)}_fixedTopGap=0;get fixedBottomGap(){return this._fixedBottomGap}set fixedBottomGap(e){this._fixedBottomGap=K(e)}_fixedBottomGap=0;static \u0275fac=(()=>{let e;return function(r){return(e||(e=M(i)))(r||i)}})();static \u0275cmp=h({type:i,selectors:[["mat-sidenav"]],hostAttrs:[1,"mat-drawer","mat-sidenav"],hostVars:16,hostBindings:function(t,r){t&2&&(N("tabIndex",r.mode!=="side"?"-1":null)("align",null),B("top",r.fixedInViewport?r.fixedTopGap:null,"px")("bottom",r.fixedInViewport?r.fixedBottomGap:null,"px"),l("mat-drawer-end",r.position==="end")("mat-drawer-over",r.mode==="over")("mat-drawer-push",r.mode==="push")("mat-drawer-side",r.mode==="side")("mat-sidenav-fixed",r.fixedInViewport))},inputs:{fixedInViewport:"fixedInViewport",fixedTopGap:"fixedTopGap",fixedBottomGap:"fixedBottomGap"},exportAs:["matSidenav"],features:[v([{provide:J,useExisting:i}]),y],ngContentSelectors:I,decls:3,vars:0,consts:[["content",""],["cdkScrollable","",1,"mat-drawer-inner-container"]],template:function(t,r){t&1&&(u(),m(0,"div",1,0),d(2),p())},dependencies:[b],encapsulation:2,changeDetection:0})}return i})(),tt=(()=>{class i extends X{_allDrawers=void 0;_content=void 0;static \u0275fac=(()=>{let e;return function(r){return(e||(e=M(i)))(r||i)}})();static \u0275cmp=h({type:i,selectors:[["mat-sidenav-container"]],contentQueries:function(t,r,a){if(t&1&&(x(a,ve,5),x(a,Re,5)),t&2){let o;_(o=f())&&(r._content=o.first),_(o=f())&&(r._allDrawers=o)}},hostAttrs:[1,"mat-drawer-container","mat-sidenav-container"],hostVars:2,hostBindings:function(t,r){t&2&&l("mat-drawer-container-explicit-backdrop",r._backdropOverride)},exportAs:["matSidenavContainer"],features:[v([{provide:ee,useExisting:i},{provide:X,useExisting:i}]),y],ngContentSelectors:Ee,decls:4,vars:2,consts:[[1,"mat-drawer-backdrop",3,"mat-drawer-shown"],[1,"mat-drawer-backdrop",3,"click"]],template:function(t,r){t&1&&(u(Me),C(0,Fe,1,2,"div",0),d(1),d(2,1),C(3,Se,2,0,"mat-sidenav-content")),t&2&&(k(r.hasBackdrop?0:-1),Z(3),k(r._content?-1:3))},dependencies:[ve],styles:[Be],encapsulation:2,changeDetection:0})}return i})(),rt=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=le({type:i});static \u0275inj=ae({imports:[Y,$,$,Y]})}return i})();export{ve as a,Re as b,tt as c,rt as d};
|