@leanix/components 0.4.818 → 0.4.820

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.
Files changed (67) hide show
  1. package/fesm2022/leanix-components.mjs +1744 -124
  2. package/fesm2022/leanix-components.mjs.map +1 -1
  3. package/lib/core-ui/components/avatar/avatar.component.d.ts +27 -0
  4. package/lib/core-ui/components/avatar-group/avatar-group.component.d.ts +45 -0
  5. package/lib/core-ui/components/badge/badge.component.d.ts +10 -0
  6. package/lib/core-ui/components/banner/banner.component.d.ts +18 -0
  7. package/lib/core-ui/components/button/button.component.d.ts +22 -0
  8. package/lib/core-ui/components/button-group/button-group.component.d.ts +26 -0
  9. package/lib/core-ui/components/card/card.component.d.ts +16 -3
  10. package/lib/core-ui/components/collapsible/collapsible.component.d.ts +39 -0
  11. package/lib/core-ui/components/counter/counter.component.d.ts +20 -3
  12. package/lib/core-ui/components/ellipsis/ellipsis.component.d.ts +13 -0
  13. package/lib/core-ui/components/empty-state/empty-state.component.d.ts +38 -15
  14. package/lib/core-ui/components/page-header/page-header.component.d.ts +2 -1
  15. package/lib/core-ui/components/skeleton/skeleton.component.d.ts +16 -4
  16. package/lib/core-ui/components/spinner/spinner.component.d.ts +15 -0
  17. package/lib/core-ui/components/stepper/stepper.component.d.ts +23 -0
  18. package/lib/core-ui/components/table/table-header/table-header.component.d.ts +26 -5
  19. package/lib/core-ui/components/table/table.component.d.ts +25 -2
  20. package/lib/core-ui/components/tokenizer/token/token.component.d.ts +16 -0
  21. package/lib/core-ui/components/tokenizer/tokenizer-overflow-popover/tokenizer-overflow-popover.component.d.ts +38 -0
  22. package/lib/core-ui/components/tokenizer/tokenizer.component.d.ts +22 -5
  23. package/lib/core-ui/icon/fa-to-sap-icon.pipe.d.ts +2 -1
  24. package/lib/core-ui/tooltip/tooltip.component.d.ts +30 -0
  25. package/lib/forms-ui/components/basic-dropdown/basic-dropdown.component.d.ts +79 -0
  26. package/lib/forms-ui/components/basic-dropdown-item/basic-dropdown-item.component.d.ts +36 -0
  27. package/lib/forms-ui/components/breadcrumb/breadcrumb.component.d.ts +20 -2
  28. package/lib/forms-ui/components/cdk-options-dropdown/cdk-options-dropdown.component.d.ts +34 -0
  29. package/lib/forms-ui/components/cdk-options-sub-dropdown/cdk-options-sub-dropdown.component.d.ts +21 -0
  30. package/lib/forms-ui/components/currency/currency-input.component.d.ts +53 -0
  31. package/lib/forms-ui/components/currency/currency-symbol.component.d.ts +16 -0
  32. package/lib/forms-ui/components/date-input/date-input.component.d.ts +135 -33
  33. package/lib/forms-ui/components/date-picker-ui/datepicker-inner.component.d.ts +35 -0
  34. package/lib/forms-ui/components/date-picker-ui/daypicker.component.d.ts +6 -0
  35. package/lib/forms-ui/components/date-picker-ui/monthpicker.component.d.ts +6 -0
  36. package/lib/forms-ui/components/date-picker-ui/yearpicker.component.d.ts +6 -0
  37. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list-item/drag-and-drop-list-item.component.d.ts +27 -2
  38. package/lib/forms-ui/components/drag-and-drop-list/drag-and-drop-list.component.d.ts +37 -6
  39. package/lib/forms-ui/components/error-message/error-message.component.d.ts +15 -0
  40. package/lib/forms-ui/components/form-error/form-error.component.d.ts +18 -0
  41. package/lib/forms-ui/components/input/input.component.d.ts +27 -0
  42. package/lib/forms-ui/components/multi-select/multi-select-selection/multi-select-selection.component.d.ts +30 -0
  43. package/lib/forms-ui/components/multi-select/multi-select.component.d.ts +80 -0
  44. package/lib/forms-ui/components/option/option.component.d.ts +41 -0
  45. package/lib/forms-ui/components/option-group/option-group.component.d.ts +24 -2
  46. package/lib/forms-ui/components/option-group-dropdown/option-group-dropdown.component.d.ts +51 -4
  47. package/lib/forms-ui/components/options-dropdown/options-dropdown.component.d.ts +73 -0
  48. package/lib/forms-ui/components/options-sub-dropdown/options-sub-dropdown.component.d.ts +22 -0
  49. package/lib/forms-ui/components/picker/picker.component.d.ts +25 -17
  50. package/lib/forms-ui/components/picker-option/picker-option.component.d.ts +34 -5
  51. package/lib/forms-ui/components/pill-item/pill-item.component.d.ts +25 -0
  52. package/lib/forms-ui/components/pill-list/pill-list.component.d.ts +58 -2
  53. package/lib/forms-ui/components/responsive-input/responsive-input.component.d.ts +20 -0
  54. package/lib/forms-ui/components/rich-text-editor/components/rich-text-editor-toolbar/rich-text-editor-toolbar.component.d.ts +26 -0
  55. package/lib/forms-ui/components/rich-text-editor/extensions/link/components/link-modal/link-modal.component.d.ts +15 -0
  56. package/lib/forms-ui/components/rich-text-editor/extensions/table/table-bubble-menu/table-bubble-menu.component.d.ts +17 -0
  57. package/lib/forms-ui/components/rich-text-editor/ngx-tiptap/node-view.component.d.ts +14 -0
  58. package/lib/forms-ui/components/single-select/single-select.component.d.ts +39 -0
  59. package/lib/forms-ui/components/sorting-dropdown/sorting-dropdown.component.d.ts +24 -0
  60. package/lib/forms-ui/components/sorting-dropdown-trigger/sorting-dropdown-trigger.component.d.ts +20 -0
  61. package/lib/forms-ui/components/switch/switch.component.d.ts +37 -8
  62. package/lib/modal-ui/components/modal-footer/modal-footer.component.d.ts +19 -0
  63. package/lib/modal-ui/components/modal-header/modal-header.component.d.ts +22 -0
  64. package/lib/popover-ui/components/popover/popover.component.d.ts +15 -24
  65. package/lib/tab-ui/components/tab/tab.component.d.ts +66 -5
  66. package/lib/tab-ui/components/tab-group/tab-group.component.d.ts +29 -1
  67. package/package.json +1 -1
