@ui5/webcomponents 0.31.17 → 0.31.18
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/dist/Card.js +19 -2
- package/dist/ComboBox.js +10 -0
- package/dist/FileUploader.js +8 -0
- package/dist/Input.js +10 -2
- package/dist/Label.js +1 -1
- package/dist/List.js +8 -5
- package/dist/ListItem.js +18 -3
- package/dist/Toast.js +11 -0
- package/dist/TreeListItem.js +2 -12
- package/dist/api.json +1 -1
- package/dist/generated/assets/themes/sap_belize/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/i18n/i18n-defaults.js +2 -2
- package/dist/generated/templates/CardTemplate.lit.js +1 -1
- package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/FileUploaderTemplate.lit.js +1 -1
- package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/ListTemplate.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/ToastTemplate.lit.js +2 -1
- package/dist/generated/templates/TreeListItemTemplate.lit.js +1 -1
- package/dist/generated/templates/TreeTemplate.lit.js +1 -1
- package/dist/generated/themes/Badge.css.js +1 -1
- package/dist/generated/themes/Button.css.js +1 -1
- package/dist/generated/themes/Card.css.js +1 -1
- package/dist/generated/themes/CheckBox.css.js +1 -1
- package/dist/generated/themes/ComboBox.css.js +1 -1
- package/dist/generated/themes/DatePicker.css.js +1 -1
- package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
- package/dist/generated/themes/Input.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/ListItem.css.js +1 -1
- package/dist/generated/themes/MessageStrip.css.js +1 -1
- package/dist/generated/themes/MultiComboBox.css.js +1 -1
- package/dist/generated/themes/Panel.css.js +1 -1
- package/dist/generated/themes/RadioButton.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/SliderBase.css.js +1 -1
- package/dist/generated/themes/StepInput.css.js +1 -1
- package/dist/generated/themes/Switch.css.js +1 -1
- package/dist/generated/themes/TextArea.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/sap_belize/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/i18n/messagebundle.properties +3 -0
- package/package.json +7 -7
- package/src/Card.hbs +1 -1
- package/src/Card.js +19 -2
- package/src/ComboBox.js +10 -0
- package/src/FileUploader.hbs +1 -0
- package/src/FileUploader.js +8 -0
- package/src/Input.js +10 -2
- package/src/Label.js +1 -1
- package/src/List.hbs +1 -2
- package/src/List.js +8 -5
- package/src/ListItem.hbs +2 -1
- package/src/ListItem.js +18 -3
- package/src/Toast.hbs +13 -11
- package/src/Toast.js +11 -0
- package/src/Tree.hbs +1 -1
- package/src/TreeListItem.js +2 -12
- package/src/i18n/messagebundle.properties +3 -0
package/dist/Card.js
CHANGED
|
@@ -3,6 +3,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
|
|
|
3
3
|
import { fetchI18nBundle, getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
4
4
|
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
5
5
|
import { isSpace, isEnter } from "@ui5/webcomponents-base/dist/Keys.js";
|
|
6
|
+
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
6
7
|
import CardTemplate from "./generated/templates/CardTemplate.lit.js";
|
|
7
8
|
import Icon from "./Icon.js";
|
|
8
9
|
|
|
@@ -137,6 +138,18 @@ const metadata = {
|
|
|
137
138
|
defaultValue: "",
|
|
138
139
|
},
|
|
139
140
|
|
|
141
|
+
/**
|
|
142
|
+
* Define the <code>aria-level</code> attribute of the component
|
|
143
|
+
* <b>Note: </b> If the interactive property is set, <code>aria-level</code> attribute is not rendered at all.
|
|
144
|
+
* @private
|
|
145
|
+
* @type {Integer}
|
|
146
|
+
* @defaultValue 3
|
|
147
|
+
*/
|
|
148
|
+
ariaLevel: {
|
|
149
|
+
type: Integer,
|
|
150
|
+
defaultValue: 3,
|
|
151
|
+
},
|
|
152
|
+
|
|
140
153
|
_headerActive: {
|
|
141
154
|
type: Boolean,
|
|
142
155
|
noAttribute: true,
|
|
@@ -230,8 +243,12 @@ class Card extends UI5Element {
|
|
|
230
243
|
return this.headerInteractive ? "button" : "heading";
|
|
231
244
|
}
|
|
232
245
|
|
|
233
|
-
get
|
|
234
|
-
|
|
246
|
+
get _ariaLevel() {
|
|
247
|
+
if (this.interactive) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return this.ariaLevel;
|
|
235
252
|
}
|
|
236
253
|
|
|
237
254
|
get hasHeader() {
|
package/dist/ComboBox.js
CHANGED
|
@@ -4,6 +4,7 @@ import ValueState from "@ui5/webcomponents-base/dist/types/ValueState.js";
|
|
|
4
4
|
import { isPhone } from "@ui5/webcomponents-base/dist/Device.js";
|
|
5
5
|
import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
|
|
6
6
|
import { getEffectiveAriaLabelText } from "@ui5/webcomponents-base/dist/util/AriaLabelHelper.js";
|
|
7
|
+
import announce from "@ui5/webcomponents-base/dist/util/InvisibleMessage.js";
|
|
7
8
|
import "@ui5/webcomponents-icons/dist/slim-arrow-down.js";
|
|
8
9
|
import "@ui5/webcomponents-icons/dist/decline.js";
|
|
9
10
|
import { getI18nBundle } from "@ui5/webcomponents-base/dist/i18nBundle.js";
|
|
@@ -24,6 +25,8 @@ import {
|
|
|
24
25
|
VALUE_STATE_INFORMATION,
|
|
25
26
|
INPUT_SUGGESTIONS_TITLE,
|
|
26
27
|
SELECT_OPTIONS,
|
|
28
|
+
LIST_ITEM_POSITION,
|
|
29
|
+
LIST_ITEM_SELECTED,
|
|
27
30
|
} from "./generated/i18n/i18n-defaults.js";
|
|
28
31
|
|
|
29
32
|
// Templates
|
|
@@ -776,6 +779,13 @@ class ComboBox extends UI5Element {
|
|
|
776
779
|
this._itemFocused = true;
|
|
777
780
|
}
|
|
778
781
|
|
|
782
|
+
announceSelectedItem(indexOfItem) {
|
|
783
|
+
const itemPositionText = this.i18nBundle.getText(LIST_ITEM_POSITION, [indexOfItem + 1], [this._filteredItems.length]);
|
|
784
|
+
const itemSelectionText = this.i18nBundle.getText(LIST_ITEM_SELECTED);
|
|
785
|
+
|
|
786
|
+
announce(`${itemPositionText} ${itemSelectionText}`, "Polite");
|
|
787
|
+
}
|
|
788
|
+
|
|
779
789
|
get _headerTitleText() {
|
|
780
790
|
return this.i18nBundle.getText(INPUT_SUGGESTIONS_TITLE);
|
|
781
791
|
}
|
package/dist/FileUploader.js
CHANGED
|
@@ -274,15 +274,23 @@ class FileUploader extends UI5Element {
|
|
|
274
274
|
});
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
+
_onclick(event) {
|
|
278
|
+
if (event.isMarked === "button") {
|
|
279
|
+
this._input.click(event);
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
277
283
|
_onkeydown(event) {
|
|
278
284
|
if (isEnter(event)) {
|
|
279
285
|
this._input.click(event);
|
|
286
|
+
event.preventDefault();
|
|
280
287
|
}
|
|
281
288
|
}
|
|
282
289
|
|
|
283
290
|
_onkeyup(event) {
|
|
284
291
|
if (isSpace(event)) {
|
|
285
292
|
this._input.click(event);
|
|
293
|
+
event.preventDefault();
|
|
286
294
|
}
|
|
287
295
|
}
|
|
288
296
|
|
package/dist/Input.js
CHANGED
|
@@ -836,6 +836,14 @@ class Input extends UI5Element {
|
|
|
836
836
|
return !!this._isPopoverOpen;
|
|
837
837
|
}
|
|
838
838
|
|
|
839
|
+
/**
|
|
840
|
+
* Checks if the value state popover is open.
|
|
841
|
+
* @returns {boolean} true if the value state popover is open, false otherwise
|
|
842
|
+
*/
|
|
843
|
+
isValueStateOpened() {
|
|
844
|
+
return !!this._isPopoverOpen;
|
|
845
|
+
}
|
|
846
|
+
|
|
839
847
|
async openPopover() {
|
|
840
848
|
const popover = await this._getPopover();
|
|
841
849
|
|
|
@@ -1168,7 +1176,8 @@ class Input extends UI5Element {
|
|
|
1168
1176
|
return {
|
|
1169
1177
|
popoverValueState: {
|
|
1170
1178
|
"ui5-valuestatemessage-root": true,
|
|
1171
|
-
"ui5-
|
|
1179
|
+
"ui5-valuestatemessage-header": true,
|
|
1180
|
+
"ui5-responsive-popover-header": !this.isValueStateOpened(),
|
|
1172
1181
|
"ui5-valuestatemessage--success": this.valueState === ValueState.Success,
|
|
1173
1182
|
"ui5-valuestatemessage--error": this.valueState === ValueState.Error,
|
|
1174
1183
|
"ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
|
|
@@ -1185,7 +1194,6 @@ class Input extends UI5Element {
|
|
|
1185
1194
|
suggestionPopoverHeader: {
|
|
1186
1195
|
"display": this._listWidth === 0 ? "none" : "inline-block",
|
|
1187
1196
|
"width": `${this._listWidth}px`,
|
|
1188
|
-
"padding": "0.925rem 1rem",
|
|
1189
1197
|
},
|
|
1190
1198
|
suggestionsPopover: {
|
|
1191
1199
|
"max-width": `${this._inputWidth}px`,
|
package/dist/Label.js
CHANGED
package/dist/List.js
CHANGED
|
@@ -208,16 +208,19 @@ const metadata = {
|
|
|
208
208
|
},
|
|
209
209
|
|
|
210
210
|
/**
|
|
211
|
-
*
|
|
211
|
+
* Defines the accessible role of the component.
|
|
212
|
+
* <br><br>
|
|
213
|
+
* <b>Note:</b> If you use notification list items,
|
|
214
|
+
* it's recommended to set <code>accessible-role="list"</code> for better accessibility.
|
|
212
215
|
*
|
|
213
216
|
* @private
|
|
214
217
|
* @type {String}
|
|
215
|
-
* @defaultvalue "
|
|
216
|
-
* @since 1.0.0-rc.
|
|
218
|
+
* @defaultvalue "list"
|
|
219
|
+
* @since 1.0.0-rc.15
|
|
217
220
|
*/
|
|
218
|
-
|
|
221
|
+
accessibleRole: {
|
|
219
222
|
type: String,
|
|
220
|
-
defaultValue: "
|
|
223
|
+
defaultValue: "list",
|
|
221
224
|
},
|
|
222
225
|
|
|
223
226
|
/**
|
package/dist/ListItem.js
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
ARIA_LABEL_LIST_ITEM_CHECKBOX,
|
|
14
14
|
ARIA_LABEL_LIST_ITEM_RADIO_BUTTON,
|
|
15
15
|
LIST_ITEM_SELECTED,
|
|
16
|
+
LIST_ITEM_NOT_SELECTED,
|
|
16
17
|
} from "./generated/i18n/i18n-defaults.js";
|
|
17
18
|
|
|
18
19
|
// Styles
|
|
@@ -77,13 +78,13 @@ const metadata = {
|
|
|
77
78
|
*
|
|
78
79
|
* @private
|
|
79
80
|
* @type {String}
|
|
80
|
-
* @defaultvalue "
|
|
81
|
+
* @defaultvalue "listitem"
|
|
81
82
|
* @since 1.0.0-rc.9
|
|
82
83
|
*
|
|
83
84
|
*/
|
|
84
85
|
role: {
|
|
85
86
|
type: String,
|
|
86
|
-
defaultValue: "
|
|
87
|
+
defaultValue: "listitem",
|
|
87
88
|
},
|
|
88
89
|
|
|
89
90
|
_mode: {
|
|
@@ -317,6 +318,20 @@ class ListItem extends ListItemBase {
|
|
|
317
318
|
return undefined;
|
|
318
319
|
}
|
|
319
320
|
|
|
321
|
+
get ariaSelectedText() {
|
|
322
|
+
let ariaSelectedText;
|
|
323
|
+
|
|
324
|
+
// Selected state needs to be supported separately since now the role mapping is list -> listitem[]
|
|
325
|
+
// to avoid the issue of nesting interactive elements, ex. (option -> radio/checkbox);
|
|
326
|
+
// The text is added to aria-describedby because as part of the aria-labelledby
|
|
327
|
+
// the whole content of the item is readout when the aria-labelledby value is changed.
|
|
328
|
+
if (this.ariaSelected !== undefined) {
|
|
329
|
+
ariaSelectedText = this.ariaSelected ? this.i18nBundle.getText(LIST_ITEM_SELECTED) : this.i18nBundle.getText(LIST_ITEM_NOT_SELECTED);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
return ariaSelectedText;
|
|
333
|
+
}
|
|
334
|
+
|
|
320
335
|
get deleteText() {
|
|
321
336
|
return this.i18nBundle.getText(DELETE);
|
|
322
337
|
}
|
|
@@ -328,7 +343,7 @@ class ListItem extends ListItemBase {
|
|
|
328
343
|
ariaLevel: undefined,
|
|
329
344
|
ariaLabel: this.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_CHECKBOX),
|
|
330
345
|
ariaLabelRadioButton: this.i18nBundle.getText(ARIA_LABEL_LIST_ITEM_RADIO_BUTTON),
|
|
331
|
-
|
|
346
|
+
ariaSelectedText: this.ariaSelectedText,
|
|
332
347
|
};
|
|
333
348
|
}
|
|
334
349
|
|
package/dist/Toast.js
CHANGED
|
@@ -79,6 +79,15 @@ const metadata = {
|
|
|
79
79
|
hover: {
|
|
80
80
|
type: Boolean,
|
|
81
81
|
},
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Indicates whether the component DOM is rendered.
|
|
85
|
+
* @type {boolean}
|
|
86
|
+
* @private
|
|
87
|
+
*/
|
|
88
|
+
domRendered: {
|
|
89
|
+
type: Boolean,
|
|
90
|
+
},
|
|
82
91
|
},
|
|
83
92
|
slots: /** @lends sap.ui.webcomponents.main.Toast.prototype */ {
|
|
84
93
|
/**
|
|
@@ -206,6 +215,7 @@ class Toast extends UI5Element {
|
|
|
206
215
|
}
|
|
207
216
|
|
|
208
217
|
_initiateOpening() {
|
|
218
|
+
this.domRendered = true;
|
|
209
219
|
requestAnimationFrame(_ => {
|
|
210
220
|
this.open = true;
|
|
211
221
|
});
|
|
@@ -215,6 +225,7 @@ class Toast extends UI5Element {
|
|
|
215
225
|
if (this.hover) {
|
|
216
226
|
return;
|
|
217
227
|
}
|
|
228
|
+
this.domRendered = false;
|
|
218
229
|
this.open = false;
|
|
219
230
|
}
|
|
220
231
|
|
package/dist/TreeListItem.js
CHANGED
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
TREE_ITEM_ARIA_LABEL,
|
|
11
11
|
TREE_ITEM_EXPAND_NODE,
|
|
12
12
|
TREE_ITEM_COLLAPSE_NODE,
|
|
13
|
-
LIST_ITEM_SELECTED,
|
|
14
13
|
} from "./generated/i18n/i18n-defaults.js";
|
|
15
14
|
|
|
16
15
|
// Template
|
|
@@ -275,7 +274,8 @@ class TreeListItem extends ListItem {
|
|
|
275
274
|
ariaLevel: this.level,
|
|
276
275
|
posinset: this._posinset,
|
|
277
276
|
setsize: this._setsize,
|
|
278
|
-
|
|
277
|
+
ariaSelectedText: this.ariaSelectedText,
|
|
278
|
+
listItemAriaLabel: this.i18nBundle.getText(TREE_ITEM_ARIA_LABEL),
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
281
|
|
|
@@ -304,16 +304,6 @@ class TreeListItem extends ListItem {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
|
|
307
|
-
get ariaLabelText() {
|
|
308
|
-
let text = this.i18nBundle.getText(TREE_ITEM_ARIA_LABEL);
|
|
309
|
-
|
|
310
|
-
if (this.selected) {
|
|
311
|
-
text += ` ${this.i18nBundle.getText(LIST_ITEM_SELECTED)}`;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
return text;
|
|
315
|
-
}
|
|
316
|
-
|
|
317
307
|
get iconAccessibleName() {
|
|
318
308
|
return this.expanded ? this.i18nBundle.getText(TREE_ITEM_COLLAPSE_NODE) : this.i18nBundle.getText(TREE_ITEM_EXPAND_NODE);
|
|
319
309
|
}
|