@siemens/element-ng 49.16.0 → 51.0.0-rc.10
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/README.md +1 -1
- package/fesm2022/siemens-element-ng-about.mjs +41 -25
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +59 -41
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +83 -53
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +143 -148
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +180 -188
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +34 -24
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +9 -8
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +21 -17
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +72 -47
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +58 -34
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +323 -215
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +39 -25
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +44 -34
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +58 -37
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +22 -22
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +37 -28
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +337 -223
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +12 -15
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +126 -76
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +393 -251
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +22 -17
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +105 -91
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +33 -25
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +274 -165
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +12 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +361 -116
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
- package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +224 -318
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +40 -30
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +6 -6
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +56 -57
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +121 -75
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +31 -21
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +132 -66
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +51 -64
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +14 -12
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +116 -51
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-maplibre.mjs +401 -0
- package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs +70 -0
- package/fesm2022/siemens-element-ng-markdown-directives-tabs.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs +215 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-citations.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +76 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs +86 -0
- package/fesm2022/siemens-element-ng-markdown-extensions-mermaid.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +130 -0
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-markdown.mjs +800 -0
- package/fesm2022/siemens-element-ng-markdown.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-menu.mjs +71 -57
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +14 -11
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +251 -206
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +123 -86
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +72 -45
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +41 -29
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +33 -24
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -14
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +144 -139
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +85 -52
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +56 -41
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +35 -27
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +38 -37
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +265 -170
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +4 -4
- package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +181 -104
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +21 -24
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +45 -30
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-source-chip.mjs +79 -0
- package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-split.mjs +290 -306
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +66 -52
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +26 -16
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +13 -10
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +20 -17
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +156 -131
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +29 -6
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +62 -42
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +59 -40
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +108 -82
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +36 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs +0 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +113 -84
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +69 -49
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +95 -54
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/formly-legacy/package.json +4 -0
- package/maplibre/package.json +4 -0
- package/maplibre/styles/_index.scss +1 -0
- package/maplibre/styles/maplibre-gl.scss +724 -0
- package/markdown/directives/tabs/package.json +4 -0
- package/markdown/extensions/citations/package.json +4 -0
- package/markdown/extensions/katex/package.json +4 -0
- package/markdown/extensions/mermaid/package.json +4 -0
- package/markdown/hightlighter/highlightjs/package.json +4 -0
- package/markdown/package.json +4 -0
- package/package.json +96 -25
- package/schematics/collection.json +5 -0
- package/schematics/{migrations/icon-path-migration → migrate-tabs-legacy}/index.js +1 -1
- package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
- package/schematics/migrate-tabs-legacy/schema.json +14 -0
- package/schematics/migration.json +4 -4
- package/schematics/migrations/data/class-member-replacement.js +1 -19
- package/schematics/migrations/data/component-property-names.js +1 -25
- package/schematics/migrations/data/component-property-to-child.js +11 -0
- package/schematics/migrations/data/css-custom-properties.js +224 -0
- package/schematics/migrations/data/element-class-changes.js +116 -18
- package/schematics/migrations/data/element-migration-data.js +6 -0
- package/schematics/migrations/data/element-selectors.js +1 -9
- package/schematics/migrations/data/index.js +0 -4
- package/schematics/migrations/data/migration-test-data.js +49 -6
- package/schematics/migrations/data/provider-function-removals.js +7 -0
- package/schematics/migrations/data/symbol-removals.js +17 -7
- package/schematics/migrations/data/symbol-renaming.js +3 -44
- package/schematics/migrations/element-migration/element-migration.js +6 -6
- package/schematics/migrations/utilities/component-property-to-child.migration.js +73 -0
- package/schematics/migrations/utilities/css-custom-property.migration.js +51 -0
- package/schematics/migrations/utilities/element-class-change.migration.js +10 -5
- package/schematics/migrations/utilities/import-removal.js +39 -0
- package/schematics/migrations/utilities/index.js +4 -0
- package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
- package/schematics/ng-update/index.js +1 -1
- package/schematics/ng-update/migrate-content-formatter.js +288 -0
- package/schematics/ng-update/migrate-list-details-units.js +86 -0
- package/schematics/ng-update/migrate-main-detail-units.js +89 -0
- package/schematics/ng-update/migrate-markdown-renderer.js +106 -0
- package/schematics/ng-update/migrate-spacers.js +32 -0
- package/schematics/ng-update/migrate-split-collapse.js +276 -0
- package/schematics/ng-update/migrate-split-scale.js +524 -0
- package/schematics/ng-update/migrate-split-sizes.js +107 -0
- package/schematics/ng-update/migrate-to-v51.js +35 -0
- package/schematics/utils/index.js +1 -0
- package/schematics/utils/template-edit-utils.js +35 -0
- package/schematics/utils/template-utils.js +31 -45
- package/source-chip/package.json +4 -0
- package/template-i18n.json +78 -47
- package/types/siemens-element-ng-application-header.d.ts +7 -33
- package/types/siemens-element-ng-avatar.d.ts +1 -1
- package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
- package/types/siemens-element-ng-chat-messages.d.ts +118 -70
- package/types/siemens-element-ng-circle-status.d.ts +1 -1
- package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
- package/types/siemens-element-ng-dashboard.d.ts +2 -2
- package/types/siemens-element-ng-datatable.d.ts +5 -56
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +8 -15
- package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
- package/types/siemens-element-ng-file-uploader.d.ts +13 -31
- package/types/siemens-element-ng-filter-bar.d.ts +1 -1
- package/types/siemens-element-ng-filtered-search.d.ts +4 -4
- package/types/siemens-element-ng-form.d.ts +183 -44
- package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
- package/types/siemens-element-ng-formly.d.ts +34 -167
- package/types/siemens-element-ng-icon.d.ts +2 -19
- package/types/siemens-element-ng-landing-page.d.ts +2 -2
- package/types/siemens-element-ng-list-details.d.ts +25 -3
- package/types/siemens-element-ng-loading-spinner.d.ts +11 -17
- package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
- package/types/siemens-element-ng-maplibre.d.ts +190 -0
- package/types/siemens-element-ng-markdown-directives-tabs.d.ts +10 -0
- package/types/siemens-element-ng-markdown-extensions-citations.d.ts +11 -0
- package/types/siemens-element-ng-markdown-extensions-katex.d.ts +19 -0
- package/types/siemens-element-ng-markdown-extensions-mermaid.d.ts +11 -0
- package/types/siemens-element-ng-markdown-hightlighter-highlightjs.d.ts +48 -0
- package/types/siemens-element-ng-markdown.d.ts +367 -0
- package/types/siemens-element-ng-menu.d.ts +2 -0
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +87 -39
- package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
- package/types/siemens-element-ng-navbar.d.ts +3 -3
- package/types/siemens-element-ng-notification-item.d.ts +12 -0
- package/types/siemens-element-ng-phone-number.d.ts +28 -10
- package/types/siemens-element-ng-photo-upload.d.ts +4 -4
- package/types/siemens-element-ng-resize-observer.d.ts +0 -17
- package/types/siemens-element-ng-search-bar.d.ts +2 -9
- package/types/siemens-element-ng-select.d.ts +32 -5
- package/types/siemens-element-ng-side-panel.d.ts +25 -11
- package/types/siemens-element-ng-source-chip.d.ts +53 -0
- package/types/siemens-element-ng-split.d.ts +101 -78
- package/types/siemens-element-ng-status-bar.d.ts +5 -13
- package/types/siemens-element-ng-status-counter.d.ts +1 -1
- package/types/siemens-element-ng-system-banner.d.ts +2 -2
- package/types/siemens-element-ng-tabs.d.ts +1 -2
- package/types/siemens-element-ng-theme.d.ts +12 -2
- package/types/siemens-element-ng-threshold.d.ts +1 -1
- package/types/siemens-element-ng-toast-notification.d.ts +0 -1
- package/types/siemens-element-ng-tooltip.d.ts +7 -7
- package/types/siemens-element-ng-translate.d.ts +35 -5
- package/types/siemens-element-ng-tree-view.d.ts +3 -0
- package/types/siemens-element-ng-wizard.d.ts +18 -3
- package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +0 -263
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
- package/icon-status/package.json +0 -4
- package/markdown-renderer/package.json +0 -4
- package/schematics/migrations/icon-path-migration/icon-path-migration.js +0 -95
- package/schematics/ng-update/migrate-to-v49.js +0 -21
- package/schematics/vitest-setup.js +0 -5
- package/sort-bar/package.json +0 -4
- package/types/siemens-element-ng-icon-status.d.ts +0 -25
- package/types/siemens-element-ng-markdown-renderer.d.ts +0 -36
- package/types/siemens-element-ng-sort-bar.d.ts +0 -59
- /package/{LICENSE.md → LICENSE} +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { ExtendedStatusType } from '@siemens/element-ng/common';
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { Signal } from '@angular/core';
|
|
4
|
+
import { StyleSpecification } from 'maplibre-gl';
|
|
5
|
+
import * as geojson from 'geojson';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
9
|
+
* SPDX-License-Identifier: MIT
|
|
10
|
+
*/
|
|
11
|
+
/** A point feature consumed by the clustered MapLibre source. */
|
|
12
|
+
type ClusterPoint = GeoJSON.Feature<GeoJSON.Point, GeoJSON.GeoJsonProperties>;
|
|
13
|
+
/**
|
|
14
|
+
* Built-in group palette or exact colors indexed by positive group ID. The `'status'` palette is
|
|
15
|
+
* the four-color palette used for numeric groups; it is separate from status-based bucketing.
|
|
16
|
+
*/
|
|
17
|
+
type ClusterColors = 'status' | 'element' | Record<number, string>;
|
|
18
|
+
/** A rendered color segment and its generated cluster-property name. */
|
|
19
|
+
interface ClusterSegment {
|
|
20
|
+
color: string;
|
|
21
|
+
property: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
26
|
+
* SPDX-License-Identifier: MIT
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/** Status values supported by status markers and cluster status segments. */
|
|
30
|
+
type MarkerStatus = ExtendedStatusType | 'default';
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
34
|
+
* SPDX-License-Identifier: MIT
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Creates a signal that returns a {@link StyleSpecification} for MapLibre GL based on the current
|
|
39
|
+
* Element theme. The signal automatically updates when the theme switches between light and dark.
|
|
40
|
+
*
|
|
41
|
+
* @remarks
|
|
42
|
+
* **Must be called in an Angular injection context** (e.g. inside a constructor, field initializer,
|
|
43
|
+
* or a function called from one). Calling this function outside of an injection context will throw
|
|
44
|
+
* an `assertInInjectionContext` error.
|
|
45
|
+
*
|
|
46
|
+
* @experimental
|
|
47
|
+
*
|
|
48
|
+
* @param key - The MapTiler API key used to fetch tiles, glyphs, and sprites
|
|
49
|
+
* @returns A signal that provides the current {@link StyleSpecification} based on the active theme
|
|
50
|
+
* @throws When called outside of an Angular injection context
|
|
51
|
+
*/
|
|
52
|
+
declare const injectSiMapStyle: (key: string) => Signal<StyleSpecification>;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
56
|
+
* SPDX-License-Identifier: MIT
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
type ClusterProperties = Record<string, ['+', unknown]>;
|
|
60
|
+
/** @internal */
|
|
61
|
+
interface ClusterConfiguration {
|
|
62
|
+
clusterProperties: ClusterProperties;
|
|
63
|
+
segments: readonly ClusterSegment[];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Adds a clustered GeoJSON source to a MapLibre map and renders interactive cluster markers.
|
|
68
|
+
*
|
|
69
|
+
* Cluster markers display the number of contained points and their distribution by group. Status
|
|
70
|
+
* segments can be enabled for ungrouped points by providing `statusProperty`. Render individual,
|
|
71
|
+
* unclustered points separately with `mgl-markers-for-clusters` using the same source ID.
|
|
72
|
+
* Positive numeric groups always take precedence over status segments. Status segments apply only
|
|
73
|
+
* when the normalized group value is zero; points without a matching group or status use the
|
|
74
|
+
* ungrouped color.
|
|
75
|
+
*
|
|
76
|
+
* @example Basic usage
|
|
77
|
+
* ```html
|
|
78
|
+
* <mgl-map [mapStyle]="mapStyle()">
|
|
79
|
+
* <si-cluster-source
|
|
80
|
+
* sourceId="locations"
|
|
81
|
+
* statusProperty="status"
|
|
82
|
+
* [data]="locations"
|
|
83
|
+
* (clusterClick)="onClusterClick($event)"
|
|
84
|
+
* />
|
|
85
|
+
*
|
|
86
|
+
* <mgl-markers-for-clusters source="locations">
|
|
87
|
+
* <ng-template let-feature mglPoint>
|
|
88
|
+
* <si-status-marker
|
|
89
|
+
* [status]="feature.properties?.status"
|
|
90
|
+
* />
|
|
91
|
+
* </ng-template>
|
|
92
|
+
* </mgl-markers-for-clusters>
|
|
93
|
+
* </mgl-map>
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @experimental
|
|
97
|
+
*/
|
|
98
|
+
declare class SiClusterSourceComponent {
|
|
99
|
+
/** ID used to register the generated GeoJSON source in MapLibre. */
|
|
100
|
+
readonly sourceId: _angular_core.InputSignal<string>;
|
|
101
|
+
/**
|
|
102
|
+
* Point feature collection to cluster.
|
|
103
|
+
* @defaultValue EMPTY_DATA
|
|
104
|
+
*/
|
|
105
|
+
readonly data: _angular_core.InputSignal<geojson.FeatureCollection<geojson.Point, geojson.GeoJsonProperties>>;
|
|
106
|
+
/**
|
|
107
|
+
* Feature property containing the positive numeric group ID.
|
|
108
|
+
* @defaultValue 'group'
|
|
109
|
+
*/
|
|
110
|
+
readonly groupProperty: _angular_core.InputSignal<string>;
|
|
111
|
+
/**
|
|
112
|
+
* Built-in palette or exact colors indexed by group ID. The built-in `'status'` palette contains
|
|
113
|
+
* four colors for numeric groups and is separate from status-based bucketing.
|
|
114
|
+
* @defaultValue 'status'
|
|
115
|
+
*/
|
|
116
|
+
readonly groupColors: _angular_core.InputSignal<ClusterColors>;
|
|
117
|
+
/**
|
|
118
|
+
* Top-level feature property containing a {@link MarkerStatus} value. Status bucketing is
|
|
119
|
+
* disabled by default and only applies when the normalized group value is zero. Missing or
|
|
120
|
+
* unsupported status values, and groups that do not match a configured bucket, use the ungrouped
|
|
121
|
+
* color. Built-in colors match `SiStatusMarkerComponent`, with `default` using accent and
|
|
122
|
+
* `unknown` using neutral.
|
|
123
|
+
* @defaultValue undefined
|
|
124
|
+
* @see https://maplibre.org/maplibre-style-spec/sources/#clusterproperties
|
|
125
|
+
*/
|
|
126
|
+
readonly statusProperty: _angular_core.InputSignal<string | undefined>;
|
|
127
|
+
/**
|
|
128
|
+
* Cluster radius in pixels.
|
|
129
|
+
* @defaultValue 50
|
|
130
|
+
*/
|
|
131
|
+
readonly clusterRadius: _angular_core.InputSignal<number>;
|
|
132
|
+
/**
|
|
133
|
+
* Maximum zoom at which points are clustered.
|
|
134
|
+
* @defaultValue undefined
|
|
135
|
+
*/
|
|
136
|
+
readonly clusterMaxZoom: _angular_core.InputSignal<number | undefined>;
|
|
137
|
+
/**
|
|
138
|
+
* Minimum number of points required to form a cluster.
|
|
139
|
+
* @defaultValue 2
|
|
140
|
+
*/
|
|
141
|
+
readonly clusterMinPoints: _angular_core.InputSignal<number>;
|
|
142
|
+
/** Emits when a cluster marker is activated. */
|
|
143
|
+
readonly clusterClick: _angular_core.OutputEmitterRef<ClusterPoint>;
|
|
144
|
+
protected readonly clusterConfiguration: _angular_core.Signal<ClusterConfiguration>;
|
|
145
|
+
/** Stores selection for the projected cluster-popover integration. */
|
|
146
|
+
protected readonly selectedCluster: _angular_core.WritableSignal<ClusterPoint | undefined>;
|
|
147
|
+
protected selectCluster(feature: ClusterPoint): Promise<void>;
|
|
148
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiClusterSourceComponent, never>;
|
|
149
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiClusterSourceComponent, "si-cluster-source", never, { "sourceId": { "alias": "sourceId"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "groupProperty": { "alias": "groupProperty"; "required": false; "isSignal": true; }; "groupColors": { "alias": "groupColors"; "required": false; "isSignal": true; }; "statusProperty": { "alias": "statusProperty"; "required": false; "isSignal": true; }; "clusterRadius": { "alias": "clusterRadius"; "required": false; "isSignal": true; }; "clusterMaxZoom": { "alias": "clusterMaxZoom"; "required": false; "isSignal": true; }; "clusterMinPoints": { "alias": "clusterMinPoints"; "required": false; "isSignal": true; }; }, { "clusterClick": "clusterClick"; }, never, ["si-cluster-popover,[siClusterPopoverOutlet]"], true, never>;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
154
|
+
* SPDX-License-Identifier: MIT
|
|
155
|
+
*/
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Provides translated MapLibre locale strings as an Angular signal. The record uses MapLibre's
|
|
159
|
+
* original locale keys, such as `AttributionControl.ToggleAttribution`, and updates when the
|
|
160
|
+
* active Element language changes.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* @Component({ ... })
|
|
165
|
+
* export class MapComponent {
|
|
166
|
+
* protected readonly mapTranslations = injectSiMapTranslations();
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* ```html
|
|
171
|
+
* <mgl-map [locale]="mapTranslations()" />
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* @returns A signal containing a MapLibre locale record, for example
|
|
175
|
+
* `{ 'AttributionControl.ToggleAttribution': 'Toggle attribution' }`.
|
|
176
|
+
*/
|
|
177
|
+
declare const injectSiMapTranslations: () => Signal<Record<string, string>>;
|
|
178
|
+
|
|
179
|
+
declare class SiStatusMarkerComponent {
|
|
180
|
+
/**
|
|
181
|
+
* The status of the marker.
|
|
182
|
+
* @defaultValue 'default'
|
|
183
|
+
*/
|
|
184
|
+
readonly status: _angular_core.InputSignal<MarkerStatus>;
|
|
185
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiStatusMarkerComponent, never>;
|
|
186
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiStatusMarkerComponent, "si-status-marker", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export { SiClusterSourceComponent, SiStatusMarkerComponent, injectSiMapStyle, injectSiMapTranslations };
|
|
190
|
+
export type { ClusterColors, ClusterPoint, ClusterSegment, MarkerStatus };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SiMarkdownExtension } from '@siemens/element-ng/markdown';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
5
|
+
* SPDX-License-Identifier: MIT
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/** Extension to parse and render source citations. */
|
|
9
|
+
declare const siMarkdownCitations: () => SiMarkdownExtension;
|
|
10
|
+
|
|
11
|
+
export { siMarkdownCitations };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SiMarkdownExtension } from '@siemens/element-ng/markdown';
|
|
2
|
+
import { KatexOptions } from 'katex';
|
|
3
|
+
import { Options } from 'remark-math';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* An extension to render LaTeX math expressions using KaTeX. Uses `remark-math` to parse
|
|
12
|
+
* the expressions inside the markdown document.
|
|
13
|
+
* @param parseOptions - options passed to `remark-math`
|
|
14
|
+
* @param katexOptions - options passed to `katex`
|
|
15
|
+
* @returns extension for `SiMarkdownOption.installExtension()`
|
|
16
|
+
*/
|
|
17
|
+
declare const siMarkdownMathKaTeX: (parseOptions?: Options, katexOptions?: KatexOptions) => SiMarkdownExtension;
|
|
18
|
+
|
|
19
|
+
export { siMarkdownMathKaTeX };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SiMarkdownExtension } from '@siemens/element-ng/markdown';
|
|
2
|
+
import { MermaidConfig } from 'mermaid';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
6
|
+
* SPDX-License-Identifier: MIT
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
declare const siMarkdownMermaid: (options?: MermaidConfig) => SiMarkdownExtension;
|
|
10
|
+
|
|
11
|
+
export { siMarkdownMermaid };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as highlight_js_lib_languages__ from 'highlight.js/lib/languages/*';
|
|
2
|
+
import { HighlightOptions } from 'highlight.js';
|
|
3
|
+
import { SiMarkdownHighlighter } from '@siemens/element-ng/markdown';
|
|
4
|
+
|
|
5
|
+
/** type of a language import */
|
|
6
|
+
type HighlightJSLanguageImport = Promise<typeof highlight_js_lib_languages__ | undefined>;
|
|
7
|
+
/** Language loader */
|
|
8
|
+
type HighlightJSLanguageLoader = (lang: string) => HighlightJSLanguageImport;
|
|
9
|
+
/** Configuration for the Highlight.js highlighter */
|
|
10
|
+
interface SiMarkdownHighlightJsOptions {
|
|
11
|
+
/** Should language be auto-detected? This only works with already loaded languages */
|
|
12
|
+
autoDetectLanguage?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Language loader to load languages lazily.
|
|
15
|
+
* @example
|
|
16
|
+
* ```ts
|
|
17
|
+
* const hljsLanguageLoader = async (lang: string): HighlightJSLanguageImport => {
|
|
18
|
+
* switch (lang) {
|
|
19
|
+
* case 'c':
|
|
20
|
+
* return import('highlight.js/lib/languages/c');
|
|
21
|
+
* case 'cmake':
|
|
22
|
+
* return import('highlight.js/lib/languages/cmake');
|
|
23
|
+
* case 'cpp':
|
|
24
|
+
* return import('highlight.js/lib/languages/cpp');
|
|
25
|
+
* }
|
|
26
|
+
* return undefined;
|
|
27
|
+
* };
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
languageLoader?: HighlightJSLanguageLoader;
|
|
31
|
+
/** options passed to highlight.js */
|
|
32
|
+
highlightJs?: Partial<HighlightOptions>;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
37
|
+
* SPDX-License-Identifier: MIT
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Code highlighter using Highlight.js
|
|
42
|
+
* @param options - Options passed to highlight.js
|
|
43
|
+
* @returns highlighter configuration for `SiMarkdownOptions.setCodeHighlighter()`
|
|
44
|
+
*/
|
|
45
|
+
declare const siMarkdownHighlightJs: (options?: SiMarkdownHighlightJsOptions) => SiMarkdownHighlighter;
|
|
46
|
+
|
|
47
|
+
export { siMarkdownHighlightJs };
|
|
48
|
+
export type { HighlightJSLanguageImport, HighlightJSLanguageLoader, SiMarkdownHighlightJsOptions };
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Type, InputSignal, TemplateRef, InjectionToken, Signal, OutputEmitterRef } from '@angular/core';
|
|
3
|
+
import { SourceReference } from '@siemens/element-ng/source-chip';
|
|
4
|
+
import * as mdast from 'mdast';
|
|
5
|
+
import { Node, Parent, RootContent, FootnoteDefinition, Root, Definition } from 'mdast';
|
|
6
|
+
import { Plugin, Transformer, Preset, PluggableList, Processor } from 'unified';
|
|
7
|
+
import * as _siemens_element_ng_markdown from '@siemens/element-ng/markdown';
|
|
8
|
+
import { StatusType } from '@siemens/element-ng/common';
|
|
9
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate-types';
|
|
10
|
+
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
14
|
+
* SPDX-License-Identifier: MIT
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/** Interface an extension component must implement */
|
|
18
|
+
interface SiMarkdownExtensionComponent {
|
|
19
|
+
/** Node to be rendered */
|
|
20
|
+
node: InputSignal<Node>;
|
|
21
|
+
/** The parent node */
|
|
22
|
+
parent: InputSignal<Parent>;
|
|
23
|
+
/** Options passed to the component */
|
|
24
|
+
options: InputSignal<any>;
|
|
25
|
+
}
|
|
26
|
+
/** Interface a code highlighter component must implement */
|
|
27
|
+
interface SiMarkdownHighlighterComponent {
|
|
28
|
+
/** The code to be highlighted */
|
|
29
|
+
code: InputSignal<string>;
|
|
30
|
+
/** The language */
|
|
31
|
+
language: InputSignal<string>;
|
|
32
|
+
/** Function the highlighter can call to updated the displayed language */
|
|
33
|
+
updateLanguage: InputSignal<(lang?: string) => void>;
|
|
34
|
+
/** Options passed to the component */
|
|
35
|
+
options: InputSignal<any>;
|
|
36
|
+
}
|
|
37
|
+
/** A combination of a component and options passed to it during run-time */
|
|
38
|
+
interface ComponentWithOptions<T> {
|
|
39
|
+
/** The component used to render the node */
|
|
40
|
+
component: Type<T>;
|
|
41
|
+
/** Options passed to the component */
|
|
42
|
+
options?: any;
|
|
43
|
+
}
|
|
44
|
+
/** Type handler for a named type. This can be an AST node type, a code type, a directive name */
|
|
45
|
+
interface TypeHandler extends ComponentWithOptions<SiMarkdownExtensionComponent> {
|
|
46
|
+
/** Type name */
|
|
47
|
+
type: string;
|
|
48
|
+
}
|
|
49
|
+
/** AST node created by `remark-directive`. */
|
|
50
|
+
interface DirectiveNode extends Parent {
|
|
51
|
+
type: 'containerDirective' | 'leafDirective' | 'textDirective';
|
|
52
|
+
/** The directive name without its leading colons. */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Attributes declared on the directive. */
|
|
55
|
+
attributes: Record<string, string | undefined>;
|
|
56
|
+
}
|
|
57
|
+
type SiMarkdownHighlighter = ComponentWithOptions<SiMarkdownHighlighterComponent>;
|
|
58
|
+
type UnifiedPlugin = Plugin<any> | Transformer<any> | Preset | PluggableList;
|
|
59
|
+
type UnifiedPluginOptions = ((meta: SiMarkdownMetadata) => any) | any;
|
|
60
|
+
/** Combination of unified plugin with options */
|
|
61
|
+
interface PluginWithOptions {
|
|
62
|
+
/** The plugin */
|
|
63
|
+
plugin: UnifiedPlugin;
|
|
64
|
+
/** Options passed during plugin registration */
|
|
65
|
+
options?: UnifiedPluginOptions;
|
|
66
|
+
}
|
|
67
|
+
/** An extension to the si-markdown component */
|
|
68
|
+
interface SiMarkdownExtension {
|
|
69
|
+
/** `unified` plugins to install */
|
|
70
|
+
plugins?: PluginWithOptions[];
|
|
71
|
+
/** Type handlers to install */
|
|
72
|
+
types?: TypeHandler[];
|
|
73
|
+
/** Special code type handlers to install */
|
|
74
|
+
codeTypes?: TypeHandler[];
|
|
75
|
+
/** Directives */
|
|
76
|
+
directives?: TypeHandler[];
|
|
77
|
+
}
|
|
78
|
+
/** Citation metadata associated with a markdown response. */
|
|
79
|
+
interface SiMarkdownCitation extends SourceReference {
|
|
80
|
+
/** Identifier referenced by bracket notation, such as `[source-1]`. */
|
|
81
|
+
identifier?: string;
|
|
82
|
+
/** Zero-based, end-exclusive source range of the citation reference in the markdown source. */
|
|
83
|
+
position?: {
|
|
84
|
+
startIndex: number;
|
|
85
|
+
endIndex: number;
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
/** Options passed to makeProcessor() */
|
|
89
|
+
interface SiMarkdownMetadata {
|
|
90
|
+
citations?: SiMarkdownCitation[];
|
|
91
|
+
}
|
|
92
|
+
/** Inline node that references an item in the source citation array. */
|
|
93
|
+
interface Citation extends Node {
|
|
94
|
+
type: 'citation';
|
|
95
|
+
citationIndex: number;
|
|
96
|
+
/** Text replaced by a position-based citation. */
|
|
97
|
+
text?: string;
|
|
98
|
+
}
|
|
99
|
+
/** Container for one or more adjacent citation nodes. */
|
|
100
|
+
interface Citations extends Node {
|
|
101
|
+
type: 'citations';
|
|
102
|
+
children: Citation[];
|
|
103
|
+
}
|
|
104
|
+
/** Extra node for collecting all footnotes */
|
|
105
|
+
interface Footnotes extends Parent {
|
|
106
|
+
type: 'footnotes';
|
|
107
|
+
children: FootnoteDefinition[];
|
|
108
|
+
}
|
|
109
|
+
type ExtendedRootContent = RootContent | Footnotes | Citations | DirectiveNode;
|
|
110
|
+
/** Extended root with references */
|
|
111
|
+
type SiMarkdownRoot = Omit<Root, 'children'> & {
|
|
112
|
+
children: ExtendedRootContent[];
|
|
113
|
+
references?: {
|
|
114
|
+
footnoteDefinitions?: Map<string, FootnoteDefinition>;
|
|
115
|
+
definitions?: Map<string, Definition>;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
121
|
+
* SPDX-License-Identifier: MIT
|
|
122
|
+
*/
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Options for the markdown renderer. This holds all configuration and allows installing
|
|
126
|
+
* extensions. A number of extensions are already ready to use and shipped with Element.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```ts
|
|
130
|
+
* import { siMarkdownMathKaTeX } from '@siemens/element-ng/markdown/extensions/math';
|
|
131
|
+
* import remarkGemoji from 'remark-gemoji';
|
|
132
|
+
*
|
|
133
|
+
* protected markdownOptions = new SiMarkdownOptions()
|
|
134
|
+
* .installExtension(siMarkdownMathKaTeX())
|
|
135
|
+
* .installUnifiedPlugin(remarkGemoji);
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* ```html
|
|
139
|
+
* <si-markdown [markdown]="markdownText()" [options]="markdownOptions" />
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
declare class SiMarkdownOptions {
|
|
143
|
+
private readonly plugins;
|
|
144
|
+
private types;
|
|
145
|
+
private codeTypes;
|
|
146
|
+
private directives;
|
|
147
|
+
private highlighter?;
|
|
148
|
+
constructor();
|
|
149
|
+
/**
|
|
150
|
+
* Installs a plugin into the `unified` chain
|
|
151
|
+
* @param plugin - The `unified` plugin
|
|
152
|
+
* @param options - Options for the plugin
|
|
153
|
+
* @returns self for chaining
|
|
154
|
+
*/
|
|
155
|
+
installUnifiedPlugin(plugin: UnifiedPlugin, options?: UnifiedPluginOptions): SiMarkdownOptions;
|
|
156
|
+
/**
|
|
157
|
+
* Registers a component used to render a named Markdown directive.
|
|
158
|
+
* @param directive - The directive with name and handling component
|
|
159
|
+
* @returns self for chaining
|
|
160
|
+
*/
|
|
161
|
+
registerDirective(directives: TypeHandler | TypeHandler[]): SiMarkdownOptions;
|
|
162
|
+
/**
|
|
163
|
+
* Installs a extension which can contain plugins, type handlers
|
|
164
|
+
* @param extension - The extension definition
|
|
165
|
+
* @returns self for chaining
|
|
166
|
+
*/
|
|
167
|
+
installExtension(extension: SiMarkdownExtension): SiMarkdownOptions;
|
|
168
|
+
/**
|
|
169
|
+
* Sets the code highlighter
|
|
170
|
+
* @param highlighter - The highlighter
|
|
171
|
+
*/
|
|
172
|
+
setCodeHighlighter(highlighter?: SiMarkdownHighlighter): SiMarkdownOptions;
|
|
173
|
+
/**
|
|
174
|
+
* Creates the `unified` processor with all plugins and options
|
|
175
|
+
* @returns `unified` processor
|
|
176
|
+
*/
|
|
177
|
+
makeProcessor(meta: SiMarkdownMetadata): Processor<Root, Root, SiMarkdownRoot, undefined, undefined>;
|
|
178
|
+
/**
|
|
179
|
+
* @returns All type handlers
|
|
180
|
+
*/
|
|
181
|
+
getTypeHandlers(): TypeHandler[];
|
|
182
|
+
/**
|
|
183
|
+
* @returns All code type handlers
|
|
184
|
+
*/
|
|
185
|
+
getCodeTypeHandlers(): Map<string, TypeHandler>;
|
|
186
|
+
/**
|
|
187
|
+
* @returns The highlighter
|
|
188
|
+
*/
|
|
189
|
+
getHighlighter(): SiMarkdownHighlighter | undefined;
|
|
190
|
+
}
|
|
191
|
+
declare const makeSiMarkdownOptions: () => SiMarkdownOptions;
|
|
192
|
+
|
|
193
|
+
/** Directive used to mark a template as a node type for rendering. */
|
|
194
|
+
declare class SiMarkdownTemplateDirective {
|
|
195
|
+
readonly template: TemplateRef<any>;
|
|
196
|
+
/** @defaultValue '#dummy' */
|
|
197
|
+
readonly nodeType: _angular_core.InputSignal<string>;
|
|
198
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiMarkdownTemplateDirective, never>;
|
|
199
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiMarkdownTemplateDirective, "[siMarkdownTemplate]", never, { "nodeType": { "alias": "siMarkdownTemplate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
204
|
+
* SPDX-License-Identifier: MIT
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Token to pass the si-markdown component w/o circular dependencies.
|
|
209
|
+
*/
|
|
210
|
+
declare const SI_MARKDOWN_CONTROL: InjectionToken<SiMarkdownControl>;
|
|
211
|
+
/**
|
|
212
|
+
* Interface of si-markdown exposed to children.
|
|
213
|
+
*/
|
|
214
|
+
interface SiMarkdownControl {
|
|
215
|
+
templates: Signal<Map<string, TemplateRef<any>>>;
|
|
216
|
+
meta: Signal<SiMarkdownMetadata>;
|
|
217
|
+
debug: Signal<boolean>;
|
|
218
|
+
extensionEvent: OutputEmitterRef<{
|
|
219
|
+
name: string;
|
|
220
|
+
data: any;
|
|
221
|
+
}>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Component to display markdown text
|
|
226
|
+
*
|
|
227
|
+
* This component is built using concepts from [ngx-remark](https://github.com/ericleib/ngx-remark),
|
|
228
|
+
* namely using Angular templates to render the AST produced by `remark`.
|
|
229
|
+
*
|
|
230
|
+
* Unlike `ngx-remark`, it features a configuration based approach of extensibility so that multiple
|
|
231
|
+
* instances of the component can be used with the same configuration, e.g. inside a chat component
|
|
232
|
+
* w/o repeating templates.
|
|
233
|
+
*
|
|
234
|
+
* @experimental
|
|
235
|
+
*/
|
|
236
|
+
declare class SiMarkdownComponent implements SiMarkdownControl {
|
|
237
|
+
private static idCounter;
|
|
238
|
+
/**
|
|
239
|
+
* The markdown text to transform and display
|
|
240
|
+
* @defaultValue ''
|
|
241
|
+
*/
|
|
242
|
+
readonly markdown: _angular_core.InputSignal<string>;
|
|
243
|
+
/**
|
|
244
|
+
* Options to control rendering. Can be shared across multiple instances.
|
|
245
|
+
*/
|
|
246
|
+
readonly options: _angular_core.InputSignal<SiMarkdownOptions | undefined>;
|
|
247
|
+
/** Citation metadata used to create citations. */
|
|
248
|
+
readonly citations: _angular_core.InputSignal<SiMarkdownCitation[] | undefined>;
|
|
249
|
+
/**
|
|
250
|
+
* Debug mode. When true, unknown node types will be displayed along with the node
|
|
251
|
+
* as JSON.
|
|
252
|
+
* @defaultValue false
|
|
253
|
+
*/
|
|
254
|
+
readonly debug: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
255
|
+
/** Emitted by extension components. */
|
|
256
|
+
readonly extensionEvent: _angular_core.OutputEmitterRef<{
|
|
257
|
+
name: string;
|
|
258
|
+
data: any;
|
|
259
|
+
}>;
|
|
260
|
+
protected baseId: string;
|
|
261
|
+
protected readonly parsed: _angular_core.Signal<SiMarkdownRoot | undefined>;
|
|
262
|
+
protected readonly templateQuery: _angular_core.Signal<readonly SiMarkdownTemplateDirective[]>;
|
|
263
|
+
protected readonly customTemplateQuery: _angular_core.Signal<readonly SiMarkdownTemplateDirective[]>;
|
|
264
|
+
/** @internal */
|
|
265
|
+
readonly templates: _angular_core.Signal<Map<string, TemplateRef<any>>>;
|
|
266
|
+
/** Gives access to metadata in extension components */
|
|
267
|
+
readonly meta: _angular_core.Signal<SiMarkdownMetadata>;
|
|
268
|
+
private readonly actualOptions;
|
|
269
|
+
protected readonly config: _angular_core.Signal<{
|
|
270
|
+
processor: Processor<Root, Root, SiMarkdownRoot, undefined, undefined>;
|
|
271
|
+
typeHandlers: _siemens_element_ng_markdown.TypeHandler[];
|
|
272
|
+
codeTypeHandlers: Map<string, _siemens_element_ng_markdown.TypeHandler>;
|
|
273
|
+
}>;
|
|
274
|
+
private parseMarkdown;
|
|
275
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiMarkdownComponent, never>;
|
|
276
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiMarkdownComponent, "si-markdown", never, { "markdown": { "alias": "markdown"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "citations": { "alias": "citations"; "required": false; "isSignal": true; }; "debug": { "alias": "debug"; "required": false; "isSignal": true; }; }, { "extensionEvent": "extensionEvent"; }, ["customTemplateQuery"], never, true, never>;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Renders a fragment of markdown based on the children of a single node in the AST.
|
|
281
|
+
*/
|
|
282
|
+
declare class SiMarkdownFragmentComponent {
|
|
283
|
+
protected readonly control: _siemens_element_ng_markdown.SiMarkdownControl;
|
|
284
|
+
/** The node for which to render all children */
|
|
285
|
+
readonly node: _angular_core.InputSignal<Node>;
|
|
286
|
+
/** all the children of the node */
|
|
287
|
+
readonly children: _angular_core.Signal<mdast.RootContent[]>;
|
|
288
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiMarkdownFragmentComponent, never>;
|
|
289
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiMarkdownFragmentComponent, "si-markdown-fragment, [siMarkdownFragment]", never, { "node": { "alias": "siMarkdownFragment"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
type CalloutType = 'success' | 'info' | 'warning' | 'danger' | 'caution' | 'critical' | 'note' | 'tip';
|
|
293
|
+
interface Callout {
|
|
294
|
+
label?: TranslatableString;
|
|
295
|
+
severity: StatusType;
|
|
296
|
+
icon?: string;
|
|
297
|
+
color?: string;
|
|
298
|
+
}
|
|
299
|
+
declare class SiMarkdownCalloutComponent implements SiMarkdownExtensionComponent {
|
|
300
|
+
private readonly statusIcons;
|
|
301
|
+
readonly node: _angular_core.InputSignal<Node>;
|
|
302
|
+
readonly parent: _angular_core.InputSignal<Parent>;
|
|
303
|
+
readonly options: _angular_core.InputSignal<unknown>;
|
|
304
|
+
readonly icons: Record<"elementLightOn", string>;
|
|
305
|
+
readonly callouts: Record<CalloutType, Callout>;
|
|
306
|
+
protected readonly config: _angular_core.Signal<{
|
|
307
|
+
callout: Callout;
|
|
308
|
+
heading: string | undefined;
|
|
309
|
+
}>;
|
|
310
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiMarkdownCalloutComponent, never>;
|
|
311
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiMarkdownCalloutComponent, "si-markdown-callout", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "parent": { "alias": "parent"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
316
|
+
* SPDX-License-Identifier: MIT
|
|
317
|
+
*/
|
|
318
|
+
|
|
319
|
+
/** Installs component rendering for directives parsed by `remark-directive`. */
|
|
320
|
+
declare const siMarkdownDirective: (directives: ReadonlyMap<string, TypeHandler>) => SiMarkdownExtension;
|
|
321
|
+
|
|
322
|
+
declare class SiMarkdownInlineHtmlComponent implements SiMarkdownExtensionComponent {
|
|
323
|
+
private readonly sanitizer;
|
|
324
|
+
readonly node: _angular_core.InputSignal<Node>;
|
|
325
|
+
readonly parent: _angular_core.InputSignal<Parent>;
|
|
326
|
+
readonly options: _angular_core.InputSignal<any>;
|
|
327
|
+
private readonly html;
|
|
328
|
+
protected readonly sanitized: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
329
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiMarkdownInlineHtmlComponent, never>;
|
|
330
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiMarkdownInlineHtmlComponent, "si-markdown-inline-html", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "parent": { "alias": "parent"; "required": true; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
335
|
+
* SPDX-License-Identifier: MIT
|
|
336
|
+
*/
|
|
337
|
+
|
|
338
|
+
/** Options for `computedAsync()` */
|
|
339
|
+
interface ComputedAsyncOptions<T, R> {
|
|
340
|
+
/** Params function, params will be passed to the `computation` function. This is tracked. */
|
|
341
|
+
params: () => R;
|
|
342
|
+
/** Computation function. This is `untracked()`, params from the `params` function are passed */
|
|
343
|
+
computation: (params: R) => Promise<T>;
|
|
344
|
+
/** Initial value of the `computedAsync` signal. */
|
|
345
|
+
initial: T;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* Computed value, but async. This exists because the `resource()` API is not suitable. During
|
|
349
|
+
* loading, the value changes to `undefined`. The proposed solution of resource snapshots and
|
|
350
|
+
* a `withPreviousValue()` function that uses `resourceFromSnapshots()` isn't suitable either
|
|
351
|
+
* because it's experimental.
|
|
352
|
+
*
|
|
353
|
+
* @param options - the options
|
|
354
|
+
* @returns readonly signal
|
|
355
|
+
*/
|
|
356
|
+
declare const computedAsync: <T, R>(options: ComputedAsyncOptions<T, R>) => Signal<T>;
|
|
357
|
+
/**
|
|
358
|
+
* A readonly throttled version of a signal. Emits at most every `interval` milliseconds
|
|
359
|
+
* @param source - the source signal
|
|
360
|
+
* @param interval - the interval
|
|
361
|
+
* @param immediatelyEmitFirstChange - immediately emit the first change
|
|
362
|
+
* @returns A readonly signal
|
|
363
|
+
*/
|
|
364
|
+
declare const throttledSignal: <T>(source: Signal<T>, interval: number, immediatelyEmitFirstChange?: boolean) => Signal<T>;
|
|
365
|
+
|
|
366
|
+
export { SI_MARKDOWN_CONTROL, SiMarkdownCalloutComponent, SiMarkdownComponent, SiMarkdownFragmentComponent, SiMarkdownInlineHtmlComponent, SiMarkdownOptions, SiMarkdownTemplateDirective, computedAsync, makeSiMarkdownOptions, siMarkdownDirective, throttledSignal };
|
|
367
|
+
export type { Citation, Citations, ComponentWithOptions, ComputedAsyncOptions, DirectiveNode, ExtendedRootContent, Footnotes, PluginWithOptions, SiMarkdownCitation, SiMarkdownControl, SiMarkdownExtension, SiMarkdownExtensionComponent, SiMarkdownHighlighter, SiMarkdownHighlighterComponent, SiMarkdownMetadata, SiMarkdownRoot, TypeHandler, UnifiedPlugin, UnifiedPluginOptions };
|
|
@@ -160,6 +160,7 @@ declare abstract class SiMenuItemBase {
|
|
|
160
160
|
* @defaultValue false
|
|
161
161
|
*/
|
|
162
162
|
readonly disabled: i0.InputSignalWithTransform<boolean, unknown>;
|
|
163
|
+
protected readonly isInBar: boolean;
|
|
163
164
|
protected readonly badgeDotHasContent: i0.Signal<boolean>;
|
|
164
165
|
static ɵfac: i0.ɵɵFactoryDeclaration<SiMenuItemBase, never>;
|
|
165
166
|
static ɵdir: i0.ɵɵDirectiveDeclaration<SiMenuItemBase, never, never, { "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeColor": { "alias": "badgeColor"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconBadgeDot": { "alias": "iconBadgeDot"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -178,6 +179,7 @@ declare class SiMenuItemComponent extends SiMenuItemBase {
|
|
|
178
179
|
private menuTrigger;
|
|
179
180
|
protected readonly icons: Record<"elementRight2", string>;
|
|
180
181
|
protected get hasSubmenu(): boolean;
|
|
182
|
+
protected get isExpanded(): boolean | undefined;
|
|
181
183
|
static ɵfac: i0.ɵɵFactoryDeclaration<SiMenuItemComponent, never>;
|
|
182
184
|
static ɵcmp: i0.ɵɵComponentDeclaration<SiMenuItemComponent, "si-menu-item, a[si-menu-item], button[si-menu-item]", never, {}, {}, never, ["*", ".end"], true, [{ directive: typeof i1.CdkMenuItem; inputs: { "cdkMenuItemDisabled": "disabled"; }; outputs: { "cdkMenuItemTriggered": "triggered"; }; }]>;
|
|
183
185
|
}
|