@foblex/m-render 2.5.1 → 2.5.3

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 (380) hide show
  1. package/LICENSE +1 -1
  2. package/esm2022/lib/common-components/f-checkbox/f-checkbox.component.mjs +73 -0
  3. package/esm2022/lib/{f-documentation → common-components}/f-cookie-popup/f-cookie-popup.component.mjs +6 -6
  4. package/esm2022/lib/common-components/f-theme-button/f-theme-button.component.mjs +44 -0
  5. package/esm2022/lib/common-components/index.mjs +4 -0
  6. package/esm2022/lib/common-services/analytics/f-analytics.service.mjs +6 -8
  7. package/esm2022/lib/common-services/f-head-tag.service.mjs +6 -4
  8. package/esm2022/lib/common-services/f-meta.service.mjs +80 -0
  9. package/esm2022/lib/common-services/f-popover.service.mjs +25 -0
  10. package/esm2022/lib/common-services/index.mjs +3 -1
  11. package/esm2022/lib/common-services/json-ld/f-json-ld.service.mjs +6 -4
  12. package/esm2022/lib/domain/f-state.service.mjs +6 -5
  13. package/esm2022/lib/domain/get-version-handler/get-version.handler.mjs +28 -0
  14. package/esm2022/lib/domain/get-version-handler/get-version.request.mjs +7 -0
  15. package/esm2022/lib/domain/get-version-handler/index.mjs +3 -0
  16. package/esm2022/lib/domain/handle-navigation-links/handle-navigation-links.handler.mjs +53 -0
  17. package/esm2022/lib/domain/handle-navigation-links/handle-navigation-links.request.mjs +7 -0
  18. package/esm2022/lib/domain/handle-navigation-links/index.mjs +3 -0
  19. package/esm2022/lib/domain/i-environment-service.mjs +3 -0
  20. package/esm2022/lib/domain/index.mjs +4 -8
  21. package/esm2022/lib/f-documentation/domain/i-docs-environment.mjs +2 -0
  22. package/esm2022/lib/f-documentation/domain/index.mjs +2 -0
  23. package/esm2022/lib/f-documentation/f-badge/f-badge.component.mjs +6 -8
  24. package/esm2022/lib/f-documentation/f-documentation-environment.service.mjs +69 -0
  25. package/esm2022/lib/f-documentation/f-documentation.component.mjs +28 -30
  26. package/esm2022/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.mjs +6 -5
  27. package/esm2022/lib/f-documentation/f-header/f-header.component.mjs +10 -16
  28. package/esm2022/lib/f-documentation/f-header-menu/f-header-menu.component.mjs +13 -16
  29. package/esm2022/lib/f-documentation/f-navigation-panel/domain/i-navigation-group.mjs +2 -0
  30. package/esm2022/lib/f-documentation/f-navigation-panel/domain/i-navigation-item-badge.mjs +2 -0
  31. package/esm2022/lib/f-documentation/f-navigation-panel/domain/i-navigation-item.mjs +2 -0
  32. package/esm2022/lib/f-documentation/f-navigation-panel/domain/index.mjs +4 -0
  33. package/esm2022/lib/f-documentation/f-navigation-panel/f-navigation-group/f-navigation-group.component.mjs +21 -0
  34. package/esm2022/lib/f-documentation/f-navigation-panel/f-navigation-header/f-navigation-header.component.mjs +26 -0
  35. package/esm2022/lib/f-documentation/f-navigation-panel/f-navigation-item/f-navigation-item.component.mjs +11 -0
  36. package/esm2022/lib/f-documentation/f-navigation-panel/f-navigation-panel.component.mjs +101 -0
  37. package/esm2022/lib/f-documentation/f-navigation-panel/index.mjs +6 -0
  38. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.mjs +104 -0
  39. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.mjs +7 -0
  40. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-dynamic-components/index.mjs +3 -0
  41. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.mjs +35 -0
  42. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.mjs +7 -0
  43. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.mjs +2 -0
  44. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/index.mjs +5 -0
  45. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.mjs +15 -0
  46. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.mjs +2 -0
  47. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.mjs +46 -0
  48. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.mjs +54 -0
  49. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.mjs +2 -0
  50. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.mjs +3 -0
  51. package/esm2022/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.mjs +4 -1
  52. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.mjs +63 -0
  53. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.mjs +10 -0
  54. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.mjs +7 -0
  55. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.mjs +23 -0
  56. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/highlight.service.mjs +56 -0
  57. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/index.mjs +6 -0
  58. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.mjs +53 -0
  59. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.mjs +22 -0
  60. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.mjs +28 -0
  61. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/index.mjs +5 -0
  62. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/index.mjs +4 -0
  63. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/markdown.service.mjs +69 -0
  64. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.mjs +13 -0
  65. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.mjs +2 -0
  66. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/index.mjs +8 -0
  67. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.mjs +19 -0
  68. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.mjs +54 -0
  69. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.mjs +15 -0
  70. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.mjs +92 -0
  71. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.mjs +50 -0
  72. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/utils/get-content.mjs +17 -0
  73. package/esm2022/lib/f-documentation/f-page/f-markdown/domain/markdown/utils/index.mjs +2 -0
  74. package/esm2022/lib/f-documentation/f-page/f-markdown/f-markdown-renderer.component.mjs +84 -0
  75. package/esm2022/lib/f-documentation/f-page/f-markdown/index.mjs +3 -0
  76. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.mjs +37 -0
  77. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.mjs +7 -0
  78. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.mjs +9 -0
  79. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.mjs +4 -0
  80. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/features/index.mjs +2 -0
  81. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/i-page-link.mjs +2 -0
  82. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/domain/index.mjs +3 -0
  83. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.mjs +11 -0
  84. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.mjs +11 -0
  85. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.mjs +2 -0
  86. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.mjs +11 -0
  87. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.mjs +2 -0
  88. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-edit-information/index.mjs +2 -0
  89. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.mjs +19 -0
  90. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.mjs +2 -0
  91. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.mjs +11 -0
  92. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-footer-navigation/index.mjs +3 -0
  93. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/f-markdown-footer.component.mjs +89 -0
  94. package/esm2022/lib/f-documentation/f-page/f-markdown-footer/index.mjs +5 -0
  95. package/esm2022/lib/f-documentation/f-page/f-page.component.mjs +18 -0
  96. package/esm2022/lib/f-documentation/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.mjs +14 -0
  97. package/esm2022/lib/f-documentation/f-page/f-table-of-content/f-table-of-content-items/index.mjs +2 -0
  98. package/esm2022/lib/f-documentation/f-page/f-table-of-content/f-table-of-content.component.mjs +69 -0
  99. package/esm2022/lib/f-documentation/f-page/f-table-of-content/index.mjs +3 -0
  100. package/esm2022/lib/f-documentation/f-page/index.mjs +5 -0
  101. package/esm2022/lib/f-documentation/f-preview/f-preview.component.mjs +16 -7
  102. package/esm2022/lib/f-documentation/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.mjs +53 -0
  103. package/esm2022/lib/f-documentation/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.mjs +7 -0
  104. package/esm2022/lib/f-documentation/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.mjs +3 -0
  105. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.mjs +14 -0
  106. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.mjs +9 -0
  107. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-absolute-top-to-container/index.mjs +3 -0
  108. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.mjs +52 -0
  109. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.mjs +9 -0
  110. package/esm2022/lib/f-documentation/f-scrollable-container/domain/get-table-of-content-data/index.mjs +3 -0
  111. package/esm2022/lib/f-documentation/f-scrollable-container/domain/i-table-of-content-item.mjs +2 -0
  112. package/esm2022/lib/f-documentation/f-scrollable-container/domain/index.mjs +7 -0
  113. package/esm2022/lib/f-documentation/f-scrollable-container/domain/scroll-to-element-in-container.mjs +35 -0
  114. package/esm2022/lib/f-documentation/f-scrollable-container/domain/table-of-content-data.mjs +9 -0
  115. package/esm2022/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/f-scrollable-container.component.mjs +7 -5
  116. package/esm2022/lib/f-documentation/f-scrollable-container/f-scrollable.service.mjs +60 -0
  117. package/esm2022/lib/f-documentation/f-scrollable-container/index.mjs +3 -0
  118. package/esm2022/lib/f-documentation/f-social-links/f-social-links.component.mjs +8 -13
  119. package/esm2022/lib/f-documentation/f-version/f-version.component.mjs +8 -11
  120. package/esm2022/lib/f-documentation/index.mjs +9 -5
  121. package/esm2022/lib/f-documentation/providers.mjs +3 -0
  122. package/esm2022/lib/f-documentation/router.mjs +13 -0
  123. package/esm2022/lib/f-home-page/domain/i-home-page-environment.mjs +2 -0
  124. package/esm2022/lib/f-home-page/domain/i-home-page-feature.mjs +2 -0
  125. package/esm2022/lib/f-home-page/domain/i-home-page-footer.mjs +2 -0
  126. package/esm2022/lib/f-home-page/domain/i-home-page-hero.mjs +2 -0
  127. package/esm2022/lib/f-home-page/domain/i-home-page-link.mjs +2 -0
  128. package/esm2022/lib/f-home-page/domain/index.mjs +6 -0
  129. package/esm2022/lib/f-home-page/f-home-page-environment.service.mjs +47 -0
  130. package/esm2022/lib/f-home-page/f-home-page-features/f-home-page-features.component.mjs +13 -0
  131. package/esm2022/lib/f-home-page/f-home-page-footer/f-home-page-footer.component.mjs +13 -0
  132. package/esm2022/lib/f-home-page/f-home-page-header/f-home-page-header.component.mjs +17 -0
  133. package/esm2022/lib/f-home-page/f-home-page-hero/f-home-page-buttons-row/f-home-page-buttons-row.component.mjs +16 -0
  134. package/esm2022/lib/f-home-page/f-home-page-hero/f-home-page-hero.component.mjs +16 -0
  135. package/esm2022/lib/f-home-page/f-home-page.component.mjs +63 -0
  136. package/esm2022/lib/f-home-page/index.mjs +9 -0
  137. package/esm2022/lib/f-home-page/providers.mjs +3 -0
  138. package/esm2022/lib/f-home-page/router.mjs +7 -0
  139. package/esm2022/lib/index.mjs +3 -4
  140. package/fesm2022/foblex-m-render.mjs +1203 -902
  141. package/fesm2022/foblex-m-render.mjs.map +1 -1
  142. package/lib/common-components/index.d.ts +3 -0
  143. package/lib/common-services/analytics/set-cookie-consent.d.ts +1 -1
  144. package/lib/{domain → common-services}/f-meta.service.d.ts +3 -3
  145. package/lib/{domain → common-services}/f-popover.service.d.ts +2 -1
  146. package/lib/common-services/index.d.ts +2 -0
  147. package/lib/domain/{features/get-version-handler → get-version-handler}/get-version.request.d.ts +1 -1
  148. package/lib/domain/i-environment-service.d.ts +6 -0
  149. package/lib/domain/index.d.ts +3 -7
  150. package/lib/{domain → f-documentation/domain}/i-docs-environment.d.ts +6 -6
  151. package/lib/f-documentation/domain/index.d.ts +1 -0
  152. package/lib/{domain/f-environment.service.d.ts → f-documentation/f-documentation-environment.service.d.ts} +5 -5
  153. package/lib/f-documentation/f-documentation.component.d.ts +6 -9
  154. package/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.d.ts +1 -1
  155. package/lib/f-documentation/f-header/f-header.component.d.ts +0 -3
  156. package/lib/f-documentation/f-header-menu/f-header-menu.component.d.ts +3 -5
  157. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/f-navigation-header/f-navigation-header.component.d.ts +2 -2
  158. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/f-navigation-panel.component.d.ts +2 -3
  159. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.d.ts +2 -2
  160. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/markdown.service.d.ts +2 -2
  161. package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.d.ts +2 -2
  162. package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-markdown-footer.component.d.ts +3 -2
  163. package/lib/{f-page → f-documentation/f-page}/f-table-of-content/f-table-of-content.component.d.ts +2 -2
  164. package/lib/f-documentation/f-preview/f-preview.component.d.ts +3 -3
  165. package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/f-scrollable.service.d.ts +2 -2
  166. package/lib/f-documentation/f-social-links/f-social-links.component.d.ts +1 -4
  167. package/lib/f-documentation/f-version/f-version.component.d.ts +0 -3
  168. package/lib/f-documentation/index.d.ts +8 -4
  169. package/lib/f-documentation/providers.d.ts +3 -0
  170. package/lib/f-documentation/router.d.ts +2 -0
  171. package/lib/f-home-page/domain/i-home-page-environment.d.ts +18 -0
  172. package/lib/f-home-page/domain/i-home-page-feature.d.ts +4 -0
  173. package/lib/f-home-page/domain/i-home-page-footer.d.ts +3 -0
  174. package/lib/f-home-page/domain/i-home-page-hero.d.ts +6 -0
  175. package/lib/f-home-page/domain/i-home-page-link.d.ts +6 -0
  176. package/lib/f-home-page/domain/index.d.ts +5 -0
  177. package/lib/f-home-page/f-home-page-environment.service.d.ts +20 -0
  178. package/lib/f-home-page/f-home-page-features/f-home-page-features.component.d.ts +6 -0
  179. package/lib/f-home-page/f-home-page-footer/f-home-page-footer.component.d.ts +6 -0
  180. package/lib/f-home-page/f-home-page-header/f-home-page-header.component.d.ts +7 -0
  181. package/lib/f-home-page/f-home-page-hero/f-home-page-buttons-row/f-home-page-buttons-row.component.d.ts +6 -0
  182. package/lib/f-home-page/f-home-page-hero/f-home-page-hero.component.d.ts +6 -0
  183. package/lib/f-home-page/f-home-page.component.d.ts +17 -0
  184. package/lib/f-home-page/index.d.ts +8 -0
  185. package/lib/f-home-page/providers.d.ts +3 -0
  186. package/lib/f-home-page/router.d.ts +2 -0
  187. package/lib/index.d.ts +2 -3
  188. package/package.json +3 -3
  189. package/esm2022/lib/domain/f-environment.service.mjs +0 -66
  190. package/esm2022/lib/domain/f-meta.service.mjs +0 -77
  191. package/esm2022/lib/domain/f-popover.service.mjs +0 -25
  192. package/esm2022/lib/domain/features/get-version-handler/get-version.handler.mjs +0 -27
  193. package/esm2022/lib/domain/features/get-version-handler/get-version.request.mjs +0 -6
  194. package/esm2022/lib/domain/features/get-version-handler/index.mjs +0 -3
  195. package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.handler.mjs +0 -51
  196. package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.request.mjs +0 -6
  197. package/esm2022/lib/domain/features/handle-navigation-links/index.mjs +0 -3
  198. package/esm2022/lib/domain/features/index.mjs +0 -3
  199. package/esm2022/lib/domain/i-docs-environment.mjs +0 -2
  200. package/esm2022/lib/domain/providers.mjs +0 -3
  201. package/esm2022/lib/domain/router.mjs +0 -13
  202. package/esm2022/lib/f-documentation/f-checkbox/f-checkbox.component.mjs +0 -70
  203. package/esm2022/lib/f-documentation/f-theme-button/f-theme-button.component.mjs +0 -41
  204. package/esm2022/lib/f-navigation-panel/domain/i-navigation-group.mjs +0 -2
  205. package/esm2022/lib/f-navigation-panel/domain/i-navigation-item-badge.mjs +0 -2
  206. package/esm2022/lib/f-navigation-panel/domain/i-navigation-item.mjs +0 -2
  207. package/esm2022/lib/f-navigation-panel/domain/index.mjs +0 -4
  208. package/esm2022/lib/f-navigation-panel/f-navigation-group/f-navigation-group.component.mjs +0 -22
  209. package/esm2022/lib/f-navigation-panel/f-navigation-header/f-navigation-header.component.mjs +0 -24
  210. package/esm2022/lib/f-navigation-panel/f-navigation-item/f-navigation-item.component.mjs +0 -11
  211. package/esm2022/lib/f-navigation-panel/f-navigation-panel.component.mjs +0 -94
  212. package/esm2022/lib/f-navigation-panel/index.mjs +0 -6
  213. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.mjs +0 -102
  214. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.mjs +0 -6
  215. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/index.mjs +0 -3
  216. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.mjs +0 -34
  217. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.mjs +0 -6
  218. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.mjs +0 -2
  219. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/index.mjs +0 -5
  220. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.mjs +0 -15
  221. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.mjs +0 -2
  222. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.mjs +0 -46
  223. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.mjs +0 -51
  224. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.mjs +0 -2
  225. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.mjs +0 -3
  226. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.mjs +0 -60
  227. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.mjs +0 -9
  228. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.mjs +0 -7
  229. package/esm2022/lib/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.mjs +0 -23
  230. package/esm2022/lib/f-page/f-markdown/domain/highlight/highlight.service.mjs +0 -54
  231. package/esm2022/lib/f-page/f-markdown/domain/highlight/index.mjs +0 -6
  232. package/esm2022/lib/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.mjs +0 -52
  233. package/esm2022/lib/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.mjs +0 -22
  234. package/esm2022/lib/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.mjs +0 -28
  235. package/esm2022/lib/f-page/f-markdown/domain/index.mjs +0 -5
  236. package/esm2022/lib/f-page/f-markdown/domain/markdown/index.mjs +0 -4
  237. package/esm2022/lib/f-page/f-markdown/domain/markdown/markdown.service.mjs +0 -65
  238. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.mjs +0 -13
  239. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.mjs +0 -2
  240. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/index.mjs +0 -8
  241. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.mjs +0 -19
  242. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.mjs +0 -54
  243. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.mjs +0 -15
  244. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.mjs +0 -92
  245. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.mjs +0 -49
  246. package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/get-content.mjs +0 -17
  247. package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/index.mjs +0 -2
  248. package/esm2022/lib/f-page/f-markdown/f-markdown-renderer.component.mjs +0 -80
  249. package/esm2022/lib/f-page/f-markdown/index.mjs +0 -3
  250. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.mjs +0 -36
  251. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.mjs +0 -6
  252. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.mjs +0 -7
  253. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.mjs +0 -4
  254. package/esm2022/lib/f-page/f-markdown-footer/domain/features/index.mjs +0 -2
  255. package/esm2022/lib/f-page/f-markdown-footer/domain/i-page-link.mjs +0 -2
  256. package/esm2022/lib/f-page/f-markdown-footer/domain/index.mjs +0 -3
  257. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.mjs +0 -11
  258. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.mjs +0 -11
  259. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.mjs +0 -2
  260. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.mjs +0 -11
  261. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.mjs +0 -2
  262. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/index.mjs +0 -2
  263. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.mjs +0 -17
  264. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.mjs +0 -2
  265. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.mjs +0 -11
  266. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/index.mjs +0 -3
  267. package/esm2022/lib/f-page/f-markdown-footer/f-markdown-footer.component.mjs +0 -82
  268. package/esm2022/lib/f-page/f-markdown-footer/index.mjs +0 -5
  269. package/esm2022/lib/f-page/f-page.component.mjs +0 -18
  270. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.mjs +0 -16
  271. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/index.mjs +0 -2
  272. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content.component.mjs +0 -63
  273. package/esm2022/lib/f-page/f-table-of-content/index.mjs +0 -3
  274. package/esm2022/lib/f-page/index.mjs +0 -5
  275. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.mjs +0 -51
  276. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.mjs +0 -6
  277. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.mjs +0 -3
  278. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.mjs +0 -14
  279. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.mjs +0 -7
  280. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/index.mjs +0 -3
  281. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.mjs +0 -52
  282. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.mjs +0 -7
  283. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/index.mjs +0 -3
  284. package/esm2022/lib/f-scrollable-container/domain/i-table-of-content-item.mjs +0 -2
  285. package/esm2022/lib/f-scrollable-container/domain/index.mjs +0 -7
  286. package/esm2022/lib/f-scrollable-container/domain/scroll-to-element-in-container.mjs +0 -34
  287. package/esm2022/lib/f-scrollable-container/domain/table-of-content-data.mjs +0 -7
  288. package/esm2022/lib/f-scrollable-container/f-scrollable.service.mjs +0 -57
  289. package/esm2022/lib/f-scrollable-container/index.mjs +0 -3
  290. package/lib/domain/features/index.d.ts +0 -2
  291. package/lib/domain/providers.d.ts +0 -3
  292. package/lib/domain/router.d.ts +0 -2
  293. package/lib/{f-documentation → common-components}/f-checkbox/f-checkbox.component.d.ts +0 -0
  294. package/lib/{f-documentation → common-components}/f-cookie-popup/f-cookie-popup.component.d.ts +0 -0
  295. package/lib/{f-documentation → common-components}/f-theme-button/f-theme-button.component.d.ts +0 -0
  296. package/lib/domain/{features/get-version-handler → get-version-handler}/get-version.handler.d.ts +0 -0
  297. package/lib/domain/{features/get-version-handler → get-version-handler}/index.d.ts +0 -0
  298. package/lib/domain/{features/handle-navigation-links → handle-navigation-links}/handle-navigation-links.handler.d.ts +0 -0
  299. package/lib/domain/{features/handle-navigation-links → handle-navigation-links}/handle-navigation-links.request.d.ts +0 -0
  300. package/lib/domain/{features/handle-navigation-links → handle-navigation-links}/index.d.ts +0 -0
  301. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/domain/i-navigation-group.d.ts +0 -0
  302. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/domain/i-navigation-item-badge.d.ts +0 -0
  303. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/domain/i-navigation-item.d.ts +0 -0
  304. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/domain/index.d.ts +0 -0
  305. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/f-navigation-group/f-navigation-group.component.d.ts +0 -0
  306. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/f-navigation-item/f-navigation-item.component.d.ts +0 -0
  307. package/lib/{f-navigation-panel → f-documentation/f-navigation-panel}/index.d.ts +0 -0
  308. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.d.ts +0 -0
  309. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-dynamic-components/index.d.ts +0 -0
  310. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.d.ts +0 -0
  311. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.d.ts +0 -0
  312. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/i-parsed-container.d.ts +0 -0
  313. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/index.d.ts +0 -0
  314. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.d.ts +0 -0
  315. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.d.ts +0 -0
  316. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.d.ts +0 -0
  317. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.d.ts +0 -0
  318. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.d.ts +0 -0
  319. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.d.ts +0 -0
  320. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.d.ts +0 -0
  321. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.d.ts +0 -0
  322. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.d.ts +0 -0
  323. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/handle-parsed-containers/pseudo-components/index.d.ts +0 -0
  324. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.d.ts +0 -0
  325. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/highlight.service.d.ts +0 -0
  326. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/index.d.ts +0 -0
  327. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.d.ts +0 -0
  328. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.d.ts +0 -0
  329. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/highlight/separate-code-by-lines.post-processor.d.ts +0 -0
  330. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/index.d.ts +0 -0
  331. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/index.d.ts +0 -0
  332. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.d.ts +0 -0
  333. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.d.ts +0 -0
  334. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/index.d.ts +0 -0
  335. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/parse-alerts.d.ts +0 -0
  336. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/parse-code-group.d.ts +0 -0
  337. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/parse-code-view.d.ts +0 -0
  338. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/parse-example-group.d.ts +0 -0
  339. package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/parse-markdown/parse-preview-group.d.ts +1 -1
  340. /package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/utils/get-content.d.ts +0 -0
  341. /package/lib/{f-page → f-documentation/f-page}/f-markdown/domain/markdown/utils/index.d.ts +0 -0
  342. /package/lib/{f-page → f-documentation/f-page}/f-markdown/f-markdown-renderer.component.d.ts +0 -0
  343. /package/lib/{f-page → f-documentation/f-page}/f-markdown/index.d.ts +0 -0
  344. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.d.ts +0 -0
  345. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.d.ts +0 -0
  346. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.d.ts +0 -0
  347. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/features/index.d.ts +0 -0
  348. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/i-page-link.d.ts +0 -0
  349. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/domain/index.d.ts +0 -0
  350. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.d.ts +0 -0
  351. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.d.ts +0 -0
  352. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.d.ts +0 -0
  353. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.d.ts +0 -0
  354. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.d.ts +0 -0
  355. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-edit-information/index.d.ts +0 -0
  356. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.d.ts +0 -0
  357. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.d.ts +0 -0
  358. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.d.ts +0 -0
  359. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/f-footer-navigation/index.d.ts +0 -0
  360. /package/lib/{f-page → f-documentation/f-page}/f-markdown-footer/index.d.ts +0 -0
  361. /package/lib/{f-page → f-documentation/f-page}/f-page.component.d.ts +0 -0
  362. /package/lib/{f-page → f-documentation/f-page}/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.d.ts +0 -0
  363. /package/lib/{f-page → f-documentation/f-page}/f-table-of-content/f-table-of-content-items/index.d.ts +0 -0
  364. /package/lib/{f-page → f-documentation/f-page}/f-table-of-content/index.d.ts +0 -0
  365. /package/lib/{f-page → f-documentation/f-page}/index.d.ts +0 -0
  366. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.d.ts +0 -0
  367. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.d.ts +0 -0
  368. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/calculate-hash-from-scroll-position/index.d.ts +0 -0
  369. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.d.ts +0 -0
  370. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.d.ts +0 -0
  371. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-absolute-top-to-container/index.d.ts +0 -0
  372. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-table-of-content-data/get-table-of-content-data.handler.d.ts +0 -0
  373. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-table-of-content-data/get-table-of-content-data.request.d.ts +0 -0
  374. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/get-table-of-content-data/index.d.ts +0 -0
  375. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/i-table-of-content-item.d.ts +0 -0
  376. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/index.d.ts +0 -0
  377. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/scroll-to-element-in-container.d.ts +0 -0
  378. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/domain/table-of-content-data.d.ts +0 -0
  379. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/f-scrollable-container.component.d.ts +0 -0
  380. /package/lib/{f-scrollable-container → f-documentation/f-scrollable-container}/index.d.ts +0 -0
