@nanahoshi/mona-ui 0.24.2 → 0.24.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/fesm2022/nanahoshi-mona-ui-auto-complete.mjs +96 -71
- package/fesm2022/nanahoshi-mona-ui-check-box.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-color-gradient.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-color-picker.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-combo-box.mjs +140 -91
- package/fesm2022/nanahoshi-mona-ui-date-input.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-date-picker.mjs +8 -4
- package/fesm2022/nanahoshi-mona-ui-datetime-picker.mjs +8 -4
- package/fesm2022/nanahoshi-mona-ui-dropdown-list.mjs +112 -58
- package/fesm2022/nanahoshi-mona-ui-dropdowns.mjs +80 -61
- package/fesm2022/nanahoshi-mona-ui-editor.mjs +4 -4
- package/fesm2022/nanahoshi-mona-ui-filter.mjs +1 -1
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-footer-row.component-x_euoNnS.mjs → nanahoshi-mona-ui-grid-grid-footer-row.component-BMCM0W8s.mjs} +2 -2
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-list.component-C1_6vq77.mjs → nanahoshi-mona-ui-grid-grid-list.component-BSlV8Sua.mjs} +4 -4
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-row.component-BhukVWIy.mjs → nanahoshi-mona-ui-grid-grid-row.component-CTOdnH29.mjs} +3 -3
- package/fesm2022/{nanahoshi-mona-ui-grid-grid-virtual-list.component-XQKOPPVs.mjs → nanahoshi-mona-ui-grid-grid-virtual-list.component-C2kf5MwO.mjs} +4 -4
- package/fesm2022/{nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-Iw-wvKGl.mjs → nanahoshi-mona-ui-grid-nanahoshi-mona-ui-grid-Dh42tUui.mjs} +10 -15
- package/fesm2022/nanahoshi-mona-ui-grid.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-i18n-icu.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-internal-filter-input.mjs +2 -2
- package/fesm2022/nanahoshi-mona-ui-internal-indicator-icon.mjs +2 -2
- package/fesm2022/nanahoshi-mona-ui-internal-tree.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-internal.mjs +18 -2
- package/fesm2022/nanahoshi-mona-ui-locales-ar-sa.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-de-de.mjs +4 -1
- package/fesm2022/nanahoshi-mona-ui-locales-es-es.mjs +4 -1
- package/fesm2022/nanahoshi-mona-ui-locales-fr-fr.mjs +4 -1
- package/fesm2022/nanahoshi-mona-ui-locales-id-id.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-it-it.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-ja-jp.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-ko-kr.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-pt-br.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-ru-ru.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-tr-tr.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-zh-cn.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-locales-zh-tw.mjs +2 -1
- package/fesm2022/nanahoshi-mona-ui-menubar.mjs +3 -3
- package/fesm2022/nanahoshi-mona-ui-multi-select.mjs +119 -67
- package/fesm2022/nanahoshi-mona-ui-numeric-text-box.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-otp-input.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-pager.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-popup-menu.mjs +2 -2
- package/fesm2022/nanahoshi-mona-ui-popup.mjs +269 -182
- package/fesm2022/nanahoshi-mona-ui-switch.mjs +1 -1
- package/fesm2022/nanahoshi-mona-ui-text-box.mjs +95 -58
- package/fesm2022/nanahoshi-mona-ui-time-picker.mjs +7 -5
- package/fesm2022/nanahoshi-mona-ui-time-selector.mjs +1 -1
- package/i18n/catalogs/en-US.messages.json +2 -1
- package/locales/ar-sa/ar-sa.messages.json +2 -1
- package/locales/de-de/de-de.messages.json +2 -1
- package/locales/es-es/es-es.messages.json +2 -1
- package/locales/fr-fr/fr-fr.messages.json +2 -1
- package/locales/id-id/id-id.messages.json +2 -1
- package/locales/it-it/it-it.messages.json +2 -1
- package/locales/ja-jp/ja-jp.messages.json +2 -1
- package/locales/ko-kr/ko-kr.messages.json +2 -1
- package/locales/pt-br/pt-br.messages.json +2 -1
- package/locales/ru-ru/ru-ru.messages.json +2 -1
- package/locales/tr-tr/tr-tr.messages.json +2 -1
- package/locales/zh-cn/zh-cn.messages.json +2 -1
- package/locales/zh-tw/zh-tw.messages.json +2 -1
- package/package.json +1 -1
- package/types/nanahoshi-mona-ui-auto-complete.d.ts +34 -20
- package/types/nanahoshi-mona-ui-combo-box.d.ts +42 -23
- package/types/nanahoshi-mona-ui-dropdown-list.d.ts +29 -15
- package/types/nanahoshi-mona-ui-dropdowns.d.ts +36 -19
- package/types/nanahoshi-mona-ui-i18n.d.ts +1 -0
- package/types/nanahoshi-mona-ui-internal.d.ts +11 -1
- package/types/nanahoshi-mona-ui-locales-ar-sa.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-de-de.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-es-es.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-fr-fr.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-id-id.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-it-it.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-ja-jp.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-ko-kr.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-pt-br.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-ru-ru.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-tr-tr.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-zh-cn.d.ts +1 -0
- package/types/nanahoshi-mona-ui-locales-zh-tw.d.ts +1 -0
- package/types/nanahoshi-mona-ui-multi-select.d.ts +45 -21
- package/types/nanahoshi-mona-ui-popup.d.ts +97 -36
- package/types/nanahoshi-mona-ui-text-box.d.ts +62 -14
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { InjectionToken, InputSignal, OutputEmitterRef, Signal, TemplateRef } from '@angular/core';
|
|
3
3
|
import { Predicate, Selector } from '@mirei/ts-collections';
|
|
4
4
|
import { ListSizeInputType, GroupableOptions, ListItem } from '@nanahoshi/mona-ui/internal/list';
|
|
5
5
|
import { PopupCloseEvent, PopupRef, PopupSettings } from '@nanahoshi/mona-ui/popup';
|
|
@@ -20,30 +20,34 @@ interface DropdownDataInput<TData> {
|
|
|
20
20
|
readonly textField: InputSignal<DropdownFieldSelectorType<TData, string>>;
|
|
21
21
|
readonly valueField: InputSignal<DropdownFieldSelectorType<TData, unknown>>;
|
|
22
22
|
}
|
|
23
|
+
declare const DROPDOWN_DATA_INPUT_TOKEN: InjectionToken<DropdownDataInput<unknown>>;
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated Use {@link DROPDOWN_DATA_INPUT_TOKEN}.
|
|
26
|
+
*/
|
|
23
27
|
declare const DropdownDataInputToken: InjectionToken<DropdownDataInput<unknown>>;
|
|
24
28
|
|
|
25
29
|
interface DropdownPopupInput {
|
|
26
30
|
readonly close: OutputEmitterRef<PopupCloseEvent>;
|
|
27
31
|
readonly closed: OutputEmitterRef<void>;
|
|
28
|
-
readonly disabled:
|
|
32
|
+
readonly disabled: Signal<boolean>;
|
|
29
33
|
readonly open: OutputEmitterRef<PreventableEvent>;
|
|
30
34
|
readonly opened: OutputEmitterRef<void>;
|
|
31
35
|
readonly popupHeight: InputSignal<ListSizeInputType>;
|
|
32
36
|
readonly popupWidth: InputSignal<ListSizeInputType>;
|
|
33
|
-
readonly readonly:
|
|
37
|
+
readonly readonly: Signal<boolean>;
|
|
34
38
|
readonly touch: OutputEmitterRef<void>;
|
|
35
39
|
}
|
|
36
40
|
declare const DROPDOWN_POPUP_INPUT_TOKEN: InjectionToken<DropdownPopupInput>;
|
|
37
41
|
|
|
38
|
-
declare class DropdownFilterableDirective
|
|
42
|
+
declare class DropdownFilterableDirective {
|
|
39
43
|
#private;
|
|
40
44
|
readonly filter: i0.InputSignal<string>;
|
|
41
45
|
readonly filterChange: i0.OutputEmitterRef<FilterChangeEvent>;
|
|
42
46
|
readonly filterPlaceholder: i0.InputSignal<string>;
|
|
43
47
|
readonly options: i0.InputSignal<"" | Partial<FilterableOptions>>;
|
|
44
48
|
constructor();
|
|
45
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownFilterableDirective
|
|
46
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownFilterableDirective
|
|
49
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownFilterableDirective, never>;
|
|
50
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownFilterableDirective, " mona-auto-complete[monaDropDownFilterable], mona-dropdown-list[monaDropDownFilterable], mona-combo-box[monaDropDownFilterable], mona-multi-select[monaDropDownFilterable] ", never, { "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "options": { "alias": "monaDropDownFilterable"; "required": false; "isSignal": true; }; }, { "filterChange": "filterChange"; }, never, never, true, never>;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
declare class DropdownFooterTemplateDirective {
|
|
@@ -58,11 +62,11 @@ declare class DropdownGroupHeaderTemplateDirective {
|
|
|
58
62
|
|
|
59
63
|
declare class DropdownGroupableDirective<TData> {
|
|
60
64
|
#private;
|
|
61
|
-
readonly groupBy: i0.InputSignal<string | Selector<TData,
|
|
62
|
-
readonly options: i0.InputSignal<"" | GroupableOptions<TData,
|
|
65
|
+
readonly groupBy: i0.InputSignal<string | Selector<TData, unknown> | null | undefined>;
|
|
66
|
+
readonly options: i0.InputSignal<"" | GroupableOptions<TData, unknown>>;
|
|
63
67
|
constructor();
|
|
64
68
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownGroupableDirective<any>, never>;
|
|
65
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownGroupableDirective<any>, " mona-auto-complete[monaDropDownGroupable], mona-combo-box[monaDropDownGroupable], mona-dropdown-list[monaDropDownGroupable], mona-multi-select[monaDropDownGroupable]
|
|
69
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownGroupableDirective<any>, " mona-auto-complete[monaDropDownGroupable], mona-combo-box[monaDropDownGroupable], mona-dropdown-list[monaDropDownGroupable], mona-multi-select[monaDropDownGroupable] ", never, { "groupBy": { "alias": "groupBy"; "required": false; "isSignal": true; }; "options": { "alias": "monaDropDownGroupable"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
66
70
|
}
|
|
67
71
|
|
|
68
72
|
declare class DropdownHeaderTemplateDirective {
|
|
@@ -80,12 +84,12 @@ declare class DropdownNoDataTemplateDirective {
|
|
|
80
84
|
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownNoDataTemplateDirective, " ng-template[monaDropDownNoDataTemplate], ng-template[monaAutoCompleteNoDataTemplate], ng-template[monaDropDownListNoDataTemplate], ng-template[monaDropDownTreeNoDataTemplate], ng-template[monaComboBoxNoDataTemplate], ng-template[monaMultiSelectNoDataTemplate] ", never, {}, {}, never, never, true, never>;
|
|
81
85
|
}
|
|
82
86
|
|
|
83
|
-
declare class DropdownVirtualScrollDirective
|
|
87
|
+
declare class DropdownVirtualScrollDirective {
|
|
84
88
|
#private;
|
|
85
89
|
readonly options: i0.InputSignal<"" | Partial<VirtualScrollOptions>>;
|
|
86
90
|
constructor();
|
|
87
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownVirtualScrollDirective
|
|
88
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownVirtualScrollDirective
|
|
91
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownVirtualScrollDirective, never>;
|
|
92
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownVirtualScrollDirective, " mona-auto-complete[monaDropDownVirtualScroll], mona-dropdown-list[monaDropDownVirtualScroll], mona-combo-box[monaDropDownVirtualScroll], mona-multi-select[monaDropDownVirtualScroll] ", never, { "options": { "alias": "monaDropDownVirtualScroll"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
89
93
|
}
|
|
90
94
|
|
|
91
95
|
declare class DropdownDataHandlerDirective {
|
|
@@ -123,12 +127,19 @@ declare class DropdownListPopupHandlerDirective {
|
|
|
123
127
|
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownListPopupHandlerDirective, "[monaDropdownListPopupHandler]", never, {}, {}, never, never, true, [{ directive: typeof DropdownPopupHandlerDirective; inputs: {}; outputs: {}; }]>;
|
|
124
128
|
}
|
|
125
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Announces how many results a dropdown shows after its list is filtered, or after its items change, while the
|
|
132
|
+
* popup is open ("3 results available", "No results found").
|
|
133
|
+
*
|
|
134
|
+
* The announcement goes through the CDK `LiveAnnouncer`, whose live region lives at the end of the document, so it
|
|
135
|
+
* never becomes part of the combobox's content. The highlighted option isn't announced here:
|
|
136
|
+
* `aria-activedescendant` already does that.
|
|
137
|
+
*/
|
|
126
138
|
declare class DropdownLiveRegionDirective {
|
|
127
139
|
#private;
|
|
128
|
-
protected readonly liveRegionText: i0.Signal<string>;
|
|
129
140
|
constructor();
|
|
130
141
|
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownLiveRegionDirective, never>;
|
|
131
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownLiveRegionDirective, "
|
|
142
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<DropdownLiveRegionDirective, "[monaDropdownLiveRegion]", never, {}, {}, never, never, true, never>;
|
|
132
143
|
}
|
|
133
144
|
|
|
134
145
|
declare class DropdownPrefixTemplateDirective {
|
|
@@ -144,6 +155,12 @@ declare class DropdownSuffixTemplateDirective {
|
|
|
144
155
|
declare class DropdownService {
|
|
145
156
|
readonly beforeKeydown$: Subject<PreventableEvent<KeyboardEvent>>;
|
|
146
157
|
readonly beforeNavigate$: Subject<PreventableEvent<KeyboardEvent>>;
|
|
158
|
+
/**
|
|
159
|
+
* Set when the popup finishes closing: whether focus may return to the dropdown. It is `false` when the user
|
|
160
|
+
* moved focus outside the dropdown and its popup first, for example by clicking another field or pressing
|
|
161
|
+
* Tab. Read it from `popupCloseComplete$` before calling `focus()`.
|
|
162
|
+
*/
|
|
163
|
+
readonly focusCanReturn: i0.WritableSignal<boolean>;
|
|
147
164
|
readonly keydown$: Subject<KeyboardEvent>;
|
|
148
165
|
readonly popupCloseComplete$: Subject<PopupCloseEvent<unknown>>;
|
|
149
166
|
readonly popupCloseStart$: Subject<PopupCloseEvent<unknown>>;
|
|
@@ -159,12 +176,12 @@ declare class DropdownService {
|
|
|
159
176
|
static ɵprov: i0.ɵɵInjectableDeclaration<DropdownService>;
|
|
160
177
|
}
|
|
161
178
|
|
|
162
|
-
declare class DropdownListService {
|
|
179
|
+
declare class DropdownListService<TData = unknown> {
|
|
163
180
|
readonly navigate$: Subject<{
|
|
164
|
-
item: ListItem<
|
|
181
|
+
item: ListItem<TData>;
|
|
165
182
|
}>;
|
|
166
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownListService
|
|
167
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DropdownListService
|
|
183
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DropdownListService<any>, never>;
|
|
184
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DropdownListService<any>>;
|
|
168
185
|
}
|
|
169
186
|
|
|
170
187
|
declare const dropdownPopupThemeVariants: (props?: ({
|
|
@@ -176,5 +193,5 @@ type DropdownPopupVariantInput = VariantInputs<DropdownPopupVariantProps>;
|
|
|
176
193
|
|
|
177
194
|
declare const DROPDOWNS_DEFAULT_MESSAGES: MonaDropdownsMessages;
|
|
178
195
|
|
|
179
|
-
export { DROPDOWNS_DEFAULT_MESSAGES, DROPDOWN_POPUP_INPUT_TOKEN, DropdownDataHandlerDirective, DropdownDataInputToken, DropdownFilterableDirective, DropdownFooterTemplateDirective, DropdownGroupHeaderTemplateDirective, DropdownGroupableDirective, DropdownHeaderTemplateDirective, DropdownItemTemplateDirective, DropdownListPopupHandlerDirective, DropdownListService, DropdownLiveRegionDirective, DropdownNoDataTemplateDirective, DropdownPopupHandlerDirective, DropdownPrefixTemplateDirective, DropdownService, DropdownSuffixTemplateDirective, DropdownVirtualScrollDirective, dropdownPopupThemeVariants };
|
|
196
|
+
export { DROPDOWNS_DEFAULT_MESSAGES, DROPDOWN_DATA_INPUT_TOKEN, DROPDOWN_POPUP_INPUT_TOKEN, DropdownDataHandlerDirective, DropdownDataInputToken, DropdownFilterableDirective, DropdownFooterTemplateDirective, DropdownGroupHeaderTemplateDirective, DropdownGroupableDirective, DropdownHeaderTemplateDirective, DropdownItemTemplateDirective, DropdownListPopupHandlerDirective, DropdownListService, DropdownLiveRegionDirective, DropdownNoDataTemplateDirective, DropdownPopupHandlerDirective, DropdownPrefixTemplateDirective, DropdownService, DropdownSuffixTemplateDirective, DropdownVirtualScrollDirective, dropdownPopupThemeVariants };
|
|
180
197
|
export type { DropdownDataInput, DropdownFieldPredicateType, DropdownFieldSelectorType, DropdownPopupInput, DropdownPopupVariantInput, DropdownPopupVariantProps };
|
|
@@ -289,6 +289,7 @@ interface MonaListBoxMessages {
|
|
|
289
289
|
interface MonaMultiSelectMessages {
|
|
290
290
|
readonly clear: string;
|
|
291
291
|
readonly itemsCount: (count: number) => string;
|
|
292
|
+
readonly removeMoreItems: (count: number) => string;
|
|
292
293
|
}
|
|
293
294
|
|
|
294
295
|
interface MonaNotificationMessages {
|
|
@@ -80,6 +80,14 @@ type Action<P = void, R = void> = (arg: P) => R;
|
|
|
80
80
|
*/
|
|
81
81
|
declare const createElementControlId: (level?: number, length?: number) => string;
|
|
82
82
|
|
|
83
|
+
/**
|
|
84
|
+
* Whether a closing popup may move focus back to its trigger without taking it from somewhere the user put it.
|
|
85
|
+
* That holds while focus is on the page itself or inside one of `containers`, usually the trigger and the popup.
|
|
86
|
+
* A click on another field that closed the popup, or a Tab out of it, must leave focus where it went.
|
|
87
|
+
* This is the rule the CDK dialog uses.
|
|
88
|
+
*/
|
|
89
|
+
declare function focusCanReturn(document: Document, ...containers: ReadonlyArray<Element | null | undefined>): boolean;
|
|
90
|
+
|
|
83
91
|
declare function focusElement(host: HTMLElement, element: HTMLElement | ElementRef<HTMLElement> | string): void;
|
|
84
92
|
|
|
85
93
|
declare const rxFromResize: (target: Element | Iterable<Element>, options?: ResizeObserverOptions) => Observable<ResizeObserverEntry[]>;
|
|
@@ -151,7 +159,9 @@ interface TypeaheadModifiers {
|
|
|
151
159
|
* Any single letter or digit in any script counts, plus space, `-` and `_`.
|
|
152
160
|
*/
|
|
153
161
|
declare const isTypeaheadKey: (key: string, modifiers?: TypeaheadModifiers) => boolean;
|
|
162
|
+
/** How long typeahead waits after the last key before it starts a new search, in milliseconds. */
|
|
163
|
+
declare const TYPEAHEAD_RESET_DELAY = 200;
|
|
154
164
|
declare const setupTypeahead: (typeaheadKey$: Observable<string>) => Observable<string>;
|
|
155
165
|
|
|
156
|
-
export { AttributeBinderDirective, NavigationKeys, NavigationKeysList, createElementControlId, focusElement, hex2rgba, hsla2hsva, hsva2rgba, isNavigationKey, isTypeaheadKey, isValidHex, isValidHsla, isValidRgb, restoreOverlayScroll, rgba2hex, rgba2hsla, rgba2hsva, rxFromResize, rxTimeout, setWindowStyles, setupTypeahead, string2Hsla, string2rgba, themeControlBackdropClasses, themeControlSurfaceClasses, themeOverlayBackdropClasses, themeOverlaySurfaceClasses, themeRaisedBackdropClasses, themeRaisedSurfaceClasses, toCssValue };
|
|
166
|
+
export { AttributeBinderDirective, NavigationKeys, NavigationKeysList, TYPEAHEAD_RESET_DELAY, createElementControlId, focusCanReturn, focusElement, hex2rgba, hsla2hsva, hsva2rgba, isNavigationKey, isTypeaheadKey, isValidHex, isValidHsla, isValidRgb, restoreOverlayScroll, rgba2hex, rgba2hsla, rgba2hsva, rxFromResize, rxTimeout, setWindowStyles, setupTypeahead, string2Hsla, string2rgba, themeControlBackdropClasses, themeControlSurfaceClasses, themeOverlayBackdropClasses, themeOverlaySurfaceClasses, themeRaisedBackdropClasses, themeRaisedSurfaceClasses, toCssValue };
|
|
157
167
|
export type { Action, AttributeConfig, Channel, ColorScheme, HSL, HSLA, HSV, HSVA, HSVChannel, RGB, RGBA, RGBAChannel, RGBChannel, TypeaheadModifiers, VariantInputs, WindowStyleSettings };
|
|
@@ -43,6 +43,9 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
43
43
|
protected readonly activeDescendant: _angular_core.Signal<string | null>;
|
|
44
44
|
protected readonly affixClass: _angular_core.Signal<string>;
|
|
45
45
|
protected readonly baseClass: _angular_core.Signal<string>;
|
|
46
|
+
protected readonly chipMessages: _angular_core.Signal<_nanahoshi_mona_ui_i18n.MonaChipMessages>;
|
|
47
|
+
protected readonly clearButtonVisible: _angular_core.Signal<boolean>;
|
|
48
|
+
protected readonly effectiveAriaLabel: _angular_core.Signal<string>;
|
|
46
49
|
protected readonly expanded: _angular_core.Signal<boolean>;
|
|
47
50
|
protected readonly footerTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
48
51
|
protected readonly groupHeaderTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
@@ -65,7 +68,13 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
65
68
|
protected readonly valueTextMap: _angular_core.Signal<_mirei_ts_collections.ImmutableDictionary<ListItem<TData>, string>>;
|
|
66
69
|
protected readonly visibleTagCount: _angular_core.Signal<number>;
|
|
67
70
|
/**
|
|
68
|
-
* @description
|
|
71
|
+
* @description ID of an element that describes the multi select, such as help text or an error message.
|
|
72
|
+
* @default ""
|
|
73
|
+
*/
|
|
74
|
+
readonly ariaDescribedBy: _angular_core.InputSignal<string>;
|
|
75
|
+
/**
|
|
76
|
+
* @description Accessible name for the multi select. Describe what it represents.
|
|
77
|
+
* Falls back to {@link placeholder} when neither this nor {@link ariaLabelledBy} is set.
|
|
69
78
|
* @default ""
|
|
70
79
|
*/
|
|
71
80
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
@@ -78,12 +87,12 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
78
87
|
* @description Closes the popup automatically after an item is selected or deselected.
|
|
79
88
|
* @default false
|
|
80
89
|
*/
|
|
81
|
-
readonly autoClose: _angular_core.
|
|
90
|
+
readonly autoClose: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
82
91
|
/**
|
|
83
92
|
* @description Renders a checkbox next to each item in the popup list to indicate its selected state.
|
|
84
93
|
* @default false
|
|
85
94
|
*/
|
|
86
|
-
readonly checkboxes: _angular_core.
|
|
95
|
+
readonly checkboxes: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
87
96
|
/**
|
|
88
97
|
* @description Emits when the popup is about to close. This event is preventable.
|
|
89
98
|
*/
|
|
@@ -101,22 +110,23 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
101
110
|
* @description Disables the component, preventing the popup from opening and blocking tag removal.
|
|
102
111
|
* @default false
|
|
103
112
|
*/
|
|
104
|
-
readonly disabled: _angular_core.
|
|
113
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
105
114
|
/**
|
|
106
115
|
* @description Marks the multi select as invalid. When bound to a signal form field via `[formField]`,
|
|
107
116
|
* this is written by the `FormField` directive.
|
|
108
117
|
* @default false
|
|
109
118
|
*/
|
|
110
|
-
readonly invalid: _angular_core.
|
|
119
|
+
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
111
120
|
/**
|
|
112
121
|
* @description A predicate function or the name of the field that determines whether an item is disabled.
|
|
113
122
|
*/
|
|
114
123
|
readonly itemDisabled: _angular_core.InputSignal<DropdownFieldPredicateType<TData>>;
|
|
115
124
|
/**
|
|
116
|
-
* @description
|
|
125
|
+
* @description Shows a loading indicator, in place of the clear button, and marks the field busy. It doesn't
|
|
126
|
+
* block interaction: the field stays usable while data loads.
|
|
117
127
|
* @default false
|
|
118
128
|
*/
|
|
119
|
-
readonly loading: _angular_core.
|
|
129
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
120
130
|
/**
|
|
121
131
|
* @description Emits when the popup is about to open. This event is preventable.
|
|
122
132
|
*/
|
|
@@ -125,13 +135,20 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
125
135
|
* @description Emits after the popup is opened.
|
|
126
136
|
*/
|
|
127
137
|
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
138
|
+
/**
|
|
139
|
+
* @description Text shown when nothing is selected. It also names the multi select when neither {@link ariaLabel}
|
|
140
|
+
* nor {@link ariaLabelledBy} is set.
|
|
141
|
+
* @default ""
|
|
142
|
+
*/
|
|
143
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
128
144
|
/**
|
|
129
145
|
* @description Sets the class of the popup element.
|
|
130
146
|
* @default ""
|
|
131
147
|
*/
|
|
132
148
|
readonly popupClass: _angular_core.InputSignal<string>;
|
|
133
149
|
/**
|
|
134
|
-
* @description
|
|
150
|
+
* @description Maximum height of the popup, in pixels or as a CSS length. Shorter lists shrink to fit. When
|
|
151
|
+
* unset, the popup is at most 200 pixels tall.
|
|
135
152
|
* @default null
|
|
136
153
|
*/
|
|
137
154
|
readonly popupHeight: _angular_core.InputSignal<ListSizeInputType>;
|
|
@@ -144,12 +161,12 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
144
161
|
* @description Sets the readonly state of the multi select component.
|
|
145
162
|
* @default false
|
|
146
163
|
*/
|
|
147
|
-
readonly readonly: _angular_core.
|
|
164
|
+
readonly readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
148
165
|
/**
|
|
149
166
|
* @description Sets the required state of the multi select component.
|
|
150
167
|
* @default false
|
|
151
168
|
*/
|
|
152
|
-
readonly required: _angular_core.
|
|
169
|
+
readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
153
170
|
/**
|
|
154
171
|
* @description Sets the border radius of the multi select component.
|
|
155
172
|
* @default "medium"
|
|
@@ -159,7 +176,7 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
159
176
|
* @description Renders a button that clears all selected items when at least one item is selected.
|
|
160
177
|
* @default false
|
|
161
178
|
*/
|
|
162
|
-
readonly showClearButton: _angular_core.
|
|
179
|
+
readonly showClearButton: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
163
180
|
/**
|
|
164
181
|
* @description The size of the multi select component.
|
|
165
182
|
* @default "medium"
|
|
@@ -173,8 +190,8 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
173
190
|
*/
|
|
174
191
|
readonly textField: _angular_core.InputSignal<DropdownFieldSelectorType<TData, string>>;
|
|
175
192
|
/**
|
|
176
|
-
* @description Emitted when the multi select
|
|
177
|
-
* The `FormField` directive listens to this to mark the field as touched.
|
|
193
|
+
* @description Emitted when focus leaves the multi select. Moving between it, its chips, its clear button and its
|
|
194
|
+
* popup doesn't count. The `FormField` directive listens to this to mark the field as touched.
|
|
178
195
|
*/
|
|
179
196
|
readonly touch: _angular_core.OutputEmitterRef<void>;
|
|
180
197
|
/**
|
|
@@ -182,7 +199,7 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
182
199
|
* this is written by the `FormField` directive.
|
|
183
200
|
* @default false
|
|
184
201
|
*/
|
|
185
|
-
readonly touched: _angular_core.
|
|
202
|
+
readonly touched: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
186
203
|
/**
|
|
187
204
|
* @description Additional CSS classes merged onto the host element via `tailwind-merge`.
|
|
188
205
|
* @default ""
|
|
@@ -215,10 +232,14 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
215
232
|
*
|
|
216
233
|
* @default false
|
|
217
234
|
*/
|
|
218
|
-
readonly valuePrimitive: _angular_core.
|
|
235
|
+
readonly valuePrimitive: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
219
236
|
constructor();
|
|
220
|
-
|
|
221
|
-
|
|
237
|
+
/**
|
|
238
|
+
* @description Moves focus to the multi select.
|
|
239
|
+
* @param options Passed to `HTMLElement.focus()`, for example `{ preventScroll: true }`.
|
|
240
|
+
*/
|
|
241
|
+
focus(options?: FocusOptions): void;
|
|
242
|
+
protected onFocusOut(event: FocusEvent): void;
|
|
222
243
|
protected onItemSelect(): void;
|
|
223
244
|
protected onPopupPointerDown(event: PointerEvent): void;
|
|
224
245
|
protected onSelectedItemGroupRemove(event: Event): void;
|
|
@@ -231,14 +252,17 @@ declare class MultiSelectComponent<TData = unknown, TValue = TData> implements F
|
|
|
231
252
|
private setBackspaceKeySubscription;
|
|
232
253
|
private setEnterKeySubscription;
|
|
233
254
|
private setEventListeners;
|
|
255
|
+
private setPopupCloseSubscription;
|
|
256
|
+
private setSpaceKeySubscription;
|
|
234
257
|
private setSubscriptions;
|
|
235
258
|
private synchronizeSelection;
|
|
259
|
+
private toggleHighlightedItem;
|
|
236
260
|
private updateValue;
|
|
237
261
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectComponent<any, any>, never>;
|
|
238
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent<any, any>, "mona-multi-select", never, { "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "autoClose": { "alias": "autoClose"; "required": false; "isSignal": true; }; "checkboxes": { "alias": "checkboxes"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "itemDisabled": { "alias": "itemDisabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "popupClass": { "alias": "popupClass"; "required": false; "isSignal": true; }; "popupHeight": { "alias": "popupHeight"; "required": false; "isSignal": true; }; "popupWidth": { "alias": "popupWidth"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "valuePrimitive": { "alias": "valuePrimitive"; "required": false; "isSignal": true; }; }, { "close": "close"; "closed": "closed"; "
|
|
262
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent<any, any>, "mona-multi-select", never, { "ariaDescribedBy": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; "autoClose": { "alias": "autoClose"; "required": false; "isSignal": true; }; "checkboxes": { "alias": "checkboxes"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "itemDisabled": { "alias": "itemDisabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "popupClass": { "alias": "popupClass"; "required": false; "isSignal": true; }; "popupHeight": { "alias": "popupHeight"; "required": false; "isSignal": true; }; "popupWidth": { "alias": "popupWidth"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "showClearButton": { "alias": "showClearButton"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "textField": { "alias": "textField"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "userClass": { "alias": "class"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueField": { "alias": "valueField"; "required": false; "isSignal": true; }; "valuePrimitive": { "alias": "valuePrimitive"; "required": false; "isSignal": true; }; }, { "close": "close"; "closed": "closed"; "open": "open"; "opened": "opened"; "touch": "touch"; "value": "valueChange"; }, ["footerTemplate", "groupHeaderTemplate", "headerTemplate", "itemTemplate", "noDataTemplate", "prefixTemplate", "tagTemplate"], never, true, [{ directive: typeof i1.DropdownDataHandlerDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.DropdownListPopupHandlerDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.DropdownLiveRegionDirective; inputs: {}; outputs: {}; }]>;
|
|
239
263
|
}
|
|
240
264
|
|
|
241
|
-
declare class MultiSelectSummaryTagDirective
|
|
265
|
+
declare class MultiSelectSummaryTagDirective {
|
|
242
266
|
#private;
|
|
243
267
|
private readonly summaryTagTemplate;
|
|
244
268
|
/**
|
|
@@ -248,8 +272,8 @@ declare class MultiSelectSummaryTagDirective<TData> {
|
|
|
248
272
|
*/
|
|
249
273
|
readonly tagCount: _angular_core.InputSignal<number>;
|
|
250
274
|
constructor();
|
|
251
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectSummaryTagDirective
|
|
252
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MultiSelectSummaryTagDirective
|
|
275
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectSummaryTagDirective, never>;
|
|
276
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MultiSelectSummaryTagDirective, "mona-multi-select[monaMultiSelectSummaryTag]", never, { "tagCount": { "alias": "monaMultiSelectSummaryTag"; "required": false; "isSignal": true; }; }, {}, ["summaryTagTemplate"], never, true, never>;
|
|
253
277
|
}
|
|
254
278
|
|
|
255
279
|
declare class MultiSelectSummaryTagTemplateDirective {
|