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

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 (112) 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-mobile/angular.json +4 -4
  9. package/lib/skeletons/_angular/base-mobile/package.json +29 -15
  10. package/lib/skeletons/_angular/base-mobile/src/app/app-routing.module.ts +5 -5
  11. package/lib/skeletons/_angular/base-mobile/src/app/app.component.html +41 -19
  12. package/lib/skeletons/_angular/base-mobile/src/app/app.component.ts +24 -24
  13. package/lib/skeletons/_angular/base-mobile/src/app/app.config.ts +0 -80
  14. package/lib/skeletons/_angular/base-mobile/src/app/app.module.ts +2 -0
  15. package/lib/skeletons/_angular/base-mobile/src/app/core/core.module.ts +0 -15
  16. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.html +8 -3
  17. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.component.ts +5 -1
  18. package/lib/skeletons/_angular/base-mobile/src/app/features/about/{about-routing.module.ts → about.routes.ts} +2 -13
  19. package/lib/skeletons/_angular/base-mobile/src/app/features/about/change-log/changelog.component.ts +5 -1
  20. package/lib/skeletons/_angular/base-mobile/src/app/features/about/help-support/help-support.component.ts +12 -8
  21. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.html +1 -1
  22. package/lib/skeletons/_angular/base-mobile/src/app/features/about/legal-notice/legal-notice.component.ts +6 -4
  23. package/lib/skeletons/_angular/base-mobile/src/app/features/about/licence-details/licence-details.component.ts +6 -3
  24. package/lib/skeletons/_angular/base-mobile/src/app/features/about/opensource-licences/opensource-licences.component.ts +5 -1
  25. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.html +44 -5
  26. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.component.ts +69 -0
  27. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.routes.ts +6 -0
  28. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.html +24 -5
  29. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page1/page1.component.ts +5 -4
  30. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.html +24 -5
  31. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/components/page2/page2.component.ts +5 -3
  32. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.html +2 -2
  33. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.component.ts +4 -4
  34. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/{module1-routing.module.ts → module1.routes.ts} +2 -10
  35. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.component.html +32 -0
  36. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.component.ts +9 -0
  37. package/lib/skeletons/_angular/base-mobile/src/app/features/welcome/welcome.routes.ts +6 -0
  38. package/lib/skeletons/_angular/base-mobile/src/assets/docs/sample-pdf-mobile.pdf +0 -0
  39. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-1024.png +0 -0
  40. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-114.png +0 -0
  41. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-120.png +0 -0
  42. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-128.png +0 -0
  43. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-144.png +0 -0
  44. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-152.png +0 -0
  45. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-16.png +0 -0
  46. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-180.png +0 -0
  47. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-192.png +0 -0
  48. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-32.png +0 -0
  49. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-36.png +0 -0
  50. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-384.png +0 -0
  51. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-48.png +0 -0
  52. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-512.png +0 -0
  53. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-57.png +0 -0
  54. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-60.png +0 -0
  55. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-72.png +0 -0
  56. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-76.png +0 -0
  57. package/lib/skeletons/_angular/base-mobile/src/assets/icons/app-icon-96.png +0 -0
  58. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1125-2436.png +0 -0
  59. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1170-2532.png +0 -0
  60. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1179-2556.png +0 -0
  61. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2208.png +0 -0
  62. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1242-2688.png +0 -0
  63. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1284-2778.png +0 -0
  64. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1290-2796.png +0 -0
  65. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1488-2266.png +0 -0
  66. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1536-2048.png +0 -0
  67. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1620-2160.png +0 -0
  68. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1640-2360.png +0 -0
  69. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2224.png +0 -0
  70. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-1668-2388.png +0 -0
  71. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-2048-2732.png +0 -0
  72. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-640-1136.png +0 -0
  73. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-750-1334.png +0 -0
  74. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-landscape-828-1792.png +0 -0
  75. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1125-2436.png +0 -0
  76. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1170-2532.png +0 -0
  77. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1179-2556.png +0 -0
  78. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2208.png +0 -0
  79. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1242-2688.png +0 -0
  80. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1284-2778.png +0 -0
  81. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1290-2796.png +0 -0
  82. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1488-2266.png +0 -0
  83. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1536-2048.png +0 -0
  84. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1620-2160.png +0 -0
  85. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1640-2360.png +0 -0
  86. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2224.png +0 -0
  87. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-1668-2388.png +0 -0
  88. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-2048-2732.png +0 -0
  89. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-640-1136.png +0 -0
  90. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-750-1334.png +0 -0
  91. package/lib/skeletons/_angular/base-mobile/src/assets/icons/apple-splash-portrait-828-1792.png +0 -0
  92. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.png +0 -0
  93. package/lib/skeletons/_angular/base-mobile/src/assets/images/image.png +0 -0
  94. package/lib/skeletons/_angular/base-mobile/src/index.html +1 -1
  95. package/lib/skeletons/_angular/base-mobile/src/main.ts +5 -0
  96. package/lib/skeletons/_angular/options/ecl-ec/src/app/app.component.html +57 -34
  97. package/lib/skeletons/_angular/options/ecl-eu/src/app/app.component.html +39 -19
  98. package/lib/skeletons/_angular/options/pnpm/package.json +28 -28
  99. package/package.json +3 -6
  100. package/lib/skeletons/_angular/base-mobile/src/app/core/reducers/index.ts +0 -32
  101. package/lib/skeletons/_angular/base-mobile/src/app/features/about/about.module.ts +0 -30
  102. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.html +0 -11
  103. package/lib/skeletons/_angular/base-mobile/src/app/features/about/privacy-statement/privacy-statement.component.ts +0 -103
  104. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home-routing.module.ts +0 -15
  105. package/lib/skeletons/_angular/base-mobile/src/app/features/home/home.module.ts +0 -18
  106. package/lib/skeletons/_angular/base-mobile/src/app/features/module1/module1.module.ts +0 -21
  107. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2-routing.module.ts +0 -16
  108. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.html +0 -11
  109. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.component.ts +0 -7
  110. package/lib/skeletons/_angular/base-mobile/src/app/features/module2/module2.module.ts +0 -17
  111. package/lib/skeletons/_angular/base-mobile/src/assets/docs/pdf-test.pdf +0 -0
  112. package/lib/skeletons/_angular/base-mobile/src/assets/images/app-icon.svg +0 -10
