@design-system-rte/angular 0.13.0 → 0.14.0

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 (52) hide show
  1. package/esm2022/lib/components/badge/badge.component.mjs +3 -3
  2. package/esm2022/lib/components/badge/badge.directive.mjs +3 -3
  3. package/esm2022/lib/components/banner/banner.component.mjs +3 -3
  4. package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +10 -13
  5. package/esm2022/lib/components/button/button.component.mjs +3 -3
  6. package/esm2022/lib/components/checkbox/checkbox.component.mjs +4 -5
  7. package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +5 -6
  8. package/esm2022/lib/components/chip/chip.component.mjs +3 -3
  9. package/esm2022/lib/components/divider/divider.component.mjs +3 -3
  10. package/esm2022/lib/components/dropdown/dropdown-item/dropdown-item.component.mjs +41 -0
  11. package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +44 -0
  12. package/esm2022/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.mjs +31 -0
  13. package/esm2022/lib/components/dropdown/dropdown.directive.mjs +148 -0
  14. package/esm2022/lib/components/dropdown/dropdown.module.mjs +19 -0
  15. package/esm2022/lib/components/dropdown/index.mjs +8 -0
  16. package/esm2022/lib/components/grid/col/col.directive.mjs +3 -3
  17. package/esm2022/lib/components/grid/grid.directive.mjs +3 -3
  18. package/esm2022/lib/components/icon/icon.component.mjs +3 -3
  19. package/esm2022/lib/components/icon/icon.service.mjs +3 -3
  20. package/esm2022/lib/components/icon-button/icon-button.component.mjs +5 -5
  21. package/esm2022/lib/components/icon-button-toggle/icon-button-toggle.component.mjs +3 -3
  22. package/esm2022/lib/components/link/link.component.mjs +3 -3
  23. package/esm2022/lib/components/popover/popover.component.mjs +3 -3
  24. package/esm2022/lib/components/popover/popover.directive.mjs +3 -3
  25. package/esm2022/lib/components/radio-button/radio-button.component.mjs +3 -3
  26. package/esm2022/lib/components/radio-button-group/radio-button-group.component.mjs +3 -3
  27. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +3 -3
  28. package/esm2022/lib/components/split-button/split-button.component.mjs +3 -3
  29. package/esm2022/lib/components/switch/switch.component.mjs +3 -3
  30. package/esm2022/lib/components/text-input/text-input.component.mjs +3 -3
  31. package/esm2022/lib/components/textarea/textarea.component.mjs +3 -3
  32. package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
  33. package/esm2022/lib/components/tooltip/tooltip.directive.mjs +3 -3
  34. package/esm2022/lib/services/dropdown.service.mjs +81 -0
  35. package/esm2022/lib/services/overlay.service.mjs +3 -3
  36. package/fesm2022/design-system-rte-angular.mjs +423 -98
  37. package/fesm2022/design-system-rte-angular.mjs.map +1 -1
  38. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +0 -1
  39. package/lib/components/checkbox/checkbox.component.d.ts +1 -2
  40. package/lib/components/checkbox-group/checkbox-group.component.d.ts +1 -2
  41. package/lib/components/chip/chip.component.d.ts +1 -1
  42. package/lib/components/dropdown/dropdown-item/dropdown-item.component.d.ts +25 -0
  43. package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +20 -0
  44. package/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.d.ts +11 -0
  45. package/lib/components/dropdown/dropdown.directive.d.ts +47 -0
  46. package/lib/components/dropdown/dropdown.module.d.ts +10 -0
  47. package/lib/components/dropdown/index.d.ts +5 -0
  48. package/lib/components/popover/popover.component.d.ts +1 -1
  49. package/lib/components/text-input/text-input.component.d.ts +1 -1
  50. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  51. package/lib/services/dropdown.service.d.ts +27 -0
  52. package/package.json +4 -4