@@ -0,0 +1,89 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener, } from '@angular/core';
2
+ import { FFooterNavigationButtonComponent, FFooterNavigationComponent } from './f-footer-navigation';
3
+ import { FFooterEditInformationComponent } from './f-footer-edit-information';
4
+ import { FFooterEditLinkComponent } from './f-footer-edit-information/f-footer-edit-link';
5
+ import { FFooterLastUpdatedComponent } from './f-footer-edit-information/f-footer-last-updated';
6
+ import { debounceTime, startWith, Subscription } from 'rxjs';
7
+ import { ActivatedRoute, Router, RouterLink } from '@angular/router';
8
+ import { HandleNavigationLinksHandler, HandleNavigationLinksRequest } from '../../../domain';
9
+ import { GetPreviousNextPageNavigationHandler, GetPreviousNextPageNavigationRequest } from './domain';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "../../f-documentation-environment.service";
12
+ import * as i2 from "@angular/router";
13
+ export class FMarkdownFooterComponent {
14
+ injector;
15
+ fEnvironmentService;
16
+ router;
17
+ changeDetectorRef;
18
+ subscriptions$ = new Subscription();
19
+ navigation = {};
20
+ editLink;
21
+ previousLink;
22
+ nextLink;
23
+ constructor(injector, fEnvironmentService, router, changeDetectorRef) {
24
+ this.injector = injector;
25
+ this.fEnvironmentService = fEnvironmentService;
26
+ this.router = router;
27
+ this.changeDetectorRef = changeDetectorRef;
28
+ }
29
+ ngOnInit() {
30
+ this.subscriptions$.add(this.subscribeOnRouteChanges());
31
+ }
32
+ subscribeOnRouteChanges() {
33
+ return this.getRouterEvents().pipe(startWith(null), debounceTime(10)).subscribe(() => this.updateData());
34
+ }
35
+ getRouterEvents() {
36
+ return this.injector.get(Router).events;
37
+ }
38
+ updateData() {
39
+ const currentPath = this.router.url;
40
+ const prefix = currentPath.substring(0, currentPath.lastIndexOf('/'));
41
+ this.navigation = JSON.parse(JSON.stringify(this.fEnvironmentService.getFooterNavigation()));
42
+ if (this.navigation.editLink) {
43
+ this.editLink = this.getEditLink();
44
+ }
45
+ const previousNext = new GetPreviousNextPageNavigationHandler(this.fEnvironmentService).handle(new GetPreviousNextPageNavigationRequest(this.getCurrentLink()));
46
+ this.previousLink = previousNext.previousLink;
47
+ this.normalizeLink(this.previousLink, prefix);
48
+ this.nextLink = previousNext.nextLink;
49
+ this.normalizeLink(this.nextLink, prefix);
50
+ this.changeDetectorRef.markForCheck();
51
+ }
52
+ normalizeLink(item, prefix) {
53
+ if (item?.link && !this.isExternalLink(item.link)) {
54
+ item.link = item.link.startsWith('/') ? `${prefix}${item.link}` : `${prefix}/${item.link}`;
55
+ }
56
+ }
57
+ isExternalLink(href) {
58
+ return href.startsWith('www') || href.startsWith('http');
59
+ }
60
+ getEditLink() {
61
+ return this.navigation.editLink.pattern + this.getCurrentLink() + '.md';
62
+ }
63
+ getCurrentLink() {
64
+ return this.injector.get(ActivatedRoute).snapshot.url.map((x) => x.path).join('/');
65
+ }
66
+ onDocumentClick(event) {
67
+ this.injector.get(HandleNavigationLinksHandler).handle(new HandleNavigationLinksRequest(event));
68
+ }
69
+ ngOnDestroy() {
70
+ this.subscriptions$.unsubscribe();
71
+ }
72
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FMarkdownFooterComponent, deps: [{ token: i0.Injector }, { token: i1.FDocumentationEnvironmentService }, { token: i2.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
73
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FMarkdownFooterComponent, isStandalone: true, selector: "footer [f-markdown-footer]", host: { listeners: { "click": "onDocumentClick($event)" } }, ngImport: i0, template: "@if (editLink) {\n <f-footer-edit-information>\n <a f-footer-edit-link [href]=\"editLink\">\n {{ navigation.editLink?.text || 'Edit this page on GitHub' }}\n </a>\n\n <!-- <f-footer-last-updated>-->\n <!-- Last updated: <span>{{ lastUpdated.datetime }}</span>-->\n <!-- </f-footer-last-updated>-->\n </f-footer-edit-information>\n}\n\n@if (previousLink || nextLink) {\n <nav f-footer-navigation>\n @if (previousLink) {\n <a f-footer-navigation-button\n [href]=\"previousLink.link\"\n [description]=\"navigation.previous\"\n [link]=\"previousLink\">\n </a>\n }\n @if (nextLink) {\n <a f-footer-navigation-button class=\"next\"\n [href]=\"nextLink.link\"\n [description]=\"navigation.next\"\n [link]=\"nextLink\">\n </a>\n }\n </nav>\n}\n\n", styles: [":host{display:block;margin-top:64px}\n"], dependencies: [{ kind: "component", type: FFooterNavigationComponent, selector: "nav[f-footer-navigation]" }, { kind: "component", type: FFooterNavigationButtonComponent, selector: "a[f-footer-navigation-button]", inputs: ["description", "link"] }, { kind: "component", type: FFooterEditInformationComponent, selector: "f-footer-edit-information" }, { kind: "component", type: FFooterEditLinkComponent, selector: "a[f-footer-edit-link]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FMarkdownFooterComponent, decorators: [{
76
+ type: Component,
77
+ args: [{ selector: 'footer [f-markdown-footer]', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
78
+ FFooterNavigationComponent,
79
+ FFooterNavigationButtonComponent,
80
+ FFooterEditInformationComponent,
81
+ FFooterEditLinkComponent,
82
+ FFooterLastUpdatedComponent,
83
+ RouterLink,
84
+ ], standalone: true, template: "@if (editLink) {\n <f-footer-edit-information>\n <a f-footer-edit-link [href]=\"editLink\">\n {{ navigation.editLink?.text || 'Edit this page on GitHub' }}\n </a>\n\n <!-- <f-footer-last-updated>-->\n <!-- Last updated: <span>{{ lastUpdated.datetime }}</span>-->\n <!-- </f-footer-last-updated>-->\n </f-footer-edit-information>\n}\n\n@if (previousLink || nextLink) {\n <nav f-footer-navigation>\n @if (previousLink) {\n <a f-footer-navigation-button\n [href]=\"previousLink.link\"\n [description]=\"navigation.previous\"\n [link]=\"previousLink\">\n </a>\n }\n @if (nextLink) {\n <a f-footer-navigation-button class=\"next\"\n [href]=\"nextLink.link\"\n [description]=\"navigation.next\"\n [link]=\"nextLink\">\n </a>\n }\n </nav>\n}\n\n", styles: [":host{display:block;margin-top:64px}\n"] }]
85
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.FDocumentationEnvironmentService }, { type: i2.Router }, { type: i0.ChangeDetectorRef }], propDecorators: { onDocumentClick: [{
86
+ type: HostListener,
87
+ args: ['click', ['$event']]
88
+ }] } });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1tYXJrZG93bi1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wYWdlL2YtbWFya2Rvd24tZm9vdGVyL2YtbWFya2Rvd24tZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLW1hcmtkb3duLWZvb3Rlci9mLW1hcmtkb3duLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQWMsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUU3QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxvQ0FBb0MsRUFBYSxNQUFNLFVBQVUsQ0FBQzs7OztBQWtCakgsTUFBTSxPQUFPLHdCQUF3QjtJQWF6QjtJQUNBO0lBQ0E7SUFDQTtJQWRGLGNBQWMsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVoRCxVQUFVLEdBQTBCLEVBQUUsQ0FBQztJQUV2QyxRQUFRLENBQXFCO0lBRTdCLFlBQVksQ0FBd0I7SUFFcEMsUUFBUSxDQUF3QjtJQUUxQyxZQUNVLFFBQWtCLEVBQ2xCLG1CQUFxRCxFQUNyRCxNQUFjLEVBQ2QsaUJBQW9DO1FBSHBDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFrQztRQUNyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUU5QyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLHVCQUF1QjtRQUM3QixPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQ2hDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDLENBQ2xDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzFDLENBQUM7SUFFTyxVQUFVO1FBQ2hCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0YsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLE1BQU0sQ0FDNUYsSUFBSSxvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FDaEUsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUEyQixFQUFFLE1BQWM7UUFDL0QsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFJLE1BQU8sR0FBSSxJQUFJLENBQUMsSUFBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUksTUFBTyxJQUFLLElBQUksQ0FBQyxJQUFLLEVBQUUsQ0FBQztRQUNyRyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxXQUFXO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFTLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDM0UsQ0FBQztJQUVPLGNBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBR00sZUFBZSxDQUFDLEtBQWlCO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7d0dBNUVVLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLG1KQ2pDckMsaTFCQStCQSxnR0RQSSwwQkFBMEIscUVBQzFCLGdDQUFnQywyR0FDaEMsK0JBQStCLHNFQUMvQix3QkFBd0I7OzRGQU1mLHdCQUF3QjtrQkFmcEMsU0FBUzsrQkFDRSw0QkFBNEIsbUJBR3JCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsMEJBQTBCO3dCQUMxQixnQ0FBZ0M7d0JBQ2hDLCtCQUErQjt3QkFDL0Isd0JBQXdCO3dCQUN4QiwyQkFBMkI7d0JBQzNCLFVBQVU7cUJBQ1gsY0FDVyxJQUFJO2lMQXdFVCxlQUFlO3NCQURyQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdG9yLCBPbkRlc3Ryb3ksIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGRm9vdGVyTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCwgRkZvb3Rlck5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2YtZm9vdGVyLW5hdmlnYXRpb24nO1xuaW1wb3J0IHsgRkZvb3RlckVkaXRJbmZvcm1hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZi1mb290ZXItZWRpdC1pbmZvcm1hdGlvbic7XG5pbXBvcnQgeyBGRm9vdGVyRWRpdExpbmtDb21wb25lbnQgfSBmcm9tICcuL2YtZm9vdGVyLWVkaXQtaW5mb3JtYXRpb24vZi1mb290ZXItZWRpdC1saW5rJztcbmltcG9ydCB7IEZGb290ZXJMYXN0VXBkYXRlZENvbXBvbmVudCB9IGZyb20gJy4vZi1mb290ZXItZWRpdC1pbmZvcm1hdGlvbi9mLWZvb3Rlci1sYXN0LXVwZGF0ZWQnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1xuICBIYW5kbGVOYXZpZ2F0aW9uTGlua3NIYW5kbGVyLFxuICBIYW5kbGVOYXZpZ2F0aW9uTGlua3NSZXF1ZXN0LFxuICBJRG9jc0Zvb3Rlck5hdmlnYXRpb25cbn0gZnJvbSAnLi4vLi4vLi4vZG9tYWluJztcbmltcG9ydCB7IEdldFByZXZpb3VzTmV4dFBhZ2VOYXZpZ2F0aW9uSGFuZGxlciwgR2V0UHJldmlvdXNOZXh0UGFnZU5hdmlnYXRpb25SZXF1ZXN0LCBJUGFnZUxpbmsgfSBmcm9tICcuL2RvbWFpbic7XG5pbXBvcnQgeyBGRG9jdW1lbnRhdGlvbkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2YtZG9jdW1lbnRhdGlvbi1lbnZpcm9ubWVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9vdGVyIFtmLW1hcmtkb3duLWZvb3Rlcl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1tYXJrZG93bi1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1tYXJrZG93bi1mb290ZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgRkZvb3Rlck5hdmlnYXRpb25Db21wb25lbnQsXG4gICAgRkZvb3Rlck5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgRkZvb3RlckVkaXRJbmZvcm1hdGlvbkNvbXBvbmVudCxcbiAgICBGRm9vdGVyRWRpdExpbmtDb21wb25lbnQsXG4gICAgRkZvb3Rlckxhc3RVcGRhdGVkQ29tcG9uZW50LFxuICAgIFJvdXRlckxpbmssXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRk1hcmtkb3duRm9vdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcm90ZWN0ZWQgbmF2aWdhdGlvbjogSURvY3NGb290ZXJOYXZpZ2F0aW9uID0ge307XG5cbiAgcHJvdGVjdGVkIGVkaXRMaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHByZXZpb3VzTGluazogSVBhZ2VMaW5rIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBuZXh0TGluazogSVBhZ2VMaW5rIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgZkVudmlyb25tZW50U2VydmljZTogRkRvY3VtZW50YXRpb25FbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmFkZCh0aGlzLnN1YnNjcmliZU9uUm91dGVDaGFuZ2VzKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblJvdXRlQ2hhbmdlcygpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLmdldFJvdXRlckV2ZW50cygpLnBpcGUoXG4gICAgICBzdGFydFdpdGgobnVsbCksIGRlYm91bmNlVGltZSgxMClcbiAgICApLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZURhdGEoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFJvdXRlckV2ZW50cygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChSb3V0ZXIpLmV2ZW50cztcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRGF0YSgpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50UGF0aCA9IHRoaXMucm91dGVyLnVybDtcbiAgICBjb25zdCBwcmVmaXggPSBjdXJyZW50UGF0aC5zdWJzdHJpbmcoMCwgY3VycmVudFBhdGgubGFzdEluZGV4T2YoJy8nKSk7XG4gICAgdGhpcy5uYXZpZ2F0aW9uID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZFbnZpcm9ubWVudFNlcnZpY2UuZ2V0Rm9vdGVyTmF2aWdhdGlvbigpKSk7XG4gICAgaWYgKHRoaXMubmF2aWdhdGlvbi5lZGl0TGluaykge1xuICAgICAgdGhpcy5lZGl0TGluayA9IHRoaXMuZ2V0RWRpdExpbmsoKTtcbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXNOZXh0ID0gbmV3IEdldFByZXZpb3VzTmV4dFBhZ2VOYXZpZ2F0aW9uSGFuZGxlcih0aGlzLmZFbnZpcm9ubWVudFNlcnZpY2UpLmhhbmRsZShcbiAgICAgIG5ldyBHZXRQcmV2aW91c05leHRQYWdlTmF2aWdhdGlvblJlcXVlc3QodGhpcy5nZXRDdXJyZW50TGluaygpKVxuICAgICk7XG4gICAgdGhpcy5wcmV2aW91c0xpbmsgPSBwcmV2aW91c05leHQucHJldmlvdXNMaW5rO1xuICAgIHRoaXMubm9ybWFsaXplTGluayh0aGlzLnByZXZpb3VzTGluaywgcHJlZml4KTtcbiAgICB0aGlzLm5leHRMaW5rID0gcHJldmlvdXNOZXh0Lm5leHRMaW5rO1xuICAgIHRoaXMubm9ybWFsaXplTGluayh0aGlzLm5leHRMaW5rLCBwcmVmaXgpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxpbmsoaXRlbTogSVBhZ2VMaW5rIHwgdW5kZWZpbmVkLCBwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpdGVtPy5saW5rICYmICF0aGlzLmlzRXh0ZXJuYWxMaW5rKGl0ZW0ubGluaykpIHtcbiAgICAgIGl0ZW0ubGluayA9IGl0ZW0ubGluay5zdGFydHNXaXRoKCcvJykgPyBgJHsgcHJlZml4IH0keyBpdGVtLmxpbmsgfWAgOiBgJHsgcHJlZml4IH0vJHsgaXRlbS5saW5rIH1gO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNFeHRlcm5hbExpbmsoaHJlZjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhyZWYuc3RhcnRzV2l0aCgnd3d3JykgfHwgaHJlZi5zdGFydHNXaXRoKCdodHRwJyk7XG4gIH1cblxuICBwcml2YXRlIGdldEVkaXRMaW5rKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubmF2aWdhdGlvbi5lZGl0TGluayEucGF0dGVybiArIHRoaXMuZ2V0Q3VycmVudExpbmsoKSArICcubWQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXJyZW50TGluaygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChBY3RpdmF0ZWRSb3V0ZSkuc25hcHNob3QudXJsLm1hcCgoeCkgPT4geC5wYXRoKS5qb2luKCcvJyk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsgJyRldmVudCcgXSlcbiAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEhhbmRsZU5hdmlnYXRpb25MaW5rc0hhbmRsZXIpLmhhbmRsZShuZXcgSGFuZGxlTmF2aWdhdGlvbkxpbmtzUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiQGlmIChlZGl0TGluaykge1xuICA8Zi1mb290ZXItZWRpdC1pbmZvcm1hdGlvbj5cbiAgICA8YSBmLWZvb3Rlci1lZGl0LWxpbmsgW2hyZWZdPVwiZWRpdExpbmtcIj5cbiAgICAgIHt7IG5hdmlnYXRpb24uZWRpdExpbms/LnRleHQgfHwgJ0VkaXQgdGhpcyBwYWdlIG9uIEdpdEh1YicgfX1cbiAgICA8L2E+XG5cbiAgICA8IS0tICA8Zi1mb290ZXItbGFzdC11cGRhdGVkPi0tPlxuICAgIDwhLS0gICAgTGFzdCB1cGRhdGVkOiA8c3Bhbj57eyBsYXN0VXBkYXRlZC5kYXRldGltZSB9fTwvc3Bhbj4tLT5cbiAgICA8IS0tICA8L2YtZm9vdGVyLWxhc3QtdXBkYXRlZD4tLT5cbiAgPC9mLWZvb3Rlci1lZGl0LWluZm9ybWF0aW9uPlxufVxuXG5AaWYgKHByZXZpb3VzTGluayB8fCBuZXh0TGluaykge1xuICA8bmF2IGYtZm9vdGVyLW5hdmlnYXRpb24+XG4gICAgQGlmIChwcmV2aW91c0xpbmspIHtcbiAgICAgIDxhIGYtZm9vdGVyLW5hdmlnYXRpb24tYnV0dG9uXG4gICAgICAgICBbaHJlZl09XCJwcmV2aW91c0xpbmsubGlua1wiXG4gICAgICAgICBbZGVzY3JpcHRpb25dPVwibmF2aWdhdGlvbi5wcmV2aW91c1wiXG4gICAgICAgICBbbGlua109XCJwcmV2aW91c0xpbmtcIj5cbiAgICAgIDwvYT5cbiAgICB9XG4gICAgQGlmIChuZXh0TGluaykge1xuICAgICAgPGEgZi1mb290ZXItbmF2aWdhdGlvbi1idXR0b24gY2xhc3M9XCJuZXh0XCJcbiAgICAgICAgIFtocmVmXT1cIm5leHRMaW5rLmxpbmtcIlxuICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cIm5hdmlnYXRpb24ubmV4dFwiXG4gICAgICAgICBbbGlua109XCJuZXh0TGlua1wiPlxuICAgICAgPC9hPlxuICAgIH1cbiAgPC9uYXY+XG59XG5cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './domain';
2
+ export * from './f-footer-edit-information';
3
+ export * from './f-footer-navigation';
4
+ export * from './f-markdown-footer.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi1mb290ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyw2QkFBNkIsQ0FBQztBQUU1QyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RvbWFpbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1mb290ZXItZWRpdC1pbmZvcm1hdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1mb290ZXItbmF2aWdhdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1tYXJrZG93bi1mb290ZXIuY29tcG9uZW50JztcblxuIl19
@@ -0,0 +1,18 @@
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
+ import { FTableOfContentComponent } from './f-table-of-content';
3
+ import { FMarkdownRendererComponent } from './f-markdown';
4
+ import * as i0 from "@angular/core";
5
+ export class FPageComponent {
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FPageComponent, isStandalone: true, selector: "f-page", host: { attributes: { "ngSkipHydration": "" } }, ngImport: i0, template: "<f-markdown-renderer></f-markdown-renderer>\n<aside f-table-of-content></aside>\n\n", styles: [":host{display:block;width:100%;padding:48px var(--page-padding) 140px}:host [fMarkdownRenderer]{width:100%}@media (min-width: 1280px){:host{padding-right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 2);padding-left:max(var(--page-padding),(100vw - var(--layout-max-width)) / 4)}:host [fMarkdownRenderer]{width:calc(100% - var(--on-page-navigation-width) - var(--page-padding))}}\n"], dependencies: [{ kind: "component", type: FTableOfContentComponent, selector: "aside[f-table-of-content]" }, { kind: "component", type: FMarkdownRendererComponent, selector: "f-markdown-renderer" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FPageComponent, decorators: [{
10
+ type: Component,
11
+ args: [{ selector: 'f-page', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
12
+ FTableOfContentComponent,
13
+ FMarkdownRendererComponent
14
+ ], host: {
15
+ 'ngSkipHydration': ''
16
+ }, template: "<f-markdown-renderer></f-markdown-renderer>\n<aside f-table-of-content></aside>\n\n", styles: [":host{display:block;width:100%;padding:48px var(--page-padding) 140px}:host [fMarkdownRenderer]{width:100%}@media (min-width: 1280px){:host{padding-right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 2);padding-left:max(var(--page-padding),(100vw - var(--layout-max-width)) / 4)}:host [fMarkdownRenderer]{width:calc(100% - var(--on-page-navigation-width) - var(--page-padding))}}\n"] }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wYWdlL2YtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBZ0IxRCxNQUFNLE9BQU8sY0FBYzt3R0FBZCxjQUFjOzRGQUFkLGNBQWMsbUhDckIzQixxRkFHQSxxY0RXSSx3QkFBd0Isc0VBQ3hCLDBCQUEwQjs7NEZBTWpCLGNBQWM7a0JBZDFCLFNBQVM7K0JBQ0UsUUFBUSxjQUdOLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCx3QkFBd0I7d0JBQ3hCLDBCQUEwQjtxQkFDM0IsUUFDSzt3QkFDSixpQkFBaUIsRUFBRSxFQUFFO3FCQUN0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRlRhYmxlT2ZDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9mLXRhYmxlLW9mLWNvbnRlbnQnO1xuaW1wb3J0IHsgRk1hcmtkb3duUmVuZGVyZXJDb21wb25lbnQgfSBmcm9tICcuL2YtbWFya2Rvd24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLXBhZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtcGFnZS5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBGVGFibGVPZkNvbnRlbnRDb21wb25lbnQsXG4gICAgRk1hcmtkb3duUmVuZGVyZXJDb21wb25lbnRcbiAgXSxcbiAgaG9zdDoge1xuICAgICduZ1NraXBIeWRyYXRpb24nOiAnJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZQYWdlQ29tcG9uZW50IHtcblxufVxuIiwiPGYtbWFya2Rvd24tcmVuZGVyZXI+PC9mLW1hcmtkb3duLXJlbmRlcmVyPlxuPGFzaWRlIGYtdGFibGUtb2YtY29udGVudD48L2FzaWRlPlxuXG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FTableOfContentItemsComponent {
4
+ items = [];
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FTableOfContentItemsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FTableOfContentItemsComponent, isStandalone: true, selector: "ul[f-table-of-content-items]", inputs: { items: "items" }, ngImport: i0, template: "@for (item of items;track item.hash) {\n <li [class.active]=\"item.isActive\"><a class=\"text-ellipsis\" [href]=\"item.hash\">{{ item.title }}</a></li>\n @if (item.children) {\n <ul f-table-of-content-items [items]=\"item.children\"></ul>\n }\n}\n", styles: [":host{list-style:none;margin:0;padding:0}:host li{overflow-wrap:break-word;color:var(--secondary-text);max-width:180px}:host li a{display:block;line-height:var(--on-page-navigation-item-height);font-size:14px;color:inherit;font-weight:400}:host li.active{color:var(--primary-text)}:host li+ul{padding:0 16px}\n"], dependencies: [{ kind: "component", type: FTableOfContentItemsComponent, selector: "ul[f-table-of-content-items]", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FTableOfContentItemsComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'ul[f-table-of-content-items]', changeDetection: ChangeDetectionStrategy.Default, standalone: true, template: "@for (item of items;track item.hash) {\n <li [class.active]=\"item.isActive\"><a class=\"text-ellipsis\" [href]=\"item.hash\">{{ item.title }}</a></li>\n @if (item.children) {\n <ul f-table-of-content-items [items]=\"item.children\"></ul>\n }\n}\n", styles: [":host{list-style:none;margin:0;padding:0}:host li{overflow-wrap:break-word;color:var(--secondary-text);max-width:180px}:host li a{display:block;line-height:var(--on-page-navigation-item-height);font-size:14px;color:inherit;font-weight:400}:host li.active{color:var(--primary-text)}:host li+ul{padding:0 16px}\n"] }]
11
+ }], propDecorators: { items: [{
12
+ type: Input
13
+ }] } });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLXRhYmxlLW9mLWNvbnRlbnQvZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zL2YtdGFibGUtb2YtY29udGVudC1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi10YWJsZS1vZi1jb250ZW50L2YtdGFibGUtb2YtY29udGVudC1pdGVtcy9mLXRhYmxlLW9mLWNvbnRlbnQtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQUUsS0FBSyxFQUNqQixNQUFNLGVBQWUsQ0FBQzs7QUFVdkIsTUFBTSxPQUFPLDZCQUE2QjtJQUdqQyxLQUFLLEdBQTBCLEVBQUUsQ0FBQzt3R0FIOUIsNkJBQTZCOzRGQUE3Qiw2QkFBNkIsb0hDYjFDLCtQQU1BLGdYRE9hLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFQekMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE9BQU8sY0FDcEMsSUFBSTs4QkFLVCxLQUFLO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElUYWJsZU9mQ29udGVudEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9mLXNjcm9sbGFibGUtY29udGFpbmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWxbZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zXScsXG4gIHN0eWxlVXJsczogWyAnLi9mLXRhYmxlLW9mLWNvbnRlbnQtaXRlbXMuY29tcG9uZW50LnNjc3MnIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXRhYmxlLW9mLWNvbnRlbnQtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LkRlZmF1bHQsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRlRhYmxlT2ZDb250ZW50SXRlbXNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpdGVtczogSVRhYmxlT2ZDb250ZW50SXRlbVtdID0gW107XG59XG4iLCJAZm9yIChpdGVtIG9mIGl0ZW1zO3RyYWNrIGl0ZW0uaGFzaCkge1xuICA8bGkgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlXCI+PGEgY2xhc3M9XCJ0ZXh0LWVsbGlwc2lzXCIgW2hyZWZdPVwiaXRlbS5oYXNoXCI+e3sgaXRlbS50aXRsZSB9fTwvYT48L2xpPlxuICBAaWYgKGl0ZW0uY2hpbGRyZW4pIHtcbiAgICA8dWwgZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zIFtpdGVtc109XCJpdGVtLmNoaWxkcmVuXCI+PC91bD5cbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './f-table-of-content-items.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi10YWJsZS1vZi1jb250ZW50L2YtdGFibGUtb2YtY29udGVudC1pdGVtcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mLXRhYmxlLW9mLWNvbnRlbnQtaXRlbXMuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,69 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
2
+ import { Subscription } from 'rxjs';
3
+ import { AsyncPipe, JsonPipe } from '@angular/common';
4
+ import { TableOfContentData } from '../../f-scrollable-container';
5
+ import { FTableOfContentItemsComponent } from './f-table-of-content-items';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../f-documentation-environment.service";
8
+ import * as i2 from "../../f-scrollable-container/f-scrollable.service";
9
+ import * as i3 from "@foblex/platform";
10
+ export class FTableOfContentComponent {
11
+ fEnvironmentService;
12
+ elementRef;
13
+ fScrollableService;
14
+ changeDetectorRef;
15
+ fBrowser;
16
+ subscriptions$ = new Subscription();
17
+ get onToc$() {
18
+ return this.fScrollableService.onToc$;
19
+ }
20
+ tocData = new TableOfContentData([], []);
21
+ activeMarkerPosition = 0;
22
+ title;
23
+ constructor(fEnvironmentService, elementRef, fScrollableService, changeDetectorRef, fBrowser) {
24
+ this.fEnvironmentService = fEnvironmentService;
25
+ this.elementRef = elementRef;
26
+ this.fScrollableService = fScrollableService;
27
+ this.changeDetectorRef = changeDetectorRef;
28
+ this.fBrowser = fBrowser;
29
+ this.title = this.fEnvironmentService.getToC().title;
30
+ }
31
+ ngOnInit() {
32
+ this.subscriptions$.add(this.subscribeOnPageNavigation());
33
+ }
34
+ subscribeOnPageNavigation() {
35
+ return this.onToc$.subscribe((data) => {
36
+ this.tocData = data;
37
+ this.activeMarkerPosition = this.getActiveMarkerPosition();
38
+ this.changeDetectorRef.detectChanges();
39
+ });
40
+ }
41
+ getActiveMarkerPosition() {
42
+ const index = this.tocData.flat.findIndex((x) => x.isActive) || 0;
43
+ const itemHeight = parseInt(this.getComputedStyle(this.elementRef.nativeElement).getPropertyValue('--on-page-navigation-item-height'));
44
+ return (index + 1) * itemHeight + itemHeight / 4;
45
+ }
46
+ getComputedStyle(element) {
47
+ return this.fBrowser.window.getComputedStyle(element);
48
+ }
49
+ onDocumentClick(event) {
50
+ const target = event.target;
51
+ if (target.tagName === 'A') {
52
+ event.preventDefault();
53
+ this.fScrollableService.scrollTo(target.getAttribute('href'));
54
+ }
55
+ }
56
+ ngOnDestroy() {
57
+ this.subscriptions$.unsubscribe();
58
+ }
59
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FTableOfContentComponent, deps: [{ token: i1.FDocumentationEnvironmentService }, { token: i0.ElementRef }, { token: i2.FScrollableService }, { token: i0.ChangeDetectorRef }, { token: i3.BrowserService }], target: i0.ɵɵFactoryTarget.Component });
60
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FTableOfContentComponent, isStandalone: true, selector: "aside[f-table-of-content]", host: { listeners: { "click": "onDocumentClick($event)" } }, ngImport: i0, template: "<div class=\"title\">{{ title || 'In this article' }}</div>\n<ul f-table-of-content-items [items]=\"tocData.tree\"></ul>\n<div class=\"active-marker\" [style.top]=\"activeMarkerPosition + 'px'\"></div>\n", styles: [":host{--on-page-navigation-item-height: 32px;display:none;padding-left:16px;border-left:1px solid var(--divider-color);font-size:13px;font-weight:500;position:relative}:host .title{line-height:32px;font-size:14px;font-weight:600}@media (min-width: 1280px){:host{display:block;width:var(--on-page-navigation-width);position:fixed;top:calc(var(--header-height) + 48px);right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 3)}}:host .active-marker{position:absolute;top:0;left:0;width:2px;height:calc(var(--on-page-navigation-item-height) / 2);border-radius:2px;background-color:var(--primary-1);transition:top .25s cubic-bezier(0,1,.5,1),opacity .25s}\n"], dependencies: [{ kind: "component", type: FTableOfContentItemsComponent, selector: "ul[f-table-of-content-items]", inputs: ["items"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
61
+ }
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FTableOfContentComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: 'aside[f-table-of-content]', standalone: true, imports: [AsyncPipe, JsonPipe, FTableOfContentItemsComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"title\">{{ title || 'In this article' }}</div>\n<ul f-table-of-content-items [items]=\"tocData.tree\"></ul>\n<div class=\"active-marker\" [style.top]=\"activeMarkerPosition + 'px'\"></div>\n", styles: [":host{--on-page-navigation-item-height: 32px;display:none;padding-left:16px;border-left:1px solid var(--divider-color);font-size:13px;font-weight:500;position:relative}:host .title{line-height:32px;font-size:14px;font-weight:600}@media (min-width: 1280px){:host{display:block;width:var(--on-page-navigation-width);position:fixed;top:calc(var(--header-height) + 48px);right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 3)}}:host .active-marker{position:absolute;top:0;left:0;width:2px;height:calc(var(--on-page-navigation-item-height) / 2);border-radius:2px;background-color:var(--primary-1);transition:top .25s cubic-bezier(0,1,.5,1),opacity .25s}\n"] }]
65
+ }], ctorParameters: () => [{ type: i1.FDocumentationEnvironmentService }, { type: i0.ElementRef }, { type: i2.FScrollableService }, { type: i0.ChangeDetectorRef }, { type: i3.BrowserService }], propDecorators: { onDocumentClick: [{
66
+ type: HostListener,
67
+ args: ['click', ['$event']]
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi10YWJsZS1vZi1jb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLXRhYmxlLW9mLWNvbnRlbnQvZi10YWJsZS1vZi1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLXRhYmxlLW9mLWNvbnRlbnQvZi10YWJsZS1vZi1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFBcUIsU0FBUyxFQUFjLFlBQVksRUFDaEYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVkzRSxNQUFNLE9BQU8sd0JBQXdCO0lBZXpCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFqQkYsY0FBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTFELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRVMsT0FBTyxHQUF1QixJQUFJLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUU3RCxvQkFBb0IsR0FBVyxDQUFDLENBQUM7SUFFakMsS0FBSyxDQUFxQjtJQUVwQyxZQUNVLG1CQUFxRCxFQUNyRCxVQUFtQyxFQUNuQyxrQkFBc0MsRUFDdEMsaUJBQW9DLEVBQ3BDLFFBQXdCO1FBSnhCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBa0M7UUFDckQsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBRWhDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztJQUN2RCxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLHlCQUF5QjtRQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQzNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyx1QkFBdUI7UUFDN0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUM7UUFDdkksT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsT0FBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBR00sZUFBZSxDQUFDLEtBQWlCO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBRSxDQUFDLENBQUM7UUFDakUsQ0FBQztJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzt3R0F6RFUsd0JBQXdCOzRGQUF4Qix3QkFBd0Isa0pDbkJyQyw2TUFHQSxrdEJEYWtDLDZCQUE2Qjs7NEZBR2xELHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSwyQkFBMkIsY0FHekIsSUFBSSxXQUNQLENBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSw2QkFBNkIsQ0FBRSxtQkFDOUMsdUJBQXVCLENBQUMsTUFBTTs0TkFpRHhDLGVBQWU7c0JBRHJCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUUsUUFBUSxDQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgT25EZXN0cm95LCBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFzeW5jUGlwZSwgSnNvblBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRlNjcm9sbGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZi1zY3JvbGxhYmxlLWNvbnRhaW5lci9mLXNjcm9sbGFibGUuc2VydmljZSc7XG5pbXBvcnQgeyBUYWJsZU9mQ29udGVudERhdGEgfSBmcm9tICcuLi8uLi9mLXNjcm9sbGFibGUtY29udGFpbmVyJztcbmltcG9ydCB7IEZUYWJsZU9mQ29udGVudEl0ZW1zQ29tcG9uZW50IH0gZnJvbSAnLi9mLXRhYmxlLW9mLWNvbnRlbnQtaXRlbXMnO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IEZEb2N1bWVudGF0aW9uRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZi1kb2N1bWVudGF0aW9uLWVudmlyb25tZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhc2lkZVtmLXRhYmxlLW9mLWNvbnRlbnRdJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtdGFibGUtb2YtY29udGVudC5jb21wb25lbnQuc2NzcycgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtdGFibGUtb2YtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFsgQXN5bmNQaXBlLCBKc29uUGlwZSwgRlRhYmxlT2ZDb250ZW50SXRlbXNDb21wb25lbnQgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRlRhYmxlT2ZDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwdWJsaWMgZ2V0IG9uVG9jJCgpOiBPYnNlcnZhYmxlPFRhYmxlT2ZDb250ZW50RGF0YT4ge1xuICAgIHJldHVybiB0aGlzLmZTY3JvbGxhYmxlU2VydmljZS5vblRvYyQ7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9jRGF0YTogVGFibGVPZkNvbnRlbnREYXRhID0gbmV3IFRhYmxlT2ZDb250ZW50RGF0YShbXSwgW10pO1xuXG4gIHByb3RlY3RlZCBhY3RpdmVNYXJrZXJQb3NpdGlvbjogbnVtYmVyID0gMDtcblxuICBwcm90ZWN0ZWQgdGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZFbnZpcm9ubWVudFNlcnZpY2U6IEZEb2N1bWVudGF0aW9uRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBmU2Nyb2xsYWJsZVNlcnZpY2U6IEZTY3JvbGxhYmxlU2VydmljZSxcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGZCcm93c2VyOiBCcm93c2VyU2VydmljZVxuICApIHtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldFRvQygpLnRpdGxlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKHRoaXMuc3Vic2NyaWJlT25QYWdlTmF2aWdhdGlvbigpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaWJlT25QYWdlTmF2aWdhdGlvbigpOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLm9uVG9jJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMudG9jRGF0YSA9IGRhdGE7XG4gICAgICB0aGlzLmFjdGl2ZU1hcmtlclBvc2l0aW9uID0gdGhpcy5nZXRBY3RpdmVNYXJrZXJQb3NpdGlvbigpO1xuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEFjdGl2ZU1hcmtlclBvc2l0aW9uKCk6IG51bWJlciB7XG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnRvY0RhdGEuZmxhdC5maW5kSW5kZXgoKHgpID0+IHguaXNBY3RpdmUpIHx8IDA7XG4gICAgY29uc3QgaXRlbUhlaWdodCA9IHBhcnNlSW50KHRoaXMuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1vbi1wYWdlLW5hdmlnYXRpb24taXRlbS1oZWlnaHQnKSk7XG4gICAgcmV0dXJuIChpbmRleCArIDEpICogaXRlbUhlaWdodCArIGl0ZW1IZWlnaHQgLyA0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogQ1NTU3R5bGVEZWNsYXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZkJyb3dzZXIud2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsgJyRldmVudCcgXSlcbiAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAodGFyZ2V0LnRhZ05hbWUgPT09ICdBJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZlNjcm9sbGFibGVTZXJ2aWNlLnNjcm9sbFRvKHRhcmdldC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSEpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IHRpdGxlIHx8ICdJbiB0aGlzIGFydGljbGUnIH19PC9kaXY+XG48dWwgZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zIFtpdGVtc109XCJ0b2NEYXRhLnRyZWVcIj48L3VsPlxuPGRpdiBjbGFzcz1cImFjdGl2ZS1tYXJrZXJcIiBbc3R5bGUudG9wXT1cImFjdGl2ZU1hcmtlclBvc2l0aW9uICsgJ3B4J1wiPjwvZGl2PlxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './f-table-of-content-items';
2
+ export * from './f-table-of-content.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi10YWJsZS1vZi1jb250ZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFFM0MsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZi10YWJsZS1vZi1jb250ZW50LWl0ZW1zJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXRhYmxlLW9mLWNvbnRlbnQuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './f-markdown';
2
+ export * from './f-markdown-footer';
3
+ export * from './f-table-of-content';
4
+ export * from './f-page.component';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFFN0IsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxjQUFjLHNCQUFzQixDQUFDO0FBRXJDLGNBQWMsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtbWFya2Rvd24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtbWFya2Rvd24tZm9vdGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXRhYmxlLW9mLWNvbnRlbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtcGFnZS5jb21wb25lbnQnO1xuIl19
@@ -1,16 +1,25 @@
1
1
  import { ChangeDetectionStrategy, Component } from '@angular/core';
2
2
  import { startWith, Subscription } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "../../domain";
4
+ import * as i1 from "../f-documentation-environment.service";
5
5
  import * as i2 from "../../domain/f-state.service";
6
6
  import * as i3 from "@angular/router";
7
7
  export class FPreviewComponent {
8
+ fEnvironment;
9
+ fState;
10
+ router;
11
+ changeDetectorRef;
12
+ subscriptions$ = new Subscription();
13
+ item;
14
+ group;
15
+ viewModel;
16
+ src;
17
+ url;
8
18
  constructor(fEnvironment, fState, router, changeDetectorRef) {
9
19
  this.fEnvironment = fEnvironment;
10
20
  this.fState = fState;
11
21
  this.router = router;
12
22
  this.changeDetectorRef = changeDetectorRef;
13
- this.subscriptions$ = new Subscription();
14
23
  }
15
24
  initialize() {
16
25
  this.viewModel = this.getNavigationItem(this.getNavigationGroup());
@@ -45,14 +54,14 @@ export class FPreviewComponent {
45
54
  ngOnDestroy() {
46
55
  this.subscriptions$.unsubscribe();
47
56
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FPreviewComponent, deps: [{ token: i1.FEnvironmentService }, { token: i2.FStateService }, { token: i3.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FPreviewComponent, isStandalone: true, selector: "a[f-preview]", host: { properties: { "attr.href": "url", "attr.title": "viewModel?.text" } }, ngImport: i0, template: "@if (viewModel) {\n <img [src]=\"src\" [alt]=\"viewModel.description\" [title]=\"viewModel.text\">\n <div class=\"title\">{{ viewModel.text }}</div>\n <div class=\"description\">{{ viewModel.description }}</div>\n}\n\n\n\n", styles: [":host{display:block;border-radius:4px;background-color:var(--soft-background);padding:24px;width:100%;text-decoration:none!important;color:inherit!important;line-height:24px;font-size:14px;cursor:pointer}:host:hover img{transform:scale(1.1)}:host img{display:block;margin-bottom:16px;width:100%;height:180px;border-radius:4px;object-fit:cover;transition:transform .3s}:host .title{line-height:inherit;font-weight:600;text-transform:uppercase;color:var(--primary-text)}:host .description{margin:8px 0!important;line-height:inherit;color:var(--secondary-text);width:100%;word-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 640px){:host{width:calc((100% - 32px)/2)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FPreviewComponent, deps: [{ token: i1.FDocumentationEnvironmentService }, { token: i2.FStateService }, { token: i3.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FPreviewComponent, isStandalone: true, selector: "a[f-preview]", host: { properties: { "attr.href": "url", "attr.title": "viewModel?.text" } }, ngImport: i0, template: "@if (viewModel) {\n <img [src]=\"src\" [alt]=\"viewModel.description\" [title]=\"viewModel.text\">\n <div class=\"title\">{{ viewModel.text }}</div>\n <div class=\"description\">{{ viewModel.description }}</div>\n}\n\n\n\n", styles: [":host{display:block;border-radius:4px;background-color:var(--soft-background);padding:24px;width:100%;text-decoration:none!important;color:inherit!important;line-height:24px;font-size:14px;cursor:pointer}:host:hover img{transform:scale(1.1)}:host img{display:block;margin-bottom:16px;width:100%;height:180px;border-radius:4px;object-fit:cover;transition:transform .3s}:host .title{line-height:inherit;font-weight:600;text-transform:uppercase;color:var(--primary-text)}:host .description{margin:8px 0!important;line-height:inherit;color:var(--secondary-text);width:100%;word-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 640px){:host{width:calc((100% - 32px)/2)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
50
59
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FPreviewComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FPreviewComponent, decorators: [{
52
61
  type: Component,
53
62
  args: [{ selector: 'a[f-preview]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
54
63
  '[attr.href]': 'url',
55
64
  '[attr.title]': 'viewModel?.text',
56
65
  }, template: "@if (viewModel) {\n <img [src]=\"src\" [alt]=\"viewModel.description\" [title]=\"viewModel.text\">\n <div class=\"title\">{{ viewModel.text }}</div>\n <div class=\"description\">{{ viewModel.description }}</div>\n}\n\n\n\n", styles: [":host{display:block;border-radius:4px;background-color:var(--soft-background);padding:24px;width:100%;text-decoration:none!important;color:inherit!important;line-height:24px;font-size:14px;cursor:pointer}:host:hover img{transform:scale(1.1)}:host img{display:block;margin-bottom:16px;width:100%;height:180px;border-radius:4px;object-fit:cover;transition:transform .3s}:host .title{line-height:inherit;font-weight:600;text-transform:uppercase;color:var(--primary-text)}:host .description{margin:8px 0!important;line-height:inherit;color:var(--secondary-text);width:100%;word-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 640px){:host{width:calc((100% - 32px)/2)}}\n"] }]
57
- }], ctorParameters: () => [{ type: i1.FEnvironmentService }, { type: i2.FStateService }, { type: i3.Router }, { type: i0.ChangeDetectorRef }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcHJldmlldy9mLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wcmV2aWV3L2YtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFpQi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFjNUIsWUFDVSxZQUFpQyxFQUNqQyxNQUFxQixFQUNyQixNQUFjLEVBQ2QsaUJBQW9DO1FBSHBDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBaEJ0QyxtQkFBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBa0IxRCxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUMvQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUMzRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksTUFBTyxHQUFJLElBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFJLE1BQU8sSUFBSyxJQUFLLEVBQUUsQ0FBQztRQUNqRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0E3RFUsaUJBQWlCO21HQUFqQixpQkFBaUIsdUpDbEI5QixtT0FRQTs7NEZEVWEsaUJBQWlCO2tCQVg3QixTQUFTOytCQUNFLGNBQWMsY0FHWixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osYUFBYSxFQUFFLEtBQUs7d0JBQ3BCLGNBQWMsRUFBRSxpQkFBaUI7cUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kb21haW4vZi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTmF2aWdhdGlvbkdyb3VwLCBJTmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9mLW5hdmlnYXRpb24tcGFuZWwnO1xuaW1wb3J0IHsgRkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FbZi1wcmV2aWV3XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJyBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5ocmVmXSc6ICd1cmwnLFxuICAgICdbYXR0ci50aXRsZV0nOiAndmlld01vZGVsPy50ZXh0JyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBGUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHB1YmxpYyBpdGVtOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGdyb3VwOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHZpZXdNb2RlbDogSU5hdmlnYXRpb25JdGVtIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBzcmM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgdXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRW52aXJvbm1lbnQ6IEZFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmU3RhdGU6IEZTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdNb2RlbCA9IHRoaXMuZ2V0TmF2aWdhdGlvbkl0ZW0odGhpcy5nZXROYXZpZ2F0aW9uR3JvdXAoKSEpO1xuICAgIHRoaXMudXJsID0gdGhpcy5ub3JtYWxpemVMaW5rKHRoaXMudmlld01vZGVsIS5saW5rLCB0aGlzLmdldFVybFByZWZpeCgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmFkZCh0aGlzLmZTdGF0ZS50aGVtZSQucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVRoZW1lKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF2aWdhdGlvbkdyb3VwKCk6IElOYXZpZ2F0aW9uR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZFbnZpcm9ubWVudC5nZXROYXZpZ2F0aW9uKCkuZmluZCgoeCkgPT4geC50ZXh0ID09PSB0aGlzLmdyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF2aWdhdGlvbkl0ZW0oZ3JvdXA6IElOYXZpZ2F0aW9uR3JvdXApOiBJTmF2aWdhdGlvbkl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBncm91cC5pdGVtcy5maW5kKCh4KSA9PiB4LmxpbmsgPT09IHRoaXMuaXRlbSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRoZW1lKCk6IHZvaWQge1xuICAgIHRoaXMuc3JjID0gdGhpcy5mU3RhdGUuZ2V0UHJlZmVycmVkVGhlbWUoKSA9PT0gJ2RhcmsnID8gdGhpcy52aWV3TW9kZWw/LmltYWdlX2RhcmsgOiB0aGlzLnZpZXdNb2RlbD8uaW1hZ2U7XG4gICAgaWYgKCF0aGlzLnNyYykge1xuICAgICAgdGhpcy5zcmMgPSB0aGlzLnZpZXdNb2RlbD8uaW1hZ2U7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxpbmsobGluazogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlzRXh0ZXJuYWxMaW5rKGxpbmspKSB7XG4gICAgICByZXR1cm4gbGluay5zdGFydHNXaXRoKCcvJykgPyBgJHsgcHJlZml4IH0keyBsaW5rIH1gIDogYCR7IHByZWZpeCB9LyR7IGxpbmsgfWA7XG4gICAgfVxuICAgIHJldHVybiBsaW5rO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVcmxQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnN1YnN0cmluZygwLCB0aGlzLnJvdXRlci51cmwubGFzdEluZGV4T2YoJy8nKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxMaW5rKGhyZWY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJ3d3dycpIHx8IGhyZWYuc3RhcnRzV2l0aCgnaHR0cCcpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiQGlmICh2aWV3TW9kZWwpIHtcbiAgPGltZyBbc3JjXT1cInNyY1wiIFthbHRdPVwidmlld01vZGVsLmRlc2NyaXB0aW9uXCIgW3RpdGxlXT1cInZpZXdNb2RlbC50ZXh0XCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IHZpZXdNb2RlbC50ZXh0IH19PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IHZpZXdNb2RlbC5kZXNjcmlwdGlvbiB9fTwvZGl2PlxufVxuXG5cblxuIl19
66
+ }], ctorParameters: () => [{ type: i1.FDocumentationEnvironmentService }, { type: i2.FStateService }, { type: i3.Router }, { type: i0.ChangeDetectorRef }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcHJldmlldy9mLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wcmV2aWV3L2YtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFpQi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFlbEI7SUFDQTtJQUNBO0lBQ0E7SUFoQkYsY0FBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRW5ELElBQUksQ0FBcUI7SUFFekIsS0FBSyxDQUFxQjtJQUV2QixTQUFTLENBQThCO0lBRXZDLEdBQUcsQ0FBcUI7SUFFeEIsR0FBRyxDQUFxQjtJQUVsQyxZQUNVLFlBQThDLEVBQzlDLE1BQXFCLEVBQ3JCLE1BQWMsRUFDZCxpQkFBb0M7UUFIcEMsaUJBQVksR0FBWixZQUFZLENBQWtDO1FBQzlDLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFFOUMsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVPLGtCQUFrQjtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBdUI7UUFDL0MsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDM0csSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUM7UUFDbkMsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQVksRUFBRSxNQUFjO1FBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFJLE1BQU8sR0FBSSxJQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBSSxNQUFPLElBQUssSUFBSyxFQUFFLENBQUM7UUFDakYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7d0dBN0RVLGlCQUFpQjs0RkFBakIsaUJBQWlCLHVKQ2xCOUIsbU9BUUE7OzRGRFVhLGlCQUFpQjtrQkFYN0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLGFBQWEsRUFBRSxLQUFLO3dCQUNwQixjQUFjLEVBQUUsaUJBQWlCO3FCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2Ytc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgSU5hdmlnYXRpb25Hcm91cCwgSU5hdmlnYXRpb25JdGVtIH0gZnJvbSAnLi4vZi1uYXZpZ2F0aW9uLXBhbmVsJztcbmltcG9ydCB7IEZEb2N1bWVudGF0aW9uRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vZi1kb2N1bWVudGF0aW9uLWVudmlyb25tZW50LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhW2YtcHJldmlld10nLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1wcmV2aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtcHJldmlldy5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuaHJlZl0nOiAndXJsJyxcbiAgICAnW2F0dHIudGl0bGVdJzogJ3ZpZXdNb2RlbD8udGV4dCcsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRlByZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwdWJsaWMgaXRlbTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBncm91cDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCB2aWV3TW9kZWw6IElOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc3JjOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHVybDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkVudmlyb25tZW50OiBGRG9jdW1lbnRhdGlvbkVudmlyb25tZW50U2VydmljZSxcbiAgICBwcml2YXRlIGZTdGF0ZTogRlN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMudmlld01vZGVsID0gdGhpcy5nZXROYXZpZ2F0aW9uSXRlbSh0aGlzLmdldE5hdmlnYXRpb25Hcm91cCgpISk7XG4gICAgdGhpcy51cmwgPSB0aGlzLm5vcm1hbGl6ZUxpbmsodGhpcy52aWV3TW9kZWwhLmxpbmssIHRoaXMuZ2V0VXJsUHJlZml4KCkpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKHRoaXMuZlN0YXRlLnRoZW1lJC5waXBlKHN0YXJ0V2l0aChudWxsKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVGhlbWUoKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uR3JvdXAoKTogSU5hdmlnYXRpb25Hcm91cCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZkVudmlyb25tZW50LmdldE5hdmlnYXRpb24oKS5maW5kKCh4KSA9PiB4LnRleHQgPT09IHRoaXMuZ3JvdXApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uSXRlbShncm91cDogSU5hdmlnYXRpb25Hcm91cCk6IElOYXZpZ2F0aW9uSXRlbSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdyb3VwLml0ZW1zLmZpbmQoKHgpID0+IHgubGluayA9PT0gdGhpcy5pdGVtKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVGhlbWUoKTogdm9pZCB7XG4gICAgdGhpcy5zcmMgPSB0aGlzLmZTdGF0ZS5nZXRQcmVmZXJyZWRUaGVtZSgpID09PSAnZGFyaycgPyB0aGlzLnZpZXdNb2RlbD8uaW1hZ2VfZGFyayA6IHRoaXMudmlld01vZGVsPy5pbWFnZTtcbiAgICBpZiAoIXRoaXMuc3JjKSB7XG4gICAgICB0aGlzLnNyYyA9IHRoaXMudmlld01vZGVsPy5pbWFnZTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplTGluayhsaW5rOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNFeHRlcm5hbExpbmsobGluaykpIHtcbiAgICAgIHJldHVybiBsaW5rLnN0YXJ0c1dpdGgoJy8nKSA/IGAkeyBwcmVmaXggfSR7IGxpbmsgfWAgOiBgJHsgcHJlZml4IH0vJHsgbGluayB9YDtcbiAgICB9XG4gICAgcmV0dXJuIGxpbms7XG4gIH1cblxuICBwcml2YXRlIGdldFVybFByZWZpeCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJvdXRlci51cmwuc3Vic3RyaW5nKDAsIHRoaXMucm91dGVyLnVybC5sYXN0SW5kZXhPZignLycpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFeHRlcm5hbExpbmsoaHJlZjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhyZWYuc3RhcnRzV2l0aCgnd3d3JykgfHwgaHJlZi5zdGFydHNXaXRoKCdodHRwJyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCJAaWYgKHZpZXdNb2RlbCkge1xuICA8aW1nIFtzcmNdPVwic3JjXCIgW2FsdF09XCJ2aWV3TW9kZWwuZGVzY3JpcHRpb25cIiBbdGl0bGVdPVwidmlld01vZGVsLnRleHRcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+e3sgdmlld01vZGVsLnRleHQgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3sgdmlld01vZGVsLmRlc2NyaXB0aW9uIH19PC9kaXY+XG59XG5cblxuXG4iXX0=
@@ -0,0 +1,53 @@
1
+ import { GetAbsoluteTopToContainerHandler, GetAbsoluteTopToContainerRequest } from '../get-absolute-top-to-container';
2
+ export class CalculateHashFromScrollPositionHandler {
3
+ scrollableContainer;
4
+ fBrowser;
5
+ constructor(scrollableContainer, fBrowser) {
6
+ this.scrollableContainer = scrollableContainer;
7
+ this.fBrowser = fBrowser;
8
+ }
9
+ handle(request) {
10
+ let result;
11
+ const containerScrollTop = this.getContainerScrollTop();
12
+ const elementsWithTopPosition = this.calculateElementsTopPositions(request.tocData);
13
+ if (elementsWithTopPosition.length) {
14
+ if (this.isScrollAtBottom(containerScrollTop)) {
15
+ result = elementsWithTopPosition[elementsWithTopPosition.length - 1].hash;
16
+ }
17
+ else {
18
+ result = this.findTargetHashByPosition(containerScrollTop, elementsWithTopPosition);
19
+ }
20
+ }
21
+ return result;
22
+ }
23
+ getContainerScrollTop() {
24
+ return this.scrollableContainer.scrollTop + this.getHeaderHeight();
25
+ }
26
+ getHeaderHeight() {
27
+ return parseInt(this.fBrowser.window.getComputedStyle(this.fBrowser.document.documentElement).getPropertyValue('--header-height'), 10);
28
+ }
29
+ calculateElementsTopPositions(items) {
30
+ return items.map((x) => {
31
+ return {
32
+ hash: x.hash,
33
+ top: this.getAbsoluteTopToContainer(x.element)
34
+ };
35
+ }).filter((x) => !Number.isNaN(x.top));
36
+ }
37
+ getAbsoluteTopToContainer(element) {
38
+ return new GetAbsoluteTopToContainerHandler().handle(new GetAbsoluteTopToContainerRequest(element, this.scrollableContainer));
39
+ }
40
+ isScrollAtBottom(containerScrollTop) {
41
+ return Math.abs(containerScrollTop - this.getHeaderHeight() + this.scrollableContainer.clientHeight - this.scrollableContainer.scrollHeight) < 1;
42
+ }
43
+ findTargetHashByPosition(containerScrollTop, elementsWithTopPosition) {
44
+ let result = elementsWithTopPosition[0].hash;
45
+ for (const { hash, top } of elementsWithTopPosition) {
46
+ if (top > containerScrollTop)
47
+ break;
48
+ result = hash;
49
+ }
50
+ return result;
51
+ }
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWhhc2gtZnJvbS1zY3JvbGwtcG9zaXRpb24uaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2Ytc2Nyb2xsYWJsZS1jb250YWluZXIvZG9tYWluL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFVdEgsTUFBTSxPQUFPLHNDQUFzQztJQUd2QztJQUNBO0lBRlYsWUFDVSxtQkFBZ0MsRUFDaEMsUUFBd0I7UUFEeEIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFhO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQWdCO0lBRWxDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBK0M7UUFDM0QsSUFBSSxNQUEwQixDQUFDO1FBQy9CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFFeEQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXBGLElBQUksdUJBQXVCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDO2dCQUM5QyxNQUFNLEdBQUcsdUJBQXVCLENBQUUsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBRSxDQUFDLElBQUksQ0FBQztZQUM5RSxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxHQUFHLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1lBQ3RGLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3JFLENBQUM7SUFFTyxlQUFlO1FBQ3JCLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDekksQ0FBQztJQUVPLDZCQUE2QixDQUFDLEtBQTRCO1FBQ2hFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3JCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLEdBQUcsRUFBRSxJQUFJLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQzthQUMvQyxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQW9CO1FBQ3BELE9BQU8sSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDLE1BQU0sQ0FDbEQsSUFBSSxnQ0FBZ0MsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQ3hFLENBQUM7SUFDSixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsa0JBQTBCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25KLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxrQkFBMEIsRUFBRSx1QkFBc0M7UUFDakcsSUFBSSxNQUFNLEdBQVcsdUJBQXVCLENBQUUsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDO1FBQ3ZELEtBQUssTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1lBQ3BELElBQUksR0FBRyxHQUFHLGtCQUFrQjtnQkFBRSxNQUFNO1lBQ3BDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBDYWxjdWxhdGVIYXNoRnJvbVNjcm9sbFBvc2l0aW9uUmVxdWVzdCB9IGZyb20gJy4vY2FsY3VsYXRlLWhhc2gtZnJvbS1zY3JvbGwtcG9zaXRpb24ucmVxdWVzdCc7XG5pbXBvcnQgeyBJVGFibGVPZkNvbnRlbnRJdGVtIH0gZnJvbSAnLi4vaS10YWJsZS1vZi1jb250ZW50LWl0ZW0nO1xuaW1wb3J0IHsgR2V0QWJzb2x1dGVUb3BUb0NvbnRhaW5lckhhbmRsZXIsIEdldEFic29sdXRlVG9wVG9Db250YWluZXJSZXF1ZXN0IH0gZnJvbSAnLi4vZ2V0LWFic29sdXRlLXRvcC10by1jb250YWluZXInO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcblxuaW50ZXJmYWNlIElIYXNUb3BJdGVtIHtcblxuICBoYXNoOiBzdHJpbmc7XG5cbiAgdG9wOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxjdWxhdGVIYXNoRnJvbVNjcm9sbFBvc2l0aW9uSGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPENhbGN1bGF0ZUhhc2hGcm9tU2Nyb2xsUG9zaXRpb25SZXF1ZXN0LCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHNjcm9sbGFibGVDb250YWluZXI6IEhUTUxFbGVtZW50LFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBDYWxjdWxhdGVIYXNoRnJvbVNjcm9sbFBvc2l0aW9uUmVxdWVzdCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgbGV0IHJlc3VsdDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbnRhaW5lclNjcm9sbFRvcCA9IHRoaXMuZ2V0Q29udGFpbmVyU2Nyb2xsVG9wKCk7XG5cbiAgICBjb25zdCBlbGVtZW50c1dpdGhUb3BQb3NpdGlvbiA9IHRoaXMuY2FsY3VsYXRlRWxlbWVudHNUb3BQb3NpdGlvbnMocmVxdWVzdC50b2NEYXRhKTtcblxuICAgIGlmIChlbGVtZW50c1dpdGhUb3BQb3NpdGlvbi5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzLmlzU2Nyb2xsQXRCb3R0b20oY29udGFpbmVyU2Nyb2xsVG9wKSkge1xuICAgICAgICByZXN1bHQgPSBlbGVtZW50c1dpdGhUb3BQb3NpdGlvblsgZWxlbWVudHNXaXRoVG9wUG9zaXRpb24ubGVuZ3RoIC0gMSBdLmhhc2g7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB0aGlzLmZpbmRUYXJnZXRIYXNoQnlQb3NpdGlvbihjb250YWluZXJTY3JvbGxUb3AsIGVsZW1lbnRzV2l0aFRvcFBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGFpbmVyU2Nyb2xsVG9wKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5lci5zY3JvbGxUb3AgKyB0aGlzLmdldEhlYWRlckhlaWdodCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRIZWFkZXJIZWlnaHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcGFyc2VJbnQodGhpcy5mQnJvd3Nlci53aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmZCcm93c2VyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1oZWFkZXItaGVpZ2h0JyksIDEwKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRWxlbWVudHNUb3BQb3NpdGlvbnMoaXRlbXM6IElUYWJsZU9mQ29udGVudEl0ZW1bXSk6IElIYXNUb3BJdGVtW10ge1xuICAgIHJldHVybiBpdGVtcy5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGhhc2g6IHguaGFzaCxcbiAgICAgICAgdG9wOiB0aGlzLmdldEFic29sdXRlVG9wVG9Db250YWluZXIoeC5lbGVtZW50KVxuICAgICAgfVxuICAgIH0pLmZpbHRlcigoeCkgPT4gIU51bWJlci5pc05hTih4LnRvcCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBYnNvbHV0ZVRvcFRvQ29udGFpbmVyKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gbmV3IEdldEFic29sdXRlVG9wVG9Db250YWluZXJIYW5kbGVyKCkuaGFuZGxlKFxuICAgICAgbmV3IEdldEFic29sdXRlVG9wVG9Db250YWluZXJSZXF1ZXN0KGVsZW1lbnQsIHRoaXMuc2Nyb2xsYWJsZUNvbnRhaW5lcilcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1Njcm9sbEF0Qm90dG9tKGNvbnRhaW5lclNjcm9sbFRvcDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE1hdGguYWJzKGNvbnRhaW5lclNjcm9sbFRvcCAtIHRoaXMuZ2V0SGVhZGVySGVpZ2h0KCkgKyB0aGlzLnNjcm9sbGFibGVDb250YWluZXIuY2xpZW50SGVpZ2h0IC0gdGhpcy5zY3JvbGxhYmxlQ29udGFpbmVyLnNjcm9sbEhlaWdodCkgPCAxO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kVGFyZ2V0SGFzaEJ5UG9zaXRpb24oY29udGFpbmVyU2Nyb2xsVG9wOiBudW1iZXIsIGVsZW1lbnRzV2l0aFRvcFBvc2l0aW9uOiBJSGFzVG9wSXRlbVtdKTogc3RyaW5nIHtcbiAgICBsZXQgcmVzdWx0OiBzdHJpbmcgPSBlbGVtZW50c1dpdGhUb3BQb3NpdGlvblsgMCBdLmhhc2g7XG4gICAgZm9yIChjb25zdCB7IGhhc2gsIHRvcCB9IG9mIGVsZW1lbnRzV2l0aFRvcFBvc2l0aW9uKSB7XG4gICAgICBpZiAodG9wID4gY29udGFpbmVyU2Nyb2xsVG9wKSBicmVhaztcbiAgICAgIHJlc3VsdCA9IGhhc2g7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export class CalculateHashFromScrollPositionRequest {
2
+ tocData;
3
+ constructor(tocData) {
4
+ this.tocData = tocData;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWhhc2gtZnJvbS1zY3JvbGwtcG9zaXRpb24ucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2Ytc2Nyb2xsYWJsZS1jb250YWluZXIvZG9tYWluL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLHNDQUFzQztJQUV4QztJQURULFlBQ1MsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFFdkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVRhYmxlT2ZDb250ZW50SXRlbSB9IGZyb20gJy4uL2ktdGFibGUtb2YtY29udGVudC1pdGVtJztcblxuZXhwb3J0IGNsYXNzIENhbGN1bGF0ZUhhc2hGcm9tU2Nyb2xsUG9zaXRpb25SZXF1ZXN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRvY0RhdGE6IElUYWJsZU9mQ29udGVudEl0ZW1bXVxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './calculate-hash-from-scroll-position.handler';
2
+ export * from './calculate-hash-from-scroll-position.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXNjcm9sbGFibGUtY29udGFpbmVyL2RvbWFpbi9jYWxjdWxhdGUtaGFzaC1mcm9tLXNjcm9sbC1wb3NpdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLCtDQUErQyxDQUFDO0FBRTlELGNBQWMsK0NBQStDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,14 @@
1
+ export class GetAbsoluteTopToContainerHandler {
2
+ handle(request) {
3
+ let element = request.element;
4
+ let result = 0;
5
+ while (element !== request.container) {
6
+ if (!element)
7
+ return NaN;
8
+ result += element.offsetTop;
9
+ element = element.offsetParent;
10
+ }
11
+ return result;
12
+ }
13
+ }
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFic29sdXRlLXRvcC10by1jb250YWluZXIuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2Ytc2Nyb2xsYWJsZS1jb250YWluZXIvZG9tYWluL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGdDQUFnQztJQUVwQyxNQUFNLENBQUMsT0FBeUM7UUFDckQsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUM5QixJQUFJLE1BQU0sR0FBVyxDQUFDLENBQUM7UUFFdkIsT0FBTyxPQUFPLEtBQUssT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPO2dCQUFFLE9BQU8sR0FBRyxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQzVCLE9BQU8sR0FBRyxPQUFPLENBQUMsWUFBMkIsQ0FBQztRQUNoRCxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUhhbmRsZXIgfSBmcm9tICdAZm9ibGV4L21lZGlhdG9yJztcbmltcG9ydCB7IEdldEFic29sdXRlVG9wVG9Db250YWluZXJSZXF1ZXN0IH0gZnJvbSAnLi9nZXQtYWJzb2x1dGUtdG9wLXRvLWNvbnRhaW5lci5yZXF1ZXN0JztcblxuZXhwb3J0IGNsYXNzIEdldEFic29sdXRlVG9wVG9Db250YWluZXJIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8R2V0QWJzb2x1dGVUb3BUb0NvbnRhaW5lclJlcXVlc3QsIG51bWJlcj4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0QWJzb2x1dGVUb3BUb0NvbnRhaW5lclJlcXVlc3QpOiBudW1iZXIge1xuICAgIGxldCBlbGVtZW50ID0gcmVxdWVzdC5lbGVtZW50O1xuICAgIGxldCByZXN1bHQ6IG51bWJlciA9IDA7XG5cbiAgICB3aGlsZSAoZWxlbWVudCAhPT0gcmVxdWVzdC5jb250YWluZXIpIHtcbiAgICAgIGlmICghZWxlbWVudCkgcmV0dXJuIE5hTjtcbiAgICAgIHJlc3VsdCArPSBlbGVtZW50Lm9mZnNldFRvcDtcbiAgICAgIGVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export class GetAbsoluteTopToContainerRequest {
2
+ element;
3
+ container;
4
+ constructor(element, container) {
5
+ this.element = element;
6
+ this.container = container;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWFic29sdXRlLXRvcC10by1jb250YWluZXIucmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2Ytc2Nyb2xsYWJsZS1jb250YWluZXIvZG9tYWluL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGdDQUFnQztJQUVsQztJQUNBO0lBRlQsWUFDUyxPQUFvQixFQUNwQixTQUFzQjtRQUR0QixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ3BCLGNBQVMsR0FBVCxTQUFTLENBQWE7SUFFL0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEdldEFic29sdXRlVG9wVG9Db250YWluZXJSZXF1ZXN0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHB1YmxpYyBjb250YWluZXI6IEhUTUxFbGVtZW50XG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './get-absolute-top-to-container.handler';
2
+ export * from './get-absolute-top-to-container.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXNjcm9sbGFibGUtY29udGFpbmVyL2RvbWFpbi9nZXQtYWJzb2x1dGUtdG9wLXRvLWNvbnRhaW5lci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyLmhhbmRsZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC1hYnNvbHV0ZS10b3AtdG8tY29udGFpbmVyLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,52 @@
1
+ import { TableOfContentData } from '../table-of-content-data';
2
+ export class GetTableOfContentDataHandler {
3
+ handle(request) {
4
+ const flat = [];
5
+ const tree = [];
6
+ const stack = [];
7
+ this.getNavigationSelectors(request.fMarkdownPage, request.tocRange).forEach((element) => {
8
+ const tocItem = this.createItem(element);
9
+ this.insertItemIntoTree(tocItem, tree, stack);
10
+ flat.push(tocItem);
11
+ });
12
+ return new TableOfContentData(flat, tree);
13
+ }
14
+ getNavigationSelectors(fMarkdownPage, tocRange) {
15
+ if (!tocRange || tocRange.start < 1 || tocRange.end > 6) {
16
+ tocRange = { start: 1, end: 6 };
17
+ }
18
+ let selectors = [];
19
+ for (let i = tocRange.start; i <= tocRange.end; i++) {
20
+ selectors.push(`h${i}`);
21
+ }
22
+ return Array.from(fMarkdownPage.querySelectorAll(selectors.join(', ')));
23
+ }
24
+ createItem(element) {
25
+ element.id = this.createNavigationId(element);
26
+ return {
27
+ hash: `#${element.id}`,
28
+ title: element.innerHTML,
29
+ element,
30
+ children: []
31
+ };
32
+ }
33
+ createNavigationId(element) {
34
+ return element.innerHTML.toLowerCase().replaceAll(' ', '-');
35
+ }
36
+ getLevel(element) {
37
+ return parseInt(element.tagName.substring(1));
38
+ }
39
+ insertItemIntoTree(tocItem, tree, stack) {
40
+ while (stack.length > 0 && this.getLevel(stack[stack.length - 1].element) >= this.getLevel(tocItem.element)) {
41
+ stack.pop();
42
+ }
43
+ if (stack.length === 0) {
44
+ tree.push(tocItem);
45
+ }
46
+ else {
47
+ stack[stack.length - 1].children.push(tocItem);
48
+ }
49
+ stack.push(tocItem);
50
+ }
51
+ }
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1zY3JvbGxhYmxlLWNvbnRhaW5lci9kb21haW4vZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS9nZXQtdGFibGUtb2YtY29udGVudC1kYXRhLmhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsTUFBTSxPQUFPLDRCQUE0QjtJQUVoQyxNQUFNLENBQUMsT0FBcUM7UUFDakQsTUFBTSxJQUFJLEdBQTBCLEVBQUUsQ0FBQztRQUN2QyxNQUFNLElBQUksR0FBMEIsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxHQUEwQixFQUFFLENBQUM7UUFFeEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3ZGLE1BQU0sT0FBTyxHQUF3QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxhQUEwQixFQUFFLFFBQXlDO1FBQ2xHLElBQUcsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxRQUFRLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxTQUFTLEdBQWEsRUFBRSxDQUFDO1FBQzdCLEtBQUksSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBb0I7UUFDckMsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUMsT0FBTztZQUNMLElBQUksRUFBRSxJQUFLLE9BQU8sQ0FBQyxFQUFHLEVBQUU7WUFDeEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQ3hCLE9BQU87WUFDUCxRQUFRLEVBQUUsRUFBRTtTQUNiLENBQUM7SUFDSixDQUFDO0lBRU8sa0JBQWtCLENBQUMsT0FBb0I7UUFDN0MsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxPQUFvQjtRQUNuQyxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUE0QixFQUFFLElBQTJCLEVBQUUsS0FBNEI7UUFDaEgsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBRSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDOUcsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sS0FBSyxDQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBRUQsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgR2V0VGFibGVPZkNvbnRlbnREYXRhUmVxdWVzdCB9IGZyb20gJy4vZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS5yZXF1ZXN0JztcbmltcG9ydCB7IElUYWJsZU9mQ29udGVudEl0ZW0gfSBmcm9tICcuLi9pLXRhYmxlLW9mLWNvbnRlbnQtaXRlbSc7XG5pbXBvcnQgeyBUYWJsZU9mQ29udGVudERhdGEgfSBmcm9tICcuLi90YWJsZS1vZi1jb250ZW50LWRhdGEnO1xuXG5leHBvcnQgY2xhc3MgR2V0VGFibGVPZkNvbnRlbnREYXRhSGFuZGxlciBpbXBsZW1lbnRzIElIYW5kbGVyPEdldFRhYmxlT2ZDb250ZW50RGF0YVJlcXVlc3QsIFRhYmxlT2ZDb250ZW50RGF0YT4ge1xuXG4gIHB1YmxpYyBoYW5kbGUocmVxdWVzdDogR2V0VGFibGVPZkNvbnRlbnREYXRhUmVxdWVzdCk6IFRhYmxlT2ZDb250ZW50RGF0YSB7XG4gICAgY29uc3QgZmxhdDogSVRhYmxlT2ZDb250ZW50SXRlbVtdID0gW107XG4gICAgY29uc3QgdHJlZTogSVRhYmxlT2ZDb250ZW50SXRlbVtdID0gW107XG4gICAgY29uc3Qgc3RhY2s6IElUYWJsZU9mQ29udGVudEl0ZW1bXSA9IFtdO1xuXG4gICAgdGhpcy5nZXROYXZpZ2F0aW9uU2VsZWN0b3JzKHJlcXVlc3QuZk1hcmtkb3duUGFnZSwgcmVxdWVzdC50b2NSYW5nZSkuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgY29uc3QgdG9jSXRlbTogSVRhYmxlT2ZDb250ZW50SXRlbSA9IHRoaXMuY3JlYXRlSXRlbShlbGVtZW50KTtcbiAgICAgIHRoaXMuaW5zZXJ0SXRlbUludG9UcmVlKHRvY0l0ZW0sIHRyZWUsIHN0YWNrKTtcbiAgICAgIGZsYXQucHVzaCh0b2NJdGVtKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXcgVGFibGVPZkNvbnRlbnREYXRhKGZsYXQsIHRyZWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROYXZpZ2F0aW9uU2VsZWN0b3JzKGZNYXJrZG93blBhZ2U6IEhUTUxFbGVtZW50LCB0b2NSYW5nZT86IHsgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIgfSk6IEhUTUxFbGVtZW50W10ge1xuICAgIGlmKCF0b2NSYW5nZSB8fCB0b2NSYW5nZS5zdGFydCA8IDEgfHwgdG9jUmFuZ2UuZW5kID4gNikge1xuICAgICAgdG9jUmFuZ2UgPSB7IHN0YXJ0OiAxLCBlbmQ6IDYgfTtcbiAgICB9XG4gICAgbGV0IHNlbGVjdG9yczogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IobGV0IGkgPSB0b2NSYW5nZS5zdGFydDsgaSA8PSB0b2NSYW5nZS5lbmQ7IGkrKykge1xuICAgICAgc2VsZWN0b3JzLnB1c2goYGgke2l9YCk7XG4gICAgfVxuICAgIHJldHVybiBBcnJheS5mcm9tKGZNYXJrZG93blBhZ2UucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcnMuam9pbignLCAnKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJdGVtKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSVRhYmxlT2ZDb250ZW50SXRlbSB7XG4gICAgZWxlbWVudC5pZCA9IHRoaXMuY3JlYXRlTmF2aWdhdGlvbklkKGVsZW1lbnQpO1xuICAgIHJldHVybiB7XG4gICAgICBoYXNoOiBgIyR7IGVsZW1lbnQuaWQgfWAsXG4gICAgICB0aXRsZTogZWxlbWVudC5pbm5lckhUTUwsXG4gICAgICBlbGVtZW50LFxuICAgICAgY2hpbGRyZW46IFtdXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlTmF2aWdhdGlvbklkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgICByZXR1cm4gZWxlbWVudC5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5yZXBsYWNlQWxsKCcgJywgJy0nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TGV2ZWwoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgIHJldHVybiBwYXJzZUludChlbGVtZW50LnRhZ05hbWUuc3Vic3RyaW5nKDEpKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zZXJ0SXRlbUludG9UcmVlKHRvY0l0ZW06IElUYWJsZU9mQ29udGVudEl0ZW0sIHRyZWU6IElUYWJsZU9mQ29udGVudEl0ZW1bXSwgc3RhY2s6IElUYWJsZU9mQ29udGVudEl0ZW1bXSk6IHZvaWQge1xuICAgIHdoaWxlIChzdGFjay5sZW5ndGggPiAwICYmIHRoaXMuZ2V0TGV2ZWwoc3RhY2tbIHN0YWNrLmxlbmd0aCAtIDEgXS5lbGVtZW50KSA+PSB0aGlzLmdldExldmVsKHRvY0l0ZW0uZWxlbWVudCkpIHtcbiAgICAgIHN0YWNrLnBvcCgpO1xuICAgIH1cblxuICAgIGlmIChzdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgIHRyZWUucHVzaCh0b2NJdGVtKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhY2tbIHN0YWNrLmxlbmd0aCAtIDEgXS5jaGlsZHJlbi5wdXNoKHRvY0l0ZW0pO1xuICAgIH1cblxuICAgIHN0YWNrLnB1c2godG9jSXRlbSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export class GetTableOfContentDataRequest {
2
+ fMarkdownPage;
3
+ tocRange;
4
+ constructor(fMarkdownPage, tocRange) {
5
+ this.fMarkdownPage = fMarkdownPage;
6
+ this.tocRange = tocRange;
7
+ }
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1zY3JvbGxhYmxlLWNvbnRhaW5lci9kb21haW4vZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS9nZXQtdGFibGUtb2YtY29udGVudC1kYXRhLnJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDRCQUE0QjtJQUc5QjtJQUNBO0lBRlQsWUFDUyxhQUEwQixFQUMxQixRQUdOO1FBSk0sa0JBQWEsR0FBYixhQUFhLENBQWE7UUFDMUIsYUFBUSxHQUFSLFFBQVEsQ0FHZDtJQUVILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHZXRUYWJsZU9mQ29udGVudERhdGFSZXF1ZXN0IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZk1hcmtkb3duUGFnZTogSFRNTEVsZW1lbnQsXG4gICAgcHVibGljIHRvY1JhbmdlPzoge1xuICAgICAgc3RhcnQ6IG51bWJlcixcbiAgICAgIGVuZDogbnVtYmVyXG4gICAgfVxuICApIHtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './get-table-of-content-data.handler';
2
+ export * from './get-table-of-content-data.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXNjcm9sbGFibGUtY29udGFpbmVyL2RvbWFpbi9nZXQtdGFibGUtb2YtY29udGVudC1kYXRhL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LXRhYmxlLW9mLWNvbnRlbnQtZGF0YS5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9nZXQtdGFibGUtb2YtY29udGVudC1kYXRhLnJlcXVlc3QnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS10YWJsZS1vZi1jb250ZW50LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXNjcm9sbGFibGUtY29udGFpbmVyL2RvbWFpbi9pLXRhYmxlLW9mLWNvbnRlbnQtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJVGFibGVPZkNvbnRlbnRJdGVtIHtcblxuICBlbGVtZW50OiBIVE1MRWxlbWVudDtcblxuICBoYXNoOiBzdHJpbmc7XG5cbiAgdGl0bGU6IHN0cmluZztcblxuICBpc0FjdGl2ZT86IGJvb2xlYW47XG5cbiAgY2hpbGRyZW46IElUYWJsZU9mQ29udGVudEl0ZW1bXTtcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ export * from './get-absolute-top-to-container';
2
+ export * from './get-table-of-content-data';
3
+ export * from './calculate-hash-from-scroll-position';
4
+ export * from './table-of-content-data';
5
+ export * from './i-table-of-content-item';
6
+ export * from './scroll-to-element-in-container';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXNjcm9sbGFibGUtY29udGFpbmVyL2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsNkJBQTZCLENBQUM7QUFFNUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLGNBQWMsMkJBQTJCLENBQUM7QUFFMUMsY0FBYyxrQ0FBa0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2V0LWFic29sdXRlLXRvcC10by1jb250YWluZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2dldC10YWJsZS1vZi1jb250ZW50LWRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NhbGN1bGF0ZS1oYXNoLWZyb20tc2Nyb2xsLXBvc2l0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi90YWJsZS1vZi1jb250ZW50LWRhdGEnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktdGFibGUtb2YtY29udGVudC1pdGVtJztcblxuZXhwb3J0ICogZnJvbSAnLi9zY3JvbGwtdG8tZWxlbWVudC1pbi1jb250YWluZXInO1xuIl19