@eui/cli 23.0.0-alpha.1 → 23.0.0-alpha.3

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.
Files changed (123) hide show
  1. package/README.md +36 -3
  2. package/bin/eui-cli.js +9 -0
  3. package/bin/scripts/new.js +8 -0
  4. package/lib/build.js +3 -11
  5. package/lib/cli.js +84 -7
  6. package/lib/generators.js +18 -0
  7. package/lib/skeletons/_angular/base/package.json +2 -2
  8. package/lib/skeletons/_angular/base/src/app/app.component.spec.ts +5 -5
  9. package/lib/skeletons/_angular/base/src/app/app.component.ts +2 -2
  10. package/lib/skeletons/_angular/base/src/app/app.config.ts +2 -2
  11. package/lib/skeletons/_angular/base/src/app/features/home/home.component.ts +2 -2
  12. package/lib/skeletons/_angular/base-mobile/angular.json +4 -4
  13. package/lib/skeletons/_angular/base-mobile/package.json +29 -15
  14. package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +5 -5
  15. package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +41 -19
  16. package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +24 -24
  17. package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +0 -80
  18. package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +2 -0
  19. package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +2 -17
  20. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +8 -3
  21. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +5 -1
  22. package/lib/skeletons/_angular/base-mobile/src/app/features/about/{about-routing.module.ts → about.routes.ts} +2 -13
  23. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +5 -1
  24. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +12 -8
  25. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +1 -1
  26. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +6 -4
  27. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +6 -3
  28. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +5 -1
  29. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +44 -5
  30. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +69 -0
  31. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.routes.ts +6 -0
  32. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +24 -5
  33. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +5 -4
  34. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +24 -5
  35. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +5 -3
  36. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +2 -2
  37. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +4 -4
  38. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/{module1-routing.module.ts → module1.routes.ts} +2 -10
  39. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.component.html +32 -0
  40. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.component.ts +9 -0
  41. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.routes.ts +6 -0
  42. package/lib/skeletons/_angular/base-mobile/src/assets/docs/sample-pdf-mobile.pdf +0 -0
  43. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
  44. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
  45. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
  46. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
  47. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
  48. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
  49. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
  50. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
  51. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
  52. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
  53. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
  54. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
  55. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
  56. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
  57. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
  58. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
  59. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
  60. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
  61. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
  62. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
  63. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
  64. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
  65. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
  66. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
  67. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
  68. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
  69. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
  70. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
  71. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
  72. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
  73. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
  74. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
  75. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
  76. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
  77. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
  78. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
  79. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
  80. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
  81. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
  82. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
  83. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
  84. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
  85. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
  86. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
  87. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
  88. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
  89. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
  90. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
  91. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
  92. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
  93. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
  94. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
  95. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
  96. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.png +0 -0
  97. package/lib/skeletons/_angular/base-mobile/src/assets/images/image.png +0 -0
  98. package/lib/skeletons/_angular/base-mobile/src/index.html +1 -1
  99. package/lib/skeletons/_angular/base-mobile/src/main.ts +5 -0
  100. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +57 -34
  101. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.ts +2 -2
  102. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.config.ts +2 -2
  103. package/lib/skeletons/_angular/options/ecl-ec/src/app/features/home/home.component.ts +1 -3
  104. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +39 -19
  105. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.ts +2 -2
  106. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.config.ts +2 -2
  107. package/lib/skeletons/_angular/options/ecl-eu/src/app/features/home/home.component.ts +1 -3
  108. package/lib/skeletons/_angular/options/ecl-eu/src/app/shared/shared.module.ts +2 -2
  109. package/lib/skeletons/_angular/options/pnpm/package.json +28 -28
  110. package/package.json +3 -6
  111. package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +0 -32
  112. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +0 -30
  113. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +0 -11
  114. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +0 -103
  115. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +0 -15
  116. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +0 -18
  117. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +0 -21
  118. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +0 -16
  119. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +0 -11
  120. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +0 -7
  121. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +0 -17
  122. package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
  123. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +0 -10
@@ -1,18 +1,10 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule, Routes } from '@angular/router';
1
+ import { Routes } from '@angular/router';
3
2
  import { Page1Component } from './components/page1/page1.component';
4
3
  import { Page2Component } from './components/page2/page2.component';
5
4
  import { Module1Component } from './module1.component';
6
5
 
