@siemens/element-ng 47.7.0 → 47.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dashboard/index.d.ts +17 -0
- package/dashboard/package.json +3 -0
- package/dashboard/si-dashboard-card.component.d.ts +82 -0
- package/dashboard/si-dashboard.component.d.ts +75 -0
- package/dashboard/si-dashboard.module.d.ts +8 -0
- package/dashboard/si-dashboard.service.d.ts +21 -0
- package/dashboard/widgets/si-link-widget.component.d.ts +25 -0
- package/dashboard/widgets/si-list-widget/si-list-widget-body.component.d.ts +98 -0
- package/dashboard/widgets/si-list-widget/si-list-widget-item.component.d.ts +39 -0
- package/dashboard/widgets/si-list-widget/si-list-widget.component.d.ts +115 -0
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget-body.component.d.ts +21 -0
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget-item.component.d.ts +103 -0
- package/dashboard/widgets/si-timeline-widget/si-timeline-widget.component.d.ts +52 -0
- package/dashboard/widgets/si-value-widget-body.component.d.ts +33 -0
- package/dashboard/widgets/si-value-widget.component.d.ts +115 -0
- package/dashboard/widgets/si-widget-base.component.d.ts +48 -0
- package/fesm2022/siemens-element-ng-accordion.mjs +7 -7
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +11 -11
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +4 -4
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +7 -7
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +4 -4
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +1170 -0
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-datepicker.mjs +16 -16
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +3 -2
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +3 -3
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +6 -6
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +5 -1
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +2 -2
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +12 -12
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +4 -4
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +4 -4
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +2 -2
- package/fesm2022/siemens-element-ng-number-input.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 +2 -2
- 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-popover-next.mjs +2 -2
- package/fesm2022/siemens-element-ng-popover-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +2 -2
- package/fesm2022/siemens-element-ng-resize-observer.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 +9 -9
- package/fesm2022/siemens-element-ng-select.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-status-toggle.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-next.mjs +2 -2
- package/fesm2022/siemens-element-ng-tabs-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +4 -4
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +2 -2
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +33 -47
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +3 -3
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +2 -2
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/icon/element-icons.d.ts +4 -0
- package/package.json +7 -3
- package/template-i18n.json +5 -0
- package/translate/si-translatable-keys.interface.d.ts +5 -0
- package/tree-view/si-tree-view-item/si-tree-view-item.component.d.ts +3 -4
- package/tree-view/si-tree-view.component.d.ts +9 -8
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { OnChanges } from '@angular/core';
|
|
2
|
+
import { AccentLineType, MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';
|
|
3
|
+
import { ContentActionBarMainItem } from '@siemens/element-ng/content-action-bar';
|
|
4
|
+
import { Link } from '@siemens/element-ng/link';
|
|
5
|
+
import { MenuItem } from '@siemens/element-ng/menu';
|
|
6
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
7
|
+
import { SiWidgetBaseComponent } from '../si-widget-base.component';
|
|
8
|
+
import { SiTimelineWidgetItem } from './si-timeline-widget-item.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class SiTimelineWidgetComponent extends SiWidgetBaseComponent<SiTimelineWidgetItem[]> implements OnChanges {
|
|
11
|
+
/**
|
|
12
|
+
* Timeline widget header text.
|
|
13
|
+
*/
|
|
14
|
+
readonly heading: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Input list of primary action items. Supports up to **4** actions and omits additional ones.
|
|
17
|
+
*
|
|
18
|
+
* @defaultValue []
|
|
19
|
+
*/
|
|
20
|
+
readonly primaryActions: import("@angular/core").InputSignal<(MenuItemLegacy | ContentActionBarMainItem)[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Input list of secondary action items.
|
|
23
|
+
*
|
|
24
|
+
* @defaultValue []
|
|
25
|
+
*/
|
|
26
|
+
readonly secondaryActions: import("@angular/core").InputSignal<(MenuItemLegacy | MenuItem)[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Link that leads the user to more information
|
|
29
|
+
* or triggers and action. The `link.title` is displayed.
|
|
30
|
+
* The title will be translated.
|
|
31
|
+
*/
|
|
32
|
+
readonly link: import("@angular/core").InputSignal<Link | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Number of skeleton progress indication items.
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue 4
|
|
37
|
+
*/
|
|
38
|
+
readonly numberOfItems: import("@angular/core").InputSignal<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Whether to show or hide the description row during skeleton progress indication.
|
|
41
|
+
*
|
|
42
|
+
* @defaultValue `true`
|
|
43
|
+
*/
|
|
44
|
+
readonly showDescription: import("@angular/core").InputSignal<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Optional accent line
|
|
47
|
+
*/
|
|
48
|
+
readonly accentLine: import("@angular/core").InputSignal<AccentLineType | undefined>;
|
|
49
|
+
protected readonly accentClass: import("@angular/core").Signal<string>;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiTimelineWidgetComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiTimelineWidgetComponent, "si-timeline-widget", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "primaryActions": { "alias": "primaryActions"; "required": false; "isSignal": true; }; "secondaryActions": { "alias": "secondaryActions"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "numberOfItems": { "alias": "numberOfItems"; "required": false; "isSignal": true; }; "showDescription": { "alias": "showDescription"; "required": false; "isSignal": true; }; "accentLine": { "alias": "accentLine"; "required": false; "isSignal": true; }; }, {}, never, ["[empty-state]"], true, never>;
|
|
52
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Siemens 2016 - 2025
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { OnInit } from '@angular/core';
|
|
6
|
+
import { EntityStatusType } from '@siemens/element-ng/common';
|
|
7
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
8
|
+
import { SiWidgetBaseComponent } from './si-widget-base.component';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
/**
|
|
11
|
+
* The body of the `<si-value-widget>`. Useful for compositions.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SiValueWidgetBodyComponent extends SiWidgetBaseComponent<TranslatableString> implements OnInit {
|
|
14
|
+
/**
|
|
15
|
+
* The unit of the value (e.g. kWh or users). Only visible if `value` is available.
|
|
16
|
+
*/
|
|
17
|
+
readonly unit: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
18
|
+
/**
|
|
19
|
+
* The element icon name. Only visible if `value` is available.
|
|
20
|
+
*/
|
|
21
|
+
readonly icon: import("@angular/core").InputSignal<string | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Show a status icon instead of the {@link icon}.
|
|
24
|
+
*/
|
|
25
|
+
readonly status: import("@angular/core").InputSignal<EntityStatusType | undefined>;
|
|
26
|
+
/**
|
|
27
|
+
* Short description of the value. A description is mandatory
|
|
28
|
+
* to show an icon. Only visible if `value` is available.
|
|
29
|
+
*/
|
|
30
|
+
readonly description: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
31
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiValueWidgetBodyComponent, never>;
|
|
32
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiValueWidgetBodyComponent, "si-value-widget-body", never, { "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { AccentLineType, EntityStatusType, MenuItem as MenuItemLegacy } from '@siemens/element-ng/common';
|
|
2
|
+
import { ContentActionBarMainItem } from '@siemens/element-ng/content-action-bar';
|
|
3
|
+
import { Link } from '@siemens/element-ng/link';
|
|
4
|
+
import { MenuItem } from '@siemens/element-ng/menu';
|
|
5
|
+
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Is a dynamic UI component that not only displays information, but also includes
|
|
9
|
+
* embedded actions which the user can interact with to perform tasks directly
|
|
10
|
+
* related to the card's content. Actions might include editing settings,
|
|
11
|
+
* initiating processes, or deleting resources.
|
|
12
|
+
*
|
|
13
|
+
* The actionable widget turns data representation into an interactive hub,
|
|
14
|
+
* streamlining the user's tasks and decisions associated with the card's content.
|
|
15
|
+
*
|
|
16
|
+
* This component is a wrapper using the `.si-value-widget` CSS classes and the
|
|
17
|
+
* `<si-card>` component. For more configuration options, use the CSS classes directly.
|
|
18
|
+
*/
|
|
19
|
+
export declare class SiValueWidgetComponent {
|
|
20
|
+
/**
|
|
21
|
+
* Value widget header text.
|
|
22
|
+
*/
|
|
23
|
+
readonly heading: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
24
|
+
/**
|
|
25
|
+
* Input list of primary action items. Supports up to **4** actions and omits additional ones.
|
|
26
|
+
*
|
|
27
|
+
* @defaultValue []
|
|
28
|
+
*/
|
|
29
|
+
readonly primaryActions: import("@angular/core").InputSignal<(MenuItemLegacy | ContentActionBarMainItem)[]>;
|
|
30
|
+
/**
|
|
31
|
+
* Input list of secondary action items.
|
|
32
|
+
*
|
|
33
|
+
* @defaultValue []
|
|
34
|
+
*/
|
|
35
|
+
readonly secondaryActions: import("@angular/core").InputSignal<(MenuItemLegacy | MenuItem)[]>;
|
|
36
|
+
/**
|
|
37
|
+
* The main value to be displayed. If no value is set,
|
|
38
|
+
* the skeleton indicates the loading of the value. Disable
|
|
39
|
+
* the automatic loading mechanism by setting `SiValueWidgetComponent.disableAutoLoadingIndicator`.
|
|
40
|
+
*/
|
|
41
|
+
readonly value: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
42
|
+
/**
|
|
43
|
+
* The unit of the value (e.g. kWh or users). Only visible if `value` is available.
|
|
44
|
+
*/
|
|
45
|
+
readonly unit: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* The element icon name. Only visible if `value` is available.
|
|
48
|
+
*/
|
|
49
|
+
readonly icon: import("@angular/core").InputSignal<string | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Show a status icon instead of the {@link icon}.
|
|
52
|
+
*/
|
|
53
|
+
readonly status: import("@angular/core").InputSignal<EntityStatusType | undefined>;
|
|
54
|
+
/**
|
|
55
|
+
* Short description of the value. A description is mandatory
|
|
56
|
+
* to show an icon. Only visible if `value` is available.
|
|
57
|
+
*/
|
|
58
|
+
readonly description: import("@angular/core").InputSignal<TranslatableString | undefined>;
|
|
59
|
+
/**
|
|
60
|
+
* Link that leads the user to more information
|
|
61
|
+
* or triggers and action. The `link.title` is displayed.
|
|
62
|
+
* The title will be translated.
|
|
63
|
+
*/
|
|
64
|
+
readonly link: import("@angular/core").InputSignal<Link | undefined>;
|
|
65
|
+
/**
|
|
66
|
+
* Option to disable automatic start of skeleton loading indication.
|
|
67
|
+
*
|
|
68
|
+
* @defaultValue false
|
|
69
|
+
*/
|
|
70
|
+
readonly disableAutoLoadingIndicator: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
71
|
+
/**
|
|
72
|
+
* Input to start and stop the skeleton loading indication.
|
|
73
|
+
*
|
|
74
|
+
* @defaultValue false
|
|
75
|
+
*/
|
|
76
|
+
readonly showLoadingIndicator: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
77
|
+
/**
|
|
78
|
+
* Initial delay time in milliseconds before enabling loading indicator.
|
|
79
|
+
* Only used once initially during construction.
|
|
80
|
+
*
|
|
81
|
+
* @defaultValue 300
|
|
82
|
+
*/
|
|
83
|
+
readonly initialLoadingIndicatorDebounceTime: import("@angular/core").InputSignal<number>;
|
|
84
|
+
/**
|
|
85
|
+
* Image source for the card.
|
|
86
|
+
*/
|
|
87
|
+
readonly imgSrc: import("@angular/core").InputSignal<string | undefined>;
|
|
88
|
+
/**
|
|
89
|
+
* Alt text for a provided image.
|
|
90
|
+
*/
|
|
91
|
+
readonly imgAlt: import("@angular/core").InputSignal<string | undefined>;
|
|
92
|
+
/**
|
|
93
|
+
* Defines if an image is placed on top or start (left) of the card.
|
|
94
|
+
*
|
|
95
|
+
* @defaultValue 'vertical'
|
|
96
|
+
*/
|
|
97
|
+
readonly imgDir: import("@angular/core").InputSignal<"horizontal" | "vertical">;
|
|
98
|
+
/**
|
|
99
|
+
* Sets the image [object-fit](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) CSS property.
|
|
100
|
+
*
|
|
101
|
+
* @defaultValue 'scale-down'
|
|
102
|
+
*/
|
|
103
|
+
readonly imgObjectFit: import("@angular/core").InputSignal<"fill" | "contain" | "cover" | "none" | "scale-down">;
|
|
104
|
+
/**
|
|
105
|
+
* Sets the image [object-position](https://developer.mozilla.org/en-US/docs/Web/CSS/object-position) CSS property.
|
|
106
|
+
*/
|
|
107
|
+
readonly imgObjectPosition: import("@angular/core").InputSignal<string | undefined>;
|
|
108
|
+
/**
|
|
109
|
+
* Optional accent line
|
|
110
|
+
*/
|
|
111
|
+
readonly accentLine: import("@angular/core").InputSignal<AccentLineType | undefined>;
|
|
112
|
+
protected readonly accentClass: import("@angular/core").Signal<string>;
|
|
113
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiValueWidgetComponent, never>;
|
|
114
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiValueWidgetComponent, "si-value-widget", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "primaryActions": { "alias": "primaryActions"; "required": false; "isSignal": true; }; "secondaryActions": { "alias": "secondaryActions"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; "disableAutoLoadingIndicator": { "alias": "disableAutoLoadingIndicator"; "required": false; "isSignal": true; }; "showLoadingIndicator": { "alias": "showLoadingIndicator"; "required": false; "isSignal": true; }; "initialLoadingIndicatorDebounceTime": { "alias": "initialLoadingIndicatorDebounceTime"; "required": false; "isSignal": true; }; "imgSrc": { "alias": "imgSrc"; "required": false; "isSignal": true; }; "imgAlt": { "alias": "imgAlt"; "required": false; "isSignal": true; }; "imgDir": { "alias": "imgDir"; "required": false; "isSignal": true; }; "imgObjectFit": { "alias": "imgObjectFit"; "required": false; "isSignal": true; }; "imgObjectPosition": { "alias": "imgObjectPosition"; "required": false; "isSignal": true; }; "accentLine": { "alias": "accentLine"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
115
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Siemens 2016 - 2025
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import { ChangeDetectorRef, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* The SiWidgetBaseComponent<T> implements the timing for the skeleton loading
|
|
9
|
+
* indicator of widgets. It supports a generic value input property that represents
|
|
10
|
+
* the main value to be displayed by a widget. When the value is not set, the `showLoadingIndicator`
|
|
11
|
+
* changes after the `initialLoadingIndicatorDebounceTime` delay to `true` and subclasses
|
|
12
|
+
* should show the skeleton loading indicator.
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class SiWidgetBaseComponent<T> implements OnInit, OnChanges {
|
|
15
|
+
/**
|
|
16
|
+
* The main value to be displayed. If no value is set,
|
|
17
|
+
* the skeleton indicates the loading of the value. Disable
|
|
18
|
+
* the automatic loading mechanism by setting `SiWidgetBodyBaseComponent.disableAutoLoadingIndicator`.
|
|
19
|
+
*/
|
|
20
|
+
readonly value: import("@angular/core").InputSignal<T | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Option to disable automatic start of skeleton loading indication.
|
|
23
|
+
*
|
|
24
|
+
* @defaultValue false
|
|
25
|
+
*/
|
|
26
|
+
readonly disableAutoLoadingIndicator: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Input to start and stop the skeleton loading indication.
|
|
29
|
+
*
|
|
30
|
+
* @defaultValue false
|
|
31
|
+
*/
|
|
32
|
+
readonly showLoadingIndicatorInput: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
private readonly showLoadingIndicatorInternal;
|
|
34
|
+
readonly showLoadingIndicator: import("@angular/core").Signal<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Initial delay time in milliseconds before enabling loading indicator.
|
|
37
|
+
* Only used once initially during construction.
|
|
38
|
+
*
|
|
39
|
+
* @defaultValue 300
|
|
40
|
+
*/
|
|
41
|
+
readonly initialLoadingIndicatorDebounceTime: import("@angular/core").InputSignal<number>;
|
|
42
|
+
protected cdRef: ChangeDetectorRef;
|
|
43
|
+
protected loadingTimer?: ReturnType<typeof setTimeout>;
|
|
44
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
45
|
+
ngOnInit(): void;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SiWidgetBaseComponent<any>, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SiWidgetBaseComponent<any>, "ng-component", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "disableAutoLoadingIndicator": { "alias": "disableAutoLoadingIndicator"; "required": false; "isSignal": true; }; "showLoadingIndicatorInput": { "alias": "showLoadingIndicator"; "required": false; "isSignal": true; }; "initialLoadingIndicatorDebounceTime": { "alias": "initialLoadingIndicatorDebounceTime"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
48
|
+
}
|
|
@@ -207,7 +207,12 @@ class SiCollapsiblePanelComponent {
|
|
|
207
207
|
}
|
|
208
208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiCollapsiblePanelComponent, decorators: [{
|
|
209
209
|
type: Component,
|
|
210
|
-
args: [{ selector: 'si-collapsible-panel', imports: [NgClass, SiIconNextComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush,
|
|
210
|
+
args: [{ selector: 'si-collapsible-panel', imports: [NgClass, SiIconNextComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
211
|
+
'[class]': 'colorVariant()',
|
|
212
|
+
'[class.opened]': 'opened()',
|
|
213
|
+
'[class.hcollapsed]': 'hcollapsed()',
|
|
214
|
+
'[class.full-height]': 'fullHeight()'
|
|
215
|
+
}, animations: [
|
|
211
216
|
trigger('showHide', [
|
|
212
217
|
transition('*=>hide', [
|
|
213
218
|
style({ overflow: 'hidden' }),
|
|
@@ -218,12 +223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
218
223
|
query(':enter', [style({ blockSize: '0' }), animate('0.5s ease', style({ blockSize: '*' }))], { optional: true })
|
|
219
224
|
])
|
|
220
225
|
])
|
|
221
|
-
], host: {
|
|
222
|
-
'[class]': 'colorVariant()',
|
|
223
|
-
'[class.opened]': 'opened()',
|
|
224
|
-
'[class.hcollapsed]': 'hcollapsed()',
|
|
225
|
-
'[class.full-height]': 'fullHeight()'
|
|
226
|
-
}, template: "<div\n class=\"collapsible-header focus-inside px-6\"\n role=\"button\"\n [ngClass]=\"headerCssClasses()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [title]=\"hcollapsed() ? (heading() | translate) : ''\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon-next\n class=\"icon ms-n2 me-2\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-title-2 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span class=\"badge autohide\" [ngClass]=\"'bg-' + badgeColor()\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto overflow-hidden\">\n <si-icon-next class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n class=\"collapsible-content\"\n role=\"region\"\n [id]=\"controlId\"\n [ngClass]=\"contentBgClasses()\"\n [@showHide]=\"showHide\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div>\n <div [ngClass]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled)}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;display:flex;flex-direction:column;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}\n"] }]
|
|
226
|
+
], template: "<div\n class=\"collapsible-header focus-inside px-6\"\n role=\"button\"\n [ngClass]=\"headerCssClasses()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [title]=\"hcollapsed() ? (heading() | translate) : ''\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon-next\n class=\"icon ms-n2 me-2\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-title-2 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span class=\"badge autohide\" [ngClass]=\"'bg-' + badgeColor()\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto overflow-hidden\">\n <si-icon-next class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n class=\"collapsible-content\"\n role=\"region\"\n [id]=\"controlId\"\n [ngClass]=\"contentBgClasses()\"\n [@showHide]=\"showHide\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div>\n <div [ngClass]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled)}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;display:flex;flex-direction:column;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}\n"] }]
|
|
227
227
|
}], ctorParameters: () => [] });
|
|
228
228
|
|
|
229
229
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-accordion.mjs","sources":["../../../../projects/element-ng/accordion/si-accordion-hcollapse.service.ts","../../../../projects/element-ng/accordion/si-accordion.service.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.html","../../../../projects/element-ng/accordion/si-accordion.component.ts","../../../../projects/element-ng/accordion/si-accordion.module.ts","../../../../projects/element-ng/accordion/index.ts","../../../../projects/element-ng/accordion/siemens-element-ng-accordion.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionHCollapseService {\n /**\n * Emitting the current horizontal collapsed state.\n *\n * @defaultValue undefined\n */\n readonly hcollapsed = signal<boolean | undefined>(undefined);\n /**\n * Subject to emit to open the accordion.\n */\n readonly open$ = new Subject();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionService {\n /**\n * Emit an item in the accordion which should be toggled.\n */\n readonly toggle$ = new Subject<any>();\n /**\n * Subject to emit when the items should be expanded to their full height or restored to normal height.\n *\n * @defaultValue null\n */\n readonly fullHeight = signal<boolean | null>(null);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { animate, query, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n output,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { areAnimationsDisabled, BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, elementDown2, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\nimport { filter } from 'rxjs';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\n\nlet controlIdCounter = 1;\n\n@Component({\n selector: 'si-collapsible-panel',\n imports: [NgClass, SiIconNextComponent, SiTranslatePipe],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('showHide', [\n transition('*=>hide', [\n style({ overflow: 'hidden' }),\n query(\n ':leave',\n [style({ blockSize: '*' }), animate('0.5s ease', style({ blockSize: '0' }))],\n { optional: true }\n )\n ]),\n transition('*=>show', [\n style({ overflow: 'hidden' }),\n query(\n ':enter',\n [style({ blockSize: '0' }), animate('0.5s ease', style({ blockSize: '*' }))],\n { optional: true }\n )\n ])\n ])\n ],\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<string>();\n /**\n * Additional CSS classes for the top element.\n *\n * @defaultValue ''\n */\n readonly headerCssClasses = input('');\n /**\n * Additional CSS classes for the collapsible content region.\n *\n * @defaultValue ''\n */\n readonly contentBgClasses = input('');\n /**\n * Additional CSS classes for the wrapping content element.\n *\n * @defaultValue ''\n */\n readonly contentCssClasses = input('');\n /**\n * Expand/collapse the panel.\n *\n * @defaultValue false\n */\n readonly opened = model(false);\n /**\n * The icon to be displayed besides the heading.\n */\n readonly icon = input<string>();\n /**\n * Whether the si-collapsible-panel is disabled.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /** Color to use for component background */\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Defines the content of the optional badge. Should be a number or something like \"100+\".\n * if undefined or empty string, no badge is displayed\n */\n readonly badge = input<string | number>();\n /**\n * Defines the background color of the badge. Default is specific to Element flavour.\n */\n readonly badgeColor = input<string>();\n\n /**\n * An event emitted when the user triggered expand/collapse and emit with the new open state.\n * The event is emitted before the animation happens.\n */\n readonly panelToggle = output<boolean>();\n\n /**\n * An event emitted when the user triggered expand/collapse.\n * The event is emitted before the animation happens.\n * @deprecated use {@link panelToggle} instead\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly toggle = output<boolean>();\n\n protected readonly hcollapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? false\n );\n protected readonly fullHeight = computed(() => this.accordionService?.fullHeight() ?? false);\n protected controlId = '__si-collapsible-' + controlIdCounter++;\n protected headerId = this.controlId + '-header';\n protected isHCollapsible = false;\n protected readonly icons = addIcons({ elementDown2 });\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n private enableAnimation = true;\n private readonly animationsGloballyDisabled = areAnimationsDisabled();\n private lastScrollPos = 0;\n private readonly contentRef = viewChild.required<ElementRef<HTMLElement>>('content');\n\n constructor() {\n this.isHCollapsible = !!this.accordionHCollapseService;\n this.accordionService?.toggle$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\n\n this.panelToggle.subscribe(open => this.toggle.emit(open));\n }\n\n protected get showHide(): string {\n if (this.enableAnimation && !this.animationsGloballyDisabled) {\n return this.opened() ? 'show' : 'hide';\n }\n return 'disabled';\n }\n\n /**\n * Expand/collapse panel.\n * @param open - indicate the panel shall open or close\n * @param enableAnimation - with animation\n */\n openClose(open: boolean, enableAnimation = true): void {\n this.opened.set(open);\n this.enableAnimation = enableAnimation;\n\n if (open) {\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n this.lastScrollPos = this.contentRef().nativeElement.scrollTop;\n }\n }\n\n protected doToggle(event?: Event): void {\n if (this.disabled()) {\n return;\n }\n\n event?.preventDefault();\n const opened = this.opened();\n this.panelToggle.emit(!opened);\n this.openClose(this.hcollapsed() || !opened);\n this.accordionService?.toggle$.next(this);\n if (this.hcollapsed()) {\n this.accordionHCollapseService?.open$.next(this);\n }\n }\n\n protected keydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === 'Space' || event.key === ' ') {\n this.doToggle(undefined);\n }\n }\n}\n","<div\n class=\"collapsible-header focus-inside px-6\"\n role=\"button\"\n [ngClass]=\"headerCssClasses()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [title]=\"hcollapsed() ? (heading() | translate) : ''\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon-next\n class=\"icon ms-n2 me-2\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-title-2 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span class=\"badge autohide\" [ngClass]=\"'bg-' + badgeColor()\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto overflow-hidden\">\n <si-icon-next class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n class=\"collapsible-content\"\n role=\"region\"\n [id]=\"controlId\"\n [ngClass]=\"contentBgClasses()\"\n [@showHide]=\"showHide\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div>\n <div [ngClass]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n ElementRef,\n inject,\n input,\n OnChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\nconst PANEL_MIN_HEIGHT = 100;\n\n@Component({\n selector: 'si-accordion',\n template: '<div><ng-content /></div>',\n providers: [SiAccordionService],\n styleUrl: './si-accordion.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.full-height]': 'fullHeight()',\n '[class.hcollapsed]': 'collapsed()'\n }\n})\nexport class SiAccordionComponent implements AfterContentInit, OnChanges {\n /** @defaultValue true */\n readonly expandFirstPanel = input(true, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly fullHeight = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly hcollapsed = input(false);\n /**\n * Color to use for component background\n * @deprecated This has no effect anymore. Will be removed in v48\n **/\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Indicate whether the accordion is collapsed.\n * @internal\n */\n readonly collapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? this.hcollapsed()\n );\n\n private readonly panels = contentChildren(SiCollapsiblePanelComponent);\n private responsive = false;\n private destroyer = inject(DestroyRef);\n private service = inject(SiAccordionService);\n private resizeObserver = inject(ResizeObserverService);\n private element = inject(ElementRef);\n private accordionHCollapseService = inject(SiAccordionHCollapseService, { optional: true });\n\n ngOnChanges(): void {\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n\n ngAfterContentInit(): void {\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true, true)\n .pipe(takeUntilDestroyed(this.destroyer))\n .subscribe(() => this.calcFullHeight());\n\n this.panels().at(0)?.openClose(this.expandFirstPanel(), false);\n }\n\n private calcFullHeight(): void {\n if (this.panels?.length) {\n const height = (this.element.nativeElement as HTMLElement).offsetHeight;\n this.responsive = !this.hcollapsed() && height < this.panels.length * PANEL_MIN_HEIGHT;\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAccordionComponent } from './si-accordion.component';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\n@NgModule({\n imports: [SiAccordionComponent, SiCollapsiblePanelComponent],\n exports: [SiAccordionComponent, SiCollapsiblePanelComponent]\n})\nexport class SiAccordionModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-collapsible-panel.component';\nexport * from './si-accordion.component';\nexport * from './si-accordion.service';\nexport * from './si-accordion-hcollapse.service';\nexport * from './si-accordion.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-accordion.mjs","sources":["../../../../projects/element-ng/accordion/si-accordion-hcollapse.service.ts","../../../../projects/element-ng/accordion/si-accordion.service.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.html","../../../../projects/element-ng/accordion/si-accordion.component.ts","../../../../projects/element-ng/accordion/si-accordion.module.ts","../../../../projects/element-ng/accordion/index.ts","../../../../projects/element-ng/accordion/siemens-element-ng-accordion.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionHCollapseService {\n /**\n * Emitting the current horizontal collapsed state.\n *\n * @defaultValue undefined\n */\n readonly hcollapsed = signal<boolean | undefined>(undefined);\n /**\n * Subject to emit to open the accordion.\n */\n readonly open$ = new Subject();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionService {\n /**\n * Emit an item in the accordion which should be toggled.\n */\n readonly toggle$ = new Subject<any>();\n /**\n * Subject to emit when the items should be expanded to their full height or restored to normal height.\n *\n * @defaultValue null\n */\n readonly fullHeight = signal<boolean | null>(null);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { animate, query, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n output,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { areAnimationsDisabled, BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, elementDown2, SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\nimport { filter } from 'rxjs';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\n\nlet controlIdCounter = 1;\n\n@Component({\n selector: 'si-collapsible-panel',\n imports: [NgClass, SiIconNextComponent, SiTranslatePipe],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()'\n },\n animations: [\n trigger('showHide', [\n transition('*=>hide', [\n style({ overflow: 'hidden' }),\n query(\n ':leave',\n [style({ blockSize: '*' }), animate('0.5s ease', style({ blockSize: '0' }))],\n { optional: true }\n )\n ]),\n transition('*=>show', [\n style({ overflow: 'hidden' }),\n query(\n ':enter',\n [style({ blockSize: '0' }), animate('0.5s ease', style({ blockSize: '*' }))],\n { optional: true }\n )\n ])\n ])\n ]\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<string>();\n /**\n * Additional CSS classes for the top element.\n *\n * @defaultValue ''\n */\n readonly headerCssClasses = input('');\n /**\n * Additional CSS classes for the collapsible content region.\n *\n * @defaultValue ''\n */\n readonly contentBgClasses = input('');\n /**\n * Additional CSS classes for the wrapping content element.\n *\n * @defaultValue ''\n */\n readonly contentCssClasses = input('');\n /**\n * Expand/collapse the panel.\n *\n * @defaultValue false\n */\n readonly opened = model(false);\n /**\n * The icon to be displayed besides the heading.\n */\n readonly icon = input<string>();\n /**\n * Whether the si-collapsible-panel is disabled.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /** Color to use for component background */\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Defines the content of the optional badge. Should be a number or something like \"100+\".\n * if undefined or empty string, no badge is displayed\n */\n readonly badge = input<string | number>();\n /**\n * Defines the background color of the badge. Default is specific to Element flavour.\n */\n readonly badgeColor = input<string>();\n\n /**\n * An event emitted when the user triggered expand/collapse and emit with the new open state.\n * The event is emitted before the animation happens.\n */\n readonly panelToggle = output<boolean>();\n\n /**\n * An event emitted when the user triggered expand/collapse.\n * The event is emitted before the animation happens.\n * @deprecated use {@link panelToggle} instead\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly toggle = output<boolean>();\n\n protected readonly hcollapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? false\n );\n protected readonly fullHeight = computed(() => this.accordionService?.fullHeight() ?? false);\n protected controlId = '__si-collapsible-' + controlIdCounter++;\n protected headerId = this.controlId + '-header';\n protected isHCollapsible = false;\n protected readonly icons = addIcons({ elementDown2 });\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n private enableAnimation = true;\n private readonly animationsGloballyDisabled = areAnimationsDisabled();\n private lastScrollPos = 0;\n private readonly contentRef = viewChild.required<ElementRef<HTMLElement>>('content');\n\n constructor() {\n this.isHCollapsible = !!this.accordionHCollapseService;\n this.accordionService?.toggle$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\n\n this.panelToggle.subscribe(open => this.toggle.emit(open));\n }\n\n protected get showHide(): string {\n if (this.enableAnimation && !this.animationsGloballyDisabled) {\n return this.opened() ? 'show' : 'hide';\n }\n return 'disabled';\n }\n\n /**\n * Expand/collapse panel.\n * @param open - indicate the panel shall open or close\n * @param enableAnimation - with animation\n */\n openClose(open: boolean, enableAnimation = true): void {\n this.opened.set(open);\n this.enableAnimation = enableAnimation;\n\n if (open) {\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n this.lastScrollPos = this.contentRef().nativeElement.scrollTop;\n }\n }\n\n protected doToggle(event?: Event): void {\n if (this.disabled()) {\n return;\n }\n\n event?.preventDefault();\n const opened = this.opened();\n this.panelToggle.emit(!opened);\n this.openClose(this.hcollapsed() || !opened);\n this.accordionService?.toggle$.next(this);\n if (this.hcollapsed()) {\n this.accordionHCollapseService?.open$.next(this);\n }\n }\n\n protected keydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === 'Space' || event.key === ' ') {\n this.doToggle(undefined);\n }\n }\n}\n","<div\n class=\"collapsible-header focus-inside px-6\"\n role=\"button\"\n [ngClass]=\"headerCssClasses()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [title]=\"hcollapsed() ? (heading() | translate) : ''\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon-next\n class=\"icon ms-n2 me-2\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-title-2 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span class=\"badge autohide\" [ngClass]=\"'bg-' + badgeColor()\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto overflow-hidden\">\n <si-icon-next class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n class=\"collapsible-content\"\n role=\"region\"\n [id]=\"controlId\"\n [ngClass]=\"contentBgClasses()\"\n [@showHide]=\"showHide\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div>\n <div [ngClass]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n ElementRef,\n inject,\n input,\n OnChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\nconst PANEL_MIN_HEIGHT = 100;\n\n@Component({\n selector: 'si-accordion',\n template: '<div><ng-content /></div>',\n styleUrl: './si-accordion.component.scss',\n providers: [SiAccordionService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.full-height]': 'fullHeight()',\n '[class.hcollapsed]': 'collapsed()'\n }\n})\nexport class SiAccordionComponent implements AfterContentInit, OnChanges {\n /** @defaultValue true */\n readonly expandFirstPanel = input(true, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly fullHeight = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly hcollapsed = input(false);\n /**\n * Color to use for component background\n * @deprecated This has no effect anymore. Will be removed in v48\n **/\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Indicate whether the accordion is collapsed.\n * @internal\n */\n readonly collapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? this.hcollapsed()\n );\n\n private readonly panels = contentChildren(SiCollapsiblePanelComponent);\n private responsive = false;\n private destroyer = inject(DestroyRef);\n private service = inject(SiAccordionService);\n private resizeObserver = inject(ResizeObserverService);\n private element = inject(ElementRef);\n private accordionHCollapseService = inject(SiAccordionHCollapseService, { optional: true });\n\n ngOnChanges(): void {\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n\n ngAfterContentInit(): void {\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true, true)\n .pipe(takeUntilDestroyed(this.destroyer))\n .subscribe(() => this.calcFullHeight());\n\n this.panels().at(0)?.openClose(this.expandFirstPanel(), false);\n }\n\n private calcFullHeight(): void {\n if (this.panels?.length) {\n const height = (this.element.nativeElement as HTMLElement).offsetHeight;\n this.responsive = !this.hcollapsed() && height < this.panels.length * PANEL_MIN_HEIGHT;\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAccordionComponent } from './si-accordion.component';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\n@NgModule({\n imports: [SiAccordionComponent, SiCollapsiblePanelComponent],\n exports: [SiAccordionComponent, SiCollapsiblePanelComponent]\n})\nexport class SiAccordionModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-collapsible-panel.component';\nexport * from './si-accordion.component';\nexport * from './si-accordion.service';\nexport * from './si-accordion-hcollapse.service';\nexport * from './si-accordion.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -156,7 +156,7 @@ class SiApplicationHeaderComponent {
|
|
|
156
156
|
}
|
|
157
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiApplicationHeaderComponent, decorators: [{
|
|
158
158
|
type: Component,
|
|
159
|
-
args: [{ selector: 'si-application-header', imports: [SiTranslatePipe, NgClass, A11yModule, NgTemplateOutlet, SiIconNextComponent],
|
|
159
|
+
args: [{ selector: 'si-application-header', imports: [SiTranslatePipe, NgClass, A11yModule, NgTemplateOutlet, SiIconNextComponent], providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<header\n class=\"application-header\"\n [ngClass]=\"'expand-' + expandBreakpoint()\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [ngClass]=\"'d-' + expandBreakpoint() + '-block'\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon-next [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon-next [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div [id]=\"id + '-launchpad'\">\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n class=\"modal-backdrop\"\n [ngClass]=\"launchpadOpen() ? 'd-block' : 'd-' + expandBreakpoint() + '-none'\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n", styles: [".modal-backdrop{z-index:1032}\n"] }]
|
|
160
160
|
}] });
|
|
161
161
|
|
|
162
162
|
/**
|
|
@@ -197,14 +197,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImpor
|
|
|
197
197
|
<si-icon-next class="dropdown-caret" [icon]="icons.elementDown2" />
|
|
198
198
|
}
|
|
199
199
|
`,
|
|
200
|
+
providers: [
|
|
201
|
+
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
202
|
+
],
|
|
200
203
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
201
204
|
host: {
|
|
202
205
|
class: 'header-item focus-inside',
|
|
203
206
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
204
|
-
}
|
|
205
|
-
providers: [
|
|
206
|
-
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
207
|
-
]
|
|
207
|
+
}
|
|
208
208
|
}]
|
|
209
209
|
}] });
|
|
210
210
|
|
|
@@ -276,9 +276,9 @@ class SiHeaderCollapsibleActionsComponent {
|
|
|
276
276
|
}
|
|
277
277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiHeaderCollapsibleActionsComponent, decorators: [{
|
|
278
278
|
type: Component,
|
|
279
|
-
args: [{ selector: 'si-header-collapsible-actions', imports: [SiTranslatePipe, A11yModule, SiIconNextComponent],
|
|
279
|
+
args: [{ selector: 'si-header-collapsible-actions', imports: [SiTranslatePipe, A11yModule, SiIconNextComponent], providers: [
|
|
280
280
|
{ provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }
|
|
281
|
-
], template: "<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon-next [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n", styles: [".badge-dot:after{inset-inline-end:4px}\n"] }]
|
|
281
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'd-contents' }, template: "<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon-next [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n", styles: [".badge-dot:after{inset-inline-end:4px}\n"] }]
|
|
282
282
|
}] });
|
|
283
283
|
|
|
284
284
|
/**
|
|
@@ -400,10 +400,10 @@ class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {
|
|
|
400
400
|
}
|
|
401
401
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiHeaderAccountItemComponent, decorators: [{
|
|
402
402
|
type: Component,
|
|
403
|
-
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconNextComponent], host: {
|
|
403
|
+
args: [{ selector: 'button[si-header-account-item]', imports: [SiAvatarComponent, SiIconNextComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
404
404
|
class: 'header-item focus-inside p-4',
|
|
405
405
|
'[class.dropdown-toggle]': '!!dropdownTrigger'
|
|
406
|
-
},
|
|
406
|
+
}, template: "<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon-next class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n" }]
|
|
407
407
|
}] });
|
|
408
408
|
|
|
409
409
|
/**
|
|
@@ -615,11 +615,11 @@ class SiLaunchpadAppComponent {
|
|
|
615
615
|
}
|
|
616
616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiLaunchpadAppComponent, decorators: [{
|
|
617
617
|
type: Component,
|
|
618
|
-
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconNextComponent], host: {
|
|
618
|
+
args: [{ selector: 'a[si-launchpad-app]', imports: [SiIconNextComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
619
619
|
class: 'focus-inside',
|
|
620
620
|
'[class.active]': 'active()',
|
|
621
621
|
'[class.action]': 'action()'
|
|
622
|
-
},
|
|
622
|
+
}, template: "@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon-next class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"si-title-2 text-truncate mw-100\">\n <ng-content select=\"[app-name]\" />\n @if (external()) {\n <si-icon-next class=\"icon mt-n2\" [icon]=\"icons.elementExport\" />\n }\n</div>\n<div class=\"si-body-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon-next\n class=\"favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n", styles: [":host{display:flex;align-items:center;flex-flow:column nowrap;position:relative;padding-block:20px;inline-size:152px;max-inline-size:152px;padding-inline:4px;color:var(--element-text-primary);border-radius:var(--element-radius-2)}:host.active{border:1px solid var(--element-ui-0);background-color:var(--element-base-1-hover)}:host.action{color:var(--element-action-primary)}:host:hover{color:var(--element-text-primary);text-decoration:none;background-color:var(--element-base-1-hover)}.app-icon{display:flex;align-items:center;justify-content:center;inline-size:48px;block-size:48px;margin-block-end:8px;border-radius:var(--element-radius-2)}.app-icon:is(si-icon-next){background:var(--element-launchpad-app-background);font-size:40px;padding:4px;color:var(--element-launchpad-app-color)}.favorite-icon{font-size:20px;position:absolute;inset-inline-end:22px;inset-block-start:10px;padding:2px;color:var(--element-text-primary)}.is-favorite{color:var(--element-status-caution)}\n"] }]
|
|
623
623
|
}], propDecorators: { favoriteClicked: [{
|
|
624
624
|
type: HostListener,
|
|
625
625
|
args: ['keydown.space', ['$event']]
|