@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,26 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { RouterLink } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ import * as i2 from "../../f-documentation-environment.service";
6
+ export class FNavigationHeaderComponent {
7
+ router;
8
+ fEnvironmentService;
9
+ title = '';
10
+ image = '';
11
+ constructor(router, fEnvironmentService) {
12
+ this.router = router;
13
+ this.fEnvironmentService = fEnvironmentService;
14
+ this.title = this.fEnvironmentService.getTitle();
15
+ this.image = this.fEnvironmentService.getLogo();
16
+ }
17
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationHeaderComponent, deps: [{ token: i1.Router }, { token: i2.FDocumentationEnvironmentService }], target: i0.ɵɵFactoryTarget.Component });
18
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FNavigationHeaderComponent, isStandalone: true, selector: "a[f-navigation-header]", ngImport: i0, template: "<img [src]=\"image\" width=\"24\" height=\"24\" alt=\"logo\" class=\"logo\"/> {{ title }}\n\n\n\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center;padding:20px 0;font-weight:600;color:var(--primary-text);height:var(--header-height);width:100%;max-width:240px;margin-left:auto;cursor:pointer}:host img{margin-right:8px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
19
+ }
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationHeaderComponent, decorators: [{
21
+ type: Component,
22
+ args: [{ selector: 'a[f-navigation-header]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
23
+ RouterLink
24
+ ], template: "<img [src]=\"image\" width=\"24\" height=\"24\" alt=\"logo\" class=\"logo\"/> {{ title }}\n\n\n\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center;padding:20px 0;font-weight:600;color:var(--primary-text);height:var(--header-height);width:100%;max-width:240px;margin-left:auto;cursor:pointer}:host img{margin-right:8px}\n"] }]
25
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.FDocumentationEnvironmentService }] });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLW5hdmlnYXRpb24tcGFuZWwvZi1uYXZpZ2F0aW9uLWhlYWRlci9mLW5hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtbmF2aWdhdGlvbi1wYW5lbC9mLW5hdmlnYXRpb24taGVhZGVyL2YtbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFhckQsTUFBTSxPQUFPLDBCQUEwQjtJQU8zQjtJQUNBO0lBTkEsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUVuQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBRTdCLFlBQ1UsTUFBYyxFQUNkLG1CQUFxRDtRQURyRCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFrQztRQUU3RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsRCxDQUFDO3dHQVpVLDBCQUEwQjs0RkFBMUIsMEJBQTBCLGtGQ2R2QyxtR0FJQTs7NEZEVWEsMEJBQTBCO2tCQVZ0QyxTQUFTOytCQUNFLHdCQUF3QixjQUd0QixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsVUFBVTtxQkFDWCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGRG9jdW1lbnRhdGlvbkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2YtZG9jdW1lbnRhdGlvbi1lbnZpcm9ubWVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYVtmLW5hdmlnYXRpb24taGVhZGVyXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLW5hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTGlua1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgdGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIHByb3RlY3RlZCBpbWFnZTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGZFbnZpcm9ubWVudFNlcnZpY2U6IEZEb2N1bWVudGF0aW9uRW52aXJvbm1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudGl0bGUgPSB0aGlzLmZFbnZpcm9ubWVudFNlcnZpY2UuZ2V0VGl0bGUoKTtcbiAgICB0aGlzLmltYWdlID0gdGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldExvZ28oKTtcbiAgfVxuXG4gIC8vIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgLy8gcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gIC8vICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvJ10pO1xuICAvLyB9XG59XG4iLCI8aW1nIFtzcmNdPVwiaW1hZ2VcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiBhbHQ9XCJsb2dvXCIgY2xhc3M9XCJsb2dvXCIvPiB7eyB0aXRsZSB9fVxuXG5cblxuIl19
@@ -0,0 +1,11 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FNavigationItemComponent {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FNavigationItemComponent, isStandalone: true, selector: "a[f-navigation-item]", ngImport: i0, template: "<ng-content></ng-content>\n\n\n\n", styles: [":host{font-weight:500;color:var(--secondary-text);flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:2px}:host:hover{text-decoration:none;color:var(--primary-1)}:host.active{color:var(--primary-1)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationItemComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'a[f-navigation-item]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n\n\n\n", styles: [":host{font-weight:500;color:var(--secondary-text);flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:2px}:host:hover{text-decoration:none;color:var(--primary-1)}:host.active{color:var(--primary-1)}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1uYXZpZ2F0aW9uLXBhbmVsL2YtbmF2aWdhdGlvbi1pdGVtL2YtbmF2aWdhdGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtbmF2aWdhdGlvbi1wYW5lbC9mLW5hdmlnYXRpb24taXRlbS9mLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVNuRSxNQUFNLE9BQU8sd0JBQXdCO3dHQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QixnRkNUckMsbUNBSUE7OzRGREthLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhW2YtbmF2aWdhdGlvbi1pdGVtXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZOYXZpZ2F0aW9uSXRlbUNvbXBvbmVudCB7XG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuXG5cbiJdfQ==
@@ -0,0 +1,101 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener, Inject, ViewChildren } from '@angular/core';
2
+ import { NavigationEnd, RouterLink } from '@angular/router';
3
+ import { startWith, Subscription } from 'rxjs';
4
+ import { filter } from 'rxjs/operators';
5
+ import { FNavigationItemComponent } from './f-navigation-item/f-navigation-item.component';
6
+ import { FNavigationHeaderComponent } from './f-navigation-header/f-navigation-header.component';
7
+ import { FNavigationGroupComponent } from './f-navigation-group/f-navigation-group.component';
8
+ import { F_DOCUMENTATION_COMPONENT, FBadgeComponent } from '../index';
9
+ import { HandleNavigationLinksHandler, HandleNavigationLinksRequest } from '../../domain';
10
+ import { deepClone } from '@foblex/utils';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../index";
13
+ import * as i2 from "@angular/router";
14
+ export class FNavigationPanelComponent {
15
+ fEnvironmentService;
16
+ fDocumentation;
17
+ router;
18
+ injector;
19
+ changeDetectorRef;
20
+ subscription = new Subscription();
21
+ items;
22
+ value;
23
+ navigation = [];
24
+ constructor(fEnvironmentService, fDocumentation, router, injector, changeDetectorRef) {
25
+ this.fEnvironmentService = fEnvironmentService;
26
+ this.fDocumentation = fDocumentation;
27
+ this.router = router;
28
+ this.injector = injector;
29
+ this.changeDetectorRef = changeDetectorRef;
30
+ this.navigation = this.fEnvironmentService.getNavigation();
31
+ }
32
+ ngOnInit() {
33
+ const currentPath = this.router.url;
34
+ const prefix = currentPath.substring(0, currentPath.lastIndexOf('/'));
35
+ const navigation = deepClone(this.fEnvironmentService.getNavigation());
36
+ navigation.forEach((group) => {
37
+ group.items.forEach((item) => {
38
+ this.normalizeLink(item, prefix);
39
+ });
40
+ });
41
+ this.navigation = navigation;
42
+ }
43
+ normalizeLink(item, prefix) {
44
+ if (item.link && !this.isExternalLink(item.link)) {
45
+ item.link = item.link.startsWith('/') ? `${prefix}${item.link}` : `${prefix}/${item.link}`;
46
+ }
47
+ }
48
+ isExternalLink(href) {
49
+ return href.startsWith('www') || href.startsWith('http');
50
+ }
51
+ ngAfterViewInit() {
52
+ this.subscription.add(this.subscribeOnRouteChanges());
53
+ }
54
+ subscribeOnRouteChanges() {
55
+ return this.router.events.pipe(startWith(new NavigationEnd(1, '', '')), filter(event => event instanceof NavigationEnd)).subscribe(() => {
56
+ this.highlightLink(this.router.url);
57
+ this.fDocumentation.onToggleNavigation(false);
58
+ this.changeDetectorRef.detectChanges();
59
+ });
60
+ }
61
+ highlightLink(url) {
62
+ this.value = undefined;
63
+ this.navigation.forEach((group) => {
64
+ this.value = group.items.find((x) => {
65
+ return url.endsWith(x.link);
66
+ })?.link || this.value;
67
+ });
68
+ }
69
+ onDocumentClick(event) {
70
+ this.injector.get(HandleNavigationLinksHandler).handle(new HandleNavigationLinksRequest(event));
71
+ }
72
+ ngOnDestroy() {
73
+ this.subscription.unsubscribe();
74
+ }
75
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationPanelComponent, deps: [{ token: i1.FDocumentationEnvironmentService }, { token: F_DOCUMENTATION_COMPONENT }, { token: i2.Router }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
76
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: FNavigationPanelComponent, isStandalone: true, selector: "f-navigation-panel", host: { listeners: { "click": "onDocumentClick($event)" } }, providers: [
77
+ HandleNavigationLinksHandler
78
+ ], viewQueries: [{ propertyName: "items", predicate: FNavigationItemComponent, descendants: true }], ngImport: i0, template: "<a f-navigation-header routerLink></a>\n\n@for (group of navigation; track group) {\n <f-navigation-group [title]=\"group.text\">\n @for (item of group.items; track item.link) {\n <a f-navigation-item [href]=\"item.link\" [class.active]=\"item.link === value\">\n <div class=\"text-ellipsis\">{{ item.text }}</div>\n @if (item.badge) {\n <span f-badge [text]=\"item.badge.text\" [type]=\"item.badge.type\"></span>\n }\n </a>\n }\n </f-navigation-group>\n}\n", styles: [":host{height:100%;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:0 var(--navigation-panel-padding);background-color:var(--navigation-panel-background);overflow:hidden;overflow-y:auto;position:fixed;width:var(--navigation-panel-width);top:0;left:calc(-1 * var(--navigation-panel-width));transition:transform .2s ease-in-out;z-index:var(--z-index-navigation);transform:none}@media (min-width: 960px){:host{position:unset;display:flex;min-width:var(--navigation-panel-width);width:fit-content;transform:none!important}}@media (min-width: 1440px){:host{min-width:calc((100% - (var(--layout-max-width) - 64px)) / 3 + var(--navigation-panel-width) - var(--navigation-panel-padding))}}:host.visible{transform:translate(var(--navigation-panel-width))}\n"], dependencies: [{ kind: "component", type: FNavigationHeaderComponent, selector: "a[f-navigation-header]" }, { kind: "component", type: FNavigationItemComponent, selector: "a[f-navigation-item]" }, { kind: "component", type: FNavigationGroupComponent, selector: "f-navigation-group", inputs: ["title"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: FBadgeComponent, selector: "span[f-badge]", inputs: ["text", "type"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FNavigationPanelComponent, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: 'f-navigation-panel', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
83
+ HandleNavigationLinksHandler
84
+ ], imports: [
85
+ FNavigationHeaderComponent,
86
+ FNavigationItemComponent,
87
+ FNavigationGroupComponent,
88
+ RouterLink,
89
+ FBadgeComponent,
90
+ ], template: "<a f-navigation-header routerLink></a>\n\n@for (group of navigation; track group) {\n <f-navigation-group [title]=\"group.text\">\n @for (item of group.items; track item.link) {\n <a f-navigation-item [href]=\"item.link\" [class.active]=\"item.link === value\">\n <div class=\"text-ellipsis\">{{ item.text }}</div>\n @if (item.badge) {\n <span f-badge [text]=\"item.badge.text\" [type]=\"item.badge.type\"></span>\n }\n </a>\n }\n </f-navigation-group>\n}\n", styles: [":host{height:100%;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:0 var(--navigation-panel-padding);background-color:var(--navigation-panel-background);overflow:hidden;overflow-y:auto;position:fixed;width:var(--navigation-panel-width);top:0;left:calc(-1 * var(--navigation-panel-width));transition:transform .2s ease-in-out;z-index:var(--z-index-navigation);transform:none}@media (min-width: 960px){:host{position:unset;display:flex;min-width:var(--navigation-panel-width);width:fit-content;transform:none!important}}@media (min-width: 1440px){:host{min-width:calc((100% - (var(--layout-max-width) - 64px)) / 3 + var(--navigation-panel-width) - var(--navigation-panel-padding))}}:host.visible{transform:translate(var(--navigation-panel-width))}\n"] }]
91
+ }], ctorParameters: () => [{ type: i1.FDocumentationEnvironmentService }, { type: undefined, decorators: [{
92
+ type: Inject,
93
+ args: [F_DOCUMENTATION_COMPONENT]
94
+ }] }, { type: i2.Router }, { type: i0.Injector }, { type: i0.ChangeDetectorRef }], propDecorators: { items: [{
95
+ type: ViewChildren,
96
+ args: [FNavigationItemComponent]
97
+ }], onDocumentClick: [{
98
+ type: HostListener,
99
+ args: ['click', ['$event']]
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1uYXZpZ2F0aW9uLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtbmF2aWdhdGlvbi1wYW5lbC9mLW5hdmlnYXRpb24tcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1uYXZpZ2F0aW9uLXBhbmVsL2YtbmF2aWdhdGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUcvQixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBVSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDM0YsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixlQUFlLEVBR2hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBbUIxQyxNQUFNLE9BQU8seUJBQXlCO0lBWTFCO0lBQ21DO0lBQ25DO0lBQ0E7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O3VCQUFDLE9BQU8sRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIEluamVjdCwgSW5qZWN0b3IsXG4gIE9uRGVzdHJveSwgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZHJlblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRk5hdmlnYXRpb25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9mLW5hdmlnYXRpb24taXRlbS9mLW5hdmlnYXRpb24taXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRk5hdmlnYXRpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2YtbmF2aWdhdGlvbi1oZWFkZXIvZi1uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRk5hdmlnYXRpb25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4vZi1uYXZpZ2F0aW9uLWdyb3VwL2YtbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVCxcbiAgRkJhZGdlQ29tcG9uZW50LFxuICBGRG9jdW1lbnRhdGlvbkVudmlyb25tZW50U2VydmljZSxcbiAgSURvY3VtZW50YXRpb25Db21wb25lbnRcbn0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgSU5hdmlnYXRpb25Hcm91cCwgSU5hdmlnYXRpb25JdGVtIH0gZnJvbSAnLi9kb21haW4nO1xuaW1wb3J0IHsgSGFuZGxlTmF2aWdhdGlvbkxpbmtzSGFuZGxlciwgSGFuZGxlTmF2aWdhdGlvbkxpbmtzUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBkZWVwQ2xvbmUgfSBmcm9tICdAZm9ibGV4L3V0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1uYXZpZ2F0aW9uLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtbmF2aWdhdGlvbi1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLW5hdmlnYXRpb24tcGFuZWwuY29tcG9uZW50LnNjc3MnIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBIYW5kbGVOYXZpZ2F0aW9uTGlua3NIYW5kbGVyXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBGTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCxcbiAgICBGTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQsXG4gICAgRk5hdmlnYXRpb25Hcm91cENvbXBvbmVudCxcbiAgICBSb3V0ZXJMaW5rLFxuICAgIEZCYWRnZUNvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGTmF2aWdhdGlvblBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgQFZpZXdDaGlsZHJlbihGTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQpXG4gIHByb3RlY3RlZCBpdGVtcyE6IFF1ZXJ5TGlzdDxGTmF2aWdhdGlvbkl0ZW1Db21wb25lbnQ+O1xuXG4gIHByb3RlY3RlZCB2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBuYXZpZ2F0aW9uOiBJTmF2aWdhdGlvbkdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZFbnZpcm9ubWVudFNlcnZpY2U6IEZEb2N1bWVudGF0aW9uRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIEBJbmplY3QoRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVCkgcHJpdmF0ZSBmRG9jdW1lbnRhdGlvbjogSURvY3VtZW50YXRpb25Db21wb25lbnQsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICB0aGlzLm5hdmlnYXRpb24gPSB0aGlzLmZFbnZpcm9ubWVudFNlcnZpY2UuZ2V0TmF2aWdhdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRQYXRoID0gdGhpcy5yb3V0ZXIudXJsO1xuICAgIGNvbnN0IHByZWZpeCA9IGN1cnJlbnRQYXRoLnN1YnN0cmluZygwLCBjdXJyZW50UGF0aC5sYXN0SW5kZXhPZignLycpKTtcbiAgICBjb25zdCBuYXZpZ2F0aW9uOiBJTmF2aWdhdGlvbkdyb3VwW10gPSBkZWVwQ2xvbmUodGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldE5hdmlnYXRpb24oKSk7XG4gICAgbmF2aWdhdGlvbi5mb3JFYWNoKChncm91cCkgPT4ge1xuICAgICAgZ3JvdXAuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICB0aGlzLm5vcm1hbGl6ZUxpbmsoaXRlbSwgcHJlZml4KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMubmF2aWdhdGlvbiA9IG5hdmlnYXRpb247XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxpbmsoaXRlbTogSU5hdmlnYXRpb25JdGVtLCBwcmVmaXg6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpdGVtLmxpbmsgJiYgIXRoaXMuaXNFeHRlcm5hbExpbmsoaXRlbS5saW5rKSkge1xuICAgICAgaXRlbS5saW5rID0gaXRlbS5saW5rLnN0YXJ0c1dpdGgoJy8nKSA/IGAkeyBwcmVmaXggfSR7IGl0ZW0ubGluayB9YCA6IGAkeyBwcmVmaXggfS8keyBpdGVtLmxpbmsgfWA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc0V4dGVybmFsTGluayhocmVmOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaHJlZi5zdGFydHNXaXRoKCd3d3cnKSB8fCBocmVmLnN0YXJ0c1dpdGgoJ2h0dHAnKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24uYWRkKHRoaXMuc3Vic2NyaWJlT25Sb3V0ZUNoYW5nZXMoKSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uUm91dGVDaGFuZ2VzKCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKFxuICAgICAgc3RhcnRXaXRoKG5ldyBOYXZpZ2F0aW9uRW5kKDEsICcnLCAnJykpLFxuICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5oaWdobGlnaHRMaW5rKHRoaXMucm91dGVyLnVybCk7XG4gICAgICB0aGlzLmZEb2N1bWVudGF0aW9uLm9uVG9nZ2xlTmF2aWdhdGlvbihmYWxzZSk7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGlnaGxpZ2h0TGluayh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5uYXZpZ2F0aW9uLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICB0aGlzLnZhbHVlID0gZ3JvdXAuaXRlbXMuZmluZCgoeCkgPT4ge1xuICAgICAgICByZXR1cm4gdXJsLmVuZHNXaXRoKHgubGluaylcbiAgICAgIH0pPy5saW5rIHx8IHRoaXMudmFsdWU7XG4gICAgfSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsgJyRldmVudCcgXSlcbiAgcHVibGljIG9uRG9jdW1lbnRDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KEhhbmRsZU5hdmlnYXRpb25MaW5rc0hhbmRsZXIpLmhhbmRsZShuZXcgSGFuZGxlTmF2aWdhdGlvbkxpbmtzUmVxdWVzdChldmVudCkpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxhIGYtbmF2aWdhdGlvbi1oZWFkZXIgcm91dGVyTGluaz48L2E+XG5cbkBmb3IgKGdyb3VwIG9mIG5hdmlnYXRpb247IHRyYWNrIGdyb3VwKSB7XG4gIDxmLW5hdmlnYXRpb24tZ3JvdXAgW3RpdGxlXT1cImdyb3VwLnRleHRcIj5cbiAgICBAZm9yIChpdGVtIG9mIGdyb3VwLml0ZW1zOyB0cmFjayBpdGVtLmxpbmspIHtcbiAgICAgIDxhIGYtbmF2aWdhdGlvbi1pdGVtIFtocmVmXT1cIml0ZW0ubGlua1wiIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5saW5rID09PSB2YWx1ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbGxpcHNpc1wiPnt7IGl0ZW0udGV4dCB9fTwvZGl2PlxuICAgICAgICBAaWYgKGl0ZW0uYmFkZ2UpIHtcbiAgICAgICAgICA8c3BhbiBmLWJhZGdlIFt0ZXh0XT1cIml0ZW0uYmFkZ2UudGV4dFwiIFt0eXBlXT1cIml0ZW0uYmFkZ2UudHlwZVwiPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgPC9hPlxuICAgIH1cbiAgPC9mLW5hdmlnYXRpb24tZ3JvdXA+XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export * from './domain';
2
+ export * from './f-navigation-group/f-navigation-group.component';
3
+ export * from './f-navigation-header/f-navigation-header.component';
4
+ export * from './f-navigation-item/f-navigation-item.component';
5
+ export * from './f-navigation-panel.component';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLW5hdmlnYXRpb24tcGFuZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFFekIsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHFEQUFxRCxDQUFDO0FBRXBFLGNBQWMsaURBQWlELENBQUM7QUFFaEUsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZG9tYWluJztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5hdmlnYXRpb24tZ3JvdXAvZi1uYXZpZ2F0aW9uLWdyb3VwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1uYXZpZ2F0aW9uLWhlYWRlci9mLW5hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1uYXZpZ2F0aW9uLWl0ZW0vZi1uYXZpZ2F0aW9uLWl0ZW0uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLW5hdmlnYXRpb24tcGFuZWwuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,104 @@
1
+ import { Injectable, ViewContainerRef } from '@angular/core';
2
+ import { FPreviewComponent } from '../../../../index';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../../../index";
5
+ export class HandleDynamicComponentsHandler {
6
+ fEnvironmentService;
7
+ injector;
8
+ componentRefs = [];
9
+ constructor(fEnvironmentService, injector) {
10
+ this.fEnvironmentService = fEnvironmentService;
11
+ this.injector = injector;
12
+ }
13
+ handle(request) {
14
+ this.dispose();
15
+ const components = [
16
+ {
17
+ tag: 'f-preview', component: FPreviewComponent
18
+ },
19
+ ...this.fEnvironmentService.getComponents()
20
+ ];
21
+ components.forEach((data) => {
22
+ const elements = this.getDynamicElements(request.hostElement, data.tag);
23
+ if (elements.length) {
24
+ if (this.isPromise(data.component)) {
25
+ data.component.then(module => {
26
+ const component = this.extractComponent(module);
27
+ if (component) {
28
+ this.replaceElementsWithComponent(elements, component, data.tag);
29
+ }
30
+ else {
31
+ this.logComponentResolutionError(data.tag);
32
+ }
33
+ }).catch(error => this.logComponentLoadingError(data.tag, error));
34
+ }
35
+ else {
36
+ this.replaceElementsWithComponent(elements, data.component, data.tag);
37
+ }
38
+ }
39
+ });
40
+ }
41
+ getDynamicElements(hostElement, tag) {
42
+ return Array.from(hostElement.querySelectorAll(tag));
43
+ }
44
+ isPromise(value) {
45
+ return value && typeof value.then === 'function';
46
+ }
47
+ extractComponent(module) {
48
+ return module && module.default ? module.default : Object.values(module)[0];
49
+ }
50
+ replaceElementsWithComponent(elements, component, tag) {
51
+ elements.forEach((x) => {
52
+ try {
53
+ this.changeElementToComponent(x, component);
54
+ }
55
+ catch (error) {
56
+ this.logComponentInsertionError(tag, error);
57
+ }
58
+ });
59
+ }
60
+ changeElementToComponent(element, component) {
61
+ try {
62
+ const componentRef = this.getComponentReference(component);
63
+ this.componentRefs.push(componentRef);
64
+ if (!element.dataset) {
65
+ return;
66
+ }
67
+ Object.keys(element.dataset).forEach((key) => componentRef.instance[key] = element.dataset[key]);
68
+ componentRef.instance?.initialize?.();
69
+ element.parentElement.replaceChild(this.getComponentElement(componentRef), element);
70
+ }
71
+ catch (error) {
72
+ console.error(`Error while inserting component: ${component.name}`, error);
73
+ }
74
+ }
75
+ getComponentReference(component) {
76
+ return this.injector.get(ViewContainerRef).createComponent(component);
77
+ }
78
+ getComponentElement(componentRef) {
79
+ this.requestComponentRedraw(componentRef);
80
+ return componentRef.hostView.rootNodes[0];
81
+ }
82
+ requestComponentRedraw(componentRef) {
83
+ componentRef.changeDetectorRef.markForCheck();
84
+ }
85
+ logComponentResolutionError(tag, error) {
86
+ console.error(`Component for tag "${tag}" could not be resolved.`, error);
87
+ }
88
+ logComponentLoadingError(tag, error) {
89
+ console.error(`Error while loading component for tag "${tag}":`, error);
90
+ }
91
+ logComponentInsertionError(tag, error) {
92
+ console.error(`Error while inserting component for tag "${tag}":`, error);
93
+ }
94
+ dispose() {
95
+ this.componentRefs.forEach((ref) => ref.destroy());
96
+ this.componentRefs = [];
97
+ }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleDynamicComponentsHandler, deps: [{ token: i1.FDocumentationEnvironmentService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
99
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleDynamicComponentsHandler });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleDynamicComponentsHandler, decorators: [{
102
+ type: Injectable
103
+ }], ctorParameters: () => [{ type: i1.FDocumentationEnvironmentService }, { type: i0.Injector }] });
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy5oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wYWdlL2YtbWFya2Rvd24vZG9tYWluL2hhbmRsZS1keW5hbWljLWNvbXBvbmVudHMvaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBZ0IsVUFBVSxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQW9DLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQUd4RixNQUFNLE9BQU8sOEJBQThCO0lBSS9CO0lBQ0E7SUFKRixhQUFhLEdBQXdCLEVBQUUsQ0FBQztJQUVoRCxZQUNVLG1CQUFxRCxFQUNyRCxRQUFrQjtRQURsQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQWtDO1FBQ3JELGFBQVEsR0FBUixRQUFRLENBQVU7SUFFNUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxPQUF1QztRQUNuRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLFVBQVUsR0FBRztZQUNqQjtnQkFDRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUI7YUFDL0M7WUFDRCxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7U0FDNUMsQ0FBQztRQUVGLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksSUFBSSxDQUFD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MUIsQ0FBQzt3R0F0R1UsOEJBQThCOzRHQUE5Qiw4QkFBOEI7OzRGQUE5Qiw4QkFBOEI7a0JBRDFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGFuZGxlciB9IGZyb20gJ0Bmb2JsZXgvbWVkaWF0b3InO1xuaW1wb3J0IHsgSGFuZGxlRHluYW1pY0NvbXBvbmVudHNSZXF1ZXN0IH0gZnJvbSAnLi9oYW5kbGUtZHluYW1pYy1jb21wb25lbnRzLnJlcXVlc3QnO1xuaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgVHlwZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkRvY3VtZW50YXRpb25FbnZpcm9ubWVudFNlcnZpY2UsIEZQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vaW5kZXgnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGFuZGxlRHluYW1pY0NvbXBvbmVudHNIYW5kbGVyIGltcGxlbWVudHMgSUhhbmRsZXI8SGFuZGxlRHluYW1pY0NvbXBvbmVudHNSZXF1ZXN0PiB7XG4gIHByaXZhdGUgY29tcG9uZW50UmVmczogQ29tcG9uZW50UmVmPGFueT5bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkVudmlyb25tZW50U2VydmljZTogRkRvY3VtZW50YXRpb25FbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBIYW5kbGVEeW5hbWljQ29tcG9uZW50c1JlcXVlc3QpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3Bvc2UoKTtcbiAgICBjb25zdCBjb21wb25lbnRzID0gW1xuICAgICAge1xuICAgICAgICB0YWc6ICdmLXByZXZpZXcnLCBjb21wb25lbnQ6IEZQcmV2aWV3Q29tcG9uZW50XG4gICAgICB9LFxuICAgICAgLi4udGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldENvbXBvbmVudHMoKVxuICAgIF07XG5cbiAgICBjb21wb25lbnRzLmZvckVhY2goKGRhdGEpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5nZXREeW5hbWljRWxlbWVudHMocmVxdWVzdC5ob3N0RWxlbWVudCwgZGF0YS50YWcpO1xuICAgICAgaWYgKGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBpZiAodGhpcy5pc1Byb21pc2UoZGF0YS5jb21wb25lbnQpKSB7XG4gICAgICAgICAgZGF0YS5jb21wb25lbnQudGhlbihtb2R1bGUgPT4ge1xuICAgICAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5leHRyYWN0Q29tcG9uZW50KG1vZHVsZSk7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMucmVwbGFjZUVsZW1lbnRzV2l0aENvbXBvbmVudChlbGVtZW50cywgY29tcG9uZW50LCBkYXRhLnRhZyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmxvZ0NvbXBvbmVudFJlc29sdXRpb25FcnJvcihkYXRhLnRhZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkuY2F0Y2goZXJyb3IgPT4gdGhpcy5sb2dDb21wb25lbnRMb2FkaW5nRXJyb3IoZGF0YS50YWcsIGVycm9yKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZXBsYWNlRWxlbWVudHNXaXRoQ29tcG9uZW50KGVsZW1lbnRzLCBkYXRhLmNvbXBvbmVudCwgZGF0YS50YWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldER5bmFtaWNFbGVtZW50cyhob3N0RWxlbWVudDogSFRNTEVsZW1lbnQsIHRhZzogc3RyaW5nKTogSFRNTEVsZW1lbnRbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oaG9zdEVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCh0YWcpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNQcm9taXNlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUudGhlbiA9PT0gJ2Z1bmN0aW9uJztcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdENvbXBvbmVudChtb2R1bGU6IGFueSk6IFR5cGU8YW55PiB8IG51bGwge1xuICAgIHJldHVybiBtb2R1bGUgJiYgbW9kdWxlLmRlZmF1bHQgPyBtb2R1bGUuZGVmYXVsdCA6IE9iamVjdC52YWx1ZXMobW9kdWxlKVsgMCBdIGFzIFR5cGU8YW55PjtcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUVsZW1lbnRzV2l0aENvbXBvbmVudChlbGVtZW50czogSFRNTEVsZW1lbnRbXSwgY29tcG9uZW50OiBUeXBlPGFueT4sIHRhZzogc3RyaW5nKTogdm9pZCB7XG4gICAgZWxlbWVudHMuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5jaGFuZ2VFbGVtZW50VG9Db21wb25lbnQoeCwgY29tcG9uZW50KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMubG9nQ29tcG9uZW50SW5zZXJ0aW9uRXJyb3IodGFnLCBlcnJvcik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGNoYW5nZUVsZW1lbnRUb0NvbXBvbmVudChlbGVtZW50OiBIVE1MRWxlbWVudCwgY29tcG9uZW50OiBUeXBlPGFueT4pOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5nZXRDb21wb25lbnRSZWZlcmVuY2UoY29tcG9uZW50KTtcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmcy5wdXNoKGNvbXBvbmVudFJlZik7XG4gICAgICBpZiAoIWVsZW1lbnQuZGF0YXNldCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBPYmplY3Qua2V5cyhlbGVtZW50LmRhdGFzZXQpLmZvckVhY2goKGtleSkgPT4gY29tcG9uZW50UmVmLmluc3RhbmNlWyBrZXkgXSA9IGVsZW1lbnQuZGF0YXNldFsga2V5IF0pO1xuICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlPy5pbml0aWFsaXplPy4oKTtcbiAgICAgIGVsZW1lbnQucGFyZW50RWxlbWVudCEucmVwbGFjZUNoaWxkKHRoaXMuZ2V0Q29tcG9uZW50RWxlbWVudChjb21wb25lbnRSZWYpLCBlbGVtZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igd2hpbGUgaW5zZXJ0aW5nIGNvbXBvbmVudDogJHsgY29tcG9uZW50Lm5hbWUgfWAsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENvbXBvbmVudFJlZmVyZW5jZTxUPihjb21wb25lbnQ6IFR5cGU8VD4pOiBDb21wb25lbnRSZWY8VD4ge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChWaWV3Q29udGFpbmVyUmVmKS5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29tcG9uZW50RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KTogSFRNTEVsZW1lbnQge1xuICAgIHRoaXMucmVxdWVzdENvbXBvbmVudFJlZHJhdyhjb21wb25lbnRSZWYpO1xuICAgIHJldHVybiAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIGFueSkucm9vdE5vZGVzWyAwIF0gYXMgSFRNTEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIHJlcXVlc3RDb21wb25lbnRSZWRyYXcoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pik6IHZvaWQge1xuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nQ29tcG9uZW50UmVzb2x1dGlvbkVycm9yKHRhZzogc3RyaW5nLCBlcnJvcj86IGFueSk6IHZvaWQge1xuICAgIGNvbnNvbGUuZXJyb3IoYENvbXBvbmVudCBmb3IgdGFnIFwiJHsgdGFnIH1cIiBjb3VsZCBub3QgYmUgcmVzb2x2ZWQuYCwgZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dDb21wb25lbnRMb2FkaW5nRXJyb3IodGFnOiBzdHJpbmcsIGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKGBFcnJvciB3aGlsZSBsb2FkaW5nIGNvbXBvbmVudCBmb3IgdGFnIFwiJHsgdGFnIH1cIjpgLCBlcnJvcik7XG4gIH1cblxuICBwcml2YXRlIGxvZ0NvbXBvbmVudEluc2VydGlvbkVycm9yKHRhZzogc3RyaW5nLCBlcnJvcjogYW55KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihgRXJyb3Igd2hpbGUgaW5zZXJ0aW5nIGNvbXBvbmVudCBmb3IgdGFnIFwiJHsgdGFnIH1cIjpgLCBlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbXBvbmVudFJlZnMuZm9yRWFjaCgocmVmKSA9PiByZWYuZGVzdHJveSgpKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZnMgPSBbXTtcbiAgfVxufVxuXG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class HandleDynamicComponentsRequest {
2
+ hostElement;
3
+ constructor(hostElement) {
4
+ this.hostElement = hostElement;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy5yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wYWdlL2YtbWFya2Rvd24vZG9tYWluL2hhbmRsZS1keW5hbWljLWNvbXBvbmVudHMvaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw4QkFBOEI7SUFFaEM7SUFEVCxZQUNTLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRWpDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBIYW5kbGVEeW5hbWljQ29tcG9uZW50c1JlcXVlc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50XG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './handle-dynamic-components.handler';
2
+ export * from './handle-dynamic-components.request';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBRXBELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hhbmRsZS1keW5hbWljLWNvbXBvbmVudHMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlLWR5bmFtaWMtY29tcG9uZW50cy5yZXF1ZXN0JztcbiJdfQ==
@@ -0,0 +1,35 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { FCodeGroupHandler, FCodeViewHandler } from './pseudo-components';
3
+ import * as i0 from "@angular/core";
4
+ export class HandleParsedContainersHandler {
5
+ injector;
6
+ fCodeGroupHandler = [];
7
+ fCodeViewHandler = [];
8
+ constructor(injector) {
9
+ this.injector = injector;
10
+ }
11
+ handle(request) {
12
+ this.dispose();
13
+ this.fCodeGroupHandler = this.getCodeGroups(request.hostElement);
14
+ this.fCodeViewHandler = this.getCodeViews(request.hostElement);
15
+ }
16
+ getCodeGroups(hostElement) {
17
+ return Array.from(hostElement.querySelectorAll('.f-code-group'))
18
+ .map((x) => new FCodeGroupHandler(x, this.injector));
19
+ }
20
+ getCodeViews(hostElement) {
21
+ return Array.from(hostElement.querySelectorAll('.f-code-view'))
22
+ .filter((x) => !x.parentElement?.classList.contains('f-code-group-body'))
23
+ .map((x) => new FCodeViewHandler(x, this.injector));
24
+ }
25
+ dispose() {
26
+ this.fCodeGroupHandler.forEach((x) => x.dispose?.());
27
+ this.fCodeViewHandler.forEach((x) => x.dispose?.());
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleParsedContainersHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleParsedContainersHandler });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HandleParsedContainersHandler, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: () => [{ type: i0.Injector }] });
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLXBhcnNlZC1jb250YWluZXJzLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL2hhbmRsZS1wYXJzZWQtY29udGFpbmVycy5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBSTFFLE1BQU0sT0FBTyw2QkFBNkI7SUFPOUI7SUFMRixpQkFBaUIsR0FBdUIsRUFBRSxDQUFDO0lBRTNDLGdCQUFnQixHQUF1QixFQUFFLENBQUM7SUFFbEQsWUFDVSxRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBRTVCLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBc0M7UUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRU8sYUFBYSxDQUFDLFdBQXdCO1FBQzVDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7YUFDN0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLENBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLFlBQVksQ0FBQyxXQUF3QjtRQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQzVELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQzthQUN4RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO3dHQS9CVSw2QkFBNkI7NEdBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElIYW5kbGVyIH0gZnJvbSAnQGZvYmxleC9tZWRpYXRvcic7XG5pbXBvcnQgeyBIYW5kbGVQYXJzZWRDb250YWluZXJzUmVxdWVzdCB9IGZyb20gJy4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzLnJlcXVlc3QnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZDb2RlR3JvdXBIYW5kbGVyLCBGQ29kZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9wc2V1ZG8tY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJUGFyc2VkQ29udGFpbmVyIH0gZnJvbSAnLi9pLXBhcnNlZC1jb250YWluZXInO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSGFuZGxlUGFyc2VkQ29udGFpbmVyc0hhbmRsZXIgaW1wbGVtZW50cyBJSGFuZGxlcjxIYW5kbGVQYXJzZWRDb250YWluZXJzUmVxdWVzdD4ge1xuXG4gIHByaXZhdGUgZkNvZGVHcm91cEhhbmRsZXI6IElQYXJzZWRDb250YWluZXJbXSA9IFtdO1xuXG4gIHByaXZhdGUgZkNvZGVWaWV3SGFuZGxlcjogSVBhcnNlZENvbnRhaW5lcltdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICB9XG5cbiAgcHVibGljIGhhbmRsZShyZXF1ZXN0OiBIYW5kbGVQYXJzZWRDb250YWluZXJzUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcG9zZSgpO1xuICAgIHRoaXMuZkNvZGVHcm91cEhhbmRsZXIgPSB0aGlzLmdldENvZGVHcm91cHMocmVxdWVzdC5ob3N0RWxlbWVudCk7XG4gICAgdGhpcy5mQ29kZVZpZXdIYW5kbGVyID0gdGhpcy5nZXRDb2RlVmlld3MocmVxdWVzdC5ob3N0RWxlbWVudCk7XG4gIH1cblxuICBwcml2YXRlIGdldENvZGVHcm91cHMoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSVBhcnNlZENvbnRhaW5lcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZi1jb2RlLWdyb3VwJykpXG4gICAgICAubWFwKCh4KSA9PiBuZXcgRkNvZGVHcm91cEhhbmRsZXIoeCBhcyBIVE1MRWxlbWVudCwgdGhpcy5pbmplY3RvcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2RlVmlld3MoaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSVBhcnNlZENvbnRhaW5lcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbShob3N0RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZi1jb2RlLXZpZXcnKSlcbiAgICAgIC5maWx0ZXIoKHgpID0+ICF4LnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnZi1jb2RlLWdyb3VwLWJvZHknKSlcbiAgICAgIC5tYXAoKHgpID0+IG5ldyBGQ29kZVZpZXdIYW5kbGVyKHggYXMgSFRNTEVsZW1lbnQsIHRoaXMuaW5qZWN0b3IpKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvZGVHcm91cEhhbmRsZXIuZm9yRWFjaCgoeCkgPT4geC5kaXNwb3NlPy4oKSk7XG4gICAgdGhpcy5mQ29kZVZpZXdIYW5kbGVyLmZvckVhY2goKHgpID0+IHguZGlzcG9zZT8uKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export class HandleParsedContainersRequest {
2
+ hostElement;
3
+ constructor(hostElement) {
4
+ this.hostElement = hostElement;
5
+ }
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlLXBhcnNlZC1jb250YWluZXJzLnJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL2hhbmRsZS1wYXJzZWQtY29udGFpbmVycy5yZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyw2QkFBNkI7SUFFL0I7SUFEVCxZQUNTLFdBQXdCO1FBQXhCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBRWpDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBIYW5kbGVQYXJzZWRDb250YWluZXJzUmVxdWVzdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICkge1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1wYXJzZWQtY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wYWdlL2YtbWFya2Rvd24vZG9tYWluL2hhbmRsZS1wYXJzZWQtY29udGFpbmVycy9pLXBhcnNlZC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVBhcnNlZENvbnRhaW5lciB7XG5cbiAgZGlzcG9zZT8oKTogdm9pZDtcbn1cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './pseudo-components';
2
+ export * from './handle-parsed-containers.handler';
3
+ export * from './handle-parsed-containers.request';
4
+ export * from './i-parsed-container';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFFcEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BzZXVkby1jb21wb25lbnRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGUtcGFyc2VkLWNvbnRhaW5lcnMuaGFuZGxlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzLnJlcXVlc3QnO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktcGFyc2VkLWNvbnRhaW5lcic7XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { from, map, of, switchMap } from 'rxjs';
2
+ export function copyToClipboard(value) {
3
+ const blob = new Blob([value], { type: 'text/plain' });
4
+ const data = [new ClipboardItem({ [blob.type]: blob })];
5
+ // @ts-ignore
6
+ return from(window?.navigator.permissions.query({ name: 'clipboard-write' })).pipe(map((permission) => {
7
+ return permission.state !== 'denied';
8
+ }), switchMap((isGranted) => {
9
+ if (isGranted) {
10
+ return from(navigator.clipboard.write(data));
11
+ }
12
+ return of(undefined);
13
+ }));
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29weS10by1jbGlwYm9hcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL3BzZXVkby1jb21wb25lbnRzL2NsaXBib2FyZC9jb3B5LXRvLWNsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBYTtJQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFFLEtBQUssQ0FBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDekQsTUFBTSxJQUFJLEdBQUcsQ0FBRSxJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUUsSUFBSSxDQUFDLElBQUksQ0FBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUUsQ0FBQztJQUU1RCxhQUFhO0lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEYsR0FBRyxDQUFDLENBQUMsVUFBNEIsRUFBRSxFQUFFO1FBQ25DLE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUM7SUFDdkMsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLENBQUMsU0FBa0IsRUFBRSxFQUFFO1FBQy9CLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb20sIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29weVRvQ2xpcGJvYXJkKHZhbHVlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBibG9iID0gbmV3IEJsb2IoWyB2YWx1ZSBdLCB7IHR5cGU6ICd0ZXh0L3BsYWluJyB9KTtcbiAgY29uc3QgZGF0YSA9IFsgbmV3IENsaXBib2FyZEl0ZW0oeyBbIGJsb2IudHlwZSBdOiBibG9iIH0pIF07XG5cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gZnJvbSh3aW5kb3c/Lm5hdmlnYXRvci5wZXJtaXNzaW9ucy5xdWVyeSh7IG5hbWU6ICdjbGlwYm9hcmQtd3JpdGUnIH0pKS5waXBlKFxuICAgIG1hcCgocGVybWlzc2lvbjogUGVybWlzc2lvblN0YXR1cykgPT4ge1xuICAgICAgcmV0dXJuIHBlcm1pc3Npb24uc3RhdGUgIT09ICdkZW5pZWQnO1xuICAgIH0pLFxuICAgIHN3aXRjaE1hcCgoaXNHcmFudGVkOiBib29sZWFuKSA9PiB7XG4gICAgICBpZiAoaXNHcmFudGVkKSB7XG4gICAgICAgIHJldHVybiBmcm9tKG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUoZGF0YSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZCk7XG4gICAgfSlcbiAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './copy-to-clipboard';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL3BzZXVkby1jb21wb25lbnRzL2NsaXBib2FyZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb3B5LXRvLWNsaXBib2FyZCc7XG4iXX0=
@@ -0,0 +1,46 @@
1
+ import { FCodeViewHandler } from './f-code-view-handler';
2
+ import { of } from 'rxjs';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { catchError, take } from 'rxjs/operators';
5
+ export class FAsyncCodeViewHandler extends FCodeViewHandler {
6
+ constructor(element, injector) {
7
+ super(element, injector);
8
+ }
9
+ initialize() {
10
+ if (this.isServer())
11
+ return;
12
+ const language = this.getFileExtension(this.element.innerHTML);
13
+ this.subscribeOnLoadFile(this.element.innerHTML).pipe(take(1), catchError((err, data) => of(''))).subscribe((content) => {
14
+ this.element.innerHTML = '';
15
+ this.element.appendChild(this.createPreView(language));
16
+ this.getCodeBlock().textContent = content;
17
+ super.initialize();
18
+ });
19
+ }
20
+ getFileExtension(url) {
21
+ const match = url.match(/\.([0-9a-z]+)(?:[\?#]|$)/i);
22
+ if (match) {
23
+ let extension = match[1];
24
+ if (extension === 'scss') {
25
+ extension = 'css';
26
+ }
27
+ return extension;
28
+ }
29
+ return '';
30
+ }
31
+ subscribeOnLoadFile(src) {
32
+ return this.injector.get(HttpClient).get(src, { responseType: 'text' });
33
+ }
34
+ createCodeView(container, language) {
35
+ const code = document.createElement('code');
36
+ code.classList.add(`language-${language}`);
37
+ container.appendChild(code);
38
+ }
39
+ createPreView(language) {
40
+ const pre = document.createElement('pre');
41
+ this.element.appendChild(pre);
42
+ this.createCodeView(pre, language);
43
+ return pre;
44
+ }
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1hc3luYy1jb2RlLXZpZXctaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLW1hcmtkb3duL2RvbWFpbi9oYW5kbGUtcGFyc2VkLWNvbnRhaW5lcnMvcHNldWRvLWNvbXBvbmVudHMvZi1hc3luYy1jb2RlLXZpZXctaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV6RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWxELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxnQkFBZ0I7SUFFekQsWUFDRSxPQUFvQixFQUNwQixRQUFrQjtRQUVsQixLQUFLLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFa0IsVUFBVTtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFBRSxPQUFPO1FBQzVCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN0SCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO1lBQzFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUVyRCxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU8sbUJBQW1CLENBQUMsR0FBVztRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQXlCLEVBQUUsUUFBZ0I7UUFDaEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFhLFFBQVMsRUFBRSxDQUFDLENBQUM7UUFDN0MsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFDbEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGQ29kZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9mLWNvZGUtdmlldy1oYW5kbGVyJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBGQXN5bmNDb2RlVmlld0hhbmRsZXIgZXh0ZW5kcyBGQ29kZVZpZXdIYW5kbGVyIHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbiAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoZWxlbWVudCwgaW5qZWN0b3IpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNTZXJ2ZXIoKSkgcmV0dXJuO1xuICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5nZXRGaWxlRXh0ZW5zaW9uKHRoaXMuZWxlbWVudC5pbm5lckhUTUwpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25Mb2FkRmlsZSh0aGlzLmVsZW1lbnQuaW5uZXJIVE1MKS5waXBlKHRha2UoMSksIGNhdGNoRXJyb3IoKGVyciwgZGF0YSkgPT4gb2YoJycpKSkuc3Vic2NyaWJlKChjb250ZW50KSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnQuaW5uZXJIVE1MID0gJyc7XG4gICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVQcmVWaWV3KGxhbmd1YWdlKSk7XG4gICAgICB0aGlzLmdldENvZGVCbG9jaygpLnRleHRDb250ZW50ID0gY29udGVudDtcbiAgICAgIHN1cGVyLmluaXRpYWxpemUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RmlsZUV4dGVuc2lvbih1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbWF0Y2ggPSB1cmwubWF0Y2goL1xcLihbMC05YS16XSspKD86W1xcPyNdfCQpL2kpO1xuXG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICBsZXQgZXh0ZW5zaW9uID0gbWF0Y2hbMV07XG4gICAgICBpZiAoZXh0ZW5zaW9uID09PSAnc2NzcycpIHtcbiAgICAgICAgZXh0ZW5zaW9uID0gJ2Nzcyc7XG4gICAgICB9XG4gICAgICByZXR1cm4gZXh0ZW5zaW9uO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uTG9hZEZpbGUoc3JjOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChIdHRwQ2xpZW50KS5nZXQoc3JjLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDb2RlVmlldyhjb250YWluZXI6IEhUTUxQcmVFbGVtZW50LCBsYW5ndWFnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY29kZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NvZGUnKTtcbiAgICBjb2RlLmNsYXNzTGlzdC5hZGQoYGxhbmd1YWdlLSR7IGxhbmd1YWdlIH1gKTtcbiAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoY29kZSk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVByZVZpZXcobGFuZ3VhZ2U6IHN0cmluZyk6IEhUTUxQcmVFbGVtZW50IHtcbiAgICBjb25zdCBwcmUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwcmUnKTtcbiAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQocHJlKTtcbiAgICB0aGlzLmNyZWF0ZUNvZGVWaWV3KHByZSwgbGFuZ3VhZ2UpXG4gICAgcmV0dXJuIHByZTtcbiAgfVxufVxuIl19
@@ -0,0 +1,54 @@
1
+ import { fromEvent, Subscription } from 'rxjs';
2
+ import { FCodeGroupBodyHandler } from '../f-code-group-body.handler';
3
+ export class FCodeGroupHandler {
4
+ element;
5
+ injector;
6
+ subscriptions$ = new Subscription();
7
+ body;
8
+ get tabs() {
9
+ return Array.from(this.element.querySelectorAll('.f-tab-button'));
10
+ }
11
+ get firstTab() {
12
+ const tabs = this.tabs;
13
+ if (!tabs.length) {
14
+ return undefined;
15
+ }
16
+ return tabs[0];
17
+ }
18
+ constructor(element, injector) {
19
+ this.element = element;
20
+ this.injector = injector;
21
+ this.body = new FCodeGroupBodyHandler(this.element, this.injector);
22
+ this.initialize();
23
+ }
24
+ initialize() {
25
+ this.subscribeOnTabsClick();
26
+ this.onTabClick(this.firstTab);
27
+ }
28
+ subscribeOnTabsClick() {
29
+ this.tabs.forEach((tab) => {
30
+ this.subscriptions$.add(this.subscribeOnTabClick(tab));
31
+ });
32
+ }
33
+ subscribeOnTabClick(tab) {
34
+ return fromEvent(tab, 'click').subscribe(() => this.onTabClick(tab));
35
+ }
36
+ onTabClick(targetTab) {
37
+ if (targetTab) {
38
+ this.markActiveTab(targetTab);
39
+ this.body.toggle(this.getTargetTabIndex(targetTab));
40
+ }
41
+ }
42
+ markActiveTab(target) {
43
+ this.tabs.forEach(tab => tab.classList.remove('active'));
44
+ target.classList.add('active');
45
+ }
46
+ getTargetTabIndex(target) {
47
+ return this.tabs.indexOf(target);
48
+ }
49
+ dispose() {
50
+ this.body.dispose();
51
+ this.subscriptions$.unsubscribe();
52
+ }
53
+ }
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb2RlLWdyb3VwLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL3BzZXVkby1jb21wb25lbnRzL2YtY29kZS1ncm91cC9mLWNvZGUtZ3JvdXAuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdyRSxNQUFNLE9BQU8saUJBQWlCO0lBbUJsQjtJQUNBO0lBbEJGLGNBQWMsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVsRCxJQUFJLENBQXdCO0lBRXBDLElBQVksSUFBSTtRQUNkLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQVksUUFBUTtRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFFLENBQUMsQ0FBRSxDQUFDO0lBQ25CLENBQUM7SUFFRCxZQUNVLE9BQW9CLEVBQ3BCLFFBQWtCO1FBRGxCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFDcEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxHQUFzQjtRQUNoRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU8sVUFBVSxDQUFDLFNBQXdDO1FBQ3pELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQXlCO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsTUFBeUI7UUFDakQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZDb2RlR3JvdXBCb2R5SGFuZGxlciB9IGZyb20gJy4uL2YtY29kZS1ncm91cC1ib2R5LmhhbmRsZXInO1xuaW1wb3J0IHsgSVBhcnNlZENvbnRhaW5lciB9IGZyb20gJy4uLy4uL2ktcGFyc2VkLWNvbnRhaW5lcic7XG5cbmV4cG9ydCBjbGFzcyBGQ29kZUdyb3VwSGFuZGxlciBpbXBsZW1lbnRzIElQYXJzZWRDb250YWluZXIge1xuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9ucyQ6IFN1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBwcml2YXRlIGJvZHk6IEZDb2RlR3JvdXBCb2R5SGFuZGxlcjtcblxuICBwcml2YXRlIGdldCB0YWJzKCk6IEhUTUxCdXR0b25FbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZi10YWItYnV0dG9uJykpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZmlyc3RUYWIoKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRhYnMgPSB0aGlzLnRhYnM7XG4gICAgaWYgKCF0YWJzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIHRhYnNbIDAgXTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIHRoaXMuYm9keSA9IG5ldyBGQ29kZUdyb3VwQm9keUhhbmRsZXIodGhpcy5lbGVtZW50LCB0aGlzLmluamVjdG9yKTtcbiAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmliZU9uVGFic0NsaWNrKCk7XG4gICAgdGhpcy5vblRhYkNsaWNrKHRoaXMuZmlyc3RUYWIpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblRhYnNDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmFkZCh0aGlzLnN1YnNjcmliZU9uVGFiQ2xpY2sodGFiKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uVGFiQ2xpY2sodGFiOiBIVE1MQnV0dG9uRWxlbWVudCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgcmV0dXJuIGZyb21FdmVudCh0YWIsICdjbGljaycpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm9uVGFiQ2xpY2sodGFiKSk7XG4gIH1cblxuICBwcml2YXRlIG9uVGFiQ2xpY2sodGFyZ2V0VGFiOiBIVE1MQnV0dG9uRWxlbWVudCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh0YXJnZXRUYWIpIHtcbiAgICAgIHRoaXMubWFya0FjdGl2ZVRhYih0YXJnZXRUYWIpO1xuICAgICAgdGhpcy5ib2R5LnRvZ2dsZSh0aGlzLmdldFRhcmdldFRhYkluZGV4KHRhcmdldFRhYikpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFya0FjdGl2ZVRhYih0YXJnZXQ6IEhUTUxCdXR0b25FbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy50YWJzLmZvckVhY2godGFiID0+IHRhYi5jbGFzc0xpc3QucmVtb3ZlKCdhY3RpdmUnKSk7XG4gICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2FjdGl2ZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXJnZXRUYWJJbmRleCh0YXJnZXQ6IEhUTUxCdXR0b25FbGVtZW50KTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy50YWJzLmluZGV4T2YodGFyZ2V0KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuYm9keS5kaXNwb3NlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1jb2RlLWdyb3VwLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL3BzZXVkby1jb21wb25lbnRzL2YtY29kZS1ncm91cC9pLWNvZGUtZ3JvdXAtdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvZGVHcm91cFZpZXcge1xuXG4gIHNldERpc3BsYXkodmFsdWU6IHN0cmluZyk6IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './f-code-group.handler';
2
+ export * from './i-code-group-view';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLXBhZ2UvZi1tYXJrZG93bi9kb21haW4vaGFuZGxlLXBhcnNlZC1jb250YWluZXJzL3BzZXVkby1jb21wb25lbnRzL2YtY29kZS1ncm91cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBRXZDLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtY29kZS1ncm91cC5oYW5kbGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9pLWNvZGUtZ3JvdXAtdmlldyc7XG4iXX0=
@@ -2,6 +2,9 @@ import { FCodeViewHandler } from './f-code-view-handler';
2
2
  import { FExampleViewHandler } from './f-example-view-handler';
3
3
  import { FAsyncCodeViewHandler } from './f-async-code-view-handler';
4
4
  export class FCodeGroupBodyHandler {
5
+ element;
6
+ injector;
7
+ fContainerHandlers;
5
8
  constructor(element, injector) {
6
9
  this.element = element;
7
10
  this.injector = injector;
@@ -42,4 +45,4 @@ export class FCodeGroupBodyHandler {
42
45
  this.fContainerHandlers.forEach((x) => x.dispose?.());
43
46
  }
44
47
  }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb2RlLWdyb3VwLWJvZHkuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1wYWdlL2YtbWFya2Rvd24vZG9tYWluL2hhbmRsZS1wYXJzZWQtY29udGFpbmVycy9wc2V1ZG8tY29tcG9uZW50cy9mLWNvZGUtZ3JvdXAtYm9keS5oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSS9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFDUyxPQUFvQixFQUNuQixRQUFrQjtRQURuQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLElBQUksZ0JBQWdCLENBQUMsQ0FBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxJQUFJLHFCQUFxQixDQUFDLENBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksbUJBQW1CLENBQUMsQ0FBZ0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFFLENBQUMsUUFBUSxDQUFrQixDQUFDO0lBQ2pHLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBZ0I7UUFDakMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUN2RCxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvZGVWaWV3SGFuZGxlciB9IGZyb20gJy4vZi1jb2RlLXZpZXctaGFuZGxlcic7XG5pbXBvcnQgeyBGRXhhbXBsZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9mLWV4YW1wbGUtdmlldy1oYW5kbGVyJztcbmltcG9ydCB7IElQYXJzZWRDb250YWluZXIgfSBmcm9tICcuLi9pLXBhcnNlZC1jb250YWluZXInO1xuaW1wb3J0IHsgSUNvZGVHcm91cFZpZXcgfSBmcm9tICcuL2YtY29kZS1ncm91cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkFzeW5jQ29kZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9mLWFzeW5jLWNvZGUtdmlldy1oYW5kbGVyJztcblxudHlwZSBEaXNwb3NhYmxlQ29udGFpbmVyID0gSVBhcnNlZENvbnRhaW5lciAmIElDb2RlR3JvdXBWaWV3O1xuXG5leHBvcnQgY2xhc3MgRkNvZGVHcm91cEJvZHlIYW5kbGVyIGltcGxlbWVudHMgSVBhcnNlZENvbnRhaW5lciB7XG5cbiAgcHJpdmF0ZSBmQ29udGFpbmVySGFuZGxlcnM6IERpc3Bvc2FibGVDb250YWluZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5mQ29udGFpbmVySGFuZGxlcnMgPSB0aGlzLmdldENvZGVWaWV3cygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlKDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2RlVmlld3MoKTogRGlzcG9zYWJsZUNvbnRhaW5lcltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRHcm91cEJvZHlDaGlsZHJlbigpLm1hcCgoeCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNDb2RlVmlldyh4KSkge1xuICAgICAgICByZXR1cm4gbmV3IEZDb2RlVmlld0hhbmRsZXIoeCBhcyBIVE1MRWxlbWVudCwgdGhpcy5pbmplY3Rvcik7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNBc3luY0NvZGVWaWV3KHgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRkFzeW5jQ29kZVZpZXdIYW5kbGVyKHggYXMgSFRNTEVsZW1lbnQsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGRXhhbXBsZVZpZXdIYW5kbGVyKHggYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRHcm91cEJvZHlDaGlsZHJlbigpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcignLmYtY29kZS1ncm91cC1ib2R5JykhLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvZGVWaWV3KGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2YtY29kZS12aWV3Jyk7XG4gIH1cblxuICBwcml2YXRlIGlzQXN5bmNDb2RlVmlldyhlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWFzeW5jLWNvZGUtdmlldycpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mQ29udGFpbmVySGFuZGxlcnMuZm9yRWFjaCgoZkNvbnRhaW5lciwgdGFiSW5kZXgpID0+IHtcbiAgICAgIGZDb250YWluZXIuc2V0RGlzcGxheSh0YWJJbmRleCA9PT0gaW5kZXggPyAnYmxvY2snIDogJ25vbmUnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbnRhaW5lckhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguZGlzcG9zZT8uKCkpO1xuICB9XG59XG4iXX0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb2RlLWdyb3VwLWJvZHkuaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcGFnZS9mLW1hcmtkb3duL2RvbWFpbi9oYW5kbGUtcGFyc2VkLWNvbnRhaW5lcnMvcHNldWRvLWNvbXBvbmVudHMvZi1jb2RlLWdyb3VwLWJvZHkuaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUkvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUlwRSxNQUFNLE9BQU8scUJBQXFCO0lBS3ZCO0lBQ0M7SUFKRixrQkFBa0IsQ0FBd0I7SUFFbEQsWUFDUyxPQUFvQixFQUNuQixRQUFrQjtRQURuQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFMUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN2QixPQUFPLElBQUksZ0JBQWdCLENBQUMsQ0FBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0QsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsT0FBTyxJQUFJLHFCQUFxQixDQUFDLENBQWdCLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksbUJBQW1CLENBQUMsQ0FBZ0IsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFFLENBQUMsUUFBUSxDQUFrQixDQUFDO0lBQ2pHLENBQUM7SUFFTyxVQUFVLENBQUMsT0FBZ0I7UUFDakMsT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRU8sZUFBZSxDQUFDLE9BQWdCO1FBQ3RDLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUN2RCxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRkNvZGVWaWV3SGFuZGxlciB9IGZyb20gJy4vZi1jb2RlLXZpZXctaGFuZGxlcic7XG5pbXBvcnQgeyBGRXhhbXBsZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9mLWV4YW1wbGUtdmlldy1oYW5kbGVyJztcbmltcG9ydCB7IElQYXJzZWRDb250YWluZXIgfSBmcm9tICcuLi9pLXBhcnNlZC1jb250YWluZXInO1xuaW1wb3J0IHsgSUNvZGVHcm91cFZpZXcgfSBmcm9tICcuL2YtY29kZS1ncm91cCc7XG5pbXBvcnQgeyBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkFzeW5jQ29kZVZpZXdIYW5kbGVyIH0gZnJvbSAnLi9mLWFzeW5jLWNvZGUtdmlldy1oYW5kbGVyJztcblxudHlwZSBEaXNwb3NhYmxlQ29udGFpbmVyID0gSVBhcnNlZENvbnRhaW5lciAmIElDb2RlR3JvdXBWaWV3O1xuXG5leHBvcnQgY2xhc3MgRkNvZGVHcm91cEJvZHlIYW5kbGVyIGltcGxlbWVudHMgSVBhcnNlZENvbnRhaW5lciB7XG5cbiAgcHJpdmF0ZSBmQ29udGFpbmVySGFuZGxlcnM6IERpc3Bvc2FibGVDb250YWluZXJbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgdGhpcy5mQ29udGFpbmVySGFuZGxlcnMgPSB0aGlzLmdldENvZGVWaWV3cygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlKDApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb2RlVmlld3MoKTogRGlzcG9zYWJsZUNvbnRhaW5lcltdIHtcbiAgICByZXR1cm4gdGhpcy5nZXRHcm91cEJvZHlDaGlsZHJlbigpLm1hcCgoeCkgPT4ge1xuICAgICAgaWYgKHRoaXMuaXNDb2RlVmlldyh4KSkge1xuICAgICAgICByZXR1cm4gbmV3IEZDb2RlVmlld0hhbmRsZXIoeCBhcyBIVE1MRWxlbWVudCwgdGhpcy5pbmplY3Rvcik7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNBc3luY0NvZGVWaWV3KHgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRkFzeW5jQ29kZVZpZXdIYW5kbGVyKHggYXMgSFRNTEVsZW1lbnQsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBGRXhhbXBsZVZpZXdIYW5kbGVyKHggYXMgSFRNTEVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRHcm91cEJvZHlDaGlsZHJlbigpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvcignLmYtY29kZS1ncm91cC1ib2R5JykhLmNoaWxkcmVuKSBhcyBIVE1MRWxlbWVudFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NvZGVWaWV3KGVsZW1lbnQ6IEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2YtY29kZS12aWV3Jyk7XG4gIH1cblxuICBwcml2YXRlIGlzQXN5bmNDb2RlVmlldyhlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCdmLWFzeW5jLWNvZGUtdmlldycpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5mQ29udGFpbmVySGFuZGxlcnMuZm9yRWFjaCgoZkNvbnRhaW5lciwgdGFiSW5kZXgpID0+IHtcbiAgICAgIGZDb250YWluZXIuc2V0RGlzcGxheSh0YWJJbmRleCA9PT0gaW5kZXggPyAnYmxvY2snIDogJ25vbmUnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZkNvbnRhaW5lckhhbmRsZXJzLmZvckVhY2goKHgpID0+IHguZGlzcG9zZT8uKCkpO1xuICB9XG59XG4iXX0=