@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.
Files changed (205) hide show
  1. package/csp.js +7 -0
  2. package/dist/CheckBox.js +4 -0
  3. package/dist/ColorPalettePopover.js +0 -1
  4. package/dist/ColorPicker.js +1 -1
  5. package/dist/ComboBox.js +31 -1
  6. package/dist/DateTimePicker.js +2 -1
  7. package/dist/DayPicker.js +5 -0
  8. package/dist/FileUploader.js +14 -0
  9. package/dist/Icon.js +1 -0
  10. package/dist/Input.js +68 -18
  11. package/dist/List.js +2 -2
  12. package/dist/MultiComboBox.js +32 -7
  13. package/dist/MultiComboBoxItem.js +4 -10
  14. package/dist/Option.js +4 -10
  15. package/dist/Popup.js +2 -7
  16. package/dist/RangeSlider.js +1 -1
  17. package/dist/Select.js +27 -8
  18. package/dist/SliderBase.js +2 -1
  19. package/dist/Switch.js +4 -0
  20. package/dist/Tab.js +26 -12
  21. package/dist/TabContainer.js +5 -8
  22. package/dist/Table.js +2 -1
  23. package/dist/TableRow.js +1 -1
  24. package/dist/TextArea.js +14 -0
  25. package/dist/Token.js +21 -1
  26. package/dist/Tokenizer.js +4 -1
  27. package/dist/WheelSlider.js +9 -9
  28. package/dist/api.json +14 -28
  29. package/dist/features/InputSuggestions.js +100 -15
  30. package/dist/generated/assets/themes/sap_belize/parameters-bundle.css.json +1 -1
  31. package/dist/generated/assets/themes/sap_belize_hcb/parameters-bundle.css.json +1 -1
  32. package/dist/generated/assets/themes/sap_belize_hcw/parameters-bundle.css.json +1 -1
  33. package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
  34. package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
  35. package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
  36. package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
  37. package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
  38. package/dist/generated/assets/themes/sap_horizon_exp/parameters-bundle.css.json +1 -1
  39. package/dist/generated/templates/ComboBoxPopoverTemplate.lit.js +3 -3
  40. package/dist/generated/templates/ComboBoxTemplate.lit.js +4 -3
  41. package/dist/generated/templates/CustomListItemTemplate.lit.js +1 -1
  42. package/dist/generated/templates/FileUploaderPopoverTemplate.lit.js +1 -1
  43. package/dist/generated/templates/GroupHeaderListItemTemplate.lit.js +1 -1
  44. package/dist/generated/templates/InputPopoverTemplate.lit.js +3 -3
  45. package/dist/generated/templates/InputTemplate.lit.js +6 -5
  46. package/dist/generated/templates/ListItemTemplate.lit.js +1 -1
  47. package/dist/generated/templates/ListTemplate.lit.js +1 -1
  48. package/dist/generated/templates/MultiComboBoxPopoverTemplate.lit.js +4 -4
  49. package/dist/generated/templates/MultiComboBoxTemplate.lit.js +4 -3
  50. package/dist/generated/templates/MultiInputTemplate.lit.js +7 -6
  51. package/dist/generated/templates/SelectPopoverTemplate.lit.js +3 -3
  52. package/dist/generated/templates/SliderTemplate.lit.js +1 -1
  53. package/dist/generated/templates/StandardListItemTemplate.lit.js +1 -1
  54. package/dist/generated/templates/SuggestionListItemTemplate.lit.js +1 -1
  55. package/dist/generated/templates/SwitchTemplate.lit.js +3 -1
  56. package/dist/generated/templates/TabContainerPopoverTemplate.lit.js +1 -1
  57. package/dist/generated/templates/TabContainerTemplate.lit.js +1 -1
  58. package/dist/generated/templates/TabInStripTemplate.lit.js +2 -4
  59. package/dist/generated/templates/TextAreaPopoverTemplate.lit.js +1 -1
  60. package/dist/generated/templates/TokenTemplate.lit.js +1 -1
  61. package/dist/generated/templates/TreeListItemTemplate.lit.js +1 -1
  62. package/dist/generated/themes/Avatar.css.js +1 -1
  63. package/dist/generated/themes/AvatarGroup.css.js +1 -1
  64. package/dist/generated/themes/Badge.css.js +1 -1
  65. package/dist/generated/themes/Breadcrumbs.css.js +1 -1
  66. package/dist/generated/themes/BreadcrumbsPopover.css.js +1 -1
  67. package/dist/generated/themes/BrowserScrollbar.css.js +1 -1
  68. package/dist/generated/themes/BusyIndicator.css.js +1 -1
  69. package/dist/generated/themes/Button.css.js +1 -1
  70. package/dist/generated/themes/Button.ie11.css.js +1 -1
  71. package/dist/generated/themes/Calendar.css.js +1 -1
  72. package/dist/generated/themes/CalendarHeader.css.js +1 -1
  73. package/dist/generated/themes/Card.css.js +1 -1
  74. package/dist/generated/themes/CardHeader.css.js +1 -1
  75. package/dist/generated/themes/Carousel.css.js +1 -1
  76. package/dist/generated/themes/CheckBox.css.js +1 -1
  77. package/dist/generated/themes/ColorPalette.css.js +1 -1
  78. package/dist/generated/themes/ColorPaletteItem.css.js +1 -1
  79. package/dist/generated/themes/ColorPalettePopover.css.js +1 -1
  80. package/dist/generated/themes/ColorPaletteStaticArea.css.js +1 -1
  81. package/dist/generated/themes/ColorPicker.css.js +1 -1
  82. package/dist/generated/themes/ComboBox.css.js +1 -1
  83. package/dist/generated/themes/ComboBoxPopover.css.js +1 -1
  84. package/dist/generated/themes/CustomListItem.css.js +1 -1
  85. package/dist/generated/themes/DatePicker.css.js +1 -1
  86. package/dist/generated/themes/DatePickerPopover.css.js +1 -1
  87. package/dist/generated/themes/DateRangePicker.css.js +1 -1
  88. package/dist/generated/themes/DateTimePicker.css.js +1 -1
  89. package/dist/generated/themes/DateTimePickerPopover.css.js +1 -1
  90. package/dist/generated/themes/DayPicker.css.js +1 -1
  91. package/dist/generated/themes/Dialog.css.js +1 -1
  92. package/dist/generated/themes/FileUploader.css.js +1 -1
  93. package/dist/generated/themes/GroupHeaderListItem.css.js +1 -1
  94. package/dist/generated/themes/GrowingButton.css.js +1 -1
  95. package/dist/generated/themes/Icon.css.js +1 -1
  96. package/dist/generated/themes/Input.css.js +1 -1
  97. package/dist/generated/themes/InputIcon.css.js +1 -1
  98. package/dist/generated/themes/InvisibleTextStyles.css.js +1 -1
  99. package/dist/generated/themes/Label.css.js +1 -1
  100. package/dist/generated/themes/Link.css.js +1 -1
  101. package/dist/generated/themes/List.css.js +1 -1
  102. package/dist/generated/themes/ListItem.css.js +1 -1
  103. package/dist/generated/themes/ListItemBase.css.js +1 -1
  104. package/dist/generated/themes/MessageStrip.css.js +1 -1
  105. package/dist/generated/themes/MonthPicker.css.js +1 -1
  106. package/dist/generated/themes/MultiComboBox.css.js +1 -1
  107. package/dist/generated/themes/MultiInput.css.js +1 -1
  108. package/dist/generated/themes/Panel.css.js +1 -1
  109. package/dist/generated/themes/Popover.css.js +1 -1
  110. package/dist/generated/themes/Popup.css.js +1 -1
  111. package/dist/generated/themes/PopupGlobal.css.js +8 -0
  112. package/dist/generated/themes/PopupStaticAreaStyles.css.js +1 -1
  113. package/dist/generated/themes/PopupsCommon.css.js +1 -1
  114. package/dist/generated/themes/ProgressIndicator.css.js +1 -1
  115. package/dist/generated/themes/RadioButton.css.js +1 -1
  116. package/dist/generated/themes/RatingIndicator.css.js +1 -1
  117. package/dist/generated/themes/ResponsivePopover.css.js +1 -1
  118. package/dist/generated/themes/ResponsivePopoverCommon.css.js +1 -1
  119. package/dist/generated/themes/SegmentedButton.css.js +1 -1
  120. package/dist/generated/themes/Select.css.js +1 -1
  121. package/dist/generated/themes/SelectPopover.css.js +1 -1
  122. package/dist/generated/themes/SliderBase.css.js +1 -1
  123. package/dist/generated/themes/StepInput.css.js +1 -1
  124. package/dist/generated/themes/Suggestions.css.js +8 -0
  125. package/dist/generated/themes/Switch.css.js +1 -1
  126. package/dist/generated/themes/Tab.css.js +1 -1
  127. package/dist/generated/themes/TabContainer.css.js +1 -1
  128. package/dist/generated/themes/TabInOverflow.css.js +1 -1
  129. package/dist/generated/themes/TabInStrip.css.js +1 -1
  130. package/dist/generated/themes/Table.css.js +1 -1
  131. package/dist/generated/themes/TableCell.css.js +1 -1
  132. package/dist/generated/themes/TableColumn.css.js +1 -1
  133. package/dist/generated/themes/TableGroupRow.css.js +1 -1
  134. package/dist/generated/themes/TableRow.css.js +1 -1
  135. package/dist/generated/themes/TapHighlightColor.css.js +1 -1
  136. package/dist/generated/themes/TextArea.css.js +1 -1
  137. package/dist/generated/themes/TimePicker.css.js +1 -1
  138. package/dist/generated/themes/TimePickerPopover.css.js +1 -1
  139. package/dist/generated/themes/TimeSelection.css.js +1 -1
  140. package/dist/generated/themes/Title.css.js +1 -1
  141. package/dist/generated/themes/Toast.css.js +1 -1
  142. package/dist/generated/themes/ToggleButton.css.js +1 -1
  143. package/dist/generated/themes/ToggleButton.ie11.css.js +1 -1
  144. package/dist/generated/themes/Token.css.js +1 -1
  145. package/dist/generated/themes/Tokenizer.css.js +1 -1
  146. package/dist/generated/themes/Tree.css.js +1 -1
  147. package/dist/generated/themes/TreeListItem.css.js +1 -1
  148. package/dist/generated/themes/ValueStateMessage.css.js +1 -1
  149. package/dist/generated/themes/WheelSlider.css.js +1 -1
  150. package/dist/generated/themes/YearPicker.css.js +1 -1
  151. package/dist/generated/themes/sap_belize/parameters-bundle.css.js +1 -1
  152. package/dist/generated/themes/sap_belize_hcb/parameters-bundle.css.js +1 -1
  153. package/dist/generated/themes/sap_belize_hcw/parameters-bundle.css.js +1 -1
  154. package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
  155. package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
  156. package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
  157. package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
  158. package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
  159. package/dist/generated/themes/sap_horizon_exp/parameters-bundle.css.js +1 -1
  160. package/package.json +8 -8
  161. package/src/CheckBox.js +4 -0
  162. package/src/ColorPalettePopover.js +0 -1
  163. package/src/ColorPicker.js +1 -1
  164. package/src/ComboBox.hbs +4 -0
  165. package/src/ComboBox.js +31 -1
  166. package/src/ComboBoxPopover.hbs +3 -0
  167. package/src/DateTimePicker.js +2 -1
  168. package/src/DayPicker.js +5 -0
  169. package/src/FileUploader.js +14 -0
  170. package/src/FileUploaderPopover.hbs +1 -0
  171. package/src/GroupHeaderListItem.hbs +1 -0
  172. package/src/Icon.js +1 -0
  173. package/src/Input.hbs +4 -0
  174. package/src/Input.js +68 -18
  175. package/src/InputPopover.hbs +4 -1
  176. package/src/List.hbs +1 -1
  177. package/src/List.js +2 -2
  178. package/src/ListItem.hbs +1 -0
  179. package/src/MultiComboBox.hbs +4 -0
  180. package/src/MultiComboBox.js +32 -7
  181. package/src/MultiComboBoxItem.js +4 -10
  182. package/src/MultiComboBoxPopover.hbs +4 -1
  183. package/src/Option.js +4 -10
  184. package/src/Popup.js +2 -7
  185. package/src/RangeSlider.js +1 -1
  186. package/src/Select.js +27 -8
  187. package/src/SelectPopover.hbs +4 -1
  188. package/src/Slider.hbs +1 -1
  189. package/src/SliderBase.js +2 -1
  190. package/src/Switch.hbs +12 -2
  191. package/src/Switch.js +4 -0
  192. package/src/Tab.js +26 -12
  193. package/src/TabContainer.hbs +6 -1
  194. package/src/TabContainer.js +5 -8
  195. package/src/TabContainerPopover.hbs +1 -0
  196. package/src/TabInStrip.hbs +1 -5
  197. package/src/Table.js +2 -1
  198. package/src/TableRow.js +1 -1
  199. package/src/TextArea.js +14 -0
  200. package/src/TextAreaPopover.hbs +1 -0
  201. package/src/Token.hbs +2 -0
  202. package/src/Token.js +21 -1
  203. package/src/Tokenizer.js +4 -1
  204. package/src/WheelSlider.js +9 -9
  205. package/src/features/InputSuggestions.js +100 -15
