@hug/ngx-layout 1.1.11 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +84 -60
- package/README.md +2 -1
- package/_layout-theme.scss +36 -36
- package/esm2022/layout.component.mjs +158 -0
- package/fesm2022/hug-ngx-layout.mjs +165 -0
- package/fesm2022/hug-ngx-layout.mjs.map +1 -0
- package/layout.component.d.ts +1 -1
- package/package.json +48 -54
- package/esm2020/layout.component.mjs +0 -152
- package/fesm2015/hug-ngx-layout.mjs +0 -166
- package/fesm2015/hug-ngx-layout.mjs.map +0 -1
- package/fesm2020/hug-ngx-layout.mjs +0 -159
- package/fesm2020/hug-ngx-layout.mjs.map +0 -1
- /package/{esm2020 → esm2022}/hug-ngx-layout.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,148 +1,172 @@
|
|
|
1
|
-
|
|
1
|
+
# 2.0.0 (2024-09-11)
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
###
|
|
4
|
+
### 🚀 Features
|
|
5
5
|
|
|
6
|
-
-
|
|
6
|
+
- update to angular 15 - FC-67 ([6bad712](https://github.com/DSI-HUG/ngx-components/commit/6bad712))
|
|
7
7
|
|
|
8
|
+
- update material to angular 15 - FC-67 ([44406c1](https://github.com/DSI-HUG/ngx-components/commit/44406c1))
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
- update material to angular 15 - FC-67 ([5af2c75](https://github.com/DSI-HUG/ngx-components/commit/5af2c75))
|
|
10
11
|
|
|
11
|
-
-
|
|
12
|
+
- layout angular15 ([02777f7](https://github.com/DSI-HUG/ngx-components/commit/02777f7))
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
- apply angular material 18 ([f65d64c](https://github.com/DSI-HUG/ngx-components/commit/f65d64c))
|
|
15
|
+
|
|
16
|
+
- layout storybook ([6ae63c1](https://github.com/DSI-HUG/ngx-components/commit/6ae63c1))
|
|
17
|
+
|
|
18
|
+
- prettier ([2aa36f0](https://github.com/DSI-HUG/ngx-components/commit/2aa36f0))
|
|
19
|
+
|
|
20
|
+
- format to ng18 ([3b78bdf](https://github.com/DSI-HUG/ngx-components/commit/3b78bdf))
|
|
21
|
+
|
|
22
|
+
- **ng18:** remove no more necessary files ([54c46a1](https://github.com/DSI-HUG/ngx-components/commit/54c46a1))
|
|
14
23
|
|
|
15
24
|
|
|
16
25
|
### 🐛 Fixes
|
|
17
26
|
|
|
18
|
-
-
|
|
27
|
+
- layout css button ([f042a32](https://github.com/DSI-HUG/ngx-components/commit/f042a32))
|
|
28
|
+
|
|
29
|
+
- correctif passage compelt ng18 ([3fe864e](https://github.com/DSI-HUG/ngx-components/commit/3fe864e))
|
|
30
|
+
|
|
31
|
+
- **ci:** tests ([9387ba8](https://github.com/DSI-HUG/ngx-components/commit/9387ba8))
|
|
19
32
|
|
|
20
33
|
|
|
21
34
|
### 🌱 Dependencies
|
|
22
35
|
|
|
23
|
-
- **@hug/ngx-sidenav:** upgrade to
|
|
36
|
+
- **@hug/ngx-sidenav:** upgrade to v2.0.0 ([243d31f](https://github.com/DSI-HUG/ngx-components/commit/243d31f))
|
|
24
37
|
|
|
25
|
-
- **@hug/ngx-core:** upgrade to
|
|
38
|
+
- **@hug/ngx-core:** upgrade to v2.0.0 ([ce6226c](https://github.com/DSI-HUG/ngx-components/commit/ce6226c))
|
|
26
39
|
|
|
27
40
|
|
|
28
41
|
### ❤️ Thank You
|
|
29
42
|
|
|
43
|
+
- Badisi
|
|
30
44
|
- dsi-hug-bot @dsi-hug-bot
|
|
31
|
-
-
|
|
45
|
+
- rfrt
|
|
32
46
|
|
|
33
|
-
## 1.1.
|
|
47
|
+
## 1.1.11 (2024-07-26)
|
|
34
48
|
|
|
49
|
+
### 🐛 Fixes
|
|
35
50
|
|
|
36
|
-
|
|
51
|
+
- **ngx-layout:** remove deprecated/unused input options ([73defb9](https://github.com/DSI-HUG/ngx-components/commit/73defb9))
|
|
37
52
|
|
|
38
|
-
|
|
53
|
+
### ❤️ Thank You
|
|
39
54
|
|
|
55
|
+
- damien-guillermet
|
|
40
56
|
|
|
41
|
-
|
|
57
|
+
## 1.1.10 (2024-07-25)
|
|
42
58
|
|
|
43
|
-
|
|
59
|
+
### 🐛 Fixes
|
|
44
60
|
|
|
45
|
-
|
|
61
|
+
- **ngx-layout:** update patch version ([0cb3d44](https://github.com/DSI-HUG/ngx-components/commit/0cb3d44))
|
|
46
62
|
|
|
63
|
+
### 🌱 Dependencies
|
|
47
64
|
|
|
48
|
-
|
|
65
|
+
- **@hug/ngx-sidenav:** upgrade to v1.1.8 ([88b29fb](https://github.com/DSI-HUG/ngx-components/commit/88b29fb))
|
|
66
|
+
|
|
67
|
+
- **@hug/ngx-core:** upgrade to v1.1.14 ([12ee5d4](https://github.com/DSI-HUG/ngx-components/commit/12ee5d4))
|
|
68
|
+
|
|
69
|
+
### ❤️ Thank You
|
|
49
70
|
|
|
50
|
-
-
|
|
71
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
72
|
+
- Serge
|
|
51
73
|
|
|
74
|
+
## 1.1.9 (2024-07-25)
|
|
52
75
|
|
|
53
76
|
### 🌱 Dependencies
|
|
54
77
|
|
|
55
|
-
-
|
|
78
|
+
- **@hug/ngx-core:** upgrade to v1.1.13 ([15e11d7](https://github.com/DSI-HUG/ngx-components/commit/15e11d7))
|
|
56
79
|
|
|
57
|
-
|
|
80
|
+
### ❤️ Thank You
|
|
58
81
|
|
|
82
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
59
83
|
|
|
60
|
-
|
|
84
|
+
## 1.1.8 (2024-07-24)
|
|
61
85
|
|
|
62
|
-
|
|
63
|
-
- Serge
|
|
86
|
+
### 🐛 Fixes
|
|
64
87
|
|
|
65
|
-
|
|
88
|
+
- **ngx-layout:** update patch version ([2a03908](https://github.com/DSI-HUG/ngx-components/commit/2a03908))
|
|
66
89
|
|
|
90
|
+
### 🌱 Dependencies
|
|
67
91
|
|
|
68
|
-
|
|
92
|
+
- **@hug/ngx-sidenav:** upgrade to v1.1.6 ([72246b0](https://github.com/DSI-HUG/ngx-components/commit/72246b0))
|
|
69
93
|
|
|
70
|
-
-
|
|
94
|
+
- **@hug/ngx-core:** upgrade to v1.1.12 ([78a2936](https://github.com/DSI-HUG/ngx-components/commit/78a2936))
|
|
71
95
|
|
|
96
|
+
### ❤️ Thank You
|
|
72
97
|
|
|
73
|
-
|
|
98
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
99
|
+
- Serge
|
|
74
100
|
|
|
75
|
-
|
|
101
|
+
## 1.1.7 (2024-07-24)
|
|
76
102
|
|
|
77
|
-
|
|
103
|
+
### 🐛 Fixes
|
|
78
104
|
|
|
105
|
+
- **ngx-layout:** update patch version ([1e19c96](https://github.com/DSI-HUG/ngx-components/commit/1e19c96))
|
|
79
106
|
|
|
80
|
-
###
|
|
107
|
+
### 🌱 Dependencies
|
|
81
108
|
|
|
82
|
-
-
|
|
83
|
-
- Serge
|
|
109
|
+
- **@hug/ngx-core:** upgrade to v1.1.11 ([bda1d8c](https://github.com/DSI-HUG/ngx-components/commit/bda1d8c))
|
|
84
110
|
|
|
85
|
-
|
|
111
|
+
- **@hug/ngx-sidenav:** upgrade to v1.1.5 ([7b0ce30](https://github.com/DSI-HUG/ngx-components/commit/7b0ce30))
|
|
86
112
|
|
|
113
|
+
### ❤️ Thank You
|
|
87
114
|
|
|
88
|
-
|
|
115
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
116
|
+
- Serge
|
|
89
117
|
|
|
90
|
-
|
|
118
|
+
## 1.1.6 (2024-07-23)
|
|
91
119
|
|
|
92
|
-
|
|
120
|
+
### 🐛 Fixes
|
|
93
121
|
|
|
122
|
+
- **ngx-core:** ngx prefix ([e08e71a](https://github.com/DSI-HUG/ngx-components/commit/e08e71a))
|
|
94
123
|
|
|
95
|
-
|
|
124
|
+
- **ngx-layout:** compile path ([f9f464e](https://github.com/DSI-HUG/ngx-components/commit/f9f464e))
|
|
96
125
|
|
|
97
|
-
|
|
126
|
+
### 🌱 Dependencies
|
|
98
127
|
|
|
99
|
-
-
|
|
128
|
+
- **@hug/ngx-core:** upgrade to v1.1.9 ([3692c68](https://github.com/DSI-HUG/ngx-components/commit/3692c68))
|
|
100
129
|
|
|
101
|
-
-
|
|
130
|
+
- **@hug/ngx-sidenav:** upgrade to v1.1.4 ([47676fa](https://github.com/DSI-HUG/ngx-components/commit/47676fa))
|
|
102
131
|
|
|
132
|
+
- **@hug/ngx-core:** upgrade to v1.1.10 ([78dbe21](https://github.com/DSI-HUG/ngx-components/commit/78dbe21))
|
|
103
133
|
|
|
104
|
-
### ❤️
|
|
134
|
+
### ❤️ Thank You
|
|
105
135
|
|
|
106
|
-
-
|
|
107
|
-
-
|
|
136
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
137
|
+
- Serge
|
|
108
138
|
|
|
109
139
|
## 1.1.5 (2024-07-23)
|
|
110
140
|
|
|
111
|
-
|
|
112
141
|
### 🐛 Fixes
|
|
113
142
|
|
|
114
|
-
-
|
|
115
|
-
|
|
116
|
-
- **ngx-layout:** ngx prefix ([d5a4b08](https://github.com/DSI-HUG/ngx-components/commit/d5a4b08))
|
|
143
|
+
- **ngx-list-loader:** improve encapsulation ([550e79a](https://github.com/DSI-HUG/ngx-components/commit/550e79a))
|
|
117
144
|
|
|
145
|
+
- **ngx-layout:** ngx prefix ([d5a4b08](https://github.com/DSI-HUG/ngx-components/commit/d5a4b08))
|
|
118
146
|
|
|
119
147
|
### 🌱 Dependencies
|
|
120
148
|
|
|
121
|
-
-
|
|
149
|
+
- **@hug/ngx-sidenav:** upgrade to v1.1.3 ([3d9afa7](https://github.com/DSI-HUG/ngx-components/commit/3d9afa7))
|
|
122
150
|
|
|
151
|
+
### ❤️ Thank You
|
|
123
152
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
- dsi-hug-bot @dsi-hug-bot
|
|
127
|
-
- Serge
|
|
153
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
154
|
+
- Serge
|
|
128
155
|
|
|
129
156
|
## 1.1.4 (2024-07-23)
|
|
130
157
|
|
|
131
|
-
|
|
132
158
|
### 🐛 Fixes
|
|
133
159
|
|
|
134
|
-
-
|
|
135
|
-
|
|
160
|
+
- **ngx-layout:** use inject ([b44b216](https://github.com/DSI-HUG/ngx-components/commit/b44b216))
|
|
136
161
|
|
|
137
162
|
### 🌱 Dependencies
|
|
138
163
|
|
|
139
|
-
-
|
|
164
|
+
- **@hug/ngx-core:** upgrade to v1.1.8 ([26f0d10](https://github.com/DSI-HUG/ngx-components/commit/26f0d10))
|
|
140
165
|
|
|
166
|
+
### ❤️ Thank You
|
|
141
167
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
- dsi-hug-bot @dsi-hug-bot
|
|
145
|
-
- Serge
|
|
168
|
+
- dsi-hug-bot @dsi-hug-bot
|
|
169
|
+
- Serge
|
|
146
170
|
|
|
147
171
|
## 1.1.3 (2024-07-08)
|
|
148
172
|
|
package/README.md
CHANGED
package/_layout-theme.scss
CHANGED
|
@@ -7,19 +7,19 @@
|
|
|
7
7
|
$foreground: map-get($theme, foreground);
|
|
8
8
|
|
|
9
9
|
ngx-layout > .mat-toolbar.mat-primary {
|
|
10
|
-
background-color: mat.get-color-from-palette($primary, darker);
|
|
11
|
-
color: mat.get-color-from-palette($primary, darker-contrast);
|
|
10
|
+
background-color: mat.m2-get-color-from-palette($primary, darker);
|
|
11
|
+
color: mat.m2-get-color-from-palette($primary, darker-contrast);
|
|
12
12
|
|
|
13
|
-
.mat-icon-button:not([disabled]) .mat-icon {
|
|
14
|
-
color: mat.get-color-from-palette($primary, darker-contrast);
|
|
13
|
+
.mat-mdc-icon-button:not([disabled]) .mat-icon {
|
|
14
|
+
color: mat.m2-get-color-from-palette($primary, darker-contrast);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
&:not(:first-of-type) {
|
|
18
|
-
background-color: mat.get-color-from-palette($primary);
|
|
19
|
-
color: mat.get-color-from-palette($primary, default-contrast);
|
|
18
|
+
background-color: mat.m2-get-color-from-palette($primary);
|
|
19
|
+
color: mat.m2-get-color-from-palette($primary, default-contrast);
|
|
20
20
|
|
|
21
|
-
.mat-icon-button:not([disabled]) .mat-icon {
|
|
22
|
-
color: mat.get-color-from-palette($primary, default-contrast);
|
|
21
|
+
.mat-mdc-icon-button:not([disabled]) .mat-icon {
|
|
22
|
+
color: mat.m2-get-color-from-palette($primary, default-contrast);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -28,37 +28,37 @@
|
|
|
28
28
|
mat-drawer {
|
|
29
29
|
&.right {
|
|
30
30
|
[filters-title] {
|
|
31
|
-
color: mat.get-color-from-palette($foreground, secondary-text);
|
|
32
|
-
background-color: mat.get-color-from-palette($background, disabled-button-toggle);
|
|
31
|
+
color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
32
|
+
background-color: mat.m2-get-color-from-palette($background, disabled-button-toggle);
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
[filters-subtitle] {
|
|
36
|
-
color: mat.get-color-from-palette($foreground, secondary-text);
|
|
37
|
-
background-color: mat.get-color-from-palette($background, hover);
|
|
36
|
+
color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
37
|
+
background-color: mat.m2-get-color-from-palette($background, hover);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
[filters-icon] {
|
|
41
|
-
color: mat.get-color-from-palette($foreground, text);
|
|
41
|
+
color: mat.m2-get-color-from-palette($foreground, text);
|
|
42
42
|
|
|
43
43
|
&:hover {
|
|
44
|
-
color: mat.get-color-from-palette($foreground, secondary-text);
|
|
44
|
+
color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
[filters-chip-list] {
|
|
49
|
-
.mat-
|
|
50
|
-
background-color: mat.get-color-from-palette($accent);
|
|
51
|
-
color: mat.get-color-from-palette($background, background);
|
|
49
|
+
.mat-mdc-chip {
|
|
50
|
+
background-color: mat.m2-get-color-from-palette($accent);
|
|
51
|
+
color: mat.m2-get-color-from-palette($background, background);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
.mat-
|
|
54
|
+
.mat-mdc-chip {
|
|
55
55
|
&:not([disabled]) {
|
|
56
56
|
&:hover {
|
|
57
|
-
background-color: mat.get-color-from-palette($accent, 700);
|
|
58
|
-
color: mat.get-color-from-palette($accent, 600);
|
|
57
|
+
background-color: mat.m2-get-color-from-palette($accent, 700);
|
|
58
|
+
color: mat.m2-get-color-from-palette($accent, 600);
|
|
59
59
|
|
|
60
60
|
&:before {
|
|
61
|
-
color: mat.get-color-from-palette($background, background);
|
|
61
|
+
color: mat.m2-get-color-from-palette($background, background);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -67,17 +67,17 @@
|
|
|
67
67
|
|
|
68
68
|
[filters-toggle-group] {
|
|
69
69
|
.mat-button-toggle {
|
|
70
|
-
color: mat.get-color-from-palette($foreground, secondary-text);
|
|
70
|
+
color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
71
71
|
|
|
72
72
|
&.mat-button-toggle-checked {
|
|
73
|
-
background-color: mat.get-color-from-palette($accent);
|
|
74
|
-
color: mat.get-color-from-palette($background, background);
|
|
73
|
+
background-color: mat.m2-get-color-from-palette($accent);
|
|
74
|
+
color: mat.m2-get-color-from-palette($background, background);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
&:not(:has(button[disabled])) {
|
|
78
78
|
&:hover {
|
|
79
|
-
background-color: mat.get-color-from-palette($accent, 200);
|
|
80
|
-
color: mat.get-color-from-palette($background, background);
|
|
79
|
+
background-color: mat.m2-get-color-from-palette($accent, 200);
|
|
80
|
+
color: mat.m2-get-color-from-palette($background, background);
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
mat-button-toggle {
|
|
91
91
|
button {
|
|
92
92
|
.mat-button-toggle-label-content {
|
|
93
|
-
color: mat.get-color-from-palette($foreground, secondary-text);
|
|
93
|
+
color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -102,13 +102,13 @@
|
|
|
102
102
|
.info-boxes-container {
|
|
103
103
|
.info-box {
|
|
104
104
|
&.accent {
|
|
105
|
-
background-color: mat.get-color-from-palette($accent);
|
|
106
|
-
color: mat.get-color-from-palette($accent, default-contrast);
|
|
105
|
+
background-color: mat.m2-get-color-from-palette($accent);
|
|
106
|
+
color: mat.m2-get-color-from-palette($accent, default-contrast);
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
&.primary {
|
|
110
|
-
background-color: mat.get-color-from-palette($primary, 800);
|
|
111
|
-
color: mat.get-color-from-palette($primary, default-contrast);
|
|
110
|
+
background-color: mat.m2-get-color-from-palette($primary, 800);
|
|
111
|
+
color: mat.m2-get-color-from-palette($primary, default-contrast);
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
}
|
|
@@ -117,20 +117,20 @@
|
|
|
117
117
|
|
|
118
118
|
// Custom scrollbar
|
|
119
119
|
::-webkit-scrollbar-track {
|
|
120
|
-
background-color: mat.get-color-from-palette($background, background);
|
|
120
|
+
background-color: mat.m2-get-color-from-palette($background, background);
|
|
121
121
|
}
|
|
122
122
|
|
|
123
123
|
::-webkit-scrollbar-thumb {
|
|
124
|
-
background-color: mat.get-color-from-palette($foreground, hint-text);
|
|
125
|
-
border: 2px solid mat.get-color-from-palette($background, background);
|
|
124
|
+
background-color: mat.m2-get-color-from-palette($foreground, hint-text);
|
|
125
|
+
border: 2px solid mat.m2-get-color-from-palette($background, background);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
::-webkit-scrollbar-thumb:hover {
|
|
129
|
-
background-color: mat.get-color-from-palette($foreground, secondary-text);
|
|
129
|
+
background-color: mat.m2-get-color-from-palette($foreground, secondary-text);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
.editor-toolbar-wrapper {
|
|
133
|
-
background-color: mat.get-color-from-palette($background, background);
|
|
133
|
+
background-color: mat.m2-get-color-from-palette($background, background);
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
136
|
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { AsyncPipe, NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostBinding, inject, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
|
+
import { MatIconButton } from '@angular/material/button';
|
|
5
|
+
import { MatIcon } from '@angular/material/icon';
|
|
6
|
+
import { MatDrawer, MatDrawerContainer, MatDrawerContent } from '@angular/material/sidenav';
|
|
7
|
+
import { MatToolbar } from '@angular/material/toolbar';
|
|
8
|
+
import { MatTooltip } from '@angular/material/tooltip';
|
|
9
|
+
import { NgxMediaService } from '@hug/ngx-core';
|
|
10
|
+
import { NgxSidenavService } from '@hug/ngx-sidenav';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
export class NgxLayoutComponent {
|
|
13
|
+
toolbarColor = 'primary';
|
|
14
|
+
editorToolbarId = 'editor-toolbar';
|
|
15
|
+
closeButtonLabel = 'Fermer';
|
|
16
|
+
backButtonLabel = 'Retour';
|
|
17
|
+
layoutToolbarExternal;
|
|
18
|
+
layoutPrimaryActionExternal;
|
|
19
|
+
layoutActionsExternal;
|
|
20
|
+
layoutInfoBoxesExternal;
|
|
21
|
+
layoutRightExternal;
|
|
22
|
+
closeButtonClicked = new EventEmitter();
|
|
23
|
+
backButtonClicked = new EventEmitter();
|
|
24
|
+
sideFilterClosed = new EventEmitter();
|
|
25
|
+
sideFilterOpened = new EventEmitter();
|
|
26
|
+
layoutToolbarContent;
|
|
27
|
+
layoutPrimaryActionContent;
|
|
28
|
+
layoutActionsContent;
|
|
29
|
+
layoutInfoBoxesContent;
|
|
30
|
+
layoutRightContent;
|
|
31
|
+
noRight = false;
|
|
32
|
+
sideFilter;
|
|
33
|
+
mediaService = inject(NgxMediaService);
|
|
34
|
+
sidenavService = inject(NgxSidenavService);
|
|
35
|
+
get layoutToolbar() {
|
|
36
|
+
return this.layoutToolbarExternal ?? this.layoutToolbarContent;
|
|
37
|
+
}
|
|
38
|
+
get layoutPrimaryAction() {
|
|
39
|
+
return this.layoutPrimaryActionExternal ?? this.layoutPrimaryActionContent;
|
|
40
|
+
}
|
|
41
|
+
get layoutActions() {
|
|
42
|
+
return this.layoutActionsExternal ?? this.layoutActionsContent;
|
|
43
|
+
}
|
|
44
|
+
get layoutInfoBoxes() {
|
|
45
|
+
return this.layoutInfoBoxesExternal ?? this.layoutInfoBoxesContent;
|
|
46
|
+
}
|
|
47
|
+
get layoutRight() {
|
|
48
|
+
const value = this.layoutRightExternal ?? this.layoutRightContent;
|
|
49
|
+
this.noRight = !value;
|
|
50
|
+
return value;
|
|
51
|
+
}
|
|
52
|
+
_withSidenav = false;
|
|
53
|
+
set withSidenav(value) {
|
|
54
|
+
this._withSidenav = coerceBooleanProperty(value);
|
|
55
|
+
}
|
|
56
|
+
get withSidenav() {
|
|
57
|
+
return this._withSidenav;
|
|
58
|
+
}
|
|
59
|
+
_keepFilterButtonDisplayed = true;
|
|
60
|
+
set keepFilterButtonDisplayed(value) {
|
|
61
|
+
this._keepFilterButtonDisplayed = coerceBooleanProperty(value);
|
|
62
|
+
}
|
|
63
|
+
get keepFilterButtonDisplayed() {
|
|
64
|
+
return this._keepFilterButtonDisplayed;
|
|
65
|
+
}
|
|
66
|
+
_withCloseButton = false;
|
|
67
|
+
set withCloseButton(value) {
|
|
68
|
+
this._withCloseButton = coerceBooleanProperty(value);
|
|
69
|
+
}
|
|
70
|
+
get withCloseButton() {
|
|
71
|
+
return this._withCloseButton;
|
|
72
|
+
}
|
|
73
|
+
_withBackButton = false;
|
|
74
|
+
set withBackButton(value) {
|
|
75
|
+
this._withBackButton = coerceBooleanProperty(value);
|
|
76
|
+
}
|
|
77
|
+
get withBackButton() {
|
|
78
|
+
return this._withBackButton;
|
|
79
|
+
}
|
|
80
|
+
closeSideFilter() {
|
|
81
|
+
void this.sideFilter?.close();
|
|
82
|
+
}
|
|
83
|
+
openSideFilter() {
|
|
84
|
+
void this.sideFilter?.open();
|
|
85
|
+
}
|
|
86
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NgxLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.3", type: NgxLayoutComponent, isStandalone: true, selector: "ngx-layout", inputs: { toolbarColor: "toolbarColor", editorToolbarId: "editorToolbarId", closeButtonLabel: "closeButtonLabel", backButtonLabel: "backButtonLabel", layoutToolbarExternal: "layoutToolbarExternal", layoutPrimaryActionExternal: "layoutPrimaryActionExternal", layoutActionsExternal: "layoutActionsExternal", layoutInfoBoxesExternal: "layoutInfoBoxesExternal", layoutRightExternal: "layoutRightExternal", withSidenav: "withSidenav", keepFilterButtonDisplayed: "keepFilterButtonDisplayed", withCloseButton: "withCloseButton", withBackButton: "withBackButton" }, outputs: { closeButtonClicked: "closeButtonClicked", backButtonClicked: "backButtonClicked", sideFilterClosed: "sideFilterClosed", sideFilterOpened: "sideFilterOpened" }, host: { properties: { "class.no-right": "this.noRight" } }, queries: [{ propertyName: "layoutToolbarContent", first: true, predicate: ["layoutToolbar"], descendants: true }, { propertyName: "layoutPrimaryActionContent", first: true, predicate: ["layoutPrimaryAction"], descendants: true }, { propertyName: "layoutActionsContent", first: true, predicate: ["layoutActions"], descendants: true }, { propertyName: "layoutInfoBoxesContent", first: true, predicate: ["layoutInfoBoxes"], descendants: true }, { propertyName: "layoutRightContent", first: true, predicate: ["layoutRight"], descendants: true }], viewQueries: [{ propertyName: "sideFilter", first: true, predicate: ["sideFilter"], descendants: true }], ngImport: i0, template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n @if (\n layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\n ) {\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n }\n <ng-content></ng-content>\n </div>\n @if ((mediaService.isHandset$ | async) && actionsToolbar) {\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n }\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar\n id=\"actions-toolbar\"\n class=\"actions\"\n [color]=\"toolbarColor\"\n [class.bottom]=\"mediaService.isHandset$ | async\">\n @if (layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n <span class=\"primary-action-container\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n }\n @if (layoutActions) {\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n }\n @if (layoutInfoBoxes && (mediaService.isHandset$ | async) === false) {\n <div class=\"info-boxes-container\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n }\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n @if (layoutToolbar || layoutRight) {\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\">\n @if (withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false) {\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (withBackButton) {\n <button\n type=\"button\"\n id=\"back-button\"\n mat-icon-button\n (click)=\"this.backButtonClicked.emit($event)\"\n [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n }\n <div id=\"toolbar-content-container\">\n @if (layoutToolbar) {\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n }\n </div>\n @if (sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight) {\n <button\n type=\"button\"\n id=\"filter-button\"\n mat-icon-button\n (click)=\"sideFilter.toggle()\"\n matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n }\n @if (withCloseButton) {\n <button\n type=\"button\"\n id=\"close-button\"\n mat-icon-button\n (click)=\"this.closeButtonClicked.emit($event)\"\n [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-toolbar>\n }\n\n @if ((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n }\n @if (layoutRight) {\n <mat-drawer-container autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer\n id=\"side-filter\"\n #sideFilter\n (closed)=\"sideFilterClosed.emit()\"\n (openedChange)=\"sideFilterOpened.emit()\"\n class=\"right\"\n position=\"end\"\n [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\"\n [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\"\n [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-drawer-content,ngx-layout mat-sidenav-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] mat-chip-listbox{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip{position:relative;padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]):hover:before{font-family:Material Icons;content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-mdc-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar .mat-mdc-icon-button{height:40px;line-height:40px;width:40px;display:flex;justify-content:center;align-items:center;padding:0}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container button{background-color:#009688}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{transition:.3s ease-in-out;border-radius:6px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
88
|
+
}
|
|
89
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.3", ngImport: i0, type: NgxLayoutComponent, decorators: [{
|
|
90
|
+
type: Component,
|
|
91
|
+
args: [{ selector: 'ngx-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
92
|
+
NgTemplateOutlet,
|
|
93
|
+
AsyncPipe,
|
|
94
|
+
MatIconButton,
|
|
95
|
+
MatIcon,
|
|
96
|
+
MatDrawer,
|
|
97
|
+
MatDrawerContainer,
|
|
98
|
+
MatDrawerContent,
|
|
99
|
+
MatToolbar,
|
|
100
|
+
MatTooltip
|
|
101
|
+
], template: "<ng-container *ngTemplateOutlet=\"filter\"></ng-container>\n\n<ng-template #content>\n <div class=\"main-content\">\n @if (\n layoutPrimaryAction && !((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false)\n ) {\n <span class=\"primary-action-container\" [class.bottom]=\"mediaService.isHandset$ | async\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n }\n <ng-content></ng-content>\n </div>\n @if ((mediaService.isHandset$ | async) && actionsToolbar) {\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n }\n</ng-template>\n\n<ng-template #actionsToolbar>\n <mat-toolbar\n id=\"actions-toolbar\"\n class=\"actions\"\n [color]=\"toolbarColor\"\n [class.bottom]=\"mediaService.isHandset$ | async\">\n @if (layoutPrimaryAction && (layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n <span class=\"primary-action-container\">\n <ng-template [ngTemplateOutlet]=\"layoutPrimaryAction\"></ng-template>\n </span>\n }\n @if (layoutActions) {\n <ng-template [ngTemplateOutlet]=\"layoutActions\"></ng-template>\n }\n @if (layoutInfoBoxes && (mediaService.isHandset$ | async) === false) {\n <div class=\"info-boxes-container\">\n <ng-template [ngTemplateOutlet]=\"layoutInfoBoxes\"></ng-template>\n </div>\n }\n </mat-toolbar>\n</ng-template>\n\n<ng-template #filter>\n @if (layoutToolbar || layoutRight) {\n <mat-toolbar id=\"toolbar\" [color]=\"toolbarColor\">\n @if (withSidenav && (mediaService.isHandset$ | async) && (sidenavService.openChanged$ | async) === false) {\n <button type=\"button\" id=\"sidenav-button\" mat-icon-button (click)=\"sidenavService.toggle()\">\n <mat-icon>menu</mat-icon>\n </button>\n }\n @if (withBackButton) {\n <button\n type=\"button\"\n id=\"back-button\"\n mat-icon-button\n (click)=\"this.backButtonClicked.emit($event)\"\n [matTooltip]=\"backButtonLabel\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n }\n <div id=\"toolbar-content-container\">\n @if (layoutToolbar) {\n <ng-template [ngTemplateOutlet]=\"layoutToolbar\"></ng-template>\n }\n </div>\n @if (sideFilter && (keepFilterButtonDisplayed || (mediaService.isHandset$ | async)) && layoutRight) {\n <button\n type=\"button\"\n id=\"filter-button\"\n mat-icon-button\n (click)=\"sideFilter.toggle()\"\n matTooltip=\"Afficher/Masquer les filtres\">\n <mat-icon>tune</mat-icon>\n </button>\n }\n @if (withCloseButton) {\n <button\n type=\"button\"\n id=\"close-button\"\n mat-icon-button\n (click)=\"this.closeButtonClicked.emit($event)\"\n [matTooltip]=\"closeButtonLabel\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </mat-toolbar>\n }\n\n @if ((layoutActions || layoutInfoBoxes) && (mediaService.isHandset$ | async) === false) {\n <ng-container *ngTemplateOutlet=\"actionsToolbar\"></ng-container>\n }\n @if (layoutRight) {\n <mat-drawer-container autosize=\"true\">\n <mat-drawer-content>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mat-drawer-content>\n <mat-drawer\n id=\"side-filter\"\n #sideFilter\n (closed)=\"sideFilterClosed.emit()\"\n (openedChange)=\"sideFilterOpened.emit()\"\n class=\"right\"\n position=\"end\"\n [attr.role]=\"(mediaService.isHandset$ | async) ? 'dialog' : 'navigation'\"\n [mode]=\"(mediaService.isHandset$ | async) ? 'over' : 'side'\"\n [opened]=\"(mediaService.isHandset$ | async) === false\">\n <ng-template [ngTemplateOutlet]=\"layoutRight\"></ng-template>\n </mat-drawer>\n </mat-drawer-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n</ng-template>\n", styles: ["ngx-layout{display:flex;flex-direction:column;position:absolute;inset:0}ngx-layout.no-left.no-right .main-content{padding:0}ngx-layout mat-sidenav-container{position:absolute;inset:0}ngx-layout mat-drawer-content,ngx-layout mat-sidenav-content{display:flex!important;flex-direction:column}ngx-layout mat-sidenav{width:200px}ngx-layout mat-drawer{width:220px}ngx-layout mat-drawer.right{padding:.3rem}ngx-layout mat-drawer.right [filters-title]{font-size:1.2rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:700;padding:.6rem;margin-bottom:.3rem}ngx-layout mat-drawer.right [filters-subtitle]{font-size:1rem;display:flex;align-items:center;justify-content:space-between;flex:1 1 auto;font-weight:600;padding:.4rem .6rem;margin-bottom:.3rem;margin-top:.3rem}ngx-layout mat-drawer.right [icons-container]{display:flex;align-items:center}ngx-layout mat-drawer.right [filters-icon]{cursor:pointer;transition:color .3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] mat-chip-listbox{margin:0;max-height:20vh;overflow-y:auto}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip{position:relative;padding:.5rem;margin:.1rem;font-size:.75rem;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]){cursor:pointer}ngx-layout mat-drawer.right [filters-chip-list] .mat-mdc-chip:not([disabled]):hover:before{font-family:Material Icons;content:\"close\";display:flex;align-items:center;justify-content:center;position:absolute;inset:0;font-weight:700;font-size:1.2rem;cursor:pointer;transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group]{display:flex}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle{transition:.3s ease-in-out}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle mat-icon{margin-right:1rem}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-label-content{text-align:start}ngx-layout mat-drawer.right [filters-toggle-group] .mat-button-toggle .mat-button-toggle-focus-overlay{height:100%}ngx-layout mat-drawer.right mat-form-field{width:100%}ngx-layout mat-drawer.right .mat-mdc-form-field-infix{width:inherit}ngx-layout mat-drawer.right.mat-drawer-side{box-shadow:-3px 0 5px -1px #0003;z-index:10}ngx-layout mat-drawer-container{flex:1}ngx-layout .mat-toolbar:not(.actions){display:flex;box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f;z-index:10}ngx-layout .mat-toolbar:not(.actions) #toolbar-content-container{display:flex;flex-grow:1;overflow:hidden}ngx-layout .mat-toolbar:not(.actions) [toolbar-title]{overflow:hidden;text-overflow:ellipsis}ngx-layout .mat-toolbar:not(.actions)>div{display:flex;align-items:center}ngx-layout .mat-toolbar .mat-mdc-icon-button{height:40px;line-height:40px;width:40px;display:flex;justify-content:center;align-items:center;padding:0}ngx-layout .mat-toolbar#actions-toolbar{flex:0 0 auto;height:40px;font-size:inherit;padding-right:0}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container{display:flex;flex:1 1 auto;justify-content:flex-end}ngx-layout .mat-toolbar#actions-toolbar .info-boxes-container .info-box{display:flex;flex-grow:0;line-height:40px;padding-left:2rem;padding-right:2rem;box-shadow:-3px 0 5px -1px #0003}ngx-layout .mat-toolbar#actions-toolbar.bottom#actions-toolbar{display:flex;width:100%;justify-content:space-around}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container{z-index:20}ngx-layout .mat-toolbar#actions-toolbar .primary-action-container button{background-color:#009688}ngx-layout .main-content{position:relative;display:flex;flex:1 1 auto;overflow:hidden}ngx-layout .main-content .primary-action-container{position:absolute;z-index:20;opacity:.8;transition:.3s ease-in-out}ngx-layout .main-content .primary-action-container:hover{opacity:1}ngx-layout .main-content .primary-action-container.bottom{right:1rem;bottom:1rem}ngx-layout .main-content .primary-action-container:not(.bottom){top:1rem;left:1rem}ngx-layout ::-webkit-scrollbar{width:12px;height:12px}ngx-layout ::-webkit-scrollbar-thumb{transition:.3s ease-in-out;border-radius:6px}\n"] }]
|
|
102
|
+
}], propDecorators: { toolbarColor: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], editorToolbarId: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], closeButtonLabel: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], backButtonLabel: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], layoutToolbarExternal: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], layoutPrimaryActionExternal: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], layoutActionsExternal: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], layoutInfoBoxesExternal: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], layoutRightExternal: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], closeButtonClicked: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], backButtonClicked: [{
|
|
123
|
+
type: Output
|
|
124
|
+
}], sideFilterClosed: [{
|
|
125
|
+
type: Output
|
|
126
|
+
}], sideFilterOpened: [{
|
|
127
|
+
type: Output
|
|
128
|
+
}], layoutToolbarContent: [{
|
|
129
|
+
type: ContentChild,
|
|
130
|
+
args: ['layoutToolbar']
|
|
131
|
+
}], layoutPrimaryActionContent: [{
|
|
132
|
+
type: ContentChild,
|
|
133
|
+
args: ['layoutPrimaryAction']
|
|
134
|
+
}], layoutActionsContent: [{
|
|
135
|
+
type: ContentChild,
|
|
136
|
+
args: ['layoutActions']
|
|
137
|
+
}], layoutInfoBoxesContent: [{
|
|
138
|
+
type: ContentChild,
|
|
139
|
+
args: ['layoutInfoBoxes']
|
|
140
|
+
}], layoutRightContent: [{
|
|
141
|
+
type: ContentChild,
|
|
142
|
+
args: ['layoutRight']
|
|
143
|
+
}], noRight: [{
|
|
144
|
+
type: HostBinding,
|
|
145
|
+
args: ['class.no-right']
|
|
146
|
+
}], sideFilter: [{
|
|
147
|
+
type: ViewChild,
|
|
148
|
+
args: ['sideFilter']
|
|
149
|
+
}], withSidenav: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], keepFilterButtonDisplayed: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], withCloseButton: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], withBackButton: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}] } });
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBZSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUssT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQXFCckQsTUFBTSxPQUFPLGtCQUFrQjtJQUNYLFlBQVksR0FBRyxTQUFTLENBQUM7SUFDekIsZUFBZSxHQUFHLGdCQUFnQixDQUFDO0lBRW5DLGdCQUFnQixHQUFHLFFBQVEsQ0FBQztJQUM1QixlQUFlLEdBQUcsUUFBUSxDQUFDO0lBRTNCLHFCQUFx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VUFBVTtzQkFBNUMsU0FBUzt1QkFBQyxZQUFZO2dCQThCWixXQUFXO3NCQURyQixLQUFLO2dCQVlLLHlCQUF5QjtzQkFEbkMsS0FBSztnQkFZSyxlQUFlO3NCQUR6QixLQUFLO2dCQVlLLGNBQWM7c0JBRHhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBBc3luY1BpcGUsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBpbmplY3QsIElucHV0LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdERyYXdlciwgTWF0RHJhd2VyQ29udGFpbmVyLCBNYXREcmF3ZXJDb250ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBNYXRUb29sYmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbGJhcic7XG5pbXBvcnQgeyBNYXRUb29sdGlwIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBOZ3hNZWRpYVNlcnZpY2UgfSBmcm9tICdAaHVnL25neC1jb3JlJztcbmltcG9ydCB7IE5neFNpZGVuYXZTZXJ2aWNlIH0gZnJvbSAnQGh1Zy9uZ3gtc2lkZW5hdic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWxheW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xheW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbGF5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgICAgICBNYXRJY29uQnV0dG9uLFxuICAgICAgICBNYXRJY29uLFxuICAgICAgICBNYXREcmF3ZXIsXG4gICAgICAgIE1hdERyYXdlckNvbnRhaW5lcixcbiAgICAgICAgTWF0RHJhd2VyQ29udGVudCxcbiAgICAgICAgTWF0VG9vbGJhcixcbiAgICAgICAgTWF0VG9vbHRpcFxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4TGF5b3V0Q29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbGJhckNvbG9yID0gJ3ByaW1hcnknO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlZGl0b3JUb29sYmFySWQgPSAnZWRpdG9yLXRvb2xiYXInO1xuXG4gICAgQElucHV0KCkgcHVibGljIGNsb3NlQnV0dG9uTGFiZWwgPSAnRmVybWVyJztcbiAgICBASW5wdXQoKSBwdWJsaWMgYmFja0J1dHRvbkxhYmVsID0gJ1JldG91cic7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0VG9vbGJhckV4dGVybmFsPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQElucHV0KCkgcHVibGljIGxheW91dFByaW1hcnlBY3Rpb25FeHRlcm5hbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsYXlvdXRBY3Rpb25zRXh0ZXJuYWw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0SW5mb0JveGVzRXh0ZXJuYWw/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBASW5wdXQoKSBwdWJsaWMgbGF5b3V0UmlnaHRFeHRlcm5hbD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBjbG9zZUJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBiYWNrQnV0dG9uQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNpZGVGaWx0ZXJDbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzaWRlRmlsdGVyT3BlbmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbGF5b3V0VG9vbGJhcicpIHByb3RlY3RlZCBsYXlvdXRUb29sYmFyQ29udGVudD86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuICAgIEBDb250ZW50Q2hpbGQoJ2xheW91dFByaW1hcnlBY3Rpb24nKSBwcm90ZWN0ZWQgbGF5b3V0UHJpbWFyeUFjdGlvbkNvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBAQ29udGVudENoaWxkKCdsYXlvdXRBY3Rpb25zJykgcHJvdGVjdGVkIGxheW91dEFjdGlvbnNDb250ZW50PzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG4gICAgQENvbnRlbnRDaGlsZCgnbGF5b3V0SW5mb0JveGVzJykgcHJvdGVjdGVkIGxheW91dEluZm9Cb3hlc0NvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcbiAgICBAQ29udGVudENoaWxkKCdsYXlvdXRSaWdodCcpIHByb3RlY3RlZCBsYXlvdXRSaWdodENvbnRlbnQ/OiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3Mubm8tcmlnaHQnKSBwcm90ZWN0ZWQgbm9SaWdodCA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgnc2lkZUZpbHRlcicpIHByb3RlY3RlZCBzaWRlRmlsdGVyPzogTWF0RHJhd2VyO1xuXG4gICAgcHJvdGVjdGVkIG1lZGlhU2VydmljZSA9IGluamVjdChOZ3hNZWRpYVNlcnZpY2UpO1xuICAgIHByb3RlY3RlZCBzaWRlbmF2U2VydmljZSA9IGluamVjdChOZ3hTaWRlbmF2U2VydmljZSk7XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFRvb2xiYXIoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUb29sYmFyRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRUb29sYmFyQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFByaW1hcnlBY3Rpb24oKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRQcmltYXJ5QWN0aW9uRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRQcmltYXJ5QWN0aW9uQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dEFjdGlvbnMoKTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRBY3Rpb25zRXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRBY3Rpb25zQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dEluZm9Cb3hlcygpOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dEluZm9Cb3hlc0V4dGVybmFsID8/IHRoaXMubGF5b3V0SW5mb0JveGVzQ29udGVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxheW91dFJpZ2h0KCk6IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmxheW91dFJpZ2h0RXh0ZXJuYWwgPz8gdGhpcy5sYXlvdXRSaWdodENvbnRlbnQ7XG4gICAgICAgIHRoaXMubm9SaWdodCA9ICF2YWx1ZTtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3dpdGhTaWRlbmF2ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgd2l0aFNpZGVuYXYodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl93aXRoU2lkZW5hdiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB3aXRoU2lkZW5hdigpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2l0aFNpZGVuYXY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfa2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCA9IHRydWU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQga2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX2tlZXBGaWx0ZXJCdXR0b25EaXNwbGF5ZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQga2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZCgpOiBCb29sZWFuSW5wdXQge1xuICAgICAgICByZXR1cm4gdGhpcy5fa2VlcEZpbHRlckJ1dHRvbkRpc3BsYXllZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF93aXRoQ2xvc2VCdXR0b24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoQ2xvc2VCdXR0b24odmFsdWU6IEJvb2xlYW5JbnB1dCkge1xuICAgICAgICB0aGlzLl93aXRoQ2xvc2VCdXR0b24gPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2l0aENsb3NlQnV0dG9uKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoQ2xvc2VCdXR0b247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfd2l0aEJhY2tCdXR0b24gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCB3aXRoQmFja0J1dHRvbih2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgICAgIHRoaXMuX3dpdGhCYWNrQnV0dG9uID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdpdGhCYWNrQnV0dG9uKCk6IEJvb2xlYW5JbnB1dCB7XG4gICAgICAgIHJldHVybiB0aGlzLl93aXRoQmFja0J1dHRvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2VTaWRlRmlsdGVyKCk6IHZvaWQge1xuICAgICAgICB2b2lkIHRoaXMuc2lkZUZpbHRlcj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3BlblNpZGVGaWx0ZXIoKTogdm9pZCB7XG4gICAgICAgIHZvaWQgdGhpcy5zaWRlRmlsdGVyPy5vcGVuKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZpbHRlclwiPjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICAgICAgICBAaWYgKFxuICAgICAgICAgICAgbGF5b3V0UHJpbWFyeUFjdGlvbiAmJiAhKChsYXlvdXRBY3Rpb25zIHx8IGxheW91dEluZm9Cb3hlcykgJiYgKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID09PSBmYWxzZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW1hcnktYWN0aW9uLWNvbnRhaW5lclwiIFtjbGFzcy5ib3R0b21dPVwibWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luY1wiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsYXlvdXRQcmltYXJ5QWN0aW9uXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgQGlmICgobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgJiYgYWN0aW9uc1Rvb2xiYXIpIHtcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImFjdGlvbnNUb29sYmFyXCI+PC9uZy1jb250YWluZXI+XG4gICAgfVxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNhY3Rpb25zVG9vbGJhcj5cbiAgICA8bWF0LXRvb2xiYXJcbiAgICAgICAgaWQ9XCJhY3Rpb25zLXRvb2xiYXJcIlxuICAgICAgICBjbGFzcz1cImFjdGlvbnNcIlxuICAgICAgICBbY29sb3JdPVwidG9vbGJhckNvbG9yXCJcbiAgICAgICAgW2NsYXNzLmJvdHRvbV09XCJtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jXCI+XG4gICAgICAgIEBpZiAobGF5b3V0UHJpbWFyeUFjdGlvbiAmJiAobGF5b3V0QWN0aW9ucyB8fCBsYXlvdXRJbmZvQm94ZXMpICYmIChtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicHJpbWFyeS1hY3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dFByaW1hcnlBY3Rpb25cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGF5b3V0QWN0aW9ucykge1xuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxheW91dEFjdGlvbnNcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAobGF5b3V0SW5mb0JveGVzICYmIChtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJveGVzLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsYXlvdXRJbmZvQm94ZXNcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L21hdC10b29sYmFyPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmaWx0ZXI+XG4gICAgQGlmIChsYXlvdXRUb29sYmFyIHx8IGxheW91dFJpZ2h0KSB7XG4gICAgICAgIDxtYXQtdG9vbGJhciBpZD1cInRvb2xiYXJcIiBbY29sb3JdPVwidG9vbGJhckNvbG9yXCI+XG4gICAgICAgICAgICBAaWYgKHdpdGhTaWRlbmF2ICYmIChtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSAmJiAoc2lkZW5hdlNlcnZpY2Uub3BlbkNoYW5nZWQkIHwgYXN5bmMpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGlkPVwic2lkZW5hdi1idXR0b25cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInNpZGVuYXZTZXJ2aWNlLnRvZ2dsZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5tZW51PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAod2l0aEJhY2tCdXR0b24pIHtcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBpZD1cImJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0aGlzLmJhY2tCdXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImJhY2tCdXR0b25MYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24+YXJyb3dfYmFjazwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGlkPVwidG9vbGJhci1jb250ZW50LWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIEBpZiAobGF5b3V0VG9vbGJhcikge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0VG9vbGJhclwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBAaWYgKHNpZGVGaWx0ZXIgJiYgKGtlZXBGaWx0ZXJCdXR0b25EaXNwbGF5ZWQgfHwgKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpKSAmJiBsYXlvdXRSaWdodCkge1xuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGlkPVwiZmlsdGVyLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2lkZUZpbHRlci50b2dnbGUoKVwiXG4gICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJBZmZpY2hlci9NYXNxdWVyIGxlcyBmaWx0cmVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAod2l0aENsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJjbG9zZS1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRoaXMuY2xvc2VCdXR0b25DbGlja2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImNsb3NlQnV0dG9uTGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtdG9vbGJhcj5cbiAgICB9XG5cbiAgICBAaWYgKChsYXlvdXRBY3Rpb25zIHx8IGxheW91dEluZm9Cb3hlcykgJiYgKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID09PSBmYWxzZSkge1xuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiYWN0aW9uc1Rvb2xiYXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICB9XG4gICAgQGlmIChsYXlvdXRSaWdodCkge1xuICAgICAgICA8bWF0LWRyYXdlci1jb250YWluZXIgYXV0b3NpemU9XCJ0cnVlXCI+XG4gICAgICAgICAgICA8bWF0LWRyYXdlci1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L21hdC1kcmF3ZXItY29udGVudD5cbiAgICAgICAgICAgIDxtYXQtZHJhd2VyXG4gICAgICAgICAgICAgICAgaWQ9XCJzaWRlLWZpbHRlclwiXG4gICAgICAgICAgICAgICAgI3NpZGVGaWx0ZXJcbiAgICAgICAgICAgICAgICAoY2xvc2VkKT1cInNpZGVGaWx0ZXJDbG9zZWQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICAob3BlbmVkQ2hhbmdlKT1cInNpZGVGaWx0ZXJPcGVuZWQuZW1pdCgpXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj1cImVuZFwiXG4gICAgICAgICAgICAgICAgW2F0dHIucm9sZV09XCIobWVkaWFTZXJ2aWNlLmlzSGFuZHNldCQgfCBhc3luYykgPyAnZGlhbG9nJyA6ICduYXZpZ2F0aW9uJ1wiXG4gICAgICAgICAgICAgICAgW21vZGVdPVwiKG1lZGlhU2VydmljZS5pc0hhbmRzZXQkIHwgYXN5bmMpID8gJ292ZXInIDogJ3NpZGUnXCJcbiAgICAgICAgICAgICAgICBbb3BlbmVkXT1cIihtZWRpYVNlcnZpY2UuaXNIYW5kc2V0JCB8IGFzeW5jKSA9PT0gZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGF5b3V0UmlnaHRcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9tYXQtZHJhd2VyPlxuICAgICAgICA8L21hdC1kcmF3ZXItY29udGFpbmVyPlxuICAgIH0gQGVsc2Uge1xuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|