7
- const routes: Routes = [
6
+ export const MODULE1_ROUTES: Routes = [
8
7
  { path: '', component: Module1Component },
9
8
  { path: 'page1', component: Page1Component },
10
9
  { path: 'page2', component: Page2Component },
11
10
  ];
12
-
13
- @NgModule({
14
- imports: [
15
- RouterModule.forChild(routes)
16
- ],
17
- })
18
- export class Module1RoutingModule {}
@@ -0,0 +1,32 @@
1
+ <ion-header>
2
+ <ion-toolbar color="light">
3
+ <euim-toolbar [hasSidebarTrigger]="true"></euim-toolbar>
4
+ </ion-toolbar>
5
+ </ion-header>
6
+ <ion-content>
7
+ <euim-slider-info-screen showRightBtn
8
+ isNextBtn
9
+ [actionBtnNames]="{
10
+ rightBtnName: 'Close',
11
+ lastStepActionBtnName: 'Close',
12
+ leftBtnName: '',
13
+ }">
14
+ <euim-slide-info-screen>
15
+ <euim-media-header euimNoGradient euimSizeL>
16
+ <img euimMediaHeaderImage
17
+ src="./assets/images/image.png"/>
18
+ </euim-media-header>
19
+ <div euimSliderInfoScreenTitle>
20
+ Welcome
21
+ </div>
22
+ <div euimSliderInfoScreenSubTitle>
23
+ Mobile starter application
24
+ </div>
25
+ <div euimSliderInfoScreenContent>
26
+ <span>This is your starter application, which you can modify to your personal taste.<br><br>
27
+ Visit <a href="https://eui.ecdevops.eu/eui-showcase-mobile-20.x/home" target="_blank">eUI/Mobile documentation</a> for further details.</span>
28
+ </div>
29
+ </euim-slide-info-screen>
30
+ </euim-slider-info-screen>
31
+ </ion-content>
32
+
@@ -0,0 +1,9 @@
1
+ import { Component } from '@angular/core';
2
+ import { EUIM_TOOLBAR, EUIM_SLIDER_INFO_SCREEN, EUIM_MEDIA_HEADER } from '@eui/mobile-core';
3
+ import { IonContent, IonHeader, IonToolbar } from '@ionic/angular/standalone';
4
+
5
+ @Component({
6
+ templateUrl: './welcome.component.html',
7
+ imports: [EUIM_TOOLBAR, IonContent, IonHeader, IonToolbar, EUIM_SLIDER_INFO_SCREEN, EUIM_MEDIA_HEADER],
8
+ })
9
+ export class WelcomeComponent {}
@@ -0,0 +1,6 @@
1
+ import { Routes } from '@angular/router';
2
+ import { WelcomeComponent } from './welcome.component';
3
+
4
+ export const WELCOME_ROUTES: Routes = [
5
+ { path: '', component: WelcomeComponent },
6
+ ];
@@ -61,7 +61,7 @@
61
61
  <link rel="apple-touch-startup-image" media="screen and (device-width: 744px) and (device-height: 1133px) and (-webkit-device-pixel-ratio: 2) and (orientation: portrait)" href="assets/icons/apple-splash-portrait-1488-2266.png">
62
62
 
63
63
  <link rel="manifest" href="manifest.webmanifest">
64
- <meta name="apple-mobile-web-app-capable" content="yes"/>
64
+ <meta name="mobile-web-app-capable" content="yes"/>
65
65
  <meta name="apple-mobile-web-app-status-bar-style" content="default"/>
66
66
  </head>
67
67
 
@@ -5,6 +5,11 @@ import { preInitApp } from "@eui/core";
5
5
  import { AppModule } from "./app/app.module";
6
6
  import { environment } from "./environments/environment";
7
7
 
8
+ import { addIcons } from 'ionicons';
9
+ import * as allIcons from 'ionicons/icons';
10
+
11
+ addIcons(allIcons);
12
+
8
13
  if (environment.production) {
9
14
  enableProdMode();
10
15
  }
@@ -48,30 +48,50 @@
48
48
  </ecl-menu>
49
49
  </ecl-site-header>
50
50
 
