@siemens/element-ng 49.13.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 +142 -137
- 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 +27 -22
- 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 +267 -84
- 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 +38 -29
- 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 +19 -15
- 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 +121 -138
- 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 +59 -45
- 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 +52 -54
- 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 +92 -73
- 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 +1 -21
- 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 +134 -37
- 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-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 +5 -8
- 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-toast-notification.d.ts +0 -1
- 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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Overlay } from '@angular/cdk/overlay';
|
|
2
2
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Directive, inject, computed, viewChild, ElementRef,
|
|
4
|
+
import { Directive, inject, computed, viewChild, ElementRef, Component, untracked, input, booleanAttribute, numberAttribute, output, signal, Injector, effect, NgModule } from '@angular/core';
|
|
5
5
|
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
6
6
|
import * as i1 from '@siemens/element-ng/autocomplete';
|
|
7
7
|
import { SiAutocompleteDirective, SiAutocompleteListboxDirective, SiAutocompleteOptionDirective } from '@siemens/element-ng/autocomplete';
|
|
@@ -20,10 +20,10 @@ class SiTypeaheadItemTemplateDirective {
|
|
|
20
20
|
static ngTemplateContextGuard(dir, ctx) {
|
|
21
21
|
return true;
|
|
22
22
|
}
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
24
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
23
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadItemTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
24
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.5", type: SiTypeaheadItemTemplateDirective, isStandalone: true, selector: "[siTypeaheadItemTemplate]", ngImport: i0 });
|
|
25
25
|
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadItemTemplateDirective, decorators: [{
|
|
27
27
|
type: Directive,
|
|
28
28
|
args: [{
|
|
29
29
|
selector: '[siTypeaheadItemTemplate]'
|
|
@@ -38,8 +38,10 @@ class SiTypeaheadComponent {
|
|
|
38
38
|
parent = inject(SiTypeaheadDirective);
|
|
39
39
|
matches = computed(() => this.parent.typeaheadOptionsLimit()
|
|
40
40
|
? this.parent.foundMatches().slice(0, this.parent.typeaheadOptionsLimit())
|
|
41
|
-
: this.parent.foundMatches(),
|
|
42
|
-
|
|
41
|
+
: this.parent.foundMatches(), /* @ts-ignore */
|
|
42
|
+
...(ngDevMode ? [{ debugName: "matches" }] : /* istanbul ignore next */ []));
|
|
43
|
+
multiselect = computed(() => this.parent.typeaheadMultiSelect(), /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "multiselect" }] : /* istanbul ignore next */ []));
|
|
43
45
|
typeaheadElement = viewChild.required('typeahead', {
|
|
44
46
|
read: ElementRef
|
|
45
47
|
});
|
|
@@ -47,9 +49,6 @@ class SiTypeaheadComponent {
|
|
|
47
49
|
ngAfterViewInit() {
|
|
48
50
|
this.setHeight(this.typeaheadElement());
|
|
49
51
|
}
|
|
50
|
-
onMouseDown(event) {
|
|
51
|
-
event.preventDefault();
|
|
52
|
-
}
|
|
53
52
|
/*
|
|
54
53
|
* Set the height of the element passed to it (typeahead) if there are items displayed,
|
|
55
54
|
* the number of displayed items changed and it is scrollable.
|
|
@@ -80,10 +79,10 @@ class SiTypeaheadComponent {
|
|
|
80
79
|
this.parent.createOption();
|
|
81
80
|
}
|
|
82
81
|
}
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
84
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
82
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
83
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiTypeaheadComponent, isStandalone: true, selector: "si-typeahead", host: { listeners: { "mousedown": "$event.preventDefault()" }, classAttribute: "w-100" }, viewQueries: [{ propertyName: "typeaheadElement", first: true, predicate: ["typeahead"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<!-- Template to be used for every match, can be replaced using an input. -->\n<ng-template #defaultItemTemplate let-match=\"match\" siTypeaheadItemTemplate>\n @if (multiselect()) {\n <div class=\"d-flex pe-4\" aria-hidden=\"true\">\n <span class=\"form-check-input si-form-checkbox\" [class.checked]=\"match.itemSelected\"></span>\n </div>\n }\n @if (match.iconClass) {\n <si-icon class=\"icon me-2\" [icon]=\"match.iconClass\" />\n }\n @for (segment of match.result; track $index) {\n <span [class.typeahead-match-segment-matching]=\"segment.isMatching\">{{ segment.text }}</span>\n }\n</ng-template>\n\n@let createOption = parent.typeaheadCreateOption();\n\n<!-- Only display the component if there are any matches and set the CSS transform to properly position the typeahead -->\n<ul\n #typeahead\n class=\"typeahead dropdown-menu\"\n [class.empty-loading]=\"parent.typeaheadLoading() && matches().length === 0\"\n [siLoading]=\"parent.typeaheadLoading() && matches().length === 0\"\n [initialDelay]=\"false\"\n [siAutocompleteListboxFor]=\"autocompleteDirective\"\n [siAutocompleteDefaultIndex]=\"parent.typeaheadAutoSelectIndex()\"\n [attr.aria-label]=\"parent.typeaheadAutocompleteListLabel() | translate\"\n (siAutocompleteOptionSubmitted)=\"selectMatch($event)\"\n>\n @if (parent.typeaheadLoading() && matches().length) {\n <li class=\"dropdown-item\" [siLoading]=\"true\" [initialDelay]=\"false\"></li>\n }\n <!-- Loop through every match and bind events, the mousedown prevent default is to prevent the host from losing focus on click -->\n @for (match of matches(); track $index) {\n <li\n #typeaheadMatch\n class=\"dropdown-item\"\n [siAutocompleteOption]=\"match\"\n [attr.aria-label]=\"match.text\"\n [attr.aria-selected]=\"multiselect() ? match.itemSelected : null\"\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <!-- Display either a template set as the input or the template above -->\n <ng-template\n [ngTemplateOutlet]=\"parent.typeaheadItemTemplate() || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{\n item: match.option,\n index: $index,\n match: match,\n query: parent.query()\n }\"\n />\n </li>\n }\n @if (createOption && parent.query().length) {\n <li class=\"dropdown-item\" [siAutocompleteOption]=\"undefined\">\n {{ createOption | translate: { query: parent.query() } }}\n </li>\n }\n</ul>\n", styles: [":host{--loading-spinner-size: 24px}.dropdown-menu{display:block;position:relative;inset-block-start:0;inset-inline-start:0;margin-block-start:1px;overflow-y:auto;overflow-x:hidden;max-block-size:100%}.dropdown-menu.empty-loading{min-block-size:176px}.typeahead-match-segment-matching{font-weight:600}.dropdown-item *{flex-shrink:0}.dropdown-item span{white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: SiAutocompleteListboxDirective, selector: "[siAutocompleteListboxFor]", inputs: ["id", "siAutocompleteListboxFor", "siAutocompleteDefaultIndex"], outputs: ["siAutocompleteOptionSubmitted"], exportAs: ["siAutocompleteListbox"] }, { kind: "directive", type: SiAutocompleteOptionDirective, selector: "[siAutocompleteOption]", inputs: ["id", "disabled", "siAutocompleteOption"], exportAs: ["siAutocompleteOption"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiTypeaheadItemTemplateDirective, selector: "[siTypeaheadItemTemplate]" }, { kind: "directive", type: SiLoadingSpinnerDirective, selector: "[siLoading]", inputs: ["siLoading", "blocking", "initialDelay"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
85
84
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadComponent, decorators: [{
|
|
87
86
|
type: Component,
|
|
88
87
|
args: [{ selector: 'si-typeahead', imports: [
|
|
89
88
|
SiAutocompleteListboxDirective,
|
|
@@ -93,13 +92,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
93
92
|
SiTranslatePipe,
|
|
94
93
|
SiTypeaheadItemTemplateDirective,
|
|
95
94
|
SiLoadingSpinnerDirective
|
|
96
|
-
],
|
|
95
|
+
], host: { class: 'w-100', '(mousedown)': '$event.preventDefault()' }, template: "<!-- Template to be used for every match, can be replaced using an input. -->\n<ng-template #defaultItemTemplate let-match=\"match\" siTypeaheadItemTemplate>\n @if (multiselect()) {\n <div class=\"d-flex pe-4\" aria-hidden=\"true\">\n <span class=\"form-check-input si-form-checkbox\" [class.checked]=\"match.itemSelected\"></span>\n </div>\n }\n @if (match.iconClass) {\n <si-icon class=\"icon me-2\" [icon]=\"match.iconClass\" />\n }\n @for (segment of match.result; track $index) {\n <span [class.typeahead-match-segment-matching]=\"segment.isMatching\">{{ segment.text }}</span>\n }\n</ng-template>\n\n@let createOption = parent.typeaheadCreateOption();\n\n<!-- Only display the component if there are any matches and set the CSS transform to properly position the typeahead -->\n<ul\n #typeahead\n class=\"typeahead dropdown-menu\"\n [class.empty-loading]=\"parent.typeaheadLoading() && matches().length === 0\"\n [siLoading]=\"parent.typeaheadLoading() && matches().length === 0\"\n [initialDelay]=\"false\"\n [siAutocompleteListboxFor]=\"autocompleteDirective\"\n [siAutocompleteDefaultIndex]=\"parent.typeaheadAutoSelectIndex()\"\n [attr.aria-label]=\"parent.typeaheadAutocompleteListLabel() | translate\"\n (siAutocompleteOptionSubmitted)=\"selectMatch($event)\"\n>\n @if (parent.typeaheadLoading() && matches().length) {\n <li class=\"dropdown-item\" [siLoading]=\"true\" [initialDelay]=\"false\"></li>\n }\n <!-- Loop through every match and bind events, the mousedown prevent default is to prevent the host from losing focus on click -->\n @for (match of matches(); track $index) {\n <li\n #typeaheadMatch\n class=\"dropdown-item\"\n [siAutocompleteOption]=\"match\"\n [attr.aria-label]=\"match.text\"\n [attr.aria-selected]=\"multiselect() ? match.itemSelected : null\"\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.preventDefault()\"\n >\n <!-- Display either a template set as the input or the template above -->\n <ng-template\n [ngTemplateOutlet]=\"parent.typeaheadItemTemplate() || defaultItemTemplate\"\n [ngTemplateOutletContext]=\"{\n item: match.option,\n index: $index,\n match: match,\n query: parent.query()\n }\"\n />\n </li>\n }\n @if (createOption && parent.query().length) {\n <li class=\"dropdown-item\" [siAutocompleteOption]=\"undefined\">\n {{ createOption | translate: { query: parent.query() } }}\n </li>\n }\n</ul>\n", styles: [":host{--loading-spinner-size: 24px}.dropdown-menu{display:block;position:relative;inset-block-start:0;inset-inline-start:0;margin-block-start:1px;overflow-y:auto;overflow-x:hidden;max-block-size:100%}.dropdown-menu.empty-loading{min-block-size:176px}.typeahead-match-segment-matching{font-weight:600}.dropdown-item *{flex-shrink:0}.dropdown-item span{white-space:pre-wrap}\n"] }]
|
|
97
96
|
}], propDecorators: { typeaheadElement: [{ type: i0.ViewChild, args: ['typeahead', { ...{
|
|
98
97
|
read: ElementRef
|
|
99
|
-
}, isSignal: true }] }]
|
|
100
|
-
type: HostListener,
|
|
101
|
-
args: ['mousedown', ['$event']]
|
|
102
|
-
}] } });
|
|
98
|
+
}, isSignal: true }] }] } });
|
|
103
99
|
|
|
104
100
|
/**
|
|
105
101
|
* Copyright (c) Siemens 2016 - 2026
|
|
@@ -128,7 +124,8 @@ class TypeaheadSearch {
|
|
|
128
124
|
datasource;
|
|
129
125
|
query;
|
|
130
126
|
options;
|
|
131
|
-
matches = computed(() => this.search(this.datasource(), this.readQuery()),
|
|
127
|
+
matches = computed(() => this.search(this.datasource(), this.readQuery()), /* @ts-ignore */
|
|
128
|
+
...(ngDevMode ? [{ debugName: "matches" }] : /* istanbul ignore next */ []));
|
|
132
129
|
constructor(datasource, query, options) {
|
|
133
130
|
this.datasource = datasource;
|
|
134
131
|
this.query = query;
|
|
@@ -373,90 +370,97 @@ class SiTypeaheadDirective {
|
|
|
373
370
|
* Has to be either an Array or an Observable of an Array
|
|
374
371
|
* of options (string or object)
|
|
375
372
|
*/
|
|
376
|
-
siTypeahead = input.required(
|
|
373
|
+
siTypeahead = input.required(/* @ts-ignore */
|
|
374
|
+
...(ngDevMode ? [{ debugName: "siTypeahead" }] : /* istanbul ignore next */ []));
|
|
377
375
|
/**
|
|
378
376
|
* Turns on/off the processing (searching and sorting) of the typeahead options.
|
|
379
377
|
* Is used when searching and sorting is done externally.
|
|
380
378
|
*
|
|
381
379
|
* @defaultValue true
|
|
382
380
|
*/
|
|
383
|
-
typeaheadProcess = input(true, { ...(ngDevMode ? { debugName: "typeaheadProcess" } : {}), transform: booleanAttribute });
|
|
381
|
+
typeaheadProcess = input(true, { ...(ngDevMode ? { debugName: "typeaheadProcess" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
384
382
|
/**
|
|
385
383
|
* Makes the typeahead scrollable and sets its height.
|
|
386
384
|
* Uses {@link typeaheadOptionsInScrollableView} and {@link typeaheadScrollableAdditionalHeight}.
|
|
387
385
|
*
|
|
388
386
|
* @defaultValue false
|
|
389
387
|
*/
|
|
390
|
-
typeaheadScrollable = input(false, { ...(ngDevMode ? { debugName: "typeaheadScrollable" } : {}), transform: booleanAttribute });
|
|
388
|
+
typeaheadScrollable = input(false, { ...(ngDevMode ? { debugName: "typeaheadScrollable" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
391
389
|
/**
|
|
392
390
|
* If {@link typeaheadScrollable} is `true`, defines the number of items visible at once.
|
|
393
391
|
*
|
|
394
392
|
* @defaultValue 10
|
|
395
393
|
*/
|
|
396
|
-
typeaheadOptionsInScrollableView = input(10,
|
|
394
|
+
typeaheadOptionsInScrollableView = input(10, /* @ts-ignore */
|
|
395
|
+
...(ngDevMode ? [{ debugName: "typeaheadOptionsInScrollableView" }] : /* istanbul ignore next */ []));
|
|
397
396
|
/**
|
|
398
397
|
* Defines the maximum number of items added into the DOM. Default is 20 and 0 means unlimited.
|
|
399
398
|
*
|
|
400
399
|
* @defaultValue 20
|
|
401
400
|
*/
|
|
402
|
-
typeaheadOptionsLimit = input(20,
|
|
401
|
+
typeaheadOptionsLimit = input(20, /* @ts-ignore */
|
|
402
|
+
...(ngDevMode ? [{ debugName: "typeaheadOptionsLimit" }] : /* istanbul ignore next */ []));
|
|
403
403
|
/**
|
|
404
404
|
* If {@link typeaheadScrollable} is `true`, defines the number of additional pixels
|
|
405
405
|
* to be added the the bottom of the typeahead to show users that it is scrollable.
|
|
406
406
|
*
|
|
407
407
|
* @defaultValue 13
|
|
408
408
|
*/
|
|
409
|
-
typeaheadScrollableAdditionalHeight = input(13,
|
|
409
|
+
typeaheadScrollableAdditionalHeight = input(13, /* @ts-ignore */
|
|
410
|
+
...(ngDevMode ? [{ debugName: "typeaheadScrollableAdditionalHeight" }] : /* istanbul ignore next */ []));
|
|
410
411
|
/**
|
|
411
412
|
* Defines the index of the item which should automatically be selected.
|
|
412
413
|
*
|
|
413
414
|
* @defaultValue 0
|
|
414
415
|
*/
|
|
415
|
-
typeaheadAutoSelectIndex = input(0, { ...(ngDevMode ? { debugName: "typeaheadAutoSelectIndex" } : {}), transform: numberAttribute });
|
|
416
|
+
typeaheadAutoSelectIndex = input(0, { ...(ngDevMode ? { debugName: "typeaheadAutoSelectIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
|
|
416
417
|
/**
|
|
417
418
|
* Defines whether the typeahead can be closed using escape.
|
|
418
419
|
*
|
|
419
420
|
* @defaultValue true
|
|
420
421
|
*/
|
|
421
|
-
typeaheadCloseOnEsc = input(true, { ...(ngDevMode ? { debugName: "typeaheadCloseOnEsc" } : {}), transform: booleanAttribute });
|
|
422
|
+
typeaheadCloseOnEsc = input(true, { ...(ngDevMode ? { debugName: "typeaheadCloseOnEsc" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
422
423
|
/**
|
|
423
424
|
* Defines whether the host value should be cleared when a value is selected.
|
|
424
425
|
*
|
|
425
426
|
* @defaultValue false
|
|
426
427
|
*/
|
|
427
|
-
typeaheadClearValueOnSelect = input(false, { ...(ngDevMode ? { debugName: "typeaheadClearValueOnSelect" } : {}), transform: booleanAttribute });
|
|
428
|
+
typeaheadClearValueOnSelect = input(false, { ...(ngDevMode ? { debugName: "typeaheadClearValueOnSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
428
429
|
/**
|
|
429
430
|
* Defines the number of milliseconds to wait before displaying a typeahead after the host was
|
|
430
431
|
* focused or a value inputted.
|
|
431
432
|
*
|
|
432
433
|
* @defaultValue 0
|
|
433
434
|
*/
|
|
434
|
-
typeaheadWaitMs = input(0,
|
|
435
|
+
typeaheadWaitMs = input(0, /* @ts-ignore */
|
|
436
|
+
...(ngDevMode ? [{ debugName: "typeaheadWaitMs" }] : /* istanbul ignore next */ []));
|
|
435
437
|
/**
|
|
436
438
|
* Defines the number of characters the value of the host needs to be before a typeahead is displayed.
|
|
437
439
|
* Use `0` to have it display when focussing the host (clicking or tabbing into it).
|
|
438
440
|
*
|
|
439
441
|
* @defaultValue 1
|
|
440
442
|
*/
|
|
441
|
-
typeaheadMinLength = input(1,
|
|
443
|
+
typeaheadMinLength = input(1, /* @ts-ignore */
|
|
444
|
+
...(ngDevMode ? [{ debugName: "typeaheadMinLength" }] : /* istanbul ignore next */ []));
|
|
442
445
|
/**
|
|
443
446
|
* Defines the name of the field/property the option string is in when the typeahead options are objects.
|
|
444
447
|
*
|
|
445
448
|
* @defaultValue 'name'
|
|
446
449
|
*/
|
|
447
|
-
typeaheadOptionField = input('name',
|
|
450
|
+
typeaheadOptionField = input('name', /* @ts-ignore */
|
|
451
|
+
...(ngDevMode ? [{ debugName: "typeaheadOptionField" }] : /* istanbul ignore next */ []));
|
|
448
452
|
/**
|
|
449
453
|
* Defines whether multiselection of typeahead is possible with checkboxes.
|
|
450
454
|
*
|
|
451
455
|
* @defaultValue false
|
|
452
456
|
*/
|
|
453
|
-
typeaheadMultiSelect = input(false, { ...(ngDevMode ? { debugName: "typeaheadMultiSelect" } : {}), transform: booleanAttribute });
|
|
457
|
+
typeaheadMultiSelect = input(false, { ...(ngDevMode ? { debugName: "typeaheadMultiSelect" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
454
458
|
/**
|
|
455
459
|
* Defines whether to tokenize the search or match the whole search.
|
|
456
460
|
*
|
|
457
461
|
* @defaultValue true
|
|
458
462
|
*/
|
|
459
|
-
typeaheadTokenize = input(true, { ...(ngDevMode ? { debugName: "typeaheadTokenize" } : {}), transform: booleanAttribute });
|
|
463
|
+
typeaheadTokenize = input(true, { ...(ngDevMode ? { debugName: "typeaheadTokenize" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
460
464
|
/**
|
|
461
465
|
* Defines whether and how to require to match with all the tokens if {@link typeaheadTokenize} is enabled.
|
|
462
466
|
* - `no` does not require all of the tokens to match.
|
|
@@ -467,19 +471,21 @@ class SiTypeaheadDirective {
|
|
|
467
471
|
*
|
|
468
472
|
* @defaultValue 'separately'
|
|
469
473
|
*/
|
|
470
|
-
typeaheadMatchAllTokens = input('separately',
|
|
474
|
+
typeaheadMatchAllTokens = input('separately', /* @ts-ignore */
|
|
475
|
+
...(ngDevMode ? [{ debugName: "typeaheadMatchAllTokens" }] : /* istanbul ignore next */ []));
|
|
471
476
|
/**
|
|
472
477
|
* Defines an optional template to use as the typeahead match item instead of the one built in.
|
|
473
478
|
* Gets the {@link TypeaheadOptionItemContext} passed to it.
|
|
474
479
|
*/
|
|
475
|
-
typeaheadItemTemplate = input(
|
|
480
|
+
typeaheadItemTemplate = input(/* @ts-ignore */
|
|
481
|
+
...(ngDevMode ? [undefined, { debugName: "typeaheadItemTemplate" }] : /* istanbul ignore next */ []));
|
|
476
482
|
/**
|
|
477
483
|
* Skip the sorting of matches.
|
|
478
484
|
* If the value is `true`, the matches are sorted according to {@link SiTypeaheadSorting}.
|
|
479
485
|
*
|
|
480
486
|
* @defaultValue false
|
|
481
487
|
*/
|
|
482
|
-
typeaheadSkipSortingMatches = input(false, { ...(ngDevMode ? { debugName: "typeaheadSkipSortingMatches" } : {}), transform: booleanAttribute });
|
|
488
|
+
typeaheadSkipSortingMatches = input(false, { ...(ngDevMode ? { debugName: "typeaheadSkipSortingMatches" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
483
489
|
/**
|
|
484
490
|
* Screen reader only label for the autocomplete list.
|
|
485
491
|
*
|
|
@@ -488,18 +494,20 @@ class SiTypeaheadDirective {
|
|
|
488
494
|
* t(() => $localize`:@@SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL:Suggestions`)
|
|
489
495
|
* ```
|
|
490
496
|
*/
|
|
491
|
-
typeaheadAutocompleteListLabel = input(t(() => $localize `:@@SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL:Suggestions`),
|
|
497
|
+
typeaheadAutocompleteListLabel = input(t(() => $localize `:@@SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL:Suggestions`), /* @ts-ignore */
|
|
498
|
+
...(ngDevMode ? [{ debugName: "typeaheadAutocompleteListLabel" }] : /* istanbul ignore next */ []));
|
|
492
499
|
/**
|
|
493
500
|
* If set, the typeahead will at minium have the width of the connected input field.
|
|
494
501
|
*
|
|
495
502
|
* @defaultValue false
|
|
496
503
|
*/
|
|
497
|
-
typeaheadFullWidth = input(false, { ...(ngDevMode ? { debugName: "typeaheadFullWidth" } : {}), transform: booleanAttribute });
|
|
504
|
+
typeaheadFullWidth = input(false, { ...(ngDevMode ? { debugName: "typeaheadFullWidth" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
498
505
|
/**
|
|
499
506
|
* Optional CDK scroll strategy used for the typeahead overlay.
|
|
500
507
|
* If not provided, no strategy is set explicitly and CDK will apply its default behavior.
|
|
501
508
|
*/
|
|
502
|
-
typeaheadScrollStrategy = input(
|
|
509
|
+
typeaheadScrollStrategy = input(/* @ts-ignore */
|
|
510
|
+
...(ngDevMode ? [undefined, { debugName: "typeaheadScrollStrategy" }] : /* istanbul ignore next */ []));
|
|
503
511
|
/**
|
|
504
512
|
* This option will be shown at the end of the typeahead.
|
|
505
513
|
* Use it to allow users to create new options on the fly.
|
|
@@ -508,7 +516,8 @@ class SiTypeaheadDirective {
|
|
|
508
516
|
*
|
|
509
517
|
* @experimental
|
|
510
518
|
*/
|
|
511
|
-
typeaheadCreateOption = input(
|
|
519
|
+
typeaheadCreateOption = input(/* @ts-ignore */
|
|
520
|
+
...(ngDevMode ? [undefined, { debugName: "typeaheadCreateOption" }] : /* istanbul ignore next */ []));
|
|
512
521
|
/**
|
|
513
522
|
* Emits an Event when the input field is changed.
|
|
514
523
|
*/
|
|
@@ -534,9 +543,11 @@ class SiTypeaheadDirective {
|
|
|
534
543
|
*/
|
|
535
544
|
typeaheadOnCreateOption = output();
|
|
536
545
|
/** @internal */
|
|
537
|
-
foundMatches = computed(() => this.typeaheadProcess() ? this.processedSearch() : this.unprocessedSearch(),
|
|
546
|
+
foundMatches = computed(() => this.typeaheadProcess() ? this.processedSearch() : this.unprocessedSearch(), /* @ts-ignore */
|
|
547
|
+
...(ngDevMode ? [{ debugName: "foundMatches" }] : /* istanbul ignore next */ []));
|
|
538
548
|
/** @internal */
|
|
539
|
-
query = signal('',
|
|
549
|
+
query = signal('', /* @ts-ignore */
|
|
550
|
+
...(ngDevMode ? [{ debugName: "query" }] : /* istanbul ignore next */ []));
|
|
540
551
|
/**
|
|
541
552
|
* Indicates whether the typeahead is shown.
|
|
542
553
|
*/
|
|
@@ -561,15 +572,18 @@ class SiTypeaheadDirective {
|
|
|
561
572
|
* @internal
|
|
562
573
|
* @defaultValue false
|
|
563
574
|
*/
|
|
564
|
-
typeaheadLoading = signal(false,
|
|
575
|
+
typeaheadLoading = signal(false, /* @ts-ignore */
|
|
576
|
+
...(ngDevMode ? [{ debugName: "typeaheadLoading" }] : /* istanbul ignore next */ []));
|
|
565
577
|
/**
|
|
566
578
|
* Indicates that the typeahead can be potentially open.
|
|
567
579
|
* This signal is typically `true` when the input is focussed.
|
|
568
580
|
* It may be overridden and set to `false` when escape is pressed
|
|
569
581
|
* or when an option was selected.
|
|
570
582
|
*/
|
|
571
|
-
canBeOpen = signal(false,
|
|
572
|
-
|
|
583
|
+
canBeOpen = signal(false, /* @ts-ignore */
|
|
584
|
+
...(ngDevMode ? [{ debugName: "canBeOpen" }] : /* istanbul ignore next */ []));
|
|
585
|
+
selectionCounter = signal(0, /* @ts-ignore */
|
|
586
|
+
...(ngDevMode ? [{ debugName: "selectionCounter" }] : /* istanbul ignore next */ []));
|
|
573
587
|
typeaheadOptions = toSignal(this.$typeahead.pipe(map(options => options.map(option => ({
|
|
574
588
|
text: this.getOptionValue(option),
|
|
575
589
|
option
|
|
@@ -595,7 +609,8 @@ class SiTypeaheadDirective {
|
|
|
595
609
|
else {
|
|
596
610
|
return this.matchSorter.sortMatches(matches);
|
|
597
611
|
}
|
|
598
|
-
},
|
|
612
|
+
}, /* @ts-ignore */
|
|
613
|
+
...(ngDevMode ? [{ debugName: "processedSearch" }] : /* istanbul ignore next */ []));
|
|
599
614
|
unprocessedSearch = computed(() => {
|
|
600
615
|
this.selectionCounter(); // This is a workaround for the multi-select which needs to trigger a change detection in the typeahead component.
|
|
601
616
|
return this.typeaheadOptions().map(option => {
|
|
@@ -621,7 +636,8 @@ class SiTypeaheadDirective {
|
|
|
621
636
|
active: false
|
|
622
637
|
};
|
|
623
638
|
});
|
|
624
|
-
},
|
|
639
|
+
}, /* @ts-ignore */
|
|
640
|
+
...(ngDevMode ? [{ debugName: "unprocessedSearch" }] : /* istanbul ignore next */ []));
|
|
625
641
|
constructor() {
|
|
626
642
|
effect(() => {
|
|
627
643
|
// The value needs to fulfil the minimum length requirement set.
|
|
@@ -821,43 +837,35 @@ class SiTypeaheadDirective {
|
|
|
821
837
|
escapeRegex(query) {
|
|
822
838
|
return query.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&');
|
|
823
839
|
}
|
|
824
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
825
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
840
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
841
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.5", type: SiTypeaheadDirective, isStandalone: true, selector: "[siTypeahead]", inputs: { siTypeahead: { classPropertyName: "siTypeahead", publicName: "siTypeahead", isSignal: true, isRequired: true, transformFunction: null }, typeaheadProcess: { classPropertyName: "typeaheadProcess", publicName: "typeaheadProcess", isSignal: true, isRequired: false, transformFunction: null }, typeaheadScrollable: { classPropertyName: "typeaheadScrollable", publicName: "typeaheadScrollable", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsInScrollableView: { classPropertyName: "typeaheadOptionsInScrollableView", publicName: "typeaheadOptionsInScrollableView", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsLimit: { classPropertyName: "typeaheadOptionsLimit", publicName: "typeaheadOptionsLimit", isSignal: true, isRequired: false, transformFunction: null }, typeaheadScrollableAdditionalHeight: { classPropertyName: "typeaheadScrollableAdditionalHeight", publicName: "typeaheadScrollableAdditionalHeight", isSignal: true, isRequired: false, transformFunction: null }, typeaheadAutoSelectIndex: { classPropertyName: "typeaheadAutoSelectIndex", publicName: "typeaheadAutoSelectIndex", isSignal: true, isRequired: false, transformFunction: null }, typeaheadCloseOnEsc: { classPropertyName: "typeaheadCloseOnEsc", publicName: "typeaheadCloseOnEsc", isSignal: true, isRequired: false, transformFunction: null }, typeaheadClearValueOnSelect: { classPropertyName: "typeaheadClearValueOnSelect", publicName: "typeaheadClearValueOnSelect", isSignal: true, isRequired: false, transformFunction: null }, typeaheadWaitMs: { classPropertyName: "typeaheadWaitMs", publicName: "typeaheadWaitMs", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMinLength: { classPropertyName: "typeaheadMinLength", publicName: "typeaheadMinLength", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionField: { classPropertyName: "typeaheadOptionField", publicName: "typeaheadOptionField", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMultiSelect: { classPropertyName: "typeaheadMultiSelect", publicName: "typeaheadMultiSelect", isSignal: true, isRequired: false, transformFunction: null }, typeaheadTokenize: { classPropertyName: "typeaheadTokenize", publicName: "typeaheadTokenize", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMatchAllTokens: { classPropertyName: "typeaheadMatchAllTokens", publicName: "typeaheadMatchAllTokens", isSignal: true, isRequired: false, transformFunction: null }, typeaheadItemTemplate: { classPropertyName: "typeaheadItemTemplate", publicName: "typeaheadItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, typeaheadSkipSortingMatches: { classPropertyName: "typeaheadSkipSortingMatches", publicName: "typeaheadSkipSortingMatches", isSignal: true, isRequired: false, transformFunction: null }, typeaheadAutocompleteListLabel: { classPropertyName: "typeaheadAutocompleteListLabel", publicName: "typeaheadAutocompleteListLabel", isSignal: true, isRequired: false, transformFunction: null }, typeaheadFullWidth: { classPropertyName: "typeaheadFullWidth", publicName: "typeaheadFullWidth", isSignal: true, isRequired: false, transformFunction: null }, typeaheadScrollStrategy: { classPropertyName: "typeaheadScrollStrategy", publicName: "typeaheadScrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, typeaheadCreateOption: { classPropertyName: "typeaheadCreateOption", publicName: "typeaheadCreateOption", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeaheadOnInput: "typeaheadOnInput", typeaheadOnSelect: "typeaheadOnSelect", typeaheadOnFullMatch: "typeaheadOnFullMatch", typeaheadOpenChange: "typeaheadOpenChange", typeaheadOnCreateOption: "typeaheadOnCreateOption" }, host: { listeners: { "focusout": "onBlur()", "focusin": "onInput($event)", "input": "onInput($event)", "keydown.escape": "onKeydownEscape()" }, classAttribute: "si-typeahead" }, exportAs: ["si-typeahead"], usesOnChanges: true, hostDirectives: [{ directive: i1.SiAutocompleteDirective }], ngImport: i0 });
|
|
826
842
|
}
|
|
827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
843
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadDirective, decorators: [{
|
|
828
844
|
type: Directive,
|
|
829
845
|
args: [{
|
|
830
846
|
selector: '[siTypeahead]',
|
|
831
847
|
host: {
|
|
832
|
-
class: 'si-typeahead'
|
|
848
|
+
class: 'si-typeahead',
|
|
849
|
+
'(focusout)': 'onBlur()',
|
|
850
|
+
'(focusin)': 'onInput($event)',
|
|
851
|
+
'(input)': 'onInput($event)',
|
|
852
|
+
'(keydown.escape)': 'onKeydownEscape()'
|
|
833
853
|
},
|
|
834
854
|
hostDirectives: [SiAutocompleteDirective],
|
|
835
855
|
exportAs: 'si-typeahead'
|
|
836
856
|
}]
|
|
837
|
-
}], ctorParameters: () => [], propDecorators: { siTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTypeahead", required: true }] }], typeaheadProcess: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadProcess", required: false }] }], typeaheadScrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollable", required: false }] }], typeaheadOptionsInScrollableView: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionsInScrollableView", required: false }] }], typeaheadOptionsLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionsLimit", required: false }] }], typeaheadScrollableAdditionalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollableAdditionalHeight", required: false }] }], typeaheadAutoSelectIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadAutoSelectIndex", required: false }] }], typeaheadCloseOnEsc: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadCloseOnEsc", required: false }] }], typeaheadClearValueOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadClearValueOnSelect", required: false }] }], typeaheadWaitMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadWaitMs", required: false }] }], typeaheadMinLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMinLength", required: false }] }], typeaheadOptionField: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionField", required: false }] }], typeaheadMultiSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMultiSelect", required: false }] }], typeaheadTokenize: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadTokenize", required: false }] }], typeaheadMatchAllTokens: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMatchAllTokens", required: false }] }], typeaheadItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadItemTemplate", required: false }] }], typeaheadSkipSortingMatches: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadSkipSortingMatches", required: false }] }], typeaheadAutocompleteListLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadAutocompleteListLabel", required: false }] }], typeaheadFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadFullWidth", required: false }] }], typeaheadScrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollStrategy", required: false }] }], typeaheadCreateOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadCreateOption", required: false }] }], typeaheadOnInput: [{ type: i0.Output, args: ["typeaheadOnInput"] }], typeaheadOnSelect: [{ type: i0.Output, args: ["typeaheadOnSelect"] }], typeaheadOnFullMatch: [{ type: i0.Output, args: ["typeaheadOnFullMatch"] }], typeaheadOpenChange: [{ type: i0.Output, args: ["typeaheadOpenChange"] }], typeaheadOnCreateOption: [{ type: i0.Output, args: ["typeaheadOnCreateOption"] }]
|
|
838
|
-
type: HostListener,
|
|
839
|
-
args: ['focusout']
|
|
840
|
-
}], onInput: [{
|
|
841
|
-
type: HostListener,
|
|
842
|
-
args: ['focusin', ['$event']]
|
|
843
|
-
}, {
|
|
844
|
-
type: HostListener,
|
|
845
|
-
args: ['input', ['$event']]
|
|
846
|
-
}], onKeydownEscape: [{
|
|
847
|
-
type: HostListener,
|
|
848
|
-
args: ['keydown.escape']
|
|
849
|
-
}] } });
|
|
857
|
+
}], ctorParameters: () => [], propDecorators: { siTypeahead: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTypeahead", required: true }] }], typeaheadProcess: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadProcess", required: false }] }], typeaheadScrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollable", required: false }] }], typeaheadOptionsInScrollableView: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionsInScrollableView", required: false }] }], typeaheadOptionsLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionsLimit", required: false }] }], typeaheadScrollableAdditionalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollableAdditionalHeight", required: false }] }], typeaheadAutoSelectIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadAutoSelectIndex", required: false }] }], typeaheadCloseOnEsc: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadCloseOnEsc", required: false }] }], typeaheadClearValueOnSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadClearValueOnSelect", required: false }] }], typeaheadWaitMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadWaitMs", required: false }] }], typeaheadMinLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMinLength", required: false }] }], typeaheadOptionField: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadOptionField", required: false }] }], typeaheadMultiSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMultiSelect", required: false }] }], typeaheadTokenize: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadTokenize", required: false }] }], typeaheadMatchAllTokens: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadMatchAllTokens", required: false }] }], typeaheadItemTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadItemTemplate", required: false }] }], typeaheadSkipSortingMatches: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadSkipSortingMatches", required: false }] }], typeaheadAutocompleteListLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadAutocompleteListLabel", required: false }] }], typeaheadFullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadFullWidth", required: false }] }], typeaheadScrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadScrollStrategy", required: false }] }], typeaheadCreateOption: [{ type: i0.Input, args: [{ isSignal: true, alias: "typeaheadCreateOption", required: false }] }], typeaheadOnInput: [{ type: i0.Output, args: ["typeaheadOnInput"] }], typeaheadOnSelect: [{ type: i0.Output, args: ["typeaheadOnSelect"] }], typeaheadOnFullMatch: [{ type: i0.Output, args: ["typeaheadOnFullMatch"] }], typeaheadOpenChange: [{ type: i0.Output, args: ["typeaheadOpenChange"] }], typeaheadOnCreateOption: [{ type: i0.Output, args: ["typeaheadOnCreateOption"] }] } });
|
|
850
858
|
|
|
851
859
|
/**
|
|
852
860
|
* Copyright (c) Siemens 2016 - 2026
|
|
853
861
|
* SPDX-License-Identifier: MIT
|
|
854
862
|
*/
|
|
855
863
|
class SiTypeaheadModule {
|
|
856
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
857
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
858
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
864
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
865
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadModule, imports: [SiTypeaheadDirective, SiTypeaheadItemTemplateDirective], exports: [SiTypeaheadDirective, SiTypeaheadItemTemplateDirective] });
|
|
866
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadModule });
|
|
859
867
|
}
|
|
860
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
868
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiTypeaheadModule, decorators: [{
|
|
861
869
|
type: NgModule,
|
|
862
870
|
args: [{
|
|
863
871
|
imports: [SiTypeaheadDirective, SiTypeaheadItemTemplateDirective],
|