@siemens/element-ng 51.0.0-rc.9 → 51.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/siemens-element-ng-accordion.mjs +2 -2
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +125 -125
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +4 -4
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +5 -5
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +2 -2
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +2 -2
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +129 -29
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +2 -2
- package/fesm2022/siemens-element-ng-circle-status.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-connection-strength.mjs +2 -2
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +8 -8
- 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 +8 -8
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +2 -2
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +2 -2
- package/fesm2022/siemens-element-ng-empty-state.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-filter-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +4 -4
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +2 -2
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +17 -4
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +2 -2
- package/fesm2022/siemens-element-ng-help-button.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-landing-page.mjs +2 -2
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +2 -2
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +64 -18
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +4 -4
- package/fesm2022/siemens-element-ng-loading-spinner.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 +21 -21
- package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.mjs +2 -2
- package/fesm2022/siemens-element-ng-markdown-extensions-katex.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 +8 -8
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +6 -6
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +2 -4
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +2 -2
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +2 -2
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +2 -2
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +4 -4
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +2 -2
- package/fesm2022/siemens-element-ng-pills-input.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-search-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +46 -7
- 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-skip-links.mjs +2 -2
- package/fesm2022/siemens-element-ng-skip-links.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 +21 -19
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-counter.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 +2 -2
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +95 -73
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +2 -2
- package/fesm2022/siemens-element-ng-threshold.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 +4 -4
- package/fesm2022/siemens-element-ng-tour.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/fesm2022/siemens-element-ng-wizard.mjs +2 -2
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/maplibre/styles/maplibre-gl.scss +22 -22
- package/package.json +4 -4
- package/schematics/migration.json +5 -0
- package/schematics/migrations/data/css-custom-properties.js +204 -12
- package/schematics/migrations/data/element-class-changes.js +8 -7
- package/schematics/migrations/data/element-migration-data.js +13 -1
- package/schematics/migrations/data/index.js +1 -1
- package/schematics/ng-update/index.js +1 -0
- package/schematics/ng-update/migrate-list-details-units.js +86 -0
- package/schematics/ng-update/migrate-main-detail-units.js +89 -0
- package/schematics/ng-update/migrate-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-0-1.js +12 -0
- 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/schematics/utils/testing.js +13 -1
- 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-notification-item.d.ts +0 -12
- 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
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, ElementRef, ChangeDetectorRef, DestroyRef, input, output, model, booleanAttribute, computed, signal, Component, NgModule } from '@angular/core';
|
|
3
|
+
import { inject, ElementRef, ChangeDetectorRef, DestroyRef, viewChild, input, output, model, booleanAttribute, computed, signal, Component, NgModule } from '@angular/core';
|
|
4
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { elementBack } from '@siemens/element-icons';
|
|
6
6
|
import { addIcons, SiIconComponent } from '@siemens/element-ng/icon';
|
|
7
7
|
import { ResizeObserverService, BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';
|
|
8
|
-
import {
|
|
8
|
+
import { SiSplitPartComponent, SiSplitComponent } from '@siemens/element-ng/split';
|
|
9
9
|
import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
|
|
10
10
|
import { timer } from 'rxjs';
|
|
11
11
|
|
|
@@ -20,6 +20,8 @@ class SiMainDetailContainerComponent {
|
|
|
20
20
|
resizeObserver = inject(ResizeObserverService);
|
|
21
21
|
changeDetectorRef = inject(ChangeDetectorRef);
|
|
22
22
|
destroyRef = inject(DestroyRef);
|
|
23
|
+
splitElement = viewChild('splitElement', { ...(ngDevMode ? { debugName: "splitElement" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
24
|
+
mainSplitPart = viewChild('mainSplitPart', { ...(ngDevMode ? { debugName: "mainSplitPart" } : /* istanbul ignore next */ {}), read: SiSplitPartComponent });
|
|
23
25
|
/**
|
|
24
26
|
* A numeric value defining the minimum width in px, which the container needs
|
|
25
27
|
* to be displayed in its large layout. Whenever smaller than
|
|
@@ -120,8 +122,24 @@ class SiMainDetailContainerComponent {
|
|
|
120
122
|
detailContainerClass = input('pb-6', /* @ts-ignore */
|
|
121
123
|
...(ngDevMode ? [{ debugName: "detailContainerClass" }] : /* istanbul ignore next */ []));
|
|
122
124
|
/**
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
+
* Unit used for the main split part when {@link resizableParts} is enabled.
|
|
126
|
+
*
|
|
127
|
+
* @defaultValue 'px'
|
|
128
|
+
*/
|
|
129
|
+
mainContainerWidthUnit = input('px', /* @ts-ignore */
|
|
130
|
+
...(ngDevMode ? [{ debugName: "mainContainerWidthUnit" }] : /* istanbul ignore next */ []));
|
|
131
|
+
/**
|
|
132
|
+
* The size of the main container. When {@link resizableParts} is enabled,
|
|
133
|
+
* the value is interpreted using {@link mainContainerWidthUnit} and updates as the splitter is moved.
|
|
134
|
+
* With `mainContainerWidthUnit="fr"`, numeric values must be from `0` to `100` (inclusive).
|
|
135
|
+
* The main and detail fractional weights are the value and `100 - value`;
|
|
136
|
+
* out-of-range values fall back to `32` and `68`.
|
|
137
|
+
* In the static layout, numeric values represent a percentage from `0` to `100`
|
|
138
|
+
* (inclusive); out-of-range values leave both containers without max-size constraints.
|
|
139
|
+
* Pixel widths are not limited to the `0` to `100` range.
|
|
140
|
+
*
|
|
141
|
+
* With `'default'`, resizable pixel layouts use {@link minMainSize}, resizable fractional
|
|
142
|
+
* layouts use main and detail weights of `32` and `68`, and static layouts use `50%`.
|
|
125
143
|
*
|
|
126
144
|
* @defaultValue 'default'
|
|
127
145
|
*/
|
|
@@ -154,17 +172,16 @@ class SiMainDetailContainerComponent {
|
|
|
154
172
|
preventFocusDetails = false;
|
|
155
173
|
actualMainContainerWidth = computed(() => {
|
|
156
174
|
const mainContainerWidth = this.mainContainerWidth();
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
175
|
+
if (mainContainerWidth !== 'default') {
|
|
176
|
+
return mainContainerWidth;
|
|
177
|
+
}
|
|
178
|
+
if (!this.resizableParts()) {
|
|
179
|
+
return 50;
|
|
180
|
+
}
|
|
181
|
+
return this.mainContainerWidthUnit() === 'px' ? this.minMainSize() : 32;
|
|
162
182
|
}, /* @ts-ignore */
|
|
163
183
|
...(ngDevMode ? [{ debugName: "actualMainContainerWidth" }] : /* istanbul ignore next */ []));
|
|
164
|
-
splitSizes =
|
|
165
|
-
this.actualMainContainerWidth(),
|
|
166
|
-
100 - this.actualMainContainerWidth()
|
|
167
|
-
];
|
|
184
|
+
splitSizes = this.getSplitSizes();
|
|
168
185
|
// The max size to limit the main container in the static flex layout (if less than 50%), otherwise not set.
|
|
169
186
|
maxMainSize = this.getMaxSize(0);
|
|
170
187
|
// The max size to limit the detail container in the static flex layout (if less than 50%), otherwise not set.
|
|
@@ -188,8 +205,11 @@ class SiMainDetailContainerComponent {
|
|
|
188
205
|
this.updateDetailsFocusable();
|
|
189
206
|
this.doAnimation(changes.detailsActive.currentValue);
|
|
190
207
|
}
|
|
191
|
-
if (changes.mainContainerWidth ||
|
|
192
|
-
|
|
208
|
+
if (changes.mainContainerWidth ||
|
|
209
|
+
changes.resizableParts ||
|
|
210
|
+
changes.mainContainerWidthUnit ||
|
|
211
|
+
changes.minMainSize) {
|
|
212
|
+
this.splitSizes = this.getSplitSizes();
|
|
193
213
|
this.maxMainSize = this.getMaxSize(0);
|
|
194
214
|
this.maxDetailSize = this.getMaxSize(1);
|
|
195
215
|
}
|
|
@@ -201,7 +221,12 @@ class SiMainDetailContainerComponent {
|
|
|
201
221
|
.subscribe(dimensions => this.determineLayout(dimensions));
|
|
202
222
|
}
|
|
203
223
|
onSplitSizesChange(sizes) {
|
|
204
|
-
this.
|
|
224
|
+
if (this.mainContainerWidthUnit() === 'px') {
|
|
225
|
+
this.mainContainerWidth.set(this.getMainSizePx(sizes[0]));
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
this.mainContainerWidth.set(sizes[0]);
|
|
229
|
+
}
|
|
205
230
|
}
|
|
206
231
|
detailsBackClicked() {
|
|
207
232
|
this.detailsActive.set(false);
|
|
@@ -211,12 +236,35 @@ class SiMainDetailContainerComponent {
|
|
|
211
236
|
* Get the max size to limit in the static flex layout (if less than 50%), otherwise not set
|
|
212
237
|
*/
|
|
213
238
|
getMaxSize(part) {
|
|
214
|
-
|
|
215
|
-
|
|
239
|
+
const mainContainerWidth = this.mainContainerWidth();
|
|
240
|
+
if (this.resizableParts() ||
|
|
241
|
+
mainContainerWidth === 'default' ||
|
|
216
242
|
!this.hasLargeSize ||
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
243
|
+
mainContainerWidth < 0 ||
|
|
244
|
+
mainContainerWidth > 100) {
|
|
245
|
+
return '';
|
|
246
|
+
}
|
|
247
|
+
const size = part === 0 ? mainContainerWidth : 100 - mainContainerWidth;
|
|
248
|
+
return size > 50 ? '' : size + '%';
|
|
249
|
+
}
|
|
250
|
+
getSplitSizes() {
|
|
251
|
+
const mainSize = this.actualMainContainerWidth();
|
|
252
|
+
if (!this.resizableParts()) {
|
|
253
|
+
return mainSize >= 0 && mainSize <= 100 ? [mainSize, 100 - mainSize] : [50, 50];
|
|
254
|
+
}
|
|
255
|
+
if (this.mainContainerWidthUnit() === 'fr') {
|
|
256
|
+
return mainSize >= 0 && mainSize <= 100 ? [mainSize, 100 - mainSize] : [32, 68];
|
|
257
|
+
}
|
|
258
|
+
// The main size is in pixels; the detail part fills the remaining space with 1fr.
|
|
259
|
+
return [mainSize, 1];
|
|
260
|
+
}
|
|
261
|
+
getMainSizePx(fallbackPercentage) {
|
|
262
|
+
const mainPartSize = this.mainSplitPart()?.expandedSize();
|
|
263
|
+
if (mainPartSize !== undefined) {
|
|
264
|
+
return Math.round(mainPartSize);
|
|
265
|
+
}
|
|
266
|
+
const splitWidth = this.splitElement()?.nativeElement.getBoundingClientRect().width;
|
|
267
|
+
return splitWidth ? Math.round((splitWidth * fallbackPercentage) / 100) : this.minMainSize();
|
|
220
268
|
}
|
|
221
269
|
determineLayout(dimensions) {
|
|
222
270
|
const newHasLargeSize = dimensions.width >= this.largeLayoutBreakpoint();
|
|
@@ -243,7 +291,7 @@ class SiMainDetailContainerComponent {
|
|
|
243
291
|
this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();
|
|
244
292
|
}
|
|
245
293
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMainDetailContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
246
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiMainDetailContainerComponent, isStandalone: true, selector: "si-main-detail-container", inputs: { largeLayoutBreakpoint: { classPropertyName: "largeLayoutBreakpoint", publicName: "largeLayoutBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, detailsActive: { classPropertyName: "detailsActive", publicName: "detailsActive", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, truncateHeading: { classPropertyName: "truncateHeading", publicName: "truncateHeading", isSignal: true, isRequired: false, transformFunction: null }, detailsHeading: { classPropertyName: "detailsHeading", publicName: "detailsHeading", isSignal: true, isRequired: false, transformFunction: null }, resizableParts: { classPropertyName: "resizableParts", publicName: "resizableParts", isSignal: true, isRequired: false, transformFunction: null }, hideBackButton: { classPropertyName: "hideBackButton", publicName: "hideBackButton", isSignal: true, isRequired: false, transformFunction: null }, detailsBackButtonText: { classPropertyName: "detailsBackButtonText", publicName: "detailsBackButtonText", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerClass: { classPropertyName: "mainContainerClass", publicName: "mainContainerClass", isSignal: true, isRequired: false, transformFunction: null }, detailContainerClass: { classPropertyName: "detailContainerClass", publicName: "detailContainerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerWidth: { classPropertyName: "mainContainerWidth", publicName: "mainContainerWidth", isSignal: true, isRequired: false, transformFunction: null }, minMainSize: { classPropertyName: "minMainSize", publicName: "minMainSize", isSignal: true, isRequired: false, transformFunction: null }, minDetailSize: { classPropertyName: "minDetailSize", publicName: "minDetailSize", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasLargeSizeChange: "hasLargeSizeChange", detailsActive: "detailsActiveChange", mainContainerWidth: "mainContainerWidthChange" }, host: { properties: { "class.animate": "animate()", "style.opacity": "opacity()" }, classAttribute: "si-layout-inner" }, usesOnChanges: true, ngImport: i0, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n unit=\"fr\"\n [size]=\"splitSizes[0]\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n unit=\"fr\"\n [size]=\"splitSizes[1]\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [class]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [class]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [class]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button type=\"button\" class=\"btn btn-circle btn-secondary\" (click)=\"detailsBackClicked()\">\n <si-icon [icon]=\"icons.elementBack\" />\n <span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span>\n </button>\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-h4 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty),.detail-heading-actions:not(:empty){min-block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));margin-block-end:var(--si-sys-sizing-spacing-y-60)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiSplitComponent, selector: "si-split", inputs: ["gutterSize", "orientation", "stateId"], outputs: ["sizesChange"] }, { kind: "component", type: SiSplitPartComponent, selector: "si-split-part", inputs: ["actions", "collapsible", "collapseIconClass", "collapseToMinSize", "headerTemplate", "heading", "minSize", "removeContentOnCollapse", "scale", "showHeader", "collapseLabel", "stateId", "size", "unit", "collapseOthers", "expanded"], outputs: ["collapseChanged", "stateChange"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
294
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SiMainDetailContainerComponent, isStandalone: true, selector: "si-main-detail-container", inputs: { largeLayoutBreakpoint: { classPropertyName: "largeLayoutBreakpoint", publicName: "largeLayoutBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, detailsActive: { classPropertyName: "detailsActive", publicName: "detailsActive", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, truncateHeading: { classPropertyName: "truncateHeading", publicName: "truncateHeading", isSignal: true, isRequired: false, transformFunction: null }, detailsHeading: { classPropertyName: "detailsHeading", publicName: "detailsHeading", isSignal: true, isRequired: false, transformFunction: null }, resizableParts: { classPropertyName: "resizableParts", publicName: "resizableParts", isSignal: true, isRequired: false, transformFunction: null }, hideBackButton: { classPropertyName: "hideBackButton", publicName: "hideBackButton", isSignal: true, isRequired: false, transformFunction: null }, detailsBackButtonText: { classPropertyName: "detailsBackButtonText", publicName: "detailsBackButtonText", isSignal: true, isRequired: false, transformFunction: null }, containerClass: { classPropertyName: "containerClass", publicName: "containerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerClass: { classPropertyName: "mainContainerClass", publicName: "mainContainerClass", isSignal: true, isRequired: false, transformFunction: null }, detailContainerClass: { classPropertyName: "detailContainerClass", publicName: "detailContainerClass", isSignal: true, isRequired: false, transformFunction: null }, mainContainerWidthUnit: { classPropertyName: "mainContainerWidthUnit", publicName: "mainContainerWidthUnit", isSignal: true, isRequired: false, transformFunction: null }, mainContainerWidth: { classPropertyName: "mainContainerWidth", publicName: "mainContainerWidth", isSignal: true, isRequired: false, transformFunction: null }, minMainSize: { classPropertyName: "minMainSize", publicName: "minMainSize", isSignal: true, isRequired: false, transformFunction: null }, minDetailSize: { classPropertyName: "minDetailSize", publicName: "minDetailSize", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { hasLargeSizeChange: "hasLargeSizeChange", detailsActive: "detailsActiveChange", mainContainerWidth: "mainContainerWidthChange" }, host: { properties: { "class.animate": "animate()", "style.opacity": "opacity()" }, classAttribute: "si-layout-inner" }, viewQueries: [{ propertyName: "splitElement", first: true, predicate: ["splitElement"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "mainSplitPart", first: true, predicate: ["mainSplitPart"], descendants: true, read: SiSplitPartComponent, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n #splitElement\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n #mainSplitPart\n [unit]=\"mainContainerWidthUnit()\"\n [size]=\"splitSizes[0]\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n unit=\"fr\"\n [size]=\"splitSizes[1]\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [class]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [class]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [class]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button type=\"button\" class=\"btn btn-circle btn-secondary\" (click)=\"detailsBackClicked()\">\n <si-icon [icon]=\"icons.elementBack\" />\n <span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span>\n </button>\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-h4 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty),.detail-heading-actions:not(:empty){min-block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));margin-block-end:var(--si-sys-sizing-spacing-y-60)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiSplitComponent, selector: "si-split", inputs: ["gutterSize", "orientation", "stateId"], outputs: ["sizesChange"] }, { kind: "component", type: SiSplitPartComponent, selector: "si-split-part", inputs: ["actions", "collapsible", "collapseIconClass", "collapseToMinSize", "headerTemplate", "heading", "minSize", "removeContentOnCollapse", "showHeader", "collapseLabel", "stateId", "size", "unit", "collapseOthers", "expanded"], outputs: ["collapseChanged", "stateChange"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
247
295
|
}
|
|
248
296
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiMainDetailContainerComponent, decorators: [{
|
|
249
297
|
type: Component,
|
|
@@ -257,8 +305,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
257
305
|
class: 'si-layout-inner',
|
|
258
306
|
'[class.animate]': 'animate()',
|
|
259
307
|
'[style.opacity]': 'opacity()'
|
|
260
|
-
}, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n
|
|
261
|
-
}], propDecorators: { largeLayoutBreakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "largeLayoutBreakpoint", required: false }] }], hasLargeSizeChange: [{ type: i0.Output, args: ["hasLargeSizeChange"] }], detailsActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsActive", required: false }] }, { type: i0.Output, args: ["detailsActiveChange"] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], truncateHeading: [{ type: i0.Input, args: [{ isSignal: true, alias: "truncateHeading", required: false }] }], detailsHeading: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsHeading", required: false }] }], resizableParts: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizableParts", required: false }] }], hideBackButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideBackButton", required: false }] }], detailsBackButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsBackButtonText", required: false }] }], containerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerClass", required: false }] }], mainContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContainerClass", required: false }] }], detailContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailContainerClass", required: false }] }], mainContainerWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContainerWidth", required: false }] }, { type: i0.Output, args: ["mainContainerWidthChange"] }], minMainSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minMainSize", required: false }] }], minDetailSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDetailSize", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }] } });
|
|
308
|
+
}, template: "@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n #splitElement\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n #mainSplitPart\n [unit]=\"mainContainerWidthUnit()\"\n [size]=\"splitSizes[0]\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n unit=\"fr\"\n [size]=\"splitSizes[1]\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [class]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [class]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [class]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button type=\"button\" class=\"btn btn-circle btn-secondary\" (click)=\"detailsBackClicked()\">\n <si-icon [icon]=\"icons.elementBack\" />\n <span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span>\n </button>\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-h4 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}:host ::ng-deep [slot=mainSearch]{flex:1 1 0}:host ::ng-deep [slot=mainSearch]+[slot=mainActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep [slot=mainActions]{margin-inline-start:auto}:host ::ng-deep [slot=mainData],:host ::ng-deep [slot=details]{flex:1 1 0;min-block-size:0}:host ::ng-deep [slot=detailActions]{margin-inline-start:auto}:host ::ng-deep .detail-heading+[slot=detailActions]{margin-inline-start:var(--si-sys-sizing-spacing-x-50)}:host ::ng-deep si-split{--si-split-gutter-background: transparent;min-block-size:0}:host ::ng-deep si-split si-split-part,:host ::ng-deep si-split .si-split-container,:host ::ng-deep si-split .si-split-part-content{overflow:visible}:host.animate{--si-main-detail-animation-duration: calc(.5s * var(--element-animations-enabled, 1))}.main-detail-layout{overflow-x:hidden;position:relative}.main-detail-layout.large-size{--si-main-detail-container-width: 100%;--si-main-detail-container-transition: none;--si-main-detail-container-transform: none;--si-main-detail-transition: none;--si-main-detail-opacity: 1;--si-main-detail-pointer-events: auto}.main-detail-container{--si-main-detail-transition: opacity var(--si-main-detail-animation-duration, 0) ease-in-out;--si-main-detail-detail-opacity: 0;--si-main-detail-detail-pointer-events: none;inline-size:var(--si-main-detail-container-width, 200%);transform:var(--si-main-detail-container-transform, none);transform-origin:top left;transition:var(--si-main-detail-container-transition, transform var(--si-main-detail-animation-duration, 0) ease-in-out)}.main-detail-container.details-active{--si-main-detail-container-transform: translateX(-50%);--si-main-detail-main-opacity: 0;--si-main-detail-detail-opacity: 1;--si-main-detail-main-pointer-events: none;--si-main-detail-detail-pointer-events: auto}.main-detail-layout,.main-detail-container,.main-container,.detail-container,.main-data-container{flex:1 1 0;min-block-size:0}.main-container,.detail-container{transition:var(--si-main-detail-transition, none)}.main-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-main-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-main-pointer-events, auto))}.detail-container{opacity:var(--si-main-detail-opacity, var(--si-main-detail-detail-opacity, 1));pointer-events:var(--si-main-detail-pointer-events, var(--si-main-detail-detail-pointer-events, auto))}.main-search-actions:not(:empty),.detail-heading-actions:not(:empty){min-block-size:calc(1lh + 2 * var(--si-sys-sizing-spacing-y-40));margin-block-end:var(--si-sys-sizing-spacing-y-60)}\n"] }]
|
|
309
|
+
}], propDecorators: { splitElement: [{ type: i0.ViewChild, args: ['splitElement', { ...{ read: ElementRef }, isSignal: true }] }], mainSplitPart: [{ type: i0.ViewChild, args: ['mainSplitPart', { ...{ read: SiSplitPartComponent }, isSignal: true }] }], largeLayoutBreakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "largeLayoutBreakpoint", required: false }] }], hasLargeSizeChange: [{ type: i0.Output, args: ["hasLargeSizeChange"] }], detailsActive: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsActive", required: false }] }, { type: i0.Output, args: ["detailsActiveChange"] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], truncateHeading: [{ type: i0.Input, args: [{ isSignal: true, alias: "truncateHeading", required: false }] }], detailsHeading: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsHeading", required: false }] }], resizableParts: [{ type: i0.Input, args: [{ isSignal: true, alias: "resizableParts", required: false }] }], hideBackButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideBackButton", required: false }] }], detailsBackButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailsBackButtonText", required: false }] }], containerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "containerClass", required: false }] }], mainContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContainerClass", required: false }] }], detailContainerClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "detailContainerClass", required: false }] }], mainContainerWidthUnit: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContainerWidthUnit", required: false }] }], mainContainerWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContainerWidth", required: false }] }, { type: i0.Output, args: ["mainContainerWidthChange"] }], minMainSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minMainSize", required: false }] }], minDetailSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDetailSize", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }] } });
|
|
262
310
|
|
|
263
311
|
/**
|
|
264
312
|
* Copyright (c) Siemens 2016 - 2026
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-main-detail-container.mjs","sources":["../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.ts","../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.html","../../../../projects/element-ng/main-detail-container/si-main-detail-container.module.ts","../../../../projects/element-ng/main-detail-container/index.ts","../../../../projects/element-ng/main-detail-container/siemens-element-ng-main-detail-container.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnInit,\n output,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementBack } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { SiSplitComponent, SiSplitPartComponent } from '@siemens/element-ng/split';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { timer } from 'rxjs';\n\n@Component({\n selector: 'si-main-detail-container',\n imports: [\n NgTemplateOutlet,\n SiSplitComponent,\n SiSplitPartComponent,\n SiTranslatePipe,\n SiIconComponent\n ],\n templateUrl: './si-main-detail-container.component.html',\n styleUrl: './si-main-detail-container.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.animate]': 'animate()',\n '[style.opacity]': 'opacity()'\n }\n})\nexport class SiMainDetailContainerComponent implements OnInit, OnChanges {\n protected readonly icons = addIcons({ elementBack });\n\n private readonly animationDuration = 500;\n private readonly elementRef = inject(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n\n /**\n * A numeric value defining the minimum width in px, which the container needs\n * to be displayed in its large layout. Whenever smaller than\n * this threshold, the small layout will be used. Default is\n * value is BOOTSTRAP_BREAKPOINTS.mdMinimum.\n *\n * @defaultValue BOOTSTRAP_BREAKPOINTS.mdMinimum\n */\n readonly largeLayoutBreakpoint = input(BOOTSTRAP_BREAKPOINTS.mdMinimum);\n\n /**\n * Whether the main-detail layout component has a large size or not,\n * `true` if the container´s width matches or exceeds the `largeLayoutBreakpoint`.\n */\n hasLargeSize!: boolean;\n\n /**\n * Emits whether the components size is large enough to display\n * main and details views next to each other or not.\n */\n readonly hasLargeSizeChange = output<boolean>();\n\n /**\n * Whether the details are currently active or not, mostly relevant in the\n * responsive scenario when the viewport only shows either the main or the detail.\n *\n * @defaultValue false\n */\n readonly detailsActive = model(false);\n\n /**\n * The heading of the main-detail layout component, usually a page heading.\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Whether the heading should be truncated (single line) or not.\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly truncateHeading = input(false, { transform: booleanAttribute });\n\n /**\n * The heading of the detail area.\n *\n * @defaultValue ''\n */\n readonly detailsHeading = input<TranslatableString>('');\n\n /**\n * Whether the main and detail parts should be resizable by a splitter or not.\n * This is only supported in the 'large' scenario (when `hasLargeSize` is `true`).\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly resizableParts = input(false, { transform: booleanAttribute });\n\n /**\n * You can hide the back button in the mobile view by setting true. Required\n * in add, edit workflows on mobile sizes. During add or edit, the back button\n * should be hidden. Default value is `false`.\n *\n * @defaultValue false\n */\n readonly hideBackButton = input(false, { transform: booleanAttribute });\n\n /**\n * Details back button text. Required for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`)\n * ```\n */\n readonly detailsBackButtonText = input(t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`));\n\n /**\n * CSS class(es) applied to the outermost container. Per default, Bootstrap classes\n * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.\n *\n * @defaultValue 'px-6 pt-6 px-md-9'\n */\n readonly containerClass = input('px-6 pt-6 px-md-9');\n\n /**\n * CSS class(es) applied to the main container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly mainContainerClass = input('pb-6');\n\n /**\n * CSS class(es) applied to the detail container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly detailContainerClass = input('pb-6');\n\n /**\n * The percentage width of the main container from the overall component width.\n * Can be a number or `'default'`, which is 32% when {@link resizableParts} is active, otherwise 50%.\n *\n * @defaultValue 'default'\n */\n readonly mainContainerWidth = model<number | 'default'>('default');\n /**\n * Sets the minimal width of the main container in pixel.\n *\n * @defaultValue 300\n */\n readonly minMainSize = input(300);\n /**\n * Sets the minimal width of the detail container in pixel.\n *\n * @defaultValue 300\n */\n readonly minDetailSize = input(300);\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * The attribute is set to true when the detail area is not visible to ensure that the user\n * can't tab to details area when it is hidden.\n */\n protected preventFocusDetails = false;\n\n private readonly actualMainContainerWidth = computed(() => {\n const mainContainerWidth = this.mainContainerWidth();\n return mainContainerWidth === 'default'\n ? this.resizableParts()\n ? 32\n : 50\n : mainContainerWidth;\n });\n\n protected splitSizes: [number, number] = [\n this.actualMainContainerWidth(),\n 100 - this.actualMainContainerWidth()\n ];\n // The max size to limit the main container in the static flex layout (if less than 50%), otherwise not set.\n protected maxMainSize: string = this.getMaxSize(0);\n // The max size to limit the detail container in the static flex layout (if less than 50%), otherwise not set.\n protected maxDetailSize: string = this.getMaxSize(1);\n\n protected readonly mainStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-main` : undefined;\n });\n\n protected readonly detailStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-detail` : undefined;\n });\n\n protected readonly animate = signal(false);\n\n protected readonly opacity = signal('0');\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.detailsActive) {\n this.updateDetailsFocusable();\n this.doAnimation(changes.detailsActive.currentValue);\n }\n if (changes.mainContainerWidth || changes.resizableParts) {\n this.splitSizes = [this.actualMainContainerWidth(), 100 - this.actualMainContainerWidth()];\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n }\n }\n\n ngOnInit(): void {\n this.resizeObserver\n .observe(this.elementRef.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dimensions => this.determineLayout(dimensions));\n }\n\n protected onSplitSizesChange(sizes: number[]): void {\n this.mainContainerWidth.set(sizes[0]);\n }\n\n protected detailsBackClicked(): void {\n this.detailsActive.set(false);\n this.doAnimation(false);\n }\n\n /**\n * Get the max size to limit in the static flex layout (if less than 50%), otherwise not set\n */\n private getMaxSize(part: 0 | 1): string {\n return this.resizableParts() ||\n this.mainContainerWidth() === 'default' ||\n !this.hasLargeSize ||\n this.splitSizes[part] > 50\n ? ''\n : this.splitSizes[part] + '%';\n }\n\n private determineLayout(dimensions: ElementDimensions): void {\n const newHasLargeSize = dimensions.width >= this.largeLayoutBreakpoint();\n if (this.hasLargeSize !== newHasLargeSize) {\n this.hasLargeSize = newHasLargeSize;\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n this.updateDetailsFocusable();\n this.hasLargeSizeChange.emit(this.hasLargeSize);\n this.changeDetectorRef.markForCheck();\n }\n if (this.opacity() === '0') {\n this.opacity.set('');\n }\n }\n\n private doAnimation(detailsActive: boolean): void {\n this.animate.set(true);\n timer(this.animationDuration)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.animate.set(false));\n this.detailsActive.set(detailsActive);\n }\n\n private updateDetailsFocusable(): void {\n this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();\n }\n}\n","@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n scale=\"none\"\n unit=\"fr\"\n [size]=\"splitSizes[0]\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n scale=\"auto\"\n unit=\"fr\"\n [size]=\"splitSizes[1]\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [class]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [class]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [class]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button type=\"button\" class=\"btn btn-circle btn-secondary\" (click)=\"detailsBackClicked()\">\n <si-icon [icon]=\"icons.elementBack\" />\n <span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span>\n </button>\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-h4 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiMainDetailContainerComponent } from './si-main-detail-container.component';\n\n@NgModule({\n imports: [SiMainDetailContainerComponent],\n exports: [SiMainDetailContainerComponent]\n})\nexport class SiMainDetailContainerModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-main-detail-container.component';\nexport * from './si-main-detail-container.module';\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-main-detail-container.mjs","sources":["../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.ts","../../../../projects/element-ng/main-detail-container/si-main-detail-container.component.html","../../../../projects/element-ng/main-detail-container/si-main-detail-container.module.ts","../../../../projects/element-ng/main-detail-container/index.ts","../../../../projects/element-ng/main-detail-container/siemens-element-ng-main-detail-container.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectorRef,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n OnChanges,\n OnInit,\n output,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementBack } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport {\n BOOTSTRAP_BREAKPOINTS,\n ElementDimensions,\n ResizeObserverService\n} from '@siemens/element-ng/resize-observer';\nimport { SiSplitComponent, SiSplitPartComponent, SplitUnit } from '@siemens/element-ng/split';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { timer } from 'rxjs';\n\n@Component({\n selector: 'si-main-detail-container',\n imports: [\n NgTemplateOutlet,\n SiSplitComponent,\n SiSplitPartComponent,\n SiTranslatePipe,\n SiIconComponent\n ],\n templateUrl: './si-main-detail-container.component.html',\n styleUrl: './si-main-detail-container.component.scss',\n host: {\n class: 'si-layout-inner',\n '[class.animate]': 'animate()',\n '[style.opacity]': 'opacity()'\n }\n})\nexport class SiMainDetailContainerComponent implements OnInit, OnChanges {\n protected readonly icons = addIcons({ elementBack });\n\n private readonly animationDuration = 500;\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly resizeObserver = inject(ResizeObserverService);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly splitElement = viewChild('splitElement', { read: ElementRef });\n private readonly mainSplitPart = viewChild('mainSplitPart', { read: SiSplitPartComponent });\n\n /**\n * A numeric value defining the minimum width in px, which the container needs\n * to be displayed in its large layout. Whenever smaller than\n * this threshold, the small layout will be used. Default is\n * value is BOOTSTRAP_BREAKPOINTS.mdMinimum.\n *\n * @defaultValue BOOTSTRAP_BREAKPOINTS.mdMinimum\n */\n readonly largeLayoutBreakpoint = input(BOOTSTRAP_BREAKPOINTS.mdMinimum);\n\n /**\n * Whether the main-detail layout component has a large size or not,\n * `true` if the container´s width matches or exceeds the `largeLayoutBreakpoint`.\n */\n hasLargeSize!: boolean;\n\n /**\n * Emits whether the components size is large enough to display\n * main and details views next to each other or not.\n */\n readonly hasLargeSizeChange = output<boolean>();\n\n /**\n * Whether the details are currently active or not, mostly relevant in the\n * responsive scenario when the viewport only shows either the main or the detail.\n *\n * @defaultValue false\n */\n readonly detailsActive = model(false);\n\n /**\n * The heading of the main-detail layout component, usually a page heading.\n *\n * @defaultValue ''\n */\n readonly heading = input<TranslatableString>('');\n\n /**\n * Whether the heading should be truncated (single line) or not.\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly truncateHeading = input(false, { transform: booleanAttribute });\n\n /**\n * The heading of the detail area.\n *\n * @defaultValue ''\n */\n readonly detailsHeading = input<TranslatableString>('');\n\n /**\n * Whether the main and detail parts should be resizable by a splitter or not.\n * This is only supported in the 'large' scenario (when `hasLargeSize` is `true`).\n * Default value is `false`.\n *\n * @defaultValue false\n */\n readonly resizableParts = input(false, { transform: booleanAttribute });\n\n /**\n * You can hide the back button in the mobile view by setting true. Required\n * in add, edit workflows on mobile sizes. During add or edit, the back button\n * should be hidden. Default value is `false`.\n *\n * @defaultValue false\n */\n readonly hideBackButton = input(false, { transform: booleanAttribute });\n\n /**\n * Details back button text. Required for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`)\n * ```\n */\n readonly detailsBackButtonText = input(t(() => $localize`:@@SI_MAIN_DETAIL_CONTAINER.BACK:Back`));\n\n /**\n * CSS class(es) applied to the outermost container. Per default, Bootstrap classes\n * to handle responsive paddings are applied: `px-6 pt-6 px-md-9`.\n *\n * @defaultValue 'px-6 pt-6 px-md-9'\n */\n readonly containerClass = input('px-6 pt-6 px-md-9');\n\n /**\n * CSS class(es) applied to the main container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly mainContainerClass = input('pb-6');\n\n /**\n * CSS class(es) applied to the detail container. In combination with `containerClass`,\n * this allows for settings individual padding and margin values on the individual containers.\n *\n * @defaultValue 'pb-6'\n */\n readonly detailContainerClass = input('pb-6');\n\n /**\n * Unit used for the main split part when {@link resizableParts} is enabled.\n *\n * @defaultValue 'px'\n */\n readonly mainContainerWidthUnit = input<SplitUnit>('px');\n\n /**\n * The size of the main container. When {@link resizableParts} is enabled,\n * the value is interpreted using {@link mainContainerWidthUnit} and updates as the splitter is moved.\n * With `mainContainerWidthUnit=\"fr\"`, numeric values must be from `0` to `100` (inclusive).\n * The main and detail fractional weights are the value and `100 - value`;\n * out-of-range values fall back to `32` and `68`.\n * In the static layout, numeric values represent a percentage from `0` to `100`\n * (inclusive); out-of-range values leave both containers without max-size constraints.\n * Pixel widths are not limited to the `0` to `100` range.\n *\n * With `'default'`, resizable pixel layouts use {@link minMainSize}, resizable fractional\n * layouts use main and detail weights of `32` and `68`, and static layouts use `50%`.\n *\n * @defaultValue 'default'\n */\n readonly mainContainerWidth = model<number | 'default'>('default');\n /**\n * Sets the minimal width of the main container in pixel.\n *\n * @defaultValue 300\n */\n readonly minMainSize = input(300);\n /**\n * Sets the minimal width of the detail container in pixel.\n *\n * @defaultValue 300\n */\n readonly minDetailSize = input(300);\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * The attribute is set to true when the detail area is not visible to ensure that the user\n * can't tab to details area when it is hidden.\n */\n protected preventFocusDetails = false;\n\n private readonly actualMainContainerWidth = computed(() => {\n const mainContainerWidth = this.mainContainerWidth();\n if (mainContainerWidth !== 'default') {\n return mainContainerWidth;\n }\n\n if (!this.resizableParts()) {\n return 50;\n }\n\n return this.mainContainerWidthUnit() === 'px' ? this.minMainSize() : 32;\n });\n\n protected splitSizes: [number, number] = this.getSplitSizes();\n // The max size to limit the main container in the static flex layout (if less than 50%), otherwise not set.\n protected maxMainSize: string = this.getMaxSize(0);\n // The max size to limit the detail container in the static flex layout (if less than 50%), otherwise not set.\n protected maxDetailSize: string = this.getMaxSize(1);\n\n protected readonly mainStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-main` : undefined;\n });\n\n protected readonly detailStateId = computed(() => {\n const stateId = this.stateId();\n return stateId ? `${stateId}-detail` : undefined;\n });\n\n protected readonly animate = signal(false);\n\n protected readonly opacity = signal('0');\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.detailsActive) {\n this.updateDetailsFocusable();\n this.doAnimation(changes.detailsActive.currentValue);\n }\n if (\n changes.mainContainerWidth ||\n changes.resizableParts ||\n changes.mainContainerWidthUnit ||\n changes.minMainSize\n ) {\n this.splitSizes = this.getSplitSizes();\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n }\n }\n\n ngOnInit(): void {\n this.resizeObserver\n .observe(this.elementRef.nativeElement, 100, true)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(dimensions => this.determineLayout(dimensions));\n }\n\n protected onSplitSizesChange(sizes: number[]): void {\n if (this.mainContainerWidthUnit() === 'px') {\n this.mainContainerWidth.set(this.getMainSizePx(sizes[0]));\n } else {\n this.mainContainerWidth.set(sizes[0]);\n }\n }\n\n protected detailsBackClicked(): void {\n this.detailsActive.set(false);\n this.doAnimation(false);\n }\n\n /**\n * Get the max size to limit in the static flex layout (if less than 50%), otherwise not set\n */\n private getMaxSize(part: 0 | 1): string {\n const mainContainerWidth = this.mainContainerWidth();\n if (\n this.resizableParts() ||\n mainContainerWidth === 'default' ||\n !this.hasLargeSize ||\n mainContainerWidth < 0 ||\n mainContainerWidth > 100\n ) {\n return '';\n }\n\n const size = part === 0 ? mainContainerWidth : 100 - mainContainerWidth;\n return size > 50 ? '' : size + '%';\n }\n\n private getSplitSizes(): [number, number] {\n const mainSize = this.actualMainContainerWidth();\n if (!this.resizableParts()) {\n return mainSize >= 0 && mainSize <= 100 ? [mainSize, 100 - mainSize] : [50, 50];\n }\n\n if (this.mainContainerWidthUnit() === 'fr') {\n return mainSize >= 0 && mainSize <= 100 ? [mainSize, 100 - mainSize] : [32, 68];\n }\n\n // The main size is in pixels; the detail part fills the remaining space with 1fr.\n return [mainSize, 1];\n }\n\n private getMainSizePx(fallbackPercentage: number): number {\n const mainPartSize = this.mainSplitPart()?.expandedSize();\n if (mainPartSize !== undefined) {\n return Math.round(mainPartSize);\n }\n\n const splitWidth = this.splitElement()?.nativeElement.getBoundingClientRect().width;\n return splitWidth ? Math.round((splitWidth * fallbackPercentage) / 100) : this.minMainSize();\n }\n\n private determineLayout(dimensions: ElementDimensions): void {\n const newHasLargeSize = dimensions.width >= this.largeLayoutBreakpoint();\n if (this.hasLargeSize !== newHasLargeSize) {\n this.hasLargeSize = newHasLargeSize;\n this.maxMainSize = this.getMaxSize(0);\n this.maxDetailSize = this.getMaxSize(1);\n this.updateDetailsFocusable();\n this.hasLargeSizeChange.emit(this.hasLargeSize);\n this.changeDetectorRef.markForCheck();\n }\n if (this.opacity() === '0') {\n this.opacity.set('');\n }\n }\n\n private doAnimation(detailsActive: boolean): void {\n this.animate.set(true);\n timer(this.animationDuration)\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.animate.set(false));\n this.detailsActive.set(detailsActive);\n }\n\n private updateDetailsFocusable(): void {\n this.preventFocusDetails = !this.hasLargeSize && !this.detailsActive();\n }\n}\n","@if (resizableParts() && hasLargeSize) {\n <div class=\"main-detail-layout d-flex flex-column\" [class]=\"containerClass()\">\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <si-split\n #splitElement\n class=\"w-100 flex-grow-1\"\n orientation=\"horizontal\"\n [stateId]=\"stateId()\"\n (sizesChange)=\"onSplitSizesChange($event)\"\n >\n <si-split-part\n #mainSplitPart\n [unit]=\"mainContainerWidthUnit()\"\n [size]=\"splitSizes[0]\"\n [showHeader]=\"false\"\n [minSize]=\"minMainSize()\"\n [stateId]=\"mainStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"mainTemplate\" />\n </si-split-part>\n <si-split-part\n unit=\"fr\"\n [size]=\"splitSizes[1]\"\n [showHeader]=\"false\"\n [minSize]=\"minDetailSize()\"\n [stateId]=\"detailStateId()\"\n >\n <ng-container *ngTemplateOutlet=\"detailTemplate\" />\n </si-split-part>\n </si-split>\n </div>\n} @else {\n <div\n class=\"main-detail-layout d-flex flex-column\"\n [class]=\"containerClass()\"\n [class.large-size]=\"hasLargeSize\"\n >\n <ng-container *ngTemplateOutlet=\"headingTemplate\" />\n <div\n class=\"main-detail-container d-flex flex-grow-1\"\n [class.details-active]=\"detailsActive() && !hasLargeSize\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n mainTemplate;\n context: { customClass: hasLargeSize ? 'col-3 ps-0 pe-4' : 'col-6 px-0' }\n \"\n />\n <ng-container\n *ngTemplateOutlet=\"\n detailTemplate;\n context: { customClass: hasLargeSize ? 'col-9 ps-4 pe-0' : 'col-6 px-0' }\n \"\n />\n </div>\n </div>\n}\n\n<!-- Templates -->\n<ng-template #headingTemplate>\n @if (heading()) {\n <div class=\"si-layout-header\">\n <h2 class=\"si-layout-title si-layout-top-element\" [class.text-truncate]=\"truncateHeading()\">{{\n heading() | translate\n }}</h2>\n </div>\n }\n</ng-template>\n\n<ng-template #mainTemplate let-customClass=\"customClass\">\n <div\n class=\"main-container d-flex flex-column\"\n [class]=\"[mainContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxMainSize\"\n >\n <div class=\"main-search-actions d-flex align-items-center\">\n <ng-content select=\"[slot=mainSearch]\" />\n <ng-content select=\"[slot=mainActions]\" />\n </div>\n <div class=\"main-data-container d-flex\">\n <ng-content select=\"[slot=mainData]\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #detailTemplate let-customClass=\"customClass\">\n <div\n class=\"detail-container d-flex flex-column\"\n [class]=\"[detailContainerClass(), customClass ? customClass : '']\"\n [style.max-inline-size]=\"maxDetailSize\"\n [attr.inert]=\"preventFocusDetails ? '' : null\"\n >\n <div class=\"detail-heading-actions d-flex align-items-center\">\n @if (!this.hasLargeSize && !this.hideBackButton()) {\n <button type=\"button\" class=\"btn btn-circle btn-secondary\" (click)=\"detailsBackClicked()\">\n <si-icon [icon]=\"icons.elementBack\" />\n <span class=\"visually-hidden\">{{ detailsBackButtonText() | translate }}</span>\n </button>\n }\n @if (detailsHeading()) {\n <span class=\"detail-heading si-h4 me-auto ms-6 my-auto text-truncate\">{{\n detailsHeading() | translate\n }}</span>\n }\n <ng-content select=\"[slot=detailActions]\" />\n </div>\n <ng-content select=\"[slot=details]\" />\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiMainDetailContainerComponent } from './si-main-detail-container.component';\n\n@NgModule({\n imports: [SiMainDetailContainerComponent],\n exports: [SiMainDetailContainerComponent]\n})\nexport class SiMainDetailContainerModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-main-detail-container.component';\nexport * from './si-main-detail-container.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -35,14 +35,14 @@ const injectSiMapStyle = (key) => {
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
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)'
|
|
38
|
+
info: 'var(--si-sys-color-background-information)',
|
|
39
|
+
success: 'var(--si-sys-color-background-success)',
|
|
40
|
+
warning: 'var(--si-sys-color-background-warning)',
|
|
41
|
+
danger: 'var(--si-sys-color-background-danger)',
|
|
42
|
+
caution: 'var(--si-sys-color-background-caution)',
|
|
43
|
+
critical: 'var(--si-sys-color-background-critical)',
|
|
44
|
+
default: 'var(--si-sys-color-background-accent)',
|
|
45
|
+
unknown: 'var(--si-sys-color-background-neutral)'
|
|
46
46
|
};
|
|
47
47
|
// Keep the four-color status palette stable for numeric group IDs.
|
|
48
48
|
const GROUP_STATUS_COLORS = [
|
|
@@ -52,16 +52,16 @@ const GROUP_STATUS_COLORS = [
|
|
|
52
52
|
MARKER_STATUS_COLORS.danger
|
|
53
53
|
];
|
|
54
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)'
|
|
55
|
+
'var(--si-sys-color-data-sequential-red-2)',
|
|
56
|
+
'var(--si-sys-color-data-sequential-orange-4)',
|
|
57
|
+
'var(--si-sys-color-background-caution)',
|
|
58
|
+
'var(--si-sys-color-data-sequential-green-2)',
|
|
59
|
+
'var(--si-sys-color-background-information)',
|
|
60
|
+
'var(--si-sys-color-data-categorial-1)',
|
|
61
|
+
'var(--si-sys-color-data-categorial-17)'
|
|
62
62
|
];
|
|
63
|
-
const UNGROUPED_COLOR = 'var(--si-sys-background-accent)';
|
|
64
|
-
const SEPARATOR_COLOR = 'var(--si-sys-background-1)';
|
|
63
|
+
const UNGROUPED_COLOR = 'var(--si-sys-color-background-accent)';
|
|
64
|
+
const SEPARATOR_COLOR = 'var(--si-sys-color-background-1)';
|
|
65
65
|
const CHART_FRAGMENTS = 20;
|
|
66
66
|
const SEPARATOR_DEGREES = 2;
|
|
67
67
|
/** @internal */
|
|
@@ -186,11 +186,11 @@ class SiClusterMarkerComponent {
|
|
|
186
186
|
this.markerClick.emit();
|
|
187
187
|
}
|
|
188
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" }] });
|
|
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-color-background-1);border-radius:50%;background:var(--si-cluster-gradient);color:var(--si-sys-color-text-primary);cursor:pointer}.cluster-marker:before{position:absolute;inset:20%;border-radius:50%;background:var(--si-sys-color-background-1);content:\"\"}.cluster-marker:focus-visible{outline:var(--element-button-focus-width) solid var(--si-sys-color-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
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiClusterMarkerComponent, decorators: [{
|
|
192
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"] }]
|
|
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-color-background-1);border-radius:50%;background:var(--si-cluster-gradient);color:var(--si-sys-color-text-primary);cursor:pointer}.cluster-marker:before{position:absolute;inset:20%;border-radius:50%;background:var(--si-sys-color-background-1);content:\"\"}.cluster-marker:focus-visible{outline:var(--element-button-focus-width) solid var(--si-sys-color-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
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
195
|
|
|
196
196
|
/**
|
|
@@ -378,14 +378,14 @@ class SiStatusMarkerComponent {
|
|
|
378
378
|
status = input('default', /* @ts-ignore */
|
|
379
379
|
...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
|
|
380
380
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiStatusMarkerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
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"] });
|
|
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-color-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"] });
|
|
382
382
|
}
|
|
383
383
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SiStatusMarkerComponent, decorators: [{
|
|
384
384
|
type: Component,
|
|
385
385
|
args: [{ selector: 'si-status-marker', host: {
|
|
386
386
|
class: 'si-status-marker',
|
|
387
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"] }]
|
|
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-color-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"] }]
|
|
389
389
|
}], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }] } });
|
|
390
390
|
|
|
391
391
|
/**
|