@leanix/components 0.4.959 → 0.4.960

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/index.d.ts CHANGED
@@ -1,33 +1,28 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, OnInit, OnDestroy, AfterViewChecked, ElementRef, ChangeDetectorRef, Signal, PipeTransform, AfterViewInit, AfterContentInit, NgZone, OnChanges, SimpleChanges, QueryList, DestroyRef, TemplateRef, Renderer2, ViewContainerRef, ComponentFactoryResolver, Provider, ModuleWithProviders, Injector, Type } from '@angular/core';
2
+ import { InjectionToken, EventEmitter, OnInit, OnDestroy, AfterViewChecked, ElementRef, ChangeDetectorRef, Signal, PipeTransform, AfterViewInit, AfterContentInit, NgZone, OnChanges, SimpleChanges, QueryList, DestroyRef, TemplateRef, Provider, Renderer2, Injector, Type, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
3
3
  import * as i1 from '@leanix/components/ui5';
4
- import * as i3 from '@ngx-translate/core';
4
+ import * as i1$1 from '@ngx-translate/core';
5
5
  import { TranslateService } from '@ngx-translate/core';
6
6
  import * as rxjs from 'rxjs';
7
7
  import { Observable, BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
8
8
  import { CdkStepper } from '@angular/cdk/stepper';
9
9
  import { Renderer } from 'marked';
10
10
  import * as _angular_cdk_overlay from '@angular/cdk/overlay';
11
- import { OverlayPositionBuilder, Overlay, CdkConnectedOverlay, ScrollStrategy, ConnectedPosition, ScrollStrategyOptions, CdkOverlayOrigin, ConnectedOverlayPositionChange } from '@angular/cdk/overlay';
11
+ import { OverlayPositionBuilder, Overlay, CdkOverlayOrigin, ConnectedOverlayPositionChange, CdkConnectedOverlay, ScrollStrategy, ConnectedPosition, ScrollStrategyOptions } from '@angular/cdk/overlay';
12
12
  import { AriaDescriber, Highlightable, ActiveDescendantKeyManager, ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
13
13
  import { RouterLink, RouterLinkActive, Router, ActivatedRoute } from '@angular/router';
14
14
  import { SatPopoverComponent, SatPopoverHorizontalAlign, SatPopoverVerticalAlign, SatPopoverAnchorDirective } from '@ncstate/sat-popover';
15
- import * as i2$1 from '@angular/forms';
16
- import { ControlValueAccessor, Validator, UntypedFormControl, NgControl, AbstractControl, UntypedFormGroup, ValidatorFn, AsyncValidatorFn } from '@angular/forms';
17
- import * as i1$1 from '@angular/common';
18
- import * as i2 from '@angular/cdk/drag-drop';
15
+ import { ControlValueAccessor, Validator, UntypedFormControl, UntypedFormGroup, NgControl, AbstractControl, ValidatorFn, AsyncValidatorFn } from '@angular/forms';
16
+ import { Locale } from 'date-fns';
19
17
  import { CdkDrag, CdkDragDrop } from '@angular/cdk/drag-drop';
20
18
  import { Directionality } from '@angular/cdk/bidi';
21
- import { DomSanitizer } from '@angular/platform-browser';
22
- import { Locale } from 'date-fns';
23
- import * as i5 from 'ngx-infinite-scroll';
24
- import * as i6 from '@angular/cdk/clipboard';
25
19
  import * as _tiptap_core from '@tiptap/core';
26
20
  import { Node, Extension, Extensions, Editor, JSONContent, NodeViewRendererOptions, NodeViewRenderer } from '@tiptap/core';
27
21
  import * as prosemirror_state from 'prosemirror-state';
28
22
  import * as prosemirror_model from 'prosemirror-model';
29
23
  import { Node as Node$1 } from '@tiptap/pm/model';
30
24
  import { Decoration } from '@tiptap/pm/view';
25
+ import { DomSanitizer } from '@angular/platform-browser';
31
26
  import * as _angular_cdk_portal from '@angular/cdk/portal';
32
27
  import { Portal, CdkPortal, TemplatePortal } from '@angular/cdk/portal';
33
28
  import { IconComponent } from '@ui5/webcomponents-ngx/main/icon';
@@ -1173,7 +1168,7 @@ declare class UnescapeCurlyBracesPipe implements PipeTransform {
1173
1168
  declare const CORE_MODULE_EXPORTS: (typeof BadgeComponent | typeof BannerComponent | typeof ButtonGroupComponent | typeof ButtonComponent | typeof CardComponent | typeof CollapsibleComponent | typeof CounterComponent | typeof EllipsisComponent | typeof EmptyStateComponent | typeof SpinnerComponent | typeof StepperComponent | typeof SortPipe | typeof TableComponent | typeof TableHeaderComponent | typeof AfterViewInitDirective | typeof AutocloseDirective | typeof AutofocusDirective | typeof LxLinkifyPipe | typeof LxUnlinkifyPipe | typeof BrPipe | typeof CustomDatePipe | typeof HighlightRangePipe | typeof HighlightTermPipe | typeof LxIsUuidPipe | typeof LxTranslatePipe | typeof MarkdownPipe | typeof TranslationBeforePipe | typeof TranslationAfterPipe | typeof TranslationBetweenPipe | typeof TooltipDirective)[];
1174
1169
  declare class LxCoreUiModule {
1175
1170
  static ɵfac: i0.ɵɵFactoryDeclaration<LxCoreUiModule, never>;
1176
- static ɵmod: i0.ɵɵNgModuleDeclaration<LxCoreUiModule, never, [typeof i3.TranslateModule, typeof AfterViewInitDirective, typeof AutocloseDirective, typeof AutofocusDirective, typeof CounterComponent, typeof BadgeComponent, typeof BannerComponent, typeof ButtonComponent, typeof ButtonGroupComponent, typeof BrPipe, typeof CardComponent, typeof CollapsibleComponent, typeof CustomDatePipe, typeof EllipsisComponent, typeof HighlightRangePipe, typeof HighlightTermPipe, typeof LxLinkifyPipe, typeof LxUnlinkifyPipe, typeof LxTimeAgo, typeof LxTranslatePipe, typeof MarkdownPipe, typeof NbspPipe, typeof LxIsUuidPipe, typeof StepperComponent, typeof SpinnerComponent, typeof TableComponent, typeof TableHeaderComponent, typeof TooltipDirective, typeof TranslationAfterPipe, typeof TranslationBeforePipe, typeof TranslationBetweenPipe, typeof SortPipe, typeof ContrastColorPipe, typeof UnescapeCurlyBracesPipe, typeof EmptyStateComponent], [typeof AfterViewInitDirective, typeof AutocloseDirective, typeof AutofocusDirective, typeof BadgeComponent, typeof CounterComponent, typeof BannerComponent, typeof ButtonComponent, typeof BrPipe, typeof ButtonGroupComponent, typeof CardComponent, typeof CustomDatePipe, typeof EllipsisComponent, typeof HighlightRangePipe, typeof HighlightTermPipe, typeof LxLinkifyPipe, typeof LxUnlinkifyPipe, typeof LxTimeAgo, typeof LxTranslatePipe, typeof MarkdownPipe, typeof NbspPipe, typeof LxIsUuidPipe, typeof StepperComponent, typeof SpinnerComponent, typeof TableComponent, typeof TableHeaderComponent, typeof TooltipDirective, typeof TranslationAfterPipe, typeof TranslationBeforePipe, typeof TranslationBetweenPipe, typeof CollapsibleComponent, typeof SortPipe, typeof ContrastColorPipe, typeof UnescapeCurlyBracesPipe, typeof EmptyStateComponent]>;
1171
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LxCoreUiModule, never, [typeof i1$1.TranslateModule, typeof AfterViewInitDirective, typeof AutocloseDirective, typeof AutofocusDirective, typeof CounterComponent, typeof BadgeComponent, typeof BannerComponent, typeof ButtonComponent, typeof ButtonGroupComponent, typeof BrPipe, typeof CardComponent, typeof CollapsibleComponent, typeof CustomDatePipe, typeof EllipsisComponent, typeof HighlightRangePipe, typeof HighlightTermPipe, typeof LxLinkifyPipe, typeof LxUnlinkifyPipe, typeof LxTimeAgo, typeof LxTranslatePipe, typeof MarkdownPipe, typeof NbspPipe, typeof LxIsUuidPipe, typeof StepperComponent, typeof SpinnerComponent, typeof TableComponent, typeof TableHeaderComponent, typeof TooltipDirective, typeof TranslationAfterPipe, typeof TranslationBeforePipe, typeof TranslationBetweenPipe, typeof SortPipe, typeof ContrastColorPipe, typeof UnescapeCurlyBracesPipe, typeof EmptyStateComponent], [typeof AfterViewInitDirective, typeof AutocloseDirective, typeof AutofocusDirective, typeof BadgeComponent, typeof CounterComponent, typeof BannerComponent, typeof ButtonComponent, typeof BrPipe, typeof ButtonGroupComponent, typeof CardComponent, typeof CustomDatePipe, typeof EllipsisComponent, typeof HighlightRangePipe, typeof HighlightTermPipe, typeof LxLinkifyPipe, typeof LxUnlinkifyPipe, typeof LxTimeAgo, typeof LxTranslatePipe, typeof MarkdownPipe, typeof NbspPipe, typeof LxIsUuidPipe, typeof StepperComponent, typeof SpinnerComponent, typeof TableComponent, typeof TableHeaderComponent, typeof TooltipDirective, typeof TranslationAfterPipe, typeof TranslationBeforePipe, typeof TranslationBetweenPipe, typeof CollapsibleComponent, typeof SortPipe, typeof ContrastColorPipe, typeof UnescapeCurlyBracesPipe, typeof EmptyStateComponent]>;
1177
1172
  static ɵinj: i0.ɵɵInjectorDeclaration<LxCoreUiModule>;
1178
1173
  }
1179
1174
 
@@ -1742,6 +1737,60 @@ interface HighlightTextSettings {
1742
1737
  */
1743
1738
  declare function highlightText(elem: HTMLElement, terms: string | string[], settings?: HighlightTextSettings): void;
1744
1739
 
1740
+ /**
1741
+ * Renders a dropdown item with label and optional description.
1742
+ * Supports text highlighting and custom styling options.
1743
+ *
1744
+ * ### Projection slots
1745
+ * - `optionLabelSuffix`: Template to append to the label (e.g., badges, icons)
1746
+ *
1747
+ * ### Example
1748
+ * @example
1749
+ * ```html
1750
+ * <lx-basic-dropdown-item
1751
+ * label="Option Name"
1752
+ * description="Additional details"
1753
+ * highlightTerm="search">
1754
+ * <ng-template #optionLabelSuffix>
1755
+ * <span class="badge">New</span>
1756
+ * </ng-template>
1757
+ * </lx-basic-dropdown-item>
1758
+ * ```
1759
+ */
1760
+ declare class BasicDropdownItemComponent {
1761
+ /** The main text displayed for the dropdown item. */
1762
+ label: string;
1763
+ /** Optional secondary text displayed below the label. */
1764
+ description?: string;
1765
+ /** Term to highlight in the label and optionally in the description. */
1766
+ highlightTerm?: string;
1767
+ /**
1768
+ * Font weight for the label text.
1769
+ * @default 'bold'
1770
+ */
1771
+ labelFontWeight: 'bold' | 'normal';
1772
+ /**
1773
+ * Font style for the description text.
1774
+ * @default 'normal'
1775
+ */
1776
+ descriptionFontStyle: 'italic' | 'normal';
1777
+ /**
1778
+ * Styling options for the description text.
1779
+ * - `maxLines`: Maximum number of lines before truncation.
1780
+ * - `shouldHighlightTerm`: Whether to highlight the search term in the description.
1781
+ */
1782
+ descriptionStyleOptions?: {
1783
+ maxLines?: number;
1784
+ shouldHighlightTerm?: boolean;
1785
+ };
1786
+ optionLabelSuffix: TemplateRef<any>;
1787
+ get hasDescription(): boolean;
1788
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicDropdownItemComponent, never>;
1789
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicDropdownItemComponent, "lx-basic-dropdown-item", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "highlightTerm": { "alias": "highlightTerm"; "required": false; }; "labelFontWeight": { "alias": "labelFontWeight"; "required": false; }; "descriptionFontStyle": { "alias": "descriptionFontStyle"; "required": false; }; "descriptionStyleOptions": { "alias": "descriptionStyleOptions"; "required": false; }; }, {}, ["optionLabelSuffix"], ["*"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
1790
+ }
1791
+
1792
+ type SingleSelectPadding = 'default' | 'narrow';
1793
+
1745
1794
  interface DropdownItem {
1746
1795
  select?: EventEmitter<any>;
1747
1796
  scrollToItem(): void;
@@ -1791,6 +1840,175 @@ declare class KeyboardSelectDirective implements OnDestroy, AfterViewInit {
1791
1840
  static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardSelectDirective, never, never, { "keyboardSelectAction": { "alias": "keyboardSelectAction"; "required": false; }; }, { "selectedItemIndexChange": "selectedItemIndexChange"; }, never, never, true, never>;
1792
1841
  }
1793
1842
 
1843
+ /**
1844
+ * A simple dropdown component for selecting a single value from a flat list of options.
1845
+ * Supports keyboard navigation, custom templates, infinite scrolling, and the ability to create new options.
1846
+ * Uses Angular CDK overlay for positioning and supports both top and bottom dropdown placement.
1847
+ *
1848
+ * ### Projection slots
1849
+ * - `optionTemplate`: Custom template for rendering each option
1850
+ * - `createNewOptionTemplate`: Custom template for the "create new option" button
1851
+ * - `descriptionTemplateRef`: Custom template for additional description content
1852
+ *
1853
+ * ### Example
1854
+ * @example
1855
+ * ```html
1856
+ * <lx-basic-dropdown
1857
+ * [options]="items"
1858
+ * [labelKey]="'name'"
1859
+ * [itemKey]="'id'"
1860
+ * [placeholder]="'Select an item'"
1861
+ * (onItemSelected)="handleSelection($event)">
1862
+ * </lx-basic-dropdown>
1863
+ * ```
1864
+ */
1865
+ declare class BasicDropdownComponent extends KeyboardSelectDirective implements AfterViewInit {
1866
+ static isNewItem(items: any[], term: string, key?: string): boolean;
1867
+ readonly NAME = "BasicDropdownComponent";
1868
+ /**
1869
+ * Array of options to display in the dropdown.
1870
+ */
1871
+ options: any[];
1872
+ /**
1873
+ * Index of the option to be selected initially.
1874
+ * @default -1
1875
+ */
1876
+ initiallySelectedIndex: number;
1877
+ /**
1878
+ * Property name to use as the display label for each option.
1879
+ */
1880
+ labelKey?: string;
1881
+ /**
1882
+ * Property name to use as the unique identifier for each option.
1883
+ */
1884
+ itemKey?: string;
1885
+ /**
1886
+ * Placeholder text to display when no option is selected.
1887
+ */
1888
+ placeholder?: string;
1889
+ /**
1890
+ * Whether the dropdown is in a loading state.
1891
+ * @default false
1892
+ */
1893
+ loading: boolean;
1894
+ /**
1895
+ * Label for the "create new option" functionality.
1896
+ */
1897
+ newOptionLabel: string;
1898
+ /**
1899
+ * Padding variant for the dropdown items.
1900
+ * @default 'default'
1901
+ */
1902
+ padding?: SingleSelectPadding;
1903
+ /**
1904
+ * Whether to show the "create new option" button.
1905
+ * @default false
1906
+ */
1907
+ showCreateNewOption: boolean;
1908
+ /**
1909
+ * Map of disabled options, keyed by the item's unique identifier.
1910
+ */
1911
+ disabledOptions: {
1912
+ [itemKey: string]: any;
1913
+ };
1914
+ /**
1915
+ * Whether to use CDK overlay positioning.
1916
+ * @default false
1917
+ */
1918
+ overlayPositioning: boolean;
1919
+ /**
1920
+ * Whether to truncate long option text.
1921
+ * @default false
1922
+ */
1923
+ truncateOptions: boolean;
1924
+ /**
1925
+ * Custom text to display when no results are found.
1926
+ */
1927
+ noResultsText?: string;
1928
+ /**
1929
+ * Event emitted when an option is selected.
1930
+ */
1931
+ onItemSelected: EventEmitter<any>;
1932
+ /**
1933
+ * Event emitted when the user scrolls to the bottom, triggering a request for more entries (infinite scroll).
1934
+ */
1935
+ triggerRequestForMoreEntries: EventEmitter<void>;
1936
+ /**
1937
+ * Event emitted when a new option label is selected (for creating new items).
1938
+ */
1939
+ newOptionLabelSelected: EventEmitter<string>;
1940
+ /**
1941
+ * Event emitted when the "create new option" button is clicked.
1942
+ */
1943
+ createNewOptionSelected: EventEmitter<void>;
1944
+ optionTemplateRef: TemplateRef<any>;
1945
+ createNewOptionTemplateRef: TemplateRef<any>;
1946
+ descriptionTemplateRef: TemplateRef<any>;
1947
+ selectOrigin: CdkOverlayOrigin;
1948
+ isTopDropdown: boolean;
1949
+ constructor();
1950
+ selectOption(option: any): void;
1951
+ onPositionChange(event: ConnectedOverlayPositionChange): void;
1952
+ get isNewItem(): boolean;
1953
+ trackByProp(index: number, pill: any): any;
1954
+ onScroll(): void;
1955
+ onNewItemSelected(): void;
1956
+ onCreateNewOptionSelected(): void;
1957
+ /**
1958
+ * Highlights the item corresponding to the given option index, accounting for
1959
+ * any prefix items (e.g. "Create new") that shift the internal item list.
1960
+ */
1961
+ selectByOptionIndex(index: number): void;
1962
+ static ɵfac: i0.ɵɵFactoryDeclaration<BasicDropdownComponent, never>;
1963
+ static ɵcmp: i0.ɵɵComponentDeclaration<BasicDropdownComponent, "lx-basic-dropdown", never, { "options": { "alias": "options"; "required": false; }; "initiallySelectedIndex": { "alias": "initiallySelectedIndex"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "itemKey": { "alias": "itemKey"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "newOptionLabel": { "alias": "newOptionLabel"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "showCreateNewOption": { "alias": "showCreateNewOption"; "required": false; }; "disabledOptions": { "alias": "disabledOptions"; "required": false; }; "overlayPositioning": { "alias": "overlayPositioning"; "required": false; }; "truncateOptions": { "alias": "truncateOptions"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; }, { "onItemSelected": "onItemSelected"; "triggerRequestForMoreEntries": "triggerRequestForMoreEntries"; "newOptionLabelSelected": "newOptionLabelSelected"; "createNewOptionSelected": "createNewOptionSelected"; }, ["optionTemplateRef", "createNewOptionTemplateRef", "descriptionTemplateRef"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
1964
+ }
1965
+
1966
+ interface Breadcrumb {
1967
+ label: string;
1968
+ ellipsed?: boolean;
1969
+ onClick?: (breadcrumb: Breadcrumb) => void;
1970
+ }
1971
+ interface EllipsedBreadcrumb {
1972
+ breadcrumbs: Breadcrumb[];
1973
+ }
1974
+ type ViewBreadcrumb = Breadcrumb | EllipsedBreadcrumb;
1975
+ /**
1976
+ * @deprecated Use the `ui5-breadcrumbs` instead.
1977
+ *
1978
+ * Breadcrumb component displays a list of labels showing the navigation path.
1979
+ * Supports ellipsing consecutive items into a dropdown for space efficiency.
1980
+ *
1981
+ * ### Example
1982
+ * @example
1983
+ * ```html
1984
+ * <lx-breadcrumb [breadcrumbs]="breadcrumbs"></lx-breadcrumb>
1985
+ * ```
1986
+ *
1987
+ * ```ts
1988
+ * breadcrumbs: Breadcrumb[] = [
1989
+ * { label: 'Home', onClick: (b) => this.navigate(b) },
1990
+ * { label: 'Products', onClick: (b) => this.navigate(b) },
1991
+ * { label: 'Category', ellipsed: true },
1992
+ * { label: 'Subcategory', ellipsed: true },
1993
+ * { label: 'Item Details' }
1994
+ * ];
1995
+ * ```
1996
+ */
1997
+ declare class BreadcrumbComponent implements OnChanges {
1998
+ /**
1999
+ * Array of breadcrumb items to display. Consecutive items with `ellipsed: true` are grouped into a dropdown.
2000
+ * @default []
2001
+ */
2002
+ breadcrumbs: Breadcrumb[];
2003
+ /** @internal */
2004
+ viewBreadcrumbs: ViewBreadcrumb[];
2005
+ ngOnChanges(changes: SimpleChanges): void;
2006
+ /** @internal */
2007
+ isEllipsedBreadcrumb(breadcrumb: ViewBreadcrumb): breadcrumb is EllipsedBreadcrumb;
2008
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
2009
+ static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "lx-breadcrumb", never, { "breadcrumbs": { "alias": "breadcrumbs"; "required": false; }; }, {}, never, never, true, never>;
2010
+ }
2011
+
1794
2012
  declare class KeyboardActionSourceDirective implements OnDestroy {
1795
2013
  private element;
1796
2014
  dontEmit: boolean;
@@ -2141,6 +2359,35 @@ declare class CurrencyInputComponent implements AfterViewInit, OnDestroy, Contro
2141
2359
  static ɵcmp: i0.ɵɵComponentDeclaration<CurrencyInputComponent, "lx-currency-input", never, { "code": { "alias": "code"; "required": false; }; "decimalSeparator": { "alias": "decimalSeparator"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "data": { "alias": "data"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "fieldDefinitionType": { "alias": "fieldDefinitionType"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "format": { "alias": "format"; "required": false; }; "markInvalid": { "alias": "markInvalid"; "required": false; }; }, { "onFocusLost": "onFocusLost"; "onChange": "onChange"; }, never, never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
2142
2360
  }
2143
2361
 
2362
+ declare const CURRENCY_SYMBOL_MAP: {
2363
+ [key: string]: string;
2364
+ };
2365
+
2366
+ /**
2367
+ * Displays a currency symbol based on an ISO currency code.
2368
+ *
2369
+ * Converts currency codes (e.g., 'USD', 'EUR') to their symbolic representations ($, €).
2370
+ *
2371
+ * ### Example
2372
+ * @example
2373
+ * ```html
2374
+ * <lx-currency-symbol [code]="'USD'"></lx-currency-symbol>
2375
+ * <lx-currency-symbol [code]="'EUR'"></lx-currency-symbol>
2376
+ * ```
2377
+ */
2378
+ declare class CurrencySymbolComponent implements OnInit {
2379
+ /**
2380
+ * ISO currency code (e.g., 'USD', 'EUR', 'GBP').
2381
+ * Falls back to displaying the code itself if no symbol is mapped.
2382
+ */
2383
+ code: string | null;
2384
+ code$: Observable<string>;
2385
+ currency$: Observable<string>;
2386
+ ngOnInit(): void;
2387
+ static ɵfac: i0.ɵɵFactoryDeclaration<CurrencySymbolComponent, never>;
2388
+ static ɵcmp: i0.ɵɵComponentDeclaration<CurrencySymbolComponent, "lx-currency-symbol", never, { "code": { "alias": "code"; "required": false; }; }, {}, never, never, true, never>;
2389
+ }
2390
+
2144
2391
  type DateInputRenderingStyle = 'INPUT' | 'LINK' | 'BUTTON';
2145
2392
  /**
2146
2393
  * Date input with integrated datepicker dropdown.
@@ -2396,47 +2643,218 @@ declare class DateInputComponent implements OnChanges, OnInit, OnDestroy, Contro
2396
2643
  static ɵcmp: i0.ɵɵComponentDeclaration<DateInputComponent, "lx-date-input", never, { "date": { "alias": "date"; "required": false; }; "dateString": { "alias": "dateString"; "required": false; }; "valueAccessor": { "alias": "valueAccessor"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "renderingStyle": { "alias": "renderingStyle"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "cdk": { "alias": "cdk"; "required": false; }; "datepickerMode": { "alias": "datepickerMode"; "required": false; }; "initDateString": { "alias": "initDateString"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minMode": { "alias": "minMode"; "required": false; }; "maxMode": { "alias": "maxMode"; "required": false; }; "showWeeks": { "alias": "showWeeks"; "required": false; }; "formatDay": { "alias": "formatDay"; "required": false; }; "formatMonth": { "alias": "formatMonth"; "required": false; }; "formatYear": { "alias": "formatYear"; "required": false; }; "formatDayHeader": { "alias": "formatDayHeader"; "required": false; }; "formatDayTitle": { "alias": "formatDayTitle"; "required": false; }; "formatMonthTitle": { "alias": "formatMonthTitle"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRange": { "alias": "yearRange"; "required": false; }; "onlyCurrentMonth": { "alias": "onlyCurrentMonth"; "required": false; }; "shortcutPropagation": { "alias": "shortcutPropagation"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dateDisabled": { "alias": "dateDisabled"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "markInvalid": { "alias": "markInvalid"; "required": false; }; "alwaysEmitDateString": { "alias": "alwaysEmitDateString"; "required": false; }; }, { "closeDateInput": "closeDateInput"; "dateStringChange": "dateStringChange"; "dateChange": "dateChange"; }, ["dateStringTemplate"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
2397
2644
  }
2398
2645
 
2399
- declare class KeyboardSortableItemDirective implements OnChanges {
2400
- private draggableItem;
2401
- private overlayPositionBuilder;
2402
- private element;
2403
- private overlay;
2404
- private ariaDescriber;
2405
- allItemsData: string[] | null;
2406
- itemData: string;
2407
- isSortingByKeyboard: boolean;
2408
- itemBeingSorted?: string;
2409
- readonly isSortingByKeyboardChange: EventEmitter<boolean>;
2410
- readonly itemBeingSortedChange: EventEmitter<string | undefined>;
2411
- sortItemsWithKeyboard: EventEmitter<{
2412
- previousIndex: number;
2413
- currentIndex: number;
2414
- }>;
2415
- focusWithKeyboard: Observable<KeyboardSortableItemDirective>;
2416
- tooltipDirective: TooltipDirective;
2417
- isBeingSorted: boolean;
2418
- get isSortable(): boolean;
2419
- private preventBlur;
2420
- private focusWithKeyboardReplaySubject$;
2421
- constructor(draggableItem: CdkDrag, overlayPositionBuilder: OverlayPositionBuilder, element: ElementRef<HTMLElement>, overlay: Overlay, ariaDescriber: AriaDescriber);
2422
- ngOnChanges(): void;
2423
- focusViaKeyboard(): void;
2424
- enterSortingModeEnabledByKeyboard($event: KeyboardEvent): void;
2425
- leaveSortingModeEnabledByKeyboard($event: KeyboardEvent | FocusEvent): void;
2426
- sort($event: KeyboardEvent): void;
2427
- static ɵfac: i0.ɵɵFactoryDeclaration<KeyboardSortableItemDirective, never>;
2428
- static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardSortableItemDirective, "[lxKeyboardSortableItem]", never, { "allItemsData": { "alias": "lxKeyboardSortableItem"; "required": false; }; "itemData": { "alias": "lxKeyboardItemData"; "required": false; }; "isSortingByKeyboard": { "alias": "isSortingByKeyboard"; "required": false; }; "itemBeingSorted": { "alias": "lxKeyboardItemBeingSorted"; "required": false; }; }, { "isSortingByKeyboardChange": "isSortingByKeyboardChange"; "itemBeingSortedChange": "lxKeyboardItemBeingSortedChange"; "sortItemsWithKeyboard": "sortItemsWithKeyboard"; "focusWithKeyboard": "focusWithKeyboard"; }, never, never, true, never>;
2646
+ declare class DateFormatter {
2647
+ format(date: Date, format: string, locale?: Locale | string): string;
2429
2648
  }
2430
2649
 
2431
- declare class KeyboardSortableListDirective implements AfterViewInit {
2432
- private translateService;
2433
- private keyboardSortableItems$;
2434
- keyboardSortableItems: KeyboardSortableItemDirective[] | null;
2435
- constructor(translateService: TranslateService);
2436
- ngAfterViewInit(): void;
2437
- private setupControlsTooltipToBeShownOnFirstFocusedItem;
2438
- static ɵfac: i0.ɵɵFactoryDeclaration<KeyboardSortableListDirective, never>;
2439
- static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardSortableListDirective, "[lxKeyboardSortableList]", never, { "keyboardSortableItems": { "alias": "keyboardSortableItems"; "required": false; }; }, {}, never, never, true, never>;
2650
+ /**
2651
+ * Core datepicker component managing date selection logic.
2652
+ *
2653
+ * Provides the underlying logic for day, month, and year selection modes.
2654
+ * Used internally by DatePickerComponent.
2655
+ *
2656
+ * ### Projection slots
2657
+ * - Default slot: Child picker components (daypicker, monthpicker, yearpicker).
2658
+ */
2659
+ declare class DatePickerInnerComponent implements OnInit, OnChanges {
2660
+ /** Locale code for date formatting. */
2661
+ locale: string;
2662
+ /** Current datepicker mode: 'day', 'month', or 'year'. */
2663
+ datepickerMode: string;
2664
+ /** Starting day of the week from 0-6 (0=Sunday). */
2665
+ startingDay: number;
2666
+ /** Number of years displayed in year selection. */
2667
+ yearRange: number;
2668
+ /** Minimum selectable date. */
2669
+ minDate: Date;
2670
+ /** Maximum selectable date. */
2671
+ maxDate: Date;
2672
+ /** Minimum picker mode. */
2673
+ minMode: string;
2674
+ /** Maximum picker mode. */
2675
+ maxMode: string;
2676
+ /** Whether to show week numbers. */
2677
+ showWeeks: boolean;
2678
+ /** Format of day in month. */
2679
+ formatDay: string;
2680
+ /** Format of month in year. */
2681
+ formatMonth: string;
2682
+ /** Format of year in year range. */
2683
+ formatYear: string;
2684
+ /** Format of day in week header. */
2685
+ formatDayHeader: string;
2686
+ /** Format of title when selecting day. */
2687
+ formatDayTitle: string;
2688
+ /** Format of title when selecting month. */
2689
+ formatMonthTitle: string;
2690
+ /** If true, only dates from the currently displayed month will be shown. */
2691
+ onlyCurrentMonth: boolean;
2692
+ /** If true, shortcut event propagation will be disabled. */
2693
+ shortcutPropagation: boolean;
2694
+ /** Array of custom css classes to be applied to dates. */
2695
+ customClass: {
2696
+ date: Date;
2697
+ mode: string;
2698
+ clazz: string;
2699
+ }[];
2700
+ /** Number of columns in month picker. */
2701
+ monthColLimit: number;
2702
+ /** Number of columns in year picker. */
2703
+ yearColLimit: number;
2704
+ /** Array of disabled dates. */
2705
+ dateDisabled: {
2706
+ date: Date;
2707
+ mode: string;
2708
+ }[];
2709
+ /** Array of disabled day indices (0-6). */
2710
+ dayDisabled: number[];
2711
+ /** Initial date to display. */
2712
+ initDate: Date;
2713
+ /** Emitted when a date is selected. */
2714
+ selectionDone: EventEmitter<Date>;
2715
+ /** Emitted when active date is updated. */
2716
+ update: EventEmitter<Date>;
2717
+ /** Emitted when active date changes. */
2718
+ activeDateChange: EventEmitter<Date>;
2719
+ stepDay: any;
2720
+ stepMonth: any;
2721
+ stepYear: any;
2722
+ uniqueId: string;
2723
+ protected modes: string[];
2724
+ protected dateFormatter: DateFormatter;
2725
+ protected _activeDate: Date;
2726
+ protected selectedDate: Date;
2727
+ protected activeDateId: string;
2728
+ protected refreshViewHandlerDay: Function;
2729
+ protected compareHandlerDay: Function;
2730
+ protected refreshViewHandlerMonth: Function;
2731
+ protected compareHandlerMonth: Function;
2732
+ protected refreshViewHandlerYear: Function;
2733
+ protected compareHandlerYear: Function;
2734
+ get activeDate(): Date;
2735
+ set activeDate(value: Date);
2736
+ ngOnInit(): void;
2737
+ ngOnChanges(changes: SimpleChanges): void;
2738
+ checkIfActiveDateGotUpdated(activeDate: any): void;
2739
+ setCompareHandler(handler: Function, type: string): void;
2740
+ compare(date1: Date, date2: Date): number | undefined;
2741
+ setRefreshViewHandler(handler: Function, type: string): void;
2742
+ refreshView(): void;
2743
+ dateFilter(date: Date, format: string): string;
2744
+ isActive(dateObject: any): boolean;
2745
+ createDateObject(date: Date, format: string): any;
2746
+ split(arr: any[], size: number): any[];
2747
+ fixTimeZone(date: Date): Date;
2748
+ select(date: Date, isManual?: boolean): void;
2749
+ move(direction: number): void;
2750
+ toggleMode(_direction: number): void;
2751
+ protected getCustomClassForDate(date: Date): string;
2752
+ protected compareDateDisabled(date1Disabled: {
2753
+ date: Date;
2754
+ mode: string;
2755
+ }, date2: Date): number | undefined;
2756
+ protected isDisabled(date: Date): boolean;
2757
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerInnerComponent, never>;
2758
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerInnerComponent, "datepicker-inner", never, { "locale": { "alias": "locale"; "required": false; }; "datepickerMode": { "alias": "datepickerMode"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRange": { "alias": "yearRange"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minMode": { "alias": "minMode"; "required": false; }; "maxMode": { "alias": "maxMode"; "required": false; }; "showWeeks": { "alias": "showWeeks"; "required": false; }; "formatDay": { "alias": "formatDay"; "required": false; }; "formatMonth": { "alias": "formatMonth"; "required": false; }; "formatYear": { "alias": "formatYear"; "required": false; }; "formatDayHeader": { "alias": "formatDayHeader"; "required": false; }; "formatDayTitle": { "alias": "formatDayTitle"; "required": false; }; "formatMonthTitle": { "alias": "formatMonthTitle"; "required": false; }; "onlyCurrentMonth": { "alias": "onlyCurrentMonth"; "required": false; }; "shortcutPropagation": { "alias": "shortcutPropagation"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "monthColLimit": { "alias": "monthColLimit"; "required": false; }; "yearColLimit": { "alias": "yearColLimit"; "required": false; }; "dateDisabled": { "alias": "dateDisabled"; "required": false; }; "dayDisabled": { "alias": "dayDisabled"; "required": false; }; "initDate": { "alias": "initDate"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; }, { "selectionDone": "selectionDone"; "update": "update"; "activeDateChange": "activeDateChange"; }, never, ["*"], true, never>;
2759
+ }
2760
+
2761
+ declare class DatepickerConfig {
2762
+ locale: string;
2763
+ datepickerMode: string;
2764
+ startingDay: number;
2765
+ yearRange: number;
2766
+ minMode: string;
2767
+ maxMode: string;
2768
+ showWeeks: boolean;
2769
+ formatDay: string;
2770
+ formatMonth: string;
2771
+ formatYear: string;
2772
+ formatDayHeader: string;
2773
+ formatDayTitle: string;
2774
+ formatMonthTitle: string;
2775
+ onlyCurrentMonth: boolean;
2776
+ monthColLimit: number;
2777
+ yearColLimit: number;
2778
+ shortcutPropagation: boolean;
2779
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerConfig, never>;
2780
+ static ɵprov: i0.ɵɵInjectableDeclaration<DatepickerConfig>;
2781
+ }
2782
+
2783
+ declare const DATEPICKER_CONTROL_VALUE_ACCESSOR: Provider;
2784
+ declare class DatePickerComponent implements ControlValueAccessor {
2785
+ /** sets datepicker mode, supports: `day`, `month`, `year` */
2786
+ datepickerMode: string;
2787
+ /** default date to show if `ng-model` value is not specified */
2788
+ initDate: Date;
2789
+ /** oldest selectable date */
2790
+ minDate: Date;
2791
+ /** latest selectable date */
2792
+ maxDate: Date;
2793
+ /** set lower datepicker mode, supports: `day`, `month`, `year` */
2794
+ minMode: string;
2795
+ /** sets upper datepicker mode, supports: `day`, `month`, `year` */
2796
+ maxMode: string;
2797
+ /** if false week numbers will be hidden */
2798
+ showWeeks: boolean;
2799
+ /** format of day in month */
2800
+ formatDay: string;
2801
+ /** format of month in year */
2802
+ formatMonth: string;
2803
+ /** format of year in year range */
2804
+ formatYear: string;
2805
+ /** format of day in week header */
2806
+ formatDayHeader: string;
2807
+ /** format of title when selecting day */
2808
+ formatDayTitle: string;
2809
+ /** format of title when selecting month */
2810
+ formatMonthTitle: string;
2811
+ /** starting day of the week from 0-6 (0=Sunday, ..., 6=Saturday) */
2812
+ startingDay: number;
2813
+ /** number of years displayed in year selection */
2814
+ yearRange: number;
2815
+ /** if true only dates from the currently displayed month will be shown */
2816
+ onlyCurrentMonth: boolean;
2817
+ /** if true shortcut`s event propagation will be disabled */
2818
+ shortcutPropagation: boolean;
2819
+ /** number of months displayed in a single row of month picker */
2820
+ monthColLimit: number;
2821
+ /** number of years displayed in a single row of year picker */
2822
+ yearColLimit: number;
2823
+ /** array of custom css classes to be applied to targeted dates */
2824
+ customClass: {
2825
+ date: Date;
2826
+ mode: string;
2827
+ clazz: string;
2828
+ }[];
2829
+ /** array of disabled dates */
2830
+ dateDisabled: {
2831
+ date: Date;
2832
+ mode: string;
2833
+ }[];
2834
+ /** disabled days of the week from 0-6 (0=Sunday, ..., 6=Saturday) */
2835
+ dayDisabled: number[];
2836
+ /** currently active date */
2837
+ get activeDate(): Date;
2838
+ set activeDate(value: Date);
2839
+ selectionDone: EventEmitter<Date>;
2840
+ /** callback to invoke when the activeDate is changed. */
2841
+ activeDateChange: EventEmitter<Date>;
2842
+ _datePicker: DatePickerInnerComponent;
2843
+ onChange: any;
2844
+ onTouched: any;
2845
+ config: DatepickerConfig;
2846
+ protected _now: Date;
2847
+ protected _activeDate: Date;
2848
+ constructor(config: DatepickerConfig);
2849
+ configureOptions(): void;
2850
+ onUpdate(event: Date): void;
2851
+ onSelectionDone(event: Date): void;
2852
+ onActiveDateChange(event: Date): void;
2853
+ writeValue(value: any): void;
2854
+ registerOnChange(fn: () => void): void;
2855
+ registerOnTouched(fn: () => void): void;
2856
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerComponent, never>;
2857
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent, "datepicker", never, { "datepickerMode": { "alias": "datepickerMode"; "required": false; }; "initDate": { "alias": "initDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minMode": { "alias": "minMode"; "required": false; }; "maxMode": { "alias": "maxMode"; "required": false; }; "showWeeks": { "alias": "showWeeks"; "required": false; }; "formatDay": { "alias": "formatDay"; "required": false; }; "formatMonth": { "alias": "formatMonth"; "required": false; }; "formatYear": { "alias": "formatYear"; "required": false; }; "formatDayHeader": { "alias": "formatDayHeader"; "required": false; }; "formatDayTitle": { "alias": "formatDayTitle"; "required": false; }; "formatMonthTitle": { "alias": "formatMonthTitle"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRange": { "alias": "yearRange"; "required": false; }; "onlyCurrentMonth": { "alias": "onlyCurrentMonth"; "required": false; }; "shortcutPropagation": { "alias": "shortcutPropagation"; "required": false; }; "monthColLimit": { "alias": "monthColLimit"; "required": false; }; "yearColLimit": { "alias": "yearColLimit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "dateDisabled": { "alias": "dateDisabled"; "required": false; }; "dayDisabled": { "alias": "dayDisabled"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; }, { "selectionDone": "selectionDone"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
2440
2858
  }
2441
2859
 
2442
2860
  interface DragAndDropListAction {
@@ -2506,13 +2924,45 @@ declare class DragAndDropListItemComponent {
2506
2924
  static ɵcmp: i0.ɵɵComponentDeclaration<DragAndDropListItemComponent, "lx-drag-and-drop-list-item", never, { "item": { "alias": "item"; "required": false; }; "draggable": { "alias": "draggable"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; }, { "action": "action"; }, ["customTemplateRef"], never, true, never>;
2507
2925
  }
2508
2926
 
2509
- interface DragAndDropListMoveEvent {
2510
- item: string;
2511
- index: number;
2512
- }
2513
- interface DragAndDropListMoveIndexEvent {
2514
- index: number;
2515
- previous: number;
2927
+ declare class KeyboardSortableItemDirective implements OnChanges {
2928
+ private draggableItem;
2929
+ private overlayPositionBuilder;
2930
+ private element;
2931
+ private overlay;
2932
+ private ariaDescriber;
2933
+ allItemsData: string[] | null;
2934
+ itemData: string;
2935
+ isSortingByKeyboard: boolean;
2936
+ itemBeingSorted?: string;
2937
+ readonly isSortingByKeyboardChange: EventEmitter<boolean>;
2938
+ readonly itemBeingSortedChange: EventEmitter<string | undefined>;
2939
+ sortItemsWithKeyboard: EventEmitter<{
2940
+ previousIndex: number;
2941
+ currentIndex: number;
2942
+ }>;
2943
+ focusWithKeyboard: Observable<KeyboardSortableItemDirective>;
2944
+ tooltipDirective: TooltipDirective;
2945
+ isBeingSorted: boolean;
2946
+ get isSortable(): boolean;
2947
+ private preventBlur;
2948
+ private focusWithKeyboardReplaySubject$;
2949
+ constructor(draggableItem: CdkDrag, overlayPositionBuilder: OverlayPositionBuilder, element: ElementRef<HTMLElement>, overlay: Overlay, ariaDescriber: AriaDescriber);
2950
+ ngOnChanges(): void;
2951
+ focusViaKeyboard(): void;
2952
+ enterSortingModeEnabledByKeyboard($event: KeyboardEvent): void;
2953
+ leaveSortingModeEnabledByKeyboard($event: KeyboardEvent | FocusEvent): void;
2954
+ sort($event: KeyboardEvent): void;
2955
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeyboardSortableItemDirective, never>;
2956
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardSortableItemDirective, "[lxKeyboardSortableItem]", never, { "allItemsData": { "alias": "lxKeyboardSortableItem"; "required": false; }; "itemData": { "alias": "lxKeyboardItemData"; "required": false; }; "isSortingByKeyboard": { "alias": "isSortingByKeyboard"; "required": false; }; "itemBeingSorted": { "alias": "lxKeyboardItemBeingSorted"; "required": false; }; }, { "isSortingByKeyboardChange": "isSortingByKeyboardChange"; "itemBeingSortedChange": "lxKeyboardItemBeingSortedChange"; "sortItemsWithKeyboard": "sortItemsWithKeyboard"; "focusWithKeyboard": "focusWithKeyboard"; }, never, never, true, never>;
2957
+ }
2958
+
2959
+ interface DragAndDropListMoveEvent {
2960
+ item: string;
2961
+ index: number;
2962
+ }
2963
+ interface DragAndDropListMoveIndexEvent {
2964
+ index: number;
2965
+ previous: number;
2516
2966
  }
2517
2967
  /**
2518
2968
  * Sortable list with drag-and-drop and keyboard navigation support.
@@ -2605,10 +3055,72 @@ declare class DragAndDropListComponent implements AfterContentInit, AfterViewIni
2605
3055
  static ɵcmp: i0.ɵɵComponentDeclaration<DragAndDropListComponent, "lx-drag-and-drop-list", never, { "label": { "alias": "label"; "required": false; }; "labelFontWeight": { "alias": "labelFontWeight"; "required": false; }; "color": { "alias": "color"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; }, { "moveToIndex": "moveToIndex"; "moveItem": "moveItem"; }, ["_items"], never, true, never>;
2606
3056
  }
2607
3057
 
2608
- declare class LxDragAndDropListModule {
2609
- static ɵfac: i0.ɵɵFactoryDeclaration<LxDragAndDropListModule, never>;
2610
- static ɵmod: i0.ɵɵNgModuleDeclaration<LxDragAndDropListModule, never, [typeof i1$1.CommonModule, typeof i2.DragDropModule, typeof i3.TranslateModule, typeof KeyboardSortableItemDirective, typeof KeyboardSortableListDirective, typeof DragAndDropListComponent, typeof DragAndDropListItemComponent], [typeof DragAndDropListComponent, typeof DragAndDropListItemComponent]>;
2611
- static ɵinj: i0.ɵɵInjectorDeclaration<LxDragAndDropListModule>;
3058
+ declare class KeyboardSortableListDirective implements AfterViewInit {
3059
+ private translateService;
3060
+ private keyboardSortableItems$;
3061
+ keyboardSortableItems: KeyboardSortableItemDirective[] | null;
3062
+ constructor(translateService: TranslateService);
3063
+ ngAfterViewInit(): void;
3064
+ private setupControlsTooltipToBeShownOnFirstFocusedItem;
3065
+ static ɵfac: i0.ɵɵFactoryDeclaration<KeyboardSortableListDirective, never>;
3066
+ static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardSortableListDirective, "[lxKeyboardSortableList]", never, { "keyboardSortableItems": { "alias": "keyboardSortableItems"; "required": false; }; }, {}, never, never, true, never>;
3067
+ }
3068
+
3069
+ /**
3070
+ * Displays form validation error messages.
3071
+ *
3072
+ * Shows either projected content or a programmatically set error message.
3073
+ *
3074
+ * ### Projection slots
3075
+ * - Default slot: Static error message text. Hidden but captured for display.
3076
+ *
3077
+ * ### Example
3078
+ * @example
3079
+ * ```html
3080
+ * <lx-error-message>This field is required</lx-error-message>
3081
+ * ```
3082
+ */
3083
+ declare class ErrorMessageComponent {
3084
+ /** Signal for setting error message programmatically. */
3085
+ readonly dynamicErrorMessage: i0.WritableSignal<string>;
3086
+ private readonly wrapper;
3087
+ protected computedErrorMessage: i0.Signal<string>;
3088
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorMessageComponent, never>;
3089
+ static ɵcmp: i0.ɵɵComponentDeclaration<ErrorMessageComponent, "lx-error-message", never, {}, {}, never, ["*"], true, never>;
3090
+ }
3091
+
3092
+ /**
3093
+ * Displays translated form validation errors for a specific form control.
3094
+ *
3095
+ * Automatically updates when form errors change.
3096
+ *
3097
+ * ### Example
3098
+ * @example
3099
+ * ```html
3100
+ * <lx-form-error
3101
+ * [form]="myFormGroup"
3102
+ * [controlName]="'email'"
3103
+ * [namespace]="'USER_FORM'"
3104
+ * ></lx-form-error>
3105
+ * ```
3106
+ */
3107
+ declare class FormErrorComponent implements OnInit, OnChanges, OnDestroy {
3108
+ /** Translation namespace prefix for error messages (e.g., 'USER_FORM'). */
3109
+ namespace: string;
3110
+ /** The FormGroup containing the control to validate. */
3111
+ form: UntypedFormGroup;
3112
+ /** The name of the form control to display errors for. */
3113
+ controlName: string;
3114
+ /** @internal */
3115
+ translationKeys: string[];
3116
+ private formSubscription;
3117
+ ngOnInit(): void;
3118
+ ngOnChanges(_changes: SimpleChanges): void;
3119
+ ngOnDestroy(): void;
3120
+ /** @internal */
3121
+ getTranslationKeys(): string[];
3122
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorComponent, never>;
3123
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "lx-form-error", never, { "namespace": { "alias": "namespace"; "required": false; }; "form": { "alias": "form"; "required": false; }; "controlName": { "alias": "controlName"; "required": false; }; }, {}, never, never, true, never>;
2612
3124
  }
2613
3125
 
2614
3126
  /**
@@ -2936,6 +3448,118 @@ declare class MultiSelectComponent extends BaseSelectDirective implements AfterV
2936
3448
  static ɵcmp: i0.ɵɵComponentDeclaration<MultiSelectComponent, "lx-multi-select", never, { "markInvalid": { "alias": "markInvalid"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "size": { "alias": "size"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "closeDropdownOnTab": { "alias": "closeDropdownOnTab"; "required": false; }; }, { "selectionChange": "selectionChange"; "blur": "blur"; }, ["explicitDropdown", "selectionTemplate"], [".pills", ".dropdownComponent"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
2937
3449
  }
2938
3450
 
3451
+ type OptionGroupOption = {
3452
+ value: string;
3453
+ label: string;
3454
+ };
3455
+ /**
3456
+ * TODO: rename to something unspecific for single selects because multiselects are also supported
3457
+ */
3458
+ type SingleSelectOptionGroup<T = any> = {
3459
+ label: string;
3460
+ options: (OptionGroupOption | T)[];
3461
+ };
3462
+ /**
3463
+ * Dropdown component that displays options grouped by categories.
3464
+ * Supports keyboard navigation, infinite scroll, custom templates, and creating new options.
3465
+ * Used standalone or with SingleSelectComponent/MultiSelectComponent.
3466
+ *
3467
+ * ### Projection slots
3468
+ * - `optionTemplate`: Template for custom option rendering (context: `$implicit`, `index`, `groupIndex`).
3469
+ * - `noResultsOptionTemplateRef`: Template for custom "no results" message (context: `group`, `groupIndex`).
3470
+ *
3471
+ * ### Example
3472
+ * @example
3473
+ * ```html
3474
+ * <lx-option-group-dropdown
3475
+ * [optionGroups]="groups"
3476
+ * [highlightTerm]="searchTerm"
3477
+ * (onItemSelected)="handleSelection($event)">
3478
+ * <ng-template #optionTemplate let-option>
3479
+ * <span>{{ option.label }}</span>
3480
+ * </ng-template>
3481
+ * </lx-option-group-dropdown>
3482
+ * ```
3483
+ */
3484
+ declare class OptionGroupDropdownComponent extends KeyboardSelectDirective {
3485
+ /** @internal */
3486
+ readonly NAME = "OptionGroupDropdownComponent";
3487
+ /** @internal */
3488
+ protected readonly fioriReskinActive: i0.WritableSignal<boolean>;
3489
+ /**
3490
+ * Array of option groups to display in the dropdown.
3491
+ * @default []
3492
+ */
3493
+ optionGroups: SingleSelectOptionGroup[];
3494
+ /**
3495
+ * Label for the "create new option" entry.
3496
+ * Typically the current input value from a parent select component.
3497
+ */
3498
+ newOptionLabel?: string;
3499
+ /** Term to highlight in option labels. */
3500
+ highlightTerm?: string;
3501
+ /**
3502
+ * Whether to show a "create new option" entry at the top of the dropdown.
3503
+ * @default false
3504
+ */
3505
+ showCreateNewOption: boolean;
3506
+ /**
3507
+ * Property name to use as the label for each option.
3508
+ * @default 'label'
3509
+ */
3510
+ labelKey: string;
3511
+ /**
3512
+ * Whether the dropdown is in a loading state.
3513
+ * @default false
3514
+ */
3515
+ loading: boolean;
3516
+ /** Property name to use for tracking options. */
3517
+ trackByProperty?: string;
3518
+ /**
3519
+ * Whether to show "no results" message when a group has no options.
3520
+ * @default false
3521
+ */
3522
+ showNoResultsIfGroupIsEmpty: boolean;
3523
+ /**
3524
+ * Whether to use CDK overlay positioning for the dropdown.
3525
+ * @default false
3526
+ */
3527
+ overlayPositioning: boolean;
3528
+ /** Event emitted when an option is selected. */
3529
+ onItemSelected: EventEmitter<any>;
3530
+ /** Event emitted when the dropdown container is scrolled (for infinite scroll). */
3531
+ containerScrolled: EventEmitter<any>;
3532
+ /** Event emitted when the user requests to create a new option. */
3533
+ createNewOption: EventEmitter<string>;
3534
+ /** @internal */
3535
+ optionTemplateRef?: TemplateRef<any>;
3536
+ /**
3537
+ * If you provide a <ng-template #noResultsOptionTemplateRef></ng-template> inside the <lx-option-group-dropdown>
3538
+ * it will be used to display the "no results" option instead of the default "No results" text.
3539
+ * This way you can easily define different "No results" texts for different groups too.
3540
+ * @internal
3541
+ */
3542
+ noResultsOptionTemplateRef?: TemplateRef<any>;
3543
+ /** @internal */
3544
+ selectOrigin: CdkOverlayOrigin;
3545
+ /** @internal */
3546
+ isTopDropdown: boolean;
3547
+ /** @internal */
3548
+ get isNewItem(): boolean;
3549
+ /** @internal */
3550
+ selectOption(option: OptionGroupOption | any): void;
3551
+ /** @internal */
3552
+ trackByLabel(index: number, optionGroup: SingleSelectOptionGroup): string;
3553
+ /** @internal */
3554
+ onCreateNewOption(): void;
3555
+ /** @internal */
3556
+ trackByValue(_index: number, option: OptionGroupOption | any): any;
3557
+ /** @internal */
3558
+ onPositionChange(event: ConnectedOverlayPositionChange): void;
3559
+ static ɵfac: i0.ɵɵFactoryDeclaration<OptionGroupDropdownComponent, never>;
3560
+ static ɵcmp: i0.ɵɵComponentDeclaration<OptionGroupDropdownComponent, "lx-option-group-dropdown", never, { "optionGroups": { "alias": "optionGroups"; "required": false; }; "newOptionLabel": { "alias": "newOptionLabel"; "required": false; }; "highlightTerm": { "alias": "highlightTerm"; "required": false; }; "showCreateNewOption": { "alias": "showCreateNewOption"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackByProperty": { "alias": "trackByProperty"; "required": false; }; "showNoResultsIfGroupIsEmpty": { "alias": "showNoResultsIfGroupIsEmpty"; "required": false; }; "overlayPositioning": { "alias": "overlayPositioning"; "required": false; }; }, { "onItemSelected": "onItemSelected"; "containerScrolled": "containerScrolled"; "createNewOption": "createNewOption"; }, ["optionTemplateRef", "noResultsOptionTemplateRef"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
3561
+ }
3562
+
2939
3563
  /**
2940
3564
  * A dropdown component that displays a list of selectable options.
2941
3565
  * The dropdown opens when triggered and provides keyboard navigation support for accessible option selection.
@@ -3200,23 +3824,6 @@ declare class PickerOptionComponent implements Highlightable, OnInit {
3200
3824
  static ɵcmp: i0.ɵɵComponentDeclaration<PickerOptionComponent, "li[lx-picker-option]", never, { "optionId": { "alias": "optionId"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "value": { "alias": "value"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "isClearOption": { "alias": "isClearOption"; "required": false; }; }, { "select": "select"; }, never, ["*"], true, never>;
3201
3825
  }
3202
3826
 
3203
- declare class PickerTriggerDirective implements OnDestroy {
3204
- private element;
3205
- private readonly IS_SAFARI;
3206
- private readonly HOST_ELEMENT_IS_BUTTON;
3207
- private focused;
3208
- private allClickEvents$;
3209
- private focusEvent$;
3210
- private blurEvent$;
3211
- clickEvent$: rxjs.Observable<MouseEvent>;
3212
- get width(): number;
3213
- readonly destroyed$: Subject<void>;
3214
- constructor(element: ElementRef<HTMLElement>);
3215
- ngOnDestroy(): void;
3216
- static ɵfac: i0.ɵɵFactoryDeclaration<PickerTriggerDirective, never>;
3217
- static ɵdir: i0.ɵɵDirectiveDeclaration<PickerTriggerDirective, "[lxPickerTrigger]", never, {}, {}, never, never, true, never>;
3218
- }
3219
-
3220
3827
  /**
3221
3828
  * A dropdown picker for selecting a value from a list of options.
3222
3829
  * Supports keyboard navigation, `ControlValueAccessor` for reactive forms, and custom trigger elements.
@@ -3288,889 +3895,26 @@ declare class PickerComponent implements AfterViewInit, ControlValueAccessor, On
3288
3895
  private _lastSelectWasByKeyManager;
3289
3896
  /** @internal */
3290
3897
  readonly destroyed$: Subject<void>;
3291
- constructor(dir: Directionality, cdRef: ChangeDetectorRef);
3292
- /** @internal */
3293
- manageKeyboardEvents(event: KeyboardEvent): void;
3294
- ngAfterViewInit(): void;
3295
- ngOnDestroy(): void;
3296
- /** @internal */
3297
- closePicker(): void;
3298
- /** @internal */
3299
- toggleOpen(): void;
3300
- private setActivePickerOption;
3301
- /** @internal */
3302
- writeValue(value: any): void;
3303
- /** @internal */
3304
- registerOnChange(fn: any): void;
3305
- /** @internal */
3306
- registerOnTouched(fn: any): void;
3307
- private propagateChange;
3308
- private onTouched;
3309
- static ɵfac: i0.ɵɵFactoryDeclaration<PickerComponent, never>;
3310
- static ɵcmp: i0.ɵɵComponentDeclaration<PickerComponent, "lx-picker", never, { "listBoxAriaLabel": { "alias": "listBoxAriaLabel"; "required": false; }; "listBoxAriaLabelledBy": { "alias": "listBoxAriaLabelledBy"; "required": false; }; "openDirection": { "alias": "openDirection"; "required": false; }; }, {}, ["_trigger", "options"], ["[lxPickerTrigger]", "*"], true, never>;
3311
- }
3312
-
3313
- type SingleSelectPadding = 'default' | 'narrow';
3314
-
3315
- type SingleSelectSize = 'default' | 'small' | 'large';
3316
- /**
3317
- * A dropdown component for selecting a single value from a list of options.
3318
- * Implements `ControlValueAccessor` for seamless integration with Angular reactive forms.
3319
- *
3320
- * ### Projection slots
3321
- * - `.selectedOption`: Displays the currently selected value in the input field
3322
- * - `.dropdownComponent`: Contains the dropdown (typically `lx-basic-dropdown`)
3323
- *
3324
- * Alternatively, use `lxSelectDropdown` and `lxSelectedOption` directives on `<ng-template>`.
3325
- *
3326
- * ### Example
3327
- * @example
3328
- * ```html
3329
- * <lx-single-select
3330
- * #select
3331
- * [formControl]="control"
3332
- * (query)="searchTerm = $event">
3333
- * <span class="selectedOption">{{ control.value?.name }}</span>
3334
- * <lx-basic-dropdown
3335
- * class="dropdownComponent"
3336
- * [keyboardSelectAction]="select.optionsKeyboardSelectAction$"
3337
- * [options]="options | lxFilterByTerm: { term: searchTerm }"
3338
- * labelKey="name"
3339
- * (onItemSelected)="select.selectOption($event)">
3340
- * </lx-basic-dropdown>
3341
- * </lx-single-select>
3342
- * ```
3343
- */
3344
- declare class SingleSelectComponent extends BaseSelectDirective implements OnDestroy, AfterViewInit, ControlValueAccessor {
3345
- private cd;
3346
- /** @internal */
3347
- static calculateNewCursorPostionOnKeyboardNavigation(cursorPosition: number, keyCode: number): number;
3348
- /** @internal */
3349
- static getKeyboardSelectAction(cursorPosition: number, keyCode: number): KeyboardSelectAction | null;
3350
- /** The currently selected value. */
3351
- selection: any;
3352
- /** Background color of the selection input field. */
3353
- selectionBackground: 'white' | 'gray';
3354
- /** Size variant of the select component. */
3355
- size: SingleSelectSize;
3356
- /** @deprecated To keep different inputs aligned, we should use the default padding */
3357
- padding?: SingleSelectPadding;
3358
- /** Optional ID attribute for the input element. */
3359
- inputId?: string;
3360
- /** Whether the select field is required. */
3361
- required: boolean;
3362
- /** Whether to close the dropdown when the Tab key is pressed. */
3363
- closeDropdownOnTab: boolean;
3364
- /** Event emitted when the selection changes. */
3365
- selectionChange: EventEmitter<any>;
3366
- /** Event emitted when the input loses focus. */
3367
- blur: EventEmitter<FocusEvent>;
3368
- /** @internal */
3369
- explicitDropdown?: TemplateRef<any>;
3370
- /** @internal */
3371
- explicitSelectedOption?: TemplateRef<any>;
3372
- /** @internal */
3373
- private dropdownComponent?;
3374
- /** @internal */
3375
- implicitSelectedOption: TemplateRef<any>;
3376
- /** @internal */
3377
- implicitDropdown: TemplateRef<any>;
3378
- /** @internal */
3379
- get selectedOptionTmpl(): TemplateRef<any>;
3380
- /** @internal */
3381
- get dropdownTmpl(): TemplateRef<any>;
3382
- /** Whether to show a clear button to remove the selection. */
3383
- allowClear: boolean;
3384
- /** Tab index of the input element for keyboard navigation. */
3385
- tabIndex: number;
3386
- /** Whether to visually mark the input as invalid. */
3387
- markInvalid: boolean;
3388
- /** @internal */
3389
- toggleElement?: ElementRef<HTMLElement>;
3390
- /** @internal */
3391
- queryInput: ElementRef<HTMLInputElement>;
3392
- /** @internal */
3393
- readonly destroyed$: Subject<void>;
3394
- /** @internal */
3395
- isInputFocusedViaTab: boolean;
3396
- constructor(cd: ChangeDetectorRef);
3397
- /** @internal */
3398
- get cursorStyle(): "default" | "text" | "pointer";
3399
- /** @internal */
3400
- resetInput(): void;
3401
- /** @internal */
3402
- focus(): void;
3403
- /** @internal */
3404
- focusAndOpen(): void;
3405
- ngOnDestroy(): void;
3406
- ngAfterViewInit(): void;
3407
- /** @internal */
3408
- selectOption(option: any): void;
3409
- /** @internal */
3410
- removeSelection(): void;
3411
- /** @internal */
3412
- propagateChange(_value: any): void;
3413
- /** @internal */
3414
- writeValue(newSelection: any): void;
3415
- /** @internal */
3416
- setDisabledState(isDisabled: boolean): void;
3417
- /** @internal */
3418
- registerOnChange(fn: any): void;
3419
- /** @internal */
3420
- registerOnTouched(_fn: any): void;
3421
- /** @internal */
3422
- focusedViaTab(): void;
3423
- private determineHighlightIndex;
3424
- static ɵfac: i0.ɵɵFactoryDeclaration<SingleSelectComponent, never>;
3425
- static ɵcmp: i0.ɵɵComponentDeclaration<SingleSelectComponent, "lx-single-select", never, { "selection": { "alias": "selection"; "required": false; }; "selectionBackground": { "alias": "selectionBackground"; "required": false; }; "size": { "alias": "size"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "closeDropdownOnTab": { "alias": "closeDropdownOnTab"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "markInvalid": { "alias": "markInvalid"; "required": false; }; }, { "selectionChange": "selectionChange"; "blur": "blur"; }, ["explicitDropdown", "explicitSelectedOption", "dropdownComponent"], [".selectedOption", ".dropdownComponent"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
3426
- static ngAcceptInputType_required: unknown;
3427
- }
3428
-
3429
- declare class ContenteditableDirective implements OnChanges {
3430
- private elRef;
3431
- private sanitizer;
3432
- /** Model */
3433
- lxContenteditableModel: string;
3434
- lxContenteditableModelChange: EventEmitter<string>;
3435
- /** Allow (sanitized) html */
3436
- lxContenteditableHtml: boolean | 'trim';
3437
- lxContenteditableHtmlPaste: boolean;
3438
- private emittedValue;
3439
- constructor(elRef: ElementRef<HTMLElement>, sanitizer: DomSanitizer);
3440
- ngOnChanges(changes: SimpleChanges): void;
3441
- onInput(initialInlineData?: boolean): void;
3442
- /**
3443
- * @param event {ClipboardEvent}
3444
- */
3445
- onPaste(event: any): void;
3446
- onDrop(event: MouseEvent): boolean;
3447
- private cleanContent;
3448
- private refreshView;
3449
- private getProperty;
3450
- private sanitize;
3451
- static ɵfac: i0.ɵɵFactoryDeclaration<ContenteditableDirective, never>;
3452
- static ɵdir: i0.ɵɵDirectiveDeclaration<ContenteditableDirective, "[lxContenteditableModel]", never, { "lxContenteditableModel": { "alias": "lxContenteditableModel"; "required": false; }; "lxContenteditableHtml": { "alias": "lxContenteditableHtml"; "required": false; }; "lxContenteditableHtmlPaste": { "alias": "lxContenteditableHtmlPaste"; "required": false; }; }, { "lxContenteditableModelChange": "lxContenteditableModelChange"; }, never, never, true, never>;
3453
- }
3454
-
3455
- declare class FormSubmitDirective implements OnDestroy {
3456
- private elementRef;
3457
- submitted$: BehaviorSubject<boolean>;
3458
- private subscription;
3459
- constructor(elementRef: ElementRef);
3460
- ngOnDestroy(): void;
3461
- static ɵfac: i0.ɵɵFactoryDeclaration<FormSubmitDirective, never>;
3462
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormSubmitDirective, "form", never, {}, {}, never, never, true, never>;
3463
- }
3464
-
3465
- type FormControlErrorDisplayStrategy = (obj: {
3466
- control: AbstractControl;
3467
- submitted?: boolean;
3468
- }) => boolean;
3469
- declare const FORM_CONTROL_ERROR_NAMESPACE: InjectionToken<string>;
3470
- declare const FORM_CONTROL_ERROR_DISPLAY_STRATEGY: InjectionToken<FormControlErrorDisplayStrategy>;
3471
- declare const provideFormControlErrorNamespace: (namespace: string) => {
3472
- provide: InjectionToken<string>;
3473
- useValue: string;
3474
- };
3475
- declare const provideFormControlErrorDisplayStrategy: (fn: FormControlErrorDisplayStrategy) => {
3476
- provide: InjectionToken<FormControlErrorDisplayStrategy>;
3477
- useValue: FormControlErrorDisplayStrategy;
3478
- };
3479
- declare class FormErrorDirective implements OnInit {
3480
- private viewContainer;
3481
- private componentFactoryResolver;
3482
- private translateService;
3483
- private destroyRef;
3484
- private ngControl?;
3485
- private formSubmitDirective?;
3486
- private namespace?;
3487
- private strategy?;
3488
- ctrl?: AbstractControl | '';
3489
- controlName?: string;
3490
- private ref?;
3491
- private get control();
3492
- private get name();
3493
- private get formSubmitted();
3494
- constructor(viewContainer: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, translateService: TranslateService, destroyRef: DestroyRef, ngControl?: NgControl | undefined, formSubmitDirective?: FormSubmitDirective | undefined, namespace?: string | undefined, strategy?: FormControlErrorDisplayStrategy | undefined);
3495
- ngOnInit(): void;
3496
- private buildTranslationKey;
3497
- private setError;
3498
- static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorDirective, [null, null, null, null, { optional: true; self: true; }, { optional: true; host: true; }, { optional: true; }, { optional: true; }]>;
3499
- static ɵdir: i0.ɵɵDirectiveDeclaration<FormErrorDirective, "[lxFormError]", never, { "ctrl": { "alias": "lxFormError"; "required": false; }; "controlName": { "alias": "controlName"; "required": false; }; }, {}, never, never, true, never>;
3500
- }
3501
-
3502
- declare class MarkInvalidDirective implements OnInit, OnDestroy {
3503
- private element;
3504
- private renderer;
3505
- lxMarkInvalid: boolean;
3506
- lxMarkInvalid$: Observable<boolean>;
3507
- readonly destroyed$: Subject<void>;
3508
- constructor(element: ElementRef<HTMLElement>, renderer: Renderer2);
3509
- ngOnInit(): void;
3510
- ngOnDestroy(): void;
3511
- static ɵfac: i0.ɵɵFactoryDeclaration<MarkInvalidDirective, never>;
3512
- static ɵdir: i0.ɵɵDirectiveDeclaration<MarkInvalidDirective, "[lxMarkInvalid]", never, { "lxMarkInvalid": { "alias": "lxMarkInvalid"; "required": false; }; }, {}, never, never, true, never>;
3513
- }
3514
-
3515
- declare class SelectableItemDirective implements DropdownItem {
3516
- readonly element: ElementRef<HTMLElement>;
3517
- scrollInContainer: HTMLElement;
3518
- lxSelectableItem: any;
3519
- select: EventEmitter<any>;
3520
- get item(): any;
3521
- constructor(element: ElementRef<HTMLElement>);
3522
- scrollToItem(): void;
3523
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectableItemDirective, never>;
3524
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableItemDirective, "[lxSelectableItem]", never, { "scrollInContainer": { "alias": "scrollInContainer"; "required": false; }; "lxSelectableItem": { "alias": "lxSelectableItem"; "required": false; }; }, { "select": "select"; }, never, never, true, never>;
3525
- }
3526
-
3527
- /**
3528
- * Reformats numbers into a short format.
3529
- * @example {{ 1000 | lxFormatNumber | async }} prints 1K
3530
- *
3531
- * If the parameter currency is set, a currency sign is inserted based on the value and the current locale.
3532
- * In this case, the pipe must be used with an innerHtml attribute.
3533
- * @example [innerHtml]="1000 | lxFormatNumber: 'USD' | async" prints $1K
3534
- */
3535
- declare class FormatNumberPipe implements PipeTransform {
3536
- private getLocale;
3537
- constructor(getLocale: Function);
3538
- transform(number: number | undefined | null, currency?: string): Observable<string | null>;
3539
- /**
3540
- * Use custom currency symbol, when the currency in the formated number doesn't match the
3541
- * symbol in the CURRENCY_SYMBOL_MAP.
3542
- */
3543
- private getFormatedCurrency;
3544
- static ɵfac: i0.ɵɵFactoryDeclaration<FormatNumberPipe, never>;
3545
- static ɵpipe: i0.ɵɵPipeDeclaration<FormatNumberPipe, "lxFormatNumber", true>;
3546
- }
3547
-
3548
- declare class DateFormatter {
3549
- format(date: Date, format: string, locale?: Locale | string): string;
3550
- }
3551
-
3552
- /**
3553
- * Core datepicker component managing date selection logic.
3554
- *
3555
- * Provides the underlying logic for day, month, and year selection modes.
3556
- * Used internally by DatePickerComponent.
3557
- *
3558
- * ### Projection slots
3559
- * - Default slot: Child picker components (daypicker, monthpicker, yearpicker).
3560
- */
3561
- declare class DatePickerInnerComponent implements OnInit, OnChanges {
3562
- /** Locale code for date formatting. */
3563
- locale: string;
3564
- /** Current datepicker mode: 'day', 'month', or 'year'. */
3565
- datepickerMode: string;
3566
- /** Starting day of the week from 0-6 (0=Sunday). */
3567
- startingDay: number;
3568
- /** Number of years displayed in year selection. */
3569
- yearRange: number;
3570
- /** Minimum selectable date. */
3571
- minDate: Date;
3572
- /** Maximum selectable date. */
3573
- maxDate: Date;
3574
- /** Minimum picker mode. */
3575
- minMode: string;
3576
- /** Maximum picker mode. */
3577
- maxMode: string;
3578
- /** Whether to show week numbers. */
3579
- showWeeks: boolean;
3580
- /** Format of day in month. */
3581
- formatDay: string;
3582
- /** Format of month in year. */
3583
- formatMonth: string;
3584
- /** Format of year in year range. */
3585
- formatYear: string;
3586
- /** Format of day in week header. */
3587
- formatDayHeader: string;
3588
- /** Format of title when selecting day. */
3589
- formatDayTitle: string;
3590
- /** Format of title when selecting month. */
3591
- formatMonthTitle: string;
3592
- /** If true, only dates from the currently displayed month will be shown. */
3593
- onlyCurrentMonth: boolean;
3594
- /** If true, shortcut event propagation will be disabled. */
3595
- shortcutPropagation: boolean;
3596
- /** Array of custom css classes to be applied to dates. */
3597
- customClass: {
3598
- date: Date;
3599
- mode: string;
3600
- clazz: string;
3601
- }[];
3602
- /** Number of columns in month picker. */
3603
- monthColLimit: number;
3604
- /** Number of columns in year picker. */
3605
- yearColLimit: number;
3606
- /** Array of disabled dates. */
3607
- dateDisabled: {
3608
- date: Date;
3609
- mode: string;
3610
- }[];
3611
- /** Array of disabled day indices (0-6). */
3612
- dayDisabled: number[];
3613
- /** Initial date to display. */
3614
- initDate: Date;
3615
- /** Emitted when a date is selected. */
3616
- selectionDone: EventEmitter<Date>;
3617
- /** Emitted when active date is updated. */
3618
- update: EventEmitter<Date>;
3619
- /** Emitted when active date changes. */
3620
- activeDateChange: EventEmitter<Date>;
3621
- stepDay: any;
3622
- stepMonth: any;
3623
- stepYear: any;
3624
- uniqueId: string;
3625
- protected modes: string[];
3626
- protected dateFormatter: DateFormatter;
3627
- protected _activeDate: Date;
3628
- protected selectedDate: Date;
3629
- protected activeDateId: string;
3630
- protected refreshViewHandlerDay: Function;
3631
- protected compareHandlerDay: Function;
3632
- protected refreshViewHandlerMonth: Function;
3633
- protected compareHandlerMonth: Function;
3634
- protected refreshViewHandlerYear: Function;
3635
- protected compareHandlerYear: Function;
3636
- get activeDate(): Date;
3637
- set activeDate(value: Date);
3638
- ngOnInit(): void;
3639
- ngOnChanges(changes: SimpleChanges): void;
3640
- checkIfActiveDateGotUpdated(activeDate: any): void;
3641
- setCompareHandler(handler: Function, type: string): void;
3642
- compare(date1: Date, date2: Date): number | undefined;
3643
- setRefreshViewHandler(handler: Function, type: string): void;
3644
- refreshView(): void;
3645
- dateFilter(date: Date, format: string): string;
3646
- isActive(dateObject: any): boolean;
3647
- createDateObject(date: Date, format: string): any;
3648
- split(arr: any[], size: number): any[];
3649
- fixTimeZone(date: Date): Date;
3650
- select(date: Date, isManual?: boolean): void;
3651
- move(direction: number): void;
3652
- toggleMode(_direction: number): void;
3653
- protected getCustomClassForDate(date: Date): string;
3654
- protected compareDateDisabled(date1Disabled: {
3655
- date: Date;
3656
- mode: string;
3657
- }, date2: Date): number | undefined;
3658
- protected isDisabled(date: Date): boolean;
3659
- static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerInnerComponent, never>;
3660
- static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerInnerComponent, "datepicker-inner", never, { "locale": { "alias": "locale"; "required": false; }; "datepickerMode": { "alias": "datepickerMode"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRange": { "alias": "yearRange"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minMode": { "alias": "minMode"; "required": false; }; "maxMode": { "alias": "maxMode"; "required": false; }; "showWeeks": { "alias": "showWeeks"; "required": false; }; "formatDay": { "alias": "formatDay"; "required": false; }; "formatMonth": { "alias": "formatMonth"; "required": false; }; "formatYear": { "alias": "formatYear"; "required": false; }; "formatDayHeader": { "alias": "formatDayHeader"; "required": false; }; "formatDayTitle": { "alias": "formatDayTitle"; "required": false; }; "formatMonthTitle": { "alias": "formatMonthTitle"; "required": false; }; "onlyCurrentMonth": { "alias": "onlyCurrentMonth"; "required": false; }; "shortcutPropagation": { "alias": "shortcutPropagation"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "monthColLimit": { "alias": "monthColLimit"; "required": false; }; "yearColLimit": { "alias": "yearColLimit"; "required": false; }; "dateDisabled": { "alias": "dateDisabled"; "required": false; }; "dayDisabled": { "alias": "dayDisabled"; "required": false; }; "initDate": { "alias": "initDate"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; }, { "selectionDone": "selectionDone"; "update": "update"; "activeDateChange": "activeDateChange"; }, never, ["*"], true, never>;
3661
- }
3662
-
3663
- declare class DatepickerConfig {
3664
- locale: string;
3665
- datepickerMode: string;
3666
- startingDay: number;
3667
- yearRange: number;
3668
- minMode: string;
3669
- maxMode: string;
3670
- showWeeks: boolean;
3671
- formatDay: string;
3672
- formatMonth: string;
3673
- formatYear: string;
3674
- formatDayHeader: string;
3675
- formatDayTitle: string;
3676
- formatMonthTitle: string;
3677
- onlyCurrentMonth: boolean;
3678
- monthColLimit: number;
3679
- yearColLimit: number;
3680
- shortcutPropagation: boolean;
3681
- static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerConfig, never>;
3682
- static ɵprov: i0.ɵɵInjectableDeclaration<DatepickerConfig>;
3683
- }
3684
-
3685
- declare const DATEPICKER_CONTROL_VALUE_ACCESSOR: Provider;
3686
- declare class DatePickerComponent implements ControlValueAccessor {
3687
- /** sets datepicker mode, supports: `day`, `month`, `year` */
3688
- datepickerMode: string;
3689
- /** default date to show if `ng-model` value is not specified */
3690
- initDate: Date;
3691
- /** oldest selectable date */
3692
- minDate: Date;
3693
- /** latest selectable date */
3694
- maxDate: Date;
3695
- /** set lower datepicker mode, supports: `day`, `month`, `year` */
3696
- minMode: string;
3697
- /** sets upper datepicker mode, supports: `day`, `month`, `year` */
3698
- maxMode: string;
3699
- /** if false week numbers will be hidden */
3700
- showWeeks: boolean;
3701
- /** format of day in month */
3702
- formatDay: string;
3703
- /** format of month in year */
3704
- formatMonth: string;
3705
- /** format of year in year range */
3706
- formatYear: string;
3707
- /** format of day in week header */
3708
- formatDayHeader: string;
3709
- /** format of title when selecting day */
3710
- formatDayTitle: string;
3711
- /** format of title when selecting month */
3712
- formatMonthTitle: string;
3713
- /** starting day of the week from 0-6 (0=Sunday, ..., 6=Saturday) */
3714
- startingDay: number;
3715
- /** number of years displayed in year selection */
3716
- yearRange: number;
3717
- /** if true only dates from the currently displayed month will be shown */
3718
- onlyCurrentMonth: boolean;
3719
- /** if true shortcut`s event propagation will be disabled */
3720
- shortcutPropagation: boolean;
3721
- /** number of months displayed in a single row of month picker */
3722
- monthColLimit: number;
3723
- /** number of years displayed in a single row of year picker */
3724
- yearColLimit: number;
3725
- /** array of custom css classes to be applied to targeted dates */
3726
- customClass: {
3727
- date: Date;
3728
- mode: string;
3729
- clazz: string;
3730
- }[];
3731
- /** array of disabled dates */
3732
- dateDisabled: {
3733
- date: Date;
3734
- mode: string;
3735
- }[];
3736
- /** disabled days of the week from 0-6 (0=Sunday, ..., 6=Saturday) */
3737
- dayDisabled: number[];
3738
- /** currently active date */
3739
- get activeDate(): Date;
3740
- set activeDate(value: Date);
3741
- selectionDone: EventEmitter<Date>;
3742
- /** callback to invoke when the activeDate is changed. */
3743
- activeDateChange: EventEmitter<Date>;
3744
- _datePicker: DatePickerInnerComponent;
3745
- onChange: any;
3746
- onTouched: any;
3747
- config: DatepickerConfig;
3748
- protected _now: Date;
3749
- protected _activeDate: Date;
3750
- constructor(config: DatepickerConfig);
3751
- configureOptions(): void;
3752
- onUpdate(event: Date): void;
3753
- onSelectionDone(event: Date): void;
3754
- onActiveDateChange(event: Date): void;
3755
- writeValue(value: any): void;
3756
- registerOnChange(fn: () => void): void;
3757
- registerOnTouched(fn: () => void): void;
3758
- static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerComponent, never>;
3759
- static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerComponent, "datepicker", never, { "datepickerMode": { "alias": "datepickerMode"; "required": false; }; "initDate": { "alias": "initDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minMode": { "alias": "minMode"; "required": false; }; "maxMode": { "alias": "maxMode"; "required": false; }; "showWeeks": { "alias": "showWeeks"; "required": false; }; "formatDay": { "alias": "formatDay"; "required": false; }; "formatMonth": { "alias": "formatMonth"; "required": false; }; "formatYear": { "alias": "formatYear"; "required": false; }; "formatDayHeader": { "alias": "formatDayHeader"; "required": false; }; "formatDayTitle": { "alias": "formatDayTitle"; "required": false; }; "formatMonthTitle": { "alias": "formatMonthTitle"; "required": false; }; "startingDay": { "alias": "startingDay"; "required": false; }; "yearRange": { "alias": "yearRange"; "required": false; }; "onlyCurrentMonth": { "alias": "onlyCurrentMonth"; "required": false; }; "shortcutPropagation": { "alias": "shortcutPropagation"; "required": false; }; "monthColLimit": { "alias": "monthColLimit"; "required": false; }; "yearColLimit": { "alias": "yearColLimit"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "dateDisabled": { "alias": "dateDisabled"; "required": false; }; "dayDisabled": { "alias": "dayDisabled"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; }, { "selectionDone": "selectionDone"; "activeDateChange": "activeDateChange"; }, never, never, true, never>;
3760
- }
3761
-
3762
- declare class DatepickerUiModule {
3763
- static forRoot(): ModuleWithProviders<DatepickerUiModule>;
3764
- static ɵfac: i0.ɵɵFactoryDeclaration<DatepickerUiModule, never>;
3765
- static ɵmod: i0.ɵɵNgModuleDeclaration<DatepickerUiModule, never, [typeof DatePickerComponent], [typeof DatePickerComponent]>;
3766
- static ɵinj: i0.ɵɵInjectorDeclaration<DatepickerUiModule>;
3767
- }
3768
-
3769
- /**
3770
- * A simple dropdown component for selecting a single value from a flat list of options.
3771
- * Supports keyboard navigation, custom templates, infinite scrolling, and the ability to create new options.
3772
- * Uses Angular CDK overlay for positioning and supports both top and bottom dropdown placement.
3773
- *
3774
- * ### Projection slots
3775
- * - `optionTemplate`: Custom template for rendering each option
3776
- * - `createNewOptionTemplate`: Custom template for the "create new option" button
3777
- * - `descriptionTemplateRef`: Custom template for additional description content
3778
- *
3779
- * ### Example
3780
- * @example
3781
- * ```html
3782
- * <lx-basic-dropdown
3783
- * [options]="items"
3784
- * [labelKey]="'name'"
3785
- * [itemKey]="'id'"
3786
- * [placeholder]="'Select an item'"
3787
- * (onItemSelected)="handleSelection($event)">
3788
- * </lx-basic-dropdown>
3789
- * ```
3790
- */
3791
- declare class BasicDropdownComponent extends KeyboardSelectDirective implements AfterViewInit {
3792
- static isNewItem(items: any[], term: string, key?: string): boolean;
3793
- readonly NAME = "BasicDropdownComponent";
3794
- /**
3795
- * Array of options to display in the dropdown.
3796
- */
3797
- options: any[];
3798
- /**
3799
- * Index of the option to be selected initially.
3800
- * @default -1
3801
- */
3802
- initiallySelectedIndex: number;
3803
- /**
3804
- * Property name to use as the display label for each option.
3805
- */
3806
- labelKey?: string;
3807
- /**
3808
- * Property name to use as the unique identifier for each option.
3809
- */
3810
- itemKey?: string;
3811
- /**
3812
- * Placeholder text to display when no option is selected.
3813
- */
3814
- placeholder?: string;
3815
- /**
3816
- * Whether the dropdown is in a loading state.
3817
- * @default false
3818
- */
3819
- loading: boolean;
3820
- /**
3821
- * Label for the "create new option" functionality.
3822
- */
3823
- newOptionLabel: string;
3824
- /**
3825
- * Padding variant for the dropdown items.
3826
- * @default 'default'
3827
- */
3828
- padding?: SingleSelectPadding;
3829
- /**
3830
- * Whether to show the "create new option" button.
3831
- * @default false
3832
- */
3833
- showCreateNewOption: boolean;
3834
- /**
3835
- * Map of disabled options, keyed by the item's unique identifier.
3836
- */
3837
- disabledOptions: {
3838
- [itemKey: string]: any;
3839
- };
3840
- /**
3841
- * Whether to use CDK overlay positioning.
3842
- * @default false
3843
- */
3844
- overlayPositioning: boolean;
3845
- /**
3846
- * Whether to truncate long option text.
3847
- * @default false
3848
- */
3849
- truncateOptions: boolean;
3850
- /**
3851
- * Custom text to display when no results are found.
3852
- */
3853
- noResultsText?: string;
3854
- /**
3855
- * Event emitted when an option is selected.
3856
- */
3857
- onItemSelected: EventEmitter<any>;
3858
- /**
3859
- * Event emitted when the user scrolls to the bottom, triggering a request for more entries (infinite scroll).
3860
- */
3861
- triggerRequestForMoreEntries: EventEmitter<void>;
3862
- /**
3863
- * Event emitted when a new option label is selected (for creating new items).
3864
- */
3865
- newOptionLabelSelected: EventEmitter<string>;
3866
- /**
3867
- * Event emitted when the "create new option" button is clicked.
3868
- */
3869
- createNewOptionSelected: EventEmitter<void>;
3870
- optionTemplateRef: TemplateRef<any>;
3871
- createNewOptionTemplateRef: TemplateRef<any>;
3872
- descriptionTemplateRef: TemplateRef<any>;
3873
- selectOrigin: CdkOverlayOrigin;
3874
- isTopDropdown: boolean;
3875
- constructor();
3876
- selectOption(option: any): void;
3877
- onPositionChange(event: ConnectedOverlayPositionChange): void;
3878
- get isNewItem(): boolean;
3879
- trackByProp(index: number, pill: any): any;
3880
- onScroll(): void;
3881
- onNewItemSelected(): void;
3882
- onCreateNewOptionSelected(): void;
3883
- /**
3884
- * Highlights the item corresponding to the given option index, accounting for
3885
- * any prefix items (e.g. "Create new") that shift the internal item list.
3886
- */
3887
- selectByOptionIndex(index: number): void;
3888
- static ɵfac: i0.ɵɵFactoryDeclaration<BasicDropdownComponent, never>;
3889
- static ɵcmp: i0.ɵɵComponentDeclaration<BasicDropdownComponent, "lx-basic-dropdown", never, { "options": { "alias": "options"; "required": false; }; "initiallySelectedIndex": { "alias": "initiallySelectedIndex"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "itemKey": { "alias": "itemKey"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "newOptionLabel": { "alias": "newOptionLabel"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "showCreateNewOption": { "alias": "showCreateNewOption"; "required": false; }; "disabledOptions": { "alias": "disabledOptions"; "required": false; }; "overlayPositioning": { "alias": "overlayPositioning"; "required": false; }; "truncateOptions": { "alias": "truncateOptions"; "required": false; }; "noResultsText": { "alias": "noResultsText"; "required": false; }; }, { "onItemSelected": "onItemSelected"; "triggerRequestForMoreEntries": "triggerRequestForMoreEntries"; "newOptionLabelSelected": "newOptionLabelSelected"; "createNewOptionSelected": "createNewOptionSelected"; }, ["optionTemplateRef", "createNewOptionTemplateRef", "descriptionTemplateRef"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
3890
- }
3891
-
3892
- /**
3893
- * Renders a dropdown item with label and optional description.
3894
- * Supports text highlighting and custom styling options.
3895
- *
3896
- * ### Projection slots
3897
- * - `optionLabelSuffix`: Template to append to the label (e.g., badges, icons)
3898
- *
3899
- * ### Example
3900
- * @example
3901
- * ```html
3902
- * <lx-basic-dropdown-item
3903
- * label="Option Name"
3904
- * description="Additional details"
3905
- * highlightTerm="search">
3906
- * <ng-template #optionLabelSuffix>
3907
- * <span class="badge">New</span>
3908
- * </ng-template>
3909
- * </lx-basic-dropdown-item>
3910
- * ```
3911
- */
3912
- declare class BasicDropdownItemComponent {
3913
- /** The main text displayed for the dropdown item. */
3914
- label: string;
3915
- /** Optional secondary text displayed below the label. */
3916
- description?: string;
3917
- /** Term to highlight in the label and optionally in the description. */
3918
- highlightTerm?: string;
3919
- /**
3920
- * Font weight for the label text.
3921
- * @default 'bold'
3922
- */
3923
- labelFontWeight: 'bold' | 'normal';
3924
- /**
3925
- * Font style for the description text.
3926
- * @default 'normal'
3927
- */
3928
- descriptionFontStyle: 'italic' | 'normal';
3929
- /**
3930
- * Styling options for the description text.
3931
- * - `maxLines`: Maximum number of lines before truncation.
3932
- * - `shouldHighlightTerm`: Whether to highlight the search term in the description.
3933
- */
3934
- descriptionStyleOptions?: {
3935
- maxLines?: number;
3936
- shouldHighlightTerm?: boolean;
3937
- };
3938
- optionLabelSuffix: TemplateRef<any>;
3939
- get hasDescription(): boolean;
3940
- static ɵfac: i0.ɵɵFactoryDeclaration<BasicDropdownItemComponent, never>;
3941
- static ɵcmp: i0.ɵɵComponentDeclaration<BasicDropdownItemComponent, "lx-basic-dropdown-item", never, { "label": { "alias": "label"; "required": false; }; "description": { "alias": "description"; "required": false; }; "highlightTerm": { "alias": "highlightTerm"; "required": false; }; "labelFontWeight": { "alias": "labelFontWeight"; "required": false; }; "descriptionFontStyle": { "alias": "descriptionFontStyle"; "required": false; }; "descriptionStyleOptions": { "alias": "descriptionStyleOptions"; "required": false; }; }, {}, ["optionLabelSuffix"], ["*"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
3942
- }
3943
-
3944
- interface Breadcrumb {
3945
- label: string;
3946
- ellipsed?: boolean;
3947
- onClick?: (breadcrumb: Breadcrumb) => void;
3948
- }
3949
- interface EllipsedBreadcrumb {
3950
- breadcrumbs: Breadcrumb[];
3951
- }
3952
- type ViewBreadcrumb = Breadcrumb | EllipsedBreadcrumb;
3953
- /**
3954
- * @deprecated Use the `ui5-breadcrumbs` instead.
3955
- *
3956
- * Breadcrumb component displays a list of labels showing the navigation path.
3957
- * Supports ellipsing consecutive items into a dropdown for space efficiency.
3958
- *
3959
- * ### Example
3960
- * @example
3961
- * ```html
3962
- * <lx-breadcrumb [breadcrumbs]="breadcrumbs"></lx-breadcrumb>
3963
- * ```
3964
- *
3965
- * ```ts
3966
- * breadcrumbs: Breadcrumb[] = [
3967
- * { label: 'Home', onClick: (b) => this.navigate(b) },
3968
- * { label: 'Products', onClick: (b) => this.navigate(b) },
3969
- * { label: 'Category', ellipsed: true },
3970
- * { label: 'Subcategory', ellipsed: true },
3971
- * { label: 'Item Details' }
3972
- * ];
3973
- * ```
3974
- */
3975
- declare class BreadcrumbComponent implements OnChanges {
3976
- /**
3977
- * Array of breadcrumb items to display. Consecutive items with `ellipsed: true` are grouped into a dropdown.
3978
- * @default []
3979
- */
3980
- breadcrumbs: Breadcrumb[];
3981
- /** @internal */
3982
- viewBreadcrumbs: ViewBreadcrumb[];
3983
- ngOnChanges(changes: SimpleChanges): void;
3984
- /** @internal */
3985
- isEllipsedBreadcrumb(breadcrumb: ViewBreadcrumb): breadcrumb is EllipsedBreadcrumb;
3986
- static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
3987
- static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "lx-breadcrumb", never, { "breadcrumbs": { "alias": "breadcrumbs"; "required": false; }; }, {}, never, never, true, never>;
3988
- }
3989
-
3990
- /**
3991
- * Displays a currency symbol based on an ISO currency code.
3992
- *
3993
- * Converts currency codes (e.g., 'USD', 'EUR') to their symbolic representations ($, €).
3994
- *
3995
- * ### Example
3996
- * @example
3997
- * ```html
3998
- * <lx-currency-symbol [code]="'USD'"></lx-currency-symbol>
3999
- * <lx-currency-symbol [code]="'EUR'"></lx-currency-symbol>
4000
- * ```
4001
- */
4002
- declare class CurrencySymbolComponent implements OnInit {
4003
- /**
4004
- * ISO currency code (e.g., 'USD', 'EUR', 'GBP').
4005
- * Falls back to displaying the code itself if no symbol is mapped.
4006
- */
4007
- code: string | null;
4008
- code$: Observable<string>;
4009
- currency$: Observable<string>;
4010
- ngOnInit(): void;
4011
- static ɵfac: i0.ɵɵFactoryDeclaration<CurrencySymbolComponent, never>;
4012
- static ɵcmp: i0.ɵɵComponentDeclaration<CurrencySymbolComponent, "lx-currency-symbol", never, { "code": { "alias": "code"; "required": false; }; }, {}, never, never, true, never>;
4013
- }
4014
-
4015
- declare class FilterSelectionPipe implements PipeTransform {
4016
- transform(items: any[] | null | undefined, selection: any, itemKey?: string): any[];
4017
- static ɵfac: i0.ɵɵFactoryDeclaration<FilterSelectionPipe, never>;
4018
- static ɵpipe: i0.ɵɵPipeDeclaration<FilterSelectionPipe, "lxFilterBySelection", true>;
4019
- }
4020
-
4021
- declare class FilterTermPipe implements PipeTransform {
4022
- transform(items: any[] | null, options: {
4023
- term?: string | null;
4024
- key?: string;
4025
- }): any[];
4026
- static ɵfac: i0.ɵɵFactoryDeclaration<FilterTermPipe, never>;
4027
- static ɵpipe: i0.ɵɵPipeDeclaration<FilterTermPipe, "lxFilterByTerm", true>;
4028
- }
4029
-
4030
- /**
4031
- * Displays translated form validation errors for a specific form control.
4032
- *
4033
- * Automatically updates when form errors change.
4034
- *
4035
- * ### Example
4036
- * @example
4037
- * ```html
4038
- * <lx-form-error
4039
- * [form]="myFormGroup"
4040
- * [controlName]="'email'"
4041
- * [namespace]="'USER_FORM'"
4042
- * ></lx-form-error>
4043
- * ```
4044
- */
4045
- declare class FormErrorComponent implements OnInit, OnChanges, OnDestroy {
4046
- /** Translation namespace prefix for error messages (e.g., 'USER_FORM'). */
4047
- namespace: string;
4048
- /** The FormGroup containing the control to validate. */
4049
- form: UntypedFormGroup;
4050
- /** The name of the form control to display errors for. */
4051
- controlName: string;
4052
- /** @internal */
4053
- translationKeys: string[];
4054
- private formSubscription;
4055
- ngOnInit(): void;
4056
- ngOnChanges(_changes: SimpleChanges): void;
4057
- ngOnDestroy(): void;
4058
- /** @internal */
4059
- getTranslationKeys(): string[];
4060
- static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorComponent, never>;
4061
- static ɵcmp: i0.ɵɵComponentDeclaration<FormErrorComponent, "lx-form-error", never, { "namespace": { "alias": "namespace"; "required": false; }; "form": { "alias": "form"; "required": false; }; "controlName": { "alias": "controlName"; "required": false; }; }, {}, never, never, true, never>;
4062
- }
4063
-
4064
- type OptionGroupOption = {
4065
- value: string;
4066
- label: string;
4067
- };
4068
- /**
4069
- * TODO: rename to something unspecific for single selects because multiselects are also supported
4070
- */
4071
- type SingleSelectOptionGroup<T = any> = {
4072
- label: string;
4073
- options: (OptionGroupOption | T)[];
4074
- };
4075
- /**
4076
- * Dropdown component that displays options grouped by categories.
4077
- * Supports keyboard navigation, infinite scroll, custom templates, and creating new options.
4078
- * Used standalone or with SingleSelectComponent/MultiSelectComponent.
4079
- *
4080
- * ### Projection slots
4081
- * - `optionTemplate`: Template for custom option rendering (context: `$implicit`, `index`, `groupIndex`).
4082
- * - `noResultsOptionTemplateRef`: Template for custom "no results" message (context: `group`, `groupIndex`).
4083
- *
4084
- * ### Example
4085
- * @example
4086
- * ```html
4087
- * <lx-option-group-dropdown
4088
- * [optionGroups]="groups"
4089
- * [highlightTerm]="searchTerm"
4090
- * (onItemSelected)="handleSelection($event)">
4091
- * <ng-template #optionTemplate let-option>
4092
- * <span>{{ option.label }}</span>
4093
- * </ng-template>
4094
- * </lx-option-group-dropdown>
4095
- * ```
4096
- */
4097
- declare class OptionGroupDropdownComponent extends KeyboardSelectDirective {
4098
- /** @internal */
4099
- readonly NAME = "OptionGroupDropdownComponent";
4100
- /** @internal */
4101
- protected readonly fioriReskinActive: i0.WritableSignal<boolean>;
4102
- /**
4103
- * Array of option groups to display in the dropdown.
4104
- * @default []
4105
- */
4106
- optionGroups: SingleSelectOptionGroup[];
4107
- /**
4108
- * Label for the "create new option" entry.
4109
- * Typically the current input value from a parent select component.
4110
- */
4111
- newOptionLabel?: string;
4112
- /** Term to highlight in option labels. */
4113
- highlightTerm?: string;
4114
- /**
4115
- * Whether to show a "create new option" entry at the top of the dropdown.
4116
- * @default false
4117
- */
4118
- showCreateNewOption: boolean;
4119
- /**
4120
- * Property name to use as the label for each option.
4121
- * @default 'label'
4122
- */
4123
- labelKey: string;
4124
- /**
4125
- * Whether the dropdown is in a loading state.
4126
- * @default false
4127
- */
4128
- loading: boolean;
4129
- /** Property name to use for tracking options. */
4130
- trackByProperty?: string;
4131
- /**
4132
- * Whether to show "no results" message when a group has no options.
4133
- * @default false
4134
- */
4135
- showNoResultsIfGroupIsEmpty: boolean;
4136
- /**
4137
- * Whether to use CDK overlay positioning for the dropdown.
4138
- * @default false
4139
- */
4140
- overlayPositioning: boolean;
4141
- /** Event emitted when an option is selected. */
4142
- onItemSelected: EventEmitter<any>;
4143
- /** Event emitted when the dropdown container is scrolled (for infinite scroll). */
4144
- containerScrolled: EventEmitter<any>;
4145
- /** Event emitted when the user requests to create a new option. */
4146
- createNewOption: EventEmitter<string>;
4147
- /** @internal */
4148
- optionTemplateRef?: TemplateRef<any>;
4149
- /**
4150
- * If you provide a <ng-template #noResultsOptionTemplateRef></ng-template> inside the <lx-option-group-dropdown>
4151
- * it will be used to display the "no results" option instead of the default "No results" text.
4152
- * This way you can easily define different "No results" texts for different groups too.
4153
- * @internal
4154
- */
4155
- noResultsOptionTemplateRef?: TemplateRef<any>;
4156
- /** @internal */
4157
- selectOrigin: CdkOverlayOrigin;
4158
- /** @internal */
4159
- isTopDropdown: boolean;
3898
+ constructor(dir: Directionality, cdRef: ChangeDetectorRef);
4160
3899
  /** @internal */
4161
- get isNewItem(): boolean;
3900
+ manageKeyboardEvents(event: KeyboardEvent): void;
3901
+ ngAfterViewInit(): void;
3902
+ ngOnDestroy(): void;
4162
3903
  /** @internal */
4163
- selectOption(option: OptionGroupOption | any): void;
3904
+ closePicker(): void;
4164
3905
  /** @internal */
4165
- trackByLabel(index: number, optionGroup: SingleSelectOptionGroup): string;
3906
+ toggleOpen(): void;
3907
+ private setActivePickerOption;
4166
3908
  /** @internal */
4167
- onCreateNewOption(): void;
3909
+ writeValue(value: any): void;
4168
3910
  /** @internal */
4169
- trackByValue(_index: number, option: OptionGroupOption | any): any;
3911
+ registerOnChange(fn: any): void;
4170
3912
  /** @internal */
4171
- onPositionChange(event: ConnectedOverlayPositionChange): void;
4172
- static ɵfac: i0.ɵɵFactoryDeclaration<OptionGroupDropdownComponent, never>;
4173
- static ɵcmp: i0.ɵɵComponentDeclaration<OptionGroupDropdownComponent, "lx-option-group-dropdown", never, { "optionGroups": { "alias": "optionGroups"; "required": false; }; "newOptionLabel": { "alias": "newOptionLabel"; "required": false; }; "highlightTerm": { "alias": "highlightTerm"; "required": false; }; "showCreateNewOption": { "alias": "showCreateNewOption"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "trackByProperty": { "alias": "trackByProperty"; "required": false; }; "showNoResultsIfGroupIsEmpty": { "alias": "showNoResultsIfGroupIsEmpty"; "required": false; }; "overlayPositioning": { "alias": "overlayPositioning"; "required": false; }; }, { "onItemSelected": "onItemSelected"; "containerScrolled": "containerScrolled"; "createNewOption": "createNewOption"; }, ["optionTemplateRef", "noResultsOptionTemplateRef"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
3913
+ registerOnTouched(fn: any): void;
3914
+ private propagateChange;
3915
+ private onTouched;
3916
+ static ɵfac: i0.ɵɵFactoryDeclaration<PickerComponent, never>;
3917
+ static ɵcmp: i0.ɵɵComponentDeclaration<PickerComponent, "lx-picker", never, { "listBoxAriaLabel": { "alias": "listBoxAriaLabel"; "required": false; }; "listBoxAriaLabelledBy": { "alias": "listBoxAriaLabelledBy"; "required": false; }; "openDirection": { "alias": "openDirection"; "required": false; }; }, {}, ["_trigger", "options"], ["[lxPickerTrigger]", "*"], true, never>;
4174
3918
  }
4175
3919
 
4176
3920
  /**
@@ -4293,109 +4037,146 @@ declare class PillListComponent extends KeyboardSelectDirective implements After
4293
4037
  static ɵcmp: i0.ɵɵComponentDeclaration<PillListComponent, "lx-pill-list", never, { "pills": { "alias": "pills"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "itemKey": { "alias": "itemKey"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "remove": "remove"; }, ["pillTemplate", "contentItems"], never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
4294
4038
  }
4295
4039
 
4040
+ type SingleSelectSize = 'default' | 'small' | 'large';
4296
4041
  /**
4297
- * This directive is supposed to be used in combination with a single-select in
4298
- * order to mark a ng-template as the template to be rendered within the select to
4299
- * display the currently selected option.
4300
- *
4301
- * Example:
4042
+ * A dropdown component for selecting a single value from a list of options.
4043
+ * Implements `ControlValueAccessor` for seamless integration with Angular reactive forms.
4302
4044
  *
4303
- * ```
4304
- * <lx-single-select>
4305
- * <ng-template lxSelectedOption>{{ someValue }}</ng-template>
4306
- * </lx-single-select>
4307
- * ```
4308
- */
4309
- declare class SelectedOptionDirective {
4310
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectedOptionDirective, never>;
4311
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectedOptionDirective, "[lxSelectedOption]", never, {}, {}, never, never, true, never>;
4312
- }
4313
-
4314
- /**
4315
- * This directive is supposed to be used in combination with single or multi-selects.
4316
- * It allows to mark a ng-template as the dropdown for those components.
4317
- * The ng-template will be instantiated and "projected" whenever the dropdown is
4318
- * opened. This has the advantage over content projection via ng-content, as it will
4319
- * defer the initialization and rendering of the dropdown contents until the dropdown
4320
- * is actually opened.
4045
+ * ### Projection slots
4046
+ * - `.selectedOption`: Displays the currently selected value in the input field
4047
+ * - `.dropdownComponent`: Contains the dropdown (typically `lx-basic-dropdown`)
4321
4048
  *
4322
- * Example:
4049
+ * Alternatively, use `lxSelectDropdown` and `lxSelectedOption` directives on `<ng-template>`.
4323
4050
  *
4324
- * ```
4325
- * <lx-single-select>
4326
- * <ng-template lxSelectDropdown>
4327
- * <lx-basic-dropdown></lx-basic-dropdown>
4328
- * </ng-template>
4051
+ * ### Example
4052
+ * @example
4053
+ * ```html
4054
+ * <lx-single-select
4055
+ * #select
4056
+ * [formControl]="control"
4057
+ * (query)="searchTerm = $event">
4058
+ * <span class="selectedOption">{{ control.value?.name }}</span>
4059
+ * <lx-basic-dropdown
4060
+ * class="dropdownComponent"
4061
+ * [keyboardSelectAction]="select.optionsKeyboardSelectAction$"
4062
+ * [options]="options | lxFilterByTerm: { term: searchTerm }"
4063
+ * labelKey="name"
4064
+ * (onItemSelected)="select.selectOption($event)">
4065
+ * </lx-basic-dropdown>
4329
4066
  * </lx-single-select>
4330
4067
  * ```
4331
4068
  */
4332
- declare class SelectDropdownDirective {
4333
- static ɵfac: i0.ɵɵFactoryDeclaration<SelectDropdownDirective, never>;
4334
- static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDropdownDirective, "[lxSelectDropdown]", never, {}, {}, never, never, true, never>;
4069
+ declare class SingleSelectComponent extends BaseSelectDirective implements OnDestroy, AfterViewInit, ControlValueAccessor {
4070
+ private cd;
4071
+ /** @internal */
4072
+ static calculateNewCursorPostionOnKeyboardNavigation(cursorPosition: number, keyCode: number): number;
4073
+ /** @internal */
4074
+ static getKeyboardSelectAction(cursorPosition: number, keyCode: number): KeyboardSelectAction | null;
4075
+ /** The currently selected value. */
4076
+ selection: any;
4077
+ /** Background color of the selection input field. */
4078
+ selectionBackground: 'white' | 'gray';
4079
+ /** Size variant of the select component. */
4080
+ size: SingleSelectSize;
4081
+ /** @deprecated To keep different inputs aligned, we should use the default padding */
4082
+ padding?: SingleSelectPadding;
4083
+ /** Optional ID attribute for the input element. */
4084
+ inputId?: string;
4085
+ /** Whether the select field is required. */
4086
+ required: boolean;
4087
+ /** Whether to close the dropdown when the Tab key is pressed. */
4088
+ closeDropdownOnTab: boolean;
4089
+ /** Event emitted when the selection changes. */
4090
+ selectionChange: EventEmitter<any>;
4091
+ /** Event emitted when the input loses focus. */
4092
+ blur: EventEmitter<FocusEvent>;
4093
+ /** @internal */
4094
+ explicitDropdown?: TemplateRef<any>;
4095
+ /** @internal */
4096
+ explicitSelectedOption?: TemplateRef<any>;
4097
+ /** @internal */
4098
+ private dropdownComponent?;
4099
+ /** @internal */
4100
+ implicitSelectedOption: TemplateRef<any>;
4101
+ /** @internal */
4102
+ implicitDropdown: TemplateRef<any>;
4103
+ /** @internal */
4104
+ get selectedOptionTmpl(): TemplateRef<any>;
4105
+ /** @internal */
4106
+ get dropdownTmpl(): TemplateRef<any>;
4107
+ /** Whether to show a clear button to remove the selection. */
4108
+ allowClear: boolean;
4109
+ /** Tab index of the input element for keyboard navigation. */
4110
+ tabIndex: number;
4111
+ /** Whether to visually mark the input as invalid. */
4112
+ markInvalid: boolean;
4113
+ /** @internal */
4114
+ toggleElement?: ElementRef<HTMLElement>;
4115
+ /** @internal */
4116
+ queryInput: ElementRef<HTMLInputElement>;
4117
+ /** @internal */
4118
+ readonly destroyed$: Subject<void>;
4119
+ /** @internal */
4120
+ isInputFocusedViaTab: boolean;
4121
+ constructor(cd: ChangeDetectorRef);
4122
+ /** @internal */
4123
+ get cursorStyle(): "default" | "text" | "pointer";
4124
+ /** @internal */
4125
+ resetInput(): void;
4126
+ /** @internal */
4127
+ focus(): void;
4128
+ /** @internal */
4129
+ focusAndOpen(): void;
4130
+ ngOnDestroy(): void;
4131
+ ngAfterViewInit(): void;
4132
+ /** @internal */
4133
+ selectOption(option: any): void;
4134
+ /** @internal */
4135
+ removeSelection(): void;
4136
+ /** @internal */
4137
+ propagateChange(_value: any): void;
4138
+ /** @internal */
4139
+ writeValue(newSelection: any): void;
4140
+ /** @internal */
4141
+ setDisabledState(isDisabled: boolean): void;
4142
+ /** @internal */
4143
+ registerOnChange(fn: any): void;
4144
+ /** @internal */
4145
+ registerOnTouched(_fn: any): void;
4146
+ /** @internal */
4147
+ focusedViaTab(): void;
4148
+ private determineHighlightIndex;
4149
+ static ɵfac: i0.ɵɵFactoryDeclaration<SingleSelectComponent, never>;
4150
+ static ɵcmp: i0.ɵɵComponentDeclaration<SingleSelectComponent, "lx-single-select", never, { "selection": { "alias": "selection"; "required": false; }; "selectionBackground": { "alias": "selectionBackground"; "required": false; }; "size": { "alias": "size"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "required": { "alias": "required"; "required": false; }; "closeDropdownOnTab": { "alias": "closeDropdownOnTab"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "markInvalid": { "alias": "markInvalid"; "required": false; }; }, { "selectionChange": "selectionChange"; "blur": "blur"; }, ["explicitDropdown", "explicitSelectedOption", "dropdownComponent"], [".selectedOption", ".dropdownComponent"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
4151
+ static ngAcceptInputType_required: unknown;
4335
4152
  }
4336
4153
 
4337
4154
  /**
4338
- * A toggle switch component for selecting between two states (on/off, true/false).
4339
- * Provides a visual toggle with optional label and supports disabled states.
4155
+ * Trigger button for the sorting dropdown.
4156
+ * Displays the current sorting mode with a dropdown chevron icon.
4340
4157
  *
4341
4158
  * ### Example
4342
4159
  * @example
4343
4160
  * ```html
4344
- * <lx-switch
4345
- * [value]="isEnabled"
4346
- * [label]="'Enable notifications'"
4347
- * [labelInFront]="true"
4348
- * (toggle)="handleToggle($event)">
4349
- * </lx-switch>
4161
+ * <lx-sorting-dropdown-trigger
4162
+ * label="Sort by"
4163
+ * currentSortingLabel="Name"
4164
+ * [disabled]="false">
4165
+ * </lx-sorting-dropdown-trigger>
4350
4166
  * ```
4351
4167
  */
4352
- declare class SwitchComponent {
4353
- /**
4354
- * Current boolean value of the switch (true for on, false for off).
4355
- */
4356
- value: boolean;
4357
- /**
4358
- * Visual size variant of the switch.
4359
- * @default 'small'
4360
- */
4361
- size: 'small';
4168
+ declare class SortingDropdownTriggerComponent {
4169
+ /** Prefix label displayed before the current sorting option (e.g., "Sort by"). */
4170
+ label: string;
4171
+ /** Label of the currently selected sorting option. */
4172
+ currentSortingLabel: string;
4362
4173
  /**
4363
- * Whether the switch is disabled and cannot be toggled.
4174
+ * Whether the trigger button is disabled.
4364
4175
  * @default false
4365
4176
  */
4366
4177
  disabled: boolean;
4367
- /**
4368
- * Text label to display alongside the switch.
4369
- */
4370
- label: string;
4371
- /**
4372
- * Whether the label should appear before (left of) the switch.
4373
- * @default true
4374
- */
4375
- labelInFront: boolean;
4376
- /**
4377
- * Optional ID attribute for the switch element (prefixed with "tour" for internal use).
4378
- */
4379
- elementId?: string;
4380
- /**
4381
- * Event emitted when the switch is toggled, returning the new boolean value.
4382
- */
4383
- toggle: EventEmitter<boolean>;
4384
- private readonly fioriReskin;
4385
- /** @internal */
4386
- onToggle(): void;
4387
- /**
4388
- * @internal
4389
- * Blur the input on click in legacy mode to suppress its lingering focus
4390
- * ring. In Fiori reskin mode, keep focus so the SAP focus outline persists
4391
- * (matches ui5-switch).
4392
- */
4393
- onClickBlur(input: HTMLInputElement): void;
4394
- get id(): string | null;
4395
- /** @internal */
4396
- focus(checkbox: HTMLInputElement): void;
4397
- static ɵfac: i0.ɵɵFactoryDeclaration<SwitchComponent, never>;
4398
- static ɵcmp: i0.ɵɵComponentDeclaration<SwitchComponent, "lx-switch", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelInFront": { "alias": "labelInFront"; "required": false; }; "elementId": { "alias": "elementId"; "required": false; }; }, { "toggle": "toggle"; }, never, never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
4178
+ static ɵfac: i0.ɵɵFactoryDeclaration<SortingDropdownTriggerComponent, never>;
4179
+ static ɵcmp: i0.ɵɵComponentDeclaration<SortingDropdownTriggerComponent, "lx-sorting-dropdown-trigger", never, { "label": { "alias": "label"; "required": false; }; "currentSortingLabel": { "alias": "currentSortingLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
4399
4180
  }
4400
4181
 
4401
4182
  type SortingOrder = 'asc' | 'desc';
@@ -4450,67 +4231,69 @@ declare class SortingDropdownComponent implements OnInit {
4450
4231
  }
4451
4232
 
4452
4233
  /**
4453
- * Trigger button for the sorting dropdown.
4454
- * Displays the current sorting mode with a dropdown chevron icon.
4234
+ * A toggle switch component for selecting between two states (on/off, true/false).
4235
+ * Provides a visual toggle with optional label and supports disabled states.
4455
4236
  *
4456
4237
  * ### Example
4457
4238
  * @example
4458
4239
  * ```html
4459
- * <lx-sorting-dropdown-trigger
4460
- * label="Sort by"
4461
- * currentSortingLabel="Name"
4462
- * [disabled]="false">
4463
- * </lx-sorting-dropdown-trigger>
4240
+ * <lx-switch
4241
+ * [value]="isEnabled"
4242
+ * [label]="'Enable notifications'"
4243
+ * [labelInFront]="true"
4244
+ * (toggle)="handleToggle($event)">
4245
+ * </lx-switch>
4464
4246
  * ```
4465
4247
  */
4466
- declare class SortingDropdownTriggerComponent {
4467
- /** Prefix label displayed before the current sorting option (e.g., "Sort by"). */
4468
- label: string;
4469
- /** Label of the currently selected sorting option. */
4470
- currentSortingLabel: string;
4248
+ declare class SwitchComponent {
4471
4249
  /**
4472
- * Whether the trigger button is disabled.
4250
+ * Current boolean value of the switch (true for on, false for off).
4251
+ */
4252
+ value: boolean;
4253
+ /**
4254
+ * Visual size variant of the switch.
4255
+ * @default 'small'
4256
+ */
4257
+ size: 'small';
4258
+ /**
4259
+ * Whether the switch is disabled and cannot be toggled.
4473
4260
  * @default false
4474
4261
  */
4475
4262
  disabled: boolean;
4476
- static ɵfac: i0.ɵɵFactoryDeclaration<SortingDropdownTriggerComponent, never>;
4477
- static ɵcmp: i0.ɵɵComponentDeclaration<SortingDropdownTriggerComponent, "lx-sorting-dropdown-trigger", never, { "label": { "alias": "label"; "required": false; }; "currentSortingLabel": { "alias": "currentSortingLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, true, never>;
4478
- }
4479
-
4480
- /**
4481
- * Displays form validation error messages.
4482
- *
4483
- * Shows either projected content or a programmatically set error message.
4484
- *
4485
- * ### Projection slots
4486
- * - Default slot: Static error message text. Hidden but captured for display.
4487
- *
4488
- * ### Example
4489
- * @example
4490
- * ```html
4491
- * <lx-error-message>This field is required</lx-error-message>
4492
- * ```
4493
- */
4494
- declare class ErrorMessageComponent {
4495
- /** Signal for setting error message programmatically. */
4496
- readonly dynamicErrorMessage: i0.WritableSignal<string>;
4497
- private readonly wrapper;
4498
- protected computedErrorMessage: i0.Signal<string>;
4499
- static ɵfac: i0.ɵɵFactoryDeclaration<ErrorMessageComponent, never>;
4500
- static ɵcmp: i0.ɵɵComponentDeclaration<ErrorMessageComponent, "lx-error-message", never, {}, {}, never, ["*"], true, never>;
4501
- }
4502
-
4503
- declare const FORMS_MODULE_EXPORTS: (typeof SelectableItemDirective | typeof KeyboardActionSourceDirective | typeof OptionComponent | typeof CdkOptionsDropdownComponent | typeof CdkOptionsSubDropdownComponent | typeof MarkInvalidDirective | typeof CurrencyInputComponent | typeof DateInputComponent | typeof LxDragAndDropListModule | typeof InputComponent | typeof MultiSelectComponent | typeof OptionsDropdownComponent | typeof OptionsSubDropdownComponent | typeof PickerOptionComponent | typeof PickerTriggerDirective | typeof PickerComponent | typeof SingleSelectComponent | typeof ContenteditableDirective | typeof FormSubmitDirective | typeof FormErrorDirective | typeof FormatNumberPipe)[];
4504
- declare class LxFormsModule {
4505
- static ɵfac: i0.ɵɵFactoryDeclaration<LxFormsModule, never>;
4506
- static ɵmod: i0.ɵɵNgModuleDeclaration<LxFormsModule, never, [typeof i1$1.CommonModule, typeof i2$1.FormsModule, typeof i2$1.ReactiveFormsModule, typeof i3.TranslateModule, typeof DatepickerUiModule, typeof i5.InfiniteScrollModule, typeof i6.ClipboardModule, typeof _angular_cdk_overlay.OverlayModule, typeof LxDragAndDropListModule, typeof BasicDropdownComponent, typeof BasicDropdownItemComponent, typeof BreadcrumbComponent, typeof CurrencyInputComponent, typeof CurrencySymbolComponent, typeof DateInputComponent, typeof FilterSelectionPipe, typeof FilterTermPipe, typeof FormErrorComponent, typeof KeyboardActionSourceDirective, typeof MarkInvalidDirective, typeof MultiSelectComponent, typeof OptionComponent, typeof OptionGroupComponent, typeof OptionGroupDropdownComponent, typeof OptionsDropdownComponent, typeof OptionsSubDropdownComponent, typeof CdkOptionsDropdownComponent, typeof CdkOptionsSubDropdownComponent, typeof PickerComponent, typeof PickerOptionComponent, typeof PickerTriggerDirective, typeof PillListComponent, typeof PillItemComponent, typeof ResponsiveInputComponent, typeof SelectableItemDirective, typeof SelectedOptionDirective, typeof SelectDropdownDirective, typeof SingleSelectComponent, typeof SwitchComponent, typeof SortingDropdownComponent, typeof SortingDropdownTriggerComponent, typeof InputComponent, typeof FormatNumberPipe, typeof FormErrorDirective, typeof ErrorMessageComponent, typeof FormSubmitDirective, typeof ContenteditableDirective], [typeof BasicDropdownComponent, typeof BasicDropdownItemComponent, typeof BreadcrumbComponent, typeof CurrencyInputComponent, typeof CurrencySymbolComponent, typeof DateInputComponent, typeof FilterSelectionPipe, typeof FilterTermPipe, typeof FormErrorComponent, typeof KeyboardActionSourceDirective, typeof MarkInvalidDirective, typeof MultiSelectComponent, typeof OptionComponent, typeof OptionGroupComponent, typeof OptionGroupDropdownComponent, typeof OptionsDropdownComponent, typeof OptionsSubDropdownComponent, typeof CdkOptionsDropdownComponent, typeof CdkOptionsSubDropdownComponent, typeof PickerComponent, typeof PickerOptionComponent, typeof PickerTriggerDirective, typeof PillListComponent, typeof PillItemComponent, typeof ResponsiveInputComponent, typeof SelectableItemDirective, typeof SelectDropdownDirective, typeof SelectedOptionDirective, typeof SingleSelectComponent, typeof SwitchComponent, typeof SortingDropdownComponent, typeof SortingDropdownTriggerComponent, typeof FormatNumberPipe, typeof FormErrorDirective, typeof FormSubmitDirective, typeof ErrorMessageComponent, typeof LxDragAndDropListModule, typeof ContenteditableDirective, typeof InputComponent]>;
4507
- static ɵinj: i0.ɵɵInjectorDeclaration<LxFormsModule>;
4263
+ /**
4264
+ * Text label to display alongside the switch.
4265
+ */
4266
+ label: string;
4267
+ /**
4268
+ * Whether the label should appear before (left of) the switch.
4269
+ * @default true
4270
+ */
4271
+ labelInFront: boolean;
4272
+ /**
4273
+ * Optional ID attribute for the switch element (prefixed with "tour" for internal use).
4274
+ */
4275
+ elementId?: string;
4276
+ /**
4277
+ * Event emitted when the switch is toggled, returning the new boolean value.
4278
+ */
4279
+ toggle: EventEmitter<boolean>;
4280
+ private readonly fioriReskin;
4281
+ /** @internal */
4282
+ onToggle(): void;
4283
+ /**
4284
+ * @internal
4285
+ * Blur the input on click in legacy mode to suppress its lingering focus
4286
+ * ring. In Fiori reskin mode, keep focus so the SAP focus outline persists
4287
+ * (matches ui5-switch).
4288
+ */
4289
+ onClickBlur(input: HTMLInputElement): void;
4290
+ get id(): string | null;
4291
+ /** @internal */
4292
+ focus(checkbox: HTMLInputElement): void;
4293
+ static ɵfac: i0.ɵɵFactoryDeclaration<SwitchComponent, never>;
4294
+ static ɵcmp: i0.ɵɵComponentDeclaration<SwitchComponent, "lx-switch", never, { "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelInFront": { "alias": "labelInFront"; "required": false; }; "elementId": { "alias": "elementId"; "required": false; }; }, { "toggle": "toggle"; }, never, never, true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
4508
4295
  }
4509
4296
 
4510
- declare const CURRENCY_SYMBOL_MAP: {
4511
- [key: string]: string;
4512
- };
4513
-
4514
4297
  type OutputFormat = 'json' | 'markdown';
4515
4298
  type RichTextEditorFeature = 'Heading' | 'Bold' | 'Italic' | 'Underline' | 'Strike' | 'List' | 'TextAlign' | 'Code' | 'Link' | 'Table' | 'Truncate' | 'HighlightTerm' | 'Caption';
4516
4299
 
@@ -4676,6 +4459,109 @@ declare class RemoveMarkdownPipe implements PipeTransform {
4676
4459
  }
4677
4460
  declare function markdownToText(md: string): string;
4678
4461
 
4462
+ declare class PickerTriggerDirective implements OnDestroy {
4463
+ private element;
4464
+ private readonly IS_SAFARI;
4465
+ private readonly HOST_ELEMENT_IS_BUTTON;
4466
+ private focused;
4467
+ private allClickEvents$;
4468
+ private focusEvent$;
4469
+ private blurEvent$;
4470
+ clickEvent$: rxjs.Observable<MouseEvent>;
4471
+ get width(): number;
4472
+ readonly destroyed$: Subject<void>;
4473
+ constructor(element: ElementRef<HTMLElement>);
4474
+ ngOnDestroy(): void;
4475
+ static ɵfac: i0.ɵɵFactoryDeclaration<PickerTriggerDirective, never>;
4476
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PickerTriggerDirective, "[lxPickerTrigger]", never, {}, {}, never, never, true, never>;
4477
+ }
4478
+
4479
+ declare class ContenteditableDirective implements OnChanges {
4480
+ private elRef;
4481
+ private sanitizer;
4482
+ /** Model */
4483
+ lxContenteditableModel: string;
4484
+ lxContenteditableModelChange: EventEmitter<string>;
4485
+ /** Allow (sanitized) html */
4486
+ lxContenteditableHtml: boolean | 'trim';
4487
+ lxContenteditableHtmlPaste: boolean;
4488
+ private emittedValue;
4489
+ constructor(elRef: ElementRef<HTMLElement>, sanitizer: DomSanitizer);
4490
+ ngOnChanges(changes: SimpleChanges): void;
4491
+ onInput(initialInlineData?: boolean): void;
4492
+ /**
4493
+ * @param event {ClipboardEvent}
4494
+ */
4495
+ onPaste(event: any): void;
4496
+ onDrop(event: MouseEvent): boolean;
4497
+ private cleanContent;
4498
+ private refreshView;
4499
+ private getProperty;
4500
+ private sanitize;
4501
+ static ɵfac: i0.ɵɵFactoryDeclaration<ContenteditableDirective, never>;
4502
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ContenteditableDirective, "[lxContenteditableModel]", never, { "lxContenteditableModel": { "alias": "lxContenteditableModel"; "required": false; }; "lxContenteditableHtml": { "alias": "lxContenteditableHtml"; "required": false; }; "lxContenteditableHtmlPaste": { "alias": "lxContenteditableHtmlPaste"; "required": false; }; }, { "lxContenteditableModelChange": "lxContenteditableModelChange"; }, never, never, true, never>;
4503
+ }
4504
+
4505
+ declare class FormSubmitDirective implements OnDestroy {
4506
+ private elementRef;
4507
+ submitted$: BehaviorSubject<boolean>;
4508
+ private subscription;
4509
+ constructor(elementRef: ElementRef);
4510
+ ngOnDestroy(): void;
4511
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormSubmitDirective, never>;
4512
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormSubmitDirective, "form", never, {}, {}, never, never, true, never>;
4513
+ }
4514
+
4515
+ type FormControlErrorDisplayStrategy = (obj: {
4516
+ control: AbstractControl;
4517
+ submitted?: boolean;
4518
+ }) => boolean;
4519
+ declare const FORM_CONTROL_ERROR_NAMESPACE: InjectionToken<string>;
4520
+ declare const FORM_CONTROL_ERROR_DISPLAY_STRATEGY: InjectionToken<FormControlErrorDisplayStrategy>;
4521
+ declare const provideFormControlErrorNamespace: (namespace: string) => {
4522
+ provide: InjectionToken<string>;
4523
+ useValue: string;
4524
+ };
4525
+ declare const provideFormControlErrorDisplayStrategy: (fn: FormControlErrorDisplayStrategy) => {
4526
+ provide: InjectionToken<FormControlErrorDisplayStrategy>;
4527
+ useValue: FormControlErrorDisplayStrategy;
4528
+ };
4529
+ declare class FormErrorDirective implements OnInit {
4530
+ private viewContainer;
4531
+ private componentFactoryResolver;
4532
+ private translateService;
4533
+ private destroyRef;
4534
+ private ngControl?;
4535
+ private formSubmitDirective?;
4536
+ private namespace?;
4537
+ private strategy?;
4538
+ ctrl?: AbstractControl | '';
4539
+ controlName?: string;
4540
+ private ref?;
4541
+ private get control();
4542
+ private get name();
4543
+ private get formSubmitted();
4544
+ constructor(viewContainer: ViewContainerRef, componentFactoryResolver: ComponentFactoryResolver, translateService: TranslateService, destroyRef: DestroyRef, ngControl?: NgControl | undefined, formSubmitDirective?: FormSubmitDirective | undefined, namespace?: string | undefined, strategy?: FormControlErrorDisplayStrategy | undefined);
4545
+ ngOnInit(): void;
4546
+ private buildTranslationKey;
4547
+ private setError;
4548
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormErrorDirective, [null, null, null, null, { optional: true; self: true; }, { optional: true; host: true; }, { optional: true; }, { optional: true; }]>;
4549
+ static ɵdir: i0.ɵɵDirectiveDeclaration<FormErrorDirective, "[lxFormError]", never, { "ctrl": { "alias": "lxFormError"; "required": false; }; "controlName": { "alias": "controlName"; "required": false; }; }, {}, never, never, true, never>;
4550
+ }
4551
+
4552
+ declare class MarkInvalidDirective implements OnInit, OnDestroy {
4553
+ private element;
4554
+ private renderer;
4555
+ lxMarkInvalid: boolean;
4556
+ lxMarkInvalid$: Observable<boolean>;
4557
+ readonly destroyed$: Subject<void>;
4558
+ constructor(element: ElementRef<HTMLElement>, renderer: Renderer2);
4559
+ ngOnInit(): void;
4560
+ ngOnDestroy(): void;
4561
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkInvalidDirective, never>;
4562
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MarkInvalidDirective, "[lxMarkInvalid]", never, { "lxMarkInvalid": { "alias": "lxMarkInvalid"; "required": false; }; }, {}, never, never, true, never>;
4563
+ }
4564
+
4679
4565
  declare class MaxLengthCounterDirective implements OnInit, OnDestroy {
4680
4566
  private el;
4681
4567
  private renderer;
@@ -4699,6 +4585,59 @@ declare class MaxLengthCounterDirective implements OnInit, OnDestroy {
4699
4585
  static ɵdir: i0.ɵɵDirectiveDeclaration<MaxLengthCounterDirective, "[lxMaxLengthCounter]", never, { "lxMaxLengthCounter": { "alias": "lxMaxLengthCounter"; "required": false; }; "lxMaxLengthCounterRef": { "alias": "lxMaxLengthCounterRef"; "required": false; }; }, {}, never, never, true, never>;
4700
4586
  }
4701
4587
 
4588
+ /**
4589
+ * This directive is supposed to be used in combination with single or multi-selects.
4590
+ * It allows to mark a ng-template as the dropdown for those components.
4591
+ * The ng-template will be instantiated and "projected" whenever the dropdown is
4592
+ * opened. This has the advantage over content projection via ng-content, as it will
4593
+ * defer the initialization and rendering of the dropdown contents until the dropdown
4594
+ * is actually opened.
4595
+ *
4596
+ * Example:
4597
+ *
4598
+ * ```
4599
+ * <lx-single-select>
4600
+ * <ng-template lxSelectDropdown>
4601
+ * <lx-basic-dropdown></lx-basic-dropdown>
4602
+ * </ng-template>
4603
+ * </lx-single-select>
4604
+ * ```
4605
+ */
4606
+ declare class SelectDropdownDirective {
4607
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectDropdownDirective, never>;
4608
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectDropdownDirective, "[lxSelectDropdown]", never, {}, {}, never, never, true, never>;
4609
+ }
4610
+
4611
+ declare class SelectableItemDirective implements DropdownItem {
4612
+ readonly element: ElementRef<HTMLElement>;
4613
+ scrollInContainer: HTMLElement;
4614
+ lxSelectableItem: any;
4615
+ select: EventEmitter<any>;
4616
+ get item(): any;
4617
+ constructor(element: ElementRef<HTMLElement>);
4618
+ scrollToItem(): void;
4619
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectableItemDirective, never>;
4620
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableItemDirective, "[lxSelectableItem]", never, { "scrollInContainer": { "alias": "scrollInContainer"; "required": false; }; "lxSelectableItem": { "alias": "lxSelectableItem"; "required": false; }; }, { "select": "select"; }, never, never, true, never>;
4621
+ }
4622
+
4623
+ /**
4624
+ * This directive is supposed to be used in combination with a single-select in
4625
+ * order to mark a ng-template as the template to be rendered within the select to
4626
+ * display the currently selected option.
4627
+ *
4628
+ * Example:
4629
+ *
4630
+ * ```
4631
+ * <lx-single-select>
4632
+ * <ng-template lxSelectedOption>{{ someValue }}</ng-template>
4633
+ * </lx-single-select>
4634
+ * ```
4635
+ */
4636
+ declare class SelectedOptionDirective {
4637
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectedOptionDirective, never>;
4638
+ static ɵdir: i0.ɵɵDirectiveDeclaration<SelectedOptionDirective, "[lxSelectedOption]", never, {}, {}, never, never, true, never>;
4639
+ }
4640
+
4702
4641
  /**
4703
4642
  * map Font Awesome -> SAP icons
4704
4643
  * [0]: regular icon
@@ -4736,6 +4675,42 @@ interface KeyboardNavigationEvents {
4736
4675
  declare function getKeyboardNavigationEvents(sourceElement: HTMLElement, destroyed$: Observable<void>): KeyboardNavigationEvents;
4737
4676
  declare function stopKeyboardEventPropagation(evt: Event): void;
4738
4677
 
4678
+ declare class FilterSelectionPipe implements PipeTransform {
4679
+ transform(items: any[] | null | undefined, selection: any, itemKey?: string): any[];
4680
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterSelectionPipe, never>;
4681
+ static ɵpipe: i0.ɵɵPipeDeclaration<FilterSelectionPipe, "lxFilterBySelection", true>;
4682
+ }
4683
+
4684
+ declare class FilterTermPipe implements PipeTransform {
4685
+ transform(items: any[] | null, options: {
4686
+ term?: string | null;
4687
+ key?: string;
4688
+ }): any[];
4689
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterTermPipe, never>;
4690
+ static ɵpipe: i0.ɵɵPipeDeclaration<FilterTermPipe, "lxFilterByTerm", true>;
4691
+ }
4692
+
4693
+ /**
4694
+ * Reformats numbers into a short format.
4695
+ * @example {{ 1000 | lxFormatNumber | async }} prints 1K
4696
+ *
4697
+ * If the parameter currency is set, a currency sign is inserted based on the value and the current locale.
4698
+ * In this case, the pipe must be used with an innerHtml attribute.
4699
+ * @example [innerHtml]="1000 | lxFormatNumber: 'USD' | async" prints $1K
4700
+ */
4701
+ declare class FormatNumberPipe implements PipeTransform {
4702
+ private getLocale;
4703
+ constructor(getLocale: Function);
4704
+ transform(number: number | undefined | null, currency?: string): Observable<string | null>;
4705
+ /**
4706
+ * Use custom currency symbol, when the currency in the formated number doesn't match the
4707
+ * symbol in the CURRENCY_SYMBOL_MAP.
4708
+ */
4709
+ private getFormatedCurrency;
4710
+ static ɵfac: i0.ɵɵFactoryDeclaration<FormatNumberPipe, never>;
4711
+ static ɵpipe: i0.ɵɵPipeDeclaration<FormatNumberPipe, "lxFormatNumber", true>;
4712
+ }
4713
+
4739
4714
  /**
4740
4715
  * Due to limitations of the native html datepicker this validator is needed:
4741
4716
  * In the datepicker the min and max values only apply if the date is altered e.g. via scrolling.
@@ -5312,5 +5287,5 @@ declare class TabGroupComponent implements OnChanges, AfterContentInit, OnDestro
5312
5287
  static ɵcmp: i0.ɵɵComponentDeclaration<TabGroupComponent, "lx-tab-group", never, { "isCentered": { "alias": "isCentered"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; }, { "indexChange": "indexChange"; }, ["tabsQueryList"], ["*"], true, [{ directive: typeof i1.FioriReskinAwareDirective; inputs: {}; outputs: {}; }]>;
5313
5288
  }
5314
5289
 
5315
- export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AVATAR_COLORS, AVATAR_SIZE_MAPPING, AfterViewInitDirective, AngularNodeViewComponent, AngularNodeViewRenderer, AutocloseDirective, AutocloseGroupService, AutofocusDirective, AvatarComponent, AvatarGroupComponent, BACKSPACE, BadgeComponent, BannerComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CORE_MODULE_EXPORTS, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ContenteditableDirective, ContrastColorPipe, CounterComponent, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATEPICKER_CONTROL_VALUE_ACCESSOR, DATE_FN_LOCALE, DATE_FORMATS, DEFAULT_IMAGE_ID, DateFormatter, DateInputComponent, DatePickerComponent, DatepickerConfig, DatepickerUiModule, DragAndDropListComponent, DragAndDropListItemComponent, END, ENTER, ESCAPE, EllipsisComponent, EmptyStateComponent, ErrorMessageComponent, FORMS_MODULE_EXPORTS, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FaToSapIconPipe, FilterSelectionPipe, FilterTermPipe, FocusEditorDirective, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HOME, HighlightRangePipe, HighlightTermDirective, HighlightTermPipe, ICON_MAP, IMAGE_READER, InputComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, KeyboardSortableItemDirective, KeyboardSortableListDirective, LOCALE_FN, LX_ELLIPSIS_DEBOUNCE_ON_RESIZE, LxCoreUiModule, LxDragAndDropListModule, LxFormsModule, LxIsUuidPipe, LxLinkifyPipe, LxTimeAgo, LxTranslatePipe, LxUnlinkifyPipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, MaxLengthCounterDirective, ModalCloseClickLocation, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PageHeaderComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PlaceholderDirective, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, RELEVANCE_SORTING_KEY, RemoveMarkdownPipe, ResizeObserverService, ResponsiveInputComponent, RichTextEditorComponent, SPACE, SelectDropdownDirective, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SkeletonComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, StepperComponent, SwitchComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TipTapEditorDirective, TokenComponent, TokenizerComponent, TokenizerOverflowPopoverComponent, TooltipComponent, TooltipDirective, TrackingDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, TruncateDirective, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, ValidateStringNotInArray, ValidateStringNotInArrayAsync, argsToInterpolatedTemplate, getContrastColor, getInitialsUrl, getKeyboardNavigationEvents, getSapIcon, getTranslationParts, highlightText, isValidHexColor, isValidX, isValidY, markdownToText, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle, stopKeyboardEventPropagation };
5290
+ export { ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, AVATAR_COLORS, AVATAR_SIZE_MAPPING, AfterViewInitDirective, AngularNodeViewComponent, AngularNodeViewRenderer, AutocloseDirective, AutocloseGroupService, AutofocusDirective, AvatarComponent, AvatarGroupComponent, BACKSPACE, BadgeComponent, BannerComponent, BaseSelectDirective, BasicDropdownComponent, BasicDropdownItemComponent, BrPipe, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CORE_MODULE_EXPORTS, CURRENCY_SYMBOL_MAP, CardComponent, CdkOptionsDropdownComponent, CdkOptionsSubDropdownComponent, CollapsibleComponent, ContenteditableDirective, ContrastColorPipe, CounterComponent, CurrencyInputComponent, CurrencySymbolComponent, CustomDatePipe, DATEPICKER_CONTROL_VALUE_ACCESSOR, DATE_FN_LOCALE, DATE_FORMATS, DEFAULT_IMAGE_ID, DateFormatter, DateInputComponent, DatePickerComponent, DatepickerConfig, DragAndDropListComponent, DragAndDropListItemComponent, END, ENTER, ESCAPE, EllipsisComponent, EmptyStateComponent, ErrorMessageComponent, FORM_CONTROL_ERROR_DISPLAY_STRATEGY, FORM_CONTROL_ERROR_NAMESPACE, FaToSapIconPipe, FilterSelectionPipe, FilterTermPipe, FocusEditorDirective, FormErrorComponent, FormErrorDirective, FormSubmitDirective, FormatNumberPipe, GLOBAL_TRANSLATION_OPTIONS, HOME, HighlightRangePipe, HighlightTermDirective, HighlightTermPipe, ICON_MAP, IMAGE_READER, InputComponent, KeyboardActionSourceDirective, KeyboardSelectAction, KeyboardSelectDirective, KeyboardSortableItemDirective, KeyboardSortableListDirective, LOCALE_FN, LX_ELLIPSIS_DEBOUNCE_ON_RESIZE, LxCoreUiModule, LxIsUuidPipe, LxLinkifyPipe, LxTimeAgo, LxTranslatePipe, LxUnlinkifyPipe, MODAL_CLOSE, MarkInvalidDirective, MarkdownPipe, MaxLengthCounterDirective, ModalCloseClickLocation, ModalComponent, ModalContentDirective, ModalFooterComponent, ModalHeaderComponent, MultiSelectComponent, NbspPipe, OptionComponent, OptionGroupComponent, OptionGroupDropdownComponent, OptionsDropdownComponent, OptionsSubDropdownComponent, PageHeaderComponent, PickerComponent, PickerOptionComponent, PickerTriggerDirective, PillItemComponent, PillListComponent, PlaceholderDirective, PopoverClickDirective, PopoverComponent, PopoverContentDirective, PopoverHoverDirective, RELEVANCE_SORTING_KEY, RemoveMarkdownPipe, ResizeObserverService, ResponsiveInputComponent, RichTextEditorComponent, SPACE, SelectDropdownDirective, SelectableItemDirective, SelectedOptionDirective, SingleSelectComponent, SkeletonComponent, SortPipe, Sorting, SortingDropdownComponent, SortingDropdownTriggerComponent, SpinnerComponent, StepperComponent, SwitchComponent, TAB, TabComponent, TabGroupComponent, TableComponent, TableHeaderComponent, TipTapEditorDirective, TokenComponent, TokenizerComponent, TokenizerOverflowPopoverComponent, TooltipComponent, TooltipDirective, TrackingDirective, TranslationAfterPipe, TranslationBeforePipe, TranslationBetweenPipe, TruncateDirective, UnescapeCurlyBracesPipe, ValidateDateInForeseeableFuture, ValidateStringNotInArray, ValidateStringNotInArrayAsync, argsToInterpolatedTemplate, getContrastColor, getInitialsUrl, getKeyboardNavigationEvents, getSapIcon, getTranslationParts, highlightText, isValidHexColor, isValidX, isValidY, markdownToText, provideFormControlErrorDisplayStrategy, provideFormControlErrorNamespace, shorthandHexHandle, stopKeyboardEventPropagation };
5316
5291
  export type { ArgsToInterpolatedTemplateOptions, Breadcrumb, CurrencyIconPosition, CurrencyInputMode, DateFormatsProvider, DateInputRenderingStyle, DecimalSeparator, DragAndDropListAction, DragAndDropListActionEvent, DragAndDropListMoveEvent, DragAndDropListMoveIndexEvent, EventSet, ExtensionFactory, FormControlErrorDisplayStrategy, GlobalTranslationOptionsProvider, HighlightTermSearchOptions, HighlightTextSettings, ImageReader, KeyboardNavigationEvents, LxResizeObserverCallback, MultiSelectRemoveItemEvent, MultiSelectSize, OptionGroupOption, OrderOption, PopoverTriggerDirective, SingleSelectOptionGroup, SingleSelectPadding, SingleSelectSize, SortingOptions, SortingOrder, TooltipPosition, TranslationOptions, User, UserAvatarSize };