@@ -1,8 +1,5 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { TranslateModule } from '@ngx-translate/core';
3
- import { StoreModule } from '@ngrx/store';
4
- import { EffectsModule } from '@ngrx/effects';
5
- import { StoreDevtoolsModule } from '@ngrx/store-devtools';
6
3
 
7
4
  import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
8
5
 
@@ -15,15 +12,12 @@ import {
15
12
  EuLoginSessionTimeoutHandlingInterceptor,
16
13
  CoreModule as EuiCoreModule,
17
14
  translateConfig,
18
- CoreModuleEffects,
19
15
  EUI_CONFIG_TOKEN,
20
16
  } from '@eui/core';
21
17
 
22
18
  import { appConfig } from '../../config/index';
23
19
  import { environment } from '../../environments/environment';
24
20
 
25
- import { REDUCER_TOKEN, getReducers, metaReducers } from './reducers/index';
26
-
27
21
  import { SharedModule } from '@shared/shared.module';
28
22
 
29
23
  @NgModule({
@@ -31,11 +25,7 @@ import { SharedModule } from '@shared/shared.module';
31
25
  HttpClientModule,
32
26
  SharedModule,
33
27
  EuiCoreModule.forRoot(),
34
- EffectsModule.forRoot([...CoreModuleEffects]),
35
28
  TranslateModule.forRoot(translateConfig),
36
- StoreModule.forRoot(),
37
- StoreModule.forRoot(REDUCER_TOKEN, { metaReducers }),
38
- !environment.production ? StoreDevtoolsModule.instrument({ maxAge: 50 }) : [],
39
29
  IonicModule.forRoot({mode: 'md'}),
40
30
  ],
41
31
  declarations: [
@@ -44,11 +34,6 @@ import { SharedModule } from '@shared/shared.module';
44
34
  SharedModule,
45
35
  ],
46
36
  providers: [
47
- {
48
- provide: REDUCER_TOKEN,
49
- deps: [],
50
- useFactory: getReducers,
51
- },
52
37
  {
53
38
  provide: EUI_CONFIG_TOKEN,
54
39
  useValue: { appConfig: appConfig, environment: environment }
@@ -4,7 +4,7 @@
4
4
  <euim-toolbar-title>{{ 'euim.about.text' | translate }}</euim-toolbar-title>
5
5
  <euim-toolbar-action-items>
6
6
  <ion-button>
7
- <ion-label class="eui-u-mr-m" (click)="toggleQRCode()" slot="end">
7
+ <ion-label (click)="toggleQRCode()" slot="end">
8
8
  <strong>
9
9
  @if (showCode) {
10
10
  {{ 'euim.about.hide.qrcode' | translate }}
@@ -21,7 +21,7 @@
21
21
 
22
22
  <euim-header-details color="branding">
23
23
  <div euimHeaderDetailsIcon>
24
- <euim-toolbar-qrcode [showCode]="showCode" logoUrl="./assets/images/app-icon.svg"
24
+ <euim-toolbar-qrcode [showCode]="showCode" logoUrl="./assets/images/app-icon.png"
25
25
  qrCodeUrl="https://github.com/Cordobo/angularx-qrcode"></euim-toolbar-qrcode>
26
26
  </div>
27
27
  <div euimHeaderDetailsTitle><strong>eUI / mobile</strong></div>
@@ -41,11 +41,16 @@
41
41
  <div euimLabel>{{'euim.about.changelog' | translate }}</div>
42
42
  </ion-label>
43
43
  </ion-item>
44
- <ion-item button (click)="onNavigate('/screen/about/privacy-statement')">
44
+ <ion-item button href="https://commission.europa.eu/privacy-policy-websites-managed-european-commission_en" target="_blank">
45
45
  <ion-icon name="finger-print-sharp" slot="start"></ion-icon>
46
46
  <ion-label>
47
47
  <div euimLabel>{{'euim.about.privacy.statement' | translate }}</div>
48
48
  </ion-label>
49
+ <ion-buttons>
50
+ <ion-button fill="clear">
51
+ <ion-icon name="open-outline" slot="icon-only"></ion-icon>
52
+ </ion-button>
53
+ </ion-buttons>
49
54
  </ion-item>
50
55
  <ion-item button (click)="onNavigate('/screen/about/opensource-licences')">
51
56
  <ion-icon name="ribbon-outline" slot="start"></ion-icon>
@@ -1,8 +1,12 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { NavController } from '@ionic/angular';
3
+ import { EuimChipSelectorComponentModule, EuimAboutModule, EuimHeaderDetailsModule, EuimToolbarQrcodeModule, EuimToolbarComponentModule, EuimLabelModule } from '@eui/mobile-core';
4
+ import { IonToolbar, IonHeader, IonContent, IonButtons, IonList, IonListHeader, IonItem, IonLabel, IonIcon, IonButton } from '@ionic/angular/standalone';
5
+ import { TranslateModule } from '@ngx-translate/core';
3
6
 
4
7
  @Component({
5
- templateUrl: './about.component.html'
8
+ templateUrl: './about.component.html',
9
+ imports: [TranslateModule, IonToolbar, IonHeader, IonButtons, IonContent, IonList, IonListHeader, IonItem, IonLabel, IonIcon, IonButton, EuimChipSelectorComponentModule, EuimAboutModule, EuimHeaderDetailsModule, EuimToolbarQrcodeModule, EuimToolbarComponentModule, EuimLabelModule ]
6
10
  })
7
11
  export class AboutComponent {
8
12
  showCode = false;
@@ -1,14 +1,12 @@
1
- import { NgModule } from '@angular/core';
2
- import { RouterModule, Routes } from '@angular/router';
1
+ import { Routes } from '@angular/router';
3
2
  import { AboutComponent } from './about.component';
4
3
  import { ChangeLogComponent } from './change-log/changelog.component';
5
- import { PrivacystatementComponent } from './privacy-statement/privacy-statement.component';
6
4
  import { LegalNoticeComponent } from './legal-notice/legal-notice.component';
7
5
  import { HelpSupportComponent } from './help-support/help-support.component';
8
6
  import { OpensourceLicencesComponent } from './opensource-licences/opensource-licences.component';
9
7
  import { LicenceDetailsComponent } from './licence-details/licence-details.component';
10
8
 
11
- const routes: Routes = [
9
+ export const ABOUT_ROUTES: Routes = [
12
10
  {
13
11
  path: '',
14
12
  component: AboutComponent,
@@ -17,10 +15,6 @@ const routes: Routes = [
17
15
  path: 'change-log',
18
16
  component: ChangeLogComponent
19
17
  },
20
- {
21
- path: 'privacy-statement',
22
- component: PrivacystatementComponent
23
- },
24
18
  {
25
19
  path: 'legal-notice',
26
20
  component: LegalNoticeComponent
@@ -38,8 +32,3 @@ const routes: Routes = [
38
32
  component: LicenceDetailsComponent
39
33
  },
40
34
  ];
41
-
42
- @NgModule({
43
- imports: [RouterModule.forChild(routes)],
44
- })
45
- export class AboutRoutingModule {}
@@ -1,6 +1,10 @@
1
1
  import { Component } from '@angular/core';
2
+ import { EuimAboutModule, EuimToolbarComponentModule } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent } from '@ionic/angular/standalone';
4
+ import { TranslateModule } from '@ngx-translate/core';
2
5
  @Component({
3
- templateUrl: './changelog.component.html'
6
+ templateUrl: './changelog.component.html',
7
+ imports: [TranslateModule, EuimAboutModule, IonToolbar, IonHeader, IonContent, EuimToolbarComponentModule]
4
8
  })
5
9
  export class ChangeLogComponent {
6
10
  changeLogs = [
@@ -1,7 +1,11 @@
1
1
  import { Component } from '@angular/core';
2
+ import { EuimAboutModule, EuimAlertMessageModule, EuimToolbarComponentModule } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent, IonIcon, IonButton } from '@ionic/angular/standalone';
4
+ import { TranslateModule } from '@ngx-translate/core';
2
5
 
3
6
  @Component({
4
- templateUrl: './help-support.component.html'
7
+ templateUrl: './help-support.component.html',
8
+ imports: [TranslateModule, IonToolbar, IonIcon, IonButton, EuimAboutModule, EuimAlertMessageModule, IonHeader, IonContent, EuimToolbarComponentModule]
5
9
  })
6
10
  export class HelpSupportComponent {
7
11
  alertInfos = {
@@ -19,28 +23,28 @@ export class HelpSupportComponent {
19
23
  title: '+352 123 45 67890',
20
24
  phone: '+352 123 45 67890',
21
25
  subtitle: 'Customer service',
22
- startIcon: 'call',
26
+ startIcon: 'call-outline',
23
27
  hasBottomLine: true
24
28
  },
25
29
  {
26
30
  title: '+32 123 45 67890',
27
31
  phone: '+32 123 45 67890',
28
32
  subtitle: 'Helpdesk support',
29
- startIcon: 'call',
33
+ startIcon: 'call-outline',
30
34
  hasBottomLine: true
31
35
  },
32
36
  {
33
37
  title: 'digit-eui-support@ec.europa.eu',
34
38
  mail: 'digit-eui-support@ec.europa.eu',
35
39
  subtitle: 'Helpdesk support',
36
- startIcon: 'at',
40
+ startIcon: 'call-outline',
37
41
  hasBottomLine: true
38
42
  },
39
43
  {
40
44
  title: 'EC Microsoft Teams',
41
45
  link: 'https://teams.microsoft.com/l/channel/19%3a6db7a6cef52340eb91d67b8d75db2523%40thread.tacv2/%25E2%259D%2593%25E2%259D%2593%2520%2520HELPDESK%2520and%2520SUPPORT?groupId=fb6def72-c57b-4e8f-a82e-49be65d6e1f5&tenantId=b24c8b06-522c-46fe-9080-70926f8dddb1',
42
46
  subtitle: 'Microsoft Teams helpdesk channel',
43
- startIcon: 'people'
47
+ startIcon: 'call-outline'
44
48
  },
45
49
  ],
46
50
  },
@@ -51,21 +55,21 @@ export class HelpSupportComponent {
51
55
  title: 'eUI / mobile manual',
52
56
  subtitle: 'Getting started with library',
53
57
  link: 'https://euidev.ecdevops.eu/eui-showcase-mobile-18.x/home',
54
- startIcon: 'book',
58
+ startIcon: 'call-outline',
55
59
  endIcon: 'link'
56
60
  },
57
61
  {
58
62
  title: 'EU Login',
59
63
  subtitle: 'User manual',
60
64
  link: 'https://webgate.ec.europa.eu/cas/help.html',
61
- startIcon: 'book',
65
+ startIcon: 'call-outline',
62
66
  endIcon: 'link'
63
67
  },
64
68
  {
65
69
  title: 'FAQ',
66
70
  subtitle: 'Frequently asked questions',
67
71
  link: 'https://ec.europa.eu/sustainable-finance-taxonomy/faq',
68
- startIcon: 'book',
72
+ startIcon: 'call-outline',
69
73
  endIcon: 'link'
70
74
  }
71
75
  ]
@@ -7,6 +7,6 @@
7
7
  </ion-header>
8
8
  <ion-content>
9
9
  <euim-about-content-loading>
10
- <euim-pdf-viewer url="assets/docs/pdf-test.pdf"></euim-pdf-viewer>
10
+ <euim-pdf-viewer url="assets/docs/sample-pdf-mobile.pdf"></euim-pdf-viewer>
11
11
  </euim-about-content-loading>
12
12
  </ion-content>
@@ -1,8 +1,10 @@
1
1
  import { Component } from '@angular/core';
2
+ import { EuimAboutModule, EuimPdfViewerModule, EuimToolbarComponentModule } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent } from '@ionic/angular/standalone';
4
+ import { TranslateModule } from '@ngx-translate/core';
2
5
 
3
6
  @Component({
4
- templateUrl: './legal-notice.component.html'
7
+ templateUrl: './legal-notice.component.html',
8
+ imports: [TranslateModule, IonToolbar, EuimAboutModule, EuimPdfViewerModule, IonHeader, IonContent, EuimToolbarComponentModule]
5
9
  })
6
- export class LegalNoticeComponent {
7
-
8
- }
10
+ export class LegalNoticeComponent {}
@@ -1,7 +1,10 @@
1
1
  import { Component } from '@angular/core';
2
+ import { EuimAboutModule, EuimToolbarComponentModule } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent } from '@ionic/angular/standalone';
4
+ import { TranslateModule } from '@ngx-translate/core';
2
5
 
3
6
  @Component({
4
- templateUrl: './licence-details.component.html'
7
+ templateUrl: './licence-details.component.html',
8
+ imports: [TranslateModule, IonToolbar, EuimAboutModule, IonHeader, IonContent, EuimToolbarComponentModule]
5
9
  })
6
- export class LicenceDetailsComponent {
7
- }
10
+ export class LicenceDetailsComponent {}
@@ -1,8 +1,12 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { NavController } from '@ionic/angular';
3
+ import { EuimAboutModule, EuimToolbarComponentModule } from '@eui/mobile-core';
4
+ import { IonToolbar, IonHeader, IonContent } from '@ionic/angular/standalone';
5
+ import { TranslateModule } from '@ngx-translate/core';
3
6
 
4
7
  @Component({
5
- templateUrl: './opensource-licences.component.html'
8
+ templateUrl: './opensource-licences.component.html',
9
+ imports: [TranslateModule, IonToolbar, EuimAboutModule, IonHeader, IonContent, EuimToolbarComponentModule]
6
10
  })
7
11
  export class OpensourceLicencesComponent {
8
12
  constructor(
@@ -1,11 +1,50 @@
1
1
  <ion-header>
2
- <ion-toolbar color="branding">
3
- <euim-toolbar [hasSidebarTrigger]="true" [hasLanguageSelector]="true">
4
- <euim-toolbar-title>eUI mobile showcase</euim-toolbar-title>
2
+ <ion-toolbar color="light">
3
+ <euim-toolbar [hasSidebarTrigger]="true">
4
+ <euim-toolbar-title>Home</euim-toolbar-title>
5
+ <euim-toolbar-action-items>
6
+ <ion-button>
7
+ <ion-icon slot="icon-only" name="share-social-outline"></ion-icon>
8
+ </ion-button>
9
+ </euim-toolbar-action-items>
5
10
  </euim-toolbar>
6
11
  </ion-toolbar>
7
12
  </ion-header>
8
13
 
9
- <ion-content class="ion-padding">
10
- Welcome to eUI mobile app
14
+ <ion-content>
15
+ <ion-list>
16
+ @for (item of items; track $index;) {
17
+ @if (item.sectionTitle) {
18
+ <ion-list-header lines="full">
19
+ <ion-label>{{ item.sectionTitle }}</ion-label>
20
+ </ion-list-header>
21
+ }
22
+ @for (item of item.items; track item;) {
23
+ <ion-item button lines="none" [href]="item.url" target="_blank">
24
+ @if (item.icon) {
25
+ <euim-avatar slot="start">
26
+ <euim-avatar-icon>
27
+ <ion-icon [name]="item.icon"></ion-icon>
28
+ </euim-avatar-icon>
29
+ </euim-avatar>
30
+ }
31
+
32
+ <ion-label>
33
+ @if (item.title) {
34
+ <div euimLabel euimLabelTitle euimLabelTruncate>{{ item.title }}</div>
35
+ }
36
+ @if (item.subtitle) {
37
+ <div euimLabel euimLabelSubTitle>{{ item.subtitle }}</div>
38
+ }
39
+ </ion-label>
40
+ </ion-item>
41
+ }
42
+
43
+ @if (item.hasHelperText) {
44
+ <euim-helper-text>
45
+ Please refer to documentation above to learn more about eUI/Mobile library and get started with variety of examples
46
+ </euim-helper-text>
47
+ }
48
+ }
49
+ </ion-list>
11
50
  </ion-content>
@@ -1,9 +1,78 @@
1
1
  import { Component, Inject } from '@angular/core';
2
2
  import { CONFIG_TOKEN, EuiAppConfig } from '@eui/core';
3
+ import { EUIM_TOOLBAR, EUIM_AVATAR, EUIM_LABEL, EuimHelperTextComponent } from '@eui/mobile-core';
4
+ import { IonToolbar, IonHeader, IonContent, IonList, IonButton, IonIcon, IonListHeader } from '@ionic/angular/standalone';
3
5
 
4
6
  @Component({
5
7
  templateUrl: './home.component.html',
8
+ imports: [EUIM_TOOLBAR, EUIM_AVATAR, EUIM_LABEL, IonList, IonListHeader, IonButton, IonIcon, EuimHelperTextComponent, IonToolbar, IonHeader, IonContent],
6
9
  })
7
10
  export class HomeComponent {
8
11
  constructor(@Inject(CONFIG_TOKEN) private config: EuiAppConfig) {}
12
+
13
+ items: ListItems[] = [
14
+ {
15
+ sectionTitle: 'DOCUMENTATION',
16
+ items: [
17
+ {
18
+ title: 'Design System',
19
+ subtitle: 'Explore 90+ mobile components',
20
+ url: 'https://eui.ecdevops.eu/eui-showcase-ux-components-21.x/showcase-design-system/home',
21
+ icon: 'color-palette-outline',
22
+ },
23
+ { title: 'Components',
24
+ subtitle: 'Explore 90+ mobile components',
25
+ url: 'https://eui.ecdevops.eu/eui-showcase-mobile-20.x/home/components?segment=alphabetical',
26
+ icon: 'cube-outline',
27
+ },
28
+ { title: 'Patterns',
29
+ subtitle: 'Explore proven component combinations',
30
+ url: 'https://eui.ecdevops.eu/eui-showcase-mobile-patterns-20.x/home',
31
+ icon: 'library-outline',
32
+ },
33
+ { title: 'Applications',
34
+ subtitle: 'Get inspired of 15+ eUI/Mobile apps ',
35
+ url: 'https://eui.ecdevops.eu/eui-showcase-mobile-patterns-20.x/home/patterns?segment=apps',
36
+ icon: 'apps-outline',
37
+ },
38
+ { title: 'Plugins & Services',
39
+ subtitle: 'Native hardware API’s',
40
+ url: 'https://eui.ecdevops.eu/eui-showcase-mobile-20.x/home/plugins-services',
41
+ icon: 'hardware-chip-outline',
42
+ },
43
+ ],
44
+
45
+ hasHelperText: true,
46
+ },
47
+ {
48
+ sectionTitle: 'CONTACT US',
49
+ items: [
50
+ {
51
+ title: 'Teams',
52
+ subtitle: 'Official eUI support channel ',
53
+ url: 'https://teams.microsoft.com/l/channel/19%3a6db7a6cef52340eb91d67b8d75db2523%40thread.tacv2/%25E2%259D%2593%25E2%259D%2593%2520%2520HELPDESK%2520and%2520SUPPORT?groupId=fb6def72-c57b-4e8f-a82e-49be65d6e1f5&tenantId=b24c8b06-522c-46fe-9080-70926f8dddb1',
54
+ icon: 'people-outline',
55
+ },
56
+ {
57
+ title: 'Helpdesk',
58
+ subtitle: 'Send us a support ticket',
59
+ url: 'mailto:digit-eui-support@ec.europa.eu',
60
+ icon: 'mail-outline',
61
+ },
62
+ ],
63
+ },
64
+ ];
65
+ }
66
+
67
+ interface Item {
68
+ title: string;
69
+ subtitle: string;
70
+ icon?: string;
71
+ url?: string;
72
+ }
73
+
74
+ interface ListItems {
75
+ sectionTitle?: string;
76
+ items: Item[];
77
+ hasHelperText?: boolean;
9
78
  }
@@ -0,0 +1,6 @@
1
+ import { Routes } from '@angular/router';
2
+ import { HomeComponent } from './home.component';
3
+
4
+ export const HOME_ROUTES: Routes = [
5
+ { path: '', component: HomeComponent },
6
+ ];
@@ -1,11 +1,30 @@
1
1
  <ion-header>
2
- <ion-toolbar color="branding">
2
+ <ion-toolbar color="light">
3
3
  <euim-toolbar>
4
- <euim-toolbar-title>Module 1 - Page 1</euim-toolbar-title>
4
+ <euim-toolbar-title>Page One</euim-toolbar-title>
5
+ <euim-toolbar-action-items>
6
+ <ion-button>
7
+ <ion-icon slot="icon-only" name="ellipsis-vertical-outline"></ion-icon>
8
+ </ion-button>
9
+ </euim-toolbar-action-items>
5
10
  </euim-toolbar>
6
11
  </ion-toolbar>
12
+ <euim-header-details hasBorderBottom="false">
13
+ <div euimHeaderDetailsIcon>
14
+ <euim-avatar>
15
+ <euim-avatar-icon>
16
+ <ion-icon name="reader-outline"></ion-icon>
17
+ </euim-avatar-icon>
18
+ </euim-avatar>
19
+ </div>
20
+ <div euimHeaderDetailsTitle><strong>Page One</strong></div>
21
+ <div euimHeaderDetailsMeta>Sample content</div>
22
+ </euim-header-details>
7
23
  </ion-header>
8
-
9
- <ion-content class="ion-padding">
10
- page 1 content
24
+ <ion-content>
25
+ <euim-empty-list-placeholder euimMarginTopLarge
26
+ description="Replace with your own content"
27
+ icon="cube-outline"
28
+ message="Module 1 / Page One">
29
+ </euim-empty-list-placeholder>
11
30
  </ion-content>
@@ -1,8 +1,9 @@
1
1
  import { Component } from '@angular/core';
2
-
2
+ import { EUIM_TOOLBAR, EUIM_EMPTY_LIST_PLACEHOLDER, EUIM_HEADER_DETAILS, EUIM_AVATAR } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent, IonIcon, IonButton } from '@ionic/angular/standalone';
3
4
  @Component({
4
5
  selector: 'page-one',
5
- templateUrl: './page1.component.html'
6
+ templateUrl: './page1.component.html',
7
+ imports: [EUIM_TOOLBAR, EUIM_EMPTY_LIST_PLACEHOLDER, EUIM_HEADER_DETAILS, EUIM_AVATAR, IonIcon, IonButton, IonToolbar, IonHeader, IonContent],
6
8
  })
7
- export class Page1Component {
8
- }
9
+ export class Page1Component {}
@@ -1,11 +1,30 @@
1
1
  <ion-header>
2
- <ion-toolbar color="branding">
2
+ <ion-toolbar color="light">
3
3
  <euim-toolbar>
4
- <euim-toolbar-title>Module 1 - Page 2</euim-toolbar-title>
4
+ <euim-toolbar-title>Page Two</euim-toolbar-title>
5
+ <euim-toolbar-action-items>
6
+ <ion-button>
7
+ <ion-icon slot="icon-only" name="ellipsis-vertical-outline"></ion-icon>
8
+ </ion-button>
9
+ </euim-toolbar-action-items>
5
10
  </euim-toolbar>
6
11
  </ion-toolbar>
12
+ <euim-header-details hasBorderBottom="false">
13
+ <div euimHeaderDetailsIcon>
14
+ <euim-avatar>
15
+ <euim-avatar-icon>
16
+ <ion-icon name="reader-outline"></ion-icon>
17
+ </euim-avatar-icon>
18
+ </euim-avatar>
19
+ </div>
20
+ <div euimHeaderDetailsTitle><strong>Page Two</strong></div>
21
+ <div euimHeaderDetailsMeta>Sample content</div>
22
+ </euim-header-details>
7
23
  </ion-header>
8
-
9
- <ion-content class="ion-padding">
10
- page 2 content
24
+ <ion-content>
25
+ <euim-empty-list-placeholder euimMarginTopLarge
26
+ description="Replace with your own content"
27
+ icon="cube-outline"
28
+ message="Module 1 / Page Two">
29
+ </euim-empty-list-placeholder>
11
30
  </ion-content>
@@ -1,8 +1,10 @@
1
1
  import { Component } from '@angular/core';
2
+ import { EUIM_TOOLBAR, EUIM_EMPTY_LIST_PLACEHOLDER, EUIM_HEADER_DETAILS, EUIM_AVATAR } from '@eui/mobile-core';
3
+ import { IonToolbar, IonHeader, IonContent, IonIcon, IonButton } from '@ionic/angular/standalone';
2
4
 
3
5
  @Component({
4
6
  selector: 'page-two',
5
- templateUrl: './page2.component.html'
7
+ templateUrl: './page2.component.html',
8
+ imports: [EUIM_HEADER_DETAILS, EUIM_AVATAR, EUIM_TOOLBAR, EUIM_EMPTY_LIST_PLACEHOLDER, IonIcon, IonButton, IonToolbar, IonHeader, IonContent],
6
9
  })
7
- export class Page2Component {
8
- }
10
+ export class Page2Component {}
@@ -1,7 +1,7 @@
1
1
  <ion-header>
2
- <ion-toolbar color="branding">
2
+ <ion-toolbar color="light">
3
3
  <euim-toolbar [hasSidebarTrigger]="true">
4
- <euim-toolbar-title>Module 1 - home</euim-toolbar-title>
4
+ <euim-toolbar-title>Module 1</euim-toolbar-title>
5
5
  </euim-toolbar>
6
6
  </ion-toolbar>
7
7
  </ion-header>
@@ -1,15 +1,15 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { NavController } from '@ionic/angular';
3
+ import { EuimToolbarComponentModule } from '@eui/mobile-core';
4
+ import { IonToolbar, IonHeader, IonContent, IonButton } from '@ionic/angular/standalone';
3
5
 
4
6
  @Component({
5
7
  templateUrl: './module1.component.html',
8
+ imports: [EuimToolbarComponentModule, IonToolbar, IonHeader, IonContent, IonButton],
6
9
  })
7
10
  export class Module1Component {
8
11
 
9
- constructor(
10
- private navCtrl: NavController,
11
- ) {
12
- }
12
+ constructor(private navCtrl: NavController) {}
13
13
 
14
14
  onNavigate(url: string) {
15
15
  this.navCtrl.navigateForward(url);
@@ -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
+ ];