@eui/cli 21.0.0-next.8 → 21.0.0-rc.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/bin/eui-cli.js +0 -7
- package/bin/scripts/inject-config-app.js +12 -0
- package/lib/app-utils/build.js +8 -52
- package/lib/app-utils/common.js +43 -0
- package/lib/app-utils/serve.js +6 -4
- package/lib/skeletons/_angular/base/angular.json +16 -0
- package/lib/skeletons/_angular/base/eslint.config.js +43 -0
- package/lib/skeletons/_angular/base/package.json +5 -7
- package/lib/skeletons/_angular/base/src/app/app-starter.service.spec.ts +9 -6
- package/lib/skeletons/_angular/base/src/app/app.component.html +1 -1
- package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +14 -11
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.html +1 -1
- package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +5 -3
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page1/page1.component.html +1 -1
- package/lib/skeletons/_angular/base/src/app/features/module1/components/page2/page2.component.html +1 -1
- package/lib/skeletons/_angular/base/src/app/features/module1/module1.component.html +2 -4
- package/lib/skeletons/_angular/base/src/app/features/module2/module2.component.html +1 -1
- package/lib/skeletons/_angular/base/src/app/shared/testing/router.mock.ts +2 -9
- package/lib/skeletons/_angular/base/src/dummy.spec.ts +2 -0
- package/lib/skeletons/_angular/base/src/tsconfig.app.json +3 -0
- package/lib/skeletons/_angular/base/tsconfig.json +28 -24
- package/lib/skeletons/_angular/base-mobile/package.json +3 -3
- package/lib/skeletons/_angular/options/ecl-ec/angular.json +7 -29
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +101 -155
- package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +4 -3
- package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +5 -3
- package/lib/skeletons/_angular/options/ecl-eu/angular.json +7 -29
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +43 -68
- package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +2 -3
- package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +5 -3
- package/lib/skeletons/_angular/options/pnpm/package.json +27 -29
- package/package.json +1 -1
- package/lib/app-utils/projects.js +0 -41
- package/lib/skeletons/_angular/base/src/.eslintrc.json +0 -121
- package/lib/skeletons/_angular/base/src/karma.conf.js +0 -47
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
<div eclSiteHeaderEnvironment>Environment</div>
|
|
5
5
|
|
|
6
6
|
<ecl-site-header-action>
|
|
7
|
-
<ecl-site-header-login
|
|
8
|
-
[isLoggedIn]="isLoggedIn"
|
|
9
|
-
(login)="onLogin($event)">
|
|
7
|
+
<ecl-site-header-login [isLoggedIn]="isLoggedIn" (login)="onLogin($event)">
|
|
10
8
|
<p eclSiteHeaderLoginDescription>
|
|
11
9
|
{{ 'ecl.site-header.LOGGED-IN-AS' | translate }} {{ userInfos?.fullName }}
|
|
12
10
|
</p>
|
|
@@ -18,7 +16,7 @@
|
|
|
18
16
|
|
|
19
17
|
<ecl-site-header-language></ecl-site-header-language>
|
|
20
18
|
|
|
21
|
-
<ecl-site-header-search (
|
|
19
|
+
<ecl-site-header-search (searchEvent)="onSearch($event)"></ecl-site-header-search>
|
|
22
20
|
</ecl-site-header-action>
|
|
23
21
|
|
|
24
22
|
<ecl-menu (menuItemSelect)="onMenuItemSelected($event)" aria-label="Main navigation">
|
|
@@ -52,9 +50,11 @@
|
|
|
52
50
|
|
|
53
51
|
<ecl-page-header>
|
|
54
52
|
<ecl-breadcrumb>
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
<ol eclBreadcrumbContainer>
|
|
54
|
+
<li eclBreadcrumbSegment>Home</li>
|
|
55
|
+
<li eclBreadcrumbSegment>European Commission</li>
|
|
56
|
+
<li eclBreadcrumbSegment [isCurrentPage]="true">ECL</li>
|
|
57
|
+
</ol>
|
|
58
58
|
</ecl-breadcrumb>
|
|
59
59
|
|
|
60
60
|
<div eclPageHeaderInfo>
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
<div eclPageHeaderDescriptionContainer>
|
|
69
69
|
<p eclPageHeaderDescription>
|
|
70
|
-
The Europa Component Library (ECL) is a comprehensive style guide containing the design elements and
|
|
70
|
+
The Europa Component Library (ECL) is a comprehensive style guide containing the design elements and
|
|
71
|
+
visual standards that make up all Europa websites and applications.
|
|
71
72
|
</p>
|
|
72
73
|
</div>
|
|
73
74
|
</ecl-page-header>
|
|
@@ -76,162 +77,107 @@
|
|
|
76
77
|
<router-outlet></router-outlet>
|
|
77
78
|
</div>
|
|
78
79
|
|
|
79
|
-
<
|
|
80
|
+
<footer eclSiteFooter>
|
|
80
81
|
<div eclSiteFooterRow>
|
|
81
|
-
<div
|
|
82
|
-
<div
|
|
83
|
-
<
|
|
84
|
-
<
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
</div>
|
|
82
|
+
<div eclSiteFooterSection variant="site-info">
|
|
83
|
+
<div eclSiteFooterTitle>
|
|
84
|
+
<a eclLink variant="standalone" isInverted eclSiteFooterTitleLink routerLink="/">
|
|
85
|
+
<span eclLinkLabel>Site name</span>
|
|
86
|
+
<ecl-icon icon="arrow-left" size="xs" transform="flip-horizontal" color="inverted"
|
|
87
|
+
ariaHidden="false" role="img">
|
|
88
|
+
</ecl-icon>
|
|
89
|
+
</a>
|
|
90
|
+
</div>
|
|
91
|
+
<div eclSiteFooterDescription>This site is managed by:
|
|
92
|
+
<span eclSiteFooterDescriptionName>[name of the manager of the site]</span>
|
|
93
93
|
</div>
|
|
94
|
+
<ecl-social-media-follow eclSiteFooterSocialMedia>
|
|
95
|
+
<ecl-social-media-follow-item icon="facebook" href="https://www.facebook.com/dg"
|
|
96
|
+
isInverted></ecl-social-media-follow-item>
|
|
97
|
+
<ecl-social-media-follow-item icon="instagram" href="https://www.instagram.com/dg/"
|
|
98
|
+
isInverted></ecl-social-media-follow-item>
|
|
99
|
+
<ecl-social-media-follow-item icon="twitter" href="https://x.com/dg"
|
|
100
|
+
isInverted></ecl-social-media-follow-item>
|
|
101
|
+
<ecl-social-media-follow-item icon="linkedin" href="https://www.linkedin.com/dg"
|
|
102
|
+
isInverted></ecl-social-media-follow-item>
|
|
103
|
+
<ecl-social-media-follow-item icon="chain" href="https://more_chanels/dg"
|
|
104
|
+
isInverted></ecl-social-media-follow-item>
|
|
105
|
+
</ecl-social-media-follow>
|
|
94
106
|
</div>
|
|
95
|
-
<div
|
|
96
|
-
<div
|
|
97
|
-
<div
|
|
98
|
-
|
|
99
|
-
|
|
107
|
+
<div eclSiteFooterSection variant="links">
|
|
108
|
+
<div eclSiteFooterRow>
|
|
109
|
+
<div eclSiteFooterSection variant="contact">
|
|
110
|
+
<div eclSiteFooterTitle>
|
|
111
|
+
Contact us </div>
|
|
112
|
+
<ul eclSiteFooterList>
|
|
113
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
114
|
+
eclSiteFooterLink>Contact
|
|
115
|
+
information of the DG</a></li>
|
|
116
|
+
</ul>
|
|
100
117
|
</div>
|
|
101
|
-
<
|
|
102
|
-
<
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
</div>
|
|
113
|
-
<div eclSiteFooterSection>
|
|
114
|
-
<div eclSiteFooterTitle
|
|
115
|
-
[isSeparator]="true">
|
|
116
|
-
Follow us on
|
|
118
|
+
<div eclSiteFooterSection variant="about">
|
|
119
|
+
<div eclSiteFooterTitle>
|
|
120
|
+
About us </div>
|
|
121
|
+
<ul eclSiteFooterList>
|
|
122
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
123
|
+
eclSiteFooterLink>Information
|
|
124
|
+
about the DG</a></li>
|
|
125
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
126
|
+
eclSiteFooterLink>Information
|
|
127
|
+
about the DG</a></li>
|
|
128
|
+
</ul>
|
|
117
129
|
</div>
|
|
118
|
-
<ul eclSiteFooterList
|
|
119
|
-
[isInline]="true">
|
|
120
|
-
<li eclSiteFooterListItem>
|
|
121
|
-
<a eclLink
|
|
122
|
-
isInverted
|
|
123
|
-
eclSiteFooterLink
|
|
124
|
-
variant="standalone"
|
|
125
|
-
routerLink="/">
|
|
126
|
-
<ecl-icon iconSet="social-media"
|
|
127
|
-
icon="facebook-negative"
|
|
128
|
-
size="xs">
|
|
129
|
-
</ecl-icon>
|
|
130
|
-
<span eclLinkLabel>Facebook</span>
|
|
131
|
-
</a>
|
|
132
|
-
</li>
|
|
133
|
-
<li eclSiteFooterListItem>
|
|
134
|
-
<a eclLink
|
|
135
|
-
isInverted
|
|
136
|
-
eclSiteFooterLink
|
|
137
|
-
variant="standalone"
|
|
138
|
-
routerLink="/">
|
|
139
|
-
<ecl-icon iconSet="social-media"
|
|
140
|
-
icon="twitter-negative"
|
|
141
|
-
size="xs">
|
|
142
|
-
</ecl-icon>
|
|
143
|
-
<span eclLinkLabel>X</span>
|
|
144
|
-
</a>
|
|
145
|
-
</li>
|
|
146
|
-
<li eclSiteFooterListItem>
|
|
147
|
-
<a eclLink
|
|
148
|
-
isInverted
|
|
149
|
-
eclSiteFooterLink
|
|
150
|
-
variant="standalone"
|
|
151
|
-
routerLink="/">
|
|
152
|
-
<ecl-icon iconSet="social-media"
|
|
153
|
-
icon="linkedin-negative"
|
|
154
|
-
size="xs">
|
|
155
|
-
</ecl-icon>
|
|
156
|
-
<span eclLinkLabel>Linkedin</span>
|
|
157
|
-
</a>
|
|
158
|
-
</li>
|
|
159
|
-
</ul>
|
|
160
130
|
</div>
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
131
|
+
<div eclSiteFooterRow>
|
|
132
|
+
<div eclSiteFooterSection variant="more">
|
|
133
|
+
<div eclSiteFooterTitle>
|
|
134
|
+
More information on </div>
|
|
135
|
+
<ul eclSiteFooterList>
|
|
136
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
137
|
+
eclSiteFooterLink>Class
|
|
138
|
+
name 1</a></li>
|
|
139
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
140
|
+
eclSiteFooterLink>Class
|
|
141
|
+
name 2</a></li>
|
|
142
|
+
</ul>
|
|
167
143
|
</div>
|
|
168
|
-
<
|
|
169
|
-
<
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
[isSeparator]="true">
|
|
183
|
-
{{ 'ecl.footer.RELATED-SITES' | translate }}
|
|
144
|
+
<div eclSiteFooterSection variant="related">
|
|
145
|
+
<div eclSiteFooterTitle>
|
|
146
|
+
Related links </div>
|
|
147
|
+
<ul eclSiteFooterList>
|
|
148
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
149
|
+
eclSiteFooterLink>Related
|
|
150
|
+
link 1</a></li>
|
|
151
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
152
|
+
eclSiteFooterLink>Related
|
|
153
|
+
link 2</a></li>
|
|
154
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
155
|
+
eclSiteFooterLink>Related
|
|
156
|
+
link 3</a></li>
|
|
157
|
+
</ul>
|
|
184
158
|
</div>
|
|
185
|
-
<ul eclSiteFooterList>
|
|
186
|
-
<li eclSiteFooterListItem>
|
|
187
|
-
<a eclLink
|
|
188
|
-
isInverted
|
|
189
|
-
eclSiteFooterLink
|
|
190
|
-
variant="standalone"
|
|
191
|
-
routerLink="/">
|
|
192
|
-
Related link 1
|
|
193
|
-
</a>
|
|
194
|
-
</li>
|
|
195
|
-
<li eclSiteFooterListItem>
|
|
196
|
-
<a eclLink
|
|
197
|
-
isInverted
|
|
198
|
-
eclSiteFooterLink
|
|
199
|
-
variant="standalone"
|
|
200
|
-
routerLink="/">
|
|
201
|
-
Related link 2
|
|
202
|
-
</a>
|
|
203
|
-
</li>
|
|
204
|
-
</ul>
|
|
205
159
|
</div>
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
isInverted
|
|
226
|
-
eclSiteFooterLink
|
|
227
|
-
variant="standalone"
|
|
228
|
-
routerLink="/">
|
|
229
|
-
Class name 2
|
|
230
|
-
</a>
|
|
231
|
-
</li>
|
|
232
|
-
</ul>
|
|
160
|
+
<div eclSiteFooterRow>
|
|
161
|
+
<div eclSiteFooterSection variant="custom-1">
|
|
162
|
+
<div eclSiteFooterTitle>Custom links</div>
|
|
163
|
+
<ul eclSiteFooterList>
|
|
164
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
165
|
+
eclSiteFooterLink>Custom link</a></li>
|
|
166
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
167
|
+
eclSiteFooterLink>Custom link</a></li>
|
|
168
|
+
</ul>
|
|
169
|
+
</div>
|
|
170
|
+
<div eclSiteFooterSection variant="custom-2">
|
|
171
|
+
<div eclSiteFooterTitle>Custom links</div>
|
|
172
|
+
<ul eclSiteFooterList>
|
|
173
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
174
|
+
eclSiteFooterLink>Custom link</a></li>
|
|
175
|
+
<li eclSiteFooterListItem><a routerLink="/" eclLink variant="standalone" isInverted
|
|
176
|
+
eclSiteFooterLink>Custom link</a></li>
|
|
177
|
+
</ul>
|
|
178
|
+
</div>
|
|
233
179
|
</div>
|
|
234
180
|
</div>
|
|
235
181
|
</div>
|
|
236
|
-
</
|
|
237
|
-
</ecl-app>
|
|
182
|
+
</footer>
|
|
183
|
+
</ecl-app>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, OnInit, Signal } from '@angular/core';
|
|
1
|
+
import { Component, inject, OnInit, Signal } from '@angular/core';
|
|
2
2
|
import { RouterOutlet } from '@angular/router';
|
|
3
3
|
import {
|
|
4
4
|
UserService,
|
|
@@ -10,6 +10,7 @@ import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
|
|
|
10
10
|
import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
11
11
|
import { EclMenuItemSelectEvent, EUI_ECL_MENU } from '@eui/ecl/components/ecl-menu';
|
|
12
12
|
import { EUI_ECL_PAGE_HEADER } from '@eui/ecl/components/ecl-page-header';
|
|
13
|
+
import { EUI_ECL_SOCIAL_MEDIA_FOLLOW } from '@eui/ecl/components/ecl-social-media-follow';
|
|
13
14
|
import { EUI_ECL_SITE_FOOTER } from '@eui/ecl/components/ecl-site-footer';
|
|
14
15
|
import { EclSiteHeaderLoginEvent, EclSiteHeaderSearchEvent, EUI_ECL_SITE_HEADER } from '@eui/ecl/components/ecl-site-header';
|
|
15
16
|
import { TranslateModule } from '@ngx-translate/core';
|
|
@@ -27,6 +28,7 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
27
28
|
...EUI_ECL_PAGE_HEADER,
|
|
28
29
|
...EUI_ECL_SITE_HEADER,
|
|
29
30
|
...EUI_ECL_SITE_FOOTER,
|
|
31
|
+
...EUI_ECL_SOCIAL_MEDIA_FOLLOW,
|
|
30
32
|
RouterOutlet,
|
|
31
33
|
TranslateModule,
|
|
32
34
|
]
|
|
@@ -36,8 +38,7 @@ export class AppComponent implements OnInit {
|
|
|
36
38
|
isLoggedIn = false;
|
|
37
39
|
userState: Signal<UserState>;
|
|
38
40
|
userInfos: UserState;
|
|
39
|
-
|
|
40
|
-
constructor(private userService: UserService<UserState>,) { }
|
|
41
|
+
private userService = inject(UserService<UserState>);
|
|
41
42
|
|
|
42
43
|
ngOnInit(): void {
|
|
43
44
|
this.userState = this.userService.getSignal();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
2
|
import { CONFIG_TOKEN, EuiAppConfig } from '@eui/core';
|
|
3
3
|
import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
4
4
|
import { EUI_ECL_LIST } from '@eui/ecl/components/ecl-list';
|
|
@@ -14,7 +14,9 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
14
14
|
],
|
|
15
15
|
})
|
|
16
16
|
export class HomeComponent {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
protected config: EuiAppConfig = inject(CONFIG_TOKEN);
|
|
18
|
+
|
|
19
|
+
constructor() {
|
|
20
|
+
console.log(this.config);
|
|
19
21
|
}
|
|
20
22
|
}
|
|
@@ -140,39 +140,17 @@
|
|
|
140
140
|
"lint": {
|
|
141
141
|
"builder": "@angular-eslint/builder:lint",
|
|
142
142
|
"options": {
|
|
143
|
-
"lintFilePatterns": [
|
|
144
|
-
|
|
143
|
+
"lintFilePatterns": [
|
|
144
|
+
"src/**/*.ts",
|
|
145
|
+
"src/**/*.html"
|
|
146
|
+
],
|
|
147
|
+
"eslintConfig": "eslint.config.js"
|
|
145
148
|
}
|
|
146
149
|
},
|
|
147
150
|
"test": {
|
|
148
|
-
"builder": "@angular
|
|
151
|
+
"builder": "@angular/build:unit-test",
|
|
149
152
|
"options": {
|
|
150
|
-
"
|
|
151
|
-
"tsConfig": "src/tsconfig.spec.json",
|
|
152
|
-
"karmaConfig": "src/karma.conf.js",
|
|
153
|
-
"inlineStyleLanguage": "scss",
|
|
154
|
-
"assets": [
|
|
155
|
-
{
|
|
156
|
-
"glob": "**/*",
|
|
157
|
-
"input": "node_modules/@eui/core/assets/",
|
|
158
|
-
"output": "./assets"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"glob": "**/*",
|
|
162
|
-
"input": "node_modules/@eui/styles/dist/assets/ecl",
|
|
163
|
-
"output": "./assets/images/ecl"
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
"glob": "**/*",
|
|
167
|
-
"input": "node_modules/@eui/styles/dist/assets",
|
|
168
|
-
"output": "./assets"
|
|
169
|
-
},
|
|
170
|
-
{
|
|
171
|
-
"glob": "**/*",
|
|
172
|
-
"input": "node_modules/@eui/ecl/assets/",
|
|
173
|
-
"output": "./assets"
|
|
174
|
-
}
|
|
175
|
-
]
|
|
153
|
+
"tsConfig": "src/tsconfig.spec.json"
|
|
176
154
|
}
|
|
177
155
|
}
|
|
178
156
|
}
|
|
@@ -4,9 +4,7 @@
|
|
|
4
4
|
<div eclSiteHeaderEnvironment>Environment</div>
|
|
5
5
|
|
|
6
6
|
<ecl-site-header-action>
|
|
7
|
-
<ecl-site-header-login
|
|
8
|
-
[isLoggedIn]="isLoggedIn"
|
|
9
|
-
(login)="onLogin($event)">
|
|
7
|
+
<ecl-site-header-login [isLoggedIn]="isLoggedIn" (login)="onLogin($event)">
|
|
10
8
|
<p eclSiteHeaderLoginDescription>
|
|
11
9
|
{{ 'ecl.site-header.LOGGED-IN-AS' | translate }} {{ userInfos?.fullName }}
|
|
12
10
|
</p>
|
|
@@ -18,7 +16,7 @@
|
|
|
18
16
|
|
|
19
17
|
<ecl-site-header-language></ecl-site-header-language>
|
|
20
18
|
|
|
21
|
-
<ecl-site-header-search (
|
|
19
|
+
<ecl-site-header-search (searchEvent)="onSearch($event)"></ecl-site-header-search>
|
|
22
20
|
</ecl-site-header-action>
|
|
23
21
|
|
|
24
22
|
<ecl-menu (menuItemSelect)="onMenuItemSelected($event)" aria-label="Main navigation">
|
|
@@ -52,9 +50,11 @@
|
|
|
52
50
|
|
|
53
51
|
<ecl-page-header>
|
|
54
52
|
<ecl-breadcrumb>
|
|
55
|
-
<
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
<ol eclBreadcrumbContainer>
|
|
54
|
+
<li eclBreadcrumbSegment>Home</li>
|
|
55
|
+
<li eclBreadcrumbSegment>European Commission</li>
|
|
56
|
+
<li eclBreadcrumbSegment [isCurrentPage]="true">ECL</li>
|
|
57
|
+
</ol>
|
|
58
58
|
</ecl-breadcrumb>
|
|
59
59
|
|
|
60
60
|
<div eclPageHeaderInfo>
|
|
@@ -67,7 +67,8 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
<div eclPageHeaderDescriptionContainer>
|
|
69
69
|
<p eclPageHeaderDescription>
|
|
70
|
-
The Europa Component Library (ECL) is a comprehensive style guide containing the design elements and
|
|
70
|
+
The Europa Component Library (ECL) is a comprehensive style guide containing the design elements and
|
|
71
|
+
visual standards that make up all Europa websites and applications.
|
|
71
72
|
</p>
|
|
72
73
|
</div>
|
|
73
74
|
</ecl-page-header>
|
|
@@ -76,79 +77,66 @@
|
|
|
76
77
|
<router-outlet></router-outlet>
|
|
77
78
|
</div>
|
|
78
79
|
|
|
79
|
-
<
|
|
80
|
+
<footer eclSiteFooter>
|
|
80
81
|
<div eclSiteFooterRow>
|
|
81
82
|
<div eclSiteFooterColumn>
|
|
82
|
-
<div eclSiteFooterSection
|
|
83
|
+
<div eclSiteFooterSection variant="site-info">
|
|
83
84
|
<div eclSiteFooterTitle>
|
|
84
|
-
<a eclLink
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
<a eclLink variant="standalone" eclSiteFooterTitleLink routerLink="/">
|
|
86
|
+
<span eclLinkLabel>Site name</span>
|
|
87
|
+
<ecl-icon icon="arrow-left" size="s" transform="flip-horizontal">
|
|
88
|
+
</ecl-icon>
|
|
88
89
|
</a>
|
|
89
90
|
</div>
|
|
90
91
|
<div eclSiteFooterDescription>
|
|
91
|
-
This site is managed by
|
|
92
|
-
and is an official website of the European Union
|
|
92
|
+
This site is managed by: [name of the manager of the site]
|
|
93
93
|
</div>
|
|
94
|
+
<ul eclSiteFooterList>
|
|
95
|
+
<li eclSiteFooterListItem>
|
|
96
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
97
|
+
{{ 'ecl.footer.ACCESSIBILITY-STATEMENT' | translate }}
|
|
98
|
+
</a>
|
|
99
|
+
</li>
|
|
100
|
+
</ul>
|
|
94
101
|
</div>
|
|
95
102
|
</div>
|
|
96
103
|
<div eclSiteFooterColumn>
|
|
97
104
|
<div eclSiteFooterSection>
|
|
98
|
-
<div eclSiteFooterTitle
|
|
99
|
-
[isSeparator]="true">
|
|
105
|
+
<div eclSiteFooterTitle isSeparator>
|
|
100
106
|
Contact site name
|
|
101
107
|
</div>
|
|
102
108
|
<ul eclSiteFooterList>
|
|
103
109
|
<li eclSiteFooterListItem>
|
|
104
|
-
<a eclLink
|
|
105
|
-
eclSiteFooterLink
|
|
106
|
-
variant="standalone"
|
|
107
|
-
routerLink="/">
|
|
110
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
108
111
|
Link
|
|
109
112
|
</a>
|
|
110
113
|
</li>
|
|
111
114
|
</ul>
|
|
112
115
|
</div>
|
|
113
116
|
<div eclSiteFooterSection>
|
|
114
|
-
<div eclSiteFooterTitle
|
|
115
|
-
[isSeparator]="true">
|
|
117
|
+
<div eclSiteFooterTitle isSeparator>
|
|
116
118
|
Follow us
|
|
117
119
|
</div>
|
|
118
|
-
<ul eclSiteFooterList
|
|
119
|
-
[isInline]="true">
|
|
120
|
+
<ul eclSiteFooterList isInline>
|
|
120
121
|
<li eclSiteFooterListItem>
|
|
121
|
-
<a eclLink
|
|
122
|
-
|
|
123
|
-
variant="standalone"
|
|
124
|
-
routerLink="/">
|
|
125
|
-
<ecl-icon iconSet="social-media"
|
|
126
|
-
icon="facebook"
|
|
127
|
-
size="xs">
|
|
122
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
123
|
+
<ecl-icon iconSet="social-media" icon="facebook" size="xs">
|
|
128
124
|
</ecl-icon>
|
|
129
125
|
<span eclLinkLabel>Social 1</span>
|
|
130
126
|
</a>
|
|
131
127
|
</li>
|
|
128
|
+
|
|
129
|
+
|
|
132
130
|
<li eclSiteFooterListItem>
|
|
133
|
-
<a eclLink
|
|
134
|
-
|
|
135
|
-
variant="standalone"
|
|
136
|
-
routerLink="/">
|
|
137
|
-
<ecl-icon iconSet="social-media"
|
|
138
|
-
icon="twitter"
|
|
139
|
-
size="xs">
|
|
131
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
132
|
+
<ecl-icon iconSet="social-media" icon="twitter" size="xs">
|
|
140
133
|
</ecl-icon>
|
|
141
134
|
<span eclLinkLabel>Social 2</span>
|
|
142
135
|
</a>
|
|
143
136
|
</li>
|
|
144
137
|
<li eclSiteFooterListItem>
|
|
145
|
-
<a eclLink
|
|
146
|
-
|
|
147
|
-
variant="standalone"
|
|
148
|
-
routerLink="/">
|
|
149
|
-
<ecl-icon iconSet="social-media"
|
|
150
|
-
icon="mastodon"
|
|
151
|
-
size="xs">
|
|
138
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
139
|
+
<ecl-icon iconSet="social-media" icon="mastodon" size="xs">
|
|
152
140
|
</ecl-icon>
|
|
153
141
|
<span eclLinkLabel>Social 3</span>
|
|
154
142
|
</a>
|
|
@@ -158,40 +146,27 @@
|
|
|
158
146
|
</div>
|
|
159
147
|
<div eclSiteFooterColumn>
|
|
160
148
|
<div eclSiteFooterSection>
|
|
161
|
-
<div eclSiteFooterTitle
|
|
162
|
-
[isSeparator]="true">
|
|
149
|
+
<div eclSiteFooterTitle isSeparator>
|
|
163
150
|
Optional links
|
|
164
151
|
</div>
|
|
165
152
|
<ul eclSiteFooterList>
|
|
166
153
|
<li eclSiteFooterListItem>
|
|
167
|
-
<a eclLink
|
|
168
|
-
|
|
169
|
-
variant="standalone"
|
|
170
|
-
routerLink="/">
|
|
171
|
-
{{ 'ecl.footer.ACCESSIBILITY' | translate }}
|
|
154
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
155
|
+
Link 1
|
|
172
156
|
</a>
|
|
173
157
|
</li>
|
|
174
158
|
<li eclSiteFooterListItem>
|
|
175
|
-
<a eclLink
|
|
176
|
-
eclSiteFooterLink
|
|
177
|
-
variant="standalone"
|
|
178
|
-
routerLink="/">
|
|
159
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
179
160
|
Link 2
|
|
180
161
|
</a>
|
|
181
162
|
</li>
|
|
182
163
|
<li eclSiteFooterListItem>
|
|
183
|
-
<a eclLink
|
|
184
|
-
eclSiteFooterLink
|
|
185
|
-
variant="standalone"
|
|
186
|
-
routerLink="/">
|
|
164
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
187
165
|
Link 3
|
|
188
166
|
</a>
|
|
189
167
|
</li>
|
|
190
168
|
<li eclSiteFooterListItem>
|
|
191
|
-
<a eclLink
|
|
192
|
-
eclSiteFooterLink
|
|
193
|
-
variant="standalone"
|
|
194
|
-
routerLink="/">
|
|
169
|
+
<a eclLink eclSiteFooterLink variant="standalone" routerLink="/">
|
|
195
170
|
Link 4
|
|
196
171
|
</a>
|
|
197
172
|
</li>
|
|
@@ -199,5 +174,5 @@
|
|
|
199
174
|
</div>
|
|
200
175
|
</div>
|
|
201
176
|
</div>
|
|
202
|
-
</
|
|
203
|
-
</ecl-app>
|
|
177
|
+
</footer>
|
|
178
|
+
</ecl-app>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, OnInit, Signal } from '@angular/core';
|
|
1
|
+
import { Component, inject, OnInit, Signal } from '@angular/core';
|
|
2
2
|
import { RouterOutlet } from '@angular/router';
|
|
3
3
|
import {
|
|
4
4
|
UserService,
|
|
@@ -36,8 +36,7 @@ export class AppComponent implements OnInit {
|
|
|
36
36
|
isLoggedIn = false;
|
|
37
37
|
userState: Signal<UserState>;
|
|
38
38
|
userInfos: UserState;
|
|
39
|
-
|
|
40
|
-
constructor(private userService: UserService<UserState>,) { }
|
|
39
|
+
private userService = inject(UserService<UserState>);
|
|
41
40
|
|
|
42
41
|
ngOnInit(): void {
|
|
43
42
|
this.userState = this.userService.getSignal();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component,
|
|
1
|
+
import { Component, inject } from '@angular/core';
|
|
2
2
|
import { CONFIG_TOKEN, EuiAppConfig } from '@eui/core';
|
|
3
3
|
import { EUI_ECL_LINK } from '@eui/ecl/components/ecl-link';
|
|
4
4
|
import { EUI_ECL_LIST } from '@eui/ecl/components/ecl-list';
|
|
@@ -14,7 +14,9 @@ import { TranslateModule } from '@ngx-translate/core';
|
|
|
14
14
|
],
|
|
15
15
|
})
|
|
16
16
|
export class HomeComponent {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
protected config: EuiAppConfig = inject(CONFIG_TOKEN);
|
|
18
|
+
|
|
19
|
+
constructor() {
|
|
20
|
+
console.log(this.config);
|
|
19
21
|
}
|
|
20
22
|
}
|