@foblex/m-render 2.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +33 -0
  3. package/assets/fonts/inter-italic-latin-ext.woff2 +0 -0
  4. package/assets/fonts/inter-italic-latin.woff2 +0 -0
  5. package/assets/fonts/inter-roman-latin-ext.woff2 +0 -0
  6. package/assets/fonts/inter-roman-latin.woff2 +0 -0
  7. package/assets/styles/_alert.scss +50 -0
  8. package/assets/styles/_badge.scss +63 -0
  9. package/assets/styles/_button.scss +42 -0
  10. package/assets/styles/_code-group.scss +45 -0
  11. package/assets/styles/_code-highlight.scss +96 -0
  12. package/assets/styles/_code-view.scss +91 -0
  13. package/assets/styles/_doc-text.scss +124 -0
  14. package/assets/styles/_fonts.scss +41 -0
  15. package/assets/styles/_icons.scss +158 -0
  16. package/assets/styles/_preview-group.scss +11 -0
  17. package/assets/styles/_variables.scss +287 -0
  18. package/assets/styles/styles.scss +75 -0
  19. package/esm2022/foblex-m-render.mjs +5 -0
  20. package/esm2022/lib/common-services/analytics/f-accept-cookies-key.mjs +2 -0
  21. package/esm2022/lib/common-services/analytics/f-analytics.service.mjs +52 -0
  22. package/esm2022/lib/common-services/analytics/i-window-with-analytics.mjs +2 -0
  23. package/esm2022/lib/common-services/analytics/index.mjs +5 -0
  24. package/esm2022/lib/common-services/analytics/set-cookie-consent.mjs +32 -0
  25. package/esm2022/lib/common-services/f-head-tag.service.mjs +52 -0
  26. package/esm2022/lib/common-services/index.mjs +4 -0
  27. package/esm2022/lib/common-services/json-ld/f-json-ld.service.mjs +51 -0
  28. package/esm2022/lib/common-services/json-ld/i-json-ld-creator.mjs +2 -0
  29. package/esm2022/lib/common-services/json-ld/i-json-ld-entity-of-page.mjs +2 -0
  30. package/esm2022/lib/common-services/json-ld/i-json-ld.mjs +2 -0
  31. package/esm2022/lib/common-services/json-ld/index.mjs +5 -0
  32. package/esm2022/lib/domain/f-environment.service.mjs +66 -0
  33. package/esm2022/lib/domain/f-meta.service.mjs +77 -0
  34. package/esm2022/lib/domain/f-popover.service.mjs +25 -0
  35. package/esm2022/lib/domain/f-state.service.mjs +27 -0
  36. package/esm2022/lib/domain/features/get-version-handler/get-version.handler.mjs +27 -0
  37. package/esm2022/lib/domain/features/get-version-handler/get-version.request.mjs +6 -0
  38. package/esm2022/lib/domain/features/get-version-handler/index.mjs +3 -0
  39. package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.handler.mjs +51 -0
  40. package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.request.mjs +6 -0
  41. package/esm2022/lib/domain/features/handle-navigation-links/index.mjs +3 -0
  42. package/esm2022/lib/domain/features/index.mjs +3 -0
  43. package/esm2022/lib/domain/i-docs-component.mjs +2 -0
  44. package/esm2022/lib/domain/i-docs-environment.mjs +2 -0
  45. package/esm2022/lib/domain/i-docs-footer-navigation.mjs +2 -0
  46. package/esm2022/lib/domain/i-docs-header-navigation-item.mjs +2 -0
  47. package/esm2022/lib/domain/i-docs-social-link.mjs +2 -0
  48. package/esm2022/lib/domain/i-docs-table-of-content.mjs +2 -0
  49. package/esm2022/lib/domain/i-docs-version.mjs +2 -0
  50. package/esm2022/lib/domain/i-meta-data.mjs +2 -0
  51. package/esm2022/lib/domain/index.mjs +15 -0
  52. package/esm2022/lib/domain/providers.mjs +3 -0
  53. package/esm2022/lib/domain/router.mjs +13 -0
  54. package/esm2022/lib/f-documentation/f-badge/f-badge.component.mjs +22 -0
  55. package/esm2022/lib/f-documentation/f-badge/index.mjs +2 -0
  56. package/esm2022/lib/f-documentation/f-checkbox/f-checkbox.component.mjs +70 -0
  57. package/esm2022/lib/f-documentation/f-cookie-popup/f-cookie-popup.component.mjs +33 -0
  58. package/esm2022/lib/f-documentation/f-documentation.component.mjs +56 -0
  59. package/esm2022/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.mjs +24 -0
  60. package/esm2022/lib/f-documentation/f-header/f-header.component.mjs +30 -0
  61. package/esm2022/lib/f-documentation/f-header-menu/f-header-menu.component.mjs +29 -0
  62. package/esm2022/lib/f-documentation/f-preview/f-preview.component.mjs +58 -0
  63. package/esm2022/lib/f-documentation/f-social-links/f-social-links.component.mjs +18 -0
  64. package/esm2022/lib/f-documentation/f-theme-button/f-theme-button.component.mjs +41 -0
  65. package/esm2022/lib/f-documentation/f-version/f-version.component.mjs +19 -0
  66. package/esm2022/lib/f-documentation/i-documentation-component.mjs +3 -0
  67. package/esm2022/lib/f-documentation/index.mjs +13 -0
  68. package/esm2022/lib/f-navigation-panel/domain/i-navigation-group.mjs +2 -0
  69. package/esm2022/lib/f-navigation-panel/domain/i-navigation-item-badge.mjs +2 -0
  70. package/esm2022/lib/f-navigation-panel/domain/i-navigation-item.mjs +2 -0
  71. package/esm2022/lib/f-navigation-panel/domain/index.mjs +4 -0
  72. package/esm2022/lib/f-navigation-panel/f-navigation-group/f-navigation-group.component.mjs +22 -0
  73. package/esm2022/lib/f-navigation-panel/f-navigation-header/f-navigation-header.component.mjs +24 -0
  74. package/esm2022/lib/f-navigation-panel/f-navigation-item/f-navigation-item.component.mjs +11 -0
  75. package/esm2022/lib/f-navigation-panel/f-navigation-panel.component.mjs +94 -0
  76. package/esm2022/lib/f-navigation-panel/index.mjs +6 -0
  77. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.mjs +102 -0
  78. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.mjs +6 -0
  79. package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/index.mjs +3 -0
  80. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.mjs +34 -0
  81. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.mjs +6 -0
  82. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.mjs +2 -0
  83. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/index.mjs +5 -0
  84. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.mjs +15 -0
  85. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.mjs +2 -0
  86. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.mjs +46 -0
  87. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.mjs +51 -0
  88. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.mjs +2 -0
  89. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.mjs +3 -0
  90. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.mjs +45 -0
  91. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.mjs +60 -0
  92. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.mjs +9 -0
  93. package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.mjs +7 -0
  94. package/esm2022/lib/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.mjs +23 -0
  95. package/esm2022/lib/f-page/f-markdown/domain/highlight/highlight.service.mjs +54 -0
  96. package/esm2022/lib/f-page/f-markdown/domain/highlight/index.mjs +6 -0
  97. package/esm2022/lib/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.mjs +52 -0
  98. package/esm2022/lib/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.mjs +22 -0
  99. package/esm2022/lib/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.mjs +28 -0
  100. package/esm2022/lib/f-page/f-markdown/domain/index.mjs +5 -0
  101. package/esm2022/lib/f-page/f-markdown/domain/markdown/index.mjs +4 -0
  102. package/esm2022/lib/f-page/f-markdown/domain/markdown/markdown.service.mjs +65 -0
  103. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.mjs +13 -0
  104. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.mjs +2 -0
  105. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/index.mjs +8 -0
  106. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.mjs +19 -0
  107. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.mjs +54 -0
  108. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.mjs +15 -0
  109. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.mjs +92 -0
  110. package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.mjs +49 -0
  111. package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/get-content.mjs +17 -0
  112. package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/index.mjs +2 -0
  113. package/esm2022/lib/f-page/f-markdown/f-markdown-renderer.component.mjs +80 -0
  114. package/esm2022/lib/f-page/f-markdown/index.mjs +3 -0
  115. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.mjs +36 -0
  116. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.mjs +6 -0
  117. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.mjs +7 -0
  118. package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.mjs +4 -0
  119. package/esm2022/lib/f-page/f-markdown-footer/domain/features/index.mjs +2 -0
  120. package/esm2022/lib/f-page/f-markdown-footer/domain/i-page-link.mjs +2 -0
  121. package/esm2022/lib/f-page/f-markdown-footer/domain/index.mjs +3 -0
  122. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.mjs +11 -0
  123. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.mjs +11 -0
  124. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.mjs +2 -0
  125. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.mjs +11 -0
  126. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.mjs +2 -0
  127. package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/index.mjs +2 -0
  128. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.mjs +17 -0
  129. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.mjs +2 -0
  130. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.mjs +11 -0
  131. package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/index.mjs +3 -0
  132. package/esm2022/lib/f-page/f-markdown-footer/f-markdown-footer.component.mjs +82 -0
  133. package/esm2022/lib/f-page/f-markdown-footer/index.mjs +5 -0
  134. package/esm2022/lib/f-page/f-page.component.mjs +18 -0
  135. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.mjs +16 -0
  136. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/index.mjs +2 -0
  137. package/esm2022/lib/f-page/f-table-of-content/f-table-of-content.component.mjs +63 -0
  138. package/esm2022/lib/f-page/f-table-of-content/index.mjs +3 -0
  139. package/esm2022/lib/f-page/index.mjs +5 -0
  140. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.mjs +51 -0
  141. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.mjs +6 -0
  142. package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.mjs +3 -0
  143. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.mjs +14 -0
  144. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.mjs +7 -0
  145. package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/index.mjs +3 -0
  146. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.mjs +52 -0
  147. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.mjs +7 -0
  148. package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/index.mjs +3 -0
  149. package/esm2022/lib/f-scrollable-container/domain/i-table-of-content-item.mjs +2 -0
  150. package/esm2022/lib/f-scrollable-container/domain/index.mjs +7 -0
  151. package/esm2022/lib/f-scrollable-container/domain/scroll-to-element-in-container.mjs +34 -0
  152. package/esm2022/lib/f-scrollable-container/domain/table-of-content-data.mjs +7 -0
  153. package/esm2022/lib/f-scrollable-container/f-scrollable-container.component.mjs +30 -0
  154. package/esm2022/lib/f-scrollable-container/f-scrollable.service.mjs +57 -0
  155. package/esm2022/lib/f-scrollable-container/index.mjs +3 -0
  156. package/esm2022/lib/index.mjs +7 -0
  157. package/esm2022/public-api.mjs +2 -0
  158. package/fesm2022/foblex-m-render.mjs +2405 -0
  159. package/fesm2022/foblex-m-render.mjs.map +1 -0
  160. package/index.d.ts +5 -0
  161. package/lib/common-services/analytics/f-accept-cookies-key.d.ts +1 -0
  162. package/lib/common-services/analytics/f-analytics.service.d.ts +10 -0
  163. package/lib/common-services/analytics/i-window-with-analytics.d.ts +5 -0
  164. package/lib/common-services/analytics/index.d.ts +4 -0
  165. package/lib/common-services/analytics/set-cookie-consent.d.ts +6 -0
  166. package/lib/common-services/f-head-tag.service.d.ts +20 -0
  167. package/lib/common-services/index.d.ts +3 -0
  168. package/lib/common-services/json-ld/f-json-ld.service.d.ts +12 -0
  169. package/lib/common-services/json-ld/i-json-ld-creator.d.ts +7 -0
  170. package/lib/common-services/json-ld/i-json-ld-entity-of-page.d.ts +3 -0
  171. package/lib/common-services/json-ld/i-json-ld.d.ts +9 -0
  172. package/lib/common-services/json-ld/index.d.ts +4 -0
  173. package/lib/domain/f-environment.service.d.ts +23 -0
  174. package/lib/domain/f-meta.service.d.ts +20 -0
  175. package/lib/domain/f-popover.service.d.ts +10 -0
  176. package/lib/domain/f-state.service.d.ts +13 -0
  177. package/lib/domain/features/get-version-handler/get-version.handler.d.ts +13 -0
  178. package/lib/domain/features/get-version-handler/get-version.request.d.ts +5 -0
  179. package/lib/domain/features/get-version-handler/index.d.ts +2 -0
  180. package/lib/domain/features/handle-navigation-links/handle-navigation-links.handler.d.ts +19 -0
  181. package/lib/domain/features/handle-navigation-links/handle-navigation-links.request.d.ts +4 -0
  182. package/lib/domain/features/handle-navigation-links/index.d.ts +2 -0
  183. package/lib/domain/features/index.d.ts +2 -0
  184. package/lib/domain/i-docs-component.d.ts +5 -0
  185. package/lib/domain/i-docs-environment.d.ts +21 -0
  186. package/lib/domain/i-docs-footer-navigation.d.ts +8 -0
  187. package/lib/domain/i-docs-header-navigation-item.d.ts +5 -0
  188. package/lib/domain/i-docs-social-link.d.ts +4 -0
  189. package/lib/domain/i-docs-table-of-content.d.ts +7 -0
  190. package/lib/domain/i-docs-version.d.ts +4 -0
  191. package/lib/domain/i-meta-data.d.ts +12 -0
  192. package/lib/domain/index.d.ts +14 -0
  193. package/lib/domain/providers.d.ts +3 -0
  194. package/lib/domain/router.d.ts +2 -0
  195. package/lib/f-documentation/f-badge/f-badge.component.d.ts +7 -0
  196. package/lib/f-documentation/f-badge/index.d.ts +1 -0
  197. package/lib/f-documentation/f-checkbox/f-checkbox.component.d.ts +22 -0
  198. package/lib/f-documentation/f-cookie-popup/f-cookie-popup.component.d.ts +9 -0
  199. package/lib/f-documentation/f-documentation.component.d.ts +18 -0
  200. package/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.d.ts +9 -0
  201. package/lib/f-documentation/f-header/f-header.component.d.ts +9 -0
  202. package/lib/f-documentation/f-header-menu/f-header-menu.component.d.ts +17 -0
  203. package/lib/f-documentation/f-preview/f-preview.component.d.ts +29 -0
  204. package/lib/f-documentation/f-social-links/f-social-links.component.d.ts +9 -0
  205. package/lib/f-documentation/f-theme-button/f-theme-button.component.d.ts +15 -0
  206. package/lib/f-documentation/f-version/f-version.component.d.ts +10 -0
  207. package/lib/f-documentation/i-documentation-component.d.ts +5 -0
  208. package/lib/f-documentation/index.d.ts +12 -0
  209. package/lib/f-navigation-panel/domain/i-navigation-group.d.ts +5 -0
  210. package/lib/f-navigation-panel/domain/i-navigation-item-badge.d.ts +4 -0
  211. package/lib/f-navigation-panel/domain/i-navigation-item.d.ts +13 -0
  212. package/lib/f-navigation-panel/domain/index.d.ts +3 -0
  213. package/lib/f-navigation-panel/f-navigation-group/f-navigation-group.component.d.ts +8 -0
  214. package/lib/f-navigation-panel/f-navigation-header/f-navigation-header.component.d.ts +12 -0
  215. package/lib/f-navigation-panel/f-navigation-item/f-navigation-item.component.d.ts +5 -0
  216. package/lib/f-navigation-panel/f-navigation-panel.component.d.ts +29 -0
  217. package/lib/f-navigation-panel/index.d.ts +5 -0
  218. package/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.d.ts +26 -0
  219. package/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.d.ts +4 -0
  220. package/lib/f-page/f-markdown/domain/handle-dynamic-components/index.d.ts +2 -0
  221. package/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.d.ts +16 -0
  222. package/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.d.ts +4 -0
  223. package/lib/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.d.ts +3 -0
  224. package/lib/f-page/f-markdown/domain/handle-parsed-containers/index.d.ts +4 -0
  225. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.d.ts +2 -0
  226. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.d.ts +1 -0
  227. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.d.ts +10 -0
  228. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.d.ts +18 -0
  229. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.d.ts +3 -0
  230. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.d.ts +2 -0
  231. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.d.ts +15 -0
  232. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.d.ts +21 -0
  233. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.d.ts +6 -0
  234. package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.d.ts +6 -0
  235. package/lib/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.d.ts +7 -0
  236. package/lib/f-page/f-markdown/domain/highlight/highlight.service.d.ts +15 -0
  237. package/lib/f-page/f-markdown/domain/highlight/index.d.ts +5 -0
  238. package/lib/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.d.ts +14 -0
  239. package/lib/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.d.ts +6 -0
  240. package/lib/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.d.ts +9 -0
  241. package/lib/f-page/f-markdown/domain/index.d.ts +4 -0
  242. package/lib/f-page/f-markdown/domain/markdown/index.d.ts +3 -0
  243. package/lib/f-page/f-markdown/domain/markdown/markdown.service.d.ts +22 -0
  244. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.d.ts +11 -0
  245. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.d.ts +15 -0
  246. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/index.d.ts +7 -0
  247. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.d.ts +9 -0
  248. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.d.ts +17 -0
  249. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.d.ts +5 -0
  250. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.d.ts +21 -0
  251. package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.d.ts +17 -0
  252. package/lib/f-page/f-markdown/domain/markdown/utils/get-content.d.ts +2 -0
  253. package/lib/f-page/f-markdown/domain/markdown/utils/index.d.ts +1 -0
  254. package/lib/f-page/f-markdown/f-markdown-renderer.component.d.ts +25 -0
  255. package/lib/f-page/f-markdown/index.d.ts +2 -0
  256. package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.d.ts +9 -0
  257. package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.d.ts +4 -0
  258. package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.d.ts +6 -0
  259. package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.d.ts +3 -0
  260. package/lib/f-page/f-markdown-footer/domain/features/index.d.ts +1 -0
  261. package/lib/f-page/f-markdown-footer/domain/i-page-link.d.ts +4 -0
  262. package/lib/f-page/f-markdown-footer/domain/index.d.ts +2 -0
  263. package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.d.ts +5 -0
  264. package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.d.ts +5 -0
  265. package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.d.ts +1 -0
  266. package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.d.ts +5 -0
  267. package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.d.ts +1 -0
  268. package/lib/f-page/f-markdown-footer/f-footer-edit-information/index.d.ts +1 -0
  269. package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.d.ts +8 -0
  270. package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.d.ts +1 -0
  271. package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.d.ts +5 -0
  272. package/lib/f-page/f-markdown-footer/f-footer-navigation/index.d.ts +2 -0
  273. package/lib/f-page/f-markdown-footer/f-markdown-footer.component.d.ts +29 -0
  274. package/lib/f-page/f-markdown-footer/index.d.ts +4 -0
  275. package/lib/f-page/f-page.component.d.ts +5 -0
  276. package/lib/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.d.ts +7 -0
  277. package/lib/f-page/f-table-of-content/f-table-of-content-items/index.d.ts +1 -0
  278. package/lib/f-page/f-table-of-content/f-table-of-content.component.d.ts +28 -0
  279. package/lib/f-page/f-table-of-content/index.d.ts +2 -0
  280. package/lib/f-page/index.d.ts +4 -0
  281. package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.d.ts +15 -0
  282. package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.d.ts +5 -0
  283. package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.d.ts +2 -0
  284. package/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.d.ts +5 -0
  285. package/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.d.ts +5 -0
  286. package/lib/f-scrollable-container/domain/get-absolute-top-to-container/index.d.ts +2 -0
  287. package/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.d.ts +11 -0
  288. package/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.d.ts +11 -0
  289. package/lib/f-scrollable-container/domain/get-table-of-content-data/index.d.ts +2 -0
  290. package/lib/f-scrollable-container/domain/i-table-of-content-item.d.ts +7 -0
  291. package/lib/f-scrollable-container/domain/index.d.ts +6 -0
  292. package/lib/f-scrollable-container/domain/scroll-to-element-in-container.d.ts +12 -0
  293. package/lib/f-scrollable-container/domain/table-of-content-data.d.ts +6 -0
  294. package/lib/f-scrollable-container/f-scrollable-container.component.d.ts +13 -0
  295. package/lib/f-scrollable-container/f-scrollable.service.d.ts +25 -0
  296. package/lib/f-scrollable-container/index.d.ts +2 -0
  297. package/lib/index.d.ts +6 -0
  298. package/package.json +49 -0
  299. package/public-api.d.ts +1 -0