51
- <ecl-page-header>
52
- <ecl-breadcrumb>
53
- <ol eclBreadcrumbContainer>
54
- <li eclBreadcrumbSegment>Home</li>
55
- <li eclBreadcrumbSegment>European Commission</li>
56
- <li eclBreadcrumbSegment [isCurrentPage]="true">ECL</li>
57
- </ol>
58
- </ecl-breadcrumb>
59
-
60
- <div eclPageHeaderInfo>
61
- <div eclPageHeaderMeta>
62
- <span eclPageHeaderMetaItem>
63
- Auto generated template
64
- </span>
65
- </div>
66
- <h1 eclPageHeaderTitle>Europa Component Library</h1>
67
- </div>
68
- <div eclPageHeaderDescriptionContainer>
69
- <p eclPageHeaderDescription>
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.
72
- </p>
51
+ <div eclPageHeader descriptionPosition="bottom">
52
+ <picture eclPageHeaderBackgroundPicture>
53
+ <img eclPageHeaderBackgroundImage src="https://inno-ecl.s3.amazonaws.com/media/examples/example-image.jpg"
54
+ alt="Europe flag" />
55
+ </picture>
56
+ <div eclPageHeaderContainer>
57
+ <div eclContainer>
58
+ <ecl-breadcrumb>
59
+ <ol eclBreadcrumbContainer>
60
+ <li eclBreadcrumbSegment href="http://ec.europa.eu">Home</li>
61
+ <li eclBreadcrumbSegment routerLink="about">About the European Commission</li>
62
+ <li eclBreadcrumbSegment routerLink="structure">Organisational structure</li>
63
+ <li eclBreadcrumbSegment routerLink="org">How the Commission is organized</li>
64
+ <li eclBreadcrumbSegment isCurrentPage>News</li>
65
+ </ol>
66
+ </ecl-breadcrumb>
67
+ <h1 eclPageHeaderTitle>Consectetur adipiscing elit</h1>
68
+ <ul eclPageHeaderMeta>
69
+ <li eclPageHeaderMetaItem>News article</li>
70
+ <li eclPageHeaderMetaItem>10 March 2025</li>
71
+ <li eclPageHeaderMetaItem>
72
+ <ecl-icon icon="location" size="2xs" eclContentBlockSecondaryMetaIcon></ecl-icon>Brussels
73
+ </li>
74
+ <li eclPageHeaderMetaItem>
75
+ <ecl-icon icon="clock" size="2xs" eclContentBlockSecondaryMetaIcon></ecl-icon>1 minute read
76
+ </li>
77
+ <li eclPageHeaderMetaItem>
78
+ Research center
79
+ </li>
80
+ </ul>
73
81
  </div>
74
- </ecl-page-header>
82
+ </div>
83
+ <div eclPageHeaderDescriptionContainer position="bottom">
84
+ <picture eclPageHeaderDescriptionPicture>
85
+ <img eclPageHeaderDescriptionImage src="https://inno-ecl.s3.amazonaws.com/media/examples/example-image.jpg"
86
+ alt="Europe flag">
87
+ </picture>
88
+ <p eclPageHeaderDescription>
89
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec ullamcorper mi. Morbi interdum
90
+ fermentum tempus. Nam nec rhoncus risus,<a eclLink routerLink="/">
91
+ eget dictum elit</a>. Vestibulum gravida tincidunt venenatis.
92
+ </p>
93
+ </div>
94
+ </div>
75
95
 
76
96
  <div class="ecl-u-pv-xl">
77
97
  <router-outlet></router-outlet>
@@ -92,17 +112,20 @@
92
112
  <span eclSiteFooterDescriptionName>[name of the manager of the site]</span>
93
113
  </div>
94
114
  <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>
115
+ <ecl-social-media-follow-item icon="mastodon" href="https://ec.social-network.europa.eu/@EUCommission"
116
+ isInverted></ecl-social-media-follow-item>
117
+ <ecl-social-media-follow-item icon="linkedin" href="https://www.linkedin.com/company/european-commission"
118
+ isInverted></ecl-social-media-follow-item>
119
+ <ecl-social-media-follow-item icon="bluesky" href="https://bsky.app/profile/ec.europa.eu"
120
+ isInverted></ecl-social-media-follow-item>
121
+ <ecl-social-media-follow-item icon="facebook" href="https://www.facebook.com/EuropeanCommission"
122
+ isInverted></ecl-social-media-follow-item>
123
+ <ecl-social-media-follow-item icon="youtube" href="https://www.youtube.com/user/eutube"
124
+ isInverted></ecl-social-media-follow-item>
125
+ <ecl-social-media-follow-item icon="chain"
126
+ href="https://european-union.europa.eu/contact-eu/social-media-channels_en"
127
+ isInverted></ecl-social-media-follow-item>
128
+ </ecl-social-media-follow>
106
129
  </div>
107
130
  <div eclSiteFooterSection variant="links">
108
131
  <div eclSiteFooterRow>
@@ -13,7 +13,7 @@ import { EUI_ECL_PAGE_HEADER } from '@eui/ecl/components/ecl-page-header';
13
13
  import { EUI_ECL_SOCIAL_MEDIA_FOLLOW } from '@eui/ecl/components/ecl-social-media-follow';
