@ng-doc/app 16.7.2 → 16.8.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 (137) hide show
  1. package/components/playground/base-playground.d.ts +4 -2
  2. package/components/playground/playground-demo/playground-demo.component.d.ts +2 -1
  3. package/components/playground/playground-properties/playground-properties.component.d.ts +2 -1
  4. package/components/playground/playground.component.d.ts +8 -6
  5. package/esm2022/components/code/code.component.mjs +5 -7
  6. package/esm2022/components/page/page.component.mjs +5 -28
  7. package/esm2022/components/playground/base-playground.mjs +7 -4
  8. package/esm2022/components/playground/playground-demo/playground-demo.component.mjs +10 -4
  9. package/esm2022/components/playground/playground-properties/playground-properties.component.mjs +6 -3
  10. package/esm2022/components/playground/playground.component.mjs +24 -10
  11. package/esm2022/interfaces/index.mjs +2 -1
  12. package/esm2022/interfaces/page-processor.mjs +2 -0
  13. package/esm2022/interfaces/processor-options.mjs +1 -1
  14. package/esm2022/modules/root/ng-doc.module.mjs +3 -1
  15. package/esm2022/processors/default-processors.mjs +18 -0
  16. package/esm2022/processors/index.mjs +4 -11
  17. package/esm2022/processors/{code-processor → page-processor}/index.mjs +2 -2
  18. package/esm2022/processors/{icon-processor/ng-doc-app-processors-icon-processor.mjs → page-processor/ng-doc-app-processors-page-processor.mjs} +1 -1
  19. package/esm2022/processors/page-processor/page-processor.directive.mjs +52 -0
  20. package/esm2022/processors/processors/blockquote.processor.mjs +12 -0
  21. package/esm2022/processors/processors/code.processor.mjs +15 -0
  22. package/esm2022/processors/processors/demo-pane.processor.mjs +12 -0
  23. package/esm2022/processors/processors/demo.processor.mjs +12 -0
  24. package/esm2022/processors/processors/icon.processor.mjs +12 -0
  25. package/esm2022/processors/processors/index.mjs +10 -0
  26. package/esm2022/processors/processors/link.processor.mjs +13 -0
  27. package/esm2022/processors/processors/ng-doc-app-processors-processors.mjs +5 -0
  28. package/esm2022/processors/processors/playground.processor.mjs +19 -0
  29. package/esm2022/processors/processors/tabs.processor.mjs +25 -0
  30. package/esm2022/processors/processors/tooltip.processor.mjs +58 -0
  31. package/esm2022/tokens/index.mjs +2 -1
  32. package/esm2022/tokens/page-processor.mjs +17 -0
  33. package/fesm2022/ng-doc-app-components-code.mjs +4 -6
  34. package/fesm2022/ng-doc-app-components-code.mjs.map +1 -1
  35. package/fesm2022/ng-doc-app-components-page.mjs +4 -27
  36. package/fesm2022/ng-doc-app-components-page.mjs.map +1 -1
  37. package/fesm2022/ng-doc-app-components-playground.mjs +42 -18
  38. package/fesm2022/ng-doc-app-components-playground.mjs.map +1 -1
  39. package/fesm2022/ng-doc-app-modules-root.mjs +2 -0
  40. package/fesm2022/ng-doc-app-modules-root.mjs.map +1 -1
  41. package/fesm2022/ng-doc-app-processors-page-processor.mjs +58 -0
  42. package/fesm2022/ng-doc-app-processors-page-processor.mjs.map +1 -0
  43. package/fesm2022/ng-doc-app-processors-processors.mjs +183 -0
  44. package/fesm2022/ng-doc-app-processors-processors.mjs.map +1 -0
  45. package/fesm2022/ng-doc-app-processors.mjs +22 -10
  46. package/fesm2022/ng-doc-app-processors.mjs.map +1 -1
  47. package/fesm2022/ng-doc-app-tokens.mjs +17 -1
  48. package/fesm2022/ng-doc-app-tokens.mjs.map +1 -1
  49. package/interfaces/index.d.ts +1 -0
  50. package/interfaces/page-processor.d.ts +28 -0
  51. package/interfaces/processor-options.d.ts +2 -3
  52. package/package.json +14 -62
  53. package/processors/default-processors.d.ts +2 -0
  54. package/processors/index.d.ts +3 -10
  55. package/processors/page-processor/index.d.ts +1 -0
  56. package/processors/page-processor/page-processor.directive.d.ts +19 -0
  57. package/processors/processors/blockquote.processor.d.ts +3 -0
  58. package/processors/processors/code.processor.d.ts +3 -0
  59. package/processors/processors/demo-pane.processor.d.ts +3 -0
  60. package/processors/processors/demo.processor.d.ts +3 -0
  61. package/processors/processors/icon.processor.d.ts +3 -0
  62. package/processors/processors/index.d.ts +9 -0
  63. package/processors/processors/link.processor.d.ts +3 -0
  64. package/processors/processors/playground.processor.d.ts +3 -0
  65. package/processors/processors/tabs.processor.d.ts +3 -0
  66. package/processors/{tooltip-processor/tooltip-wrapper.component.d.ts → processors/tooltip.processor.d.ts} +4 -1
  67. package/tokens/index.d.ts +1 -0
  68. package/tokens/page-processor.d.ts +11 -0
  69. package/esm2022/processors/blockquote-processor/blockquote-processor.directive.mjs +0 -30
  70. package/esm2022/processors/blockquote-processor/index.mjs +0 -2
  71. package/esm2022/processors/blockquote-processor/ng-doc-app-processors-blockquote-processor.mjs +0 -5
  72. package/esm2022/processors/code-processor/code-processor.directive.mjs +0 -35
  73. package/esm2022/processors/code-processor/ng-doc-app-processors-code-processor.mjs +0 -5
  74. package/esm2022/processors/demo-pane-processor/demo-pane-processor.directive.mjs +0 -38
  75. package/esm2022/processors/demo-pane-processor/index.mjs +0 -2
  76. package/esm2022/processors/demo-pane-processor/ng-doc-app-processors-demo-pane-processor.mjs +0 -5
  77. package/esm2022/processors/demo-processor/demo-processor.directive.mjs +0 -38
  78. package/esm2022/processors/demo-processor/index.mjs +0 -2
  79. package/esm2022/processors/demo-processor/ng-doc-app-processors-demo-processor.mjs +0 -5
  80. package/esm2022/processors/html-processor/html-processor.directive.mjs +0 -44
  81. package/esm2022/processors/html-processor/index.mjs +0 -2
  82. package/esm2022/processors/html-processor/ng-doc-app-processors-html-processor.mjs +0 -5
  83. package/esm2022/processors/icon-processor/icon-processor.directive.mjs +0 -30
  84. package/esm2022/processors/icon-processor/index.mjs +0 -2
  85. package/esm2022/processors/link-processor/index.mjs +0 -2
  86. package/esm2022/processors/link-processor/link-processor.directive.mjs +0 -31
  87. package/esm2022/processors/link-processor/ng-doc-app-processors-link-processor.mjs +0 -5
  88. package/esm2022/processors/playground-processor/index.mjs +0 -2
  89. package/esm2022/processors/playground-processor/ng-doc-app-processors-playground-processor.mjs +0 -5
  90. package/esm2022/processors/playground-processor/playground-processor.directive.mjs +0 -36
  91. package/esm2022/processors/tabs-processor/index.mjs +0 -2
  92. package/esm2022/processors/tabs-processor/ng-doc-app-processors-tabs-processor.mjs +0 -5
  93. package/esm2022/processors/tabs-processor/tabs-processor.directive.mjs +0 -44
  94. package/esm2022/processors/tooltip-processor/index.mjs +0 -3
  95. package/esm2022/processors/tooltip-processor/ng-doc-app-processors-tooltip-processor.mjs +0 -5
  96. package/esm2022/processors/tooltip-processor/tooltip-processor.directive.mjs +0 -30
  97. package/esm2022/processors/tooltip-processor/tooltip-wrapper.component.mjs +0 -49
  98. package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs +0 -36
  99. package/fesm2022/ng-doc-app-processors-blockquote-processor.mjs.map +0 -1
  100. package/fesm2022/ng-doc-app-processors-code-processor.mjs +0 -41
  101. package/fesm2022/ng-doc-app-processors-code-processor.mjs.map +0 -1
  102. package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs +0 -44
  103. package/fesm2022/ng-doc-app-processors-demo-pane-processor.mjs.map +0 -1
  104. package/fesm2022/ng-doc-app-processors-demo-processor.mjs +0 -44
  105. package/fesm2022/ng-doc-app-processors-demo-processor.mjs.map +0 -1
  106. package/fesm2022/ng-doc-app-processors-html-processor.mjs +0 -50
  107. package/fesm2022/ng-doc-app-processors-html-processor.mjs.map +0 -1
  108. package/fesm2022/ng-doc-app-processors-icon-processor.mjs +0 -36
  109. package/fesm2022/ng-doc-app-processors-icon-processor.mjs.map +0 -1
  110. package/fesm2022/ng-doc-app-processors-link-processor.mjs +0 -37
  111. package/fesm2022/ng-doc-app-processors-link-processor.mjs.map +0 -1
  112. package/fesm2022/ng-doc-app-processors-playground-processor.mjs +0 -42
  113. package/fesm2022/ng-doc-app-processors-playground-processor.mjs.map +0 -1
  114. package/fesm2022/ng-doc-app-processors-tabs-processor.mjs +0 -50
  115. package/fesm2022/ng-doc-app-processors-tabs-processor.mjs.map +0 -1
  116. package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs +0 -81
  117. package/fesm2022/ng-doc-app-processors-tooltip-processor.mjs.map +0 -1
  118. package/processors/blockquote-processor/blockquote-processor.directive.d.ts +0 -13
  119. package/processors/blockquote-processor/index.d.ts +0 -1
  120. package/processors/code-processor/code-processor.directive.d.ts +0 -14
  121. package/processors/code-processor/index.d.ts +0 -1
  122. package/processors/demo-pane-processor/demo-pane-processor.directive.d.ts +0 -14
  123. package/processors/demo-pane-processor/index.d.ts +0 -1
  124. package/processors/demo-processor/demo-processor.directive.d.ts +0 -14
  125. package/processors/demo-processor/index.d.ts +0 -1
  126. package/processors/html-processor/html-processor.directive.d.ts +0 -20
  127. package/processors/html-processor/index.d.ts +0 -1
  128. package/processors/icon-processor/icon-processor.directive.d.ts +0 -13
  129. package/processors/icon-processor/index.d.ts +0 -1
  130. package/processors/link-processor/index.d.ts +0 -1
  131. package/processors/link-processor/link-processor.directive.d.ts +0 -13
  132. package/processors/playground-processor/index.d.ts +0 -1
  133. package/processors/playground-processor/playground-processor.directive.d.ts +0 -13
  134. package/processors/tabs-processor/index.d.ts +0 -1
  135. package/processors/tabs-processor/tabs-processor.directive.d.ts +0 -15
  136. package/processors/tooltip-processor/index.d.ts +0 -2
  137. package/processors/tooltip-processor/tooltip-processor.directive.d.ts +0 -13
