@nanahoshi/mona-ui 0.1.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 (134) hide show
  1. package/README.md +25 -0
  2. package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +590 -0
  3. package/fesm2022/nanahoshi-mona-ui-avatar.mjs +168 -0
  4. package/fesm2022/nanahoshi-mona-ui-breadcrumb.mjs +220 -0
  5. package/fesm2022/nanahoshi-mona-ui-button-group.mjs +225 -0
  6. package/fesm2022/nanahoshi-mona-ui-button.mjs +497 -0
  7. package/fesm2022/nanahoshi-mona-ui-calendar.mjs +1569 -0
  8. package/fesm2022/nanahoshi-mona-ui-check-box.mjs +339 -0
  9. package/fesm2022/nanahoshi-mona-ui-chip.mjs +453 -0
  10. package/fesm2022/nanahoshi-mona-ui-circular-progress-bar.mjs +200 -0
  11. package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +853 -0
  12. package/fesm2022/nanahoshi-mona-ui-color-palette.mjs +923 -0
  13. package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +495 -0
  14. package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +686 -0
  15. package/fesm2022/nanahoshi-mona-ui-common.mjs +642 -0
  16. package/fesm2022/nanahoshi-mona-ui-contextmenu.mjs +485 -0
  17. package/fesm2022/nanahoshi-mona-ui-date-input.mjs +132 -0
  18. package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +460 -0
  19. package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +659 -0
  20. package/fesm2022/nanahoshi-mona-ui-dialog.mjs +828 -0
  21. package/fesm2022/nanahoshi-mona-ui-dropdown-button.mjs +523 -0
  22. package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +615 -0
  23. package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +701 -0
  24. package/fesm2022/nanahoshi-mona-ui-editor.mjs +1400 -0
  25. package/fesm2022/nanahoshi-mona-ui-expansion-panel.mjs +245 -0
  26. package/fesm2022/nanahoshi-mona-ui-fieldset.mjs +170 -0
  27. package/fesm2022/nanahoshi-mona-ui-filter.mjs +680 -0
  28. package/fesm2022/nanahoshi-mona-ui-grid-grid-footer-cell.component-B9SQH5N-.mjs +105 -0
  29. package/fesm2022/nanahoshi-mona-ui-grid-grid-footer-table-cell.directive-DlLwcCFT.mjs +42 -0
  30. package/fesm2022/nanahoshi-mona-ui-grid-grid-list.component-Dgea-O0X.mjs +130 -0
  31. package/fesm2022/nanahoshi-mona-ui-grid-grid-toggle.component-DIUutx9s.mjs +773 -0
  32. package/fesm2022/nanahoshi-mona-ui-grid-grid-virtual-list.component-DRHycGIh.mjs +240 -0
  33. package/fesm2022/nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-C3eZIaJK.mjs +5374 -0
  34. package/fesm2022/nanahoshi-mona-ui-grid.mjs +2 -0
  35. package/fesm2022/nanahoshi-mona-ui-internal-filter-input.mjs +87 -0
  36. package/fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs +154 -0
  37. package/fesm2022/nanahoshi-mona-ui-internal-list.mjs +1356 -0
  38. package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +2263 -0
  39. package/fesm2022/nanahoshi-mona-ui-internal.mjs +379 -0
  40. package/fesm2022/nanahoshi-mona-ui-list-box.mjs +630 -0
  41. package/fesm2022/nanahoshi-mona-ui-list-view.mjs +527 -0
  42. package/fesm2022/nanahoshi-mona-ui-list.mjs +4 -0
  43. package/fesm2022/nanahoshi-mona-ui-menubar.mjs +966 -0
  44. package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +641 -0
  45. package/fesm2022/nanahoshi-mona-ui-notification.mjs +536 -0
  46. package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +597 -0
  47. package/fesm2022/nanahoshi-mona-ui-pager.mjs +790 -0
  48. package/fesm2022/nanahoshi-mona-ui-placeholder.mjs +83 -0
  49. package/fesm2022/nanahoshi-mona-ui-popover.mjs +325 -0
  50. package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +1559 -0
  51. package/fesm2022/nanahoshi-mona-ui-popup.mjs +1321 -0
  52. package/fesm2022/nanahoshi-mona-ui-progress-bar.mjs +294 -0
  53. package/fesm2022/nanahoshi-mona-ui-query.mjs +175 -0
  54. package/fesm2022/nanahoshi-mona-ui-radio-button.mjs +339 -0
  55. package/fesm2022/nanahoshi-mona-ui-scroll-view.mjs +565 -0
  56. package/fesm2022/nanahoshi-mona-ui-slider.mjs +1049 -0
  57. package/fesm2022/nanahoshi-mona-ui-split-button.mjs +636 -0
  58. package/fesm2022/nanahoshi-mona-ui-splitter.mjs +843 -0
  59. package/fesm2022/nanahoshi-mona-ui-stepper.mjs +537 -0
  60. package/fesm2022/nanahoshi-mona-ui-switch.mjs +308 -0
  61. package/fesm2022/nanahoshi-mona-ui-tabs.mjs +664 -0
  62. package/fesm2022/nanahoshi-mona-ui-text-area.mjs +111 -0
  63. package/fesm2022/nanahoshi-mona-ui-text-box.mjs +369 -0
  64. package/fesm2022/nanahoshi-mona-ui-theme.mjs +314 -0
  65. package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +450 -0
  66. package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +723 -0
  67. package/fesm2022/nanahoshi-mona-ui-tooltip.mjs +716 -0
  68. package/fesm2022/nanahoshi-mona-ui-tree-view.mjs +733 -0
  69. package/fesm2022/nanahoshi-mona-ui-window.mjs +1329 -0
  70. package/fesm2022/nanahoshi-mona-ui.mjs +9 -0
  71. package/package.json +289 -0
  72. package/types/nanahoshi-mona-ui-auto-complete.d.ts +223 -0
  73. package/types/nanahoshi-mona-ui-avatar.d.ts +642 -0
  74. package/types/nanahoshi-mona-ui-breadcrumb.d.ts +70 -0
  75. package/types/nanahoshi-mona-ui-button-group.d.ts +77 -0
  76. package/types/nanahoshi-mona-ui-button.d.ts +111 -0
  77. package/types/nanahoshi-mona-ui-calendar.d.ts +262 -0
  78. package/types/nanahoshi-mona-ui-check-box.d.ts +133 -0
  79. package/types/nanahoshi-mona-ui-chip.d.ts +130 -0
  80. package/types/nanahoshi-mona-ui-circular-progress-bar.d.ts +113 -0
  81. package/types/nanahoshi-mona-ui-color-gradient.d.ts +201 -0
  82. package/types/nanahoshi-mona-ui-color-palette.d.ts +102 -0
  83. package/types/nanahoshi-mona-ui-color-picker.d.ts +156 -0
  84. package/types/nanahoshi-mona-ui-combo-box.d.ts +232 -0
  85. package/types/nanahoshi-mona-ui-common.d.ts +386 -0
  86. package/types/nanahoshi-mona-ui-contextmenu.d.ts +129 -0
  87. package/types/nanahoshi-mona-ui-date-input.d.ts +60 -0
  88. package/types/nanahoshi-mona-ui-date-picker.d.ts +177 -0
  89. package/types/nanahoshi-mona-ui-datetime-picker.d.ts +199 -0
  90. package/types/nanahoshi-mona-ui-dialog.d.ts +261 -0
  91. package/types/nanahoshi-mona-ui-dropdown-button.d.ts +159 -0
  92. package/types/nanahoshi-mona-ui-dropdown-list.d.ts +219 -0
  93. package/types/nanahoshi-mona-ui-dropdowns.d.ts +176 -0
  94. package/types/nanahoshi-mona-ui-editor.d.ts +113 -0
  95. package/types/nanahoshi-mona-ui-expansion-panel.d.ts +87 -0
  96. package/types/nanahoshi-mona-ui-fieldset.d.ts +68 -0
  97. package/types/nanahoshi-mona-ui-filter.d.ts +115 -0
  98. package/types/nanahoshi-mona-ui-grid.d.ts +1114 -0
  99. package/types/nanahoshi-mona-ui-internal-filter-input.d.ts +25 -0
  100. package/types/nanahoshi-mona-ui-internal-indicator-icon.d.ts +28 -0
  101. package/types/nanahoshi-mona-ui-internal-list.d.ts +269 -0
  102. package/types/nanahoshi-mona-ui-internal-tree.d.ts +391 -0
  103. package/types/nanahoshi-mona-ui-internal.d.ts +136 -0
  104. package/types/nanahoshi-mona-ui-list-box.d.ts +225 -0
  105. package/types/nanahoshi-mona-ui-list-view.d.ts +188 -0
  106. package/types/nanahoshi-mona-ui-list.d.ts +1 -0
  107. package/types/nanahoshi-mona-ui-menubar.d.ts +198 -0
  108. package/types/nanahoshi-mona-ui-multi-select.d.ts +247 -0
  109. package/types/nanahoshi-mona-ui-notification.d.ts +106 -0
  110. package/types/nanahoshi-mona-ui-numeric-text-box.d.ts +161 -0
  111. package/types/nanahoshi-mona-ui-pager.d.ts +238 -0
  112. package/types/nanahoshi-mona-ui-placeholder.d.ts +35 -0
  113. package/types/nanahoshi-mona-ui-popover.d.ts +130 -0
  114. package/types/nanahoshi-mona-ui-popup-menu.d.ts +412 -0
  115. package/types/nanahoshi-mona-ui-popup.d.ts +485 -0
  116. package/types/nanahoshi-mona-ui-progress-bar.d.ts +139 -0
  117. package/types/nanahoshi-mona-ui-query.d.ts +89 -0
  118. package/types/nanahoshi-mona-ui-radio-button.d.ts +128 -0
  119. package/types/nanahoshi-mona-ui-scroll-view.d.ts +166 -0
  120. package/types/nanahoshi-mona-ui-slider.d.ts +305 -0
  121. package/types/nanahoshi-mona-ui-split-button.d.ts +182 -0
  122. package/types/nanahoshi-mona-ui-splitter.d.ts +70 -0
  123. package/types/nanahoshi-mona-ui-stepper.d.ts +173 -0
  124. package/types/nanahoshi-mona-ui-switch.d.ts +125 -0
  125. package/types/nanahoshi-mona-ui-tabs.d.ts +158 -0
  126. package/types/nanahoshi-mona-ui-text-area.d.ts +42 -0
  127. package/types/nanahoshi-mona-ui-text-box.d.ts +164 -0
  128. package/types/nanahoshi-mona-ui-theme.d.ts +23 -0
  129. package/types/nanahoshi-mona-ui-time-picker.d.ts +184 -0
  130. package/types/nanahoshi-mona-ui-time-selector.d.ts +143 -0
  131. package/types/nanahoshi-mona-ui-tooltip.d.ts +130 -0
  132. package/types/nanahoshi-mona-ui-tree-view.d.ts +274 -0
  133. package/types/nanahoshi-mona-ui-window.d.ts +295 -0
  134. package/types/nanahoshi-mona-ui.d.ts +2 -0