@@ -1,7 +1,7 @@
1
1
  <ui5-responsive-popover
2
2
  placement-type="Bottom"
3
3
  horizontal-align="Stretch"
4
- class="ui5-multi-combobox-all-items-responsive-popover"
4
+ class="{{classes.popover}}"
5
5
  hide-arrow
6
6
  _disable-initial-focus
7
7
  @ui5-selection-change={{_listSelectionChange}}
@@ -50,6 +50,7 @@
50
50
  </div>
51
51
  {{#if hasValueStateMessage}}
52
52
  <div class="{{classes.popoverValueState}}" style="{{styles.popoverValueStateMessage}}">
53
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageIcon}}"></ui5-icon>
53
54
  {{> valueStateMessage}}
54
55
  </div>
55
56
  {{/if}}
@@ -60,6 +61,7 @@
60
61
  {{#unless _isPhone}}
61
62
  {{#if hasValueStateMessage}}
62
63
  <div slot="header" @keydown="{{_onValueStateKeydown}}" tabindex="0" class="ui5-responsive-popover-header {{classes.popoverValueState}}" style={{styles.popoverValueStateMessage}}>
64
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageIcon}}"></ui5-icon>
63
65
  {{> valueStateMessage}}
64
66
  </div>
65
67
  {{/if}}
@@ -101,6 +103,7 @@
101
103
  horizontal-align="Left"
102
104
  >
103
105
  <div slot="header" class="{{classes.popoverValueState}}" style="{{styles.popoverHeader}}">
106
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageIcon}}"></ui5-icon>
104
107
  {{> valueStateMessage}}
