@ui5/webcomponents 0.0.0-db2be6526 → 0.0.0-dc3ccac50
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/csp.js +7 -0
- package/dist/CheckBox.js +4 -0
- package/dist/ColorPalettePopover.js +0 -1
- package/dist/ColorPicker.js +1 -1
- package/dist/ComboBox.js +31 -1
- package/dist/DateTimePicker.js +2 -1
- package/dist/DayPicker.js +5 -0
- package/dist/FileUploader.js +14 -0
- package/dist/Icon.js +1 -0
- package/dist/Input.js +68 -18
- package/dist/List.js +2 -2
- package/dist/MultiComboBox.js +32 -7
- package/dist/MultiComboBoxItem.js +4 -10
- package/dist/Option.js +4 -10
- package/dist/Popup.js +2 -7
- package/dist/RangeSlider.js +1 -1
- package/dist/Select.js +27 -8
- package/dist/SliderBase.js +2 -1
- package/dist/Switch.js +4 -0
- package/dist/Tab.js +26 -12
- package/dist/TabContainer.js +5 -8
- package/dist/Table.js +2 -1
- package/dist/TableRow.js +1 -1
- package/dist/TextArea.js +14 -0
- package/dist/Token.js +21 -1
- package/dist/Tokenizer.js +4 -1
- package/dist/WheelSlider.js +9 -9
- package/dist/api.json +14 -28
- package/dist/features/InputSuggestions.js +100 -15
- package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
- package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
- package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/InputPopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/InputTemplate.lit.js +6 -5
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.lit.js +1 -1
- package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +4 -4
- package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
- package/dist/generated/templates/MultiInputTemplate.lit.js +7 -6
- package/dist/generated/templates/SelectPopoverTemplate.lit.js +3 -3
- package/dist/generated/templates/SliderTemplate.lit.js +1 -1
- package/dist/generated/templates/StandardListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SuggestionListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/SwitchTemplate.lit.js +3 -1
- package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
- package/dist/generated/templates/TabInStripTemplate.lit.js +2 -4
- package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
- package/dist/generated/templates/TokenTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeListItemTemplate.lit.js +1 -1
- package/dist/generated/themes/Avatar.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Breadcrumbs.css.js +1 -1
- package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
- package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
- package/dist/generated/themes/BusyIndicator.css.js +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Button.ie11.css.js +1 -1
- package/dist/generated/themes/Calendar.css.js +1 -1
- package/dist/generated/themes/CalendarHeader.css.js +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/CardHeader.css.js +1 -1
- package/dist/generated/themes/Carousel.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/ColorPalette.css.js +1 -1
- package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
- package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
- package/dist/generated/themes/ColorPaletteStaticArea.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
- package/dist/generated/themes/CustomListItem.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/DatePickerPopover.css.js +1 -1
- package/dist/generated/themes/DateRangePicker.css.js +1 -1
- package/dist/generated/themes/DateTimePicker.css.js +1 -1
- package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
- package/dist/generated/themes/DayPicker.css.js +1 -1
- package/dist/generated/themes/Dialog.css.js +1 -1
- package/dist/generated/themes/FileUploader.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/GrowingButton.css.js +1 -1
- package/dist/generated/themes/Icon.css.js +1 -1
- package/dist/generated/themes/Input.css.js +1 -1
- package/dist/generated/themes/InputIcon.css.js +1 -1
- package/dist/generated/themes/InvisibleTextStyles.css.js +1 -1
- package/dist/generated/themes/Label.css.js +1 -1
- package/dist/generated/themes/Link.css.js +1 -1
- package/dist/generated/themes/List.css.js +1 -1
- package/dist/generated/themes/ListItem.css.js +1 -1
- package/dist/generated/themes/ListItemBase.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MonthPicker.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/MultiInput.css.js +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/Popover.css.js +1 -1
- package/dist/generated/themes/Popup.css.js +1 -1
- package/dist/generated/themes/PopupGlobal.css.js +8 -0
- package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
- package/dist/generated/themes/PopupsCommon.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/RadioButton.css.js +1 -1
- package/dist/generated/themes/RatingIndicator.css.js +1 -1
- package/dist/generated/themes/ResponsivePopover.css.js +1 -1
- package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
- package/dist/generated/themes/SegmentedButton.css.js +1 -1
- package/dist/generated/themes/Select.css.js +1 -1
- package/dist/generated/themes/SelectPopover.css.js +1 -1
- package/dist/generated/themes/SliderBase.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/Suggestions.css.js +8 -0
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/Tab.css.js +1 -1
- package/dist/generated/themes/TabContainer.css.js +1 -1
- package/dist/generated/themes/TabInOverflow.css.js +1 -1
- package/dist/generated/themes/TabInStrip.css.js +1 -1
- package/dist/generated/themes/Table.css.js +1 -1
- package/dist/generated/themes/TableCell.css.js +1 -1
- package/dist/generated/themes/TableColumn.css.js +1 -1
- package/dist/generated/themes/TableGroupRow.css.js +1 -1
- package/dist/generated/themes/TableRow.css.js +1 -1
- package/dist/generated/themes/TapHighlightColor.css.js +1 -1
- package/dist/generated/themes/TextArea.css.js +1 -1
- package/dist/generated/themes/TimePicker.css.js +1 -1
- package/dist/generated/themes/TimePickerPopover.css.js +1 -1
- package/dist/generated/themes/TimeSelection.css.js +1 -1
- package/dist/generated/themes/Title.css.js +1 -1
- package/dist/generated/themes/Toast.css.js +1 -1
- package/dist/generated/themes/ToggleButton.css.js +1 -1
- package/dist/generated/themes/ToggleButton.ie11.css.js +1 -1
- package/dist/generated/themes/Token.css.js +1 -1
- package/dist/generated/themes/Tokenizer.css.js +1 -1
- package/dist/generated/themes/Tree.css.js +1 -1
- package/dist/generated/themes/TreeListItem.css.js +1 -1
- package/dist/generated/themes/ValueStateMessage.css.js +1 -1
- package/dist/generated/themes/WheelSlider.css.js +1 -1
- package/dist/generated/themes/YearPicker.css.js +1 -1
- package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
- package/package.json +8 -8
- package/src/CheckBox.js +4 -0
- package/src/ColorPalettePopover.js +0 -1
- package/src/ColorPicker.js +1 -1
- package/src/ComboBox.hbs +4 -0
- package/src/ComboBox.js +31 -1
- package/src/ComboBoxPopover.hbs +3 -0
- package/src/DateTimePicker.js +2 -1
- package/src/DayPicker.js +5 -0
- package/src/FileUploader.js +14 -0
- package/src/FileUploaderPopover.hbs +1 -0
- package/src/GroupHeaderListItem.hbs +1 -0
- package/src/Icon.js +1 -0
- package/src/Input.hbs +4 -0
- package/src/Input.js +68 -18
- package/src/InputPopover.hbs +4 -1
- package/src/List.hbs +1 -1
- package/src/List.js +2 -2
- package/src/ListItem.hbs +1 -0
- package/src/MultiComboBox.hbs +4 -0
- package/src/MultiComboBox.js +32 -7
- package/src/MultiComboBoxItem.js +4 -10
- package/src/MultiComboBoxPopover.hbs +4 -1
- package/src/Option.js +4 -10
- package/src/Popup.js +2 -7
- package/src/RangeSlider.js +1 -1
- package/src/Select.js +27 -8
- package/src/SelectPopover.hbs +4 -1
- package/src/Slider.hbs +1 -1
- package/src/SliderBase.js +2 -1
- package/src/Switch.hbs +12 -2
- package/src/Switch.js +4 -0
- package/src/Tab.js +26 -12
- package/src/TabContainer.hbs +6 -1
- package/src/TabContainer.js +5 -8
- package/src/TabContainerPopover.hbs +1 -0
- package/src/TabInStrip.hbs +1 -5
- package/src/Table.js +2 -1
- package/src/TableRow.js +1 -1
- package/src/TextArea.js +14 -0
- package/src/TextAreaPopover.hbs +1 -0
- package/src/Token.hbs +2 -0
- package/src/Token.js +21 -1
- package/src/Tokenizer.js +4 -1
- package/src/WheelSlider.js +9 -9
- package/src/features/InputSuggestions.js +100 -15
|
@@ -97,10 +97,16 @@ class Suggestions {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
onEnter(event) {
|
|
100
|
+
if (this._isGroupOrInactiveItem) {
|
|
101
|
+
event.preventDefault();
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
|
|
100
105
|
if (this._isItemOnTarget()) {
|
|
101
106
|
this.onItemSelected(null, true /* keyboardUsed */);
|
|
102
107
|
return true;
|
|
103
108
|
}
|
|
109
|
+
|
|
104
110
|
return false;
|
|
105
111
|
}
|
|
106
112
|
|
|
@@ -135,9 +141,15 @@ class Suggestions {
|
|
|
135
141
|
}
|
|
136
142
|
|
|
137
143
|
async close(preventFocusRestore = false) {
|
|
144
|
+
const selectedItem = this._getItems() && this._getItems()[this.selectedItemIndex];
|
|
145
|
+
|
|
138
146
|
this._getComponent().open = false;
|
|
139
147
|
this.responsivePopover = await this._getSuggestionPopover();
|
|
140
148
|
this.responsivePopover.close(false, false, preventFocusRestore);
|
|
149
|
+
|
|
150
|
+
if (selectedItem && selectedItem.focused) {
|
|
151
|
+
selectedItem.focused = false;
|
|
152
|
+
}
|
|
141
153
|
}
|
|
142
154
|
|
|
143
155
|
updateSelectedItemPosition(pos) {
|
|
@@ -171,16 +183,13 @@ class Suggestions {
|
|
|
171
183
|
|
|
172
184
|
// If the item is "Inactive", prevent selection with SPACE or ENTER
|
|
173
185
|
// to have consistency with the way "Inactive" items behave in the ui5-list
|
|
174
|
-
if (item.type === "Inactive") {
|
|
175
|
-
return;
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
if (item.group) {
|
|
186
|
+
if (item.type === "Inactive" || item.group) {
|
|
179
187
|
return;
|
|
180
188
|
}
|
|
181
189
|
|
|
182
190
|
this._getComponent().onItemSelected(this._getRealItems()[this.selectedItemIndex], keyboardUsed);
|
|
183
191
|
item.selected = false;
|
|
192
|
+
item.focused = false;
|
|
184
193
|
this._getComponent().open = false;
|
|
185
194
|
}
|
|
186
195
|
|
|
@@ -242,7 +251,17 @@ class Suggestions {
|
|
|
242
251
|
}
|
|
243
252
|
|
|
244
253
|
_isItemOnTarget() {
|
|
245
|
-
return this.isOpened() && this.selectedItemIndex !== null;
|
|
254
|
+
return this.isOpened() && this.selectedItemIndex !== null && this.selectedItemIndex !== -1 && !this._isGroupOrInactiveItem;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
get _isGroupOrInactiveItem() {
|
|
258
|
+
const items = this._getItems();
|
|
259
|
+
|
|
260
|
+
if (!items || !items[this.selectedItemIndex]) {
|
|
261
|
+
return false;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
return (items[this.selectedItemIndex].group || items[this.selectedItemIndex].type === "Inactive");
|
|
246
265
|
}
|
|
247
266
|
|
|
248
267
|
isOpened() {
|
|
@@ -264,23 +283,68 @@ class Suggestions {
|
|
|
264
283
|
_selectNextItem() {
|
|
265
284
|
const itemsCount = this._getItems().length;
|
|
266
285
|
const previousSelectedIdx = this.selectedItemIndex;
|
|
286
|
+
const hasValueState = this.component.hasValueStateMessage;
|
|
287
|
+
|
|
288
|
+
if (hasValueState && previousSelectedIdx === null && !this.component._isValueStateFocused) {
|
|
289
|
+
this.component._isValueStateFocused = true;
|
|
290
|
+
this.component.focused = false;
|
|
291
|
+
this.component.hasSuggestionItemSelected = false;
|
|
292
|
+
this.selectedItemIndex = null;
|
|
293
|
+
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
if ((previousSelectedIdx === null && !hasValueState) || this.component._isValueStateFocused) {
|
|
298
|
+
this.component._isValueStateFocused = false;
|
|
299
|
+
--this.selectedItemIndex;
|
|
300
|
+
}
|
|
267
301
|
|
|
268
|
-
if (
|
|
269
|
-
|
|
302
|
+
if (previousSelectedIdx !== null && previousSelectedIdx + 1 > itemsCount - 1) {
|
|
303
|
+
return;
|
|
270
304
|
}
|
|
271
305
|
|
|
272
|
-
this._moveItemSelection(previousSelectedIdx, this.selectedItemIndex);
|
|
306
|
+
this._moveItemSelection(previousSelectedIdx, ++this.selectedItemIndex);
|
|
273
307
|
}
|
|
274
308
|
|
|
275
309
|
_selectPreviousItem() {
|
|
276
|
-
const
|
|
310
|
+
const items = this._getItems();
|
|
277
311
|
const previousSelectedIdx = this.selectedItemIndex;
|
|
312
|
+
const hasValueState = this.component.hasValueStateMessage;
|
|
278
313
|
|
|
279
|
-
if (
|
|
280
|
-
this.
|
|
314
|
+
if (hasValueState && previousSelectedIdx === 0 && !this.component._isValueStateFocused) {
|
|
315
|
+
this.component.hasSuggestionItemSelected = false;
|
|
316
|
+
this.component._isValueStateFocused = true;
|
|
317
|
+
this.selectedItemIndex = null;
|
|
318
|
+
|
|
319
|
+
items[0].focused = false;
|
|
320
|
+
items[0].selected = false;
|
|
321
|
+
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
if (this.component._isValueStateFocused) {
|
|
326
|
+
this.component.focused = true;
|
|
327
|
+
this.component._isValueStateFocused = false;
|
|
328
|
+
this.selectedItemIndex = null;
|
|
329
|
+
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
if (previousSelectedIdx === -1 || previousSelectedIdx === null) {
|
|
334
|
+
return;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
if (previousSelectedIdx - 1 < 0) {
|
|
338
|
+
items[previousSelectedIdx].selected = false;
|
|
339
|
+
items[previousSelectedIdx].focused = false;
|
|
340
|
+
|
|
341
|
+
this.component.focused = true;
|
|
342
|
+
this.component.hasSuggestionItemSelected = false;
|
|
343
|
+
this.selectedItemIndex -= 1;
|
|
344
|
+
return;
|
|
281
345
|
}
|
|
282
346
|
|
|
283
|
-
this._moveItemSelection(previousSelectedIdx, this.selectedItemIndex);
|
|
347
|
+
this._moveItemSelection(previousSelectedIdx, --this.selectedItemIndex);
|
|
284
348
|
}
|
|
285
349
|
|
|
286
350
|
_moveItemSelection(previousIdx, nextIdx) {
|
|
@@ -288,6 +352,12 @@ class Suggestions {
|
|
|
288
352
|
const currentItem = items[nextIdx];
|
|
289
353
|
const previousItem = items[previousIdx];
|
|
290
354
|
|
|
355
|
+
if (!currentItem) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
this.component.focused = false;
|
|
360
|
+
|
|
291
361
|
this.accInfo = {
|
|
292
362
|
currentPos: nextIdx + 1,
|
|
293
363
|
listSize: items.length,
|
|
@@ -296,16 +366,22 @@ class Suggestions {
|
|
|
296
366
|
|
|
297
367
|
if (previousItem) {
|
|
298
368
|
previousItem.selected = false;
|
|
369
|
+
previousItem.focused = false;
|
|
299
370
|
}
|
|
300
371
|
|
|
301
372
|
if (currentItem) {
|
|
302
|
-
currentItem.
|
|
373
|
+
currentItem.focused = true;
|
|
374
|
+
|
|
375
|
+
if (currentItem.type === "Active") {
|
|
376
|
+
currentItem.selected = true;
|
|
377
|
+
}
|
|
303
378
|
|
|
304
379
|
if (this.handleFocus) {
|
|
305
380
|
currentItem.focus();
|
|
306
381
|
}
|
|
307
382
|
}
|
|
308
383
|
|
|
384
|
+
this.component.hasSuggestionItemSelected = true;
|
|
309
385
|
this.onItemPreviewed(currentItem);
|
|
310
386
|
|
|
311
387
|
if (!this._isItemIntoView(currentItem)) {
|
|
@@ -317,9 +393,18 @@ class Suggestions {
|
|
|
317
393
|
const items = this._getItems();
|
|
318
394
|
items.forEach(item => {
|
|
319
395
|
item.selected = false;
|
|
396
|
+
item.focused = false;
|
|
320
397
|
});
|
|
321
398
|
}
|
|
322
399
|
|
|
400
|
+
_clearItemFocus() {
|
|
401
|
+
const focusedItem = this._getItems().find(item => item.focused);
|
|
402
|
+
|
|
403
|
+
if (focusedItem) {
|
|
404
|
+
focusedItem.focused = false;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
323
408
|
_isItemIntoView(item) {
|
|
324
409
|
const rectItem = item.getDomRef().getBoundingClientRect();
|
|
325
410
|
const rectInput = this._getComponent().getDomRef().getBoundingClientRect();
|
|
@@ -344,7 +429,7 @@ class Suggestions {
|
|
|
344
429
|
}
|
|
345
430
|
|
|
346
431
|
_getItems() {
|
|
347
|
-
return [...this.responsivePopover.querySelector("[ui5-list]").children];
|
|
432
|
+
return !!this.responsivePopover && [...this.responsivePopover.querySelector("[ui5-list]").children];
|
|
348
433
|
}
|
|
349
434
|
|
|
350
435
|
_getComponent() {
|