14
14
  import { EUI_ECL_SITE_FOOTER } from '@eui/ecl/components/ecl-site-footer';
15
15
  import { EclSiteHeaderLoginEvent, EclSiteHeaderSearchEvent, EUI_ECL_SITE_HEADER } from '@eui/ecl/components/ecl-site-header';
16
- import { TranslateModule } from '@ngx-translate/core';
16
+ import { TranslatePipe } from '@ngx-translate/core';
17
17
 
18
18
  @Component({
19
19
  selector: 'app-root',
@@ -30,7 +30,7 @@ import { TranslateModule } from '@ngx-translate/core';
30
30
  ...EUI_ECL_SITE_FOOTER,
31
31
  ...EUI_ECL_SOCIAL_MEDIA_FOLLOW,
32
32
  RouterOutlet,
33
- TranslateModule,
33
+ TranslatePipe,
34
34
  ]
35
35
  })
36
36
  export class AppComponent implements OnInit {
@@ -6,7 +6,7 @@ import { Observable } from 'rxjs';
6
6
  import { routes } from './app.routes';
7
7
  import { AppStarterService } from './app-starter.service';
8
8
 
9
- import { TranslateModule } from '@ngx-translate/core';
9
+ import { provideTranslateService } from '@ngx-translate/core';
10
10
 
11
11
  import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
12
12
  import {
@@ -75,8 +75,8 @@ export const appConfig: ApplicationConfig = {
75
75
  provideHttpClient(withInterceptorsFromDi()),
76
76
  importProvidersFrom(
77
77
  EuiCoreModule.forRoot(),
78
- TranslateModule.forRoot(translateConfig)
79
78
  ),
79
+ provideTranslateService(translateConfig),
80
80
  AppStarterService,
81
81
  provideRouter(routes),
82
82
  provideAnimations(),
@@ -2,20 +2,18 @@ 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';
5
- import { TranslateModule } from '@ngx-translate/core';
6
5
 
7
6
  @Component({
8
7
  templateUrl: './home.component.html',
9
8
  standalone: true,
10
9
  imports: [
11
- TranslateModule,
12
10
  ...EUI_ECL_LINK,
13
11
  ...EUI_ECL_LIST,
14
12
  ],
15
13
  })
16
14
  export class HomeComponent {
17
15
  protected config: EuiAppConfig = inject(CONFIG_TOKEN);
18
-
16
+
19
17
  constructor() {
20
18
  console.log(this.config);
21
19
  }
@@ -48,30 +48,50 @@
48
48
  </ecl-menu>
49
49
  </ecl-site-header>
50
50
 
51
- <ecl-page-header>
52
- <ecl-breadcrumb>
53
- <ol eclBreadcrumbContainer>
54
- <li eclBreadcrumbSegment>Home</li>
55
- <li eclBreadcrumbSegment>European Commission</li>
56
- <li eclBreadcrumbSegment [isCurrentPage]="true">ECL</li>
57
- </ol>
58
- </ecl-breadcrumb>
59
-
60
- <div eclPageHeaderInfo>
61
- <div eclPageHeaderMeta>
62
- <span eclPageHeaderMetaItem>
63
- Auto generated template
64
- </span>
51
+ <div eclPageHeader descriptionPosition="bottom">
52
+ <picture eclPageHeaderBackgroundPicture>
53
+ <img eclPageHeaderBackgroundImage src="https://inno-ecl.s3.amazonaws.com/media/examples/example-image.jpg"
54
+ alt="Europe flag" />
55
+ </picture>
56
+ <div eclPageHeaderContainer>
57
+ <div eclContainer>
58
+ <ecl-breadcrumb>
59
+ <ol eclBreadcrumbContainer>
60
+ <li eclBreadcrumbSegment href="http://ec.europa.eu">Home</li>
61
+ <li eclBreadcrumbSegment routerLink="about">About the European Commission</li>
62
+ <li eclBreadcrumbSegment routerLink="structure">Organisational structure</li>
63
+ <li eclBreadcrumbSegment routerLink="org">How the Commission is organized</li>
64
+ <li eclBreadcrumbSegment isCurrentPage>News</li>
65
+ </ol>
66
+ </ecl-breadcrumb>
67
+ <h1 eclPageHeaderTitle>Consectetur adipiscing elit</h1>
68
+ <ul eclPageHeaderMeta>
69
+ <li eclPageHeaderMetaItem>News article</li>
70
+ <li eclPageHeaderMetaItem>10 March 2025</li>
71
+ <li eclPageHeaderMetaItem>
72
+ <ecl-icon icon="location" size="2xs" eclContentBlockSecondaryMetaIcon></ecl-icon>Brussels
73
+ </li>
74
+ <li eclPageHeaderMetaItem>
75
+ <ecl-icon icon="clock" size="2xs" eclContentBlockSecondaryMetaIcon></ecl-icon>1 minute read
76
+ </li>
77
+ <li eclPageHeaderMetaItem>
78
+ Research center
79
+ </li>
80
+ </ul>
65
81
  </div>
66
- <h1 eclPageHeaderTitle>Europa Component Library</h1>
67
82
  </div>
68
- <div eclPageHeaderDescriptionContainer>
83
+ <div eclPageHeaderDescriptionContainer position="bottom">
84
+ <picture eclPageHeaderDescriptionPicture>
85
+ <img eclPageHeaderDescriptionImage
86
+ src="https://inno-ecl.s3.amazonaws.com/media/examples/example-image.jpg" alt="Europe flag">
87
+ </picture>
69
88
  <p eclPageHeaderDescription>
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.
89
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec ullamcorper mi. Morbi interdum
90
+ fermentum tempus. Nam nec rhoncus risus,<a eclLink routerLink="/">
91
+ eget dictum elit</a>. Vestibulum gravida tincidunt venenatis.
72
92
  </p>
73
93
  </div>
74
- </ecl-page-header>
94
+ </div>
75
95
 
76
96
  <div class="ecl-u-pv-xl">
77
97
  <router-outlet></router-outlet>
@@ -12,7 +12,7 @@ import { EclMenuItemSelectEvent, EUI_ECL_MENU } from '@eui/ecl/components/ecl-me
12
12
  import { EUI_ECL_PAGE_HEADER } from '@eui/ecl/components/ecl-page-header';
13
13
  import { EUI_ECL_SITE_FOOTER } from '@eui/ecl/components/ecl-site-footer';
14
14
  import { EclSiteHeaderLoginEvent, EclSiteHeaderSearchEvent, EUI_ECL_SITE_HEADER } from '@eui/ecl/components/ecl-site-header';
15
- import { TranslateModule } from '@ngx-translate/core';
15
+ import { TranslatePipe } from '@ngx-translate/core';
16
16
 
17
17
  @Component({
18
18
  selector: 'app-root',
@@ -28,7 +28,7 @@ import { TranslateModule } from '@ngx-translate/core';
28
28
  ...EUI_ECL_SITE_HEADER,
29
29
  ...EUI_ECL_SITE_FOOTER,
30
30
  RouterOutlet,
31
- TranslateModule,
31
+ TranslatePipe,
32
32
  ]
33
33
  })
34
34
  export class AppComponent implements OnInit {
@@ -6,7 +6,7 @@ import { Observable } from 'rxjs';
6
6
  import { routes } from './app.routes';
7
7
  import { AppStarterService } from './app-starter.service';
8
8
 
9
- import { TranslateModule } from '@ngx-translate/core';
9
+ import { provideTranslateService } from '@ngx-translate/core';
10
10
 
11
11
  import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
12
12
  import {
@@ -75,8 +75,8 @@ export const appConfig: ApplicationConfig = {
75
75
  provideHttpClient(withInterceptorsFromDi()),
76
76
  importProvidersFrom(
77
77
  EuiCoreModule.forRoot(),
78
- TranslateModule.forRoot(translateConfig)
79
78
  ),
79
+ provideTranslateService(translateConfig),
80
80
  AppStarterService,
81
81
  provideRouter(routes),
82
82
  provideAnimations(),
@@ -2,20 +2,18 @@ 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';
5
- import { TranslateModule } from '@ngx-translate/core';
6
5
 
7
6
  @Component({
8
7
  templateUrl: './home.component.html',
9
8
  standalone: true,
10
9
  imports: [
11
- TranslateModule,
12
10
  ...EUI_ECL_LINK,
13
11
  ...EUI_ECL_LIST,
14
12
  ],
15
13
  })
16
14
  export class HomeComponent {
17
15
  protected config: EuiAppConfig = inject(CONFIG_TOKEN);
18
-
16
+
19
17
  constructor() {
20
18
  console.log(this.config);
21
19
  }
@@ -1,11 +1,11 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { RouterModule } from '@angular/router';
4
- import { TranslateModule } from '@ngx-translate/core';
4
+ import { TranslatePipe } from '@ngx-translate/core';
5
5
 
6
6
  const MODULES = [
7
7
  RouterModule,
8
- TranslateModule,
8
+ TranslatePipe,
9
9
  CommonModule,
10
10
  ];
11
11
  @NgModule({