@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
@@ -4,6 +4,26 @@ import * as i0 from "@angular/core";
4
4
  * The `lx-table` directive can be applied to `<table>` elements to provide a common styling.
5
5
  * Furthermore it supports column sorting in combination with `<lx-th>` for table headers.
6
6
  *
7
+ * ### Example
8
+ * @example
9
+ * ```html
10
+ * <table lx-table [isSortable]="true" [(sort)]="sort">
11
+ * <thead>
12
+ * <tr>
13
+ * <lx-th column="name">Name</lx-th>
14
+ * <lx-th column="status" [disableSortClear]="true">Status</lx-th>
15
+ * <lx-th column="actions" [disableSort]="true">Actions</lx-th>
16
+ * </tr>
17
+ * </thead>
18
+ * <tbody>
19
+ * <tr>
20
+ * <td>Item 1</td>
21
+ * <td>Active</td>
22
+ * <td><button>Edit</button></td>
23
+ * </tr>
24
+ * </tbody>
25
+ * </table>
26
+ * ```
7
27
  *
8
28
  * ## Usage
9
29
  *
@@ -44,11 +64,14 @@ import * as i0 from "@angular/core";
44
64
  */
45
65
  export declare class TableComponent {
46
66
  /**
47
- * This enables or disables the sortability of the table.
67
+ * Enables or disables the sortability of the table. When enabled, `<lx-th>` elements with a `column` attribute become sortable.
68
+ * @default false
48
69
  */
49
70
  readonly isSortable: import("@angular/core").InputSignal<boolean>;
50
71
  /**
51
- * The sort state of the table. Which column is sorted in what order.
72
+ * The sort state of the table containing the column key and sort order (ASC, DESC, or undefined).
73
+ * Can be used with two-way binding to control and react to sort changes.
74
+ * @default {}
52
75
  */
53
76
  readonly sort: import("@angular/core").ModelSignal<SortingOptions>;
54
77
  /**
@@ -1,5 +1,21 @@
1
1
  import { ElementRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * A token wrapper component used within `lx-tokenizer` to represent individual items.
5
+ * The tokenizer manages visibility of tokens based on available space.
6
+ *
7
+ * ### Projection slots
8
+ * - Default slot: The content to display inside the token (text, icons, badges, etc.)
9
+ *
10
+ * ### Example
11
+ * @example
12
+ * ```html
13
+ * <lx-tokenizer>
14
+ * <lx-token>Token One</lx-token>
15
+ * <lx-token>Token Two</lx-token>
16
+ * </lx-tokenizer>
17
+ * ```
18
+ */
3
19
  export declare class TokenComponent {
4
20
  private elementRef;
5
21
  constructor(elementRef: ElementRef<HTMLElement>);
@@ -2,6 +2,33 @@ import { TemplateRef } from '@angular/core';
2
2
  import { SatPopoverComponent, SatPopoverHorizontalAlign, SatPopoverVerticalAlign } from '@ncstate/sat-popover';
3
3
  import { TokenizerComponent } from '../tokenizer.component';
4
4
  import * as i0 from "@angular/core";
5
+ /**
6
+ * A companion component for `lx-tokenizer` that displays overflowing tokens in a popover.
7
+ * Automatically listens to the tokenizer's overflow events and shows a popover anchored to the counter button.
8
+ *
9
+ * ### Projection slots
10
+ * - `popoverTemplate`: Template to render inside the popover. Receives the `startIndex` of overflowing tokens as context.
11
+ *
12
+ * ### Example
13
+ * @example
14
+ * ```html
15
+ * <lx-tokenizer #tokenizer [active]="true">
16
+ * <lx-token>Item 1</lx-token>
17
+ * <lx-token>Item 2</lx-token>
18
+ * <lx-token>Item 3</lx-token>
19
+ * </lx-tokenizer>
20
+ *
21
+ * <lx-tokenizer-overflow-popover [tokenizer]="tokenizer">
22
+ * <ng-template #popoverTemplate let-startIndex>
23
+ * <div class="overflow-items">
24
+ * @for (item of getOverflowItems(startIndex); track item) {
25
+ * <div>{{ item }}</div>
26
+ * }
27
+ * </div>
28
+ * </ng-template>
29
+ * </lx-tokenizer-overflow-popover>
30
+ * ```
31
+ */
5
32
  export declare class TokenizerOverflowPopoverComponent {
6
33
  private destroyRef;
7
34
  private overflowClickSubscription?;
@@ -9,8 +36,19 @@ export declare class TokenizerOverflowPopoverComponent {
9
36
  private changeDetectorRef;
10
37
  protected readonly popoverTemplate?: TemplateRef<unknown>;
11
38
  protected readonly popover: SatPopoverComponent;
39
+ /**
40
+ * Reference to the tokenizer component to listen for overflow events.
41
+ */
12
42
  tokenizer: import("@angular/core").InputSignal<TokenizerComponent>;
43
+ /**
44
+ * Horizontal alignment of the popover relative to the counter button.
45
+ * @default 'after'
46
+ */
13
47
  horizontalAlign: import("@angular/core").InputSignal<SatPopoverHorizontalAlign>;
48
+ /**
49
+ * Vertical alignment of the popover relative to the counter button.
50
+ * @default 'start'
51
+ */
14
52
  verticalAlign: import("@angular/core").InputSignal<SatPopoverVerticalAlign>;
15
53
  constructor();
16
54
  protected closePopover(): void;
@@ -3,7 +3,22 @@ import { ResizeObserverService } from '../../services/resize-observer.service';
3
3
  import { TokenComponent } from './token/token.component';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * The tokenizer component (`lx-tokenizer`) is responsible for rendering a list of items into a container and hiding those that do not fit behind a placeholder. The items are represented as `lx-token`. Each `lx-token` allows to project any content into it, so anything can become a token. The tokenizer calculates how many items fit into the container (based on width), hiding those items that are overflowing and showing a overflow placeholder instead (e.g. "+4").
6
+ * Renders a list of items (`lx-token`) into a container and hides overflowing items behind a counter (e.g., "+4").
7
+ * Automatically calculates how many tokens fit based on available width and responds to container resize events.
8
+ *
9
+ * ### Projection slots
10
+ * - `lx-token`: Individual token items to be managed by the tokenizer
11
+ *
12
+ * ### Example
13
+ * @example
14
+ * ```html
15
+ * <lx-tokenizer [active]="true" (overflowPlaceholderClick)="onOverflowClick($event)">
16
+ * <lx-token>Item 1</lx-token>
17
+ * <lx-token>Item 2</lx-token>
18
+ * <lx-token>Item 3</lx-token>
19
+ * <lx-token>Item 4</lx-token>
20
+ * </lx-tokenizer>
21
+ * ```
7
22
  *
8
23
  * ## Usage
9
24
  *
@@ -50,14 +65,16 @@ export declare class TokenizerComponent implements AfterContentInit {
50
65
  protected overflowItems: import("@angular/core").WritableSignal<TokenComponent[]>;
51
66
  protected overflowItemCount: import("@angular/core").Signal<number>;
52
67
  protected showCounter: import("@angular/core").Signal<boolean>;
53
- /** Can be used to activate & deactivate tokenization */
68
+ /**
69
+ * Enables or disables tokenization. When false, all tokens are shown regardless of available space.
70
+ * @default true
71
+ */
54
72
  active: import("@angular/core").InputSignal<boolean>;
55
73
  private active$;
56
74
  private overflowStartIndex;
57
75
  /**
58
- * Emitted when the counter button is clicked
59
- * @param startIndex The index of the first overflowing element
60
- * @param counterElement The counter button element
76
+ * Emitted when the overflow counter button (e.g., "+4") is clicked.
77
+ * Provides the index of the first hidden token and the counter button element for positioning popovers.
61
78
  */
62
79
  overflowPlaceholderClick: EventEmitter<{
63
80
  startIndex: number;
@@ -5,7 +5,8 @@ import * as i0 from "@angular/core";
5
5
  * Useful for scenarios in which icon names need to be mapped at runtime,
6
6
  * e.g. because they are stored in the backend.
7
7
  *
8
- * @example ```html
8
+ * @example
9
+ * ```html
9
10
  * <ui5-icon [name]="fontAwesomeIcon() | lxFaToSapIcon" />
10
11
  * ```
11
12
  */
@@ -1,8 +1,38 @@
1
1
  import { TooltipPosition } from './tooltip-position.interface';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Tooltip component for displaying contextual information on hover.
5
+ *
6
+ * Supports plain text or HTML content with configurable positioning.
7
+ * Typically used via the `lxTooltip` directive rather than directly.
8
+ *
9
+ * ### Example
10
+ * @example
11
+ * ```html
12
+ * <button [lxTooltip]="'Save changes'">Save</button>
13
+ *
14
+ * <button [lxTooltip]="'<strong>Warning:</strong> Cannot be undone'" [lxTooltipHtml]="true">Delete</button>
15
+ * ```
16
+ */
3
17
  export declare class TooltipComponent {
18
+ /**
19
+ * The tooltip content to display as plain text or HTML.
20
+ *
21
+ * @default ''
22
+ */
4
23
  content: string;
24
+ /**
25
+ * Whether the content should be rendered as HTML.
26
+ * When false, content is displayed as plain text.
27
+ *
28
+ * @default false
29
+ */
5
30
  isHtmlContent: boolean;
31
+ /**
32
+ * The position of the tooltip relative to the target element.
33
+ *
34
+ * @default { x: 'center', y: 'top' }
35
+ */
6
36
  position: TooltipPosition;
7
37
  static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
8
38
  static ɵcmp: i0.ɵɵComponentDeclaration<TooltipComponent, "lx-tooltip", never, { "content": { "alias": "content"; "required": false; }; "isHtmlContent": { "alias": "isHtmlContent"; "required": false; }; "position": { "alias": "position"; "required": false; }; }, {}, never, never, true, never>;
@@ -3,27 +3,106 @@ import { AfterViewInit, EventEmitter, TemplateRef } from '@angular/core';
3
3
  import { SingleSelectPadding } from '../../models/single-select-padding.interface';
4
4
  import { KeyboardSelectDirective } from '../keyboard-select.directive';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * A simple dropdown component for selecting a single value from a flat list of options.
8
+ * Supports keyboard navigation, custom templates, infinite scrolling, and the ability to create new options.
9
+ * Uses Angular CDK overlay for positioning and supports both top and bottom dropdown placement.
10
+ *
11
+ * ### Projection slots
12
+ * - `optionTemplate`: Custom template for rendering each option
13
+ * - `createNewOptionTemplate`: Custom template for the "create new option" button
14
+ * - `descriptionTemplateRef`: Custom template for additional description content
15
+ *
16
+ * ### Example
17
+ * @example
18
+ * ```html
19
+ * <lx-basic-dropdown
20
+ * [options]="items"
21
+ * [labelKey]="'name'"
22
+ * [itemKey]="'id'"
23
+ * [placeholder]="'Select an item'"
24
+ * (onItemSelected)="handleSelection($event)">
25
+ * </lx-basic-dropdown>
26
+ * ```
27
+ */
6
28
  export declare class BasicDropdownComponent extends KeyboardSelectDirective implements AfterViewInit {
7
29
  static isNewItem(items: any[], term: string, key?: string): boolean;
8
30
  readonly NAME = "BasicDropdownComponent";
31
+ /**
32
+ * Array of options to display in the dropdown.
33
+ */
9
34
  options: any[];
35
+ /**
36
+ * Index of the option to be selected initially.
37
+ * @default -1
38
+ */
10
39
  initiallySelectedIndex: number;
40
+ /**
41
+ * Property name to use as the display label for each option.
42
+ */
11
43
  labelKey?: string;
44
+ /**
45
+ * Property name to use as the unique identifier for each option.
46
+ */
12
47
  itemKey?: string;
48
+ /**
49
+ * Placeholder text to display when no option is selected.
50
+ */
13
51
  placeholder?: string;
52
+ /**
53
+ * Whether the dropdown is in a loading state.
54
+ * @default false
55
+ */
14
56
  loading: boolean;
57
+ /**
58
+ * Label for the "create new option" functionality.
59
+ */
15
60
  newOptionLabel: string;
61
+ /**
62
+ * Padding variant for the dropdown items.
63
+ * @default 'default'
64
+ */
16
65
  padding?: SingleSelectPadding;
66
+ /**
67
+ * Whether to show the "create new option" button.
68
+ * @default false
69
+ */
17
70
  showCreateNewOption: boolean;
71
+ /**
72
+ * Map of disabled options, keyed by the item's unique identifier.
73
+ */
18
74
  disabledOptions: {
19
75
  [itemKey: string]: any;
20
76
  };
77
+ /**
78
+ * Whether to use CDK overlay positioning.
79
+ * @default false
80
+ */
21
81
  overlayPositioning: boolean;
82
+ /**
83
+ * Whether to truncate long option text.
84
+ * @default false
85
+ */
22
86
  truncateOptions: boolean;
87
+ /**
88
+ * Custom text to display when no results are found.
89
+ */
23
90
  noResultsText?: string;
91
+ /**
92
+ * Event emitted when an option is selected.
93
+ */
24
94
  onItemSelected: EventEmitter<any>;
95
+ /**
96
+ * Event emitted when the user scrolls to the bottom, triggering a request for more entries (infinite scroll).
97
+ */
25
98
  triggerRequestForMoreEntries: EventEmitter<void>;
99
+ /**
100
+ * Event emitted when a new option label is selected (for creating new items).
101
+ */
26
102
  newOptionLabelSelected: EventEmitter<string>;
103
+ /**
104
+ * Event emitted when the "create new option" button is clicked.
105
+ */
27
106
  createNewOptionSelected: EventEmitter<void>;
28
107
  optionTemplateRef: TemplateRef<any>;
29
108
  createNewOptionTemplateRef: TemplateRef<any>;
@@ -1,11 +1,47 @@
1
1
  import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
+ /**
4
+ * Renders a dropdown item with label and optional description.
5
+ * Supports text highlighting and custom styling options.
6
+ *
7
+ * ### Projection slots
8
+ * - `optionLabelSuffix`: Template to append to the label (e.g., badges, icons)
9
+ *
10
+ * ### Example
11
+ * @example
12
+ * ```html
13
+ * <lx-basic-dropdown-item
14
+ * label="Option Name"
15
+ * description="Additional details"
16
+ * highlightTerm="search">
17
+ * <ng-template #optionLabelSuffix>
18
+ * <span class="badge">New</span>
19
+ * </ng-template>
20
+ * </lx-basic-dropdown-item>
21
+ * ```
22
+ */
3
23
  export declare class BasicDropdownItemComponent {
24
+ /** The main text displayed for the dropdown item. */
4
25
  label: string;
26
+ /** Optional secondary text displayed below the label. */
5
27
  description?: string;
28
+ /** Term to highlight in the label and optionally in the description. */
6
29
  highlightTerm?: string;
30
+ /**
31
+ * Font weight for the label text.
32
+ * @default 'bold'
33
+ */
7
34
  labelFontWeight: 'bold' | 'normal';
35
+ /**
36
+ * Font style for the description text.
37
+ * @default 'normal'
38
+ */
8
39
  descriptionFontStyle: 'italic' | 'normal';
40
+ /**
41
+ * Styling options for the description text.
42
+ * - `maxLines`: Maximum number of lines before truncation.
43
+ * - `shouldHighlightTerm`: Whether to highlight the search term in the description.
44
+ */
9
45
  descriptionStyleOptions?: {
10
46
  maxLines?: number;
11
47
  shouldHighlightTerm?: boolean;
@@ -12,11 +12,29 @@ type ViewBreadcrumb = Breadcrumb | EllipsedBreadcrumb;
12
12
  /**
13
13
  * @deprecated Use the `ui5-breadcrumbs` instead.
14
14
  *
15
- * Breadcrumb component is used to show a list of labels, usually to show the path of user's navigation.
15
+ * Breadcrumb component displays a list of labels showing the navigation path.
16
+ * Supports ellipsing consecutive items into a dropdown for space efficiency.
17
+ *
18
+ * ### Example
19
+ * @example
20
+ * ```html
21
+ * <lx-breadcrumb [breadcrumbs]="breadcrumbs"></lx-breadcrumb>
22
+ * ```
23
+ *
24
+ * ```ts
25
+ * breadcrumbs: Breadcrumb[] = [
26
+ * { label: 'Home', onClick: (b) => this.navigate(b) },
27
+ * { label: 'Products', onClick: (b) => this.navigate(b) },
28
+ * { label: 'Category', ellipsed: true },
29
+ * { label: 'Subcategory', ellipsed: true },
30
+ * { label: 'Item Details' }
31
+ * ];
32
+ * ```
16
33
  */
17
34
  export declare class BreadcrumbComponent implements OnChanges {
18
35
  /**
19
- * Breadcrumbs array to build the component.
36
+ * Array of breadcrumb items to display. Consecutive items with `ellipsed: true` are grouped into a dropdown.
37
+ * @default []
20
38
  */
21
39
  breadcrumbs: Breadcrumb[];
22
40
  /** @internal */
@@ -4,12 +4,46 @@ import { TooltipDirective } from '../../../core-ui/tooltip/tooltip.directive';
4
4
  import { KeyboardActionSourceDirective } from '../../directives/keyboard-action-source.directive';
5
5
  import { OptionComponent } from '../option/option.component';
6
6
  import * as i0 from "@angular/core";
7
+ /**
8
+ * A dropdown component using CDK Overlay with keyboard navigation support.
9
+ * Manages option selection, highlighting, and sub-dropdown interactions.
10
+ *
11
+ * ### Projection slots
12
+ * - `[lxKeyboardActionSource]`: The trigger element (e.g., button) that opens the dropdown.
13
+ * - Default slot: Dropdown options (`lx-option` components).
14
+ *
15
+ * ### Example
16
+ * @example
17
+ * ```html
18
+ * <lx-cdk-options-dropdown [open]="isOpen" align="left" maxHeight="300px">
19
+ * <button lxKeyboardActionSource>Select Option</button>
20
+ * <lx-option [value]="1">Option 1</lx-option>
21
+ * <lx-option [value]="2">Option 2</lx-option>
22
+ * </lx-cdk-options-dropdown>
23
+ * ```
24
+ */
7
25
  export declare class CdkOptionsDropdownComponent implements AfterViewInit, OnDestroy {
8
26
  private changeDetection;
9
27
  dropdownContainer?: ElementRef<HTMLElement>;
28
+ /**
29
+ * Horizontal alignment of the dropdown relative to its trigger.
30
+ * @default 'right'
31
+ */
10
32
  align: 'right' | 'left';
33
+ /**
34
+ * Whether to close the dropdown when the window is scrolled.
35
+ * @default false
36
+ */
11
37
  closeOnScroll: boolean;
38
+ /**
39
+ * Whether the dropdown trigger is disabled.
40
+ * @default false
41
+ */
12
42
  disabled: boolean;
43
+ /**
44
+ * Maximum height of the dropdown container. Use 'none' for no limit.
45
+ * @default 'none'
46
+ */
13
47
  maxHeight: string;
14
48
  set open(value: boolean);
15
49
  get open(): boolean;
@@ -3,9 +3,30 @@ import { AfterViewInit, ChangeDetectorRef, ElementRef, OnDestroy, QueryList } fr
3
3
  import { Subject } from 'rxjs';
4
4
  import { OptionComponent } from '../option/option.component';
5
5
  import * as i0 from "@angular/core";
6
+ /**
7
+ * A nested sub-dropdown that appears next to a parent option.
8
+ * Opens on hover or keyboard navigation and supports both mouse and keyboard interactions.
9
+ *
10
+ * ### Projection slots
11
+ * - Default slot: Nested dropdown options (`lx-option` components).
12
+ *
13
+ * ### Example
14
+ * @example
15
+ * ```html
16
+ * <lx-cdk-options-sub-dropdown [trigger]="parentOption" align="right">
17
+ * <lx-option [value]="1">Sub-option 1</lx-option>
18
+ * <lx-option [value]="2">Sub-option 2</lx-option>
19
+ * </lx-cdk-options-sub-dropdown>
20
+ * ```
21
+ */
6
22
  export declare class CdkOptionsSubDropdownComponent implements AfterViewInit, OnDestroy {
7
23
  private changeDetection;
24
+ /** The parent option component that triggers this sub-dropdown. */
8
25
  trigger: OptionComponent;
26
+ /**
27
+ * Horizontal alignment of the sub-dropdown relative to the trigger option.
28
+ * @default 'right'
29
+ */
9
30
  align: 'right' | 'left';
10
31
  options: QueryList<OptionComponent>;
11
32
  overlay: CdkConnectedOverlay;
@@ -5,22 +5,75 @@ import * as i0 from "@angular/core";
5
5
  export type CurrencyInputMode = 'view' | 'edit';
6
6
  export type CurrencyIconPosition = 'first' | 'end' | 'none';
7
7
  export type DecimalSeparator = ',' | '.';
8
+ /**
9
+ * Currency input field with locale-aware formatting and validation.
10
+ *
11
+ * Supports both view and edit modes with configurable currency symbols, decimal separators, and number types.
12
+ *
13
+ * ### Example
14
+ * @example
15
+ * ```html
16
+ * <lx-currency-input
17
+ * [code]="'USD'"
18
+ * [data]="1234.56"
19
+ * [mode]="'edit'"
20
+ * [fieldDefinitionType]="'DOUBLE'"
21
+ * [decimalSeparator]="'.'"
22
+ * [iconPosition]="'first'"
23
+ * (onChange)="handleValueChange($event)"
24
+ * ></lx-currency-input>
25
+ * ```
26
+ */
8
27
  export declare class CurrencyInputComponent implements AfterViewInit, OnDestroy, ControlValueAccessor, OnInit {
9
28
  private changeDetector;
29
+ /** ISO currency code to display as a symbol (e.g., 'USD', 'EUR'). */
10
30
  code: string | null;
31
+ /**
32
+ * Character used as decimal separator in input.
33
+ * @default '.'
34
+ */
11
35
  decimalSeparator: DecimalSeparator;
36
+ /** Placeholder text shown when the input is empty. */
12
37
  placeholder: string;
38
+ /**
39
+ * The numeric value of the input.
40
+ * @default 0
41
+ */
13
42
  data: number;
43
+ /** Optional ID attribute for the input element. */
14
44
  inputId?: string;
15
45
  /** @internal */
16
46
  data$: Observable<number>;
47
+ /**
48
+ * Whether the input is disabled.
49
+ * @default false
50
+ */
17
51
  disabled: boolean;
52
+ /**
53
+ * Display mode of the component.
54
+ * @default 'edit'
55
+ */
18
56
  mode: CurrencyInputMode;
57
+ /** Numeric type allowed - DOUBLE for decimals, INTEGER for whole numbers. */
19
58
  fieldDefinitionType: 'DOUBLE' | 'INTEGER';
59
+ /**
60
+ * Position of the currency symbol relative to the value.
61
+ * @default 'first'
62
+ */
20
63
  iconPosition: CurrencyIconPosition;
64
+ /**
65
+ * Angular decimal pipe format string.
66
+ * @default '1.2-2'
67
+ */
21
68
  format: string;
69
+ /**
70
+ * Whether to visually mark the input as invalid.
71
+ * @default false
72
+ */
22
73
  markInvalid: boolean;
74
+ /** Emitted when the input loses focus. */
23
75
  onFocusLost: EventEmitter<boolean>;
76
+ /** Emitted when the numeric value changes. */
24
77
  onChange: EventEmitter<number>;
25
78
  /** @internal */
26
79
  private currencyInput;
@@ -1,7 +1,23 @@
1
1
  import { OnInit } from '@angular/core';
2
2
  import { Observable } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
+ /**
5
+ * Displays a currency symbol based on an ISO currency code.
6
+ *
7
+ * Converts currency codes (e.g., 'USD', 'EUR') to their symbolic representations ($, €).
8
+ *
9
+ * ### Example
10
+ * @example
11
+ * ```html
12
+ * <lx-currency-symbol [code]="'USD'"></lx-currency-symbol>
13
+ * <lx-currency-symbol [code]="'EUR'"></lx-currency-symbol>
14
+ * ```
15
+ */
4
16
  export declare class CurrencySymbolComponent implements OnInit {
17
+ /**
18
+ * ISO currency code (e.g., 'USD', 'EUR', 'GBP').
19
+ * Falls back to displaying the code itself if no symbol is mapped.
20
+ */
5
21
  code: string | null;
6
22
  code$: Observable<string>;
7
23
  currency$: Observable<string>;