@skyux/docs-tools 5.0.0-beta.8 → 6.0.0-beta.1

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 (180) hide show
  1. package/README.md +8 -0
  2. package/esm2020/docs-tools.module.mjs +40 -0
  3. package/esm2020/modules/anatomy/anatomy-item.component.mjs +17 -0
  4. package/esm2020/modules/anatomy/anatomy.component.mjs +24 -0
  5. package/esm2020/modules/anatomy/anatomy.module.mjs +21 -0
  6. package/{esm2015/modules/code-examples/code-example-module-dependencies.js → esm2020/modules/code-examples/code-example-module-dependencies.mjs} +0 -0
  7. package/{esm2015/modules/code-examples/code-example-theme.js → esm2020/modules/code-examples/code-example-theme.mjs} +1 -1
  8. package/esm2020/modules/code-examples/code-example.component.mjs +68 -0
  9. package/esm2020/modules/code-examples/code-example.mjs +2 -0
  10. package/esm2020/modules/code-examples/code-examples-editor.service.mjs +294 -0
  11. package/esm2020/modules/code-examples/code-examples.component.mjs +97 -0
  12. package/esm2020/modules/code-examples/code-examples.module.mjs +43 -0
  13. package/{esm2015/modules/demo/demo-content-alignment.js → esm2020/modules/demo/demo-content-alignment.mjs} +0 -0
  14. package/{esm2015/modules/demo/demo-control-panel-change.js → esm2020/modules/demo/demo-control-panel-change.mjs} +0 -0
  15. package/esm2020/modules/demo/demo-control-panel-checkbox.component.mjs +80 -0
  16. package/{esm2015/modules/demo/demo-control-panel-radio-choice.js → esm2020/modules/demo/demo-control-panel-radio-choice.mjs} +1 -1
  17. package/esm2020/modules/demo/demo-control-panel-radio-group.component.mjs +75 -0
  18. package/esm2020/modules/demo/demo-control-panel-section.component.mjs +22 -0
  19. package/esm2020/modules/demo/demo-control-panel.component.mjs +85 -0
  20. package/esm2020/modules/demo/demo.component.mjs +53 -0
  21. package/esm2020/modules/demo/demo.module.mjs +69 -0
  22. package/esm2020/modules/demo-page/demo-page-dom-adapter.service.mjs +75 -0
  23. package/esm2020/modules/demo-page/demo-page-module-info.component.mjs +14 -0
  24. package/esm2020/modules/demo-page/demo-page-section.component.mjs +43 -0
  25. package/esm2020/modules/demo-page/demo-page-summary.component.mjs +21 -0
  26. package/esm2020/modules/demo-page/demo-page-title.service.mjs +28 -0
  27. package/esm2020/modules/demo-page/demo-page-type-definitions.component.mjs +35 -0
  28. package/esm2020/modules/demo-page/demo-page.component.mjs +134 -0
  29. package/esm2020/modules/demo-page/demo-page.module.mjs +88 -0
  30. package/esm2020/modules/design-guidelines/design-guideline-thumbnail.component.mjs +27 -0
  31. package/esm2020/modules/design-guidelines/design-guideline.component.mjs +33 -0
  32. package/esm2020/modules/design-guidelines/design-guidelines.component.mjs +11 -0
  33. package/esm2020/modules/design-guidelines/design-guidelines.module.mjs +34 -0
  34. package/esm2020/modules/heading-anchor/heading-anchor.component.mjs +21 -0
  35. package/esm2020/modules/heading-anchor/heading-anchor.module.mjs +20 -0
  36. package/esm2020/modules/markdown/markdown.module.mjs +17 -0
  37. package/esm2020/modules/markdown/markdown.pipe.mjs +20 -0
  38. package/esm2020/modules/module-info/module-info.component.mjs +77 -0
  39. package/esm2020/modules/module-info/module-info.module.mjs +42 -0
  40. package/esm2020/modules/safe-html/safe-html.component.mjs +20 -0
  41. package/esm2020/modules/safe-html/safe-html.module.mjs +18 -0
  42. package/{esm2015/modules/shared/docs-tools-component-info.js → esm2020/modules/shared/docs-tools-component-info.mjs} +0 -0
  43. package/{esm2015/modules/shared/docs-tools-options.js → esm2020/modules/shared/docs-tools-options.mjs} +1 -1
  44. package/esm2020/modules/shared/docs-tools-supportal.service.mjs +23 -0
  45. package/esm2020/modules/shared/sky-docs-tools-resources.module.mjs +53 -0
  46. package/{esm2015/modules/source-code/source-code-file.js → esm2020/modules/source-code/source-code-file.mjs} +1 -1
  47. package/esm2020/modules/source-code/source-code-provider.mjs +13 -0
  48. package/esm2020/modules/source-code/source-code.service.mjs +42 -0
  49. package/esm2020/modules/thumbnail/thumbnail.component.mjs +28 -0
  50. package/esm2020/modules/thumbnail/thumbnail.module.mjs +19 -0
  51. package/{esm2015/modules/type-definitions/anchor-link-service-config.js → esm2020/modules/type-definitions/anchor-link-service-config.mjs} +0 -0
  52. package/{esm2015/modules/type-definitions/anchor-link-service-format.js → esm2020/modules/type-definitions/anchor-link-service-format.mjs} +0 -0
  53. package/{esm2015/modules/type-definitions/anchor-link.js → esm2020/modules/type-definitions/anchor-link.mjs} +0 -0
  54. package/esm2020/modules/type-definitions/anchor-link.service.mjs +106 -0
  55. package/esm2020/modules/type-definitions/call-signature-definition.component.mjs +45 -0
  56. package/esm2020/modules/type-definitions/call-signature-definition.mjs +2 -0
  57. package/esm2020/modules/type-definitions/class-definition.component.mjs +20 -0
  58. package/esm2020/modules/type-definitions/class-definition.mjs +2 -0
  59. package/esm2020/modules/type-definitions/comment-tags.mjs +2 -0
  60. package/esm2020/modules/type-definitions/directive-definition.component.mjs +20 -0
  61. package/esm2020/modules/type-definitions/directive-definition.mjs +2 -0
  62. package/esm2020/modules/type-definitions/entry-child-definition.mjs +2 -0
  63. package/{esm2015/modules/type-definitions/entry-definition.js → esm2020/modules/type-definitions/entry-definition.mjs} +1 -1
  64. package/esm2020/modules/type-definitions/enumeration-definition.component.mjs +19 -0
  65. package/esm2020/modules/type-definitions/enumeration-definition.mjs +2 -0
  66. package/{esm2015/modules/type-definitions/enumeration-member-definition.js → esm2020/modules/type-definitions/enumeration-member-definition.mjs} +1 -1
  67. package/esm2020/modules/type-definitions/index-signature-definition.mjs +2 -0
  68. package/esm2020/modules/type-definitions/interface-definition.component.mjs +36 -0
  69. package/esm2020/modules/type-definitions/interface-definition.mjs +2 -0
  70. package/esm2020/modules/type-definitions/interface-property-definition.mjs +2 -0
  71. package/esm2020/modules/type-definitions/method-definition.mjs +2 -0
  72. package/esm2020/modules/type-definitions/method-definitions.component.mjs +56 -0
  73. package/esm2020/modules/type-definitions/parameter-definition.mjs +2 -0
  74. package/esm2020/modules/type-definitions/pipe-definition.component.mjs +20 -0
  75. package/esm2020/modules/type-definitions/pipe-definition.mjs +2 -0
  76. package/{esm2015/modules/type-definitions/property-decorator.js → esm2020/modules/type-definitions/property-decorator.mjs} +1 -1
  77. package/esm2020/modules/type-definitions/property-definition.mjs +2 -0
  78. package/esm2020/modules/type-definitions/property-definitions.component.mjs +62 -0
  79. package/esm2020/modules/type-definitions/type-alias-definition.component.mjs +36 -0
  80. package/esm2020/modules/type-definitions/type-alias-definition.mjs +2 -0
  81. package/esm2020/modules/type-definitions/type-anchor-links.pipe.mjs +27 -0
  82. package/esm2020/modules/type-definitions/type-definition.mjs +2 -0
  83. package/esm2020/modules/type-definitions/type-definitions-format.service.mjs +242 -0
  84. package/esm2020/modules/type-definitions/type-definitions-provider.mjs +10 -0
  85. package/esm2020/modules/type-definitions/type-definitions.mjs +2 -0
  86. package/esm2020/modules/type-definitions/type-definitions.module.mjs +102 -0
  87. package/esm2020/modules/type-definitions/type-definitions.service.mjs +103 -0
  88. package/esm2020/modules/type-definitions/type-parameter-definition.mjs +2 -0
  89. package/esm2020/modules/type-definitions/typedoc-adapter.service.mjs +521 -0
  90. package/esm2020/modules/type-definitions/typedoc-types.mjs +2 -0
  91. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  92. package/{esm2015/skyux-docs-tools.js → esm2020/skyux-docs-tools.mjs} +0 -0
  93. package/fesm2015/skyux-docs-tools.mjs +3088 -0
  94. package/fesm2015/skyux-docs-tools.mjs.map +1 -0
  95. package/fesm2020/skyux-docs-tools.mjs +3072 -0
  96. package/fesm2020/skyux-docs-tools.mjs.map +1 -0
  97. package/modules/code-examples/code-example.d.ts +1 -0
  98. package/modules/code-examples/code-examples.component.d.ts +2 -1
  99. package/modules/type-definitions/typedoc-types.d.ts +5 -3
  100. package/package.json +35 -22
  101. package/bundles/skyux-docs-tools.umd.js +0 -3700
  102. package/bundles/skyux-docs-tools.umd.js.map +0 -1
  103. package/documentation.json +0 -10749
  104. package/esm2015/docs-tools.module.js +0 -40
  105. package/esm2015/modules/anatomy/anatomy-item.component.js +0 -22
  106. package/esm2015/modules/anatomy/anatomy.component.js +0 -29
  107. package/esm2015/modules/anatomy/anatomy.module.js +0 -39
  108. package/esm2015/modules/code-examples/code-example.component.js +0 -68
  109. package/esm2015/modules/code-examples/code-example.js +0 -2
  110. package/esm2015/modules/code-examples/code-examples-editor.service.js +0 -295
  111. package/esm2015/modules/code-examples/code-examples.component.js +0 -98
  112. package/esm2015/modules/code-examples/code-examples.module.js +0 -51
  113. package/esm2015/modules/demo/demo-control-panel-checkbox.component.js +0 -84
  114. package/esm2015/modules/demo/demo-control-panel-radio-group.component.js +0 -80
  115. package/esm2015/modules/demo/demo-control-panel-section.component.js +0 -27
  116. package/esm2015/modules/demo/demo-control-panel.component.js +0 -86
  117. package/esm2015/modules/demo/demo.component.js +0 -58
  118. package/esm2015/modules/demo/demo.module.js +0 -69
  119. package/esm2015/modules/demo-page/demo-page-dom-adapter.service.js +0 -75
  120. package/esm2015/modules/demo-page/demo-page-module-info.component.js +0 -14
  121. package/esm2015/modules/demo-page/demo-page-section.component.js +0 -47
  122. package/esm2015/modules/demo-page/demo-page-summary.component.js +0 -26
  123. package/esm2015/modules/demo-page/demo-page-title.service.js +0 -28
  124. package/esm2015/modules/demo-page/demo-page-type-definitions.component.js +0 -39
  125. package/esm2015/modules/demo-page/demo-page.component.js +0 -142
  126. package/esm2015/modules/demo-page/demo-page.module.js +0 -88
  127. package/esm2015/modules/design-guidelines/design-guideline-thumbnail.component.js +0 -32
  128. package/esm2015/modules/design-guidelines/design-guideline.component.js +0 -38
  129. package/esm2015/modules/design-guidelines/design-guidelines.component.js +0 -15
  130. package/esm2015/modules/design-guidelines/design-guidelines.module.js +0 -44
  131. package/esm2015/modules/heading-anchor/heading-anchor.component.js +0 -26
  132. package/esm2015/modules/heading-anchor/heading-anchor.module.js +0 -34
  133. package/esm2015/modules/markdown/markdown.module.js +0 -25
  134. package/esm2015/modules/markdown/markdown.pipe.js +0 -20
  135. package/esm2015/modules/module-info/module-info.component.js +0 -82
  136. package/esm2015/modules/module-info/module-info.module.js +0 -46
  137. package/esm2015/modules/safe-html/safe-html.component.js +0 -24
  138. package/esm2015/modules/safe-html/safe-html.module.js +0 -26
  139. package/esm2015/modules/shared/docs-tools-supportal.service.js +0 -23
  140. package/esm2015/modules/shared/sky-docs-tools-resources.module.js +0 -41
  141. package/esm2015/modules/source-code/source-code-provider.js +0 -13
  142. package/esm2015/modules/source-code/source-code.service.js +0 -42
  143. package/esm2015/modules/thumbnail/thumbnail.component.js +0 -33
  144. package/esm2015/modules/thumbnail/thumbnail.module.js +0 -30
  145. package/esm2015/modules/type-definitions/anchor-link.service.js +0 -98
  146. package/esm2015/modules/type-definitions/call-signature-definition.component.js +0 -51
  147. package/esm2015/modules/type-definitions/call-signature-definition.js +0 -2
  148. package/esm2015/modules/type-definitions/class-definition.component.js +0 -25
  149. package/esm2015/modules/type-definitions/class-definition.js +0 -2
  150. package/esm2015/modules/type-definitions/comment-tags.js +0 -2
  151. package/esm2015/modules/type-definitions/directive-definition.component.js +0 -25
  152. package/esm2015/modules/type-definitions/directive-definition.js +0 -2
  153. package/esm2015/modules/type-definitions/entry-child-definition.js +0 -2
  154. package/esm2015/modules/type-definitions/enumeration-definition.component.js +0 -23
  155. package/esm2015/modules/type-definitions/enumeration-definition.js +0 -2
  156. package/esm2015/modules/type-definitions/index-signature-definition.js +0 -2
  157. package/esm2015/modules/type-definitions/interface-definition.component.js +0 -38
  158. package/esm2015/modules/type-definitions/interface-definition.js +0 -2
  159. package/esm2015/modules/type-definitions/interface-property-definition.js +0 -2
  160. package/esm2015/modules/type-definitions/method-definition.js +0 -2
  161. package/esm2015/modules/type-definitions/method-definitions.component.js +0 -62
  162. package/esm2015/modules/type-definitions/parameter-definition.js +0 -2
  163. package/esm2015/modules/type-definitions/pipe-definition.component.js +0 -25
  164. package/esm2015/modules/type-definitions/pipe-definition.js +0 -2
  165. package/esm2015/modules/type-definitions/property-definition.js +0 -2
  166. package/esm2015/modules/type-definitions/property-definitions.component.js +0 -69
  167. package/esm2015/modules/type-definitions/type-alias-definition.component.js +0 -39
  168. package/esm2015/modules/type-definitions/type-alias-definition.js +0 -2
  169. package/esm2015/modules/type-definitions/type-anchor-links.pipe.js +0 -27
  170. package/esm2015/modules/type-definitions/type-definition.js +0 -2
  171. package/esm2015/modules/type-definitions/type-definitions-format.service.js +0 -241
  172. package/esm2015/modules/type-definitions/type-definitions-provider.js +0 -10
  173. package/esm2015/modules/type-definitions/type-definitions.js +0 -2
  174. package/esm2015/modules/type-definitions/type-definitions.module.js +0 -102
  175. package/esm2015/modules/type-definitions/type-definitions.service.js +0 -103
  176. package/esm2015/modules/type-definitions/type-parameter-definition.js +0 -2
  177. package/esm2015/modules/type-definitions/typedoc-adapter.service.js +0 -477
  178. package/esm2015/modules/type-definitions/typedoc-types.js +0 -2
  179. package/fesm2015/skyux-docs-tools.js +0 -3217
  180. package/fesm2015/skyux-docs-tools.js.map +0 -1
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { SkyAuthHttpClientModule } from '@skyux/http';
3
- import { SkyDocsAnatomyModule } from './modules/anatomy/anatomy.module';
4
- import { SkyDocsCodeExamplesModule } from './modules/code-examples/code-examples.module';
5
- import { SkyDocsDemoModule } from './modules/demo/demo.module';
6
- import { SkyDocsDemoPageModule } from './modules/demo-page/demo-page.module';
7
- import { SkyDocsDesignGuidelinesModule } from './modules/design-guidelines/design-guidelines.module';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * This module conveniently exports the most commonly used modules.
11
- */
12
- export class SkyDocsToolsModule {
13
- }
14
- SkyDocsToolsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsToolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- SkyDocsToolsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsToolsModule, exports: [SkyAuthHttpClientModule,
16
- SkyDocsAnatomyModule,
17
- SkyDocsCodeExamplesModule,
18
- SkyDocsDemoModule,
19
- SkyDocsDemoPageModule,
20
- SkyDocsDesignGuidelinesModule] });
21
- SkyDocsToolsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsToolsModule, imports: [SkyAuthHttpClientModule,
22
- SkyDocsAnatomyModule,
23
- SkyDocsCodeExamplesModule,
24
- SkyDocsDemoModule,
25
- SkyDocsDemoPageModule,
26
- SkyDocsDesignGuidelinesModule] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsToolsModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- exports: [
31
- SkyAuthHttpClientModule,
32
- SkyDocsAnatomyModule,
33
- SkyDocsCodeExamplesModule,
34
- SkyDocsDemoModule,
35
- SkyDocsDemoPageModule,
36
- SkyDocsDesignGuidelinesModule
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jcy10b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9kb2NzLXRvb2xzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCx1QkFBdUIsRUFDeEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNMLG9CQUFvQixFQUNyQixNQUFNLGtDQUFrQyxDQUFDO0FBRTFDLE9BQU8sRUFDTCx5QkFBeUIsRUFDMUIsTUFBTSw4Q0FBOEMsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2xCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUNMLHFCQUFxQixFQUN0QixNQUFNLHNDQUFzQyxDQUFDO0FBRTlDLE9BQU8sRUFDTCw2QkFBNkIsRUFDOUIsTUFBTSxzREFBc0QsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFXSCxNQUFNLE9BQU8sa0JBQWtCOztnSEFBbEIsa0JBQWtCO2lIQUFsQixrQkFBa0IsWUFSM0IsdUJBQXVCO1FBQ3ZCLG9CQUFvQjtRQUNwQix5QkFBeUI7UUFDekIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQiw2QkFBNkI7aUhBR3BCLGtCQUFrQixZQVIzQix1QkFBdUI7UUFDdkIsb0JBQW9CO1FBQ3BCLHlCQUF5QjtRQUN6QixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLDZCQUE2Qjs0RkFHcEIsa0JBQWtCO2tCQVY5QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIseUJBQXlCO3dCQUN6QixpQkFBaUI7d0JBQ2pCLHFCQUFxQjt3QkFDckIsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE5nTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lBdXRoSHR0cENsaWVudE1vZHVsZVxufSBmcm9tICdAc2t5dXgvaHR0cCc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NBbmF0b215TW9kdWxlXG59IGZyb20gJy4vbW9kdWxlcy9hbmF0b215L2FuYXRvbXkubW9kdWxlJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0NvZGVFeGFtcGxlc01vZHVsZVxufSBmcm9tICcuL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NEZW1vTW9kdWxlXG59IGZyb20gJy4vbW9kdWxlcy9kZW1vL2RlbW8ubW9kdWxlJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0RlbW9QYWdlTW9kdWxlXG59IGZyb20gJy4vbW9kdWxlcy9kZW1vLXBhZ2UvZGVtby1wYWdlLm1vZHVsZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NEZXNpZ25HdWlkZWxpbmVzTW9kdWxlXG59IGZyb20gJy4vbW9kdWxlcy9kZXNpZ24tZ3VpZGVsaW5lcy9kZXNpZ24tZ3VpZGVsaW5lcy5tb2R1bGUnO1xuXG4vKipcbiAqIFRoaXMgbW9kdWxlIGNvbnZlbmllbnRseSBleHBvcnRzIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgbW9kdWxlcy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1xuICAgIFNreUF1dGhIdHRwQ2xpZW50TW9kdWxlLCAvLyBTdXBwb3J0cyB0aGUgc3VwcG9ydGFsIHNlcnZpY2UgY2FsbHMgdXNpbmcgdGhlIGBzdmNpZGAgcGFyYW0uXG4gICAgU2t5RG9jc0FuYXRvbXlNb2R1bGUsXG4gICAgU2t5RG9jc0NvZGVFeGFtcGxlc01vZHVsZSxcbiAgICBTa3lEb2NzRGVtb01vZHVsZSxcbiAgICBTa3lEb2NzRGVtb1BhZ2VNb2R1bGUsXG4gICAgU2t5RG9jc0Rlc2lnbkd1aWRlbGluZXNNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzVG9vbHNNb2R1bGUgeyB9XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- export class SkyDocsAnatomyItemComponent {
5
- constructor() {
6
- this.isOptional = false;
7
- }
8
- }
9
- SkyDocsAnatomyItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SkyDocsAnatomyItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDocsAnatomyItemComponent, selector: "sky-docs-anatomy-item", inputs: { isOptional: "isOptional" }, ngImport: i0, template: "<div\n class=\"sky-docs-anatomy-item\"\n [ngClass]=\"{\n 'sky-docs-anatomy-item-optional': isOptional\n }\"\n>\n <div class=\"sky-docs-anatomy-item-marker\">\n {{ marker }}\n </div>\n <div class=\"sky-docs-anatomy-item-description\">\n <ng-content></ng-content>\n <span *ngIf=\"isOptional\"\n class=\"sky-deemphasized\"\n >&nbsp;(optional)</span>\n </div>\n</div>", styles: [".sky-docs-anatomy-item-marker{display:flex;width:22px;height:22px;border-radius:50%;justify-content:center;align-items:center;margin-right:5px;color:#fff;background-color:#4d842d}.sky-docs-anatomy-item{margin-bottom:10px;display:flex;align-items:center}.sky-docs-anatomy-item.sky-docs-anatomy-item-optional .sky-docs-anatomy-item-marker{background-color:#b7da9b;color:#212327}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyItemComponent, decorators: [{
12
- type: Component,
13
- args: [{
14
- selector: 'sky-docs-anatomy-item',
15
- templateUrl: './anatomy-item.component.html',
16
- styleUrls: ['./anatomy-item.component.scss'],
17
- changeDetection: ChangeDetectionStrategy.OnPush
18
- }]
19
- }], propDecorators: { isOptional: [{
20
- type: Input
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvYW5hdG9teS9hbmF0b215LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy9hbmF0b215L2FuYXRvbXktaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ04sTUFBTSxlQUFlLENBQUM7OztBQVF2QixNQUFNLE9BQU8sMkJBQTJCO0lBTnhDO1FBU1MsZUFBVSxHQUFZLEtBQUssQ0FBQztLQUlwQzs7eUhBUFksMkJBQTJCOzZHQUEzQiwyQkFBMkIsbUdDWnhDLHdZQWVNOzRGREhPLDJCQUEyQjtrQkFOdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxTQUFTLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDNUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUlRLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRvY3MtYW5hdG9teS1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuYXRvbXktaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FuYXRvbXktaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpc09wdGlvbmFsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIG1hcmtlcjogc3RyaW5nO1xuXG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWRvY3MtYW5hdG9teS1pdGVtXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktZG9jcy1hbmF0b215LWl0ZW0tb3B0aW9uYWwnOiBpc09wdGlvbmFsXG4gIH1cIlxuPlxuICA8ZGl2IGNsYXNzPVwic2t5LWRvY3MtYW5hdG9teS1pdGVtLW1hcmtlclwiPlxuICAgIHt7IG1hcmtlciB9fVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNreS1kb2NzLWFuYXRvbXktaXRlbS1kZXNjcmlwdGlvblwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8c3BhbiAqbmdJZj1cImlzT3B0aW9uYWxcIlxuICAgICAgY2xhc3M9XCJza3ktZGVlbXBoYXNpemVkXCJcbiAgICA+Jm5ic3A7KG9wdGlvbmFsKTwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,29 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ContentChildren, Input } from '@angular/core';
2
- import { SkyDocsAnatomyItemComponent } from './anatomy-item.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@skyux/layout";
5
- import * as i2 from "@blackbaud/skyux-lib-media";
6
- export class SkyDocsAnatomyComponent {
7
- ngAfterContentInit() {
8
- this.anatomyItems.forEach((item, i) => {
9
- item.marker = (i + 1).toString();
10
- });
11
- }
12
- }
13
- SkyDocsAnatomyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- SkyDocsAnatomyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDocsAnatomyComponent, selector: "sky-docs-anatomy", inputs: { imagePath: "imagePath" }, queries: [{ propertyName: "anatomyItems", predicate: SkyDocsAnatomyItemComponent }], ngImport: i0, template: "<div class=\"sky-docs-anatomy\">\n <sky-row>\n <sky-column\n screenSmall=\"6\"\n screenMedium=\"5\"\n screenLarge=\"4\"\n >\n <ng-content select=\"sky-docs-anatomy-item\"></ng-content>\n </sky-column>\n <sky-column\n screenSmall=\"6\"\n screenMedium=\"7\"\n screenLarge=\"8\"\n >\n <sky-image\n [imageSource]=\"imagePath\"\n ></sky-image>\n </sky-column>\n </sky-row>\n</div>", styles: [""], components: [{ type: i1.λ23, selector: "sky-row", inputs: ["reverseColumnOrder"] }, { type: i1.λ24, selector: "sky-column", inputs: ["screenXSmall", "screenSmall", "screenMedium", "screenLarge"] }, { type: i2.λ4, selector: "sky-image", inputs: ["caption", "captionType", "imageAlt", "imageSource", "showBorder", "showCaptionPrefix"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyComponent, decorators: [{
16
- type: Component,
17
- args: [{
18
- selector: 'sky-docs-anatomy',
19
- templateUrl: './anatomy.component.html',
20
- styleUrls: ['./anatomy.component.scss'],
21
- changeDetection: ChangeDetectionStrategy.OnPush
22
- }]
23
- }], propDecorators: { imagePath: [{
24
- type: Input
25
- }], anatomyItems: [{
26
- type: ContentChildren,
27
- args: [SkyDocsAnatomyItemComponent]
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsS0FBSyxFQUVOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCwyQkFBMkIsRUFDNUIsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQVFsQyxNQUFNLE9BQU8sdUJBQXVCO0lBUTNCLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7cUhBWlUsdUJBQXVCO3lHQUF2Qix1QkFBdUIseUhBS2pCLDJCQUEyQiw2QkN4QjlDLGljQW1CTTs0RkRBTyx1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsV0FBVyxFQUFFLDBCQUEwQjtvQkFDdkMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3ZDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4QkFJUSxTQUFTO3NCQURmLEtBQUs7Z0JBSUUsWUFBWTtzQkFEbkIsZUFBZTt1QkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIElucHV0LFxuICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NBbmF0b215SXRlbUNvbXBvbmVudFxufSBmcm9tICcuL2FuYXRvbXktaXRlbS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZG9jcy1hbmF0b215JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuYXRvbXkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmF0b215LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNreURvY3NBbmF0b215Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGltYWdlUGF0aDogc3RyaW5nO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oU2t5RG9jc0FuYXRvbXlJdGVtQ29tcG9uZW50KVxuICBwcml2YXRlIGFuYXRvbXlJdGVtczogUXVlcnlMaXN0PFNreURvY3NBbmF0b215SXRlbUNvbXBvbmVudD47XG5cbiAgcHVibGljIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFuYXRvbXlJdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICBpdGVtLm1hcmtlciA9IChpICsgMSkudG9TdHJpbmcoKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWRvY3MtYW5hdG9teVwiPlxuICA8c2t5LXJvdz5cbiAgICA8c2t5LWNvbHVtblxuICAgICAgc2NyZWVuU21hbGw9XCI2XCJcbiAgICAgIHNjcmVlbk1lZGl1bT1cIjVcIlxuICAgICAgc2NyZWVuTGFyZ2U9XCI0XCJcbiAgICA+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZG9jcy1hbmF0b215LWl0ZW1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9za3ktY29sdW1uPlxuICAgIDxza3ktY29sdW1uXG4gICAgICBzY3JlZW5TbWFsbD1cIjZcIlxuICAgICAgc2NyZWVuTWVkaXVtPVwiN1wiXG4gICAgICBzY3JlZW5MYXJnZT1cIjhcIlxuICAgID5cbiAgICAgIDxza3ktaW1hZ2VcbiAgICAgICAgW2ltYWdlU291cmNlXT1cImltYWdlUGF0aFwiXG4gICAgICA+PC9za3ktaW1hZ2U+XG4gICAgPC9za3ktY29sdW1uPlxuICA8L3NreS1yb3c+XG48L2Rpdj4iXX0=
@@ -1,39 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SkyImageModule } from '@blackbaud/skyux-lib-media';
4
- import { SkyFluidGridModule } from '@skyux/layout';
5
- import { SkyDocsAnatomyComponent } from './anatomy.component';
6
- import { SkyDocsAnatomyItemComponent } from './anatomy-item.component';
7
- import * as i0 from "@angular/core";
8
- export class SkyDocsAnatomyModule {
9
- }
10
- SkyDocsAnatomyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- SkyDocsAnatomyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyModule, declarations: [SkyDocsAnatomyComponent,
12
- SkyDocsAnatomyItemComponent], imports: [CommonModule,
13
- SkyFluidGridModule,
14
- SkyImageModule], exports: [SkyDocsAnatomyComponent,
15
- SkyDocsAnatomyItemComponent] });
16
- SkyDocsAnatomyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyModule, imports: [[
17
- CommonModule,
18
- SkyFluidGridModule,
19
- SkyImageModule
20
- ]] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsAnatomyModule, decorators: [{
22
- type: NgModule,
23
- args: [{
24
- imports: [
25
- CommonModule,
26
- SkyFluidGridModule,
27
- SkyImageModule
28
- ],
29
- declarations: [
30
- SkyDocsAnatomyComponent,
31
- SkyDocsAnatomyItemComponent
32
- ],
33
- exports: [
34
- SkyDocsAnatomyComponent,
35
- SkyDocsAnatomyItemComponent
36
- ]
37
- }]
38
- }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hdG9teS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kb2NzLXRvb2xzL3NyYy9tb2R1bGVzL2FuYXRvbXkvYW5hdG9teS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDYixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFDTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGNBQWMsRUFDZixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFDTCxrQkFBa0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sRUFDTCwyQkFBMkIsRUFDNUIsTUFBTSwwQkFBMEIsQ0FBQzs7QUFpQmxDLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFSN0IsdUJBQXVCO1FBQ3ZCLDJCQUEyQixhQU4zQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLGNBQWMsYUFPZCx1QkFBdUI7UUFDdkIsMkJBQTJCO21IQUdsQixvQkFBb0IsWUFkdEI7WUFDUCxZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLGNBQWM7U0FDZjs0RkFVVSxvQkFBb0I7a0JBZmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDWix1QkFBdUI7d0JBQ3ZCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3FCQUM1QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbW1vbk1vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICBOZ01vZHVsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgU2t5SW1hZ2VNb2R1bGVcbn0gZnJvbSAnQGJsYWNrYmF1ZC9za3l1eC1saWItbWVkaWEnO1xuXG5pbXBvcnQge1xuICBTa3lGbHVpZEdyaWRNb2R1bGVcbn0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NBbmF0b215Q29tcG9uZW50XG59IGZyb20gJy4vYW5hdG9teS5jb21wb25lbnQnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnRcbn0gZnJvbSAnLi9hbmF0b215LWl0ZW0uY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lGbHVpZEdyaWRNb2R1bGUsXG4gICAgU2t5SW1hZ2VNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5RG9jc0FuYXRvbXlDb21wb25lbnQsXG4gICAgU2t5RG9jc0FuYXRvbXlJdGVtQ29tcG9uZW50XG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBTa3lEb2NzQW5hdG9teUNvbXBvbmVudCxcbiAgICBTa3lEb2NzQW5hdG9teUl0ZW1Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQW5hdG9teU1vZHVsZSB7IH1cbiJdfQ==
@@ -1,68 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, Input, Optional } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { SkyDocsCodeExampleTheme } from './code-example-theme';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@skyux/theme";
7
- /**
8
- * Renders a single code example.
9
- * @example
10
- * ```
11
- * <sky-docs-code-example
12
- * heading="My code example"
13
- * sourceCodePath="src/app/public/plugin-resources/foobar"
14
- * >
15
- * </sky-docs-code-example>
16
- * ```
17
- */
18
- export class SkyDocsCodeExampleComponent {
19
- constructor(themeSvc) {
20
- this.ngUnsubscribe = new Subject();
21
- // Update theme property with SkyThemeService if it has not been set.
22
- if (!this._theme && themeSvc) {
23
- themeSvc.settingsChange
24
- .pipe(takeUntil(this.ngUnsubscribe))
25
- .subscribe(change => {
26
- if (change.currentSettings.theme.name === 'modern') {
27
- this.theme = SkyDocsCodeExampleTheme.Modern;
28
- }
29
- else if (change.currentSettings.theme.name === 'default') {
30
- this.theme = SkyDocsCodeExampleTheme.Default;
31
- }
32
- });
33
- }
34
- }
35
- /**
36
- * Specifies if the editor service should show the example in modern theme.
37
- * The value will be gleaned from `SkyThemeService` first, then fallback to 'default' if the service is not found.
38
- */
39
- set theme(value) {
40
- this._theme = value;
41
- }
42
- get theme() {
43
- return this._theme || SkyDocsCodeExampleTheme.Default;
44
- }
45
- ngOnDestroy() {
46
- this.ngUnsubscribe.next();
47
- this.ngUnsubscribe.complete();
48
- }
49
- }
50
- SkyDocsCodeExampleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExampleComponent, deps: [{ token: i1.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
51
- SkyDocsCodeExampleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.14", type: SkyDocsCodeExampleComponent, selector: "sky-docs-code-example", inputs: { heading: "heading", sourceCodePath: "sourceCodePath", theme: "theme" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExampleComponent, decorators: [{
53
- type: Component,
54
- args: [{
55
- selector: 'sky-docs-code-example',
56
- template: '',
57
- changeDetection: ChangeDetectionStrategy.OnPush
58
- }]
59
- }], ctorParameters: function () { return [{ type: i1.SkyThemeService, decorators: [{
60
- type: Optional
61
- }] }]; }, propDecorators: { heading: [{
62
- type: Input
63
- }], sourceCodePath: [{
64
- type: Input
65
- }], theme: [{
66
- type: Input
67
- }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFFTCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFNdkIsT0FBTyxFQUNMLE9BQU8sRUFDUixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFDTCxTQUFTLEVBQ1YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3hCLE1BQU0sc0JBQXNCLENBQUM7OztBQUU5Qjs7Ozs7Ozs7OztHQVVHO0FBTUgsTUFBTSxPQUFPLDJCQUEyQjtJQWlDdEMsWUFDYyxRQUEwQjtRQUxoQyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFPMUMscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUM1QixRQUFRLENBQUMsY0FBYztpQkFDcEIsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQzlCO2lCQUNBLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbEIsSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO29CQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLHVCQUF1QixDQUFDLE1BQU0sQ0FBQztpQkFDN0M7cUJBQU0sSUFBSSxNQUFNLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFO29CQUMxRCxJQUFJLENBQUMsS0FBSyxHQUFHLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztpQkFDOUM7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQWxDRDs7O09BR0c7SUFDSCxJQUNXLEtBQUssQ0FBQyxLQUE4QjtRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztJQUN4RCxDQUFDO0lBeUJNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O3lIQXZEVSwyQkFBMkI7NkdBQTNCLDJCQUEyQiwrSUFINUIsRUFBRTs0RkFHRCwyQkFBMkI7a0JBTHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFtQ0ksUUFBUTs0Q0EzQkosT0FBTztzQkFEYixLQUFLO2dCQVFDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBUUssS0FBSztzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreVRoZW1lU2VydmljZVxufSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQge1xuICBTdWJqZWN0XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICB0YWtlVW50aWxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZVxufSBmcm9tICcuL2NvZGUtZXhhbXBsZS10aGVtZSc7XG5cbi8qKlxuICogUmVuZGVycyBhIHNpbmdsZSBjb2RlIGV4YW1wbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiA8c2t5LWRvY3MtY29kZS1leGFtcGxlXG4gKiAgIGhlYWRpbmc9XCJNeSBjb2RlIGV4YW1wbGVcIlxuICogICBzb3VyY2VDb2RlUGF0aD1cInNyYy9hcHAvcHVibGljL3BsdWdpbi1yZXNvdXJjZXMvZm9vYmFyXCJcbiAqID5cbiAqIDwvc2t5LWRvY3MtY29kZS1leGFtcGxlPlxuICogYGBgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kb2NzLWNvZGUtZXhhbXBsZScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2t5RG9jc0NvZGVFeGFtcGxlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICAvKipcbiAgICogVGhlIGhlYWRpbmcgdG8gYmUgdXNlZCBmb3IgdGhlIGNvZGUgZXhhbXBsZS5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaGVhZGluZzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGxvY2FsIHBhdGggdG8gdGhlIGNvZGUgZXhhbXBsZSdzIHNvdXJjZSBjb2RlLiBUaGUgdmFsdWUgaXMgcmVsYXRpdmUgdG8gdGhlIHJvb3QgZGlyZWN0b3J5LlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3VyY2VDb2RlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgaWYgdGhlIGVkaXRvciBzZXJ2aWNlIHNob3VsZCBzaG93IHRoZSBleGFtcGxlIGluIG1vZGVybiB0aGVtZS5cbiAgICogVGhlIHZhbHVlIHdpbGwgYmUgZ2xlYW5lZCBmcm9tIGBTa3lUaGVtZVNlcnZpY2VgIGZpcnN0LCB0aGVuIGZhbGxiYWNrIHRvICdkZWZhdWx0JyBpZiB0aGUgc2VydmljZSBpcyBub3QgZm91bmQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHRoZW1lKHZhbHVlOiBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZSkge1xuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHRoZW1lKCk6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lIHtcbiAgICByZXR1cm4gdGhpcy5fdGhlbWUgfHwgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuRGVmYXVsdDtcbiAgfVxuXG4gIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHRoZW1lU3ZjPzogU2t5VGhlbWVTZXJ2aWNlXG4gICkge1xuICAgIC8vIFVwZGF0ZSB0aGVtZSBwcm9wZXJ0eSB3aXRoIFNreVRoZW1lU2VydmljZSBpZiBpdCBoYXMgbm90IGJlZW4gc2V0LlxuICAgIGlmICghdGhpcy5fdGhlbWUgJiYgdGhlbWVTdmMpIHtcbiAgICAgIHRoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZShjaGFuZ2UgPT4ge1xuICAgICAgICAgIGlmIChjaGFuZ2UuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgICB0aGlzLnRoZW1lID0gU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuTW9kZXJuO1xuICAgICAgICAgIH0gZWxzZSBpZiAoY2hhbmdlLmN1cnJlbnRTZXR0aW5ncy50aGVtZS5uYW1lID09PSAnZGVmYXVsdCcpIHtcbiAgICAgICAgICAgIHRoaXMudGhlbWUgPSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5EZWZhdWx0O1xuICAgICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZG9jcy10b29scy9zcmMvbW9kdWxlcy9jb2RlLWV4YW1wbGVzL2NvZGUtZXhhbXBsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2t5RG9jc1NvdXJjZUNvZGVGaWxlXG59IGZyb20gJy4uL3NvdXJjZS1jb2RlL3NvdXJjZS1jb2RlLWZpbGUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXNcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtbW9kdWxlLWRlcGVuZGVuY2llcyc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZVRoZW1lXG59IGZyb20gJy4vY29kZS1leGFtcGxlLXRoZW1lJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa3lEb2NzQ29kZUV4YW1wbGUge1xuXG4gIGhlYWRpbmc6IHN0cmluZztcblxuICBwYWNrYWdlRGVwZW5kZW5jaWVzOiBTa3lEb2NzQ29kZUV4YW1wbGVNb2R1bGVEZXBlbmRlbmNpZXM7XG5cbiAgc291cmNlQ29kZTogU2t5RG9jc1NvdXJjZUNvZGVGaWxlW107XG5cbiAgdGhlbWU6IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lO1xuXG59XG4iXX0=
@@ -1,295 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import StackBlitzSDK from '@stackblitz/sdk';
3
- import { SkyDocsCodeExampleTheme } from './code-example-theme';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * @internal
7
- */
8
- export class SkyDocsCodeExamplesEditorService {
9
- launchEditor(codeExample) {
10
- const project = this.getPayload(codeExample);
11
- const options = {};
12
- StackBlitzSDK.openProject(project, options);
13
- }
14
- getPayload(codeExample) {
15
- const angularVersion = '^12.2.0';
16
- const skyuxVersion = '^5.0.0-0';
17
- const defaultDependencies = {
18
- '@angular/animations': angularVersion,
19
- '@angular/common': angularVersion,
20
- '@angular/compiler': angularVersion,
21
- '@angular/core': angularVersion,
22
- '@angular/forms': angularVersion,
23
- '@angular/platform-browser': angularVersion,
24
- '@angular/platform-browser-dynamic': angularVersion,
25
- '@angular/router': angularVersion,
26
- '@skyux/animations': skyuxVersion,
27
- '@skyux/assets': skyuxVersion,
28
- '@skyux/config': skyuxVersion,
29
- '@skyux/core': skyuxVersion,
30
- '@skyux/errors': skyuxVersion,
31
- '@skyux/forms': skyuxVersion,
32
- '@skyux/http': skyuxVersion,
33
- '@skyux/i18n': skyuxVersion,
34
- '@skyux/indicators': skyuxVersion,
35
- '@skyux/layout': skyuxVersion,
36
- '@skyux/modals': skyuxVersion,
37
- '@skyux/popovers': skyuxVersion,
38
- '@skyux/router': skyuxVersion,
39
- '@skyux/theme': skyuxVersion,
40
- 'rxjs': '^6.6.0',
41
- 'tslib': '^2.3.0',
42
- 'zone.js': '~0.11.4'
43
- };
44
- const mergedDependencies = Object.assign({}, defaultDependencies, codeExample.packageDependencies);
45
- // Ensure any @skyux dependencies list the correct version of SKY UX.
46
- // e.g. `"@skyux/core": "*"` --> `"@skyux/core": "5.0.0"`
47
- for (const packageName in mergedDependencies) {
48
- /*istanbul ignore else*/
49
- if (mergedDependencies.hasOwnProperty(packageName)) {
50
- const version = mergedDependencies[packageName];
51
- if (version === '*' && /^(@blackbaud\/skyux-lib-|@skyux)/.test(packageName)) {
52
- mergedDependencies[packageName] = skyuxVersion;
53
- }
54
- }
55
- }
56
- const files = this.parseStackBlitzFiles(codeExample.sourceCode, mergedDependencies, codeExample.theme);
57
- return {
58
- files,
59
- title: 'SKY UX Demo',
60
- description: 'SKY UX Demo',
61
- template: 'angular-cli',
62
- dependencies: mergedDependencies,
63
- settings: {
64
- compile: {
65
- clearConsole: false
66
- }
67
- }
68
- };
69
- }
70
- parseStackBlitzFiles(sourceCode, dependencies, theme) {
71
- const srcPath = 'src/';
72
- const appPath = `${srcPath}app/`;
73
- const banner = `/**
74
- * This file is needed for the StackBlitz demo only.
75
- * It is automatically provided when using the Angular CLI.
76
- **/
77
- `;
78
- const moduleImportStatements = [
79
- `import {\n Component,\n NgModule\n} from '@angular/core';`,
80
- `import {\n FormsModule,\n ReactiveFormsModule\n} from '@angular/forms';`,
81
- `import {\n platformBrowserDynamic\n} from '@angular/platform-browser-dynamic';`,
82
- `import {\n BrowserModule\n} from '@angular/platform-browser';`,
83
- `import {\n RouterModule\n} from '@angular/router';`,
84
- `import {\n SkyAppLocaleProvider\n} from '@skyux/i18n';`,
85
- `import {\n SkyThemeService\n} from '@skyux/theme';`,
86
- `import {\n of as observableOf\n} from 'rxjs';`,
87
- `import {\n AppComponent\n} from './app.component';`
88
- ];
89
- const moduleImports = [
90
- 'BrowserModule',
91
- 'FormsModule',
92
- 'ReactiveFormsModule',
93
- 'RouterModule.forRoot([])'
94
- ];
95
- const files = {};
96
- let appComponentTemplate = '';
97
- sourceCode.forEach((file) => {
98
- files[`${appPath}${file.fileName}`] = file.rawContents;
99
- // Setup module imports and component selectors.
100
- if (file.fileName.indexOf('.module.ts') > -1) {
101
- const moduleName = this.getModuleName(file.rawContents);
102
- const importPath = `./${this.getFilenameNoExtension(file.fileName)}`;
103
- const exportedComponent = this.getExportedComponent(file.rawContents);
104
- const componentSelector = this.getComponentSelector(exportedComponent, sourceCode);
105
- appComponentTemplate += `<${componentSelector}></${componentSelector}>`;
106
- moduleImports.push(moduleName);
107
- moduleImportStatements.push(`import {\n ${moduleName}\n} from '${importPath}';`);
108
- }
109
- });
110
- files[`${appPath}app.component.ts`] = `${banner}
111
- import {
112
- Component,
113
- Renderer2
114
- } from '@angular/core';
115
-
116
- import {
117
- SkyTheme,
118
- SkyThemeMode,
119
- SkyThemeService,
120
- SkyThemeSettings
121
- } from '@skyux/theme';
122
-
123
- @Component({
124
- selector: 'sky-demo-app',
125
- template: '${appComponentTemplate}'
126
- })
127
- export class AppComponent {
128
-
129
- constructor(
130
- themeSvc: SkyThemeService,
131
- renderer?: Renderer2
132
- ) {
133
- const themeSettings = new SkyThemeSettings(
134
- SkyTheme.presets['${theme === SkyDocsCodeExampleTheme.Modern ? 'modern' : 'default'}'],
135
- SkyThemeMode.presets.light
136
- );
137
-
138
- themeSvc.init(
139
- document.body,
140
- renderer,
141
- themeSettings
142
- );
143
- }
144
-
145
- }`;
146
- files[`${appPath}app.module.ts`] = `${moduleImportStatements.join('\n\n')}
147
-
148
- @NgModule({
149
- imports: [
150
- ${moduleImports.join(',\n ')}
151
- ],
152
- declarations: [
153
- AppComponent
154
- ],
155
- bootstrap: [
156
- AppComponent
157
- ],
158
- providers: [
159
- SkyThemeService,
160
- {
161
- provide: SkyAppLocaleProvider,
162
- useValue: {
163
- getLocaleInfo: () => observableOf({
164
- locale: 'en-US'
165
- })
166
- }
167
- }
168
- ]
169
- })
170
- export class AppModule { }
171
- `;
172
- files[`${srcPath}index.html`] = `<!--
173
- The CSS links are needed for the StackBlitz demo only.
174
- This is a workaround for a known bug that prevents external imports in CSS.
175
- https://github.com/stackblitz/core/issues/133
176
- -->
177
- <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />${theme === SkyDocsCodeExampleTheme.Modern ? `<link rel="stylesheet" type="text/css" href="https://sky.blackbaudcdn.net/static/skyux-icons/5.0.0/assets/css/skyux-icons.min.css" />` : ``}
178
-
179
- <sky-demo-app>
180
- Loading...
181
- </sky-demo-app>`;
182
- files[`${srcPath}main.ts`] = `${banner}
183
- import './polyfills';
184
-
185
- import {
186
- enableProdMode
187
- } from '@angular/core';
188
-
189
- import {
190
- platformBrowserDynamic
191
- } from '@angular/platform-browser-dynamic';
192
-
193
- import {
194
- AppModule
195
- } from './app/app.module';
196
-
197
- platformBrowserDynamic().bootstrapModule(AppModule).then(ref => {
198
- if (window['ngRef']) {
199
- window['ngRef'].destroy();
200
- }
201
-
202
- window['ngRef'] = ref;
203
- }).catch(err => console.error(err));
204
- `;
205
- files[`${srcPath}polyfills.ts`] = `${banner}
206
- import 'zone.js';
207
- `;
208
- files[`${srcPath}styles.scss`] = `@import '~@skyux/theme/css/sky';
209
- ${theme === SkyDocsCodeExampleTheme.Modern ? `@import '~@skyux/theme/css/themes/modern/styles';` : ``}
210
- body {
211
- background-color: #fff;
212
- margin: 15px;
213
- }`;
214
- files['angular.json'] = `{
215
- "projects": {
216
- "demo": {
217
- "architect": {
218
- "build": {
219
- "options": {
220
- "index": "src/index.html",
221
- "styles": [
222
- "src/styles.scss"
223
- ]
224
- }
225
- }
226
- }
227
- }
228
- }
229
- }`;
230
- files['package.json'] = JSON.stringify({
231
- dependencies
232
- }, undefined, 2);
233
- files['tsconfig.json'] = `{
234
- "compilerOptions": {
235
- "target": "es2017",
236
- "module": "es2020",
237
- "moduleResolution": "node",
238
- "emitDecoratorMetadata": true,
239
- "experimentalDecorators": true,
240
- "importHelpers": true,
241
- "typeRoots": ["node_modules/@types"],
242
- "lib": [
243
- "es2018",
244
- "dom"
245
- ]
246
- },
247
- "angularCompilerOptions": {
248
- "fullTemplateTypeCheck": true,
249
- "strictInjectionParameters": true,
250
- "strictInputAccessModifiers": true,
251
- "strictTemplates": true,
252
- "enableIvy": false
253
- }
254
- }`;
255
- return files;
256
- }
257
- getModuleName(contents) {
258
- return contents.split('export class ')[1].split(' {')[0];
259
- }
260
- getFilenameNoExtension(fileName) {
261
- const extension = fileName.split('.').pop();
262
- return fileName.replace(`.${extension}`, '');
263
- }
264
- getExportedComponent(contents) {
265
- const trimmed = contents.replace(/\s/g, '');
266
- let fragment = trimmed.split('exports:[')[1];
267
- if (!fragment) {
268
- throw 'You must export a component from the code example module!';
269
- }
270
- fragment = fragment.split(']')[0];
271
- const components = fragment.split(',').filter(x => x);
272
- if (components.length > 1) {
273
- throw 'You may only export a single component from the code example module' +
274
- `(we found ${components.length}: ${components.join(', ')}).` +
275
- 'Is it possible to create a new code example with the extra components?';
276
- }
277
- return components[0];
278
- }
279
- getComponentSelector(componentClassName, sourceCode) {
280
- const found = sourceCode.find((file) => {
281
- return (file.rawContents.indexOf(componentClassName) > -1);
282
- });
283
- const trimmed = found.rawContents.replace(/\s/g, '');
284
- return trimmed.split(`selector:'`)[1].split(`'`)[0];
285
- }
286
- }
287
- SkyDocsCodeExamplesEditorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesEditorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
288
- SkyDocsCodeExamplesEditorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesEditorService, providedIn: 'root' });
289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: SkyDocsCodeExamplesEditorService, decorators: [{
290
- type: Injectable,
291
- args: [{
292
- providedIn: 'root'
293
- }]
294
- }] });
295
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS1leGFtcGxlcy1lZGl0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RvY3MtdG9vbHMvc3JjL21vZHVsZXMvY29kZS1leGFtcGxlcy9jb2RlLWV4YW1wbGVzLWVkaXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1gsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUM7QUFlNUMsT0FBTyxFQUNMLHVCQUF1QixFQUN4QixNQUFNLHNCQUFzQixDQUFDOztBQU05Qjs7R0FFRztBQUlILE1BQU0sT0FBTyxnQ0FBZ0M7SUFFcEMsWUFBWSxDQUFDLFdBQStCO1FBQ2pELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQTBCLEVBQUUsQ0FBQztRQUUxQyxhQUFhLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sVUFBVSxDQUFDLFdBQStCO1FBQ2hELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUM7UUFFaEMsTUFBTSxtQkFBbUIsR0FBeUM7WUFDaEUscUJBQXFCLEVBQUUsY0FBYztZQUNyQyxpQkFBaUIsRUFBRSxjQUFjO1lBQ2pDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsZUFBZSxFQUFFLGNBQWM7WUFDL0IsZ0JBQWdCLEVBQUUsY0FBYztZQUNoQywyQkFBMkIsRUFBRSxjQUFjO1lBQzNDLG1DQUFtQyxFQUFFLGNBQWM7WUFDbkQsaUJBQWlCLEVBQUUsY0FBYztZQUNqQyxtQkFBbUIsRUFBRSxZQUFZO1lBQ2pDLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGVBQWUsRUFBRSxZQUFZO1lBQzdCLGFBQWEsRUFBRSxZQUFZ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YWJsZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IFN0YWNrQmxpdHpTREsgZnJvbSAnQHN0YWNrYmxpdHovc2RrJztcblxuaW1wb3J0IHtcbiAgT3Blbk9wdGlvbnMgYXMgU3RhY2tCbGl0ek9wZW5PcHRpb25zLFxuICBQcm9qZWN0IGFzIFN0YWNrQmxpdHpQcm9qZWN0XG59IGZyb20gJ0BzdGFja2JsaXR6L3Nkay90eXBpbmdzL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzU291cmNlQ29kZUZpbGVcbn0gZnJvbSAnLi4vc291cmNlLWNvZGUvc291cmNlLWNvZGUtZmlsZSc7XG5cbmltcG9ydCB7XG4gIFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llc1xufSBmcm9tICcuL2NvZGUtZXhhbXBsZS1tb2R1bGUtZGVwZW5kZW5jaWVzJztcblxuaW1wb3J0IHtcbiAgU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWVcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUtdGhlbWUnO1xuXG5pbXBvcnQge1xuICBTa3lEb2NzQ29kZUV4YW1wbGVcbn0gZnJvbSAnLi9jb2RlLWV4YW1wbGUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa3lEb2NzQ29kZUV4YW1wbGVzRWRpdG9yU2VydmljZSB7XG5cbiAgcHVibGljIGxhdW5jaEVkaXRvcihjb2RlRXhhbXBsZTogU2t5RG9jc0NvZGVFeGFtcGxlKTogdm9pZCB7XG4gICAgY29uc3QgcHJvamVjdCA9IHRoaXMuZ2V0UGF5bG9hZChjb2RlRXhhbXBsZSk7XG4gICAgY29uc3Qgb3B0aW9uczogU3RhY2tCbGl0ek9wZW5PcHRpb25zID0ge307XG5cbiAgICBTdGFja0JsaXR6U0RLLm9wZW5Qcm9qZWN0KHByb2plY3QsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXlsb2FkKGNvZGVFeGFtcGxlOiBTa3lEb2NzQ29kZUV4YW1wbGUpOiBTdGFja0JsaXR6UHJvamVjdCB7XG4gICAgY29uc3QgYW5ndWxhclZlcnNpb24gPSAnXjEyLjIuMCc7XG4gICAgY29uc3Qgc2t5dXhWZXJzaW9uID0gJ141LjAuMC0wJztcblxuICAgIGNvbnN0IGRlZmF1bHREZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyA9IHtcbiAgICAgICdAYW5ndWxhci9hbmltYXRpb25zJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tbW9uJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvY29tcGlsZXInOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9jb3JlJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvZm9ybXMnOiBhbmd1bGFyVmVyc2lvbixcbiAgICAgICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQGFuZ3VsYXIvcm91dGVyJzogYW5ndWxhclZlcnNpb24sXG4gICAgICAnQHNreXV4L2FuaW1hdGlvbnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Fzc2V0cyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvY29uZmlnJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9jb3JlJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9lcnJvcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L2Zvcm1zJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9odHRwJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pMThuJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9pbmRpY2F0b3JzJzogc2t5dXhWZXJzaW9uLFxuICAgICAgJ0Bza3l1eC9sYXlvdXQnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L21vZGFscyc6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvcG9wb3ZlcnMnOiBza3l1eFZlcnNpb24sXG4gICAgICAnQHNreXV4L3JvdXRlcic6IHNreXV4VmVyc2lvbixcbiAgICAgICdAc2t5dXgvdGhlbWUnOiBza3l1eFZlcnNpb24sXG4gICAgICAncnhqcyc6ICdeNi42LjAnLFxuICAgICAgJ3RzbGliJzogJ14yLjMuMCcsXG4gICAgICAnem9uZS5qcyc6ICd+MC4xMS40J1xuICAgIH07XG5cbiAgICBjb25zdCBtZXJnZWREZXBlbmRlbmNpZXMgPSBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICBkZWZhdWx0RGVwZW5kZW5jaWVzLFxuICAgICAgY29kZUV4YW1wbGUucGFja2FnZURlcGVuZGVuY2llc1xuICAgICk7XG5cbiAgICAvLyBFbnN1cmUgYW55IEBza3l1eCBkZXBlbmRlbmNpZXMgbGlzdCB0aGUgY29ycmVjdCB2ZXJzaW9uIG9mIFNLWSBVWC5cbiAgICAvLyBlLmcuIGBcIkBza3l1eC9jb3JlXCI6IFwiKlwiYCAtLT4gYFwiQHNreXV4L2NvcmVcIjogXCI1LjAuMFwiYFxuICAgIGZvciAoY29uc3QgcGFja2FnZU5hbWUgaW4gbWVyZ2VkRGVwZW5kZW5jaWVzKSB7XG4gICAgICAvKmlzdGFuYnVsIGlnbm9yZSBlbHNlKi9cbiAgICAgIGlmIChtZXJnZWREZXBlbmRlbmNpZXMuaGFzT3duUHJvcGVydHkocGFja2FnZU5hbWUpKSB7XG4gICAgICAgIGNvbnN0IHZlcnNpb24gPSBtZXJnZWREZXBlbmRlbmNpZXNbcGFja2FnZU5hbWVdO1xuICAgICAgICBpZiAodmVyc2lvbiA9PT0gJyonICYmIC9eKEBibGFja2JhdWRcXC9za3l1eC1saWItfEBza3l1eCkvLnRlc3QocGFja2FnZU5hbWUpKSB7XG4gICAgICAgICAgbWVyZ2VkRGVwZW5kZW5jaWVzW3BhY2thZ2VOYW1lXSA9IHNreXV4VmVyc2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGZpbGVzID0gdGhpcy5wYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICAgIGNvZGVFeGFtcGxlLnNvdXJjZUNvZGUsXG4gICAgICBtZXJnZWREZXBlbmRlbmNpZXMsXG4gICAgICBjb2RlRXhhbXBsZS50aGVtZVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZXMsXG4gICAgICB0aXRsZTogJ1NLWSBVWCBEZW1vJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnU0tZIFVYIERlbW8nLFxuICAgICAgdGVtcGxhdGU6ICdhbmd1bGFyLWNsaScsXG4gICAgICBkZXBlbmRlbmNpZXM6IG1lcmdlZERlcGVuZGVuY2llcyxcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGNvbXBpbGU6IHtcbiAgICAgICAgICBjbGVhckNvbnNvbGU6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZVN0YWNrQmxpdHpGaWxlcyhcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXSxcbiAgICBkZXBlbmRlbmNpZXM6IFNreURvY3NDb2RlRXhhbXBsZU1vZHVsZURlcGVuZGVuY2llcyxcbiAgICB0aGVtZTogU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWVcbiAgKToge1xuICAgIFtwYXRoOiBzdHJpbmddOiBzdHJpbmc7XG4gIH0ge1xuXG4gICAgY29uc3Qgc3JjUGF0aCA9ICdzcmMvJztcbiAgICBjb25zdCBhcHBQYXRoID0gYCR7c3JjUGF0aH1hcHAvYDtcblxuICAgIGNvbnN0IGJhbm5lciA9IGAvKipcbiAqIFRoaXMgZmlsZSBpcyBuZWVkZWQgZm9yIHRoZSBTdGFja0JsaXR6IGRlbW8gb25seS5cbiAqIEl0IGlzIGF1dG9tYXRpY2FsbHkgcHJvdmlkZWQgd2hlbiB1c2luZyB0aGUgQW5ndWxhciBDTEkuXG4gKiovXG4gYDtcblxuICAgIGNvbnN0IG1vZHVsZUltcG9ydFN0YXRlbWVudHM6IHN0cmluZ1tdID0gW1xuICAgICAgYGltcG9ydCB7XFxuICBDb21wb25lbnQsXFxuICBOZ01vZHVsZVxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgRm9ybXNNb2R1bGUsXFxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgcGxhdGZvcm1Ccm93c2VyRHluYW1pY1xcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBCcm93c2VyTW9kdWxlXFxufSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBSb3V0ZXJNb2R1bGVcXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgU2t5QXBwTG9jYWxlUHJvdmlkZXJcXG59IGZyb20gJ0Bza3l1eC9pMThuJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBTa3lUaGVtZVNlcnZpY2VcXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7YCxcbiAgICAgIGBpbXBvcnQge1xcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mXFxufSBmcm9tICdyeGpzJztgLFxuICAgICAgYGltcG9ydCB7XFxuICBBcHBDb21wb25lbnRcXG59IGZyb20gJy4vYXBwLmNvbXBvbmVudCc7YFxuICAgIF07XG5cbiAgICBjb25zdCBtb2R1bGVJbXBvcnRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICdCcm93c2VyTW9kdWxlJyxcbiAgICAgICdGb3Jtc01vZHVsZScsXG4gICAgICAnUmVhY3RpdmVGb3Jtc01vZHVsZScsXG4gICAgICAnUm91dGVyTW9kdWxlLmZvclJvb3QoW10pJ1xuICAgIF07XG5cbiAgICBjb25zdCBmaWxlczoge1tfOiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICBsZXQgYXBwQ29tcG9uZW50VGVtcGxhdGUgPSAnJztcblxuICAgIHNvdXJjZUNvZGUuZm9yRWFjaCgoZmlsZSkgPT4ge1xuICAgICAgZmlsZXNbYCR7YXBwUGF0aH0ke2ZpbGUuZmlsZU5hbWV9YF0gPSBmaWxlLnJhd0NvbnRlbnRzO1xuXG4gICAgICAvLyBTZXR1cCBtb2R1bGUgaW1wb3J0cyBhbmQgY29tcG9uZW50IHNlbGVjdG9ycy5cbiAgICAgIGlmIChmaWxlLmZpbGVOYW1lLmluZGV4T2YoJy5tb2R1bGUudHMnKSA+IC0xKSB7XG4gICAgICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0aGlzLmdldE1vZHVsZU5hbWUoZmlsZS5yYXdDb250ZW50cyk7XG4gICAgICAgIGNvbnN0IGltcG9ydFBhdGggPSBgLi8ke3RoaXMuZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlLmZpbGVOYW1lKX1gO1xuXG4gICAgICAgIGNvbnN0IGV4cG9ydGVkQ29tcG9uZW50ID0gdGhpcy5nZXRFeHBvcnRlZENvbXBvbmVudChmaWxlLnJhd0NvbnRlbnRzKTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50U2VsZWN0b3IgPSB0aGlzLmdldENvbXBvbmVudFNlbGVjdG9yKGV4cG9ydGVkQ29tcG9uZW50LCBzb3VyY2VDb2RlKTtcblxuICAgICAgICBhcHBDb21wb25lbnRUZW1wbGF0ZSArPSBgPCR7Y29tcG9uZW50U2VsZWN0b3J9PjwvJHtjb21wb25lbnRTZWxlY3Rvcn0+YDtcblxuICAgICAgICBtb2R1bGVJbXBvcnRzLnB1c2gobW9kdWxlTmFtZSk7XG4gICAgICAgIG1vZHVsZUltcG9ydFN0YXRlbWVudHMucHVzaChgaW1wb3J0IHtcXG4gICR7bW9kdWxlTmFtZX1cXG59IGZyb20gJyR7aW1wb3J0UGF0aH0nO2ApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgICBmaWxlc1tgJHthcHBQYXRofWFwcC5jb21wb25lbnQudHNgXSA9IGAke2Jhbm5lcn1cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge1xuICBTa3lUaGVtZSxcbiAgU2t5VGhlbWVNb2RlLFxuICBTa3lUaGVtZVNlcnZpY2UsXG4gIFNreVRoZW1lU2V0dGluZ3Ncbn0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRlbW8tYXBwJyxcbiAgdGVtcGxhdGU6ICcke2FwcENvbXBvbmVudFRlbXBsYXRlfSdcbn0pXG5leHBvcnQgY2xhc3MgQXBwQ29tcG9uZW50IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHJlbmRlcmVyPzogUmVuZGVyZXIyXG4gICkge1xuICAgICAgY29uc3QgdGhlbWVTZXR0aW5ncyA9IG5ldyBTa3lUaGVtZVNldHRpbmdzKFxuICAgICAgICBTa3lUaGVtZS5wcmVzZXRzWycke3RoZW1lID09PSBTa3lEb2NzQ29kZUV4YW1wbGVUaGVtZS5Nb2Rlcm4gPyAnbW9kZXJuJyA6ICdkZWZhdWx0J30nXSxcbiAgICAgICAgU2t5VGhlbWVNb2RlLnByZXNldHMubGlnaHRcbiAgICAgICk7XG5cbiAgICAgIHRoZW1lU3ZjLmluaXQoXG4gICAgICAgIGRvY3VtZW50LmJvZHksXG4gICAgICAgIHJlbmRlcmVyLFxuICAgICAgICB0aGVtZVNldHRpbmdzXG4gICAgICApO1xuICB9XG5cbn1gO1xuXG4gICAgZmlsZXNbYCR7YXBwUGF0aH1hcHAubW9kdWxlLnRzYF0gPSBgJHttb2R1bGVJbXBvcnRTdGF0ZW1lbnRzLmpvaW4oJ1xcblxcbicpfVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgJHttb2R1bGVJbXBvcnRzLmpvaW4oJyxcXG4gICAgJyl9XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEFwcENvbXBvbmVudFxuICBdLFxuICBib290c3RyYXA6IFtcbiAgICBBcHBDb21wb25lbnRcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5VGhlbWVTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNreUFwcExvY2FsZVByb3ZpZGVyLFxuICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgZ2V0TG9jYWxlSW5mbzogKCkgPT4gb2JzZXJ2YWJsZU9mKHtcbiAgICAgICAgICBsb2NhbGU6ICdlbi1VUydcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHsgfVxuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9aW5kZXguaHRtbGBdID0gYDwhLS1cbiAgVGhlIENTUyBsaW5rcyBhcmUgbmVlZGVkIGZvciB0aGUgU3RhY2tCbGl0eiBkZW1vIG9ubHkuXG4gIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBhIGtub3duIGJ1ZyB0aGF0IHByZXZlbnRzIGV4dGVybmFsIGltcG9ydHMgaW4gQ1NTLlxuICBodHRwczovL2dpdGh1Yi5jb20vc3RhY2tibGl0ei9jb3JlL2lzc3Vlcy8xMzNcbi0tPlxuPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHR5cGU9XCJ0ZXh0L2Nzc1wiIGhyZWY9XCJodHRwczovL21heGNkbi5ib290c3RyYXBjZG4uY29tL2ZvbnQtYXdlc29tZS80LjcuMC9jc3MvZm9udC1hd2Vzb21lLm1pbi5jc3NcIiAvPiR7dGhlbWUgPT09IFNreURvY3NDb2RlRXhhbXBsZVRoZW1lLk1vZGVybiA/IGA8bGluayByZWw9XCJzdHlsZXNoZWV0XCIgdHlwZT1cInRleHQvY3NzXCIgaHJlZj1cImh0dHBzOi8vc2t5LmJsYWNrYmF1ZGNkbi5uZXQvc3RhdGljL3NreXV4LWljb25zLzUuMC4wL2Fzc2V0cy9jc3Mvc2t5dXgtaWNvbnMubWluLmNzc1wiIC8+YCA6IGBgfVxuXG48c2t5LWRlbW8tYXBwPlxuICBMb2FkaW5nLi4uXG48L3NreS1kZW1vLWFwcD5gO1xuXG4gICAgZmlsZXNbYCR7c3JjUGF0aH1tYWluLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJy4vcG9seWZpbGxzJztcblxuaW1wb3J0IHtcbiAgZW5hYmxlUHJvZE1vZGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIHBsYXRmb3JtQnJvd3NlckR5bmFtaWNcbn0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci1keW5hbWljJztcblxuaW1wb3J0IHtcbiAgQXBwTW9kdWxlXG59IGZyb20gJy4vYXBwL2FwcC5tb2R1bGUnO1xuXG5wbGF0Zm9ybUJyb3dzZXJEeW5hbWljKCkuYm9vdHN0cmFwTW9kdWxlKEFwcE1vZHVsZSkudGhlbihyZWYgPT4ge1xuICBpZiAod2luZG93WyduZ1JlZiddKSB7XG4gICAgd2luZG93WyduZ1JlZiddLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHdpbmRvd1snbmdSZWYnXSA9IHJlZjtcbn0pLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKGVycikpO1xuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9cG9seWZpbGxzLnRzYF0gPSBgJHtiYW5uZXJ9XG5pbXBvcnQgJ3pvbmUuanMnO1xuYDtcblxuICAgIGZpbGVzW2Ake3NyY1BhdGh9c3R5bGVzLnNjc3NgXSA9IGBAaW1wb3J0ICd+QHNreXV4L3RoZW1lL2Nzcy9za3knO1xuJHt0aGVtZSA9PT0gU2t5RG9jc0NvZGVFeGFtcGxlVGhlbWUuTW9kZXJuID8gYEBpbXBvcnQgJ35Ac2t5dXgvdGhlbWUvY3NzL3RoZW1lcy9tb2Rlcm4vc3R5bGVzJztgIDogYGB9XG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luOiAxNXB4O1xufWA7XG5cbiAgICBmaWxlc1snYW5ndWxhci5qc29uJ10gPSBge1xuICBcInByb2plY3RzXCI6IHtcbiAgICBcImRlbW9cIjoge1xuICAgICAgXCJhcmNoaXRlY3RcIjoge1xuICAgICAgICBcImJ1aWxkXCI6IHtcbiAgICAgICAgICBcIm9wdGlvbnNcIjoge1xuICAgICAgICAgICAgXCJpbmRleFwiOiBcInNyYy9pbmRleC5odG1sXCIsXG4gICAgICAgICAgICBcInN0eWxlc1wiOiBbXG4gICAgICAgICAgICAgIFwic3JjL3N0eWxlcy5zY3NzXCJcbiAgICAgICAgICAgIF1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1gO1xuXG4gICAgZmlsZXNbJ3BhY2thZ2UuanNvbiddID0gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgZGVwZW5kZW5jaWVzXG4gICAgfSwgdW5kZWZpbmVkLCAyKTtcblxuICAgIGZpbGVzWyd0c2NvbmZpZy5qc29uJ10gPSBge1xuICBcImNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJ0YXJnZXRcIjogXCJlczIwMTdcIixcbiAgICBcIm1vZHVsZVwiOiBcImVzMjAyMFwiLFxuICAgIFwibW9kdWxlUmVzb2x1dGlvblwiOiBcIm5vZGVcIixcbiAgICBcImVtaXREZWNvcmF0b3JNZXRhZGF0YVwiOiB0cnVlLFxuICAgIFwiZXhwZXJpbWVudGFsRGVjb3JhdG9yc1wiOiB0cnVlLFxuICAgIFwiaW1wb3J0SGVscGVyc1wiOiB0cnVlLFxuICAgIFwidHlwZVJvb3RzXCI6IFtcIm5vZGVfbW9kdWxlcy9AdHlwZXNcIl0sXG4gICAgXCJsaWJcIjogW1xuICAgICAgXCJlczIwMThcIixcbiAgICAgIFwiZG9tXCJcbiAgICBdXG4gIH0sXG4gIFwiYW5ndWxhckNvbXBpbGVyT3B0aW9uc1wiOiB7XG4gICAgXCJmdWxsVGVtcGxhdGVUeXBlQ2hlY2tcIjogdHJ1ZSxcbiAgICBcInN0cmljdEluamVjdGlvblBhcmFtZXRlcnNcIjogdHJ1ZSxcbiAgICBcInN0cmljdElucHV0QWNjZXNzTW9kaWZpZXJzXCI6IHRydWUsXG4gICAgXCJzdHJpY3RUZW1wbGF0ZXNcIjogdHJ1ZSxcbiAgICBcImVuYWJsZUl2eVwiOiBmYWxzZVxuICB9XG59YDtcblxuICAgIHJldHVybiBmaWxlcztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TW9kdWxlTmFtZShjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY29udGVudHMuc3BsaXQoJ2V4cG9ydCBjbGFzcyAnKVsxXS5zcGxpdCgnIHsnKVswXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZW5hbWVOb0V4dGVuc2lvbihmaWxlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBleHRlbnNpb24gPSBmaWxlTmFtZS5zcGxpdCgnLicpLnBvcCgpO1xuICAgIHJldHVybiBmaWxlTmFtZS5yZXBsYWNlKGAuJHtleHRlbnNpb259YCwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFeHBvcnRlZENvbXBvbmVudChjb250ZW50czogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0cmltbWVkID0gY29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIGxldCBmcmFnbWVudCA9IHRyaW1tZWQuc3BsaXQoJ2V4cG9ydHM6WycpWzFdO1xuICAgIGlmICghZnJhZ21lbnQpIHtcbiAgICAgIHRocm93ICdZb3UgbXVzdCBleHBvcnQgYSBjb21wb25lbnQgZnJvbSB0aGUgY29kZSBleGFtcGxlIG1vZHVsZSEnO1xuICAgIH1cblxuICAgIGZyYWdtZW50ID0gZnJhZ21lbnQuc3BsaXQoJ10nKVswXTtcblxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSBmcmFnbWVudC5zcGxpdCgnLCcpLmZpbHRlcih4ID0+IHgpO1xuXG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgJ1lvdSBtYXkgb25seSBleHBvcnQgYSBzaW5nbGUgY29tcG9uZW50IGZyb20gdGhlIGNvZGUgZXhhbXBsZSBtb2R1bGUnICtcbiAgICAgICAgYCh3ZSBmb3VuZCAke2NvbXBvbmVudHMubGVuZ3RofTogJHtjb21wb25lbnRzLmpvaW4oJywgJyl9KS5gICtcbiAgICAgICAgJ0lzIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBhIG5ldyBjb2RlIGV4YW1wbGUgd2l0aCB0aGUgZXh0cmEgY29tcG9uZW50cz8nO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wb25lbnRTZWxlY3RvcihcbiAgICBjb21wb25lbnRDbGFzc05hbWU6IHN0cmluZyxcbiAgICBzb3VyY2VDb2RlOiBTa3lEb2NzU291cmNlQ29kZUZpbGVbXVxuICApOiBzdHJpbmcge1xuXG4gICAgY29uc3QgZm91bmQgPSBzb3VyY2VDb2RlLmZpbmQoKGZpbGUpID0+IHtcbiAgICAgIHJldHVybiAoZmlsZS5yYXdDb250ZW50cy5pbmRleE9mKGNvbXBvbmVudENsYXNzTmFtZSkgPiAtMSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCB0cmltbWVkID0gZm91bmQucmF3Q29udGVudHMucmVwbGFjZSgvXFxzL2csICcnKTtcblxuICAgIHJldHVybiB0cmltbWVkLnNwbGl0KGBzZWxlY3RvcjonYClbMV0uc3BsaXQoYCdgKVswXTtcbiAgfVxuXG59XG4iXX0=