@genesislcap/blank-app-seed 5.7.0-prerelease.3 → 5.7.0-prerelease.31

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 (82) hide show
  1. package/.genx/configure.js +114 -0
  2. package/.genx/package.json +5 -2
  3. package/.genx/prompts/api.js +25 -0
  4. package/.genx/prompts/ui.js +12 -0
  5. package/.genx/prompts.js +8 -2
  6. package/.genx/static.js +1 -0
  7. package/.genx/templates/angular/component/component.hbs +31 -3
  8. package/.genx/templates/angular/entityManager.hbs +17 -6
  9. package/.genx/templates/angular/grid.hbs +5 -2
  10. package/.genx/templates/angular/slices/eventing.slice.hbs +41 -0
  11. package/.genx/templates/angular/store.hbs +16 -0
  12. package/.genx/templates/angular/tabsLayout.hbs +1 -1
  13. package/.genx/templates/react/component/component.hbs +84 -15
  14. package/.genx/templates/react/entityManager.hbs +11 -17
  15. package/.genx/templates/react/grid.hbs +5 -9
  16. package/.genx/templates/react/gridLayout.hbs +4 -4
  17. package/.genx/templates/react/horizontalLayout.hbs +1 -1
  18. package/.genx/templates/react/route.hbs +12 -1
  19. package/.genx/templates/react/slices/eventing.slice.hbs +39 -0
  20. package/.genx/templates/react/store.hbs +24 -0
  21. package/.genx/templates/react/tabsLayout.hbs +2 -2
  22. package/.genx/templates/web-components/component/component.hbs +26 -0
  23. package/.genx/templates/web-components/entityManager.hbs +17 -9
  24. package/.genx/templates/web-components/grid.hbs +13 -5
  25. package/.genx/templates/web-components/slices/eventing.slice.hbs +44 -0
  26. package/.genx/templates/web-components/store.hbs +18 -0
  27. package/.genx/utils/fontUtils.js +75 -0
  28. package/.genx/utils/formatRouteData.js +5 -0
  29. package/.genx/utils/generateRoute.js +1 -1
  30. package/.genx/utils/generateStore.js +98 -0
  31. package/.genx/utils/index.js +4 -0
  32. package/.genx/versions.json +3 -3
  33. package/.github/CODEOWNERS +1 -1
  34. package/.github/pull_request_template.md +6 -0
  35. package/.github/workflows/upgrade.yml +0 -1
  36. package/CHANGELOG.md +237 -0
  37. package/client-tmp/angular/package.json +5 -0
  38. package/client-tmp/angular/src/app/app.component.ts +2 -31
  39. package/client-tmp/angular/src/app/app.module.ts +3 -0
  40. package/client-tmp/angular/src/app/layouts/default/default.layout.css +8 -0
  41. package/client-tmp/angular/src/app/layouts/default/default.layout.html +3 -0
  42. package/client-tmp/angular/src/app/share/genesis-components.ts +12 -1
  43. package/client-tmp/angular/src/styles/design-tokens.json +1 -1
  44. package/client-tmp/angular/src/styles/styles.css +15 -1
  45. package/client-tmp/react/index.html +0 -1
  46. package/client-tmp/react/package.json +16 -28
  47. package/client-tmp/react/public/index.html +3 -1
  48. package/client-tmp/react/src/App.tsx +12 -29
  49. package/client-tmp/react/src/components/routes/AppRoutes.tsx +4 -4
  50. package/client-tmp/react/src/config.ts +1 -1
  51. package/client-tmp/react/src/layouts/blank/BlankLayout.tsx +1 -1
  52. package/client-tmp/react/src/layouts/default/DefaultLayout.module.css +8 -0
  53. package/client-tmp/react/src/layouts/default/DefaultLayout.tsx +7 -4
  54. package/client-tmp/react/src/main.tsx +1 -1
  55. package/client-tmp/react/src/pages/AuthPage/AuthPage.tsx +1 -1
  56. package/client-tmp/react/src/pages/NotFoundPage/NotFoundPage.tsx +1 -1
  57. package/client-tmp/react/src/pages/NotPermittedPage/NotPermittedPage.test.tsx +1 -1
  58. package/client-tmp/react/src/pages/NotPermittedPage/NotPermittedPage.tsx +1 -1
  59. package/client-tmp/react/src/pbc/container.tsx +1 -1
  60. package/client-tmp/react/src/share/foundation-login.ts +2 -2
  61. package/client-tmp/react/src/share/genesis-components.ts +12 -1
  62. package/client-tmp/react/src/store/RoutesContext.tsx +6 -6
  63. package/client-tmp/react/src/styles/design-tokens.json +1 -1
  64. package/client-tmp/react/src/styles/styles.css +15 -1
  65. package/client-tmp/react/src/utils/getLayoutNameByRoute.ts +1 -1
  66. package/client-tmp/react/src/utils/goldenLayout.helper.ts +59 -0
  67. package/client-tmp/react/test/e2e/fixture.ts +1 -1
  68. package/client-tmp/web-components/package.json +4 -0
  69. package/client-tmp/web-components/src/components/components.ts +18 -9
  70. package/client-tmp/web-components/src/layouts/default.ts +12 -2
  71. package/client-tmp/web-components/src/main/main.css +12 -0
  72. package/client-tmp/web-components/src/main/main.template.ts +0 -1
  73. package/client-tmp/web-components/src/main/main.ts +1 -34
  74. package/client-tmp/web-components/src/styles/design-tokens.json +1 -1
  75. package/client-tmp/web-components/src/styles/typography.ts +6 -4
  76. package/package.json +1 -1
  77. package/server/settings.gradle.kts +0 -3
  78. package/client-tmp/angular/src/app/store/store.ts +0 -34
  79. package/client-tmp/react/lint-css.ts +0 -19
  80. package/client-tmp/react/src/services/store.service.ts +0 -48
  81. package/client-tmp/react/vite.config.ts +0 -70
  82. package/client-tmp/web-components/src/store/store.ts +0 -29
