@genesislcap/foundation-shell 14.131.0 → 14.133.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 (185) hide show
  1. package/MODULE_FEDERATION.md +11 -0
  2. package/README.md +19 -31
  3. package/dist/{13.13.60f90061d33208d1354b.js → 13.13.cc8f282b2fd08bdaa429.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.fadec38bfa479afb70fbd232cd79236c.js.map} +1 -1
  71. package/dist/index.html +2 -2
  72. package/dist/main.3083ee4d28f46e8a3506.js +2 -0
  73. package/dist/{main.6f018458fb996d9110cc5fd4557cc7b2.js.map → main.4eedb5ca7f0017cbc616ee79b8e61731.js.map} +1 -1
  74. package/dist/remoteEntry.js +2 -2
  75. package/dist/sw.js +2 -2
  76. package/dist/{swRegistration.5825d13b9d973891da34.js → swRegistration.48635f3caa94cdf4bcb2.js} +2 -2
  77. package/dist/{swRegistration.de691080ebb6f93ca0a423137ad2c19a.js.map → swRegistration.a93f46a92fddad87f178ead7e088ee54.js.map} +1 -1
  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
  185. package/dist/main.21fe80be0d6102e2dccf.js +0 -2
@@ -0,0 +1,61 @@
1
+ import { ComposableStyles, ViewTemplate } from '@microsoft/fast-element';
2
+ import type { AppContext, AppElement, AppMetadata, AppRegistration, AppRoute, AppStore, AppStyle, AppTargetId, AppTokenTypePredicate, HasPredicate, HasTarget } from './types';
3
+ /**
4
+ * @param token - A module export token.
5
+ * @public
6
+ */
7
+ export declare function isAppMetadata(token: unknown): token is AppMetadata;
8
+ /**
9
+ * @param token - A module export token.
10
+ * @public
11
+ */
12
+ export declare function isAppRegistration(token: unknown): token is AppRegistration;
13
+ /**
14
+ * @param token - A module export token.
15
+ * @public
16
+ */
17
+ export declare function isAppRoute(token: unknown): token is AppRoute;
18
+ /**
19
+ * @param token - A module export token.
20
+ * @public
21
+ */
22
+ export declare function isAppStore(token: unknown): token is AppStore;
23
+ /**
24
+ * @param token - A module export token.
25
+ * @public
26
+ */
27
+ export declare function isAppElement(token: unknown): token is AppElement;
28
+ /**
29
+ * @param token - A module export token / element candidate.
30
+ * @public
31
+ */
32
+ export declare function isViewTemplate(token: unknown): token is ViewTemplate;
33
+ /**
34
+ * @param token - A module export token.
35
+ * @public
36
+ */
37
+ export declare function isAppStyle(token: unknown): token is AppStyle;
38
+ /**
39
+ * @param token - A module export token / styles candidate.
40
+ * @public
41
+ */
42
+ export declare function isComposableStyles(token: unknown): token is ComposableStyles;
43
+ /**
44
+ * @public
45
+ */
46
+ export declare const registrationPredicate: <A, P>(asset: A, predicate: P, context: AppContext) => boolean;
47
+ /**
48
+ * @public
49
+ */
50
+ export declare const targetIdPredicate: (asset: HasTarget, targetId: AppTargetId) => boolean;
51
+ /**
52
+ * @public
53
+ */
54
+ export declare const assetPredicate: (asset: HasPredicate, context: AppContext) => boolean;
55
+ /**
56
+ * @param module - An imported module.
57
+ * @param predicate - Token type predicate.
58
+ * @public
59
+ */
60
+ export declare const getQualifiedModuleTokens: <T extends unknown>(module: any, predicate: AppTokenTypePredicate) => T[];
61
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/app/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAGlE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAE1E;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAG5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAG5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAQhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAK5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAI5E;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,0CAGvB,UAAU,KAClB,OAA+E,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAW,SAAS,YAAY,WAAW,YACkB,CAAC;AAE5F;;GAEG;AACH,eAAO,MAAM,cAAc,UAAW,YAAY,WAAW,UAAU,YACE,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,8BAC3B,GAAG,aACA,qBAAqB,QAoBjC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * API Docs index. This is used by api-extractor given our package.json exports.
3
+ * Monitoring: https://github.com/microsoft/rushstack/issues/3557
4
+ */
5
+ export * from './index';
6
+ export * from './app';
7
+ export * from './pbc';
8
+ //# sourceMappingURL=index.docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.docs.d.ts","sourceRoot":"","sources":["../../src/index.docs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/layouts/default/layout.js"],"names":[],"mappings":"AAGiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Df"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/layouts/default/layout.js"],"names":[],"mappings":"AAMiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Df"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/layouts/formatsExample/layout.js"],"names":[],"mappings":"AAGiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Df"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/layouts/formatsExample/layout.js"],"names":[],"mappings":"AAMiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+Df"}
@@ -1,4 +1,7 @@
1
1
  import { FASTElement } from '@microsoft/fast-element';
