@siemens/element-ng 51.0.0-rc.8 → 51.0.0
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/fesm2022/siemens-element-ng-ag-grid.mjs +17 -25
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +2 -2
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +3 -3
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +123 -23
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +18 -18
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +2 -2
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +4 -4
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +2 -2
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +4 -4
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +2 -2
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +2 -2
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +19 -6
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +4 -4
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +2 -2
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +4 -4
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +62 -16
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +72 -24
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-maplibre.mjs +282 -6
- package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs +2 -2
- package/fesm2022/siemens-element-ng-markdown-hightlighter-highlightjs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +6 -6
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +6 -6
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +4 -4
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +2 -2
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +44 -5
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +48 -13
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +2 -2
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-source-chip.mjs +2 -2
- package/fesm2022/siemens-element-ng-source-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +18 -16
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +5 -5
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +93 -71
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +2 -2
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +2 -2
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +4 -4
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/package.json +4 -4
- package/schematics/collection.json +5 -0
- package/schematics/migrate-tabs-legacy/index.js +5 -0
- package/schematics/migrate-tabs-legacy/migrate-tabs-legacy-rule.js +675 -0
- package/schematics/migrate-tabs-legacy/schema.json +14 -0
- package/schematics/migrations/data/css-custom-properties.js +67 -1
- package/schematics/migrations/data/element-class-changes.js +31 -12
- 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-split-collapse.js +1 -32
- package/schematics/ng-update/migrate-split-scale.js +524 -0
- package/schematics/ng-update/migrate-split-sizes.js +5 -3
- package/schematics/ng-update/migrate-to-v51.js +6 -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/template-i18n.json +1 -0
- package/types/siemens-element-ng-avatar.d.ts +1 -1
- package/types/siemens-element-ng-chat-messages.d.ts +81 -17
- package/types/siemens-element-ng-form.d.ts +3 -0
- package/types/siemens-element-ng-list-details.d.ts +25 -3
- package/types/siemens-element-ng-main-detail-container.d.ts +23 -3
- package/types/siemens-element-ng-maplibre.d.ts +131 -7
- package/types/siemens-element-ng-select.d.ts +31 -4
- package/types/siemens-element-ng-side-panel.d.ts +17 -3
- package/types/siemens-element-ng-split.d.ts +3 -10
- package/types/siemens-element-ng-system-banner.d.ts +2 -2
- package/types/siemens-element-ng-translate.d.ts +1 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { assertInInjectionContext, computed, input, Component } from '@angular/core';
|
|
2
|
+
import { assertInInjectionContext, computed, input, output, Component, signal } from '@angular/core';
|
|
3
3
|
import { injectIsDarkTheme } from '@siemens/element-ng/theme';
|
|
4
4
|
import { siMapStyle } from '@siemens/map-styles/common';
|
|
5
|
+
import { ClusterPointDirective, GeoJSONSourceComponent, MarkersForClustersComponent } from '@maplibre/ngx-maplibre-gl';
|
|
6
|
+
import { t, SiTranslatePipe, injectSiTranslateService } from '@siemens/element-translate-ng/translate';
|
|
5
7
|
import { toSignal } from '@angular/core/rxjs-interop';
|
|
6
|
-
import { t, injectSiTranslateService } from '@siemens/element-translate-ng/translate';
|
|
7
8
|
import { map } from 'rxjs';
|
|
8
9
|
|
|
9
10
|
/**
|
|
@@ -33,6 +34,281 @@ const injectSiMapStyle = (key) => {
|
|
|
33
34
|
});
|
|
34
35
|
};
|
|
35
36
|
|
|
37
|
+
const MARKER_STATUS_COLORS = {
|
|
38
|
+
info: 'var(--si-sys-background-information)',
|
|
39
|
+
success: 'var(--si-sys-background-success)',
|
|
40
|
+
warning: 'var(--si-sys-background-warning)',
|
|
41
|
+
danger: 'var(--si-sys-background-danger)',
|
|
42
|
+
caution: 'var(--si-sys-background-caution)',
|
|
43
|
+
critical: 'var(--si-sys-background-critical)',
|
|
44
|
+
default: 'var(--si-sys-background-accent)',
|
|
45
|
+
unknown: 'var(--si-sys-background-neutral)'
|
|
46
|
+
};
|
|
47
|
+
// Keep the four-color status palette stable for numeric group IDs.
|
|
48
|
+
const GROUP_STATUS_COLORS = [
|
|
49
|
+
MARKER_STATUS_COLORS.info,
|
|
50
|
+
MARKER_STATUS_COLORS.success,
|
|
51
|
+
MARKER_STATUS_COLORS.warning,
|
|
52
|
+
MARKER_STATUS_COLORS.danger
|
|
53
|
+
];
|
|
54
|
+
const ELEMENT_COLORS = [
|
|
55
|
+
'var(--si-sys-data-sequential-red-2)',
|
|
56
|
+
'var(--si-sys-data-sequential-orange-4)',
|
|
57
|
+
'var(--si-sys-background-caution)',
|
|
58
|
+
'var(--si-sys-data-sequential-green-2)',
|
|
59
|
+
'var(--si-sys-background-information)',
|
|
60
|
+
'var(--si-sys-data-categorial-1)',
|
|
61
|
+
'var(--si-sys-data-categorial-17)'
|
|
62
|
+
];
|
|
63
|
+
const UNGROUPED_COLOR = 'var(--si-sys-background-accent)';
|
|
64
|
+
const SEPARATOR_COLOR = 'var(--si-sys-background-1)';
|
|
65
|
+
const CHART_FRAGMENTS = 20;
|
|
66
|
+
const SEPARATOR_DEGREES = 2;
|
|
67
|
+
/** @internal */
|
|
68
|
+
const createClusterConfiguration = (groupColors, groupProperty, statusProperty) => {
|
|
69
|
+
const group = ['to-number', ['get', groupProperty], 0];
|
|
70
|
+
let buckets;
|
|
71
|
+
if (typeof groupColors === 'string') {
|
|
72
|
+
const colors = groupColors === 'status' ? GROUP_STATUS_COLORS : ELEMENT_COLORS;
|
|
73
|
+
buckets = colors.map((color, index) => ({
|
|
74
|
+
color,
|
|
75
|
+
mapExpression: [
|
|
76
|
+
'case',
|
|
77
|
+
['all', ['>', group, 0], ['==', ['%', ['-', group, 1], colors.length], index]],
|
|
78
|
+
1,
|
|
79
|
+
0
|
|
80
|
+
],
|
|
81
|
+
property: `si_group_${index}`
|
|
82
|
+
}));
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
buckets = Object.entries(groupColors)
|
|
86
|
+
.map(([groupId, color]) => ({ color, groupId: Number(groupId) }))
|
|
87
|
+
.filter(bucket => Number.isInteger(bucket.groupId) && bucket.groupId > 0)
|
|
88
|
+
.sort((a, b) => a.groupId - b.groupId)
|
|
89
|
+
.map(bucket => ({
|
|
90
|
+
color: bucket.color,
|
|
91
|
+
mapExpression: ['case', ['==', group, bucket.groupId], 1, 0],
|
|
92
|
+
property: `si_group_${bucket.groupId}`
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
if (statusProperty !== undefined) {
|
|
96
|
+
for (const [status, color] of Object.entries(MARKER_STATUS_COLORS)) {
|
|
97
|
+
buckets.push({
|
|
98
|
+
color,
|
|
99
|
+
mapExpression: [
|
|
100
|
+
'case',
|
|
101
|
+
['all', ['==', group, 0], ['==', ['get', statusProperty], status]],
|
|
102
|
+
1,
|
|
103
|
+
0
|
|
104
|
+
],
|
|
105
|
+
property: `si_status_${status}`
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
clusterProperties: Object.fromEntries(buckets.map(bucket => [bucket.property, ['+', bucket.mapExpression]])),
|
|
111
|
+
segments: buckets.map(({ color, property }) => ({ color, property }))
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
/** @internal */
|
|
115
|
+
const createClusterGradient = (feature, configuredSegments) => {
|
|
116
|
+
const count = getNumberProperty(feature, 'point_count');
|
|
117
|
+
const segments = configuredSegments
|
|
118
|
+
.map(segment => ({
|
|
119
|
+
color: segment.color,
|
|
120
|
+
count: getNumberProperty(feature, segment.property)
|
|
121
|
+
}))
|
|
122
|
+
.filter(segment => segment.count > 0);
|
|
123
|
+
const groupedCount = segments.reduce((sum, segment) => sum + segment.count, 0);
|
|
124
|
+
if (groupedCount < count) {
|
|
125
|
+
segments.push({ color: UNGROUPED_COLOR, count: count - groupedCount });
|
|
126
|
+
}
|
|
127
|
+
if (!segments.length) {
|
|
128
|
+
return UNGROUPED_COLOR;
|
|
129
|
+
}
|
|
130
|
+
const fragmentSize = count / CHART_FRAGMENTS;
|
|
131
|
+
const weightedSegments = segments.map(segment => ({
|
|
132
|
+
...segment,
|
|
133
|
+
weight: Math.max(1, segment.count / fragmentSize)
|
|
134
|
+
}));
|
|
135
|
+
const totalWeight = weightedSegments.reduce((sum, segment) => sum + segment.weight, 0);
|
|
136
|
+
const separator = weightedSegments.length > 1 ? Math.min(SEPARATOR_DEGREES, 180 / totalWeight) : 0;
|
|
137
|
+
let position = 0;
|
|
138
|
+
const stops = [];
|
|
139
|
+
for (const segment of weightedSegments) {
|
|
140
|
+
const start = position;
|
|
141
|
+
position += (segment.weight / totalWeight) * 360;
|
|
142
|
+
if (separator) {
|
|
143
|
+
stops.push(`${SEPARATOR_COLOR} ${start}deg ${start + separator / 2}deg`, `${segment.color} ${start + separator / 2}deg ${position - separator / 2}deg`, `${SEPARATOR_COLOR} ${position - separator / 2}deg ${position}deg`);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
stops.push(`${segment.color} ${start}deg ${position}deg`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return `conic-gradient(from -90deg, ${stops.join(', ')})`;
|
|
150
|
+
};
|
|
151
|
+
const getNumberProperty = (feature, property) => {
|
|
152
|
+
const value = feature.properties?.[property];
|
|
153
|
+
return typeof value === 'number' ? value : Number(value) || 0;
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
158
|
+
* SPDX-License-Identifier: MIT
|
|
159
|
+
*/
|
|
160
|
+
/**
|
|
161
|
+
* Renders an interactive marker for a MapLibre cluster.
|
|
162
|
+
*
|
|
163
|
+
* The marker displays the total number of clustered points and visualizes their group distribution
|
|
164
|
+
* as colored segments. It is created internally by `SiClusterSourceComponent`.
|
|
165
|
+
*
|
|
166
|
+
* @internal
|
|
167
|
+
*/
|
|
168
|
+
class SiClusterMarkerComponent {
|
|
169
|
+
/** Cluster feature represented by this marker. */
|
|
170
|
+
feature = input.required(/* @ts-ignore */
|
|
171
|
+
...(ngDevMode ? [{ debugName: "feature" }] : /* istanbul ignore next */ []));
|
|
172
|
+
/** Colored segments that represent the grouped points in the cluster. */
|
|
173
|
+
segments = input.required(/* @ts-ignore */
|
|
174
|
+
...(ngDevMode ? [{ debugName: "segments" }] : /* istanbul ignore next */ []));
|
|
175
|
+
/** Emits when the marker is activated. */
|
|
176
|
+
markerClick = output();
|
|
177
|
+
count = computed(() => Number(this.feature().properties?.point_count) || 0, /* @ts-ignore */
|
|
178
|
+
...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
|
|
179
|
+
countLabel = computed(() => (this.count() > 99 ? '99+' : `${this.count()}`), /* @ts-ignore */
|
|
180
|
+
...(ngDevMode ? [{ debugName: "countLabel" }] : /* istanbul ignore next */ []));
|
|
181
|
+
clusterLabel = t(() => $localize `:@@SI_MAP_CLUSTER.LABEL:Cluster with {{count}} locations`);
|
|
182
|
+
gradient = computed(() => createClusterGradient(this.feature(), this.segments()), /* @ts-ignore */
|
|
183
|
+
...(ngDevMode ? [{ debugName: "gradient" }] : /* istanbul ignore next */ []));
|
|
184
|
+
onClick(event) {
|
|
185
|
+
event.stopPropagation();
|
|
186
|
+
this.markerClick.emit();
|
|
187
|
+
}
|
|
188
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiClusterMarkerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
189
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiClusterMarkerComponent, isStandalone: true, selector: "si-cluster-marker", inputs: { feature: { classPropertyName: "feature", publicName: "feature", isSignal: true, isRequired: true, transformFunction: null }, segments: { classPropertyName: "segments", publicName: "segments", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { markerClick: "markerClick" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"cluster-marker\"\n [attr.aria-label]=\"clusterLabel | translate: { count: count() }\"\n [style.--si-cluster-gradient]=\"gradient()\"\n (click)=\"onClick($event)\"\n>\n <span class=\"cluster-count\" aria-hidden=\"true\">{{ countLabel() }}</span>\n</button>\n", styles: [":host{display:block}.cluster-marker{position:relative;display:flex;inline-size:46px;block-size:46px;align-items:center;justify-content:center;padding:0;border:3px solid var(--si-sys-background-1);border-radius:50%;background:var(--si-cluster-gradient);color:var(--si-sys-text-primary);cursor:pointer}.cluster-marker:before{position:absolute;inset:20%;border-radius:50%;background:var(--si-sys-background-1);content:\"\"}.cluster-marker:focus-visible{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.cluster-count{position:relative;font-family:SiemensSans Pro VF,SiemensSans Pro,helvetica,arial,sans-serif;font-size:13px;font-weight:700;line-height:1}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
190
|
+
}
|
|
191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiClusterMarkerComponent, decorators: [{
|
|
192
|
+
type: Component,
|
|
193
|
+
args: [{ selector: 'si-cluster-marker', imports: [SiTranslatePipe], template: "<button\n type=\"button\"\n class=\"cluster-marker\"\n [attr.aria-label]=\"clusterLabel | translate: { count: count() }\"\n [style.--si-cluster-gradient]=\"gradient()\"\n (click)=\"onClick($event)\"\n>\n <span class=\"cluster-count\" aria-hidden=\"true\">{{ countLabel() }}</span>\n</button>\n", styles: [":host{display:block}.cluster-marker{position:relative;display:flex;inline-size:46px;block-size:46px;align-items:center;justify-content:center;padding:0;border:3px solid var(--si-sys-background-1);border-radius:50%;background:var(--si-cluster-gradient);color:var(--si-sys-text-primary);cursor:pointer}.cluster-marker:before{position:absolute;inset:20%;border-radius:50%;background:var(--si-sys-background-1);content:\"\"}.cluster-marker:focus-visible{outline:var(--element-button-focus-width) solid var(--si-sys-effects-focus);outline-offset:var(--element-button-focus-overlay-width)}.cluster-count{position:relative;font-family:SiemensSans Pro VF,SiemensSans Pro,helvetica,arial,sans-serif;font-size:13px;font-weight:700;line-height:1}\n"] }]
|
|
194
|
+
}], propDecorators: { feature: [{ type: i0.Input, args: [{ isSignal: true, alias: "feature", required: true }] }], segments: [{ type: i0.Input, args: [{ isSignal: true, alias: "segments", required: true }] }], markerClick: [{ type: i0.Output, args: ["markerClick"] }] } });
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
198
|
+
* SPDX-License-Identifier: MIT
|
|
199
|
+
*/
|
|
200
|
+
const EMPTY_DATA = {
|
|
201
|
+
type: 'FeatureCollection',
|
|
202
|
+
features: []
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* Adds a clustered GeoJSON source to a MapLibre map and renders interactive cluster markers.
|
|
206
|
+
*
|
|
207
|
+
* Cluster markers display the number of contained points and their distribution by group. Status
|
|
208
|
+
* segments can be enabled for ungrouped points by providing `statusProperty`. Render individual,
|
|
209
|
+
* unclustered points separately with `mgl-markers-for-clusters` using the same source ID.
|
|
210
|
+
* Positive numeric groups always take precedence over status segments. Status segments apply only
|
|
211
|
+
* when the normalized group value is zero; points without a matching group or status use the
|
|
212
|
+
* ungrouped color.
|
|
213
|
+
*
|
|
214
|
+
* @example Basic usage
|
|
215
|
+
* ```html
|
|
216
|
+
* <mgl-map [mapStyle]="mapStyle()">
|
|
217
|
+
* <si-cluster-source
|
|
218
|
+
* sourceId="locations"
|
|
219
|
+
* statusProperty="status"
|
|
220
|
+
* [data]="locations"
|
|
221
|
+
* (clusterClick)="onClusterClick($event)"
|
|
222
|
+
* />
|
|
223
|
+
*
|
|
224
|
+
* <mgl-markers-for-clusters source="locations">
|
|
225
|
+
* <ng-template let-feature mglPoint>
|
|
226
|
+
* <si-status-marker
|
|
227
|
+
* [status]="feature.properties?.status"
|
|
228
|
+
* />
|
|
229
|
+
* </ng-template>
|
|
230
|
+
* </mgl-markers-for-clusters>
|
|
231
|
+
* </mgl-map>
|
|
232
|
+
* ```
|
|
233
|
+
*
|
|
234
|
+
* @experimental
|
|
235
|
+
*/
|
|
236
|
+
class SiClusterSourceComponent {
|
|
237
|
+
/** ID used to register the generated GeoJSON source in MapLibre. */
|
|
238
|
+
sourceId = input.required(/* @ts-ignore */
|
|
239
|
+
...(ngDevMode ? [{ debugName: "sourceId" }] : /* istanbul ignore next */ []));
|
|
240
|
+
/**
|
|
241
|
+
* Point feature collection to cluster.
|
|
242
|
+
* @defaultValue EMPTY_DATA
|
|
243
|
+
*/
|
|
244
|
+
data = input(EMPTY_DATA, /* @ts-ignore */
|
|
245
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
246
|
+
/**
|
|
247
|
+
* Feature property containing the positive numeric group ID.
|
|
248
|
+
* @defaultValue 'group'
|
|
249
|
+
*/
|
|
250
|
+
groupProperty = input('group', /* @ts-ignore */
|
|
251
|
+
...(ngDevMode ? [{ debugName: "groupProperty" }] : /* istanbul ignore next */ []));
|
|
252
|
+
/**
|
|
253
|
+
* Built-in palette or exact colors indexed by group ID. The built-in `'status'` palette contains
|
|
254
|
+
* four colors for numeric groups and is separate from status-based bucketing.
|
|
255
|
+
* @defaultValue 'status'
|
|
256
|
+
*/
|
|
257
|
+
groupColors = input('status', /* @ts-ignore */
|
|
258
|
+
...(ngDevMode ? [{ debugName: "groupColors" }] : /* istanbul ignore next */ []));
|
|
259
|
+
/**
|
|
260
|
+
* Top-level feature property containing a {@link MarkerStatus} value. Status bucketing is
|
|
261
|
+
* disabled by default and only applies when the normalized group value is zero. Missing or
|
|
262
|
+
* unsupported status values, and groups that do not match a configured bucket, use the ungrouped
|
|
263
|
+
* color. Built-in colors match `SiStatusMarkerComponent`, with `default` using accent and
|
|
264
|
+
* `unknown` using neutral.
|
|
265
|
+
* @defaultValue undefined
|
|
266
|
+
* @see https://maplibre.org/maplibre-style-spec/sources/#clusterproperties
|
|
267
|
+
*/
|
|
268
|
+
statusProperty = input(/* @ts-ignore */
|
|
269
|
+
...(ngDevMode ? [undefined, { debugName: "statusProperty" }] : /* istanbul ignore next */ []));
|
|
270
|
+
/**
|
|
271
|
+
* Cluster radius in pixels.
|
|
272
|
+
* @defaultValue 50
|
|
273
|
+
*/
|
|
274
|
+
clusterRadius = input(50, /* @ts-ignore */
|
|
275
|
+
...(ngDevMode ? [{ debugName: "clusterRadius" }] : /* istanbul ignore next */ []));
|
|
276
|
+
/**
|
|
277
|
+
* Maximum zoom at which points are clustered.
|
|
278
|
+
* @defaultValue undefined
|
|
279
|
+
*/
|
|
280
|
+
clusterMaxZoom = input(undefined, /* @ts-ignore */
|
|
281
|
+
...(ngDevMode ? [{ debugName: "clusterMaxZoom" }] : /* istanbul ignore next */ []));
|
|
282
|
+
/**
|
|
283
|
+
* Minimum number of points required to form a cluster.
|
|
284
|
+
* @defaultValue 2
|
|
285
|
+
*/
|
|
286
|
+
clusterMinPoints = input(2, /* @ts-ignore */
|
|
287
|
+
...(ngDevMode ? [{ debugName: "clusterMinPoints" }] : /* istanbul ignore next */ []));
|
|
288
|
+
/** Emits when a cluster marker is activated. */
|
|
289
|
+
clusterClick = output();
|
|
290
|
+
clusterConfiguration = computed(() => createClusterConfiguration(this.groupColors(), this.groupProperty(), this.statusProperty()), /* @ts-ignore */
|
|
291
|
+
...(ngDevMode ? [{ debugName: "clusterConfiguration" }] : /* istanbul ignore next */ []));
|
|
292
|
+
/** Stores selection for the projected cluster-popover integration. */
|
|
293
|
+
selectedCluster = signal(undefined, /* @ts-ignore */
|
|
294
|
+
...(ngDevMode ? [{ debugName: "selectedCluster" }] : /* istanbul ignore next */ []));
|
|
295
|
+
async selectCluster(feature) {
|
|
296
|
+
this.clusterClick.emit(feature);
|
|
297
|
+
this.selectedCluster.set({ ...feature, geometry: feature.geometry });
|
|
298
|
+
}
|
|
299
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiClusterSourceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
300
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: SiClusterSourceComponent, isStandalone: true, selector: "si-cluster-source", inputs: { sourceId: { classPropertyName: "sourceId", publicName: "sourceId", isSignal: true, isRequired: true, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, groupProperty: { classPropertyName: "groupProperty", publicName: "groupProperty", isSignal: true, isRequired: false, transformFunction: null }, groupColors: { classPropertyName: "groupColors", publicName: "groupColors", isSignal: true, isRequired: false, transformFunction: null }, statusProperty: { classPropertyName: "statusProperty", publicName: "statusProperty", isSignal: true, isRequired: false, transformFunction: null }, clusterRadius: { classPropertyName: "clusterRadius", publicName: "clusterRadius", isSignal: true, isRequired: false, transformFunction: null }, clusterMaxZoom: { classPropertyName: "clusterMaxZoom", publicName: "clusterMaxZoom", isSignal: true, isRequired: false, transformFunction: null }, clusterMinPoints: { classPropertyName: "clusterMinPoints", publicName: "clusterMinPoints", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { clusterClick: "clusterClick" }, ngImport: i0, template: "<mgl-geojson-source\n #source\n [id]=\"sourceId()\"\n [data]=\"data()\"\n [cluster]=\"true\"\n [clusterRadius]=\"clusterRadius()\"\n [clusterMaxZoom]=\"clusterMaxZoom()\"\n [clusterMinPoints]=\"clusterMinPoints()\"\n [clusterProperties]=\"clusterConfiguration().clusterProperties\"\n/>\n\n<mgl-markers-for-clusters [source]=\"sourceId()\">\n <ng-template let-feature mglClusterPoint>\n <si-cluster-marker\n [feature]=\"feature\"\n [segments]=\"clusterConfiguration().segments\"\n (markerClick)=\"selectCluster(feature)\"\n />\n </ng-template>\n</mgl-markers-for-clusters>\n\n<ng-content select=\"si-cluster-popover,[siClusterPopoverOutlet]\" />\n", dependencies: [{ kind: "directive", type: ClusterPointDirective, selector: "ng-template[mglClusterPoint]" }, { kind: "component", type: GeoJSONSourceComponent, selector: "mgl-geojson-source", inputs: ["data", "maxzoom", "attribution", "buffer", "tolerance", "cluster", "clusterRadius", "clusterMaxZoom", "clusterMinPoints", "clusterProperties", "lineMetrics", "generateId", "promoteId", "filter"] }, { kind: "component", type: MarkersForClustersComponent, selector: "mgl-markers-for-clusters", inputs: ["source"] }, { kind: "component", type: SiClusterMarkerComponent, selector: "si-cluster-marker", inputs: ["feature", "segments"], outputs: ["markerClick"] }] });
|
|
301
|
+
}
|
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiClusterSourceComponent, decorators: [{
|
|
303
|
+
type: Component,
|
|
304
|
+
args: [{ selector: 'si-cluster-source', imports: [
|
|
305
|
+
ClusterPointDirective,
|
|
306
|
+
GeoJSONSourceComponent,
|
|
307
|
+
MarkersForClustersComponent,
|
|
308
|
+
SiClusterMarkerComponent
|
|
309
|
+
], template: "<mgl-geojson-source\n #source\n [id]=\"sourceId()\"\n [data]=\"data()\"\n [cluster]=\"true\"\n [clusterRadius]=\"clusterRadius()\"\n [clusterMaxZoom]=\"clusterMaxZoom()\"\n [clusterMinPoints]=\"clusterMinPoints()\"\n [clusterProperties]=\"clusterConfiguration().clusterProperties\"\n/>\n\n<mgl-markers-for-clusters [source]=\"sourceId()\">\n <ng-template let-feature mglClusterPoint>\n <si-cluster-marker\n [feature]=\"feature\"\n [segments]=\"clusterConfiguration().segments\"\n (markerClick)=\"selectCluster(feature)\"\n />\n </ng-template>\n</mgl-markers-for-clusters>\n\n<ng-content select=\"si-cluster-popover,[siClusterPopoverOutlet]\" />\n" }]
|
|
310
|
+
}], propDecorators: { sourceId: [{ type: i0.Input, args: [{ isSignal: true, alias: "sourceId", required: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], groupProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupProperty", required: false }] }], groupColors: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupColors", required: false }] }], statusProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusProperty", required: false }] }], clusterRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "clusterRadius", required: false }] }], clusterMaxZoom: [{ type: i0.Input, args: [{ isSignal: true, alias: "clusterMaxZoom", required: false }] }], clusterMinPoints: [{ type: i0.Input, args: [{ isSignal: true, alias: "clusterMinPoints", required: false }] }], clusterClick: [{ type: i0.Output, args: ["clusterClick"] }] } });
|
|
311
|
+
|
|
36
312
|
const createDefaultLocale = () => ({
|
|
37
313
|
'AttributionControl.ToggleAttribution': t(() => $localize `:@@SI_MAP.TOGGLE_ATTRIBUTION:Toggle attribution`),
|
|
38
314
|
'AttributionControl.MapFeedback': t(() => $localize `:@@SI_MAP.MAP_FEEDBACK:Map feedback`),
|
|
@@ -102,14 +378,14 @@ class SiStatusMarkerComponent {
|
|
|
102
378
|
status = input('default', /* @ts-ignore */
|
|
103
379
|
...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
|
|
104
380
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiStatusMarkerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiStatusMarkerComponent, isStandalone: true, selector: "si-status-marker", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-status": "status()" }, classAttribute: "si-status-marker" }, ngImport: i0, template: "<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;inline-size:42px;block-size:42px;color:var(--element-ui-3);cursor:pointer}:host[data-status=default]{color:var(--
|
|
381
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiStatusMarkerComponent, isStandalone: true, selector: "si-status-marker", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-status": "status() ?? \"default\"" }, classAttribute: "si-status-marker" }, ngImport: i0, template: "<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;inline-size:42px;block-size:42px;color:var(--element-ui-3);cursor:pointer}:host[data-status=default]{color:var(--si-sys-background-accent)}:host[data-status=success]{color:var(--element-status-success)}:host[data-status=info]{color:var(--element-status-information)}:host[data-status=warning]{color:var(--element-status-warning)}:host[data-status=danger]{color:var(--element-status-danger)}:host[data-status=caution]{color:var(--element-status-caution)}:host[data-status=critical]{color:var(--element-status-critical)}:host svg{display:block;inline-size:100%;block-size:100%}:host .icon{fill:currentColor}:host .middle{fill:var(--element-base-1)}:host .symbol{fill:var(--element-text-primary)}\n"] });
|
|
106
382
|
}
|
|
107
383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiStatusMarkerComponent, decorators: [{
|
|
108
384
|
type: Component,
|
|
109
385
|
args: [{ selector: 'si-status-marker', host: {
|
|
110
386
|
class: 'si-status-marker',
|
|
111
|
-
'[attr.data-status]': 'status()'
|
|
112
|
-
}, template: "<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;inline-size:42px;block-size:42px;color:var(--element-ui-3);cursor:pointer}:host[data-status=default]{color:var(--
|
|
387
|
+
'[attr.data-status]': 'status() ?? "default"'
|
|
388
|
+
}, template: "<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n", styles: [":host{display:block;inline-size:42px;block-size:42px;color:var(--element-ui-3);cursor:pointer}:host[data-status=default]{color:var(--si-sys-background-accent)}:host[data-status=success]{color:var(--element-status-success)}:host[data-status=info]{color:var(--element-status-information)}:host[data-status=warning]{color:var(--element-status-warning)}:host[data-status=danger]{color:var(--element-status-danger)}:host[data-status=caution]{color:var(--element-status-caution)}:host[data-status=critical]{color:var(--element-status-critical)}:host svg{display:block;inline-size:100%;block-size:100%}:host .icon{fill:currentColor}:host .middle{fill:var(--element-base-1)}:host .symbol{fill:var(--element-text-primary)}\n"] }]
|
|
113
389
|
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }] } });
|
|
114
390
|
|
|
115
391
|
/**
|
|
@@ -121,5 +397,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
121
397
|
* Generated bundle index. Do not edit.
|
|
122
398
|
*/
|
|
123
399
|
|
|
124
|
-
export { SiStatusMarkerComponent, injectSiMapStyle, injectSiMapTranslations };
|
|
400
|
+
export { SiClusterSourceComponent, SiStatusMarkerComponent, injectSiMapStyle, injectSiMapTranslations };
|
|
125
401
|
//# sourceMappingURL=siemens-element-ng-maplibre.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-maplibre.mjs","sources":["../../../../projects/element-ng/maplibre/si-maplibre-style.ts","../../../../projects/element-ng/maplibre/si-maplibre-translate.ts","../../../../projects/element-ng/maplibre/si-status-marker.component.ts","../../../../projects/element-ng/maplibre/si-status-marker.component.html","../../../../projects/element-ng/maplibre/index.ts","../../../../projects/element-ng/maplibre/siemens-element-ng-maplibre.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { assertInInjectionContext, computed, Signal } from '@angular/core';\nimport { injectIsDarkTheme } from '@siemens/element-ng/theme';\nimport { siMapStyle } from '@siemens/map-styles/common';\nimport type { StyleSpecification } from 'maplibre-gl';\n\n/**\n * Creates a signal that returns a {@link StyleSpecification} for MapLibre GL based on the current\n * Element theme. The signal automatically updates when the theme switches between light and dark.\n *\n * @remarks\n * **Must be called in an Angular injection context** (e.g. inside a constructor, field initializer,\n * or a function called from one). Calling this function outside of an injection context will throw\n * an `assertInInjectionContext` error.\n *\n * @experimental\n *\n * @param key - The MapTiler API key used to fetch tiles, glyphs, and sprites\n * @returns A signal that provides the current {@link StyleSpecification} based on the active theme\n * @throws When called outside of an Angular injection context\n */\nexport const injectSiMapStyle = (key: string): Signal<StyleSpecification> => {\n assertInInjectionContext(injectSiMapStyle);\n const isDark = injectIsDarkTheme();\n\n return computed(() => {\n return siMapStyle(key, isDark()) as StyleSpecification;\n });\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { injectSiTranslateService, t } from '@siemens/element-translate-ng/translate';\nimport { map } from 'rxjs';\n\nconst createDefaultLocale = (): Record<string, string> => ({\n 'AttributionControl.ToggleAttribution': t(\n () => $localize`:@@SI_MAP.TOGGLE_ATTRIBUTION:Toggle attribution`\n ),\n 'AttributionControl.MapFeedback': t(() => $localize`:@@SI_MAP.MAP_FEEDBACK:Map feedback`),\n 'FullscreenControl.Enter': t(() => $localize`:@@SI_MAP.FULLSCREEN_ENTER:Enter full screen`),\n 'FullscreenControl.Exit': t(() => $localize`:@@SI_MAP.FULLSCREEN_EXIT:Exit full screen`),\n 'GeolocateControl.FindMyLocation': t(\n () => $localize`:@@SI_MAP.FIND_MY_LOCATION:Find my location`\n ),\n 'GeolocateControl.LocationNotAvailable': t(\n () => $localize`:@@SI_MAP.LOCATION_NOT_AVAILABLE:Location not available`\n ),\n 'LogoControl.Title': t(() => $localize`:@@SI_MAP.LOGO_TITLE:MapLibre logo`),\n 'Map.Title': t(() => $localize`:@@SI_MAP.MAP_TITLE:Map`),\n 'Marker.Title': t(() => $localize`:@@SI_MAP.MARKER_TITLE:Map marker`),\n 'NavigationControl.ResetBearing': t(\n () => $localize`:@@SI_MAP.RESET_BEARING:Reset bearing to north`\n ),\n 'NavigationControl.ZoomIn': t(() => $localize`:@@SI_MAP.ZOOM_IN:Zoom in`),\n 'NavigationControl.ZoomOut': t(() => $localize`:@@SI_MAP.ZOOM_OUT:Zoom out`),\n 'Popup.Close': t(() => $localize`:@@SI_MAP.POPUP_CLOSE:Close popup`),\n 'ScaleControl.Feet': t(() => $localize`:@@SI_MAP.SCALE_FEET:ft`),\n 'ScaleControl.Meters': t(() => $localize`:@@SI_MAP.SCALE_METERS:m`),\n 'ScaleControl.Kilometers': t(() => $localize`:@@SI_MAP.SCALE_KILOMETERS:km`),\n 'ScaleControl.Miles': t(() => $localize`:@@SI_MAP.SCALE_MILES:mi`),\n 'ScaleControl.NauticalMiles': t(() => $localize`:@@SI_MAP.SCALE_NAUTICAL_MILES:nm`),\n 'GlobeControl.Enable': t(() => $localize`:@@SI_MAP.GLOBE_ENABLE:Enable globe`),\n 'GlobeControl.Disable': t(() => $localize`:@@SI_MAP.GLOBE_DISABLE:Disable globe`),\n 'TerrainControl.Enable': t(() => $localize`:@@SI_MAP.TERRAIN_ENABLE:Enable terrain`),\n 'TerrainControl.Disable': t(() => $localize`:@@SI_MAP.TERRAIN_DISABLE:Disable terrain`),\n 'CooperativeGesturesHandler.WindowsHelpText': t(\n () => $localize`:@@SI_MAP.WINDOWS_HELP:Use Ctrl + scroll to zoom the map`\n ),\n 'CooperativeGesturesHandler.MacHelpText': t(\n () => $localize`:@@SI_MAP.MAC_HELP:Use ⌘ + scroll to zoom the map`\n ),\n 'CooperativeGesturesHandler.MobileHelpText': t(\n () => $localize`:@@SI_MAP.MOBILE_HELP:Use two fingers to move the map`\n )\n});\n\n/**\n * Provides translated MapLibre locale strings as an Angular signal. The record uses MapLibre's\n * original locale keys, such as `AttributionControl.ToggleAttribution`, and updates when the\n * active Element language changes.\n *\n * @example\n * ```ts\n * @Component({ ... })\n * export class MapComponent {\n * protected readonly mapTranslations = injectSiMapTranslations();\n * }\n * ```\n *\n * ```html\n * <mgl-map [locale]=\"mapTranslations()\" />\n * ```\n *\n * @returns A signal containing a MapLibre locale record, for example\n * `{ 'AttributionControl.ToggleAttribution': 'Toggle attribution' }`.\n */\nexport const injectSiMapTranslations = (): Signal<Record<string, string>> => {\n const translateService = injectSiTranslateService();\n const initialValue = createDefaultLocale();\n return toSignal(\n translateService\n .translateAsync(Object.values(initialValue))\n .pipe(\n map(translations =>\n Object.fromEntries(\n Object.entries(initialValue).map(([key, value]) => [key, translations[value]])\n )\n )\n ),\n {\n initialValue\n }\n );\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\n\nexport type MarkerStatus =\n 'default' | 'unknown' | 'success' | 'info' | 'warning' | 'danger' | 'caution' | 'critical';\n\n@Component({\n selector: 'si-status-marker',\n templateUrl: './si-status-marker.component.html',\n styleUrl: './si-status-marker.component.scss',\n host: {\n class: 'si-status-marker',\n '[attr.data-status]': 'status()'\n }\n})\nexport class SiStatusMarkerComponent {\n /**\n * The status of the marker.\n * @defaultValue 'default'\n */\n readonly status = input<MarkerStatus>('default');\n}\n","<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-maplibre-style';\nexport * from './si-maplibre-translate';\nexport * from './si-status-marker.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-maplibre.mjs","sources":["../../../../projects/element-ng/maplibre/si-maplibre-style.ts","../../../../projects/element-ng/maplibre/cluster.utils.ts","../../../../projects/element-ng/maplibre/si-cluster-marker.component.ts","../../../../projects/element-ng/maplibre/si-cluster-marker.component.html","../../../../projects/element-ng/maplibre/si-cluster-source.component.ts","../../../../projects/element-ng/maplibre/si-cluster-source.component.html","../../../../projects/element-ng/maplibre/si-maplibre-translate.ts","../../../../projects/element-ng/maplibre/si-status-marker.component.ts","../../../../projects/element-ng/maplibre/si-status-marker.component.html","../../../../projects/element-ng/maplibre/index.ts","../../../../projects/element-ng/maplibre/siemens-element-ng-maplibre.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { assertInInjectionContext, computed, Signal } from '@angular/core';\nimport { injectIsDarkTheme } from '@siemens/element-ng/theme';\nimport { siMapStyle } from '@siemens/map-styles/common';\nimport type { StyleSpecification } from 'maplibre-gl';\n\n/**\n * Creates a signal that returns a {@link StyleSpecification} for MapLibre GL based on the current\n * Element theme. The signal automatically updates when the theme switches between light and dark.\n *\n * @remarks\n * **Must be called in an Angular injection context** (e.g. inside a constructor, field initializer,\n * or a function called from one). Calling this function outside of an injection context will throw\n * an `assertInInjectionContext` error.\n *\n * @experimental\n *\n * @param key - The MapTiler API key used to fetch tiles, glyphs, and sprites\n * @returns A signal that provides the current {@link StyleSpecification} based on the active theme\n * @throws When called outside of an Angular injection context\n */\nexport const injectSiMapStyle = (key: string): Signal<StyleSpecification> => {\n assertInInjectionContext(injectSiMapStyle);\n const isDark = injectIsDarkTheme();\n\n return computed(() => {\n return siMapStyle(key, isDark()) as StyleSpecification;\n });\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport type { ClusterColors, ClusterPoint, ClusterSegment } from './cluster-types';\nimport type { MarkerStatus } from './marker-types';\n\ntype ClusterProperties = Record<string, ['+', unknown]>;\n\nconst MARKER_STATUS_COLORS = {\n info: 'var(--si-sys-background-information)',\n success: 'var(--si-sys-background-success)',\n warning: 'var(--si-sys-background-warning)',\n danger: 'var(--si-sys-background-danger)',\n caution: 'var(--si-sys-background-caution)',\n critical: 'var(--si-sys-background-critical)',\n default: 'var(--si-sys-background-accent)',\n unknown: 'var(--si-sys-background-neutral)'\n} satisfies Record<MarkerStatus, string>;\n\n// Keep the four-color status palette stable for numeric group IDs.\nconst GROUP_STATUS_COLORS = [\n MARKER_STATUS_COLORS.info,\n MARKER_STATUS_COLORS.success,\n MARKER_STATUS_COLORS.warning,\n MARKER_STATUS_COLORS.danger\n];\nconst ELEMENT_COLORS = [\n 'var(--si-sys-data-sequential-red-2)',\n 'var(--si-sys-data-sequential-orange-4)',\n 'var(--si-sys-background-caution)',\n 'var(--si-sys-data-sequential-green-2)',\n 'var(--si-sys-background-information)',\n 'var(--si-sys-data-categorial-1)',\n 'var(--si-sys-data-categorial-17)'\n];\nconst UNGROUPED_COLOR = 'var(--si-sys-background-accent)';\nconst SEPARATOR_COLOR = 'var(--si-sys-background-1)';\nconst CHART_FRAGMENTS = 20;\nconst SEPARATOR_DEGREES = 2;\n\ninterface ClusterBucket extends ClusterSegment {\n mapExpression: unknown;\n}\n\n/** @internal */\nexport interface ClusterConfiguration {\n clusterProperties: ClusterProperties;\n segments: readonly ClusterSegment[];\n}\n\n/** @internal */\nexport const createClusterConfiguration = (\n groupColors: ClusterColors,\n groupProperty: string,\n statusProperty?: string\n): ClusterConfiguration => {\n const group = ['to-number', ['get', groupProperty], 0];\n let buckets: ClusterBucket[];\n\n if (typeof groupColors === 'string') {\n const colors = groupColors === 'status' ? GROUP_STATUS_COLORS : ELEMENT_COLORS;\n buckets = colors.map((color, index) => ({\n color,\n mapExpression: [\n 'case',\n ['all', ['>', group, 0], ['==', ['%', ['-', group, 1], colors.length], index]],\n 1,\n 0\n ],\n property: `si_group_${index}`\n }));\n } else {\n buckets = Object.entries(groupColors)\n .map(([groupId, color]) => ({ color, groupId: Number(groupId) }))\n .filter(bucket => Number.isInteger(bucket.groupId) && bucket.groupId > 0)\n .sort((a, b) => a.groupId - b.groupId)\n .map(bucket => ({\n color: bucket.color,\n mapExpression: ['case', ['==', group, bucket.groupId], 1, 0],\n property: `si_group_${bucket.groupId}`\n }));\n }\n\n if (statusProperty !== undefined) {\n for (const [status, color] of Object.entries(MARKER_STATUS_COLORS)) {\n buckets.push({\n color,\n mapExpression: [\n 'case',\n ['all', ['==', group, 0], ['==', ['get', statusProperty], status]],\n 1,\n 0\n ],\n property: `si_status_${status}`\n });\n }\n }\n\n return {\n clusterProperties: Object.fromEntries(\n buckets.map(bucket => [bucket.property, ['+', bucket.mapExpression]])\n ),\n segments: buckets.map(({ color, property }) => ({ color, property }))\n };\n};\n\n/** @internal */\nexport const createClusterGradient = (\n feature: ClusterPoint,\n configuredSegments: readonly ClusterSegment[]\n): string => {\n const count = getNumberProperty(feature, 'point_count');\n const segments = configuredSegments\n .map(segment => ({\n color: segment.color,\n count: getNumberProperty(feature, segment.property)\n }))\n .filter(segment => segment.count > 0);\n const groupedCount = segments.reduce((sum, segment) => sum + segment.count, 0);\n if (groupedCount < count) {\n segments.push({ color: UNGROUPED_COLOR, count: count - groupedCount });\n }\n if (!segments.length) {\n return UNGROUPED_COLOR;\n }\n\n const fragmentSize = count / CHART_FRAGMENTS;\n const weightedSegments = segments.map(segment => ({\n ...segment,\n weight: Math.max(1, segment.count / fragmentSize)\n }));\n const totalWeight = weightedSegments.reduce((sum, segment) => sum + segment.weight, 0);\n const separator =\n weightedSegments.length > 1 ? Math.min(SEPARATOR_DEGREES, 180 / totalWeight) : 0;\n let position = 0;\n const stops: string[] = [];\n for (const segment of weightedSegments) {\n const start = position;\n position += (segment.weight / totalWeight) * 360;\n if (separator) {\n stops.push(\n `${SEPARATOR_COLOR} ${start}deg ${start + separator / 2}deg`,\n `${segment.color} ${start + separator / 2}deg ${position - separator / 2}deg`,\n `${SEPARATOR_COLOR} ${position - separator / 2}deg ${position}deg`\n );\n } else {\n stops.push(`${segment.color} ${start}deg ${position}deg`);\n }\n }\n return `conic-gradient(from -90deg, ${stops.join(', ')})`;\n};\n\nconst getNumberProperty = (feature: ClusterPoint, property: string): number => {\n const value = feature.properties?.[property];\n return typeof value === 'number' ? value : Number(value) || 0;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input, output } from '@angular/core';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { ClusterPoint, ClusterSegment } from './cluster-types';\nimport { createClusterGradient } from './cluster.utils';\n\n/**\n * Renders an interactive marker for a MapLibre cluster.\n *\n * The marker displays the total number of clustered points and visualizes their group distribution\n * as colored segments. It is created internally by `SiClusterSourceComponent`.\n *\n * @internal\n */\n@Component({\n selector: 'si-cluster-marker',\n imports: [SiTranslatePipe],\n templateUrl: './si-cluster-marker.component.html',\n styleUrl: './si-cluster-marker.component.scss'\n})\nexport class SiClusterMarkerComponent {\n /** Cluster feature represented by this marker. */\n readonly feature = input.required<ClusterPoint>();\n\n /** Colored segments that represent the grouped points in the cluster. */\n readonly segments = input.required<readonly ClusterSegment[]>();\n\n /** Emits when the marker is activated. */\n readonly markerClick = output<void>();\n\n protected readonly count = computed(() => Number(this.feature().properties?.point_count) || 0);\n protected readonly countLabel = computed(() => (this.count() > 99 ? '99+' : `${this.count()}`));\n protected readonly clusterLabel = t(\n () => $localize`:@@SI_MAP_CLUSTER.LABEL:Cluster with {{count}} locations`\n );\n\n protected readonly gradient = computed(() =>\n createClusterGradient(this.feature(), this.segments())\n );\n\n protected onClick(event: MouseEvent): void {\n event.stopPropagation();\n this.markerClick.emit();\n }\n}\n","<button\n type=\"button\"\n class=\"cluster-marker\"\n [attr.aria-label]=\"clusterLabel | translate: { count: count() }\"\n [style.--si-cluster-gradient]=\"gradient()\"\n (click)=\"onClick($event)\"\n>\n <span class=\"cluster-count\" aria-hidden=\"true\">{{ countLabel() }}</span>\n</button>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input, output, signal } from '@angular/core';\nimport {\n ClusterPointDirective,\n GeoJSONSourceComponent,\n MarkersForClustersComponent\n} from '@maplibre/ngx-maplibre-gl';\n\nimport type { ClusterColors, ClusterPoint } from './cluster-types';\nimport { createClusterConfiguration } from './cluster.utils';\nimport { SiClusterMarkerComponent } from './si-cluster-marker.component';\n\nconst EMPTY_DATA: GeoJSON.FeatureCollection<GeoJSON.Point> = {\n type: 'FeatureCollection',\n features: []\n};\n\n/**\n * Adds a clustered GeoJSON source to a MapLibre map and renders interactive cluster markers.\n *\n * Cluster markers display the number of contained points and their distribution by group. Status\n * segments can be enabled for ungrouped points by providing `statusProperty`. Render individual,\n * unclustered points separately with `mgl-markers-for-clusters` using the same source ID.\n * Positive numeric groups always take precedence over status segments. Status segments apply only\n * when the normalized group value is zero; points without a matching group or status use the\n * ungrouped color.\n *\n * @example Basic usage\n * ```html\n * <mgl-map [mapStyle]=\"mapStyle()\">\n * <si-cluster-source\n * sourceId=\"locations\"\n * statusProperty=\"status\"\n * [data]=\"locations\"\n * (clusterClick)=\"onClusterClick($event)\"\n * />\n *\n * <mgl-markers-for-clusters source=\"locations\">\n * <ng-template let-feature mglPoint>\n * <si-status-marker\n * [status]=\"feature.properties?.status\"\n * />\n * </ng-template>\n * </mgl-markers-for-clusters>\n * </mgl-map>\n * ```\n *\n * @experimental\n */\n@Component({\n selector: 'si-cluster-source',\n imports: [\n ClusterPointDirective,\n GeoJSONSourceComponent,\n MarkersForClustersComponent,\n SiClusterMarkerComponent\n ],\n templateUrl: './si-cluster-source.component.html'\n})\nexport class SiClusterSourceComponent {\n /** ID used to register the generated GeoJSON source in MapLibre. */\n readonly sourceId = input.required<string>();\n /**\n * Point feature collection to cluster.\n * @defaultValue EMPTY_DATA\n */\n readonly data = input<GeoJSON.FeatureCollection<GeoJSON.Point>>(EMPTY_DATA);\n /**\n * Feature property containing the positive numeric group ID.\n * @defaultValue 'group'\n */\n readonly groupProperty = input('group');\n /**\n * Built-in palette or exact colors indexed by group ID. The built-in `'status'` palette contains\n * four colors for numeric groups and is separate from status-based bucketing.\n * @defaultValue 'status'\n */\n readonly groupColors = input<ClusterColors>('status');\n /**\n * Top-level feature property containing a {@link MarkerStatus} value. Status bucketing is\n * disabled by default and only applies when the normalized group value is zero. Missing or\n * unsupported status values, and groups that do not match a configured bucket, use the ungrouped\n * color. Built-in colors match `SiStatusMarkerComponent`, with `default` using accent and\n * `unknown` using neutral.\n * @defaultValue undefined\n * @see https://maplibre.org/maplibre-style-spec/sources/#clusterproperties\n */\n readonly statusProperty = input<string | undefined>();\n /**\n * Cluster radius in pixels.\n * @defaultValue 50\n */\n readonly clusterRadius = input(50);\n /**\n * Maximum zoom at which points are clustered.\n * @defaultValue undefined\n */\n readonly clusterMaxZoom = input<number | undefined>(undefined);\n /**\n * Minimum number of points required to form a cluster.\n * @defaultValue 2\n */\n readonly clusterMinPoints = input(2);\n\n /** Emits when a cluster marker is activated. */\n readonly clusterClick = output<ClusterPoint>();\n\n protected readonly clusterConfiguration = computed(() =>\n createClusterConfiguration(this.groupColors(), this.groupProperty(), this.statusProperty())\n );\n /** Stores selection for the projected cluster-popover integration. */\n protected readonly selectedCluster = signal<ClusterPoint | undefined>(undefined);\n\n protected async selectCluster(feature: ClusterPoint): Promise<void> {\n this.clusterClick.emit(feature);\n this.selectedCluster.set({ ...feature, geometry: feature.geometry });\n }\n}\n","<mgl-geojson-source\n #source\n [id]=\"sourceId()\"\n [data]=\"data()\"\n [cluster]=\"true\"\n [clusterRadius]=\"clusterRadius()\"\n [clusterMaxZoom]=\"clusterMaxZoom()\"\n [clusterMinPoints]=\"clusterMinPoints()\"\n [clusterProperties]=\"clusterConfiguration().clusterProperties\"\n/>\n\n<mgl-markers-for-clusters [source]=\"sourceId()\">\n <ng-template let-feature mglClusterPoint>\n <si-cluster-marker\n [feature]=\"feature\"\n [segments]=\"clusterConfiguration().segments\"\n (markerClick)=\"selectCluster(feature)\"\n />\n </ng-template>\n</mgl-markers-for-clusters>\n\n<ng-content select=\"si-cluster-popover,[siClusterPopoverOutlet]\" />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Signal } from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { injectSiTranslateService, t } from '@siemens/element-translate-ng/translate';\nimport { map } from 'rxjs';\n\nconst createDefaultLocale = (): Record<string, string> => ({\n 'AttributionControl.ToggleAttribution': t(\n () => $localize`:@@SI_MAP.TOGGLE_ATTRIBUTION:Toggle attribution`\n ),\n 'AttributionControl.MapFeedback': t(() => $localize`:@@SI_MAP.MAP_FEEDBACK:Map feedback`),\n 'FullscreenControl.Enter': t(() => $localize`:@@SI_MAP.FULLSCREEN_ENTER:Enter full screen`),\n 'FullscreenControl.Exit': t(() => $localize`:@@SI_MAP.FULLSCREEN_EXIT:Exit full screen`),\n 'GeolocateControl.FindMyLocation': t(\n () => $localize`:@@SI_MAP.FIND_MY_LOCATION:Find my location`\n ),\n 'GeolocateControl.LocationNotAvailable': t(\n () => $localize`:@@SI_MAP.LOCATION_NOT_AVAILABLE:Location not available`\n ),\n 'LogoControl.Title': t(() => $localize`:@@SI_MAP.LOGO_TITLE:MapLibre logo`),\n 'Map.Title': t(() => $localize`:@@SI_MAP.MAP_TITLE:Map`),\n 'Marker.Title': t(() => $localize`:@@SI_MAP.MARKER_TITLE:Map marker`),\n 'NavigationControl.ResetBearing': t(\n () => $localize`:@@SI_MAP.RESET_BEARING:Reset bearing to north`\n ),\n 'NavigationControl.ZoomIn': t(() => $localize`:@@SI_MAP.ZOOM_IN:Zoom in`),\n 'NavigationControl.ZoomOut': t(() => $localize`:@@SI_MAP.ZOOM_OUT:Zoom out`),\n 'Popup.Close': t(() => $localize`:@@SI_MAP.POPUP_CLOSE:Close popup`),\n 'ScaleControl.Feet': t(() => $localize`:@@SI_MAP.SCALE_FEET:ft`),\n 'ScaleControl.Meters': t(() => $localize`:@@SI_MAP.SCALE_METERS:m`),\n 'ScaleControl.Kilometers': t(() => $localize`:@@SI_MAP.SCALE_KILOMETERS:km`),\n 'ScaleControl.Miles': t(() => $localize`:@@SI_MAP.SCALE_MILES:mi`),\n 'ScaleControl.NauticalMiles': t(() => $localize`:@@SI_MAP.SCALE_NAUTICAL_MILES:nm`),\n 'GlobeControl.Enable': t(() => $localize`:@@SI_MAP.GLOBE_ENABLE:Enable globe`),\n 'GlobeControl.Disable': t(() => $localize`:@@SI_MAP.GLOBE_DISABLE:Disable globe`),\n 'TerrainControl.Enable': t(() => $localize`:@@SI_MAP.TERRAIN_ENABLE:Enable terrain`),\n 'TerrainControl.Disable': t(() => $localize`:@@SI_MAP.TERRAIN_DISABLE:Disable terrain`),\n 'CooperativeGesturesHandler.WindowsHelpText': t(\n () => $localize`:@@SI_MAP.WINDOWS_HELP:Use Ctrl + scroll to zoom the map`\n ),\n 'CooperativeGesturesHandler.MacHelpText': t(\n () => $localize`:@@SI_MAP.MAC_HELP:Use ⌘ + scroll to zoom the map`\n ),\n 'CooperativeGesturesHandler.MobileHelpText': t(\n () => $localize`:@@SI_MAP.MOBILE_HELP:Use two fingers to move the map`\n )\n});\n\n/**\n * Provides translated MapLibre locale strings as an Angular signal. The record uses MapLibre's\n * original locale keys, such as `AttributionControl.ToggleAttribution`, and updates when the\n * active Element language changes.\n *\n * @example\n * ```ts\n * @Component({ ... })\n * export class MapComponent {\n * protected readonly mapTranslations = injectSiMapTranslations();\n * }\n * ```\n *\n * ```html\n * <mgl-map [locale]=\"mapTranslations()\" />\n * ```\n *\n * @returns A signal containing a MapLibre locale record, for example\n * `{ 'AttributionControl.ToggleAttribution': 'Toggle attribution' }`.\n */\nexport const injectSiMapTranslations = (): Signal<Record<string, string>> => {\n const translateService = injectSiTranslateService();\n const initialValue = createDefaultLocale();\n return toSignal(\n translateService\n .translateAsync(Object.values(initialValue))\n .pipe(\n map(translations =>\n Object.fromEntries(\n Object.entries(initialValue).map(([key, value]) => [key, translations[value]])\n )\n )\n ),\n {\n initialValue\n }\n );\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\n\nimport type { MarkerStatus } from './marker-types';\n\n@Component({\n selector: 'si-status-marker',\n templateUrl: './si-status-marker.component.html',\n styleUrl: './si-status-marker.component.scss',\n host: {\n class: 'si-status-marker',\n '[attr.data-status]': 'status() ?? \"default\"'\n }\n})\nexport class SiStatusMarkerComponent {\n /**\n * The status of the marker.\n * @defaultValue 'default'\n */\n readonly status = input<MarkerStatus>('default');\n}\n","<svg viewBox=\"0 0 512 512\" aria-hidden=\"true\" focusable=\"false\">\n @switch (status()) {\n @case ('unknown') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.04,207.64h0c-5.25,0-9.5-4.25-9.5-9.5v-9.95c0-3.59,1.8-7,4.87-8.86.59-.36,1.07-.56,1.58-.73,5.75-1.99,17.59-8.4,17.59-15.59,0-6.46-4.07-12.24-10.16-14.38-7.91-2.78-16.6,1.39-19.38,9.29-1.74,4.95-7.16,7.55-12.11,5.81-4.95-1.74-7.55-7.17-5.81-12.11,6.26-17.79,25.82-27.17,43.61-20.91,13.69,4.82,22.87,17.8,22.85,32.31,0,16.73-14.98,26.5-24.04,30.88v4.23c0,5.25-4.25,9.5-9.5,9.5h0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,247h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n }\n @case ('success') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Zm0,213.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m241.55,225.45c-2.47,0-4.93-.94-6.82-2.82l-24.09-24.09c-3.77-3.77-3.77-9.86,0-13.63,3.77-3.77,9.87-3.77,13.63,0l17.28,17.28,46.19-46.19c3.77-3.77,9.87-3.77,13.63,0,3.77,3.77,3.77,9.86,0,13.63l-53.01,53.01c-1.88,1.88-4.35,2.82-6.82,2.82h.02Z\"\n />\n }\n @case ('info') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"177.74\"\n y=\"110.96\"\n width=\"156.52\"\n height=\"156.52\"\n rx=\"11.74\"\n ry=\"11.74\"\n />\n <path\n class=\"symbol\"\n d=\"m255.91,134.43h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,179.94c5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61s-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61Z\"\n />\n }\n @case ('warning') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m243.78,104.22l-76.92,134.35c-5.38,9.39,1.4,21.09,12.22,21.09h153.85c10.82,0,17.6-11.7,12.22-21.09l-76.92-134.35c-5.41-9.45-19.04-9.45-24.45,0Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('danger') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.05,0-125.21,56.17-125.21,125.21,0,1.43.04,2.94.12,4.6.46,12.81,2.85,25.34,7.07,37.27,24.64,80.64,105.26,184.13,108.68,188.43,2.27,2.85,5.7,4.5,9.35,4.5s7.08-1.66,9.35-4.5c3.42-4.3,84.05-107.77,108.69-188.43,4.23-11.93,6.61-24.46,7.07-37.24.08-1.5.12-3.06.12-4.62,0-69.05-56.18-125.21-125.22-125.21h0Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244.09h-.18c-7.02,0-12.72-5.73-12.72-12.81s5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81s-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.59c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('caution') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <rect\n class=\"middle\"\n x=\"190.26\"\n y=\"123.48\"\n width=\"131.47\"\n height=\"131.47\"\n rx=\"11.74\"\n ry=\"11.74\"\n transform=\"translate(208.78 -125.6) rotate(45)\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61,5.31,0,9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @case ('critical') {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m285.78,105.57h-59.57c-3.11,0-6.1,1.24-8.3,3.44l-42.12,42.12c-2.2,2.2-3.44,5.19-3.44,8.3v59.57c0,3.11,1.24,6.1,3.44,8.3l42.12,42.12c2.2,2.2,5.19,3.44,8.3,3.44h59.57c3.11,0,6.1-1.24,8.3-3.44l42.12-42.12c2.2-2.2,3.44-5.19,3.44-8.3v-59.57c0-3.11-1.24-6.1-3.44-8.3l-42.12-42.12c-2.2-2.2-5.19-3.44-8.3-3.44Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256.09,244h-.18c-7.02,0-12.72-5.73-12.72-12.81,0-7.08,5.69-12.81,12.72-12.81h.18c7.02,0,12.72,5.73,12.72,12.81,0,7.08-5.69,12.81-12.72,12.81Z\"\n />\n <path\n class=\"symbol\"\n d=\"m256,198.5c-5.31,0-9.61-4.3-9.61-9.61v-44.84c0-5.31,4.3-9.61,9.61-9.61s9.61,4.3,9.61,9.61v44.84c0,5.31-4.3,9.61-9.61,9.61Z\"\n />\n }\n @default {\n <path\n class=\"icon\"\n d=\"m256,64c-69.37,0-125.8,56.43-125.8,125.8,0,1.44.04,2.95.12,4.62.46,12.87,2.86,25.46,7.1,37.44,24.76,81.02,105.75,183.3,109.19,187.62,2.28,2.86,5.73,4.52,9.39,4.52s7.11-1.67,9.39-4.52c3.44-4.32,84.44-106.59,109.2-187.62,4.25-11.99,6.64-24.57,7.1-37.41.08-1.51.12-3.07.12-4.64,0-69.37-56.44-125.8-125.81-125.8Z\"\n />\n <path\n class=\"middle\"\n d=\"m255.99,277.81c-48.59,0-87.99-39.4-87.99-88.01s39.4-87.99,87.99-87.99,88.01,39.41,88.01,87.99-39.39,88.01-88.01,88.01Z\"\n />\n }\n }\n</svg>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './cluster-types';\nexport * from './marker-types';\nexport * from './si-maplibre-style';\nexport * from './si-cluster-source.component';\nexport * from './si-maplibre-translate';\nexport * from './si-status-marker.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -92,13 +92,13 @@ class SiMarkdownHightlightJsComponent {
|
|
|
92
92
|
return highlighted ? this.sanitizer.bypassSecurityTrustHtml(highlighted) : '';
|
|
93
93
|
}
|
|
94
94
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMarkdownHightlightJsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiMarkdownHightlightJsComponent, isStandalone: true, selector: "si-markdown-highlightjs", inputs: { code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: true, transformFunction: null }, updateLanguage: { classPropertyName: "updateLanguage", publicName: "updateLanguage", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-block" }, ngImport: i0, template: "@let html = highlighted();\n@if (html) {\n <pre class=\"border-0 m-0 p-0\"><code [innerHTML]=\"html\"></code></pre>\n} @else {\n <pre class=\"border-0 m-0 p-0\"><code>{{ code() }} </code></pre>\n}\n", styles: [":host ::ng-deep .hljs{color:var(--
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiMarkdownHightlightJsComponent, isStandalone: true, selector: "si-markdown-highlightjs", inputs: { code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: true, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: true, transformFunction: null }, updateLanguage: { classPropertyName: "updateLanguage", publicName: "updateLanguage", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-block" }, ngImport: i0, template: "@let html = highlighted();\n@if (html) {\n <pre class=\"border-0 m-0 p-0\"><code [innerHTML]=\"html\"></code></pre>\n} @else {\n <pre class=\"border-0 m-0 p-0\"><code>{{ code() }} </code></pre>\n}\n", styles: [":host ::ng-deep .hljs{color:var(--si-sys-code-1)}:host ::ng-deep :is(.hljs-keyword,.hljs-literal,.hljs-operator){color:var(--si-sys-code-2)}:host ::ng-deep :is(.hljs-variable,.hljs-variable.language_,.hljs-params,.hljs-property){color:var(--si-sys-code-4)}:host ::ng-deep :is(.hljs-variable.constant_){color:var(--si-sys-code-3)}:host ::ng-deep :is(.hljs-title,.hljs-title.function_,.hljs-title.function_.invoke__,.hljs-built_in){color:var(--si-sys-code-5)}:host ::ng-deep :is(.hljs-string,.hljs-regexp,.hljs-char.escape_,.hljs-subst,.hljs-doctag){color:var(--si-sys-code-6)}:host ::ng-deep .hljs-number{color:var(--si-sys-code-7)}:host ::ng-deep :is(.hljs-symbol,.hljs-bullet){color:var(--si-sys-code-2)}:host ::ng-deep :is(.hljs-comment,.hljs-quote){color:var(--si-sys-code-8)}:host ::ng-deep .hljs-punctuation{color:var(--si-sys-code-9)}:host ::ng-deep :is(.hljs-tag,.hljs-name,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-pseudo,.hljs-meta,.hljs-meta.keyword_,.hljs-template-tag,.hljs-template-variable){color:var(--si-sys-code-10)}:host ::ng-deep :is(.hljs-attr,.hljs-attribute,.hljs-selector-attr){color:var(--si-sys-code-3)}:host ::ng-deep :is(.hljs-type,.hljs-title.class_,.hljs-title.class_.inherited__){color:var(--si-sys-code-11)}:host ::ng-deep .hljs-deletion{color:var(--si-sys-code-11)}:host ::ng-deep .hljs-addition{color:var(--si-sys-code-12)}:host ::ng-deep .hljs-emphasis{font-style:italic}:host ::ng-deep .hljs-strong{font-weight:600}:host ::ng-deep :is(.hljs-code,.hljs-formula){color:var(--si-sys-code-1)}:host ::ng-deep :is(.hljs-section){color:var(--si-sys-code-1);font-weight:600}:host ::ng-deep .hljs-link{color:var(--si-sys-text-accent)}\n"] });
|
|
96
96
|
}
|
|
97
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMarkdownHightlightJsComponent, decorators: [{
|
|
98
98
|
type: Component,
|
|
99
99
|
args: [{ selector: 'si-markdown-highlightjs', host: {
|
|
100
100
|
class: 'd-block'
|
|
101
|
-
}, template: "@let html = highlighted();\n@if (html) {\n <pre class=\"border-0 m-0 p-0\"><code [innerHTML]=\"html\"></code></pre>\n} @else {\n <pre class=\"border-0 m-0 p-0\"><code>{{ code() }} </code></pre>\n}\n", styles: [":host ::ng-deep .hljs{color:var(--
|
|
101
|
+
}, template: "@let html = highlighted();\n@if (html) {\n <pre class=\"border-0 m-0 p-0\"><code [innerHTML]=\"html\"></code></pre>\n} @else {\n <pre class=\"border-0 m-0 p-0\"><code>{{ code() }} </code></pre>\n}\n", styles: [":host ::ng-deep .hljs{color:var(--si-sys-code-1)}:host ::ng-deep :is(.hljs-keyword,.hljs-literal,.hljs-operator){color:var(--si-sys-code-2)}:host ::ng-deep :is(.hljs-variable,.hljs-variable.language_,.hljs-params,.hljs-property){color:var(--si-sys-code-4)}:host ::ng-deep :is(.hljs-variable.constant_){color:var(--si-sys-code-3)}:host ::ng-deep :is(.hljs-title,.hljs-title.function_,.hljs-title.function_.invoke__,.hljs-built_in){color:var(--si-sys-code-5)}:host ::ng-deep :is(.hljs-string,.hljs-regexp,.hljs-char.escape_,.hljs-subst,.hljs-doctag){color:var(--si-sys-code-6)}:host ::ng-deep .hljs-number{color:var(--si-sys-code-7)}:host ::ng-deep :is(.hljs-symbol,.hljs-bullet){color:var(--si-sys-code-2)}:host ::ng-deep :is(.hljs-comment,.hljs-quote){color:var(--si-sys-code-8)}:host ::ng-deep .hljs-punctuation{color:var(--si-sys-code-9)}:host ::ng-deep :is(.hljs-tag,.hljs-name,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-pseudo,.hljs-meta,.hljs-meta.keyword_,.hljs-template-tag,.hljs-template-variable){color:var(--si-sys-code-10)}:host ::ng-deep :is(.hljs-attr,.hljs-attribute,.hljs-selector-attr){color:var(--si-sys-code-3)}:host ::ng-deep :is(.hljs-type,.hljs-title.class_,.hljs-title.class_.inherited__){color:var(--si-sys-code-11)}:host ::ng-deep .hljs-deletion{color:var(--si-sys-code-11)}:host ::ng-deep .hljs-addition{color:var(--si-sys-code-12)}:host ::ng-deep .hljs-emphasis{font-style:italic}:host ::ng-deep .hljs-strong{font-weight:600}:host ::ng-deep :is(.hljs-code,.hljs-formula){color:var(--si-sys-code-1)}:host ::ng-deep :is(.hljs-section){color:var(--si-sys-code-1);font-weight:600}:host ::ng-deep .hljs-link{color:var(--si-sys-text-accent)}\n"] }]
|
|
102
102
|
}], propDecorators: { code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: true }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: true }] }], updateLanguage: [{ type: i0.Input, args: [{ isSignal: true, alias: "updateLanguage", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }] } });
|
|
103
103
|
|
|
104
104
|
/**
|