@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.
- package/LICENSE +21 -0
- package/README.md +33 -0
- package/assets/fonts/inter-italic-latin-ext.woff2 +0 -0
- package/assets/fonts/inter-italic-latin.woff2 +0 -0
- package/assets/fonts/inter-roman-latin-ext.woff2 +0 -0
- package/assets/fonts/inter-roman-latin.woff2 +0 -0
- package/assets/styles/_alert.scss +50 -0
- package/assets/styles/_badge.scss +63 -0
- package/assets/styles/_button.scss +42 -0
- package/assets/styles/_code-group.scss +45 -0
- package/assets/styles/_code-highlight.scss +96 -0
- package/assets/styles/_code-view.scss +91 -0
- package/assets/styles/_doc-text.scss +124 -0
- package/assets/styles/_fonts.scss +41 -0
- package/assets/styles/_icons.scss +158 -0
- package/assets/styles/_preview-group.scss +11 -0
- package/assets/styles/_variables.scss +287 -0
- package/assets/styles/styles.scss +75 -0
- package/esm2022/foblex-m-render.mjs +5 -0
- package/esm2022/lib/common-services/analytics/f-accept-cookies-key.mjs +2 -0
- package/esm2022/lib/common-services/analytics/f-analytics.service.mjs +52 -0
- package/esm2022/lib/common-services/analytics/i-window-with-analytics.mjs +2 -0
- package/esm2022/lib/common-services/analytics/index.mjs +5 -0
- package/esm2022/lib/common-services/analytics/set-cookie-consent.mjs +32 -0
- package/esm2022/lib/common-services/f-head-tag.service.mjs +52 -0
- package/esm2022/lib/common-services/index.mjs +4 -0
- package/esm2022/lib/common-services/json-ld/f-json-ld.service.mjs +51 -0
- package/esm2022/lib/common-services/json-ld/i-json-ld-creator.mjs +2 -0
- package/esm2022/lib/common-services/json-ld/i-json-ld-entity-of-page.mjs +2 -0
- package/esm2022/lib/common-services/json-ld/i-json-ld.mjs +2 -0
- package/esm2022/lib/common-services/json-ld/index.mjs +5 -0
- package/esm2022/lib/domain/f-environment.service.mjs +66 -0
- package/esm2022/lib/domain/f-meta.service.mjs +77 -0
- package/esm2022/lib/domain/f-popover.service.mjs +25 -0
- package/esm2022/lib/domain/f-state.service.mjs +27 -0
- package/esm2022/lib/domain/features/get-version-handler/get-version.handler.mjs +27 -0
- package/esm2022/lib/domain/features/get-version-handler/get-version.request.mjs +6 -0
- package/esm2022/lib/domain/features/get-version-handler/index.mjs +3 -0
- package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.handler.mjs +51 -0
- package/esm2022/lib/domain/features/handle-navigation-links/handle-navigation-links.request.mjs +6 -0
- package/esm2022/lib/domain/features/handle-navigation-links/index.mjs +3 -0
- package/esm2022/lib/domain/features/index.mjs +3 -0
- package/esm2022/lib/domain/i-docs-component.mjs +2 -0
- package/esm2022/lib/domain/i-docs-environment.mjs +2 -0
- package/esm2022/lib/domain/i-docs-footer-navigation.mjs +2 -0
- package/esm2022/lib/domain/i-docs-header-navigation-item.mjs +2 -0
- package/esm2022/lib/domain/i-docs-social-link.mjs +2 -0
- package/esm2022/lib/domain/i-docs-table-of-content.mjs +2 -0
- package/esm2022/lib/domain/i-docs-version.mjs +2 -0
- package/esm2022/lib/domain/i-meta-data.mjs +2 -0
- package/esm2022/lib/domain/index.mjs +15 -0
- package/esm2022/lib/domain/providers.mjs +3 -0
- package/esm2022/lib/domain/router.mjs +13 -0
- package/esm2022/lib/f-documentation/f-badge/f-badge.component.mjs +22 -0
- package/esm2022/lib/f-documentation/f-badge/index.mjs +2 -0
- package/esm2022/lib/f-documentation/f-checkbox/f-checkbox.component.mjs +70 -0
- package/esm2022/lib/f-documentation/f-cookie-popup/f-cookie-popup.component.mjs +33 -0
- package/esm2022/lib/f-documentation/f-documentation.component.mjs +56 -0
- package/esm2022/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.mjs +24 -0
- package/esm2022/lib/f-documentation/f-header/f-header.component.mjs +30 -0
- package/esm2022/lib/f-documentation/f-header-menu/f-header-menu.component.mjs +29 -0
- package/esm2022/lib/f-documentation/f-preview/f-preview.component.mjs +58 -0
- package/esm2022/lib/f-documentation/f-social-links/f-social-links.component.mjs +18 -0
- package/esm2022/lib/f-documentation/f-theme-button/f-theme-button.component.mjs +41 -0
- package/esm2022/lib/f-documentation/f-version/f-version.component.mjs +19 -0
- package/esm2022/lib/f-documentation/i-documentation-component.mjs +3 -0
- package/esm2022/lib/f-documentation/index.mjs +13 -0
- package/esm2022/lib/f-navigation-panel/domain/i-navigation-group.mjs +2 -0
- package/esm2022/lib/f-navigation-panel/domain/i-navigation-item-badge.mjs +2 -0
- package/esm2022/lib/f-navigation-panel/domain/i-navigation-item.mjs +2 -0
- package/esm2022/lib/f-navigation-panel/domain/index.mjs +4 -0
- package/esm2022/lib/f-navigation-panel/f-navigation-group/f-navigation-group.component.mjs +22 -0
- package/esm2022/lib/f-navigation-panel/f-navigation-header/f-navigation-header.component.mjs +24 -0
- package/esm2022/lib/f-navigation-panel/f-navigation-item/f-navigation-item.component.mjs +11 -0
- package/esm2022/lib/f-navigation-panel/f-navigation-panel.component.mjs +94 -0
- package/esm2022/lib/f-navigation-panel/index.mjs +6 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.mjs +102 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.mjs +6 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-dynamic-components/index.mjs +3 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.mjs +34 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.mjs +6 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/index.mjs +5 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.mjs +15 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.mjs +46 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.mjs +51 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.mjs +3 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.mjs +45 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.mjs +60 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.mjs +9 -0
- package/esm2022/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.mjs +7 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.mjs +23 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/highlight.service.mjs +54 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/index.mjs +6 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.mjs +52 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.mjs +22 -0
- package/esm2022/lib/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.mjs +28 -0
- package/esm2022/lib/f-page/f-markdown/domain/index.mjs +5 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/index.mjs +4 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/markdown.service.mjs +65 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.mjs +13 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/index.mjs +8 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.mjs +19 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.mjs +54 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.mjs +15 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.mjs +92 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.mjs +49 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/get-content.mjs +17 -0
- package/esm2022/lib/f-page/f-markdown/domain/markdown/utils/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown/f-markdown-renderer.component.mjs +80 -0
- package/esm2022/lib/f-page/f-markdown/index.mjs +3 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.mjs +36 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.mjs +6 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.mjs +7 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.mjs +4 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/features/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/i-page-link.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/domain/index.mjs +3 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.mjs +11 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.mjs +11 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.mjs +11 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-edit-information/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.mjs +17 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.mjs +2 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.mjs +11 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-footer-navigation/index.mjs +3 -0
- package/esm2022/lib/f-page/f-markdown-footer/f-markdown-footer.component.mjs +82 -0
- package/esm2022/lib/f-page/f-markdown-footer/index.mjs +5 -0
- package/esm2022/lib/f-page/f-page.component.mjs +18 -0
- package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.mjs +16 -0
- package/esm2022/lib/f-page/f-table-of-content/f-table-of-content-items/index.mjs +2 -0
- package/esm2022/lib/f-page/f-table-of-content/f-table-of-content.component.mjs +63 -0
- package/esm2022/lib/f-page/f-table-of-content/index.mjs +3 -0
- package/esm2022/lib/f-page/index.mjs +5 -0
- package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.mjs +51 -0
- package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.mjs +6 -0
- package/esm2022/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.mjs +3 -0
- package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.mjs +14 -0
- package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.mjs +7 -0
- package/esm2022/lib/f-scrollable-container/domain/get-absolute-top-to-container/index.mjs +3 -0
- package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.mjs +52 -0
- package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.mjs +7 -0
- package/esm2022/lib/f-scrollable-container/domain/get-table-of-content-data/index.mjs +3 -0
- package/esm2022/lib/f-scrollable-container/domain/i-table-of-content-item.mjs +2 -0
- package/esm2022/lib/f-scrollable-container/domain/index.mjs +7 -0
- package/esm2022/lib/f-scrollable-container/domain/scroll-to-element-in-container.mjs +34 -0
- package/esm2022/lib/f-scrollable-container/domain/table-of-content-data.mjs +7 -0
- package/esm2022/lib/f-scrollable-container/f-scrollable-container.component.mjs +30 -0
- package/esm2022/lib/f-scrollable-container/f-scrollable.service.mjs +57 -0
- package/esm2022/lib/f-scrollable-container/index.mjs +3 -0
- package/esm2022/lib/index.mjs +7 -0
- package/esm2022/public-api.mjs +2 -0
- package/fesm2022/foblex-m-render.mjs +2405 -0
- package/fesm2022/foblex-m-render.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/common-services/analytics/f-accept-cookies-key.d.ts +1 -0
- package/lib/common-services/analytics/f-analytics.service.d.ts +10 -0
- package/lib/common-services/analytics/i-window-with-analytics.d.ts +5 -0
- package/lib/common-services/analytics/index.d.ts +4 -0
- package/lib/common-services/analytics/set-cookie-consent.d.ts +6 -0
- package/lib/common-services/f-head-tag.service.d.ts +20 -0
- package/lib/common-services/index.d.ts +3 -0
- package/lib/common-services/json-ld/f-json-ld.service.d.ts +12 -0
- package/lib/common-services/json-ld/i-json-ld-creator.d.ts +7 -0
- package/lib/common-services/json-ld/i-json-ld-entity-of-page.d.ts +3 -0
- package/lib/common-services/json-ld/i-json-ld.d.ts +9 -0
- package/lib/common-services/json-ld/index.d.ts +4 -0
- package/lib/domain/f-environment.service.d.ts +23 -0
- package/lib/domain/f-meta.service.d.ts +20 -0
- package/lib/domain/f-popover.service.d.ts +10 -0
- package/lib/domain/f-state.service.d.ts +13 -0
- package/lib/domain/features/get-version-handler/get-version.handler.d.ts +13 -0
- package/lib/domain/features/get-version-handler/get-version.request.d.ts +5 -0
- package/lib/domain/features/get-version-handler/index.d.ts +2 -0
- package/lib/domain/features/handle-navigation-links/handle-navigation-links.handler.d.ts +19 -0
- package/lib/domain/features/handle-navigation-links/handle-navigation-links.request.d.ts +4 -0
- package/lib/domain/features/handle-navigation-links/index.d.ts +2 -0
- package/lib/domain/features/index.d.ts +2 -0
- package/lib/domain/i-docs-component.d.ts +5 -0
- package/lib/domain/i-docs-environment.d.ts +21 -0
- package/lib/domain/i-docs-footer-navigation.d.ts +8 -0
- package/lib/domain/i-docs-header-navigation-item.d.ts +5 -0
- package/lib/domain/i-docs-social-link.d.ts +4 -0
- package/lib/domain/i-docs-table-of-content.d.ts +7 -0
- package/lib/domain/i-docs-version.d.ts +4 -0
- package/lib/domain/i-meta-data.d.ts +12 -0
- package/lib/domain/index.d.ts +14 -0
- package/lib/domain/providers.d.ts +3 -0
- package/lib/domain/router.d.ts +2 -0
- package/lib/f-documentation/f-badge/f-badge.component.d.ts +7 -0
- package/lib/f-documentation/f-badge/index.d.ts +1 -0
- package/lib/f-documentation/f-checkbox/f-checkbox.component.d.ts +22 -0
- package/lib/f-documentation/f-cookie-popup/f-cookie-popup.component.d.ts +9 -0
- package/lib/f-documentation/f-documentation.component.d.ts +18 -0
- package/lib/f-documentation/f-hamburger-button/f-hamburger-button.component.d.ts +9 -0
- package/lib/f-documentation/f-header/f-header.component.d.ts +9 -0
- package/lib/f-documentation/f-header-menu/f-header-menu.component.d.ts +17 -0
- package/lib/f-documentation/f-preview/f-preview.component.d.ts +29 -0
- package/lib/f-documentation/f-social-links/f-social-links.component.d.ts +9 -0
- package/lib/f-documentation/f-theme-button/f-theme-button.component.d.ts +15 -0
- package/lib/f-documentation/f-version/f-version.component.d.ts +10 -0
- package/lib/f-documentation/i-documentation-component.d.ts +5 -0
- package/lib/f-documentation/index.d.ts +12 -0
- package/lib/f-navigation-panel/domain/i-navigation-group.d.ts +5 -0
- package/lib/f-navigation-panel/domain/i-navigation-item-badge.d.ts +4 -0
- package/lib/f-navigation-panel/domain/i-navigation-item.d.ts +13 -0
- package/lib/f-navigation-panel/domain/index.d.ts +3 -0
- package/lib/f-navigation-panel/f-navigation-group/f-navigation-group.component.d.ts +8 -0
- package/lib/f-navigation-panel/f-navigation-header/f-navigation-header.component.d.ts +12 -0
- package/lib/f-navigation-panel/f-navigation-item/f-navigation-item.component.d.ts +5 -0
- package/lib/f-navigation-panel/f-navigation-panel.component.d.ts +29 -0
- package/lib/f-navigation-panel/index.d.ts +5 -0
- package/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.handler.d.ts +26 -0
- package/lib/f-page/f-markdown/domain/handle-dynamic-components/handle-dynamic-components.request.d.ts +4 -0
- package/lib/f-page/f-markdown/domain/handle-dynamic-components/index.d.ts +2 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.handler.d.ts +16 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/handle-parsed-containers.request.d.ts +4 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/i-parsed-container.d.ts +3 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/index.d.ts +4 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/copy-to-clipboard.d.ts +2 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/clipboard/index.d.ts +1 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-async-code-view-handler.d.ts +10 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/f-code-group.handler.d.ts +18 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/i-code-group-view.d.ts +3 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group/index.d.ts +2 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-group-body.handler.d.ts +15 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-code-view-handler.d.ts +21 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/f-example-view-handler.d.ts +6 -0
- package/lib/f-page/f-markdown/domain/handle-parsed-containers/pseudo-components/index.d.ts +6 -0
- package/lib/f-page/f-markdown/domain/highlight/change-code-focused-syntax.pre-processor.d.ts +7 -0
- package/lib/f-page/f-markdown/domain/highlight/highlight.service.d.ts +15 -0
- package/lib/f-page/f-markdown/domain/highlight/index.d.ts +5 -0
- package/lib/f-page/f-markdown/domain/highlight/mark-code-focused-blocks.post-processor.d.ts +14 -0
- package/lib/f-page/f-markdown/domain/highlight/modify-punctuation-highlight.post-processor.d.ts +6 -0
- package/lib/f-page/f-markdown/domain/highlight/separate-code-by-lines.post-processor.d.ts +9 -0
- package/lib/f-page/f-markdown/domain/index.d.ts +4 -0
- package/lib/f-page/f-markdown/domain/markdown/index.d.ts +3 -0
- package/lib/f-page/f-markdown/domain/markdown/markdown.service.d.ts +22 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/e-markdown-container-type.d.ts +11 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/i-markdown-it-token.d.ts +15 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/index.d.ts +7 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-alerts.d.ts +9 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-group.d.ts +17 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-code-view.d.ts +5 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-example-group.d.ts +21 -0
- package/lib/f-page/f-markdown/domain/markdown/parse-markdown/parse-preview-group.d.ts +17 -0
- package/lib/f-page/f-markdown/domain/markdown/utils/get-content.d.ts +2 -0
- package/lib/f-page/f-markdown/domain/markdown/utils/index.d.ts +1 -0
- package/lib/f-page/f-markdown/f-markdown-renderer.component.d.ts +25 -0
- package/lib/f-page/f-markdown/index.d.ts +2 -0
- package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.handler.d.ts +9 -0
- package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.request.d.ts +4 -0
- package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/get-previous-next-page-navigation.response.d.ts +6 -0
- package/lib/f-page/f-markdown-footer/domain/features/get-previous-next-page-navigation/index.d.ts +3 -0
- package/lib/f-page/f-markdown-footer/domain/features/index.d.ts +1 -0
- package/lib/f-page/f-markdown-footer/domain/i-page-link.d.ts +4 -0
- package/lib/f-page/f-markdown-footer/domain/index.d.ts +2 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-information.component.d.ts +5 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/f-footer-edit-link.component.d.ts +5 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-edit-link/index.d.ts +1 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/f-footer-last-updated.component.d.ts +5 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/f-footer-last-updated/index.d.ts +1 -0
- package/lib/f-page/f-markdown-footer/f-footer-edit-information/index.d.ts +1 -0
- package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/f-footer-navigation-button.component.d.ts +8 -0
- package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation-button/index.d.ts +1 -0
- package/lib/f-page/f-markdown-footer/f-footer-navigation/f-footer-navigation.component.d.ts +5 -0
- package/lib/f-page/f-markdown-footer/f-footer-navigation/index.d.ts +2 -0
- package/lib/f-page/f-markdown-footer/f-markdown-footer.component.d.ts +29 -0
- package/lib/f-page/f-markdown-footer/index.d.ts +4 -0
- package/lib/f-page/f-page.component.d.ts +5 -0
- package/lib/f-page/f-table-of-content/f-table-of-content-items/f-table-of-content-items.component.d.ts +7 -0
- package/lib/f-page/f-table-of-content/f-table-of-content-items/index.d.ts +1 -0
- package/lib/f-page/f-table-of-content/f-table-of-content.component.d.ts +28 -0
- package/lib/f-page/f-table-of-content/index.d.ts +2 -0
- package/lib/f-page/index.d.ts +4 -0
- package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.handler.d.ts +15 -0
- package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/calculate-hash-from-scroll-position.request.d.ts +5 -0
- package/lib/f-scrollable-container/domain/calculate-hash-from-scroll-position/index.d.ts +2 -0
- package/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.handler.d.ts +5 -0
- package/lib/f-scrollable-container/domain/get-absolute-top-to-container/get-absolute-top-to-container.request.d.ts +5 -0
- package/lib/f-scrollable-container/domain/get-absolute-top-to-container/index.d.ts +2 -0
- package/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.handler.d.ts +11 -0
- package/lib/f-scrollable-container/domain/get-table-of-content-data/get-table-of-content-data.request.d.ts +11 -0
- package/lib/f-scrollable-container/domain/get-table-of-content-data/index.d.ts +2 -0
- package/lib/f-scrollable-container/domain/i-table-of-content-item.d.ts +7 -0
- package/lib/f-scrollable-container/domain/index.d.ts +6 -0
- package/lib/f-scrollable-container/domain/scroll-to-element-in-container.d.ts +12 -0
- package/lib/f-scrollable-container/domain/table-of-content-data.d.ts +6 -0
- package/lib/f-scrollable-container/f-scrollable-container.component.d.ts +13 -0
- package/lib/f-scrollable-container/f-scrollable.service.d.ts +25 -0
- package/lib/f-scrollable-container/index.d.ts +2 -0
- package/lib/index.d.ts +6 -0
- package/package.json +49 -0
- 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==
|