@genesislcap/foundation-shell 14.131.0 → 14.132.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/MODULE_FEDERATION.md +11 -0
  2. package/README.md +19 -31
  3. package/dist/{13.13.60f90061d33208d1354b.js → 13.13.25393d337a73ab04aacd.js} +2 -2
  4. package/dist/{13.4d4d342ba791da63d597e22d6d61f90f.js.map → 13.18ce90986215931e094ef572bdb883d6.js.map} +1 -1
  5. package/dist/InjectManifest.e1f16063b12a45e391ae7b4f95241ab2.js.map +1 -0
  6. package/dist/dts/app/app.d.ts +159 -0
  7. package/dist/dts/app/app.d.ts.map +1 -0
  8. package/dist/dts/app/behaviors.d.ts +53 -0
  9. package/dist/dts/app/behaviors.d.ts.map +1 -0
  10. package/dist/dts/app/config.d.ts +25 -0
  11. package/dist/dts/app/config.d.ts.map +1 -0
  12. package/dist/dts/app/index.d.ts +5 -0
  13. package/dist/dts/app/index.d.ts.map +1 -0
  14. package/dist/dts/app/types.d.ts +700 -0
  15. package/dist/dts/app/types.d.ts.map +1 -0
  16. package/dist/dts/app/utils.d.ts +61 -0
  17. package/dist/dts/app/utils.d.ts.map +1 -0
  18. package/dist/dts/index.docs.d.ts +8 -0
  19. package/dist/dts/index.docs.d.ts.map +1 -0
  20. package/dist/dts/layouts/default/layout.d.ts.map +1 -1
  21. package/dist/dts/layouts/formatsExample/layout.d.ts.map +1 -1
  22. package/dist/dts/main/main.d.ts +3 -0
  23. package/dist/dts/main/main.d.ts.map +1 -1
  24. package/dist/dts/main/main.styles.d.ts +3 -0
  25. package/dist/dts/main/main.styles.d.ts.map +1 -1
  26. package/dist/dts/main/main.template.d.ts +9 -0
  27. package/dist/dts/main/main.template.d.ts.map +1 -1
  28. package/dist/dts/pbc/index.d.ts +2 -0
  29. package/dist/dts/pbc/index.d.ts.map +1 -0
  30. package/dist/dts/pbc/pbc.d.ts +68 -0
  31. package/dist/dts/pbc/pbc.d.ts.map +1 -0
  32. package/dist/dts/pbc/vite/exports.d.ts +26 -0
  33. package/dist/dts/pbc/vite/exports.d.ts.map +1 -0
  34. package/dist/dts/pbc/vite/index.d.ts +2 -0
  35. package/dist/dts/pbc/vite/index.d.ts.map +1 -0
  36. package/dist/dts/pbc/vite/utils.d.ts +8 -0
  37. package/dist/dts/pbc/vite/utils.d.ts.map +1 -0
  38. package/dist/dts/pbc/webpack/exports.d.ts +26 -0
  39. package/dist/dts/pbc/webpack/exports.d.ts.map +1 -0
  40. package/dist/dts/pbc/webpack/index.d.ts +2 -0
  41. package/dist/dts/pbc/webpack/index.d.ts.map +1 -0
  42. package/dist/dts/pbc/webpack/utils.d.ts +9 -0
  43. package/dist/dts/pbc/webpack/utils.d.ts.map +1 -0
  44. package/dist/dts/serviceWorker/serviceWorker.d.ts +5 -0
  45. package/dist/dts/serviceWorker/serviceWorker.d.ts.map +1 -1
  46. package/dist/dts/tsdoc-metadata.json +11 -0
  47. package/dist/esm/app/app.js +190 -0
  48. package/dist/esm/app/behaviors.js +126 -0
  49. package/dist/esm/app/config.js +28 -0
  50. package/dist/esm/app/index.js +4 -0
  51. package/dist/esm/app/types.js +1 -0
  52. package/dist/esm/app/utils.js +102 -0
  53. package/dist/esm/index.docs.js +7 -0
  54. package/dist/esm/layouts/default/layout.js +3 -0
  55. package/dist/esm/layouts/formatsExample/layout.js +3 -0
  56. package/dist/esm/main/main.js +3 -0
  57. package/dist/esm/main/main.styles.js +3 -0
  58. package/dist/esm/main/main.template.js +9 -0
  59. package/dist/esm/pbc/index.js +1 -0
  60. package/dist/esm/pbc/pbc.js +82 -0
  61. package/dist/esm/pbc/vite/exports.js +38 -0
  62. package/dist/esm/pbc/vite/index.js +1 -0
  63. package/dist/esm/pbc/vite/utils.js +16 -0
  64. package/dist/esm/pbc/webpack/exports.js +26 -0
  65. package/dist/esm/pbc/webpack/index.js +1 -0
  66. package/dist/esm/pbc/webpack/utils.js +16 -0
  67. package/dist/esm/serviceWorker/serviceWorker.js +2 -0
  68. package/dist/foundation-shell.api.json +4415 -0
  69. package/dist/foundation-shell.d.ts +1098 -0
  70. package/dist/{foundationShell.36a3b143a4ba39b4f032455d8eb5e502.js.map → foundationShell.fd507b03419afeadf6bdbe8d1f3fe68d.js.map} +1 -1
  71. package/dist/index.html +2 -2
  72. package/dist/{main.6f018458fb996d9110cc5fd4557cc7b2.js.map → main.29e17abf31c88f12479a7d0f038eaf1e.js.map} +1 -1
  73. package/dist/{main.21fe80be0d6102e2dccf.js → main.d14d2a767d0adcf0df23.js} +2 -2
  74. package/dist/remoteEntry.js +2 -2
  75. package/dist/sw.js +2 -2
  76. package/dist/{swRegistration.de691080ebb6f93ca0a423137ad2c19a.js.map → swRegistration.c548ed7b6209691de616d314b3cc7d74.js.map} +1 -1
  77. package/dist/{swRegistration.5825d13b9d973891da34.js → swRegistration.edc6c10e9b6d64fe5b02.js} +2 -2
  78. package/docs/.gitattributes +2 -0
  79. package/docs/api/foundation-shell.app.config.md +13 -0
  80. package/docs/api/foundation-shell.app.deregisterassets.md +17 -0
  81. package/docs/api/foundation-shell.app.hasassets.md +17 -0
  82. package/docs/api/foundation-shell.app.md +49 -0
  83. package/docs/api/foundation-shell.app.registerassets.md +52 -0
  84. package/docs/api/foundation-shell.appassets.elements.md +13 -0
  85. package/docs/api/foundation-shell.appassets.md +25 -0
  86. package/docs/api/foundation-shell.appassets.metadata.md +13 -0
  87. package/docs/api/foundation-shell.appassets.registrations.md +13 -0
  88. package/docs/api/foundation-shell.appassets.routes.md +13 -0
  89. package/docs/api/foundation-shell.appassets.stores.md +13 -0
  90. package/docs/api/foundation-shell.appassets.styles.md +13 -0
  91. package/docs/api/foundation-shell.appconfig.context.md +11 -0
  92. package/docs/api/foundation-shell.appconfig.defaultelementrepeatoptions.md +11 -0
  93. package/docs/api/foundation-shell.appconfig.md +21 -0
  94. package/docs/api/foundation-shell.appcontext.md +19 -0
  95. package/docs/api/foundation-shell.appdependencies.md +15 -0
  96. package/docs/api/foundation-shell.appdependencyprerequisites.md +15 -0
  97. package/docs/api/foundation-shell.appelement.md +55 -0
  98. package/docs/api/foundation-shell.appelementpredicate.md +17 -0
  99. package/docs/api/foundation-shell.appmetadata.md +45 -0
  100. package/docs/api/foundation-shell.appregister.deregisterelement.md +31 -0
  101. package/docs/api/foundation-shell.appregister.deregisterroute.md +31 -0
  102. package/docs/api/foundation-shell.appregister.deregisterstore.md +31 -0
  103. package/docs/api/foundation-shell.appregister.deregisterstyle.md +31 -0
  104. package/docs/api/foundation-shell.appregister.md +37 -0
  105. package/docs/api/foundation-shell.appregister.registercomponents.md +13 -0
  106. package/docs/api/foundation-shell.appregister.registerelement.md +31 -0
  107. package/docs/api/foundation-shell.appregister.registerelementstarget.md +13 -0
  108. package/docs/api/foundation-shell.appregister.registerroute.md +31 -0
  109. package/docs/api/foundation-shell.appregister.registerroutecollection.md +13 -0
  110. package/docs/api/foundation-shell.appregister.registerstore.md +31 -0
  111. package/docs/api/foundation-shell.appregister.registerstoreroot.md +13 -0
  112. package/docs/api/foundation-shell.appregister.registerstyle.md +31 -0
  113. package/docs/api/foundation-shell.appregister.registerstylestarget.md +13 -0
  114. package/docs/api/foundation-shell.appregistration.md +57 -0
  115. package/docs/api/foundation-shell.appregistrationcontext.md +15 -0
  116. package/docs/api/foundation-shell.approute.md +49 -0
  117. package/docs/api/foundation-shell.approutepredicate.md +17 -0
  118. package/docs/api/foundation-shell.appstore.md +45 -0
  119. package/docs/api/foundation-shell.appstorepredicate.md +17 -0
  120. package/docs/api/foundation-shell.appstyle.md +48 -0
  121. package/docs/api/foundation-shell.appstylepredicate.md +17 -0
  122. package/docs/api/foundation-shell.apptargetid.md +43 -0
  123. package/docs/api/foundation-shell.apptokentypepredicate.md +13 -0
  124. package/docs/api/foundation-shell.appvalidity.isvalid.md +26 -0
  125. package/docs/api/foundation-shell.appvalidity.md +20 -0
  126. package/docs/api/foundation-shell.appvaliditycontext.md +18 -0
  127. package/docs/api/foundation-shell.assetpredicate.md +12 -0
  128. package/docs/api/foundation-shell.defaultapp.deregisterassets.md +17 -0
  129. package/docs/api/foundation-shell.defaultapp.deregisterelement.md +24 -0
  130. package/docs/api/foundation-shell.defaultapp.deregisterroute.md +24 -0
  131. package/docs/api/foundation-shell.defaultapp.deregisterstore.md +24 -0
  132. package/docs/api/foundation-shell.defaultapp.deregisterstyle.md +24 -0
  133. package/docs/api/foundation-shell.defaultapp.elements.md +13 -0
  134. package/docs/api/foundation-shell.defaultapp.hasassets.md +17 -0
  135. package/docs/api/foundation-shell.defaultapp.isvalid.md +26 -0
  136. package/docs/api/foundation-shell.defaultapp.md +48 -0
  137. package/docs/api/foundation-shell.defaultapp.metadata.md +13 -0
  138. package/docs/api/foundation-shell.defaultapp.registerassets.md +24 -0
  139. package/docs/api/foundation-shell.defaultapp.registercomponents.md +24 -0
  140. package/docs/api/foundation-shell.defaultapp.registerelement.md +24 -0
  141. package/docs/api/foundation-shell.defaultapp.registerelementstarget.md +28 -0
  142. package/docs/api/foundation-shell.defaultapp.registerroute.md +24 -0
  143. package/docs/api/foundation-shell.defaultapp.registerroutecollection.md +25 -0
  144. package/docs/api/foundation-shell.defaultapp.registerstore.md +24 -0
  145. package/docs/api/foundation-shell.defaultapp.registerstoreroot.md +25 -0
  146. package/docs/api/foundation-shell.defaultapp.registerstyle.md +24 -0
  147. package/docs/api/foundation-shell.defaultapp.registerstylestarget.md +27 -0
  148. package/docs/api/foundation-shell.defaultapp.registrations.md +13 -0
  149. package/docs/api/foundation-shell.defaultapp.routes.md +13 -0
  150. package/docs/api/foundation-shell.defaultapp.stores.md +13 -0
  151. package/docs/api/foundation-shell.defaultapp.styles.md +13 -0
  152. package/docs/api/foundation-shell.defaultappconfig.md +13 -0
  153. package/docs/api/foundation-shell.dynamictemplate.md +12 -0
  154. package/docs/api/foundation-shell.getapp.md +30 -0
  155. package/docs/api/foundation-shell.getqualifiedmoduletokens.md +11 -0
  156. package/docs/api/foundation-shell.haspredicate.md +17 -0
  157. package/docs/api/foundation-shell.hastarget.md +15 -0
  158. package/docs/api/foundation-shell.importpbcassets.md +75 -0
  159. package/docs/api/foundation-shell.isappelement.md +22 -0
  160. package/docs/api/foundation-shell.isappmetadata.md +22 -0
  161. package/docs/api/foundation-shell.isappregistration.md +22 -0
  162. package/docs/api/foundation-shell.isapproute.md +22 -0
  163. package/docs/api/foundation-shell.isappstore.md +22 -0
  164. package/docs/api/foundation-shell.isappstyle.md +22 -0
  165. package/docs/api/foundation-shell.iscomposablestyles.md +22 -0
  166. package/docs/api/foundation-shell.isviewtemplate.md +22 -0
  167. package/docs/api/foundation-shell.loadingtemplate.md +12 -0
  168. package/docs/api/foundation-shell.mainapplication.connectedcallback.md +15 -0
  169. package/docs/api/foundation-shell.mainapplication.md +27 -0
  170. package/docs/api/foundation-shell.mainapplication.ready.md +11 -0
  171. package/docs/api/foundation-shell.mainapplication.selecttemplate.md +15 -0
  172. package/docs/api/foundation-shell.maintemplate.md +12 -0
  173. package/docs/api/foundation-shell.md +81 -0
  174. package/docs/api/foundation-shell.registercomponents.md +34 -0
  175. package/docs/api/foundation-shell.registerelementstarget.md +39 -0
  176. package/docs/api/foundation-shell.registerroutecollection.md +24 -0
  177. package/docs/api/foundation-shell.registerstoreroot.md +33 -0
  178. package/docs/api/foundation-shell.registerstylestarget.md +27 -0
  179. package/docs/api/foundation-shell.registrationpredicate.md +12 -0
  180. package/docs/api/foundation-shell.targetidpredicate.md +12 -0
  181. package/docs/api/index.md +12 -0
  182. package/docs/api-report.md +293 -0
  183. package/package.json +50 -9
  184. package/dist/InjectManifest.44b41759e967dfc682a50ab3e02bfaba.js.map +0 -1