@@ -5,61 +5,151 @@ import { DateFormatsProvider } from '../../../core-ui/core-ui.constants';
5
5
  import * as i0 from "@angular/core";
6
6
  export type DateInputRenderingStyle = 'INPUT' | 'LINK' | 'BUTTON';
7
7
  /**
8
- * This is a date input component that can be used to select a date.
8
+ * Date input with integrated datepicker dropdown.
9
+ *
10
+ * Supports multiple rendering styles (input, link, button) and flexible date range restrictions.
11
+ *
12
+ * ### Projection slots
13
+ * - `dateStringTemplate`: Custom template for displaying the date string when `renderingStyle` is 'BUTTON'.
14
+ *
15
+ * ### Example
16
+ * @example
17
+ * ```html
18
+ * <lx-date-input
19
+ * [(date)]="selectedDate"
20
+ * [minDate]="minDate"
21
+ * [maxDate]="maxDate"
22
+ * [renderingStyle]="'INPUT'"
23
+ * [placeholder]="'Select a date'"
24
+ * (dateChange)="onDateSelected($event)"
25
+ * ></lx-date-input>
26
+ * ```
9
27
  */
10
28
  export declare class DateInputComponent implements OnChanges, OnInit, OnDestroy, ControlValueAccessor, Validator {
11
29
  private cd;
12
30
  private dateFormatsProvider;
13
31
  private getDateFnLocale?;
14
- /** The initial date value for the date input field. This is used for `ngModel` and `formControl`. */
32
+ /**
33
+ * The initial date value for the date input field. This is used for `ngModel` and `formControl`.
34
+ * @default null
35
+ */
15
36
  date: Date | null;
16
- /** Secondary, alternative input with date string */
37
+ /**
38
+ * Secondary, alternative input with date string (format: 'yyyy-mm-dd').
39
+ * @default null
40
+ */
17
41
  dateString: string | null;
18
- /** Determine whether formGroup's value accessor is accessing the selected IDs or the selected objects */
42
+ /**
43
+ * Determines whether formGroup's value accessor uses Date objects or date strings.
44
+ * @default 'date'
45
+ */
19
46
  valueAccessor: 'date' | 'dateString';
20
- /** ID to be set on input to correspond to outside label */
47
+ /**
48
+ * ID to be set on input to correspond to outside label.
49
+ * @default ''
50
+ */
21
51
  inputId: string;
22
- /** The rendering style of the date input component. Can be one of "LINK", "BUTTON", or "INPUT". */
52
+ /**
53
+ * The rendering style of the date input component.
54
+ * @default 'INPUT'
55
+ */
23
56
  renderingStyle: DateInputRenderingStyle;
24
- /** The placeholder text to show in the date input field when there is no date selected */
57
+ /**
58
+ * The placeholder text to show in the date input field when there is no date selected.
59
+ * @default 'yyyy-mm-dd'
60
+ */
25
61
  placeholder: string;
26
- /** Deactivate to use old date picker */
62
+ /**
63
+ * Use CDK overlay for datepicker positioning. Set to false to use legacy positioning.
64
+ * @default true
65
+ */
27
66
  cdk: boolean;
28
- /** Sets datepicker mode, supports: day, month, year */
67
+ /**
68
+ * Sets datepicker mode, supports: 'day', 'month', 'year'.
69
+ * @default 'day'
70
+ */
29
71
  datepickerMode: string;
30
- /** Default date to show if ng-model value is not specified. Default date to show if ng-model value is not specified */
72
+ /** Default date to show if ng-model value is not specified. */
31
73
  initDateString: string;
32
- /** Oldest selectable date */
74
+ /**
75
+ * Oldest selectable date.
76
+ * @default new Date('0000-01-01')
77
+ */
33
78
  minDate: Date;
34
- /** Latest selectable date */
79
+ /**
80
+ * Latest selectable date.
81
+ * @default new Date('9999-12-31')
82
+ */
35
83
  maxDate: Date;
36
- /** Set lower datepicker mode, supports: day, month, year */
84
+ /**
85
+ * Set lower datepicker mode, supports: 'day', 'month', 'year'.
86
+ * @default 'day'
87
+ */
37
88
  minMode: string;
38
- /** Sets upper datepicker mode, supports: day, month, year */
89
+ /**
90
+ * Sets upper datepicker mode, supports: 'day', 'month', 'year'.
91
+ * @default 'year'
92
+ */
39
93
  maxMode: string;
40
- /** If false week numbers will be hidden */
94
+ /**
95
+ * If false week numbers will be hidden in day picker.
96
+ * @default true
97
+ */
41
98
  showWeeks: boolean;
42
- /** Format of day in month */
99
+ /**
100
+ * Format of day in month (date-fns format).
101
+ * @default 'dd'
102
+ */
43
103
  formatDay: string;
44
- /** Format of month in year */
104
+ /**
105
+ * Format of month in year (date-fns format).
106
+ * @default 'MMMM'
107
+ */
45
108
  formatMonth: string;
46
- /** Format of year in year range */
109
+ /**
110
+ * Format of year in year range (date-fns format).
111
+ * @default 'yyyy'
112
+ */
47
113
  formatYear: string;
48
- /** Format of day in week header */
114
+ /**
115
+ * Format of day in week header (date-fns format).
116
+ * @default 'EE'
117
+ */
49
118
  formatDayHeader: string;
50
- /** Format of title when selecting day */
119
+ /**
120
+ * Format of title when selecting day (date-fns format).
121
+ * @default 'MMMM yyyy'
122
+ */
51
123
  formatDayTitle: string;
52
- /** Format of title when selecting month */
124
+ /**
125
+ * Format of title when selecting month (date-fns format).
126
+ * @default 'yyyy'
127
+ */
53
128
  formatMonthTitle: string;
54
- /** Starting day of the week from 0-6 (0=Sunday, ..., 6=Saturday) public */
129
+ /**
130
+ * Starting day of the week from 0-6 (0=Sunday, 6=Saturday).
131
+ * @default 0
132
+ */
55
133
  startingDay: number;
56
- /** Number of years displayed in year selection */
134
+ /**
135
+ * Number of years displayed in year selection.
136
+ * @default 20
137
+ */
57
138
  yearRange: number;
58
- /** If true only dates from the currently displayed month will be shown */
139
+ /**
140
+ * If true only dates from the currently displayed month will be shown.
141
+ * @default false
142
+ */
59
143
  onlyCurrentMonth: boolean;
60
- /** If true shortcut`s event propagation will be disabled */
144
+ /**
145
+ * If true shortcut event propagation will be disabled.
146
+ * @default false
147
+ */
61
148
  shortcutPropagation: boolean;
62
- /** Array of custom css classes to be applied to */
149
+ /**
150
+ * Array of custom css classes to be applied to specific dates.
151
+ * @default []
152
+ */
63
153
  customClass: {
64
154
  date: Date;
65
155
  mode: string;
@@ -67,22 +157,34 @@ export declare class DateInputComponent implements OnChanges, OnInit, OnDestroy,
67
157
  }[];
68
158
  /** If true, the date input field will be disabled. */
69
159
  disabled: boolean;
70
- /** Array of disabled dates if mode is day, or years, etc. */
160
+ /**
161
+ * Array of disabled dates with mode specification.
162
+ * @default []
163
+ */
71
164
  dateDisabled: {
72
165
  date: Date;
73
166
  mode: string;
74
167
  }[];
75
- /** If true, the date input field will be auto-focused when the component is first rendered. */
168
+ /**
169
+ * If true, the date input field will be auto-focused when the component is first rendered.
170
+ * @default false
171
+ */
76
172
  autoFocus: boolean;
77
- /** If true, the date input field will be marked as invalid. */
173
+ /**
174
+ * If true, the date input field will be marked as invalid.
175
+ * @default false
176
+ */
78
177
  markInvalid: boolean;
79
- /** Also emit on invalid date string */
178
+ /**
179
+ * Also emit dateStringChange on invalid date string.
180
+ * @default false
181
+ */
80
182
  alwaysEmitDateString: boolean;
81
- /** Triggered whenever the datepicker is closed */
183
+ /** Emitted whenever the datepicker is closed. */
82
184
  closeDateInput: EventEmitter<void>;
83
- /** Triggered whenever the date changes */
185
+ /** Emitted whenever the date string changes. */
84
186
  dateStringChange: EventEmitter<string | null>;
85
- /** Triggered whenever the date changes. */
187
+ /** Emitted whenever the date changes. */
86
188
  dateChange: EventEmitter<Date | null>;
87
189
  /** @internal */
88
190
  initDateString$: Observable<string>;
@@ -1,39 +1,74 @@
1
1
  import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { DateFormatter } from './date-formatter';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Core datepicker component managing date selection logic.
6
+ *
7
+ * Provides the underlying logic for day, month, and year selection modes.
8
+ * Used internally by DatePickerComponent.
9
+ *
10
+ * ### Projection slots
11
+ * - Default slot: Child picker components (daypicker, monthpicker, yearpicker).
12
+ */
4
13
  export declare class DatePickerInnerComponent implements OnInit, OnChanges {
14
+ /** Locale code for date formatting. */
5
15
  locale: string;
16
+ /** Current datepicker mode: 'day', 'month', or 'year'. */
6
17
  datepickerMode: string;
18
+ /** Starting day of the week from 0-6 (0=Sunday). */
7
19
  startingDay: number;
20
+ /** Number of years displayed in year selection. */
8
21
  yearRange: number;
22
+ /** Minimum selectable date. */
9
23
  minDate: Date;
24
+ /** Maximum selectable date. */
10
25
  maxDate: Date;
26
+ /** Minimum picker mode. */
11
27
  minMode: string;
28
+ /** Maximum picker mode. */
12
29
  maxMode: string;
30
+ /** Whether to show week numbers. */
13
31
  showWeeks: boolean;
32
+ /** Format of day in month. */
14
33
  formatDay: string;
34
+ /** Format of month in year. */
15
35
  formatMonth: string;
36
+ /** Format of year in year range. */
16
37
  formatYear: string;
38
+ /** Format of day in week header. */
17
39
  formatDayHeader: string;
40
+ /** Format of title when selecting day. */
18
41
  formatDayTitle: string;
42
+ /** Format of title when selecting month. */
19
43
  formatMonthTitle: string;
44
+ /** If true, only dates from the currently displayed month will be shown. */
20
45
  onlyCurrentMonth: boolean;
46
+ /** If true, shortcut event propagation will be disabled. */
21
47
  shortcutPropagation: boolean;
48
+ /** Array of custom css classes to be applied to dates. */
22
49
  customClass: {
23
50
  date: Date;
24
51
  mode: string;
25
52
  clazz: string;
26
53
  }[];
54
+ /** Number of columns in month picker. */
27
55
  monthColLimit: number;
56
+ /** Number of columns in year picker. */
28
57
  yearColLimit: number;
58
+ /** Array of disabled dates. */
29
59
  dateDisabled: {
30
60
  date: Date;
31
61
  mode: string;
32
62
  }[];
63
+ /** Array of disabled day indices (0-6). */
33
64
  dayDisabled: number[];
65
+ /** Initial date to display. */
34
66
  initDate: Date;
67
+ /** Emitted when a date is selected. */
35
68
  selectionDone: EventEmitter<Date>;
69
+ /** Emitted when active date is updated. */
36
70
  update: EventEmitter<Date>;
71
+ /** Emitted when active date changes. */
37
72
  activeDateChange: EventEmitter<Date>;
38
73
  stepDay: any;
39
74
  stepMonth: any;
@@ -1,6 +1,12 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { DatePickerInnerComponent } from './datepicker-inner.component';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Day selection view for the datepicker.
6
+ *
7
+ * Displays a calendar grid for selecting individual days within a month.
8
+ * Used internally by DatePickerInnerComponent.
9
+ */
4
10
  export declare class DayPickerComponent implements OnInit {
5
11
  labels: any[];
6
12
  title: string;
@@ -1,6 +1,12 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { DatePickerInnerComponent } from './datepicker-inner.component';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Month selection view for the datepicker.
6
+ *
7
+ * Displays a grid of months for selecting a month within a year.
8
+ * Used internally by DatePickerInnerComponent.
9
+ */
4
10
  export declare class MonthPickerComponent implements OnInit {
5
11
  title: string;
6
12
  rows: any[];
@@ -1,6 +1,12 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { DatePickerInnerComponent } from './datepicker-inner.component';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Year selection view for the datepicker.
6
+ *
7
+ * Displays a grid of years for selecting a year within a range.
8
+ * Used internally by DatePickerInnerComponent.
9
+ */
4
10
  export declare class YearPickerComponent implements OnInit {
5
11
  datePicker: DatePickerInnerComponent;
6
12
  title: string;
@@ -22,16 +22,41 @@ export interface DragAndDropListActionEvent {
22
22
  actionId: string;
23
23
  item: string;
24
24
  }
25
+ /**
26
+ * Individual item within a drag-and-drop list.
27
+ *
28
+ * Supports custom templates and optional action buttons.
29
+ *
30
+ * ### Projection slots
31
+ * - `customTemplate`: Custom template for the item content. If not provided, displays the item string with a drag handle.
32
+ *
33
+ * ### Example
34
+ * @example
35
+ * ```html
36
+ * <lx-drag-and-drop-list-item
37
+ * [item]="'Task 1'"
38
+ * [draggable]="true"
39
+ * [actions]="[{ id: 'delete', label: 'Delete', icon: 'delete', showOnlyOnHover: true }]"
40
+ * (action)="handleAction($event)"
41
+ * ></lx-drag-and-drop-list-item>
42
+ * ```
43
+ */
25
44
  export declare class DragAndDropListItemComponent {
26
45
  private element;
27
46
  readonly NAME = "DragAndDropListItemComponent";
47
+ /** The string representation of the item, used as the default display text. */
28
48
  item: string;
49
+ /**
50
+ * Whether the item can be dragged.
51
+ * @default true
52
+ */
29
53
  draggable: boolean;
30
54
  /**
31
- * An array of DragAndDropListActions
32
- * When this array is defined, the drag handle is shown at the start of an item and the action buttons are rendered in their provided order at the right end of an item.
55
+ * An array of DragAndDropListActions.
56
+ * When defined, the drag handle is shown at the start of an item and action buttons are rendered at the right end.
33
57
  */
34
58
  actions?: DragAndDropListAction[];
59
+ /** Emitted when an action button is clicked. */
35
60
  action: EventEmitter<DragAndDropListActionEvent>;
36
61
  get draggingDisabled(): boolean;
37
62
  get hasCustomTemplate(): boolean;
@@ -12,6 +12,27 @@ export interface DragAndDropListMoveIndexEvent {
12
12
  index: number;
13
13
  previous: number;
14
14
  }
15
+ /**
16
+ * Sortable list with drag-and-drop and keyboard navigation support.
17
+ *
18
+ * Items can be reordered via mouse drag or keyboard controls (Arrow keys, Space).
19
+ *
20
+ * ### Example
21
+ * @example
22
+ * ```html
23
+ * <lx-drag-and-drop-list
24
+ * [label]="'My Tasks'"
25
+ * (moveToIndex)="handleReorder($event)"
26
+ * >
27
+ * @for (task of tasks; track $index) {
28
+ * <lx-drag-and-drop-list-item
29
+ * [item]="task.name"
30
+ * [draggable]="true"
31
+ * />
32
+ * }
33
+ * </lx-drag-and-drop-list>
34
+ * ```
35
+ */
15
36
  export declare class DragAndDropListComponent implements AfterContentInit, AfterViewInit {
16
37
  /** @internal */
17
38
  readonly NAME = "DragAndDropListComponent";
@@ -19,21 +40,31 @@ export declare class DragAndDropListComponent implements AfterContentInit, After
19
40
  items$: Observable<DragAndDropListItemComponent[]>;
20
41
  /** @internal */
21
42
  keyboardSortableItems$: Observable<KeyboardSortableItemDirective[]>;
22
- /**
23
- * A label for describing this list.
24
- */
43
+ /** A label for describing this list. */
25
44
  label?: string | undefined;
26
45
  /**
27
- * Override the global label font weight of 700
46
+ * Override the global label font weight.
47
+ * @default 700
28
48
  */
29
49
  labelFontWeight?: number;
50
+ /**
51
+ * Color theme of the list items.
52
+ * @default 'light'
53
+ */
30
54
  color?: 'light' | 'dark';
55
+ /**
56
+ * Font size of the list items.
57
+ * @default 'normal'
58
+ */
31
59
  fontSize?: 'normal' | 'big';
32
60
  /**
33
- * Use the moveToIndex Output in favor of moveItem,
34
- * when moving is restricted to one item through this.draggableItem.
61
+ * Emitted when an item is moved, providing the new and previous index.
62
+ * Use this when you need index-based reordering.
35
63
  */
36
64
  moveToIndex: EventEmitter<DragAndDropListMoveIndexEvent>;
65
+ /**
66
+ * Emitted when an item is moved, providing the item data and new index.
67
+ */
37
68
  moveItem: EventEmitter<DragAndDropListMoveEvent>;
38
69
  /** @internal */
39
70
  private _items;
@@ -1,5 +1,20 @@
1
1
  import * as i0 from "@angular/core";
2
+ /**
3
+ * Displays form validation error messages.
4
+ *
5
+ * Shows either projected content or a programmatically set error message.
6
+ *
7
+ * ### Projection slots
8
+ * - Default slot: Static error message text. Hidden but captured for display.
9
+ *
10
+ * ### Example
11
+ * @example
12
+ * ```html
13
+ * <lx-error-message>This field is required</lx-error-message>
14
+ * ```
15
+ */
2
16
  export declare class ErrorMessageComponent {
17
+ /** Signal for setting error message programmatically. */
3
18
  readonly dynamicErrorMessage: import("@angular/core").WritableSignal<string>;
4
19
  private readonly wrapper;
5
20
  protected computedErrorMessage: import("@angular/core").Signal<string>;
@@ -1,9 +1,27 @@
1
1
  import { OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
2
2
  import { UntypedFormGroup } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Displays translated form validation errors for a specific form control.
6
+ *
7
+ * Automatically updates when form errors change.
8
+ *
9
+ * ### Example
10
+ * @example
11
+ * ```html
12
+ * <lx-form-error
13
+ * [form]="myFormGroup"
14
+ * [controlName]="'email'"
15
+ * [namespace]="'USER_FORM'"
16
+ * ></lx-form-error>
17
+ * ```
18
+ */
4
19
  export declare class FormErrorComponent implements OnInit, OnChanges, OnDestroy {
20
+ /** Translation namespace prefix for error messages (e.g., 'USER_FORM'). */
5
21
  namespace: string;
22
+ /** The FormGroup containing the control to validate. */
6
23
  form: UntypedFormGroup;
24
+ /** The name of the form control to display errors for. */
7
25
  controlName: string;
8
26
  /** @internal */
9
27
  translationKeys: string[];
@@ -1,9 +1,36 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * A directive applied to native `<input>` elements to provide consistent styling and automatic error state handling.
6
+ * Integrates with Angular's `NgControl` to automatically apply error and disabled classes based on form control state.
7
+ * The directive listens to form control status changes and updates the visual state accordingly.
8
+ *
9
+ * ### Example
10
+ * @example
11
+ * ```html
12
+ * <input lx-input type="text" [formControl]="nameControl" />
13
+ * ```
14
+ *
15
+ * ### Example
16
+ * @example
17
+ * ```html
18
+ * <input lx-input type="email" [error]="true" [disabled]="false" />
19
+ * ```
20
+ */
4
21
  export declare class InputComponent implements OnInit, OnDestroy {
5
22
  ngControl?: NgControl | undefined;
23
+ /**
24
+ * Whether to display the input in an error state (applies 'error' CSS class).
25
+ * Automatically updated when used with `NgControl` based on validation state.
26
+ * @default false
27
+ */
6
28
  error: boolean;
29
+ /**
30
+ * Whether the input is disabled (applies 'disabled' CSS class).
31
+ * Automatically updated when used with `NgControl` based on control state.
32
+ * @default false
33
+ */
7
34
  disabled: boolean;
8
35
  private destroyed$;
9
36
  constructor(ngControl?: NgControl | undefined);
@@ -1,9 +1,39 @@
1
1
  import { EventEmitter, TemplateRef } from '@angular/core';
2
2
  import { KeyboardSelectDirective } from '../../keyboard-select.directive';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Displays selected items in a multi-select component.
6
+ *
7
+ * Items can be rendered as tokens or custom templates.
8
+ *
9
+ * ### Projection slots
10
+ * - `innerSelectionTemplate`: Custom template for rendering each selected item.
11
+ *
12
+ * ### Example
13
+ * @example
14
+ * ```html
15
+ * <lx-multi-select-selection
16
+ * [selection]="selectedItems"
17
+ * [tokenize]="true"
18
+ * (removeItem)="handleRemove($event)"
19
+ * >
20
+ * <ng-template #innerSelectionTemplate let-item>
21
+ * {{ item.name }}
22
+ * </ng-template>
23
+ * </lx-multi-select-selection>
24
+ * ```
25
+ */
4
26
  export declare class MultiSelectSelectionComponent extends KeyboardSelectDirective {
27
+ /**
28
+ * Array of selected items to display.
29
+ */
5
30
  selection: import("@angular/core").InputSignal<any[] | null | undefined>;
31
+ /**
32
+ * Whether to render items as tokens (pills).
33
+ * @default true
34
+ */
6
35
  tokenize: import("@angular/core").InputSignal<boolean>;
36
+ /** Emitted when an item is clicked for removal. */
7
37
  removeItem: EventEmitter<unknown>;
8
38
  selectionTemplate: TemplateRef<any> | null;
9
39
  static ɵfac: i0.ɵɵFactoryDeclaration<MultiSelectSelectionComponent, never>;
@@ -13,6 +13,63 @@ export type MultiSelectRemoveItemEvent = {
13
13
  */
14
14
  isMouse: boolean;
15
15
  };
16
+ /**
17
+ * A dropdown component for selecting multiple values from a list of options.
18
+ * Implements `ControlValueAccessor` for seamless integration with Angular reactive forms.
19
+ * Supports keyboard navigation, custom templates, and various sizing options.
20
+ *
21
+ * ### Projection slots
22
+ * - `.pills`: Contains the pill list for selected items (`lx-pill-list`).
23
+ * The pill list shows removable pills for each selected item.
24
+ * Use `lx-pill-item` inside a `#pillTemplate` for custom pill rendering.
25
+ * - `.dropdownComponent`: Contains the dropdown (`lx-basic-dropdown`)
26
+ *
27
+ * Alternatively, use `lxSelectDropdown` directive on `<ng-template>` for the dropdown,
28
+ * and `#selectionTemplate` on `<ng-template>` for tokenized selection display.
29
+ *
30
+ * ### Example — with pill list and basic dropdown
31
+ * @example
32
+ * ```html
33
+ * <lx-multi-select
34
+ * #multiSelect
35
+ * [(selection)]="selectedItems"
36
+ * (query)="searchTerm = $event">
37
+ * <lx-pill-list
38
+ * class="pills"
39
+ * [keyboardSelectAction]="multiSelect.selectionKeyboardSelectAction$"
40
+ * [pills]="selectedItems"
41
+ * labelKey="name"
42
+ * itemKey="id"
43
+ * (remove)="multiSelect.removeItem($event)">
44
+ * </lx-pill-list>
45
+ * <lx-basic-dropdown
46
+ * class="dropdownComponent"
47
+ * [keyboardSelectAction]="multiSelect.optionsKeyboardSelectAction$"
48
+ * [options]="options | lxFilterBySelection: selectedItems | lxFilterByTerm: { term: searchTerm }"
49
+ * labelKey="name"
50
+ * (onItemSelected)="multiSelect.addItemToSelection($event)">
51
+ * </lx-basic-dropdown>
52
+ * </lx-multi-select>
53
+ * ```
54
+ *
55
+ * ### Example — with custom pill template
56
+ * @example
57
+ * ```html
58
+ * <lx-multi-select #multiSelect [(selection)]="selectedItems">
59
+ * <lx-pill-list
60
+ * class="pills"
61
+ * [keyboardSelectAction]="multiSelect.selectionKeyboardSelectAction$"
62
+ * [pills]="selectedItems"
63
+ * itemKey="id"
64
+ * (remove)="multiSelect.removeItem($event)">
65
+ * <ng-template #pillTemplate let-pill>
66
+ * <lx-pill-item [label]="pill.name" [item]="pill" [class.readOnly]="pill.readOnly" />
67
+ * </ng-template>
68
+ * </lx-pill-list>
69
+ * <!-- dropdown omitted for brevity -->
70
+ * </lx-multi-select>
71
+ * ```
72
+ */
16
73
  export declare class MultiSelectComponent extends BaseSelectDirective implements AfterViewInit, ControlValueAccessor {
17
74
  private cd;
18
75
  /** @internal */
@@ -23,12 +80,35 @@ export declare class MultiSelectComponent extends BaseSelectDirective implements
23
80
  static calculateNewCursorPostionOnKeyboardNavigation(cursorPosition: number, keyCode: number): number;
24
81
  /** @internal */
25
82
  static getKeyboardSelectAction(cursorPosition: number, keyCode: number): KeyboardSelectAction | null;
83
+ /**
84
+ * Whether to visually mark the input as invalid.
85
+ */
26
86
  markInvalid: boolean;
87
+ /**
88
+ * Array of currently selected items.
89
+ */
27
90
  selection?: any[] | null;
91
+ /**
92
+ * Visual size variant of the multi-select component.
93
+ * @default 'default'
94
+ */
28
95
  size: MultiSelectSize;
96
+ /**
97
+ * Optional ID attribute for the input element.
98
+ */
29
99
  inputId?: string;
100
+ /**
101
+ * Whether pressing Tab should close the dropdown.
102
+ * @default true
103
+ */
30
104
  closeDropdownOnTab: boolean;
105
+ /**
106
+ * Event emitted when the selection changes.
107
+ */
31
108
  selectionChange: EventEmitter<any[]>;
109
+ /**
110
+ * Event emitted when the input loses focus.
111
+ */
32
112
  blur: EventEmitter<void>;
33
113
  /** @internal */
34
114
  explicitDropdown?: TemplateRef<any>;