@siemens/element-ng 49.8.0 → 49.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/siemens-element-ng-application-header.mjs +2 -2
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +2 -2
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +6 -2
- package/fesm2022/siemens-element-ng-breadcrumb-router.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-dashboard.mjs +8 -5
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +10 -19
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +6 -6
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +2 -2
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +8 -10
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +19 -55
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +5 -7
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +90 -49
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +25 -29
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +455 -48
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +2 -2
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +2 -2
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +52 -30
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/package.json +3 -3
- package/template-i18n.json +1 -0
- package/types/siemens-element-ng-breadcrumb-router.d.ts +6 -2
- package/types/siemens-element-ng-dashboard.d.ts +2 -1
- package/types/siemens-element-ng-datatable.d.ts +0 -1
- package/types/siemens-element-ng-form.d.ts +1 -1
- package/types/siemens-element-ng-header-dropdown.d.ts +0 -8
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +29 -8
- package/types/siemens-element-ng-navbar-vertical.d.ts +2 -1
- package/types/siemens-element-ng-select.d.ts +241 -2
- package/types/siemens-element-ng-translate.d.ts +1 -0
- package/types/siemens-element-ng-tree-view.d.ts +4 -5
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siemens/element-ng",
|
|
3
3
|
"description": "Element Angular component library, implementing the Siemens Design Language",
|
|
4
|
-
"version": "49.
|
|
4
|
+
"version": "49.9.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@ngx-formly/bootstrap": "^6.2.2",
|
|
44
44
|
"@ngx-formly/core": "^6.2.2",
|
|
45
45
|
"@siemens/element-icons": "1",
|
|
46
|
-
"@siemens/element-translate-ng": "49.
|
|
47
|
-
"@siemens/element-theme": "49.
|
|
46
|
+
"@siemens/element-translate-ng": "49.9.0",
|
|
47
|
+
"@siemens/element-theme": "49.9.0",
|
|
48
48
|
"@siemens/ngx-datatable": "22 - 26",
|
|
49
49
|
"ag-grid-community": "^34.3.1 || ^35.0.0",
|
|
50
50
|
"flag-icons": "^7.3.2",
|
package/template-i18n.json
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
"SI_APPLICATION_HEADER.TOGGLE_NAVIGATION": "Toggle navigation",
|
|
7
7
|
"SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT": "Remove attachment",
|
|
8
8
|
"SI_BREADCRUMB": "Breadcrumbs",
|
|
9
|
+
"SI_BREADCRUMB_ROUTER_LABEL": "breadcrumb",
|
|
9
10
|
"SI_CHANGE_PASSWORD.BACK": "Back",
|
|
10
11
|
"SI_CHANGE_PASSWORD.CHANGE": "Change",
|
|
11
12
|
"SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD": "Factory set password must be changed",
|
|
@@ -3,6 +3,7 @@ import { BreadcrumbItem } from '@siemens/element-ng/breadcrumb';
|
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { InjectionToken, OnInit, OnDestroy } from '@angular/core';
|
|
6
|
+
import * as _siemens_element_translate_ng_translate from '@siemens/element-translate-ng/translate';
|
|
6
7
|
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -78,9 +79,12 @@ declare class SiBreadcrumbRouterComponent implements OnInit, OnDestroy {
|
|
|
78
79
|
/**
|
|
79
80
|
* Aria label for the main breadcrumb navigation. Needed for a11y.
|
|
80
81
|
*
|
|
81
|
-
* @defaultValue
|
|
82
|
+
* @defaultValue
|
|
83
|
+
* ```
|
|
84
|
+
* t(() => $localize`:@@SI_BREADCRUMB_ROUTER_LABEL:breadcrumb`)
|
|
85
|
+
* ```
|
|
82
86
|
*/
|
|
83
|
-
readonly ariaLabel: i0.InputSignal<
|
|
87
|
+
readonly ariaLabel: i0.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
84
88
|
protected readonly items: i0.WritableSignal<BreadcrumbItem[]>;
|
|
85
89
|
private readonly currentCalcUrl;
|
|
86
90
|
private nextRoute;
|
|
@@ -91,7 +91,7 @@ declare class SiDashboardComponent implements OnChanges, AfterViewInit {
|
|
|
91
91
|
/**
|
|
92
92
|
* Heading for the dashboard page.
|
|
93
93
|
*/
|
|
94
|
-
readonly heading: _angular_core.InputSignal<
|
|
94
|
+
readonly heading: _angular_core.InputSignal<TranslatableString | undefined>;
|
|
95
95
|
/**
|
|
96
96
|
* Opt-in to enable expand interaction for all cards.
|
|
97
97
|
*
|
|
@@ -119,6 +119,7 @@ declare class SiDashboardComponent implements OnChanges, AfterViewInit {
|
|
|
119
119
|
protected readonly hideMenubarComputed: _angular_core.Signal<boolean>;
|
|
120
120
|
private _isExpanded;
|
|
121
121
|
private scrollPosition;
|
|
122
|
+
private readonly reinitCards$;
|
|
122
123
|
private cards;
|
|
123
124
|
private readonly expandedPortalOutlet;
|
|
124
125
|
private readonly dashboardFrame;
|
|
@@ -10,7 +10,6 @@ declare class SiDatatableInteractionDirective implements OnDestroy, OnInit {
|
|
|
10
10
|
* @defaultValue false
|
|
11
11
|
*/
|
|
12
12
|
readonly datatableInteractionAutoSelect: i0.InputSignalWithTransform<boolean, unknown>;
|
|
13
|
-
protected tabIndex: string;
|
|
14
13
|
private element;
|
|
15
14
|
private tableBody?;
|
|
16
15
|
private autoSelectTimeout;
|
|
@@ -226,7 +226,7 @@ declare class SiFormFieldsetComponent implements DoCheck {
|
|
|
226
226
|
protected readonly errors: _angular_core.Signal<_siemens_element_ng_form.SiFormError[]>;
|
|
227
227
|
protected readonly touched: _angular_core.WritableSignal<boolean>;
|
|
228
228
|
protected readonly isRequired: _angular_core.Signal<boolean>;
|
|
229
|
-
protected labelId: string;
|
|
229
|
+
protected readonly labelId: string;
|
|
230
230
|
ngDoCheck(): void;
|
|
231
231
|
/** @internal */
|
|
232
232
|
registerFormItem(item: SiFormItemComponent): void;
|
|
@@ -74,15 +74,7 @@ declare class SiHeaderDropdownComponent {
|
|
|
74
74
|
private readonly options;
|
|
75
75
|
constructor();
|
|
76
76
|
/** @internal */
|
|
77
|
-
protected get show(): boolean;
|
|
78
|
-
/** @internal */
|
|
79
|
-
protected get overlay(): boolean;
|
|
80
|
-
/** @internal */
|
|
81
|
-
protected get submenu(): boolean;
|
|
82
|
-
/** @internal */
|
|
83
77
|
protected get trapFocus(): boolean;
|
|
84
|
-
/** @internal */
|
|
85
|
-
protected escape(): void;
|
|
86
78
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderDropdownComponent, never>;
|
|
87
79
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiHeaderDropdownComponent, "si-header-dropdown", never, {}, {}, never, ["*"], true, never>;
|
|
88
80
|
}
|
|
@@ -28,6 +28,14 @@ declare class SiNavbarVerticalNextComponent implements OnChanges, OnInit {
|
|
|
28
28
|
* @defaultValue false
|
|
29
29
|
*/
|
|
30
30
|
readonly textOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
31
|
+
/**
|
|
32
|
+
* When `true`, item-groups always open as a transient flyout panel adjacent to the
|
|
33
|
+
* trigger, regardless of whether the navbar is collapsed or expanded.
|
|
34
|
+
* Flyouts open and close on click.
|
|
35
|
+
*
|
|
36
|
+
* @defaultValue false
|
|
37
|
+
*/
|
|
38
|
+
readonly alwaysFlyout: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
31
39
|
/**
|
|
32
40
|
* List of vertical navigation items
|
|
33
41
|
*
|
|
@@ -72,6 +80,8 @@ declare class SiNavbarVerticalNextComponent implements OnChanges, OnInit {
|
|
|
72
80
|
readonly skipLinkMainContentLabel: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
73
81
|
private uiStateService;
|
|
74
82
|
private breakpointObserver;
|
|
83
|
+
private injector;
|
|
84
|
+
protected readonly ready: _angular_core.WritableSignal<boolean>;
|
|
75
85
|
protected readonly smallScreen: _angular_core.WritableSignal<boolean>;
|
|
76
86
|
/**
|
|
77
87
|
* @defaultValue
|
|
@@ -95,7 +105,7 @@ declare class SiNavbarVerticalNextComponent implements OnChanges, OnInit {
|
|
|
95
105
|
/** @internal */
|
|
96
106
|
itemTriggered(): void;
|
|
97
107
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiNavbarVerticalNextComponent, never>;
|
|
98
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiNavbarVerticalNextComponent, "si-navbar-vertical-next", never, { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "textOnly": { "alias": "textOnly"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "toggleButtonText": { "alias": "toggleButtonText"; "required": false; "isSignal": true; }; "stateId": { "alias": "stateId"; "required": false; "isSignal": true; }; "skipLinkNavigationLabel": { "alias": "skipLinkNavigationLabel"; "required": false; "isSignal": true; }; "skipLinkMainContentLabel": { "alias": "skipLinkMainContentLabel"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["si-navbar-vertical-next-search", "si-navbar-vertical-next-items", "si-navbar-vertical-next-footer-items", "*"], true, never>;
|
|
108
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiNavbarVerticalNextComponent, "si-navbar-vertical-next", never, { "collapsed": { "alias": "collapsed"; "required": false; "isSignal": true; }; "textOnly": { "alias": "textOnly"; "required": false; "isSignal": true; }; "alwaysFlyout": { "alias": "alwaysFlyout"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "toggleButtonText": { "alias": "toggleButtonText"; "required": false; "isSignal": true; }; "stateId": { "alias": "stateId"; "required": false; "isSignal": true; }; "skipLinkNavigationLabel": { "alias": "skipLinkNavigationLabel"; "required": false; "isSignal": true; }; "skipLinkMainContentLabel": { "alias": "skipLinkMainContentLabel"; "required": false; "isSignal": true; }; }, { "collapsed": "collapsedChange"; }, never, ["si-navbar-vertical-next-search", "si-navbar-vertical-next-items", "si-navbar-vertical-next-footer-items", "*"], true, never>;
|
|
99
109
|
}
|
|
100
110
|
|
|
101
111
|
/**
|
|
@@ -119,7 +129,7 @@ declare class SiNavbarVerticalNextFooterItemsComponent {
|
|
|
119
129
|
}
|
|
120
130
|
|
|
121
131
|
/** @experimental */
|
|
122
|
-
declare class SiNavbarVerticalNextGroupTriggerDirective
|
|
132
|
+
declare class SiNavbarVerticalNextGroupTriggerDirective {
|
|
123
133
|
private static idCounter;
|
|
124
134
|
/** @internal */
|
|
125
135
|
readonly groupId: string;
|
|
@@ -128,27 +138,38 @@ declare class SiNavbarVerticalNextGroupTriggerDirective implements OnInit {
|
|
|
128
138
|
readonly stateId: _angular_core.InputSignal<string | undefined>;
|
|
129
139
|
/** @defaultValue false */
|
|
130
140
|
readonly expanded: _angular_core.WritableSignal<boolean>;
|
|
131
|
-
/**
|
|
141
|
+
/**
|
|
142
|
+
* Whether the group is currently rendered as a transient flyout overlay
|
|
143
|
+
* (true) or inline within the navbar (false). Automatically resets to
|
|
144
|
+
* `false` whenever the rendering mode changes.
|
|
145
|
+
* @internal
|
|
146
|
+
*/
|
|
132
147
|
readonly flyout: _angular_core.WritableSignal<boolean>;
|
|
133
|
-
/**
|
|
148
|
+
/**
|
|
149
|
+
* Whether the open flyout overlay currently contains the active route.
|
|
150
|
+
* Reset together with `flyout` so it never lingers across mode changes.
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
134
153
|
readonly active: _angular_core.WritableSignal<boolean>;
|
|
135
154
|
protected readonly navbar: _siemens_element_ng_navbar_vertical_next.SiNavbarVerticalNextComponent;
|
|
155
|
+
/** @internal */
|
|
156
|
+
readonly flyoutMode: _angular_core.Signal<boolean>;
|
|
136
157
|
private flyoutOutsideClickSubscription?;
|
|
137
158
|
private readonly viewContainer;
|
|
138
159
|
private readonly overlay;
|
|
139
160
|
private readonly injector;
|
|
140
161
|
private readonly overlayRef;
|
|
141
|
-
private groupView
|
|
162
|
+
private groupView?;
|
|
142
163
|
private flyoutAnchorComponentRef?;
|
|
143
164
|
private readonly templatePortal;
|
|
144
165
|
constructor();
|
|
145
|
-
ngOnInit(): void;
|
|
146
166
|
/** @internal */
|
|
147
167
|
hideFlyout(): void;
|
|
148
168
|
protected triggered(): void;
|
|
149
169
|
private toggleFlyout;
|
|
150
170
|
private attachInline;
|
|
151
171
|
private attachFlyout;
|
|
172
|
+
private detachFlyout;
|
|
152
173
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiNavbarVerticalNextGroupTriggerDirective, never>;
|
|
153
174
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiNavbarVerticalNextGroupTriggerDirective, "button[siNavbarVerticalNextGroupTriggerFor]", never, { "groupTemplate": { "alias": "siNavbarVerticalNextGroupTriggerFor"; "required": true; "isSignal": true; }; "stateId": { "alias": "stateId"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
154
175
|
}
|
|
@@ -158,7 +179,6 @@ declare class SiNavbarVerticalNextGroupComponent {
|
|
|
158
179
|
protected readonly navbar: _siemens_element_ng_navbar_vertical_next.SiNavbarVerticalNextComponent;
|
|
159
180
|
protected readonly groupTrigger: SiNavbarVerticalNextGroupTriggerDirective;
|
|
160
181
|
private readonly routerLinkActive;
|
|
161
|
-
protected flyout: boolean;
|
|
162
182
|
protected readonly visible: _angular_core.Signal<boolean>;
|
|
163
183
|
constructor();
|
|
164
184
|
protected close(): void;
|
|
@@ -175,7 +195,7 @@ declare class SiNavbarVerticalNextHeaderComponent {
|
|
|
175
195
|
|
|
176
196
|
/** @experimental */
|
|
177
197
|
declare class SiNavbarVerticalNextItemComponent implements OnInit {
|
|
178
|
-
protected readonly icons: Record<"elementDown2", string>;
|
|
198
|
+
protected readonly icons: Record<"elementDown2" | "elementRight2", string>;
|
|
179
199
|
/** Optional icon to render before the label. */
|
|
180
200
|
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
181
201
|
/** Badge value to display. */
|
|
@@ -203,6 +223,7 @@ declare class SiNavbarVerticalNextItemComponent implements OnInit {
|
|
|
203
223
|
* Formats badge value to limit display to "+99" for numbers greater than 99
|
|
204
224
|
*/
|
|
205
225
|
protected readonly formattedBadge: _angular_core.Signal<string>;
|
|
226
|
+
protected readonly isDropdownItem: _angular_core.Signal<boolean>;
|
|
206
227
|
ngOnInit(): void;
|
|
207
228
|
protected triggered(): void;
|
|
208
229
|
get active(): boolean;
|
|
@@ -199,12 +199,13 @@ declare class SiNavbarVerticalComponent implements OnChanges, OnInit {
|
|
|
199
199
|
readonly searchEvent: _angular_core.OutputEmitterRef<string>;
|
|
200
200
|
private readonly searchBar;
|
|
201
201
|
protected readonly activatedRoute: ActivatedRoute | null;
|
|
202
|
-
protected readonly ready = true;
|
|
203
202
|
private uiStateService;
|
|
204
203
|
private breakpointObserver;
|
|
204
|
+
private injector;
|
|
205
205
|
private readonly navbarItems;
|
|
206
206
|
private readonly navbarItemsLegacy;
|
|
207
207
|
private readonly itemsToComponents;
|
|
208
|
+
protected readonly ready: _angular_core.WritableSignal<boolean>;
|
|
208
209
|
protected readonly smallScreen: _angular_core.WritableSignal<boolean>;
|
|
209
210
|
protected readonly uiStateExpandedItems: _angular_core.WritableSignal<Record<string, boolean>>;
|
|
210
211
|
private preferCollapse;
|
|
@@ -546,5 +546,244 @@ declare class SiSelectListHasFilterComponent<T> extends SiSelectListBase<T> impl
|
|
|
546
546
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiSelectListHasFilterComponent<any>, "si-select-list-has-filter", never, { "filterPlaceholder": { "alias": "filterPlaceholder"; "required": true; "isSignal": true; }; "noResultsFoundLabel": { "alias": "noResultsFoundLabel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
547
547
|
}
|
|
548
548
|
|
|
549
|
-
|
|
550
|
-
|
|
549
|
+
/**
|
|
550
|
+
* Possible values for the `aria-haspopup` attribute exposed by the
|
|
551
|
+
* combobox host of a custom select.
|
|
552
|
+
*/
|
|
553
|
+
type SiSelectDropdownContentType = 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
|
|
554
|
+
/**
|
|
555
|
+
* Structural directive marking the dropdown template for custom selects
|
|
556
|
+
* built with {@link SiCustomSelectDirective}.
|
|
557
|
+
*
|
|
558
|
+
* When placed on an `<ng-template>`, it automatically registers the template
|
|
559
|
+
* with the parent {@link SiCustomSelectDirective}.
|
|
560
|
+
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```html
|
|
563
|
+
* <ng-template si-select-dropdown contentType="listbox">
|
|
564
|
+
* <!-- custom dropdown content -->
|
|
565
|
+
* </ng-template>
|
|
566
|
+
* ```
|
|
567
|
+
*
|
|
568
|
+
* @experimental
|
|
569
|
+
*/
|
|
570
|
+
declare class SiSelectDropdownDirective {
|
|
571
|
+
/**
|
|
572
|
+
* Describes the kind of content rendered by the dropdown. The value is
|
|
573
|
+
* forwarded to the `aria-haspopup` attribute of the combobox host of
|
|
574
|
+
* the parent {@link SiCustomSelectDirective}.
|
|
575
|
+
*/
|
|
576
|
+
readonly contentType: _angular_core.InputSignal<SiSelectDropdownContentType>;
|
|
577
|
+
/** @internal */
|
|
578
|
+
readonly templateRef: TemplateRef<void>;
|
|
579
|
+
constructor();
|
|
580
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiSelectDropdownDirective, never>;
|
|
581
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiSelectDropdownDirective, "[si-select-dropdown]", never, { "contentType": { "alias": "contentType"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
/**
|
|
585
|
+
* Host directive for building custom selects.
|
|
586
|
+
*
|
|
587
|
+
* Add this as a `hostDirective` on your component and expose the inputs/outputs you need.
|
|
588
|
+
* The directive handles:
|
|
589
|
+
* - {@link ControlValueAccessor} integration (`formControl`, `ngModel`, `[(value)]`)
|
|
590
|
+
* - Disabled / readonly state management
|
|
591
|
+
* - Overlay lifecycle for the dropdown (open/close)
|
|
592
|
+
* - Focus management and focus trapping in the dropdown
|
|
593
|
+
* - Opening the dropdown on click, Enter, Space, ArrowDown, ArrowUp
|
|
594
|
+
* - {@link SiFormItemControl} integration
|
|
595
|
+
*
|
|
596
|
+
* Use {@link SiSelectDropdownDirective} to mark the dropdown template in your component,
|
|
597
|
+
* and call {@link open}, {@link close}, {@link updateValue} from your component logic.
|
|
598
|
+
*
|
|
599
|
+
* @example
|
|
600
|
+
* ```ts
|
|
601
|
+
* @Component({
|
|
602
|
+
* selector: 'app-my-select',
|
|
603
|
+
* hostDirectives: [{
|
|
604
|
+
* directive: SiCustomSelectDirective,
|
|
605
|
+
* inputs: ['disabled', 'readonly', 'value'],
|
|
606
|
+
* outputs: ['valueChange']
|
|
607
|
+
* }],
|
|
608
|
+
* template: `
|
|
609
|
+
* <si-select-combobox>
|
|
610
|
+
* {{ select.value() }}
|
|
611
|
+
* </si-select-combobox>
|
|
612
|
+
* <ng-template si-select-dropdown contentType="listbox">
|
|
613
|
+
* <button (click)="select.updateValue('new'); select.close()">Pick</button>
|
|
614
|
+
* </ng-template>
|
|
615
|
+
* `
|
|
616
|
+
* })
|
|
617
|
+
* export class MySelectComponent {
|
|
618
|
+
* readonly select = inject(SiCustomSelectDirective);
|
|
619
|
+
* }
|
|
620
|
+
* ```
|
|
621
|
+
*
|
|
622
|
+
* @experimental
|
|
623
|
+
*/
|
|
624
|
+
declare class SiCustomSelectDirective<T> implements ControlValueAccessor, SiFormItemControl {
|
|
625
|
+
private static idCounter;
|
|
626
|
+
/**
|
|
627
|
+
* Unique identifier.
|
|
628
|
+
*
|
|
629
|
+
* @defaultValue
|
|
630
|
+
* ```
|
|
631
|
+
* `__si-custom-select-${SiCustomSelectDirective.idCounter++}`
|
|
632
|
+
* ```
|
|
633
|
+
*/
|
|
634
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
635
|
+
/**
|
|
636
|
+
* Whether the select input is disabled.
|
|
637
|
+
*
|
|
638
|
+
* @defaultValue false
|
|
639
|
+
*/
|
|
640
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
641
|
+
/**
|
|
642
|
+
* Readonly state. Similar to disabled but with higher contrast.
|
|
643
|
+
*
|
|
644
|
+
* @defaultValue false
|
|
645
|
+
*/
|
|
646
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
647
|
+
/** Emits when the dropdown open state changes. */
|
|
648
|
+
readonly openChange: _angular_core.OutputEmitterRef<boolean>;
|
|
649
|
+
/**
|
|
650
|
+
* The current value, supports two-way binding via `[(value)]`.
|
|
651
|
+
*
|
|
652
|
+
* @defaultValue undefined
|
|
653
|
+
*/
|
|
654
|
+
readonly value: _angular_core.ModelSignal<T | undefined>;
|
|
655
|
+
/**
|
|
656
|
+
* Whether the dropdown is currently open.
|
|
657
|
+
*
|
|
658
|
+
* @defaultValue false
|
|
659
|
+
*/
|
|
660
|
+
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
661
|
+
/** @internal */
|
|
662
|
+
readonly labelledby: _angular_core.Signal<string>;
|
|
663
|
+
/** @internal */
|
|
664
|
+
readonly comboboxLabelId: _angular_core.Signal<string>;
|
|
665
|
+
/** @internal */
|
|
666
|
+
readonly dropdownId: _angular_core.Signal<string>;
|
|
667
|
+
/**
|
|
668
|
+
* Value forwarded to the `aria-haspopup` attribute. Reflects the
|
|
669
|
+
* `contentType` input of the registered {@link SiSelectDropdownDirective},
|
|
670
|
+
* defaulting to `'listbox'` until a dropdown template is registered.
|
|
671
|
+
* @internal
|
|
672
|
+
*/
|
|
673
|
+
readonly haspopup: _angular_core.Signal<_siemens_element_ng_select.SiSelectDropdownContentType>;
|
|
674
|
+
/**
|
|
675
|
+
* This ID will be bound to the `aria-describedby` attribute of the select.
|
|
676
|
+
*
|
|
677
|
+
* @defaultValue
|
|
678
|
+
* ```
|
|
679
|
+
* `${this.id()}-errormessage`
|
|
680
|
+
* ```
|
|
681
|
+
*/
|
|
682
|
+
readonly errormessageId: _angular_core.InputSignal<string>;
|
|
683
|
+
/** Combined disabled state from input and form control. */
|
|
684
|
+
readonly disabled: _angular_core.Signal<boolean>;
|
|
685
|
+
private onTouched;
|
|
686
|
+
private onChange;
|
|
687
|
+
private readonly disabledByForm;
|
|
688
|
+
private readonly overlay;
|
|
689
|
+
private readonly focusTrapFactory;
|
|
690
|
+
private readonly elementRef;
|
|
691
|
+
private readonly viewContainerRef;
|
|
692
|
+
private readonly destroyRef;
|
|
693
|
+
private readonly isBrowser;
|
|
694
|
+
private overlayRef?;
|
|
695
|
+
private focusTrap?;
|
|
696
|
+
private readonly closeOverlay$;
|
|
697
|
+
private readonly dropdownDirective;
|
|
698
|
+
constructor();
|
|
699
|
+
/**
|
|
700
|
+
* Registers the dropdown directive. Called by
|
|
701
|
+
* {@link SiSelectDropdownDirective} when it is initialized.
|
|
702
|
+
* @internal
|
|
703
|
+
*/
|
|
704
|
+
registerDropdown(directive: SiSelectDropdownDirective): void;
|
|
705
|
+
/**
|
|
706
|
+
* Updates the value programmatically.
|
|
707
|
+
* Call this from your dropdown template to set the new value.
|
|
708
|
+
*/
|
|
709
|
+
updateValue(value: T | undefined): void;
|
|
710
|
+
/** Opens the dropdown overlay. */
|
|
711
|
+
open(event?: Event): void;
|
|
712
|
+
/** Closes the dropdown overlay and restores focus. */
|
|
713
|
+
close(): void;
|
|
714
|
+
/** @internal */
|
|
715
|
+
writeValue(obj: T | null): void;
|
|
716
|
+
/** @internal */
|
|
717
|
+
registerOnChange(fn: (_: T | undefined) => void): void;
|
|
718
|
+
/** @internal */
|
|
719
|
+
registerOnTouched(fn: () => void): void;
|
|
720
|
+
/** @internal */
|
|
721
|
+
setDisabledState(isDisabled: boolean): void;
|
|
722
|
+
private disposeOverlay;
|
|
723
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiCustomSelectDirective<any>, never>;
|
|
724
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiCustomSelectDirective<any>, "[siCustomSelect]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "errormessageId": { "alias": "errormessageId"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; "value": "valueChange"; }, never, never, true, never>;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
/**
|
|
728
|
+
* Visual trigger element for custom selects built with {@link SiCustomSelectDirective}.
|
|
729
|
+
* Renders the projected content and a dropdown caret icon.
|
|
730
|
+
*
|
|
731
|
+
* The ARIA role, focus handling, and state attributes live on the host component
|
|
732
|
+
* via {@link SiCustomSelectDirective} — this component is purely visual.
|
|
733
|
+
*
|
|
734
|
+
* @example
|
|
735
|
+
* ```html
|
|
736
|
+
* <si-select-combobox>
|
|
737
|
+
* {{ select.value() }}
|
|
738
|
+
* </si-select-combobox>
|
|
739
|
+
* ```
|
|
740
|
+
*
|
|
741
|
+
* @experimental
|
|
742
|
+
*/
|
|
743
|
+
declare class SiSelectComboboxComponent {
|
|
744
|
+
protected readonly icons: Record<"elementDown2", string>;
|
|
745
|
+
protected readonly customSelect: SiCustomSelectDirective<any>;
|
|
746
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiSelectComboboxComponent, never>;
|
|
747
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiSelectComboboxComponent, "si-select-combobox", never, {}, {}, never, ["*"], true, never>;
|
|
748
|
+
}
|
|
749
|
+
|
|
750
|
+
/**
|
|
751
|
+
* Represents a single selected value inside an {@link SiSelectComboboxComponent}.
|
|
752
|
+
*
|
|
753
|
+
* Project one `<si-select-combobox-value>` per selected entry. Optional
|
|
754
|
+
* `icon`, `iconColor`, `stackedIcon` and `stackedIconColor` inputs mirror the
|
|
755
|
+
* icon API of {@link SelectOption} and render an icon (with optional stacked
|
|
756
|
+
* overlay) before the projected content.
|
|
757
|
+
*
|
|
758
|
+
* Add the `comma-separated` CSS class to render a comma between adjacent
|
|
759
|
+
* values. Omit it when using chips, custom separators, or a single value.
|
|
760
|
+
*
|
|
761
|
+
* @example
|
|
762
|
+
* ```html
|
|
763
|
+
* <si-select-combobox>
|
|
764
|
+
* <si-select-combobox-value
|
|
765
|
+
* icon="element-face-happy"
|
|
766
|
+
* iconColor="status-success"
|
|
767
|
+
* >
|
|
768
|
+
* {{ select.value() }}
|
|
769
|
+
* </si-select-combobox-value>
|
|
770
|
+
* </si-select-combobox>
|
|
771
|
+
* ```
|
|
772
|
+
*
|
|
773
|
+
* @experimental
|
|
774
|
+
*/
|
|
775
|
+
declare class SiSelectComboboxValueComponent {
|
|
776
|
+
/** An optional icon rendered before the projected content. */
|
|
777
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
778
|
+
/** Optional CSS color class applied to {@link icon}. */
|
|
779
|
+
readonly iconColor: _angular_core.InputSignal<string | undefined>;
|
|
780
|
+
/** Optional secondary icon stacked on top of {@link icon}. */
|
|
781
|
+
readonly stackedIcon: _angular_core.InputSignal<string | undefined>;
|
|
782
|
+
/** Optional CSS color class applied to {@link stackedIcon}. */
|
|
783
|
+
readonly stackedIconColor: _angular_core.InputSignal<string | undefined>;
|
|
784
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiSelectComboboxValueComponent, never>;
|
|
785
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiSelectComboboxValueComponent, "si-select-combobox-value", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "stackedIcon": { "alias": "stackedIcon"; "required": false; "isSignal": true; }; "stackedIconColor": { "alias": "stackedIconColor"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
786
|
+
}
|
|
787
|
+
|
|
788
|
+
export { SiCustomSelectDirective, SiSelectActionDirective, SiSelectActionsDirective, SiSelectComboboxComponent, SiSelectComboboxValueComponent, SiSelectComponent, SiSelectDropdownDirective, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective };
|
|
789
|
+
export type { SelectGroup, SelectItem, SelectOption, SelectOptionSource, SiSelectDropdownContentType };
|
|
@@ -9,6 +9,7 @@ interface SiTranslatableKeys {
|
|
|
9
9
|
'SI_APPLICATION_HEADER.TOGGLE_NAVIGATION'?: string;
|
|
10
10
|
'SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT'?: string;
|
|
11
11
|
'SI_BREADCRUMB'?: string;
|
|
12
|
+
'SI_BREADCRUMB_ROUTER_LABEL'?: string;
|
|
12
13
|
'SI_CHANGE_PASSWORD.BACK'?: string;
|
|
13
14
|
'SI_CHANGE_PASSWORD.CHANGE'?: string;
|
|
14
15
|
'SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD'?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit,
|
|
2
|
+
import { OnInit, AfterViewInit, DoCheck, TemplateRef, OnChanges, OnDestroy, AfterViewChecked, Signal, SimpleChanges, ElementRef } from '@angular/core';
|
|
3
3
|
import { MenuItem } from '@siemens/element-ng/common';
|
|
4
4
|
import { MenuItem as MenuItem$1 } from '@siemens/element-ng/menu';
|
|
5
5
|
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
@@ -9,10 +9,11 @@ import { FocusableOption } from '@angular/cdk/a11y';
|
|
|
9
9
|
import { CdkMenuTrigger } from '@angular/cdk/menu';
|
|
10
10
|
import { CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
11
11
|
|
|
12
|
-
declare class SiTreeViewItemComponent implements OnInit,
|
|
12
|
+
declare class SiTreeViewItemComponent implements OnInit, AfterViewInit, FocusableOption, DoCheck {
|
|
13
13
|
private element;
|
|
14
14
|
private siTreeViewService;
|
|
15
15
|
private cdRef;
|
|
16
|
+
private destroyRef;
|
|
16
17
|
protected treeItemContext: {
|
|
17
18
|
record: _angular_core.IterableChangeRecord<TreeItem<any>>;
|
|
18
19
|
parent: _siemens_element_ng_tree_view.SiTreeViewComponent;
|
|
@@ -39,7 +40,6 @@ declare class SiTreeViewItemComponent implements OnInit, OnDestroy, AfterViewIni
|
|
|
39
40
|
itemExpandedLeft: string;
|
|
40
41
|
}>;
|
|
41
42
|
private savedElement;
|
|
42
|
-
private subscriptions;
|
|
43
43
|
private indentLevel;
|
|
44
44
|
private nextSiblingElement;
|
|
45
45
|
protected readonly menuTrigger: _angular_core.Signal<CdkMenuTrigger | undefined>;
|
|
@@ -53,7 +53,6 @@ declare class SiTreeViewItemComponent implements OnInit, OnDestroy, AfterViewIni
|
|
|
53
53
|
ngOnInit(): void;
|
|
54
54
|
ngDoCheck(): void;
|
|
55
55
|
ngAfterViewInit(): void;
|
|
56
|
-
ngOnDestroy(): void;
|
|
57
56
|
protected readonly enableSelection: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
58
57
|
protected readonly enableContextMenuButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
59
58
|
protected readonly enableDataField1: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -340,7 +339,6 @@ declare class SiTreeViewComponent implements OnInit, OnChanges, OnDestroy, After
|
|
|
340
339
|
private manuallySelectedTreeItems;
|
|
341
340
|
private latestFolderChanged?;
|
|
342
341
|
private breadCrumbTreeItems;
|
|
343
|
-
private subscriptions;
|
|
344
342
|
private multiSelectionStart;
|
|
345
343
|
private _multiSelectionActive;
|
|
346
344
|
private domChangeObserver?;
|
|
@@ -353,6 +351,7 @@ declare class SiTreeViewComponent implements OnInit, OnChanges, OnDestroy, After
|
|
|
353
351
|
private cdRef;
|
|
354
352
|
private resizeObserver;
|
|
355
353
|
private injector;
|
|
354
|
+
private destroyRef;
|
|
356
355
|
/**
|
|
357
356
|
* Create a virtual root node so there is just a single root node. This makes sure the tree
|
|
358
357
|
* can be fully traversed starting from any node. This is needed e.g. for recursively
|