@@ -0,0 +1,57 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppRegistration](./foundation-shell.appregistration.md)
4
+
5
+ ## AppRegistration type
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ export type AppRegistration = (context: AppRegistrationContext) => void;
11
+ ```
12
+ **References:** [AppRegistrationContext](./foundation-shell.appregistrationcontext.md)
13
+
14
+ ## Example 1
15
+
16
+ Simple registration function to include a component and avoid it being tree-shaken out of the build.
17
+
18
+ ```ts
19
+ // src/pbc/notify/registrations.ts
20
+
21
+ export function registerAlerts() {
22
+ FoundationAlerts;
23
+ }
24
+ ```
25
+
26
+ ## Example 2
27
+
28
+ Combined registration function.
29
+
30
+ ```ts
31
+ // src/pbc/notify/registrations.ts
32
+
33
+ export function register() {
34
+ FoundationAlerts;
35
+ FoundationInbox;
36
+ ...
37
+ }
38
+ ```
39
+
40
+ ## Example 3
41
+
42
+ Using the host application's registration context to register with the design system and import from it if needed.
43
+
44
+ ```ts
45
+ // src/pbc/notify/registrations.ts
46
+
47
+ export async function registerAlerts(context: AppRegistrationContext) {
48
+ try {
49
+ const { provideDesignSystem, tokenX } = context.designSystem;
50
+ provideDesignSystem().register(foundationAlerts, tokenX);
51
+ } catch (e) {
52
+ console.error('Error registering alerts', e);
53
+ }
54
+ }
55
+ ```
56
+ When defining `AppRegistration` functions in a PBC context, consider defining separate register functions if various subcomponents may be conditionally included based on user preferences or runtime predicates.
57
+
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppRegistrationContext](./foundation-shell.appregistrationcontext.md)
4
+
5
+ ## AppRegistrationContext type
6
+
7
+ Context used during component registration.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type AppRegistrationContext = {
13
+ designSystem: DesignSystemModule;
14
+ };
15
+ ```
@@ -0,0 +1,49 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppRoute](./foundation-shell.approute.md)
4
+
5
+ ## AppRoute type
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ export type AppRoute = FoundationRoute & HasElement & HasPredicate;
11
+ ```
12
+ **References:** [HasPredicate](./foundation-shell.haspredicate.md)
13
+
14
+ ## Example 1
15
+
16
+ AppRoute definition example.
17
+
18
+ ```ts
19
+ export const reporting: AppRoute = {
20
+ title: 'Reporting',
21
+ path: 'reporting',
22
+ name: 'reporting',
23
+ element: async () => (await import('@genesislcap/pbc-reporting')).Reporting,
24
+ navItems: [
25
+ {
26
+ navId: 'header',
27
+ title: 'Reporting',
28
+ icon: {
29
+ name: 'file-csv',
30
+ variant: 'solid',
31
+ },
32
+ placementIndex: 15,
33
+ },
34
+ ],
35
+ };
36
+ ```
37
+
38
+ ## Example 2
39
+
40
+ Optional runtime [AssetPredicate](./foundation-shell.assetpredicate.md) function to determine if the asset should be used.
41
+
42
+ ```ts
43
+ export const reportingAdmin: AppRoute = {
44
+ path: 'reporting-admin',
45
+ predicate: (context: AppContext) => context.user.isAdmin(),
46
+ ...
47
+ }
48
+ ```
49
+
@@ -0,0 +1,17 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppRoutePredicate](./foundation-shell.approutepredicate.md)
4
+
5
+ ## AppRoutePredicate type
6
+
7
+ Determine if the [AppRoute](./foundation-shell.approute.md) should be integrated.
8
+
9
+ Provides app, micro frontend, and seed author fine-grained control over what assets they will accept in their target integration points.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ export type AppRoutePredicate = (route: AppRoute, context?: AppContext) => boolean;
15
+ ```
16
+ **References:** [AppRoute](./foundation-shell.approute.md)<!-- -->, [AppContext](./foundation-shell.appcontext.md)
17
+
@@ -0,0 +1,45 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppStore](./foundation-shell.appstore.md)
4
+
5
+ ## AppStore type
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ export type AppStore<S = any> = HasPredicate & {
11
+ store: S;
12
+ };
13
+ ```
14
+ **References:** [HasPredicate](./foundation-shell.haspredicate.md)
15
+
16
+ ## Example 1
17
+
18
+ AppStore definition example.
19
+
20
+ ```ts
21
+ // src/pbc/notify/stores.ts
22
+
23
+ // Setup the foundation stores your PBC needs to function, then include the following for each:
24
+
25
+ export function getNotifyStore(): NotifyStore {
26
+ return DI.getOrCreateDOMContainer().get(NotifyStore);
27
+ }
28
+
29
+ // The actual `AppStore` definition
30
+ export const notifyAppStore: AppStore<NotifyStore> = {
31
+ store: getNotifyStore(),
32
+ };
33
+ ```
34
+
35
+ ## Example 2
36
+
37
+ Optional runtime [AssetPredicate](./foundation-shell.assetpredicate.md) function to determine if the asset should be used.
38
+
39
+ ```ts
40
+ export const notifyAppStore: AppStore<NotifyStore> = {
41
+ store: getNotifyStore(),
42
+ predicate: (context: AppContext) => true, // < assess the user, permissions, env, domain, etc.
43
+ };
44
+ ```
45
+
@@ -0,0 +1,17 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppStorePredicate](./foundation-shell.appstorepredicate.md)
4
+
5
+ ## AppStorePredicate type
6
+
7
+ Determine if [AppStore](./foundation-shell.appstore.md) should be included during runtime integration.
8
+
9
+ Provides app, micro frontend, and seed author fine-grained control over what assets they will accept in their target integration points.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ export type AppStorePredicate = (store: AppStore, context?: AppContext) => boolean;
15
+ ```
16
+ **References:** [AppStore](./foundation-shell.appstore.md)<!-- -->, [AppContext](./foundation-shell.appcontext.md)
17
+
@@ -0,0 +1,48 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppStyle](./foundation-shell.appstyle.md)
4
+
5
+ ## AppStyle type
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ export type AppStyle<T = string> = HasTarget<T> & HasPredicate & {
11
+ styles: ComposableStyles | ComposableStyles[];
12
+ };
13
+ ```
14
+ **References:** [HasTarget](./foundation-shell.hastarget.md)<!-- -->, [HasPredicate](./foundation-shell.haspredicate.md)
15
+
16
+ ## Example 1
17
+
18
+ AppStyle definition example.
19
+
20
+ ```ts
21
+ export const alerts: AppStyle = {
22
+ targetId: 'layout',
23
+ styles: css`
24
+ foundation-alerts {
25
+ --design-unit: 2.5;
26
+ --stroke-width: 1;
27
+ }
28
+
29
+ foundation-alerts::part(filter-button) {
30
+ --design-unit: 4;
31
+ }
32
+ `,
33
+ };
34
+ ```
35
+
36
+ ## Example 2
37
+
38
+ Optional runtime [AssetPredicate](./foundation-shell.assetpredicate.md) function to determine if the asset should be used.
39
+
40
+ ```ts
41
+ export const alerts: AppStyle = {
42
+ targetId: 'layout',
43
+ predicate: (context: AppContext) => context.user.isAdmin(),
44
+ styles: css``,
45
+ ...
46
+ }
47
+ ```
48
+
@@ -0,0 +1,17 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppStylePredicate](./foundation-shell.appstylepredicate.md)
4
+
5
+ ## AppStylePredicate type
6
+
7
+ Determine if [AppStyle](./foundation-shell.appstyle.md) should be included during runtime integration.
8
+
9
+ Provides app, micro frontend, and seed author fine-grained control over what assets they will accept in their target integration points.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ export type AppStylePredicate = (style: AppStyle, context?: AppContext) => boolean;
15
+ ```
16
+ **References:** [AppStyle](./foundation-shell.appstyle.md)<!-- -->, [AppContext](./foundation-shell.appcontext.md)
17
+
@@ -0,0 +1,43 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppTargetId](./foundation-shell.apptargetid.md)
4
+
5
+ ## AppTargetId type
6
+
7
+ A targetId string or an array of targetId strings.
8
+
9
+ Apps and micro frontends will predefine integration targets that dynamic app assets can target using a `targetId` property. This creates a pull-like effect where the host can live reload itself should any matching asset be lazily added, removed, or customised.
10
+
11
+ **Signature:**
12
+
13
+ ```typescript
14
+ export type AppTargetId<TTarget = string> = TTarget | TTarget[];
15
+ ```
16
+
17
+ ## Example
18
+
19
+ Foundation-header example.
20
+
21
+ ```ts
22
+ // src/main/targetId.ts
23
+
24
+ export type NavTargetId = 'nav-start' | 'nav' | 'nav-end';
25
+ export type SideNavTargetId = 'side-nav-start' | 'side-nav' | 'side-nav-end';
26
+ export type ElementTargetId = HeaderTargetId | NavTargetId | SideNavTargetId;
27
+ export type StyleTargetId = 'header';
28
+
29
+ // src/main/main.template.ts
30
+
31
+ export const NavTemplate = html<Navigation>`
32
+ ...
33
+ ${app.registerElementsTarget<NavTargetId>('nav-start')}
34
+ ...
35
+ `
36
+
37
+ // src/main/main.styles.ts
38
+
39
+ export const MainStyles = css`
40
+ ...
41
+ `.withBehaviors(getApp().registerStylesTarget<StyleTargetId>('header'));
42
+ ```
43
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppTokenTypePredicate](./foundation-shell.apptokentypepredicate.md)
4
+
5
+ ## AppTokenTypePredicate type
6
+
7
+ Determine if export token should be included in the import all glob.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type AppTokenTypePredicate = (token: unknown) => boolean;
13
+ ```
@@ -0,0 +1,26 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppValidity](./foundation-shell.appvalidity.md) &gt; [isValid](./foundation-shell.appvalidity.isvalid.md)
4
+
5
+ ## AppValidity.isValid() method
6
+
7
+ Monitors metadata and other data points as assets are registered and deregistered for app validity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ isValid(context: AppValidityContext): boolean;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | context | [AppValidityContext](./foundation-shell.appvaliditycontext.md) | [AppValidityContext](./foundation-shell.appvaliditycontext.md)<!-- -->. |
20
+
21
+ **Returns:**
22
+
23
+ boolean
24
+
25
+ A boolean to indicate app validity.
26
+
@@ -0,0 +1,20 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppValidity](./foundation-shell.appvalidity.md)
4
+
5
+ ## AppValidity interface
6
+
7
+ APIs to check app validity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export interface AppValidity
13
+ ```
14
+
15
+ ## Methods
16
+
17
+ | Method | Description |
18
+ | --- | --- |
19
+ | [isValid(context)](./foundation-shell.appvalidity.isvalid.md) | Monitors metadata and other data points as assets are registered and deregistered for app validity. |
20
+
@@ -0,0 +1,18 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [AppValidityContext](./foundation-shell.appvaliditycontext.md)
4
+
5
+ ## AppValidityContext type
6
+
7
+ Context used to assess app validity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export type AppValidityContext = {
13
+ dependencies?: AppDependencies;
14
+ prerequisites?: AppDependencyPrerequisites;
15
+ };
16
+ ```
17
+ **References:** [AppDependencies](./foundation-shell.appdependencies.md)<!-- -->, [AppDependencyPrerequisites](./foundation-shell.appdependencyprerequisites.md)
18
+
@@ -0,0 +1,12 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [assetPredicate](./foundation-shell.assetpredicate.md)
4
+
5
+ ## assetPredicate variable
6
+
7
+
8
+ **Signature:**
9
+
10
+ ```typescript
11
+ assetPredicate: (asset: HasPredicate, context: AppContext) => boolean
12
+ ```
@@ -0,0 +1,17 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [deregisterAssets](./foundation-shell.defaultapp.deregisterassets.md)
4
+
5
+ ## DefaultApp.deregisterAssets() method
6
+
7
+ Deregister assets.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ deregisterAssets(): void;
13
+ ```
14
+ **Returns:**
15
+
16
+ void
17
+
@@ -0,0 +1,24 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [deregisterElement](./foundation-shell.defaultapp.deregisterelement.md)
4
+
5
+ ## DefaultApp.deregisterElement() method
6
+
7
+ API for developers to deregister [AppElements](./foundation-shell.appelement.md)<!-- -->.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ deregisterElement(element: any): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | element | any | The [AppElement](./foundation-shell.appelement.md) to deregister. |
20
+
21
+ **Returns:**
22
+
23
+ void
24
+
@@ -0,0 +1,24 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [deregisterRoute](./foundation-shell.defaultapp.deregisterroute.md)
4
+
5
+ ## DefaultApp.deregisterRoute() method
6
+
7
+ API for developers to deregister [AppRoutes](./foundation-shell.approute.md)<!-- -->.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ deregisterRoute(route: any): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | route | any | The [AppRoute](./foundation-shell.approute.md) to deregister. |
20
+
21
+ **Returns:**
22
+
23
+ void
24
+
@@ -0,0 +1,24 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [deregisterStore](./foundation-shell.defaultapp.deregisterstore.md)
4
+
5
+ ## DefaultApp.deregisterStore() method
6
+
7
+ API for developers to deregister [AppStores](./foundation-shell.appstore.md)<!-- -->.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ deregisterStore(store: any): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | store | any | The [AppStore](./foundation-shell.appstore.md) to deregister. |
20
+
21
+ **Returns:**
22
+
23
+ void
24
+
@@ -0,0 +1,24 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [deregisterStyle](./foundation-shell.defaultapp.deregisterstyle.md)
4
+
5
+ ## DefaultApp.deregisterStyle() method
6
+
7
+ API for developers to deregister [AppStyles](./foundation-shell.appstyle.md)<!-- -->.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ deregisterStyle(style: any): void;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | style | any | The [AppStyle](./foundation-shell.appstyle.md) to deregister. |
20
+
21
+ **Returns:**
22
+
23
+ void
24
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [elements](./foundation-shell.defaultapp.elements.md)
4
+
5
+ ## DefaultApp.elements property
6
+
7
+ All [AppElement](./foundation-shell.appelement.md) tokens.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ elements: AppElement[];
13
+ ```
@@ -0,0 +1,17 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [hasAssets](./foundation-shell.defaultapp.hasassets.md)
4
+
5
+ ## DefaultApp.hasAssets() method
6
+
7
+ Check if the App has registered assets.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ hasAssets(): boolean;
13
+ ```
14
+ **Returns:**
15
+
16
+ boolean
17
+
@@ -0,0 +1,26 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [isValid](./foundation-shell.defaultapp.isvalid.md)
4
+
5
+ ## DefaultApp.isValid() method
6
+
7
+ Monitors metadata and other data points as assets are registered and deregistered for app validity.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ isValid(context: any): boolean;
13
+ ```
14
+
15
+ ## Parameters
16
+
17
+ | Parameter | Type | Description |
18
+ | --- | --- | --- |
19
+ | context | any | [AppValidityContext](./foundation-shell.appvaliditycontext.md)<!-- -->. |
20
+
21
+ **Returns:**
22
+
23
+ boolean
24
+
25
+ A boolean to indicate app validity.
26
+
@@ -0,0 +1,48 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md)
4
+
5
+ ## DefaultApp class
6
+
7
+ Default App implementation.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ export declare class DefaultApp implements App
13
+ ```
14
+ **Implements:** [App](./foundation-shell.app.md)
15
+
16
+ ## Properties
17
+
18
+ | Property | Modifiers | Type | Description |
19
+ | --- | --- | --- | --- |
20
+ | [elements](./foundation-shell.defaultapp.elements.md) | | [AppElement](./foundation-shell.appelement.md)<!-- -->\[\] | All [AppElement](./foundation-shell.appelement.md) tokens. |
21
+ | [metadata](./foundation-shell.defaultapp.metadata.md) | | [AppMetadata](./foundation-shell.appmetadata.md)<!-- -->\[\] | All [AppMetadata](./foundation-shell.appmetadata.md) tokens. |
22
+ | [registrations](./foundation-shell.defaultapp.registrations.md) | | [AppRegistration](./foundation-shell.appregistration.md)<!-- -->\[\] | All [AppRegistration](./foundation-shell.appregistration.md) tokens. |
23
+ | [routes](./foundation-shell.defaultapp.routes.md) | | [AppRoute](./foundation-shell.approute.md)<!-- -->\[\] | All [AppRoute](./foundation-shell.approute.md) tokens. |
24
+ | [stores](./foundation-shell.defaultapp.stores.md) | | [AppStore](./foundation-shell.appstore.md)<!-- -->\[\] | All [AppStore](./foundation-shell.appstore.md) tokens. |
25
+ | [styles](./foundation-shell.defaultapp.styles.md) | | [AppStyle](./foundation-shell.appstyle.md)<!-- -->\[\] | All [AppStyle](./foundation-shell.appstyle.md) tokens. |
26
+
27
+ ## Methods
28
+
29
+ | Method | Modifiers | Description |
30
+ | --- | --- | --- |
31
+ | [deregisterAssets()](./foundation-shell.defaultapp.deregisterassets.md) | | Deregister assets. |
32
+ | [deregisterElement(element)](./foundation-shell.defaultapp.deregisterelement.md) | | API for developers to deregister [AppElements](./foundation-shell.appelement.md)<!-- -->. |
33
+ | [deregisterRoute(route)](./foundation-shell.defaultapp.deregisterroute.md) | | API for developers to deregister [AppRoutes](./foundation-shell.approute.md)<!-- -->. |
34
+ | [deregisterStore(store)](./foundation-shell.defaultapp.deregisterstore.md) | | API for developers to deregister [AppStores](./foundation-shell.appstore.md)<!-- -->. |
35
+ | [deregisterStyle(style)](./foundation-shell.defaultapp.deregisterstyle.md) | | API for developers to deregister [AppStyles](./foundation-shell.appstyle.md)<!-- -->. |
36
+ | [hasAssets()](./foundation-shell.defaultapp.hasassets.md) | | Check if the App has registered assets. |
37
+ | [isValid(context)](./foundation-shell.defaultapp.isvalid.md) | | Monitors metadata and other data points as assets are registered and deregistered for app validity. |
38
+ | [registerAssets(assets)](./foundation-shell.defaultapp.registerassets.md) | | Register assets from either a globed dynamic import or some predefined AppAssets instance. This is a one time operation. Assets had be subsequently registered and deregistered using their individual APIs. |
39
+ | [registerComponents(context)](./foundation-shell.defaultapp.registercomponents.md) | | API for Application and Seed authors to register dynamic components. |
40
+ | [registerElement(element)](./foundation-shell.defaultapp.registerelement.md) | | API for developers to register [AppElements](./foundation-shell.appelement.md) lazily. |
41
+ | [registerElementsTarget(targetId, predicate, repeatOptions)](./foundation-shell.defaultapp.registerelementstarget.md) | | API for Application and Seed authors to define dynamic [AppElement](./foundation-shell.appelement.md) integration points. |
42
+ | [registerRoute(route)](./foundation-shell.defaultapp.registerroute.md) | | API for developers to register [AppRoutes](./foundation-shell.approute.md) lazily. |
43
+ | [registerRouteCollection(routeCollection, predicate)](./foundation-shell.defaultapp.registerroutecollection.md) | | API for Application and Seed authors to register the main . |
44
+ | [registerStore(store)](./foundation-shell.defaultapp.registerstore.md) | | API for developers to register [AppStores](./foundation-shell.appstore.md) lazily. |
45
+ | [registerStoreRoot(storeRoot, predicate)](./foundation-shell.defaultapp.registerstoreroot.md) | | API for Application and Seed authors to register the . |
46
+ | [registerStyle(style)](./foundation-shell.defaultapp.registerstyle.md) | | API for developers to register [AppStyles](./foundation-shell.appstyle.md) lazily. |
47
+ | [registerStylesTarget(targetId, predicate)](./foundation-shell.defaultapp.registerstylestarget.md) | | API for Application and Seed authors to define dynamic [AppStyle](./foundation-shell.appstyle.md) integration points. |
48
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-shell](./foundation-shell.md) &gt; [DefaultApp](./foundation-shell.defaultapp.md) &gt; [metadata](./foundation-shell.defaultapp.metadata.md)
4
+
5
+ ## DefaultApp.metadata property
6
+
7
+ All [AppMetadata](./foundation-shell.appmetadata.md) tokens.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ metadata: AppMetadata[];
13
+ ```