@siemens/element-ng 49.12.0 → 51.0.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/fesm2022/siemens-element-ng-about.mjs +41 -25
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs +56 -39
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +81 -51
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +170 -143
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-autocomplete.mjs +34 -33
- package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-badge.mjs +9 -8
- package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -15
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +71 -46
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +55 -32
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +175 -111
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs +37 -24
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-color-picker.mjs +24 -16
- package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +52 -33
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +12 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
- package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +35 -26
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
- package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +327 -213
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
- package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +358 -234
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +21 -16
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +93 -81
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +29 -22
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +243 -147
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +12 -10
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +289 -128
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
- package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-formly.mjs +220 -315
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +46 -30
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-icon.mjs +46 -47
- package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
- package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ip-input.mjs +20 -16
- package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +118 -72
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-link.mjs +31 -21
- package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs +73 -54
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-loading-spinner.mjs +42 -33
- package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-localization.mjs +14 -12
- package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +46 -29
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +56 -48
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-modal.mjs +12 -10
- package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +133 -94
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +117 -81
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +67 -41
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +38 -27
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-strength.mjs +31 -22
- package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs +138 -134
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +76 -45
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +33 -26
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
- package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
- package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +32 -24
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +212 -154
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
- package/fesm2022/siemens-element-ng-side-panel.mjs +119 -75
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-skip-links.mjs +14 -13
- package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-slider.mjs +42 -28
- package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +268 -254
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +57 -47
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
- package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +22 -14
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
- package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -15
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +88 -47
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-theme.mjs +5 -4
- package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +59 -40
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +218 -117
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +28 -19
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs +0 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +93 -74
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +75 -67
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
- package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
- package/formly-legacy/package.json +4 -0
- package/package.json +20 -22
- package/schematics/migration.json +4 -4
- package/schematics/migrations/data/class-member-replacement.js +1 -19
- package/schematics/migrations/data/component-property-names.js +1 -25
- package/schematics/migrations/data/element-class-changes.js +1 -28
- package/schematics/migrations/data/element-migration-data.js +2 -0
- package/schematics/migrations/data/element-selectors.js +1 -11
- package/schematics/migrations/data/index.js +0 -4
- package/schematics/migrations/data/migration-test-data.js +9 -6
- package/schematics/migrations/data/provider-function-removals.js +7 -0
- package/schematics/migrations/data/symbol-removals.js +7 -7
- package/schematics/migrations/data/symbol-renaming.js +1 -48
- package/schematics/migrations/element-migration/element-migration.js +3 -6
- package/schematics/migrations/utilities/import-removal.js +39 -0
- package/schematics/migrations/utilities/index.js +2 -0
- package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
- package/schematics/ng-update/index.js +1 -1
- package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +2 -2
- package/template-i18n.json +3 -6
- package/types/siemens-element-ng-application-header.d.ts +13 -25
- package/types/siemens-element-ng-autocomplete.d.ts +19 -19
- package/types/siemens-element-ng-chat-messages.d.ts +6 -4
- package/types/siemens-element-ng-circle-status.d.ts +1 -1
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +1 -12
- package/types/siemens-element-ng-file-uploader.d.ts +5 -23
- package/types/siemens-element-ng-filtered-search.d.ts +1 -1
- package/types/siemens-element-ng-form.d.ts +135 -40
- package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
- package/types/siemens-element-ng-formly.d.ts +34 -167
- package/types/siemens-element-ng-header-dropdown.d.ts +5 -0
- package/types/siemens-element-ng-icon.d.ts +2 -19
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +6 -1
- package/types/siemens-element-ng-notification-item.d.ts +12 -0
- package/types/siemens-element-ng-phone-number.d.ts +6 -9
- package/types/siemens-element-ng-resize-observer.d.ts +0 -17
- package/types/siemens-element-ng-split.d.ts +95 -63
- package/types/siemens-element-ng-status-bar.d.ts +5 -13
- package/types/siemens-element-ng-status-counter.d.ts +1 -1
- package/types/siemens-element-ng-tabs.d.ts +4 -0
- package/types/siemens-element-ng-toast-notification.d.ts +0 -1
- package/types/siemens-element-ng-tooltip.d.ts +10 -26
- package/types/siemens-element-ng-translate.d.ts +1 -5
- package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
- package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
- package/icon-status/package.json +0 -4
- package/schematics/vitest-setup.js +0 -5
- package/sort-bar/package.json +0 -4
- package/types/siemens-element-ng-icon-status.d.ts +0 -25
- package/types/siemens-element-ng-sort-bar.d.ts +0 -59
- /package/{LICENSE.md → LICENSE} +0 -0
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import ts from 'typescript';
|
|
6
|
+
/**
|
|
7
|
+
* Builds an edit that removes the given named import specifiers from an import
|
|
8
|
+
* declaration.
|
|
9
|
+
*
|
|
10
|
+
* If no specifiers remain after the removal, the whole import declaration is removed
|
|
11
|
+
* (including its trailing newline). Otherwise the import is rebuilt without the removed
|
|
12
|
+
* specifiers while preserving the remaining specifiers and their aliases.
|
|
13
|
+
*/
|
|
14
|
+
export const removeImportSpecifiers = (sourceFile, importDeclaration, specifiers) => {
|
|
15
|
+
const namedBindings = importDeclaration.importClause?.namedBindings;
|
|
16
|
+
const remainingElements = namedBindings && ts.isNamedImports(namedBindings)
|
|
17
|
+
? namedBindings.elements.filter(element => !specifiers.includes(element))
|
|
18
|
+
: [];
|
|
19
|
+
if (remainingElements.length === 0) {
|
|
20
|
+
// No named binding remains: remove the whole import declaration including the
|
|
21
|
+
// trailing newline so no empty line is left behind.
|
|
22
|
+
const start = importDeclaration.getStart(sourceFile);
|
|
23
|
+
let end = importDeclaration.getEnd();
|
|
24
|
+
const fullText = sourceFile.getFullText();
|
|
25
|
+
if (fullText[end] === '\r') {
|
|
26
|
+
end++;
|
|
27
|
+
}
|
|
28
|
+
if (fullText[end] === '\n') {
|
|
29
|
+
end++;
|
|
30
|
+
}
|
|
31
|
+
return { start, width: end - start };
|
|
32
|
+
}
|
|
33
|
+
const updatedImport = ts.factory.createImportDeclaration(importDeclaration.modifiers, ts.factory.createImportClause(importDeclaration.importClause.isTypeOnly, importDeclaration.importClause.name, ts.factory.createNamedImports(remainingElements.map(element => ts.factory.createImportSpecifier(element.isTypeOnly, element.propertyName, element.name)))), importDeclaration.moduleSpecifier, importDeclaration.attributes);
|
|
34
|
+
return {
|
|
35
|
+
start: importDeclaration.getStart(sourceFile),
|
|
36
|
+
width: importDeclaration.getWidth(sourceFile),
|
|
37
|
+
newNode: updatedImport
|
|
38
|
+
};
|
|
39
|
+
};
|
|
@@ -9,4 +9,6 @@ export * from './component-property-name.migration.js';
|
|
|
9
9
|
export * from './element-selector.migration.js';
|
|
10
10
|
export * from './symbol-renaming.migration.js';
|
|
11
11
|
export * from './symbol-removal.migration.js';
|
|
12
|
+
export * from './provider-function-removal.migration.js';
|
|
13
|
+
export * from './import-removal.js';
|
|
12
14
|
export * from './migration.interface.js';
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Siemens 2016 - 2026
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
import ts from 'typescript';
|
|
6
|
+
import { getImportSpecifiers } from '../../utils/index.js';
|
|
7
|
+
import { removeImportSpecifiers } from './import-removal.js';
|
|
8
|
+
export const applyProviderFunctionRemovalMigration = (context, changes) => {
|
|
9
|
+
const { discoveredSourceFile, recorder } = context;
|
|
10
|
+
if (!changes?.length) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
const { sourceFile } = discoveredSourceFile;
|
|
14
|
+
const edits = [];
|
|
15
|
+
for (const change of changes) {
|
|
16
|
+
const importSpecifiers = getImportSpecifiers(sourceFile, change.module, change.names);
|
|
17
|
+
if (!importSpecifiers.length) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
// Local names as they are used in the file (respecting import aliases).
|
|
21
|
+
const localNames = new Set(importSpecifiers.map(specifier => specifier.name.text));
|
|
22
|
+
const removedCall = collectArrayElementRemovals(sourceFile, localNames, edits);
|
|
23
|
+
// Only remove the import if at least one call was actually removed from a provider array.
|
|
24
|
+
if (removedCall) {
|
|
25
|
+
// Group the matched specifiers by their import declaration so a single edit is
|
|
26
|
+
// produced per declaration, even when multiple names are removed at once.
|
|
27
|
+
const specifiersByImport = new Map();
|
|
28
|
+
for (const specifier of importSpecifiers) {
|
|
29
|
+
const importDeclaration = specifier.parent.parent.parent;
|
|
30
|
+
if (!ts.isImportDeclaration(importDeclaration)) {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
const existing = specifiersByImport.get(importDeclaration) ?? [];
|
|
34
|
+
existing.push(specifier);
|
|
35
|
+
specifiersByImport.set(importDeclaration, existing);
|
|
36
|
+
}
|
|
37
|
+
for (const [importDeclaration, specifiers] of specifiersByImport) {
|
|
38
|
+
edits.push(removeImportSpecifiers(sourceFile, importDeclaration, specifiers));
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (!edits.length) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const printer = ts.createPrinter();
|
|
46
|
+
// Apply edits from bottom to top so earlier offsets stay valid.
|
|
47
|
+
edits.sort((a, b) => b.start - a.start);
|
|
48
|
+
for (const edit of edits) {
|
|
49
|
+
recorder.remove(edit.start, edit.width);
|
|
50
|
+
if (edit.newNode) {
|
|
51
|
+
recorder.insertLeft(edit.start, printer.printNode(ts.EmitHint.Unspecified, edit.newNode, sourceFile));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Finds all call expressions of the given local names that appear as direct elements of
|
|
57
|
+
* an array literal (e.g. a `providers: [...]` array) and records removal edits covering
|
|
58
|
+
* the call together with its adjacent comma and surrounding whitespace.
|
|
59
|
+
*
|
|
60
|
+
* @returns `true` if at least one call was scheduled for removal.
|
|
61
|
+
*/
|
|
62
|
+
const collectArrayElementRemovals = (sourceFile, localNames, edits) => {
|
|
63
|
+
let removed = false;
|
|
64
|
+
const visit = (node) => {
|
|
65
|
+
if (ts.isCallExpression(node) &&
|
|
66
|
+
ts.isIdentifier(node.expression) &&
|
|
67
|
+
localNames.has(node.expression.text) &&
|
|
68
|
+
ts.isArrayLiteralExpression(node.parent)) {
|
|
69
|
+
edits.push(getArrayElementRemovalRange(sourceFile, node.parent, node));
|
|
70
|
+
removed = true;
|
|
71
|
+
}
|
|
72
|
+
ts.forEachChild(node, visit);
|
|
73
|
+
};
|
|
74
|
+
visit(sourceFile);
|
|
75
|
+
return removed;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Computes the removal range for a single element of an array literal so that the
|
|
79
|
+
* remaining array stays syntactically valid (no dangling commas).
|
|
80
|
+
*/
|
|
81
|
+
const getArrayElementRemovalRange = (sourceFile, array, element) => {
|
|
82
|
+
const elements = array.elements;
|
|
83
|
+
const index = elements.indexOf(element);
|
|
84
|
+
const text = sourceFile.getFullText();
|
|
85
|
+
const elementStart = element.getStart(sourceFile);
|
|
86
|
+
const elementEnd = element.getEnd();
|
|
87
|
+
const isLast = index === elements.length - 1;
|
|
88
|
+
if (!isLast) {
|
|
89
|
+
// Remove up to (and including) the comma before the next element, plus the
|
|
90
|
+
// whitespace that follows it.
|
|
91
|
+
let end = elementEnd;
|
|
92
|
+
while (end < text.length && text[end] !== ',') {
|
|
93
|
+
end++;
|
|
94
|
+
}
|
|
95
|
+
// Skip the comma itself.
|
|
96
|
+
if (text[end] === ',') {
|
|
97
|
+
end++;
|
|
98
|
+
}
|
|
99
|
+
// Skip whitespace before the next element.
|
|
100
|
+
while (end < text.length && /\s/.test(text[end])) {
|
|
101
|
+
end++;
|
|
102
|
+
}
|
|
103
|
+
return { start: elementStart, width: end - elementStart };
|
|
104
|
+
}
|
|
105
|
+
// Last element: also remove the comma and whitespace that precede it, so the previous
|
|
106
|
+
// element does not end up with a trailing comma.
|
|
107
|
+
let start = elementStart;
|
|
108
|
+
let cursor = elementStart - 1;
|
|
109
|
+
while (cursor >= 0 && /\s/.test(text[cursor])) {
|
|
110
|
+
cursor--;
|
|
111
|
+
}
|
|
112
|
+
if (cursor >= 0 && text[cursor] === ',') {
|
|
113
|
+
start = cursor;
|
|
114
|
+
}
|
|
115
|
+
return { start, width: elementEnd - start };
|
|
116
|
+
};
|
|
@@ -7,9 +7,9 @@ import { getElementMigrationData } from '../migrations/data/index.js';
|
|
|
7
7
|
import { elementMigrationRule } from '../migrations/element-migration/element-migration.js';
|
|
8
8
|
import { iconPathMigrationRule } from '../migrations/icon-path-migration/index.js';
|
|
9
9
|
import { missingTranslateMigrationRule } from '../migrations/ngx-translate/index.js';
|
|
10
|
-
export const
|
|
10
|
+
export const migrateToV51 = () => {
|
|
11
11
|
return (tree, context) => {
|
|
12
|
-
context.logger.info('🚀 Starting update from version
|
|
12
|
+
context.logger.info('🚀 Starting update from version 49 to 51...');
|
|
13
13
|
const migrationData = getElementMigrationData();
|
|
14
14
|
const options = { path: '/' };
|
|
15
15
|
return chain([
|
package/template-i18n.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"SI_APPLICATION_HEADER.LAUNCHPAD": "Launchpad",
|
|
6
6
|
"SI_APPLICATION_HEADER.TOGGLE_ACTIONS": "Toggle actions",
|
|
7
7
|
"SI_APPLICATION_HEADER.TOGGLE_NAVIGATION": "Toggle navigation",
|
|
8
|
-
"SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT": "Remove attachment",
|
|
8
|
+
"SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT": "Remove {{attachment}}",
|
|
9
9
|
"SI_BREADCRUMB": "Breadcrumbs",
|
|
10
10
|
"SI_BREADCRUMB_ROUTER_LABEL": "breadcrumb",
|
|
11
11
|
"SI_CAROUSEL.NEXT": "Next slide",
|
|
@@ -103,10 +103,9 @@
|
|
|
103
103
|
"SI_FILE_UPLOADER.ACCEPTED_FILE_TYPES": "Accepted file types: {{accept}}.",
|
|
104
104
|
"SI_FILE_UPLOADER.CANCEL": "Cancel",
|
|
105
105
|
"SI_FILE_UPLOADER.CLEAR": "Clear",
|
|
106
|
-
"SI_FILE_UPLOADER.DROP": "Drop files here or",
|
|
106
|
+
"SI_FILE_UPLOADER.DROP": "Drop files here or click to upload",
|
|
107
107
|
"SI_FILE_UPLOADER.ERROR_FILE_SIZE_EXCEEDED": "File exceeds allowed maximum size of {{maxFileSize}}",
|
|
108
108
|
"SI_FILE_UPLOADER.ERROR_FILE_TYPE": "Incorrect file type selected",
|
|
109
|
-
"SI_FILE_UPLOADER.FILE_SELECT": "click to upload",
|
|
110
109
|
"SI_FILE_UPLOADER.MAX_FILE_REACHED": "Max. {{maxFiles}} files",
|
|
111
110
|
"SI_FILE_UPLOADER.MAX_SIZE": "Max. {{maxFileSize}} upload size.",
|
|
112
111
|
"SI_FILE_UPLOADER.REMOVE": "Remove",
|
|
@@ -221,11 +220,9 @@
|
|
|
221
220
|
"SI_SLIDER.DECREMENT": "Decrement",
|
|
222
221
|
"SI_SLIDER.INCREMENT": "Increment",
|
|
223
222
|
"SI_SLIDER.LABEL": "Value",
|
|
224
|
-
"SI_SORT_BAR.TITLE": "Sort by",
|
|
225
223
|
"SI_STATUS_BAR.ALL_OK": "All OK",
|
|
226
|
-
"SI_STATUS_BAR.COLLAPSE": "Collapse",
|
|
227
|
-
"SI_STATUS_BAR.EXPAND": "Expand",
|
|
228
224
|
"SI_STATUS_BAR.MUTE": "Mute/unmute",
|
|
225
|
+
"SI_STATUS_BAR.TOGGLE": "Toggle",
|
|
229
226
|
"SI_THRESHOLD.ADD": "Add step",
|
|
230
227
|
"SI_THRESHOLD.DELETE": "Delete step",
|
|
231
228
|
"SI_THRESHOLD.INPUT_LABEL": "Threshold value",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as _siemens_element_translate_ng_translate from '@siemens/element-translate-ng/translate';
|
|
2
2
|
import { TranslatableString } from '@siemens/element-translate-ng/translate';
|
|
3
3
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { OnDestroy, TemplateRef, Injector, OnInit, OnChanges, SimpleChanges } from '@angular/core';
|
|
4
|
+
import { OnDestroy, TemplateRef, Injector, OnInit, OnChanges, Signal, ElementRef, SimpleChanges } from '@angular/core';
|
|
5
5
|
import { HeaderWithDropdowns, SiHeaderDropdownTriggerDirective } from '@siemens/element-ng/header-dropdown';
|
|
6
6
|
import { Subject } from 'rxjs';
|
|
7
7
|
import * as _siemens_element_ng_application_header from '@siemens/element-ng/application-header';
|
|
@@ -147,10 +147,16 @@ declare abstract class SiHeaderActionIconItemBase extends SiHeaderActionItemBase
|
|
|
147
147
|
* - =true, an empty red dot will be shown
|
|
148
148
|
*/
|
|
149
149
|
readonly badge: _angular_core.InputSignal<number | boolean | null | undefined>;
|
|
150
|
-
protected readonly
|
|
151
|
-
|
|
150
|
+
protected abstract readonly itemTitle: Signal<string | ElementRef<Element>>;
|
|
151
|
+
private readonly tooltipService;
|
|
152
|
+
private readonly elementRef;
|
|
153
|
+
private readonly existingTooltip;
|
|
154
|
+
protected readonly badgeDot: Signal<boolean>;
|
|
155
|
+
protected readonly badgeValue: Signal<string | undefined>;
|
|
156
|
+
constructor();
|
|
157
|
+
private setupTooltip;
|
|
152
158
|
ngOnChanges(changes: SimpleChanges<this>): void;
|
|
153
|
-
protected
|
|
159
|
+
protected readonly visuallyHideTitle: Signal<boolean>;
|
|
154
160
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderActionIconItemBase, never>;
|
|
155
161
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiHeaderActionIconItemBase, never, never, { "badge": { "alias": "badge"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
156
162
|
}
|
|
@@ -159,6 +165,7 @@ declare abstract class SiHeaderActionIconItemBase extends SiHeaderActionItemBase
|
|
|
159
165
|
declare class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {
|
|
160
166
|
/** The icon to be shown. */
|
|
161
167
|
readonly icon: _angular_core.InputSignal<string>;
|
|
168
|
+
protected readonly itemTitle: _angular_core.Signal<ElementRef<HTMLElement>>;
|
|
162
169
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderActionItemComponent, never>;
|
|
163
170
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiHeaderActionItemComponent, "button[si-header-action-item], a[si-header-action-item]", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; }, {}, never, ["si-avatar", "*"], true, never>;
|
|
164
171
|
}
|
|
@@ -171,6 +178,7 @@ declare class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {
|
|
|
171
178
|
readonly initials: _angular_core.InputSignal<string | undefined>;
|
|
172
179
|
/** URL to an image which should be shown instead of the initials. */
|
|
173
180
|
readonly imageUrl: _angular_core.InputSignal<string | undefined>;
|
|
181
|
+
protected readonly itemTitle: _angular_core.InputSignal<string>;
|
|
174
182
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderAccountItemComponent, never>;
|
|
175
183
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiHeaderAccountItemComponent, "button[si-header-account-item]", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "initials": { "alias": "initials"; "required": false; "isSignal": true; }; "imageUrl": { "alias": "imageUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
176
184
|
}
|
|
@@ -197,26 +205,6 @@ declare class SiHeaderLogoDirective implements OnInit {
|
|
|
197
205
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiHeaderLogoDirective, "si-header-logo, [siHeaderLogo]", never, {}, {}, never, never, true, never>;
|
|
198
206
|
}
|
|
199
207
|
|
|
200
|
-
/**
|
|
201
|
-
* The siemens logo.
|
|
202
|
-
* Should be located inside `.header-brand`.
|
|
203
|
-
*
|
|
204
|
-
* @deprecated Use the {@link SiHeaderLogoDirective} instead.
|
|
205
|
-
* The new component will use the logo provided by the global theme instead
|
|
206
|
-
* of containing a hard coded siemens logo.
|
|
207
|
-
* ```html
|
|
208
|
-
* // previous
|
|
209
|
-
* <a si-header-siemens-logo routerLink="/" aria-label="Siemens" class="d-none d-md-flex"></a>
|
|
210
|
-
* // new
|
|
211
|
-
* <a siHeaderLogo routerLink="/" class="d-none d-md-flex"></a>
|
|
212
|
-
* ```
|
|
213
|
-
*
|
|
214
|
-
*/
|
|
215
|
-
declare class SiHeaderSiemensLogoComponent extends SiHeaderLogoDirective {
|
|
216
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderSiemensLogoComponent, never>;
|
|
217
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiHeaderSiemensLogoComponent, "si-header-siemens-logo, [si-header-siemens-logo]", never, {}, {}, never, never, true, never>;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
208
|
declare class SiHeaderActionsDirective {
|
|
221
209
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiHeaderActionsDirective, never>;
|
|
222
210
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiHeaderActionsDirective, "si-header-actions", never, {}, {}, never, never, true, never>;
|
|
@@ -371,5 +359,5 @@ declare class SiLaunchpadFactoryComponent {
|
|
|
371
359
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiLaunchpadFactoryComponent, "si-launchpad-factory", never, { "closeText": { "alias": "closeText"; "required": false; "isSignal": true; }; "titleText": { "alias": "titleText"; "required": false; "isSignal": true; }; "subtitleText": { "alias": "subtitleText"; "required": false; "isSignal": true; }; "apps": { "alias": "apps"; "required": true; "isSignal": true; }; "enableFavorites": { "alias": "enableFavorites"; "required": false; "isSignal": true; }; "favoriteAppsText": { "alias": "favoriteAppsText"; "required": false; "isSignal": true; }; "showMoreAppsText": { "alias": "showMoreAppsText"; "required": false; "isSignal": true; }; "showLessAppsText": { "alias": "showLessAppsText"; "required": false; "isSignal": true; }; }, { "favoriteChange": "favoriteChange"; }, never, never, true, never>;
|
|
372
360
|
}
|
|
373
361
|
|
|
374
|
-
export { SiAccountDetailsComponent, SiApplicationHeaderComponent, SiHeaderAccountItemComponent, SiHeaderActionItemComponent, SiHeaderActionsDirective, SiHeaderBrandDirective, SiHeaderCollapsibleActionsComponent, SiHeaderLogoDirective, SiHeaderNavigationComponent, SiHeaderNavigationItemComponent, SiHeaderSelectionItemComponent,
|
|
362
|
+
export { SiAccountDetailsComponent, SiApplicationHeaderComponent, SiHeaderAccountItemComponent, SiHeaderActionItemComponent, SiHeaderActionsDirective, SiHeaderBrandDirective, SiHeaderCollapsibleActionsComponent, SiHeaderLogoDirective, SiHeaderNavigationComponent, SiHeaderNavigationItemComponent, SiHeaderSelectionItemComponent, SiLaunchpadFactoryComponent };
|
|
375
363
|
export type { App, AppBase, AppCategory, AppLink, AppRouterLink, FavoriteChangeEvent };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { OnInit } from '@angular/core';
|
|
3
3
|
import { Highlightable } from '@angular/cdk/a11y';
|
|
4
4
|
|
|
@@ -12,30 +12,30 @@ declare class SiAutocompleteOptionDirective<T = unknown> implements Highlightabl
|
|
|
12
12
|
* `__si-autocomplete-option-${SiAutocompleteOptionDirective.idCounter++}`
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
readonly id:
|
|
15
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
16
16
|
/** @defaultValue false */
|
|
17
|
-
readonly disabledInput:
|
|
17
|
+
readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
18
18
|
get disabled(): boolean;
|
|
19
19
|
/** @defaultValue undefined */
|
|
20
|
-
readonly value:
|
|
21
|
-
protected active
|
|
20
|
+
readonly value: _angular_core.InputSignal<T | undefined>;
|
|
21
|
+
protected readonly active: _angular_core.WritableSignal<boolean>;
|
|
22
22
|
protected click(): void;
|
|
23
23
|
/** @internal */
|
|
24
24
|
setActiveStyles(): void;
|
|
25
25
|
/** @internal */
|
|
26
26
|
setInactiveStyles(): void;
|
|
27
|
-
static ɵfac:
|
|
28
|
-
static ɵdir:
|
|
27
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiAutocompleteOptionDirective<any>, never>;
|
|
28
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiAutocompleteOptionDirective<any>, "[siAutocompleteOption]", ["siAutocompleteOption"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "siAutocompleteOption"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
declare class SiAutocompleteDirective<T> {
|
|
32
32
|
/** @internal */
|
|
33
|
-
readonly listbox:
|
|
33
|
+
readonly listbox: _angular_core.WritableSignal<SiAutocompleteListboxDirective<T> | undefined>;
|
|
34
34
|
protected get activeDescendant(): string;
|
|
35
35
|
protected keydown(event: KeyboardEvent): void;
|
|
36
36
|
get active(): SiAutocompleteOptionDirective<T> | undefined | null;
|
|
37
|
-
static ɵfac:
|
|
38
|
-
static ɵdir:
|
|
37
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiAutocompleteDirective<any>, never>;
|
|
38
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiAutocompleteDirective<any>, "input[siAutocomplete]", ["siAutocomplete"], {}, {}, never, never, true, never>;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
declare class SiAutocompleteListboxDirective<T> implements OnInit {
|
|
@@ -47,11 +47,11 @@ declare class SiAutocompleteListboxDirective<T> implements OnInit {
|
|
|
47
47
|
* `__si-autocomplete-listbox-${SiAutocompleteListboxDirective.idCounter++}`
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
readonly id:
|
|
51
|
-
readonly autocomplete:
|
|
50
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
51
|
+
readonly autocomplete: _angular_core.InputSignal<SiAutocompleteDirective<T>>;
|
|
52
52
|
/** @defaultValue 0 */
|
|
53
|
-
readonly siAutocompleteDefaultIndex:
|
|
54
|
-
readonly siAutocompleteOptionSubmitted:
|
|
53
|
+
readonly siAutocompleteDefaultIndex: _angular_core.InputSignal<number>;
|
|
54
|
+
readonly siAutocompleteOptionSubmitted: _angular_core.OutputEmitterRef<T | undefined>;
|
|
55
55
|
private injector;
|
|
56
56
|
private keyManager;
|
|
57
57
|
private changeDetectorRef;
|
|
@@ -62,14 +62,14 @@ declare class SiAutocompleteListboxDirective<T> implements OnInit {
|
|
|
62
62
|
/** @internal */
|
|
63
63
|
onKeydown(event: KeyboardEvent): void;
|
|
64
64
|
get active(): SiAutocompleteOptionDirective<T> | null;
|
|
65
|
-
static ɵfac:
|
|
66
|
-
static ɵdir:
|
|
65
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiAutocompleteListboxDirective<any>, never>;
|
|
66
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SiAutocompleteListboxDirective<any>, "[siAutocompleteListboxFor]", ["siAutocompleteListbox"], { "id": { "alias": "id"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "siAutocompleteListboxFor"; "required": true; "isSignal": true; }; "siAutocompleteDefaultIndex": { "alias": "siAutocompleteDefaultIndex"; "required": false; "isSignal": true; }; }, { "siAutocompleteOptionSubmitted": "siAutocompleteOptionSubmitted"; }, ["options"], never, true, never>;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
declare class SiAutocompleteModule {
|
|
70
|
-
static ɵfac:
|
|
71
|
-
static ɵmod:
|
|
72
|
-
static ɵinj:
|
|
70
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiAutocompleteModule, never>;
|
|
71
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<SiAutocompleteModule, never, [typeof SiAutocompleteDirective, typeof SiAutocompleteListboxDirective, typeof SiAutocompleteOptionDirective], [typeof SiAutocompleteDirective, typeof SiAutocompleteListboxDirective, typeof SiAutocompleteOptionDirective]>;
|
|
72
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<SiAutocompleteModule>;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
export { SiAutocompleteDirective, SiAutocompleteListboxDirective, SiAutocompleteModule, SiAutocompleteOptionDirective };
|
|
@@ -168,11 +168,12 @@ declare class SiAttachmentListComponent {
|
|
|
168
168
|
*/
|
|
169
169
|
readonly removable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
170
170
|
/**
|
|
171
|
-
* Label for remove attachment button
|
|
171
|
+
* Label for remove attachment button.
|
|
172
|
+
* The attachment name is available with `{{attachment}}`.
|
|
172
173
|
*
|
|
173
174
|
* @defaultValue
|
|
174
175
|
* ```
|
|
175
|
-
* t(() => $localize`:@@SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT:Remove attachment`)
|
|
176
|
+
* t(() => $localize`:@@SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT:Remove {{attachment}}`)
|
|
176
177
|
* ```
|
|
177
178
|
*/
|
|
178
179
|
readonly removeLabel: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
@@ -449,11 +450,12 @@ declare class SiChatInputComponent implements AfterViewInit {
|
|
|
449
450
|
*/
|
|
450
451
|
readonly attachFileLabel: _angular_core.InputSignal<TranslatableString$1>;
|
|
451
452
|
/**
|
|
452
|
-
* Remove attachment aria label
|
|
453
|
+
* Remove attachment aria label.
|
|
454
|
+
* The attachment name is available with `{{attachment}}`.
|
|
453
455
|
*
|
|
454
456
|
* @defaultValue
|
|
455
457
|
* ```
|
|
456
|
-
* t(() => $localize`:@@SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT:Remove attachment`)
|
|
458
|
+
* t(() => $localize`:@@SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT:Remove {{attachment}}`)
|
|
457
459
|
* ```
|
|
458
460
|
*/
|
|
459
461
|
readonly removeAttachmentLabel: _angular_core.InputSignal<TranslatableString$1>;
|
|
@@ -25,7 +25,7 @@ declare class SiCircleStatusComponent implements OnChanges, OnDestroy {
|
|
|
25
25
|
*
|
|
26
26
|
* @defaultValue 'regular'
|
|
27
27
|
*/
|
|
28
|
-
readonly size: _angular_core.InputSignal<"
|
|
28
|
+
readonly size: _angular_core.InputSignal<"small" | "regular">;
|
|
29
29
|
/**
|
|
30
30
|
* event direction is out
|
|
31
31
|
*
|
|
@@ -283,7 +283,7 @@ declare class SiDateRangeFilterComponent implements OnChanges {
|
|
|
283
283
|
protected readonly advancedMode: _angular_core.WritableSignal<boolean>;
|
|
284
284
|
protected readonly dateRange: _angular_core.WritableSignal<DateRange>;
|
|
285
285
|
protected readonly point1Now: _angular_core.WritableSignal<boolean>;
|
|
286
|
-
protected readonly point2Mode: _angular_core.WritableSignal<"
|
|
286
|
+
protected readonly point2Mode: _angular_core.WritableSignal<"date" | "duration">;
|
|
287
287
|
protected readonly point1date: _angular_core.WritableSignal<Date>;
|
|
288
288
|
protected readonly point2date: _angular_core.WritableSignal<Date>;
|
|
289
289
|
protected readonly point2offset: _angular_core.WritableSignal<number>;
|
|
@@ -334,16 +334,6 @@ declare class SiDatepickerComponent implements OnInit, OnChanges, AfterViewInit
|
|
|
334
334
|
* ```
|
|
335
335
|
*/
|
|
336
336
|
readonly nextLabel: _angular_core.InputSignal<TranslatableString>;
|
|
337
|
-
/**
|
|
338
|
-
* Aria label for week number column
|
|
339
|
-
*
|
|
340
|
-
* @deprecated Use `calendarWeekLabel` instead.
|
|
341
|
-
* @defaultValue
|
|
342
|
-
* ```
|
|
343
|
-
* t(() => $localize`:@@SI_DATEPICKER.CALENDAR_WEEK_LABEL:Calendar week`)
|
|
344
|
-
* ```
|
|
345
|
-
*/
|
|
346
|
-
readonly calenderWeekLabel: _angular_core.InputSignal<TranslatableString | undefined>;
|
|
347
337
|
/**
|
|
348
338
|
* Aria label for week number column
|
|
349
339
|
*
|
|
@@ -353,7 +343,6 @@ declare class SiDatepickerComponent implements OnInit, OnChanges, AfterViewInit
|
|
|
353
343
|
* ```
|
|
354
344
|
*/
|
|
355
345
|
readonly calendarWeekLabel: _angular_core.InputSignal<TranslatableString>;
|
|
356
|
-
protected readonly derivedWeekLabel: _angular_core.Signal<TranslatableString>;
|
|
357
346
|
/**
|
|
358
347
|
* Enable/disable 12H mode in timepicker. Defaults to locale
|
|
359
348
|
*
|
|
@@ -500,7 +489,7 @@ declare class SiDatepickerComponent implements OnInit, OnChanges, AfterViewInit
|
|
|
500
489
|
focusActiveCell(): void;
|
|
501
490
|
protected onActiveHoverChange(event?: Cell): void;
|
|
502
491
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiDatepickerComponent, never>;
|
|
503
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiDatepickerComponent, "si-datepicker", never, { "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; "isSignal": true; }; "dateRangeRole": { "alias": "dateRangeRole"; "required": false; "isSignal": true; }; "initialFocus": { "alias": "initialFocus"; "required": false; "isSignal": true; }; "disabledTime": { "alias": "disabledTime"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "
|
|
492
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiDatepickerComponent, "si-datepicker", never, { "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "date": { "alias": "date"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; "isSignal": true; }; "dateRangeRole": { "alias": "dateRangeRole"; "required": false; "isSignal": true; }; "initialFocus": { "alias": "initialFocus"; "required": false; "isSignal": true; }; "disabledTime": { "alias": "disabledTime"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "previousLabel": { "alias": "previousLabel"; "required": false; "isSignal": true; }; "nextLabel": { "alias": "nextLabel"; "required": false; "isSignal": true; }; "calendarWeekLabel": { "alias": "calendarWeekLabel"; "required": false; "isSignal": true; }; "time12h": { "alias": "time12h"; "required": false; "isSignal": true; }; "rangeType": { "alias": "rangeType"; "required": false; "isSignal": true; }; "minMonth": { "alias": "minMonth"; "required": false; "isSignal": true; }; "maxMonth": { "alias": "maxMonth"; "required": false; "isSignal": true; }; "hideTimeToggle": { "alias": "hideTimeToggle"; "required": false; "isSignal": true; }; "hideCalendar": { "alias": "hideCalendar"; "required": false; "isSignal": true; }; "timepickerLabel": { "alias": "timepickerLabel"; "required": false; "isSignal": true; }; "activeHover": { "alias": "activeHover"; "required": false; "isSignal": true; }; }, { "focusedDate": "focusedDateChange"; "date": "dateChange"; "dateRange": "dateRangeChange"; "disabledTime": "disabledTimeChange"; "config": "configChange"; "rangeType": "rangeTypeChange"; "activeHover": "activeHoverChange"; }, never, never, true, never>;
|
|
504
493
|
}
|
|
505
494
|
|
|
506
495
|
declare class SiDatepickerOverlayComponent implements OnChanges, OnInit, OnDestroy {
|
|
@@ -128,20 +128,11 @@ declare class SiFileUploadDirective {
|
|
|
128
128
|
|
|
129
129
|
declare class SiFileDropzoneComponent {
|
|
130
130
|
/**
|
|
131
|
-
* Text or translation key of the
|
|
131
|
+
* Text or translation key of the drag&drop field.
|
|
132
132
|
*
|
|
133
133
|
* @defaultValue
|
|
134
134
|
* ```
|
|
135
|
-
* t(() => $localize`:@@SI_FILE_UPLOADER.
|
|
136
|
-
* ```
|
|
137
|
-
*/
|
|
138
|
-
readonly uploadTextFileSelect: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
139
|
-
/**
|
|
140
|
-
* Text or translation key of the drag&drop field (is combined with the `uploadTextFileSelect`).
|
|
141
|
-
*
|
|
142
|
-
* @defaultValue
|
|
143
|
-
* ```
|
|
144
|
-
* t(() => $localize`:@@SI_FILE_UPLOADER.DROP:Drop files here or`)
|
|
135
|
+
* t(() => $localize`:@@SI_FILE_UPLOADER.DROP:Drop files here or click to upload`)
|
|
145
136
|
* ```
|
|
146
137
|
*/
|
|
147
138
|
readonly uploadDropText: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
@@ -226,7 +217,7 @@ declare class SiFileDropzoneComponent {
|
|
|
226
217
|
*/
|
|
227
218
|
reset(): void;
|
|
228
219
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiFileDropzoneComponent, never>;
|
|
229
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiFileDropzoneComponent, "si-file-dropzone", never, { "
|
|
220
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiFileDropzoneComponent, "si-file-dropzone", never, { "uploadDropText": { "alias": "uploadDropText"; "required": false; "isSignal": true; }; "maxFileSizeText": { "alias": "maxFileSizeText"; "required": false; "isSignal": true; }; "acceptText": { "alias": "acceptText"; "required": false; "isSignal": true; }; "errorTextFileType": { "alias": "errorTextFileType"; "required": false; "isSignal": true; }; "errorTextFileMaxSize": { "alias": "errorTextFileMaxSize"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "directoryUpload": { "alias": "directoryUpload"; "required": false; "isSignal": true; }; }, { "filesAdded": "filesAdded"; "fileError": "fileError"; }, never, never, true, never>;
|
|
230
221
|
}
|
|
231
222
|
|
|
232
223
|
/**
|
|
@@ -271,21 +262,12 @@ interface ExtUploadFile extends UploadFile {
|
|
|
271
262
|
fadeOut?: boolean;
|
|
272
263
|
}
|
|
273
264
|
declare class SiFileUploaderComponent {
|
|
274
|
-
/**
|
|
275
|
-
* Text of the link to open the file select dialog (follows `uploadDropText`).
|
|
276
|
-
*
|
|
277
|
-
* @defaultValue
|
|
278
|
-
* ```
|
|
279
|
-
* t(() => $localize`:@@SI_FILE_UPLOADER.FILE_SELECT:click to upload`)
|
|
280
|
-
* ```
|
|
281
|
-
*/
|
|
282
|
-
readonly uploadTextFileSelect: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
283
265
|
/**
|
|
284
266
|
* Text instructing a user to drop the files inside the dropzone.
|
|
285
267
|
*
|
|
286
268
|
* @defaultValue
|
|
287
269
|
* ```
|
|
288
|
-
* t(() => $localize`:@@SI_FILE_UPLOADER.DROP:Drop files here or`)
|
|
270
|
+
* t(() => $localize`:@@SI_FILE_UPLOADER.DROP:Drop files here or click to upload`)
|
|
289
271
|
* ```
|
|
290
272
|
*/
|
|
291
273
|
readonly uploadDropText: _angular_core.InputSignal<_siemens_element_translate_ng_translate.TranslatableString>;
|
|
@@ -516,7 +498,7 @@ declare class SiFileUploaderComponent {
|
|
|
516
498
|
private updateStates;
|
|
517
499
|
private countValid;
|
|
518
500
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SiFileUploaderComponent, never>;
|
|
519
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiFileUploaderComponent, "si-file-uploader", never, { "
|
|
501
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SiFileUploaderComponent, "si-file-uploader", never, { "uploadDropText": { "alias": "uploadDropText"; "required": false; "isSignal": true; }; "maxFileSizeText": { "alias": "maxFileSizeText"; "required": false; "isSignal": true; }; "maxFilesReachedText": { "alias": "maxFilesReachedText"; "required": false; "isSignal": true; }; "acceptText": { "alias": "acceptText"; "required": false; "isSignal": true; }; "uploadButtonText": { "alias": "uploadButtonText"; "required": false; "isSignal": true; }; "clearButtonText": { "alias": "clearButtonText"; "required": false; "isSignal": true; }; "uploadingText": { "alias": "uploadingText"; "required": false; "isSignal": true; }; "removeButtonText": { "alias": "removeButtonText"; "required": false; "isSignal": true; }; "cancelButtonText": { "alias": "cancelButtonText"; "required": false; "isSignal": true; }; "successTextTitle": { "alias": "successTextTitle"; "required": false; "isSignal": true; }; "errorUploadFailed": { "alias": "errorUploadFailed"; "required": false; "isSignal": true; }; "showHttpError": { "alias": "showHttpError"; "required": false; "isSignal": true; }; "errorTextFileType": { "alias": "errorTextFileType"; "required": false; "isSignal": true; }; "errorTextFileMaxSize": { "alias": "errorTextFileMaxSize"; "required": false; "isSignal": true; }; "uploadConfig": { "alias": "uploadConfig"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "maxFiles": { "alias": "maxFiles"; "required": false; "isSignal": true; }; "maxConcurrentUploads": { "alias": "maxConcurrentUploads"; "required": false; "isSignal": true; }; "retries": { "alias": "retries"; "required": false; "isSignal": true; }; "autoUpload": { "alias": "autoUpload"; "required": false; "isSignal": true; }; "disableUpload": { "alias": "disableUpload"; "required": false; "isSignal": true; }; "directoryUpload": { "alias": "directoryUpload"; "required": false; "isSignal": true; }; }, { "uploadCanceled": "uploadCanceled"; "uploadCompleted": "uploadCompleted"; "filesChanges": "filesChanges"; }, never, never, true, never>;
|
|
520
502
|
}
|
|
521
503
|
|
|
522
504
|
declare class SiFileUploaderModule {
|
|
@@ -61,7 +61,7 @@ interface CriterionDefinition {
|
|
|
61
61
|
/**
|
|
62
62
|
* Optional configuration object for the datepicker.
|
|
63
63
|
*/
|
|
64
|
-
datepickerConfig?: DatepickerInputConfig
|
|
64
|
+
datepickerConfig?: Omit<DatepickerInputConfig, 'enableDateRange' | 'enableTwoMonthDateRange'>;
|
|
65
65
|
/**
|
|
66
66
|
* Limit criterion options to the predefined ones.
|
|
67
67
|
*/
|