@@ -4,7 +4,6 @@ export declare class BreadcrumbsComponent {
4
4
  readonly items: import("@angular/core").InputSignal<BreadcrumbProps[]>;
5
5
  readonly ariaLabel: import("@angular/core").InputSignal<string>;
6
6
  readonly truncatedItems: import("@angular/core").Signal<BreadcrumbsTruncatedItems | null>;
7
- readonly truncatedItemsText: import("@angular/core").Signal<string>;
8
7
  static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbsComponent, never>;
9
8
  static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbsComponent, "rte-breadcrumbs", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
10
9
  }
@@ -11,8 +11,7 @@ export declare class CheckboxComponent {
11
11
  readonly errorMessage: import("@angular/core").InputSignal<string>;
12
12
  readonly readOnly: import("@angular/core").InputSignal<boolean>;
13
13
  readonly checked: import("@angular/core").InputSignal<boolean>;
14
- readonly groupName: import("@angular/core").InputSignal<string>;
15
14
  onKeydown(event: KeyboardEvent): void;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "rte-checkbox", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "groupName": { "alias": "groupName"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent, "rte-checkbox", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "showLabel": { "alias": "showLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
17
  }
@@ -1,6 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class CheckboxGroupComponent {
3
- readonly groupName: import("@angular/core").InputSignal<string>;
4
3
  readonly items: import("@angular/core").InputSignal<string[]>;
5
4
  readonly direction: import("@angular/core").InputSignal<string>;
6
5
  readonly showItemsLabel: import("@angular/core").InputSignal<boolean>;
@@ -14,5 +13,5 @@ export declare class CheckboxGroupComponent {
14
13
  readonly readOnly: import("@angular/core").InputSignal<boolean>;
15
14
  readonly isDisplayed: import("@angular/core").Signal<boolean>;
16
15
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxGroupComponent, never>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxGroupComponent, "rte-checkbox-group", never, { "groupName": { "alias": "groupName"; "required": true; "isSignal": true; }; "items": { "alias": "items"; "required": true; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "showItemsLabel": { "alias": "showItemsLabel"; "required": false; "isSignal": true; }; "groupTitle": { "alias": "groupTitle"; "required": false; "isSignal": true; }; "showGroupTitle": { "alias": "showGroupTitle"; "required": false; "isSignal": true; }; "groupHelpText": { "alias": "groupHelpText"; "required": false; "isSignal": true; }; "showHelpText": { "alias": "showHelpText"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxGroupComponent, "rte-checkbox-group", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "showItemsLabel": { "alias": "showItemsLabel"; "required": false; "isSignal": true; }; "groupTitle": { "alias": "groupTitle"; "required": false; "isSignal": true; }; "showGroupTitle": { "alias": "showGroupTitle"; "required": false; "isSignal": true; }; "groupHelpText": { "alias": "groupHelpText"; "required": false; "isSignal": true; }; "showHelpText": { "alias": "showHelpText"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18
17
  }
@@ -4,7 +4,7 @@ export declare class ChipComponent {
4
4
  readonly label: import("@angular/core").InputSignal<string>;
5
5
  readonly selected: import("@angular/core").InputSignal<boolean>;
6
6
  readonly disabled: import("@angular/core").InputSignal<boolean>;
7
- readonly type: import("@angular/core").InputSignal<"input" | "single" | "multi">;
7
+ readonly type: import("@angular/core").InputSignal<"input" | "multi" | "single">;
8
8
  readonly compactSpacing: import("@angular/core").InputSignal<boolean>;
9
9
  readonly click: import("@angular/core").OutputEmitterRef<Event>;
10
10
  readonly close: import("@angular/core").OutputEmitterRef<Event>;
@@ -0,0 +1,25 @@
1
+ import { EventEmitter } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export interface DropdownItemConfig {
4
+ id?: string;
5
+ label: string;
6
+ leftIcon?: string;
7
+ trailingText?: string;
8
+ disabled?: boolean;
9
+ hasSeparator?: boolean;
10
+ hasIndent?: boolean;
11
+ link?: string;
12
+ click?: EventEmitter<Event>;
13
+ }
14
+ export declare class DropdownItemComponent {
15
+ readonly item: import("@angular/core").InputSignal<DropdownItemConfig | undefined>;
16
+ readonly menuId: import("@angular/core").InputSignal<string | undefined>;
17
+ readonly itemEvent: import("@angular/core").OutputEmitterRef<{
18
+ event: Event;
19
+ id: string;
20
+ }>;
21
+ handleClick(event: Event): void;
22
+ handleKeyDown(event: KeyboardEvent): void;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownItemComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownItemComponent, "rte-dropdown-item", never, { "item": { "alias": "item"; "required": false; "isSignal": true; }; "menuId": { "alias": "menuId"; "required": false; "isSignal": true; }; }, { "itemEvent": "itemEvent"; }, never, never, true, never>;
25
+ }
@@ -0,0 +1,20 @@
1
+ import { DropdownItemConfig } from "../dropdown-item/dropdown-item.component";
2
+ import * as i0 from "@angular/core";
3
+ export declare class DropdownMenuComponent {
4
+ private readonly elementRef;
5
+ private readonly dropdownService;
6
+ readonly items: import("@angular/core").InputSignal<DropdownItemConfig[]>;
7
+ readonly menuId: import("@angular/core").InputSignal<string | undefined>;
8
+ readonly itemEvent: import("@angular/core").OutputEmitterRef<{
9
+ event: Event;
10
+ id: string;
11
+ }>;
12
+ getChildMenuId(itemIndex: number): string;
13
+ handleItemEvent(itemEvent: {
14
+ event: Event;
15
+ id: string;
16
+ }): void;
17
+ onKeyDown(event: KeyboardEvent): void;
18
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownMenuComponent, never>;
19
+ static ɵcmp: i0.ɵɵComponentDeclaration<DropdownMenuComponent, "rte-dropdown-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "menuId": { "alias": "menuId"; "required": false; "isSignal": true; }; }, { "itemEvent": "itemEvent"; }, never, never, true, never>;
20
+ }
@@ -0,0 +1,11 @@
1
+ import { ElementRef } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export declare class DropdownTriggerDirective {
4
+ readonly elementRef: ElementRef<any>;
5
+ readonly dropdownKeyDown: import("@angular/core").OutputEmitterRef<KeyboardEvent>;
6
+ readonly dropdownTriggered: import("@angular/core").OutputEmitterRef<Event>;
7
+ onDropdownTriggered(event: Event): void;
8
+ onKeyDown(event: KeyboardEvent): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownTriggerDirective, never>;
10
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownTriggerDirective, "[rteDropdownTrigger]", never, {}, { "dropdownKeyDown": "dropdownKeyDown"; "dropdownTriggered": "dropdownTriggered"; }, never, never, true, never>;
11
+ }
@@ -0,0 +1,47 @@
1
+ import { AfterContentInit, ChangeDetectorRef, ComponentRef, DestroyRef, ElementRef, OnDestroy, Renderer2, ViewContainerRef } from "@angular/core";
2
+ import { Position } from "@design-system-rte/core/components/common/common-types";
3
+ import { DropdownService } from "../../services/dropdown.service";
4
+ import { OverlayService } from "../../services/overlay.service";
5
+ import { DropdownMenuComponent } from "./dropdown-menu/dropdown-menu.component";
6
+ import { DropdownTriggerDirective } from "./dropdown-trigger/dropdown-trigger.directive";
7
+ import * as i0 from "@angular/core";
8
+ export declare class DropdownDirective implements AfterContentInit, OnDestroy {
9
+ private static idCounter;
10
+ readonly trigger: import("@angular/core").Signal<DropdownTriggerDirective | undefined>;
11
+ readonly menu: import("@angular/core").Signal<DropdownMenuComponent | undefined>;
12
+ readonly rteDropdownPosition: import("@angular/core").InputSignal<Position>;
13
+ readonly rteDropdownIsOpen: import("@angular/core").InputSignal<boolean>;
14
+ readonly rteDropdownOffset: import("@angular/core").InputSignal<number>;
15
+ readonly dropdownId: string;
16
+ readonly menuEvent: import("@angular/core").OutputEmitterRef<{
17
+ event: Event;
18
+ id: string;
19
+ }>;
20
+ readonly overlayService: OverlayService;
21
+ readonly dropdownService: DropdownService;
22
+ readonly viewContainerRef: ViewContainerRef;
23
+ readonly elementRef: ElementRef<any>;
24
+ readonly renderer: Renderer2;
25
+ readonly hostElement: HTMLElement;
26
+ readonly destroyRef: DestroyRef;
27
+ readonly cdr: ChangeDetectorRef;
28
+ constructor();
29
+ dropdownMenuRef: ComponentRef<DropdownMenuComponent> | null;
30
+ onTrigger(): void;
31
+ onTriggerKeyEvent(event: KeyboardEvent): void;
32
+ onMenuEvent(event: {
33
+ event: Event;
34
+ id: string;
35
+ }): void;
36
+ ngAfterContentInit(): void;
37
+ showDropdownMenu(): void;
38
+ private assignItems;
39
+ private positionDropdownMenu;
40
+ ngOnDestroy(): void;
41
+ private readonly handleClickOutside;
42
+ private addClickOutsideListener;
43
+ private removeClickOutsideListener;
44
+ private closeDropdown;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownDirective, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownDirective, "[rteDropdown]", never, { "rteDropdownPosition": { "alias": "rteDropdownPosition"; "required": false; "isSignal": true; }; "rteDropdownIsOpen": { "alias": "rteDropdownIsOpen"; "required": false; "isSignal": true; }; "rteDropdownOffset": { "alias": "rteDropdownOffset"; "required": false; "isSignal": true; }; }, { "menuEvent": "menuEvent"; }, ["trigger", "menu"], never, true, never>;
47
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./dropdown.directive";
3
+ import * as i2 from "./dropdown-trigger/dropdown-trigger.directive";
4
+ import * as i3 from "./dropdown-menu/dropdown-menu.component";
5
+ import * as i4 from "./dropdown-item/dropdown-item.component";
6
+ export declare class DropdownModule {
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DropdownModule, never, [typeof i1.DropdownDirective, typeof i2.DropdownTriggerDirective, typeof i3.DropdownMenuComponent, typeof i4.DropdownItemComponent], [typeof i1.DropdownDirective, typeof i2.DropdownTriggerDirective, typeof i3.DropdownMenuComponent, typeof i4.DropdownItemComponent]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<DropdownModule>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export { DropdownModule } from "./dropdown.module";
2
+ export { DropdownDirective } from "./dropdown.directive";
3
+ export { DropdownTriggerDirective } from "./dropdown-trigger/dropdown-trigger.directive";
4
+ export { DropdownMenuComponent } from "./dropdown-menu/dropdown-menu.component";
5
+ export { DropdownItemComponent } from "./dropdown-item/dropdown-item.component";
@@ -3,7 +3,7 @@ import { PopoverAlignment } from "@design-system-rte/core/components/popover/pop
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class PopoverComponent implements AfterViewInit {
5
5
  readonly primaryButtonLabel: import("@angular/core").InputSignal<string>;
6
- readonly position: import("@angular/core").InputSignal<"top" | "bottom" | "left" | "right">;
6
+ readonly position: import("@angular/core").InputSignal<"top" | "left" | "right" | "bottom">;
7
7
  readonly alignment: import("@angular/core").InputSignal<PopoverAlignment | undefined>;
8
8
  readonly content: import("@angular/core").InputSignal<string | undefined>;
9
9
  readonly arrow: import("@angular/core").InputSignal<boolean | undefined>;
@@ -28,7 +28,7 @@ export declare class TextInputComponent {
28
28
  readonly isHiddenInput: import("@angular/core").WritableSignal<boolean>;
29
29
  readonly displayedLeftIcon: import("@angular/core").Signal<"add" | "apps" | "asterisk" | "bluetooth" | "check" | "close" | "compare" | "cut" | "download" | "exclamation" | "filter" | "forward" | "fullscreen" | "history" | "language" | "link" | "list" | "login" | "logout" | "menu" | "monitoring" | "ohm" | "paste" | "public" | "publish" | "radar" | "redo" | "reload" | "remove" | "reply" | "route" | "search" | "sort" | "timeline" | "tune" | "undo" | "upload" | "water" | "wifi" | "windmill" | "alt-route" | "arrow-alt-down" | "arrow-alt-down-left" | "arrow-alt-down-right" | "arrow-alt-left" | "arrow-alt-right" | "arrow-alt-up" | "arrow-alt-up-left" | "arrow-alt-up-right" | "arrow-angle-down-left" | "arrow-angle-down-right" | "arrow-angle-up-left" | "arrow-angle-up-right" | "arrow-chevron-down" | "arrow-chevron-left" | "arrow-chevron-right" | "arrow-chevron-up" | "arrow-double-down" | "arrow-double-left" | "arrow-double-right" | "arrow-double-up" | "arrow-down" | "arrow-down-left" | "arrow-down-right" | "arrow-drop-down" | "arrow-drop-up" | "arrow-left" | "arrow-right" | "arrow-up" | "arrow-up-left" | "arrow-up-right" | "attach-file" | "battery-alt-empty" | "battery-alt-full" | "battery-charging" | "battery-empty" | "battery-full" | "bluetooth-off" | "chart-bar" | "chart-bar-stacked" | "check-indeterminate" | "check-small" | "checkbox-empty" | "copy-all" | "crisis-alert" | "download-done" | "drag-handle" | "drag-indicator" | "explore-travel" | "external-link" | "filter-off" | "first-page" | "fullscreen-exit" | "hourglass-empty" | "info-i" | "last-page" | "link-off" | "location-disabled" | "menu-open" | "more-down" | "more-horiz" | "more-up" | "more-vert" | "open-in-full" | "play-pause" | "power-input" | "power-plug" | "power-settings" | "priority-high" | "question-mark" | "radio-button-empty" | "reply-all" | "side-navigation" | "support-agent" | "trending-down" | "trending-flat" | "trending-up" | "water-alt" | "wifi-off" | "zoom-in" | "zoom-out" | "add-circle" | "admin-panel-settings" | "analytics" | "archive" | "arrow-circle-chevron-down" | "arrow-circle-chevron-left" | "arrow-circle-chevron-right" | "arrow-circle-chevron-up" | "arrow-circle-down" | "arrow-circle-left" | "arrow-circle-right" | "arrow-circle-up" | "article" | "assignment-complete" | "assignment" | "battery-alert" | "battery-charging-full" | "bolt-alt-circle" | "bolt-alt" | "bolt-circle" | "bolt" | "bookmark" | "bookmarks" | "build" | "calendar-available" | "calendar-busy" | "calendar-month" | "calendar-today" | "call" | "cancel" | "category" | "chart-add" | "chart-area" | "chart-pie" | "chart-table" | "chat-alt" | "chat-alt-unread" | "chat" | "chat-unread" | "check-circle" | "checkbox" | "checkbox-indeterminate" | "clock" | "cloud-download" | "cloud" | "cloud-off" | "cloud-upload" | "comment-add" | "comment" | "copy" | "dangerous" | "dashboard" | "database" | "delete" | "desktop" | "devices" | "draft" | "eco" | "edit" | "electric-meter" | "error" | "explore" | "explore-off" | "fast-forward" | "fast-rewind" | "feedback" | "file-copy" | "file-download" | "file-upload" | "filter-alt" | "filter-alt-off" | "fire" | "fit-screen" | "flag" | "flash" | "flash-off" | "folder-add" | "folder" | "folder-move" | "folder-open" | "folder-shared" | "forum" | "group-add" | "group" | "groups" | "headphones" | "heart" | "help" | "home" | "hourglass" | "image-broken" | "image" | "image-gallery" | "inbox" | "info" | "keep" | "keep-off" | "label" | "laptop" | "left-panel-close" | "left-panel-open" | "light-off" | "lightbulb-alt" | "lightbulb-circle" | "lightbulb" | "list-alt" | "location-me" | "location-off" | "location-on" | "lock" | "lock-open" | "lock-open-right" | "mail" | "mail-unread" | "map" | "mic" | "mic-off" | "mode-dark" | "mode-light" | "notification" | "notification-important" | "notification-off" | "notification-unread" | "palette" | "pause-circle" | "pause" | "photo-camera" | "play-circle" | "play" | "power" | "power-off" | "power-plug-connect" | "power-settings-circle" | "power-solar" | "power-switch" | "power-wind" | "print" | "right-panel-close" | "right-panel-open" | "save" | "send" | "settings" | "share" | "skip-next" | "skip-previous" | "smartphone" | "star" | "sticky-note" | "stop-circle" | "stop" | "subtitles" | "text-snippet" | "trash-restore" | "unarchive" | "user-add" | "user-circle" | "user" | "user-settings" | "verified" | "video-camera" | "video-camera-off" | "video-gallery" | "view-agenda" | "view-column" | "view-grid" | "view-kanban" | "view-module" | "view-timeline" | "visibility-hide" | "visibility-show" | "volume-down" | "volume-mute" | "volume-off" | "volume-up" | "warning" | "waterdrop" | null>;
30
30
  readonly displayCounter: import("@angular/core").Signal<boolean>;
31
- readonly rightIconName: import("@angular/core").Signal<"" | "close" | "visibility-show" | "visibility-hide">;
31
+ readonly rightIconName: import("@angular/core").Signal<"close" | "" | "visibility-show" | "visibility-hide">;
32
32
  readonly rightIconAriaLabel: import("@angular/core").Signal<"" | "show text" | "hide text" | "clear">;
33
33
  readonly shouldShowRightIcon: import("@angular/core").Signal<boolean>;
34
34
  private lastParentValue;
@@ -2,7 +2,7 @@ import { Alignment } from "@design-system-rte/core/common/common-types";
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TooltipComponent {
4
4
  readonly label: import("@angular/core").InputSignal<string>;
5
- readonly position: import("@angular/core").InputSignal<"top" | "bottom" | "left" | "right">;
5
+ readonly position: import("@angular/core").InputSignal<"top" | "left" | "right" | "bottom">;
6
6
  readonly alignment: import("@angular/core").InputSignal<Alignment>;
7
7
  readonly arrow: import("@angular/core").InputSignal<boolean>;
8
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TooltipComponent, never>;
@@ -0,0 +1,27 @@
1
+ import { ElementRef } from "@angular/core";
2
+ import { BehaviorSubject, Observable } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export interface KeyboardHandlingOptions {
5
+ menuElement: ElementRef | null;
6
+ menuId: string;
7
+ itemIndex?: number;
8
+ }
9
+ export interface DropdownState {
10
+ activeMenuId: string;
11
+ }
12
+ export declare class DropdownService {
13
+ private readonly initialState;
14
+ state$: BehaviorSubject<DropdownState | null>;
15
+ readonly activeMenuId$: Observable<string | undefined>;
16
+ openMenu(menuId: string): void;
17
+ closeAllMenus(): void;
18
+ isMenuActive(menuId: string): Observable<boolean>;
19
+ reset(): void;
20
+ handleKeyboardInput(key: string, options: KeyboardHandlingOptions): void;
21
+ handleKeyboardNavigation(key: string, options: KeyboardHandlingOptions): void;
22
+ private focusNextElement;
23
+ private focusPreviousElement;
24
+ private getFocusableElements;
25
+ static ɵfac: i0.ɵɵFactoryDeclaration<DropdownService, never>;
26
+ static ɵprov: i0.ɵɵInjectableDeclaration<DropdownService>;
27
+ }
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@design-system-rte/angular",
3
- "version": "0.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "Angular components for the Design System RTE",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
9
9
  "peerDependencies": {
10
- "@angular/common": "^17.3.12",
11
- "@angular/core": "^17.3.12"
10
+ "@angular/common": "^18.2.14",
11
+ "@angular/core": "^18.2.14"
12
12
  },
13
13
  "dependencies": {
14
- "@design-system-rte/core": "^0.17.0",
14
+ "@design-system-rte/core": "^0.18.0",
15
15
  "tslib": "^2.3.0"
16
16
  },
17
17
  "sideEffects": false,