@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.
Files changed (62) hide show
  1. package/components/checkbox/demo/customize.min.js +2 -2
  2. package/components/checkbox/demo/getting-started.min.js +2 -2
  3. package/components/checkbox/demo/index.min.js +2 -2
  4. package/components/checkbox/dist/index.js +2 -2
  5. package/components/checkbox/dist/registered.js +2 -2
  6. package/components/combobox/demo/customize.md +3 -7
  7. package/components/combobox/demo/customize.min.js +1705 -1459
  8. package/components/combobox/demo/getting-started.min.js +1705 -1459
  9. package/components/combobox/demo/index.min.js +1705 -1459
  10. package/components/combobox/dist/auro-combobox.d.ts +0 -5
  11. package/components/combobox/dist/index.js +162 -491
  12. package/components/combobox/dist/registered.js +162 -491
  13. package/components/counter/demo/customize.min.js +19 -18
  14. package/components/counter/demo/index.min.js +19 -18
  15. package/components/counter/dist/index.js +187 -5442
  16. package/components/counter/dist/registered.js +187 -5442
  17. package/components/datepicker/demo/customize.md +477 -384
  18. package/components/datepicker/demo/customize.min.js +96 -161
  19. package/components/datepicker/demo/index.md +0 -1
  20. package/components/datepicker/demo/index.min.js +96 -161
  21. package/components/datepicker/dist/index.js +96 -161
  22. package/components/datepicker/dist/registered.js +96 -161
  23. package/components/datepicker/dist/src/auro-datepicker.d.ts +2 -2
  24. package/components/dropdown/demo/customize.min.js +17 -16
  25. package/components/dropdown/demo/getting-started.min.js +17 -16
  26. package/components/dropdown/demo/index.min.js +17 -16
  27. package/components/dropdown/dist/auro-dropdown.d.ts +2 -1
  28. package/components/dropdown/dist/index.js +17 -16
  29. package/components/dropdown/dist/registered.js +17 -16
  30. package/components/form/demo/customize.min.js +7965 -7884
  31. package/components/form/demo/getting-started.min.js +7965 -7884
  32. package/components/form/demo/index.min.js +7965 -7884
  33. package/components/form/demo/registerDemoDeps.min.js +7934 -7853
  34. package/components/input/demo/customize.md +539 -472
  35. package/components/input/demo/customize.min.js +61 -132
  36. package/components/input/demo/getting-started.min.js +61 -132
  37. package/components/input/demo/index.min.js +61 -132
  38. package/components/input/dist/base-input.d.ts +0 -16
  39. package/components/input/dist/index.js +61 -132
  40. package/components/input/dist/registered.js +61 -132
  41. package/components/menu/demo/api.md +45 -41
  42. package/components/menu/demo/customize.md +28 -0
  43. package/components/menu/demo/index.min.js +1358 -783
  44. package/components/menu/dist/auro-menu.context.d.ts +238 -0
  45. package/components/menu/dist/auro-menu.d.ts +110 -95
  46. package/components/menu/dist/auro-menuoption.d.ts +138 -32
  47. package/components/menu/dist/index.js +1312 -757
  48. package/components/menu/dist/registered.js +1312 -769
  49. package/components/radio/demo/customize.min.js +2 -2
  50. package/components/radio/demo/getting-started.min.js +2 -2
  51. package/components/radio/demo/index.min.js +2 -2
  52. package/components/radio/dist/index.js +2 -2
  53. package/components/radio/dist/registered.js +2 -2
  54. package/components/select/demo/customize.md +3 -7
  55. package/components/select/demo/customize.min.js +1634 -1089
  56. package/components/select/demo/getting-started.min.js +1634 -1089
  57. package/components/select/demo/index.min.js +1634 -1089
  58. package/components/select/dist/index.js +31 -61
  59. package/components/select/dist/registered.js +31 -61
  60. package/custom-elements.json +2085 -1439
  61. package/package.json +1 -1
  62. 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 to.
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: Element | undefined;
150
+ optionActive: any;
113
151
  loading: boolean;
114
152
  multiSelect: boolean;
115
- /**
116
- * Handles keyboard navigation and selection.
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 options(): Array<HTMLElement>;
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
- * Gets the currently selected options as an array.
153
- * @returns {Array<HTMLElement>}
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 selectedOptions(): Array<HTMLElement>;
185
+ private get formattedValue();
156
186
  /**
157
- * Gets the first selected option, or null if none.
158
- * @returns {HTMLElement|null}
187
+ * Gets the current property values for the menu service.
188
+ * @private
189
+ * @returns {Object}
159
190
  */
160
- get selectedOption(): HTMLElement | null;
191
+ private get propertyValues();
161
192
  /**
162
- * @readonly
163
- * @returns {string} - Returns the label of the currently selected option(s).
193
+ * Provides the menu context to child components.
194
+ * Initializes the MenuService and subscribes to menu changes.
195
+ * @protected
164
196
  */
165
- readonly get currentLabel(): string;
197
+ protected provideContext(): void;
198
+ rootMenu: boolean | undefined;
199
+ menuService: any;
200
+ _contextProvider: any;
166
201
  /**
167
- * Formatted value based on `multiSelect` state.
168
- * Default type is `String`, changing to `Array<String>` when `multiSelect` is true.
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
- private get formattedValue();
205
+ updateActiveOption(option: HTMLElement): void;
173
206
  /**
174
- * Selects options by value.
175
- * @param {string|string[]|undefined|null} value - The value(s) to select.
176
- * @public
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
- public selectByValue(value: string | string[] | undefined | null): void;
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
- * Updates the UI state and appearance of menu items based on changed properties.
191
- * @private
192
- * @param {Map<string, boolean>} changedProperties - LitElement's changed properties map.
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
- private updateItemsState;
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
- * Initializes menu items and their attributes.
202
- * @private
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
- private handleDeselectState;
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
- * Makes a selection based on the current index.
237
- * @private
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
- updateActiveOption(indexOrOption: number | HTMLElement): void;
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