@@ -0,0 +1,22 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FBadgeComponent {
4
+ constructor() {
5
+ this.text = '';
6
+ this.type = 'tip';
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FBadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FBadgeComponent, isStandalone: true, selector: "span[f-badge]", inputs: { text: "text", type: "type" }, host: { properties: { "class": "type" }, classAttribute: "f-badge" }, ngImport: i0, template: "{{ text }}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FBadgeComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'span[f-badge]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
+ 'class': 'f-badge',
15
+ '[class]': 'type',
16
+ }, template: "{{ text }}\n" }]
17
+ }], propDecorators: { text: [{
18
+ type: Input
19
+ }], type: [{
20
+ type: Input
21
+ }] } });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1iYWRnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLWJhZGdlL2YtYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1iYWRnZS9mLWJhZGdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUFFLEtBQUssRUFDakIsTUFBTSxlQUFlLENBQUM7O0FBWXZCLE1BQU0sT0FBTyxlQUFlO0lBVjVCO1FBYVMsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUdsQixTQUFJLEdBQXNELEtBQUssQ0FBQztLQUN4RTsrR0FQWSxlQUFlO21HQUFmLGVBQWUsdUxDZjVCLGNBQ0E7OzRGRGNhLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsZUFBZSxjQUViLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixPQUFPLEVBQUUsU0FBUzt3QkFDbEIsU0FBUyxFQUFFLE1BQU07cUJBQ2xCOzhCQUtNLElBQUk7c0JBRFYsS0FBSztnQkFJQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LCBJbnB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3BhbltmLWJhZGdlXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWJhZGdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAnZi1iYWRnZScsXG4gICAgJ1tjbGFzc10nOiAndHlwZScsXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRkJhZGdlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgdGV4dDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHR5cGU6ICdzdWNjZXNzJyB8ICdkYW5nZXInIHwgJ3dhcm5pbmcnIHwgJ2luZm8nIHwgJ3RpcCcgPSAndGlwJztcbn1cbiIsInt7IHRleHQgfX1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './f-badge.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLWJhZGdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtYmFkZ2UuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { booleanAttribute, ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ let uniqueId = 0;
4
+ export class FCheckboxComponent {
5
+ get checked() {
6
+ return this.isChecked;
7
+ }
8
+ set checked(value) {
9
+ if (value != this.checked) {
10
+ this.isChecked = value;
11
+ this.changeDetectorRef.markForCheck();
12
+ }
13
+ }
14
+ constructor(changeDetectorRef) {
15
+ this.changeDetectorRef = changeDetectorRef;
16
+ this.id = `f-checkbox-${uniqueId++}`;
17
+ this.change = new EventEmitter();
18
+ this.isChecked = false;
19
+ }
20
+ onInputClick() {
21
+ this.handleInputClick();
22
+ }
23
+ onTouchTargetClick() {
24
+ this.handleInputClick();
25
+ this.inputElement?.nativeElement.focus();
26
+ }
27
+ handleInputClick() {
28
+ this.isChecked = !this.isChecked;
29
+ this.emitChangeEvent();
30
+ }
31
+ emitChangeEvent() {
32
+ this.change.emit(this.isChecked);
33
+ if (this.inputElement) {
34
+ this.inputElement.nativeElement.checked = this.isChecked;
35
+ }
36
+ }
37
+ onInteractionEvent(event) {
38
+ event.stopPropagation();
39
+ }
40
+ preventBubblingFromLabel(event) {
41
+ if (!!event.target && this.labelElement?.nativeElement.contains(event.target)) {
42
+ event.stopPropagation();
43
+ }
44
+ }
45
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FCheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
46
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.3.12", type: FCheckboxComponent, isStandalone: true, selector: "f-checkbox", inputs: { id: "id", checked: ["checked", "checked", booleanAttribute] }, outputs: { change: "change" }, host: { listeners: { "click": "preventBubblingFromLabel($event)" }, properties: { "class.f-checkbox-checked": "checked" } }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }], ngImport: i0, template: "<input #input\n [id]=\"id\"\n type=\"checkbox\"\n [checked]=\"checked\"\n (click)=\"onInputClick()\"\n (change)=\"onInteractionEvent($event)\"/>\n<div class=\"f-checkbox-container\" (click)=\"onTouchTargetClick()\">\n <svg class=\"f-checkbox-checkmark\" focusable=\"false\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path class=\"f-checkbox-checkmark-path\" fill=\"none\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n</div>\n<label [for]=\"id\" #label>\n <ng-content></ng-content>\n</label>\n", styles: [":host{position:relative;display:flex;align-items:center;font-weight:400;white-space:nowrap;font-size:14px;cursor:pointer;background-color:var(--checkbox-container-background);border-radius:var(--checkbox-border-radius);padding:0 8px;color:var(--checkbox-text);transition:color .25s,background-color .25s}:host input{position:absolute;inset:0;opacity:0;cursor:pointer}:host .f-checkbox-container{position:relative;display:flex;align-items:center;justify-content:center;width:var(--checkbox-size);height:var(--checkbox-size);margin-right:6px;border-radius:var(--checkbox-border-radius);background-color:var(--checkbox-background);padding:2px}:host .f-checkbox-container .f-checkbox-checkmark{position:absolute;top:calc(var(--checkbox-size) / 8);right:calc(var(--checkbox-size) / 8);bottom:calc(var(--checkbox-size) / 8);left:calc(var(--checkbox-size) / 8);opacity:0}:host .f-checkbox-container .f-checkbox-checkmark .f-checkbox-checkmark-path{stroke:currentColor;stroke-width:3}:host label{-webkit-user-select:none;user-select:none}:host.f-checkbox-checked .f-checkbox-container{background-color:var(--checkbox-checked-background)}:host.f-checkbox-checked .f-checkbox-container .f-checkbox-checkmark{color:var(--checkbox-checkmark-color);opacity:1}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FCheckboxComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'f-checkbox', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
51
+ '[class.f-checkbox-checked]': 'checked',
52
+ }, template: "<input #input\n [id]=\"id\"\n type=\"checkbox\"\n [checked]=\"checked\"\n (click)=\"onInputClick()\"\n (change)=\"onInteractionEvent($event)\"/>\n<div class=\"f-checkbox-container\" (click)=\"onTouchTargetClick()\">\n <svg class=\"f-checkbox-checkmark\" focusable=\"false\" viewBox=\"0 0 24 24\" aria-hidden=\"true\">\n <path class=\"f-checkbox-checkmark-path\" fill=\"none\" d=\"M1.73,12.91 8.1,19.28 22.79,4.59\"/>\n </svg>\n</div>\n<label [for]=\"id\" #label>\n <ng-content></ng-content>\n</label>\n", styles: [":host{position:relative;display:flex;align-items:center;font-weight:400;white-space:nowrap;font-size:14px;cursor:pointer;background-color:var(--checkbox-container-background);border-radius:var(--checkbox-border-radius);padding:0 8px;color:var(--checkbox-text);transition:color .25s,background-color .25s}:host input{position:absolute;inset:0;opacity:0;cursor:pointer}:host .f-checkbox-container{position:relative;display:flex;align-items:center;justify-content:center;width:var(--checkbox-size);height:var(--checkbox-size);margin-right:6px;border-radius:var(--checkbox-border-radius);background-color:var(--checkbox-background);padding:2px}:host .f-checkbox-container .f-checkbox-checkmark{position:absolute;top:calc(var(--checkbox-size) / 8);right:calc(var(--checkbox-size) / 8);bottom:calc(var(--checkbox-size) / 8);left:calc(var(--checkbox-size) / 8);opacity:0}:host .f-checkbox-container .f-checkbox-checkmark .f-checkbox-checkmark-path{stroke:currentColor;stroke-width:3}:host label{-webkit-user-select:none;user-select:none}:host.f-checkbox-checked .f-checkbox-container{background-color:var(--checkbox-checked-background)}:host.f-checkbox-checked .f-checkbox-container .f-checkbox-checkmark{color:var(--checkbox-checkmark-color);opacity:1}\n"] }]
53
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { id: [{
54
+ type: Input
55
+ }], change: [{
56
+ type: Output
57
+ }], inputElement: [{
58
+ type: ViewChild,
59
+ args: ['input']
60
+ }], labelElement: [{
61
+ type: ViewChild,
62
+ args: ['label']
63
+ }], checked: [{
64
+ type: Input,
65
+ args: [{ transform: booleanAttribute }]
66
+ }], preventBubblingFromLabel: [{
67
+ type: HostListener,
68
+ args: ['click', ['$event']]
69
+ }] } });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jaGVja2JveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLWNoZWNrYm94L2YtY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1jaGVja2JveC9mLWNoZWNrYm94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBYyxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUM1RSxNQUFNLGVBQWUsQ0FBQzs7QUFFdkIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBWWpCLE1BQU0sT0FBTyxrQkFBa0I7SUFjN0IsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBS0QsWUFDVSxpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTNCdkMsT0FBRSxHQUFXLGNBQWUsUUFBUSxFQUFHLEVBQUUsQ0FBQztRQUcxQyxXQUFNLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFvQjNELGNBQVMsR0FBWSxLQUFLLENBQUM7SUFNbkMsQ0FBQztJQUVNLFlBQVk7UUFDakIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFZO1FBQ3BDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBR00sd0JBQXdCLENBQUMsS0FBaUI7UUFDL0MsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQXFCLENBQUMsRUFBRSxDQUFDO1lBQzdGLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQzsrR0FoRVUsa0JBQWtCO21HQUFsQixrQkFBa0Isa0dBY1QsZ0JBQWdCLHdYQ2hDdEMsNGhCQWNBOzs0RkRJYSxrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxjQUdWLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSiw0QkFBNEIsRUFBRSxTQUFTO3FCQUN4QztzRkFLTSxFQUFFO3NCQURSLEtBQUs7Z0JBSUMsTUFBTTtzQkFEWixNQUFNO2dCQUlDLFlBQVk7c0JBRG5CLFNBQVM7dUJBQUMsT0FBTztnQkFJWCxZQUFZO3NCQURsQixTQUFTO3VCQUFDLE9BQU87Z0JBSVAsT0FBTztzQkFEakIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkE4Qy9CLHdCQUF3QjtzQkFEOUIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBRSxRQUFRLENBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWNoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtY2hlY2tib3guY29tcG9uZW50LnNjc3MnIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5mLWNoZWNrYm94LWNoZWNrZWRdJzogJ2NoZWNrZWQnLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIEZDaGVja2JveENvbXBvbmVudCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlkOiBzdHJpbmcgPSBgZi1jaGVja2JveC0keyB1bmlxdWVJZCsrIH1gO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKVxuICBwcml2YXRlIGlucHV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cbiAgQFZpZXdDaGlsZCgnbGFiZWwnKVxuICBwdWJsaWMgbGFiZWxFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MTGFiZWxFbGVtZW50PjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzQ2hlY2tlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgY2hlY2tlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSAhPSB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXNDaGVja2VkID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNDaGVja2VkOiBib29sZWFuID0gZmFsc2U7XG5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaGFuZGxlSW5wdXRDbGljaygpO1xuICB9XG5cbiAgcHVibGljIG9uVG91Y2hUYXJnZXRDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmhhbmRsZUlucHV0Q2xpY2soKTtcbiAgICB0aGlzLmlucHV0RWxlbWVudD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVJbnB1dENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDaGVja2VkID0gIXRoaXMuaXNDaGVja2VkO1xuICAgIHRoaXMuZW1pdENoYW5nZUV2ZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRDaGFuZ2VFdmVudCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuaXNDaGVja2VkKTtcbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2hlY2tlZCA9IHRoaXMuaXNDaGVja2VkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkludGVyYWN0aW9uRXZlbnQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsgJyRldmVudCcgXSlcbiAgcHVibGljIHByZXZlbnRCdWJibGluZ0Zyb21MYWJlbChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICghIWV2ZW50LnRhcmdldCAmJiB0aGlzLmxhYmVsRWxlbWVudD8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxpbnB1dCAjaW5wdXRcbiAgICAgICBbaWRdPVwiaWRcIlxuICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXG4gICAgICAgKGNsaWNrKT1cIm9uSW5wdXRDbGljaygpXCJcbiAgICAgICAoY2hhbmdlKT1cIm9uSW50ZXJhY3Rpb25FdmVudCgkZXZlbnQpXCIvPlxuPGRpdiBjbGFzcz1cImYtY2hlY2tib3gtY29udGFpbmVyXCIgKGNsaWNrKT1cIm9uVG91Y2hUYXJnZXRDbGljaygpXCI+XG4gIDxzdmcgY2xhc3M9XCJmLWNoZWNrYm94LWNoZWNrbWFya1wiIGZvY3VzYWJsZT1cImZhbHNlXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgIDxwYXRoIGNsYXNzPVwiZi1jaGVja2JveC1jaGVja21hcmstcGF0aFwiIGZpbGw9XCJub25lXCIgZD1cIk0xLjczLDEyLjkxIDguMSwxOS4yOCAyMi43OSw0LjU5XCIvPlxuICA8L3N2Zz5cbjwvZGl2PlxuPGxhYmVsIFtmb3JdPVwiaWRcIiAjbGFiZWw+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbGFiZWw+XG4iXX0=
@@ -0,0 +1,33 @@
1
+ import { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';
2
+ import { F_LOCAL_STORAGE } from '@foblex/platform';
3
+ import { setCookieConsent } from '../../common-services';
4
+ import { F_ACCEPT_COOKIES_KEY } from '../../common-services';
5
+ import * as i0 from "@angular/core";
6
+ export class CookiePopup {
7
+ constructor() {
8
+ this.fLocalStorage = inject(F_LOCAL_STORAGE);
9
+ this.hasAccepted = signal(false);
10
+ try {
11
+ this.hasAccepted.set(this.fLocalStorage?.getItem(F_ACCEPT_COOKIES_KEY) === 'true');
12
+ }
13
+ catch {
14
+ this.hasAccepted.set(false);
15
+ }
16
+ }
17
+ accept() {
18
+ try {
19
+ this.fLocalStorage?.setItem(F_ACCEPT_COOKIES_KEY, 'true');
20
+ }
21
+ catch {
22
+ }
23
+ this.hasAccepted.set(true);
24
+ setCookieConsent('granted');
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CookiePopup, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CookiePopup, isStandalone: true, selector: "f-cookie-popup", ngImport: i0, template: "@if (!hasAccepted()) {\n <div class=\"docs-cookies-popup docs-invert-mode\">\n <p>This site uses cookies from Google to deliver its services and to analyze traffic.</p>\n\n <div>\n <a href=\"https://policies.google.com/technologies/cookies\" target=\"_blank\" rel=\"noopener\">\n <button class=\"f-button\" [attr.text]=\"'Learn more'\" aria-label=\"Learn More\">\n Learn more\n </button>\n </a>\n <button\n (click)=\"accept()\"\n class=\"f-button\"\n [attr.text]=\"'Ok, Got it'\"\n aria-label=\"Ok, Got it\">\n Ok, Got it\n </button>\n </div>\n </div>\n}\n", styles: [":host{position:fixed;bottom:16px;right:16px;z-index:99999;opacity:0;visibility:hidden;animation:1s linear forwards .5s fadeIn}.docs-cookies-popup{padding:1rem;background-color:var(--background-color);border:1px solid var(--divider-color);color:var(--primary-text);border-radius:var(--border-radius);font-size:14px;max-width:310px;transition:background-color .3s ease,border-color .3s ease,color .3s ease;box-shadow:var(--shadow-3)}.docs-cookies-popup>div{display:flex;gap:8px;align-items:center;width:100%;margin-block-start:1rem}.f-button{outline:none;border:none;height:unset;line-height:26px;font-size:14px;font-weight:500;border-radius:var(--border-radius)}@keyframes fadeIn{to{opacity:100%;visibility:visible}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CookiePopup, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'f-cookie-popup', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!hasAccepted()) {\n <div class=\"docs-cookies-popup docs-invert-mode\">\n <p>This site uses cookies from Google to deliver its services and to analyze traffic.</p>\n\n <div>\n <a href=\"https://policies.google.com/technologies/cookies\" target=\"_blank\" rel=\"noopener\">\n <button class=\"f-button\" [attr.text]=\"'Learn more'\" aria-label=\"Learn More\">\n Learn more\n </button>\n </a>\n <button\n (click)=\"accept()\"\n class=\"f-button\"\n [attr.text]=\"'Ok, Got it'\"\n aria-label=\"Ok, Got it\">\n Ok, Got it\n </button>\n </div>\n </div>\n}\n", styles: [":host{position:fixed;bottom:16px;right:16px;z-index:99999;opacity:0;visibility:hidden;animation:1s linear forwards .5s fadeIn}.docs-cookies-popup{padding:1rem;background-color:var(--background-color);border:1px solid var(--divider-color);color:var(--primary-text);border-radius:var(--border-radius);font-size:14px;max-width:310px;transition:background-color .3s ease,border-color .3s ease,color .3s ease;box-shadow:var(--shadow-3)}.docs-cookies-popup>div{display:flex;gap:8px;align-items:center;width:100%;margin-block-start:1rem}.f-button{outline:none;border:none;height:unset;line-height:26px;font-size:14px;font-weight:500;border-radius:var(--border-radius)}@keyframes fadeIn{to{opacity:100%;visibility:visible}}\n"] }]
32
+ }], ctorParameters: () => [] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1jb29raWUtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1jb29raWUtcG9wdXAvZi1jb29raWUtcG9wdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1jb29raWUtcG9wdXAvZi1jb29raWUtcG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFXN0QsTUFBTSxPQUFPLFdBQVc7SUFNdEI7UUFKaUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEQsZ0JBQVcsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHMUMsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFUyxNQUFNO1FBQ2QsSUFBSSxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM5QixDQUFDOytHQXRCVSxXQUFXO21HQUFYLFdBQVcsMEVDZHhCLHVvQkFvQkE7OzRGRE5hLFdBQVc7a0JBUHZCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZfTE9DQUxfU1RPUkFHRSB9IGZyb20gJ0Bmb2JsZXgvcGxhdGZvcm0nO1xuaW1wb3J0IHsgc2V0Q29va2llQ29uc2VudCB9IGZyb20gJy4uLy4uL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBGX0FDQ0VQVF9DT09LSUVTX0tFWSB9IGZyb20gJy4uLy4uL2NvbW1vbi1zZXJ2aWNlcyc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBXaW5kb3cgJiB0eXBlb2YgZ2xvYmFsVGhpcyAmIHsgZ3RhZz86IEZ1bmN0aW9uIH07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtY29va2llLXBvcHVwJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL2YtY29va2llLXBvcHVwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtY29va2llLXBvcHVwLmNvbXBvbmVudC5zY3NzJyBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQ29va2llUG9wdXAge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZkxvY2FsU3RvcmFnZSA9IGluamVjdChGX0xPQ0FMX1NUT1JBR0UpO1xuXG4gIHB1YmxpYyBoYXNBY2NlcHRlZCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaGFzQWNjZXB0ZWQuc2V0KHRoaXMuZkxvY2FsU3RvcmFnZT8uZ2V0SXRlbShGX0FDQ0VQVF9DT09LSUVTX0tFWSkgPT09ICd0cnVlJyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmhhc0FjY2VwdGVkLnNldChmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFjY2VwdCgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5mTG9jYWxTdG9yYWdlPy5zZXRJdGVtKEZfQUNDRVBUX0NPT0tJRVNfS0VZLCAndHJ1ZScpO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cblxuICAgIHRoaXMuaGFzQWNjZXB0ZWQuc2V0KHRydWUpO1xuICAgIHNldENvb2tpZUNvbnNlbnQoJ2dyYW50ZWQnKTtcbiAgfVxufVxuIiwiQGlmICghaGFzQWNjZXB0ZWQoKSkge1xuICA8ZGl2IGNsYXNzPVwiZG9jcy1jb29raWVzLXBvcHVwIGRvY3MtaW52ZXJ0LW1vZGVcIj5cbiAgICA8cD5UaGlzIHNpdGUgdXNlcyBjb29raWVzIGZyb20gR29vZ2xlIHRvIGRlbGl2ZXIgaXRzIHNlcnZpY2VzIGFuZCB0byBhbmFseXplIHRyYWZmaWMuPC9wPlxuXG4gICAgPGRpdj5cbiAgICAgIDxhIGhyZWY9XCJodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vdGVjaG5vbG9naWVzL2Nvb2tpZXNcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lclwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZi1idXR0b25cIiBbYXR0ci50ZXh0XT1cIidMZWFybiBtb3JlJ1wiIGFyaWEtbGFiZWw9XCJMZWFybiBNb3JlXCI+XG4gICAgICAgICAgTGVhcm4gbW9yZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvYT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKGNsaWNrKT1cImFjY2VwdCgpXCJcbiAgICAgICAgY2xhc3M9XCJmLWJ1dHRvblwiXG4gICAgICAgIFthdHRyLnRleHRdPVwiJ09rLCBHb3QgaXQnXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk9rLCBHb3QgaXRcIj5cbiAgICAgICAgT2ssIEdvdCBpdFxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxufVxuIl19
@@ -0,0 +1,56 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { FNavigationPanelComponent } from '../f-navigation-panel';
3
+ import { FHeaderComponent } from './f-header/f-header.component';
4
+ import { FScrollableContainerComponent } from '../f-scrollable-container';
5
+ import { RouterOutlet } from '@angular/router';
6
+ import { F_DOCUMENTATION_COMPONENT } from './i-documentation-component';
7
+ import { FEnvironmentService, FPopoverService } from '../domain';
8
+ import { Subscription } from 'rxjs';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../domain";
11
+ export class FDocumentationComponent {
12
+ constructor(fPopoverService, changeDetectorRef) {
13
+ this.fPopoverService = fPopoverService;
14
+ this.changeDetectorRef = changeDetectorRef;
15
+ this.subscriptions$ = new Subscription();
16
+ this.isNavigationVisible = false;
17
+ this.popoverMessage = null;
18
+ }
19
+ ngOnInit() {
20
+ this.subscriptions$.add(this.subscribeOnPopover());
21
+ }
22
+ subscribeOnPopover() {
23
+ return this.fPopoverService.popover$.subscribe((x) => {
24
+ this.popoverMessage = x;
25
+ this.changeDetectorRef.markForCheck();
26
+ });
27
+ }
28
+ onToggleNavigation(value) {
29
+ this.isNavigationVisible = value;
30
+ this.changeDetectorRef.markForCheck();
31
+ }
32
+ ngOnDestroy() {
33
+ this.fPopoverService.dispose();
34
+ this.subscriptions$.unsubscribe();
35
+ }
36
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FDocumentationComponent, deps: [{ token: i1.FPopoverService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FDocumentationComponent, isStandalone: true, selector: "f-documentation", providers: [
38
+ FEnvironmentService,
39
+ FPopoverService,
40
+ { provide: F_DOCUMENTATION_COMPONENT, useExisting: FDocumentationComponent }
41
+ ], ngImport: i0, template: "<div class=\"f-backdrop\" [class.visible]=\"isNavigationVisible\" (click)=\"onToggleNavigation(false)\"></div>\n<f-navigation-panel [class.visible]=\"isNavigationVisible\"></f-navigation-panel>\n\n<f-scrollable-container>\n <f-header></f-header>\n <router-outlet></router-outlet>\n</f-scrollable-container>\n@if (popoverMessage) {\n <div class=\"popover\">{{ popoverMessage }}</div>\n}\n", styles: [":host{display:flex;justify-content:flex-start;align-items:flex-start;height:100%;gap:10px}.f-backdrop{position:fixed;inset:0;opacity:0;z-index:var(--z-index-backdrop);background:var(--backdrop-color);transition:opacity .2s ease-in-out;pointer-events:none}.f-backdrop.visible{opacity:1;pointer-events:all}@media (min-width: 960px){.f-backdrop{position:unset}}.popover{position:fixed;min-width:120px;bottom:50%;left:50%;text-align:center;transform:translate(-50%,-50%);background-color:var(--code-view-copy-button-hover-background);border:1px solid var(--code-view-copy-button-border-color);color:var(--primary-text);font-size:14px;padding:4px 8px;border-radius:4px;z-index:var(--z-index-popover);opacity:1}\n"], dependencies: [{ kind: "component", type: FNavigationPanelComponent, selector: "f-navigation-panel" }, { kind: "component", type: FHeaderComponent, selector: "f-header" }, { kind: "component", type: FScrollableContainerComponent, selector: "f-scrollable-container" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FDocumentationComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'f-documentation', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
46
+ FEnvironmentService,
47
+ FPopoverService,
48
+ { provide: F_DOCUMENTATION_COMPONENT, useExisting: FDocumentationComponent }
49
+ ], imports: [
50
+ FNavigationPanelComponent,
51
+ FHeaderComponent,
52
+ FScrollableContainerComponent,
53
+ RouterOutlet
54
+ ], template: "<div class=\"f-backdrop\" [class.visible]=\"isNavigationVisible\" (click)=\"onToggleNavigation(false)\"></div>\n<f-navigation-panel [class.visible]=\"isNavigationVisible\"></f-navigation-panel>\n\n<f-scrollable-container>\n <f-header></f-header>\n <router-outlet></router-outlet>\n</f-scrollable-container>\n@if (popoverMessage) {\n <div class=\"popover\">{{ popoverMessage }}</div>\n}\n", styles: [":host{display:flex;justify-content:flex-start;align-items:flex-start;height:100%;gap:10px}.f-backdrop{position:fixed;inset:0;opacity:0;z-index:var(--z-index-backdrop);background:var(--backdrop-color);transition:opacity .2s ease-in-out;pointer-events:none}.f-backdrop.visible{opacity:1;pointer-events:all}@media (min-width: 960px){.f-backdrop{position:unset}}.popover{position:fixed;min-width:120px;bottom:50%;left:50%;text-align:center;transform:translate(-50%,-50%);background-color:var(--code-view-copy-button-hover-background);border:1px solid var(--code-view-copy-button-border-color);color:var(--primary-text);font-size:14px;padding:4px 8px;border-radius:4px;z-index:var(--z-index-popover);opacity:1}\n"] }]
55
+ }], ctorParameters: () => [{ type: i1.FPopoverService }, { type: i0.ChangeDetectorRef }] });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1kb2N1bWVudGF0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtZG9jdW1lbnRhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLWRvY3VtZW50YXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDakUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx5QkFBeUIsRUFBMkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQW9CcEMsTUFBTSxPQUFPLHVCQUF1QjtJQVFsQyxZQUNVLGVBQWdDLEVBQ2hDLGlCQUFvQztRQURwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVJ0QyxtQkFBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWhELHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUVyQyxtQkFBYyxHQUFrQixJQUFJLENBQUM7SUFNL0MsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sa0JBQWtCLENBQUMsS0FBYztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0FqQ1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsOERBWnZCO1lBQ1QsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZixFQUFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLEVBQUU7U0FDN0UsMEJDdEJILHdZQVVBLDZ2QkRjSSx5QkFBeUIsK0RBQ3pCLGdCQUFnQixxREFDaEIsNkJBQTZCLG1FQUM3QixZQUFZOzs0RkFHSCx1QkFBdUI7a0JBbEJuQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVCxtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsV0FBVyx5QkFBeUIsRUFBRTtxQkFDN0UsV0FDUTt3QkFDUCx5QkFBeUI7d0JBQ3pCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk5hdmlnYXRpb25QYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL2YtbmF2aWdhdGlvbi1wYW5lbCc7XG5pbXBvcnQgeyBGSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9mLWhlYWRlci9mLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRlNjcm9sbGFibGVDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9mLXNjcm9sbGFibGUtY29udGFpbmVyJztcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGX0RPQ1VNRU5UQVRJT05fQ09NUE9ORU5ULCBJRG9jdW1lbnRhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vaS1kb2N1bWVudGF0aW9uLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBGRW52aXJvbm1lbnRTZXJ2aWNlLCBGUG9wb3ZlclNlcnZpY2UgfSBmcm9tICcuLi9kb21haW4nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2YtZG9jdW1lbnRhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWRvY3VtZW50YXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1kb2N1bWVudGF0aW9uLmNvbXBvbmVudC5zY3NzJyBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRkVudmlyb25tZW50U2VydmljZSxcbiAgICBGUG9wb3ZlclNlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBGX0RPQ1VNRU5UQVRJT05fQ09NUE9ORU5ULCB1c2VFeGlzdGluZzogRkRvY3VtZW50YXRpb25Db21wb25lbnQgfVxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgRk5hdmlnYXRpb25QYW5lbENvbXBvbmVudCxcbiAgICBGSGVhZGVyQ29tcG9uZW50LFxuICAgIEZTY3JvbGxhYmxlQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJvdXRlck91dGxldFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZEb2N1bWVudGF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgSURvY3VtZW50YXRpb25Db21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnMkOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgcHJvdGVjdGVkIGlzTmF2aWdhdGlvblZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgcG9wb3Zlck1lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZlBvcG92ZXJTZXJ2aWNlOiBGUG9wb3ZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQuYWRkKHRoaXMuc3Vic2NyaWJlT25Qb3BvdmVyKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVPblBvcG92ZXIoKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5mUG9wb3ZlclNlcnZpY2UucG9wb3ZlciQuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB0aGlzLnBvcG92ZXJNZXNzYWdlID0geDtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25Ub2dnbGVOYXZpZ2F0aW9uKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc05hdmlnYXRpb25WaXNpYmxlID0gdmFsdWU7XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmZQb3BvdmVyU2VydmljZS5kaXNwb3NlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zJC51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZi1iYWNrZHJvcFwiIFtjbGFzcy52aXNpYmxlXT1cImlzTmF2aWdhdGlvblZpc2libGVcIiAoY2xpY2spPVwib25Ub2dnbGVOYXZpZ2F0aW9uKGZhbHNlKVwiPjwvZGl2PlxuPGYtbmF2aWdhdGlvbi1wYW5lbCBbY2xhc3MudmlzaWJsZV09XCJpc05hdmlnYXRpb25WaXNpYmxlXCI+PC9mLW5hdmlnYXRpb24tcGFuZWw+XG5cbjxmLXNjcm9sbGFibGUtY29udGFpbmVyPlxuICA8Zi1oZWFkZXI+PC9mLWhlYWRlcj5cbiAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxuPC9mLXNjcm9sbGFibGUtY29udGFpbmVyPlxuQGlmIChwb3BvdmVyTWVzc2FnZSkge1xuICA8ZGl2IGNsYXNzPVwicG9wb3ZlclwiPnt7IHBvcG92ZXJNZXNzYWdlIH19PC9kaXY+XG59XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener, Inject } from '@angular/core';
2
+ import { F_DOCUMENTATION_COMPONENT } from '../i-documentation-component';
3
+ import * as i0 from "@angular/core";
4
+ export class FHamburgerButtonComponent {
5
+ constructor(fDocumentation) {
6
+ this.fDocumentation = fDocumentation;
7
+ }
8
+ onShowNavigation() {
9
+ this.fDocumentation.onToggleNavigation(true);
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHamburgerButtonComponent, deps: [{ token: F_DOCUMENTATION_COMPONENT }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FHamburgerButtonComponent, isStandalone: true, selector: "button[f-hamburger-button]", host: { listeners: { "click": "onShowNavigation()" } }, ngImport: i0, template: "<span class=\"f-icon hamburger\"></span>\n\n", styles: [":host{background-color:transparent;border:0;display:flex;padding:0;margin-right:16px;color:var(--secondary-text);cursor:pointer}@media (min-width: 960px){:host{display:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHamburgerButtonComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'button[f-hamburger-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"f-icon hamburger\"></span>\n\n", styles: [":host{background-color:transparent;border:0;display:flex;padding:0;margin-right:16px;color:var(--secondary-text);cursor:pointer}@media (min-width: 960px){:host{display:none}}\n"] }]
17
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
18
+ type: Inject,
19
+ args: [F_DOCUMENTATION_COMPONENT]
20
+ }] }], propDecorators: { onShowNavigation: [{
21
+ type: HostListener,
22
+ args: ['click']
23
+ }] } });
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1oYW1idXJnZXItYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtaGFtYnVyZ2VyLWJ1dHRvbi9mLWhhbWJ1cmdlci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1oYW1idXJnZXItYnV0dG9uL2YtaGFtYnVyZ2VyLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUNoQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQTJCLE1BQU0sOEJBQThCLENBQUM7O0FBU2xHLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDNkMsY0FBdUM7UUFBdkMsbUJBQWMsR0FBZCxjQUFjLENBQXlCO0lBRXBGLENBQUM7SUFHTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDOytHQVZVLHlCQUF5QixrQkFHMUIseUJBQXlCO21HQUh4Qix5QkFBeUIsOElDYnRDLDhDQUVBOzs0RkRXYSx5QkFBeUI7a0JBUHJDLFNBQVM7K0JBQ0UsNEJBQTRCLGNBRzFCLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTTs7MEJBSzVDLE1BQU07MkJBQUMseUJBQXlCO3lDQUs1QixnQkFBZ0I7c0JBRHRCLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVCwgSURvY3VtZW50YXRpb25Db21wb25lbnQgfSBmcm9tICcuLi9pLWRvY3VtZW50YXRpb24tY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2YtaGFtYnVyZ2VyLWJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1oYW1idXJnZXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtaGFtYnVyZ2VyLWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZIYW1idXJnZXJCdXR0b25Db21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVCkgcHJpdmF0ZSBmRG9jdW1lbnRhdGlvbjogSURvY3VtZW50YXRpb25Db21wb25lbnRcbiAgKSB7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gIHB1YmxpYyBvblNob3dOYXZpZ2F0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZkRvY3VtZW50YXRpb24ub25Ub2dnbGVOYXZpZ2F0aW9uKHRydWUpO1xuICB9XG59XG4iLCI8c3BhbiBjbGFzcz1cImYtaWNvbiBoYW1idXJnZXJcIj48L3NwYW4+XG5cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { NgOptimizedImage } from '@angular/common';
3
+ import { FHamburgerButtonComponent } from '../f-hamburger-button/f-hamburger-button.component';
4
+ import { FVersionComponent } from '../f-version/f-version.component';
5
+ import { FSocialLinksComponent } from '../f-social-links/f-social-links.component';
6
+ import { FThemeButtonComponent } from '../f-theme-button/f-theme-button.component';
7
+ import { FHeaderMenuComponent } from '../f-header-menu/f-header-menu.component';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../domain";
10
+ export class FHeaderComponent {
11
+ constructor(fEnvironmentService) {
12
+ this.fEnvironmentService = fEnvironmentService;
13
+ this.title = '';
14
+ this.title = this.fEnvironmentService.getTitle();
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHeaderComponent, deps: [{ token: i1.FEnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FHeaderComponent, isStandalone: true, selector: "f-header", ngImport: i0, template: "<button f-hamburger-button></button>\n<div class=\"title text-ellipsis\">{{ title }}</div>\n<div class=\"flex-space\"></div>\n<f-header-menu></f-header-menu>\n<f-version></f-version>\n<div class=\"divider\"></div>\n<button f-theme-button></button>\n<div class=\"divider\"></div>\n<f-social-links></f-social-links>\n\n", styles: [":host{position:sticky;width:100%;top:0;display:flex;justify-content:flex-start;align-items:center;padding:20px 32px;font-weight:600;color:var(--primary-text);height:calc(var(--header-height) + 1px);background-color:var(--background-color);border-bottom:1px solid var(--divider-color);z-index:var(--z-index-header)}@media (min-width: 1280px){:host{padding-right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 3);padding-left:max(var(--page-padding),(100vw - var(--layout-max-width)) / 4)}}.title{display:none;justify-content:flex-start;align-items:center;padding:20px 0;font-weight:600;color:var(--primary-text);height:var(--header-height)}@media (min-width: 460px){.title{display:block}}@media (min-width: 960px){.title{display:none}}.divider{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--divider-color);content:\"\"}\n"], dependencies: [{ kind: "component", type: FHamburgerButtonComponent, selector: "button[f-hamburger-button]" }, { kind: "component", type: FVersionComponent, selector: "f-version" }, { kind: "component", type: FSocialLinksComponent, selector: "f-social-links" }, { kind: "component", type: FThemeButtonComponent, selector: "button[f-theme-button]" }, { kind: "component", type: FHeaderMenuComponent, selector: "f-header-menu" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHeaderComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'f-header', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
22
+ NgOptimizedImage,
23
+ FHamburgerButtonComponent,
24
+ FVersionComponent,
25
+ FSocialLinksComponent,
26
+ FThemeButtonComponent,
27
+ FHeaderMenuComponent
28
+ ], template: "<button f-hamburger-button></button>\n<div class=\"title text-ellipsis\">{{ title }}</div>\n<div class=\"flex-space\"></div>\n<f-header-menu></f-header-menu>\n<f-version></f-version>\n<div class=\"divider\"></div>\n<button f-theme-button></button>\n<div class=\"divider\"></div>\n<f-social-links></f-social-links>\n\n", styles: [":host{position:sticky;width:100%;top:0;display:flex;justify-content:flex-start;align-items:center;padding:20px 32px;font-weight:600;color:var(--primary-text);height:calc(var(--header-height) + 1px);background-color:var(--background-color);border-bottom:1px solid var(--divider-color);z-index:var(--z-index-header)}@media (min-width: 1280px){:host{padding-right:max(var(--page-padding),(100vw - var(--layout-max-width)) / 3);padding-left:max(var(--page-padding),(100vw - var(--layout-max-width)) / 4)}}.title{display:none;justify-content:flex-start;align-items:center;padding:20px 0;font-weight:600;color:var(--primary-text);height:var(--header-height)}@media (min-width: 460px){.title{display:block}}@media (min-width: 960px){.title{display:none}}.divider{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--divider-color);content:\"\"}\n"] }]
29
+ }], ctorParameters: () => [{ type: i1.FEnvironmentService }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1oZWFkZXIvZi1oZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1oZWFkZXIvZi1oZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDL0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFFbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQWlCaEYsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixZQUNVLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBSHhDLFVBQUssR0FBVyxFQUFFLENBQUM7UUFLM0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkQsQ0FBQzsrR0FSVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixvRUMzQjdCLCtUQVVBLDA1QkRVSSx5QkFBeUIsdUVBQ3pCLGlCQUFpQixzREFDakIscUJBQXFCLDJEQUNyQixxQkFBcUIsbUVBQ3JCLG9CQUFvQjs7NEZBR1gsZ0JBQWdCO2tCQWY1QixTQUFTOytCQUNFLFVBQVUsY0FHUixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ1AsZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLG9CQUFvQjtxQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGSGFtYnVyZ2VyQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vZi1oYW1idXJnZXItYnV0dG9uL2YtaGFtYnVyZ2VyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRlZlcnNpb25Db21wb25lbnQgfSBmcm9tICcuLi9mLXZlcnNpb24vZi12ZXJzaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGU29jaWFsTGlua3NDb21wb25lbnQgfSBmcm9tICcuLi9mLXNvY2lhbC1saW5rcy9mLXNvY2lhbC1saW5rcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBGVGhlbWVCdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9mLXRoZW1lLWJ1dHRvbi9mLXRoZW1lLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRkhlYWRlck1lbnVDb21wb25lbnQgfSBmcm9tICcuLi9mLWhlYWRlci1tZW51L2YtaGVhZGVyLW1lbnUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZi1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1oZWFkZXIuY29tcG9uZW50LnNjc3MnIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgTmdPcHRpbWl6ZWRJbWFnZSxcbiAgICBGSGFtYnVyZ2VyQnV0dG9uQ29tcG9uZW50LFxuICAgIEZWZXJzaW9uQ29tcG9uZW50LFxuICAgIEZTb2NpYWxMaW5rc0NvbXBvbmVudCxcbiAgICBGVGhlbWVCdXR0b25Db21wb25lbnQsXG4gICAgRkhlYWRlck1lbnVDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGSGVhZGVyQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgdGl0bGU6IHN0cmluZyA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZkVudmlyb25tZW50U2VydmljZTogRkVudmlyb25tZW50U2VydmljZVxuICApIHtcbiAgICB0aGlzLnRpdGxlID0gdGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldFRpdGxlKCk7XG4gIH1cbn1cbiIsIjxidXR0b24gZi1oYW1idXJnZXItYnV0dG9uPjwvYnV0dG9uPlxuPGRpdiBjbGFzcz1cInRpdGxlIHRleHQtZWxsaXBzaXNcIj57eyB0aXRsZSB9fTwvZGl2PlxuPGRpdiBjbGFzcz1cImZsZXgtc3BhY2VcIj48L2Rpdj5cbjxmLWhlYWRlci1tZW51PjwvZi1oZWFkZXItbWVudT5cbjxmLXZlcnNpb24+PC9mLXZlcnNpb24+XG48ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PlxuPGJ1dHRvbiBmLXRoZW1lLWJ1dHRvbj48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJkaXZpZGVyXCI+PC9kaXY+XG48Zi1zb2NpYWwtbGlua3M+PC9mLXNvY2lhbC1saW5rcz5cblxuIl19
@@ -0,0 +1,29 @@
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 "../../domain";
5
+ import * as i2 from "@angular/router";
6
+ export class FHeaderMenuComponent {
7
+ constructor(fEnvironmentService, router) {
8
+ this.fEnvironmentService = fEnvironmentService;
9
+ this.router = router;
10
+ this.navigation = [];
11
+ }
12
+ ngOnInit() {
13
+ this.navigation = this.fEnvironmentService.getHeaderNavigation().map((x) => {
14
+ return {
15
+ ...x,
16
+ isActive: this.router.url.startsWith(x.link)
17
+ };
18
+ });
19
+ }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHeaderMenuComponent, deps: [{ token: i1.FEnvironmentService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FHeaderMenuComponent, isStandalone: true, selector: "f-header-menu", ngImport: i0, template: "@for (item of navigation; track item.link) {\n <a class=\"header-link\" [routerLink]=\"item.link\" [class.active]=\"item.isActive\">\n <span>{{ item.text }}</span>\n </a>\n}\n\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center}.header-link{display:flex;align-items:center;padding:0 12px;line-height:var(--header-height);font-size:14px;font-weight:500;color:var(--primary-text);cursor:pointer}.header-link:hover,.header-link.active{color:var(--primary-1)}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FHeaderMenuComponent, decorators: [{
24
+ type: Component,
25
+ args: [{ selector: 'f-header-menu', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
26
+ RouterLink
27
+ ], template: "@for (item of navigation; track item.link) {\n <a class=\"header-link\" [routerLink]=\"item.link\" [class.active]=\"item.isActive\">\n <span>{{ item.text }}</span>\n </a>\n}\n\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center}.header-link{display:flex;align-items:center;padding:0 12px;line-height:var(--header-height);font-size:14px;font-weight:500;color:var(--primary-text);cursor:pointer}.header-link:hover,.header-link.active{color:var(--primary-1)}\n"] }]
28
+ }], ctorParameters: () => [{ type: i1.FEnvironmentService }, { type: i2.Router }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1oZWFkZXItbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9mLWhlYWRlci1tZW51L2YtaGVhZGVyLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1oZWFkZXItbWVudS9mLWhlYWRlci1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFM0UsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBWXJELE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFDVSxtQkFBd0MsRUFDeEMsTUFBYztRQURkLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUpkLGVBQVUsR0FBeUMsRUFBRSxDQUFDO0lBTWhFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN6RSxPQUFPO2dCQUNMLEdBQUcsQ0FBQztnQkFDSixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDN0MsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FqQlUsb0JBQW9CO21HQUFwQixvQkFBb0IseUVDZGpDLHdMQU1BLGdXREtJLFVBQVU7OzRGQUdELG9CQUFvQjtrQkFWaEMsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLFVBQVU7cUJBQ1giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFbnZpcm9ubWVudFNlcnZpY2UsIElEb2NzSGVhZGVyTmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZi1oZWFkZXItbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLWhlYWRlci1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtaGVhZGVyLW1lbnUuY29tcG9uZW50LnNjc3MnIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgUm91dGVyTGlua1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZIZWFkZXJNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcm90ZWN0ZWQgbmF2aWdhdGlvbjogSURvY3NIZWFkZXJOYXZpZ2F0aW9uSXRlbVZpZXdNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRW52aXJvbm1lbnRTZXJ2aWNlOiBGRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5uYXZpZ2F0aW9uID0gdGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldEhlYWRlck5hdmlnYXRpb24oKS5tYXAoKHgpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLngsXG4gICAgICAgIGlzQWN0aXZlOiB0aGlzLnJvdXRlci51cmwuc3RhcnRzV2l0aCh4LmxpbmspXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG59XG5cbnR5cGUgSURvY3NIZWFkZXJOYXZpZ2F0aW9uSXRlbVZpZXdNb2RlbCA9IElEb2NzSGVhZGVyTmF2aWdhdGlvbkl0ZW0gJiB7IGlzQWN0aXZlOiBib29sZWFuIH07XG4iLCJAZm9yIChpdGVtIG9mIG5hdmlnYXRpb247IHRyYWNrIGl0ZW0ubGluaykge1xuICA8YSBjbGFzcz1cImhlYWRlci1saW5rXCIgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rXCIgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlXCI+XG4gICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxuICA8L2E+XG59XG5cbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { startWith, Subscription } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../domain";
5
+ import * as i2 from "../../domain/f-state.service";
6
+ import * as i3 from "@angular/router";
7
+ export class FPreviewComponent {
8
+ constructor(fEnvironment, fState, router, changeDetectorRef) {
9
+ this.fEnvironment = fEnvironment;
10
+ this.fState = fState;
11
+ this.router = router;
12
+ this.changeDetectorRef = changeDetectorRef;
13
+ this.subscriptions$ = new Subscription();
14
+ }
15
+ initialize() {
16
+ this.viewModel = this.getNavigationItem(this.getNavigationGroup());
17
+ this.url = this.normalizeLink(this.viewModel.link, this.getUrlPrefix());
18
+ this.subscriptions$.add(this.fState.theme$.pipe(startWith(null)).subscribe(() => this.updateTheme()));
19
+ }
20
+ getNavigationGroup() {
21
+ return this.fEnvironment.getNavigation().find((x) => x.text === this.group);
22
+ }
23
+ getNavigationItem(group) {
24
+ return group.items.find((x) => x.link === this.item);
25
+ }
26
+ updateTheme() {
27
+ this.src = this.fState.getPreferredTheme() === 'dark' ? this.viewModel?.image_dark : this.viewModel?.image;
28
+ if (!this.src) {
29
+ this.src = this.viewModel?.image;
30
+ }
31
+ this.changeDetectorRef.markForCheck();
32
+ }
33
+ normalizeLink(link, prefix) {
34
+ if (!this.isExternalLink(link)) {
35
+ return link.startsWith('/') ? `${prefix}${link}` : `${prefix}/${link}`;
36
+ }
37
+ return link;
38
+ }
39
+ getUrlPrefix() {
40
+ return this.router.url.substring(0, this.router.url.lastIndexOf('/'));
41
+ }
42
+ isExternalLink(href) {
43
+ return href.startsWith('www') || href.startsWith('http');
44
+ }
45
+ ngOnDestroy() {
46
+ this.subscriptions$.unsubscribe();
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FPreviewComponent, deps: [{ token: i1.FEnvironmentService }, { token: i2.FStateService }, { token: i3.Router }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FPreviewComponent, isStandalone: true, selector: "a[f-preview]", host: { properties: { "attr.href": "url", "attr.title": "viewModel?.text" } }, ngImport: i0, template: "@if (viewModel) {\n <img [src]=\"src\" [alt]=\"viewModel.description\" [title]=\"viewModel.text\">\n <div class=\"title\">{{ viewModel.text }}</div>\n <div class=\"description\">{{ viewModel.description }}</div>\n}\n\n\n\n", styles: [":host{display:block;border-radius:4px;background-color:var(--soft-background);padding:24px;width:100%;text-decoration:none!important;color:inherit!important;line-height:24px;font-size:14px;cursor:pointer}:host:hover img{transform:scale(1.1)}:host img{display:block;margin-bottom:16px;width:100%;height:180px;border-radius:4px;object-fit:cover;transition:transform .3s}:host .title{line-height:inherit;font-weight:600;text-transform:uppercase;color:var(--primary-text)}:host .description{margin:8px 0!important;line-height:inherit;color:var(--secondary-text);width:100%;word-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 640px){:host{width:calc((100% - 32px)/2)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FPreviewComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'a[f-preview]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: {
54
+ '[attr.href]': 'url',
55
+ '[attr.title]': 'viewModel?.text',
56
+ }, template: "@if (viewModel) {\n <img [src]=\"src\" [alt]=\"viewModel.description\" [title]=\"viewModel.text\">\n <div class=\"title\">{{ viewModel.text }}</div>\n <div class=\"description\">{{ viewModel.description }}</div>\n}\n\n\n\n", styles: [":host{display:block;border-radius:4px;background-color:var(--soft-background);padding:24px;width:100%;text-decoration:none!important;color:inherit!important;line-height:24px;font-size:14px;cursor:pointer}:host:hover img{transform:scale(1.1)}:host img{display:block;margin-bottom:16px;width:100%;height:180px;border-radius:4px;object-fit:cover;transition:transform .3s}:host .title{line-height:inherit;font-weight:600;text-transform:uppercase;color:var(--primary-text)}:host .description{margin:8px 0!important;line-height:inherit;color:var(--secondary-text);width:100%;word-wrap:break-word;white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}@media (min-width: 640px){:host{width:calc((100% - 32px)/2)}}\n"] }]
57
+ }], ctorParameters: () => [{ type: i1.FEnvironmentService }, { type: i2.FStateService }, { type: i3.Router }, { type: i0.ChangeDetectorRef }] });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1wcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtcHJldmlldy9mLXByZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1wcmV2aWV3L2YtcHJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFpQi9DLE1BQU0sT0FBTyxpQkFBaUI7SUFjNUIsWUFDVSxZQUFpQyxFQUNqQyxNQUFxQixFQUNyQixNQUFjLEVBQ2QsaUJBQW9DO1FBSHBDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQUNqQyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBaEJ0QyxtQkFBYyxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBa0IxRCxDQUFDO0lBRU0sVUFBVTtRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN4RyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUF1QjtRQUMvQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUMzRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQztRQUNuQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBWSxFQUFFLE1BQWM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUksTUFBTyxHQUFJLElBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFJLE1BQU8sSUFBSyxJQUFLLEVBQUUsQ0FBQztRQUNqRixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQzsrR0E3RFUsaUJBQWlCO21HQUFqQixpQkFBaUIsdUpDbEI5QixtT0FRQTs7NEZEVWEsaUJBQWlCO2tCQVg3QixTQUFTOytCQUNFLGNBQWMsY0FHWixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osYUFBYSxFQUFFLEtBQUs7d0JBQ3BCLGNBQWMsRUFBRSxpQkFBaUI7cUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kb21haW4vZi1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJTmF2aWdhdGlvbkdyb3VwLCBJTmF2aWdhdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9mLW5hdmlnYXRpb24tcGFuZWwnO1xuaW1wb3J0IHsgRkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FbZi1wcmV2aWV3XScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXByZXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsgJy4vZi1wcmV2aWV3LmNvbXBvbmVudC5zY3NzJyBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5ocmVmXSc6ICd1cmwnLFxuICAgICdbYXR0ci50aXRsZV0nOiAndmlld01vZGVsPy50ZXh0JyxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBGUHJldmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zJDogU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHB1YmxpYyBpdGVtOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGdyb3VwOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIHZpZXdNb2RlbDogSU5hdmlnYXRpb25JdGVtIHwgdW5kZWZpbmVkO1xuXG4gIHByb3RlY3RlZCBzcmM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgdXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRW52aXJvbm1lbnQ6IEZFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmU3RhdGU6IEZTdGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdNb2RlbCA9IHRoaXMuZ2V0TmF2aWdhdGlvbkl0ZW0odGhpcy5nZXROYXZpZ2F0aW9uR3JvdXAoKSEpO1xuICAgIHRoaXMudXJsID0gdGhpcy5ub3JtYWxpemVMaW5rKHRoaXMudmlld01vZGVsIS5saW5rLCB0aGlzLmdldFVybFByZWZpeCgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMkLmFkZCh0aGlzLmZTdGF0ZS50aGVtZSQucGlwZShzdGFydFdpdGgobnVsbCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVRoZW1lKCkpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF2aWdhdGlvbkdyb3VwKCk6IElOYXZpZ2F0aW9uR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZFbnZpcm9ubWVudC5nZXROYXZpZ2F0aW9uKCkuZmluZCgoeCkgPT4geC50ZXh0ID09PSB0aGlzLmdyb3VwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0TmF2aWdhdGlvbkl0ZW0oZ3JvdXA6IElOYXZpZ2F0aW9uR3JvdXApOiBJTmF2aWdhdGlvbkl0ZW0gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBncm91cC5pdGVtcy5maW5kKCh4KSA9PiB4LmxpbmsgPT09IHRoaXMuaXRlbSk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRoZW1lKCk6IHZvaWQge1xuICAgIHRoaXMuc3JjID0gdGhpcy5mU3RhdGUuZ2V0UHJlZmVycmVkVGhlbWUoKSA9PT0gJ2RhcmsnID8gdGhpcy52aWV3TW9kZWw/LmltYWdlX2RhcmsgOiB0aGlzLnZpZXdNb2RlbD8uaW1hZ2U7XG4gICAgaWYgKCF0aGlzLnNyYykge1xuICAgICAgdGhpcy5zcmMgPSB0aGlzLnZpZXdNb2RlbD8uaW1hZ2U7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZUxpbmsobGluazogc3RyaW5nLCBwcmVmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlzRXh0ZXJuYWxMaW5rKGxpbmspKSB7XG4gICAgICByZXR1cm4gbGluay5zdGFydHNXaXRoKCcvJykgPyBgJHsgcHJlZml4IH0keyBsaW5rIH1gIDogYCR7IHByZWZpeCB9LyR7IGxpbmsgfWA7XG4gICAgfVxuICAgIHJldHVybiBsaW5rO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVcmxQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIudXJsLnN1YnN0cmluZygwLCB0aGlzLnJvdXRlci51cmwubGFzdEluZGV4T2YoJy8nKSk7XG4gIH1cblxuICBwcml2YXRlIGlzRXh0ZXJuYWxMaW5rKGhyZWY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBocmVmLnN0YXJ0c1dpdGgoJ3d3dycpIHx8IGhyZWYuc3RhcnRzV2l0aCgnaHR0cCcpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyQudW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIiwiQGlmICh2aWV3TW9kZWwpIHtcbiAgPGltZyBbc3JjXT1cInNyY1wiIFthbHRdPVwidmlld01vZGVsLmRlc2NyaXB0aW9uXCIgW3RpdGxlXT1cInZpZXdNb2RlbC50ZXh0XCI+XG4gIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IHZpZXdNb2RlbC50ZXh0IH19PC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IHZpZXdNb2RlbC5kZXNjcmlwdGlvbiB9fTwvZGl2PlxufVxuXG5cblxuIl19
@@ -0,0 +1,18 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../domain";
4
+ export class FSocialLinksComponent {
5
+ get links() {
6
+ return this.fEnvironmentService.getSocialLinks();
7
+ }
8
+ constructor(fEnvironmentService) {
9
+ this.fEnvironmentService = fEnvironmentService;
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FSocialLinksComponent, deps: [{ token: i1.FEnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FSocialLinksComponent, isStandalone: true, selector: "f-social-links", ngImport: i0, template: "@for (link of links; track link.link) {\n <a href=\"{{ link.link }}\" class=\"header-link\">\n <div class=\"f-icon {{ link.icon }}\"></div>\n </a>\n}\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center}.header-link{width:36px;height:36px;padding:7.5px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FSocialLinksComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'f-social-links', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (link of links; track link.link) {\n <a href=\"{{ link.link }}\" class=\"header-link\">\n <div class=\"f-icon {{ link.icon }}\"></div>\n </a>\n}\n", styles: [":host{display:flex;justify-content:flex-start;align-items:center}.header-link{width:36px;height:36px;padding:7.5px}\n"] }]
17
+ }], ctorParameters: () => [{ type: i1.FEnvironmentService }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi1zb2NpYWwtbGlua3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1zb2NpYWwtbGlua3MvZi1zb2NpYWwtbGlua3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi1zb2NpYWwtbGlua3MvZi1zb2NpYWwtbGlua3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7OztBQVV2QixNQUFNLE9BQU8scUJBQXFCO0lBRWhDLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUNVLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO0lBRWxELENBQUM7K0dBVFUscUJBQXFCO21HQUFyQixxQkFBcUIsMEVDYmxDLDhKQUtBOzs0RkRRYSxxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZFbnZpcm9ubWVudFNlcnZpY2UsIElEb2NzU29jaWFsTGluayB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Ytc29jaWFsLWxpbmtzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ytc29jaWFsLWxpbmtzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2Ytc29jaWFsLWxpbmtzLmNvbXBvbmVudC5zY3NzJyBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRlNvY2lhbExpbmtzQ29tcG9uZW50IHtcblxuICBwdWJsaWMgZ2V0IGxpbmtzKCk6IElEb2NzU29jaWFsTGlua1tdIHtcbiAgICByZXR1cm4gdGhpcy5mRW52aXJvbm1lbnRTZXJ2aWNlLmdldFNvY2lhbExpbmtzKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZFbnZpcm9ubWVudFNlcnZpY2U6IEZFbnZpcm9ubWVudFNlcnZpY2VcbiAgKSB7XG4gIH1cbn1cbiIsIkBmb3IgKGxpbmsgb2YgbGlua3M7IHRyYWNrIGxpbmsubGluaykge1xuICA8YSBocmVmPVwie3sgbGluay5saW5rIH19XCIgY2xhc3M9XCJoZWFkZXItbGlua1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmLWljb24ge3sgbGluay5pY29uIH19XCI+PC9kaXY+XG4gIDwvYT5cbn1cbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { ChangeDetectionStrategy, Component, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../domain/f-state.service";
4
+ import * as i2 from "@foblex/platform";
5
+ export class FThemeButtonComponent {
6
+ constructor(renderer, fState, fBrowser) {
7
+ this.renderer = renderer;
8
+ this.fState = fState;
9
+ this.fBrowser = fBrowser;
10
+ }
11
+ ngOnInit() {
12
+ if (this.fState.getPreferredTheme() === 'dark' && !this.isDocumentContainsDarkTheme()) {
13
+ this.renderer.addClass(this.fBrowser.document.documentElement, 'dark');
14
+ this.fBrowser.localStorage.setItem('preferred-theme', 'dark');
15
+ }
16
+ }
17
+ isDocumentContainsDarkTheme() {
18
+ return this.fBrowser.document.documentElement.classList.contains('dark');
19
+ }
20
+ onClick() {
21
+ if (this.fState.getPreferredTheme() === 'light' && !this.isDocumentContainsDarkTheme()) {
22
+ this.renderer.addClass(this.fBrowser.document.documentElement, 'dark');
23
+ this.fBrowser.localStorage.setItem('preferred-theme', 'dark');
24
+ }
25
+ else {
26
+ this.renderer.removeClass(this.fBrowser.document.documentElement, 'dark');
27
+ this.fBrowser.localStorage.setItem('preferred-theme', 'light');
28
+ }
29
+ this.fState.updateTheme();
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FThemeButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i1.FStateService }, { token: i2.BrowserService }], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FThemeButtonComponent, isStandalone: true, selector: "button[f-theme-button]", host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<div class=\"f-icon-container\">\n <div class=\"f-icon moon\"></div>\n <div class=\"f-icon sun\"></div>\n</div>\n", styles: [":host{margin:0 8px;position:relative;border-radius:11px;display:block;width:44px;min-width:44px;height:22px;border:1px solid var(--theme-button-border-color);background-color:var(--theme-button-background);cursor:pointer}:host:hover{border-color:var(--theme-button-hovered-border-color)}.f-icon-container{position:absolute;top:1px;left:1px;width:18px;height:18px;padding:3px;border-radius:50%;background-color:var(--theme-button-icon-background);transition:transform .4s}.f-icon-container .f-icon{position:absolute;top:3px;left:3px;width:12px;height:12px}.f-icon-container .sun{display:block}.f-icon-container .moon{display:none}.dark :host .f-icon-container{transform:translate(22px)}.dark :host .f-icon-container .sun{display:none}.dark :host .f-icon-container .moon{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FThemeButtonComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'button[f-theme-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"f-icon-container\">\n <div class=\"f-icon moon\"></div>\n <div class=\"f-icon sun\"></div>\n</div>\n", styles: [":host{margin:0 8px;position:relative;border-radius:11px;display:block;width:44px;min-width:44px;height:22px;border:1px solid var(--theme-button-border-color);background-color:var(--theme-button-background);cursor:pointer}:host:hover{border-color:var(--theme-button-hovered-border-color)}.f-icon-container{position:absolute;top:1px;left:1px;width:18px;height:18px;padding:3px;border-radius:50%;background-color:var(--theme-button-icon-background);transition:transform .4s}.f-icon-container .f-icon{position:absolute;top:3px;left:3px;width:12px;height:12px}.f-icon-container .sun{display:block}.f-icon-container .moon{display:none}.dark :host .f-icon-container{transform:translate(22px)}.dark :host .f-icon-container .sun{display:none}.dark :host .f-icon-container .moon{display:block}\n"] }]
37
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.FStateService }, { type: i2.BrowserService }], propDecorators: { onClick: [{
38
+ type: HostListener,
39
+ args: ['click']
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi10aGVtZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi10aGVtZS1idXR0b24vZi10aGVtZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi10aGVtZS1idXR0b24vZi10aGVtZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUdiLE1BQU0sZUFBZSxDQUFDOzs7O0FBV3ZCLE1BQU0sT0FBTyxxQkFBcUI7SUFFaEMsWUFDVSxRQUFtQixFQUNuQixNQUFxQixFQUNyQixRQUF3QjtRQUZ4QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7SUFFbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsRUFBRSxDQUFDO1lBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEUsQ0FBQztJQUNILENBQUM7SUFFTywyQkFBMkI7UUFDakMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBR1MsT0FBTztRQUNmLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUM7WUFDdkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakUsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQzsrR0E5QlUscUJBQXFCO21HQUFyQixxQkFBcUIsaUlDakJsQyxxSEFJQTs7NEZEYWEscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLHdCQUF3QixjQUd0QixJQUFJLG1CQUNDLHVCQUF1QixDQUFDLE1BQU07dUlBdUJyQyxPQUFPO3NCQURoQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJvd3NlclNlcnZpY2UgfSBmcm9tICdAZm9ibGV4L3BsYXRmb3JtJztcbmltcG9ydCB7IEZTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9kb21haW4vZi1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uW2YtdGhlbWUtYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9mLXRoZW1lLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9mLXRoZW1lLWJ1dHRvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZUaGVtZUJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgZlN0YXRlOiBGU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZkJyb3dzZXI6IEJyb3dzZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZTdGF0ZS5nZXRQcmVmZXJyZWRUaGVtZSgpID09PSAnZGFyaycgJiYgIXRoaXMuaXNEb2N1bWVudENvbnRhaW5zRGFya1RoZW1lKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5mQnJvd3Nlci5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICdkYXJrJyk7XG4gICAgICB0aGlzLmZCcm93c2VyLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdwcmVmZXJyZWQtdGhlbWUnLCAnZGFyaycpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNEb2N1bWVudENvbnRhaW5zRGFya1RoZW1lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZCcm93c2VyLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ2RhcmsnKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgcHJvdGVjdGVkIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZlN0YXRlLmdldFByZWZlcnJlZFRoZW1lKCkgPT09ICdsaWdodCcgJiYgIXRoaXMuaXNEb2N1bWVudENvbnRhaW5zRGFya1RoZW1lKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5mQnJvd3Nlci5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICdkYXJrJyk7XG4gICAgICB0aGlzLmZCcm93c2VyLmxvY2FsU3RvcmFnZS5zZXRJdGVtKCdwcmVmZXJyZWQtdGhlbWUnLCAnZGFyaycpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZkJyb3dzZXIuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LCAnZGFyaycpO1xuICAgICAgdGhpcy5mQnJvd3Nlci5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncHJlZmVycmVkLXRoZW1lJywgJ2xpZ2h0Jyk7XG4gICAgfVxuICAgIHRoaXMuZlN0YXRlLnVwZGF0ZVRoZW1lKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmLWljb24tY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmLWljb24gbW9vblwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZi1pY29uIHN1blwiPjwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { AsyncPipe } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../domain";
5
+ export class FVersionComponent {
6
+ constructor(fEnvironmentService) {
7
+ this.fEnvironmentService = fEnvironmentService;
8
+ this.version$ = this.fEnvironmentService.getVersion();
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FVersionComponent, deps: [{ token: i1.FEnvironmentService }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FVersionComponent, isStandalone: true, selector: "f-version", ngImport: i0, template: "@if (version$ | async;as version) {\n <span class=\"version\">v{{ version }}</span>\n}\n", styles: [".version{margin-left:8px;margin-right:8px;display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--primary-text)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FVersionComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'f-version', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
16
+ AsyncPipe
17
+ ], template: "@if (version$ | async;as version) {\n <span class=\"version\">v{{ version }}</span>\n}\n", styles: [".version{margin-left:8px;margin-right:8px;display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--primary-text)}\n"] }]
18
+ }], ctorParameters: () => [{ type: i1.FEnvironmentService }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZi12ZXJzaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2YtdmVyc2lvbi9mLXZlcnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLWRvY3VtZW50YXRpb24vZi12ZXJzaW9uL2YtdmVyc2lvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBWTVDLE1BQU0sT0FBTyxpQkFBaUI7SUFJNUIsWUFDVSxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUVoRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN4RCxDQUFDOytHQVJVLGlCQUFpQjttR0FBakIsaUJBQWlCLHFFQ2Y5QiwyRkFHQSwwTERTSSxTQUFTOzs0RkFHQSxpQkFBaUI7a0JBVjdCLFNBQVM7K0JBQ0UsV0FBVyxjQUdULElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTSxXQUN0Qzt3QkFDUCxTQUFTO3FCQUNWIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRkVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmLXZlcnNpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZi12ZXJzaW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbICcuL2YtdmVyc2lvbi5jb21wb25lbnQuc2NzcycgXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBBc3luY1BpcGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGVmVyc2lvbkNvbXBvbmVudCB7XG5cbiAgcHJvdGVjdGVkIHZlcnNpb24kOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmRW52aXJvbm1lbnRTZXJ2aWNlOiBGRW52aXJvbm1lbnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudmVyc2lvbiQgPSB0aGlzLmZFbnZpcm9ubWVudFNlcnZpY2UuZ2V0VmVyc2lvbigpO1xuICB9XG59XG4iLCJAaWYgKHZlcnNpb24kIHwgYXN5bmM7YXMgdmVyc2lvbikge1xuICA8c3BhbiBjbGFzcz1cInZlcnNpb25cIj52e3sgdmVyc2lvbiB9fTwvc3Bhbj5cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export const F_DOCUMENTATION_COMPONENT = new InjectionToken('F_DOCUMENTATION_COMPONENT');
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1kb2N1bWVudGF0aW9uLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL20tcmVuZGVyL3NyYy9saWIvZi1kb2N1bWVudGF0aW9uL2ktZG9jdW1lbnRhdGlvbi1jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBNEMsSUFBSSxjQUFjLENBQTBCLDJCQUEyQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVDogSW5qZWN0aW9uVG9rZW48SURvY3VtZW50YXRpb25Db21wb25lbnQ+ID0gbmV3IEluamVjdGlvblRva2VuPElEb2N1bWVudGF0aW9uQ29tcG9uZW50PignRl9ET0NVTUVOVEFUSU9OX0NPTVBPTkVOVCcpO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEb2N1bWVudGF0aW9uQ29tcG9uZW50IHtcblxuICBvblRvZ2dsZU5hdmlnYXRpb24odmFsdWU6IGJvb2xlYW4pOiB2b2lkO1xufVxuIl19
@@ -0,0 +1,13 @@
1
+ export * from './f-badge';
2
+ export * from './f-checkbox/f-checkbox.component';
3
+ export * from './f-cookie-popup/f-cookie-popup.component';
4
+ export * from './f-hamburger-button/f-hamburger-button.component';
5
+ export * from './f-header/f-header.component';
6
+ export * from './f-header-menu/f-header-menu.component';
7
+ export * from './f-preview/f-preview.component';
8
+ export * from './f-social-links/f-social-links.component';
9
+ export * from './f-theme-button/f-theme-button.component';
10
+ export * from './f-version/f-version.component';
11
+ export * from './f-documentation.component';
12
+ export * from './i-documentation-component';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtZG9jdW1lbnRhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFdBQVcsQ0FBQztBQUUxQixjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLDJDQUEyQyxDQUFDO0FBRTFELGNBQWMsMkNBQTJDLENBQUM7QUFFMUQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2YtYmFkZ2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY2hlY2tib3gvZi1jaGVja2JveC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtY29va2llLXBvcHVwL2YtY29va2llLXBvcHVwLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1oYW1idXJnZXItYnV0dG9uL2YtaGFtYnVyZ2VyLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2YtaGVhZGVyL2YtaGVhZGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1oZWFkZXItbWVudS9mLWhlYWRlci1tZW51LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1wcmV2aWV3L2YtcHJldmlldy5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2Ytc29jaWFsLWxpbmtzL2Ytc29jaWFsLWxpbmtzLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi10aGVtZS1idXR0b24vZi10aGVtZS1idXR0b24uY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9mLXZlcnNpb24vZi12ZXJzaW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vZi1kb2N1bWVudGF0aW9uLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1kb2N1bWVudGF0aW9uLWNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1uYXZpZ2F0aW9uLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbS1yZW5kZXIvc3JjL2xpYi9mLW5hdmlnYXRpb24tcGFuZWwvZG9tYWluL2ktbmF2aWdhdGlvbi1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSU5hdmlnYXRpb25JdGVtIH0gZnJvbSAnLi9pLW5hdmlnYXRpb24taXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdmlnYXRpb25Hcm91cCB7XG5cbiAgdGV4dD86IHN0cmluZztcblxuICBpdGVtczogSU5hdmlnYXRpb25JdGVtW107XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtbmF2aWdhdGlvbi1wYW5lbC9kb21haW4vaS1uYXZpZ2F0aW9uLWl0ZW0tYmFkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSU5hdmlnYXRpb25JdGVtQmFkZ2Uge1xuXG4gIHRleHQ6IHN0cmluZztcblxuICB0eXBlOiAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICd0aXAnO1xufVxuXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaS1uYXZpZ2F0aW9uLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtbmF2aWdhdGlvbi1wYW5lbC9kb21haW4vaS1uYXZpZ2F0aW9uLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElOYXZpZ2F0aW9uSXRlbUJhZGdlIH0gZnJvbSAnLi9pLW5hdmlnYXRpb24taXRlbS1iYWRnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdmlnYXRpb25JdGVtIHtcblxuICBsaW5rOiBzdHJpbmc7XG5cbiAgdGV4dDogc3RyaW5nO1xuXG4gIGhpZGVUb2M/OiBib29sZWFuO1xuXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIGltYWdlPzogc3RyaW5nO1xuXG4gIGltYWdlX2Rhcms/OiBzdHJpbmc7XG5cbiAgaW1hZ2Vfd2lkdGg/OiBudW1iZXI7XG5cbiAgaW1hZ2VfaGVpZ2h0PzogbnVtYmVyO1xuXG4gIGltYWdlX3R5cGU/OiBzdHJpbmc7XG5cbiAgYmFkZ2U/OiBJTmF2aWdhdGlvbkl0ZW1CYWRnZTtcbn1cblxuIl19
@@ -0,0 +1,4 @@
1
+ export * from './i-navigation-group';
2
+ export * from './i-navigation-item';
3
+ export * from './i-navigation-item-badge';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tLXJlbmRlci9zcmMvbGliL2YtbmF2aWdhdGlvbi1wYW5lbC9kb21haW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLHFCQUFxQixDQUFDO0FBRXBDLGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ktbmF2aWdhdGlvbi1ncm91cCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vaS1uYXZpZ2F0aW9uLWl0ZW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2ktbmF2aWdhdGlvbi1pdGVtLWJhZGdlJztcbiJdfQ==