105
108
  </div>
106
109
  </ui5-popover>
package/src/Option.js CHANGED
@@ -57,16 +57,6 @@ const metadata = {
57
57
  type: String,
58
58
  },
59
59
 
60
- /**
61
- * Defines the stable selector that you can use via getStableDomRef method.
62
- * @public
63
- * @type {string}
64
- * @since 1.0.0-rc.11
65
- */
66
- stableDomRef: {
67
- type: String,
68
- },
69
-
70
60
  /**
71
61
  * Defines the focused state of the component.
72
62
  * @type {boolean}
@@ -114,6 +104,10 @@ class Option extends UI5Element {
114
104
  static get metadata() {
115
105
  return metadata;
116
106
  }
107
+
108
+ get stableDomRef() {
109
+ return `${this._id}-stable-dom-ref`;
110
+ }
117
111
  }
118
112
 
119
113
  Option.define();
package/src/Popup.js CHANGED
@@ -13,6 +13,7 @@ import { addOpenedPopup, removeOpenedPopup } from "./popup-utils/OpenedPopupsReg
13
13
  // Styles
14
14
  import styles from "./generated/themes/Popup.css.js";
15
15
  import staticAreaStyles from "./generated/themes/PopupStaticAreaStyles.css.js";
16
+ import globalStyles from "./generated/themes/PopupGlobal.css.js";
16
17
 
17
18
  /**
18
19
  * @public
@@ -143,13 +144,7 @@ const metadata = {
143
144
 
144
145
  const createBlockingStyle = () => {
145
146
  if (!hasStyle("data-ui5-popup-scroll-blocker")) {
146
- createStyle(`
147
- .ui5-popup-scroll-blocker {
148
- width: 100%;
149
- height: 100%;
150
- position: fixed;
151
- overflow: hidden;
152
- }`, "data-ui5-popup-scroll-blocker");
147
+ createStyle(globalStyles, "data-ui5-popup-scroll-blocker");
153
148
  }
154
149
  };
155
150
 
@@ -733,7 +733,7 @@ class RangeSlider extends SliderBase {
733
733
  get styles() {
734
734
  return {
735
735
  progress: {
736
- "transform": `scaleX(${this._selectedRange})`,
736
+ "width": `${this._selectedRange * 100}%`,
737
737
  "transform-origin": `${this.directionStart} top`,
738
738
  [this.directionStart]: `${this._firstHandlePositionFromStart}%`,
739
739
  },
package/src/Select.js CHANGED
@@ -264,14 +264,6 @@ const metadata = {
264
264
  * </ul>
265
265
  * <br>
266
266
  *
267
- * <h3>Stable DOM Refs</h3>
268
- *
269
- * In the context of <code>ui5-select</code>, you can provide a custom stable DOM ref for:
270
- * <ul>
271
- * <li>Every <code>ui5-option</code> that you provide.
272
- * Example: <code><ui5-option stable-dom-ref="option1"></ui5-option></code></li>
273
- * </ul>
274
- *
275
267
  * <h3>ES6 Module Import</h3>
276
268
  * <code>import "@ui5/webcomponents/dist/Select";</code>
277
269
  * <br>
@@ -335,6 +327,8 @@ class Select extends UI5Element {
335
327
  this._listWidth = this.responsivePopover.offsetWidth;
336
328
  }
337
329
  }
330
+
331
+ this._attachRealDomRefs();
338
332
  }
339
333
 
340
334
  _onfocusin() {
@@ -378,6 +372,14 @@ class Select extends UI5Element {
378
372
  }
379
373
  }
380
374
 
375
+ async _attachRealDomRefs() {
376
+ this.responsivePopover = await this._respPopover();
377
+
378
+ this.options.forEach(option => {
379
+ option._getRealDomRef = () => this.responsivePopover.querySelector(`*[data-ui5-stable=${option.stableDomRef}]`);
380
+ });
381
+ }
382
+
381
383
  _syncSelection() {
382
384
  let lastSelectedOptionIndex = -1,
383
385
  firstEnabledOptionIndex = -1;
@@ -699,6 +701,20 @@ class Select extends UI5Element {
699
701
  && this.responsivePopover.opened) ? "-1" : "0";
700
702
  }
701
703
 
704
+ /**
705
+ * This method is relevant for sap_horizon theme only
706
+ */
707
+ get _valueStateMessageInputIcon() {
708
+ const iconPerValueState = {
709
+ Error: "error",
710
+ Warning: "alert",
711
+ Success: "sys-enter-2",
712
+ Information: "information",
713
+ };
714
+
715
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
716
+ }
717
+
702
718
  get classes() {
703
719
  return {
704
720
  popoverValueState: {
@@ -708,6 +724,9 @@ class Select extends UI5Element {
708
724
  "ui5-valuestatemessage--warning": this.valueState === ValueState.Warning,
709
725
  "ui5-valuestatemessage--information": this.valueState === ValueState.Information,
710
726
  },
727
+ popover: {
728
+ "ui5-valuestatemessage-popover": this.hasValueState,
729
+ },
711
730
  };
712
731
  }
713
732
 
@@ -3,6 +3,7 @@
3
3
  hide-arrow
4
4
  _disable-initial-focus
5
5
  placement-type="Bottom"
6
+ class="ui5-select-popover {{classes.popover}}"
6
7
  horizontal-align="Stretch"
7
8
  @ui5-after-open="{{_afterOpen}}"
8
9
  @ui5-before-open="{{_beforeOpen}}"
@@ -30,7 +31,8 @@
30
31
  {{/if}}
31
32
  {{#unless _isPhone}}
32
33
  {{#if hasValueStateText}}
33
- <div slot="header" class="ui5-select-value-state-popover-padding {{classes.popoverValueState}}" style={{styles.responsivePopoverHeader}}>
34
+ <div slot="header" class="{{classes.popoverValueState}}" style={{styles.responsivePopoverHeader}}>
35
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageInputIcon}}"></ui5-icon>
34
36
  {{> valueStateMessage}}
35
37
  </div>
36
38
  {{/if}}
@@ -70,6 +72,7 @@
70
72
  horizontal-align="Left"
71
73
  >
72
74
  <div slot="header" class="{{classes.popoverValueState}}" style="{{styles.popoverHeader}}">
75
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageInputIcon}}"></ui5-icon>
73
76
  {{> valueStateMessage}}
74
77
  </div>
75
78
  </ui5-popover>
package/src/Slider.hbs CHANGED
@@ -32,7 +32,7 @@
32
32
  data-sap-focus-ref
33
33
  part="handle"
34
34
  >
35
- <ui5-icon name="source-code" slider-icon></ui5-icon>
35
+ <ui5-icon name="source-code" part="icon-slider" slider-icon></ui5-icon>
36
36
  {{#if showTooltip}}
37
37
  <div class="ui5-slider-tooltip" style="{{styles.tooltip}}">
38
38
  <span class="ui5-slider-tooltip-value">{{tooltipValue}}</span>
package/src/SliderBase.js CHANGED
@@ -3,6 +3,7 @@ import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
3
3
  import Float from "@ui5/webcomponents-base/dist/types/Float.js";
4
4
  import Integer from "@ui5/webcomponents-base/dist/types/Integer.js";
5
5
  import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
6
+ import "@ui5/webcomponents-icons/dist/source-code.js";
6
7
  import {
7
8
  isEscape, isHome, isEnd, isUp, isDown, isRight, isLeft, isUpCtrl, isDownCtrl, isRightCtrl, isLeftCtrl, isPlus, isMinus, isPageUp, isPageDown,
8
9
  } from "@ui5/webcomponents-base/dist/Keys.js";
@@ -180,7 +181,7 @@ class SliderBase extends UI5Element {
180
181
  sap_belize: "#bfbfbf",
181
182
  sap_belize_hcw: "#000000",
182
183
  sap_belize_hcb: "#ffffff",
183
- sap_horizon: "#d5dadd",
184
+ sap_horizon: "#89919a",
184
185
  };
185
186
  }
186
187
 
package/src/Switch.hbs CHANGED
@@ -21,11 +21,21 @@
21
21
  <ui5-icon name="decline" class="ui5-switch-icon-off"></ui5-icon>
22
22
  </span>
23
23
  {{else}}
24
- <span class="ui5-switch-text ui5-switch-text--on" part="text-on">{{_textOn}}</span>
25
- <span class="ui5-switch-text ui5-switch-text--off" part="text-off">{{_textOff}}</span>
24
+ {{#if hasNoLabel}}
25
+ <span class="ui5-switch-text ui5-switch-text--on ui5-switch-no-label-icon" part="text-on">
26
+ <ui5-icon name="{{sapNextIcon}}" class="ui5-switch-no-label-icon-on" ></ui5-icon>
27
+ </span>
28
+ <span class="ui5-switch-text ui5-switch-text--off switch-no-label-icon" part="text-off">
29
+ <ui5-icon name="{{sapNextIcon}}" class="ui5-switch-no-label-icon-off" ></ui5-icon>
30
+ </span>
31
+ {{else}}
32
+ <span class="ui5-switch-text ui5-switch-text--on" part="text-on">{{_textOn}}</span>
33
+ <span class="ui5-switch-text ui5-switch-text--off" part="text-off">{{_textOff}}</span>
34
+ {{/if}}
26
35
  {{/if}}
27
36
 
28
37
  <span class="ui5-switch-handle" part="handle">
38
+ {{!-- this icon is used in the sap_horizon_exp theme --}}
29
39
  <ui5-icon
30
40
  name="{{sapNextIcon}}"
31
41
  class="ui5-switch-handle-icon"
package/src/Switch.js CHANGED
@@ -201,6 +201,10 @@ class Switch extends UI5Element {
201
201
  return this.design === SwitchDesign.Graphical;
202
202
  }
203
203
 
204
+ get hasNoLabel() {
205
+ return !(this.graphical || this.textOn || this.textOff);
206
+ }
207
+
204
208
  get _textOn() {
205
209
  return this.graphical ? "" : this.textOn;
206
210
  }
package/src/Tab.js CHANGED
@@ -102,16 +102,6 @@ const metadata = {
102
102
  defaultValue: SemanticColor.Default,
103
103
  },
104
104
 
105
- /**
106
- * Defines the stable selector that you can use via getStableDomRef method.
107
- * @public
108
- * @type {string}
109
- * @since 1.0.0-rc.8
110
- */
111
- stableDomRef: {
112
- type: String,
113
- },
114
-
115
105
  /**
116
106
  * Specifies if the component is selected.
117
107
  *
@@ -179,6 +169,16 @@ class Tab extends UI5Element {
179
169
  ];
180
170
  }
181
171
 
172
+ get displayText() {
173
+ let text = this.text;
174
+
175
+ if (this._isInline && this.additionalText) {
176
+ text += ` (${this.additionalText})`;
177
+ }
178
+
179
+ return text;
180
+ }
181
+
182
182
  get isSeparator() {
183
183
  return false;
184
184
  }
@@ -191,6 +191,22 @@ class Tab extends UI5Element {
191
191
  return executeTemplate(this.constructor.overflowTemplate, this);
192
192
  }
193
193
 
194
+ get stableDomRef() {
195
+ return `${this._id}-stable-dom-ref`;
196
+ }
197
+
198
+ /**
199
+ * Returns the DOM reference of the tab that is placed in the header.
200
+ * <b>Note:</b> If you need a DOM ref to the tab content please use the <code>getDomRef</code> method.
201
+ *
202
+ * @function
203
+ * @public
204
+ * @since 1.0.0-rc.16
205
+ */
206
+ getTabInStripDomRef() {
207
+ return this._getTabInStripDomRef;
208
+ }
209
+
194
210
  getFocusDomRef() {
195
211
  let focusedDomRef = super.getFocusDomRef();
196
212
 
@@ -256,8 +272,6 @@ class Tab extends UI5Element {
256
272
 
257
273
  if (this._isInline) {
258
274
  classes.push("ui5-tab-strip-item--inline");
259
- } else {
260
- classes.push("ui5-tab-strip-item--standard");
261
275
  }
262
276
 
263
277
  if (this.additionalText) {
@@ -30,7 +30,12 @@
30
30
  {{this.stripPresentation}}
31
31
  {{/unless}}
32
32
  {{#if this.isSeparator}}
33
- <li id="{{this._id}}" role="separator" class="{{../classes.separator}}"></li>
33
+ <li
34
+ id="{{this._id}}"
35
+ data-ui5-stable="{{this.stableDomRef}}"
36
+ role="separator"
37
+ class="{{../classes.separator}}"
38
+ ></li>
34
39
  {{/if}}
35
40
  {{/each}}
36
41
  </ul>
@@ -235,14 +235,6 @@ const metadata = {
235
235
  * <li><code>ui5-tab-separator</code> - used to separate tabs with a vertical line</li>
236
236
  * </ul>
237
237
  *
238
- * <h3>Stable DOM Refs</h3>
239
- *
240
- * In the context of <code>ui5-tabcontainer</code>, you can provide a custom stable DOM refs for:
241
- * <ul>
242
- * <li>Each <code>ui5-tab</code>
243
- * Example: <code><ui5-tab stable-dom-ref="in-stock"></ui5-tab></code></li>
244
- * </ul>
245
- *
246
238
  * <h3>ES6 Module Import</h3>
247
239
  *
248
240
  * <code>import "@ui5/webcomponents/dist/TabContainer";</code>
@@ -318,6 +310,7 @@ class TabContainer extends UI5Element {
318
310
  return this.getDomRef().querySelector(`#${item._id}`);
319
311
  };
320
312
  item._itemSelectCallback = this._onItemSelect.bind(this);
313
+ item._getRealDomRef = () => this.getDomRef().querySelector(`*[data-ui5-stable=${item.stableDomRef}]`);
321
314
  });
322
315
 
323
316
  if (!this._animationRunning) {
@@ -328,6 +321,10 @@ class TabContainer extends UI5Element {
328
321
  onAfterRendering() {
329
322
  this._scrollEnablement.scrollContainer = this._getHeaderScrollContainer();
330
323
  this._updateScrolling();
324
+
325
+ this.items.forEach(item => {
326
+ item._getTabInStripDomRef = this.getDomRef().querySelector(`*[data-ui5-stable="${item.stableDomRef}"]`);
327
+ });
331
328
  }
332
329
 
333
330
  onEnterDOM() {
@@ -6,6 +6,7 @@
6
6
  with-padding
7
7
  hide-arrow
8
8
  _hide-header
9
+ class="ui5-tab-container-responsive-popover"
9
10
  >
10
11
  <ui5-list @ui5-item-press="{{_onOverflowListItemSelect}}">
11
12
  {{#each items}}
@@ -27,14 +27,10 @@
27
27
  {{#if this.text}}
28
28
  <span class="ui5-tab-strip-itemText" id="{{this._id}}-text">
29
29
  <span class="{{this.headerSemanticIconClasses}}"></span>
30
- {{this.text}}
30
+ {{this.displayText}}
31
31
  </span>
32
32
  {{/if}}
33
33
 
34
- {{#if this._isInline}}
35
- {{> additionalText}}
36
- {{/if}}
37
-
38
34
  </div>
39
35
 
40
36
  </li>
package/src/Table.js CHANGED
@@ -12,6 +12,7 @@ import isElementInView from "@ui5/webcomponents-base/dist/util/isElementInView.j
12
12
  import TableGrowingMode from "./types/TableGrowingMode.js";
13
13
  import BusyIndicator from "./BusyIndicator.js";
14
14
  import TableMode from "./types/TableMode.js";
15
+ import CheckBox from "./CheckBox.js"; // Ensure the dependency as it is being used in the renderer
15
16
 
16
17
  // Texts
17
18
  import {
@@ -399,7 +400,7 @@ class Table extends UI5Element {
399
400
  }
400
401
 
401
402
  static get dependencies() {
402
- return [BusyIndicator];
403
+ return [BusyIndicator, CheckBox];
403
404
  }
404
405
 
405
406
  static async onDefine() {
package/src/TableRow.js CHANGED
@@ -277,7 +277,7 @@ class TableRow extends UI5Element {
277
277
 
278
278
  get shouldPopin() {
279
279
  return this._columnsInfo.filter(el => {
280
- return el.demandPopin;
280
+ return el.demandPopin || !el.visible;
281
281
  }).length;
282
282
  }
283
283
 
package/src/TextArea.js CHANGED
@@ -655,6 +655,20 @@ class TextArea extends UI5Element {
655
655
  return this.valueStateTextMappings()[this.valueState];
656
656
  }
657
657
 
658
+ /**
659
+ * This method is relevant for sap_horizon theme only
660
+ */
661
+ get _valueStateMessageIcon() {
662
+ const iconPerValueState = {
663
+ Error: "error",
664
+ Warning: "alert",
665
+ Success: "sys-enter-2",
666
+ Information: "information",
667
+ };
668
+
669
+ return this.valueState !== ValueState.None ? iconPerValueState[this.valueState] : "";
670
+ }
671
+
658
672
  valueStateTextMappings() {
659
673
  return {
660
674
  "Information": TextArea.i18nBundle.getText(VALUE_STATE_INFORMATION),
@@ -11,6 +11,7 @@
11
11
  horizontal-align="Left"
12
12
  >
13
13
  <div slot="header" class="ui5-valuestatemessage-root {{classes.valueStateMsg}}">
14
+ <ui5-icon class="ui5-input-value-state-message-icon" name="{{_valueStateMessageIcon}}"></ui5-icon>
14
15
  {{> valueStateMessage}}
15
16
  </div>
16
17
  </ui5-popover>
package/src/Token.hbs CHANGED
@@ -1,6 +1,8 @@
1
1
  <div
2
2
  tabindex="{{_tabIndex}}"
3
3
  @click="{{_handleSelect}}"
4
+ @focusin="{{_focusin}}"
5
+ @focusout="{{_focusout}}"
4
6
  @keydown="{{_keydown}}"
5
7
  class="ui5-token--wrapper"
6
8
  dir="{{effectiveDir}}"
package/src/Token.js CHANGED
@@ -61,6 +61,14 @@ const metadata = {
61
61
  */
62
62
  selected: { type: Boolean },
63
63
 
64
+ /**
65
+ * Defines whether the component is focused or not.
66
+ *
67
+ * @type {boolean}
68
+ * @private
69
+ */
70
+ focused: { type: Boolean },
71
+
64
72
  /**
65
73
  * Defines the tabIndex of the component.
66
74
  * @type {string}
@@ -153,6 +161,14 @@ class Token extends UI5Element {
153
161
  this.fireEvent("select");
154
162
  }
155
163
 
164
+ _focusin() {
165
+ this.focused = true;
166
+ }
167
+
168
+ _focusout() {
169
+ this.focused = !this.focused;
170
+ }
171
+
156
172
  _delete() {
157
173
  this.fireEvent("delete");
158
174
  }
@@ -182,7 +198,11 @@ class Token extends UI5Element {
182
198
  }
183
199
 
184
200
  get iconURI() {
185
- return getTheme() === "sap_fiori_3" ? "decline" : "sys-cancel";
201
+ if (getTheme().includes("sap_belize")) {
202
+ return "sys-cancel";
203
+ }
204
+
205
+ return "decline";
186
206
  }
187
207
 
188
208
  static get dependencies() {
package/src/Tokenizer.js CHANGED
@@ -27,6 +27,9 @@ import styles from "./generated/themes/Tokenizer.css.js";
27
27
  import ResponsivePopoverCommonCss from "./generated/themes/ResponsivePopoverCommon.css.js";
28
28
  import ValueStateMessageCss from "./generated/themes/ValueStateMessage.css.js";
29
29
 
30
+ // reuse suggestions focus styling for NMore popup
31
+ import SuggestionsCss from "./generated/themes/Suggestions.css.js";
32
+
30
33
  /**
31
34
  * @public
32
35
  */
@@ -125,7 +128,7 @@ class Tokenizer extends UI5Element {
125
128
  }
126
129
 
127
130
  static get staticAreaStyles() {
128
- return [ResponsivePopoverCommonCss, ValueStateMessageCss];
131
+ return [ResponsivePopoverCommonCss, ValueStateMessageCss, SuggestionsCss];
129
132
  }
130
133
 
131
134
  static get staticAreaTemplate() {
@@ -397,25 +397,25 @@ class WheelSlider extends UI5Element {
397
397
  this._selectElementByIndex(nextElementIndex);
398
398
  }
399
399
 
400
- _onkeydown(е) {
400
+ _onkeydown(e) {
401
401
  if (!this.expanded) {
402
402
  return;
403
403
  }
404
404
 
405
- if (isUp(е)) {
406
- this._onArrowUp(е);
405
+ if (isUp(e)) {
406
+ this._onArrowUp(e);
407
407
  }
408
408
 
409
- if (isDown(е)) {
410
- this._onArrowDown(е);
409
+ if (isDown(e)) {
410
+ this._onArrowDown(e);
411
411
  }
412
412
 
413
- if (isPageDown(е)) {
414
- this._selectLimitCell(е, false);
413
+ if (isPageDown(e)) {
414
+ this._selectLimitCell(e, false);
415
415
  }
416
416
 
417
- if (isPageUp(е)) {
418
- this._selectLimitCell(е, true);
417
+ if (isPageUp(e)) {
418
+ this._selectLimitCell(e, true);
419
419
  }
420
420
  }
421
421