package/CHANGELOG.md CHANGED
@@ -1,5 +1,242 @@
1
1
  # Changelog
2
2
 
3
+ ## [5.7.0-prerelease.31](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.30...v5.7.0-prerelease.31) (2026-01-29)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * Trigger release f3cea2d
9
+ * Trigger release (#545) ddbc132
10
+
11
+ ## [5.7.0-prerelease.30](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.29...v5.7.0-prerelease.30) (2026-01-27)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 6b27022
17
+
18
+ ## [5.7.0-prerelease.29](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.28...v5.7.0-prerelease.29) (2026-01-27)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 8d05c98
24
+
25
+ ## [5.7.0-prerelease.28](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.27...v5.7.0-prerelease.28) (2025-11-26)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * Revert GSF version changes in versions.json [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) (#540) f174314
31
+
32
+ ## [5.7.0-prerelease.27](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.26...v5.7.0-prerelease.27) (2025-11-25)
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 7e4d994
38
+
39
+ ## [5.7.0-prerelease.26](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.25...v5.7.0-prerelease.26) (2025-11-14)
40
+
41
+
42
+ ### Bug Fixes
43
+
44
+ * use component in tabsLayout GENC-0 41a53ac
45
+ * use component in tabsLayout GENC-0 (#539) e4f164e
46
+
47
+ ## [5.7.0-prerelease.25](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.24...v5.7.0-prerelease.25) (2025-11-11)
48
+
49
+
50
+ ### Bug Fixes
51
+
52
+ * change selected row background GENC-1211 72eb6ae
53
+ * change selected row background GENC-1211 (#537) e00b3d1
54
+
55
+ ## [5.7.0-prerelease.24](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.23...v5.7.0-prerelease.24) (2025-11-07)
56
+
57
+
58
+ ### Bug Fixes
59
+
60
+ * revert add checkbox selection for publishers GENC-1211 2bfba25
61
+ * revert add checkbox selection for publishers GENC-1211 (#536) c2a362a
62
+
63
+ ## [5.7.0-prerelease.23](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.22...v5.7.0-prerelease.23) (2025-11-05)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * add checkbox selection for publishers GENC-1211 187915f
69
+ * add checkbox selection for publishers GENC-1211 (#535) afde343
70
+
71
+ ## [5.7.0-prerelease.22](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.21...v5.7.0-prerelease.22) (2025-11-04)
72
+
73
+
74
+ ### Features
75
+
76
+ * update GSF and Auth versions to 8.14.0 [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 1e45d1e
77
+ * update GSF and Auth versions to 8.14.0 [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) (#534) f7cf87a
78
+
79
+ ## [5.7.0-prerelease.21](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.20...v5.7.0-prerelease.21) (2025-10-31)
80
+
81
+
82
+ ### Bug Fixes
83
+
84
+ * use relative logo source instead of absolute GENC-1232 1002762
85
+ * use relative logo source instead of absolute GENC-1232 (#533) 71a9b23
86
+
87
+ ## [5.7.0-prerelease.20](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.19...v5.7.0-prerelease.20) (2025-10-29)
88
+
89
+
90
+ ### Bug Fixes
91
+
92
+ * bump fui version to fix modal regression 4594a2d
93
+ * bump fui version to fix modal regression (#532) ad41045
94
+
95
+ ## [5.7.0-prerelease.19](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.18...v5.7.0-prerelease.19) (2025-10-28)
96
+
97
+
98
+ ### Features
99
+
100
+ * bump fui versions to receive light mode fixes 6f244c5
101
+ * bump fui versions to receive light mode fixes (#530) 3df2a30
102
+
103
+ ## [5.7.0-prerelease.18](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.17...v5.7.0-prerelease.18) (2025-10-28)
104
+
105
+
106
+ ### Features
107
+
108
+ * fix setting fonts and set css used for handlers GENC-1232 de493e3
109
+ * optionally set fonts in generated app via genx GENC-1232 (#531) 596f933
110
+
111
+ ## [5.7.0-prerelease.17](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.16...v5.7.0-prerelease.17) (2025-10-24)
112
+
113
+
114
+ ### Bug Fixes
115
+
116
+ * handling of optional headerlogo GENC-1232 ece95a3
117
+ * handling of optional headerlogo GENC-1232 (#529) 88ed8d6
118
+
119
+ ## [5.7.0-prerelease.16](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.15...v5.7.0-prerelease.16) (2025-10-23)
120
+
121
+
122
+ ### Features
123
+
124
+ * configure foundation header logo during init GENC-1232 fa452b4
125
+ * optionally set header logo during genx init GENC-1232 (#528) 86c8950
126
+ * set logo styles GENC-1232 950a6b6
127
+
128
+
129
+ ### Bug Fixes
130
+
131
+ * apply logo styles by default GENC-1232 00814d8
132
+ * erronous ifAny check in react for datasourceConfig GENC-1232 c109583
133
+ * linting error in generated app GENC-1232 4c176cc
134
+ * linting error in generated app react and angular GENC-1232 a95c6a5
135
+ * logo configuration in angular GENC-1232 14445fc
136
+
137
+ ## [5.7.0-prerelease.15](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.14...v5.7.0-prerelease.15) (2025-10-22)
138
+
139
+
140
+ ### Bug Fixes
141
+
142
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 9b0d2cf
143
+
144
+ ## [5.7.0-prerelease.14](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.13...v5.7.0-prerelease.14) (2025-10-22)
145
+
146
+
147
+ ### Bug Fixes
148
+
149
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 80b9ac5
150
+
151
+ ## [5.7.0-prerelease.13](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.12...v5.7.0-prerelease.13) (2025-10-22)
152
+
153
+
154
+ ### Features
155
+
156
+ * add ability to set design tokens for generated application GENC-1232 bfcf676
157
+ * add ability to set design tokens for generated application GENC-1232 (#526) c01a7f3
158
+
159
+
160
+ ### Bug Fixes
161
+
162
+ * logic applying design token option GENC-1232 a42f6b6
163
+ * logic applying design token option GENC-1232 760e6c1
164
+ * logic applying design token option GENC-1232 7e25e01
165
+ * logic applying design token option GENC-1232 f11fd09
166
+ * logic applying design token option GENC-1232 54b2e75
167
+ * logic applying design token option GENC-1232 63faf22
168
+ * logic applying design token option GENC-1232 6de63aa
169
+ * logic applying design token option GENC-1232 d721477
170
+ * logic applying design token option GENC-1232 a66eada
171
+ * logic applying design token option GENC-1232 3c72211
172
+ * template example shoudl be using light mode value GENC-1232 b87024f
173
+
174
+ ## [5.7.0-prerelease.12](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.11...v5.7.0-prerelease.12) (2025-10-22)
175
+
176
+
177
+ ### Features
178
+
179
+ * grid interactions web-components/react/angular GENC-1211 ddcf44c
180
+ * grid interactions web-components/react/angular GENC-1211 (#527) a9a112b
181
+
182
+ ## [5.7.0-prerelease.11](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.10...v5.7.0-prerelease.11) (2025-10-21)
183
+
184
+
185
+ ### Bug Fixes
186
+
187
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) a597461
188
+
189
+ ## [5.7.0-prerelease.10](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.9...v5.7.0-prerelease.10) (2025-10-21)
190
+
191
+
192
+ ### Bug Fixes
193
+
194
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) f1c7a32
195
+
196
+ ## [5.7.0-prerelease.9](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.8...v5.7.0-prerelease.9) (2025-10-21)
197
+
198
+
199
+ ### Bug Fixes
200
+
201
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) b666a8b
202
+
203
+ ## [5.7.0-prerelease.8](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.7...v5.7.0-prerelease.8) (2025-10-21)
204
+
205
+
206
+ ### Bug Fixes
207
+
208
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) bc1fc15
209
+
210
+ ## [5.7.0-prerelease.7](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.6...v5.7.0-prerelease.7) (2025-10-20)
211
+
212
+
213
+ ### Bug Fixes
214
+
215
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) db1cff2
216
+
217
+ ## [5.7.0-prerelease.6](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.5...v5.7.0-prerelease.6) (2025-10-20)
218
+
219
+
220
+ ### Bug Fixes
221
+
222
+ * updating server version information for GSF [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) 24510a4
223
+
224
+ ## [5.7.0-prerelease.5](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.4...v5.7.0-prerelease.5) (2025-10-17)
225
+
226
+
227
+ ### Bug Fixes
228
+
229
+ * add proxy for vite with react ff07e8f
230
+ * add proxy for vite with react adb23b4
231
+ * add proxy for vite with react (#518) 65bab7f
232
+
233
+ ## [5.7.0-prerelease.4](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.3...v5.7.0-prerelease.4) (2025-10-17)
234
+
235
+
236
+ ### Bug Fixes
237
+
238
+ * updating server version information for Auth [PSD-0](https://github.com/genesiscommunitysuccess/blank-app-seed/issues/0) de06d08
239
+
3
240
  ## [5.7.0-prerelease.3](https://github.com/genesiscommunitysuccess/blank-app-seed/compare/v5.7.0-prerelease.2...v5.7.0-prerelease.3) (2025-10-17)
4
241
 
5
242
 
@@ -78,6 +78,7 @@
78
78
  "@angular/platform-browser-dynamic": "^18.0.4",
79
79
  "@angular/router": "^18.0.4",
80
80
  "@genesislcap/foundation-comms": "{{versions.UI}}",
81
+ "@genesislcap/foundation-criteria": "{{versions.UI}}",
81
82
  "@genesislcap/foundation-entity-management": "{{versions.UI}}",
82
83
  "@genesislcap/foundation-events": "{{versions.UI}}",
83
84
  {{#if FDC3.includeDependencies}}
@@ -102,6 +103,8 @@
102
103
  "@genesislcap/rapid-design-system": "{{versions.UI}}",
103
104
  "@genesislcap/rapid-grid-pro": "{{versions.UI}}",
104
105
  "@genesislcap/web-core": "{{versions.UI}}",
106
+ "@genesislcap/foundation-redux": "{{versions.UI}}",
107
+ "@reduxjs/angular-redux": "^1.0.1",
105
108
  "numeral": "2.0.6",
106
109
  "tslib": "^2.3.0",
107
110
  "zone.js": "~0.14.3"
@@ -117,6 +120,7 @@
117
120
  "@angular/platform-browser-dynamic": "^18.0.4",
118
121
  "@angular/router": "^18.0.4",
119
122
  "@genesislcap/foundation-comms": "{{versions.UI}}",
123
+ "@genesislcap/foundation-criteria": "{{versions.UI}}",
120
124
  "@genesislcap/foundation-entity-management": "{{versions.UI}}",
121
125
  "@genesislcap/foundation-events": "{{versions.UI}}",
122
126
  {{#if FDC3.includeDependencies}}
@@ -139,6 +143,7 @@
139
143
  "@genesislcap/grid-tabulator": "{{versions.UI}}",
140
144
  "@genesislcap/rapid-design-system": "{{versions.UI}}",
141
145
  "@genesislcap/rapid-grid-pro": "{{versions.UI}}",
146
+ "@genesislcap/foundation-redux": "{{versions.UI}}",
142
147
  "@genesislcap/web-core": "{{versions.UI}}",
143
148
  "numeral": "2.0.6",
144
149
  "tslib": "^2.3.0",
@@ -5,8 +5,7 @@ import getLayoutNameByRoute from './utils/getLayoutNameByRoute';
5
5
  import type { LayoutComponentName } from './types/layout';
6
6
  import { configureFoundationAuth } from './share/foundation-auth';
7
7
  import { registerComponents } from './share/genesis-components';
8
- import { getStore } from './store';
9
- import { customEventFactory, registerStylesTarget } from '../pbc/utils';
8
+ import { registerStylesTarget } from '../pbc/utils';
10
9
  {{#if FDC3.channels.length}}
11
10
  import { listenToChannel, onFDC3Ready } from './utils';
12
11
  {{/if}}
@@ -16,10 +15,9 @@ import { listenToChannel, onFDC3Ready } from './utils';
16
15
  templateUrl: './app.component.html',
17
16
  styleUrl: './app.component.css',
18
17
  })
19
- export class AppComponent implements OnInit, OnDestroy, AfterViewInit {
18
+ export class AppComponent implements OnInit, AfterViewInit {
20
19
  layoutName?: LayoutComponentName;
21
20
  title = '{{capitalCase appName}}';
22
- store = getStore();
23
21
 
24
22
  // @ts-ignore
25
23
  @Connect connect: Connect;
@@ -40,42 +38,15 @@ export class AppComponent implements OnInit, OnDestroy, AfterViewInit {
40
38
  }
41
39
 
42
40
  ngOnInit() {
43
- this.addEventListeners();
44
- this.readyStore();
45
41
  registerStylesTarget(this.el.nativeElement, 'main');
46
42
  this.loadRemotes();
47
43
  }
48
44
 
49
- ngOnDestroy() {
50
- this.removeEventListeners();
51
- this.disconnectStore();
52
- }
53
45
 
54
46
  async loadRemotes() {
55
47
  await registerComponents();
56
48
  }
57
49
 
58
- addEventListeners() {
59
- this.el.nativeElement.addEventListener('store-connected', this.store.onConnected);
60
- }
61
-
62
- removeEventListeners() {
63
- this.el.nativeElement.removeEventListener('store-connected', this.store.onConnected);
64
- }
65
-
66
- readyStore() {
67
- this.dispatchCustomEvent('store-connected', this.el.nativeElement);
68
- this.dispatchCustomEvent('store-ready', true);
69
- }
70
-
71
- disconnectStore() {
72
- this.dispatchCustomEvent('store-disconnected');
73
- }
74
-
75
- dispatchCustomEvent(type: string, detail?: any) {
76
- this.el.nativeElement.dispatchEvent(customEventFactory(type, detail));
77
- }
78
-
79
50
  ngAfterViewInit() {
80
51
  {{#if FDC3.channels.length}}
81
52
  onFDC3Ready(this.FDC3ReadyHandler);
@@ -9,6 +9,8 @@ import { DefaultLayoutComponent } from './layouts/default/default.layout';
9
9
  import { BlankLayoutComponent } from './layouts/blank/blank.layout';
10
10
  import { LayoutLazyLoadDirective } from './directive/app-lazy-load.directive';
11
11
  import { RouteService } from './services/route.service';
12
+ import { provideRedux } from '@reduxjs/angular-redux';
13
+ import { reduxStore } from './store/store';
12
14
 
13
15
  @NgModule({
14
16
  declarations: [
@@ -26,6 +28,7 @@ import { RouteService } from './services/route.service';
26
28
  ],
27
29
  providers: [
28
30
  RouteService,
31
+ provideRedux({ store: reduxStore as any }),
29
32
  {
30
33
  provide: APP_INITIALIZER,
31
34
  useFactory: (service: RouteService, router: Router) => () => router.resetConfig(service.allRoutes()),
@@ -33,6 +33,14 @@ foundation-header::part(background) {
33
33
  box-sizing: border-box;
34
34
  }
35
35
 
36
+ foundation-header::part(logo) {
37
+ max-width: 50px;
38
+ max-height: 24px;
39
+ width: auto;
40
+ height: auto;
41
+ object-fit: contain;
42
+ }
43
+
36
44
  .routes-wrapper {
37
45
  display: flex;
38
46
  gap: calc(var(--design-unit) * 2px);
@@ -1,6 +1,9 @@
1
1
  <rapid-design-system-provider #designSystemProvider>
2
2
  <pbc-elements-renderer [target]="['layout-start']"></pbc-elements-renderer>
3
3
  <foundation-header
4
+ {{#if headerLogoSrc}}
5
+ logo-src="assets/{{headerLogoSrc}}"
6
+ {{/if}}
4
7
  #foundationHeader
5
8
  show-luminance-toggle-button
6
9
  show-misc-toggle-button
@@ -5,7 +5,8 @@ import { getApp } from '@genesislcap/foundation-shell/app';
5
5
  import * as zeroDesignSystem from '@genesislcap/foundation-zero';
6
6
  import { g2plotChartsComponents } from '@genesislcap/g2plot-chart';
7
7
  import * as rapidDesignSystem from '@genesislcap/rapid-design-system';
8
- import { rapidGridComponents } from '@genesislcap/rapid-grid-pro';
8
+ import { rapidGridComponents, rapidGridPro, rapidGridProStyles } from '@genesislcap/rapid-grid-pro';
9
+ import { css } from "@genesislcap/web-core";
9
10
 
10
11
  /**
11
12
  * Ensure tree shaking doesn't remove these.
@@ -30,6 +31,16 @@ export async function registerComponents() {
30
31
  .provideDesignSystem()
31
32
  .register(
32
33
  rapidDesignSystem.baseComponents,
34
+ rapidGridPro({
35
+ styles: css`
36
+ ${rapidGridProStyles}
37
+ .ag-theme-genesis-rapid,
38
+ .ag-theme-genesis-rapid-dark,
39
+ .ag-theme-genesis-rapid-light {
40
+ --ag-selected-row-background-color: var(--accent-fill-rest);
41
+ }
42
+ `,
43
+ }),
33
44
  rapidGridComponents,
34
45
  g2plotChartsComponents,
35
46
  foundationLayoutComponents,
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "fontFamily": {
14
14
  "bodyFont": {
15
- "$value": "Roboto, \"Segoe UI\", Arial, Helvetica, sans-serif",
15
+ "$value": "{{#if fontFamily}}{{fontFamily}}, {{/if}}Roboto, \"Segoe UI\", Arial, Helvetica, sans-serif",
16
16
  "$type": "fontFamily"
17
17
  }
18
18
  },
@@ -1,11 +1,25 @@
1
+ {{#if fontData}}
2
+ {{#each fontData}}
3
+ @font-face {
4
+ font-family: "{{../fontFamily}}";
5
+ src: url("../assets/fonts/{{filename}}") format("{{format}}");
6
+ font-weight: {{weight}};
7
+ font-style: normal;
8
+ font-display: swap;
9
+ }
10
+ {{/each}}
11
+ {{/if}}
12
+
13
+ {{#unless fontFamily}}
1
14
  @font-face {
2
15
  font-family: Segoe UI;
3
16
  font-weight: 300;
4
17
  src: local("Segoe UI Semilight"), local("Segoe UI");
5
18
  }
19
+ {{/unless}}
6
20
 
7
21
  * {
8
- font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
22
+ font-family: {{#if fontFamily}}"{{fontFamily}}", {{/if}}"Segoe UI", "Helvetica Neue", Arial, sans-serif;
9
23
  font-style: normal;
10
24
  font-weight: normal;
11
25
  }
@@ -2,7 +2,6 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
- <link rel="icon" type="image/svg+xml" href="/vite.svg" />
6
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
6
  <title>{{capitalCase appName}}</title>
8
7
  </head>
@@ -3,27 +3,28 @@
3
3
  "version": "{{applicationVersionWeb}}",
4
4
  "private": true,
5
5
  "config": {
6
+ "API_HOST": "{{apiHost}}",
7
+ "PORT": 6060,
8
+ "ENABLE_SSO": {{enableSSO}},
6
9
  "PERSIST_LAYOUT_IN_DEV": false
7
10
  },
8
11
  "scripts": {
9
12
  "baseline": "npm run clean && npm run bootstrap",
10
- "bootstrap": "npm i --legacy-peer-deps",
13
+ "bootstrap": "npm i --no-fund --no-audit",
11
14
  "bootstrap:ci": "npm ci --no-fund --no-audit",
12
- "build": "webpack --mode production",
13
- "build:vite": "vite build",
15
+ "build": "genx build -b vite",
14
16
  "build:stats": "npm run build --stats-json",
15
17
  "clean": "genx clean dist node_modules",
16
- "dev": "webpack serve --mode development",
17
- "dev:vite": "vite build && vite preview",
18
+ "dev": "genx dev -b vite -e API_HOST,PORT,ENABLE_SSO,PERSIST_LAYOUT_IN_DEV",
18
19
  "dev:docker": "npm run dev -- --host 0.0.0.0",
19
20
  "dev:no-open": "NO_OPEN=true npm run dev",
20
21
  "dev:intellij": "npm run dev",
21
22
  "dev:https": "HTTPS=true npm run dev",
22
23
  "dsconfig": "dsconfig --path src/styles/design-tokens.json",
23
- "lint": "eslint src/**/*.ts src/**/*.tsx",
24
- "lint:fix": "eslint src/**/*.ts src/**/*.tsx --fix",
25
- "lint:eslint": "npm lint",
26
- "lint:stylelint": "npx ts-node lint-css.ts",
24
+ "lint": "genx lint --profile",
25
+ "lint:fix": "genx lint --fix",
26
+ "lint:eslint": "genx lint -l eslint --profile",
27
+ "lint:stylelint": "genx lint -l stylelint",
27
28
  "stats": "webpack --mode production --json > stats.json",
28
29
  "test": "jest",
29
30
  "test:coverage": "jest --coverage",
@@ -40,6 +41,7 @@
40
41
  "@ag-grid-enterprise/row-grouping": "29.2.0",
41
42
  "@ag-grid-enterprise/server-side-row-model": "29.2.0",
42
43
  "@genesislcap/foundation-comms": "{{versions.UI}}",
44
+ "@genesislcap/foundation-criteria": "{{versions.UI}}",
43
45
  "@genesislcap/foundation-entity-management": "{{versions.UI}}",
44
46
  {{#if FDC3.includeDependencies}}
45
47
  "@genesislcap/foundation-fdc3": "{{versions.UI}}",
@@ -56,6 +58,7 @@
56
58
  "@genesislcap/foundation-user": "{{versions.UI}}",
57
59
  "@genesislcap/foundation-utils": "{{versions.UI}}",
58
60
  "@genesislcap/foundation-zero-grid-tabulator": "{{versions.UI}}",
61
+ "@genesislcap/foundation-redux": "{{versions.UI}}",
59
62
  "@genesislcap/rapid-design-system": "{{versions.UI}}",
60
63
  "@genesislcap/rapid-grid-pro": "{{versions.UI}}",
61
64
  "@genesislcap/rapid-grid-tabulator": "{{versions.UI}}",
@@ -66,6 +69,7 @@
66
69
  "history": "^5.3.0",
67
70
  "react": "^19.0.0",
68
71
  "react-dom": "^19.0.0",
72
+ "react-redux": "^9.1.2",
69
73
  "react-router-dom": "^7.1.3",
70
74
  "web-vitals": "^2.1.4"
71
75
  },
@@ -73,9 +77,6 @@
73
77
  "@analytics/core": "0.12.17"
74
78
  },
75
79
  "devDependencies": {
76
- "@babel/core": "^7.25.2",
77
- "@babel/preset-env": "^7.25.4",
78
- "@babel/preset-react": "^7.26.3",
79
80
  "@genesislcap/design-system-configurator": "{{versions.UI}}",
80
81
  "@genesislcap/eslint-config": "{{versions.UI}}",
81
82
  "@genesislcap/prettier-config": "{{versions.UI}}",
@@ -88,26 +89,13 @@
88
89
  "@types/css-modules": "^1.0.5",
89
90
  "@types/jest": "^29.5.12",
90
91
  "@types/node": "^20.14.10",
91
- "@types/react": "^19.0.1",
92
- "@types/react-dom": "^19.0.2",
93
- "@typescript-eslint/parser": "^7.13.1",
94
- "@vitejs/plugin-react": "^4.3.1",
95
- "babel-loader": "^9.2.1",
96
- "babel-plugin-react-require": "^4.0.3",
97
- "dotenv-webpack": "^8.1.0",
98
- "eslint": "^8.57.0",
92
+ "@types/react": "^19.2.0",
93
+ "@types/react-dom": "^19.2.0",
99
94
  "eslint-plugin-react-hooks": "^5.1.0",
100
95
  "eslint-plugin-react-refresh": "^0.4.16",
101
- "file-loader": "^6.2.0",
102
96
  "jest": "^29.7.0",
103
97
  "jest-environment-jsdom": "^29.7.0",
104
98
  "ts-jest": "^29.2.5",
105
- "ts-node": "^10.9.2",
106
- "typescript": "^5.2.2",
107
- "vite": "^5.3.1",
108
- "vite-plugin-tsconfig-paths": "^1.4.1",
109
- "webpack": "^5.94.0",
110
- "webpack-cli": "^5.1.4",
111
- "webpack-dev-server": "^5.1.0"
99
+ "ts-node": "^10.9.2"
112
100
  }
113
101
  }
@@ -5,9 +5,11 @@
5
5
  <link rel="icon" type="image/x-icon" href="favicon.ico">
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>{{capitalCase appName}}</title>
8
+ <link rel="stylesheet" href="/{{appName}}.css" />
8
9
  </head>
9
10
  <body>
10
11
  <div id="root"></div>
11
- <script src="/bundle.js"></script>
12
+ <script>window.process = window.process || { env: {} };</script>
13
+ <script type="module" src="/{{appName}}.mjs"></script>
12
14
  </body>
13
15
  </html>
@@ -7,26 +7,19 @@ import {
7
7
  onFDC3Ready,
8
8
  {{/if}}
9
9
  } from './utils';
10
- import { customEventFactory, registerStylesTarget } from '@/pbc/utils';
10
+ import { customEventFactory, registerStylesTarget } from './pbc/utils';
11
11
  import { RoutesProvider } from './store/RoutesContext';
12
12
  import { registerComponents as genesisRegisterComponents } from './share/genesis-components';
13
- import { storeService } from '@/services/store.service';
14
13
  import AppRoutes from './components/routes/AppRoutes';
15
14
  import NotFoundPage from "@/pages/NotFoundPage/NotFoundPage.tsx";
16
-
15
+ import { reduxStore } from './store/store';
16
+ import { Provider } from 'react-redux';
17
17
 
18
18
  interface AppProps {
19
19
  rootElement: HTMLElement;
20
20
  }
21
21
 
22
- const App: React.FC<AppProps> = ({ rootElement }) => {
23
- const [isStoreConnected, setIsStoreConnected] = useState(false);
24
- const dispatchCustomEvent = (type: string, detail?: any) => {
25
- rootElement.dispatchEvent(customEventFactory(type, detail));
26
- };
27
- const handleStoreConnected = (event: CustomEvent) => {
28
- storeService.onConnected(event);
29
- };
22
+ const App: React.FC<AppProps> = ({}) => {
30
23
  {{#if FDC3.channels.length~}}
31
24
  const FDC3ReadyHandler = () => {
32
25
  {{#each FDC3.channels}}
@@ -47,30 +40,20 @@ const App: React.FC<AppProps> = ({ rootElement }) => {
47
40
  {{#if FDC3.channels.length~}}
48
41
  onFDC3Ready(FDC3ReadyHandler);
49
42
  {{/if}}
50
- if (!isStoreConnected) {
51
- rootElement.addEventListener('store-connected', handleStoreConnected);
52
- dispatchCustomEvent('store-connected', rootElement);
53
- dispatchCustomEvent('store-ready', true);
54
- setIsStoreConnected(true);
55
- }
56
43
 
57
- return () => {
58
- if (isStoreConnected) {
59
- rootElement.removeEventListener('store-connected', handleStoreConnected);
60
- dispatchCustomEvent('store-disconnected');
61
- }
62
- };
63
- }, [isStoreConnected]);
44
+ }, []);
64
45
 
65
46
  const baseElement = document.querySelector('base');
66
47
  const basePath = baseElement?.getAttribute('href') || '';
67
48
 
68
49
  return (
69
- <RoutesProvider>
70
- <Router basename={basePath}>
71
- <AppRoutes />
72
- </Router>
73
- </RoutesProvider>
50
+ <Provider store={reduxStore}>
51
+ <RoutesProvider>
52
+ <Router basename={basePath}>
53
+ <AppRoutes />
54
+ </Router>
55
+ </RoutesProvider>
56
+ </Provider>
74
57
  );
75
58
  };
76
59
 
@@ -1,11 +1,11 @@
1
1
  import { Routes, Route, Navigate } from 'react-router-dom';
2
2
  import AuthPage from '../../pages/AuthPage/AuthPage';
3
- import {{pascalCase routes.[0].name}} from '@/pages/{{pascalCase routes.[0].name}}/{{pascalCase routes.[0].name}}';
3
+ import {{pascalCase routes.[0].name}} from '../../pages/{{pascalCase routes.[0].name}}/{{pascalCase routes.[0].name}}';
4
4
  import DefaultLayout from '../../layouts/default/DefaultLayout';
5
5
  import ProtectedRoute from './ProtectedRoute';
6
- import { useRoutesContext } from '@/store/RoutesContext';
7
- import PBCContainer from '@/pbc/container';
8
- import NotFoundPage from '@/pages/NotFoundPage/NotFoundPage.tsx';
6
+ import { useRoutesContext } from '../../store/RoutesContext';
7
+ import PBCContainer from '../../pbc/container';
8
+ import NotFoundPage from '../../pages/NotFoundPage/NotFoundPage.tsx';
9
9
 
10
10
  const AppRoutes = () => {
11
11
  const routes = useRoutesContext();
@@ -1,5 +1,5 @@
1
1
  import { RouteLayouts } from './types/RouteLayouts';
2
- import { environment } from '@environment';
2
+ import { environment } from './environments/environment';
3
3
 
4
4
  export const routeLayouts: RouteLayouts = {
5
5
  '/login': 'blank',