@@ -0,0 +1,10 @@
1
+ export * from './blockquote.processor';
2
+ export * from './code.processor';
3
+ export * from './demo.processor';
4
+ export * from './demo-pane.processor';
5
+ export * from './icon.processor';
6
+ export * from './link.processor';
7
+ export * from './playground.processor';
8
+ export * from './tabs.processor';
9
+ export * from './tooltip.processor';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jsb2NrcXVvdGUucHJvY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vY29kZS5wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9kZW1vLnByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2RlbW8tcGFuZS5wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uLnByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpbmsucHJvY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vcGxheWdyb3VuZC5wcm9jZXNzb3InO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzLnByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2x0aXAucHJvY2Vzc29yJztcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ import { NgDocPageLinkComponent } from '@ng-doc/app/components/page-link';
2
+ export const linkProcessor = {
3
+ component: NgDocPageLinkComponent,
4
+ selector: 'a',
5
+ extractOptions: (element) => ({
6
+ inputs: {
7
+ href: element.getAttribute('href') ?? '',
8
+ classes: element.getAttribute('class') ?? '',
9
+ },
10
+ content: [Array.from(element.childNodes)],
11
+ }),
12
+ };
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvbGluay5wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFHeEUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUErQztJQUN4RSxTQUFTLEVBQUUsc0JBQXNCO0lBQ2pDLFFBQVEsRUFBRSxHQUFHO0lBQ2IsY0FBYyxFQUFFLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLEVBQUU7WUFDUCxJQUFJLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7U0FDNUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQUN6QyxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdEb2NQYWdlTGlua0NvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9wYWdlLWxpbmsnO1xuaW1wb3J0IHtOZ0RvY1BhZ2VQcm9jZXNzb3J9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgbGlua1Byb2Nlc3NvcjogTmdEb2NQYWdlUHJvY2Vzc29yPE5nRG9jUGFnZUxpbmtDb21wb25lbnQ+ID0ge1xuXHRjb21wb25lbnQ6IE5nRG9jUGFnZUxpbmtDb21wb25lbnQsXG5cdHNlbGVjdG9yOiAnYScsXG5cdGV4dHJhY3RPcHRpb25zOiAoZWxlbWVudDogRWxlbWVudCkgPT4gKHtcblx0XHRpbnB1dHM6IHtcblx0XHRcdGhyZWY6IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdocmVmJykgPz8gJycsXG5cdFx0XHRjbGFzc2VzOiBlbGVtZW50LmdldEF0dHJpYnV0ZSgnY2xhc3MnKSA/PyAnJyxcblx0XHR9LFxuXHRcdGNvbnRlbnQ6IFtBcnJheS5mcm9tKGVsZW1lbnQuY2hpbGROb2RlcyldLFxuXHR9KSxcbn07XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZG9jLWFwcC1wcm9jZXNzb3JzLXByb2Nlc3NvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvbmctZG9jLWFwcC1wcm9jZXNzb3JzLXByb2Nlc3NvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { NgDocPlaygroundComponent } from '@ng-doc/app/components/playground';
2
+ import { isPresent } from '@ng-doc/core';
3
+ export const playgroundProcessor = {
4
+ component: NgDocPlaygroundComponent,
5
+ selector: 'ng-doc-playground',
6
+ extractOptions: (element) => ({
7
+ inputs: {
8
+ id: element.getAttribute('id') || undefined,
9
+ properties: JSON.parse(element.querySelector('#data')?.textContent?.replace(/\n/g, '\\n') ?? '') || undefined,
10
+ pipeName: element.querySelector('#pipeName')?.textContent || undefined,
11
+ selectors: (element.querySelector('#selectors')?.textContent || '')
12
+ .split(',')
13
+ .map((selector) => selector.trim())
14
+ .filter(isPresent),
15
+ options: JSON.parse(element.querySelector('#options')?.textContent ?? '') || {},
16
+ },
17
+ }),
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWdyb3VuZC5wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvcGxheWdyb3VuZC5wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFM0UsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBaUQ7SUFDaEYsU0FBUyxFQUFFLHdCQUF3QjtJQUNuQyxRQUFRLEVBQUUsbUJBQW1CO0lBQzdCLGNBQWMsRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdEMsTUFBTSxFQUFFO1lBQ1AsRUFBRSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUztZQUMzQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLFNBQVM7WUFDN0csUUFBUSxFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxJQUFJLFNBQVM7WUFDdEUsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO2lCQUNqRSxLQUFLLENBQUMsR0FBRyxDQUFDO2lCQUNWLEdBQUcsQ0FBQyxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztpQkFDMUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUFFO1NBQy9FO0tBQ0QsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nRG9jUGxheWdyb3VuZENvbXBvbmVudH0gZnJvbSAnQG5nLWRvYy9hcHAvY29tcG9uZW50cy9wbGF5Z3JvdW5kJztcbmltcG9ydCB7TmdEb2NQYWdlUHJvY2Vzc29yfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcbmltcG9ydCB7aXNQcmVzZW50fSBmcm9tICdAbmctZG9jL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgcGxheWdyb3VuZFByb2Nlc3NvcjogTmdEb2NQYWdlUHJvY2Vzc29yPE5nRG9jUGxheWdyb3VuZENvbXBvbmVudD4gPSB7XG5cdGNvbXBvbmVudDogTmdEb2NQbGF5Z3JvdW5kQ29tcG9uZW50LFxuXHRzZWxlY3RvcjogJ25nLWRvYy1wbGF5Z3JvdW5kJyxcblx0ZXh0cmFjdE9wdGlvbnM6IChlbGVtZW50OiBFbGVtZW50KSA9PiAoe1xuXHRcdGlucHV0czoge1xuXHRcdFx0aWQ6IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdpZCcpIHx8IHVuZGVmaW5lZCxcblx0XHRcdHByb3BlcnRpZXM6IEpTT04ucGFyc2UoZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjZGF0YScpPy50ZXh0Q29udGVudD8ucmVwbGFjZSgvXFxuL2csICdcXFxcbicpID8/ICcnKSB8fCB1bmRlZmluZWQsXG5cdFx0XHRwaXBlTmFtZTogZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjcGlwZU5hbWUnKT8udGV4dENvbnRlbnQgfHwgdW5kZWZpbmVkLFxuXHRcdFx0c2VsZWN0b3JzOiAoZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjc2VsZWN0b3JzJyk/LnRleHRDb250ZW50IHx8ICcnKVxuXHRcdFx0XHQuc3BsaXQoJywnKVxuXHRcdFx0XHQubWFwKChzZWxlY3Rvcjogc3RyaW5nKSA9PiBzZWxlY3Rvci50cmltKCkpXG5cdFx0XHRcdC5maWx0ZXIoaXNQcmVzZW50KSxcblx0XHRcdG9wdGlvbnM6IEpTT04ucGFyc2UoZWxlbWVudC5xdWVyeVNlbGVjdG9yKCcjb3B0aW9ucycpPy50ZXh0Q29udGVudCA/PyAnJykgfHwge30sXG5cdFx0fSxcblx0fSksXG59O1xuIl19
@@ -0,0 +1,25 @@
1
+ import { NgDocTabsComponent } from '@ng-doc/app/components/tabs';
2
+ export const tabsProcessor = {
3
+ component: NgDocTabsComponent,
4
+ selector: 'ng-doc-tab',
5
+ nodeToReplace: (element) => {
6
+ const anchor = document.createElement('div');
7
+ return element.parentNode?.insertBefore(anchor, element) ?? element;
8
+ },
9
+ extractOptions: (element, root) => {
10
+ const group = element.getAttribute('group') ?? '';
11
+ const tabs = Array.from(root.querySelectorAll(`ng-doc-tab[group="${group}"]`));
12
+ const mappedTabs = tabs.map((tab) => ({
13
+ title: tab.getAttribute('name') ?? '',
14
+ content: tab,
15
+ active: tab.hasAttribute('active'),
16
+ }));
17
+ tabs.forEach((tab) => tab.remove());
18
+ return {
19
+ inputs: {
20
+ tabs: mappedTabs,
21
+ },
22
+ };
23
+ },
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvdGFicy5wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFHL0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUEyQztJQUNwRSxTQUFTLEVBQUUsa0JBQWtCO0lBQzdCLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLGFBQWEsRUFBRSxDQUFDLE9BQWdCLEVBQUUsRUFBRTtRQUNuQyxNQUFNLE1BQU0sR0FBWSxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXRELE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLE9BQU8sQ0FBQztJQUNyRSxDQUFDO0lBQ0QsY0FBYyxFQUFFLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQUUsRUFBRTtRQUNuRCxNQUFNLEtBQUssR0FBa0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakUsTUFBTSxJQUFJLEdBQWMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxRixNQUFNLFVBQVUsR0FBZSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzFELEtBQUssRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDckMsT0FBTyxFQUFFLEdBQUc7WUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7U0FDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBWSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUU3QyxPQUFPO1lBQ04sTUFBTSxFQUFFO2dCQUNQLElBQUksRUFBRSxVQUFVO2FBQ2hCO1NBQ0QsQ0FBQztJQUNILENBQUM7Q0FDRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ0RvY1RhYnNDb21wb25lbnR9IGZyb20gJ0BuZy1kb2MvYXBwL2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQge05nRG9jUGFnZVByb2Nlc3NvciwgTmdEb2NUYWJ9IGZyb20gJ0BuZy1kb2MvYXBwL2ludGVyZmFjZXMnO1xuXG5leHBvcnQgY29uc3QgdGFic1Byb2Nlc3NvcjogTmdEb2NQYWdlUHJvY2Vzc29yPE5nRG9jVGFic0NvbXBvbmVudD4gPSB7XG5cdGNvbXBvbmVudDogTmdEb2NUYWJzQ29tcG9uZW50LFxuXHRzZWxlY3RvcjogJ25nLWRvYy10YWInLFxuXHRub2RlVG9SZXBsYWNlOiAoZWxlbWVudDogRWxlbWVudCkgPT4ge1xuXHRcdGNvbnN0IGFuY2hvcjogRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG5cdFx0cmV0dXJuIGVsZW1lbnQucGFyZW50Tm9kZT8uaW5zZXJ0QmVmb3JlKGFuY2hvciwgZWxlbWVudCkgPz8gZWxlbWVudDtcblx0fSxcblx0ZXh0cmFjdE9wdGlvbnM6IChlbGVtZW50OiBFbGVtZW50LCByb290OiBFbGVtZW50KSA9PiB7XG5cdFx0Y29uc3QgZ3JvdXA6IHN0cmluZyB8IG51bGwgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZ3JvdXAnKSA/PyAnJztcblx0XHRjb25zdCB0YWJzOiBFbGVtZW50W10gPSBBcnJheS5mcm9tKHJvb3QucXVlcnlTZWxlY3RvckFsbChgbmctZG9jLXRhYltncm91cD1cIiR7Z3JvdXB9XCJdYCkpO1xuXHRcdGNvbnN0IG1hcHBlZFRhYnM6IE5nRG9jVGFiW10gPSB0YWJzLm1hcCgodGFiOiBFbGVtZW50KSA9PiAoe1xuXHRcdFx0dGl0bGU6IHRhYi5nZXRBdHRyaWJ1dGUoJ25hbWUnKSA/PyAnJyxcblx0XHRcdGNvbnRlbnQ6IHRhYixcblx0XHRcdGFjdGl2ZTogdGFiLmhhc0F0dHJpYnV0ZSgnYWN0aXZlJyksXG5cdFx0fSkpO1xuXG5cdFx0dGFicy5mb3JFYWNoKCh0YWI6IEVsZW1lbnQpID0+IHRhYi5yZW1vdmUoKSk7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0aW5wdXRzOiB7XG5cdFx0XHRcdHRhYnM6IG1hcHBlZFRhYnMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH0sXG59O1xuIl19
@@ -0,0 +1,58 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
+ import { NgDocTooltipDirective } from '@ng-doc/ui-kit';
3
+ import * as i0 from "@angular/core";
4
+ class NgDocTooltipWrapperComponent {
5
+ constructor(changeDetectorRef) {
6
+ this.changeDetectorRef = changeDetectorRef;
7
+ this.tooltipElement = null;
8
+ }
9
+ ngAfterViewInit() {
10
+ if (this.contentProjection) {
11
+ const element = this.contentProjection.nativeElement.querySelector('[ngDocTooltip]');
12
+ this.tooltipElement = element instanceof HTMLElement ? element : null;
13
+ this.changeDetectorRef.detectChanges();
14
+ }
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTooltipWrapperComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocTooltipWrapperComponent, isStandalone: true, selector: "ng-doc-tooltip-wrapper", inputs: { content: "content" }, viewQueries: [{ propertyName: "contentProjection", first: true, predicate: ["contentProjection"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: `
18
+ <div
19
+ class="content-projection"
20
+ [ngDocTooltip]="content ?? ''"
21
+ [displayOrigin]="tooltipElement ?? contentProjection"
22
+ [pointerOrigin]="tooltipElement ?? contentProjection"
23
+ #contentProjection
24
+ >
25
+ <ng-content></ng-content>
26
+ </div>
27
+ `, isInline: true, styles: [".content-projection{display:unset}\n"], dependencies: [{ kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocTooltipWrapperComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'ng-doc-tooltip-wrapper', template: `
32
+ <div
33
+ class="content-projection"
34
+ [ngDocTooltip]="content ?? ''"
35
+ [displayOrigin]="tooltipElement ?? contentProjection"
36
+ [pointerOrigin]="tooltipElement ?? contentProjection"
37
+ #contentProjection
38
+ >
39
+ <ng-content></ng-content>
40
+ </div>
41
+ `, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgDocTooltipDirective], styles: [".content-projection{display:unset}\n"] }]
42
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { content: [{
43
+ type: Input
44
+ }], contentProjection: [{
45
+ type: ViewChild,
46
+ args: ['contentProjection', { read: ElementRef, static: true }]
47
+ }] } });
48
+ export const tooltipProcessor = {
49
+ component: NgDocTooltipWrapperComponent,
50
+ selector: '[ngDocTooltip]',
51
+ extractOptions: (element) => ({
52
+ inputs: {
53
+ content: element.getAttribute('ngDocTooltip') ?? '',
54
+ },
55
+ content: [[element.cloneNode(true)]],
56
+ }),
57
+ };
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FwcC9wcm9jZXNzb3JzL3Byb2Nlc3NvcnMvdG9vbHRpcC5wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUVyRCxNQXdCTSw0QkFBNEI7SUFTakMsWUFBNkIsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFMdkQsbUJBQWMsR0FBdUIsSUFBSSxDQUFDO0lBS2dCLENBQUM7SUFFckUsZUFBZTtRQUNkLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzNCLE1BQU0sT0FBTyxHQUFtQixJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRXJHLElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFdEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0YsQ0FBQzs4R0FuQkksNEJBQTRCO2tHQUE1Qiw0QkFBNEIscU5BTU0sVUFBVSwyQ0E1QnZDOzs7Ozs7Ozs7O0VBVVQsOEdBVVMscUJBQXFCOzsyRkFFMUIsNEJBQTRCO2tCQXhCakMsU0FBUzsrQkFDQyx3QkFBd0IsWUFDeEI7Ozs7Ozs7Ozs7RUFVVCxtQkFRZ0IsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxxQkFBcUIsQ0FBQzt3R0FJaEMsT0FBTztzQkFETixLQUFLO2dCQU1FLGlCQUFpQjtzQkFEeEIsU0FBUzt1QkFBQyxtQkFBbUIsRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBQzs7QUFnQmpFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFxRDtJQUNqRixTQUFTLEVBQUUsNEJBQTRCO0lBQ3ZDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsY0FBYyxFQUFFLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0QyxNQUFNLEVBQUU7WUFDUCxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFO1NBQ25EO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7S0FDcEMsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SW5wdXQsXG5cdFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nRG9jUGFnZVByb2Nlc3Nvcn0gZnJvbSAnQG5nLWRvYy9hcHAvaW50ZXJmYWNlcyc7XG5pbXBvcnQge05nRG9jVG9vbHRpcERpcmVjdGl2ZX0gZnJvbSAnQG5nLWRvYy91aS1raXQnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZy1kb2MtdG9vbHRpcC13cmFwcGVyJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8ZGl2XG5cdFx0XHRjbGFzcz1cImNvbnRlbnQtcHJvamVjdGlvblwiXG5cdFx0XHRbbmdEb2NUb29sdGlwXT1cImNvbnRlbnQgPz8gJydcIlxuXHRcdFx0W2Rpc3BsYXlPcmlnaW5dPVwidG9vbHRpcEVsZW1lbnQgPz8gY29udGVudFByb2plY3Rpb25cIlxuXHRcdFx0W3BvaW50ZXJPcmlnaW5dPVwidG9vbHRpcEVsZW1lbnQgPz8gY29udGVudFByb2plY3Rpb25cIlxuXHRcdFx0I2NvbnRlbnRQcm9qZWN0aW9uXG5cdFx0PlxuXHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdDwvZGl2PlxuXHRgLFxuXHRzdHlsZXM6IFtcblx0XHRgXG5cdFx0XHQuY29udGVudC1wcm9qZWN0aW9uIHtcblx0XHRcdFx0ZGlzcGxheTogdW5zZXQ7XG5cdFx0XHR9XG5cdFx0YCxcblx0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGltcG9ydHM6IFtOZ0RvY1Rvb2x0aXBEaXJlY3RpdmVdLFxufSlcbmNsYXNzIE5nRG9jVG9vbHRpcFdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcblx0QElucHV0KClcblx0Y29udGVudD86IHN0cmluZztcblxuXHRwcm90ZWN0ZWQgdG9vbHRpcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cblx0QFZpZXdDaGlsZCgnY29udGVudFByb2plY3Rpb24nLCB7cmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlfSlcblx0cHJpdmF0ZSBjb250ZW50UHJvamVjdGlvbj86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5jb250ZW50UHJvamVjdGlvbikge1xuXHRcdFx0Y29uc3QgZWxlbWVudDogRWxlbWVudCB8IG51bGwgPSB0aGlzLmNvbnRlbnRQcm9qZWN0aW9uLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignW25nRG9jVG9vbHRpcF0nKTtcblxuXHRcdFx0dGhpcy50b29sdGlwRWxlbWVudCA9IGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCA/IGVsZW1lbnQgOiBudWxsO1xuXG5cdFx0XHR0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IGNvbnN0IHRvb2x0aXBQcm9jZXNzb3I6IE5nRG9jUGFnZVByb2Nlc3NvcjxOZ0RvY1Rvb2x0aXBXcmFwcGVyQ29tcG9uZW50PiA9IHtcblx0Y29tcG9uZW50OiBOZ0RvY1Rvb2x0aXBXcmFwcGVyQ29tcG9uZW50LFxuXHRzZWxlY3RvcjogJ1tuZ0RvY1Rvb2x0aXBdJyxcblx0ZXh0cmFjdE9wdGlvbnM6IChlbGVtZW50OiBFbGVtZW50KSA9PiAoe1xuXHRcdGlucHV0czoge1xuXHRcdFx0Y29udGVudDogZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ25nRG9jVG9vbHRpcCcpID8/ICcnLFxuXHRcdH0sXG5cdFx0Y29udGVudDogW1tlbGVtZW50LmNsb25lTm9kZSh0cnVlKV1dLFxuXHR9KSxcbn07XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export * from './api-list';
2
2
  export * from './context';
3
+ export * from './page-processor';
3
4
  export * from './theme';
4
5
  export * from './type-control';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90b2tlbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXBpLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlLWNvbnRyb2wnO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90b2tlbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGktbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlLXByb2Nlc3Nvcic7XG5leHBvcnQgKiBmcm9tICcuL3RoZW1lJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS1jb250cm9sJztcbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const NG_DOC_PAGE_PROCESSOR = new InjectionToken('NG_DOC_PAGE_PROCESSOR');
3
+ export const NG_DOC_PAGE_CUSTOM_PROCESSOR = new InjectionToken('NG_DOC_PAGE_CUSTOM_PROCESSOR');
4
+ /**
5
+ * Provide a processor to replace html nodes with an Angular component.
6
+ *
7
+ * @param processor - Processor to provide.
8
+ * @param override - Whether to override existing processors.
9
+ */
10
+ export function providePageProcessor(processor, override) {
11
+ return {
12
+ provide: override ? NG_DOC_PAGE_PROCESSOR : NG_DOC_PAGE_CUSTOM_PROCESSOR,
13
+ useValue: processor,
14
+ multi: true,
15
+ };
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1wcm9jZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FwcC90b2tlbnMvcGFnZS1wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGNBQWMsRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUd2RCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBZ0QsSUFBSSxjQUFjLENBQThCLHVCQUF1QixDQUFDLENBQUM7QUFDM0osTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQWdELElBQUksY0FBYyxDQUE4Qiw4QkFBOEIsQ0FBQyxDQUFDO0FBRXpLOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFJLFNBQWdDLEVBQUUsUUFBa0I7SUFDM0YsT0FBTztRQUNOLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyw0QkFBNEI7UUFDeEUsUUFBUSxFQUFFLFNBQVM7UUFDbkIsS0FBSyxFQUFFLElBQUk7S0FDWCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TmdEb2NQYWdlUHJvY2Vzc29yfSBmcm9tICdAbmctZG9jL2FwcC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGNvbnN0IE5HX0RPQ19QQUdFX1BST0NFU1NPUjogSW5qZWN0aW9uVG9rZW48TmdEb2NQYWdlUHJvY2Vzc29yPHVua25vd24+PiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxOZ0RvY1BhZ2VQcm9jZXNzb3I8dW5rbm93bj4+KCdOR19ET0NfUEFHRV9QUk9DRVNTT1InKTtcbmV4cG9ydCBjb25zdCBOR19ET0NfUEFHRV9DVVNUT01fUFJPQ0VTU09SOiBJbmplY3Rpb25Ub2tlbjxOZ0RvY1BhZ2VQcm9jZXNzb3I8dW5rbm93bj4+ID0gbmV3IEluamVjdGlvblRva2VuPE5nRG9jUGFnZVByb2Nlc3Nvcjx1bmtub3duPj4oJ05HX0RPQ19QQUdFX0NVU1RPTV9QUk9DRVNTT1InKTtcblxuLyoqXG4gKiBQcm92aWRlIGEgcHJvY2Vzc29yIHRvIHJlcGxhY2UgaHRtbCBub2RlcyB3aXRoIGFuIEFuZ3VsYXIgY29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSBwcm9jZXNzb3IgLSBQcm9jZXNzb3IgdG8gcHJvdmlkZS5cbiAqIEBwYXJhbSBvdmVycmlkZSAtIFdoZXRoZXIgdG8gb3ZlcnJpZGUgZXhpc3RpbmcgcHJvY2Vzc29ycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVQYWdlUHJvY2Vzc29yPFQ+KHByb2Nlc3NvcjogTmdEb2NQYWdlUHJvY2Vzc29yPFQ+LCBvdmVycmlkZT86IGJvb2xlYW4pOiBQcm92aWRlciB7XG5cdHJldHVybiB7XG5cdFx0cHJvdmlkZTogb3ZlcnJpZGUgPyBOR19ET0NfUEFHRV9QUk9DRVNTT1IgOiBOR19ET0NfUEFHRV9DVVNUT01fUFJPQ0VTU09SLFxuXHRcdHVzZVZhbHVlOiBwcm9jZXNzb3IsXG5cdFx0bXVsdGk6IHRydWUsXG5cdH07XG59XG4iXX0=
@@ -3,8 +3,7 @@ import { NgIf } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ChangeDetectionStrategy, Input, HostBinding } from '@angular/core';
5
5
  import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';
6
- import { NgDocLinkProcessorDirective } from '@ng-doc/app/processors/link-processor';
7
- import { NgDocTooltipProcessorDirective } from '@ng-doc/app/processors/tooltip-processor';
6
+ import { NgDocPageProcessorDirective } from '@ng-doc/app/processors/page-processor';
8
7
  import { NgDocTextComponent, NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent, NgDocIconComponent } from '@ng-doc/ui-kit';
9
8
 
10
9
  class NgDocCodeComponent {
@@ -26,7 +25,7 @@ class NgDocCodeComponent {
26
25
  this.clipboard.copy(this.codeElement?.textContent ?? '');
27
26
  }
28
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, deps: [{ token: i0.ElementRef }, { token: i1.Clipboard }], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocLinkProcessor\n\t\tngDocTooltipProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocTooltipProcessorDirective, selector: "[ngDocTooltipProcessor]" }, { kind: "directive", type: NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: NgDocCodeComponent, isStandalone: true, selector: "ng-doc-code", inputs: { html: "html", copyButton: "copyButton", name: "name", lineNumbers: "lineNumbers" }, host: { properties: { "attr.data-ng-doc-has-header": "this.hasHeader" } }, ngImport: i0, template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
29
  }
31
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocCodeComponent, decorators: [{
32
31
  type: Component,
@@ -38,9 +37,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
38
37
  NgDocSmoothResizeComponent,
39
38
  NgDocIconComponent,
40
39
  NgDocSanitizeHtmlPipe,
41
- NgDocTooltipProcessorDirective,
42
- NgDocLinkProcessorDirective,
43
- ], template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocLinkProcessor\n\t\tngDocTooltipProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"] }]
40
+ NgDocPageProcessorDirective,
41
+ ], template: "<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n", styles: [":host{position:relative;display:block;margin:var(--ng-doc-code-margin)}:host:hover .ng-doc-copy-button{opacity:1}:host[data-ng-doc-has-header=true]{--ng-doc-code-border-radius: 0 0 var(--ng-doc-base-gutter) var(--ng-doc-base-gutter);--ng-doc-code-shadow: none}:host .ng-doc-code-wrapper{--ng-doc-code-margin: 0}:host .ng-doc-code-header{display:flex;align-items:center;padding:var(--ng-doc-base-gutter) calc(var(--ng-doc-base-gutter) * 2);background:var(--ng-doc-code-header-background, var(--ng-doc-base-2));border-radius:var(--ng-doc-base-gutter) var(--ng-doc-base-gutter) 0 0}:host .ng-doc-code-header .ng-doc-code-file-name{--ng-doc-text: var(--ng-doc-code-header-color);--ng-doc-font-weight: 600;--ng-doc-font-size: 14px}:host .ng-doc-code-body{position:relative;height:100%}:host .ng-doc-copy-button{position:absolute;top:var(--ng-doc-base-gutter);right:var(--ng-doc-base-gutter);transition:var(--ng-doc-transition);opacity:0;--ng-doc-icon-color: var(--ng-doc-text-muted);--ng-doc-button-background: transparent;--ng-doc-button-hover-background: var(--ng-doc-code-copy-button-hover-background, var(--ng-doc-base-2));--ng-doc-button-active-background: var(--ng-doc-code-copy-button-active-background, var(--ng-doc-base-3))}:host .ng-doc-code-wrapper{height:100%}:host ::ng-deep pre{display:flex;margin:var(--ng-doc-code-margin);border-radius:var(--ng-doc-code-border-radius, var(--ng-doc-base-gutter));overflow:hidden;height:100%}:host ::ng-deep pre code{display:block;padding:calc(var(--ng-doc-base-gutter) * 2);width:100%;font-family:var(--ng-doc-code-font);font-size:var(--ng-doc-code-font-size);line-height:var(--ng-doc-code-line-height);max-height:var(--ng-doc-code-max-height);overflow:auto;height:100%}:host ::ng-deep pre code.code-lines{display:grid;padding:calc(var(--ng-doc-base-gutter) * 2) 0}:host ::ng-deep pre code .line{position:relative;padding:0 calc(var(--ng-doc-base-gutter) * 2)}:host ::ng-deep pre code .line.highlighted{background:var(--ng-doc-code-highlight-background, rgba(var(--ng-doc-primary-rgb), .15))}:host ::ng-deep pre code .line.highlighted:before{content:\"\";position:absolute;top:0;left:0;width:2px;height:100%;background:var(--ng-doc-code-highlight-border, var(--ng-doc-primary))}\n"] }]
44
42
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Clipboard }]; }, propDecorators: { html: [{
45
43
  type: Input
46
44
  }], copyButton: [{
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import {Clipboard} from '@angular/cdk/clipboard';\nimport {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input} from '@angular/core';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes/sanitize-html';\nimport {NgDocLinkProcessorDirective} from '@ng-doc/app/processors/link-processor';\nimport {NgDocTooltipProcessorDirective} from '@ng-doc/app/processors/tooltip-processor';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTextComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocTextComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocTooltipProcessorDirective,\n\t\tNgDocLinkProcessorDirective,\n\t],\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tname?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.name;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocLinkProcessor\n\t\tngDocTooltipProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-code.mjs","sources":["../../../../libs/app/components/code/code.component.ts","../../../../libs/app/components/code/code.component.html","../../../../libs/app/components/code/ng-doc-app-components-code.ts"],"sourcesContent":["import {Clipboard} from '@angular/cdk/clipboard';\nimport {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, ElementRef, HostBinding, Input} from '@angular/core';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes/sanitize-html';\nimport {NgDocPageProcessorDirective} from '@ng-doc/app/processors/page-processor';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocSmoothResizeComponent,\n\tNgDocTextComponent,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-code',\n\ttemplateUrl: './code.component.html',\n\tstyleUrls: ['./code.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocTextComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocSmoothResizeComponent,\n\t\tNgDocIconComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocPageProcessorDirective,\n\t],\n})\nexport class NgDocCodeComponent {\n\t@Input()\n\thtml: string = '';\n\n\t@Input()\n\tcopyButton: boolean = true;\n\n\t@Input()\n\tname?: string;\n\n\t@Input()\n\tlineNumbers: boolean = false;\n\n\ttooltipText: string = '';\n\n\tconstructor(private elementRef: ElementRef<HTMLElement>, private readonly clipboard: Clipboard) {}\n\n\t@HostBinding('attr.data-ng-doc-has-header')\n\tget hasHeader(): boolean {\n\t\treturn !!this.name;\n\t}\n\n\tget codeElement(): HTMLElement | null {\n\t\treturn this.elementRef?.nativeElement.querySelector('code') ?? null;\n\t}\n\n\tcopyCode(): void {\n\t\tthis.clipboard.copy(this.codeElement?.textContent ?? '');\n\t}\n}\n","<div class=\"ng-doc-code-header\" *ngIf=\"hasHeader\">\n\t<span class=\"ng-doc-code-file-name\" ng-doc-text>{{ name }}</span>\n</div>\n<div class=\"ng-doc-code-body\">\n\t<div\n\t\tclass=\"ng-doc-code-wrapper\"\n\t\t[innerHTML]=\"html | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t*ngIf=\"html\"\n\t></div>\n\t<div class=\"ng-doc-code-wrapper\" *ngIf=\"!html\">\n\t\t<ng-content></ng-content>\n\t</div>\n\n\t<button\n\t\tclass=\"ng-doc-copy-button\"\n\t\tng-doc-button-icon\n\t\t*ngIf=\"copyButton\"\n\t\t(click)=\"copyCode(); tooltipText = 'Copied!'\"\n\t\t[ngDocTooltip]=\"tooltipContent\"\n\t\t(mouseenter)=\"tooltipText = 'Copy to clipboard'\"\n\t>\n\t\t<ng-template #tooltipContent>\n\t\t\t<ng-doc-smooth-resize [trigger]=\"tooltipText\">\n\t\t\t\t{{ tooltipText }}\n\t\t\t</ng-doc-smooth-resize>\n\t\t</ng-template>\n\t\t<ng-doc-icon icon=\"copy\"></ng-doc-icon>\n\t</button>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { NgDocBreadcrumbComponent } from '@ng-doc/app/components/breadcrumb';
8
8
  import { NgDocTocComponent } from '@ng-doc/app/components/toc';