2
+ /**
3
+ * @public
4
+ */
2
5
  export declare class MainApplication extends FASTElement {
3
6
  ready: boolean;
4
7
  connectedCallback(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAOjF,qBAKa,eAAgB,SAAQ,WAAW;IAClC,KAAK,EAAE,OAAO,CAAS;IAE5B,iBAAiB;IAMjB,cAAc;CAGtB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/main/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAc,MAAM,yBAAyB,CAAC;AAOjF;;GAEG;AACH,qBAKa,eAAgB,SAAQ,WAAW;IAClC,KAAK,EAAE,OAAO,CAAS;IAE5B,iBAAiB;IAMjB,cAAc;CAGtB"}
@@ -1,3 +1,6 @@
1
1
  import './main.css';
2
+ /**
3
+ * @public
4
+ */
2
5
  export declare const MainStyles: import("@microsoft/fast-element").ElementStyles;
3
6
  //# sourceMappingURL=main.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,iDAWtB,CAAC"}
1
+ {"version":3,"file":"main.styles.d.ts","sourceRoot":"","sources":["../../../src/main/main.styles.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,CAAC;AAEpB;;GAEG;AACH,eAAO,MAAM,UAAU,iDAWtB,CAAC"}
@@ -1,6 +1,15 @@
1
1
  import type { ViewTemplate } from '@microsoft/fast-element';
2
2
  import type { MainApplication } from './main';
3
+ /**
4
+ * @public
5
+ */
3
6
  export declare const DynamicTemplate: ViewTemplate<MainApplication>;
7
+ /**
8
+ * @public
9
+ */
4
10
  export declare const LoadingTemplate: ViewTemplate<MainApplication>;
11
+ /**
12
+ * @public
13
+ */
5
14
  export declare const MainTemplate: ViewTemplate<MainApplication>;
6
15
  //# sourceMappingURL=main.template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAEzD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAEzD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,eAAe,CAGtD,CAAC"}
1
+ {"version":3,"file":"main.template.d.ts","sourceRoot":"","sources":["../../../src/main/main.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAEzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,YAAY,CAAC,eAAe,CAEzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,YAAY,CAAC,eAAe,CAGtD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './pbc';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/pbc/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,68 @@
1
+ import { AppAssets } from '../app';
2
+ /**
3
+ * A utility for importing PBC assets that have been added to the application's src/pbc directory via genx add.
4
+ *
5
+ * The `genx` builder (webpack or vite) will attempt to dynamically load all PBC assets from the application's `src/pbc`
6
+ * directory by default. The returned AppAssets can then be applied to the App. Please note that `app.registerAssets`
7
+ * is a one-time operation, intended for upfront bulk registration. After this point, you must use the single asset
8
+ * APIs of the `App` for lazy asset registration or deregistration.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { importPBCAssets } from '@genesislcap/foundation-shell/pbc';
13
+ * ...
14
+ * const assets = await importPBCAssets();
15
+ * ...
16
+ * app.registerAssets(assets);
17
+ * ```
18
+ *
19
+ * @example
20
+ * A typical app setup that makes use of PBC imports might look like this.
21
+ * ```ts
22
+ * // src/main/main.ts
23
+ *
24
+ * @App app: App;
25
+ *
26
+ * async connectedCallback() {
27
+ * ...
28
+ * await this.loadPBCs();
29
+ * ...
30
+ * }
31
+ *
32
+ * async loadPBCs() {
33
+ * // Import PBC assets that may have been added to the ./pbc directory by genx or by hand
34
+ * const pbcAssets = await importPBCAssets();
35
+ *
36
+ * // Register bulk assets
37
+ * this.app.registerAssets(pbcAssets);
38
+ *
39
+ * // Register the top-level route collection
40
+ * this.app.registerRouteCollection(this.config.routes);
41
+ * }
42
+ * ```
43
+ *
44
+ * The rest of the PBC setup is handled by the system automatically, however, you will still need to register
45
+ * application asset integration points.
46
+ *
47
+ * @example
48
+ * A typical PBC directory structure may look like this.
49
+ * ```markdown
50
+ * ├── reporting
51
+ * │ ├── elements.ts
52
+ * │ ├── metadata.ts
53
+ * │ ├── registrations.ts
54
+ * │ ├── routes.ts
55
+ * │ ├── stores.ts
56
+ * │ └── styles.ts
57
+ * ```
58
+ *
59
+ * Each file is dynamically loaded and processed as part of the overall PBC set the application contains. PBCs do not
60
+ * need to include `index.ts` files, and export token naming does not matter within any of these files. For example,
61
+ * `foo` here `export const foo: AppElement = {...}` has no impact on PBC integration.
62
+ *
63
+ * The answers generated from the `genx add` cli flows can be used to tailor what PBC assets are included at build-time.
64
+ *
65
+ * @public
66
+ */
67
+ export declare function importPBCAssets(): Promise<AppAssets>;
68
+ //# sourceMappingURL=pbc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbc.d.ts","sourceRoot":"","sources":["../../../src/pbc/pbc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,SAAS,CAAC,CAU1D"}
@@ -0,0 +1,26 @@
1
+ import type { AppElement, AppMetadata, AppRegistration, AppRoute, AppStore, AppStyle } from '../../app/types';
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const metadata: AppMetadata[];
6
+ /**
7
+ * @public
8
+ */
9
+ export declare const registrations: AppRegistration[];
10
+ /**
11
+ * @public
12
+ */
13
+ export declare const routes: AppRoute[];
14
+ /**
15
+ * @public
16
+ */
17
+ export declare const elements: AppElement<any, any, string>[];
18
+ /**
19
+ * @public
20
+ */
21
+ export declare const styles: AppStyle<string>[];
22
+ /**
23
+ * @public
24
+ */
25
+ export declare const stores: AppStore<any>[];
26
+ //# sourceMappingURL=exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/pbc/vite/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAWzB;;GAEG;AACH,eAAO,MAAM,QAAQ,eAKpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,mBAKzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,YAKlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,gCAKpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,oBAKlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,iBAKlB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './exports';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pbc/vite/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AppTokenTypePredicate } from '../../app/types';
2
+ /**
3
+ * @param modules - Vite import glob modules.
4
+ * @param predicate - Optional token type predicate.
5
+ * @public
6
+ */
7
+ export declare function importAll<T>(modules: Record<string, any>, predicate?: AppTokenTypePredicate): T[];
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/pbc/vite/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,EAAE,qBAAqB,GAAG,CAAC,EAAE,CAQjG"}
@@ -0,0 +1,26 @@
1
+ import type { AppElement, AppMetadata, AppRegistration, AppRoute, AppStore, AppStyle } from '../../app/types';
2
+ /**
3
+ * @public
4
+ */
5
+ export declare const metadata: AppMetadata[];
6
+ /**
7
+ * @public
8
+ */
9
+ export declare const registrations: AppRegistration[];
10
+ /**
11
+ * @public
12
+ */
13
+ export declare const routes: AppRoute[];
14
+ /**
15
+ * @public
16
+ */
17
+ export declare const elements: AppElement<any, any, string>[];
18
+ /**
19
+ * @public
20
+ */
21
+ export declare const styles: AppStyle<string>[];
22
+ /**
23
+ * @public
24
+ */
25
+ export declare const stores: AppStore<any>[];
26
+ //# sourceMappingURL=exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exports.d.ts","sourceRoot":"","sources":["../../../../src/pbc/webpack/exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACT,MAAM,iBAAiB,CAAC;AAWzB;;GAEG;AACH,eAAO,MAAM,QAAQ,eAGpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,mBAGzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,YAA+E,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,QAAQ,gCAGpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,oBAA+E,CAAC;AAEnG;;GAEG;AACH,eAAO,MAAM,MAAM,iBAA+E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './exports';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pbc/webpack/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="webpack-env" />
2
+ import type { AppTokenTypePredicate } from '../../app/types';
3
+ /**
4
+ * @param context - Webpack require context.
5
+ * @param predicate - Optional token type predicate.
6
+ * @public
7
+ */
8
+ export declare function importAll<T>(context: __WebpackModuleApi.RequireContext, predicate?: AppTokenTypePredicate): T[];
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/pbc/webpack/utils.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,OAAO,EAAE,kBAAkB,CAAC,cAAc,EAC1C,SAAS,CAAC,EAAE,qBAAqB,GAChC,CAAC,EAAE,CAQL"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Message handling
3
+ *
4
+ * @internal
3
5
  */
4
6
  export declare enum ServiceWorkerMessageType {
5
7
  skipWaiting = "skipWaiting"
6
8
  }
9
+ /**
10
+ * @internal
11
+ */
7
12
  export interface ServiceWorkerMessage {
8
13
  type: ServiceWorkerMessageType;
9
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serviceWorker.d.ts","sourceRoot":"","sources":["../../../src/serviceWorker/serviceWorker.ts"],"names":[],"mappings":"AA+EA;;GAEG;AACH,oBAAY,wBAAwB;IAClC,WAAW,gBAAgB;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;CAChC"}
1
+ {"version":3,"file":"serviceWorker.d.ts","sourceRoot":"","sources":["../../../src/serviceWorker/serviceWorker.ts"],"names":[],"mappings":"AA+EA;;;;GAIG;AACH,oBAAY,wBAAwB;IAClC,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;CAChC"}
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.34.9"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,190 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, observable, repeat } from '@microsoft/fast-element';
3
+ import { DI } from '@microsoft/fast-foundation';
4
+ import { AppRoutesBehavior, AppStoresBehavior, AppStylesTargetBehavior } from './behaviors';
5
+ import { AppConfig } from './config';
6
+ import { assetPredicate, registrationPredicate, targetIdPredicate } from './utils';
7
+ /**
8
+ * Default App implementation.
9
+ * @public
10
+ */
11
+ export class DefaultApp {
12
+ constructor() {
13
+ /** {@inheritDoc AppAssets.elements} */
14
+ this.elements = [];
15
+ /** {@inheritDoc AppAssets.metadata} */
16
+ this.metadata = [];
17
+ /** {@inheritDoc AppAssets.registrations} */
18
+ this.registrations = [];
19
+ /** {@inheritDoc AppAssets.routes} */
20
+ this.routes = [];
21
+ /** {@inheritDoc AppAssets.styles} */
22
+ this.styles = [];
23
+ /** {@inheritDoc AppAssets.stores} */
24
+ this.stores = [];
25
+ }
26
+ /** {@inheritDoc AppRegister.registerElementsTarget} */
27
+ registerElementsTarget(targetId, predicate, repeatOptions = this.config.defaultElementRepeatOptions) {
28
+ return html `
29
+ ${repeat(() => this.elements
30
+ .filter((asset) => targetIdPredicate(asset, targetId) &&
31
+ assetPredicate(asset, this.config.context) &&
32
+ registrationPredicate(asset, predicate, this.config.context))
33
+ .map((token) => token.elements), html `
34
+ ${(element) => element}
35
+ `, repeatOptions)}
36
+ `;
37
+ }
38
+ /** {@inheritDoc AppRegister.registerElement} */
39
+ registerElement(element) {
40
+ this.elements.push(element);
41
+ }
42
+ /** {@inheritDoc AppRegister.deregisterElement} */
43
+ deregisterElement(element) {
44
+ const index = this.elements.indexOf(element);
45
+ if (index !== -1) {
46
+ this.elements.splice(index, 1);
47
+ }
48
+ }
49
+ /** {@inheritDoc AppRegister.registerRouteCollection} */
50
+ registerRouteCollection(routeCollection, predicate) {
51
+ const behaviour = new AppRoutesBehavior(this, routeCollection, predicate);
52
+ behaviour.bind();
53
+ return behaviour.unbind;
54
+ }
55
+ /** {@inheritDoc AppRegister.registerRoute} */
56
+ registerRoute(route) {
57
+ this.routes.push(route);
58
+ }
59
+ /** {@inheritDoc AppRegister.deregisterRoute} */
60
+ deregisterRoute(route) {
61
+ const index = this.routes.indexOf(route);
62
+ if (index !== -1) {
63
+ this.routes.splice(index, 1);
64
+ }
65
+ }
66
+ /** {@inheritDoc AppRegister.registerStoreRoot} */
67
+ registerStoreRoot(storeRoot, predicate) {
68
+ const behaviour = new AppStoresBehavior(this, storeRoot, predicate);
69
+ behaviour.bind();
70
+ return behaviour.unbind;
71
+ }
72
+ /** {@inheritDoc AppRegister.registerStore} */
73
+ registerStore(store) {
74
+ this.stores.push(store);
75
+ }
76
+ /** {@inheritDoc AppRegister.deregisterStore} */
77
+ deregisterStore(store) {
78
+ const index = this.stores.indexOf(store);
79
+ if (index !== -1) {
80
+ this.stores.splice(index, 1);
81
+ }
82
+ }
83
+ /** {@inheritDoc AppRegister.registerStylesTarget} */
84
+ registerStylesTarget(targetId, predicate) {
85
+ return new AppStylesTargetBehavior(this, targetId, predicate);
86
+ }
87
+ /** {@inheritDoc AppRegister.registerStyle} */
88
+ registerStyle(style) {
89
+ this.styles.push(style);
90
+ }
91
+ /** {@inheritDoc AppRegister.deregisterStyle} */
92
+ deregisterStyle(style) {
93
+ const index = this.styles.indexOf(style);
94
+ if (index !== -1) {
95
+ this.styles.splice(index, 1);
96
+ }
97
+ }
98
+ /** {@inheritDoc AppRegister.registerComponents} */
99
+ registerComponents(context) {
100
+ const registrationContext = Object.assign(Object.assign({}, this.config.context), context);
101
+ this.registrations.forEach((registerFn) => registerFn(registrationContext));
102
+ }
103
+ /**
104
+ * {@inheritDoc AppValidity.isValid}
105
+ *
106
+ * @privateRemarks
107
+ * This is a placeholder to potentially monitor metadata etc. as assets are registered and deregistered.
108
+ */
109
+ isValid(context) {
110
+ return true;
111
+ }
112
+ /** {@inheritDoc App.registerAssets} */
113
+ registerAssets(assets) {
114
+ if (this.hasAssets()) {
115
+ throw new Error(`App.registerAssets should only be called once. If this call is intentional, please call App.deregisterAssets first.`);
116
+ }
117
+ this.elements = assets.elements;
118
+ this.metadata = assets.metadata;
119
+ this.registrations = assets.registrations;
120
+ this.routes = assets.routes;
121
+ this.styles = assets.styles;
122
+ this.stores = assets.stores;
123
+ }
124
+ /** {@inheritDoc App.deregisterAssets} */
125
+ deregisterAssets() {
126
+ this.elements = [];
127
+ this.metadata = [];
128
+ this.registrations = [];
129
+ this.routes = [];
130
+ this.styles = [];
131
+ this.stores = [];
132
+ }
133
+ /** {@inheritDoc App.hasAssets} */
134
+ hasAssets() {
135
+ return (!!this.elements.length ||
136
+ !!this.metadata.length ||
137
+ !!this.registrations.length ||
138
+ !!this.routes.length ||
139
+ !!this.styles.length ||
140
+ !!this.stores.length);
141
+ }
142
+ }
143
+ __decorate([
144
+ AppConfig
145
+ ], DefaultApp.prototype, "config", void 0);
146
+ __decorate([
147
+ observable
148
+ ], DefaultApp.prototype, "elements", void 0);
149
+ __decorate([
150
+ observable
151
+ ], DefaultApp.prototype, "metadata", void 0);
152
+ __decorate([
153
+ observable
154
+ ], DefaultApp.prototype, "registrations", void 0);
155
+ __decorate([
156
+ observable
157
+ ], DefaultApp.prototype, "routes", void 0);
158
+ __decorate([
159
+ observable
160
+ ], DefaultApp.prototype, "styles", void 0);
161
+ __decorate([
162
+ observable
163
+ ], DefaultApp.prototype, "stores", void 0);
164
+ /**
165
+ * App DI key.
166
+ *
167
+ * @privateRemarks
168
+ * Marked as internal to stop api-extractor becoming confused cross-linking tokens with the same name.
169
+ *
170
+ * @internal
171
+ */
172
+ export const App = DI.createInterface((x) => x.singleton(DefaultApp));
173
+ /**
174
+ * Gets App from the DI container.
175
+ *
176
+ * @remarks
177
+ * A utility method for host applications that are not using decorators or the DI container.
178
+ *
179
+ * @example
180
+ * ```ts
181
+ * import { getApp } from '@genesislcap/foundation-shell/app';
182
+ * ...
183
+ * private user = getApp();
184
+ * ```
185
+ *
186
+ * @public
187
+ */
188
+ export function getApp() {
189
+ return DI.getOrCreateDOMContainer().get(App);
190
+ }