@@ -0,0 +1,25 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit } from '@angular/core';
3
+ import { FilterChangeEvent } from '@nanahoshi/mona-ui/common';
4
+ import { Subject } from 'rxjs';
5
+
6
+ declare class FilterInputComponent implements OnInit {
7
+ #private;
8
+ protected readonly filter$: Subject<string>;
9
+ protected readonly filterText: _angular_core.WritableSignal<string>;
10
+ readonly debounce: _angular_core.InputSignal<number>;
11
+ readonly filter: _angular_core.InputSignal<string>;
12
+ readonly filterChange: _angular_core.OutputEmitterRef<FilterChangeEvent>;
13
+ readonly inputBlur: _angular_core.OutputEmitterRef<FocusEvent>;
14
+ readonly inputFocus: _angular_core.OutputEmitterRef<FocusEvent>;
15
+ readonly placeholder: _angular_core.InputSignal<string>;
16
+ readonly size: _angular_core.InputSignal<"large" | "medium" | "small" | null | undefined>;
17
+ constructor();
18
+ focus(): void;
19
+ ngOnInit(): void;
20
+ private setSubscriptions;
21
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterInputComponent, never>;
22
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterInputComponent, "mona-filter-input", never, { "debounce": { "alias": "debounce"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; "inputBlur": "inputBlur"; "inputFocus": "inputFocus"; }, never, never, true, never>;
23
+ }
24
+
25
+ export { FilterInputComponent };
@@ -0,0 +1,28 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
3
+ import { LucideIconInput } from '@lucide/angular';
4
+
5
+ type IndicatorIconPreset = "clear" | "dropdown" | "loading";
6
+ declare class IndicatorIconComponent {
7
+ #private;
8
+ protected readonly baseClass: _angular_core.Signal<string>;
9
+ protected readonly hasProjectedContent: _angular_core.WritableSignal<boolean>;
10
+ protected readonly iconClass: _angular_core.Signal<string>;
11
+ protected readonly iconToRender: _angular_core.Signal<LucideIconInput | null>;
12
+ protected readonly projectedContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
13
+ readonly activate: _angular_core.OutputEmitterRef<KeyboardEvent | MouseEvent>;
14
+ readonly icon: _angular_core.InputSignal<LucideIconInput | null>;
15
+ readonly interactive: _angular_core.InputSignal<boolean>;
16
+ readonly label: _angular_core.InputSignal<string>;
17
+ readonly preset: _angular_core.InputSignal<IndicatorIconPreset | null>;
18
+ readonly size: _angular_core.InputSignal<number>;
19
+ readonly userClass: _angular_core.InputSignal<string>;
20
+ constructor();
21
+ protected onActivate(event: Event): void;
22
+ private hasContent;
23
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IndicatorIconComponent, never>;
24
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IndicatorIconComponent, "mona-indicator-icon", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "preset": { "alias": "preset"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; }, { "activate": "activate"; }, never, ["*"], true, never>;
25
+ }
26
+
27
+ export { IndicatorIconComponent };
28
+ export type { IndicatorIconPreset };
@@ -0,0 +1,269 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, Signal, TemplateRef } from '@angular/core';
3
+ import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
+ import { FilterChangeEvent, FilterableOptions, VirtualScrollOptions } from '@nanahoshi/mona-ui/common';
5
+ import { Selector, Predicate, ImmutableSet } from '@mirei/ts-collections';
6
+ import { Subject, ReplaySubject } from 'rxjs';
7
+
8
+ interface ListItemOptions<T> {
9
+ data: T;
10
+ header?: string;
11
+ }
12
+ declare class ListItem<TData> {
13
+ readonly data: TData;
14
+ readonly header: string;
15
+ readonly uid: string;
16
+ constructor(options: ListItemOptions<TData>);
17
+ }
18
+
19
+ type ListKeySelector<T, K = unknown> = string | Selector<T, K> | null;
20
+
21
+ type ListSizeType = string | null | undefined;
22
+ type ListSizeInputType = ListSizeType | number;
23
+
24
+ interface SelectionChangeEvent<T> {
25
+ item: ListItem<T>;
26
+ source: SelectionSource;
27
+ }
28
+ type SelectionSource = {
29
+ via: "mouse";
30
+ } | {
31
+ via: "keyboard";
32
+ key: string;
33
+ };
34
+
35
+ type OrderByOptions<T, R> = {
36
+ orderBy?: never;
37
+ orderByDirection?: never;
38
+ } | {
39
+ /**
40
+ * The field to order the items of per group. If not specified, the items of the group will not be ordered.
41
+ */
42
+ orderBy: string | Selector<T, R>;
43
+ /**
44
+ * The direction to order the items of per group.
45
+ */
46
+ orderByDirection?: "asc" | "desc";
47
+ };
48
+ type GroupableOptions<T = unknown, R = unknown> = {
49
+ /**
50
+ * Whether to group the items. If not specified, the items will not be grouped.
51
+ */
52
+ enabled?: boolean;
53
+ /**
54
+ * The direction to order the group headers.
55
+ * If not specified, the group headers will be ordered in ascending order.
56
+ */
57
+ headerOrder?: "asc" | "desc";
58
+ } & OrderByOptions<T, R>;
59
+
60
+ type NavigationMode = "highlight" | "select";
61
+
62
+ interface NavigableOptions {
63
+ enabled: boolean;
64
+ mode: NavigationMode;
65
+ wrap: boolean;
66
+ }
67
+
68
+ type NavigationDirection = "next" | "previous" | "first" | "last" | "pageup" | "pagedown";
69
+
70
+ interface PagerSettings {
71
+ enabled: boolean;
72
+ firstLast: boolean;
73
+ pageSizeValues: number[] | boolean;
74
+ previousNext: boolean;
75
+ showInfo: boolean;
76
+ type: "numeric" | "input";
77
+ visiblePages: number;
78
+ }
79
+
80
+ interface PageState {
81
+ page: number;
82
+ skip: number;
83
+ take: number;
84
+ }
85
+
86
+ type SelectableOptions = {
87
+ checkboxes?: boolean;
88
+ enabled?: boolean;
89
+ mode: "single";
90
+ toggleable?: boolean;
91
+ } | {
92
+ checkboxes?: boolean;
93
+ enabled?: boolean;
94
+ mode: "multiple";
95
+ };
96
+
97
+ declare class ListService<TData> {
98
+ #private;
99
+ readonly disabledBy: _angular_core.WritableSignal<string | Predicate<TData>>;
100
+ readonly filterChange$: Subject<FilterChangeEvent>;
101
+ readonly filterInputVisible: _angular_core.WritableSignal<boolean>;
102
+ readonly filterPlaceholder: _angular_core.WritableSignal<string>;
103
+ readonly filterText: _angular_core.WritableSignal<string>;
104
+ readonly filterableOptions: _angular_core.WritableSignal<FilterableOptions>;
105
+ readonly focus$: Subject<void>;
106
+ readonly focusableItem: _angular_core.Signal<ListItem<TData> | null>;
107
+ readonly groupBy: _angular_core.WritableSignal<ListKeySelector<TData>>;
108
+ readonly groupableOptions: _angular_core.WritableSignal<GroupableOptions<TData, any>>;
109
+ readonly highlightedItem: _angular_core.WritableSignal<ListItem<TData> | null>;
110
+ readonly itemFocusOut$: Subject<ListItem<TData>>;
111
+ readonly navigatedItem$: Subject<ListItem<TData> | null>;
112
+ readonly navigableOptions: _angular_core.WritableSignal<NavigableOptions>;
113
+ readonly pageState: _angular_core.WritableSignal<PageState>;
114
+ readonly pageableOptions: _angular_core.WritableSignal<PagerSettings>;
115
+ readonly scrollToItem$: ReplaySubject<{
116
+ item: ListItem<TData>;
117
+ focus: boolean;
118
+ }>;
119
+ readonly selectableOptions: _angular_core.WritableSignal<SelectableOptions>;
120
+ readonly selectedKeys: _angular_core.WritableSignal<ImmutableSet<any>>;
121
+ readonly selectedKeysChange$: Subject<any[]>;
122
+ readonly selectedListItems: _angular_core.Signal<ImmutableSet<ListItem<TData>>>;
123
+ readonly selectionChange$: Subject<ListItem<TData>>;
124
+ readonly textField: _angular_core.WritableSignal<string | Selector<TData, string>>;
125
+ readonly valueField: _angular_core.WritableSignal<string | Selector<TData, any>>;
126
+ readonly viewItems: _angular_core.Signal<ImmutableSet<ListItem<TData>>>;
127
+ readonly virtualScrollOptions: _angular_core.WritableSignal<VirtualScrollOptions>;
128
+ readonly itemPositions: _angular_core.Signal<Map<string, {
129
+ position: number;
130
+ total: number;
131
+ }>>;
132
+ getItemPosition(item: ListItem<TData>): {
133
+ position: number;
134
+ total: number;
135
+ } | null;
136
+ clearFilter(): void;
137
+ clearHighlightedItem(): void;
138
+ clearSelections(): void;
139
+ cycleThroughMatchedItems(buffer: string): ListItem<TData> | null;
140
+ deselectItems(item: Iterable<ListItem<TData>>): void;
141
+ getFilterDebounceDuration(): number;
142
+ getGroupField(item: ListItem<TData>): any;
143
+ getItemText(item: ListItem<TData>): string;
144
+ getMatchingFilteredItem(text: string): ListItem<TData> | null;
145
+ isDisabled(item: ListItem<TData>): boolean;
146
+ isFilteringEnabled(): boolean;
147
+ isHighlighted(item: ListItem<TData>): boolean;
148
+ isSelected(item: ListItem<TData>): boolean;
149
+ navigate(direction: NavigationDirection, mode: NavigationMode, focus: boolean): ListItem<TData> | null;
150
+ notifySelectionChange(item: ListItem<TData>): void;
151
+ scrollToItem(item: ListItem<TData>, focus: boolean): void;
152
+ selectItem(item: ListItem<TData>, scroll?: boolean, focus?: boolean): void;
153
+ setData(data: Iterable<TData>): void;
154
+ setDisabledBy(disabledBy: string | Predicate<TData>): void;
155
+ setFilter(filter: string): void;
156
+ setFilterPlaceholder(placeholder: string): void;
157
+ setFilterableOptions(options: Partial<FilterableOptions>): void;
158
+ setGroupBy(groupSelector: ListKeySelector<TData>): void;
159
+ setGroupableOptions(options: GroupableOptions<TData, any>): void;
160
+ setNavigableOptions(options: Partial<NavigableOptions>): void;
161
+ setPageableOptions(settings: PagerSettings): void;
162
+ setSelectableOptions(options: Partial<SelectableOptions>): void;
163
+ setSelectedDataItems(dataItems: Iterable<TData>): void;
164
+ setSelectedKeys(selectedKeys: Iterable<any>): void;
165
+ setTextField(textField: string | Selector<TData, string>): void;
166
+ setValueField(valueField: string | Selector<TData, any>): void;
167
+ setVirtualScrollOptions(options: VirtualScrollOptions): void;
168
+ private filterItem;
169
+ private getDataItemSelectionKey;
170
+ private getOrderKey;
171
+ private getPreviousItemForNavigation;
172
+ private getSelectionKey;
173
+ private navigateForMultipleSelection;
174
+ private navigateFirstForSingleSelection;
175
+ private navigateForSingleSelection;
176
+ private navigateLastForSingleSelection;
177
+ private navigateNextForSingleSelection;
178
+ private navigatePreviousForSingleSelection;
179
+ private skipTakeWithGroups;
180
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListService<any>, never>;
181
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ListService<any>>;
182
+ }
183
+
184
+ declare class ListComponent<TData> implements OnInit {
185
+ #private;
186
+ private readonly filterInput;
187
+ protected readonly classes: Signal<string>;
188
+ protected readonly footerTemplate: Signal<TemplateRef<any> | undefined>;
189
+ protected readonly groupHeaderClasses: Signal<string>;
190
+ protected readonly groupHeaderTemplate: Signal<TemplateRef<any> | undefined>;
191
+ protected readonly headerTemplate: Signal<TemplateRef<any> | undefined>;
192
+ protected readonly hostTabIndex: Signal<0 | -1>;
193
+ protected readonly itemTemplate: Signal<TemplateRef<any> | undefined>;
194
+ protected readonly innerListClasses: Signal<string>;
195
+ protected readonly listHeight: Signal<string | undefined>;
196
+ protected readonly listMaxHeight: Signal<string | undefined>;
197
+ protected readonly listMaxWidth: Signal<string | undefined>;
198
+ protected readonly listService: ListService<TData>;
199
+ protected readonly listWidth: Signal<ListSizeType>;
200
+ protected readonly noDataTemplate: Signal<TemplateRef<any> | undefined>;
201
+ protected readonly viewportHeight: Signal<ListSizeType>;
202
+ protected readonly virtualScrollViewport: Signal<CdkVirtualScrollViewport | undefined>;
203
+ /**
204
+ * @description Accessible name for the list's `listbox` element. Describe what the list represents.
205
+ * @default ""
206
+ */
207
+ readonly ariaLabel: _angular_core.InputSignal<string>;
208
+ readonly data: _angular_core.InputSignal<Iterable<TData> | null | undefined>;
209
+ readonly focusOnMount: _angular_core.InputSignal<boolean>;
210
+ readonly height: _angular_core.InputSignal<ListSizeInputType>;
211
+ readonly itemSelect: _angular_core.OutputEmitterRef<SelectionChangeEvent<TData>>;
212
+ readonly listClass: _angular_core.InputSignal<string>;
213
+ readonly listId: _angular_core.InputSignal<string>;
214
+ readonly listItemClass: _angular_core.InputSignal<string>;
215
+ readonly listItemStyle: _angular_core.InputSignal<Partial<CSSStyleDeclaration>>;
216
+ readonly listStyle: _angular_core.InputSignal<Partial<CSSStyleDeclaration>>;
217
+ readonly maxHeight: _angular_core.InputSignal<ListSizeInputType>;
218
+ readonly maxWidth: _angular_core.InputSignal<ListSizeInputType>;
219
+ readonly size: _angular_core.InputSignal<"large" | "medium" | "small" | null | undefined>;
220
+ readonly textField: _angular_core.InputSignal<ListKeySelector<TData, string> | undefined>;
221
+ readonly width: _angular_core.InputSignal<ListSizeInputType>;
222
+ constructor();
223
+ ngOnInit(): void;
224
+ protected onFilterChange(event: FilterChangeEvent): void;
225
+ protected onListItemCheck(item: ListItem<TData>): void;
226
+ protected onListItemClick(item: ListItem<TData>): void;
227
+ private cycleThroughMatchedItems;
228
+ private focusToItem;
229
+ private handleNavigation;
230
+ private handlePageScroll;
231
+ private scrollToItem;
232
+ private selectItem;
233
+ private setInitialSelectionOrFocus;
234
+ private setKeyboardEvents;
235
+ private setNavigationEvents;
236
+ private setSubscriptions;
237
+ private setTypeaheadSubscription;
238
+ private toggleItem;
239
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListComponent<any>, never>;
240
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListComponent<any>, "mona-list", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "focusOnMount": { "alias": "focusOnMount"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "listClass": { "alias": "listClass"; "required": false; "isSignal": true; }; "listId": { "alias": "listId"; "required": false; "isSignal": true; }; "listItemClass": { "alias": "listItemClass"; "required": false; "isSignal": true; }; "listItemStyle": { "alias": "listItemStyle"; "required": false; "isSignal": true; }; "listStyle": { "alias": "listStyle"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, ["footerTemplate", "groupHeaderTemplate", "headerTemplate", "itemTemplate", "noDataTemplate"], never, true, never>;
241
+ }
242
+
243
+ declare class ListFooterTemplateDirective {
244
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListFooterTemplateDirective, never>;
245
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListFooterTemplateDirective, "ng-template[monaListFooterTemplate]", never, {}, {}, never, never, true, never>;
246
+ }
247
+
248
+ declare class ListGroupHeaderTemplateDirective {
249
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListGroupHeaderTemplateDirective, never>;
250
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListGroupHeaderTemplateDirective, "ng-template[monaListGroupHeaderTemplate]", never, {}, {}, never, never, true, never>;
251
+ }
252
+
253
+ declare class ListHeaderTemplateDirective {
254
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListHeaderTemplateDirective, never>;
255
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListHeaderTemplateDirective, "ng-template[monaListHeaderTemplate]", never, {}, {}, never, never, true, never>;
256
+ }
257
+
258
+ declare class ListItemTemplateDirective {
259
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListItemTemplateDirective, never>;
260
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListItemTemplateDirective, "ng-template[monaListItemTemplate]", never, {}, {}, never, never, true, never>;
261
+ }
262
+
263
+ declare class ListNoDataTemplateDirective {
264
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListNoDataTemplateDirective, never>;
265
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ListNoDataTemplateDirective, "ng-template[monaListNoDataTemplate]", never, {}, {}, never, never, true, never>;
266
+ }
267
+
268
+ export { ListComponent, ListFooterTemplateDirective, ListGroupHeaderTemplateDirective, ListHeaderTemplateDirective, ListItem, ListItemTemplateDirective, ListNoDataTemplateDirective, ListService };
269
+ export type { GroupableOptions, ListKeySelector, ListSizeInputType, NavigableOptions, NavigationDirection, NavigationMode, PagerSettings, SelectableOptions, SelectionChangeEvent };