9
9
  import { provideTypeControl } from '@ng-doc/app/helpers';
10
10
  import { NgDocSanitizeHtmlPipe } from '@ng-doc/app/pipes/sanitize-html';
11
- import { NgDocBlockquoteProcessorDirective, NgDocIconProcessorDirective, NgDocTooltipProcessorDirective, NgDocLinkProcessorDirective, NgDocCodeProcessorDirective, NgDocDemoProcessorDirective, NgDocDemoPaneProcessorDirective, NgDocPlaygroundProcessorDirective, NgDocTabsProcessorDirective } from '@ng-doc/app/processors';
11
+ import { NgDocPageProcessorDirective } from '@ng-doc/app/processors';
12
12
  import { NG_DOC_CONTEXT } from '@ng-doc/app/tokens';
13
13
  import { NgDocTypeAliasControlComponent, NgDocStringControlComponent, NgDocNumberControlComponent, NgDocBooleanControlComponent } from '@ng-doc/app/type-controls';
14
14
  import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocIconComponent, NgDocTextComponent, NgDocTextLeftDirective, NgDocTextRightDirective, NgDocMediaQueryDirective } from '@ng-doc/ui-kit';
@@ -37,15 +37,7 @@ class NgDocPageComponent {
37
37
  provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
38
38
  provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
39
39
  provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
40
- ], ngImport: i0, template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocBlockquoteProcessor\n\t\tngDocLinkProcessor\n\t\tngDocCodeProcessor\n\t\tngDocIconProcessor\n\t\tngDocTooltipProcessor\n\t\tngDocDemoProcessor\n\t\tngDocDemoPaneProcessor\n\t\tngDocPlaygroundProcessor\n\t\tngDocTabsProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocBreadcrumbComponent, selector: "ng-doc-breadcrumb" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: NgDocBlockquoteProcessorDirective, selector: "[ngDocBlockquoteProcessor]" }, { kind: "directive", type: NgDocIconProcessorDirective, selector: "[ngDocIconProcessor]" }, { kind: "directive", type:
41
- /**
42
- * The order of the directives is important.
43
- * The higher the directive is in the list, the later it will be run.
44
- *
45
- * So here we want to render demos first, after that we want to render links
46
- * and bind tooltips to them.
47
- */
48
- NgDocTooltipProcessorDirective, selector: "[ngDocTooltipProcessor]" }, { kind: "directive", type: NgDocLinkProcessorDirective, selector: "[ngDocLinkProcessor]" }, { kind: "directive", type: NgDocCodeProcessorDirective, selector: "[ngDocCodeProcessor]" }, { kind: "directive", type: NgDocDemoProcessorDirective, selector: "[ngDocDemoProcessor]" }, { kind: "directive", type: NgDocDemoPaneProcessorDirective, selector: "[ngDocDemoPaneProcessor]" }, { kind: "directive", type: NgDocPlaygroundProcessorDirective, selector: "[ngDocPlaygroundProcessor]" }, { kind: "directive", type: NgDocTabsProcessorDirective, selector: "[ngDocTabsProcessor]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgDocMediaQueryDirective, selector: "[ngDocMediaQuery]", inputs: ["ngDocMediaQuery"], exportAs: ["ngDocMediaQuery"] }, { kind: "component", type: NgDocTocComponent, selector: "ng-doc-toc", inputs: ["pageContainer"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
+ ], ngImport: i0, template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgDocBreadcrumbComponent, selector: "ng-doc-breadcrumb" }, { kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocIconComponent, selector: "ng-doc-icon", inputs: ["icon", "size"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: NgDocTextComponent, selector: "[ng-doc-text]", inputs: ["size", "color", "align", "absoluteContent"] }, { kind: "directive", type: NgDocTextLeftDirective, selector: "[ngDocTextLeft]" }, { kind: "directive", type: NgDocTextRightDirective, selector: "[ngDocTextRight]" }, { kind: "directive", type: NgDocMediaQueryDirective, selector: "[ngDocMediaQuery]", inputs: ["ngDocMediaQuery"], exportAs: ["ngDocMediaQuery"] }, { kind: "component", type: NgDocTocComponent, selector: "ng-doc-toc", inputs: ["pageContainer"] }, { kind: "pipe", type: NgDocSanitizeHtmlPipe, name: "ngDocSanitizeHtml" }, { kind: "directive", type: NgDocPageProcessorDirective, selector: "[ngDocPageProcessor]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
49
41
  }
50
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: NgDocPageComponent, decorators: [{
51
43
  type: Component,
@@ -55,22 +47,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
55
47
  NgDocButtonIconComponent,
56
48
  NgDocTooltipDirective,
57
49
  NgDocIconComponent,
58
- NgDocBlockquoteProcessorDirective,
59
- NgDocIconProcessorDirective,
60
- /**
61
- * The order of the directives is important.
62
- * The higher the directive is in the list, the later it will be run.
63
- *
64
- * So here we want to render demos first, after that we want to render links
65
- * and bind tooltips to them.
66
- */
67
- NgDocTooltipProcessorDirective,
68
- NgDocLinkProcessorDirective,
69
- NgDocCodeProcessorDirective,
70
- NgDocDemoProcessorDirective,
71
- NgDocDemoPaneProcessorDirective,
72
- NgDocPlaygroundProcessorDirective,
73
- NgDocTabsProcessorDirective,
74
50
  RouterLink,
75
51
  NgDocTextComponent,
76
52
  NgDocTextLeftDirective,
@@ -78,12 +54,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
78
54
  NgDocMediaQueryDirective,
79
55
  NgDocTocComponent,
80
56
  NgDocSanitizeHtmlPipe,
57
+ NgDocPageProcessorDirective,
81
58
  ], providers: [
82
59
  provideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, { order: 10 }),
83
60
  provideTypeControl('string', NgDocStringControlComponent, { order: 20 }),
84
61
  provideTypeControl('number', NgDocNumberControlComponent, { order: 30 }),
85
62
  provideTypeControl('boolean', NgDocBooleanControlComponent, { hideLabel: true, order: 40 }),
86
- ], template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocBlockquoteProcessor\n\t\tngDocLinkProcessor\n\t\tngDocCodeProcessor\n\t\tngDocIconProcessor\n\t\tngDocTooltipProcessor\n\t\tngDocDemoProcessor\n\t\tngDocDemoPaneProcessor\n\t\tngDocPlaygroundProcessor\n\t\tngDocTabsProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"] }]
63
+ ], template: "<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n", styles: [":host{display:flex}:host article{position:relative;width:var(--ng-doc-article-width, 100%);margin-left:auto;margin-right:auto;overflow:hidden}:host article .ng-doc-page-controls{position:absolute;display:flex;grid-gap:var(--ng-doc-base-gutter);top:0;right:0}:host ng-doc-toc{--ng-doc-toc-margin: calc(var(--ng-doc-base-gutter) * 3);flex-shrink:0}@media screen and (max-width: 1200px){:host ng-doc-toc{display:none}}:host .ng-doc-navigation-controls{display:flex;margin-top:calc(var(--ng-doc-base-gutter) * 12);border-top:1px solid var(--ng-doc-base-2);padding-top:calc(var(--ng-doc-base-gutter) * 2)}:host .ng-doc-navigation-controls a{display:flex;flex-direction:column;text-decoration:unset;transition:var(--ng-doc-transition);--ng-doc-button-hover-background: var(--ng-doc-base-1);--ng-doc-button-active-background: var(--ng-doc-base-2);--ng-doc-text: var(--ng-doc-base-10);--ng-doc-icon-color: var(--ng-doc-text)}:host .ng-doc-navigation-controls a:hover{opacity:.6}:host .ng-doc-navigation-controls a.ng-doc-next-page{margin-left:auto}:host .ng-doc-navigation-controls a.ng-doc-prev-page{align-items:flex-start}:host .ng-doc-navigation-controls a.ng-doc-next-page{align-items:flex-end}:host .ng-doc-navigation-controls a .ng-doc-navigation-page-title{--ng-doc-font-weight: 600;--ng-doc-text: var(--ng-doc-link-color)}\n"] }]
87
64
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
88
65
  type: Inject,
