@aurodesignsystem-dev/auro-formkit 0.0.0-pr1498.0 → 0.0.0-pr1499.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.
- package/components/checkbox/demo/customize.min.js +2 -2
- package/components/checkbox/demo/getting-started.min.js +2 -2
- package/components/checkbox/demo/index.min.js +2 -2
- package/components/checkbox/dist/index.js +2 -2
- package/components/checkbox/dist/registered.js +2 -2
- package/components/combobox/demo/customize.md +3 -7
- package/components/combobox/demo/customize.min.js +1705 -1459
- package/components/combobox/demo/getting-started.min.js +1705 -1459
- package/components/combobox/demo/index.min.js +1705 -1459
- package/components/combobox/dist/auro-combobox.d.ts +0 -5
- package/components/combobox/dist/index.js +162 -491
- package/components/combobox/dist/registered.js +162 -491
- package/components/counter/demo/customize.min.js +19 -18
- package/components/counter/demo/index.min.js +19 -18
- package/components/counter/dist/index.js +187 -5442
- package/components/counter/dist/registered.js +187 -5442
- package/components/datepicker/demo/customize.md +477 -384
- package/components/datepicker/demo/customize.min.js +96 -161
- package/components/datepicker/demo/index.md +0 -1
- package/components/datepicker/demo/index.min.js +96 -161
- package/components/datepicker/dist/index.js +96 -161
- package/components/datepicker/dist/registered.js +96 -161
- package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -2
- package/components/dropdown/demo/customize.min.js +17 -16
- package/components/dropdown/demo/getting-started.min.js +17 -16
- package/components/dropdown/demo/index.min.js +17 -16
- package/components/dropdown/dist/auro-dropdown.d.ts +2 -1
- package/components/dropdown/dist/index.js +17 -16
- package/components/dropdown/dist/registered.js +17 -16
- package/components/form/demo/customize.min.js +7965 -7884
- package/components/form/demo/getting-started.min.js +7965 -7884
- package/components/form/demo/index.min.js +7965 -7884
- package/components/form/demo/registerDemoDeps.min.js +7934 -7853
- package/components/input/demo/customize.md +539 -472
- package/components/input/demo/customize.min.js +61 -132
- package/components/input/demo/getting-started.min.js +61 -132
- package/components/input/demo/index.min.js +61 -132
- package/components/input/dist/base-input.d.ts +0 -16
- package/components/input/dist/index.js +61 -132
- package/components/input/dist/registered.js +61 -132
- package/components/menu/demo/api.md +45 -41
- package/components/menu/demo/customize.md +28 -0
- package/components/menu/demo/index.min.js +1358 -783
- package/components/menu/dist/auro-menu.context.d.ts +238 -0
- package/components/menu/dist/auro-menu.d.ts +110 -95
- package/components/menu/dist/auro-menuoption.d.ts +138 -32
- package/components/menu/dist/index.js +1312 -757
- package/components/menu/dist/registered.js +1312 -769
- package/components/radio/demo/customize.min.js +2 -2
- package/components/radio/demo/getting-started.min.js +2 -2
- package/components/radio/demo/index.min.js +2 -2
- package/components/radio/dist/index.js +2 -2
- package/components/radio/dist/registered.js +2 -2
- package/components/select/demo/customize.md +3 -7
- package/components/select/demo/customize.min.js +1634 -1089
- package/components/select/demo/getting-started.min.js +1634 -1089
- package/components/select/demo/index.min.js +1634 -1089
- package/components/select/dist/index.js +31 -61
- package/components/select/dist/registered.js +31 -61
- package/custom-elements.json +2085 -1439
- package/package.json +1 -1
- package/components/select/dist/selectUtils.d.ts +0 -12
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
export class MenuService {
|
|
2
|
+
/**
|
|
3
|
+
* CONSTRUCTOR
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Creates a new MenuService instance.
|
|
7
|
+
* @param {Object} options - The options object.
|
|
8
|
+
* @param {AuroMenu} options.host - The host element that this service will control. Required.
|
|
9
|
+
* @throws {Error} If the host is not provided.
|
|
10
|
+
*/
|
|
11
|
+
constructor({ host }?: {
|
|
12
|
+
host: AuroMenu;
|
|
13
|
+
});
|
|
14
|
+
/**
|
|
15
|
+
* PROPERTIES AND GETTERS
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Gets the list of registered menu options.
|
|
19
|
+
* @returns {AuroMenuOption[]}
|
|
20
|
+
*/
|
|
21
|
+
get menuOptions(): AuroMenuOption[];
|
|
22
|
+
/**
|
|
23
|
+
* Gets the currently highlighted option.
|
|
24
|
+
* @returns {AuroMenuOption|null}
|
|
25
|
+
*/
|
|
26
|
+
get highlightedOption(): AuroMenuOption | null;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the current value(s) of the selected option(s).
|
|
29
|
+
* @returns {string|string[]|undefined}
|
|
30
|
+
*/
|
|
31
|
+
get currentValue(): string | string[] | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Gets the label(s) of the currently selected option(s).
|
|
34
|
+
* @returns {string}
|
|
35
|
+
*/
|
|
36
|
+
get currentLabel(): string;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the string representation of the current value(s).
|
|
39
|
+
* For multi-select, this is a JSON stringified array.
|
|
40
|
+
* @returns {string|undefined}
|
|
41
|
+
*/
|
|
42
|
+
get stringValue(): string | undefined;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the key(s) of the currently selected option(s).
|
|
45
|
+
* @returns {string|string[]|undefined}
|
|
46
|
+
*/
|
|
47
|
+
get currentKeys(): string | string[] | undefined;
|
|
48
|
+
host: any;
|
|
49
|
+
size: any;
|
|
50
|
+
shape: any;
|
|
51
|
+
noCheckmark: any;
|
|
52
|
+
disabled: any;
|
|
53
|
+
matchWord: any;
|
|
54
|
+
multiSelect: any;
|
|
55
|
+
allowDeselect: any;
|
|
56
|
+
selectAllMatchingOptions: any;
|
|
57
|
+
highlightedIndex: number;
|
|
58
|
+
_menuOptions: any[];
|
|
59
|
+
_subscribers: any[];
|
|
60
|
+
internalUpdateInProgress: boolean;
|
|
61
|
+
selectedOptions: any[];
|
|
62
|
+
_pendingValue: string | number | (string | number)[] | null;
|
|
63
|
+
_pendingRetryScheduled: boolean;
|
|
64
|
+
_pendingRetryCount: number;
|
|
65
|
+
/**
|
|
66
|
+
* PROPERTY SYNCING
|
|
67
|
+
*/
|
|
68
|
+
/**
|
|
69
|
+
* Handles host updates.
|
|
70
|
+
* This is a lit reactive lifecycle method.
|
|
71
|
+
* This comes from the Lit controller interface provided by adding this service as a controller to the host.
|
|
72
|
+
* See constructor for `this.host.addController(this)`
|
|
73
|
+
* You can read more about Lit reactive controllers here: https://lit.dev/docs/composition/controllers/
|
|
74
|
+
*/
|
|
75
|
+
hostUpdated(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Handles host disconnection and memory cleanup.
|
|
78
|
+
*/
|
|
79
|
+
hostDisconnected(): void;
|
|
80
|
+
/**
|
|
81
|
+
* Sets a property value if it exists on the instance and the value has changed.
|
|
82
|
+
* @param {string} property
|
|
83
|
+
* @param {any} value
|
|
84
|
+
*/
|
|
85
|
+
setProperty(property: string, value: any): void;
|
|
86
|
+
/**
|
|
87
|
+
* Sets multiple properties on the instance.
|
|
88
|
+
* @param {Object} properties - Key-value pairs of properties to set.
|
|
89
|
+
*/
|
|
90
|
+
setProperties(properties: Object): void;
|
|
91
|
+
/**
|
|
92
|
+
* MENU OPTION HIGHLIGHTING
|
|
93
|
+
*/
|
|
94
|
+
/**
|
|
95
|
+
* Highlights the next active option in the menu.
|
|
96
|
+
*/
|
|
97
|
+
highlightNext(): void;
|
|
98
|
+
/**
|
|
99
|
+
* Highlights the previous active option in the menu.
|
|
100
|
+
*/
|
|
101
|
+
highlightPrevious(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Moves the highlighted option in the specified direction.
|
|
104
|
+
* @param {string} direction - The direction to move the highlight ("next" or "previous").
|
|
105
|
+
*/
|
|
106
|
+
moveHighlightedOption(direction: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Sets the highlighted index to the specified option.
|
|
109
|
+
* @param {AuroMenuOption} option - The option to highlight.
|
|
110
|
+
*/
|
|
111
|
+
setHighlightedOption(option: AuroMenuOption): void;
|
|
112
|
+
/**
|
|
113
|
+
* Sets the highlighted option to the option at the specified index if it exists.
|
|
114
|
+
* @param {number} index
|
|
115
|
+
*/
|
|
116
|
+
setHighlightedIndex(index: number): void;
|
|
117
|
+
/**
|
|
118
|
+
* Selects the currently highlighted option.
|
|
119
|
+
*/
|
|
120
|
+
selectHighlightedOption(): void;
|
|
121
|
+
/**
|
|
122
|
+
* SELECTION AND DESELECTION METHODS
|
|
123
|
+
*/
|
|
124
|
+
/**
|
|
125
|
+
* Selects one or more options in a batch operation
|
|
126
|
+
* @param {AuroMenuOption|AuroMenuOption[]} options - Single option or array of options to select
|
|
127
|
+
*/
|
|
128
|
+
selectOptions(options: AuroMenuOption | AuroMenuOption[]): void;
|
|
129
|
+
/**
|
|
130
|
+
* Deselects one or more options in a batch operation
|
|
131
|
+
* @param {AuroMenuOption|AuroMenuOption[]} options - Single option or array of options to deselect
|
|
132
|
+
*/
|
|
133
|
+
deselectOptions(options: AuroMenuOption | AuroMenuOption[]): void;
|
|
134
|
+
/**
|
|
135
|
+
* Selects a single option.
|
|
136
|
+
* @param {AuroMenuOption} option
|
|
137
|
+
*/
|
|
138
|
+
selectOption(option: AuroMenuOption): void;
|
|
139
|
+
/**
|
|
140
|
+
* Deselects a single option.
|
|
141
|
+
* @param {AuroMenuOption} option
|
|
142
|
+
*/
|
|
143
|
+
deselectOption(option: AuroMenuOption): void;
|
|
144
|
+
/**
|
|
145
|
+
* Toggles the selection state of a single option.
|
|
146
|
+
* @param {AuroMenuOption} option
|
|
147
|
+
*/
|
|
148
|
+
toggleOption(option: AuroMenuOption): void;
|
|
149
|
+
/**
|
|
150
|
+
* Selects options based on their value(s) when compared to a passed value or values.
|
|
151
|
+
* Value or values are normalized to an array of strings that can be matched to option keys.
|
|
152
|
+
* @param {string|number|Array<string|number>} value - The value(s) to select.
|
|
153
|
+
*/
|
|
154
|
+
selectByValue(value: string | number | Array<string | number>): void;
|
|
155
|
+
/**
|
|
156
|
+
* Queues a pending value and schedules a bounded retry.
|
|
157
|
+
* @param {string|number|Array<string|number>} value - The value to retry.
|
|
158
|
+
*/
|
|
159
|
+
queuePendingValue(value: string | number | Array<string | number>): void;
|
|
160
|
+
/**
|
|
161
|
+
* Clears pending retry state.
|
|
162
|
+
*/
|
|
163
|
+
clearPendingValue(): void;
|
|
164
|
+
/**
|
|
165
|
+
* Resets the selected options to an empty array.
|
|
166
|
+
*/
|
|
167
|
+
reset(): void;
|
|
168
|
+
/**
|
|
169
|
+
* SUBSCRIPTION, NOTIFICATION AND EVENT DISPATCH METHODS
|
|
170
|
+
*/
|
|
171
|
+
/**
|
|
172
|
+
* Subscribes a callback to menu service events.
|
|
173
|
+
* @param {Function} callback - The callback to invoke on events.
|
|
174
|
+
*/
|
|
175
|
+
subscribe(callback: Function): void;
|
|
176
|
+
/**
|
|
177
|
+
* Remove a previously subscribed callback from menu service events.
|
|
178
|
+
* @param {Function} callback
|
|
179
|
+
*/
|
|
180
|
+
unsubscribe(callback: Function): void;
|
|
181
|
+
/**
|
|
182
|
+
* Stages an update to notify subscribers of state and value changes.
|
|
183
|
+
*/
|
|
184
|
+
stageUpdate(meta?: {}): void;
|
|
185
|
+
/**
|
|
186
|
+
* Notifies subscribers of a menu service event.
|
|
187
|
+
* All notifications are sent to all subscribers.
|
|
188
|
+
* @param {string} event - The event to send to subscribers.
|
|
189
|
+
*/
|
|
190
|
+
notify(event: string): void;
|
|
191
|
+
/**
|
|
192
|
+
* Notifies subscribers of a state change (selected options has changed).
|
|
193
|
+
*/
|
|
194
|
+
notifyStateChange(meta?: {}): void;
|
|
195
|
+
/**
|
|
196
|
+
* Notifies subscribers of a value change (current value has changed).
|
|
197
|
+
*/
|
|
198
|
+
notifyValueChange(meta?: {}): void;
|
|
199
|
+
/**
|
|
200
|
+
* Dispatches a custom event from the host element.
|
|
201
|
+
* @param {string} eventName
|
|
202
|
+
* @param {any} detail
|
|
203
|
+
*/
|
|
204
|
+
dispatchChangeEvent(eventName: string, detail: any): void;
|
|
205
|
+
/**
|
|
206
|
+
* MENU OPTION MANAGEMENT METHODS
|
|
207
|
+
*/
|
|
208
|
+
/**
|
|
209
|
+
* Adds a menu option to the service's list.
|
|
210
|
+
* @param {AuroMenuOption} option - the option to track
|
|
211
|
+
*/
|
|
212
|
+
addMenuOption(option: AuroMenuOption): void;
|
|
213
|
+
/**
|
|
214
|
+
* Removes a menu option from the service's list.
|
|
215
|
+
* @param {AuroMenuOption} option - the option to remove
|
|
216
|
+
*/
|
|
217
|
+
removeMenuOption(option: AuroMenuOption): void;
|
|
218
|
+
/**
|
|
219
|
+
* UTILITIES
|
|
220
|
+
*/
|
|
221
|
+
/**
|
|
222
|
+
* Normalizes a value or array of values into an array of strings for option selection.
|
|
223
|
+
* This function ensures that input values are consistently formatted for matching menu options.
|
|
224
|
+
*
|
|
225
|
+
* @param {string|number|Array<string|number>} value - The value(s) to normalize.
|
|
226
|
+
* @returns {Array<string>} An array of string values suitable for option matching.
|
|
227
|
+
* @throws {Error} If any value is not a string or number.
|
|
228
|
+
*/
|
|
229
|
+
_getNormalizedValues(value: string | number | Array<string | number>): Array<string>;
|
|
230
|
+
/**
|
|
231
|
+
* Returns whether two arrays of options contain the same elements.
|
|
232
|
+
* @param {AuroMenuOption[]} arr1 - First array of options.
|
|
233
|
+
* @param {AuroMenuOption[]} arr2 - Second array of options.
|
|
234
|
+
* @returns {boolean} True if arrays match, false otherwise.
|
|
235
|
+
*/
|
|
236
|
+
optionsArraysMatch(arr1: AuroMenuOption[], arr2: AuroMenuOption[]): boolean;
|
|
237
|
+
}
|
|
238
|
+
export const MenuContext: import("@lit/context").Context<"menu-context", any>;
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* @event {CustomEvent<any>} auroMenu-customEventFired - Notifies that a custom event has been fired.
|
|
7
7
|
* @event {CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>} auroMenu-loadingChange - Notifies when the loading attribute is changed.
|
|
8
8
|
* @event {CustomEvent<any>} auroMenu-selectValueFailure - Notifies that an attempt to select a menuoption by matching a value has failed.
|
|
9
|
+
* @event {CustomEvent<{ values: HTMLElement[] }>} auroMenu-deselectPrevented - Notifies that deselection was prevented and includes the affected options in `detail.values`.
|
|
9
10
|
* @event {CustomEvent<any>} auroMenu-selectValueReset - Notifies that the component value has been reset.
|
|
10
11
|
* @event {CustomEvent<any>} auroMenu-selectedOption - Notifies that a new menuoption selection has been made.
|
|
11
12
|
* @slot loadingText - Text to show while loading attribute is set
|
|
@@ -14,6 +15,13 @@
|
|
|
14
15
|
*/
|
|
15
16
|
export class AuroMenu extends AuroElement {
|
|
16
17
|
static get properties(): {
|
|
18
|
+
/**
|
|
19
|
+
* Allows deselecting an already selected option when clicked again in single-select mode.
|
|
20
|
+
*/
|
|
21
|
+
allowDeselect: {
|
|
22
|
+
type: BooleanConstructor;
|
|
23
|
+
reflect: boolean;
|
|
24
|
+
};
|
|
17
25
|
/**
|
|
18
26
|
* When true, the entire menu and all options are disabled.
|
|
19
27
|
*/
|
|
@@ -21,6 +29,18 @@ export class AuroMenu extends AuroElement {
|
|
|
21
29
|
type: BooleanConstructor;
|
|
22
30
|
reflect: boolean;
|
|
23
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state.
|
|
34
|
+
*/
|
|
35
|
+
hasLoadingPlaceholder: {
|
|
36
|
+
type: BooleanConstructor;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
layout: {
|
|
42
|
+
type: StringConstructor;
|
|
43
|
+
};
|
|
24
44
|
/**
|
|
25
45
|
* Indent level for submenus.
|
|
26
46
|
* @private
|
|
@@ -73,6 +93,30 @@ export class AuroMenu extends AuroElement {
|
|
|
73
93
|
optionSelected: {
|
|
74
94
|
type: ObjectConstructor;
|
|
75
95
|
};
|
|
96
|
+
options: {
|
|
97
|
+
type: ArrayConstructor;
|
|
98
|
+
reflect: boolean;
|
|
99
|
+
attribute: boolean;
|
|
100
|
+
};
|
|
101
|
+
/**
|
|
102
|
+
* Sets the size of the menu.
|
|
103
|
+
* @type {'sm' | 'md'}
|
|
104
|
+
* @default 'sm'
|
|
105
|
+
*/
|
|
106
|
+
size: "sm" | "md";
|
|
107
|
+
/**
|
|
108
|
+
* When true, selects all options that match the provided value/key when setting value and multiselect is enabled.
|
|
109
|
+
*/
|
|
110
|
+
selectAllMatchingOptions: {
|
|
111
|
+
type: BooleanConstructor;
|
|
112
|
+
reflect: boolean;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Sets the shape of the menu.
|
|
116
|
+
* @type {'box' | 'round'}
|
|
117
|
+
* @default 'box'
|
|
118
|
+
*/
|
|
119
|
+
shape: "box" | "round";
|
|
76
120
|
/**
|
|
77
121
|
* The value of the selected option. In multi-select mode, this is a JSON stringified array of selected option values.
|
|
78
122
|
*/
|
|
@@ -81,16 +125,11 @@ export class AuroMenu extends AuroElement {
|
|
|
81
125
|
reflect: boolean;
|
|
82
126
|
attribute: string;
|
|
83
127
|
};
|
|
84
|
-
layout: {
|
|
85
|
-
type: StringConstructor;
|
|
86
|
-
attribute: string;
|
|
87
|
-
reflect: boolean;
|
|
88
|
-
};
|
|
89
128
|
};
|
|
90
129
|
static get styles(): import("lit").CSSResult[];
|
|
91
130
|
/**
|
|
92
131
|
* This will register this element with the browser.
|
|
93
|
-
* @param {string} [name="auro-menu"] - The name of element that you want to register
|
|
132
|
+
* @param {string} [name="auro-menu"] - The name of the element that you want to register.
|
|
94
133
|
*
|
|
95
134
|
* @example
|
|
96
135
|
* AuroMenu.register("custom-menu") // this will register this element to <custom-menu/>
|
|
@@ -105,41 +144,30 @@ export class AuroMenu extends AuroElement {
|
|
|
105
144
|
* @private
|
|
106
145
|
*/
|
|
107
146
|
private size;
|
|
108
|
-
value: any;
|
|
109
147
|
optionSelected: any;
|
|
110
148
|
matchWord: any;
|
|
111
149
|
noCheckmark: boolean;
|
|
112
|
-
optionActive:
|
|
150
|
+
optionActive: any;
|
|
113
151
|
loading: boolean;
|
|
114
152
|
multiSelect: boolean;
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
* @private
|
|
118
|
-
* @param {KeyboardEvent} event - The keydown event.
|
|
119
|
-
*/
|
|
120
|
-
private handleKeyDown;
|
|
121
|
-
/**
|
|
122
|
-
* Handles option selection via click events from menuoptions.
|
|
123
|
-
* @private
|
|
124
|
-
* @param {CustomEvent} event - The auroMenuOption-click event.
|
|
125
|
-
*/
|
|
126
|
-
private handleMouseSelect;
|
|
127
|
-
/**
|
|
128
|
-
* Handles option hover events.
|
|
129
|
-
* @private
|
|
130
|
-
* @param {CustomEvent} event - Event object from the browser.
|
|
131
|
-
*/
|
|
132
|
-
private handleOptionHover;
|
|
153
|
+
allowDeselect: boolean;
|
|
154
|
+
selectAllMatchingOptions: boolean;
|
|
133
155
|
/**
|
|
134
156
|
* Handles slot change events.
|
|
135
157
|
* @private
|
|
136
158
|
*/
|
|
137
159
|
private handleSlotChange;
|
|
160
|
+
/**
|
|
161
|
+
* @readonly
|
|
162
|
+
* @returns {string} - Returns the label of the currently selected option(s).
|
|
163
|
+
*/
|
|
164
|
+
readonly get currentLabel(): string;
|
|
138
165
|
/**
|
|
139
166
|
* @readonly
|
|
140
167
|
* @returns {Array<HTMLElement>} - Returns the array of available menu options.
|
|
168
|
+
* @deprecated Use `options` property instead.
|
|
141
169
|
*/
|
|
142
|
-
readonly get
|
|
170
|
+
readonly get items(): Array<HTMLElement>;
|
|
143
171
|
/**
|
|
144
172
|
* @param {number} value - Sets the index of the currently active option.
|
|
145
173
|
*/
|
|
@@ -149,72 +177,83 @@ export class AuroMenu extends AuroElement {
|
|
|
149
177
|
*/
|
|
150
178
|
get index(): number;
|
|
151
179
|
/**
|
|
152
|
-
*
|
|
153
|
-
*
|
|
180
|
+
* Formatted value based on `multiSelect` state.
|
|
181
|
+
* Default type is `String`, changing to `Array<String>` when `multiSelect` is true.
|
|
182
|
+
* @private
|
|
183
|
+
* @returns {String|Array<String>}
|
|
154
184
|
*/
|
|
155
|
-
get
|
|
185
|
+
private get formattedValue();
|
|
156
186
|
/**
|
|
157
|
-
* Gets the
|
|
158
|
-
* @
|
|
187
|
+
* Gets the current property values for the menu service.
|
|
188
|
+
* @private
|
|
189
|
+
* @returns {Object}
|
|
159
190
|
*/
|
|
160
|
-
get
|
|
191
|
+
private get propertyValues();
|
|
161
192
|
/**
|
|
162
|
-
*
|
|
163
|
-
*
|
|
193
|
+
* Provides the menu context to child components.
|
|
194
|
+
* Initializes the MenuService and subscribes to menu changes.
|
|
195
|
+
* @protected
|
|
164
196
|
*/
|
|
165
|
-
|
|
197
|
+
protected provideContext(): void;
|
|
198
|
+
rootMenu: boolean | undefined;
|
|
199
|
+
menuService: any;
|
|
200
|
+
_contextProvider: any;
|
|
166
201
|
/**
|
|
167
|
-
*
|
|
168
|
-
*
|
|
169
|
-
* @private
|
|
170
|
-
* @returns {String|Array<String>}
|
|
202
|
+
* Updates the currently active option in the menu.
|
|
203
|
+
* @param {HTMLElement} option - The option to set as active.
|
|
171
204
|
*/
|
|
172
|
-
|
|
205
|
+
updateActiveOption(option: HTMLElement): void;
|
|
173
206
|
/**
|
|
174
|
-
*
|
|
175
|
-
* @param {
|
|
176
|
-
* @
|
|
207
|
+
* Sets the internal value and manages update state.
|
|
208
|
+
* @param {String|Array<String>} value - The value to set.
|
|
209
|
+
* @protected
|
|
210
|
+
*/
|
|
211
|
+
protected setInternalValue(value: string | Array<string>): void;
|
|
212
|
+
internalUpdateInProgress: boolean | undefined;
|
|
213
|
+
value: any;
|
|
214
|
+
/**
|
|
215
|
+
* Handles changes from the menu service and updates component state.
|
|
216
|
+
* @param {Object} event - The event object from the menu service.
|
|
217
|
+
* @protected
|
|
218
|
+
*/
|
|
219
|
+
protected handleMenuChange(event: Object): void;
|
|
220
|
+
_index: any;
|
|
221
|
+
options: any;
|
|
222
|
+
/**
|
|
223
|
+
* Gets the currently selected options.
|
|
224
|
+
* @returns {Array<HTMLElement>}
|
|
225
|
+
*/
|
|
226
|
+
get selectedOptions(): Array<HTMLElement>;
|
|
227
|
+
/**
|
|
228
|
+
* Gets the first selected option, or null if none.
|
|
229
|
+
* @returns {HTMLElement|null}
|
|
177
230
|
*/
|
|
178
|
-
|
|
231
|
+
get selectedOption(): HTMLElement | null;
|
|
179
232
|
firstUpdated(): void;
|
|
180
233
|
loadingSlots: NodeListOf<Element> | undefined;
|
|
234
|
+
updated(changedProperties: any): void;
|
|
181
235
|
/**
|
|
182
236
|
* Sets an attribute that matches the default tag name if the tag name is not the default.
|
|
183
237
|
* @param {string} tagName - The tag name to set as an attribute.
|
|
184
238
|
* @private
|
|
185
239
|
*/
|
|
186
240
|
private setTagAttribute;
|
|
187
|
-
updated(changedProperties: any): void;
|
|
188
|
-
_index: number | undefined;
|
|
189
241
|
/**
|
|
190
|
-
*
|
|
191
|
-
* @
|
|
192
|
-
* @
|
|
242
|
+
* Sets the loading state and dispatches a loading change event.
|
|
243
|
+
* @param {boolean} isLoading - Whether the menu is loading.
|
|
244
|
+
* @protected
|
|
193
245
|
*/
|
|
194
|
-
|
|
246
|
+
protected setLoadingState(isLoading: boolean): void;
|
|
195
247
|
/**
|
|
196
248
|
* Initializes the menu's state and structure.
|
|
197
249
|
* @private
|
|
198
250
|
*/
|
|
199
251
|
private initializeMenu;
|
|
200
252
|
/**
|
|
201
|
-
*
|
|
202
|
-
* @
|
|
203
|
-
*/
|
|
204
|
-
private initItems;
|
|
205
|
-
items: Element[] | undefined;
|
|
206
|
-
/**
|
|
207
|
-
* Updates menu state when an option is selected.
|
|
208
|
-
* @private
|
|
209
|
-
* @param {HTMLElement} option - The option element to select.
|
|
210
|
-
*/
|
|
211
|
-
private handleSelectState;
|
|
212
|
-
/**
|
|
213
|
-
* Deselects a menu option and updates related state.
|
|
214
|
-
* @private
|
|
215
|
-
* @param {HTMLElement} option - The menuoption to be deselected.
|
|
253
|
+
* Selects the currently highlighted option.
|
|
254
|
+
* @protected
|
|
216
255
|
*/
|
|
217
|
-
|
|
256
|
+
protected makeSelection(): void;
|
|
218
257
|
/**
|
|
219
258
|
* Resets all options to their default state.
|
|
220
259
|
* @private
|
|
@@ -233,28 +272,11 @@ export class AuroMenu extends AuroElement {
|
|
|
233
272
|
*/
|
|
234
273
|
private handleNestedMenus;
|
|
235
274
|
/**
|
|
236
|
-
*
|
|
237
|
-
* @
|
|
238
|
-
|
|
239
|
-
private makeSelection;
|
|
240
|
-
/**
|
|
241
|
-
* Toggle the selection state of the menuoption.
|
|
242
|
-
* @private
|
|
243
|
-
* @param {HTMLElement} option - The menuoption to toggle.
|
|
244
|
-
*/
|
|
245
|
-
private toggleOption;
|
|
246
|
-
rootMenu: boolean | undefined;
|
|
247
|
-
/**
|
|
248
|
-
* Navigates through options using keyboard.
|
|
249
|
-
* @param {string} direction - 'up' or 'down'.
|
|
250
|
-
*/
|
|
251
|
-
navigateOptions(direction: string): void;
|
|
252
|
-
/**
|
|
253
|
-
* Updates the active option state and dispatches events.
|
|
254
|
-
* Accepts either a numeric index or an HTMLElement option.
|
|
255
|
-
* @param {number|HTMLElement} indexOrOption - Index of the option or the option element to make active.
|
|
275
|
+
* Navigates the menu options in the specified direction.
|
|
276
|
+
* @param {'up'|'down'} direction - The direction to navigate.
|
|
277
|
+
* @protected
|
|
256
278
|
*/
|
|
257
|
-
|
|
279
|
+
protected navigateOptions(direction: "up" | "down"): void;
|
|
258
280
|
/**
|
|
259
281
|
* Handles custom events defined on options.
|
|
260
282
|
* @private
|
|
@@ -267,13 +289,6 @@ export class AuroMenu extends AuroElement {
|
|
|
267
289
|
* @private
|
|
268
290
|
*/
|
|
269
291
|
private notifySelectionChange;
|
|
270
|
-
/**
|
|
271
|
-
* @private
|
|
272
|
-
* @param {any} current - Current selection.
|
|
273
|
-
* @param {any} next - New selection to compare.
|
|
274
|
-
* @returns {boolean} Whether the selections are equal.
|
|
275
|
-
*/
|
|
276
|
-
private selectionEquals;
|
|
277
292
|
/**
|
|
278
293
|
* Checks if an option is currently selected.
|
|
279
294
|
* @private
|