89
66
  args: [NG_DOC_CONTEXT]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-doc-app-components-page.mjs","sources":["../../../../libs/app/components/page/page.component.ts","../../../../libs/app/components/page/page.component.html","../../../../libs/app/components/page/ng-doc-app-components-page.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router, RouterLink, UrlTree} from '@angular/router';\nimport {NgDocRootPage} from '@ng-doc/app/classes/root-page';\nimport {NgDocBreadcrumbComponent} from '@ng-doc/app/components/breadcrumb';\nimport {NgDocTocComponent} from '@ng-doc/app/components/toc';\nimport {provideTypeControl} from '@ng-doc/app/helpers';\nimport {NgDocContext, NgDocNavigation} from '@ng-doc/app/interfaces';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes/sanitize-html';\nimport {\n\tNgDocBlockquoteProcessorDirective,\n\tNgDocCodeProcessorDirective,\n\tNgDocDemoPaneProcessorDirective,\n\tNgDocDemoProcessorDirective,\n\tNgDocIconProcessorDirective,\n\tNgDocLinkProcessorDirective,\n\tNgDocPlaygroundProcessorDirective, NgDocTabsProcessorDirective,\n\tNgDocTooltipProcessorDirective,\n} from '@ng-doc/app/processors';\nimport {NG_DOC_CONTEXT} from '@ng-doc/app/tokens';\nimport {\n\tNgDocBooleanControlComponent,\n\tNgDocNumberControlComponent,\n\tNgDocStringControlComponent,\n\tNgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocMediaQueryDirective,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page',\n\ttemplateUrl: './page.component.html',\n\tstyleUrls: ['./page.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocBreadcrumbComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocIconComponent,\n\t\tNgDocBlockquoteProcessorDirective,\n\t\tNgDocIconProcessorDirective,\n\t\t/**\n\t\t * The order of the directives is important.\n\t\t * The higher the directive is in the list, the later it will be run.\n\t\t *\n\t\t * So here we want to render demos first, after that we want to render links\n\t\t * and bind tooltips to them.\n\t\t */\n\t\tNgDocTooltipProcessorDirective,\n\t\tNgDocLinkProcessorDirective,\n\t\tNgDocCodeProcessorDirective,\n\t\tNgDocDemoProcessorDirective,\n\t\tNgDocDemoPaneProcessorDirective,\n\t\tNgDocPlaygroundProcessorDirective,\n\t\tNgDocTabsProcessorDirective,\n\t\tRouterLink,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocMediaQueryDirective,\n\t\tNgDocTocComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t],\n\tproviders: [\n\t\tprovideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, {order: 10}),\n\t\tprovideTypeControl('string', NgDocStringControlComponent, {order: 20}),\n\t\tprovideTypeControl('number', NgDocNumberControlComponent, {order: 30}),\n\t\tprovideTypeControl('boolean', NgDocBooleanControlComponent, {hideLabel: true, order: 40}),\n\t],\n})\nexport class NgDocPageComponent {\n\treadonly prevPage?: NgDocNavigation;\n\treadonly nextPage?: NgDocNavigation;\n\n\tconstructor(\n\t\t@Inject(NG_DOC_CONTEXT)\n\t\tprivate readonly context: NgDocContext,\n\t\tprivate readonly router: Router,\n\t\treadonly rootPage: NgDocRootPage,\n\t) {\n\t\tconst flatPages = this.flatPages(this.context.navigation);\n\n\t\tthis.prevPage = flatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) - 1];\n\t\tthis.nextPage = flatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) + 1];\n\t}\n\n\tprivate flatPages(items: NgDocNavigation[]): NgDocNavigation[] {\n\t\treturn items.map((item: NgDocNavigation) => [item.children?.length ? this.flatPages(item.children) : item]).flat(2);\n\t}\n\n\tprivate get url(): string {\n\t\tconst urlTree: UrlTree = this.router.parseUrl(this.router.url);\n\n\t\turlTree.queryParams = {};\n\t\turlTree.fragment = null;\n\n\t\treturn urlTree.toString();\n\t}\n}\n","<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocBlockquoteProcessor\n\t\tngDocLinkProcessor\n\t\tngDocCodeProcessor\n\t\tngDocIconProcessor\n\t\tngDocTooltipProcessor\n\t\tngDocDemoProcessor\n\t\tngDocDemoPaneProcessor\n\t\tngDocPlaygroundProcessor\n\t\tngDocTabsProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-doc-app-components-page.mjs","sources":["../../../../libs/app/components/page/page.component.ts","../../../../libs/app/components/page/page.component.html","../../../../libs/app/components/page/ng-doc-app-components-page.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {Router, RouterLink, UrlTree} from '@angular/router';\nimport {NgDocRootPage} from '@ng-doc/app/classes/root-page';\nimport {NgDocBreadcrumbComponent} from '@ng-doc/app/components/breadcrumb';\nimport {NgDocTocComponent} from '@ng-doc/app/components/toc';\nimport {provideTypeControl} from '@ng-doc/app/helpers';\nimport {NgDocContext, NgDocNavigation} from '@ng-doc/app/interfaces';\nimport {NgDocSanitizeHtmlPipe} from '@ng-doc/app/pipes/sanitize-html';\nimport {NgDocPageProcessorDirective} from '@ng-doc/app/processors';\nimport {NG_DOC_CONTEXT} from '@ng-doc/app/tokens';\nimport {\n\tNgDocBooleanControlComponent,\n\tNgDocNumberControlComponent,\n\tNgDocStringControlComponent,\n\tNgDocTypeAliasControlComponent,\n} from '@ng-doc/app/type-controls';\nimport {\n\tNgDocButtonIconComponent,\n\tNgDocIconComponent,\n\tNgDocMediaQueryDirective,\n\tNgDocTextComponent,\n\tNgDocTextLeftDirective,\n\tNgDocTextRightDirective,\n\tNgDocTooltipDirective,\n} from '@ng-doc/ui-kit';\n\n@Component({\n\tselector: 'ng-doc-page',\n\ttemplateUrl: './page.component.html',\n\tstyleUrls: ['./page.component.scss'],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tstandalone: true,\n\timports: [\n\t\tNgIf,\n\t\tNgDocBreadcrumbComponent,\n\t\tNgDocButtonIconComponent,\n\t\tNgDocTooltipDirective,\n\t\tNgDocIconComponent,\n\t\tRouterLink,\n\t\tNgDocTextComponent,\n\t\tNgDocTextLeftDirective,\n\t\tNgDocTextRightDirective,\n\t\tNgDocMediaQueryDirective,\n\t\tNgDocTocComponent,\n\t\tNgDocSanitizeHtmlPipe,\n\t\tNgDocPageProcessorDirective,\n\t],\n\tproviders: [\n\t\tprovideTypeControl('NgDocTypeAlias', NgDocTypeAliasControlComponent, {order: 10}),\n\t\tprovideTypeControl('string', NgDocStringControlComponent, {order: 20}),\n\t\tprovideTypeControl('number', NgDocNumberControlComponent, {order: 30}),\n\t\tprovideTypeControl('boolean', NgDocBooleanControlComponent, {hideLabel: true, order: 40}),\n\t],\n})\nexport class NgDocPageComponent {\n\treadonly prevPage?: NgDocNavigation;\n\treadonly nextPage?: NgDocNavigation;\n\n\tconstructor(\n\t\t@Inject(NG_DOC_CONTEXT)\n\t\tprivate readonly context: NgDocContext,\n\t\tprivate readonly router: Router,\n\t\treadonly rootPage: NgDocRootPage,\n\t) {\n\t\tconst flatPages = this.flatPages(this.context.navigation);\n\n\t\tthis.prevPage = flatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) - 1];\n\t\tthis.nextPage = flatPages[flatPages.findIndex((item: NgDocNavigation) => this.url === item.route) + 1];\n\t}\n\n\tprivate flatPages(items: NgDocNavigation[]): NgDocNavigation[] {\n\t\treturn items.map((item: NgDocNavigation) => [item.children?.length ? this.flatPages(item.children) : item]).flat(2);\n\t}\n\n\tprivate get url(): string {\n\t\tconst urlTree: UrlTree = this.router.parseUrl(this.router.url);\n\n\t\turlTree.queryParams = {};\n\t\turlTree.fragment = null;\n\n\t\treturn urlTree.toString();\n\t}\n}\n","<article>\n\t<ng-doc-breadcrumb *ngIf=\"rootPage.pageType === 'guide'\"></ng-doc-breadcrumb>\n\t<div class=\"ng-doc-page-controls\">\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.editSourceFileUrl\"\n\t\t\t[href]=\"rootPage.editSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"Suggest Edits\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"edit-2\"></ng-doc-icon>\n\t\t</a>\n\t\t<a\n\t\t\tng-doc-button-icon\n\t\t\t*ngIf=\"rootPage.viewSourceFileUrl\"\n\t\t\t[href]=\"rootPage.viewSourceFileUrl\"\n\t\t\ttarget=\"_blank\"\n\t\t\tngDocTooltip=\"View Source\"\n\t\t>\n\t\t\t<ng-doc-icon icon=\"code\"></ng-doc-icon>\n\t\t</a>\n\t</div>\n\n\t<div\n\t\tclass=\"ng-doc-page-wrapper\"\n\t\t[innerHTML]=\"rootPage.pageContent | ngDocSanitizeHtml\"\n\t\tngDocPageProcessor\n\t\t#pageContainer\n\t></div>\n\n\t<div class=\"ng-doc-navigation-controls\" *ngIf=\"rootPage.pageType === 'guide'\">\n\t\t<a class=\"ng-doc-prev-page\" *ngIf=\"prevPage\" [routerLink]=\"prevPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\t<ng-doc-icon icon=\"arrow-left\" ngDocTextLeft></ng-doc-icon>\n\t\t\t\tPrevious\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ prevPage.title }}</div>\n\t\t</a>\n\t\t<a class=\"ng-doc-next-page\" *ngIf=\"nextPage\" [routerLink]=\"nextPage.route\">\n\t\t\t<div class=\"ng-doc-navigation-page-label\" ng-doc-text size=\"small\">\n\t\t\t\tNext\n\t\t\t\t<ng-doc-icon icon=\"arrow-right\" ngDocTextRight></ng-doc-icon>\n\t\t\t</div>\n\t\t\t<div class=\"ng-doc-navigation-page-title\" ng-doc-text>{{ nextPage.title }}</div>\n\t\t</a>\n\t</div>\n</article>\n\n<ng-template\n\t[ngDocMediaQuery]=\"[mediaQuery.breakpoints.Large, mediaQuery.breakpoints.XLarge]\"\n\t#mediaQuery=\"ngDocMediaQuery\"\n>\n\t<ng-doc-toc [pageContainer]=\"pageContainer\"></ng-doc-toc>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}